/* =========================================================================
   Bourbon Saturdays — EDITORIAL layer (redesign v2).
   Premium editorial voice: serif deks, photography-first cards, editorial
   labels, the funnel panel, and the new homepage/hub components.
   Loads LAST. Per the redesign brief: restrained devices, warmth, photo-led.
   ========================================================================= */

/* ----- Serif voice ----- */
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/lora-400.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;
  src:url('../fonts/lora-400-italic.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/lora-600.woff2') format('woff2')}
:root{--font-serif:'Lora',Georgia,'Times New Roman',serif}

.tt-entry--serif,.tt-entry--serif p{font-family:var(--font-serif);font-size:1.08rem;line-height:1.75}

/* Per brief: retire the louder sports devices. */
.tt-hero__hazard{display:none}
.tt-newsletter::before{display:none}

/* ----- Editorial labels ----- */
.tt-labels{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0}
.tt-label{display:inline-block;font-family:var(--font-cond);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;font-size:.66rem;padding:.28rem .55rem;border:1px solid currentColor;color:#8a7c5e}
.tt-label--lead{background:var(--hot);border-color:var(--hot);color:#fff}

/* ----- Good For chips ----- */
.tt-goodfor{display:flex;flex-wrap:wrap;gap:.5rem}
.tt-goodfor span{font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  font-size:.78rem;padding:.45rem .8rem;background:var(--gold-soft,rgba(200,202,206,.14));border:1px solid var(--line);color:inherit}

/* =========================================================================
   FUNNEL PANEL — "Heading to Knoxville?"
   ========================================================================= */
.tt-funnel{margin:2.2rem 0;background:#101011;color:#fff;border-left:4px solid var(--hot);
  padding:1.4rem 1.4rem 1.5rem}
.tt-funnel__head{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.tt-funnel__thumb{flex:none;width:76px;height:76px;background-size:cover;background-position:center;background-color:#1c1c1e}
.tt-funnel__kick{display:block;font-family:var(--font-cond);font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;font-size:.7rem;color:var(--hot)}
.tt-funnel__title{font-family:var(--font-black);font-weight:400;text-transform:uppercase;
  font-size:1.6rem;line-height:1;color:#fff;margin:.2rem 0}
.tt-funnel__team{font-family:var(--font-cond);font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  font-size:.74rem;color:#9a9d97}
.tt-funnel__links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);list-style:none;margin:0 0 1rem;padding:0}
.tt-funnel__links a{display:block;padding:.7rem .8rem;background:#151516;color:#e8e8e6;text-decoration:none;
  font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}
.tt-funnel__links a:hover{background:#1d1d1f;color:var(--hot)}
.tt-funnel__cta{width:100%;justify-content:center;text-align:center}
@media(max-width:560px){.tt-funnel__links{grid-template-columns:repeat(2,1fr)}}

/* =========================================================================
   MINI CARD — photo-first place tile (hubs, nearby rails)
   ========================================================================= */
.tt-gamehub__places{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tt-minicard{display:flex;flex-direction:column;text-decoration:none;background:#fff;color:#181309;
  border:1px solid rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s ease}
.tt-minicard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.16)}
.tt-minicard__media{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#d8d2c4}
.tt-minicard__body{padding:.85rem .95rem 1rem}
.tt-minicard__title{display:block;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;
  font-size:1.02rem;line-height:1.05}
.tt-minicard:hover .tt-minicard__title{color:var(--hot)}
.tt-minicard__dek{display:block;font-family:var(--font-serif);font-size:.86rem;line-height:1.45;color:#5c5546;margin-top:.3rem}
/* dark-context minicards (game hub on dark) inherit paper card look — keep white */
@media(max-width:820px){.tt-gamehub__places{grid-template-columns:1fr}}

/* =========================================================================
   HOMEPAGE — THIS WEEKEND
   ========================================================================= */
.tt-week__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.tt-week__card{display:flex;flex-direction:column;text-decoration:none;background:#fff;color:#181309;
  border:1px solid rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s ease}
.tt-week__card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.tt-week__media{position:relative;aspect-ratio:16/9;background:linear-gradient(120deg,#1c1a16,#0f0e0c);
  background-size:cover;background-position:center}
.tt-week__media .tt-cat-tag{position:absolute;top:.7rem;left:.7rem}
.tt-week__body{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem 1.2rem}
.tt-week__vs{font-family:var(--font-black);font-weight:400;text-transform:uppercase;font-size:1.35rem;line-height:1}
.tt-week__card:hover .tt-week__vs{color:var(--hot)}
.tt-week__meta{font-family:var(--font-cond);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  font-size:.8rem;color:var(--hot)}
.tt-week__where{font-family:var(--font-cond);font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  font-size:.78rem;color:#6b5e45}
.tt-week__go{margin-top:.5rem;font-family:var(--font-cond);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;font-size:.8rem;color:#181309}
.tt-week__card:hover .tt-week__go{color:var(--hot)}
@media(max-width:860px){.tt-week__grid{grid-template-columns:1fr}}

/* =========================================================================
   HOMEPAGE — THE DAILY TAILGATE (sand band)
   ========================================================================= */
.tt-daily__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:2.4rem;align-items:start}
.tt-daily__lead{display:block;text-decoration:none;color:inherit;padding:1.6rem;background:#fff;
  border:1px solid rgba(0,0,0,.12);border-top:4px solid var(--hot)}
.tt-daily__stamp{display:inline-block;font-family:var(--font-cond);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;font-size:.7rem;background:var(--hot);color:#fff;padding:.3rem .6rem}
.tt-daily__title{display:block;font-family:var(--font-black);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:.95;margin:.7rem 0 .5rem}
.tt-daily__lead:hover .tt-daily__title{color:var(--hot)}
.tt-daily__dek{display:block;font-family:var(--font-serif);font-size:1rem;line-height:1.6;color:#4c4638}
.tt-daily__meta{display:block;margin-top:.8rem;font-family:var(--font-cond);font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;color:#8a7c5e}
.tt-daily__row{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline;
  padding:.9rem 0;border-bottom:1px solid rgba(0,0,0,.14);text-decoration:none;color:inherit}
.tt-daily__num{font-family:var(--font-black);font-size:1.3rem;color:transparent;
  -webkit-text-stroke:1.2px #181309}
.tt-daily__rowtitle{display:block;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;
  font-size:1rem;line-height:1.1}
.tt-daily__row:hover .tt-daily__rowtitle{color:var(--hot)}
.tt-daily__rowmeta{display:block;font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;font-size:.7rem;color:#8a7c5e;margin-top:.15rem}
@media(max-width:860px){.tt-daily__grid{grid-template-columns:1fr}}

/* =========================================================================
   HOMEPAGE — ROAD TRIP OF THE WEEK (dark feature)
   ========================================================================= */
.tt-roadtrip{padding-top:0}
.tt-roadtrip__card{display:grid;grid-template-columns:1.4fr 1fr;min-height:380px;text-decoration:none;
  border:1px solid var(--line-dark);background:#101011;color:#fff;overflow:hidden}
.tt-roadtrip__media{background:linear-gradient(120deg,#241c12,#0f0e0c);background-size:cover;background-position:center}
.tt-roadtrip__body{display:flex;flex-direction:column;justify-content:center;gap:.7rem;padding:2.2rem}
.tt-roadtrip__title{font-family:var(--font-black);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.7rem,3vw,2.6rem);line-height:.95}
.tt-roadtrip__card:hover .tt-roadtrip__title{color:var(--sand,#ece2cf)}
.tt-roadtrip__dek{font-family:var(--font-serif);font-size:1.02rem;line-height:1.6;color:#c9c6bd}
.tt-roadtrip__meta{font-family:var(--font-cond);font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  font-size:.76rem;color:#9a9d97}
.tt-roadtrip__meta b{color:var(--hot)}
.tt-roadtrip__body .tt-btn{align-self:flex-start;margin-top:.4rem}
@media(max-width:820px){.tt-roadtrip__card{grid-template-columns:1fr}.tt-roadtrip__media{aspect-ratio:16/9}}

/* =========================================================================
   HOMEPAGE — STORIES (sand, editorial)
   ========================================================================= */
.tt-stories__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem}
.tt-story{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.tt-story--lead{grid-row:span 2}
.tt-story__media{aspect-ratio:16/10;background:#d8d2c4;background-size:cover;background-position:center}
.tt-story--lead .tt-story__media{aspect-ratio:4/3}
.tt-story:not(.tt-story--lead){display:grid;grid-template-columns:140px 1fr;gap:1.1rem;align-items:start}
.tt-story:not(.tt-story--lead) .tt-story__media{aspect-ratio:1/1}
.tt-story__body{padding-top:.9rem}
.tt-story:not(.tt-story--lead) .tt-story__body{padding-top:0}
.tt-story__title{display:block;font-family:var(--font-black);font-weight:400;text-transform:uppercase;
  font-size:1.7rem;line-height:.98}
.tt-story:not(.tt-story--lead) .tt-story__title{font-size:1.15rem;font-family:var(--font-cond);font-weight:700}
.tt-story:hover .tt-story__title{color:var(--hot)}
.tt-story__dek{display:block;font-family:var(--font-serif);font-size:.98rem;line-height:1.6;color:#4c4638;margin-top:.4rem}
.tt-story__meta{display:block;margin-top:.55rem;font-family:var(--font-cond);font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;color:#8a7c5e}
@media(max-width:860px){.tt-stories__grid{grid-template-columns:1fr}.tt-story--lead{grid-row:auto}}

/* =========================================================================
   GAME WEEKEND HUB
   ========================================================================= */
.tt-gamehub__hero{position:relative;background:#101011 center/cover no-repeat;color:#fff;
  padding:clamp(3.4rem,8vw,6rem) 0 clamp(2.4rem,5vw,3.6rem)}
.tt-gamehub__scrim{position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(10,10,11,.92) 10%,rgba(10,10,11,.55) 60%,rgba(10,10,11,.3) 100%),
  linear-gradient(to top,rgba(10,10,11,.9),transparent 55%)}
.tt-gamehub__head{position:relative}
.tt-gamehub__title{font-family:var(--font-black);font-weight:400;text-transform:uppercase;
  font-size:clamp(2rem,5.4vw,4rem);line-height:.92;margin:.4rem 0 .7rem;max-width:20ch}
.tt-gamehub__meta{font-family:var(--font-cond);font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  font-size:.95rem;color:#d8d5cc;max-width:60ch}
.tt-gamehub__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
.tt-gamehub__ghost{border:1px solid rgba(255,255,255,.35);color:#fff}
.tt-gamehub__ghost:hover{border-color:#fff}
.tt-gamehub__layout{display:grid;grid-template-columns:1fr 340px;gap:3rem;padding-top:2.6rem;padding-bottom:3rem}
.tt-gamehub__sub{font-family:var(--font-black);font-weight:400;text-transform:uppercase;font-size:1.5rem;
  margin:0 0 1.1rem;position:relative;padding-left:14px}
.tt-gamehub__sub::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--hot)}
.tt-gamehub__sec{margin-top:2.4rem}
.tt-gamehub__sec:first-child{margin-top:0}
.tt-gamehub__reads{list-style:none;margin:0;padding:0}
.tt-gamehub__reads li{border-bottom:1px solid var(--line)}
.tt-gamehub__reads a{display:block;padding:.85rem 0;text-decoration:none;color:inherit;
  font-family:var(--font-cond);font-weight:700;text-transform:uppercase;font-size:1.05rem}
.tt-gamehub__reads a:hover{color:var(--hot)}
@media(max-width:960px){.tt-gamehub__layout{grid-template-columns:1fr}}

/* =========================================================================
   EDITORIAL PLACE PAGE
   ========================================================================= */
.tt-placepg__head{padding:clamp(2.4rem,6vw,4rem) 0 1.4rem}
.tt-placepg__eyebrow{font-family:var(--font-cond);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  font-size:.8rem;color:var(--hot);margin:0 0 .5rem}
.tt-placepg__eyebrow a{color:inherit;text-decoration:none}
.tt-placepg__eyebrow a:hover{text-decoration:underline}
.tt-placepg__eyebrow i{font-style:normal;color:#b3ab99;margin:0 .35rem}
.tt-placepg__title{font-family:var(--font-black);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.2rem,5.6vw,4.2rem);line-height:.92;margin:0 0 .5rem}
.tt-placepg__dek{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;line-height:1.55;
  max-width:44rem;color:#4c4638;margin:.7rem 0 0}
.tt-placepg__figure img{width:100%;height:auto;display:block}
.tt-placepg__layout{display:grid;grid-template-columns:1fr 320px;gap:3rem;padding-top:2.4rem;padding-bottom:2.6rem}
.tt-placepg__sub{font-family:var(--font-black);font-weight:400;text-transform:uppercase;font-size:1.4rem;
  margin:0 0 .9rem;position:relative;padding-left:14px}
.tt-placepg__sub::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--hot)}
.tt-placepg__sec{margin-top:2.2rem}
.tt-placepg__sec:first-child{margin-top:0}
.tt-placepg__order p,.tt-placepg__gameday p{font-family:var(--font-serif);font-size:1.05rem;line-height:1.7}
.tt-placepg__gameday{background:var(--gold-soft,rgba(200,202,206,.14));border-left:4px solid var(--hot);
  padding:1.1rem 1.2rem}
.tt-placepg__gameday .tt-placepg__sub{padding-left:0}
.tt-placepg__gameday .tt-placepg__sub::before{display:none}
.tt-placepg__actions{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.6rem}
.tt-placepg__actions .tt-btn{justify-content:center;text-align:center}
.tt-placepg__ghost{border:1px solid var(--line);color:inherit}
.tt-placepg__ghost:hover{border-color:var(--hot);color:var(--hot)}
.tt-placepg__near{background:var(--cream);padding:2.6rem 0 3rem}
@media(max-width:960px){.tt-placepg__layout{grid-template-columns:1fr}}
