/* ==========================================================================
   tor-contact.css — page Contact : formulaire « Obtenir un devis », une
   question par écran (version du 08/10/2026 ; la précédente est archivée dans
   sites/tor-batiment/archives/formulaire-v1-etapes/).
   Chargée sur la page Contact seule (functions-tor-devis.php).
   Jetons : style.css (:root --tor-*, --archivo, --plex). Charte « Carnet de
   chantier » : papier, bleu de travail pour ce qui se clique, l'or en filets
   seulement, champs 8 px, cartes 12 px, boutons en pilule.
   Saisie : 16 px minimum partout (sinon iOS zoome au focus).
   La pièce maîtresse : la fiche « Votre demande », papier réglé comme les
   notes du livre de chantier, qui se remplit à chaque réponse.
   ========================================================================== */

.ctc{
  --ease-out:cubic-bezier(.23,1,.32,1);
  box-sizing:border-box;max-width:72rem;margin:0 auto;padding:clamp(.5rem,2vw,1.5rem) clamp(1rem,4vw,2rem) clamp(3rem,6vw,5rem)}
.ctc *,.ctc *::before,.ctc *::after{box-sizing:border-box}
.ctc [hidden]{display:none !important}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- en-tête --------------------------------------------------------------- */
.ctc__tete{max-width:56rem;margin-bottom:clamp(2rem,5vw,3rem)}
.ctc__kicker{font:600 .74rem var(--archivo);letter-spacing:.2em;text-transform:uppercase;color:var(--tor-encre-2);margin:0 0 .9rem}
.ctc__kicker::before{content:"";display:inline-block;width:2.2rem;height:1px;background:var(--tor-or);vertical-align:middle;margin-right:.8rem}
.ctc__h1{font:900 clamp(2.4rem,6vw,4.4rem)/.96 var(--archivo);letter-spacing:-.03em;margin:0 0 1rem;color:var(--tor-encre);text-wrap:balance}
.ctc__chapo{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.55;color:var(--tor-encre-2);max-width:60ch;margin:0}
.ctc__rapide{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.ctc__btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.6rem;border-radius:999px;font:700 1rem var(--archivo);text-decoration:none;transition:background 180ms var(--ease-out),transform 160ms var(--ease-out)}
.ctc__btn:active{transform:scale(.97)}
.ctc__btn--devis{background:var(--tor-bleu);color:#fff}
.ctc__btn--devis:hover{background:var(--tor-bleu-clair);color:#fff}
.ctc__btn--tel{border:1px solid var(--tor-bleu);color:var(--tor-bleu);background:transparent}
.ctc__btn--tel:hover{background:var(--tor-papier-2);color:var(--tor-bleu)}

/* --- grille : formulaire à gauche ; fiche et appel à droite, collants ------- */
.ctc__grille{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.ctc__form{scroll-margin-top:6rem;background:var(--tor-surface);border:1px solid var(--tor-trait);border-top:3px solid var(--tor-or);border-radius:var(--tor-rayon-carte);padding:clamp(1.2rem,3.2vw,2.4rem);box-shadow:var(--tor-ombre)}
.ctc__rgpd{margin:1.4rem 0 0;padding-top:1rem;border-top:1px solid var(--tor-trait);font-size:.86rem;line-height:1.5;color:var(--tor-encre-2)}
.ctc__cote{position:sticky;top:6.5rem;display:grid;gap:1.2rem}

/* la fiche de chantier : papier réglé, une ligne par réponse */
.ctc__fiche{padding:1.2rem 1.3rem 1.1rem;background:var(--tor-papier);border:1px solid var(--tor-trait);border-left:3px solid var(--tor-or);border-radius:var(--tor-rayon-carte)}
.ctc__fiche-titre,.tdv__recap-titre{margin:0 0 .5rem;font:800 1.05rem var(--archivo);color:var(--tor-encre)}
.ctc__fiche-vide{margin:0;padding:.4rem 0;font-size:.9rem;line-height:28px;color:var(--tor-encre-2);
  background-image:repeating-linear-gradient(to bottom,transparent 0 27px,rgba(30,63,111,.12) 27px 28px);min-height:calc(28px * 4)}
.tdv__fiche-liste{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:.9rem}
.tdv__fiche-liste dt,.tdv__fiche-liste dd{margin:0;padding:.42rem 0;border-bottom:1px solid rgba(30,63,111,.12);font-size:.9rem;line-height:1.4}
.tdv__fiche-liste dt{font:600 .74rem/1.9 var(--archivo);letter-spacing:.04em;color:var(--tor-encre-2)}
.tdv__fiche-liste .est-neuve{animation:tdv-ligne 260ms var(--ease-out)}
@keyframes tdv-ligne{from{opacity:0;transform:translateX(-4px)}}
.tdv__fiche-mod{display:block;width:100%;padding:0;border:0;background:none;color:var(--tor-encre);font:500 .92rem/1.4 var(--plex);text-align:left;cursor:pointer}
.tdv__fiche-mod:hover{color:var(--tor-bleu);text-decoration:underline;text-underline-offset:.2em}
.tdv__fiche-mod:focus-visible{outline:3px solid var(--tor-bleu);outline-offset:2px;border-radius:4px}
.ctc__fiche.is-envoyee{border-left-color:var(--tor-succes)}

.ctc__appel{scroll-margin-top:6rem;padding:1.2rem 1.3rem;background:var(--tor-surface);border:1px solid var(--tor-trait);border-radius:var(--tor-rayon-carte)}
.ctc__appel-titre{margin:0 0 .8rem;font:700 1rem var(--archivo);color:var(--tor-encre)}
.ctc__tel{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.4rem;border-radius:999px;background:var(--tor-bleu);color:#fff;font:700 1rem var(--archivo);letter-spacing:.02em;text-decoration:none;transition:background 180ms var(--ease-out)}
.ctc__tel + .ctc__tel{margin-top:.5rem}
.ctc__tel:hover{background:var(--tor-bleu-clair);color:#fff}
.ctc__note{margin:.7rem 0 0;font-size:.88rem;line-height:1.5;color:var(--tor-encre-2)}
.ctc__note a{color:var(--tor-bleu)}

/* --- promesses et suite ------------------------------------------------------ */
.ctc__promesses{list-style:none;margin:clamp(2.5rem,5vw,3.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem 2rem}
.ctc__promesses li{padding-left:1.1rem;border-left:2px solid var(--tor-or);color:var(--tor-encre-2);line-height:1.55;font-size:.95rem}
.ctc__promesses strong{display:block;color:var(--tor-encre);font-family:var(--archivo);font-weight:700;margin-bottom:.15rem}
.ctc__suite{margin-top:clamp(2.5rem,5vw,4rem)}
.ctc__h2{font:800 clamp(1.5rem,3vw,2.1rem)/1.08 var(--archivo);letter-spacing:-.02em;color:var(--tor-encre);margin:0 0 .4rem}
.ctc__etapes{list-style:none;counter-reset:etape;margin:1.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ctc__etapes li{counter-increment:etape;padding:1.3rem;background:var(--tor-papier-2);border-radius:var(--tor-rayon-carte);color:var(--tor-encre-2);line-height:1.55}
.ctc__etapes li::before{content:counter(etape,decimal-leading-zero);display:block;margin-bottom:.6rem;font:800 .78rem/1 var(--archivo);letter-spacing:.18em;color:var(--tor-bleu)}
.ctc__etapes strong{color:var(--tor-encre)}

@media (max-width:900px){
  /* minmax(0,1fr) et non 1fr : sinon Safari iOS élargit la colonne au contenu et la carte déborde */
  .ctc__grille{grid-template-columns:minmax(0,1fr)}
  .ctc__cote{position:static}
  .ctc__fiche{display:none}          /* sur téléphone : récapitulatif au dernier écran */
  .ctc__promesses,.ctc__etapes{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ctc{padding-inline:0}   /* 24 px de marge de page suffisent, comme les autres pages */
  .ctc__rapide{flex-direction:column}
  .ctc__btn{width:100%}
  .ctc__form{padding:1.1rem 1rem 1.3rem}
}

/* ==========================================================================
   Le formulaire
   ========================================================================== */
.tdv [hidden]{display:none !important}
.tdv fieldset{border:0;margin:0;padding:0;min-width:0}
.tdv__pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* progression : une barre continue et « Question n sur 11 » */
.tdv__tete{display:none}
.tdv--js .tdv__tete{display:flex;align-items:center;gap:1rem;margin:0 0 1.6rem}
.tdv__barre{position:relative;flex:1;height:4px;border-radius:2px;background:var(--tor-trait);overflow:hidden}
.tdv__barre-fil{position:absolute;inset:0;background:var(--tor-bleu);border-radius:2px;transform:scaleX(0);transform-origin:left center;transition:transform 320ms var(--ease-out)}
.tdv__compte{flex:none;font:600 .78rem var(--archivo);letter-spacing:.04em;color:var(--tor-encre-2);font-variant-numeric:tabular-nums}

/* un écran à la fois (sans JS : tous, les uns sous les autres) */
/* écran en bloc, espacé par marges : une légende de fieldset dans une grille se place
   différemment selon les navigateurs (Safari iOS la superposait à l'aide) */
.tdv__ecran{display:block}
.tdv__ecran > * + *{margin-top:1.2rem}
.tdv:not(.tdv--js) .tdv__ecran + .tdv__ecran{margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--tor-trait)}
.tdv--js .tdv__ecran:not(.is-active){display:none}
.tdv--js .tdv__ecran.is-active{animation:tdv-avant 260ms var(--ease-out)}
.tdv--js .tdv__ecran.is-active[data-sens="arriere"]{animation-name:tdv-arriere}
@keyframes tdv-avant{from{opacity:0;transform:translateX(14px)}}
@keyframes tdv-arriere{from{opacity:0;transform:translateX(-14px)}}
/* float : une légende flottante redevient un élément de la grille (sinon l'aide la chevauche) */
.tdv__question{display:block;width:100%;padding:0;margin:0 0 1.2rem;font:800 clamp(1.45rem,3vw,1.95rem)/1.12 var(--archivo);letter-spacing:-.015em;color:var(--tor-encre);text-wrap:balance;outline:none}
.tdv__aide{margin:0;font-size:.92rem;line-height:1.5;color:var(--tor-encre-2)}
.tdv__ecran > .tdv__aide--question{margin-top:-.5rem;font-size:1rem}

/* cartes de choix : toute la carte est cliquable, la vraie case reste dedans */
.tdv__q,.tdv__champ{display:grid;gap:.5rem;scroll-margin-top:7rem}
.tdv__cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.6rem}
.tdv__cartes--court{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr))}
.tdv__carte{position:relative;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tdv__carte input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.tdv__carte-corps{position:relative;display:grid;align-content:center;gap:.15rem;width:100%;min-height:58px;padding:.75rem 2.6rem .75rem 1rem;border:1px solid var(--tor-champ);border-radius:var(--tor-rayon-carte);background:var(--tor-surface);
  transition:border-color 160ms var(--ease-out),background 160ms var(--ease-out),box-shadow 160ms var(--ease-out),transform 120ms var(--ease-out)}
.tdv__carte-titre{font:700 1rem/1.25 var(--archivo);color:var(--tor-encre);overflow-wrap:break-word;hyphens:auto}
.tdv__carte-aide{font-size:.86rem;line-height:1.35;color:var(--tor-encre-2)}
/* le témoin à droite : un rond (choix unique) ou un carré (plusieurs) */
.tdv__carte-corps::after{content:"";position:absolute;right:1rem;top:50%;width:1.15rem;height:1.15rem;margin-top:-.575rem;border:1.5px solid var(--tor-champ);border-radius:999px;background:var(--tor-surface) center/.75rem no-repeat}
.tdv__cartes--multi .tdv__carte-corps::after{border-radius:4px}
.tdv__carte:active .tdv__carte-corps{transform:scale(.985)}
.tdv__carte input:checked + .tdv__carte-corps{border-color:var(--tor-bleu);background:#eef2f8;box-shadow:inset 0 0 0 1px var(--tor-bleu)}
.tdv__carte input:checked + .tdv__carte-corps::after{border-color:var(--tor-bleu);background-color:var(--tor-bleu);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.tdv__carte input:focus-visible + .tdv__carte-corps{outline:3px solid var(--tor-bleu);outline-offset:2px}
@media (hover:hover) and (pointer:fine){
  .tdv__carte:hover .tdv__carte-corps{border-color:var(--tor-bleu)}
}

/* questions Oui / Non : une ligne, deux ou trois petits boutons */
.tdv__oui-non{display:grid;border-top:1px solid var(--tor-trait)}
.tdv__on{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--tor-trait)}
.tdv__plus .tdv__on{border:0;padding:.2rem 0}
.tdv__on-q{font:600 .98rem/1.3 var(--archivo);color:var(--tor-encre)}
.tdv__on-choix{display:flex;gap:.35rem}
.tdv__on label{position:relative;cursor:pointer}
.tdv__on input{position:absolute;opacity:0;width:1px;height:1px}
.tdv__on label span{display:inline-flex;align-items:center;justify-content:center;min-width:4.2rem;min-height:44px;padding:0 .9rem;border:1px solid var(--tor-champ);border-radius:999px;background:var(--tor-surface);font:600 .92rem var(--archivo);color:var(--tor-encre);transition:background 160ms var(--ease-out),border-color 160ms var(--ease-out),color 160ms var(--ease-out)}
.tdv__on input:checked + span{background:var(--tor-bleu);border-color:var(--tor-bleu);color:#fff}
.tdv__on input:focus-visible + span{outline:3px solid var(--tor-bleu);outline-offset:2px}

/* le « plus » replié : surfaces exactes, date à respecter */
.tdv__plus{border:1px solid var(--tor-trait);border-radius:var(--tor-rayon-champ);background:var(--tor-papier)}
.tdv__plus summary{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:0 1rem;font:600 .95rem var(--archivo);color:var(--tor-bleu);cursor:pointer;list-style:none}
.tdv__plus summary::-webkit-details-marker{display:none}
.tdv__plus summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border:1px solid var(--tor-bleu);border-radius:999px;font-size:1rem;line-height:1;transition:transform 200ms var(--ease-out)}
.tdv__plus[open] summary::before{transform:rotate(45deg)}
.tdv__plus summary:focus-visible{outline:3px solid var(--tor-bleu);outline-offset:2px;border-radius:var(--tor-rayon-champ)}
.tdv__plus-corps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.6rem 1.2rem;padding:.3rem 1rem 1rem}
.tdv__plus-corps--pile{grid-template-columns:1fr;gap:1rem}
.tdv__surf{display:grid;grid-template-columns:1fr 7.5rem;align-items:center;gap:.6rem;font-size:.95rem;color:var(--tor-encre)}
.tdv__surf--total{font-weight:600}

/* champs */
.tdv__label{margin:0;padding:0;font:700 1rem/1.35 var(--archivo);color:var(--tor-encre)}
.tdv__requis{color:var(--tor-erreur)}
.tdv__mention{font:400 .82rem var(--plex);color:var(--tor-encre-2)}
.tdv input[type=text],.tdv input[type=email],.tdv input[type=tel],.tdv input[type=number],.tdv input[type=date],.tdv textarea{
  width:100%;min-height:52px;padding:.75rem .95rem;border:1px solid var(--tor-champ);border-radius:var(--tor-rayon-champ);background:var(--tor-surface);color:var(--tor-encre);font:400 16px/1.4 var(--plex);transition:border-color 160ms var(--ease-out),box-shadow 160ms var(--ease-out)}
.tdv textarea{min-height:7rem;resize:vertical;line-height:1.55}
.tdv input:focus,.tdv textarea:focus{outline:none;border-color:var(--tor-bleu);box-shadow:0 0 0 3px rgb(30 63 111 / 22%)}
.tdv input::placeholder,.tdv textarea::placeholder{color:#7b8190}
.tdv input[type=number]{-moz-appearance:textfield;appearance:textfield}
.tdv input[type=number]::-webkit-inner-spin-button,.tdv input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tdv__unite{position:relative;display:block}
.tdv__unite input{padding-right:2.6rem}
.tdv__unite > span{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);color:var(--tor-encre-2);pointer-events:none}
.tdv__si{margin-top:-.2rem}
.tdv__duo{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}
.tdv__duo--cp{grid-template-columns:9rem 1fr}

/* dépôt de fichiers */
.tdv__depot{position:relative;display:flex;align-items:center;gap:1rem;min-height:96px;padding:1rem 1.2rem;border:1.5px dashed var(--tor-champ);border-radius:var(--tor-rayon-carte);background:var(--tor-papier);cursor:pointer;transition:border-color 160ms var(--ease-out),background 160ms var(--ease-out)}
.tdv__depot::before{content:"";flex:none;width:2.8rem;height:2.8rem;border-radius:999px;background:var(--tor-bleu) center/1.3rem no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2.5h6L17 8h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E")}
.tdv__depot:hover{border-color:var(--tor-bleu);background:var(--tor-surface)}
.tdv__depot input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.tdv__depot:focus-within{outline:3px solid var(--tor-bleu);outline-offset:2px}
.tdv__depot-txt{display:grid;gap:.15rem}
.tdv__depot-txt strong{font:700 1rem var(--archivo);color:var(--tor-bleu)}
.tdv__depot-txt span{font-size:.88rem;color:var(--tor-encre-2)}
.tdv:not(.tdv--js) .tdv__depot input{position:static;opacity:1;height:auto}
.is-charge .tdv__depot{opacity:.6;pointer-events:none}
.is-charge .tdv__depot-txt strong::after{content:" — préparation…"}
.tdv__fichiers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.5rem}
.tdv__fichiers:empty{display:none}
.tdv__fichier{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:.7rem;padding:.35rem;border:1px solid var(--tor-trait);border-radius:var(--tor-rayon-champ);background:var(--tor-surface)}
.tdv__fichier img,.tdv__fichier-ic{width:3rem;height:3rem;border-radius:6px;object-fit:cover}
.tdv__fichier-ic{display:flex;align-items:center;justify-content:center;background:var(--tor-papier-2);font:700 .7rem var(--archivo);color:var(--tor-encre-2)}
.tdv__fichier-nom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--tor-encre)}
.tdv__fichier-retirer{min-height:44px;padding:0 .8rem;border:0;border-radius:999px;background:transparent;color:var(--tor-erreur);font:600 .85rem var(--archivo);cursor:pointer}
.tdv__fichier-retirer:hover{background:#f7e9e8}

/* récapitulatif au dernier écran (téléphone seulement : sur ordinateur, la fiche est à côté) */
.tdv__recap{padding:1rem 1.1rem;background:var(--tor-papier);border:1px solid var(--tor-trait);border-left:3px solid var(--tor-or);border-radius:var(--tor-rayon-champ)}
@media (min-width:901px){ .tdv__recap{display:none !important} }

/* consentement */
.tdv__accord{padding-top:1.1rem;border-top:1px solid var(--tor-trait)}
.tdv__case{display:grid;grid-template-columns:1.5rem 1fr;gap:.75rem;align-items:start;font-size:.95rem;line-height:1.5;color:var(--tor-encre);cursor:pointer}
.tdv__case input{width:1.35rem;height:1.35rem;margin:.1rem 0 0;accent-color:var(--tor-bleu)}
.tdv__case a{color:var(--tor-bleu);white-space:nowrap}
/* Turnstile fait 300 px fixes (dans un shadow DOM) : réduit à la largeur de la carte
   sur les petits écrans ; --k est posé par tor-devis.js */
.tdv__robot{--k:1;margin-bottom:calc((var(--k) - 1) * 65px)}
.tdv__robot > *{transform:scale(var(--k));transform-origin:0 0}

/* erreurs */
.tdv__err{margin:0;font-size:.9rem;line-height:1.45;color:var(--tor-erreur);font-weight:500}
.tdv__err:empty{display:none}
.tdv__err::before{content:"! ";font-weight:800}
.is-invalide .tdv__carte-corps,.is-invalide input[type=text],.is-invalide input[type=email],.is-invalide input[type=tel],.is-invalide input[type=number]{border-color:var(--tor-erreur)}
.is-invalide .tdv__label{color:var(--tor-erreur)}
.tdv__err--global{padding:.8rem 1rem;border-radius:var(--tor-rayon-champ);background:#f7e9e8}

/* navigation */
.tdv__nav{display:flex;gap:.6rem;align-items:center;margin-top:.4rem;padding-top:1.1rem;border-top:1px solid var(--tor-trait)}
.tdv:not(.tdv--js) .tdv__nav{display:none}
.tdv:not(.tdv--js) .tdv__ecran:last-child .tdv__nav{display:flex}
.tdv:not(.tdv--js) .tdv__retour,.tdv:not(.tdv--js) .tdv__passer{display:none}
/* écran à avance automatique : « Continuer » n'apparaît qu'une fois un choix fait (retour en arrière) */
.tdv__ecran[data-auto]:not(.a-reponse) .tdv__suite--auto{display:none}
.tdv__ecran[data-ecran="1"]:not(.a-reponse) .tdv__nav{display:none}
.tdv__suite,.tdv__retour,.tdv__passer{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:52px;padding:0 1.5rem;border-radius:999px;font:700 1rem var(--archivo);cursor:pointer;transition:background 180ms var(--ease-out),color 180ms var(--ease-out),transform 160ms var(--ease-out)}
.tdv__suite{margin-left:auto;border:0;background:var(--tor-bleu);color:#fff;min-width:11rem}
.tdv__suite:hover{background:var(--tor-bleu-clair)}
.tdv__suite:disabled{opacity:.7;cursor:progress}
.tdv__retour{padding:0 1rem 0 .7rem;border:0;background:transparent;color:var(--tor-encre-2)}
.tdv__retour:hover{color:var(--tor-encre);background:var(--tor-papier-2)}
.tdv__passer{border:1px solid var(--tor-trait);background:transparent;color:var(--tor-encre-2)}
.tdv__passer:hover{border-color:var(--tor-encre-2);color:var(--tor-encre)}
.tdv__suite:active,.tdv__retour:active,.tdv__passer:active{transform:scale(.97)}
.tdv__suite:focus-visible,.tdv__retour:focus-visible,.tdv__passer:focus-visible{outline:3px solid var(--tor-or);outline-offset:2px}

/* confirmation */
.tdv__merci{padding:1.6rem 1.4rem;border-radius:var(--tor-rayon-carte);background:#e8f1ec;border-left:4px solid var(--tor-succes);outline:none}
.tdv__merci p{margin:0;font-size:1.05rem;line-height:1.55;color:var(--tor-encre)}
.tdv__merci-titre{margin-bottom:.4rem !important;font:800 1.3rem var(--archivo) !important;color:var(--tor-succes) !important}

@media (max-width:560px){
  .tdv__duo,.tdv__duo--cp{grid-template-columns:1fr}
  /* minmax(0,1fr) : un mot long ne doit pas élargir la colonne au-delà de la carte */
  .tdv__cartes--court{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tdv__cartes--court .tdv__carte-corps{padding:.7rem 2.2rem .7rem .85rem}
  .tdv__cartes--court .tdv__carte-corps::after{right:.75rem}
  /* téléphone : « Continuer » pleine largeur en premier, Retour et Passer dessous */
  .tdv__nav{flex-wrap:wrap;justify-content:space-between}
  .tdv__suite{order:-1;flex:1 1 100%;min-width:0;margin-left:0}
  .tdv__retour,.tdv__passer{min-height:46px}
  .tdv__passer{margin-left:auto}
  .tdv__on{flex-direction:column;align-items:flex-start}
  .tdv__surf{grid-template-columns:1fr 7rem}
}
@media (max-width:370px){
  .tdv__cartes--court{grid-template-columns:minmax(0,1fr)}   /* 320-360 px : deux colonnes trop serrées */
}
@media (prefers-reduced-motion:reduce){
  .tdv--js .tdv__ecran.is-active{animation:tdv-fondu 160ms ease}
  @keyframes tdv-fondu{from{opacity:0}}
  .tdv__fiche-liste .est-neuve{animation:none}
  .tdv__barre-fil,.tdv__carte-corps,.ctc__btn,.tdv__suite,.tdv__plus summary::before{transition:none}
}
