/* TKT Estimateur — design aligné sur la one-page TKT (pricing sombre) */
.tkte{--terra:#B73E1E;--terra2:#D2502E;--ink:#1F1B17;--card:#2A2522;--cardline:#3D3631;--cream:#FAF6F0;--muted:#B5A89B;--gold:#F2D27E;max-width:680px;margin:0 auto;font-size:16px;color:var(--ink)}
.tkte h3{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-0.02em;font-size:clamp(20px,3.4vw,26px);margin:6px 0 18px}

/* Étapes */
.tkte-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px;font-size:12px;font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tkte-steps span{padding:7px 13px;border-radius:999px;background:#EFE8DD;color:#9A8F83}
.tkte-steps span.on{background:var(--terra);color:var(--cream)}

/* Cartes */
.tkte-cards{display:grid;gap:16px;margin-bottom:18px}
.tkte-two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tkte-three{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tkte-serv{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:22px 16px}
.tkte-ico{width:58px;height:58px;border-radius:16px;background:#FAE9C6;color:var(--terra2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:background .2s ease,color .2s ease}
.tkte-ico svg{width:30px;height:30px}
.tkte-serv.sel .tkte-ico{background:var(--gold);color:var(--ink)}
.tkte-serv strong{font-size:14px;margin-bottom:4px}
@media (max-width:520px){.tkte-serv{aspect-ratio:auto;min-height:150px}}
.tkte-card{display:block;text-align:center;background:var(--card);color:var(--cream);border:1px solid var(--cardline);border-radius:24px;padding:28px 24px;cursor:pointer;transition:transform .25s ease,background .2s ease;font:inherit;position:relative}
.tkte-card:hover{transform:translateY(-4px)}
.tkte-card.sel{background:var(--terra);border-color:var(--gold);box-shadow:0 0 0 3px var(--gold)}
.tkte-card.sel::after{content:"✓ Sélectionné";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-family:'Archivo',sans-serif;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;white-space:nowrap}
.tkte-card strong{display:block;font-family:'Archivo',sans-serif;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.tkte-card span{color:var(--muted);font-size:14px}
.tkte-card.sel span{color:rgba(250,246,240,.85)}

/* Price cards (formules) */
.tkte-price{padding:36px 28px 28px}
.tkte-price .tkte-price-label{display:block;font-family:'Archivo',sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--cream);opacity:.8;margin-bottom:12px}
.tkte-price .tkte-price-amount{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(84px,13vw,116px);line-height:.95;letter-spacing:-.03em;color:var(--gold);margin-bottom:6px}
.tkte-price .tkte-price-amount em{font-style:normal;font-size:.45em;vertical-align:12px;margin-left:3px}
.tkte-card.sel .tkte-price-amount{color:var(--cream)}
.tkte-price .tkte-price-unit{display:block;font-size:15px;color:var(--muted);margin-bottom:20px}
.tkte-price .tkte-price-inc{display:block;font-size:14px;color:var(--cream);padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}
.tkte-featured:not(.sel)::after{content:"Le plus demandé";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-family:'Archivo',sans-serif;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;white-space:nowrap}
.tkte-price.sel .tkte-price-unit{color:rgba(250,246,240,.8)}

/* Champs */
.tkte-field{display:block;margin:16px 0;font-weight:700;font-size:.92rem;position:relative}
.tkte-field input,.tkte-field select{display:block;width:100%;margin-top:6px;padding:13px 15px;border:1.5px solid #DDD3C4;border-radius:12px;font-size:1rem;font-weight:400;background:#fff;box-sizing:border-box;color:var(--ink)}
.tkte-field input:focus,.tkte-field select:focus{outline:none;border-color:var(--terra2)}
.tkte-suggest{position:absolute;left:0;right:0;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 8px 20px rgba(31,27,23,.14);z-index:50}
.tkte-suggest div{padding:10px 14px;cursor:pointer;font-weight:400;border-bottom:1px solid #F2ECE2}
.tkte-suggest div:hover{background:#FBF0E4}

/* Boutons */
.tkte-next{display:inline-flex;align-items:center;justify-content:center;width:100%;background:var(--ink);color:var(--cream);border:none;border-radius:12px;padding:16px 22px;font-family:'Archivo',sans-serif;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;margin-top:14px;transition:transform .18s ease,box-shadow .18s ease}
.tkte-next:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(31,27,23,.2)}
.tkte-next[disabled]{opacity:.5;cursor:wait;transform:none;box-shadow:none}
.tkte-next.tkte-alt{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.tkte-next.tkte-alt:hover{box-shadow:0 8px 16px rgba(31,27,23,.12)}

/* Notices */
.tkte-notice{background:#FBF0E4;border-left:4px solid var(--terra2);padding:12px 15px;border-radius:8px;font-size:.88rem;line-height:1.5}
.tkte-err{color:#B1261A;font-weight:700}

/* Résultat : panneau sombre façon pricing */
.tkte-recap{background:var(--card);color:var(--cream);border:1px solid var(--cardline);border-radius:24px;padding:26px 24px;margin-bottom:18px}
.tkte-recap p{margin:8px 0}
.tkte-recap a{color:var(--gold)}
.tkte-table{width:100%;border-collapse:collapse;margin:16px 0 10px;font-size:.95rem}
.tkte-table td{padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.12)}
.tkte-table td:last-child{text-align:right;white-space:nowrap}
.tkte-table .tot td{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.5rem;letter-spacing:-.02em;border-bottom:none;border-top:2px solid rgba(255,255,255,.35);color:var(--gold);padding-top:14px}
.tkte-small{font-size:.8rem;color:var(--muted)}
.tkte-recap .tkte-notice{background:rgba(242,210,126,.12);border-left-color:var(--gold);color:var(--cream)}
.tkte-recap .tkte-err{color:#FFD9CE}

/* Bloc d'ajustement de formule */
.tkte-upg{background:var(--terra);color:var(--cream);border-radius:16px;padding:16px 18px;margin:16px 0}
.tkte-upg .tkte-next{background:var(--gold);color:var(--ink);margin-top:12px}
.tkte-upg .tkte-next.tkte-alt{background:transparent;color:var(--cream);border:2px solid var(--cream)}
.tkte-upg a{color:var(--gold)}

/* Formulaire devis */
#tkte-devisform h4{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:17px;margin:24px 0 4px}
#tkte-done p{background:#2F6D3B;color:#EAF6EC;padding:16px 18px;border-radius:14px}
/* Page de remerciement */
.tkte-merci .tkte-recap{margin-bottom:20px}
.tkte-merci-check{width:72px;height:72px;margin:4px auto 16px;background:#2F6D3B;color:#EAF6EC;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:900}
.tkte-merci-titre{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(24px,4.5vw,34px);margin:0 0 14px;color:var(--cream)}
.tkte-merci-date{background:rgba(242,210,126,.14);border-radius:12px;padding:10px 14px;display:inline-block}
.tkte-merci-h3{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:19px;margin:0 0 8px;color:var(--cream)}
.tkte-merci-btns{display:grid;gap:10px}
.tkte-merci-btns .tkte-next{margin-top:0;text-decoration:none}
.tkte-next.tkte-wa{background:#25D366;color:#0B3D22}
.tkte-next.tkte-alt2{background:transparent;color:var(--cream);border:2px solid rgba(250,246,240,.5);text-transform:none;letter-spacing:0}
/* Overrides vignettes services (priorité + couleur) */
.tkte-card.tkte-serv{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px 16px;text-align:center}
.tkte-serv .tkte-ico{margin:0 auto 14px;background:var(--terra2);color:var(--cream);box-shadow:0 6px 14px rgba(210,80,46,.35)}
.tkte-serv:hover .tkte-ico{background:var(--gold);color:var(--ink)}
.tkte-serv.sel .tkte-ico{background:var(--gold);color:var(--ink);box-shadow:0 6px 14px rgba(242,210,126,.35)}
.tkte-serv strong{color:var(--cream)}
.tkte-serv span{max-width:230px}
/* Créneaux matin/après-midi */
.tkte-slot{padding:18px 16px}
.tkte-slot strong{font-size:15px}
#tkte-creneau-wrap>span{display:block;margin-bottom:2px}

/* ===== Révision sélection : bordure nette, plus d'anneau qui déborde ===== */
.tkte-card{border-width:2px}
.tkte-card.sel{background:var(--terra);border-color:var(--gold);box-shadow:none;animation:tktePop .35s ease}
.tkte-serv.sel,.tkte-slot.sel{background:var(--terra);border-color:var(--gold)}
.tkte-featured{border-color:rgba(242,210,126,.45)}
.tkte-featured.sel{border-color:var(--gold)}
@keyframes tktePop{0%{transform:scale(.96)}55%{transform:scale(1.025)}100%{transform:scale(1)}}
.tkte-card.sel::after{animation:tkteBadge .35s ease}
@keyframes tkteBadge{0%{opacity:0;transform:translateX(-50%) translateY(6px)}100%{opacity:1;transform:translateX(-50%) translateY(0)}}
/* Domicile + adresses dynamiques */
.tkte-home{background:#FBF0E4;border-radius:12px;padding:12px 15px;font-size:.93rem;margin:0 0 14px}
.tkte-adr-row>span{display:flex;align-items:center;gap:8px}
.tkte-adr-del{background:none;border:1px solid #C9BDAD;color:#8A7E70;border-radius:8px;width:26px;height:26px;line-height:1;cursor:pointer;font-size:13px;padding:0}
.tkte-adr-del:hover{border-color:#B1261A;color:#B1261A}
.tkte-addadr{background:none;border:2px dashed #C9BDAD;color:#6E6357;border-radius:12px;padding:12px 16px;width:100%;font:inherit;font-weight:700;cursor:pointer;margin:4px 0 10px}
.tkte-addadr:hover{border-color:var(--terra2);color:var(--terra2)}
/* Encart "besoin de plus de temps ?" */
.tkte-more{background:rgba(242,210,126,.12);border:1px solid rgba(242,210,126,.4);border-radius:16px;padding:14px 16px;margin:16px 0}
.tkte-more p{margin:0 0 4px}
.tkte-more-btns{display:grid;gap:8px}
.tkte-more .tkte-next{margin-top:6px;background:transparent;color:var(--cream);border:2px solid rgba(250,246,240,.55)}
.tkte-more .tkte-next:hover{border-color:var(--gold);color:var(--gold);box-shadow:none}
.tkte-upg .tkte-next.tkte-alt{background:transparent;color:var(--cream);border:2px solid var(--cream)}

/* ===== v2.0 : repos = charbon pour TOUTES les cartes, sélection = terracotta net ===== */
.tkte-featured{background:var(--card)}
.tkte-featured.sel{background:var(--terra)}
.tkte-featured .tkte-price-amount{color:var(--gold)}
.tkte-featured.sel .tkte-price-amount{color:var(--cream)}
/* Vignettes services : taille strictement identique */
.tkte-serv,.tkte-card.tkte-serv{aspect-ratio:auto;min-height:235px;height:100%}
.tkte-three{align-items:stretch}
/* Choix de paiement (acompte / totalité) */
.paychoice{margin-top:14px}
.paychoice .btn-second{display:block;text-align:center;margin-top:10px;color:#555;text-decoration:underline;font-size:.92rem}

/* Créneau verrouillé (journée complète) */
.tkte-locked .tkte-slot{opacity:.35;pointer-events:none;filter:grayscale(.5)}
.tkte-locked>span{opacity:.6}
