/* Site public de Snipr (accueil, aide, pages légales, tarifs, connexion) : tokens Prisme uniquement.
   Pas d'apparition au défilement ni d'animation en boucle (règles de design du 01/11/2026, 3.7). */

body.site { min-height: 100dvh; background: var(--bg); color: var(--text); overflow-x: hidden; }
.site a { color: inherit; }
.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 var(--space-4); }

/* --- En-tête --- */
/* barre fixe sous laquelle la page défile : seul endroit du site où le flou est admis (règle 2.7) */
.site-top { position: sticky; top: 0; z-index: var(--z-sticky); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); background: color-mix(in oklab, var(--bg) 88%, transparent); border-bottom: 1px solid var(--line); }
.site-top .wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); height: 64px; padding-top: env(safe-area-inset-top); }
.site-brand { display: flex; align-items: center; gap: var(--space-2); text-decoration: none; flex: none; min-height: var(--tap); }
.site-brand .logo-mark { width: 32px; height: 32px; }
.site-brand .wordmark { --wordmark-h: 16px; }
.site-nav { display: flex; align-items: center; gap: var(--space-1); min-width: 0; }
.site-links { display: flex; align-items: center; gap: var(--space-1); }
.site-links a { display: inline-flex; align-items: center; min-height: var(--tap); padding: 0 12px; border-radius: var(--radius-sm); text-decoration: none; color: var(--text-muted); font-weight: 600; font-size: var(--text-sm); transition: color var(--dur-fast), background-color var(--dur-fast); }
.site-links a:hover, .site-links a[aria-current="page"] { color: var(--text); background: var(--surface-2); }
.site-menu { position: relative; display: none; }
.site-menu > summary { display: inline-flex; align-items: center; gap: 6px; min-height: var(--tap); padding: 0 12px; border-radius: var(--radius-sm); color: var(--text); font-weight: 600; font-size: var(--text-sm); cursor: pointer; list-style: none; }
.site-menu > summary::-webkit-details-marker { display: none; }
.site-menu > summary svg { width: 18px; height: 18px; }
.site-menu[open] > summary { background: var(--surface-2); }
.site-menu .site-links { position: absolute; right: 0; top: calc(100% + 6px); flex-direction: column; align-items: stretch; min-width: 200px; padding: var(--space-2); border-radius: var(--radius-md); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--elev-2); }
/* téléphone : les liens passent dans « Menu », le bouton de connexion reste visible */
@media (max-width: 720px) {
  .site-nav > .site-links { display: none; }
  .site-menu { display: block; }
}
@media (max-width: 360px) { .site-brand .wordmark { display: none; } }

/* --- Pied de page --- */
.site-foot { margin-top: 96px; border-top: 1px solid var(--line); padding: var(--space-8) 0 calc(env(safe-area-inset-bottom) + var(--space-8)); color: var(--text-muted); font-size: var(--text-sm); }
.site-foot .wrap { display: flex; flex-wrap: wrap; gap: var(--space-6); justify-content: space-between; }
.site-foot nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5, 20px); }
.site-foot a { display: inline-flex; align-items: center; min-height: var(--tap); text-decoration: none; }
.site-foot a:hover { color: var(--text); }
.site-foot small { display: block; max-width: 60ch; margin-top: var(--space-2); font-size: var(--text-xs); }

/* --- Titres et sections --- */
/* surtitre : texte de contexte, sans pastille ni point qui pulse */
.eyebrow { color: var(--brand-text); font-size: var(--text-sm); font-weight: 700; }
.h1 { margin: 0; font-size: clamp(2.1rem, 6.4vw, 3.6rem); line-height: 1.04; letter-spacing: -.02em; font-weight: 800; }
.h2 { margin: 0; font-size: clamp(1.6rem, 4.4vw, 2.4rem); line-height: 1.1; letter-spacing: -.01em; font-weight: 800; }
.lead { margin: 0; color: var(--text-muted); font-size: clamp(1rem, 2.4vw, 1.2rem); line-height: 1.5; max-width: 58ch; }
.section { padding-top: 96px; }
.section__head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-3); margin-bottom: var(--space-8); }

/* --- Pages de texte (aide, légal) --- */
.doc { max-width: 760px; margin: 0 auto; padding: var(--space-8) var(--space-4) 0; }
.doc h1 { margin: 0 0 var(--space-2); font-size: clamp(1.8rem, 5vw, 2.4rem); line-height: 1.12; }
.doc .updated { color: var(--text-muted); font-size: var(--text-sm); margin: 0 0 var(--space-8); }
.doc h2 { margin: var(--space-8) 0 var(--space-3); font-size: 1.25rem; }
.doc p, .doc li { color: var(--text); line-height: 1.65; }
.doc p { margin: 0 0 var(--space-3); }
.doc ul { padding-left: 1.2em; margin: 0 0 var(--space-3); }
.doc li { margin-bottom: 6px; }
.doc .todo { background: var(--alert-soft); color: var(--alert); padding: 0 6px; border-radius: var(--radius-xs); font-weight: 600; }
.doc .note { padding: var(--space-4); border-radius: var(--radius-lg); background: var(--surface); border: 1px solid var(--line); margin: var(--space-4) 0; }
