/* Identité CNS : coordonnées communes, lisibles sur mobile. */
.cns-offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;width:100%;max-width:1100px;margin:1.6rem auto;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);text-align:left}
.cns-office{min-width:0}.cns-office h3{font-size:1rem;margin:0 0 .6rem;color:#ffd32a;text-transform:uppercase;letter-spacing:.03em}.cns-office address{font-style:normal;line-height:1.55}.cns-office p{margin:.7rem 0}.cns-office a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.cns-phones{line-height:1.7}
footer .footer-logo,footer>img{object-fit:contain;max-width:min(100%,360px);height:auto}header .official-logo,header img[src="cns-identite-officielle.png"]{object-fit:contain;max-width:100%;height:auto}
@media(max-width:700px){.cns-offices{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem 0}footer .footer-logo,footer>img{max-width:min(100%,300px)}}

/* Logo transparent de l’en-tête sur photographie et bandeau. */
header img[src="cns-identite-transparente.png"]{background:transparent!important;mix-blend-mode:normal;object-fit:contain}
.site-header .brand,.quote-header .brand{background:transparent!important}

/* Correctif navigation : largeur fixe du logo, y compris sur écran large. */
.site-header .official-logo{width:235px!important;height:72px!important;max-width:235px!important;object-fit:contain!important}
.quote-header .official-logo{width:205px!important;height:68px!important;max-width:205px!important;object-fit:contain!important}
.site-header .brand,.quote-header .brand{flex:0 0 auto;min-width:0}
@media(max-width:1120px) and (min-width:901px){.site-header .official-logo{width:205px!important;max-width:205px!important;height:65px!important}}
@media(max-width:900px){.site-header .official-logo,.quote-header .official-logo{width:168px!important;max-width:168px!important;height:58px!important}}

/* Pied de page compact CNS. Les coordonnées occupent une colonne large. */
footer:has(.cns-offices){display:grid!important;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(400px,1.65fr)!important;grid-template-rows:auto auto auto auto;align-items:start!important;gap:14px 28px!important;padding:28px clamp(24px,4vw,70px) 18px!important;min-height:0!important}
footer:has(.cns-offices)>img{grid-column:1;grid-row:1;width:min(100%,260px)!important;height:auto!important;max-width:260px!important;filter:brightness(0) invert(1);background:transparent!important;box-shadow:none!important}
footer:has(.cns-offices)>.cns-tagline{grid-column:1;grid-row:2;margin:0!important;line-height:1.45}
footer:has(.cns-offices)>.footer-thanks{grid-column:2;grid-row:1 / 3;align-self:center}
footer:has(.cns-offices)>.cns-offices{grid-column:3;grid-row:1 / 4;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:22px;margin:0!important;padding:0!important;border:0!important;max-width:none!important;width:100%}
footer:has(.cns-offices) .cns-office{min-width:0;font-size:12px;line-height:1.4}
footer:has(.cns-offices) .cns-office h3{font-size:13px;line-height:1.3;margin:0 0 8px}
footer:has(.cns-offices) .cns-office p{margin:7px 0!important;line-height:1.45}
footer:has(.cns-offices)>.social-links{grid-column:1;grid-row:3;margin:0!important;align-self:end}
footer:has(.cns-offices)>.visitor-stat{grid-column:2;grid-row:3;align-self:end;margin:0!important}
footer:has(.cns-offices)>.footer-copyright{grid-column:1/-1;grid-row:4;margin:0!important;padding:12px 0 0!important;border-top:1px solid #ffffff26;text-align:center}
@media(max-width:1150px){footer:has(.cns-offices){grid-template-columns:minmax(180px,1fr) minmax(0,2fr)!important}footer:has(.cns-offices)>.footer-thanks{grid-column:2;grid-row:1 / 3}footer:has(.cns-offices)>.cns-offices{grid-column:1/-1;grid-row:3}footer:has(.cns-offices)>.social-links{grid-column:1;grid-row:4}footer:has(.cns-offices)>.visitor-stat{grid-column:2;grid-row:4}footer:has(.cns-offices)>.footer-copyright{grid-row:5}}
@media(max-width:650px){footer:has(.cns-offices){grid-template-columns:1fr!important;gap:15px!important;padding:25px 22px!important}footer:has(.cns-offices)>img,footer:has(.cns-offices)>.cns-tagline,footer:has(.cns-offices)>.footer-thanks,footer:has(.cns-offices)>.cns-offices,footer:has(.cns-offices)>.social-links,footer:has(.cns-offices)>.visitor-stat,footer:has(.cns-offices)>.footer-copyright{grid-column:1;grid-row:auto}footer:has(.cns-offices)>.cns-offices{grid-template-columns:1fr;gap:17px;border-top:1px solid #ffffff26!important;padding-top:15px!important}footer:has(.cns-offices)>.footer-thanks{align-self:start}}

/* Pied de page : emblème CNS coloré et nom en texte net, sans filtre blanc. */
footer:has(.cns-offices)>.cns-footer-brand{grid-column:1;grid-row:1;display:flex;align-items:center;gap:9px;min-width:0;color:#fff}
footer:has(.cns-offices) .cns-footer-icon{display:block;flex:none;width:66px;height:66px;overflow:hidden}
footer:has(.cns-offices) .cns-footer-icon img{display:block;width:198px!important;min-width:198px!important;max-width:none!important;height:66px!important;object-fit:fill;filter:none!important;background:transparent!important;box-shadow:none!important}
footer:has(.cns-offices) .cns-footer-brand strong{font:800 17px/1.12 Arial,sans-serif;letter-spacing:.02em;white-space:nowrap;color:#fff}
/* Le titre d'introduction commence après le bandeau de navigation. */
.site-header + .hero .hero-copy,.hero .hero-copy{padding-top:175px!important}
@media(max-width:900px){.hero .hero-copy{padding-top:155px!important}}
@media(max-width:650px){footer:has(.cns-offices)>.cns-footer-brand{grid-column:1;grid-row:auto}}

/* Emblème original CNS : fichier transparent autonome, sans découpe. */
footer:has(.cns-offices) .cns-footer-icon{width:70px;height:76px;overflow:visible;border-radius:0}
footer:has(.cns-offices) .cns-footer-icon img{width:70px!important;min-width:70px!important;max-width:70px!important;height:76px!important;object-fit:contain!important;object-position:center;transform:none!important}

/* Pied de page : le même logo horizontal complet que dans l'en-tête. */
footer:has(.cns-offices)>.cns-footer-full-logo{grid-column:1;grid-row:1;display:block!important;width:min(100%,335px)!important;max-width:335px!important;height:auto!important;object-fit:contain!important;filter:none!important;background:radial-gradient(ellipse at 50% 50%,rgba(246,251,255,.94) 0%,rgba(246,251,255,.78) 54%,rgba(246,251,255,0) 82%)!important;box-shadow:none!important;border:0!important;padding:6px 10px!important}
@media(max-width:650px){footer:has(.cns-offices)>.cns-footer-full-logo{grid-column:1;grid-row:auto;max-width:min(100%,300px)!important}}
