/* Fond clair global : mêmes nuances ivoire et rose très pâle que l'accueil. */
html { color-scheme: light !important; background: #faf6f8 !important; }
body:not(.imoveo-home-light) {
  --bg-main: #faf6f8;
  --bg: #faf6f8;
  --panel: #ffffff;
  --line: #eadbe1;
  --text: #281d25;
  --muted: #65565f;
  --primary-color: #281d25;
  --secondary-color: #65565f;
  --glass-bg: rgba(255, 255, 255, .94);
  --glass-border: #eadbe1;
  --glass-shadow: 0 14px 40px rgba(65, 25, 45, .08);
  --map-fill: #e6d9df;
  --map-stroke: #b79eaa;
  color: #281d25 !important;
  background: radial-gradient(circle at 8% 4%, #f7e8ee 0, transparent 28%), #faf6f8 !important;
}
body:not(.imoveo-home-light)::after { display: none !important; }
body:not(.imoveo-home-light) .ambient-background { opacity: .16 !important; }
body:not(.imoveo-home-light) .orb { opacity: .35 !important; }

/* Base et surfaces réutilisées par les pages PHP et les vues Laravel. */
body:not(.imoveo-home-light) :is(.glass-panel, .form-card, .card, .callback-card, .essentiel, .conversion-intro,
  .agent, .cluster, .departments li, .priority-grid li, .explainer-grid article, .comp-results,
  .reno-card, .result-card, .article-card, .highlight-box, .erreur-card, .answer, .panel,
  .management-section, .local-card, .city-chip-premium, .modal-dialog) {
  background: #ffffff !important;
  border-color: #eadbe1 !important;
  color: #281d25 !important;
  box-shadow: 0 14px 38px rgba(65, 25, 45, .07) !important;
}
body:not(.imoveo-home-light) :is(.site-header, nav.top, .sticky-nav .nav-container) {
  background: rgba(255,255,255,.95) !important;
  border-color: #eadbe1 !important;
  box-shadow: 0 10px 30px rgba(65,25,45,.08) !important;
}
body:not(.imoveo-home-light) :is(h1,h2,h3,h4,h5,h6,.brand,.nav-chip,.header-link,
  .form-top strong,.step h2,.calendar-title h3,.periods legend,.card h2,.article-title,
  .erreur-title,.agent .name,.expert strong,.result-row,.city-price) { color: #281d25 !important; }
body:not(.imoveo-home-light) :is(p,li,dd,dt,.intro,.scope,.step-intro,.card-lead,.card .expert span,
  .article-desc,.article-meta,.form-top small,.city-metrics .metric,.booking-note,.privacy-line,
  .consent,.source,.below,.site-footer,.site-footer a,.meta,.field small,.card-lead,
  .cta-badges span,.hero-steps,.hero-points span,.explainer-grid p,.faq p) { color: #61525b !important; }
body:not(.imoveo-home-light) :is(.eyebrow,.overline,.step-count,.card-icon,.result strong,
  .result-sales,.article-tag,.periods button span,.booking-note span) { color: var(--accent-color, #a8144b) !important; }
body:not(.imoveo-home-light) a:not(.btn):not(.button):not(.primary-button):not(.secondary-button):not(.sales-button) { text-underline-offset: 3px; }
body:not(.imoveo-home-light) :is(.breadcrumb,.breadcrumb a,nav.breadcrumb,nav.breadcrumb a) { color: #796772 !important; }
body:not(.imoveo-home-light) :is(.imoveo-logo-picture.imoveo-logo-on-dark,.imoveo-editorial-brand) { background: #fff !important; }

/* Formulaire locatif et formulaires réutilisés. */
body:not(.imoveo-home-light) :is(.field input,.field select,.glass-input,.more-details,.suggestions,
  .suggestions-list,input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea,select) {
  background: #fff !important;
  border-color: #dbc7d0 !important;
  color: #281d25 !important;
}
body:not(.imoveo-home-light) :is(input,textarea)::placeholder { color: #8b7883 !important; }
body:not(.imoveo-home-light) :is(.field label,.calendar-title h3,.periods legend,.more-details summary) { color: #32242d !important; }
body:not(.imoveo-home-light) :is(.suggestions button,.subtle,.btn-secondary,.calendar-arrows button,
  .day:not([aria-pressed="true"]),.periods button:not([aria-pressed="true"]),.modal-close) {
  background: #fff !important;
  border-color: #decbd4 !important;
  color: #392833 !important;
}
body:not(.imoveo-home-light) :is(.day[aria-pressed="true"],.periods button[aria-pressed="true"],
  .radio-chip input:checked + label,.checkbox-chip input:checked + label) {
  background: var(--accent-color, #a8144b) !important;
  border-color: var(--accent-color, #a8144b) !important;
  color: #fff !important;
}
body:not(.imoveo-home-light) :is(.day span,.day small,.periods button small,.field label span) { color: #705e69 !important; }
body:not(.imoveo-home-light) .day[aria-pressed="true"] :is(span,small),
body:not(.imoveo-home-light) .periods button[aria-pressed="true"] :is(span,small) { color: #fff !important; }
body:not(.imoveo-home-light) :is(.booking-note,.expert,.hero-points span,.sales-cta,.sales-section,
  .cta,.result,.result-comparison,.modal-selected,.info-notice,.dropzone,.radio-chip label,
  .checkbox-chip label,.reno-card,.chip,.hub-tab-chip) {
  background: #f9edf2 !important;
  border-color: #e9d3dc !important;
  color: #382631 !important;
}
body:not(.imoveo-home-light) :is(.progress,.progress-container,.opti-gauge-track) { background: #f0e5e9 !important; }
body:not(.imoveo-home-light) :is(.form-error,.form-message) { background: #fff2f3 !important; color: #9a2539 !important; }
body:not(.imoveo-home-light) :is(.result,.modal-selected) :is(h2,p,strong) { color: #382631 !important; }

/* Les appels à l'action conservent leur contraste sur la couleur de marque. */
body:not(.imoveo-home-light) :is(.btn,.btn-primary,.btn-submit,.button.primary,.primary-button,
  .sales-button,.nav-chip-sale,.chart-btn.active,.btn-nav) { color: #fff !important; }
body:not(.imoveo-home-light) :is(.btn,.btn-primary,.btn-submit,.button.primary,.primary-button,
  .sales-button,.nav-chip-sale,.chart-btn.active,.btn-nav) :is(span,i,svg) { color: inherit !important; }
body:not(.imoveo-home-light) .sales-cta strong { color: var(--accent-color, #a8144b) !important; }
body:not(.imoveo-home-light) :is(.site-footer,.explainer,.editorial-links,.faq details) { border-color: #eadbe1 !important; }
body:not(.imoveo-home-light) .modal-backdrop { background: rgba(36, 17, 29, .55) !important; }

/* Sections de marché et liens de la page locative. */
body:not(.imoveo-home-light) :is(.market-section,.management-section,.sales-section) {
  background: linear-gradient(135deg, #fff, #f8edf2) !important;
  border-color: #e7d0da !important;
  color: #281d25 !important;
}
body:not(.imoveo-home-light) .market-grid > div {
  background: #fff !important;
  border-color: #e7d0da !important;
}
body:not(.imoveo-home-light) :is(.market-grid span,.market-grid small,.market-source,
  .market-heading p,.management-section p,.management-perks span,.management-section .management-areas,
  .management-section .management-note,.editorial-links p) { color: #65565f !important; }
body:not(.imoveo-home-light) :is(.market-grid strong,.management-perks strong) { color: var(--accent-color, #a8144b) !important; }
body:not(.imoveo-home-light) :is(.market-link,.city-index nav a,.editorial-links nav a,
  .management-perks span,.faq details) {
  background: #fff !important;
  border-color: #e7d0da !important;
  color: #35242d !important;
}
body:not(.imoveo-home-light) :is(.market-source a,.method-footer a,.faq details p a) { color: var(--accent-color, #a8144b) !important; }
body:not(.imoveo-home-light) :is(.management-button,.result-sales) { color: #fff !important; }
