/* Charte des collections v1.0 : noir #111315, ivoire #F3EDE4, vermillon #E95835, cyan #7CC9D5 (données), or #C7A77B (rare).
   Polices locales servies par le service (aucune police ni script tiers). Mobile d'abord (390 points). */
/* polices woff2 réduites aux caractères du français (ops/polices_woff2.sh) : cache long, immuables */
@font-face{font-family:Manrope;src:url(polices/manrope-fr.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Barlow;src:url(polices/barlow-condensed-bold-fr.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Fraunces;src:url(polices/fraunces-fr.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url(polices/inter-fr.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--noir:#111315;--ivoire:#F3EDE4;--verm:#E95835;--cyan:#7CC9D5;--or:#C7A77B;--gris:#A8A39B;--trait:#2A2D30;--carte:#16191B;--bord:#33373A}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--noir);-webkit-text-size-adjust:100%}
body{background:var(--noir);color:var(--ivoire);font:400 16px/1.45 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.page{max-width:480px;margin:0 auto;padding:12px 22px 0}
a{color:var(--ivoire)}
.haut{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.marque{font:800 12px/1 Manrope;letter-spacing:.42em}
.bandeau{font:560 11px/1.2 Inter;color:var(--gris);text-align:right}
h1{margin-top:10px;font:800 23px/1.17 Manrope;letter-spacing:-.01em}
h2{margin-top:9px;font:800 26px/1.12 Manrope;letter-spacing:-.01em}
h3{margin-top:8px;font:800 21px/1.18 Manrope}
.sur{margin-top:22px;font:700 14px/1 Barlow;letter-spacing:.2em;color:var(--verm);text-transform:uppercase}
.sous{margin-top:8px;font:380 15.5px/1.38 Fraunces}
.fraunces{font-family:Fraunces;font-weight:380}
p{margin-top:10px}
.sep{margin:20px 0 0;height:1px;background:var(--trait)}
/* aperçu réel du PDF, en éventail */
.eventail{position:relative;height:150px;margin-top:12px}
.eventail img{position:absolute;top:6px;height:136px;width:auto;border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,.55);background:#fff}
.eventail img.i0{left:50%;transform:translateX(-50%);z-index:3;top:0;height:146px}
.eventail img.i1{left:calc(50% - 120px);transform:rotate(-7deg);z-index:2;opacity:.92}
.eventail img.i2{left:calc(50% + 22px);transform:rotate(7deg);z-index:1;opacity:.92}
.eventail .legende{position:absolute;left:0;right:0;bottom:-14px;text-align:center;font:560 10.5px/1 Inter;color:var(--gris)}
.eventail+.sous{margin-top:20px}
/* formulaire */
form.cadeau{margin-top:10px}
.champ{margin-top:7px}
.champ label{display:block;font:560 11.5px/1.2 Inter;color:var(--gris);margin-bottom:3px}
.champ input,.champ select{width:100%;height:42px;border-radius:10px;border:1.5px solid #4A4E52;background:#0c0e0f;color:var(--ivoire);font:500 16px/1 Inter;padding:0 12px;color-scheme:dark}
.champ input:focus{outline:2px solid var(--cyan);border-color:transparent}
.etapes{margin-top:8px;font:560 12px/1.3 Inter;color:var(--ivoire);display:flex;gap:6px}
.etapes span{flex:1}
.etapes b{color:var(--verm);font-family:Barlow;font-size:14px;margin-right:2px}
.bouton{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:9px;border:0;border-radius:12px;background:var(--verm);color:var(--noir);font:700 16.5px/1.2 Manrope;text-decoration:none;cursor:pointer;padding:0 14px;text-align:center}
.bouton.ligne{background:transparent;border:1.5px solid var(--ivoire);color:var(--ivoire);font:560 15px/1 Inter}
.bouton.gris{background:#2A2D30;color:var(--gris);cursor:default}
.bouton svg{width:16px;height:16px}
.offert{margin-top:7px;text-align:center;font:600 13px/1.3 Inter;color:var(--ivoire)}
/* sans case (24/10/2026) : la ligne d'information sous le bouton, discrète, lisible, jamais une case */
p.info-envois,.bloc p.info-envois{margin-top:8px;text-align:center;font:500 12.5px/1.4 Inter;color:var(--gris)}
form.cadeau .info-envois+.offert{margin-top:6px}
.bloc p.rassure+p.info-envois{margin-top:6px}
.case{margin-top:16px;display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid var(--bord);border-radius:12px;background:var(--carte);font:560 14.5px/1.4 Inter;color:var(--ivoire);cursor:pointer}
form.cadeau .case{margin-top:8px;padding:0;border:0;background:none;gap:10px;font:500 12.5px/1.35 Inter;color:var(--gris)}
form.cadeau .case input{width:20px;height:20px;flex:0 0 20px}
.case input{margin-top:1px;width:22px;height:22px;flex:0 0 22px;accent-color:var(--verm)}
.case+.bouton{margin-top:12px}
.prevenir{margin-top:22px}
.prevenir .bouton{margin-top:12px;font-size:15.5px;min-height:54px}
.prevenir .petit{margin-top:10px}
.erreur{margin-top:10px;padding:10px 12px;border:1.5px solid var(--verm);border-radius:10px;font:560 14px/1.35 Inter}
.miel{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
details.donnees{margin-top:12px;font:500 12.5px/1.45 Inter;color:var(--gris)}
details.donnees summary{cursor:pointer;color:var(--ivoire)}
.encadre{margin-top:18px;border:1px solid var(--bord);border-radius:16px;padding:14px 18px 16px;background:var(--carte)}
.encadre ul{margin:8px 0 0 18px;font:400 14.5px/1.45 Inter}
.encadre li{margin-top:6px}
.ligne-surprise{margin-top:14px;font:380 15px/1.4 Fraunces;color:var(--ivoire)}
.compteur{margin-top:12px;font:560 12.5px/1.3 Inter;color:var(--cyan)}
.pied{margin-top:28px;padding:14px 0 30px;border-top:1px solid var(--trait);font:560 11.5px/1.5 Inter;color:var(--gris);text-align:center}
.pied b{color:var(--ivoire)}
.pied a{color:var(--gris)}
/* page personnelle */
.carte{margin-top:14px;border:1px solid var(--bord);border-radius:16px;padding:14px 18px 16px;background:var(--carte)}
.don{display:flex;justify-content:space-between;gap:8px;font:560 12.5px/1.2 Inter;letter-spacing:.06em;color:var(--cyan)}
.grande{margin-top:8px;font:700 54px/1 Barlow;color:var(--verm);letter-spacing:.01em}
.lect{margin-top:10px;font:380 16px/1.42 Fraunces}
.fenetre{margin-top:8px;font:500 13.5px/1.4 Inter;color:var(--gris)}
.q{margin-top:16px;font:800 17px/1.3 Manrope}
.btns{margin-top:12px;display:flex;gap:10px}
.btns button{flex:1;height:46px;border-radius:12px;font:560 15px/1 Inter;cursor:pointer}
.oui{background:var(--verm);color:var(--noir);border:0}
.pas{background:transparent;border:1.5px solid #4A4E52;color:var(--ivoire)}
.btns button.choisi{box-shadow:inset 0 0 0 2px var(--ivoire)}
.merci{margin-top:8px;font:500 13.5px/1.4 Inter;color:var(--cyan);min-height:1em}
textarea{width:100%;min-height:80px;margin-top:10px;border-radius:10px;border:1.5px solid #4A4E52;background:#0c0e0f;color:var(--ivoire);font:400 15px/1.4 Inter;padding:10px 12px}
.note{margin-top:12px;font:560 11.5px/1.45 Inter;color:var(--gris)}
.bord{margin-top:14px;border:1.5px solid var(--cyan);border-radius:14px;padding:12px 14px;font:500 14px/1.45 Inter}
.bord .bouton{margin-top:8px}
.petit{margin-top:8px;font:500 13px/1.4 Inter;color:var(--gris)}
.ok{margin-top:8px;font:560 13px/1.4 Inter;color:var(--cyan)}
/* page commerciale */
.bloc{margin-top:30px}
.bloc p{font:400 16px/1.55 Inter}
.bloc ol,.bloc ul{margin:10px 0 0 20px;font:400 15.5px/1.5 Inter}
.bloc li{margin-top:8px}
.bloc .fraunces{font-size:18px;line-height:1.45}
.objection{margin-top:12px}
.objection b{display:block;font:800 15.5px/1.3 Manrope}
.fin{margin-top:34px;padding-top:20px;border-top:1px solid var(--trait)}
.barre{position:fixed;left:0;right:0;bottom:0;background:rgba(17,19,21,.97);border-top:1px solid var(--trait);padding:10px 22px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:9}
.barre span{font:700 15px/1 Barlow;letter-spacing:.08em;text-transform:uppercase;color:var(--ivoire)}
.barre .bouton{width:auto;min-height:42px;margin:0;padding:0 18px;font-size:15px}
.espace-barre{height:80px}
form.passe{margin-top:18px;border:1px solid var(--bord);border-radius:16px;padding:12px 16px 16px;background:var(--carte)}
form.passe[hidden]{display:none}
.villes{list-style:none;margin:4px 0 0;border:1px solid var(--bord);border-radius:10px;overflow:hidden}
.villes:empty{display:none}
.villes li{padding:10px 12px;font:500 14.5px/1.3 Inter;border-top:1px solid var(--trait);cursor:pointer}
.villes li:first-child{border-top:0}
.villes li span{color:var(--gris);font-size:12.5px}
.villes li:hover,.villes li:focus{background:#1d2124}
.radios{display:flex;gap:10px;margin-top:4px}
.radios label{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:42px;border:1.5px solid #4A4E52;border-radius:10px;font:500 15px/1 Inter;color:var(--ivoire);cursor:pointer}
.radios input{accent-color:var(--verm)}
[hidden]{display:none !important}
/* capture */
table.capt{width:100%;border-collapse:collapse;font:500 13px/1.4 Inter;margin-top:14px}
table.capt td,table.capt th{border-bottom:1px solid var(--trait);padding:6px 4px;text-align:left;vertical-align:top}
.preprod{margin-top:4px;display:inline-block;font:600 10px/1 Inter;letter-spacing:.14em;color:var(--gris);border:1px solid #3A3D40;border-radius:20px;padding:5px 9px 4px}
.champ .radios input{width:18px;height:18px;flex:0 0 18px;padding:0;border:0;background:none}
.lien-bouton{background:none;border:0;color:var(--ivoire);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
table.capt td{word-break:break-all}
/* ruban animé : les 12 vraies couvertures défilent (transform seul, composité), arrêt sur le signe saisi, pages en éventail.
   Hauteur réservée (aucun décalage de mise en page), rien de cliquable, aucune animation si « réduire les animations ». */
.ruban{position:relative;height:124px;margin:6px -22px 0;pointer-events:none;user-select:none;-webkit-user-select:none}
.ruban-fenetre{position:absolute;left:0;right:0;top:0;height:112px;overflow:hidden;contain:paint}
.ruban-fenetre::before,.ruban-fenetre::after{content:"";position:absolute;top:0;bottom:0;width:34px;z-index:4}
.ruban-fenetre::before{left:0;background:linear-gradient(90deg,var(--noir),rgba(17,19,21,0))}
.ruban-fenetre::after{right:0;background:linear-gradient(270deg,var(--noir),rgba(17,19,21,0))}
.piste{position:absolute;left:0;top:7px;display:flex;gap:12px;padding-left:8px;width:max-content;will-change:transform;
  animation:ruban-defile 54s linear infinite;transform:translate3d(0,0,0)}
@keyframes ruban-defile{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--boucle,-1272px),0,0)}}
.piste.arret{animation:none}
.couv{display:block;flex:0 0 70px;width:70px;height:100px;border-radius:3px;background:#1b1e20;
  transform:perspective(520px) rotateY(-13deg);box-shadow:0 9px 16px rgba(0,0,0,.6),0 0 0 1px rgba(243,237,228,.07);transition:opacity .5s ease}
.ruban.pose .couv{opacity:.32}
.ruban.pose .couv.choisie,.ruban.pose .couv.voisine{opacity:1}
.ruban .eventail{position:absolute;left:0;right:0;top:7px;height:100px;margin:0;z-index:3}
.ruban .eventail img{position:absolute;left:calc(50% - 35px);top:0;border-radius:3px;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.7)}
.ruban .vcouv{width:70px;height:100px;transform:perspective(520px) rotateY(-13deg);transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:2}
.ruban .pg{width:62px;height:88px;left:calc(50% - 31px);top:7px;opacity:0;transform:scale(.9);
  transition:transform .55s cubic-bezier(.2,.8,.2,1) .12s,opacity .3s ease .12s;z-index:1}
.ruban.pose .vcouv{transform:translate3d(0,-3px,0) scale(1.1)}
.ruban.ouvert .pg{opacity:1}
.ruban.ouvert .pg1{transform:translate3d(-60px,3px,0) rotate(-9deg)}
.ruban.ouvert .pg2{transform:translate3d(60px,3px,0) rotate(9deg)}
.ruban-legende{position:absolute;left:22px;right:22px;bottom:0;margin:0;text-align:center;font:560 12px/16px Inter;color:var(--gris);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ruban.pose .ruban-legende{color:var(--ivoire)}
.ruban-legende b{color:var(--verm);font-weight:700}
.ruban+.sous{margin-top:4px}
@media (min-width:520px){.ruban{margin-left:0;margin-right:0}}
@media (prefers-reduced-motion:reduce){
  .piste{animation:none !important}
  .couv,.ruban .vcouv,.ruban .pg{transition:none !important}
}
/* compteur réel d'envois (pc/vie.py), sous le bouton : rendu par le serveur, aucun décalage */
.vie-compteur{margin-top:8px;text-align:center;font:560 12.5px/1.3 Inter;color:var(--cyan)}
.vie-compteur .pastille{display:inline-block;width:7px;height:7px;margin:0 7px 1px 0;border-radius:50%;background:var(--verm);vertical-align:middle}
/* fil des derniers envois réels (pc/vie.py), sous le formulaire : place réservée (2 lignes), fondu seulement, aucun décalage */
.vie-fil{display:flex;align-items:center;justify-content:center;gap:7px;height:34px;margin:10px 0 0;overflow:hidden;text-align:center;
  font:500 12px/16px Inter;color:var(--gris)}
.vie-fil .pastille{flex:none;width:6px;height:6px;border-radius:50%;background:var(--verm)}
.vie-fil-texte{transition:opacity .6s ease}
.vie-fil-texte b{font-weight:600;color:var(--ivoire)}
.vie-fil-texte.cache{opacity:0}
@media (prefers-reduced-motion:reduce){.vie-fil-texte{transition:none}}
/* lot audit 21/10/2026 : premier écran iPhone (promesse, « gratuit » et bouton sans défiler), date en trois champs, erreurs en ligne */
body[data-page=cadeau] h1{font-size:22px;margin-top:8px}
body[data-page=cadeau] .sous{margin-top:4px;font-size:15px;line-height:1.33}
form.cadeau{margin-top:6px}
form.cadeau .champ{margin-top:6px}
form.cadeau .champ input{height:40px}
fieldset.date3{border:0;min-width:0}
fieldset.date3 legend{display:block;padding:0;font:560 11.5px/1.2 Inter;color:var(--gris);margin-bottom:3px}
.date3-champs{display:flex;gap:8px}
.date3-champs input{flex:1 1 0;min-width:0;text-align:center;letter-spacing:.04em}
.date3-champs input#date-annee{flex:1.4 1 0}
.date3-champs input[aria-invalid=true],.champ input[aria-invalid=true]{border-color:var(--verm)}
.erreur-ligne{margin-top:5px;font:560 13px/1.35 Inter;color:#FF8A6B}
.suggestion{margin-top:5px;font:500 13px/1.35 Inter;color:var(--ivoire)}
.suggestion button{background:none;border:0;padding:0;color:var(--cyan);font:600 13px/1.35 Inter;text-decoration:underline;cursor:pointer}
form.cadeau .erreur{margin-top:0;margin-bottom:6px}
/* page personnelle : la surprise d'abord, un seul bouton principal */
.confirmation{margin-top:6px;font:500 13.5px/1.4 Inter;color:var(--cyan)}
body[data-page=perso] .sur#surprise{margin-top:16px}
.choix{flex:1;height:44px;border-radius:12px;background:transparent;border:1.5px solid #4A4E52;color:var(--ivoire);font:560 15px/1 Inter;cursor:pointer}
.btns button.choix.choisi{border-color:var(--ivoire);box-shadow:none;background:#1d2124}
.offre{margin-top:18px}
.marche h3{margin-top:8px}
.marche .sous+.sous{margin-top:10px}
.nobr{white-space:nowrap}
/* mission « Évidemment » (21/10/2026) : la date expliquée, la page de suite qui commence par le formulaire */
.sens{margin-top:22px}
.sens .sur{margin-top:0}
.sens-titre{font-size:22px;line-height:1.18}
.sens-intro{margin-top:12px}
ul.trois{margin:8px 0 0 0;padding:0;list-style:none}
ul.trois li{position:relative;margin-top:8px;padding:10px 12px 10px 30px;border:1px solid var(--bord);border-radius:12px;background:var(--carte);font:380 15.5px/1.38 Fraunces}
ul.trois li::before{content:"";position:absolute;left:12px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--verm)}
.marche h3+.sous{margin-top:6px}
.autorite{margin-top:4px;text-align:center;font:500 12px/1.35 Inter;color:var(--gris)}
details.sans-heure,details.deja{margin-top:8px;font:500 13px/1.4 Inter;color:var(--gris)}
details.sans-heure summary,details.deja summary{cursor:pointer;list-style:none}
details.sans-heure summary::-webkit-details-marker,details.deja summary::-webkit-details-marker{display:none}
details.sans-heure summary{text-decoration:underline;text-underline-offset:3px}
details.deja{margin-top:14px;padding:10px 12px;border:1px solid var(--bord);border-radius:12px;background:var(--carte)}
details.deja .modifier{color:var(--ivoire);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
details.deja[open] summary{margin-bottom:4px}
.barre[hidden]{display:none}
/* page de la date en LETTRE (21/10/2026, soir) : une colonne, paragraphes courts, aucune étiquette */
.lettre h1{margin-top:14px;font:800 26px/1.15 Manrope}
.lettre p{margin-top:14px;font:380 17px/1.5 Fraunces}
.lettre .ligne-pdf{margin-top:8px;font:500 14px/1.45 Inter;color:var(--gris)}
.lettre .ligne-pdf a{color:var(--ivoire)}
.lettre form.en-ligne{display:inline}
.lettre form.en-ligne .lien-bouton{font:500 14px/1.45 Inter;color:var(--gris);margin-left:6px}
.lettre .q{margin-top:22px;font:800 18px/1.3 Manrope}
.lettre .merci{margin-top:8px;font:500 14px/1.4 Inter}
.lettre h2{margin-top:30px;font:800 22px/1.2 Manrope}
.lettre .bouton{margin-top:16px}
.lettre p.rassure{margin-top:8px;text-align:center;font:500 13.5px/1.4 Inter;color:var(--gris)}
.lettre details.calculs{margin-top:30px;font:500 14px/1.45 Inter;color:var(--gris)}
.lettre details.calculs summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lettre details.calculs p{font:500 14px/1.45 Inter;color:var(--gris);margin-top:8px}
.lettre .gris{margin-top:26px;font:500 13px/1.45 Inter;color:var(--gris)}
.lettre .gris .lien-bouton{font:500 13px/1.45 Inter;color:var(--gris)}
.case.compacte{margin-top:12px;padding:0;border:0;background:none;gap:10px;font:500 13px/1.35 Inter;color:var(--gris)}
.case.compacte input{width:20px;height:20px;flex:0 0 20px}
/* page de la date V3 (24/10/2026) : un message fort par écran, aéré ; sans-serif pour titres et données, sérif pour les phrases de
   lecture (jamais en pavé) ; une seule animation (le cadran), immobile si « réduire les animations » */
body[data-page=perso] .ligne-pdf{margin-top:8px;font:500 13px/1.45 Inter;color:var(--gris)}
body[data-page=perso] .ligne-pdf a{color:var(--ivoire)}
body[data-page=perso] form.en-ligne{display:inline}
body[data-page=perso] form.en-ligne .lien-bouton{font:500 13px/1.45 Inter;color:var(--gris);margin-left:6px}
.ecran{padding:26px 0 30px;border-bottom:1px solid var(--trait)}
.ecran.decouverte{padding-top:14px}
.ecran.transition{border-bottom:0;padding-bottom:6px}
.decouverte h1{margin-top:4px;font:800 27px/1.14 Manrope;letter-spacing:-.015em}
.sous-b{margin-top:8px;font:500 14px/1.4 Inter;color:var(--gris)}
.rdv{display:flex;align-items:center;gap:14px;margin-top:18px}
.rdv .picto{flex:0 0 56px}
.rdv-legende{margin:0;font:600 12.5px/1.2 Inter;letter-spacing:.04em;color:var(--cyan)}
.rdv-date{margin:2px 0 0;font:700 40px/1.02 Barlow;color:var(--verm);letter-spacing:.005em;white-space:nowrap}
.rdv-reserve{margin:4px 0 0;font:500 12.5px/1.3 Inter;color:var(--gris)}
svg.cadran{display:block;width:100%;height:auto;margin-top:12px;overflow:visible}
svg.cadran .arc{fill:none;stroke:#4A4E52;stroke-width:1.5}
svg.cadran .bande{fill:rgba(199,167,123,.16)}
svg.cadran .trait{stroke:#6B6F73;stroke-width:1.2}
svg.cadran .grad{fill:var(--gris);font:500 10.5px Inter;text-anchor:middle}
svg.cadran .exact{stroke:var(--or);stroke-width:2.4;stroke-linecap:round}
svg.cadran .point circle{fill:var(--verm);stroke:var(--noir);stroke-width:2}
svg.cadran .leg-point{fill:var(--verm);font:700 11.5px Inter;text-anchor:middle}
svg.cadran .leg-repere{fill:var(--or);font:600 11px Inter;text-anchor:middle}
.decouverte .phrase{margin-top:14px;font:600 17px/1.38 Inter;color:var(--ivoire)}
.decouverte .accroche{margin-top:10px;font:380 19px/1.42 Fraunces;color:var(--ivoire)}
.sens h2,.objections-v3 h2{margin-top:0;font:800 21px/1.2 Manrope}
.sens p.court{margin-top:10px;font:400 16px/1.5 Inter;color:var(--ivoire)}
blockquote.centrale{margin:22px 0 0;padding:4px 0 4px 16px;border-left:3px solid var(--verm);font:400 19px/1.42 Fraunces;color:var(--ivoire)}
.trois-titre{margin-top:24px;font:600 12.5px/1.2 Inter;letter-spacing:.04em;color:var(--cyan)}
ul.trois-v3{list-style:none;margin:8px 0 0;padding:0}
ul.trois-v3 li{margin-top:10px;font:400 16px/1.45 Inter;color:var(--gris)}
ul.trois-v3 li b{color:var(--ivoire);font-weight:700}
ol.ligne-temps{list-style:none;display:flex;justify-content:space-between;position:relative;margin:26px 0 0;padding:16px 0 0}
ol.ligne-temps::before{content:"";position:absolute;left:6px;right:6px;top:5px;height:2px;background:#4A4E52}
ol.ligne-temps li{position:relative;flex:1;text-align:center}
ol.ligne-temps li:first-child{text-align:left}
ol.ligne-temps li:last-child{text-align:right}
ol.ligne-temps li::before{content:"";position:absolute;top:-16px;width:10px;height:10px;border-radius:50%;background:var(--noir);border:2px solid #6B6F73}
ol.ligne-temps li:first-child::before{left:0}
ol.ligne-temps li:last-child::before{right:0}
ol.ligne-temps li.centre::before{left:calc(50% - 7px);width:14px;height:14px;top:-18px;background:var(--verm);border-color:var(--verm)}
.lt-date{display:block;font:700 15px/1.2 Inter;color:var(--ivoire)}
.lt-mot{display:block;margin-top:2px;font:500 12.5px/1.2 Inter;color:var(--gris)}
.sens .q{margin-top:28px;font:800 18px/1.3 Manrope}
.transition-titre{margin-top:0;font:800 21px/1.2 Manrope}
.transition-texte{margin-top:10px;font:400 16.5px/1.5 Inter;color:var(--ivoire)}
.ecran.transition .bouton{margin-top:20px;min-height:54px}
p.rassure{margin-top:9px;text-align:center;font:500 13px/1.4 Inter;color:var(--gris)}
body[data-page=perso] details.calculs{margin-top:26px;font:500 14px/1.45 Inter;color:var(--gris)}
body[data-page=perso] details.calculs summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
body[data-page=perso] details.calculs p{font:500 14px/1.5 Inter;color:var(--gris);margin-top:10px}
body[data-page=perso] .prevenir.gris{margin-top:22px;font:500 13px/1.45 Inter;color:var(--gris)}
body[data-page=perso] .prevenir.gris .lien-bouton{font:500 13px/1.45 Inter;color:var(--gris)}
/* page heure et lieu V3 */
.formulaire-v3{margin-top:14px}
.formulaire-v3 h1{margin-top:0;font:800 25px/1.16 Manrope;letter-spacing:-.01em}
.formulaire-v3 .sous-titre{margin-top:10px;font:400 16px/1.48 Inter;color:var(--ivoire)}
.formulaire-v3 form.passe{margin-top:18px}
.formulaire-v3 .champ{margin-top:12px}
.sans-heure-lien{display:inline-block;margin-top:7px;font:500 13px/1.3 Inter;color:var(--gris);text-underline-offset:3px}
fieldset.genre{border:0;min-width:0;padding:0}
fieldset.genre legend{display:block;padding:0;font:560 11.5px/1.2 Inter;color:var(--gris);margin-bottom:3px}
.formulaire-v3 .bouton{margin-top:16px;min-height:54px}
.objections-v3{margin-top:26px}
details.objection-v3{border-top:1px solid var(--trait);padding:14px 0}
details.objection-v3:last-child{border-bottom:1px solid var(--trait)}
details.objection-v3 summary{cursor:pointer;list-style:none;font:700 15.5px/1.3 Manrope;color:var(--ivoire);display:flex;justify-content:space-between;gap:12px}
details.objection-v3 summary::-webkit-details-marker{display:none}
details.objection-v3 summary::after{content:"+";font:500 20px/1 Inter;color:var(--gris)}
details.objection-v3[open] summary::after{content:"–"}
details.objection-v3 p{margin-top:8px;font:400 15px/1.5 Inter;color:var(--gris)}

@media (prefers-reduced-motion:reduce){svg.cadran .point,svg.cadran .leg-point{transition:none}}
.rdv-date .vers{display:block;font:600 15px/1.2 Inter;color:var(--verm);letter-spacing:0}
.progression{margin:0 0 6px;font:600 12px/1.3 Inter;letter-spacing:.03em;color:var(--gris)}
.btns.trois-reponses{gap:8px}
.btns.trois-reponses .choix{flex:1 1 0;min-width:0;padding:0 4px;font-size:13.5px;white-space:nowrap}
/* page cadeau MINIMALE, variante M (25/10/2026) : tout le premier écran tient à 390 x 844 sans défilement ; cadrage 7 % (28 px à 390) */
body.page-m .page{padding:18px 28px 0}
.page-m .m-marque{margin:0;font:800 11px/1 Manrope;letter-spacing:.42em;color:var(--gris);text-align:center}
.page-m .m-sur{margin-top:18px;font:700 13px/1.3 Inter;letter-spacing:.02em;color:var(--verm);text-align:center}
.page-m h1.m-titre{margin-top:6px;font:800 25px/1.18 Manrope;text-align:center}
.page-m .m-ligne{margin-top:8px;font:500 15px/1.4 Inter;color:var(--ivoire);text-align:center}
.page-m form.cadeau{margin-top:0;min-height:calc(100svh - 18px);display:flex;flex-direction:column}
.page-m form.cadeau .info-envois{margin-bottom:24px}
.page-m form.cadeau .champ{margin-top:12px}
.page-m form.cadeau .champ input{height:46px}
.page-m form.cadeau .bouton{margin-top:16px;min-height:54px;width:100%}
.page-m .m-sous{margin-top:34px;padding:0;list-style:none;font:500 13.5px/1.5 Inter;color:var(--gris);text-align:center}
.page-m .m-sous li+li{margin-top:4px}
.page-m .pied{margin-top:24px}
