/* TC Voiture — hub « Location de voiture ». Palette commune aux hubs (eSIM, A à Z) : crème, terre cuite, or, cyprès. */
.tcv{--ink:#1A1612;--ink2:#3d342b;--mut:#7a6d5f;--line:#e8dfd0;--cream:#FBF6EE;--sand:#f5ead9;--terra:#8B3A1A;--terra2:#A8481F;--gold:#C9973A;--green:#2D4A2D;--r:16px;--sh:0 6px 22px rgba(26,22,18,.07);
  background:var(--cream);color:var(--ink);padding:44px 20px 60px;border-radius:0;box-sizing:border-box}
.tcv *,.tcv *::before,.tcv *::after{box-sizing:border-box}
.tcv-inner{max-width:1240px;margin:0 auto}
.tcv-i{width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:-.16em}
.tcv-mut{color:var(--mut);font-size:.92rem;line-height:1.55;margin:0}
.tcv-fine{font-size:.76rem;color:#a89a89;line-height:1.5;margin:10px 0 0}
.tcv-fine--c{text-align:center;margin-top:8px}
.tcv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tcv a{text-decoration:none}
.tcv-h2{font-size:1.55rem;line-height:1.2;color:var(--ink);margin:0 0 10px}

/* En-tête */
.tcv-hero{max-width:820px;margin:0 auto 34px;text-align:center}
.tcv-h1{font-size:2.1rem;line-height:1.15;color:var(--ink);margin:0 0 14px;text-wrap:balance}
.tcv-intro{font-size:1.04rem;line-height:1.7;color:var(--ink2);margin:0 auto}
.tcv-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;list-style:none;margin:18px 0 0;padding:0}
.tcv-facts li{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.8rem;font-weight:600;color:var(--ink2)}
.tcv-facts .tcv-i{color:var(--terra)}

/* Grille principale + sidebar */
.tcv-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
.tcv-main{display:flex;flex-direction:column;gap:38px;min-width:0}
.tcv-side{position:sticky;top:calc(var(--tcv-stick,96px));align-self:start;min-width:0}
body.admin-bar .tcv-side{top:calc(var(--tcv-stick,96px) + 32px)}
.tcv-side-in{display:flex;flex-direction:column;gap:18px}
.tcv-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.tcv-box-t{display:block;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);font-weight:800;margin:0 0 12px}
.tcv-hubs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tcv-hubs li+li{border-top:1px dashed var(--line)}
.tcv-hubs a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;color:var(--ink2);font-weight:600;font-size:.9rem;transition:color .15s}
.tcv-hubs a:hover{color:var(--terra)}
.tcv-hubs .tcv-i{color:var(--gold)}
/* Ligne unique de logos en bas de page (défile horizontalement si l'écran est trop étroit) */
.tcv-strip{list-style:none;margin:44px 0 0;padding:14px 4px;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:14px 34px;overflow-x:auto;border-top:1px solid var(--line)}
.tcv-strip li{flex:0 0 auto}
.tcv-strip a{display:flex;align-items:center;justify-content:center;height:40px;opacity:.7;filter:grayscale(1);transition:opacity .15s,filter .15s}
.tcv-strip a:hover{opacity:1;filter:none}
.tcv-strip img{height:30px;width:auto;max-width:120px;object-fit:contain}
.tcv-ban{max-width:100%}
.tcv-ban--article{max-width:900px;margin:0 auto;width:100%}
/* (aucune règle sur « .tcv-ban img » : elle écrasait la hauteur du logo des bannières du registre) */

/* Notre choix */
.tcv-win{position:relative;display:flex;align-items:center;gap:26px;background:linear-gradient(120deg,var(--terra),var(--terra2));border-radius:20px;padding:34px 34px 30px;color:#fff;box-shadow:0 12px 32px rgba(139,58,26,.26)}
.tcv-win-b{position:absolute;top:-14px;left:30px;display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:var(--cream);font-size:.78rem;font-weight:700;padding:7px 16px;border-radius:999px;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.tcv-win-b .tcv-i{color:var(--gold)}
.tcv-win-body{flex:1;min-width:0}
.tcv-win-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.tcv-win-logo{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#fff;padding:4px;flex:0 0 auto}
.tcv .tcv-win-n{font-size:1.5rem;font-weight:700;line-height:1.2;margin:0;color:#fff}
.tcv-win-t{margin:0;font-size:.97rem;line-height:1.62;color:rgba(255,255,255,.94)}
.tcv-win-f{margin:10px 0 0;font-size:.72rem;color:rgba(255,255,255,.72)}
.tcv .tcv-win-cta,.tcv .tcv-win-cta:hover{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--terra);font-weight:800;font-size:.94rem;padding:14px 22px;border-radius:10px;white-space:nowrap;transition:transform .15s}
.tcv .tcv-win-cta:hover{transform:scale(1.03)}

/* Cards */
.tcv-top{display:flex;flex-direction:column;gap:38px;margin-bottom:38px;min-width:0}
.tcv-grid-c{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px 24px}
.tcv-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 22px 22px;min-width:0;box-shadow:var(--sh);transition:transform .18s,box-shadow .18s,border-color .18s}
.tcv-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(139,58,26,.13);border-color:#d8c3a5}
.tcv-card.is-win{border-color:var(--gold);box-shadow:0 8px 26px rgba(201,151,58,.22)}
.tcv-badge{position:absolute;top:-12px;left:22px;max-width:calc(100% - 44px);background:linear-gradient(135deg,var(--terra),var(--terra2));color:#fff;font-size:.72rem;font-weight:700;padding:6px 14px;border-radius:999px;box-shadow:0 3px 10px rgba(139,58,26,.32)}
.tcv-card-top{display:flex;align-items:center;gap:14px;margin:6px 0 12px}
.tcv-logo{width:58px;height:58px;object-fit:contain;border-radius:12px;border:1px solid #f0e9dc;padding:4px;background:#fff;flex:0 0 auto}
.tcv-card-tt{min-width:0}
.tcv .tcv-nom{font-size:1.32rem;margin:0 0 4px;color:var(--ink)}
.tcv-type{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--green);background:#e8f0e4;border-radius:6px;padding:3px 8px}
.tcv-price{margin:0 0 10px;font-size:1.02rem;font-weight:800;color:var(--terra)}
.tcv-desc-w{margin:0 0 12px}
.tcv-desc{margin:0;font-size:.92rem;line-height:1.6;color:#6b5f52;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.tcv-desc-w.is-open .tcv-desc{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.tcv .tcv-desc-t{appearance:none;cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;color:var(--terra);background:none;border:0;padding:4px 0 0;text-decoration:underline;text-underline-offset:2px}
.tcv .tcv-desc-t[hidden]{display:none}
.tcv-more{margin:0 0 16px;border-top:1px solid #f0e9dc;padding-top:2px}
.tcv-more>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:.84rem;font-weight:800;color:var(--ink2)}
.tcv-more>summary::-webkit-details-marker{display:none}
.tcv-more>summary::after{content:'+';font-size:1.1rem;font-weight:700;color:var(--terra);line-height:1}
.tcv-more[open]>summary::after{content:'−'}
.tcv-more[open]{padding-bottom:2px}
.tcv-pts{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:7px}
.tcv-pts li{display:flex;gap:9px;align-items:flex-start;font-size:.88rem;line-height:1.4;color:var(--ink2)}
.tcv-pts .tcv-i{color:var(--green);margin-top:.15em}
.tcv-ideal{margin:0 0 10px;font-size:.84rem;color:var(--ink2);background:var(--cream);border-radius:10px;padding:9px 12px}
.tcv-ideal b{color:var(--terra)}
.tcv-specs{margin:0;padding:2px 0;align-content:start}
.tcv-specs>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:7px 0}
.tcv-specs>div+div{border-top:1px dashed #efe6d6}
.tcv-specs dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#a89a89;font-weight:700;margin:0;padding-top:2px}
.tcv-specs dd{margin:0;font-size:.82rem;color:#2a231c;font-weight:500;line-height:1.4}
.tcv .tcv-cta,.tcv .tcv-cta:hover{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--terra);color:#fff;font-weight:800;font-size:.94rem;padding:14px 18px;border-radius:10px;margin-top:auto;box-shadow:0 4px 14px rgba(139,58,26,.24);transition:background .15s,transform .15s;text-align:center}
.tcv .tcv-cta:hover{background:var(--terra2);transform:scale(1.015)}
.tcv-empty{text-align:center;color:var(--mut);background:#fff;border:1px dashed var(--line);border-radius:var(--r);padding:26px}

/* Comparatif */
.tcv-cmp-w{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh)}
.tcv-cmp-t{width:100%;border-collapse:collapse;min-width:640px}
.tcv-cmp-t thead th{background:var(--sand);color:var(--ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;text-align:left;padding:13px 16px;white-space:nowrap}
.tcv-cmp-t td,.tcv-cmp-t tbody th{padding:13px 16px;border-top:1px solid #f0e9dc;font-size:.86rem;color:#2a231c;vertical-align:middle;text-align:left;font-weight:500;background:transparent}
.tcv-cmp-t tbody tr.is-win{background:rgba(201,151,58,.1)}
.tcv-cmp-b{display:flex;align-items:center;gap:10px;white-space:nowrap}
.tcv-cmp-b img{width:30px;height:30px;object-fit:contain;border:1px solid #f0e9dc;border-radius:7px;padding:2px;background:#fff}
.tcv-cmp-b b{font-weight:800;color:var(--ink)}
.tcv-cmp-b em{font-style:normal;font-size:.66rem;font-weight:800;color:#fff;background:var(--terra);border-radius:999px;padding:2px 8px}
.tcv-cmp-a{text-align:right !important;white-space:nowrap}
.tcv .tcv-cmp-a a{display:inline-flex;align-items:center;gap:6px;background:var(--terra);color:#fff;font-weight:800;font-size:.8rem;padding:8px 14px;border-radius:8px}
.tcv .tcv-cmp-a a:hover{background:var(--terra2);color:#fff}

/* Quiz */
.tcv-quiz{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--sh)}
.tcv-quiz-f{display:flex;flex-direction:column;gap:18px;margin-top:20px}
.tcv-q{border:0;margin:0;padding:0;min-width:0}
.tcv-q legend{font-weight:800;font-size:.95rem;color:var(--ink);margin:0 0 9px;padding:0}
.tcv-q-o{display:flex;flex-wrap:wrap;gap:8px}
.tcv .tcv-opt{appearance:none;cursor:pointer;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink2);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;transition:border-color .15s,background .15s,color .15s}
.tcv .tcv-opt:hover{border-color:var(--gold);color:var(--ink)}
.tcv .tcv-opt.is-on{background:var(--terra);border-color:var(--terra);color:#fff}
.tcv-quiz-r{margin-top:24px;padding:22px;background:linear-gradient(135deg,var(--cream),var(--sand));border-radius:14px}
.tcv-quiz-k{margin:0 0 6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--mut)}
.tcv .tcv-res h3{font-size:1.5rem;margin:0 0 6px;color:var(--terra)}
.tcv-res p{margin:0;font-size:.94rem;line-height:1.6;color:var(--ink2)}
.tcv-tips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.tcv-tips li{display:flex;gap:9px;font-size:.86rem;line-height:1.5;color:var(--ink2)}
.tcv-tips li[hidden],.tcv-res[hidden],.tcv-quiz-r[hidden]{display:none}
.tcv-tips .tcv-i{color:var(--green);margin-top:.2em}
.tcv-quiz-a{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tcv .tcv-btn,.tcv .tcv-btn:hover{appearance:none;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:8px;background:var(--terra);color:#fff;border:1.5px solid var(--terra);font-weight:800;font-size:.88rem;padding:11px 20px;border-radius:10px;transition:background .15s}
.tcv .tcv-btn:hover{background:var(--terra2)}
.tcv .tcv-btn--ghost,.tcv .tcv-btn--ghost:hover{background:transparent;color:var(--terra)}
.tcv .tcv-btn--ghost:hover{background:rgba(139,58,26,.07)}

/* Comparateurs en direct */
.tcv-live{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--sh);min-width:0}
.tcv-live-h{margin-bottom:12px}
.tcv-lw-l{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-bottom:12px;font-size:.84rem}
.tcv-chips{display:flex;flex-wrap:wrap;gap:6px}
.tcv .tcv-chip{appearance:none;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;font-size:.74rem;font-weight:700;letter-spacing:.03em;color:var(--ink2);background:#fff;border:1.5px solid var(--line);border-radius:999px;transition:border-color .15s,background .15s}
.tcv .tcv-chip:hover{border-color:var(--gold)}
.tcv .tcv-chip.is-on{background:var(--terra);border-color:var(--terra);color:#fff}
/* drapeaux dessinés en CSS (les emoji drapeaux ne s'affichent pas sous Windows) */
.tcv-chip[data-kl]::before{content:"";flex:0 0 auto;width:19px;height:13px;border-radius:2.5px;box-shadow:0 0 0 1px rgba(26,22,18,.22);background-size:100% 100%}
.tcv-chip[data-kl].is-on::before{box-shadow:0 0 0 1.5px rgba(255,255,255,.9)}
.tcv-chip[data-kl="fr"]::before{background:linear-gradient(90deg,#0055A4 33.33%,#fff 33.33% 66.66%,#EF4135 66.66%)}
.tcv-chip[data-kl="it"]::before{background:linear-gradient(90deg,#009246 33.33%,#fff 33.33% 66.66%,#CE2B37 66.66%)}
.tcv-chip[data-kl="de"]::before{background:linear-gradient(180deg,#000 33.33%,#DD0000 33.33% 66.66%,#FFCE00 66.66%)}
.tcv-chip[data-kl="nl"]::before{background:linear-gradient(180deg,#AE1C28 33.33%,#fff 33.33% 66.66%,#21468B 66.66%)}
.tcv-chip[data-kl="es"]::before{background:linear-gradient(180deg,#AA151B 25%,#F1BF00 25% 75%,#AA151B 75%)}
.tcv-chip[data-kl="pl"]::before{background:linear-gradient(180deg,#fff 50%,#DC143C 50%)}
.tcv-chip[data-kl="pt"]::before{background:linear-gradient(90deg,#006600 40%,#FF0000 40%)}
.tcv-chip[data-kl="en"]::before{background:linear-gradient(180deg,transparent 40%,#C8102E 40% 60%,transparent 60%),linear-gradient(90deg,transparent 43%,#C8102E 43% 57%,transparent 57%),linear-gradient(180deg,transparent 32%,#fff 32% 68%,transparent 68%),linear-gradient(90deg,transparent 38%,#fff 38% 62%,transparent 62%),linear-gradient(to top right,transparent 44%,#C8102E 44% 50%,#fff 50% 56%,transparent 56%),linear-gradient(to bottom right,transparent 44%,#C8102E 44% 50%,#fff 50% 56%,transparent 56%),#012169}
.tcv-lw{min-width:0}
.tcv-lw-w{min-width:0}
.tcv-lw--full .tcv-lw-w{min-height:420px;width:100%;overflow:visible}
.tcv-lw--full .tcv-lw-w>*{max-width:100%}
.tcv-lw-w .tci-car-widget-wrap{margin:0}
.tcv-lw-w .tci-car-guide-link{font-size:.84rem;color:var(--mut);margin:12px 0 0}
.tcv-lw-w .tci-car-guide-link a{color:var(--terra);text-decoration:underline}

/* Article-conteneur : cadre parchemin, typographie de lecture */
.tcv-art{background:linear-gradient(180deg,#fffdf8,#fbf5e9);border:1px solid #e6d9bf;border-radius:20px;box-shadow:0 10px 30px rgba(26,22,18,.08);overflow:hidden}
.tcv-art-h{padding:28px 34px 20px;border-bottom:1px solid #eadfc8;background:linear-gradient(120deg,rgba(201,151,58,.14),rgba(201,151,58,.03))}
.tcv-art-k{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:6px}
.tcv .tcv-art-t{font-size:1.7rem;line-height:1.2;margin:0;color:var(--ink);text-wrap:balance}
.tcv-art-c{padding:26px 34px 32px;font-size:1rem;line-height:1.75;color:var(--ink2);overflow-wrap:break-word}
.tcv-art-c>*:first-child{margin-top:0}
.tcv-art-c h2,.tcv-art-c h3,.tcv-art-c h4,.tcv-art-c h5,.tcv-art-c h6{color:var(--ink);line-height:1.25;margin:1.7em 0 .55em}
.tcv-art-c h2{font-size:1.55rem;padding-bottom:.35em;border-bottom:2px solid rgba(201,151,58,.45)}
.tcv-art--seo .tcv-art-c{padding-top:30px}
.tcv-art-c h3{font-size:1.4rem;padding-bottom:.35em;border-bottom:2px solid rgba(201,151,58,.45)}
.tcv-art-c h4{font-size:1.15rem;color:var(--terra)}
.tcv-art-c h5,.tcv-art-c h6{font-size:1rem}
.tcv-art-c p{margin:0 0 1.05em}
.tcv-art-c a{color:var(--terra);text-decoration:underline;text-underline-offset:2px}
.tcv-art-c ul,.tcv-art-c ol{margin:0 0 1.1em 1.3em;padding:0}
.tcv-art-c li{margin:.25em 0}
.tcv-art-c img{max-width:100%;height:auto;border-radius:12px}
.tcv-art-c figure{margin:1.4em 0}
.tcv-art-c figcaption{font-size:.8rem;color:var(--mut);text-align:center;margin-top:6px}
.tcv-art-c blockquote{margin:1.4em 0;padding:14px 20px;border-left:4px solid var(--gold);background:rgba(201,151,58,.09);border-radius:0 12px 12px 0}
.tcv-art-c table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.3em 0;display:block;overflow-x:auto}
.tcv-art-c th,.tcv-art-c td{border:1px solid #eadfc8;padding:9px 12px;text-align:left}
.tcv-art-c th{background:var(--sand)}
.tcv-art-c .wp-block-button__link{background:var(--terra);color:#fff;border-radius:10px;text-decoration:none}

/* Maillage « Pour aller plus loin » : liste manuelle (Titre|URL), même fonctionnement que les autres hubs (eSIM, Assurance, Ferry) */
.tcv-articles{border-top:1px solid var(--line);padding-top:28px}
.tcv-articles-label{font-weight:700;color:var(--ink);margin:0 0 10px}
.tcv-articles ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tcv-articles a{color:var(--terra);text-decoration:none;font-size:.92rem}
.tcv-articles a:hover{text-decoration:underline}
.tcv-faq{min-width:0}

/* ── Bouton flottant « voir nos recommandations » — attaché à <body> par tcv.js,
   jamais rendu dans le HTML du hub (une position:fixed descendante de .entry-content
   peut hériter d'une mise en page ancêtre qui casse son positionnement, bug corrigé
   sur tc-circuits le 27/09/2026). Couleurs en dur (pas var(--terra), scopée à .tcv,
   absente ici puisque le bouton vit hors de .tcv) — même patron que .tcag-jump-footer. ── */
.tcv-jump-footer{position:fixed;right:24px;bottom:24px;z-index:500;display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border:none;border-radius:30px;background:#8B3A1A;color:#fff;font-family:inherit;font-size:.84rem;font-weight:600;box-shadow:0 6px 20px rgba(26,22,18,.25);cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,background .15s ease}
.tcv-jump-footer.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.tcv-jump-footer:hover{background:#A8481F}
@media (max-width:640px){.tcv-jump-footer{right:14px;bottom:14px;padding:9px 16px;font-size:.78rem}}
@media (prefers-reduced-motion:reduce){.tcv-jump-footer{transition:none}}

@media (max-width:1080px){
  .tcv-grid{grid-template-columns:minmax(0,1fr)}
  .tcv-side{position:static}
  .tcv-side-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
  .tcv-side-in>.tcv-ban{grid-column:1 / -1}
}
@media (max-width:760px){
  .tcv{padding:30px 14px 44px}
  .tcv-h1{font-size:1.6rem}
  .tcv-grid-c{grid-template-columns:minmax(0,1fr)}
  .tcv-win{flex-direction:column;align-items:stretch;text-align:center;padding:30px 20px 24px;gap:16px}
  .tcv-win-head{flex-direction:column}
  .tcv .tcv-win-cta{justify-content:center;white-space:normal}
  .tcv-quiz,.tcv-live{padding:20px 16px}
  .tcv-art-h{padding:22px 20px 16px}.tcv-art-c{padding:20px 20px 26px}
  .tcv .tcv-art-t{font-size:1.35rem}
  .tcv-side-in{grid-template-columns:minmax(0,1fr)}
  .tcv-h2{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){.tcv *{transition:none !important}}

/* Recherche Discovercars en iframe (27/10/2026) */
.tcv-dc-bar{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;margin-bottom:12px}
.tcv-dc-dates{display:grid;grid-template-columns:repeat(2,minmax(0,150px));gap:6px 10px;align-items:end}
.tcv-dc-dates label{display:flex;flex-direction:column;gap:4px;font-size:12.5px}
.tcv-dc-dates input{width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font:inherit;font-size:14px}
.tcv-dc-dates small{grid-column:1 / -1;font-size:11.5px}
.tcv-lw--dcf .tcv-lw-w{margin-top:10px}
.tcv-dc-frame{display:block;width:100%;border:0;border-radius:14px;background:#F2EDE4}
@media (max-width:639px){.tcv-dc-dates{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.tcv-dc-frame{border-radius:10px}}

/* ── Hub voiture dans le gabarit commun (31/10/2026) : formulaire du bandeau, attente, comparatif sous la liste ── */
.tcv-hv-form { display: grid; grid-template-columns: .8fr 1.75fr 1.75fr .5fr .85fr auto; gap: 6px; align-items: stretch; margin: 18px 0 0; padding: 6px; border-radius: 22px; background: var(--color-parch-50, #FCFBF8); box-shadow: 0 18px 40px -18px rgb(0 0 0 / .7); max-width: 1040px; }
.tcv-hv-f { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 7px 12px; border-radius: 16px; background: #F2EDE4; }
.tcv-hv-f > span:first-child { font: 600 10.5px/1.2 var(--font-sans, Inter, sans-serif); letter-spacing: .07em; text-transform: uppercase; color: #6B6257; }
.tcv-hv-f select, .tcv-hv-f input { border: 0; outline: 0; background: transparent; font: 600 14.5px var(--font-sans, Inter, sans-serif); color: #14110E; padding: 2px 0; min-width: 0; width: 100%; box-shadow: none; }
.tcv-hv-dt { display: grid; grid-template-columns: minmax(0, 1fr) 66px; gap: 4px; }
.tcv-hv-dt input { font-size: 13.5px; letter-spacing: -.01em; }
.tcv-hv-dt input[type="date"]::-webkit-calendar-picker-indicator, .tcv-hv-dt input[type="time"]::-webkit-calendar-picker-indicator { margin-left: 2px; opacity: .55; }
.tcv-hv-go { border: 0; border-radius: 16px; background: linear-gradient(180deg, #E2BC5E, #C9973A); color: #14110E; font: 700 15px var(--font-sans, Inter, sans-serif); padding: 0 22px; cursor: pointer; }
.tcv-hv-go:hover { filter: brightness(1.05); }
@media (max-width: 1100px) { .tcv-hv-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .tcv-hv-f--air, .tcv-hv-go { grid-column: 1 / -1; } .tcv-hv-go { padding: 13px; } }
@media (max-width: 560px) { .tcv-hv-form { grid-template-columns: minmax(0, 1fr); } .tcv-hv-f--age { } }
.tcv-hv-wait { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; padding: 48px 16px; color: #6B6257; font-size: 14px; }
.tcv-hv-wait b { color: #14110E; font-size: 16px; }
.tcv-hv-spin { width: 26px; height: 26px; border-radius: 50%; border: 3px solid #E6DECF; border-top-color: #C9973A; animation: tcv-hv-spin .8s linear infinite; }
@keyframes tcv-hv-spin { to { transform: rotate(360deg); } }
.tcv--inhub { margin-top: 40px; }
.tcv-hv-intro { max-width: 70ch; color: #4A4035; margin: 0 0 18px; }

/* ── Hub voiture : 3 colonnes de voitures + colonne « Autres plateformes » (31/10/2026) ── */
body.tc-theme .tchb--voiture .tchb-split.has-aside { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
body.tc-theme .tchb--voiture .tchb-split.has-aside .tchb-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.tc-theme .tchb--voiture .tchb-aside { position: sticky; top: 92px; min-width: 0; }
body.tc-header-hidden .tchb--voiture .tchb-aside { top: 16px; }
@media (max-width: 1240px) { body.tc-theme .tchb--voiture .tchb-split.has-aside .tchb-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  body.tc-theme .tchb--voiture .tchb-split.has-aside { grid-template-columns: minmax(0, 1fr); }
  body.tc-theme .tchb--voiture .tchb-aside { position: static; order: 2; }
}
@media (max-width: 560px) { body.tc-theme .tchb--voiture .tchb-split.has-aside .tchb-list { grid-template-columns: minmax(0, 1fr); } }
/* image de voiture plus petite, entière, sur fond clair : les photos des loueurs sont de qualité inégale */
body.tc-theme .tchb--voiture .tcx--contain .tcx-media { aspect-ratio: 16 / 9; }
body.tc-theme .tchb--voiture .tcx--contain .tcx-media img { padding: 12px 18px 4px; }
.tcv-hv-side { background: #fff; border: 1px solid #E6DECF; border-radius: 22px; padding: 14px; display: grid; gap: 12px; }
.tcv-hv-side-k { margin: 0; font: 700 11.5px/1.3 var(--font-sans, Inter, sans-serif); letter-spacing: .1em; text-transform: uppercase; color: #9C7226; }
.tcv-hv-side .tccmp-side-choice { margin: 0; }
.tcv-hv-side-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tcv-hv-side-l a { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 14px; text-decoration: none; color: #14110E; border: 1px solid transparent; }
.tcv-hv-side-l a:hover { border-color: #E2BC5E; background: #FCFBF8; }
.tcv-hv-side-l img, .tcv-hv-side-ph { width: 40px; height: 40px; border-radius: 10px; object-fit: contain; background: #F2EDE4; flex: none; }
.tcv-hv-side-t { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.2; }
.tcv-hv-side-t b { font-size: 14px; }
.tcv-hv-side-t small { font-size: 11.5px; color: #6B6257; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tcv-hv-side-t em { font-style: normal; font-size: 10.5px; font-weight: 700; color: #2D4A2D; background: #C9DAC4; border-radius: 99px; padding: 1px 7px; justify-self: start; align-self: flex-start; margin-top: 3px; }
.tcv-hv-side-n { font: 700 15px var(--font-sans, Inter, sans-serif); color: #14110E; flex: none; }
.tcv-hv-side-n small { font-size: 11px; color: #6B6257; font-weight: 500; }
.tcv-hv-side-all { display: block; text-align: center; font-weight: 700; font-size: 13.5px; color: #6E4F18; text-decoration: none; padding: 10px; border-radius: 14px; background: #F2EDE4; }
.tcv-hv-side-all:hover { background: #E6DECF; }
.tcv-hv-tips-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 10px; }
@media (max-width: 700px) { .tcv-hv-tips-g { grid-template-columns: minmax(0, 1fr); } }
.tcv-hv-tip { background: #FCFBF8; border: 1px solid #E6DECF; border-radius: 18px; padding: 14px 16px; }
.tcv-hv-tip b { display: block; font-size: 15px; color: #14110E; margin-bottom: 4px; }
.tcv-hv-tip p { margin: 0; font-size: 14px; color: #4A4035; line-height: 1.55; }
.tcv-hv-tips-more { margin-top: 14px; font-size: 14px; }
/* comparatif : bandeau vers la recherche de voitures */
.tcv-to-search { display: flex; align-items: center; gap: 14px; margin: 16px 0 0; padding: 14px 18px; border-radius: 18px; background: #14110E; color: #F2EDE4; text-decoration: none; }
.tcv-to-search > span:first-child { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #C9973A; color: #14110E; flex: none; }
.tcv-to-search b { color: #E2BC5E; }
.tcv-to-search-go { margin-left: auto; font-weight: 700; white-space: nowrap; color: #E2BC5E; }
@media (max-width: 640px) { .tcv-to-search { flex-wrap: wrap; } .tcv-to-search-go { margin-left: 54px; } }

/* lieu du monde entier (31/10/2026) */
.tcv-hv-world { grid-column: 1 / -1; position: relative; }
.tcv-hv-world[hidden] { display: none; }
.tcv-hv-sugg { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 60; background: #fff; border-radius: 16px; box-shadow: 0 18px 40px -12px rgb(0 0 0 / .45); padding: 6px; display: grid; max-height: 320px; overflow: auto; }
.tcv-hv-sugg[hidden] { display: none; }
.tcv-hv-sugg button { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; border: 0; background: none; text-align: left; padding: 8px 10px; border-radius: 10px; cursor: pointer; color: #14110E; font: 500 14px var(--font-sans, Inter, sans-serif); }
.tcv-hv-sugg button:hover { background: #F2EDE4; }
.tcv-hv-sugg small { color: #6B6257; font-size: 12px; }
/* carte « Notre choix » des plateformes contenue dans la colonne (elle débordait de 90 px à droite) */
body.tc-theme .tcv-hv-side .tccmp-side-choice { width: auto !important; max-width: 100%; margin: 0 !important; box-sizing: border-box; position: static; }
body.tc-theme .tcv-hv-side, body.tc-theme .tchb--voiture .tchb-aside { min-width: 0; overflow: hidden; }
/* une colonne de grille sans minmax(0,1fr) prend la largeur de sa plus longue ligne insécable : on la borne */
.tcv-hv-side { grid-template-columns: minmax(0, 1fr); }
.tcv-hv-side .tccmp-side-choice li, .tcv-hv-side .tccmp-side-choice-h { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.tcv-hv-side .tccmp-side-choice-h > div { min-width: 0; }
/* cards de la grille : note au-dessus, prix en dessous (côte à côte, le prix était écrasé : « 74,50 €pour 7 jours10,64… ») */
body.tc-theme .tchb--voiture .tcx .tcx-side { grid-template-columns: minmax(0, 1fr); }
body.tc-theme .tchb--voiture .tcx .tcx-buy { min-width: 0; }
body.tc-theme .tchb--voiture .tcx .tcx-price { justify-self: stretch; text-align: left; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
body.tc-theme .tchb--voiture .tcx .tcx-price b { font-size: 22px; }
body.tc-theme .tchb--voiture .tcx .tcx-price small { display: inline; white-space: nowrap; }
.tcv-hv-side-l a, .tcv-hv-side-l li { min-width: 0; } .tcv-hv-side-l { grid-template-columns: minmax(0, 1fr); }

/* rotation des bannières des partenaires voiture sous « Quatre repères » (31/10/2026) */
.tcv-hv-ban { margin-top: 22px; }
.tcv-hv-ban-i[hidden] { display: none; }
.tcv-hv-ban-i { animation: tcv-hv-fade .5s ease; }
@keyframes tcv-hv-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tcv-hv-ban-i { animation: none; } }

/* parking d'aéroport (ParkVia), à part dans la colonne (31/10/2026) */
.tcv-hv-park { margin-top: 14px; background: #fff; border: 1px solid #E6DECF; border-radius: 22px; padding: 14px; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); }
.tcv-hv-park .tcv-hv-side-k, .tcv-hv-park-t { margin: 0; }
.tcv-hv-park-t { font-size: 13.5px; color: #4A4035; }
body.tc-theme .tcv-hv-park .tcwr-banner { max-width: 100% !important; width: 100%; margin: 0; }

/* colonne : l'aside s'étire sur la hauteur de la liste, seul le bloc des plateformes colle (le parking au-dessus défile) */
body.tc-theme .tchb--voiture .tchb-aside { position: static; align-self: stretch; overflow: visible; }
body.tc-theme .tchb--voiture .tchb-aside .tcv-hv-side { position: sticky; top: 92px; }
body.tc-header-hidden .tchb--voiture .tchb-aside .tcv-hv-side { top: 16px; }
.tcv-hv-park { margin: 0 0 14px; }
@media (max-width: 900px) { body.tc-theme .tchb--voiture .tchb-aside .tcv-hv-side { position: static; } }
/* le bloc collant se cale SOUS la barre de filtres (elle aussi collante) : mêmes variables que le gabarit */
body.tc-theme .tchb--voiture .tchb-aside .tcv-hv-side, body.tc-header-hidden .tchb--voiture .tchb-aside .tcv-hv-side { top: calc(var(--tchb-top, 72px) + var(--tcv-barh, 64px) + 24px); }
/* bloc collant jamais plus haut que l'écran (défilement interne si besoin) */
@media (min-width: 901px) { body.tc-theme .tchb--voiture .tchb-aside .tcv-hv-side { max-height: calc(100vh - var(--tchb-top, 72px) - var(--tcv-barh, 64px) - 40px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; } }
