/* =========================================================================
   Bourbon Saturdays — PRIME. The committed identity (Deck C).
   Broadcast premium: near-black canvas, crimson-duotone photography,
   massive tight condensed display with the red slab, white primary CTAs,
   Anton reserved for numerals. Loads last — this file wins.
   ========================================================================= */

:root{
  --pr-ink:#0c0b0e;          /* canvas                    */
  --pr-panel:#121117;        /* raised sections           */
  --pr-card:#16151b;         /* cards                     */
  --pr-line:rgba(255,255,255,.14);
  --pr-hair:rgba(255,255,255,.18);
  --pr-red:#e11d2e;          /* the slab                  */
  --pr-hotk:#ff4d5e;         /* kickers / live accents    */
  --pr-txt:#ecebee;
  --pr-mut:#b9b4be;

  /* remap legacy tokens so every layer converges on Prime */
  --hot:#e11d2e;--hot-2:#b3121f;--crimson:#e11d2e;--crimson-2:#b3121f;
  --canvas:#0c0b0e;--canvas-2:#121117;
  --sand:#121117;--sand-2:#16151b;--sand-ink:#ecebee;--sand-mut:#b9b4be;
  --paper:#0c0b0e;--cream:#121117;--paper-2:#121117;
  --navy:#0c0b0e;--navy-2:#16151b;--navy-3:#1d1c23;
  --band:#0c0b0e;--band-2:#16151b;--ink:#ecebee;--ink-deep:#08070a;--ink-soft:#cfccd4;
  --dark:#0c0b0e;--dark-2:#16151b;
  --line:rgba(255,255,255,.14);--line-dark:rgba(255,255,255,.14);
  --gold:#b9b4be;--gold-2:#d8d4dc;--gold-bright:#ffffff;--gold-soft:rgba(255,255,255,.08);
  --silver:#b9b4be;--silver-bright:#ffffff;--silver-dim:#8e8a95;
  --warm-mut:#8e8a95;
}

body{background:var(--pr-ink);color:var(--pr-txt)}

/* =========================================================================
   DISPLAY TYPE — tight condensed, uppercase, with the red slab
   ========================================================================= */
.tt-headline,.tt-section-title,
.tt-daily__title,.tt-story__title,.tt-roadtrip__title,
.tt-placepg__title,.tt-gamehub__title,.tt-funnel__title,
.tt-map__card-town,.tt-week__vs,
.tt-guide__coltitle,.tt-planner__heading,.tt-newsletter__heading,
.tt-lead__title,.tt-single__title,.tt-guide__title,
.tt-hero__index .t,.tt-gamehub__sub,.tt-placepg__sub,
.tt-daily__rowtitle,.tt-fire__title,.tt-minicard__title,.tt-place__name,
.tt-rank__name{
  font-family:var(--font-cond) !important;font-weight:700 !important;
  text-transform:uppercase !important;font-style:normal;
  letter-spacing:-.005em;line-height:.9;color:var(--pr-txt);
}
.tt-headline{font-size:clamp(2.8rem,6.4vw,5.4rem)}
.tt-headline::after{content:"";display:block;width:110px;height:10px;background:var(--pr-red);margin-top:16px}
.tt-section-title{font-size:clamp(1.7rem,3vw,2.4rem)}
.tt-week__vs{font-size:1.6rem;line-height:.92}
.tt-daily__title{font-size:clamp(1.8rem,3vw,2.6rem)}
.tt-story__title{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.tt-stories__grid .tt-story:not(.tt-story--lead) .tt-story__title{font-size:1.25rem;font-family:var(--font-cond);font-weight:700;text-transform:uppercase}
.tt-roadtrip__title{font-size:clamp(2.6rem,5vw,4.4rem);line-height:.88}
.tt-placepg__title{font-size:clamp(2.8rem,7vw,5.6rem);line-height:.88}
.tt-gamehub__title{font-size:clamp(2.6rem,6.4vw,5rem);line-height:.88}
.tt-funnel__title{font-size:1.9rem}
.tt-map__card-town{font-size:clamp(1.9rem,2.8vw,2.6rem)}
.tt-gamehub__sub,.tt-placepg__sub{font-size:1.4rem}
.tt-gamehub__sub::after,.tt-placepg__sub::after{width:56px;height:7px;background:var(--pr-red);margin-top:.55rem}

/* Hero: broadcast cover */
.tt-hero{background-color:var(--pr-ink);min-height:92vh}
.tt-hero__scrim{background:
  linear-gradient(115deg,rgba(120,8,25,.55) 0%,rgba(12,11,14,.72) 60%,rgba(12,11,14,.55) 100%),
  linear-gradient(to top,rgba(12,11,14,.96) 8%,rgba(12,11,14,.25) 55%,transparent) !important;
  mix-blend-mode:normal}
.tt-hero__title{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(3.2rem,9vw,8rem);line-height:.86;letter-spacing:-.01em}
.tt-hero__line:first-child{font-family:var(--font-cond);font-weight:700;letter-spacing:.24em;
  font-size:.22em;color:#fff}
.tt-hero__line--big{color:#fff;text-shadow:none}
.tt-hero__line--gold{color:#fff;-webkit-text-stroke:0;font-style:normal;
  box-shadow:inset 0 -.16em 0 var(--pr-red);padding-bottom:0}
.tt-hero__line--gold::after{display:none}
.tt-hero__eyebrow{color:var(--pr-hotk)}
.tt-hero__eyebrow::before{background:var(--pr-red)}
.tt-hero__text{font-family:var(--font-cond);font-weight:600;font-size:1.25rem;color:#d8d4dc;letter-spacing:.01em}
.tt-hero__index{border-top-color:var(--pr-hair)}
.tt-hero__index a{border-right-color:var(--pr-hair)}
.tt-hero__index .n{color:var(--pr-hotk)}

/* =========================================================================
   FRAME — ticker, masthead, buttons
   ========================================================================= */
.tt-ticker{background:var(--pr-ink);border-bottom:1px solid var(--pr-hair);height:44px}
.tt-ticker__label{background:transparent;color:var(--pr-hotk);clip-path:none;letter-spacing:.2em}
.tt-ticker__dot{background:var(--pr-hotk)}
.tt-ticker__item{color:#fff;font-size:13px}
.tt-ticker__item b{color:#fff}
.tt-ticker__item i{color:var(--pr-mut);border-color:var(--pr-line)}
.tt-header{background:var(--pr-ink);border-bottom:1px solid var(--pr-hair)}

.tt-btn--gold{background:#fff !important;color:var(--pr-ink) !important;border-radius:0;
  font-family:var(--font-cond);font-weight:700;letter-spacing:.14em}
.tt-btn--gold:hover{background:#e4e2e8 !important}
.tt-gamehub__ghost,.tt-placepg__ghost{border:1px solid rgba(255,255,255,.45);color:#fff;border-radius:0}
.tt-more{color:var(--pr-hotk) !important}
.tt-kick__label{color:var(--pr-hotk) !important}
.tt-kick__bars i{background:var(--pr-red)}
.tt-kick__bars i:nth-child(2){background:#fff}
.tt-kick__bars i:nth-child(3){background:var(--pr-mut)}

/* =========================================================================
   THE DUOTONE — every photograph wears the brand
   ========================================================================= */
.tt-week__media,.tt-story__media,.tt-roadtrip__media,.tt-fire__img,
.tt-minicard__media,.tt-funnel__thumb,.tt-daily__lead .tt-daily__media,
.tt-lead__img,.tt-side__img,.tt-dest__media img,.tt-placepg__figure img,
.tt-gamehub__hero{position:relative;isolation:isolate}
.tt-week__media::before,.tt-story__media::before,.tt-roadtrip__media::before,
.tt-fire__img::before,.tt-minicard__media::before,.tt-funnel__thumb::before,
.tt-lead__img::before,.tt-side__img::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,rgba(120,8,25,.5),rgba(12,11,14,.55) 70%);
  mix-blend-mode:multiply}
.tt-week__media > *,.tt-fire__img > *{position:relative;z-index:2}
.tt-gamehub__scrim{background:
  linear-gradient(115deg,rgba(120,8,25,.6),rgba(12,11,14,.8) 65%),
  linear-gradient(to top,rgba(12,11,14,.95),transparent 60%) !important}

/* =========================================================================
   SECTIONS & CARDS — dark panels, hairline rules
   ========================================================================= */
.tt-band{background:var(--pr-ink);color:var(--pr-txt)}
.tt-band--paper,.tt-band--alt,.tt-stats{background:var(--pr-panel) !important;color:var(--pr-txt)}
.tt-headrow{border-top:1px solid var(--pr-hair);padding-top:1.6rem}

.tt-week__card,.tt-minicard,.tt-daily__lead,.tt-fire__card{
  background:var(--pr-card);border:1px solid var(--pr-line);color:var(--pr-txt)}
.tt-week__card:hover,.tt-minicard:hover,.tt-fire__card:hover{border-color:rgba(255,255,255,.35);box-shadow:none}
.tt-week__meta{color:var(--pr-hotk)}
.tt-week__where{color:var(--pr-mut)}
.tt-week__go{color:#fff}
.tt-week__card:hover .tt-week__vs,.tt-minicard:hover .tt-minicard__title,
.tt-fire__card:hover .tt-fire__title,.tt-daily__lead:hover .tt-daily__title{color:var(--pr-hotk)}
.tt-week__card:first-child{background:var(--pr-card)}

.tt-daily__lead{border-top:4px solid var(--pr-red)}
.tt-daily__stamp{background:var(--pr-red)}
.tt-daily__dek{font-family:var(--font-cond);font-weight:500;font-size:1.05rem;color:var(--pr-mut)}
.tt-daily__meta,.tt-daily__rowmeta,.tt-story__meta,.tt-fire__meta,.tt-roadtrip__meta{color:var(--pr-mut)}
.tt-daily__num{-webkit-text-stroke-color:#fff;color:transparent}
.tt-daily__row{border-bottom-color:var(--pr-line)}

.tt-story__dek,.tt-minicard__dek{font-family:var(--font-cond);font-weight:500;color:var(--pr-mut)}
.tt-story--lead .tt-story__body{background:var(--pr-panel)}
.tt-roadtrip{background:var(--pr-ink)}
.tt-roadtrip__card{background:var(--pr-card);border-color:var(--pr-line)}
.tt-roadtrip__dek{font-family:var(--font-cond);font-weight:500;color:var(--pr-mut)}
.tt-roadtrip__meta b{color:var(--pr-hotk)}
.tt-roadtrip__card:hover .tt-roadtrip__title{color:var(--pr-hotk)}

/* Stats & rankings numerals stay Anton, go white */
.tt-stat__num,.tt-kickoff__unit b{color:#fff}
.tt-stat__num .u{color:var(--pr-hotk)}
.tt-stat__label{color:var(--pr-mut)}
.tt-stat + .tt-stat{border-left-color:var(--pr-line)}
.tt-band--alt .tt-rank__num{-webkit-text-stroke-color:#fff}
.tt-band--alt .tt-rank__row--top .tt-rank__num{color:#fff;-webkit-text-stroke:0}
.tt-band--alt .tt-rank__name{color:#fff}
.tt-band--alt .tt-rank__sub{color:var(--pr-mut)}
.tt-band--alt .tt-rank__row{border-bottom-color:var(--pr-line)}
.tt-band--alt .tt-rank__move--up{color:#fff}
.tt-band--alt .tt-rank__move--down,.tt-band--alt .tt-rank__move--new{color:var(--pr-hotk)}
.tt-band--alt .tt-rank__move--flat{color:var(--pr-mut)}

/* Eat · Drink · Experience */
.tt-guide__colhead{border-bottom-color:var(--pr-hair)}
.tt-guide__coltitle{color:#fff}
.tt-guide__col--eat .tt-guide__ico{background:var(--pr-red)}
.tt-guide__col--drink .tt-guide__ico{background:#fff;color:var(--pr-ink)}
.tt-guide__col--do .tt-guide__ico{background:var(--pr-card);color:#fff;border:1px solid var(--pr-line)}
.tt-place{border-bottom-color:var(--pr-line);background:transparent}
.tt-place:hover{box-shadow:none;transform:none}
.tt-place__name{color:#fff}
.tt-place:hover .tt-place__name{color:var(--pr-hotk)}
.tt-place__meta{color:var(--pr-mut)}
.tt-place__town{color:var(--pr-hotk)}
.tt-place__price{color:var(--pr-mut)}

/* Kickoff scoreboard */
.tt-kickoff{background:rgba(12,11,14,.88);border:1px solid var(--pr-line);border-top:3px solid var(--pr-red)}
.tt-kickoff__head span:first-child{color:#fff}
.tt-kickoff__wk{background:var(--pr-red)}

/* Funnel panel */
.tt-funnel{background:var(--pr-panel);border-left:4px solid var(--pr-red)}
.tt-funnel__kick{color:var(--pr-hotk)}
.tt-funnel__team{color:var(--pr-mut)}
.tt-funnel__links{background:var(--pr-line);border-color:var(--pr-line)}
.tt-funnel__links a{background:var(--pr-card)}
.tt-funnel__links a:hover{background:#1d1c23;color:var(--pr-hotk)}

/* Labels & chips */
.tt-label{color:var(--pr-mut);border-color:var(--pr-line)}
.tt-label--lead{background:var(--pr-red);border-color:var(--pr-red);color:#fff}
.tt-goodfor span{background:var(--pr-card);border-color:var(--pr-line);color:var(--pr-txt)}

/* Place & game pages */
.tt-placepg__eyebrow{color:var(--pr-hotk)}
.tt-placepg__eyebrow i{color:var(--pr-mut)}
.tt-placepg__dek{font-family:var(--font-cond);font-weight:500;font-style:normal;font-size:1.3rem;color:var(--pr-mut)}
.tt-placepg__gameday{background:var(--pr-panel);border-left-color:var(--pr-red)}
.tt-placepg__near{background:var(--pr-panel)}
.tt-entry--serif,.tt-entry--serif p{font-family:var(--font-body);font-size:1.05rem;line-height:1.7;color:var(--pr-txt)}
.tt-local-facts{background:var(--pr-card);border:1px solid var(--pr-line);padding:1.1rem 1.2rem}

/* Map */
.tt-map__field{background:radial-gradient(120% 90% at 50% 40%,#1a1216 0%,#100d10 60%,#0a090c 100%)}
.tt-map__glow{background:radial-gradient(circle,rgba(225,29,46,.2),transparent 62%)}
.tt-map__geo path{stroke:rgba(255,255,255,.26)}
.tt-map__card{background:var(--pr-card);border-left-color:var(--pr-red)}
.tt-map__card-school{color:var(--pr-hotk)}
.tt-map__hint{color:var(--pr-mut)}
.tt-map__pin .tt-map__dot,.pin{background:#fff}

/* Planner + newsletter */
.tt-planner{background:var(--pr-ink)}
.tt-planner__card{background:var(--pr-panel);border:1px solid var(--pr-line);border-left:5px solid var(--pr-red)}
.tt-newsletter{background:var(--pr-ink);border-top:1px solid var(--pr-hair)}
.tt-newsletter__heading{color:#fff}
.tt-newsletter__heading::after{content:"";display:block;width:90px;height:8px;background:var(--pr-red);margin-top:12px}
.tt-newsletter__text{color:var(--pr-mut)}
.tt-newsletter__form .tt-btn--gold{background:#fff !important;color:var(--pr-ink) !important}
.tt-newsletter__form input[type="email"]{background:var(--pr-card);border:1px solid var(--pr-line);color:#fff}
.tt-newsletter__form input[type="email"]::placeholder{color:var(--pr-mut)}

/* Destinations rail already dark — align hairlines */
.tt-destinations{background:var(--pr-ink)}
.tt-dest{background:var(--pr-card);border-color:var(--pr-line)}

/* =========================================================================
   PLANNER LEGIBILITY — components written for the old light palette sit on
   surfaces the Prime remap inverted. Pin explicit colors so nothing blends.
   ========================================================================= */

/* Hero: inherits --cream (now dark) on a dark gradient → force white. */
.tt-planner-hero{color:#fff}
.tt-planner-hero__title{color:#fff}
.tt-planner-hero .tt-eyebrow{color:var(--pr-hotk)}

/* Progress rail sits on the dark canvas → lift the step labels. */
.tt-planner-progress__count{color:var(--pr-mut)}
.tt-planner-progress__steps{color:rgba(255,255,255,.38)}
.tt-planner-progress__steps .is-done{color:rgba(255,255,255,.68)}
.tt-planner-progress__steps .is-current{color:#fff}
.tt-planner-progress__bar{background:linear-gradient(90deg,var(--pr-red),var(--pr-hotk))}

/* Destination picker cards stay white — so the type must be ink-dark. */
.tt-planner-dest__town{color:#141319}
.tt-planner-dest__team{color:rgba(20,19,25,.66)}
.tt-planner-dest__game{color:var(--pr-red)}
.tt-planner-dest input:checked + .tt-planner-dest__card{
  border-color:var(--pr-red);box-shadow:0 0 0 2px rgba(225,29,46,.35)}
.tt-planner-dest input:focus-visible + .tt-planner-dest__card{outline-color:var(--pr-red)}

/* Form controls, chips, review panel — white surfaces need ink type. */
.tt-planner-field input,
.tt-planner-field select{color:#141319}
.tt-chip-input span{color:#141319}
.tt-chip-input input:checked + span{border-color:var(--pr-red);background:#fbe9eb}
.tt-chip-input input:checked + span::before{color:var(--pr-red)}
.tt-planner-review dd{color:#141319}

/* Itinerary: dark cards need light copy; white link tiles need ink. */
.tt-itinerary__copy{color:rgba(255,255,255,.78)}
.tt-itinerary__placeholder{color:rgba(255,255,255,.55)}
.tt-itinerary__link-title{color:#141319}
.tt-itinerary__link-summary{color:rgba(20,19,25,.62)}
.tt-itinerary__link-type{color:var(--pr-red)}
.tt-itinerary__links a:hover{border-color:var(--pr-red)}
.tt-itinerary__when{color:var(--pr-hotk)}

/* Results header + budget card (dark surfaces, inherited dark tokens). */
.tt-planner-results__sub{color:rgba(255,255,255,.72)}
.tt-budget-card{color:#ecebee;border-color:rgba(255,255,255,.18)}
.tt-budget-card__title{color:var(--pr-hotk)}

/* Actions rail: email row, notes, restart. */
.tt-planner-emailform__row input{background:#fff;color:#141319}
.tt-planner-emailform__row .tt-btn{width:auto;flex:0 0 auto}
.tt-planner-emailform__privacy{color:rgba(255,255,255,.55)}
.tt-planner-emailform__msg{color:#ff8d7a}
.tt-planner-emailform__msg--ok{color:#7ddba3}
.tt-planner-actions__restart{color:rgba(255,255,255,.65)}
.tt-planner-actions__restart:hover{color:#fff}

/* Archive cards (places, games, guides, tailgates, parking, posts):
   white card bodies — titles must be ink, accents red. */
.tt-guide-card__title,
.tt-guide-card__title a,
.tt-post-card__title a{color:#141319}
.tt-guide-card__title a:hover,
.tt-post-card__title a:hover{color:var(--pr-red)}
.tt-guide-card .tt-eyebrow,
.tt-game-card .tt-eyebrow{color:var(--pr-red)}
.tt-guide-card .tt-price,
.tt-game-card .tt-price{color:rgba(20,19,25,.6)}

/* Game card date badge: day number was --cream (now dark) on dark. */
.tt-game-card__day{color:#fff}
.tt-game-card__month{color:var(--pr-hotk)}

/* Archive filter bar: checkbox labels + select text were --cream (dark). */
.tt-filterbar__field--check label{color:#fff}
.tt-filterbar__field select{color:#fff}
.tt-filterbar__reset{color:rgba(255,255,255,.7)}
.tt-filterbar__reset:hover{color:var(--pr-hotk)}

/* Pagination: white number tiles need ink; active/hover go full red. */
.tt-pagination .page-numbers{color:#141319}
.tt-pagination .page-numbers.current,
.tt-pagination .page-numbers:hover{
  background:var(--pr-red);border-color:var(--pr-red);color:#fff}

/* Place page "The Details" panel: links were --navy (dark) on dark. */
.tt-local-facts dd a{color:#fff;text-decoration-color:var(--pr-red)}
.tt-local-facts dd a:hover{color:var(--pr-hotk)}

/* Article body (dark canvas): link hovers, pullquotes, outline buttons
   were --navy/--cream (both now dark). */
.tt-entry a:hover{color:var(--pr-hotk)}
.tt-entry .wp-block-pullquote p{color:#fff}
.tt-entry .is-style-outline .wp-block-button__link{color:#fff}
.tt-taglist a:hover{color:var(--pr-hotk)}
.comment-reply-link:hover{color:var(--pr-hotk)}
.comment-content a:hover,
.tt-archive__desc a:hover{color:var(--pr-hotk)}

/* Misc dark surfaces that inherited dark tokens. */
.tt-fact{color:var(--pr-txt)}
.tt-toc-mobile summary{color:#fff}
.tt-filterbar__summary{color:#fff}
.tt-filterbar__count{color:rgba(255,255,255,.6)}
.tt-planner__card{color:#ecebee}

/* White inputs & panels: typed text must be ink. */
.tt-hero__field input[type="search"]{color:#141319}
.tt-searchform input[type="search"]{color:#141319}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{color:#141319}
.tt-dest-mini__town{color:#141319}

@media(max-width:680px){
  .tt-hero__title{font-size:clamp(2.6rem,12vw,3.8rem)}
  .tt-headline{font-size:2.2rem}
  .tt-headline::after{height:7px;width:80px}
}
