/* ==========================================================================
   Locagex — en-tête et pied de page V2 (includes/v2-header.php / v2-footer.php)
   Chargé par l'accueil ET par toutes les pages publiques (via public-header.php).
   Tout est cantonné aux classes .v2-* : les jetons sont posés sur les blocs eux-mêmes
   (pas sur :root) pour ne jamais écraser ceux de css/locagex.css (--radius, --max, --nav-h…).
   ========================================================================== */
.v2-nav,.v2-drawer,.v2-footer,.v2-top,.skip-link{
  --navy:#023047;--navy-deep:#021A28;--navy-soft:#0A4D68;
  --gold:#E6B84C;--gold-soft:#F6DD8E;--gold-deep:#c69230;
  --white:#FFFFFF;--sable:#F4EEE2;--muted:#6B7484;--line:#E6E3DC;
  --f-titre:'Bricolage Grotesque','Libre Baskerville',Georgia,serif;
  --f-corps:'Geist','Inter',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.9,.24,1);--max:1240px;--gutter:clamp(16px,4vw,32px);--nav-h:72px;
  font-family:var(--f-corps);-webkit-font-smoothing:antialiased;box-sizing:border-box
}
.v2-nav *,.v2-drawer *,.v2-footer *{box-sizing:border-box}
.v2-nav a,.v2-drawer a,.v2-footer a{color:inherit;text-decoration:none}
.v2-nav ul,.v2-footer ul{list-style:none;margin:0;padding:0}
.v2-nav button,.v2-drawer button,.v2-top{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.v2-nav img,.v2-footer img{display:block;max-width:100%;height:auto}
.v2-footer h3,.v2-footer p{margin:0}
.v2-footer .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.v2-nav :focus-visible,.v2-drawer :focus-visible,.v2-footer :focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
/* Bouton propre au chrome (indépendant des .btn de chaque page) */
.v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:15.5px;line-height:1;white-space:nowrap;background:var(--gold);color:var(--navy-deep) !important;box-shadow:0 10px 30px -10px rgba(198,146,48,.8);transition:transform .25s var(--ease),background .25s}
.v2-btn:hover{background:var(--gold-soft);transform:translateY(-2px)}
/* Pages sans photo en haut : barre bleu nuit pleine dès l'arrivée */
.v2-nav.v2-nav--plein{background:var(--navy)}

.skip-link{position:absolute;left:16px;top:-100px;z-index:200;background:var(--navy);color:var(--gold);padding:12px 20px;border-radius:10px;font-weight:600}
.skip-link:focus{top:12px}
html.v2-lock{overflow:hidden}

/* ==========================================================================
   HEADER V2
   ========================================================================== */
.v2-nav{position:fixed;inset:0 0 auto;z-index:1000;height:var(--nav-h);transition:background .35s,box-shadow .35s,height .35s;color:var(--white);
  background:linear-gradient(180deg,rgba(2,26,40,.62),rgba(2,26,40,.38));backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.v2-nav.is-solid{background:rgba(255,255,255,.92);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);box-shadow:0 1px 0 var(--line);color:var(--navy);--nav-h:64px}
.v2-nav-in{height:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:28px}
.v2-logo img{height:28px;width:auto}
.v2-menu{display:none;align-items:center;gap:4px;margin-left:8px}
.v2-menu > li{position:relative}
.v2-menu > li > a,.v2-menu > li > button{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;font-size:14.5px;font-weight:500;border-radius:8px;opacity:.92;transition:opacity .2s,background .2s}
.v2-menu > li > a:hover,.v2-menu > li > button:hover{opacity:1;background:rgba(127,127,127,.12)}
.v2-menu > li > button svg{width:12px;height:12px;transition:transform .25s}
.v2-drop{position:absolute;top:calc(100% + 6px);left:-8px;min-width:250px;padding:10px;background:var(--white);color:var(--navy);border-radius:14px;box-shadow:0 24px 60px -20px rgba(2,26,40,.45),0 0 0 1px rgba(2,48,71,.06);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.v2-drop::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.v2-menu > li:hover .v2-drop,.v2-menu > li:focus-within .v2-drop{opacity:1;visibility:visible;transform:none}
.v2-menu > li:hover > button svg,.v2-menu > li:focus-within > button svg{transform:rotate(180deg)}
.v2-drop a{display:flex;align-items:flex-start;gap:12px;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:500}
.v2-drop a i{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;background:rgba(2,48,71,.06);color:var(--navy-soft);transition:background .2s,color .2s}
.v2-drop a:hover i{background:var(--navy);color:var(--gold)}
.v2-drop a span{padding-top:5px}
.v2-drop a:hover{background:var(--sable)}
.v2-drop small{display:block;font-size:12.5px;font-weight:400;color:var(--muted);margin-top:2px}
.v2-drop:has(small){min-width:310px}
.v2-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.v2-lang{display:none;align-items:center;gap:6px;margin-right:4px}
.v2-lang a{display:grid;place-items:center;padding:4px;border-radius:7px;opacity:.55;filter:saturate(.6);transition:opacity .2s,filter .2s,box-shadow .2s}
.v2-lang a[aria-current="true"]{opacity:1;filter:none;box-shadow:0 0 0 1.5px var(--gold)}
.v2-lang a:hover{opacity:1;filter:none}
.v2-flag{display:block;width:24px;height:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.v2-login{display:none;padding:10px 12px;font-size:14.5px;font-weight:500}
.v2-nav .v2-btn{min-height:42px;padding:0 18px;font-size:14px}
.v2-burger{width:44px;height:44px;display:grid;place-items:center;border-radius:10px}
.v2-burger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;box-shadow:0 -7px 0 currentColor,0 7px 0 currentColor;transition:transform .3s,box-shadow .3s}
.v2-burger[aria-expanded="true"] span{box-shadow:none;transform:rotate(45deg)}
.v2-burger[aria-expanded="true"] span::after{content:"";display:block;width:22px;height:2px;background:currentColor;transform:rotate(-90deg)}
.v2-nav .v2-cta-nav{display:none}

/* Tiroir mobile */
.v2-drawer{position:fixed;inset:0;z-index:999;background:var(--navy-deep);color:var(--white);padding:calc(var(--nav-h) + 16px) var(--gutter) 32px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s,transform .35s var(--ease),visibility .3s}
.v2-drawer.is-open{opacity:1;visibility:visible;transform:none}
.v2-drawer details{border-bottom:1px solid rgba(255,255,255,.1)}
.v2-drawer summary{list-style:none;cursor:pointer;padding:18px 0;font-family:var(--f-titre);font-size:22px;font-weight:600;display:flex;justify-content:space-between}
.v2-drawer summary::-webkit-details-marker{display:none}
.v2-drawer summary::after{content:"+";color:var(--gold)}
.v2-drawer details[open] summary::after{content:"–"}
.v2-drawer details a{display:flex;align-items:center;gap:12px;padding:9px 0 9px 4px;color:rgba(255,255,255,.8)}
.v2-drawer details a i{width:18px;text-align:center;color:var(--gold);font-size:14px}
.v2-drawer details div{padding-bottom:14px}
.v2-drawer > a{display:block;padding:18px 0;font-family:var(--f-titre);font-size:22px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}
.v2-drawer .v2-btn{width:100%;margin-top:28px}
.v2-drawer-langs{display:flex;gap:18px;margin-top:22px;font-weight:600}
.v2-drawer-langs a{display:inline-flex;align-items:center;gap:10px;opacity:.6}
.v2-drawer-langs a[aria-current="true"]{opacity:1;color:var(--gold)}
.v2-nav.drawer-open{background:transparent;box-shadow:none;color:var(--white);backdrop-filter:none}

@media (min-width:1080px){
  .v2-menu,.v2-lang,.v2-login{display:flex}
  .v2-nav .v2-cta-nav{display:inline-flex}
  .v2-burger,.v2-drawer{display:none}
}
@media (min-width:560px) and (max-width:1079px){ .v2-nav .v2-cta-nav{display:inline-flex} }

/* ==========================================================================
   FOOTER V2
   ========================================================================== */
.v2-footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:clamp(56px,7vw,88px) 0 28px;font-size:14.5px}
.v2-footer a:hover{color:var(--gold)}
.v2-foot-top{display:grid;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
.v2-foot-brand img{height:30px;width:auto}
.v2-foot-brand p{margin-top:16px;max-width:380px;line-height:1.65}
.v2-foot-social{display:flex;gap:10px;margin-top:22px;align-items:center}
.v2-foot-social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);transition:border-color .2s,background .2s}
.v2-foot-social a:hover{border-color:var(--gold);background:rgba(230,184,76,.12)}
.v2-foot-social svg{width:18px;height:18px;fill:currentColor}
.v2-foot-social .v2-apk{width:auto;height:40px;padding:0 14px;border-radius:999px;gap:8px;display:inline-flex;font-size:13px;font-weight:600}
.v2-foot-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 24px}
.v2-foot-cols h3{font-family:var(--f-corps);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.v2-foot-cols a{display:block;padding:5px 0}
.v2-foot-bot{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding-top:24px;font-size:13px;color:rgba(255,255,255,.5)}
.v2-foot-bot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
@media (min-width:900px){
  .v2-foot-top{grid-template-columns:1.1fr 2fr;gap:64px}
  .v2-foot-cols{grid-template-columns:repeat(4,1fr)}
}

/* Retour en haut */
.v2-top{position:fixed;right:18px;bottom:18px;z-index:900;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);box-shadow:0 12px 30px rgba(0,0,0,.28);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s}
.v2-top.show{opacity:1;transform:none;pointer-events:auto}
.v2-top:hover{background:var(--gold);color:var(--navy)}
.v2-top svg{width:20px;height:20px}


/* Modale de confirmation du téléchargement Android (~100 Mo) */
.v2-apk-modal{margin:auto;max-width:420px;width:calc(100% - 32px);border:none;border-radius:16px;padding:28px 24px 22px;color:#023047;font-family:'Geist',system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.v2-apk-modal::backdrop{background:rgba(2,8,23,.7);backdrop-filter:blur(4px)}
.v2-apk-modal h3{font-family:'Bricolage Grotesque',Georgia,serif;font-size:1.25rem;margin:0 0 12px}
.v2-apk-modal p{font-size:.95rem;line-height:1.6;margin:0 0 10px;color:#3d4a5c}
.v2-apk-modal .v2-apk-note{font-size:.85rem;color:#6b7785}
.v2-apk-actions{display:flex;gap:10px;margin-top:18px}
.v2-apk-actions a,.v2-apk-actions button{flex:1;padding:12px 14px;border-radius:10px;font:600 .95rem 'Geist',system-ui,sans-serif;text-align:center;cursor:pointer;text-decoration:none;border:none;background:#eef1f4;color:#023047}
.v2-apk-actions a{background:#023047;color:#fff}
