/* ============================================================
   IMMERSIF — CHROME PARTAGÉ (header + footer), chargé sur TOUT le site.
   Ne style QUE le header (.bar) et le footer (.ftr) — le contenu interne
   des autres pages (Elementor/Kadence) n'est pas touché.
   ============================================================ */
:root{
  --navy:#0A1828; --navy-2:#0F2236; --ink:#11212F; --soft:#5E6E7B; --muted:#8E9CA8;
  --paper:#FBFAF7; --on-dark:#F4F1EA; --blue:#0F7AC0; --amber:#E08A3C; --amber-deep:#C6722A;
  --r-pill:999px; --f-imm:"Montserrat",system-ui,sans-serif; --imm-container:1320px; --imm-gut:clamp(20px,5vw,64px);
}

/* conteneur interne du header/footer */
.bar .wrap, .ftr .wrap{ width:100%; max-width:var(--imm-container); margin:0 auto; padding-inline:var(--imm-gut); }
/* Header : barre un peu plus large + gouttière réduite pour loger 5 entrées + le CTA sans chevauchement. */
.bar .wrap{ max-width:1400px; padding-inline:clamp(16px,3vw,40px); }

/* boutons (header + footer) */
.bar .btn, .ftr .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--f-imm); font-weight:700; font-size:14px; text-decoration:none; padding:11px 18px; border-radius:var(--r-pill); border:2px solid transparent; cursor:pointer; white-space:nowrap; transition:background .18s,color .18s,border-color .18s,transform .12s,box-shadow .18s; }
.bar .btn svg, .ftr .btn svg{ width:18px; height:18px; }
.bar .btn--amber, .ftr .btn--amber{ background:var(--amber); color:#fff; border-color:var(--amber); }
.bar .btn--amber:hover, .ftr .btn--amber:hover{ background:var(--amber-deep); border-color:var(--amber-deep); transform:translateY(-2px); box-shadow:0 16px 36px -12px rgba(224,138,60,.6); }

/* ---------- HEADER .bar ---------- */
.bar{ position:fixed; top:0; left:0; right:0; z-index:60; transition:background .3s,box-shadow .3s,border-color .3s; border-bottom:1px solid transparent; font-family:var(--f-imm); }
.bar::before{ content:""; position:absolute; inset:0; bottom:auto; height:140px; background:linear-gradient(180deg,rgba(10,24,40,.78) 0%,rgba(10,24,40,.42) 45%,rgba(10,24,40,0) 100%); pointer-events:none; z-index:-1; transition:opacity .3s; }
.bar.is-scrolled::before{ opacity:0; }
.bar.is-scrolled{ background:color-mix(in srgb,var(--navy) 90%,transparent); backdrop-filter:blur(14px) saturate(150%); border-color:rgba(255,255,255,.1); }
.bar__main{ position:relative; display:flex; align-items:center; gap:clamp(10px,1.1vw,18px); height:76px; }
.bar .brand{ flex:0 0 auto; display:flex; align-items:center; position:relative; z-index:2; }
.bar .brand img{ height:36px; width:auto; display:block; }
.bar .nav{ display:flex; align-items:center; flex:0 1 auto; min-width:0; }
.bar .nav__list{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:clamp(4px,.55vw,10px); }
.bar .nav__list > li{ position:relative; }
.bar .nav__list a{ font-weight:600; font-size:12.5px; color:rgba(255,255,255,.85); text-decoration:none; display:inline-flex; align-items:center; gap:4px; padding:8px 2px; white-space:nowrap; position:relative; transition:color .15s; }
.bar .nav__list a:hover{ color:#fff; }
/* soulignement ambre (niveau 1 uniquement) */
.bar .nav__list > li > a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.bar .nav__list > li:hover > a::after, .bar .nav__list > li:focus-within > a::after{ transform:scaleX(1); }
/* chevron CSS sur les items à sous-menu */
.bar .nav__list .menu-item-has-children > a{ padding-right:15px; }
.bar .nav__list .menu-item-has-children > a::before{ content:""; position:absolute; right:1px; top:calc(50% - 4px); width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); opacity:.55; }
/* pont de survol invisible (évite le flicker item → dropdown) */
.bar .nav__list > li.menu-item-has-children::after{ content:""; position:absolute; left:0; right:0; top:100%; height:14px; }
/* DROPDOWN (sous-menu) */
.bar .nav__list .sub-menu{ list-style:none; margin:0; padding:8px; position:absolute; top:calc(100% + 12px); left:-8px; min-width:248px; background:var(--navy-2); border:1px solid rgba(255,255,255,.1); border-radius:14px; box-shadow:0 26px 50px -18px rgba(0,0,0,.55); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .18s, transform .18s, visibility .18s; z-index:70; }
.bar .nav__list > li:hover > .sub-menu, .bar .nav__list > li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.bar .nav__list .sub-menu li{ position:static; }
.bar .nav__list .sub-menu a{ display:block; padding:9px 12px; border-radius:9px; font-size:13.5px; font-weight:500; color:rgba(255,255,255,.82); white-space:normal; line-height:1.35; }
.bar .nav__list .sub-menu a::after, .bar .nav__list .sub-menu a::before{ display:none; }
.bar .nav__list .sub-menu a:hover{ background:rgba(255,255,255,.08); color:#fff; }
/* dernier item : dropdown aligné à droite pour éviter le débordement */
.bar .nav__list > li:last-child .sub-menu{ left:auto; right:-8px; }
.bar__act{ margin-left:auto; display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.bar .iconbtn{ width:40px; height:40px; flex:0 0 40px; box-sizing:border-box; padding:0 !important; margin:0; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); border-radius:12px; display:grid; place-items:center; color:#fff; cursor:pointer; transition:background .15s,border-color .15s; }
.bar .iconbtn:hover{ background:rgba(255,255,255,.16); border-color:#fff; }
.bar .iconbtn svg{ width:19px; height:19px; display:block; }
/* Focus harmonisé sur les interactifs du header (identique home + pages internes ;
   surclasse la règle générique de immersif-inner.css sur les pages internes). */
.bar a:focus-visible, .bar button:focus-visible{ outline:2px solid var(--amber) !important; outline-offset:2px !important; }
.bar .burger{ display:none; }
.bar .mnav{ display:none; }

/* PAGES INTERNES : header solide (pas de hero derrière) + on décale le contenu sous le header fixe */
body.imm-inner .bar{ background:var(--navy); border-color:rgba(255,255,255,.1); }
body.imm-inner .bar::before{ display:none; }
body.imm-inner{ padding-top:76px; }

/* ---------- FOOTER .ftr ---------- */
.ftr{ background:var(--navy); color:#9DAFBC; padding:clamp(48px,6vw,76px) 0 28px; font-family:var(--f-imm); }
.ftr__g{ display:grid; grid-template-columns:1.5fr 1.3fr 1fr 1fr; gap:clamp(28px,4vw,48px); }
.ftr h4{ color:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin:0 0 18px; }
.ftr a{ display:block; color:#9DAFBC; text-decoration:none; font-size:14px; margin-bottom:11px; transition:color .15s; }
.ftr a:hover{ color:#fff; }
.ftr p{ font-size:14px; line-height:1.6; margin:0 0 18px; }
.ftr__news{ display:flex; gap:10px; flex-wrap:wrap; }
.ftr__news input{ flex:1; min-width:160px; height:48px; border-radius:var(--r-pill); border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#fff; padding:0 18px; font-family:var(--f-imm); font-size:14px; }
.ftr__news input::placeholder{ color:#7c8e9b; }
.ftr__news input:focus{ outline:none; border-color:var(--amber); }
/* Newsletter = formulaire CF7 #11199 (plugin Rivalis Brevo) — mise au format Immersif. */
.ftr__news .wpcf7{ width:100%; }
.ftr__news .wpcf7-form p{ margin:0 0 12px; }
.ftr .ftr__news .rivlais-cf7-newsletter-input{ width:100%; height:48px; box-sizing:border-box; border-radius:var(--r-pill) !important; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#fff; padding:0 18px; font-family:var(--f-imm); font-size:14px; }
.ftr .ftr__news .rivlais-cf7-newsletter-input::placeholder{ color:#7c8e9b; }
.ftr .ftr__news .rivlais-cf7-newsletter-input:focus{ outline:none; border-color:var(--amber); }
.ftr .ftr__news .rivlais-cf7-newsletter-text{ font-size:11.5px; line-height:1.55; color:#7c8e9b; margin:0 0 12px; }
.ftr .ftr__news .rivlais-cf7-newsletter-text .popmake-26304{ color:#9DAFBC; text-decoration:underline; cursor:pointer; }
.ftr .ftr__news .rivlais-cf7-newsletter-submit{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-imm); font-weight:700; font-size:14px; color:#fff !important; background:var(--amber); border:2px solid var(--amber); border-radius:var(--r-pill); padding:12px 22px; cursor:pointer; -webkit-appearance:none; appearance:none; transition:background .18s,border-color .18s,transform .12s; }
.ftr .ftr__news .rivlais-cf7-newsletter-submit:hover{ background:var(--amber-deep); border-color:var(--amber-deep); transform:translateY(-2px); }
.ftr__news .wpcf7-spinner{ margin-left:8px; }
.ftr__news .wpcf7-response-output{ margin:10px 0 0 !important; padding:9px 13px !important; border-radius:10px; border:1px solid rgba(255,255,255,.25) !important; font-size:13px; color:#fff; }
.ftr__soc{ display:flex; gap:12px; margin-top:22px; }
.ftr__soc a{ width:40px; height:40px; margin:0; border-radius:50%; background:rgba(255,255,255,.08); display:grid; place-items:center; color:#fff; transition:background .15s; }
.ftr__soc a:hover{ background:var(--amber); }
.ftr__soc svg{ width:18px; height:18px; }
.ftr__legal{ border-top:1px solid rgba(255,255,255,.12); margin-top:clamp(32px,4vw,48px); padding-top:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12.5px; color:#7c8e9b; }

/* ---------- responsive header/footer ---------- */
@media(max-width:1180px){ .bar__act .btn--amber{ display:none; } }
@media(max-width:1400px){
  .bar .nav{ display:none; }
  .bar .burger{ display:grid; }
  .bar:not(.imm-home-top){ background:var(--navy); }
  .bar.is-open .mnav{ display:block; padding:8px var(--imm-gut) 22px; background:var(--navy); border-top:1px solid rgba(255,255,255,.1); max-height:calc(100vh - 76px); overflow-y:auto; }
  .bar .mnav__list{ list-style:none; margin:0; padding:0; }
  .bar .mnav__list a{ display:block; font-weight:600; font-size:15px; color:rgba(255,255,255,.85); text-decoration:none; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .bar .mnav__list .sub-menu{ list-style:none; margin:0 0 6px 14px; padding:0; }
  .bar .mnav__list .sub-menu a{ font-weight:500; font-size:14px; color:rgba(255,255,255,.7); padding:10px 0; }
  .bar .mnav .btn--amber{ display:inline-flex; margin-top:14px; }
}
@media(max-width:900px){ .ftr__g{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .ftr__g{ grid-template-columns:1fr; } }
