/* Triumph Cash For Junk Cars — quote + offer styles */
:root {
  --tb-navy: #29335C;
  --tb-navy-deep: #1d2546;
  --tb-red: #D02433;
  --tb-red-deep: #A91B28;
  --tb-sand: #F0CEA0;
  --tb-sand-soft: #FBF3E6;
  --tb-amber: #F3A712;
  --tb-ink: #2B2621;
  --tb-muted: #675E53;
  --tb-line: #DCCDB6;
  --tb-field: #BFAF97;
  --tb-bad: #B3261E;
  --tb-ok: #2F6B3A;
  --tb-ring: 0 0 0 3px rgba(243, 167, 18, .55);
  --tb-head: 'Karla', 'Montserrat', sans-serif;
  --tb-body: 'Montserrat', 'Open Sans', sans-serif;
}
[hidden] { display: none !important; }
.tbl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.tbl-locked { overflow: hidden; }

/* ---------- shared controls */
.tbl-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 0;
  min-height: 52px; padding: 12px 30px; border: 0; border-radius: 40px;
  background: var(--tb-red); color: #fff; font: 700 18px/1.2 var(--tb-head); letter-spacing: .2px;
  box-shadow: 0 3px 0 var(--tb-red-deep); cursor: pointer; text-decoration: none; transition: background .15s, transform .1s;
}
.tbl-cta:hover, .tbl-cta:focus { background: var(--tb-red-deep); color: #fff; text-decoration: none; }
.tbl-cta:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--tb-red-deep); }
.tbl-cta:focus-visible { outline: none; box-shadow: 0 3px 0 var(--tb-red-deep), var(--tb-ring); }
.tbl-cta--wide { width: 100%; }
.tbl-cta [data-tbl-amt] { margin: 0 .3em; }
.tbl-cta[disabled] { opacity: .85; cursor: progress; }
.tbl-cta.is-busy::before {
  content: ''; width: 18px; height: 18px; margin-right: 10px; border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: tbl-spin .8s linear infinite;
}
.tbl-ghost {
  display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 24px;
  background: #fff; color: var(--tb-navy); border: 2px solid var(--tb-navy); border-radius: 40px;
  font: 700 17px/1.2 var(--tb-head); cursor: pointer;
}
.tbl-ghost:hover { background: var(--tb-sand-soft); }
.tbl-ghost:focus-visible { outline: none; box-shadow: var(--tb-ring); }
.tbl-textlink {
  background: none; border: 0; padding: 0; color: var(--tb-navy); font: inherit; font-weight: 700;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.tbl-textlink:hover { color: var(--tb-red-deep); }
.tbl-textlink:focus-visible { outline: none; box-shadow: var(--tb-ring); border-radius: 3px; }
.tbl-helpbtn {
  background: none; border: 0; padding: 2px 0; color: var(--tb-navy); font: 600 14px/1 var(--tb-body);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.tbl-helpbtn:focus-visible { outline: none; box-shadow: var(--tb-ring); }

.tbl-field { position: relative; margin: 0 0 14px; }
.tbl-field label { display: block; margin: 0 0 6px; font: 700 15px/1.3 var(--tb-body); color: var(--tb-navy); }
.tbl-field__top { display: flex; justify-content: space-between; align-items: baseline; }
.tbl-field input[type=text], .tbl-field input[type=email], .tbl-field input[type=tel] {
  width: 100%; min-height: 50px; padding: 11px 14px; font: 500 16px/1.3 var(--tb-body); color: var(--tb-ink);
  background: #fff; border: 1.5px solid var(--tb-field); border-radius: 10px; box-shadow: none; -webkit-appearance: none;
}
.tbl-field input::placeholder { color: #8a8073; }
.tbl-field input:focus { outline: none; border-color: var(--tb-navy); box-shadow: var(--tb-ring); }
.tbl-field input[disabled] { background: #f4efe8; color: #7c7367; cursor: not-allowed; }
.tbl-field input[readonly] { background: #f7f3ec; }
.tbl-field.has-error input { border-color: var(--tb-bad); }
.tbl-field__msg { margin: 5px 0 0; min-height: 0; font: 600 14px/1.35 var(--tb-body); color: var(--tb-bad); }
.tbl-field__msg:empty { display: none; }
.tbl-field__row { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.tbl-count { margin-left: auto; padding-top: 5px; font: 600 13px/1 var(--tb-body); color: var(--tb-muted); }

.tbl-pick { position: relative; }
.tbl-pick::after {
  content: ''; position: absolute; right: 16px; top: 22px; width: 9px; height: 9px; pointer-events: none;
  border-right: 2px solid var(--tb-navy); border-bottom: 2px solid var(--tb-navy); transform: rotate(45deg);
}
.tbl-pick.is-open::after { transform: rotate(-135deg); top: 26px; }
.tbl-pick.is-off::after { border-color: #b0a594; }
.tbl-pick input { padding-right: 42px !important; }
.tbl-picklist {
  position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 4px); max-height: 264px; overflow-y: auto;
  margin: 0; padding: 6px; list-style: none; background: #fff; border: 1.5px solid var(--tb-navy); border-radius: 10px;
  box-shadow: 0 14px 30px rgba(29, 37, 70, .18);
}
.tbl-picklist li {
  display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 10px 12px;
  border-radius: 7px; font: 500 16px/1.2 var(--tb-body); color: var(--tb-ink); cursor: pointer;
}
.tbl-picklist li.is-active, .tbl-picklist li:hover { background: var(--tb-sand-soft); color: var(--tb-navy); }
.tbl-picklist li[aria-selected=true] { font-weight: 700; }
.tbl-picklist__hint { font-size: 13px; color: var(--tb-muted); font-weight: 600; }
.tbl-picklist__none { color: var(--tb-muted) !important; cursor: default !important; }

.tbl-alert { margin: 10px 0; font: 600 15px/1.4 var(--tb-body); color: var(--tb-bad); }
.tbl-alert:empty { display: none; }
.tbl-alert--sum p { margin: 0; padding: 12px 14px; background: #fdecea; border-radius: 10px; }
.tbl-note { margin: 10px 0 0; font: 500 14px/1.45 var(--tb-body); color: var(--tb-muted); }

@keyframes tbl-spin { to { transform: rotate(360deg); } }

/* ---------- homepage hero card */
.tbl-home .navbar .navbar-right li a.callnavbest,
.tbl-home .navbar .navbar-right li a.callnavbest:hover {
  background: transparent; color: var(--tb-navy); border: 3px solid var(--tb-red); padding: 12px 26px;
}
.tbl-hero-card {
  position: relative; max-width: 470px; margin-top: 14px; padding: 26px 26px 22px; background: #fff;
  border-radius: 16px; box-shadow: 0 18px 40px rgba(41, 51, 92, .18); border-top: 7px solid var(--tb-amber);
}
.tbl-hero-card__title { margin: 0 0 4px; font: 800 26px/1.15 var(--tb-head); color: var(--tb-navy); }
.tbl-hero-card__lead { margin: 0 0 16px !important; padding: 0 !important; font: 500 15px/1.45 var(--tb-body) !important; color: var(--tb-muted) !important; }
.tbl-hero-card__alert { margin: 0 0 8px; font: 600 14px/1.4 var(--tb-body); color: var(--tb-bad); }
.tbl-hero-card__alert:empty { display: none; }
.tbl-hero-card .tbl-cta { margin-top: 4px; }
.tbl-hero-card .tbl-textlink { display: block; margin: 14px auto 0; font-size: 15px; }
.tbl-hero-card__perks { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 14px 0 0; padding: 12px 0 0; list-style: none; border-top: 1px dashed var(--tb-line); }
.tbl-hero-card__perks li { position: relative; padding-left: 22px; font: 600 14px/1.4 var(--tb-body); color: var(--tb-navy); }
.tbl-hero-card__perks li::before {
  content: ''; position: absolute; left: 3px; top: 3px; width: 7px; height: 12px;
  border-right: 3px solid var(--tb-amber); border-bottom: 3px solid var(--tb-amber); transform: rotate(45deg);
}

/* ---------- flow page frame */
.tbl-journey { background: var(--tb-sand-soft); }
.tbl-bar { background: #fff; border-bottom: 5px solid var(--tb-amber); padding: 10px 20px; }
.tbl-bar__logo { display: inline-block; }
.tbl-bar__logo img { height: 64px; width: auto; }
.tbl-main { min-height: 62vh; padding: 28px 16px 64px; }
.tbl-noscript { max-width: 640px; margin: 0 auto; font: 600 17px/1.5 var(--tb-body); color: var(--tb-navy); }

.tbl-steps { max-width: 640px; margin: 0 auto; }
.tbl-steps__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; }
.tbl-back {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 4px; background: none; border: 0;
  color: var(--tb-navy); font: 700 16px/1 var(--tb-body); cursor: pointer;
}
.tbl-back:hover { text-decoration: underline; }
.tbl-back:focus-visible { outline: none; box-shadow: var(--tb-ring); border-radius: 6px; }
.tbl-carchip { font: 700 14px/1.2 var(--tb-body); color: var(--tb-muted); text-align: right; }
.tbl-progress { height: 7px; margin: 8px 0 18px; background: #efe2cd; border-radius: 7px; overflow: hidden; }
.tbl-progress span { display: block; height: 100%; width: 4%; background: linear-gradient(90deg, var(--tb-amber), #e88f0c); border-radius: 7px; transition: width .25s ease; }

.tbl-stage { overflow: hidden; }
.tbl-card { background: #fff; border-radius: 18px; padding: 30px 32px 28px; box-shadow: 0 10px 30px rgba(41, 51, 92, .10); }
.tbl-card__q { margin: 0 0 8px; font: 800 28px/1.2 var(--tb-head); color: var(--tb-navy); outline: none; }
.tbl-card__help { margin: 0 0 18px; font: 500 16px/1.5 var(--tb-body); color: var(--tb-muted); }
.tbl-card__alert { margin: 16px 0 0; padding: 12px 14px; background: #fdecea; border-radius: 10px; font: 600 15px/1.4 var(--tb-body); color: var(--tb-bad); }
.tbl-card__alert:empty { display: none; }
.tbl-card__foot { display: flex; justify-content: flex-end; margin-top: 18px; }
.tbl-card__foot:empty { display: none; }
.tbl-field--solo { max-width: 320px; margin-top: 16px; }
.tbl-in-fwd { animation: tbl-from-right .22s ease-out; }
.tbl-in-back { animation: tbl-from-left .22s ease-out; }
.tbl-in-fade { animation: tbl-fade .18s linear; }
@keyframes tbl-from-right { from { transform: translateX(36px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes tbl-from-left { from { transform: translateX(-36px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes tbl-fade { from { opacity: 0; } to { opacity: 1; } }

.tbl-seg { display: inline-flex; margin: 8px 0 18px; padding: 4px; background: var(--tb-sand-soft); border: 1.5px solid var(--tb-line); border-radius: 40px; }
.tbl-seg button { min-height: 44px; padding: 8px 18px; border: 0; border-radius: 40px; background: none; font: 700 15px/1 var(--tb-body); color: var(--tb-navy); cursor: pointer; }
.tbl-seg button[aria-selected=true] { background: var(--tb-navy); color: #fff; }
.tbl-seg button:focus-visible { outline: none; box-shadow: var(--tb-ring); }
.tbl-found { margin: 4px 0 0; padding: 12px 14px; background: #eaf4ec; color: var(--tb-ok); border-radius: 10px; font: 700 15px/1.4 var(--tb-body); }

/* answer rows */
.tbl-choices { display: grid; gap: 10px; }
.tbl-choice {
  position: relative; display: flex; align-items: center; gap: 14px; width: 100%; min-height: 62px; padding: 14px 18px;
  text-align: left; background: #fff; border: 2px solid var(--tb-line); border-radius: 14px; cursor: pointer;
  font: 600 17px/1.35 var(--tb-body); color: var(--tb-ink); transition: border-color .12s, background .12s;
}
.tbl-choice:hover { border-color: var(--tb-navy); }
.tbl-choice:focus-visible { outline: none; border-color: var(--tb-navy); box-shadow: var(--tb-ring); }
.tbl-choice__key {
  flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  border-radius: 8px; background: var(--tb-sand-soft); color: var(--tb-navy); font: 800 14px/1 var(--tb-head);
}
.tbl-choice__text { flex: 1; }
.tbl-choice__mark { flex: none; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--tb-field); }
.tbl-choice.is-on { border-color: var(--tb-navy); background: #f3f4f9; }
.tbl-choice.is-on .tbl-choice__mark { border-color: var(--tb-navy); background: var(--tb-navy); box-shadow: inset 0 0 0 4px #fff; }
.tbl-choice.is-flash { background: var(--tb-navy); color: #fff; }
.tbl-choice.is-flash .tbl-choice__key { background: var(--tb-amber); }
.tbl-choice.is-off { border-style: dashed; color: #8b8175; background: #faf8f5; cursor: not-allowed; }
.tbl-choice.is-off:hover { border-color: var(--tb-line); }
.tbl-choice__na { font: 600 13px/1 var(--tb-body); color: #7d7367; }
.tbl-lock { margin: 14px 0 0; padding: 12px 14px 12px 16px; background: var(--tb-sand-soft); border-left: 4px solid var(--tb-navy); border-radius: 8px; font: 500 15px/1.45 var(--tb-body); color: var(--tb-ink); }

.tbl-areas { margin: 18px 0 0; padding: 16px; border: 2px solid var(--tb-line); border-radius: 14px; background: #fffdf9; }
.tbl-areas.has-error { border-color: var(--tb-bad); }
.tbl-areas legend { width: auto; margin: 0 0 4px; padding: 0 6px; border: 0; font: 800 18px/1.3 var(--tb-head); color: var(--tb-navy); }
.tbl-areas legend span { display: block; font: 500 14px/1.4 var(--tb-body); color: var(--tb-muted); }
.tbl-areas__edge { margin: 6px 0; text-align: center; font: 700 12px/1 var(--tb-body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--tb-muted); }
.tbl-areas__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px; border: 2px dashed var(--tb-line); border-radius: 36px; }
.tbl-corner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 60px; margin: 0; padding: 10px; border: 2px solid var(--tb-line); border-radius: 12px; background: #fff; font: 700 15px/1.2 var(--tb-body); color: var(--tb-ink); cursor: pointer; text-align: center; }
.tbl-corner input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.tbl-corner:has(input:checked) { border-color: var(--tb-navy); background: var(--tb-navy); color: #fff; }
.tbl-corner:has(input:focus-visible) { box-shadow: var(--tb-ring); }

.tbl-tick { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 6px 0 0; font: 600 15px/1.35 var(--tb-body); color: var(--tb-ink); cursor: pointer; }
.tbl-tick input { width: 22px; height: 22px; margin: 0; accent-color: var(--tb-navy); }

/* pricing in progress */
.tbl-crunch { max-width: 520px; margin: 30px auto; padding: 40px 28px; text-align: center; background: #fff; border-radius: 18px; box-shadow: 0 10px 30px rgba(41, 51, 92, .10); }
.tbl-crunch__dial { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; border: 6px solid #efe2cd; border-top-color: var(--tb-amber); border-right-color: var(--tb-navy); animation: tbl-spin 1.1s linear infinite; }
.tbl-crunch__title { margin: 0 0 6px; font: 800 26px/1.2 var(--tb-head); color: var(--tb-navy); outline: none; }
.tbl-crunch__car { margin: 0 0 18px; font: 600 16px/1.4 var(--tb-body); color: var(--tb-muted); }
.tbl-crunch__list { display: inline-grid; gap: 10px; margin: 0; padding: 0; list-style: none; text-align: left; }
.tbl-crunch__list li { position: relative; padding-left: 32px; font: 600 16px/1.4 var(--tb-body); color: #9a8f81; transition: color .2s; }
.tbl-crunch__list li::before { content: ''; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--tb-line); }
.tbl-crunch__list li.is-done { color: var(--tb-navy); }
.tbl-crunch__list li.is-done::before { background: var(--tb-navy); border-color: var(--tb-navy); }
.tbl-crunch__list li.is-done::after { content: ''; position: absolute; left: 7px; top: 5px; width: 6px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.tbl-crunch__slow { margin: 18px 0 0; font: 500 15px/1.45 var(--tb-body); color: var(--tb-muted); }

/* ---------- offer + acceptance */
.tbl-offer { max-width: 1100px; margin: 0 auto; }
.tbl-offer__grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; align-items: start; }
.tbl-offer__title { margin: 6px 0 6px; font: 800 34px/1.15 var(--tb-head); color: var(--tb-navy); outline: none; }
.tbl-amt { color: var(--tb-red); white-space: nowrap; }
.tbl-offer__sub { margin: 0 0 18px; font: 500 16px/1.5 var(--tb-body); color: var(--tb-muted); }
.tbl-block { margin: 0 0 16px; padding: 24px 24px 12px; background: #fff; border-radius: 16px; box-shadow: 0 6px 20px rgba(41, 51, 92, .08); }
.tbl-block__h { margin: 0 0 16px; font: 800 21px/1.25 var(--tb-head); color: var(--tb-navy); outline: none; }
.tbl-block__opt { font: 600 15px/1 var(--tb-body); color: var(--tb-muted); }
.tbl-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.tbl-field--full { grid-column: 1 / -1; }
.tbl-grid2 .tbl-field--wide { grid-column: span 1; }
.tbl-summary { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 14px 16px; background: var(--tb-sand-soft); border-radius: 12px; font: 600 15px/1.4 var(--tb-body); color: var(--tb-ink); }
.tbl-summary__tick { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--tb-navy); color: #fff; font-size: 14px; }
.tbl-summary__text { flex: 1; overflow-wrap: anywhere; }
.tbl-disclosure { margin: 4px 0 14px; padding: 12px 14px; background: #f6f2ea; border-radius: 10px; font: 500 14px/1.5 var(--tb-body); color: var(--tb-ink); }
#tbl-contact-go { padding-bottom: 12px; }
.tbl-finish { margin: 6px 0 0; padding: 22px 24px; background: #fff; border-radius: 16px; box-shadow: 0 6px 20px rgba(41, 51, 92, .08); }
.tbl-legal { margin: 12px 0 0; font: 500 13px/1.5 var(--tb-body); color: var(--tb-muted); }
.tbl-legal .tbl-textlink { font-weight: 700; }

.tbl-rail { position: sticky; top: 24px; }
.tbl-ticket {
  position: relative; padding: 22px 24px 24px; background: var(--tb-navy); color: var(--tb-sand); border-radius: 16px;
  box-shadow: 0 14px 30px rgba(29, 37, 70, .25);
}
.tbl-ticket::after {
  content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 10px;
  background: radial-gradient(circle at 6px 10px, var(--tb-sand-soft) 5px, transparent 5.5px) 0 0 / 16px 10px repeat-x;
}
.tbl-ticket__label { margin: 0; font: 700 13px/1 var(--tb-body); letter-spacing: 1.4px; text-transform: uppercase; color: var(--tb-sand); }
.tbl-ticket__amt { margin: 8px 0 4px; font: 800 46px/1 var(--tb-head); color: var(--tb-amber); }
.tbl-ticket__car { margin: 0; font: 600 15px/1.4 var(--tb-body); color: #fff; }
.tbl-ticket__speed { margin: 12px 0 0; padding-top: 12px; border-top: 1px dashed rgba(240, 206, 160, .45); font: 700 14px/1.4 var(--tb-body); color: var(--tb-sand); }
.tbl-howto { margin-top: 18px; padding: 20px 22px; background: #fff; border-radius: 16px; box-shadow: 0 6px 20px rgba(41, 51, 92, .08); }
.tbl-howto__h { margin: 0 0 12px; font: 800 19px/1.25 var(--tb-head); color: var(--tb-navy); }
.tbl-howto__list { margin: 0; padding: 0; list-style: none; counter-reset: tblstep; }
.tbl-howto__list li { position: relative; margin: 0 0 12px; padding-left: 40px; font: 500 15px/1.45 var(--tb-body); color: var(--tb-ink); counter-increment: tblstep; }
.tbl-howto__list li::before {
  content: counter(tblstep); position: absolute; left: 0; top: -2px; width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; background: var(--tb-amber); color: var(--tb-navy-deep); font: 800 14px/1 var(--tb-head);
}

/* pickup picker */
.tbl-speed { margin: -6px 0 10px; font: 700 15px/1.4 var(--tb-body); color: var(--tb-ok); }
.tbl-pickup__intro { margin: 0 0 12px; font: 500 15px/1.5 var(--tb-body); color: var(--tb-muted); }
.tbl-slot {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 50px; margin: 0 0 8px; padding: 10px 14px;
  background: #fff; border: 2px solid var(--tb-line); border-radius: 12px; text-align: left; cursor: pointer;
  font: 500 16px/1.35 var(--tb-body); color: var(--tb-ink);
}
.tbl-slot:hover { border-color: var(--tb-navy); }
.tbl-slot:focus-visible { outline: none; box-shadow: var(--tb-ring); }
.tbl-slot__dot { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--tb-field); }
.tbl-slot.is-on { border-color: var(--tb-navy); background: #f3f4f9; }
.tbl-slot.is-on .tbl-slot__dot { border-color: var(--tb-navy); background: var(--tb-navy); box-shadow: inset 0 0 0 4px #fff; }
.tbl-pickup__more { display: inline-block; min-height: 44px; margin: 2px 0 6px; }
.tbl-days__nav { display: none; align-items: center; justify-content: space-between; margin: 4px 0 8px; }
.tbl-days__range { font: 700 14px/1 var(--tb-body); color: var(--tb-navy); }
.tbl-days__arrow { width: 44px; height: 44px; border: 1.5px solid var(--tb-line); border-radius: 50%; background: #fff; font-size: 24px; line-height: 1; color: var(--tb-navy); cursor: pointer; }
.tbl-days__arrow[disabled] { opacity: .35; cursor: default; }
.tbl-days__strip { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 10px; -webkit-overflow-scrolling: touch; }
.tbl-day {
  flex: 0 0 76px; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 4px;
  min-height: 64px; padding: 8px 4px; border: 2px solid var(--tb-line); border-radius: 12px; background: #fff; cursor: pointer;
  font: 600 13px/1 var(--tb-body); color: var(--tb-muted);
}
.tbl-day strong { font: 800 15px/1 var(--tb-head); color: var(--tb-navy); }
.tbl-day.is-weekend { background: #f7f1e7; }
.tbl-day.is-on { border-color: var(--tb-navy); background: var(--tb-navy); color: var(--tb-sand); }
.tbl-day.is-on strong { color: #fff; }
.tbl-day:focus-visible { outline: none; box-shadow: var(--tb-ring); }
.tbl-wins { margin: 8px 0 0; }
.tbl-wins__h { margin: 0 0 8px; font: 700 15px/1.3 var(--tb-body); color: var(--tb-navy); }
.tbl-picked { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 12px; padding: 12px 14px; background: #eaf4ec; border-radius: 10px; font: 700 15px/1.4 var(--tb-body); color: var(--tb-ok); }
.tbl-pickup__hint, .tbl-pickup__stale { margin: 8px 0 12px; font: 500 14px/1.5 var(--tb-body); color: var(--tb-muted); }
.tbl-pickup__stale { color: var(--tb-bad); font-weight: 600; outline: none; }

/* dialogs */
.tbl-layer { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.tbl-layer__scrim { position: absolute; inset: 0; background: rgba(20, 24, 44, .55); }
.tbl-layer__panel {
  position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); overflow-y: auto;
  padding: 28px 28px 24px; background: #fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
  font: 500 16px/1.55 var(--tb-body); color: var(--tb-ink); animation: tbl-fade .18s linear;
}
.tbl-layer__panel h2 { margin: 0 0 10px; padding-right: 30px; font: 800 24px/1.2 var(--tb-head); color: var(--tb-navy); }
.tbl-layer__panel h3 { margin: 0 0 6px; font: 800 16px/1.3 var(--tb-head); color: var(--tb-navy); }
.tbl-layer__panel ul { margin: 0 0 12px; padding-left: 20px; }
.tbl-layer__x { position: absolute; right: 12px; top: 10px; width: 44px; height: 44px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--tb-navy); cursor: pointer; }
.tbl-layer__x:focus-visible { outline: none; box-shadow: var(--tb-ring); border-radius: 50%; }
.tbl-layer__actions { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 16px; }
.tbl-layer__actions .tbl-textlink { min-height: 44px; }
.tbl-vinsample { display: flex; flex-direction: column; gap: 4px; margin: 12px 0 16px; padding: 12px 14px; background: var(--tb-sand-soft); border-radius: 10px; }
.tbl-vinsample span { font: 700 20px/1 ui-monospace, Menlo, Consolas, monospace; letter-spacing: 1.5px; color: var(--tb-navy); }
.tbl-vinsample small { font: 500 13px/1.4 var(--tb-body); color: var(--tb-muted); }
.tbl-vinhelp__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 8px; }
.tbl-newamt { margin: 14px 0 10px; padding: 18px; text-align: center; background: var(--tb-sand-soft); border-radius: 14px; }
.tbl-newamt__label { margin: 0; font: 700 13px/1 var(--tb-body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--tb-muted); }
.tbl-newamt__value { margin: 6px 0 2px; font: 800 44px/1 var(--tb-head); color: var(--tb-navy); }
.tbl-newamt__car { margin: 0; font: 600 15px/1.4 var(--tb-body); color: var(--tb-ink); }
.tbl-newamt__was { margin: 8px 0 0; font: 600 14px/1.4 var(--tb-body); color: #857b6f; }
.tbl-newamt__was.is-up { color: var(--tb-ok); font-weight: 700; }

/* end screens */
.tbl-end { max-width: 620px; margin: 0 auto; }
.tbl-endcard { padding: 36px 32px 32px; text-align: center; background: #fff; border-radius: 18px; box-shadow: 0 10px 30px rgba(41, 51, 92, .10); }
.tbl-endcard h1 { margin: 0 0 8px; font: 800 30px/1.2 var(--tb-head); color: var(--tb-navy); outline: none; }
.tbl-endcard h2 { margin: 22px 0 10px; font: 800 20px/1.2 var(--tb-head); color: var(--tb-navy); }
.tbl-endcard__badge { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: var(--tb-navy); color: var(--tb-amber); font: 800 32px/1 var(--tb-head); }
.tbl-endcard__badge--info { background: var(--tb-sand-soft); color: var(--tb-navy); border: 2px solid var(--tb-sand); font-family: Georgia, serif; font-style: italic; }
.tbl-endcard__lead { margin: 0 0 18px; font: 500 17px/1.5 var(--tb-body); color: var(--tb-ink); }
.tbl-endcard__box { margin: 0 0 8px; padding: 16px 18px; text-align: left; background: var(--tb-sand-soft); border-radius: 14px; font: 500 15px/1.5 var(--tb-body); }
.tbl-endcard__box p { margin: 0 0 4px; }
.tbl-endcard__label { font: 700 12px/1 var(--tb-body) !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--tb-muted); }
.tbl-endcard__when { font: 800 20px/1.3 var(--tb-head) !important; color: var(--tb-navy); }
.tbl-endcard__fine { margin: 14px 0 0; font: 500 14px/1.5 var(--tb-body); color: var(--tb-muted); }
.tbl-endcard__box .tbl-endcard__fine { margin-top: 8px; }
.tbl-endcard__steps { display: inline-block; margin: 0 0 22px; padding-left: 22px; text-align: left; font: 500 16px/1.6 var(--tb-body); }
.tbl-endcard__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.tbl-endcard a:not(.tbl-cta) { color: var(--tb-navy); font-weight: 700; }

/* ---------- desktop */
@media (min-width: 768px) {
  .tbl-days__nav { display: flex; }
  .tbl-days__strip { display: grid; grid-template-columns: repeat(7, 1fr); overflow: visible; }
  .tbl-day { flex: none; }
  .tbl-day[data-offpage] { display: none; }
}

/* ---------- tablet/phone */
@media (max-width: 991px) {
  .tbl-offer__grid { grid-template-columns: 1fr; }
  .tbl-rail { position: static; order: 2; }
  .tbl-hero-card { max-width: none; }
}
@media (max-width: 767px) {
  .tbl-bar { padding: 8px 16px; }
  .tbl-bar__logo img { height: 50px; }
  .tbl-main { padding: 14px 16px 44px; }
  .tbl-journey { background: #fff; }
  .tbl-card { padding: 6px 0 0; box-shadow: none; border-radius: 0; }
  .tbl-card__q { font-size: 24px; }
  .tbl-choice__key { display: none; }
  .tbl-offer__title { font-size: 28px; }
  .tbl-block, .tbl-finish { padding: 18px 16px 8px; border: 1.5px solid #eee3d3; box-shadow: none; }
  .tbl-finish { padding-bottom: 18px; }
  .tbl-grid2 { grid-template-columns: 1fr; }
  .tbl-crunch, .tbl-endcard { padding: 28px 18px; box-shadow: none; border: 1.5px solid #eee3d3; }
  .tbl-howto { box-shadow: none; border: 1.5px solid #eee3d3; }
  .tbl-layer { align-items: flex-end; padding: 0; }
  .tbl-layer__panel { max-width: none; border-radius: 20px 20px 0 0; padding: 26px 20px 22px; max-height: 88vh; }
  .tbl-vinhelp__cols { grid-template-columns: 1fr; }
  .tbl-hero-card { padding: 20px 16px 18px; margin-top: 10px; }
  .tbl-hero-card__title { font-size: 22px; }
  .tbl-endcard h1 { font-size: 25px; }
  .tbl-cta { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .tbl-in-fwd, .tbl-in-back { animation: tbl-fade .12s linear; }
  .tbl-crunch__dial, .tbl-cta.is-busy::before { animation-duration: 2.4s; }
  .tbl-progress span, .tbl-choice { transition: none; }
}

/* ---------- homepage hero: lighter, smaller photo (desktop only; phones/tablets use the plain sand band) */
.tbl-cta__arrow { display: inline-block; margin-left: .45em; font-size: 1.15em; line-height: 1; transition: transform .15s; }
.tbl-cta:hover .tbl-cta__arrow { transform: translateX(3px); }
@media (min-width: 992px) {
  .tbl-home .triumph-sitebg-home {
    height: auto; min-height: 700px; padding-bottom: 60px;
    background-color: #EFCE9B;
    background-image: url(../images/triumph-hero-photo.jpg);
    background-image: image-set(url(../images/triumph-hero-photo.webp) type("image/webp"), url(../images/triumph-hero-photo.jpg) type("image/jpeg"));
    background-repeat: no-repeat;
    background-size: 380px auto;
    background-position: right 0 center;
  }
}
@media (min-width: 1200px) {
  .tbl-home .triumph-sitebg-home { background-size: 480px auto; }
}
@media (prefers-reduced-motion: reduce) { .tbl-cta__arrow { transition: none; } }
