/* AlloLib - composant commun (01/11/2026) : boutons, en-tete, menu mobile, pied de page.
   Genere depuis accueil-v6.css (reference validee). */
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/polices/figtree-400.woff2) format("woff2")}
:root{--k-nuit:#07121F;--k-encre:#0B1A2E;--k-texte:#2A3846;--k-doux:#55657A;--k-ligne:#E3E9F0;--k-fond:#fff;--k-action:#0B7A6B;--k-action-hover:#08655A;--k-menthe:#5EDCC8;--k-gout:clamp(16px,4vw,32px);--k-ease:cubic-bezier(.2,.7,.2,1);--k-haut-entete:68px}
:root:root:root:root:root .pied :focus-visible{outline-color:var(--k-menthe)}
:root:root:root:root:root .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;border:1.5px solid transparent;font:650 1rem/1 Figtree,system-ui,sans-serif;white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform .2s var(--k-ease),box-shadow .2s var(--k-ease),background-color .2s,border-color .2s}
:root:root:root:root:root .btn--action{background:var(--k-action);color:#fff}
:root:root:root:root:root .btn--action::after{content:"\2192";display:inline-block;transition:transform .2s var(--k-ease)}
:root:root:root:root:root .btn--action:hover{background:var(--k-action-hover);transform:translateY(-1px);box-shadow:0 8px 20px rgba(11,122,107,.32)}
:root:root:root:root:root .btn--action:hover::after{transform:translateX(3px)}
:root:root:root:root:root .btn--sobre{background:transparent;color:var(--k-encre);border-color:var(--k-ligne)}
:root:root:root:root:root .btn--sobre:hover{border-color:var(--k-doux);transform:translateY(-1px)}
:root:root:root:root:root .btn:active{transform:scale(.98)}
:root:root:root:root:root .btn--plein{width:100%}
:root:root:root:root:root .entete{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--k-haut-entete);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--k-ligne);transition:background-color .3s,border-color .3s}
:root:root:root:root:root .entete__rang{display:flex;align-items:center;gap:8px;height:100%}
:root:root:root:root:root .logo{display:inline-flex;align-items:center;flex:none;margin-right:auto}
:root:root:root:root:root .logo img{display:block;height:26px;width:auto}
:root:root:root:root:root .logo .l-clair{display:none}
:root:root:root:root:root .nav{display:none}
:root:root:root:root:root .entete__rappel{display:none}
:root:root:root:root:root .entete .btn{min-height:44px;padding:0 16px;font-size:.9375rem}
:root:root:root:root:root .entete .btn--action::after{display:none}
:root:root:root:root:root .entete .hm{display:none}
:root:root:root:root:root .burger{display:inline-grid;place-items:center;width:44px;height:44px;margin-right:-10px;border:0;background:transparent;cursor:pointer;border-radius:12px}
:root:root:root:root:root .burger span,:root:root:root:root:root .burger span::before,:root:root:root:root:root .burger span::after{display:block;width:22px;height:2px;border-radius:2px;background:var(--k-encre);transition:transform .25s var(--k-ease),background-color .2s,opacity .2s}
:root:root:root:root:root .burger span{position:relative}
:root:root:root:root:root .burger span::before,:root:root:root:root:root .burger span::after{content:"";position:absolute;left:0}
:root:root:root:root:root .burger span::before{top:-7px}
:root:root:root:root:root .burger span::after{top:7px}
:root:root:root:root:root .burger[aria-expanded="true"] span{background:transparent}
:root:root:root:root:root .burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
:root:root:root:root:root .burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
:root:root:root:root:root .tiroir{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;gap:2px;padding:calc(var(--k-haut-entete) + 16px) var(--k-gout) 32px;background:var(--k-nuit);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s var(--k-ease),transform .25s var(--k-ease),visibility 0s .25s}
:root:root:root:root:root .tiroir.ouvert{visibility:visible;opacity:1;transform:none;transition-delay:0s}
:root:root:root:root:root .tiroir a:not(.btn){display:flex;align-items:center;min-height:56px;font-size:1.375rem;font-weight:650;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}
:root:root:root:root:root .tiroir a:not(.btn):hover{color:var(--k-menthe)}
:root:root:root:root:root .tiroir .btn{margin-top:24px}
@media (min-width:640px){:root:root:root:root:root .entete .hm{display:inline}
:root:root:root:root:root .entete .btn{padding:0 22px}
}
@media (min-width:960px){:root:root:root:root:root .nav{display:flex;gap:4px;margin-left:32px;margin-right:auto}
:root:root:root:root:root .nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-weight:600;font-size:.9375rem;color:var(--k-texte);text-decoration:none;white-space:nowrap;transition:color .2s,background-color .2s}
:root:root:root:root:root .nav a:hover{color:var(--k-action);background:rgba(11,122,107,.08)}
:root:root:root:root:root .logo{margin-right:0}
:root:root:root:root:root .entete__rappel{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:650;font-size:.9375rem;color:var(--k-encre);text-decoration:none;white-space:nowrap}
:root:root:root:root:root .entete__rappel:hover{text-decoration:underline;text-underline-offset:4px}
:root:root:root:root:root .entete .btn--action::after{display:inline-block}
:root:root:root:root:root .burger{display:none}
:root:root:root:root:root .tiroir{display:none}
}
:root:root:root:root:root .pied{background:var(--k-nuit);color:rgba(255,255,255,.72);padding:clamp(56px,8vw,96px) 0 32px;font-size:.9375rem}
:root:root:root:root:root .pied__haut{display:grid;gap:48px}
:root:root:root:root:root .pied__marque .logo img{height:28px}
:root:root:root:root:root .pied__baseline{margin-top:16px;max-width:34ch}
:root:root:root:root:root .pied__contact{margin-top:20px;display:grid;gap:6px}
:root:root:root:root:root .pied__contact a{color:#fff;font-weight:650;text-decoration:none}
:root:root:root:root:root .pied__contact a:hover{color:var(--k-menthe)}
:root:root:root:root:root .pied .btn{margin-top:24px}
:root:root:root:root:root .pied__groupes{display:grid;grid-template-columns:1fr 1fr;gap:40px 24px}
:root:root:root:root:root .pied__titre{margin-bottom:14px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}
:root:root:root:root:root .pied__groupes a{display:block;padding:6px 0;color:rgba(255,255,255,.72);text-decoration:none}
:root:root:root:root:root .pied__groupes a:hover{color:var(--k-menthe)}
:root:root:root:root:root .pied__legal{margin-top:clamp(40px,6vw,72px);padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.875rem}
@media (min-width:640px){:root:root:root:root:root .pied__groupes{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){:root:root:root:root:root .pied__haut{grid-template-columns:1fr 1.6fr;gap:96px}
}
:root:root:root:root:root .pied{padding-top:clamp(40px,6vw,64px)}
:root:root:root:root:root .pied__legal{margin-top:clamp(28px,4vw,40px)}
:root:root:root:root:root .pied__haut{gap:32px}
@media (max-width:639px){:root:root:root:root:root .pied__groupes{grid-template-columns:1fr 1fr;gap:24px 16px}
:root:root:root:root:root .pied__groupes>div:first-child{grid-column:1/-1}
:root:root:root:root:root .pied__groupes>div:first-child a{display:inline-block;margin-right:16px}
}
:root:root:root:root:root .pied{content-visibility:auto;contain-intrinsic-size:auto 1000px}
@media (max-width:959px){:root:root:root:root:root .pied__haut{grid-template-columns:minmax(0,1fr)}
}
:root:root:root:root:root .entete>.enveloppe{height:100%}
:root:root:root:root:root .pied{contain-intrinsic-size:auto 728px}
@media (min-width:960px){:root:root:root:root:root .pied{contain-intrinsic-size:auto 414px}
}
@media (min-width:960px) and (max-width:1023px){:root:root:root:root:root .nav{display:none}
:root:root:root:root:root .burger{display:inline-grid}
:root:root:root:root:root .tiroir{display:flex}
:root:root:root:root:root .entete__rappel{display:none}
:root:root:root:root:root .logo{margin-right:auto}
}
@media (min-width:1024px) and (max-width:1359px){:root:root:root:root:root .entete__rappel{display:none}
:root:root:root:root:root .nav a{padding:0 9px;font-size:.9rem}
:root:root:root:root:root .nav{margin-left:20px}
:root:root:root:root:root .entete .hm{display:none}
}
@media (max-width:359px){:root:root:root:root:root .entete .btn{padding:0 8px;font-size:.75rem}
:root:root:root:root:root .entete .burger{width:36px}
:root:root:root:root:root .entete .logo img{height:22px}
:root:root:root:root:root .entete__rang{gap:4px}
}

/* Complements pour les pages interieures (le reste de l'accueil est dans accueil-v6.css) */
:root:root:root:root:root .entete{position:sticky;top:0}
:root:root:root:root:root .btn{box-shadow:none;text-transform:none;letter-spacing:0;text-shadow:none;background-image:none;line-height:1;margin:0;width:auto;max-width:none;text-align:center;-webkit-appearance:none;appearance:none}
:root:root:root:root:root .btn--action{background:var(--k-action);color:#fff;border-color:transparent}
:root:root:root:root:root .btn--action:hover{background:var(--k-action-hover);color:#fff;box-shadow:0 8px 20px rgba(11,122,107,.32)}
:root:root:root:root:root .btn--sobre{background:transparent;color:var(--k-encre);border-color:var(--k-ligne)}
:root:root:root:root:root .btn--sobre:hover{background:transparent;color:var(--k-encre);border-color:var(--k-doux)}
:root:root:root:root:root :is(.hero,.hero-simple,.barre,.essai,.cta-final,.cta-band,.final,.bloc--final,.bande--nuit,.bande--bleue,.sombre,.pied) .btn--sobre{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
:root:root:root:root:root :is(.hero,.hero-simple,.barre,.essai,.cta-final,.cta-band,.final,.bloc--final,.bande--nuit,.bande--bleue,.sombre,.pied) .btn--sobre:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4);color:#fff}
:root:root:root:root:root .btn--plein{width:100%}
:root:root:root:root:root .entete__rappel{border:0;border-radius:0;background:none;margin:0}
:root:root:root:root:root .entete>.enveloppe{height:100%}
:root:root:root:root:root .barre-essai{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--k-ligne);box-shadow:0 -6px 24px rgba(11,26,46,.08);color:var(--k-texte)}
:root:root:root:root:root .barre .btn{min-width:0;padding:8px 6px;font-size:.92rem;white-space:normal;line-height:1.15}
:root:root:root:root:root .barre-essai .btn{min-height:48px;padding:0 14px;font-size:.9375rem;white-space:nowrap}
:root:root:root:root:root :is(.barre,.barre-essai) .btn--action::after{display:none}
:root:root:root:root:root .barre-essai .btn--action{flex:1 1 auto}
:root:root:root:root:root .btn--large{min-height:52px;padding:0 28px;font-size:1rem}
@media (max-width:420px){:root:root:root:root:root .btn{padding:10px 18px;white-space:normal;line-height:1.2;min-height:48px}:root:root:root:root:root .btn--large{padding:10px 18px}}
:root:root:root:root:root .entete .btn{min-height:44px;padding:0 16px;font-size:.9375rem}
:root:root:root:root:root .nav a[aria-current="page"]{font-weight:700}
@media (max-width:959px){:root:root:root:root:root .btn{min-height:48px}:root:root:root:root:root .entete .btn{min-height:44px}}
/* menu ouvert : l'en-tete devient transparent sur le panneau sombre */
:root:root:root:root:root body:has(.tiroir.ouvert) .entete{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
:root:root:root:root:root body:has(.tiroir.ouvert) .entete .l-fonce{display:none}
:root:root:root:root:root body:has(.tiroir.ouvert) .entete .l-clair{display:block}
:root:root:root:root:root body:has(.tiroir.ouvert) .entete .burger span::before,:root:root body:has(.tiroir.ouvert) .entete .burger span::after{background:#fff}
:root:root:root:root:root body:has(.tiroir.ouvert) .barre-essai,:root:root:root:root:root body:has(.tiroir.ouvert) .barre{display:none}
:root:root:root:root:root body:has(.tiroir.ouvert) .entete .burger span{background:transparent!important}
:root:root:root:root:root .tiroir.sombre{color:#fff}

/* barre de navigation : bascule burger/menu a 1024 px, lien rappel a partir de 1360 px */
@media (min-width:960px) and (max-width:1023px){:root:root:root:root:root .nav{display:none}:root:root:root:root:root .burger{display:inline-grid}:root:root:root:root:root .tiroir{display:flex}:root:root:root:root:root .entete__rappel{display:none}:root:root:root:root:root .logo{margin-right:auto}}
@media (min-width:1024px) and (max-width:1359px){:root:root:root:root:root .entete__rappel{display:none}:root:root:root:root:root .nav a{padding:0 9px;font-size:.9rem}:root:root:root:root:root .nav{margin-left:20px}:root:root:root:root:root .entete .hm{display:none}}
:root:root:root:root:root .pied{content-visibility:visible}

/* tres petits ecrans (320 px) */
@media (max-width:359px){:root:root:root:root:root .entete .btn{padding:0 8px;font-size:.75rem}.entete .burger{width:36px}:root:root:root:root:root .entete .logo img{height:22px}:root:root:root:root:root .entete__rang{gap:4px}:root:root:root:root:root .barre-essai .btn{padding:0 10px;font-size:.8125rem}}

/* rappele-20261102 : bouton secondaire fantome (Etre rappele) lisible sur fond sombre */
:root:root:root:root:root:root :is(.hero,.hero-simple,.sombre,.bande--nuit,.bande--bleue,.cta-final,.cta-band,.final,.bloc--final,.essai,.barre,.pied,.tiroir) .btn--sobre{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.88);border-radius:999px;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
:root:root:root:root:root:root :is(.hero,.hero-simple,.sombre,.bande--nuit,.bande--bleue,.cta-final,.cta-band,.final,.bloc--final,.essai,.barre,.pied,.tiroir) .btn--sobre:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
:root:root:root:root:root:root :is(.hero,.hero-simple,.sombre,.bande--nuit,.bande--bleue,.cta-final,.cta-band,.final,.bloc--final,.essai,.barre,.pied,.tiroir) .btn--sobre:focus-visible{outline:3px solid #5EEAD4;outline-offset:3px}
:root:root:root:root:root:root .btn--sobre:focus-visible{outline:3px solid #0B7A6B;outline-offset:3px}
@media (prefers-reduced-motion:reduce){:root:root:root:root:root:root .btn--sobre{transition:none}}
