/* ============================================================
   BLG Immobilier — identité bleue (27/10/2026, demande de Dan :
   « Remets du bleu, on perd toute l'identité de BLG Immobilier »).
   Chargée en dernier (include/header.php). Repart des couleurs de l'ancien
   site (#0B1F3A / #1A3463 / #2D5A9E) et du logo (marine #003049 + orange).
   - bleu de marque #1A4F8B : titres, boutons, liens (8,28:1 sur blanc) ;
   - bandeaux d'en-tête en dégradé bleu, texte blanc (≥ 7:1 partout) ;
   - fonds de section bleu clair au lieu de gris ;
   - l'orange reste l'accent (CTA lead, prix, repères).
   Dans un bandeau, les tokens --ds-* sont redéfinis localement : les composants
   existants basculent seuls en version claire sur fond bleu.
   ============================================================ */

:root {
  --ds-primary: #1A4F8B;
  --ds-primary-hover: #133E6F;
  --ds-link: #1A4F8B;
  --ds-focus: #1A4F8B;
  --ds-text: #0F2A44;
  --ds-surface-alt: #EEF4FB;
  --ds-surface-sunken: #DCE8F5;
  --ds-border: #D3DEEA;
  --bleu-nuit: #0B1F3A;
  --bleu-grad: linear-gradient(135deg, #0B1F3A 0%, #1A3463 55%, #1F4A86 100%);
}

/* ---------- Bandeaux bleus ---------- */
.acc-hero, .ins-hero, .page-header.simu-header,
.bl-head, .ba-head, .rch-head, .ann-head,
.cat-head, .vil-head {
  --ds-text: #FFFFFF;
  --ds-text-muted: #DCE8F5;          /* ≥ 7,1:1 sur tout le dégradé */
  --ds-primary: #FFFFFF;
  --ds-primary-hover: #DCE8F5;
  --ds-on-primary: #1A3463;           /* bouton blanc, texte bleu : 12,2:1 */
  --ds-link: #FFFFFF;
  --ds-focus: #FFB366;
  --ds-surface: rgba(255,255,255,.08);
  --ds-surface-alt: rgba(255,255,255,.14);
  --ds-surface-sunken: rgba(255,255,255,.22);
  --ds-border: rgba(255,255,255,.28);
  --ds-border-strong: rgba(255,255,255,.7);
  background: var(--bleu-grad);
  color: #FFFFFF;
  border-bottom: 0;
}
/* bandeaux pleine largeur posés dans un conteneur : le fond déborde jusqu'aux bords */
.bl-head, .rch-head, .ann-head {
  border-image: var(--bleu-grad) fill 0 / / 0 100vw;
  padding-top: var(--ds-sp-6); padding-bottom: var(--ds-sp-6);
  margin-bottom: var(--ds-sp-5);
}
/* en-têtes de fiche (programme, lot, ville, article) : panneau bleu arrondi */
.cat-head, .vil-head, .ba-head {
  padding: var(--ds-sp-5);
  border-radius: var(--ds-radius-lg, 16px);
  box-shadow: 0 10px 30px rgba(11,31,58,.18);
}
@media (min-width: 900px) { .cat-head, .vil-head, .ba-head { padding: var(--ds-sp-6); } }
.ins-hero { padding-top: var(--ds-sp-4); }
.page-header.simu-header { background: var(--bleu-grad) !important; border-bottom: 0 !important; }

/* textes dans les bandeaux */
:is(.acc-hero, .ins-hero, .simu-header, .bl-head, .ba-head, .rch-head, .ann-head, .cat-head, .vil-head) :is(h1, h2, .acc-h1, .ins-h1, .cat-h1, .bl-h1, .ba-h1, .rch-h1, .ann-h1) { color: #FFFFFF; }
.acc-h1 span, .cat-price b, .vil-lead b, .acc-hero .acc-keyfacts b { color: #FFB366; }  /* ≥ 4,99:1 */
:is(.acc-hero, .ins-hero, .simu-header, .bl-head, .ba-head, .rch-head, .ann-head, .cat-head, .vil-head) a:not(.ds-btn) { color: #FFFFFF; text-decoration: underline; text-underline-offset: 2px; }
:is(.acc-hero, .ins-hero, .simu-header, .bl-head, .ba-head, .rch-head, .ann-head, .cat-head, .vil-head) .ds-breadcrumb :is(a, li, li::before) { color: #DCE8F5; }
:is(.acc-hero, .ins-hero, .simu-header, .bl-head, .ba-head, .rch-head, .ann-head, .cat-head, .vil-head) :is(.acc-eyebrow, .ins-eyebrow, .bl-eyebrow, .cat-eyebrow) { color: #FFB366; }
:is(.acc-hero, .ins-hero, .simu-header, .bl-head, .ba-head, .rch-head, .ann-head, .cat-head, .vil-head) .ds-badge:not(.ds-badge--accent):not(.ds-badge--ok):not(.ds-badge--soft) {
  background: rgba(255,255,255,.14); color: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);
}
.acc-proof li::before { color: #7EE2A8; }  /* coche verte lisible sur bleu */
.ds-btn--outline:is(.acc-hero *, .ins-hero *, .bl-head *, .rch-head *, .ann-head *, .cat-head *, .vil-head *) { background: transparent; }

/* blocs restés clairs à l'intérieur d'un bandeau : tokens par défaut */
.acc-search, .acc-hero__form, .simu-enbref, .ann-search, .rch-fold, .rch-head .ds-input, .ds-panel:not(.ds-panel--navy) {
  --ds-text: #0F2A44;
  --ds-text-muted: #4F6170;
  --ds-primary: #1A4F8B;
  --ds-primary-hover: #133E6F;
  --ds-on-primary: #FFFFFF;
  --ds-link: #1A4F8B;
  --ds-focus: #1A4F8B;
  --ds-surface: #FFFFFF;
  --ds-surface-alt: #EEF4FB;
  --ds-surface-sunken: #DCE8F5;
  --ds-border: #D3DEEA;
  --ds-border-strong: #6F8293;
  color: var(--ds-text);
}
.acc-search { background: #FFFFFF; box-shadow: 0 12px 32px rgba(11,31,58,.28); }
.simu-enbref a { color: #1A4F8B; }
.acc-hero .acc-keyfacts li { background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
/* formulaire du hero : panneau bleu nuit détaché du dégradé */
.acc-hero__form .ds-panel--navy, .acc-lead-card { background: var(--bleu-nuit); box-shadow: 0 16px 40px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.14); }

/* ---------- Sections bleues et panneaux ---------- */
.ds-panel--navy, .ds-result-band { background: var(--bleu-grad); }
.acc-sec--alt { background: var(--ds-surface-alt); }
.acc-sec .acc-need.acc-need--navy { background: var(--bleu-grad); }

/* ---------- Titres de section en bleu de marque ---------- */
:is(.acc-h2, .ins-h2, .section-title, .bl-h2, .cat-h2, .vil-h2) { color: #1A4F8B; }

/* ---------- En-tête du site : liseré et bouton bleus ---------- */
.site-header { border-top: 3px solid #1A4F8B; }
.site-header .ds-btn--primary, .sh-cta { background: #1A4F8B; border-color: #1A4F8B; color: #FFFFFF; }

/* ---------- Pied de page bleu nuit ---------- */
.site-footer {
  --ds-text: #FFFFFF;
  --ds-text-muted: #C9D6E0;
  --ds-primary: #FFFFFF;
  --ds-link: #FFFFFF;
  --ds-border: rgba(255,255,255,.18);
  --ds-surface-alt: rgba(255,255,255,.08);
  background: var(--bleu-nuit);
  color: #C9D6E0;
  border-top: 4px solid #F58000;
}
.site-footer a:not(.ds-btn) { color: #FFFFFF; }
.site-footer :is(h2, h3, .sf-title) { color: #FFFFFF; }
.site-footer .ds-btn--primary { --ds-on-primary: #0B1F3A; }
.site-footer .sf-logo { display: inline-block; padding: 8px 12px; border-radius: 10px; background: #FFFFFF; }  /* logo marine/orange lisible sur bleu nuit */
.simu-header .simu-enbref h2 { color: #A34D00; }  /* encadré clair « En bref » dans le bandeau */
.site-footer .sf-social a { background: rgba(255,255,255,.1); color: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.site-footer .sf-cities li a { background: rgba(255,255,255,.1); color: #FFFFFF; }
.site-footer .sf-cities li a.sf-all { background: #F58000; color: #0B1F3A; }
.site-footer .sf-contact svg { color: #FFB366; }
.site-footer .ds-btn--outline { background: transparent; color: #FFFFFF; border-color: rgba(255,255,255,.7); }
.ins-dark { background: var(--bleu-nuit) !important; }  /* sections sombres institutionnelles : texte blanc translucide ≥ 4,5:1 */
