/* Listnova Frontend dark mode — 1.0.0-rc2-design10.46
 * Reconstruction complète : les feuilles frontend utilisent désormais des tokens
 * de surface. Cette couche ne corrige plus page par page ; elle définit la palette
 * sombre commune et les rares contrôles natifs/tiers qui échappent aux tokens.
 */
html[data-ln-theme="dark"]{
  color-scheme:dark;
  --ln-front-page:#161c21;
  --ln-front-page-glass:rgba(22,28,33,.96);
  --ln-front-surface:#222a30;
  --ln-front-surface-glass:rgba(34,42,48,.96);
  --ln-front-surface-soft:#2b353c;
  --ln-front-surface-muted:#354149;
  --ln-front-border:#46545e;
  --ln-front-text:#f5f7f8;
  --ln-front-muted:#bac4c9;
  --ln-front-brand:#ff4f88;
  --ln-front-brand-dark:#e41c5e;
  --ln-front-brand-text:#ff8ab0;
  --ln-front-pink:#ff4f88;
  --ln-front-pink-soft:#44202d;
  --ln-front-success-soft:#1d3a2d;
  --ln-front-danger-soft:#40262d;
  --ln-front-warning-soft:#403821;
  --ln-front-info-soft:#203744;
  --ln-front-success:#76dda9;
  --ln-front-danger:#ff98a3;
  --ln-front-warning:#f2cf7f;
  --ln-front-info:#86caff;
  --ln-success:var(--ln-front-success);
  --ln-danger:var(--ln-front-danger);
  --ln-warning:var(--ln-front-warning);
  --ln-info:var(--ln-front-info);
  --ln-bg:var(--ln-front-page);
  --ln-card:var(--ln-front-surface);
  --ln-soft:var(--ln-front-surface-soft);
  --ln-line:var(--ln-front-border);
  --ln-ink:var(--ln-front-text);
  --ln-muted:var(--ln-front-muted);
  /* Alias historiques encore utilisés par certains modules frontend. */
  --ln-text:var(--ln-front-text);
  --ln-deep:var(--ln-front-text);
  --ln-ink:var(--ln-front-text);
  --ln-panel:var(--ln-front-surface);
  --ln-border:var(--ln-front-border);
  --ln-account-ink:var(--ln-front-text);
  --ln-account-muted:var(--ln-front-muted);
  --ln-account-green:var(--ln-front-brand-text);
  --ln-v4-deep:var(--ln-front-text);
  --ln-brand:var(--ln-front-brand);
  --ln-brand-dark:var(--ln-front-brand-dark);
  --ln-action:var(--ln-front-pink);
  --ln-listing-card:var(--ln-front-surface);
  --ln-listing-surface:var(--ln-front-surface);
  --ln-listing-soft:var(--ln-front-surface-soft);
  --ln-listing-line:var(--ln-front-border);
  --ln-v4-ink:var(--ln-front-text);
  --ln-v4-muted:var(--ln-front-muted);
  --ln-v4-line:var(--ln-front-border);
  --ln-v4-soft:var(--ln-front-surface-soft);
  --ln-host-card-ink:var(--ln-front-text);
  --ln-host-card-muted:var(--ln-front-muted);
  --ln-host-card-line:var(--ln-front-border);
  --ln-msg-ink:var(--ln-front-text);
  --ln-msg-muted:var(--ln-front-muted);
  --ln-msg-line:var(--ln-front-border);
  --ln-account-soft:var(--ln-front-surface-soft);
  --ln-account-line:var(--ln-front-border);
  --sx-ink:var(--ln-front-text);
  --sx-muted:var(--ln-front-muted);
  --sx-line:var(--ln-front-border);
  --sx-card:var(--ln-front-surface);
  --sx-soft:var(--ln-front-surface-soft);
  --sx-brand:var(--ln-front-brand);
  --e-global-color-lnsurface:var(--ln-front-page)!important;
  --e-global-color-lncard:var(--ln-front-surface)!important;
  --e-global-color-lnline:var(--ln-front-border)!important;
  --e-global-color-text:var(--ln-front-text)!important;
  --e-global-color-secondary:var(--ln-front-muted)!important;
  --e-global-color-primary:var(--ln-front-text)!important;
  --e-global-color-accent:var(--ln-front-pink)!important;
}
html[data-ln-theme="dark"] body,
html[data-ln-theme="dark"] #page,
html[data-ln-theme="dark"] .site,
html[data-ln-theme="dark"] .site-content,
html[data-ln-theme="dark"] main{background-color:var(--ln-front-page);color:var(--ln-front-text)}
html[data-ln-theme="dark"] body[class*="elementor-kit-"]{
  --e-global-color-lnsurface:var(--ln-front-page)!important;
  --e-global-color-lncard:var(--ln-front-surface)!important;
  --e-global-color-lnline:var(--ln-front-border)!important;
  --e-global-color-text:var(--ln-front-text)!important;
  --e-global-color-secondary:var(--ln-front-muted)!important;
  --e-global-color-primary:var(--ln-front-text)!important;
  --e-global-color-accent:var(--ln-front-pink)!important;
}
html[data-ln-theme="dark"] :where(h1,h2,h3,h4,h5,h6){color:var(--ln-front-text)}
html[data-ln-theme="dark"] :where(p,small,.description,.ln-field-help,.ln-input-meta){border-color:var(--ln-front-border)}
html[data-ln-theme="dark"] :where(hr,.ln-divider){border-color:var(--ln-front-border)!important}

/* Navigation et overlays globaux. */
html[data-ln-theme="dark"] .site-header{background:var(--ln-front-page-glass)!important;border-color:var(--ln-front-border)!important;box-shadow:0 1px 0 rgba(255,255,255,.025)}
html[data-ln-theme="dark"] :where(.site-brand,.site-nav a,.ln-host-link,.ln-login-link,.ln-user-links>a,.ln-header-popover__trigger,.ln-menu-toggle){color:var(--ln-front-text)}
html[data-ln-theme="dark"] :where(.ln-host-link,.ln-login-link,.ln-user-links>a,.ln-header-popover__trigger):hover{background:var(--ln-front-surface-muted)!important;border-color:var(--ln-front-border)!important;color:#fff}
html[data-ln-theme="dark"] :where(.ln-header-popover__panel,.ln-theme-picker__menu,.ln-popover,.ln-dialog,.ln-modal__dialog){background:var(--ln-front-surface)!important;border-color:var(--ln-front-border)!important;color:var(--ln-front-text);box-shadow:0 24px 60px rgba(0,0,0,.42)}
html[data-ln-theme="dark"] .ln-account-menu__links{border-color:var(--ln-front-border)!important}
html[data-ln-theme="dark"] :where(.ln-account-menu__links a,.ln-account-menu__footer a){color:var(--ln-front-text)}
html[data-ln-theme="dark"] :where(.ln-account-menu__links a,.ln-account-menu__footer a):hover{background:var(--ln-front-surface-muted)!important}

/* Contrôles natifs : les widgets Listnova et Elementor héritent ensuite des tokens. */
html[data-ln-theme="dark"] :where(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],select,textarea){background:#1d252a!important;border-color:#4b5963!important;color:var(--ln-front-text)!important;box-shadow:none!important}
html[data-ln-theme="dark"] :where(input,textarea)::placeholder{color:#98a4aa!important}
html[data-ln-theme="dark"] :where(input,select,textarea):focus{border-color:#ff4f88!important;box-shadow:0 0 0 3px rgba(255,79,136,.16)!important;outline:0!important}
html[data-ln-theme="dark"] :where(input[readonly],input:disabled,select:disabled,textarea:disabled){background:#1a2126!important;color:#98a4aa!important}
html[data-ln-theme="dark"] :where(.ln-button--ghost,.ln-button--secondary){background:var(--ln-front-surface)!important;border-color:var(--ln-front-border)!important;color:var(--ln-front-brand-text)!important}
html[data-ln-theme="dark"] :where(.ln-button--ghost,.ln-button--secondary):hover{background:var(--ln-front-surface-muted)!important;border-color:#43515a!important;color:#ffd0df!important}

/* Sélecteur d'apparence. */
html[data-ln-theme="dark"] :where(.ln-theme-control--account,.ln-theme-segmented){background:#1d252a!important;border-color:var(--ln-front-border)!important}
html[data-ln-theme="dark"] .ln-theme-segmented button{color:var(--ln-front-muted)!important}
html[data-ln-theme="dark"] .ln-theme-segmented button.is-active{background:var(--ln-front-surface-muted)!important;color:#ff79a5!important;box-shadow:none!important}
html[data-ln-theme="dark"] .ln-theme-control__copy>i{background:var(--ln-front-surface-muted)!important;color:var(--ln-front-brand-text)!important}

/* Dialogues de recherche, calendriers et bibliothèques tierces. */
html[data-ln-theme="dark"] :where(dialog,.ln-filter-modal,.ln-search-modal,.ln-calendar-popover,.ln-date-popover,.flatpickr-calendar,.flatpickr-months,.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days){background:var(--ln-front-surface)!important;border-color:var(--ln-front-border)!important;color:var(--ln-front-text)!important}
html[data-ln-theme="dark"] :where(.flatpickr-day,.flatpickr-weekday,.flatpickr-current-month,.flatpickr-monthDropdown-months,.numInputWrapper input){color:var(--ln-front-text)!important}
html[data-ln-theme="dark"] .flatpickr-day:hover{background:var(--ln-front-surface-muted)!important;border-color:var(--ln-front-border)!important}
html[data-ln-theme="dark"] .flatpickr-day.prevMonthDay,
html[data-ln-theme="dark"] .flatpickr-day.nextMonthDay{color:#89969d!important}

/* Médias/cartes : ne jamais assombrir les images elles-mêmes. */
html[data-ln-theme="dark"] :where(img,video,picture,canvas,.ln-gallery img,.ln-card img){color-scheme:normal}
html[data-ln-theme="dark"] ::selection{background:rgba(255,79,136,.36);color:#fff}


/* design10.46 — contraste graphite plus lisible */
html[data-ln-theme="dark"] :where(.ln-booking-state,.ln-native-booking-state,.ln-billing-status,.ln-config-status,.ln-ical-status,.ln-host-booking-row__status,.ln-booking-rail__status){border:1px solid color-mix(in srgb,currentColor 26%,transparent)}
html[data-ln-theme="dark"] :where(.is-ready,.is-success,[class*="status--paid"],[class*="status--success"]){color:var(--ln-front-success)!important}
html[data-ln-theme="dark"] :where(.is-error,.is-danger,[class*="status--failed"],[class*="status--cancel"]){color:var(--ln-front-danger)!important}
html[data-ln-theme="dark"] :where(.is-warning,.is-pending,[class*="status--pending"]){color:var(--ln-front-warning)!important}
html[data-ln-theme="dark"] :where(.ln-booking-card,.ln-dashboard-card,.ln-account-sidebar,.ln-account-form,.ln-account-quick>div,.ln-traveler-panel,.ln-host-panel,.ln-notification-card,.ln-message-shell,.ln-publish-section,.ln-listing-section,.ln-booking-rail__inner){box-shadow:0 1px 0 rgba(255,255,255,.025)!important}
html[data-ln-theme="dark"] :where(.ln-traveler-booking-row__date,.ln-native-booking-card__date,.ln-account-cards>a>i,.ln-account-quick>div>i){color:var(--ln-front-brand-text)!important}
html[data-ln-theme="dark"] :where(.ln-traveler-booking-row>div small,.ln-account-logout,.ln-traveler-empty a){color:var(--ln-front-danger)!important}


/* design10.47 — garde-fous de contraste texte */
html[data-ln-theme="dark"] :where(.ln-orders,.ln-booking-item,.ln-order-card,.ln-order-detail){color:var(--ln-front-text)!important}
html[data-ln-theme="dark"] :where(.ln-orders__tabs a,.ln-orders__tabs a.is-active,.ln-booking-tabs a,.ln-booking-tabs a.is-active){color:var(--ln-front-text)!important}
html[data-ln-theme="dark"] :where(.ln-orders__tabs a span,.ln-booking-tabs a span){color:var(--ln-front-muted)!important}
html[data-ln-theme="dark"] :where(.ln-booking-item__body h3,.ln-booking-item__body h3 a,.ln-order-card h3,.ln-order-card h3 a,.ln-booking-item__actions>strong,.ln-order-card__side>strong,.ln-order-detail__price>strong){color:var(--ln-front-text)!important}
html[data-ln-theme="dark"] :where(.ln-booking-item__body p,.ln-booking-item__body>small,.ln-booking-composition,.ln-booking-note,.ln-booking-item__actions>small,.ln-order-card__meta,.ln-order-kind,.ln-order-detail header small){color:var(--ln-front-muted)!important}
html[data-ln-theme="dark"] .ln-role-badge{background:var(--ln-front-surface-muted)!important;color:#e5ebee!important}
html[data-ln-theme="dark"] .ln-booking-detail-link{color:var(--ln-front-brand-text)!important}
html[data-ln-theme="dark"] :where(.ln-status--pending,.ln-status--payment_pending){color:var(--ln-front-warning)!important}
html[data-ln-theme="dark"] :where(.ln-status--confirmed,.ln-status--paid,.ln-status--completed){color:var(--ln-front-success)!important}
html[data-ln-theme="dark"] :where(.ln-status--declined,.ln-status--cancelled,.ln-status--failed){color:var(--ln-front-danger)!important}
html[data-ln-theme="dark"] .ln-order-timeline>div.is-done{color:var(--ln-front-brand-text)!important}
html[data-ln-theme="dark"] .ln-order-timeline>div.is-done>span{background:var(--ln-front-brand-dark)!important;color:#fff!important}
