/* layout.css — habillage du header et du footer, communs a toutes les pages.
 * Genere par _tools/build_layout_css.php depuis seeglass_one.css.
 * Ne pas editer a la main : modifier la maquette source puis relancer l'outil.
 *
 * Ces regles vivaient dans le CSS de chaque page produit. Le header etant
 * pose par views/layout.php sur TOUTES les pages, une page dont la feuille
 * ne les portait pas affichait le tiroir de navigation deplie en clair.
 *
 * Les regles « body.sans-hero header » sont la copie automatique des regles
 * « header.scrolled » : une page sans grand visuel doit porter en permanence
 * l'aspect opaque que le header prend au defilement.
 */

.nav-cta{display:flex;align-items:center;gap:18px}
.nav-tel{color:#fff;font-weight:600;font-size:.95rem;transition:color .35s;display:flex;align-items:center;gap:7px}
header.scrolled .nav-tel{color:var(--ink)}
.nav-tel svg{width:16px;height:16px}
.nav-burger{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;color:#fff;font-family:"Jost",sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:8px 4px;transition:color .35s}
header.scrolled .nav-burger{color:var(--ink)}
.nav-burger svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
@media(max-width:560px){
.nav-burger .blbl{display:none}
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:"Hanken Grotesk",sans-serif;
    font-weight:600;font-size:.95rem;padding:13px 24px;border-radius:100px;cursor:pointer;border:none;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease;white-space:nowrap}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 30px -8px rgba(23,163,236,.6)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(23,163,236,.78),var(--glow)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.22)}
.btn-lg{padding:17px 34px;font-size:1.02rem}
@media(max-width:720px){
.nav-tel{display:none}
}
.btn-soft{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.btn-soft:hover{border-color:var(--ink-soft)}
.formcard .btn-primary{width:100%}
footer{background:var(--dark2);color:rgba(255,255,255,.72);padding:64px 0 30px;font-size:.92rem}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-brand{font-family:"Fraunces",serif;font-size:1.6rem;font-weight:600;color:#fff;margin-bottom:10px}
.foot-col h4{color:#fff;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.foot-col a,.foot-col p{display:block;margin-bottom:7px;color:rgba(255,255,255,.72)}
.foot-col a:hover{color:#7fcdee}
.foot-bottom{padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:.8rem;color:rgba(255,255,255,.5)}
.foot-bottom a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px}
.foot-bottom a:hover{color:#7fcdee}
/* 6 oct. 2026 (Jeremy : « mets-les dans le footer aussi ») : « Nous suivre » sous la phrase du
   footer — mêmes ronds que le menu Entreprise, bleu nuit sur le fond sombre (contour clair). */
.foot-suivre{margin-top:22px}
/* Puis (Jeremy : « dans le footer descends les réseaux en bas ») : la 1re colonne s'étire à la
   hauteur des autres et le bloc se cale en bas (même ligne de fin que « Toutes les solutions »). */
.foot-col:has(> .foot-suivre){display:flex;flex-direction:column;align-self:stretch}
.foot-col > .foot-suivre{margin-top:auto;padding-top:22px}

/* 6 oct. 2026 (Jeremy : « mets un chat en bas à droite » + 2 captures) : bouton « Besoin d'aide ? »
   fixe en bas à droite et fenêtre « Besoin d'un coup de main ? » (views/partials/aide.php).
   Sous le bandeau cookies (z-index), au-dessus du contenu et du footer. */
.aide-btn{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:10px;padding:11px 20px 11px 15px;
  border-radius:999px;border:1.5px solid rgba(255,255,255,.9);background:#001d6d;color:#fff;cursor:pointer;
  font:600 .95rem/1 "Hanken Grotesk",system-ui,sans-serif;box-shadow:0 12px 30px -10px rgba(0,20,60,.55);transition:background .2s,transform .2s}
.aide-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aide-btn:hover,.aide-btn.ouvert{background:#17a3ec}
.aide-btn:hover{transform:translateY(-2px)}
.aide-btn:focus-visible{outline:3px solid #7fcdee;outline-offset:3px}
/* Puis (Jeremy : « mets-le en rond, juste avec le casque, et au survol il s'agrandit en Besoin
   d'aide ? ») : rond de 56 px ; le texte (toujours dans le bouton, donc lu par les lecteurs
   d'écran) est replié à largeur nulle et se déplie au survol / au clavier. */
.aide-btn{box-sizing:border-box;width:auto;height:56px;min-width:56px;padding:0 14.5px;gap:0;justify-content:flex-start;
  transition:transform .2s,padding .3s ease,gap .3s ease}
/* Puis (Jeremy : « en rollover ne fais pas de dégradé, juste le bleu clair Glass Systems ») :
   plus de fondu de couleur, aplat #17a3ec immédiat (bouton et boutons de la fenêtre). */
.aide-btn:hover,.aide-btn:focus-visible,.aide-btn.ouvert{background:#17a3ec;background-image:none}
.aide-act{transition:none}
.aide-act:hover,.aide-act:focus-visible{background:#17a3ec;background-image:none}
.aide-btn svg{width:24px;height:24px;flex:none}
.aide-btn span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s ease,opacity .25s ease}
.aide-btn:hover,.aide-btn:focus-visible{padding:0 22px 0 14.5px;gap:10px}
.aide-btn:hover span,.aide-btn:focus-visible span{max-width:160px;opacity:1}
.aide-fen{position:fixed;right:20px;bottom:80px;z-index:61;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;
  background:#fff;color:var(--ink,#0f161b);border-radius:24px;padding:34px 30px 28px;box-shadow:0 30px 80px -24px rgba(8,20,30,.55);
  font-family:"Hanken Grotesk",system-ui,sans-serif}
.aide-fen[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.aide-fen{animation:aideIn .22s ease-out}}
@keyframes aideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.aide-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:#eef1f3;color:var(--ink,#0f161b);
  display:grid;place-items:center;cursor:pointer}
.aide-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.aide-x:hover{background:#e1e6ea}
.aide-x:focus-visible{outline:2px solid var(--accent,#17a3ec);outline-offset:2px}
.aide-fen h2{font-family:"Poppins","Jost",sans-serif;font-weight:500;font-size:1.55rem;letter-spacing:-.01em;line-height:1.2;text-align:center;margin:6px 26px 10px}
.aide-intro{text-align:center;color:var(--ink-soft,#3d4a52);font-size:.93rem;line-height:1.55;margin:0 0 20px}
.aide-horaires{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:0 0 22px;font-size:.93rem}
.aide-horaires dt{color:var(--ink,#0f161b)}
.aide-horaires dd{margin:0;text-align:right;color:var(--ink,#0f161b)}
.aide-faq{text-align:center;font-size:.93rem;margin:0 0 14px;color:var(--ink-soft,#3d4a52)}
.aide-faq a{color:var(--ink,#0f161b);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.aide-faq a:hover{color:#0d77bd}
.aide-actions{display:grid;gap:12px}
.aide-act{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:999px;background:#001d6d;color:#fff;
  font-weight:600;font-size:.95rem;text-decoration:none;transition:background .2s}
.aide-act svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aide-act:hover{background:#17a3ec;color:#fff}
.aide-act:focus-visible{outline:3px solid #7fcdee;outline-offset:2px}
@media (max-width:600px){
  .aide-btn{right:14px;bottom:14px;height:52px;min-width:52px;padding:0 12.5px;font-size:.9rem}
  .aide-fen{right:12px;left:12px;width:auto;bottom:70px;padding:30px 20px 22px}
}
/* Mobile : bouton masqué tant que le bandeau cookies (pleine largeur, en bas) est ouvert en grand. */
@media (max-width:480px){body:has(.gsc:not([hidden]):not(.gsc-mini)) .aide-btn{display:none}}
@media (prefers-reduced-motion:reduce){.aide-btn,.aide-btn span{transition:none}.aide-btn:hover{transform:none}}
.foot-col .foot-suivre-t{color:#fff;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 12px}
.foot-reseaux{display:flex;flex-wrap:wrap;gap:10px}
.foot-col .foot-rs{display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:50%;background:#001d6d;color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:background .2s,transform .2s}
.foot-rs svg{width:18px;height:18px;fill:currentColor}
.foot-col .foot-rs:hover{background:#17a3ec;color:#fff;transform:translateY(-2px)}
.foot-col .foot-rs:focus-visible{outline:2px solid #7fcdee;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.foot-col .foot-rs{transition:none}.foot-col .foot-rs:hover{transform:none}}
.mobile-cta .btn{flex:1}
.mobile-cta .btn-tel{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.nav-fade{position:fixed;inset:0;z-index:9998;background:var(--paper);opacity:0;pointer-events:none;transition:opacity .26s ease}
.nav-fade.on{opacity:1;pointer-events:auto}

/* --- header fige, pour les pages sans grand visuel --- */
body.sans-hero header{position:sticky}
body.sans-hero header .nav-tel{color:var(--ink)}
body.sans-hero header .nav-burger{color:var(--ink)}
