/* Tunnel : commande et rendez-vous. S'appuie sur base.css et style.css (jetons, polices, boutons). */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.t-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px var(--marge);border-bottom:1px solid var(--trait)}
.t-nav p{font-size:15px;color:var(--doux)}
.t-nav p a{color:var(--encre);font-weight:500;white-space:nowrap}
.t{padding-block:clamp(28px,4vw,56px) 120px}
.t__g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,6vw,96px);align-items:start}
.t form{min-width:0}
.prog{margin-bottom:36px}
.prog p{font-size:14px;color:var(--doux);margin-bottom:10px}
.prog__b{height:3px;background:var(--trait);border-radius:3px;overflow:hidden}
.prog__b i{display:block;height:100%;width:20%;background:var(--accent);border-radius:3px;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.p-ligne{display:none;font-size:14px;color:var(--accent);margin:-18px 0 22px;min-height:1.4em}
.etape h1,.etape h2{font-size:clamp(40px,4.8vw,66px)}
.etape>p{color:var(--doux);font-size:18px;margin:12px 0 32px;max-width:34em}
.etape>p.securite,.etape>p.petit,.etape>p.rassure,.etape>p.aide{margin-bottom:0}
.etape>p.securite{font-size:14.5px;margin-top:16px}
.etape>p.petit{font-size:13px;margin-top:6px}
.etape>p.rassure{font-size:15px;margin-top:22px}
.erreur{color:var(--alerte);min-height:1.6em;margin:16px 0 4px;font-size:15.5px}
.t__actions{display:flex;justify-content:space-between;align-items:center;gap:20px}
.t__actions .btn{margin-left:auto}
.t .lien{font-size:15px}
button.lien{padding-bottom:3px}
.btn:disabled{opacity:.55;pointer-events:none}

/* Cartes de choix : le bouton radio couvre la carte, invisible mais accessible au clavier */
.carte-m input,.carte-f input,.seg input,.puce input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.choix-modeles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.carte-m{position:relative;display:block;border-radius:16px;background:var(--panneau);overflow:hidden;outline:2px solid transparent;outline-offset:2px;transition:outline-color .25s,background .25s}
.carte-m img,.carte-m__vide{aspect-ratio:16/10;height:auto}
.carte-m__vide{display:grid;place-items:center;font-family:var(--titre);font-size:34px;color:var(--doux);background:var(--panneau2)}
.carte-m__t{display:block;padding:13px 56px 15px 15px}
.carte-m strong{display:block;font-family:var(--titre);font-weight:400;font-size:25px;line-height:1.1}
.carte-m em{font-style:normal;font-size:14px;color:var(--doux)}
.carte-m a{position:absolute;z-index:2;right:14px;bottom:16px;font-size:13.5px;border-bottom:1px solid;padding-bottom:1px}
.choix-formules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.carte-f{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:16px;background:var(--panneau);outline:2px solid transparent;outline-offset:2px;transition:outline-color .25s,background .25s}
.carte-f__t{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.carte-f strong{font-family:var(--titre);font-weight:400;font-size:30px;line-height:1.1}
.carte-f small{font-size:12.5px;color:var(--accent)}
.carte-f__p{color:var(--doux);font-size:14px}
.carte-f__p b{display:block;font-family:var(--titre);font-weight:400;font-size:54px;line-height:1;color:var(--encre)}
.carte-f em{font-style:normal;font-size:15px;margin-top:6px}
.carte-f ul{margin-top:10px;font-size:14px;color:var(--doux)}
.carte-f li{padding:7px 0;border-top:1px solid var(--trait)}
.carte-m:has(input:checked),.carte-f:has(input:checked){outline-color:var(--accent);background:var(--panneau2)}
.carte-m:has(input:focus-visible),.carte-f:has(input:focus-visible){outline-color:var(--encre)}

.seg{display:inline-flex;flex-wrap:wrap;background:var(--panneau);border-radius:22px;padding:4px;margin-bottom:26px}
.seg label{position:relative;padding:10px 18px;border-radius:999px;font-size:15px;color:var(--doux);transition:background .25s,color .25s}
.seg label:has(input:checked){background:var(--encre);color:var(--fond)}
.seg label:has(input:focus-visible),.puce:has(input:focus-visible) span{outline:2px solid var(--accent);outline-offset:2px}

/* Champs */
.deux{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.t fieldset{border:0;padding:0;margin:14px 0 30px;min-width:0}
.t legend{font-family:var(--titre);font-size:28px;padding:0;margin-bottom:14px}
.champ input::placeholder,.champ textarea::placeholder{color:var(--doux);opacity:.65}
.champ input:-webkit-autofill{-webkit-text-fill-color:var(--encre);box-shadow:0 0 0 60px var(--fond) inset;caret-color:var(--encre)}

.nuancier{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-bottom:24px;max-width:500px}
.nuancier button{aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);box-shadow:0 0 0 1px var(--trait);transition:transform .2s,box-shadow .2s}
.nuancier button:hover{transform:scale(1.08)}
.nuancier button[aria-pressed=true]{box-shadow:0 0 0 2px var(--fond),0 0 0 4px var(--accent)}
.champ .couleur__l{display:flex;align-items:center;gap:14px;font-size:inherit;opacity:1;margin:0}
.couleur input[type=color]{width:52px;height:52px;min-height:0;padding:0;border:0;border-radius:12px;background:none;cursor:pointer;flex:none}
.couleur input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.couleur input[type=color]::-webkit-color-swatch{border:1px solid var(--trait);border-radius:12px}
.couleur input[type=color]::-moz-color-swatch{border:1px solid var(--trait);border-radius:12px}
.couleur input[type=text]{font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.04em}
.apercu-c{border-radius:14px;background:var(--papier);color:var(--encre-papier);padding:16px 18px 18px;max-width:420px}
.apercu-c__nav{display:flex;justify-content:space-between;font-size:13px;margin-bottom:28px}
.apercu-c__nav b{color:var(--c1);font-weight:600}
.apercu-c p{font-family:var(--titre);font-size:27px;line-height:1.1;color:var(--c1);margin-bottom:16px}
.apercu-c em{display:inline-block;font-style:normal;padding:9px 16px;border-radius:999px;background:var(--c1);color:var(--c1t);font-size:13px;font-weight:600}
.apercu-c i{display:block;height:8px;border-radius:8px;background:var(--c2);margin-top:20px}

.depot{border:1.5px dashed var(--trait);border-radius:16px;padding:22px;transition:border-color .25s,background .25s}
.depot--survol{border-color:var(--accent);background:var(--panneau)}
.depot:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.depot label{display:block;cursor:pointer}
.depot label strong{display:block;font-weight:500;font-size:17px;margin-bottom:4px}
.depot label span{color:var(--doux);font-size:15px}
.depot__msg{color:var(--alerte);font-size:14.5px}
.depot__msg:not(:empty){margin-top:12px}
#liste-fichiers{display:grid;gap:8px}
#liste-fichiers:not(:empty){margin-top:16px}
#liste-fichiers li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14.5px;background:var(--panneau);border-radius:10px;padding:6px 12px 6px 6px}
#liste-fichiers img,#liste-fichiers i{width:44px;height:44px;border-radius:7px;background:var(--panneau2)}
#liste-fichiers i{display:grid;place-items:center;font-style:normal;font-size:11px;color:var(--doux)}
#liste-fichiers span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#liste-fichiers small{color:var(--doux);margin-left:8px}
#liste-fichiers button{font-size:13.5px;color:var(--doux);border-bottom:1px solid}

/* Récapitulatif */
.recap{margin:0 0 24px;border-top:1px solid var(--trait)}
.recap div{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:14px;padding:15px 0;border-bottom:1px solid var(--trait);align-items:start}
.recap dt{color:var(--doux);font-size:15px}
.recap dd{margin:0;overflow-wrap:anywhere}
.recap button{font-size:13.5px;color:var(--doux);border-bottom:1px solid}
.addition{margin:0 0 24px;background:var(--panneau);border-radius:18px;padding:6px 22px}
.addition div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--trait)}
.addition div:last-child{border:0}
.addition dt{color:var(--doux)}
.addition dd{margin:0;text-align:right}
.addition .total dt{color:var(--encre);font-weight:500}
.addition .total dd{font-family:var(--titre);font-size:42px;line-height:1;color:var(--accent)}
.addition .suite dt,.addition .suite dd{font-size:14.5px;color:var(--doux)}
.accord{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px;font-size:15.5px}
.accord input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.securite{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--doux);margin-top:16px}
.securite svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4}
.petit{font-size:13px;line-height:1.5;color:var(--doux);margin-top:8px;max-width:40em}
.rassure{font-size:15px;color:var(--doux);margin-top:18px}
.champ span small,.t legend small{font-family:var(--texte);font-size:13px;color:var(--doux);margin-left:6px;font-weight:400}
.aide{font-size:15px;color:var(--doux);margin:-12px 0 6px;max-width:34em}
.t fieldset.mode{margin:6px 0 4px}
.t fieldset.mode legend{font-family:var(--texte);font-size:15px;color:var(--doux);margin-bottom:10px}
.panier .panier__total{border-bottom:0;align-items:baseline}
.panier__total dt{color:var(--encre)}
.panier__total dd{font-family:var(--titre);font-size:26px;line-height:1;color:var(--accent)}

/* Colonne de droite */
.panier{position:sticky;top:28px;background:var(--panneau);border-radius:20px;padding:16px 16px 22px}
.panier img{aspect-ratio:16/10;height:auto;border-radius:12px;margin-bottom:16px}
.panier h2{font-size:30px;padding:4px 6px 0;margin-bottom:8px}
.panier dl{margin:0;padding:0 6px}
.panier dl div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--trait);font-size:15px}
.panier dt{color:var(--doux)}
.panier dd{margin:0;text-align:right}
.panier ul{display:grid;gap:9px;padding:16px 6px 0;font-size:15px;color:var(--doux)}
.panier li{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:baseline}
.panier li::before{content:"";width:5px;height:10px;border:solid var(--accent);border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translate(-1px,-2px)}
.panier>p{padding:18px 6px 0;font-size:15px;color:var(--doux)}

/* Rendez-vous */
.puces-c{display:flex;flex-wrap:wrap;gap:8px}
.puce{position:relative}
.puce span{display:block;min-width:78px;padding:11px 16px;border-radius:12px;background:var(--panneau);font-size:15px;text-align:center;font-variant-numeric:tabular-nums;transition:background .2s,color .2s}
.puce b{display:block;font-weight:400;font-size:13px;color:var(--doux);text-transform:capitalize}
.puce:has(input:checked) span{background:var(--encre);color:var(--fond)}
.puce:has(input:checked) b{color:inherit}

/* Écran de fin */
.fin{max-width:720px;padding-block:clamp(20px,5vw,70px);outline:0}
.fin h2{font-size:clamp(46px,6vw,84px)}
.fin>p{font-size:19px;margin:18px 0 28px;color:var(--doux);max-width:32em}
.fin ol{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--trait)}
.fin li{padding:16px 0;border-bottom:1px solid var(--trait)}
.fin textarea{display:block;width:100%;background:var(--panneau);color:var(--encre);border:0;border-radius:14px;padding:16px;font-size:14.5px;line-height:1.5;resize:vertical}
.fin__actions{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;margin:16px 0}
#fin-repli{margin-bottom:28px}
.fin .fin__note{font-size:14.5px}
.fin .fin__note:empty{display:none}

@media(max-width:900px){
  .t__g{grid-template-columns:1fr}
  .panier{display:none}
  .panier--info{display:block;position:static}
  .p-ligne{display:block}
  .choix-modeles{grid-template-columns:1fr 1fr}
  .choix-formules{grid-template-columns:1fr}
}
@media(max-width:560px){
  .deux{grid-template-columns:1fr}
  .t-nav p span{display:none}
  .recap div{grid-template-columns:minmax(0,1fr) auto}
  .recap dt{grid-column:1/-1;margin-bottom:-8px}
  .carte-m__t{padding-right:15px}
  .carte-m a{position:relative;right:auto;bottom:auto;display:inline-block;margin:0 0 14px 15px}
  .seg{display:flex;flex-direction:column;border-radius:18px}
  .seg label{border-radius:14px}
  .puce span{min-width:70px;padding-inline:12px}
}
/* Total du jour pendant l'offre : prix de base barré (premier mois + mise en ligne), puis le prix payé */
.promo-total{display:inline-flex;align-items:baseline;gap:12px;white-space:nowrap}
.promo-total s{font-family:var(--texte);line-height:1;color:var(--doux);text-decoration-color:var(--alerte);text-decoration-thickness:1.6px}
.addition .promo-total s{font-size:18px}
.panier .promo-total s{font-size:14px}


.note-formule{margin-top:16px;padding:14px 18px;border-radius:14px;border:1px solid var(--trait);font-size:15px;color:var(--doux)}

.fin__espace{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:30px 0;padding:22px;border-radius:20px;border:1px solid var(--trait)}.fin__espace p{flex:1;min-width:220px;color:var(--doux);font-size:15px}

.mdp{position:relative;margin-top:16px}.mdp input{padding-right:48px}
.mdp__voir{position:absolute;right:6px;bottom:8px;width:36px;height:36px;border-radius:50%;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%271.6%27%3E%3Cpath d=%27M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%273%27/%3E%3C/svg%3E") center/20px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%271.6%27%3E%3Cpath d=%27M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%273%27/%3E%3C/svg%3E") center/20px no-repeat}
.mdp__voir[aria-pressed=true]{opacity:1}
.mdp__aide{font-size:13px;color:var(--doux);margin-top:8px}
.fin__payer{margin:26px 0 6px}
