/* Vitrine publique & mode découverte (V8-45 / #702 — P10-01 → P10-05, P0-04 splash).
   Transposition des classes de maquette.css § 13 sur les jetons du thème — aucune valeur en dur. */

/* Le splash de marque devant la vitrine : un calque au-dessus de la page, 1,6 s puis fondu.
   Rejoué à chaque ouverture, sans aucun stockage ; discover.js le retire des navigations Turbo. */
.splash-overlay { position: fixed; inset: 0; z-index: 1080; min-height: 100vh; animation: splash-leave .45s ease 1.6s forwards; }
@keyframes splash-leave { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) {
    .splash-overlay { animation-duration: .01s; }
    .splash-overlay::before, .splash-overlay .splash-star { animation: none; }
}

/* Les trois portes (P10-18, V8-46) : une même carte crème, la hiérarchie passe par le bouton
   (🕊️ aucun, 🛍️ doré, ✨ marine) — maquette.css .door-card */
.door-card { border: 1.5px solid var(--brand-line); border-radius: 16px; padding: .8rem .85rem; background: var(--brand-surface); margin-bottom: .6rem; font-size: .78rem; position: relative; }
.door-card b { display: flex; gap: .4rem; align-items: center; font-size: .9rem; color: var(--brand-secondary); margin-bottom: .2rem; }
.doors-title { font-size: 1.25rem; }
.doors-title small { display: block; font-size: .8rem; font-weight: 400; margin-top: .15rem; }

/* Hero sombre de la vitrine */
.vitrine-hero { text-align: center; padding: 1.6rem 1.2rem 1.2rem; background: linear-gradient(165deg, var(--brand-secondary-2), var(--brand-secondary)); color: var(--brand-on-dark); }
.vitrine-hero h1 { color: var(--brand-on-dark); font-size: 1.7rem; }
.vitrine-hero p { color: var(--brand-on-dark-muted); font-size: .8rem; }
.vitrine-notice { margin: 1rem 1rem 0; }
@media (min-width: 992px) {
    /* Comme les heros membre et kickoff : la bande rejoint la colonne 720 px, en carte arrondie (P0-02 ④) —
       les boutons cessaient de courir sur toute la largeur de l'écran (retour recette Axel 10/09) */
    .vitrine-hero, .vitrine-notice { max-width: 720px; width: calc(100% - 2rem); margin-left: auto; margin-right: auto; }
    .vitrine-hero { margin-top: 1rem; border-radius: var(--brand-radius-card); }
}
.vitrine-badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .64rem; font-weight: 700; background: rgba(var(--brand-accent-rgb), .25); color: var(--brand-accent-light); border-radius: var(--brand-radius-pill); padding: .2rem .7rem; }

/* Les deux promesses */
.promise-card { border: 1px solid var(--brand-line); border-radius: 16px; padding: .8rem .85rem; background: var(--brand-surface); font-size: .78rem; margin-bottom: .6rem; }
.promise-card b { display: flex; align-items: center; gap: .4rem; font-size: .88rem; color: var(--brand-secondary); margin-bottom: .3rem; }
.promise-card ul { margin: 0; padding-left: 1.1rem; }

/* Découvrir sans compte : les tuiles */
.discover-tile { display: flex; align-items: center; gap: .6rem; border: 1px solid var(--brand-line); border-radius: 14px; padding: .6rem .7rem; background: var(--brand-surface); margin-bottom: .5rem; font-size: .8rem; color: var(--brand-text); }
.discover-tile .dt-emoji { font-size: 1.25rem; }
.discover-tile b { display: block; color: var(--brand-secondary); }
.discover-tile span.small { display: block; }

/* L'objection et les compteurs de preuve */
.objection-block { background: var(--brand-secondary); color: var(--brand-on-dark); border-radius: 16px; padding: .9rem .95rem; font-size: .78rem; }
.objection-block h3 { color: var(--brand-accent-light); font-size: 1.1rem; }
.objection-block li { color: var(--brand-on-dark-muted); }
.proof-counters { display: flex; gap: .5rem; }
.proof-counters .pc { flex: 1; background: var(--brand-surface-soft); border-radius: 10px; padding: .45rem .5rem; text-align: center; }
.proof-counters .pc b { display: block; font-size: 1.05rem; color: var(--brand-secondary); }
.proof-counters .pc small { font-size: .58rem; color: var(--brand-muted); }

/* L'encart du quiz (emplacement réservé jusqu'à V8-80) */
.quiz-dots { display: flex; gap: .35rem; justify-content: center; margin: .5rem 0; }
.quiz-dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-line); }
.quiz-dots i.on { background: var(--brand-accent); }
.quiz-dots i.done { background: var(--brand-success); }

/* Pages légales : le texte de l'avocat, rendu assaini */
.legal { font-size: .82rem; line-height: 1.6; }
.legal h2 { font-size: 1.15rem; margin: 1rem 0 .3rem; }
.legal table { font-size: .76rem; }
