/* Tasting Week pages (/taste, /taste/i/<token>). Builds on styles.css tokens. */
body.taste{background:var(--bone)}
.t-narrow{max-width:640px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nowrap{white-space:nowrap}

.t-hero{background:var(--leaf);color:var(--bone);padding:44px 0 40px}
.t-kicker{margin:0 0 14px;font-family:var(--mono);font-size:13.5px;letter-spacing:.04em;color:var(--butter)}
.t-hero h1{margin:0 0 16px;font-weight:700;font-size:clamp(36px,6.4vw,64px);line-height:1.02;letter-spacing:-.02em;font-variation-settings:"SOFT" 100,"opsz" 144;text-wrap:balance}
.t-hero h1 em{font-style:italic;font-weight:500;color:var(--butter)}
.t-lede{max-width:46ch;margin:0 0 24px;font-size:18px;color:rgba(247,242,234,.92)}

.t-how{background:var(--paper);border-bottom:1px solid var(--line);padding:30px 0 34px}
.t-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:s}
.t-steps li{display:flex;flex-direction:column;gap:6px;padding-left:44px;position:relative;counter-increment:s}
.t-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--terracotta);color:var(--bone);font-family:var(--mono);font-weight:500;display:grid;place-items:center;font-size:15px}
.t-steps b{font-size:19px;line-height:1.2}
.t-steps span{font-size:15.5px;line-height:1.45;color:rgba(25,17,16,.78)}
@media (max-width:760px){.t-steps{grid-template-columns:1fr;gap:18px}}

.t-form-wrap{padding:44px 0 48px}
.t-fs{border:0;margin:6px 0 18px;padding:0;min-width:0}
.t-fs legend{font-weight:700;font-size:15px;margin-bottom:8px;padding:0}
.hint{font-weight:400;font-size:14px;font-style:italic;color:rgba(25,17,16,.7)}
.t-phone{display:flex;align-items:stretch;border:1.5px solid var(--black);border-radius:10px;background:#fff;overflow:hidden}
.t-phone span{display:grid;place-items:center;padding:0 12px;font-family:var(--mono);background:var(--bone);border-right:1.5px solid var(--black)}
.t-phone input{border:0!important;border-radius:0!important;flex:1;min-width:0}
.t-phone:focus-within{outline:3px solid var(--butter);outline-offset:2px}
.t-phone input:focus{outline:none}

.t-evenings{display:flex;flex-direction:column;gap:10px}
.t-eve{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:start;border:1.5px solid var(--black);border-radius:14px;padding:14px;background:#fff;cursor:pointer;position:relative}
.t-eve input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--terracotta);grid-row:span 3}
.t-eve .d{font-family:var(--mono);font-size:13.5px;color:var(--terracotta-deep)}
.t-eve .th{font-weight:700;font-size:19px;line-height:1.2}
.t-eve .it{font-style:italic;font-size:15px;color:rgba(25,17,16,.72)}
.t-eve:has(input:checked){background:var(--leaf);color:var(--bone);border-color:var(--leaf)}
.t-eve:has(input:checked) .d{color:var(--butter)}
.t-eve:has(input:checked) .it{color:rgba(247,242,234,.85)}
.t-eve.is-closed{opacity:.5;cursor:not-allowed;background:transparent}
.t-eve .tag{position:absolute;right:12px;top:12px;font-family:var(--mono);font-size:12px;background:var(--black);color:var(--bone);border-radius:999px;padding:2px 8px}

.t-seg,.t-chips{display:flex;flex-wrap:wrap;gap:8px}
.t-seg label,.t-chips label{position:relative}
.t-seg input,.t-chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.t-seg span,.t-chips span{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border:1.5px solid var(--black);border-radius:999px;background:#fff;font-size:16px;font-weight:700}
.t-chips span{font-weight:400;min-height:42px;padding:8px 14px;font-size:15px}
.t-seg input:checked+span,.t-chips input:checked+span{background:var(--black);color:var(--bone)}
.t-seg input:focus-visible+span,.t-chips input:focus-visible+span{outline:3px solid var(--butter);outline-offset:2px}
.t-allergy-note{margin-top:10px}
.t-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.check b{font-weight:700}
.err{color:var(--terracotta-deep);font-weight:700;font-size:15px;margin:4px 0 12px}
.t-submit{width:100%;font-size:18px;min-height:56px}
.t-fine{font-size:14px;color:rgba(25,17,16,.72);text-align:center;margin:12px 0 0}
.t-loading{font-style:italic;color:rgba(25,17,16,.7)}

.t-done{border:2px solid var(--leaf);border-radius:18px;background:#fff;padding:24px 20px;text-align:center}
.t-done:focus{outline:none}
.t-done img{width:96px;height:96px;margin:0 auto 12px}
.t-done h3{margin:0 0 8px;font-size:28px;line-height:1.15}
.t-done ul{list-style:none;margin:12px 0 18px;padding:0}
.t-done li{font-weight:700;padding:6px 0;border-bottom:1px solid var(--line)}
.t-done li span{display:block;font-family:var(--mono);font-weight:400;font-size:13.5px;color:var(--terracotta-deep)}
.t-done .btn{width:100%;margin-top:6px}

.t-community{background:var(--paper);border-top:1px solid var(--line);padding:36px 0 44px}
.t-community h2{margin:0 0 8px;font-size:28px}
.t-community p{margin:0 0 18px;max-width:52ch}

/* invite page */
.t-invite-main{padding:28px 0 48px;min-height:60vh}
.t-invite{display:flex;flex-direction:column;gap:16px}
.t-card{background:#fff;border:1.5px solid var(--black);border-radius:18px;padding:22px 20px}
.t-card.leaf{background:var(--leaf);color:var(--bone);border-color:var(--leaf)}
.t-card h1{margin:0 0 6px;font-size:clamp(30px,7vw,42px);line-height:1.05;font-variation-settings:"SOFT" 100,"opsz" 144}
.t-card .t-kicker{color:var(--butter);margin-bottom:8px}
.t-card.plain .t-kicker{color:var(--terracotta-deep)}
.t-facts{margin:14px 0 0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px}
.t-facts dt{font-family:var(--mono);font-size:13.5px;padding-top:3px;opacity:.85}
.t-facts dd{margin:0;font-weight:700}
.t-actions{display:flex;flex-direction:column;gap:10px}
.t-actions .btn{width:100%}
.btn-out{background:transparent;border-color:var(--black);color:var(--black)}
.t-code{font-family:var(--mono);font-weight:500;font-size:34px;letter-spacing:.18em;background:var(--bone);color:var(--black);border-radius:12px;padding:10px 14px;display:inline-block;margin-top:6px}
.t-deadline{font-family:var(--mono);font-size:15px;background:var(--butter);color:var(--black);border-radius:10px;padding:8px 12px;display:inline-block;margin-top:14px}
.t-rate{border-bottom:1px solid var(--line);padding:12px 0}
.t-rate b{display:block;margin-bottom:8px}
.t-stars{display:flex;gap:6px}
.t-stars label{position:relative;flex:1}
.t-stars input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.t-stars span{display:grid;place-items:center;min-height:46px;border:1.5px solid var(--black);border-radius:10px;font-family:var(--mono);font-size:17px;background:#fff}
.t-stars input:checked+span{background:var(--terracotta);color:var(--bone);border-color:var(--terracotta)}
.t-stars input:focus-visible+span{outline:3px solid var(--butter);outline-offset:2px}
.t-scale{display:flex;justify-content:space-between;font-size:13px;font-style:italic;color:rgba(25,17,16,.65);margin-top:4px}

/* v2: house number, any evening, share */
.t-decode{margin:6px 0 0;min-height:1.4em;font-weight:700;font-size:16px}
.t-decode.ok{color:var(--leaf)}
.t-decode.ok::before{content:"✓ ";color:var(--leaf)}
.t-decode.bad{color:var(--terracotta-deep)}
.t-link{background:none;border:0;padding:4px 0;margin:2px 0 0;font:inherit;font-size:14.5px;color:var(--terracotta-deep);text-decoration:underline;cursor:pointer;text-align:left}
.t-t10{margin-top:8px}
#f-house{font-family:var(--mono);font-size:20px;letter-spacing:.08em}
.t-eve.t-any .th{font-size:19px}
.t-more{border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;margin:6px 0 18px;background:#fff}
.t-more summary{cursor:pointer;font-weight:700;font-size:15px}
.t-more[open] summary{margin-bottom:10px}
.t-ref-note{background:var(--butter);color:var(--black);border-radius:10px;padding:8px 12px;font-size:15px;margin:0 0 14px}
.t-share{background:var(--leaf);color:var(--bone);border-radius:16px;padding:18px 16px;margin:18px 0}
.t-share h4{margin:0 0 6px;font-size:21px;line-height:1.2}
.t-share p{margin:0 0 12px;color:rgba(247,242,234,.92);font-size:15.5px}
.t-share .btn{width:100%;margin:0 0 10px}
.btn-wa{background:#25D366;border-color:#25D366;color:#0b2e17}
.t-copy{display:flex;gap:8px}
.t-copy input{flex:1;min-width:0;font-family:var(--mono);font-size:14px;background:var(--bone);border:0;border-radius:10px;padding:10px}
.t-copy button{flex:none;border-radius:10px;border:1.5px solid var(--bone);background:transparent;color:var(--bone);font-weight:700;padding:0 14px;cursor:pointer}
body.taste [hidden]{display:none!important}
.t-done .t-days{font-family:var(--mono);font-size:14px;color:var(--terracotta-deep);margin:4px 0 14px}
.t-fallback{background:var(--butter);color:var(--black);border-radius:10px;padding:10px 14px;font-size:15px;margin:0 0 14px}
.t-join{margin:12px 0 4px}
.t-done .t-join-btn{margin-top:0;font-size:18px;padding-top:14px;padding-bottom:14px}
.t-join-why{font-size:15px;margin:8px 0 0}
