:root.dark-theme {
    --bg-light: #0f172a;
    --bg-white: #1e293b;
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --border-color: rgba(255, 255, 255, 0.08);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --primary-color: #3b82f6;
    --hover-bg: #334155;
    --card-shadow: 0 1px 4px rgba(0, 0, 0, 0.3)
}

.dark-theme body {
    background-color: var(--bg-light);
    color: var(--text-main)
}

.dark-theme .card,
.dark-theme .modal-content,
.dark-theme .review-card,
.dark-theme .section-card,
.dark-theme .service-card {
    background-color: var(--bg-white);
    border-color: var(--border-color);
    color: var(--text-main)
}



.dark-theme .text-muted,
.dark-theme p {
    color: var(--text-muted)
}

.dark-theme .bg-light {
    background-color: var(--hover-bg) !important
}

.dark-theme .border,
.dark-theme .border-bottom,
.dark-theme .border-top {
    border-color: var(--border-color) !important
}

.dark-theme .form-control,
.dark-theme .form-select {
    background-color: var(--bg-light);
    border-color: var(--border-color);
    color: var(--text-main)
}

.dark-theme .form-control:focus,
.dark-theme .form-select:focus {
    background-color: var(--bg-light);
    border-color: var(--primary-color);
    color: var(--text-main)
}

.dark-theme .table {
    color: var(--text-main)
}

.dark-theme .table thead th {
    color: var(--text-muted);
    border-bottom-color: var(--border-color)
}

.dark-theme .table td {
    border-bottom-color: var(--border-color)
}

.dark-theme .dashboard-sidebar {
    /* background-color:var(--bg-white); */
    border-right-color: var(--border-color)
}

.dark-theme .dashboard-sidebar-brand {
    border-bottom-color: var(--border-color)
}

.dark-theme .dashboard-sidebar .nav-link:hover {
    background: rgba(255, 255, 255, .04);
    color: #60a5fa;
    border-left-color: rgba(96, 165, 250, .4)
}

.dark-theme .dashboard-sidebar .nav-link.active {
    background: rgba(59, 130, 246, .15);
    color: #60a5fa;
    border-left-color: #3b82f6;
    font-weight: 600
}

.dark-theme .sidebar-cta a {
    background: linear-gradient(135deg, #1d4ed8, #1e3a8a) !important;
    border: none !important;
    color: #e0f2fe !important;
    box-shadow: 0 4px 16px rgba(29, 78, 216, .3)
}

.dark-theme .user-profile {
    background-color: var(--bg-white);
    border-top-color: rgba(255, 255, 255, .06)
}

.dark-theme .btn-logout {
    background: var(--bg-white) !important;
    border-color: rgba(255, 255, 255, .06) !important;
    border-left-color: transparent !important;
    color: #94a3b8 !important
}

.dark-theme .btn-logout:hover {
    background: rgba(239, 68, 68, .08) !important;
    border-color: rgba(239, 68, 68, .2) !important;
    border-left-color: #ef4444 !important;
    color: #f87171 !important
}

.dark-theme .dashboard-mobile-header {
    background-color: var(--bg-white);
    border-bottom-color: var(--border-color)
}

.dark-theme .section {
    background-color: var(--bg-light) !important
}

.dark-theme #cennik,
.dark-theme #newsletter-section,
.dark-theme .feature-section {
    background-color: var(--bg-light) !important
}

.dark-theme .display-5.text-dark,
.dark-theme .display-6.text-dark,
.dark-theme .text-dark,
.dark-theme h2.text-dark,
.dark-theme h3.text-dark,
.dark-theme h4.text-dark {
    color: var(--text-main) !important
}

.dark-theme .contact-card,
.dark-theme .feature-card,
.dark-theme .glass-card {
    background-color: var(--bg-white) !important;
    border-color: var(--border-color) !important
}

.dark-theme .contact-card a.text-dark,
.dark-theme .contact-card h3,
.dark-theme .feature-card h4 {
    color: var(--text-main) !important
}

.dark-theme .step-card-light,
.dark-theme .step-card-white {
    background-color: var(--bg-white) !important;
    border-color: var(--border-color) !important
}

.dark-theme .step-card-light h3,
.dark-theme .step-card-white h3 {
    color: var(--text-main) !important
}

.dark-theme .accordion-item {
    background-color: var(--bg-white) !important;
    border-color: var(--border-color) !important
}

.dark-theme .accordion-button {
    background-color: var(--bg-white) !important;
    color: var(--text-main) !important
}

.dark-theme .accordion-button:not(.collapsed) {
    background-color: var(--hover-bg) !important;
    color: var(--primary-color) !important
}

.dark-theme .accordion-body {
    background-color: var(--bg-white) !important;
    color: var(--text-muted) !important
}

.dark-theme .newsletter-submit {
    background-color: var(--primary-color) !important;
    color: #fff !important
}

.dark-theme .footer {
    background-color: #020617 !important;
    border-top: 1px solid var(--border-color)
}

.dark-theme .header.sticky {
    background-color: rgba(15, 23, 42, .8) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .05) !important
}

.dark-theme .contact-card,
.dark-theme .dash-note,
.dark-theme .data-card,
.dark-theme .glass-card,
.dark-theme .stat-widget {
    background-color: var(--bg-white) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
    border-top-color: transparent !important
}

.dark-theme .data-card:hover {
    border-top-color: var(--primary-color) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .3) !important
}

.dark-theme .stat-icon {
    background: linear-gradient(135deg, rgba(59, 130, 246, .12), rgba(59, 130, 246, .05)) !important;
    border-color: rgba(59, 130, 246, .2) !important;
    color: #60a5fa !important
}

.dark-theme .custom-modal {
    background: rgba(2, 6, 23, .6)
}

.dark-theme .custom-modal .modal-content.auth-card {
    background: var(--bg-white) !important;
    border-color: rgba(255, 255, 255, .08) !important;
    color: var(--text-main)
}

.dark-theme .auth-pill-container {
    background: rgba(0, 0, 0, .2)
}

.dark-theme .auth-pill-container .nav-link.active {
    background: #334155 !important;
    color: #f8fafc !important
}

.dark-theme .custom-modal .form-control.bg-light {
    background-color: rgba(255, 255, 255, .05) !important;
    border-color: rgba(255, 255, 255, .08) !important;
    color: var(--text-main) !important
}

.dark-theme .dash-h1,
.dark-theme .dash-h4,
.dark-theme .text-dark {
    color: var(--text-main) !important
}

.dark-theme .nav__menu {
    background-color: var(--bg-white) !important;
    box-shadow: -5px 0 25px rgba(0, 0, 0, .5) !important
}

.dark-theme .nav__link {
    color: var(--text-main) !important
}

.dark-theme .nav__link:hover {
    color: var(--primary-color) !important
}

.dark-theme .nav__close {
    color: var(--text-main) !important
}

.dark-theme ::-webkit-scrollbar {
    width: 10px
}

.dark-theme ::-webkit-scrollbar-track {
    background: var(--bg-light)
}

.dark-theme ::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 3px;
}

/* ── Bootstrap & Dashboard Utility Overrides for Dark Mode ── */
.dark-theme .bg-white,
.dark-theme .card-header.bg-white,
.dark-theme .card-footer.bg-white {
    background-color: var(--bg-white) !important;
    color: var(--text-main) !important;
}

.dark-theme .bg-light,
.dark-theme .bg-light-soft,
.dark-theme .transition-hover.bg-light {
    background-color: var(--bg-light) !important;
    color: var(--text-main) !important;
}

.dark-theme .card-header,
.dark-theme .card-footer {
    background-color: var(--bg-white) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

.dark-theme .text-dark {
    color: var(--text-main) !important;
}

.dark-theme .text-muted {
    color: var(--text-muted) !important;
}

.dark-theme .border,
.dark-theme .border-0 {
    border-color: var(--border-color) !important;
}

.dark-theme .ur-card-item {
    background-color: var(--bg-white) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}

.dark-theme .ur-card-item:hover {
    background-color: var(--hover-bg) !important;
}

.dark-theme .ur-card-item div[style*="background:#fff"],
.dark-theme .ur-card-item div[style*="background: #fff"] {
    background-color: var(--bg-light) !important;
    border-color: var(--border-color) !important;
}

.dark-theme .ur-card-item div[style*="color:#0f172a"],
.dark-theme .ur-card-item div[style*="color: #0f172a"] {
    color: var(--text-main) !important;
}

.dark-theme .rating-fixed h5 {
    color: var(--text-main) !important;
}

.dark-theme .bg-success-soft {
    background-color: rgba(16, 185, 129, 0.15) !important;
    color: #34d399 !important;
    border-color: rgba(16, 185, 129, 0.25) !important;
}

.dark-theme .bg-warning-soft {
    background-color: rgba(245, 158, 11, 0.15) !important;
    color: #fbbf24 !important;
    border-color: rgba(245, 158, 11, 0.25) !important;
}

.dark-theme .bg-danger-soft {
    background-color: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
    border-color: rgba(239, 68, 68, 0.25) !important;
}

.dark-theme .bg-info-soft {
    background-color: rgba(59, 130, 246, 0.15) !important;
    color: #60a5fa !important;
    border-color: rgba(59, 130, 246, 0.25) !important;
}

/* ── Dark Theme Overrides for Calendar ── */
.dark-theme .cal-grid {
    background: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
    border-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
}

.dark-theme .cal-day {
    background: var(--bg-white, #1e293b) !important;
    color: var(--text-main, #f8fafc) !important;
}

.dark-theme .cal-day:not(.disabled):not(.empty):not(.past):hover {
    background: var(--hover-bg, #334155) !important;
    color: var(--primary-color, #3b82f6) !important;
}

.dark-theme .cal-day.selected {
    background: var(--primary-color, #3b82f6) !important;
    color: #fff !important;
}

.dark-theme .cal-day.selected .cal-day-num {
    color: #fff !important;
}

.dark-theme .cal-day.today {
    background: rgba(37, 99, 235, 0.15) !important;
    outline-color: var(--primary-color, #3b82f6) !important;
    color: var(--primary-color, #3b82f6) !important;
}

.dark-theme .cal-day.today .cal-day-num {
    color: var(--primary-color, #3b82f6) !important;
}

.dark-theme .cal-day.disabled,
.dark-theme .cal-day.past {
    opacity: 0.35 !important;
    background: var(--bg-white, #1e293b) !important;
}

.dark-theme .cal-day.closed,
.dark-theme .cal-day.holiday {
    background: var(--bg-light, #0f172a) !important;
}

.dark-theme .cal-day.empty {
    background: var(--bg-deep, #0b0f19) !important;
}

.dark-theme .cal-nav-btn {
    background: var(--bg-light, #0f172a) !important;
    color: var(--text-muted, #94a3b8) !important;
}

.dark-theme .cal-nav-btn:hover {
    background: var(--hover-bg, #334155) !important;
    color: var(--primary-color, #3b82f6) !important;
}

.dark-theme .cal-day-label {
    background: var(--bg-light, #0f172a) !important;
    color: var(--text-muted, #94a3b8) !important;
    border-bottom-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
}

.dark-theme .cal-legend {
    background: var(--bg-white, #1e293b) !important;
    border-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
}

.dark-theme .legend-item {
    color: var(--text-muted, #94a3b8) !important;
}

/* ── Dark Theme Overrides for Manual Booking ── */
.dark-theme .booking-card {
    background: var(--bg-white, #1e293b) !important;
    border-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
    box-shadow: var(--card-shadow) !important;
}

.dark-theme .form-section-title {
    color: var(--text-muted, #94a3b8) !important;
}

.dark-theme .form-section-title::after {
    background: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
}

.dark-theme .customer-pill {
    background: var(--bg-light, #0f172a) !important;
    border-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
    color: var(--text-main, #f8fafc) !important;
}

.dark-theme .customer-pill:hover {
    border-color: var(--primary-color, #3b82f6) !important;
    background: var(--hover-bg, #334155) !important;
    color: var(--primary-color, #3b82f6) !important;
}

.dark-theme .booking-card .form-control {
    background-color: var(--bg-light, #0f172a) !important;
    color: var(--text-main, #f8fafc) !important;
    border-color: var(--border-color, rgba(255, 255, 255, 0.08)) !important;
}

.dark-theme .booking-card .form-control[readonly] {
    background-color: var(--hover-bg, #334155) !important;
    opacity: 0.7 !important;
}
