/* Thanksgiving for One: scoped to .tg, built on main.css tokens. */
.tg{max-width:var(--wrap);margin:0 auto;padding:2rem var(--gut) 5rem;width:100%}
.tg-h2{font:clamp(2.2rem,5vw,3.6rem)/.95 var(--display);text-transform:uppercase}

/* Landing hero */
.tg-hero{display:grid;gap:2rem;align-items:center;padding-bottom:2.5rem;border-bottom:var(--line);margin-bottom:3rem}
.tg-hero__title{font:clamp(2.8rem,7.5vw,5.6rem)/.9 var(--display);text-transform:uppercase;color:var(--red);margin:.6rem 0 1rem}
.tg-hero__dek{font:italic 1.35rem/1.45 var(--serif);color:var(--ink-2);max-width:32rem;margin-bottom:1.6rem}
.tg-hero__art{margin:0;border:var(--line);box-shadow:12px 12px 0 var(--teal);background:var(--yellow);transform:rotate(1deg)}
@media(min-width:860px){.tg-hero{grid-template-columns:1.05fr .95fr;gap:4rem}}
.tg-body{display:grid;gap:4rem}
.tg-intro{font-size:1.2rem}

/* Doors to menus */
.tg-doors{list-style:none;padding:0;margin:2rem 0;display:grid;gap:0;background:var(--ink);border:var(--line)}
.tg-door a{display:grid;grid-template-columns:7rem 1fr;gap:.3rem 1.2rem;align-items:center;padding:1rem;color:var(--ink);text-decoration:none;background:var(--cream);transition:transform .2s}
.tg-door+.tg-door a{border-top:var(--line)}
.tg-door a:hover{transform:translateX(6px);color:var(--ink)}
.tg-door img{grid-row:span 3;border:3px solid var(--ink);width:7rem}
.tg-door__no{font:1rem var(--display);color:var(--red)}
.tg-door__title{font:clamp(1.6rem,3vw,2.2rem)/1 var(--display);text-transform:uppercase}
.tg-door__sum{font:italic 1rem/1.4 var(--serif);color:var(--ink-2)}
.tg-door--2 a{background:var(--pink-l)} .tg-door--3 a{background:var(--yellow)}
@media(min-width:860px){.tg-doors{grid-template-columns:1.2fr 1fr 1fr}.tg-door+.tg-door a{border-top:0;border-left:var(--line)}.tg-door a{grid-template-columns:1fr;height:100%;align-content:start}.tg-door img{width:100%;grid-row:auto;margin-bottom:.6rem}}
.tg-choose__close{font:italic 1.25rem/1.5 var(--serif);max-width:40rem}

.tg-sections{display:grid;gap:0;border-top:8px solid var(--ink)}
.tg-sec{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1.6rem 0;border-bottom:var(--line)}
.tg-sec__no{font:3.4rem/.8 var(--display);color:var(--teal)}
.tg-sec h2{font:clamp(1.8rem,3.5vw,2.4rem)/1 var(--display);text-transform:uppercase}
.tg-sec p{font-size:1.125rem;max-width:42rem;margin:0}
.tg-closing{background:var(--blue);color:var(--cream);border:var(--line);box-shadow:10px 10px 0 var(--red);padding:clamp(1.5rem,4vw,3rem);font:italic 1.35rem/1.5 var(--serif)}

/* Planner */
.tg-phead{background:var(--yellow);border:var(--line);box-shadow:10px 10px 0 var(--blue);padding:clamp(1.5rem,4vw,2.5rem);margin-bottom:2.5rem}
.tg-phead__title{font:clamp(2.6rem,7vw,5rem)/.92 var(--display);text-transform:uppercase;margin:.5rem 0 .8rem}
.tg-phead__dek{font:italic 1.3rem/1.45 var(--serif);max-width:34rem}
.tg-phead__back{margin:0}
.tg-picker__list{list-style:none;padding:0;margin:0 0 2.5rem;display:grid;gap:.8rem}
.tg-pick{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:4.5rem 1fr;gap:.1rem 1rem;align-items:center;width:100%;padding:.7rem;border:var(--line);background:var(--cream);color:var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s,background-color .15s}
.tg-pick:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink);color:var(--ink)}
.tg-pick:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.tg-pick img{grid-row:span 3;width:4.5rem;border:2px solid var(--ink)}
.tg-pick__no{font:.9rem var(--display);color:var(--red)}
.tg-pick__title{font:1.5rem/1 var(--display);text-transform:uppercase}
.tg-pick__sum{font:italic .95rem/1.35 var(--serif);color:var(--ink-2)}
.tg-pick[aria-pressed="true"]{background:var(--ink);color:var(--cream);box-shadow:5px 5px 0 var(--red)}
.tg-pick[aria-pressed="true"] .tg-pick__sum{color:var(--pink-l)}
.tg-pick[aria-pressed="true"] .tg-pick__no{color:var(--yellow)}
@media(min-width:860px){.tg-picker__list{grid-template-columns:repeat(3,1fr);gap:1.2rem}.tg-pick{grid-template-columns:1fr;align-content:start;height:100%}.tg-pick img{width:100%;grid-row:auto;margin-bottom:.5rem}}

.tg-panel{border:var(--line);background:var(--paper);padding:clamp(1.2rem,3vw,2.2rem);margin-bottom:3rem;outline:none;border-top:10px solid var(--teal)}
.tg-panel--2{border-top-color:var(--red)} .tg-panel--3{border-top-color:var(--blue)}
.tg-js .tg-panel{margin-bottom:0}
.tg-panel.is-in{animation:tg-in .35s ease-out}
@keyframes tg-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tg-panel__head{display:grid;gap:1.5rem;align-items:start;margin-bottom:2rem}
.tg-panel__art{margin:0;border:var(--line);box-shadow:8px 8px 0 var(--pink)}
.tg-panel__title{font:clamp(2.2rem,5vw,3.6rem)/.95 var(--display);text-transform:uppercase;color:var(--blue)}
.tg-panel__desc{font:italic 1.2rem/1.5 var(--serif)}
@media(min-width:860px){.tg-panel__head{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem}}
.tg-badge{display:inline-block;background:var(--teal);color:var(--cream);font:800 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:.35rem .7rem;transform:rotate(-1.5deg)}
.tg-status{border-left:6px solid var(--yellow);background:var(--cream);padding:.8rem 1rem;font-size:.95rem}
.tg-prose{max-width:42rem;font-size:1.1rem;line-height:1.7;margin:2rem 0}
.tg-prose h3,.tg-list h3,.tg-recipe h3,.tg-schedule h3{font:1.8rem/1 var(--display);text-transform:uppercase}

.tg-list{background:var(--cream);border:var(--line);padding:1.4rem;background-image:repeating-linear-gradient(transparent 0 2.4rem,rgba(29,58,138,.1) 2.4rem 2.5rem)}
.tg-list__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.tg-list__count{font:800 .78rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0}
.tg-list__cols{display:grid;gap:1.5rem}
@media(min-width:760px){.tg-list__cols{grid-template-columns:1.3fr 1fr}}
.tg-group{border:0;padding:0;margin:0;min-width:0}
.tg-group legend{font:800 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:.25rem .6rem;margin-bottom:.6rem}
.tg-group--pantry legend{background:var(--teal)}
.tg-group ul{list-style:none;padding:0;margin:0}
.tg-group li{display:flex;gap:.7rem;align-items:flex-start;padding:.45rem 0;border-bottom:1px dashed rgba(36,33,31,.35)}
.tg-group input{accent-color:var(--red);width:1.3rem;height:1.3rem;margin:.15rem 0 0;flex:none;cursor:pointer}
.tg-group label{cursor:pointer;font-weight:700;transition:color .2s}
.tg-group input:checked+label{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;color:var(--ink-2)}
.tg-empty{font:italic 1.05rem var(--serif);color:var(--ink-2)}
.tg-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.tg-actions[hidden],.tg-fallback[hidden]{display:none}
.tg-live{font-weight:800;color:var(--teal);min-height:1.6em;margin:.8rem 0 0}
.tg-fallback{display:grid;gap:.4rem;margin-top:.5rem;font-weight:700}
.tg-fallback textarea{font:400 .95rem/1.5 var(--sans);border:3px solid var(--ink);background:var(--paper);padding:.7rem;width:100%;user-select:text}
.tg-leftovers{margin-top:2rem;background:var(--pink-l);border:var(--line);box-shadow:8px 8px 0 var(--teal);padding:1.5rem;max-width:44rem}
.tg-leftovers h3{font:1.9rem/1 var(--display);text-transform:uppercase}
.tg-recipe,.tg-schedule{margin:2rem 0;max-width:44rem}
.tg-schedule dl div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;border-bottom:1px solid var(--ink);padding:.5rem 0}
.tg-schedule dt{font-weight:800}.tg-schedule dd{margin:0}

@media (prefers-reduced-motion:reduce){.tg-panel.is-in{animation:none}.tg-door a:hover,.tg-pick:hover{transform:none}}

@media print{
  .crumbs,.tg-phead,.tg-picker,.tg-actions,.tg-live,.tg-fallback,.tg-phead__back,.tg-panel__art,.tg-door img{display:none!important}
  .tg-js .tg-panel[hidden]{display:none!important}
  .tg-phead,.tg-panel,.tg-list{box-shadow:none;background:none}
  .tg-panel{break-inside:auto;border-width:2px}
  .tg-group input{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tg-group legend,.tg-badge,.tg-closing{background:none!important;color:#000!important;box-shadow:none}
  .tg-panel.is-in{animation:none}
}
