/* ============================================================
   DARK MODE OVERRIDES
   Applied when <body class="dark"> is set by theme.js
   ============================================================ */

/* ── Toggle button (in navbar/header) ── */
.zn-dark-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: 4px 6px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    flex-shrink: 0;
}
.zn-dark-toggle:hover {
    background: rgba(129,110,124,0.15);
}
/* In the purple custom headers (konto/admin/user-profile) */
.kto-header .zn-dark-toggle:hover,
.adm-header .zn-dark-toggle:hover,
.up-header .zn-dark-toggle:hover {
    background: rgba(255,255,255,0.15);
}

/* ============================================================
   BASE
   ============================================================ */
.dark {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

/* Shared page header (index / shop / services / contact / datenschutz) */
.dark header                 { background-color: #574b54 !important; }
.dark .nav-border            { background-color: #574b54 !important; }

/* ============================================================
   SHARED NAV (styles.css pages)
   ============================================================ */
.dark .nav-tabs {
    background-color: #2a2a2a !important;
    border-bottom: 1px solid #3d3d3d;
}
.dark .nav-tabs a            { color: #ccc !important; }
.dark .nav-tabs a:hover      { color: #c9b8c6 !important; }
.dark .nav-active            { color: #c9b8c6 !important; }
.dark .nav-email,
.dark .nav-phone             { color: #aaa !important; }
.dark .nav-cart              { color: #ccc !important; }
.dark .nav-cart:hover        { color: #c9b8c6 !important; }
.dark .nav-user-avatar:hover { background: rgba(200,184,198,0.15) !important; }

/* Nav dropdown */
.dark .nav-user-dropdown {
    background: #2d2d2d !important;
    border-color: #3d3d3d !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.5) !important;
}
.dark .nav-dd-item           { color: #ccc !important; }
.dark .nav-dd-item:hover     { background: #3a3a3a !important; color: #fff !important; }
.dark .nav-dd-divider        { background: #3d3d3d !important; }
.dark .nav-dd-signout        { color: #e88 !important; }
.dark .nav-dd-signout:hover  { background: #3a2828 !important; }

/* ============================================================
   SHARED SECTIONS (index / contact / datenschutz / services)
   ============================================================ */
.dark .services-hero         { background-color: #574b54 !important; }
.dark .section,
.dark .services-section,
.dark .contact-section,
.dark .datenschutz-section   { background-color: #1a1a1a !important; }

/* Datenschutz page text content */
.dark .dse-wrap              { color: #e0e0e0 !important; }
.dark .dse-wrap p,
.dark .dse-wrap li           { color: #ccc !important; }
.dark .dse-wrap .dse-updated { color: #888 !important; }
.dark .dse-wrap h2           { border-bottom-color: #3d3d3d !important; color: #c9b8c6 !important; }
.dark .dse-wrap a            { color: #c9b8c6 !important; }

.dark .section h2,
.dark .section h3,
.dark .section p             { color: #e0e0e0 !important; }

/* Showcase / info cards */
.dark .showcase-card,
.dark .info-card,
.dark .contact-card          {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.4) !important;
}

/* ============================================================
   SERVICES PAGE (services.css)
   ============================================================ */
.dark .sp-section            { background-color: #1a1a1a !important; }
.dark .sp-filter-btn         { background: #2d2d2d !important; color: #ccc !important; border-color: #555 !important; }
.dark .sp-filter-btn.active  { background: #5a4a57 !important; color: #fff !important; border-color: #574b54 !important; }
.dark .sp-card {
    background: #2d2d2d !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.4) !important;
}
.dark .sp-card-body          { background: #2d2d2d !important; }
.dark .sp-card-title         { color: #e0e0e0 !important; }
.dark .sp-card-subtitle      { color: #aaa !important; }
.dark .sp-card-desc          { color: #aaa !important; }
.dark .sp-card-price         { color: #c9b8c6 !important; }
.dark .sp-card-price-list li { color: #ccc !important; border-bottom-color: #3d3d3d !important; }
.dark .sp-card-duration      { color: #888 !important; }
.dark .sp-card-footer        { border-top-color: #3d3d3d !important; background: #2d2d2d !important; }
.dark .sp-card-badge         { background: #3a3a3a !important; color: #ccc !important; }

/* Booking modal */
.dark .sp-modal-overlay      { background: rgba(0,0,0,0.7) !important; }
.dark .sp-modal {
    background: #2d2d2d !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6) !important;
}
.dark .sp-modal-title        { color: #e0e0e0 !important; border-bottom-color: #3d3d3d !important; }
.dark .sp-modal-close        { color: #aaa !important; }
.dark .sp-modal-close:hover  { color: #e0e0e0 !important; background: #3a3a3a !important; }
.dark .sp-modal-summary      { background: #3a3044 !important; }
.dark .sp-modal-cat          { color: #e0e0e0 !important; }
.dark .sp-modal-summary-info h3 { color: #e0e0e0 !important; }
.dark .sp-modal-duration,
.dark .sp-modal-meta-row     { color: #e0e0e0 !important; }
.dark .sp-modal-price-badge  { background: #4a3a47 !important; color: #fff !important; }
.dark .sp-agb-label          { color: #fff !important; }
.dark .sp-agb-link           { color: #c9b8c6 !important; }
.dark .sp-form-group label   { color: #bbb !important; }
.dark .sp-form-group input,
.dark .sp-form-group select,
.dark .sp-form-group textarea {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .sp-form-group input:focus,
.dark .sp-form-group select:focus,
.dark .sp-form-group textarea:focus { border-color: #574b54 !important; background: #1e1e1e !important; }
.dark .sp-form-notice        { color: #888 !important; }

/* ============================================================
   SHOP PAGE (shop.css)
   ============================================================ */
.dark .sh-hero               { background-color: #574b54 !important; }
.dark .sh-section            { background-color: #1a1a1a !important; }
.dark .sh-count              { color: #888 !important; }
.dark .sh-sort-select {
    background-color: #2d2d2d !important;
    color: #c9b8c6 !important;
    border-color: #555 !important;
}
.dark .sh-card {
    background: #2d2d2d !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.4) !important;
}
.dark .sh-card-body          { background: #2d2d2d !important; }
.dark .sh-card-name          { color: #e0e0e0 !important; }
.dark .sh-card-desc          { color: #aaa !important; }
.dark .sh-card-price         { color: #c9b8c6 !important; }
.dark .sh-stock-badge        { background: #333 !important; }
.dark .sh-badge-cat          { background: #3a3a3a !important; color: #ccc !important; }

/* Cart sidebar */
.dark .sh-cart-panel         { background: #232323 !important; border-left-color: #3d3d3d !important; box-shadow: -4px 0 24px rgba(0,0,0,0.5) !important; }
.dark .sh-cart-header        { background: #574b54 !important; }
.dark .sh-cart-title         { color: #e0e0e0 !important; border-bottom-color: #3d3d3d !important; }
.dark .sh-cart-item          { background: #2d2d2d !important; border-bottom-color: #3d3d3d !important; }
.dark .sh-cart-item-img      { border-color: #3d3d3d !important; }
.dark .sh-cart-item-img-placeholder { background: linear-gradient(135deg, #3a3a3a, #2d2d2d) !important; color: #666 !important; border-color: #3d3d3d !important; }
.dark .sh-cart-item-name     { color: #e0e0e0 !important; }
.dark .sh-cart-item-price    { color: #c9b8c6 !important; }
.dark .sh-cart-footer        { background: #1e1e1e !important; border-top-color: #3d3d3d !important; }
.dark .sh-cart-total         { color: #e0e0e0 !important; border-top-color: #3d3d3d !important; }
.dark .sh-cart-checkout-btn  { background: #574b54 !important; }
.dark .sh-cart-checkout-btn:hover { background: #6b5c68 !important; }
.dark .sh-cart-article-count { color: #f0e0ef !important; }
.dark .sh-cart-empty         { color: #888 !important; }
.dark .sh-qty-btn            { background: #3a3a3a !important; color: #e0e0e0 !important; border-color: #555 !important; }
.dark .sh-qty-btn:hover      { background: #4a4a4a !important; }
.dark .sh-qty-num            { color: #e0e0e0 !important; }
.dark .sh-cart-overlay       { background: rgba(0,0,0,0.6) !important; }
.dark .sh-filter-btn         { background: #2d2d2d !important; color: #ccc !important; border-color: #555 !important; }
.dark .sh-filter-btn.active  { background: #5a4a57 !important; color: #fff !important; border-color: #574b54 !important; }

/* Schnellansicht lightbox */
.dark .sh-lightbox-box {
    background: #2d2d2d !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.7) !important;
}
.dark .sh-lightbox-close     { color: #aaa !important; }
.dark .sh-lightbox-close:hover { color: #e0e0e0 !important; }
.dark .sh-lightbox-gallery-col { border-right-color: #3d3d3d !important; }
.dark .sh-lightbox-main-img-wrap { background: linear-gradient(135deg, #2a2a2a, #3a3044) !important; }
.dark .sh-lb-nav             { background: rgba(60,60,60,0.9) !important; color: #ccc !important; }
.dark .sh-lb-nav:hover       { background: #4a4a4a !important; }
.dark .sh-lb-thumb           { opacity: 0.5; }
.dark .sh-lb-thumb:hover     { opacity: 0.85; }
.dark .sh-lb-thumb.active    { border-color: #c9b8c6 !important; opacity: 1; }
.dark .sh-lb-thumb-placeholder { background: linear-gradient(135deg, #2a2a2a, #3a3044) !important; border-color: #574b54 !important; color: #888 !important; }
.dark .sh-lb-product-name    { color: #e0e0e0 !important; }
.dark .sh-lb-price           { color: #c9b8c6 !important; }
.dark .sh-lb-price-old       { color: #666 !important; }
.dark .sh-lb-description     { color: #aaa !important; }
   ============================================================ */
.dark .lp-card {
    background: #2d2d2d !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}
.dark .lp-tabs               { background: #232323 !important; }
.dark .lp-tab                { color: #aaa !important; }
.dark .lp-tab.active         { background: #3a3a3a !important; color: #fff !important; }
.dark .lp-group label        { color: #bbb !important; }
.dark .lp-group input {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .lp-group input:focus  { border-color: #574b54 !important; background: #1e1e1e !important; }
.dark .lp-divider            { color: #666 !important; }
.dark .lp-divider::before,
.dark .lp-divider::after     { background: #3d3d3d !important; }
.dark .lp-alt                { color: #aaa !important; }
.dark .lp-alt a              { color: #c9b8c6 !important; }
.dark .lp-forgot             { color: #c9b8c6 !important; }

/* ============================================================
   CHECKOUT PAGE
   ============================================================ */
/* Banner */
.dark .ck-banner             { background: linear-gradient(135deg, #2a2030, #232323) !important; border-color: #3d3d3d !important; }
.dark .ck-banner h2          { color: #e0e0e0 !important; }
.dark .ck-banner p           { color: #c9b8c6 !important; }
.dark .ck-order-num          { background: #574b54 !important; }
/* Cards */
.dark .ck-card               { background: #2d2d2d !important; border-color: #3d3d3d !important; box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important; }
.dark .ck-card h3            { color: #c9b8c6 !important; border-bottom-color: #3d3d3d !important; }
/* Order summary rows */
.dark .ck-item-row           { color: #e0e0e0 !important; border-bottom-color: #3d3d3d !important; }
.dark .ck-item-name          { color: #e0e0e0 !important; }
.dark .ck-item-qty           { color: #888 !important; }
.dark .ck-item-price         { color: #c9b8c6 !important; }
.dark .ck-total-row          { color: #e0e0e0 !important; border-top-color: #3d3d3d !important; }
.dark .ck-total-row span:last-child { color: #c9b8c6 !important; }
/* Form fields */
.dark .ck-field label        { color: #c9b8c6 !important; }
.dark .ck-field input,
.dark .ck-field select       { background: #232323 !important; border-color: #4a4a4a !important; color: #e0e0e0 !important; }
.dark .ck-field input:focus,
.dark .ck-field select:focus { border-color: #574b54 !important; background: #1e1e1e !important; }
.dark .cf-field-locked       { background: #1a1a1a !important; color: #666 !important; }
.dark .cf-autofill-badge     { background: #3a3044 !important; color: #c9b8c6 !important; }
/* Payment method cards */
.dark .ck-pm-card            { background: #252525 !important; border-color: #4a4a4a !important; }
.dark .ck-pm-card:hover      { background: #2d2d2d !important; border-color: #574b54 !important; }
.dark .ck-pm-card.selected   { border-color: #574b54 !important; background: #2a2034 !important; }
.dark .ck-pm-title           { color: #e0e0e0 !important; }
.dark .ck-pm-desc            { color: #888 !important; }
.dark .ck-pm-radio           { border-color: #555 !important; }
/* Dev notice */
.dark .ck-dev-notice         { background: #2a2010 !important; border-color: #5a4a20 !important; color: #c8a84a !important; }
/* Pay button */
.dark .ck-pay-btn            { background: #574b54 !important; }
.dark .ck-pay-btn:hover:not(:disabled) { background: #6b5c68 !important; }
/* Success screen */
.dark .ck-success h2         { color: #e0e0e0 !important; }
.dark .ck-success p          { color: #c9b8c6 !important; }
.dark .ck-success-order      { background: #3a3044 !important; color: #e0e0e0 !important; }
.dark .ck-back-btn           { background: #574b54 !important; }
.dark .ck-back-btn:hover     { background: #6b5c68 !important; }
/* Empty / error state */
.dark .ck-empty              { color: #c9b8c6 !important; }
.dark .ck-empty h2           { color: #e0e0e0 !important; }
.dark .ck-empty p            { color: #aaa !important; }
/* Misc */
.dark .ck-stock-warn         { background: #2a1f0e !important; color: #f0a040 !important; border-color: #5a4020 !important; }
.dark .ck-success-box        { background: #1a2a1a !important; color: #7fd87f !important; border-color: #2a5a2a !important; }

/* ============================================================
   LOGIN PAGE
   ============================================================ */
.dark.lp-body       { background: linear-gradient(135deg, #2a2030 0%, #1a1a1a 100%) !important; }
.dark .lp-card      { background: #232323 !important; box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important; }
.dark .lp-tabs      { background: #1e1e1e !important; }
.dark .lp-tab       { color: #c9b8c6 !important; }
.dark .lp-tab.active { background: #574b54 !important; color: #fff !important; }
.dark .lp-group label { color: #bbb !important; }
.dark .lp-group input { background: #1a1a1a !important; border-color: #4a4a4a !important; color: #e0e0e0 !important; }
.dark .lp-group input:focus { border-color: #574b54 !important; box-shadow: 0 0 0 3px rgba(87,75,84,0.25) !important; }
.dark .lp-remember  { color: #aaa !important; }
.dark .lp-forgot    { color: #c9b8c6 !important; }
.dark .lp-forgot:hover { color: #e0e0e0 !important; }
.dark .lp-btn       { background: #574b54 !important; }
.dark .lp-btn:hover { background: #6b5c68 !important; }
.dark .lp-divider   { color: #555 !important; }
.dark .lp-divider::before,
.dark .lp-divider::after { background: #3d3d3d !important; }
.dark .lp-google-btn { background: #2d2d2d !important; border-color: #4a4a4a !important; color: #e0e0e0 !important; }
.dark .lp-google-btn:hover { background: #3a3a3a !important; border-color: #666 !important; }
.dark #lp-ban-notice { background: #2d2d2d !important; border-color: #7a2020 !important; }
.dark #lp-ban-notice p { color: #aaa !important; }

/* ============================================================
   KONTO PAGE
   ============================================================ */
.dark #kto-loading           { background: #1a1a1a !important; color: #888 !important; }
.dark .kto-sidebar {
    background: #232323 !important;
    border-right-color: #3d3d3d !important;
}
.dark .kto-profile-mini      { border-bottom-color: #3d3d3d !important; }
.dark .kto-mini-name         { color: #e0e0e0 !important; }
.dark .kto-mini-email        { color: #888 !important; }
.dark .kto-nav-item          { color: #bbb !important; }
.dark .kto-nav-item:hover:not(.disabled) { background: #2d2d2d !important; color: #c9b8c6 !important; }
.dark .kto-nav-item.active   { background: #2d2d2d !important; color: #c9b8c6 !important; }
.dark .kto-nav-sep           { background: #3d3d3d !important; }
.dark .kto-sidebar-footer    { background: #1e1e1e !important; border-top-color: #3d3d3d !important; }
.dark .kto-main              { background: #1a1a1a !important; }
.dark .kto-section-title     { color: #c9b8c6 !important; border-bottom-color: #3d3d3d !important; }
.dark .kto-card {
    background: #2d2d2d !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
.dark .kto-card-title        { color: #c9b8c6 !important; }
.dark .kto-photo-info strong { color: #ccc !important; }
.dark .kto-photo-hint        { color: #777 !important; }
.dark .kto-mini-avatar-empty,
.dark .kto-photo-empty,
.dark .up-avatar-empty,
.dark .adm-mini-avatar-empty,
.dark .adm-prof-photo-empty  { background: #2d2d2d !important; color: #555 !important; border-color: #3d3d3d !important; }
.dark .kto-group label       { color: #bbb !important; }
.dark .kto-group input {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .kto-group input:focus { border-color: #574b54 !important; background: #1e1e1e !important; }
.dark .kto-group input:disabled { background: #252525 !important; color: #666 !important; }
.dark .kto-phone-dial,
.dark .kto-phone-num {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .kto-phone-dial:focus,
.dark .kto-phone-num:focus   { border-color: #574b54 !important; }
.dark .kto-coming-soon       { color: #555 !important; }
.dark .kto-coming-soon p     { color: #555 !important; }

/* Booking items */
.dark .kto-booking-item      { background: #252525 !important; border-color: #3d3d3d !important; }
.dark .kto-booking-date      { color: #e0e0e0 !important; }
.dark .kto-booking-svc       { color: #c9b8c6 !important; }
.dark .kto-booking-order     { color: #666 !important; }

/* Reauth modal */
.dark .kto-modal {
    background: #2d2d2d !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}
.dark .kto-modal h3          { color: #c9b8c6 !important; }
.dark .kto-modal p           { color: #aaa !important; }
.dark .kto-modal .kto-group input {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .kto-btn-secondary     { background: #3a3a3a !important; color: #ccc !important; }
.dark .kto-btn-secondary:hover { background: #444 !important; }

/* Order items */
.dark .kto-order-item,
.dark [class*="kto-order"]   { background: #252525 !important; border-color: #3d3d3d !important; color: #e0e0e0 !important; }

/* ============================================================
   ADMIN PAGE
   ============================================================ */
.dark .adm-main              { background: #1a1a1a !important; }
.dark .adm-section-card      { background: #232323 !important; box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important; }
.dark .adm-section-head      { border-bottom-color: #3d3d3d !important; }
.dark .adm-section-head h2   { color: #c9b8c6 !important; }
.dark .adm-section-head p    { color: #888 !important; }
.dark .adm-section-title     { color: #c9b8c6 !important; }
.dark .adm-day-card {
    background: #2d2d2d !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
.dark .adm-day-card.enabled  { border-color: #6a5a67 !important; }
.dark .adm-day-header h3     { color: #e0e0e0 !important; }
.dark .adm-slot-row input[type="time"] {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .adm-slot-row input[type="time"]:focus { border-color: #574b54 !important; }
.dark .adm-slot-remove       { background: #2a2a2a !important; color: #c9b8c6 !important; }
.dark .adm-slot-remove:hover { background: #3a2a3a !important; }
.dark .adm-slot-add          { background: #232323 !important; color: #c9b8c6 !important; border-color: #555 !important; }
.dark .adm-slot-add:hover    { background: #2a2a2a !important; }
.dark .adm-override-item     { background: #2d2d2d !important; box-shadow: none !important; }
.dark .adm-override-item strong { color: #e0e0e0 !important; }
.dark .adm-add-override input[type="date"],
.dark .adm-add-override select {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .adm-booking-item      { background: #252525 !important; border-color: #3d3d3d !important; }
.dark .adm-booking-date      { color: #e0e0e0 !important; }
.dark .adm-booking-svc       { color: #c9b8c6 !important; }
.dark .adm-booking-details   { color: #aaa !important; }
.dark .adm-booking-msg       { background: #1e1e1e !important; color: #bbb !important; }
.dark .adm-booking-meta      { color: #666 !important; }
.dark .adm-booking-item span[style*="background:#f0e8f0"] { background: #3a3044 !important; color: #e0e0e0 !important; }
.dark .adm-no-overrides      { color: #666 !important; }
.dark .adm-custom-slots-editor { background: #232323 !important; box-shadow: none !important; }
.dark .adm-custom-slots-editor h4 { color: #c9b8c6 !important; }
.dark .adm-pw-form input[type="password"] {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .adm-back              { color: #c9b8c6 !important; }

/* Admin sidebar */
.dark .adm-sidebar {
    background: #232323 !important;
    border-right-color: #3d3d3d !important;
}
.dark .adm-profile-mini      { border-bottom-color: #3d3d3d !important; }
.dark .adm-mini-name         { color: #e0e0e0 !important; }
.dark .adm-mini-email        { color: #888 !important; }
.dark .adm-sidebar-label     { color: #c9b8c6 !important; }
.dark .adm-nav-item               { color: #ffffff !important; }
.dark .adm-nav-item:hover         { background: #2d2d2d !important; color: #c9b8c6 !important; }
.dark .adm-nav-item.adm-nav-active { background: #3a3a3a !important; color: #ccc !important; }
.dark .adm-sidebar-sep            { border-top-color: #3d3d3d !important; }
.dark .adm-sidebar-footer         { background: #1e1e1e !important; border-top-color: #3d3d3d !important; }

/* Showcase groups */
.dark .adm-showcase-group      { background: #232323 !important; border-color: #3d3d3d !important; box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important; }
.dark .adm-showcase-group-head { background: #2a2a2a !important; }

/* Item rows (Schaufenster, Shop, Services etc.) */
.dark .adm-svc-row             { background: #232323 !important; border-color: transparent !important; box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important; }
.dark .adm-svc-row.adm-svc-open { border-color: #574b54 !important; }
.dark .adm-svc-row.adm-svc-over { border-color: #6a5a67 !important; }
.dark .adm-svc-title           { color: #e0e0e0 !important; }
.dark .adm-svc-price-label     { color: #c9b8c6 !important; }
.dark .adm-drag-handle         { color: #555 !important; }
.dark .adm-drag-handle:hover   { color: #c9b8c6 !important; }
.dark .adm-svc-edit-panel      { border-top-color: #3d3d3d !important; }
.dark .adm-svc-edit-btn        { background: #2d2d2d !important; color: #c9b8c6 !important; border-color: #574b54 !important; }
.dark .adm-svc-edit-btn:hover  { background: #3a3a3a !important; }
.dark .adm-svc-del-btn         { background: #2d1a1a !important; color: #e07070 !important; border-color: #7a3030 !important; }
.dark .adm-svc-del-btn:hover   { background: #3d2020 !important; }

/* Admin shop orders */
.dark .adm-order-card        { background: #252525 !important; border-color: #3d3d3d !important; }
.dark .adm-order-card *:not([class*="status"]):not([class*="badge"]) { color: inherit !important; }

/* Admin user list */
.dark .adm-user-card         { background: #2d2d2d !important; border-color: #3d3d3d !important; }
.dark .adm-user-card:hover   { background: #333 !important; }
.dark .adm-user-name         { color: #e0e0e0 !important; }
.dark .adm-user-email        { color: #888 !important; }

/* Admin content editor */
.dark .adm-content-card,
.dark .adm-shop-card,
.dark .adm-service-card      { background: #2d2d2d !important; border-color: #3d3d3d !important; }
.dark .adm-content-card input,
.dark .adm-content-card textarea,
.dark .adm-content-card select,
.dark .adm-shop-card input,
.dark .adm-shop-card textarea,
.dark .adm-shop-card select,
.dark .adm-service-card input,
.dark .adm-service-card textarea {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}

/* Messages / inbox */
.dark .adm-msg-item          { background: #252525 !important; border-color: #3d3d3d !important; }
.dark .adm-msg-item:hover    { background: #2d2d2d !important; }
.dark .adm-msg-name          { color: #e0e0e0 !important; }
.dark .adm-msg-subject       { color: #ccc !important; }
.dark .adm-msg-preview       { color: #888 !important; }
.dark .adm-msg-body          { background: #2d2d2d !important; color: #e0e0e0 !important; }

/* ============================================================
   USER PROFILE PAGE
   ============================================================ */
.dark #up-loading            { background: #1a1a1a !important; color: #888 !important; }
.dark .up-page               { background: #1a1a1a !important; }
.dark .up-hero {
    background: #2d2d2d !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.4) !important;
}
.dark .up-name               { color: #e0e0e0 !important; }
.dark .up-email              { color: #c9b8c6 !important; }
.dark .up-info-label         { color: #666 !important; }
.dark .up-info-value         { color: #e0e0e0 !important; }
.dark .up-info-empty         { color: #555 !important; }
.dark .up-info-grid          { border-top-color: #3d3d3d !important; }
.dark .up-action-bar         { border-top-color: #3d3d3d !important; }
.dark .up-hero-body          { background: #2d2d2d !important; }
.dark .up-card {
    background: #2d2d2d !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
.dark .up-card-title         { color: #c9b8c6 !important; }
.dark .up-booking-item       { background: #252525 !important; border-color: #3d3d3d !important; }
.dark .up-booking-date       { color: #e0e0e0 !important; }
.dark .up-booking-svc        { color: #c9b8c6 !important; }
.dark .up-booking-order      { color: #666 !important; }

/* User profile modals */
.dark .up-ban-modal          { background: #2d2d2d !important; }
.dark .up-ban-modal .sub     { color: #888 !important; }
.dark .up-ban-field label    { color: #bbb !important; }
.dark .up-ban-field select,
.dark .up-ban-field textarea {
    background: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark .up-ban-overlay        { background: rgba(0,0,0,0.6) !important; }

/* ============================================================
   GENERIC INPUTS (catch-all for any missed fields)
   ============================================================ */
.dark input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.dark textarea,
.dark select {
    background-color: #232323 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}
.dark input:focus,
.dark textarea:focus,
.dark select:focus           { border-color: #574b54 !important; }
.dark input::placeholder,
.dark textarea::placeholder  { color: #666 !important; }
.dark input:disabled,
.dark textarea:disabled      { opacity: 0.5 !important; }

/* ============================================================
   INDEX PAGE
   ============================================================ */
/* Hero — tagline is black text on photo, needs lightening */
.dark .hero-tagline                 { color: #e0e0e0 !important; }

/* Separator wall */
.dark .separator-wall               { background-color: #1a1a1a !important; }

/* Pricing section */
.dark .pricing-section              { background-color: #1a1a1a !important; color: #c9b8c6 !important; }
.dark .pricing-header               { color: #c9b8c6 !important; }
.dark .category-title               { color: #e0e0e0 !important; }
.dark .category-description         { color: #ccc !important; }
.dark .service-item                 { background-color: #2d2d2d !important; box-shadow: 0 2px 10px rgba(0,0,0,0.4) !important; }
.dark .service-title                { color: #e0e0e0 !important; }
.dark .service-price                { color: #c9b8c6 !important; }
.dark .service-footer-text          { color: #ccc !important; }

/* Gallery section */
.dark .gallery-section              { background-color: #1a1a1a !important; }

/* Booking section */
.dark .booking-section              { background-color: #1a1a1a !important; }
.dark .booking-text h2              { color: #c9b8c6 !important; }
.dark .booking-instruction          { color: #e07060 !important; }
.dark .booking-hours,
.dark .booking-availability         { color: #ccc !important; }

/* Cancellation section */
.dark .cancellation-section         { background-color: #1a1a1a !important; }
.dark .cancellation-header          { color: #c9b8c6 !important; }
.dark .cancellation-subtitle        { color: #ccc !important; }
.dark .cancellation-content p       { color: #ccc !important; }
.dark .cancellation-subheading      { color: #c9b8c6 !important; }
.dark .cancellation-emphasis        { color: #e0e0e0 !important; }

/* Terms section */
.dark .terms-section                { background-color: #1a1a1a !important; }
.dark .terms-header                 { color: #c9b8c6 !important; }
.dark .terms-subtitle               { color: #ccc !important; }
.dark .terms-content p              { color: #ccc !important; }
.dark .terms-subheading             { color: #c9b8c6 !important; }
.dark .terms-content p strong       { color: #c9b8c6 !important; }
.dark .terms-emphasis               { color: #c9b8c6 !important; }

/* Location section */
.dark .location-section             { background-color: #232323 !important; }

/* Quick-nav popup ("Entdecke mehr") */
.dark #zn-quicknav-inner       { background: #232323 !important; border-color: #3d3d3d !important; box-shadow: 0 10px 36px rgba(0,0,0,0.5), 0 2px 8px rgba(0,0,0,0.3) !important; }
.dark #zn-quicknav-label       { color: #c9b8c6 !important; }
.dark .zn-qnav-btn             { background: linear-gradient(135deg, #574b54 0%, #3d3344 100%) !important; box-shadow: 0 3px 12px rgba(0,0,0,0.4) !important; }
.dark .zn-qnav-btn:hover       { background: linear-gradient(135deg, #6b5c68 0%, #574b54 100%) !important; box-shadow: 0 7px 22px rgba(0,0,0,0.5) !important; }
.dark #zn-quicknav-close       { color: #666 !important; }
.dark #zn-quicknav-close:hover { color: #c9b8c6 !important; background: #2d2d2d !important; }

/* Scrollbars */
.dark ::-webkit-scrollbar            { width: 8px; height: 8px; }
.dark ::-webkit-scrollbar-track      { background: #1a1a1a; }
.dark ::-webkit-scrollbar-thumb      { background: #3d3d3d; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb:hover { background: #555; }