/* En-tête commun à toutes les pages (accueil, guide, pages légales). Autonome : n'utilise pas styles.css. */
.site-header { background:#fff; border-bottom:1px solid #e3e8ef; position:sticky; top:0; z-index:20; font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
.sh-wrap { max-width:none; margin:0; padding:0 clamp(16px,4vw,72px); min-height:68px; display:flex; align-items:center; gap:12px; }
.sh-brand { flex:none; display:block; }
.sh-brand img { height:56px; width:auto; display:block; padding:4px 0; }
.sh-nav { flex:1; display:flex; justify-content:center; gap:2px; }
.sh-nav a { text-decoration:none; padding:0 12px; min-height:44px; display:inline-flex; align-items:center; border-radius:10px; color:#5b6575; font-size:16px; white-space:nowrap; }
.sh-nav a:hover, .sh-nav a:focus-visible { background:#e6edf8; color:#2554a8; }
.sh-actions { flex:none; display:flex; align-items:center; gap:8px; margin-inline-start:auto; }
.sh-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:14px; background:#2554a8; color:#fff; font-weight:700; font-size:16px; text-decoration:none; white-space:nowrap; }
.sh-burger { display:none; width:48px; height:48px; border-radius:12px; border:2px solid #2554a8; background:#fff; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; padding:0; }
.sh-burger i { display:block; width:22px; height:2.5px; background:#2554a8; border-radius:2px; transition:transform .2s, opacity .2s; }
.site-header.open .sh-burger i:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.site-header.open .sh-burger i:nth-child(2) { opacity:0; }
.site-header.open .sh-burger i:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
@media (max-width:900px) {
  .sh-wrap { padding:0 12px; min-height:64px; }
  .sh-brand img { height:52px; }
  .sh-burger { display:inline-flex; }
  .sh-actions { display:contents; }
  .sh-cta { padding:0 14px; font-size:15px; margin-inline:auto; }
  .sh-nav { display:none; position:absolute; top:100%; inset-inline:0; flex-direction:column; justify-content:flex-start; gap:0; background:#fff; border-bottom:1px solid #e3e8ef; box-shadow:0 12px 24px rgba(20,30,50,.15); padding:8px 12px 14px; max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); overflow-y:auto; }
  .site-header.open .sh-nav { display:flex; }
  .sh-nav a { min-height:48px; padding:0 12px; font-size:17px; font-weight:600; color:#1b2430; }
  .sh-nav a + a { border-top:1px solid #eef1f5; }
  .site-header.open::after { content:""; position:fixed; left:0; right:0; bottom:0; top:64px; background:rgba(20,30,50,.35); z-index:-1; }
}
