/**
 * PkBuses Dark Mode Styles
 * Toggle with .dark-mode class on body
 */

/* Dark Mode Variables */
body.dark-mode {
    --bg-primary: #1a1a2e;
    --bg-secondary: #16213e;
    --bg-tertiary: #0f3460;
    --text-primary: #eaeaea;
    --text-secondary: #b8b8b8;
    --border-color: #2a2a4e;
    --card-bg: #1f1f3a;
    --input-bg: #252545;
}

/* Base Dark Mode Styles */
body.dark-mode {
    background-color: #1a1a2e !important;
    color: #eaeaea !important;
}

body.dark-mode .section-bg,
body.dark-mode .bg-gray {
    background-color: #16213e !important;
}

body.dark-mode .form-box,
body.dark-mode .card-item,
body.dark-mode .icon-box,
body.dark-mode .modal-content,
body.dark-mode .dropdown-menu {
    background-color: #1f1f3a !important;
    border-color: #2a2a4e !important;
}

body.dark-mode .form-control,
body.dark-mode .form-control:focus,
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
    background-color: #252545 !important;
    color: #eaeaea !important;
    border-color: #3a3a5e !important;
}

body.dark-mode .form-control::placeholder {
    color: #888 !important;
}

/* Text Colors */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .title,
body.dark-mode .sec__title,
body.dark-mode .info__title,
body.dark-mode .modal-title {
    color: #eaeaea !important;
}

body.dark-mode p,
body.dark-mode .font-size-14,
body.dark-mode .font-size-15,
body.dark-mode .label-text,
body.dark-mode .copy__desc {
    color: #b8b8b8 !important;
}

body.dark-mode a {
    color: #6db33f !important;
}

body.dark-mode a:hover {
    color: #8dc560 !important;
}

/* Header */
body.dark-mode .header-area,
body.dark-mode .header-menu-wrapper,
body.dark-mode .header-top-bar {
    background-color: #16213e !important;
}

body.dark-mode .main-menu-content nav ul li a {
    color: #eaeaea !important;
}

body.dark-mode .dropdown-menu-item {
    background-color: #1f1f3a !important;
}

body.dark-mode .dropdown-menu-item li a {
    color: #b8b8b8 !important;
}

/* Footer */
body.dark-mode .footer-area {
    background-color: #0f3460 !important;
}

body.dark-mode .footer__desc,
body.dark-mode .list--items li a,
body.dark-mode .footer-item .title {
    color: #b8b8b8 !important;
}

/* Cards and Boxes */
body.dark-mode .card,
body.dark-mode .info-area,
body.dark-mode .form-title-wrap {
    background-color: #1f1f3a !important;
}

body.dark-mode .form-title-wrap {
    border-bottom-color: #2a2a4e !important;
}

/* Breadcrumb */
body.dark-mode .breadcrumb-area {
    background-color: #16213e !important;
}

/* Buttons - Keep Primary Color */
body.dark-mode .theme-btn {
    background-color: #027432 !important;
    color: #fff !important;
}

body.dark-mode .theme-btn:hover {
    background-color: #035d28 !important;
}

body.dark-mode .theme-btn-transparent {
    background-color: transparent !important;
    border-color: #6db33f !important;
    color: #6db33f !important;
}

/* Alerts */
body.dark-mode .alert-danger {
    background-color: #5c1e1e !important;
    border-color: #8b2e2e !important;
    color: #ffb3b3 !important;
}

body.dark-mode .alert-success {
    background-color: #1e4d1e !important;
    border-color: #2e7a2e !important;
    color: #b3ffb3 !important;
}

/* Preloader */
body.dark-mode .preloader {
    background-color: #1a1a2e !important;
}

/* Lists */
body.dark-mode .list-items li,
body.dark-mode .contact-address li {
    color: #b8b8b8 !important;
}

body.dark-mode .icon-element {
    background-color: #252545 !important;
    color: #6db33f !important;
}

/* Social Icons */
body.dark-mode .social-profile li a {
    background-color: #252545 !important;
    color: #b8b8b8 !important;
}

body.dark-mode .social-profile li a:hover {
    background-color: #027432 !important;
    color: #fff !important;
}

/* Hero Section - Preserve Background Image */
body.dark-mode .hero-wrapper {
    background-blend-mode: overlay;
}

/* Dark Mode Toggle Button */
.dark-mode-toggle {
    position: fixed;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, #027432 0%, #035d28 100%);
    border: none;
    cursor: pointer;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.dark-mode-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.dark-mode-toggle i {
    font-size: 22px;
    color: #fff;
    transition: transform 0.3s ease;
}

.dark-mode-toggle:hover i {
    transform: rotate(180deg);
}

body.dark-mode .dark-mode-toggle {
    background: linear-gradient(135deg, #f9b851 0%, #f5a623 100%);
}

/* Smooth Transition for Dark Mode */
body,
body *,
body *::before,
body *::after {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Validation Styles */
.form-control.is-valid {
    border-color: #28a745 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    padding-right: calc(1.5em + 0.75rem) !important;
}

.form-control.is-invalid {
    border-color: #dc3545 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    padding-right: calc(1.5em + 0.75rem) !important;
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #dc3545;
}

.validation-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #dc3545;
}

.form-control.is-invalid~.invalid-feedback {
    display: block;
}

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #28a745;
}

.form-control.is-valid~.valid-feedback {
    display: block;
}

/* Dark mode validation colors */
body.dark-mode .form-control.is-valid {
    border-color: #28a745 !important;
}

body.dark-mode .form-control.is-invalid {
    border-color: #dc3545 !important;
}