/* Coquille commune Nexily : menu et pied de page identiques sur toutes les pages (06, 24/10/2026).
   Balises posées par BASCULE-2410/outils/coquille.py. Couleurs écrites en dur : certaines
   familles de pages n'ont pas les mêmes variables CSS. Sélecteurs .nx-nav / .nx-foot
   plus précis que les anciens styles de page, pour un rendu identique partout. */

/* ── Menu ── */
nav.site-nav.nx-nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:18px 56px;background:transparent;border:0;transition:padding .3s cubic-bezier(.19,1,.22,1),background .3s,box-shadow .3s}
nav.site-nav.nx-nav.scrolled{padding:11px 56px;background:rgba(4,4,10,.94);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
  box-shadow:0 1px 0 rgba(224,169,81,.08),0 16px 56px rgba(0,0,0,.45)}
.nx-nav .nav-logo{justify-self:start;display:inline-flex;align-items:center;transition:opacity .3s,transform .3s}
.nx-nav .nav-logo img{height:44px;width:auto;filter:drop-shadow(0 0 12px rgba(255,140,56,.28))}
/* Accueil : le grand phénix du héros suffit ; le petit n'apparaît qu'au défilement */
.nx-nav.nav-home:not(.scrolled) .nav-logo{opacity:0;transform:translateY(-6px);pointer-events:none}
.nx-nav .nav-links{justify-self:center;display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.nx-nav .nav-links>li>a{color:#8F8A83;font-size:14px;font-weight:500;letter-spacing:.01em;text-decoration:none;padding:6px 0;transition:color .2s}
.nx-nav .nav-links>li>a:hover,.nx-nav .nav-links>li>a[aria-current="page"]{color:#F0EDE7}
.nx-nav .nav-links>li>a[aria-current="page"]{box-shadow:inset 0 -2px 0 #FF6B00}
.nx-nav .nav-actions,.nx-nav>.nav-cta{justify-self:end}
.nx-nav .nav-cta{display:inline-flex !important;align-items:center;gap:9px;padding:10px 22px;border-radius:99px;text-decoration:none;white-space:nowrap;
  background:linear-gradient(135deg,#FF6B00,#FF8C38);color:#fff;font-weight:700;font-size:13.5px;box-shadow:0 0 28px rgba(255,107,0,.35);
  transition:transform .25s,box-shadow .25s}
.nx-nav .nav-cta:hover{transform:translateY(-1px);box-shadow:0 0 44px rgba(255,107,0,.5)}
.nx-nav .nav-burger{display:none;width:44px;height:44px;flex:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;
  cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.nx-nav .nav-burger span{display:block;width:17px;height:2px;border-radius:2px;background:#F0EDE7;transition:transform .3s cubic-bezier(.19,1,.22,1),opacity .2s}
body.nav-open .nx-nav .nav-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .nx-nav .nav-burger span:nth-child(2){opacity:0}
body.nav-open .nx-nav .nav-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nx-nav a:focus-visible,.nx-nav button:focus-visible,.nx-foot a:focus-visible{outline:2px solid #FF8C38;outline-offset:3px;border-radius:6px}

@media(max-width:1100px){nav.site-nav.nx-nav,nav.site-nav.nx-nav.scrolled{padding-left:28px;padding-right:28px}.nx-nav .nav-links{gap:22px}}
@media(max-width:900px){
  nav.site-nav.nx-nav,nav.site-nav.nx-nav.scrolled{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;
    background:rgba(4,4,10,.95);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}
  .nx-nav .nav-logo img{height:38px}
  .nx-nav .nav-actions{order:2;margin-left:auto}
  .nx-nav .nav-cta{order:2;padding:11px 16px;font-size:13px;min-height:44px}
  .nx-nav .nav-burger{display:inline-flex;order:3}
  .nx-nav .nav-links{position:fixed;left:0;right:0;top:0;z-index:-1;flex-direction:column;align-items:stretch;gap:0;padding:72px 16px 16px;
    background:#04040a;border-bottom:1px solid rgba(224,169,81,.2);box-shadow:0 24px 60px rgba(0,0,0,.6);transform:translateY(-102%);
    transition:transform .3s cubic-bezier(.19,1,.22,1);max-height:100dvh;overflow-y:auto}
  body.nav-open .nx-nav .nav-links{transform:translateY(0)}
  .nx-nav .nav-links>li{border-bottom:1px solid rgba(255,255,255,.06)}
  .nx-nav .nav-links>li:last-child{border-bottom:0}
  .nx-nav .nav-links>li>a{display:block;padding:14px 4px;font-size:17px;font-weight:600;color:#F0EDE7}
  .nx-nav .nav-links>li>a[aria-current="page"]{box-shadow:none;color:#FF8C38}
  body.nav-open{overflow:hidden}
}
@media(max-width:400px){.nx-nav .nav-cta{padding:11px 13px;font-size:12.5px}}

/* ── Pied de page ── */
footer.site-footer.nx-foot{border-top:1px solid rgba(255,255,255,.06);padding:56px 56px 32px;margin-top:80px;
  background:linear-gradient(180deg,rgba(6,6,10,0) 0%,#030308 100%);font-family:'DM Sans',sans-serif}
.nx-foot .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;max-width:1240px;margin:0 auto;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.06)}
.nx-foot .f-brand img{height:34px;width:auto;margin-bottom:14px;filter:drop-shadow(0 0 8px rgba(255,140,56,.2))}
.nx-foot .f-brand p{font-size:13.5px;color:#8F8A83;line-height:1.65;max-width:260px;margin:0}
.nx-foot .f-brand .f-sign{font-size:15px;font-weight:600;color:#F0EDE7;line-height:1.4;margin:0 0 8px}
.nx-foot .f-col-title{font-family:'Syne',sans-serif;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}
.nx-foot .f-col a{display:block;font-size:14px;color:#8F8A83;text-decoration:none;padding:5px 0;transition:color .2s}
.nx-foot .f-col a:hover{color:#FFB36B}
.nx-foot .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;max-width:1240px;margin:24px auto 0}
.nx-foot .f-copy{font-size:12.5px;color:rgba(255,255,255,.35);margin:0}
.nx-foot .f-legal{display:flex;flex-wrap:wrap;gap:4px 20px;position:static;background:none;padding:0;box-shadow:none}
.nx-foot .f-legal a{font-size:12.5px;color:rgba(255,255,255,.4);text-decoration:none;padding:6px 0;transition:color .2s}
.nx-foot .f-legal a:hover{color:#C9C4BC}
@media(max-width:900px){
  footer.site-footer.nx-foot{padding:40px 20px 28px;margin-top:60px}
  .nx-foot .footer-top{grid-template-columns:1fr 1fr;gap:28px}
  .nx-foot .f-brand{grid-column:1/-1}
  .nx-foot .footer-bottom{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .nx-foot .f-col a{padding:9px 0;font-size:15px}
  .nx-foot .f-legal{gap:0 18px}
  .nx-foot .f-legal a{padding:11px 0;font-size:13.5px}
}

/* Halos décoratifs (pseudo-éléments décalés vers l'extérieur) : ils ne doivent jamais élargir la page
   sur mobile. « clip » ne crée pas de zone de défilement : les éléments collants continuent de marcher. */
main,body>section,.hero{overflow-x:clip}
