/* =========================================================================
   Bourbon Saturdays — PAPER. The reading register (v3.2).

   The brand has two registers now:
   · BROADCAST (dark): homepage, destination + game hubs, archives, map —
     the hype. Untouched by this file.
   · PAPER (this file): articles, place pages, guides, tailgates, parking,
     static pages and the trip planner — long-form reading on a warm,
     Garden & Gun-style paper surface. The dark ticker/masthead/footer and
     dark hero title bands stay, framing the page; the reading surface goes
     warm ivory with ink type and the same red accents.

   Everything is scoped to body.tt-paper (set in functions.php), so removing
   the class reverts a page to full broadcast.
   ========================================================================= */

body.tt-paper{
  --pp-bg:#f4f0e7;            /* warm paper canvas          */
  --pp-panel:#FCFAF6;         /* raised panels              */
  --pp-card:#ffffff;          /* cards                      */
  --pp-ink:#191820;           /* reading ink                */
  --pp-mut:#66625a;           /* warm muted                 */
  --pp-line:rgba(25,24,32,.14);
  --pp-hair:rgba(25,24,32,.2);
  --pp-red:#b3121f;           /* accent red for TEXT on paper (AA) */

  background:var(--pp-bg);
  color:var(--pp-ink);
}

/* ---- Display type: same condensed voice, ink instead of white ---------- */
body.tt-paper :is(.tt-headline,.tt-section-title,.tt-single__title,
.tt-placepg__title,.tt-funnel__title,.tt-guide__coltitle,
.tt-placepg__sub,.tt-gamehub__sub,.tt-minicard__title,.tt-place__name,
.tt-planner-results__title,.tt-itinerary__title,.tt-planner-step__title,
.tt-planner-hero__title,.tt-guide__title){color:var(--pp-ink)}

/* …but titles sitting inside the dark hero bands stay white. */
body.tt-paper :is(.tt-single__head,.tt-guide__head,.tt-planner-hero)
  :is(.tt-single__title,.tt-guide__title,.tt-planner-hero__title){color:#fff}

/* Eyebrows / kickers / breadcrumbs on paper */
body.tt-paper .tt-eyebrow{color:var(--pp-red)}
body.tt-paper :is(.tt-single__head,.tt-guide__head,.tt-planner-hero) .tt-eyebrow{color:var(--pr-hotk,#ff4d5e)}
body.tt-paper .tt-breadcrumbs,body.tt-paper .tt-breadcrumbs a{color:var(--pp-mut)}
body.tt-paper .tt-breadcrumbs a:hover{color:var(--pp-red)}
body.tt-paper .tt-kick__label{color:var(--pp-red) !important}
body.tt-paper .tt-single__meta{color:var(--pp-mut)}
body.tt-paper .tt-single__head .tt-single__meta{color:rgba(255,255,255,.62)}

/* ---- Article body ------------------------------------------------------ */
body.tt-paper .tt-entry,
body.tt-paper .tt-entry p,
body.tt-paper .tt-entry li,
body.tt-paper .tt-entry--serif,
body.tt-paper .tt-entry--serif p{color:#242229}
body.tt-paper .tt-entry :is(h2,h3,h4){color:var(--pp-ink)}
body.tt-paper .tt-entry a{color:var(--pp-red);text-decoration-color:rgba(179,18,31,.4)}
body.tt-paper .tt-entry a:hover{color:#e11d2e}
body.tt-paper .tt-entry blockquote{border-left-color:var(--pp-red);color:var(--pp-ink)}
body.tt-paper .tt-entry .wp-block-pullquote p{color:var(--pp-ink)}
body.tt-paper .tt-entry .is-style-outline .wp-block-button__link{color:var(--pp-ink);border-color:var(--pp-ink)}
body.tt-paper .tt-taglist a{border-color:var(--pp-line);color:var(--pp-mut)}
body.tt-paper .tt-taglist a:hover{color:var(--pp-red)}
body.tt-paper .tt-postnav{border-color:var(--pp-line)}
body.tt-paper .tt-postnav__item a{color:var(--pp-ink)}
body.tt-paper .tt-postnav__item a:hover{color:var(--pp-red)}

/* ---- Bands & panels on reading pages ----------------------------------- */
body.tt-paper .tt-band{background:var(--pp-bg);color:var(--pp-ink)}
body.tt-paper .tt-band--paper,
body.tt-paper .tt-band--alt{background:var(--pp-panel) !important;color:var(--pp-ink)}
body.tt-paper .tt-headline::after{background:var(--pr-red,#e11d2e)}

/* ---- Place / local single pages ---------------------------------------- */
body.tt-paper .tt-placepg__eyebrow{color:var(--pp-red)}
body.tt-paper .tt-placepg__eyebrow i{color:var(--pp-mut)}
body.tt-paper .tt-placepg__dek{color:var(--pp-mut)}
body.tt-paper .tt-placepg__gameday,
body.tt-paper .tt-local-single__gameday{background:var(--pp-panel);border-left-color:var(--pr-red)}
body.tt-paper .tt-placepg__gameday p,
body.tt-paper .tt-local-single__gameday p{color:#242229}
body.tt-paper .tt-placepg__near{background:var(--pp-panel)}
body.tt-paper .tt-goodfor span{background:var(--pp-card);border-color:var(--pp-line);color:var(--pp-ink)}
body.tt-paper .tt-label{color:var(--pp-mut);border-color:var(--pp-hair)}
body.tt-paper .tt-label--lead{background:var(--pr-red);border-color:var(--pr-red);color:#fff}

body.tt-paper .tt-local-facts{background:var(--pp-card);border:1px solid var(--pp-line)}
body.tt-paper .tt-local-facts__title{color:var(--pp-ink)}
body.tt-paper .tt-local-facts dt{color:var(--pp-mut)}
body.tt-paper .tt-local-facts dd{color:var(--pp-ink)}
body.tt-paper .tt-local-facts dd a{color:var(--pp-red);text-decoration-color:rgba(179,18,31,.4)}
body.tt-paper .tt-local-facts dd a:hover{color:#e11d2e}

body.tt-paper .tt-minicard{background:var(--pp-card);border:1px solid var(--pp-line)}
body.tt-paper .tt-minicard__dek{color:var(--pp-mut)}
body.tt-paper .tt-dest-mini{background:var(--pp-card);border-color:var(--pp-line)}

/* ---- Funnel panel ("Heading to …?") ------------------------------------ */
body.tt-paper .tt-funnel{background:var(--pp-panel);border-left-color:var(--pr-red)}
body.tt-paper .tt-funnel__kick{color:var(--pp-red)}
body.tt-paper .tt-funnel__team{color:var(--pp-mut)}
body.tt-paper .tt-funnel__links{background:var(--pp-line);border-color:var(--pp-line)}
body.tt-paper .tt-funnel__links a{background:var(--pp-card);color:var(--pp-ink)}
body.tt-paper .tt-funnel__links a:hover{background:#fff;color:var(--pp-red)}

/* ---- Buttons: white-on-dark flips to red-on-paper ---------------------- */
body.tt-paper .tt-btn--gold{background:var(--pr-red) !important;color:#fff !important}
body.tt-paper .tt-btn--gold:hover{background:#b3121f !important}
body.tt-paper :is(.tt-single__head,.tt-guide__head,.tt-planner-hero) .tt-btn--gold{
  background:#fff !important;color:var(--pp-ink) !important}
body.tt-paper .tt-placepg__ghost,
body.tt-paper .tt-gamehub__ghost{border-color:var(--pp-hair);color:var(--pp-ink)}

/* ---- Trip planner flow -------------------------------------------------- */
body.tt-paper .tt-planner-progress__count{color:var(--pp-mut)}
body.tt-paper .tt-planner-progress__track{background:var(--pp-line)}
body.tt-paper .tt-planner-progress__steps{color:rgba(25,24,32,.45)}
body.tt-paper .tt-planner-progress__steps .is-done{color:rgba(25,24,32,.7)}
body.tt-paper .tt-planner-progress__steps .is-current{color:var(--pp-red)}

body.tt-paper .tt-planner-step{background:var(--pp-card);border-color:var(--pp-line)}
body.tt-paper .tt-planner-step__title,
body.tt-paper .tt-planner-sub > legend,
body.tt-paper .tt-planner-field label{color:var(--pp-ink)}
body.tt-paper .tt-planner-field input,
body.tt-paper .tt-planner-field select{border-color:var(--pp-line)}
body.tt-paper .tt-chip-input span{border-color:var(--pp-line)}
body.tt-paper .tt-planner-nav__back{color:var(--pp-ink)}
body.tt-paper .tt-planner-dest__card{border-color:var(--pp-line)}
body.tt-paper .tt-game-option{background:var(--pp-card);border-color:var(--pp-line)}
body.tt-paper .tt-game-option__title{color:var(--pp-ink)}

/* Results + itinerary */
body.tt-paper .tt-planner-results{background:var(--pp-bg)}
body.tt-paper .tt-planner-results__sub{color:var(--pp-mut)}
body.tt-paper .tt-itinerary__card{background:var(--pp-card);border-color:var(--pp-line)}
body.tt-paper .tt-itinerary__when{color:var(--pp-red)}
body.tt-paper .tt-itinerary__copy{color:#242229}
body.tt-paper .tt-itinerary__placeholder{color:var(--pp-mut)}
body.tt-paper .tt-itinerary__links a{background:var(--pp-panel);border-color:var(--pp-line)}
body.tt-paper .tt-itinerary__link-type{color:var(--pp-red)}

/* Budget card stays a dark broadcast accent on purpose — no override. */

/* Actions rail */
body.tt-paper .tt-planner-actions{background:var(--pp-card);border-color:var(--pp-line)}
body.tt-paper .tt-planner-actions__ghost{color:var(--pp-ink);border-color:var(--pp-hair)}
body.tt-paper .tt-planner-actions__ghost:hover{border-color:var(--pp-red)}
body.tt-paper .tt-planner-actions__note{color:var(--pp-red)}
body.tt-paper .tt-planner-emailform{border-top-color:var(--pp-line)}
body.tt-paper .tt-planner-emailform > label{color:var(--pp-ink)}
body.tt-paper .tt-planner-emailform__row input{border-color:var(--pp-line)}
body.tt-paper .tt-planner-emailform__privacy{color:var(--pp-mut)}
body.tt-paper .tt-planner-emailform__msg{color:#7c2418}
body.tt-paper .tt-planner-emailform__msg--ok{color:#2c6e49}
body.tt-paper .tt-planner-actions__restart{color:var(--pp-mut)}
body.tt-paper .tt-planner-actions__restart:hover{color:var(--pp-ink)}
body.tt-paper .tt-planner-review dt{color:var(--pp-mut)}

/* ---- Comments ---------------------------------------------------------- */
body.tt-paper .tt-comments{border-color:var(--pp-line)}
body.tt-paper .comment-reply-link{border-color:var(--pp-line);color:var(--pp-mut)}
body.tt-paper .comment-reply-link:hover{color:var(--pp-red)}
body.tt-paper .comment-content a{color:var(--pp-red)}
body.tt-paper .comment-content a:hover{color:#e11d2e}
body.tt-paper .comment-metadata a,body.tt-paper .comment-metadata{color:var(--pp-mut)}

/* ---- Guide layout extras ----------------------------------------------- */
body.tt-paper .tt-guide__cta-band{background:var(--pp-panel);border:1px solid var(--pp-line)}
body.tt-paper .tt-guide__cta-copy{color:var(--pp-ink)}
body.tt-paper .tt-toc__item a{color:var(--pp-mut)}
body.tt-paper .tt-toc__item a:hover,
body.tt-paper .tt-toc__item a.is-active{color:var(--pp-red)}
body.tt-paper .tt-toc-mobile{background:var(--pp-card);border-color:var(--pp-line)}
body.tt-paper .tt-toc-mobile summary{color:var(--pp-ink)}

/* =========================================================================
   THE VOICE — Garden & Gun × Travel + Leisure on reading pages.
   Titles and section heads go serif title case; utility labels, eyebrows
   and game data keep the condensed caps.
   ========================================================================= */

body.tt-paper :is(.tt-single__title,.tt-guide__title,.tt-placepg__title,
.tt-planner-results__title,.tt-planner-hero__title){
  font-family:'Fraunces',Georgia,serif !important;font-weight:600 !important;
  text-transform:none !important;letter-spacing:-.015em !important;
  line-height:1.05}

/* In-article section heads (Why We Like It, Game-Day Notes, H2/H3s) */
body.tt-paper :is(.tt-placepg__sub,.tt-gamehub__sub){
  font-family:'Fraunces',Georgia,serif !important;font-weight:600 !important;
  text-transform:none !important;letter-spacing:-.01em !important}
body.tt-paper .tt-entry :is(h2,h3){
  font-family:'Fraunces',Georgia,serif;font-weight:600;
  text-transform:none;letter-spacing:-.01em;line-height:1.15}

/* Deks: the italic serif whisper */
body.tt-paper :is(.tt-placepg__dek,.tt-gamehub__dek){
  font-family:'Lora',Georgia,serif !important;font-style:italic !important;
  font-weight:400 !important;text-transform:none !important}

/* Body copy reads in serif — the T+L longread feel */
body.tt-paper .tt-entry p,
body.tt-paper .tt-entry li{
  font-family:'Lora',Georgia,serif;font-size:1.06rem;line-height:1.8}
body.tt-paper .tt-entry--serif,
body.tt-paper .tt-entry--serif p{
  font-family:'Lora',Georgia,serif !important;font-size:1.06rem;line-height:1.8}

/* Panel titles that behave like small editorial headers */
body.tt-paper :is(.tt-local-facts__title,.tt-funnel__title,
.tt-itinerary__title,.tt-planner-step__title){
  font-family:'Fraunces',Georgia,serif !important;font-weight:600 !important;
  text-transform:none !important;letter-spacing:0 !important}

/* Softer photo grade on paper pages too */
body.tt-paper :is(.tt-minicard__media,.tt-funnel__thumb)::before{
  background:linear-gradient(115deg,rgba(122,52,24,.22),rgba(24,18,12,.26) 70%)}

/* =========================================================================
   SINGLE POST LAYOUT — article + sticky sidebar (v3.5)
   ========================================================================= */
body.tt-paper .tt-single__layout{
  display:grid;grid-template-columns:minmax(0,1fr) 340px;
  gap:clamp(2rem,4.5vw,4.5rem);align-items:start;
  padding-top:clamp(1.8rem,3.5vw,2.8rem)}
body.tt-paper .tt-single__main{max-width:46rem}
body.tt-paper .tt-single__main .tt-entry{max-width:none}
body.tt-paper .tt-single__aside{
  position:sticky;top:96px;display:grid;gap:1.4rem}

/* Sidebar boxes */
body.tt-paper .tt-asidebox{
  background:var(--pp-card);border:1px solid var(--pp-line);
  padding:1.2rem 1.3rem 1.3rem;
  box-shadow:0 1px 2px rgba(25,24,32,.05),0 8px 22px rgba(25,24,32,.06)}
body.tt-paper .tt-asidebox__title{
  font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.15rem;
  color:var(--pp-ink);margin:0 0 .9rem;padding-bottom:.6rem;
  border-bottom:2px solid var(--pp-ink)}
body.tt-paper .tt-asidebox__row{
  display:grid;grid-template-columns:64px 1fr;gap:.8rem;align-items:center;
  padding:.65rem 0;border-bottom:1px solid var(--pp-line);text-decoration:none}
body.tt-paper .tt-asidebox__row:last-child{border-bottom:0;padding-bottom:0}
body.tt-paper .tt-asidebox__row:has(> span:only-child){grid-template-columns:1fr}
body.tt-paper .tt-asidebox__thumb{
  display:block;width:64px;height:64px;background-size:cover;background-position:center}
body.tt-paper .tt-asidebox__rowtitle{
  display:block;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;
  font-size:.95rem;line-height:1.15;color:var(--pp-ink)}
body.tt-paper .tt-asidebox__row:hover .tt-asidebox__rowtitle{color:var(--pp-red)}
body.tt-paper .tt-asidebox__rowmeta{
  display:block;font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;font-size:.68rem;color:var(--pp-mut);margin-top:.2rem}
body.tt-paper .tt-asidebox__text{
  font-family:'Lora',Georgia,serif;font-size:.92rem;line-height:1.55;
  color:var(--pp-mut);margin:0 0 .9rem}
body.tt-paper .tt-asidebox__form{display:grid;gap:.55rem}
body.tt-paper .tt-asidebox__form input{
  font:inherit;padding:.65rem .85rem;border:1px solid var(--pp-line);
  background:#fff;color:#141319;min-height:46px;width:100%}
body.tt-paper .tt-asidebox--news{border-top:4px solid var(--pr-red,#e11d2e)}

/* The funnel panel slots into the rail cleanly */
body.tt-paper .tt-single__aside .tt-funnel{margin:0}

@media(max-width:1000px){
  body.tt-paper .tt-single__layout{grid-template-columns:1fr}
  body.tt-paper .tt-single__aside{position:static}
  body.tt-paper .tt-single__main{max-width:46rem}
}

/* Scroll reveals inherit fine; hover zooms unchanged. */
