/* =============================================================================
   site-footer.css — LE pied de page du site, le même sur toutes les pages
   =============================================================================
   Demandé le 28/09/2026 : un seul pied de page partout, avec en bas
   « CGV | Confidentialité | Mentions légales | Cookies ». Il reprend celui de
   l'accueil (logo, Explorer, Contact), plus LinkedIn et la barre légale.

   Le HTML est écrit tel quel dans chaque page (lisible sans JavaScript et par
   les moteurs) ; ce fichier le met en forme, site-footer.js le traduit.
   Pour le modifier : changer le bloc <footer class="sf"> de CHAQUE page
   publique à l'identique (voir la liste dans le README) et ce fichier.

   Toutes les règles passent par .sf : chaque page garde ses propres règles
   `footer …`, et celles-ci ne doivent pas déteindre sur ce pied de page.
   Tailles en px, pas en rem : les pages ne partagent pas la même racine.
   Appelé avec ?v=… : sans empreinte, nginx le garderait 7 jours en cache.
   ========================================================================== */
footer.sf{
  display:block; min-height:0; margin:0; padding:52px 0 32px; border:0; background:#0a2a45; color:#eff9fe;
  font-family:"aktiv-grotesk","Archivo","Inter","Helvetica Neue",Arial,sans-serif;
  font-size:14px; font-weight:400; line-height:1.5; letter-spacing:normal; text-align:left;
  -webkit-font-smoothing:antialiased;
}
footer.sf *{ box-sizing:border-box }
.sf a, .sf p, .sf h2, .sf ul, .sf li, .sf nav, .sf span, .sf img, .sf div{
  margin:0; padding:0; border:0; background:none; box-shadow:none; min-height:0; min-width:0;
  font:inherit; color:inherit; letter-spacing:normal; text-transform:none; text-decoration:none; float:none;
}
.sf nav{ display:block; gap:normal }
.sf .sf-in{ width:min(1180px,90vw); max-width:none; margin:0 auto; padding:0 }
.sf .sf-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px }

.sf .sf-wm{ display:inline-flex; align-items:center; color:#fff; opacity:1 }
.sf .sf-wm img{ display:block; height:20px; width:auto; max-width:none }
.sf .sf-club{ align-self:flex-start; margin-left:2px; font-size:10.5px; font-weight:700; line-height:1; color:#fff }
.sf .sf-tag{ margin-top:14px; max-width:34ch; font-size:13.75px; color:rgba(239,249,254,.66) }

.sf h2{ margin:0 0 12px; font-size:10.5px; font-weight:800; line-height:1.2; letter-spacing:.1em; text-transform:uppercase; color:rgba(239,249,254,.66) }
.sf ul{ display:flex; flex-direction:column; gap:8px; list-style:none; font-size:13.75px }
.sf li{ display:block; list-style:none }
.sf li::before, .sf li::marker{ content:none }
.sf a{ color:#eff9fe; opacity:.85; transition:opacity .15s }
.sf a:hover{ opacity:1 }
.sf ul a{ display:inline-flex; align-items:center; min-height:24px; padding:3px 0 }
.sf a:focus-visible{ outline:2px solid #2ac2de; outline-offset:3px; border-radius:4px }

/* la barre du bas : © à gauche, les quatre liens légaux à droite, séparés d'un filet */
.sf .sf-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px;
  margin-top:38px; padding-top:18px; border-top:1px solid rgba(239,249,254,.14);
  font-size:12.5px; color:rgba(239,249,254,.66);
}
.sf .sf-legal{ display:flex; flex-wrap:wrap; align-items:center }
.sf .sf-legal a{ display:inline-flex; align-items:center; min-height:24px; padding:0 14px; border-left:1px solid rgba(239,249,254,.3); line-height:1 }
.sf .sf-legal a:first-child{ padding-left:0; border-left:0 }
.sf .sf-legal a:last-child{ padding-right:0 }

@media (max-width:760px){
  footer.sf{ padding:40px 0 28px }
  .sf .sf-grid{ grid-template-columns:1fr 1fr; gap:28px 20px }
  .sf .sf-brand{ grid-column:1 / -1 }
  /* cibles tactiles de 44 px sur téléphone */
  .sf ul{ gap:0 }
  .sf ul a, .sf .sf-legal a{ min-height:44px }
  .sf .sf-bottom{ flex-direction:column; align-items:flex-start; gap:6px; margin-top:28px }
}
@media (prefers-reduced-motion:reduce){ .sf a{ transition:none } }

/* Dans une fenêtre (fiche ?embed=1, inscription ou liste d'attente ouvertes
   dans une modale), la page hôte a déjà son pied de page. */
html.embed footer.sf,
html.embedded footer.sf[data-sf-embedded="hide"]{ display:none !important }
