/* ════════════════════════════════════════════════════════════
   LUXE-COLORS.CSS — Refonte design 2026-05
   Palette bleue Marseille + composants nouveau design
   Charge APRÈS main.css → écrase
   ════════════════════════════════════════════════════════════ */

:root {
  /* Bleu accent vif */
  --blue:    #2B9FFF;
  --blue-h:  #0A85E8;
  --blue-d:  #0E4F8C;
  --blue-s:  #EAF4FF;
  --blue-xs: #F4F9FF;

  /* NIGHT = bleu profond (plus de quasi-noir) */
  --night:   #0E4F8C;
  --ink:     #07142A;
  --ink-1:   #07142A;
  --ink-2:   #1A2E45;
  --ink2:    #1A2E45;
  --slate:   #3A5068;
  --mist:    #7B93AA;
  --ghost:   #B8CAD8;

  --white:   #FFFFFF;
  --bg:      #F5F8FC;

  --gold:    #F0A500;
  --gold-l:  #FFD166;
  --green:   #00C896;
  --green-s: rgba(0,200,150,.12);

  --border:  rgba(7,20,42,.07);
  --border-2: rgba(7,20,42,.12);
  --border2: rgba(7,20,42,.12);

  --f: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

  /* Aliases compat ancien code */
  --noir: #0E4F8C; --noir-2: #083468; --graphite: #1A2E45; --pierre: #7B93AA;
  --ivoire: #FFFFFF; --ivoire-2: #F5F8FC; --ivoire-3: #EAF4FF;
  --or: #F0A500; --or-deep: #C68800; --or-pale: #FFD166;
  --terra: #2B9FFF; --terra-deep: #0A85E8;
  --terracotta: #2B9FFF; --terracotta-deep: #0A85E8;
  --line: rgba(7,20,42,.07); --line-on-dark: rgba(255,255,255,.10);
  --vert-luxe: #00C896;
  --noir-txt: #07142A; --pierre-pale: rgba(255,255,255,.7);
  --section-pad-y: 120px;
  --container-max: 1280px;
  --container-pad: 48px;
}

/* ─── RESET FONT ─── */
html, body, * {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
}
body {
  background: var(--bg) !important;
  color: var(--ink-1) !important;
  -webkit-font-smoothing: antialiased;
}

/* ─── TOPBAR / NAV-TOP ─── */
.nav-top, .topbar {
  background: #083060 !important;
  color: rgba(255,255,255,.65) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 9px 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.nav-top strong, .topbar strong, .nav-top b, .topbar b {
  color: var(--gold-l) !important;
  font-weight: 600 !important;
}
.nav-top a, .topbar a { color: rgba(255,255,255,.85) !important; }
.nav-top a:hover, .topbar a:hover { color: var(--gold-l) !important; }
.nav-top .sep, .topbar .tb-sep { color: rgba(255,255,255,.20) !important; }

/* ─── NAV HEADER ─── */
header, .nav, .site-header {
  background: rgba(255,255,255,.96) !important;
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border) !important;
  position: sticky !important; top: 0 !important; z-index: 300 !important;
  color: var(--ink-1) !important;
}
header .logo, header .brand-logo, .logo {
  color: var(--ink-1) !important;
}
/* Logo mark — gradient bleu (sur élément réel uniquement, pas le ::before pour éviter doublon) */
.logo-mark, .logo-sq, .brand-mark, .nav-brand .mark {
  background: linear-gradient(135deg, #0E4F8C, #1976D2) !important;
  background-color: #0E4F8C !important;
  border-radius: 10px !important;
}
.logo-name, .brand-name, .site-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  letter-spacing: -0.3px !important;
  color: var(--ink-1) !important;
  line-height: 1.2 !important;
}
header .logo small, .logo small, .logo-sub {
  color: var(--mist) !important;
  letter-spacing: 2.5px !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}
header nav a, .nav-a, .nav-link {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--slate) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  transition: all .15s !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
header nav a:hover, .nav-a:hover, .nav-link:hover {
  background: var(--bg) !important;
  color: var(--ink-1) !important;
}
.btn-nav, .nav-cta, a[href*="estimation"].btn-nav, header .btn-primary {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  border: none !important;
}
.btn-nav:hover, .nav-cta:hover { background: var(--blue-h) !important; }

/* ─── HERO ─── */
body section.hero, body .hero, .hero, #hero {
  position: relative !important;
  min-height: 700px !important;
  background: var(--night) !important;
  color: var(--white) !important;
  isolation: isolate !important;
}
/* photo Marseille — on garde l'image, on change l'overlay */
body section.hero::before, body .hero::before {
  content: '' !important;
  position: absolute !important; inset: 0 !important; z-index: 0 !important;
  background-image: url('/assets/marseille-hero.jpg') !important;
  background-size: cover !important;
  background-position: center 42% !important;
  filter: none !important;
}
body section.hero::after, body .hero::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important; z-index: 1 !important;
  background: linear-gradient(112deg,
    rgba(8,42,110,.78)   0%,
    rgba(10,55,135,.62)  30%,
    rgba(15,82,175,.45)  55%,
    rgba(43,159,255,.18) 100%) !important;
}
body section.hero::before, body .hero::before {
  filter: saturate(1.05) brightness(1.08) contrast(1.02) !important;
}
body .hero > *, body section.hero > * { position: relative; z-index: 2; }

/* H1 hero */
body section.hero h1, body .hero h1 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: clamp(48px, 6vw, 88px) !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  line-height: .92 !important;
  color: var(--white) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  margin-bottom: 28px !important;
}
body section.hero h1 em, body .hero h1 em {
  font-style: italic !important;
  font-weight: 300 !important;
  letter-spacing: -.02em !important;
  display: block !important;
  background: linear-gradient(90deg, var(--blue) 0%, var(--gold-l) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  margin-top: 0 !important;
}

/* Hero eyebrow */
.hero-eyebrow {
  display: inline-flex !important; align-items: center !important; gap: 10px !important;
  margin-bottom: 28px !important;
  color: rgba(255,255,255,.50) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 3.5px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
.hero-eyebrow::before {
  content: '' !important;
  width: 36px !important; height: 1px !important;
  background: rgba(255,209,102,.70) !important;
  box-shadow: none !important;
}

/* Hero tagline */
.hero-tagline {
  font-size: 17px !important;
  line-height: 1.72 !important;
  color: rgba(255,255,255,.60) !important;
  font-weight: 300 !important;
  text-shadow: none !important;
}

/* Hero pills */
.hero-pills { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 24px 0 36px !important; }
.hero-pill {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  padding: 7px 14px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.05) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.78) !important;
  text-shadow: none !important;
}
.hero-pill::before {
  content: '' !important;
  width: 5px; height: 5px; border-radius: 50%; background: var(--green);
  display: inline-block; margin-right: 4px;
}

/* Hero stats */
.hero-meta-num, .hero-stat-num, .stat-n {
  font-size: 44px !important;
  font-weight: 800 !important;
  color: var(--blue) !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
}
.hero-meta-num em, .hero-stat-num em { color: var(--blue) !important; font-style: normal !important; }
.hero-meta-lbl, .stat-l {
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.38) !important;
}

/* Mini-form hero */
.hero-form {
  background: var(--white) !important;
  border-radius: 16px !important;
  padding: 36px 32px 28px !important;
  box-shadow: 0 32px 80px rgba(3,13,26,.55), 0 4px 20px rgba(3,13,26,.20), 0 0 0 1px rgba(77,187,255,.15) !important;
  position: relative !important;
  color: var(--ink-1) !important;
}
.hero-form::before {
  content: '' !important;
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(90deg, var(--blue), var(--gold)) !important;
}
.hero-form h3, .hero-form-h, .hero-form-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -.4px !important;
  line-height: 1.25 !important;
  color: var(--ink-1) !important;
}
.hero-form h3 em, .hero-form em {
  color: var(--blue) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  background: none !important;
  -webkit-text-fill-color: var(--blue) !important;
}
.hero-form-eyebrow, .hero-form .live-dot + * {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
}
.hero-form .field-label, .hero-form label {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--mist) !important;
}
.hero-form .field-input, .hero-form input {
  border: 1.5px solid var(--border-2) !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  color: var(--ink-1) !important;
  background: var(--white) !important;
  padding: 12px 14px !important;
}
.hero-form input:focus { border-color: var(--blue) !important; box-shadow: 0 0 0 3px rgba(77,187,255,.10) !important; }
.hero-form .field-pill {
  border: 1.5px solid var(--border-2) !important;
  border-radius: 8px !important;
  background: var(--white) !important;
  color: var(--ink-1) !important;
  padding: 10px 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
}
.hero-form .field-pill:hover { border-color: var(--blue) !important; color: var(--blue) !important; }
.hero-form .field-pill.active {
  background: var(--ink-1) !important;
  color: var(--white) !important;
  border-color: var(--ink-1) !important;
}
.form-cta, .hero-form button[type="button"] {
  width: 100% !important;
  padding: 15px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .6px !important;
  border-radius: 8px !important;
  border: none !important;
  border-bottom: 3px solid var(--blue-h) !important;
}
.form-cta:hover { background: var(--blue-h) !important; }
.form-trust {
  margin-top: 13px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--border) !important;
  font-size: 10.5px !important;
  color: var(--mist) !important;
  font-weight: 500 !important;
}

/* ─── SECTIONS ─── */
section { font-family: 'Plus Jakarta Sans', sans-serif !important; }
section h1, section h2, section h3, section h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  line-height: .96 !important;
  color: var(--ink-1) !important;
}
section h2 { font-size: 60px !important; }
section h2 em {
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--blue) !important;
  -webkit-text-fill-color: var(--blue) !important;
}
section p, section li {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: var(--ink-2) !important;
  font-weight: 400 !important;
}

/* Section sombre (#marche, #methode, etc.) */
section[style*="14110D"], section[style*="#030D1A"], section[style*="030D1A"],
section#marche, section#evolution, section#methode, section#simulateur,
section.section-night, section.S-night {
  background: var(--night) !important;
  color: var(--white) !important;
}
section[style*="14110D"] h1, section[style*="14110D"] h2, section[style*="14110D"] h3,
section[style*="030D1A"] h1, section[style*="030D1A"] h2, section[style*="030D1A"] h3,
section#marche h2, section#evolution h2, section#methode h2, section#simulateur h2 {
  color: var(--white) !important;
}
section[style*="14110D"] h2 em, section[style*="030D1A"] h2 em,
section#marche h2 em, section#methode h2 em, section#evolution h2 em, section#simulateur h2 em {
  color: var(--gold-l) !important;
  -webkit-text-fill-color: var(--gold-l) !important;
}
section[style*="14110D"] p, section[style*="14110D"] li,
section[style*="030D1A"] p, section[style*="030D1A"] li,
section#marche p, section#methode p, section#evolution p, section#simulateur p {
  color: rgba(255,255,255,.65) !important;
}

/* Section ivoire-2 (#estimation, #faq, #guides) → bg bleuté */
section[style*="F1EBDF"], section[style*="F8F4ED"],
section#estimation, section#faq, section#guides {
  background: var(--bg) !important;
  color: var(--ink-1) !important;
}

/* sec-tag (eyebrow) */
.sec-tag, .ey, .section-tag, .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}
.sec-tag::before, .ey::before, .eyebrow::before {
  content: '' !important;
  width: 24px !important; height: 1.5px !important;
  background: var(--gold) !important;
  border-radius: 1px !important;
}
section[style*="14110D"] .sec-tag, section[style*="030D1A"] .sec-tag,
section#marche .sec-tag, section#methode .sec-tag, section#evolution .sec-tag, section#simulateur .sec-tag {
  color: rgba(255,255,255,.45) !important;
}

/* ─── CARDS ARRONDISSEMENT (.mc) ─── */
.mc, .mc-grid .mc, .mc-card {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 0 !important;
  color: var(--white) !important;
  padding: 32px 28px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: background .2s !important;
}
.mc::after, .mc-card::after {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--blue), var(--gold)) !important;
  transform: scaleX(0) !important; transform-origin: left !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1) !important;
}
.mc:hover, .mc-card:hover { background: rgba(77,187,255,.10) !important; }
.mc:hover::after, .mc-card:hover::after { transform: scaleX(1) !important; }
.mc .mc-arr, .mc-card .mc-num {
  color: var(--blue) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}
.mc .mc-nom, .mc-card .mc-name {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: -.3px !important;
  line-height: 1.2 !important;
  margin-bottom: 18px !important;
}
.mc .mc-prix, .mc-card .mc-price {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--white) !important;
  letter-spacing: -.03em !important;
  margin-bottom: 4px !important;
}
.mc .mc-sub, .mc-card .mc-source {
  font-size: 10px !important;
  color: rgba(255,255,255,.28) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 14px !important;
}
.mc .mc-hausse, .mc-card .mc-evolution {
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  font-size: 11px !important; font-weight: 700 !important;
  color: var(--green) !important;
  background: var(--green-s) !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 4px 10px !important;
}
.mc .mc-tag, .mc-card [class*="tag"] {
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.40) !important;
  border: none !important;
  border-radius: 4px !important;
  font-size: 9px !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
}

/* market-stats (stats sur fond noir hero marche) */
.market-stat-label { color: var(--blue) !important; font-size: 10px !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; }
.market-stat-val {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  color: var(--white) !important;
  font-size: 36px !important;
  letter-spacing: -.04em !important;
}
.market-stat-sub { color: rgba(255,255,255,.45) !important; }

/* ─── FORMULAIRE ESTIMATION (#estimation) ─── */
section#estimation, #estimation {
  background: var(--bg) !important;
  color: var(--ink-1) !important;
}
#estimation h2 { color: var(--ink-1) !important; }
#estimation h2 em { color: var(--blue) !important; -webkit-text-fill-color: var(--blue) !important; }

/* TYPE DE BIEN — pills horizontales */
[data-pick-group="typeOpts"], .est-type-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}
.est-type-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px 20px !important;
  border: 1.5px solid var(--border-2) !important;
  border-radius: 100px !important;
  background: var(--white) !important;
  text-align: left !important;
  justify-content: flex-start !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ink-1) !important;
  transition: all .15s !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.est-type-card:hover {
  border-color: var(--blue) !important;
  background: var(--blue-xs) !important;
  color: var(--blue) !important;
}
.est-type-card.opt-active.opt-active.opt-active,
.est-type-card.opt-active,
.est-type-card.active {
  background: var(--ink-1) !important;
  border-color: var(--ink-1) !important;
  color: var(--white) !important;
  box-shadow: none !important;
}
.est-type-card.opt-active * { color: var(--white) !important; }
.est-type-card .est-type-icon {
  font-size: 18px !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}
.est-type-card .est-type-sub, .est-type-card .est-type-label,
.est-type-card div div:nth-child(2) {
  display: none !important;
}

/* Masquer le select arrondissement (reste dans le DOM) */
#arrondissement, label[for="arrondissement"], #arrondissement-label,
.field-arrondissement, [for="arrondissement"] {
  display: none !important;
}

/* Stepper estimation */
.est-prog-track { background: var(--border) !important; height: 2px !important; }
.est-prog-fill { background: var(--blue) !important; height: 2px !important; }
.est-prog-step span {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: var(--mist) !important;
}
.est-prog-step.active span { color: var(--ink-1) !important; font-weight: 700 !important; }
.est-prog-dot {
  background: var(--white) !important;
  border: 2px solid var(--border-2) !important;
  color: var(--mist) !important;
}
.est-prog-step.active .est-prog-dot {
  background: var(--white) !important;
  border-color: var(--ink-1) !important;
  color: var(--ink-1) !important;
}
.est-prog-step.done .est-prog-dot, .est-prog-step.completed .est-prog-dot {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: var(--white) !important;
}

/* Step titles */
.est-step-tag, .step-tag {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
}
.est-step-title, h3.est-step-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
  color: var(--ink-1) !important;
}
.est-step-sub {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  color: var(--mist) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* Inputs estimation */
.form-input, #estimation input:not([type="checkbox"]):not([type="radio"]),
#estimation select, #estimation textarea {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  border: 1.5px solid var(--border-2) !important;
  border-radius: 8px !important;
  background: var(--white) !important;
  color: var(--ink-1) !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
}
.form-input:focus, #estimation input:focus, #estimation select:focus, #estimation textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(77,187,255,.10) !important;
  outline: none !important;
}
#estimation label {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--mist) !important;
}

/* Boutons next/prev */
.est-btn-next, button.est-btn-next, .btn-next-step {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  border: none !important;
  border-bottom: 3px solid var(--blue-h) !important;
  padding: 13px 28px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
.est-btn-next:hover { background: var(--blue-h) !important; transform: translateY(-1px); }
.est-btn-prev, button.est-btn-prev {
  background: transparent !important;
  border: 1.5px solid var(--border-2) !important;
  color: var(--mist) !important;
  border-radius: 8px !important;
  padding: 11px 18px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.est-btn-prev:hover { color: var(--ink-1) !important; border-color: var(--ink-1) !important; background: transparent !important; }

/* Cards picker (état, projet, délai) */
.est-etat-card, .est-projet-card, .est-delai-card {
  background: var(--white) !important;
  border: 1.5px solid var(--border-2) !important;
  border-radius: 9px !important;
  color: var(--ink-1) !important;
  padding: 14px 13px !important;
}
.est-etat-card:hover, .est-projet-card:hover, .est-delai-card:hover {
  border-color: var(--blue) !important;
  background: var(--blue-xs) !important;
}
.est-etat-card.active, .est-etat-card.opt-active,
.est-projet-card.active, .est-projet-card.opt-active,
.est-delai-card.active, .est-delai-card.opt-active,
.est-etat-card.opt-active.opt-active,
.est-projet-card.opt-active.opt-active,
.est-delai-card.opt-active.opt-active,
.opt-btn.opt-active.opt-active {
  background: var(--ink-1) !important;
  border-color: var(--ink-1) !important;
  color: var(--white) !important;
}
.est-etat-card.opt-active *, .est-projet-card.opt-active *, .est-delai-card.opt-active *,
.opt-btn.opt-active * { color: var(--white) !important; }

/* Sidebar récap "Votre bien" */
.est-recap, .est-summary, .est-aside {
  background: var(--night) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  color: var(--white) !important;
  border: none !important;
}
.est-recap h3, .est-recap h4, .est-recap-title, .est-recap .est-recap-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  color: var(--white) !important;
  letter-spacing: -.2px !important;
}
.est-recap-sub { color: rgba(255,255,255,.30) !important; font-size: 10.5px !important; font-weight: 300 !important; }
.est-recap-section-title, .est-recap-section {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 8px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--blue) !important;
  margin: 12px 0 7px !important;
}
.est-recap-row, .est-recap-item {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,.40) !important;
}
.est-recap-row-key { color: rgba(255,255,255,.40) !important; font-weight: 400 !important; }
.est-recap-row-val { color: rgba(255,255,255,.82) !important; font-weight: 600 !important; }

/* ─── FAQ ─── */
section#faq, #faq {
  background: var(--bg) !important;
  color: var(--ink-1) !important;
}
.faq-item {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  margin-bottom: 0 !important;
}
.faq-q, button.faq-q {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ink-1) !important;
  letter-spacing: -.3px !important;
  padding: 22px 0 !important;
  background: transparent !important;
}
.faq-q:hover { color: var(--blue) !important; }
.faq-q-text { color: inherit !important; font-family: inherit !important; font-size: inherit !important; }
.faq-arrow {
  width: 28px !important; height: 28px !important;
  border: 1.5px solid var(--border-2) !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 17px !important;
  color: var(--mist) !important;
  transition: all .2s !important;
}
.faq-item.open .faq-arrow {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: var(--white) !important;
  transform: rotate(45deg) !important;
}
.faq-a {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: var(--mist) !important;
  line-height: 1.80 !important;
  font-weight: 400 !important;
}

/* ─── GUIDES ─── */
section#guides, #guides {
  background: var(--bg) !important;
  color: var(--ink-1) !important;
}
section#guides h2, #guides h2 { color: var(--ink-1) !important; }
section#guides h2 em, #guides h2 em { color: var(--blue) !important; -webkit-text-fill-color: var(--blue) !important; }
.guide-card, section#guides .guide-card, section#guides article {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 34px 28px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .22s !important;
  color: var(--ink-1) !important;
}
.guide-card::after {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--blue), var(--gold)) !important;
  transform: scaleX(0) !important; transform-origin: left !important;
  transition: transform .25s cubic-bezier(.4,0,.2,1) !important;
}
.guide-card:hover {
  border-color: transparent !important;
  box-shadow: 0 12px 40px rgba(77,187,255,.14) !important;
  transform: translateY(-5px) !important;
}
.guide-card:hover::after { transform: scaleX(1) !important; }
.guide-tag, .guide-cat {
  color: var(--gold) !important;
  background: rgba(240,165,0,.07) !important;
  border: 1px solid rgba(240,165,0,.14) !important;
  border-radius: 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 2.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  align-self: flex-start !important;
}
.guide-title, .guide-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: var(--ink-1) !important;
  letter-spacing: -.3px !important;
  line-height: 1.35 !important;
}
.guide-desc, .guide-card p {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  color: var(--mist) !important;
  font-weight: 300 !important;
  line-height: 1.70 !important;
}

/* ─── TÉMOIGNAGES ─── */
.testi, .testi-card {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 36px 28px !important;
  color: var(--ink-1) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .2s !important;
}
.testi::before, .testi-card::before {
  content: '' !important;
  position: absolute !important; top: 0 !important; left: 0 !important; bottom: 0 !important;
  width: 3px !important;
  background: linear-gradient(to bottom, var(--blue), var(--gold)) !important;
  transform: scaleY(0) !important; transform-origin: top !important;
  transition: transform .25s cubic-bezier(.4,0,.2,1) !important;
}
.testi:hover, .testi-card:hover {
  border-color: var(--blue-s) !important;
  box-shadow: 0 8px 32px rgba(77,187,255,.10) !important;
  transform: translateY(-4px) !important;
}
.testi:hover::before, .testi-card:hover::before { transform: scaleY(1) !important; }
.testi-stars {
  color: var(--gold) !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
}
.testi-text, .testi p, .testi-quote, .testi blockquote {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  color: var(--ink-2) !important;
  line-height: 1.75 !important;
  font-weight: 300 !important;
}
.testi-name, .testi cite {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: var(--ink-1) !important;
  font-size: 13px !important;
}
.testi-info { font-size: 11px !important; color: var(--mist) !important; }

/* ─── COMPARAISON VILLES ─── */
.compare-col, .compare-grid .compare-col {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-right: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 30px 24px !important;
}
.compare-col.feat, .compare-col:first-child {
  background: var(--blue-xs) !important;
  border-top: 2px solid var(--blue) !important;
  border-color: var(--blue) !important;
}
.cmp-city {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 9.5px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--mist) !important;
}
.compare-col.feat .cmp-city, .compare-col:first-child .cmp-city { color: var(--blue) !important; }
.cmp-price {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  color: var(--ink-1) !important;
  letter-spacing: -.03em !important;
}
.cmp-price span { color: var(--mist) !important; font-weight: 400 !important; }
.cbest {
  background: var(--green-s) !important;
  color: var(--green) !important;
  border-radius: 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 3px 10px !important;
  border: none !important;
}
.cmid {
  background: var(--blue-s) !important;
  color: var(--blue-h) !important;
  border-radius: 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 3px 10px !important;
  display: inline-block !important;
}
.cmp-detail {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  color: var(--mist) !important;
  line-height: 1.82 !important;
  font-weight: 300 !important;
  border-top: 1px solid var(--border) !important;
}
.cmp-detail strong { color: var(--ink-1) !important; font-weight: 600 !important; }

/* ─── AGENCE PARTENAIRE ─── */
.agence-card {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  color: var(--ink-1) !important;
}
.agence-card-header {
  background: var(--blue-xs) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--blue-h) !important;
}
.agence-name { color: var(--ink-1) !important; }
.agence-stat-val { color: var(--blue) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-style: normal !important; font-weight: 800 !important; }
.agence-tag { background: var(--bg) !important; border-color: var(--border) !important; color: var(--ink-1) !important; }
.agence-card-footer { background: var(--bg) !important; border-top: 1px solid var(--border) !important; }
.agence-card-footer .btn-primary {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
}

/* ─── BOUTONS GLOBAUX ─── */
.btn-primary, a.btn-primary, button.btn-primary, .btn-cta-primary, .btn-luxe-primary {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  border: none !important;
  border-bottom: 3px solid var(--blue-h) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  text-transform: uppercase !important;
}
.btn-primary:hover, a.btn-primary:hover { background: var(--blue-h) !important; }

/* ─── FOOTER ─── */
footer, body > footer, .site-footer {
  background: var(--night) !important;
  color: var(--white) !important;
}
body > footer .footer-col h4, body > footer h4,
.footer-col-title, .fc-h, footer h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
}
body > footer a, body > footer li, body > footer p, body > footer span,
body > footer .footer-link, body > footer address {
  color: rgba(255,255,255,.40) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
}
body > footer a:hover, body > footer .footer-link:hover { color: var(--gold-l) !important; }
body > footer .footer-brand, body > footer .footer-brand-name {
  color: var(--white) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
body > footer strong { color: var(--white) !important; }
body > footer .footer-bottom, body > footer .copyright {
  color: rgba(255,255,255,.22) !important;
  border-top-color: rgba(255,255,255,.06) !important;
}
body > footer .btn-primary {
  background: var(--blue) !important;
  color: var(--white) !important;
}

/* ─── CHATBOT ─── */
#chatBtn, button[aria-label*="assistant"], .chatbot-toggle, #chatbot-btn {
  background: var(--blue) !important;
  background-color: var(--blue) !important;
  border: 2px solid var(--gold) !important;
  color: var(--white) !important;
  box-shadow: 0 8px 24px rgba(77,187,255,.30) !important;
}
#chatBtn:hover { background: var(--blue-h) !important; }
#chatBox { border-top: 3px solid var(--blue) !important; }

/* ─── WHATSAPP FLOAT ─── */
.wa-float {
  background: #25D366 !important;
  background-color: #25D366 !important;
  border-radius: 50% !important;
}
.wa-float:hover { background-color: #1DA851 !important; }

/* ─── STICKY MOBILE CTA ─── */
.sticky-mobile-cta, #stickyCTAMobile {
  background: var(--white) !important;
  border-top: 1px solid var(--border) !important;
  box-shadow: 0 -4px 20px rgba(7,20,42,.10) !important;
}
.sticky-mobile-estimer {
  background: var(--blue) !important;
  color: var(--white) !important;
}
.sticky-mobile-wa { background: #25D366 !important; color: var(--white) !important; }
.sticky-mobile-tel { background: var(--ink-1) !important; color: var(--white) !important; }

/* ─── GÉOLOC BUTTON ─── */
.geo-btn, #geolocBtn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 16px !important;
  background: var(--white) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--blue) !important;
  border: 1.5px solid var(--border-2) !important;
  border-left: none !important;
  border-radius: 0 8px 8px 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .14s !important;
}
.geo-btn:hover, #geolocBtn:hover { background: var(--blue-xs) !important; }

/* ─── PAGES ARRONDISSEMENT ─── */
body:has(.hero-arr) { background: var(--bg) !important; color: var(--ink-1) !important; }
.hero-arr {
  background: var(--bg) !important;
  background-image: none !important;
}
.hero-arr h1 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  color: var(--ink-1) !important;
}
.hero-arr h1 em {
  color: var(--blue) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  -webkit-text-fill-color: var(--blue) !important;
}
.hero-arr .tag, .hero-arr .breadcrumb { color: var(--mist) !important; }
.hero-arr .tag::before { background: var(--gold) !important; }
.hero-arr .btn {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  border: none !important;
  border-bottom: 3px solid var(--blue-h) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
}
.hero-arr .btn-sec {
  background: var(--white) !important;
  border: 1px solid var(--border-2) !important;
  color: var(--ink-1) !important;
  border-radius: 8px !important;
}
body:has(.hero-arr) .stats-grid { background: transparent !important; }
body:has(.hero-arr) .stat-item {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
}
body:has(.hero-arr) .stat-label { color: var(--mist) !important; }
body:has(.hero-arr) .stat-val {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  color: var(--blue) !important;
}
body:has(.hero-arr) .content-section.dark { background: var(--white) !important; }
body:has(.hero-arr) .content-section h2 { color: var(--ink-1) !important; }
body:has(.hero-arr) .content-section h2 em { color: var(--blue) !important; -webkit-text-fill-color: var(--blue) !important; }
body:has(.hero-arr) .highlight-box {
  background: var(--blue-xs) !important;
  border-left: 3px solid var(--blue) !important;
}
body:has(.hero-arr) .quartier-card {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
}
body:has(.hero-arr) .quartier-name { color: var(--blue) !important; }
body:has(.hero-arr) .quartier-price { color: var(--ink-1) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-style: normal !important; font-weight: 800 !important; }
body:has(.hero-arr) .cta-section { background: var(--night) !important; }
body:has(.hero-arr) .cta-section h2 { color: var(--white) !important; }
body:has(.hero-arr) .cta-section h2 em { color: var(--gold-l) !important; -webkit-text-fill-color: var(--gold-l) !important; }
body:has(.hero-arr) footer { background: var(--night) !important; }

/* ─── PAGES GUIDES ─── */
body:has(.guide-body) { background: var(--bg) !important; color: var(--ink-1) !important; }
.guide-hero {
  background: var(--bg) !important;
  background-image: none !important;
}
.guide-hero h1 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  color: var(--ink-1) !important;
}
.guide-hero h1 em {
  color: var(--blue) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  -webkit-text-fill-color: var(--blue) !important;
}
.guide-cat-tag {
  background: rgba(240,165,0,.07) !important;
  border: 1px solid rgba(240,165,0,.14) !important;
  color: var(--gold) !important;
  border-radius: 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.guide-body { background: var(--bg) !important; }
.guide-body h2, .guide-body h3 { color: var(--ink-1) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; }
.guide-body p, .guide-body li { color: var(--ink-2) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; }
.guide-body p strong { color: var(--blue) !important; }
.guide-cta {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-left: 3px solid var(--blue) !important;
  border-radius: 12px !important;
}
.guide-cta .btn, .guide-cta a.btn {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  border-bottom: 3px solid var(--blue-h) !important;
}
body:has(.guide-body) ul[style*="list-style:none"] li {
  background: var(--white) !important;
  color: var(--ink-1) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  border-radius: 8px !important;
}
body:has(.guide-body) ul[style*="list-style:none"] li[style*="#EF4444"] { border-left: 3px solid var(--gold) !important; }
body:has(.guide-body) ul[style*="list-style:none"] li[style*="#4ADE80"] { border-left: 3px solid var(--green) !important; }
body:has(.guide-body) footer { background: var(--night) !important; }

/* ─── DVF PAGE ─── */
.dvf-top {
  background: linear-gradient(135deg, var(--bg) 0%, var(--blue-xs) 100%) !important;
}
.dvf-top h1 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  color: var(--ink-1) !important;
}
.dvf-top h1 em {
  color: var(--blue) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  -webkit-text-fill-color: var(--blue) !important;
}
.dvf-top .lead { color: var(--mist) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; }
.dvf-stat-card .val {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  color: var(--blue) !important;
}
#dvfSearchBtn {
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  border-bottom: 3px solid var(--blue-h) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.dvf-card { background: var(--white) !important; border-color: var(--border) !important; }
.dvf-card-active {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(77,187,255,.15), 0 6px 20px rgba(77,187,255,.18) !important;
}
.dvf-type { background: var(--blue-s) !important; color: var(--blue-h) !important; }
.dvf-stat-highlight .dvf-stat-val { color: var(--blue) !important; }

/* ─── ANNULER LES STYLES SERIF DES POLICES ANCIENNES ─── */
em, .italic { font-style: italic; }
.serif, .font-serif, [class*="serif"] { font-family: 'Plus Jakarta Sans', sans-serif !important; }

/* ─── MERCI PAGE ─── */
.merci-h1 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  color: var(--ink-1) !important;
}
.merci-h1 em { color: var(--blue) !important; font-style: italic !important; font-weight: 300 !important; -webkit-text-fill-color: var(--blue) !important; }
.merci-card { background: var(--night) !important; }
.merci-fourchette { color: var(--blue) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-weight: 800 !important; font-style: normal !important; }
.merci-btn-primary { background: var(--blue) !important; color: var(--white) !important; border-radius: 8px !important; }
.merci-btn-primary:hover { background: var(--blue-h) !important; }

/* ─── DESKTOP : montrer scrollbar custom ─── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--mist); }

/* ════════════════════════════════════════════════════════════
   PROMPT FINAL — Composants v3 (CTA full-width, Marché clip-path)
   ════════════════════════════════════════════════════════════ */

/* ─── MASQUER ancien formulaire multi-étapes dans #estimation sur index.html ─── */
#estimation .est-layout,
#estimation .est-form-col,
#estimation .est-recap-col,
#estimation .est-prog,
#estimation .est-steps-wrap,
#estimation .est-step,
#estimation .est-form-wrapper,
#estimation .estimator-container { display: none !important; }

/* Ajout d'un bloc redirection visible vers /estimation/ */
#estimation .section-inner::after {
  content: 'Démarrer mon estimation gratuite →';
  display: inline-flex; align-items: center; justify-content: center;
  margin: 32px auto 0; padding: 18px 36px;
  background: var(--gold); color: var(--ink-1);
  font-weight: 800; font-size: 14px; letter-spacing: .5px;
  text-transform: uppercase; border-radius: 100px;
  cursor: pointer; box-shadow: 0 12px 32px rgba(240,165,0,.4);
  transition: transform .15s, box-shadow .15s;
}

/* ─── SECTION CTA ESTIMATION — full-width bleu + carte blanche flottante ─── */
section#estimation, #estimation, section.cta-estimation, .split, #estimation > .split {
  background: linear-gradient(145deg, #1060A8 0%, #1565BF 60%, #1976D2 100%) !important;
  position: relative !important;
  overflow: hidden !important;
  border-top: 2px solid rgba(240,165,0,.28) !important;
  color: #fff !important;
}
section#estimation::before, .split::before {
  content: '' !important;
  position: absolute !important;
  top: -200px !important; left: -100px !important;
  width: 700px !important; height: 700px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255,255,255,.08) 0%, transparent 65%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
section#estimation .section-inner, #estimation .section-inner {
  position: relative !important;
  z-index: 2 !important;
}
section#estimation h2, #estimation h2, .split-h {
  color: #fff !important;
}
section#estimation h2 em, #estimation h2 em, .split-h em {
  color: var(--gold-l) !important;
  -webkit-text-fill-color: var(--gold-l) !important;
  background: none !important;
  font-style: italic !important;
  font-weight: 300 !important;
  display: block !important;
}
section#estimation p, #estimation p, .split-p {
  color: rgba(255,255,255,.78) !important;
}
section#estimation .sec-tag, #estimation .sec-tag, .split-tag {
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: #fff !important;
}
section#estimation .sec-tag::before, .split-tag::before {
  background: rgba(255,255,255,.85) !important;
}

/* ─── SECTION MARCHÉ — clip-path diagonal + bleu gradient ─── */
section#marche {
  background: linear-gradient(180deg, #083468 0%, #0E4F8C 100%) !important;
  color: #fff !important;
  clip-path: polygon(0 64px, 100% 0, 100% 100%, 0 100%) !important;
  margin-top: -64px !important;
  padding-top: calc(120px + 64px) !important;
  position: relative !important;
  z-index: 1 !important;
}
section#marche h2 { color: #fff !important; }
section#marche h2 em { color: var(--gold-l) !important; -webkit-text-fill-color: var(--gold-l) !important; }
section#marche .sec-tag { color: rgba(255,255,255,.45) !important; }
section#marche .sec-tag::before { background: var(--gold) !important; }

/* Cards marché translucides */
section#marche .mc {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.10) !important;
}
section#marche .mc:hover {
  background: rgba(255,255,255,.12) !important;
}

/* ─── SECTIONS ÉVOLUTION / MÉTHODE / SIMULATEUR — bleu unifié ─── */
section#evolution, section#methode, section#simulateur {
  background: linear-gradient(180deg, #083468 0%, #0E4F8C 100%) !important;
  color: #fff !important;
}
section#evolution h2, section#methode h2, section#simulateur h2 { color: #fff !important; }
section#evolution h2 em, section#methode h2 em, section#simulateur h2 em {
  color: var(--gold-l) !important; -webkit-text-fill-color: var(--gold-l) !important;
}

/* ─── EXPERT / AGENCE PARTENAIRE / TÉMOIGNAGES (sections sans id) ─── */
/* Override sections inline noires en bleu */
section[style*="14110D"], section[style*="030D1A"], section[style*="0E1620"] {
  background: linear-gradient(180deg, #083468 0%, #0E4F8C 100%) !important;
  color: #fff !important;
}

/* ─── FOOTER — gradient bleu profond ─── */
footer, body > footer, .footer, .site-footer {
  background: linear-gradient(180deg, #083060 0%, #062448 100%) !important;
}
body > footer .footer-col h4, body > footer h4,
.footer-col-title, .fc-h {
  color: var(--blue) !important;
  font-size: 9.5px !important;
  letter-spacing: 2.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* ─── CHATBOT — bleu profond #0E4F8C ─── */
#chatBtn, button[aria-label*="assistant"], .chatbot-toggle, #chatbot-btn,
.chat-bubble-btn, .fab-chat {
  background: #0E4F8C !important;
  background-color: #0E4F8C !important;
  border: 2px solid var(--gold) !important;
  color: var(--gold-l) !important;
  box-shadow: 0 8px 24px rgba(14,79,140,.30) !important;
}
#chatBtn:hover, .chatbot-toggle:hover { background: #0A4078 !important; }
#chatBox { border-top: 3px solid var(--blue) !important; }

/* ─── STICKY MOBILE — bleu profond pour téléphone ─── */
.sticky-mobile-tel { background: #0E4F8C !important; color: #fff !important; }

/* ─── HERO EXPLORER ─── */
@media (min-width: 1024px) {
  .hero-explorer { order: 2 !important; }
  .hero-content { order: 1 !important; }
}
@media (max-width: 1023px) {
  .hero-explorer { order: 3 !important; margin-top: 24px; }
  .hero-content { order: 1 !important; }
}
.hero-explorer {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  padding: 30px 30px 26px;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  position: relative;
  overflow: hidden;
}
.hero-explorer::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
}
.he-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.he-title { font-size: 9px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(255,255,255,.50); }
.he-live { display: flex; align-items: center; gap: 6px; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--green); }
.he-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); animation: live-pulse 2.5s infinite; }
@keyframes live-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,200,150,.5); }
  60% { box-shadow: 0 0 0 7px rgba(0,200,150,0); }
}
.he-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; }
.he-pill {
  padding: 7px 14px; border-radius: 100px;
  border: 1px solid rgba(255,255,255,.16);
  font-size: 11.5px; font-weight: 600;
  color: rgba(255,255,255,.65); cursor: pointer;
  transition: all .18s; background: rgba(255,255,255,.04);
}
.he-pill:hover { border-color: rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.10); }
.he-pill.active { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 4px 16px rgba(43,159,255,.35); }
.he-result {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px; padding: 20px 22px; min-height: 112px;
  display: flex; flex-direction: column; justify-content: center;
}
.he-arr-name { font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-l); margin-bottom: 6px; }
.he-price { font-size: 34px; font-weight: 800; letter-spacing: -.04em; line-height: 1; color: #fff; margin-bottom: 8px; transition: all .22s cubic-bezier(.4,0,.2,1); }
.he-price-unit { font-size: 16px; font-weight: 300; color: rgba(255,255,255,.55); }
.he-meta { display: flex; align-items: center; gap: 12px; }
.he-trend { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; color: var(--green); background: rgba(0,200,150,.12); padding: 3px 10px; border-radius: 100px; }
.he-dvf { font-size: 10px; color: rgba(255,255,255,.28); font-weight: 300; }
.he-footer { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; }
.he-source { font-size: 9.5px; color: rgba(255,255,255,.28); }
.he-cta-link { font-size: 10.5px; font-weight: 700; color: rgba(255,255,255,.55); cursor: pointer; transition: color .15s; }
.he-cta-link:hover { color: var(--gold-l); }

/* ─────────── HERO ARRONDISSEMENT + GUIDES — RESPONSIVE MOBILE ─────────── */
@media (max-width: 768px) {
  /* Hero arrondissement */
  .hero-arr {
    padding: 90px 0 50px !important;
    min-height: auto !important;
  }
  .hero-arr .container { padding: 0 20px !important; }
  .hero-arr h1 { font-size: 30px !important; line-height: 1.08 !important; }
  .breadcrumb { font-size: 10.5px !important; margin-bottom: 16px !important; }
  .tag { font-size: 9px !important; margin-bottom: 12px !important; }
  .stats-grid {
    grid-template-columns: 1fr 1fr !important;
    margin: 24px 0 !important;
  }
  .stat-item { padding: 14px 16px !important; }
  .stat-val { font-size: 22px !important; }
  .stat-label { font-size: 9px !important; }
  .stat-sub { font-size: 10px !important; }

  /* Content sections arrondissement */
  .content-section { padding: 50px 0 !important; }
  .content-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
  .content-body p { font-size: 14px !important; line-height: 1.7 !important; }
  .quartier-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .quartier-price { font-size: 17px !important; }

  /* CTA section */
  .cta-section { padding: 50px 0 !important; }
  .cta-section h2 { font-size: 26px !important; line-height: 1.15 !important; }
  .cta-section p { font-size: 13.5px !important; }
  .cta-btns { flex-direction: column; gap: 10px !important; }
  .cta-btns .btn { width: 100%; justify-content: center; }
  .arr-nav { gap: 6px !important; }
  .arr-nav a { font-size: 11px !important; padding: 4px 10px !important; }

  /* Guide hero */
  .guide-hero {
    padding: 80px 0 36px !important;
  }
  .guide-hero h1, .page-hero h1, .article-hero h1 {
    font-size: 28px !important; line-height: 1.1 !important;
  }
  .guide-hero p, .page-hero p { font-size: 14px !important; line-height: 1.6 !important; }
  .guide-cat-tag { font-size: 10px !important; }
  .guide-meta { font-size: 11px !important; flex-wrap: wrap; gap: 6px; }
  .guide-meta span { font-size: 11px !important; }
  .guide-section h2 { font-size: 20px !important; }
  .guide-section p, .guide-section li { font-size: 14px !important; line-height: 1.65 !important; }
  .guide-section { margin: 24px 0 !important; }
  .guide-body { padding: 36px 0 !important; }
  .guide-body .container { padding: 0 20px !important; }
  .guide-cta { padding: 28px 22px !important; margin-top: 36px !important; }
  .guide-cta h3 { font-size: 22px !important; line-height: 1.2 !important; }
  .guide-cta p { font-size: 13px !important; }
  .guide-cta .btn { width: 100%; padding: 14px 18px !important; font-size: 13.5px !important; }
  .guide-breadcrumb { font-size: 10.5px !important; margin-bottom: 14px !important; }

  /* Footer pages secondaires */
  footer { flex-direction: column !important; gap: 14px !important; text-align: center; padding: 32px 20px !important; }
  footer span { font-size: 12px !important; }
}

@media (max-width: 420px) {
  .hero-arr h1 { font-size: 26px !important; }
  .guide-hero h1, .page-hero h1, .article-hero h1 { font-size: 24px !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .quartier-grid { grid-template-columns: 1fr !important; }
  .cta-section h2 { font-size: 22px !important; }
  .guide-section h2 { font-size: 18px !important; }
}

/* ─────────── A11Y & MOBILE UX — anti-zoom iOS + focus visible + safe-area ─────────── */
/* Empêche le zoom auto iOS au focus (input doit être ≥ 16px) */
@media (max-width: 768px) {
  input[type="text"], input[type="number"], input[type="email"], input[type="tel"],
  input[type="search"], input[type="password"], select, textarea {
    font-size: 16px !important;
  }
}
/* Focus visible pour clavier (WCAG 2.1 AA) — sans surcharger les hovers souris */
*:focus { outline: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible {
  outline: 2px solid #2B9FFF !important;
  outline-offset: 2px;
  border-radius: 6px;
}
.btn-blue:focus-visible, .nav-cta:focus-visible, .btn-nav:focus-visible, .mb-btn-estim:focus-visible {
  outline-color: #FFD166 !important;
  outline-offset: 3px;
}
/* iOS Safe-area pour sticky bar */
@media (max-width: 768px) {
  body {
    padding-bottom: max(66px, calc(env(safe-area-inset-bottom, 0px) + 66px)) !important;
  }
  .mobile-bar {
    padding-bottom: max(8px, env(safe-area-inset-bottom, 8px)) !important;
  }
}
/* Smooth scroll natif pour anchors */
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
@media (max-width: 768px) { html { scroll-padding-top: 64px; } }

/* ════════════════════════════════════════════════════════════
   FORCE V3 — NAVBAR BUTTON + LOGO + DVF (priorité maximale)
   Ces règles écrasent tous les inline styles des pages secondaires
   ════════════════════════════════════════════════════════════ */

/* Bouton COMMENCER → bleu V3 gradient SOLIDE partout */
html body header nav a.btn-nav,
html body header nav button.btn-nav,
html body header nav .btn-nav,
html body .nav-cta,
header .btn-nav,
header a.btn-nav,
header button.btn-nav {
  background: linear-gradient(135deg, #0E4F8C 0%, #1976D2 100%) !important;
  background-color: #1976D2 !important;
  color: #ffffff !important;
  padding: 10px 22px !important;
  border-radius: 10px !important;
  border: none !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 12px !important;
  box-shadow: 0 4px 14px rgba(14,79,140,.30) !important;
  transition: all .15s ease !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
html body header nav a.btn-nav:hover,
html body header nav button.btn-nav:hover,
html body .nav-cta:hover,
header .btn-nav:hover {
  background: linear-gradient(135deg, #1976D2 0%, #2B9FFF 100%) !important;
  background-color: #2B9FFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(43,159,255,.40) !important;
  color: #ffffff !important;
}

/* Logo "E" : présent sur TOUTES les pages secondaires (pseudo si pas d'élément réel) */
html body header a.logo,
html body .nav a.logo,
html body nav.nav a.logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}
/* Force le pseudo "E" sur les .logo qui n'ont PAS de logo-mark enfant */
html body header a.logo:not(:has(.logo-mark)):not(:has(.logo-sq)):not(:has(.brand-mark))::before,
html body .nav a.logo:not(:has(.logo-mark)):not(:has(.logo-sq)):not(:has(.brand-mark))::before {
  content: 'E' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  background: linear-gradient(135deg, #0E4F8C, #1976D2) !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  flex-shrink: 0 !important;
  margin-right: 4px !important;
}

/* ════════════════════════════════════════════════════════════
   DVF — bouton RECHERCHER force bleu V3 + CTA bottom force bleu
   ════════════════════════════════════════════════════════════ */
html body #dvfSearchBtn,
html body .dvf-search button#dvfSearchBtn {
  background: linear-gradient(135deg, #0E4F8C 0%, #1976D2 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 22px !important;
  text-transform: uppercase !important;
  letter-spacing: .2px !important;
  font-size: 13.5px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(14,79,140,.30) !important;
  transition: all .15s ease !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
html body #dvfSearchBtn:hover,
html body .dvf-search button#dvfSearchBtn:hover {
  background: linear-gradient(135deg, #1976D2 0%, #2B9FFF 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(43,159,255,.40) !important;
}

/* DVF CTA bottom — force bleu V3 (pas orange) */
html body .dvf-cta-bottom .btn,
html body .dvf-cta-bottom a.btn {
  background: linear-gradient(135deg, #0E4F8C 0%, #1976D2 100%) !important;
  background-color: #1976D2 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 14px 32px !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(43,159,255,.45) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  border: none !important;
  letter-spacing: .3px !important;
  text-transform: uppercase !important;
}
html body .dvf-cta-bottom .btn:hover {
  background: linear-gradient(135deg, #1976D2, #2B9FFF) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 36px rgba(43,159,255,.60) !important;
}

/* ════════════════════════════════════════════════════════════
   DERNIER HERO (CTA bottom) — harmonisé palette HOME pour TOUTES les pages
   .guide-cta : pages /guides/*
   .cta-section : pages arrondissements
   ════════════════════════════════════════════════════════════ */

html body .guide-cta,
html body .cta-section {
  position: relative !important;
  background: linear-gradient(135deg, #0E4F8C 0%, #0A85E8 60%, #1976D2 100%) !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 56px 48px !important;
  text-align: center !important;
  color: #ffffff !important;
  margin: 56px auto !important;
  max-width: 920px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(14,79,140,.28) !important;
}
/* Accent or sur le top (ligne dorée subtile) */
html body .guide-cta::before,
html body .cta-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 24px !important; right: 24px !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, rgba(255,209,102,.70), transparent) !important;
  border-radius: 0 0 3px 3px !important;
}
html body .guide-cta h3,
html body .cta-section h2,
html body .cta-section h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: clamp(26px, 3vw, 34px) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -.5px !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
}
html body .guide-cta h3 em,
html body .cta-section h2 em,
html body .cta-section h3 em {
  font-style: italic !important;
  font-weight: 400 !important;
  color: #FFD166 !important;
}
html body .guide-cta p,
html body .cta-section p {
  font-size: 15px !important;
  color: rgba(255,255,255,.85) !important;
  max-width: 580px !important;
  margin: 0 auto 28px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}
/* Bouton principal (CTA) — blanc sur fond bleu, contraste max */
html body .guide-cta .btn,
html body .guide-cta a.btn,
html body .cta-section .btn,
html body .cta-section a.btn,
html body .cta-section .cta-btns a:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  color: #0E4F8C !important;
  padding: 14px 32px !important;
  border-radius: 11px !important;
  border: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: -.1px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  transition: all .2s ease !important;
}
html body .guide-cta .btn:hover,
html body .guide-cta a.btn:hover,
html body .cta-section .btn:hover,
html body .cta-section a.btn:hover {
  background: #FFD166 !important;
  color: #07142A !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(255,209,102,.40) !important;
}
/* Bouton secondaire éventuel */
html body .cta-section .btn-sec,
html body .cta-section a.btn-sec {
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,.40) !important;
  padding: 13px 26px !important;
  margin-left: 10px !important;
}
html body .cta-section .btn-sec:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: #FFD166 !important;
  color: #FFD166 !important;
}
/* Note bas (couleur claire sur fond bleu) */
html body .guide-cta > div[style*="muted"],
html body .guide-cta > div:last-child {
  color: rgba(255,255,255,.55) !important;
  font-size: 12px !important;
  margin-top: 18px !important;
}

/* Mobile : padding réduit */
@media (max-width: 768px) {
  html body .guide-cta,
  html body .cta-section {
    padding: 40px 24px !important;
    border-radius: 16px !important;
    margin: 40px 16px !important;
  }
}

/* ════════════════════════════════════════════════════════════
   HARMONISATION TOTALE — FORCE LA PALETTE HOME PARTOUT
   Tue les couleurs cream/beige/orange résiduelles V2
   ════════════════════════════════════════════════════════════ */

/* Sections "content-section dark" (V2) → palette bleu marine harmonisée */
html body .content-section.dark,
html body .content-section[class*="dark"] {
  background: linear-gradient(135deg, #0E4F8C 0%, #0A85E8 60%, #1976D2 100%) !important;
  color: #ffffff !important;
}
html body .content-section.dark *,
html body .content-section[class*="dark"] * {
  color: inherit !important;
}
html body .content-section.dark h2,
html body .content-section.dark h3,
html body .content-section[class*="dark"] h2,
html body .content-section[class*="dark"] h3 {
  color: #ffffff !important;
}
html body .content-section.dark strong,
html body .content-section.dark em,
html body .content-section[class*="dark"] strong,
html body .content-section[class*="dark"] em {
  color: #FFD166 !important;
}
html body .content-section.dark a:not(.btn),
html body .content-section[class*="dark"] a:not(.btn) {
  color: #FFD166 !important;
}

/* Boîtes "à savoir / signal" dans les content-section dark : fond translucide */
html body .content-section.dark .highlight-box,
html body .content-section[class*="dark"] .highlight-box {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-left: 3px solid #FFD166 !important;
  color: #ffffff !important;
}

/* Section arr-nav (les chips d'arrondissements en bas de page) → fond clean */
html body .arr-nav-section,
html body section.arr-nav-section,
html body div.arr-nav-section,
html body .arr-nav {
  background: #F4F9FF !important;
  border-top: 1px solid rgba(7,20,42,.07) !important;
  padding: 32px 0 !important;
}
html body .arr-nav-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
html body .arr-nav-link,
html body .arr-nav a {
  background: #ffffff !important;
  border: 1px solid rgba(14,79,140,.15) !important;
  color: #3A5068 !important;
  border-radius: 8px !important;
  padding: 6px 14px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
html body .arr-nav-link:hover,
html body .arr-nav a:hover {
  background: linear-gradient(135deg, #0E4F8C, #0A85E8) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  transform: translateY(-1px) !important;
}
html body .arr-nav-link.active,
html body .arr-nav a.active {
  background: #0E4F8C !important;
  color: #ffffff !important;
  border-color: #0E4F8C !important;
}

/* Quartier cards : neutralise les fonds cream/beige V2 */
html body .quartier-card,
html body .stat-item,
html body .arr-card {
  background: #ffffff !important;
  border: 1px solid rgba(7,20,42,.07) !important;
  border-radius: 14px !important;
}
html body .quartier-name {
  color: #07142A !important;
  font-weight: 700 !important;
}
html body .quartier-price {
  color: #0E4F8C !important;
  font-weight: 800 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
html body .quartier-info {
  color: #7B93AA !important;
}

/* Tag eyebrows : couleur or harmonisée */
html body .tag,
html body .section-eyebrow,
html body span[class*="eyebrow"] {
  color: #F0A500 !important;
  letter-spacing: 2.5px !important;
  font-weight: 700 !important;
}
html body .tag::before,
html body .section-eyebrow::before,
html body span[class*="eyebrow"]::before {
  background: #F0A500 !important;
}

/* CTA section sur arr pages (existait en V2 avec fond bizarre) → unifié */
html body section.cta-section,
html body .cta-section {
  background: #ffffff !important;
}

/* DVF CTA bottom : force tout en bleu marine harmonisé */
html body .dvf-cta-bottom {
  background: linear-gradient(135deg, #0E4F8C 0%, #0A85E8 60%, #1976D2 100%) !important;
}
html body .dvf-cta-bottom h2,
html body .dvf-cta-bottom h3 {
  color: #ffffff !important;
}
html body .dvf-cta-bottom h2 em,
html body .dvf-cta-bottom h3 em {
  color: #FFD166 !important;
}
html body .dvf-cta-bottom p {
  color: rgba(255,255,255,.85) !important;
}
html body .dvf-cta-bottom .dvf-cta-eyebrow {
  color: #FFD166 !important;
}
html body .dvf-cta-bottom .btn,
html body .dvf-cta-bottom a.btn {
  background: #ffffff !important;
  color: #0E4F8C !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}
html body .dvf-cta-bottom .btn:hover,
html body .dvf-cta-bottom a.btn:hover {
  background: #FFD166 !important;
  color: #07142A !important;
}

/* Tous les boutons primaires : gradient bleu marine cohérent */
html body .btn-primary,
html body button.btn-primary,
html body a.btn-primary,
html body .btn:not(.btn-sec):not(.btn-secondary) {
  background: linear-gradient(135deg, #0E4F8C 0%, #0A85E8 100%) !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
html body .btn-primary:hover,
html body button.btn-primary:hover,
html body a.btn-primary:hover {
  background: linear-gradient(135deg, #0A85E8, #2B9FFF) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(14,79,140,.35) !important;
}

/* Élimine TOUTES traces de couleurs V2 (orange/rust/cream) */
html body [style*="#B8623E"],
html body [style*="#C9743F"],
html body [style*="terracotta"] {
  color: #0E4F8C !important;
  background-color: transparent !important;
}

/* Body bg sur pages secondaires : assure le bleu très clair partout */
html body:has(.hero-arr),
html body:has(.guide-hero),
html body:has(.dvf-top) {
  background: #F5F8FC !important;
}

/* Content sections "normales" (pas dark) : white sur palette */
html body .content-section:not(.dark):not([class*="dark"]) {
  background: #ffffff !important;
}
