/* Tourbiz V2 — pages « Alternative à [concurrent] » (template page-alternative.php).
   Chargé uniquement sur ce template. Tout est scopé sous .tba pour ne rien casser
   ailleurs, et chaque règle porte au moins deux classes pour passer devant les
   styles du thème parent (Foundation) et du kit Elementor. */

.tba {
  --tba-teal-hover: #00B192;
  --tba-teal-tint: #E3F8F3;
  --tba-teal-glow: #7FF3DD;
  --tba-rival: #A3AEC2;
  --tba-amber: #B87B00;
  --tba-shadow-lg: 0 2px 4px rgba(19,27,51,.05), 0 24px 48px -20px rgba(19,27,51,.28);
  --tba-display: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --tba-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  display: block; background: var(--paper); color: var(--ink); font-family: var(--tba-body);
  font-size: 16px; line-height: 1.6; overflow-x: clip;
}

/* ---------- Remise à zéro locale (thème parent / Elementor) ---------- */
.tba section, .tba .tba-fit { padding: 0; margin: 0; }
.tba h1, .tba h2, .tba h3, .tba p, .tba ul, .tba ol, .tba figure, .tba blockquote, .tba fieldset, .tba legend { margin: 0; padding: 0; }
.tba h1, .tba h2, .tba h3 { font-family: var(--tba-display); color: inherit; text-wrap: balance; letter-spacing: -.01em; }
.tba p, .tba li, .tba strong, .tba b { color: inherit; font-family: inherit; }
.tba ul, .tba ol { list-style: none; }
.tba fieldset { border: 0; min-width: 0; }
.tba blockquote { border: 0; }
.tba blockquote::before, .tba blockquote::after { content: none; }
.tba table { background: transparent; border: 0; margin: 0; }
.tba thead, .tba tbody, .tba tfoot { background: transparent; border: 0; }
.tba tbody tr, .tba tbody tr:nth-child(even) { background: transparent; }
.tba svg.tba-ico { width: 18px; height: 18px; flex: none; display: inline-block; }
.tba .tba-num { font-variant-numeric: tabular-nums; }
.tba a:focus-visible, .tba button:focus-visible, .tba input:focus-visible, .tba summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; border-radius: 6px; }
@media (prefers-reduced-motion: reduce) { .tba *, .tba *::before, .tba *::after { transition: none !important; } }

.tba .tba-wrap { max-width: 1180px; margin: 0 auto; padding-inline: 24px; }
@media (max-width: 480px) { .tba .tba-wrap { padding-inline: 16px; } }

/* ---------- Boutons ---------- */
.tba .tba-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--tba-display); font-weight: 700;
  font-size: 1rem; line-height: 1.2; padding: 15px 26px; border-radius: 12px; text-decoration: none; border: 1.5px solid transparent; cursor: pointer;
  transition: background .15s, transform .15s; white-space: nowrap; }
.tba .tba-btn-teal { background: var(--teal); color: #fff; box-shadow: 0 8px 20px -10px rgba(0,198,163,.8); }
.tba .tba-btn-teal:hover { background: var(--tba-teal-hover); color: #fff; transform: translateY(-1px); }
.tba .tba-btn-ghost-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.tba .tba-btn-ghost-light:hover { background: rgba(255,255,255,.1); color: #fff; }
.tba .tba-btn-block { width: 100%; }

/* ---------- Hero + simulateur ---------- */
.tba .tba-hero { background: var(--blue); color: #fff; position: relative; overflow: hidden; }
.tba .tba-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background:
  radial-gradient(620px 400px at 90% 18%, rgba(0,198,163,.32), transparent 70%),
  radial-gradient(520px 420px at 0% 110%, rgba(19,27,51,.35), transparent 70%); }
.tba .tba-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 56px; align-items: center; padding-block: 64px 72px; }
.tba .tba-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; }
.tba .tba-eyebrow b { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(0,198,163,.3); }
.tba .tba-h1 { font-size: clamp(2.1rem, 4vw, 3rem); line-height: 1.06; font-weight: 800; margin-top: 18px; color: #fff; }
.tba .tba-h1 em { font-style: normal; color: var(--tba-teal-glow); white-space: nowrap; }
.tba .tba-lede { margin-top: 18px; font-size: 1.14rem; line-height: 1.55; color: var(--hero-muted); max-width: 540px; }
.tba .tba-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.tba .tba-reassure { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; font-size: .92rem; color: rgba(255,255,255,.9); }
.tba .tba-reassure li { display: flex; align-items: center; gap: 8px; }
.tba .tba-reassure svg { color: var(--tba-teal-glow); }

.tba .tba-sim { background: var(--paper-raised); color: var(--ink); border-radius: var(--radius-lg); box-shadow: var(--tba-shadow-lg); padding: 24px; display: grid; gap: 16px; }
.tba .tba-sim-title { font-size: 1.12rem; font-weight: 800; line-height: 1.3; }
.tba .tba-sim-sub { font-size: .84rem; color: var(--muted); margin-top: 2px; }
.tba .tba-sim-form { display: grid; gap: 14px; }
.tba .tba-field-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 12px; }
.tba .tba-lab { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: .86rem; font-weight: 600; color: var(--ink); margin: 0 0 8px; padding: 0; line-height: 1.3; width: 100%; }
.tba .tba-lab output { font-family: var(--tba-display); font-weight: 800; font-size: 1.2rem; color: var(--blue); }
.tba .tba-opt { font-weight: 500; color: var(--muted-2); font-size: .78rem; }
.tba input[type="range"] { width: 100%; margin: 0; accent-color: var(--blue); height: 6px; background: transparent; border: 0; box-shadow: none; padding: 0; }
.tba .tba-opts { display: grid; gap: 6px; }
.tba .tba-opts-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tba .tba-opts-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tba .tba-opts input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; margin: 0; }
.tba .tba-opts label { display: block; margin: 0; text-align: center; padding: 9px 4px; border: 1.5px solid var(--line); border-radius: var(--radius-sm);
  font-size: .86rem; font-weight: 600; line-height: 1.2; cursor: pointer; color: var(--muted); background: var(--paper-raised); white-space: nowrap; }
.tba .tba-opts input:checked + label { border-color: var(--blue); color: var(--blue); background: var(--blue-tint); }
.tba .tba-opts input:focus-visible + label { outline: 3px solid var(--teal); outline-offset: 2px; }
.tba .tba-fee-input { display: flex; align-items: center; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); padding-right: 12px; }
.tba .tba-fee-input:focus-within { border-color: var(--blue); }
.tba .tba-fee-input input { flex: 1; min-width: 0; border: 0; background: transparent; box-shadow: none; margin: 0; height: auto; padding: 10px 12px; font: 600 .95rem var(--tba-body); color: var(--ink); }
.tba .tba-fee-input input:focus { outline: none; box-shadow: none; }
.tba .tba-fee-input span { font-weight: 700; color: var(--muted); }
.tba .tba-fee-input input::-webkit-outer-spin-button, .tba .tba-fee-input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tba .tba-fee-input input[type="number"] { -moz-appearance: textfield; appearance: textfield; }

.tba .tba-sim-res { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.tba .tba-res { border-radius: var(--radius-md); padding: 14px 16px; display: grid; gap: 2px; align-content: start; }
.tba .tba-res-us { background: var(--tba-teal-tint); border: 1.5px solid var(--teal); }
.tba .tba-res-them { background: var(--paper); border: 1.5px solid var(--line); }
.tba .tba-res-lab { font-size: .8rem; font-weight: 700; color: var(--muted); }
.tba .tba-res-lab span { color: var(--ink); }
.tba .tba-res-us .tba-res-lab span { color: var(--teal-ink); }
.tba .tba-res-val { font-family: var(--tba-display); font-weight: 800; font-size: 1.6rem; line-height: 1.15; margin-top: 4px; }
.tba .tba-res-them .tba-res-val { color: var(--muted); }
.tba .tba-res-val span { white-space: nowrap; }
.tba .tba-res-val small { font-size: .8rem; font-weight: 600; color: var(--muted-2); margin-left: 4px; }
.tba .tba-res-det { font-size: .76rem; color: var(--muted-2); line-height: 1.35; margin-top: 4px; }
.tba .tba-verdict { background: var(--ink); color: #fff; border-radius: var(--radius-sm); padding: 12px 14px; font-size: .92rem; line-height: 1.45; }
.tba .tba-verdict strong { color: var(--tba-teal-glow); }
.tba .tba-verdict-neutral { background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
.tba .tba-verdict-neutral strong { color: var(--ink); }
.tba .tba-fine { font-size: .72rem; color: var(--muted-2); line-height: 1.45; }

@media (max-width: 1000px) { .tba .tba-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-block: 44px 52px; } .tba .tba-sim { max-width: 560px; } }
@media (max-width: 480px) {
  .tba .tba-ctas .tba-btn { flex: 1 1 100%; }
  .tba .tba-sim { padding: 18px 16px; }
  .tba .tba-field-row { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Bande « pour qui » ---------- */
.tba .tba-fit { background: var(--paper-raised); border-bottom: 1px solid var(--line); }
.tba .tba-fit .tba-wrap { display: flex; align-items: center; gap: 14px 24px; flex-wrap: wrap; padding-block: 20px; }
.tba .tba-fit p { font-size: .9rem; color: var(--muted); font-weight: 600; }
.tba .tba-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tba .tba-chips li { font-size: .85rem; font-weight: 600; color: var(--ink); background: var(--paper); border: 1px solid var(--line); padding: 6px 12px; border-radius: 999px; }

/* ---------- Sections ---------- */
.tba .tba-section { padding-block: 84px; }
.tba .tba-band { background: var(--paper-raised); border-block: 1px solid var(--line); }
.tba .tba-head { max-width: 720px; }
.tba .tba-kicker { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.tba .tba-h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; font-weight: 800; margin-top: 10px; color: var(--ink); }
.tba .tba-h3 { font-size: 1.15rem; font-weight: 800; line-height: 1.3; color: var(--ink); }
.tba .tba-head-p { margin-top: 14px; color: var(--muted); font-size: 1.06rem; }
@media (max-width: 720px) { .tba .tba-section { padding-block: 56px; } }

.tba .tba-switch-grid { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tba .tba-switch { background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.tba .tba-switch-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--tba-teal-tint); color: var(--teal-ink); display: grid; place-items: center; }
.tba .tba-switch-ico svg.tba-ico { width: 22px; height: 22px; }
.tba .tba-switch .tba-h3 { font-size: 1.25rem; }
.tba .tba-switch-text { color: var(--muted); font-size: .96rem; }
.tba .tba-them { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line); font-size: .86rem; color: var(--muted-2); }
.tba .tba-them b { color: var(--muted); font-weight: 600; }
@media (max-width: 900px) { .tba .tba-switch-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Comparatif ---------- */
.tba .tba-cmp-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.tba .tba-cmp-scroll { margin-top: 36px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-top: 14px; }
.tba .tba-cmp { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; font-size: .96rem; }
.tba .tba-cmp col.tba-c-label { width: 34%; }
.tba .tba-cmp col.tba-c-us, .tba .tba-cmp col.tba-c-them { width: 33%; }
.tba .tba-cmp th, .tba .tba-cmp td { padding: 15px 20px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--line); font-size: inherit; line-height: 1.45; color: var(--ink); background: transparent; }
.tba .tba-cmp thead th { border-bottom: 0; padding-top: 22px; padding-bottom: 18px; vertical-align: bottom; }
.tba .tba-cmp .tba-t-name { font-family: var(--tba-display); font-weight: 800; font-size: 1.2rem; display: block; }
.tba .tba-cmp .tba-t-sub { font-size: .82rem; font-weight: 500; color: var(--muted); }
.tba .tba-cmp .tba-col-us { background: var(--tba-teal-tint); border-left: 2px solid var(--teal); border-right: 2px solid var(--teal); }
.tba .tba-cmp thead .tba-col-us { border-top: 2px solid var(--teal); border-radius: 16px 16px 0 0; position: relative; }
.tba .tba-cmp tfoot .tba-col-us { border-bottom: 2px solid var(--teal); border-radius: 0 0 16px 16px; }
.tba .tba-cmp tfoot td { border-bottom: 0; padding-top: 18px; padding-bottom: 20px; }
.tba .tba-badge { position: absolute; top: -13px; left: 18px; background: var(--teal); color: #fff; font: 700 .72rem var(--tba-body); letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
.tba .tba-cmp .tba-grp th { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); font-weight: 700; padding-top: 22px; padding-bottom: 8px; }
.tba .tba-cmp tbody th[scope="row"] { font-weight: 600; }
.tba .tba-cmp td.tba-col-us { font-weight: 600; }
.tba .tba-cmp td.tba-col-them { color: var(--muted); }
.tba .tba-yes, .tba .tba-no, .tba .tba-part { display: inline-flex; align-items: flex-start; gap: 8px; }
.tba .tba-yes svg.tba-ico, .tba .tba-no svg.tba-ico, .tba .tba-part svg.tba-ico { margin-top: 2px; }
.tba .tba-yes svg { color: var(--teal-ink); }
.tba .tba-no svg { color: var(--tba-rival); }
.tba .tba-part svg { color: var(--tba-amber); }
.tba .tba-cmp .tba-more { display: none; }
.tba .tba-cmp.tba-expanded .tba-more { display: table-row; }
.tba .tba-cmp-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 18px; }
.tba .tba-link-btn { font: 600 .95rem var(--tba-body); color: var(--blue); background: none; border: 0; box-shadow: none; cursor: pointer; padding: 6px 0; margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.tba .tba-link-btn:hover { background: none; color: var(--blue-deep); }
.tba .tba-link-btn svg.tba-ico { width: 16px; height: 16px; transition: transform .2s; }
.tba .tba-link-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.tba .tba-source { font-size: .8rem; color: var(--muted-2); }

/* ---------- Étapes ---------- */
.tba .tba-steps { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: tbas; }
.tba .tba-steps li { padding: 26px; border-radius: var(--radius-lg); background: var(--paper-raised); border: 1px solid var(--line); }
.tba .tba-steps li::before { counter-increment: tbas; content: counter(tbas); font-family: var(--tba-display); font-weight: 800; font-size: .95rem; width: 34px; height: 34px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; }
.tba .tba-steps .tba-h3 { margin-top: 16px; }
.tba .tba-steps p { margin-top: 8px; color: var(--muted); font-size: .95rem; }
@media (max-width: 900px) { .tba .tba-steps { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Avis ---------- */
.tba .tba-voices { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.tba .tba-quote { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.tba .tba-quote-main { background: var(--blue); border-color: var(--blue); color: #fff; }
.tba .tba-stars { color: #F5B301; letter-spacing: 2px; font-size: .95rem; }
.tba .tba-quote blockquote p { font-size: 1rem; line-height: 1.55; color: var(--ink); }
.tba .tba-quote-main blockquote p { font-family: var(--tba-display); font-size: 1.25rem; line-height: 1.4; font-weight: 700; color: #fff; }
.tba .tba-quote figcaption { margin-top: auto; font-size: .88rem; color: var(--muted); display: grid; }
.tba .tba-quote figcaption b { color: var(--ink); font-weight: 700; }
.tba .tba-quote-main figcaption, .tba .tba-quote-main figcaption b { color: #fff; }
.tba .tba-quote-main figcaption { opacity: .85; }
@media (max-width: 960px) { .tba .tba-voices { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Contenu détaillé (Gutenberg) ---------- */
.tba .tba-details { background: var(--paper-raised); }
.tba .tba-details-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; align-items: start; }
.tba .tba-prose { max-width: 720px; font-size: 1.04rem; line-height: 1.75; color: #2A3450; }
.tba .tba-prose h2 { font-size: 1.55rem; font-weight: 800; color: var(--ink); margin: 2.2em 0 .6em; line-height: 1.25; }
.tba .tba-prose > h2:first-child { margin-top: 0; }
.tba .tba-prose h3 { font-size: 1.12rem; font-weight: 800; color: var(--ink); margin: 1.5em 0 .4em; }
.tba .tba-prose p { font-size: inherit; line-height: inherit; }
.tba .tba-prose p + p { margin-top: 1em; }
.tba .tba-prose ul, .tba .tba-prose ol { list-style: disc; padding-left: 22px; margin: .8em 0; }
.tba .tba-prose ol { list-style: decimal; }
.tba .tba-prose li { font-size: inherit; line-height: inherit; }
.tba .tba-prose li + li { margin-top: .4em; }
.tba .tba-prose a { color: var(--blue); text-decoration: underline; }
.tba .tba-prose details.wp-block-details { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); padding: 0 20px; margin: 10px 0; }
.tba .tba-prose details.wp-block-details summary { cursor: pointer; list-style: none; padding: 16px 0; font-weight: 700; color: var(--ink); display: flex; justify-content: space-between; gap: 16px; }
.tba .tba-prose details.wp-block-details summary::-webkit-details-marker { display: none; }
.tba .tba-prose details.wp-block-details summary::after { content: "+"; color: var(--teal-ink); font-weight: 800; font-size: 1.2rem; line-height: 1; }
.tba .tba-prose details.wp-block-details[open] summary::after { content: "–"; }
.tba .tba-prose details.wp-block-details > p { padding-bottom: 16px; margin: 0; font-size: .98rem; }
.tba .tba-prose .tba-sources { margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .84rem; color: var(--muted-2); line-height: 1.55; }
.tba .tba-updated { margin-top: 12px; font-size: .84rem; color: var(--muted-2); }
.tba .tba-aside { position: sticky; top: 96px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; display: grid; gap: 14px; }
.tba .tba-aside-price { font-family: var(--tba-display); font-weight: 800; font-size: 2rem; line-height: 1; }
.tba .tba-aside-price small { font-size: .9rem; color: var(--muted); font-weight: 600; }
.tba .tba-aside ul { display: grid; gap: 8px; font-size: .9rem; color: var(--muted); }
.tba .tba-aside li { display: flex; gap: 8px; align-items: flex-start; }
.tba .tba-aside li svg.tba-ico { width: 16px; height: 16px; color: var(--teal-ink); margin-top: 4px; }
.tba .tba-aside-alt { text-align: center; font-size: .88rem; color: var(--blue); }
@media (max-width: 960px) { .tba .tba-details-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; } .tba .tba-aside { position: static; } }

/* ---------- CTA final ---------- */
.tba .tba-final { background: var(--ink); color: #fff; }
.tba .tba-final-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) auto; gap: 32px; align-items: center; padding-block: 72px; }
.tba .tba-final .tba-h2 { color: #fff; margin-top: 0; }
.tba .tba-final p { margin-top: 12px; color: rgba(255,255,255,.75); font-size: 1.05rem; }
.tba .tba-final .tba-ctas { margin-top: 0; }
@media (max-width: 860px) { .tba .tba-final-grid { grid-template-columns: minmax(0, 1fr); padding-block: 56px; } }

/* ---------- Barre CTA mobile ---------- */
.tba .tba-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--paper-raised); border-top: 1px solid var(--line);
  box-shadow: 0 -8px 20px -10px rgba(19,27,51,.25); padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  display: none; gap: 10px; align-items: center; transform: translateY(110%); transition: transform .25s ease; }
.tba .tba-sticky.tba-on { transform: none; }
.tba .tba-sticky-txt { font-size: .82rem; line-height: 1.3; color: var(--muted); flex: 1; min-width: 0; }
.tba .tba-sticky-txt b { display: block; color: var(--ink); font-size: .92rem; }
.tba .tba-sticky .tba-btn { padding: 12px 18px; font-size: .92rem; }
@media (max-width: 760px) { .tba .tba-sticky { display: flex; } .tba { padding-bottom: 72px; } }

/* ---------- Correctifs intégration (thème parent, widgets flottants) ---------- */
.tba fieldset.tba-field, .tba .tba-field legend { border: 0; }
.tba .tba-field legend { width: 100%; float: none; }
body.tba-sticky-on #launcher, body.tba-sticky-on #scrollUp { bottom: 84px !important; transition: bottom .25s ease; }
@media (max-width: 480px) {
  .tba .tba-res { padding: 12px; }
  .tba .tba-res-val { font-size: 1.35rem; }
  .tba .tba-res-val small { display: block; margin: 2px 0 0; }
}

/* ---------- Simulateur de prix Tourbiz (v4) ---------- */
.tba .tba-sim-main { background: var(--tba-teal-tint); border: 1.5px solid var(--teal); border-radius: var(--radius-md); padding: 16px 18px; display: grid; gap: 2px; }
.tba .tba-sim-main .tba-res-lab span { color: var(--teal-ink); }
.tba .tba-sim-total { font-family: var(--tba-display); font-weight: 800; font-size: 2.2rem; line-height: 1.1; margin-top: 4px; }
.tba .tba-sim-total span { white-space: nowrap; }
.tba .tba-sim-total small { font-size: .85rem; font-weight: 600; color: var(--muted-2); margin-left: 6px; }
.tba .tba-plans { display: grid; gap: 6px; }
.tba .tba-plans li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 12px; border-radius: var(--radius-sm); border: 1px solid var(--line); font-size: .88rem; }
.tba .tba-plan-name { font-weight: 700; display: grid; line-height: 1.3; }
.tba .tba-plan-name small { font-weight: 500; font-size: .76rem; color: var(--muted-2); }
.tba .tba-plan-cost { font-weight: 700; color: var(--muted); white-space: nowrap; }
.tba .tba-plans li.tba-best { border-color: var(--teal); background: var(--paper-raised); box-shadow: inset 3px 0 0 var(--teal); }
.tba .tba-plans li.tba-best .tba-plan-cost { color: var(--teal-ink); }
.tba .tba-plans li.tba-off { opacity: .55; }
.tba .tba-plans li.tba-off .tba-plan-cost { font-weight: 500; font-size: .78rem; }

/* ---------- Ajustements v5 ---------- */
.tba .tba-cmp tfoot td.tba-col-us { text-align: center; }
.tba .tba-aside { top: 156px; }

/* ---------- LP métiers (page-metier.php) ---------- */
.tba .tbm-tabs { margin-top: 36px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.tba .tbm-tablist { display: flex; gap: 4px; padding: 8px; border-bottom: 1px solid var(--line); background: var(--paper-raised); overflow-x: auto; }
.tba .tbm-tab { flex: 1 0 auto; font: 700 .95rem var(--tba-display); color: var(--muted); background: transparent; border: 0; box-shadow: none; margin: 0;
  padding: 12px 18px; border-radius: var(--radius-sm); cursor: pointer; white-space: nowrap; line-height: 1.2; }
.tba .tbm-tab:hover { color: var(--ink); background: var(--paper); }
.tba .tbm-tab[aria-selected="true"] { color: var(--teal-ink); background: var(--tba-teal-tint); box-shadow: inset 0 -2px 0 var(--teal); }
.tba .tbm-panel { padding: 32px; display: grid; gap: 18px; }
.tba .tbm-panel[hidden] { display: none; }
.tba .tbm-panel .tba-h3 { font-size: 1.35rem; }
.tba .tbm-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; }
.tba .tbm-list li { display: flex; gap: 10px; align-items: flex-start; color: var(--ink); font-size: .98rem; line-height: 1.5; }
.tba .tbm-list li svg.tba-ico { color: var(--teal-ink); margin-top: 3px; }
.tba .tbm-panel-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 6px; }
.tba .tbm-more { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--blue); text-decoration: none; }
.tba .tbm-more:hover { color: var(--blue-deep); }
.tba .tbm-more svg.tba-ico { width: 16px; height: 16px; }
.tba .tbm-channels { margin-top: 36px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tba .tbm-channels li { background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 20px 22px; display: grid; gap: 4px; }
.tba .tbm-channels b { font-family: var(--tba-display); font-weight: 800; font-size: 1.05rem; color: var(--ink); }
.tba .tbm-channels span { color: var(--muted); font-size: .94rem; }
@media (max-width: 900px) { .tba .tbm-list { grid-template-columns: minmax(0, 1fr); } .tba .tbm-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tba .tbm-panel { padding: 22px 18px; } .tba .tbm-channels { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .tba .tbm-tablist { flex-wrap: wrap; overflow: visible; } .tba .tbm-tab { flex: 1 1 auto; padding: 10px 12px; } }
.tba .tbm-fit { margin-top: 36px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.tba .tbm-fit-col { border-radius: var(--radius-lg); padding: 28px; display: grid; gap: 14px; align-content: start; }
.tba .tbm-fit-yes { background: var(--tba-teal-tint); border: 1.5px solid var(--teal); }
.tba .tbm-fit-no { background: var(--paper); border: 1px solid var(--line); }
.tba .tbm-fit-col ul { display: grid; gap: 10px; }
.tba .tbm-fit-col li { display: flex; gap: 10px; align-items: flex-start; font-size: .98rem; line-height: 1.5; color: var(--ink); }
.tba .tbm-fit-yes li svg.tba-ico { color: var(--teal-ink); margin-top: 3px; }
.tba .tbm-fit-no li svg.tba-ico { color: var(--tba-rival); margin-top: 3px; }
.tba .tbm-fit-no li { color: var(--muted); }
.tba .tbm-fit-cta { font-size: .92rem; color: var(--muted); padding-top: 6px; border-top: 1px dashed var(--line); }
.tba .tbm-fit-cta a { color: var(--blue); font-weight: 600; }
@media (max-width: 900px) { .tba .tbm-fit { grid-template-columns: minmax(0, 1fr); } }
