.meal-builder-invite{background:var(--oxblood);color:var(--bone)}
.meal-builder-invite-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.meal-builder-invite .eyebrow{color:#efb58c}
.meal-builder-invite h2,.meal-builder-intro h2{margin:0;font:500 clamp(2.5rem,5vw,4.6rem)/1 var(--serif);letter-spacing:-.045em}
.meal-builder-invite p:not(.eyebrow){max-width:670px;color:var(--bone)}
.meal-builder-invite .button{color:var(--obsidian);background:var(--bone);border-color:var(--bone)}
.meal-builder{background:var(--paper)}
.meal-builder-intro{max-width:780px;margin-bottom:3rem}
.meal-builder-intro p:last-child{font:1.23rem/1.55 var(--serif);color:#4d443d}
.meal-builder-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:clamp(1.5rem,4vw,4rem)}
.meal-builder-controls{min-width:0}
.meal-form{display:grid;gap:1.6rem}
.meal-fieldset{border:0;border-top:1px solid var(--line);min-width:0;margin:0;padding:1.5rem 0 0}
.meal-legend{display:block;width:100%;margin:0 0 .9rem;font:500 clamp(1.45rem,2.6vw,2rem)/1.15 var(--serif);color:var(--ink)}
.meal-published-picker{border-top:1px solid var(--line);padding-top:1.5rem}
.meal-published-picker select{display:block;width:100%;min-height:54px;padding:.7rem 1rem;color:var(--ink);background:var(--paper);border:1px solid #75695e;font:inherit}
.meal-published-picker select:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.meal-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.meal-choice{position:relative;display:block;min-width:0;cursor:pointer}
.meal-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.meal-choice-copy{display:block;min-height:58px;padding:.8rem 1rem;border:1px solid #897d70;background:var(--paper);color:var(--ink);transition:background .18s,border-color .18s,box-shadow .18s}
.meal-choice-copy strong{display:block;font-size:.9rem;line-height:1.3}
.meal-choice-copy small{display:block;margin-top:.25rem;color:#544a42;font-size:.78rem;line-height:1.35}
.meal-choice input:checked+.meal-choice-copy{border:2px solid var(--oxblood);padding:calc(.8rem - 1px) calc(1rem - 1px);background:#f3e7db;box-shadow:inset 4px 0 var(--oxblood)}
.meal-choice input:checked+.meal-choice-copy strong::before{content:'✓ ';color:var(--oxblood)}
.meal-choice input:focus-visible+.meal-choice-copy{outline:3px solid var(--brass);outline-offset:3px}
.meal-choice:hover .meal-choice-copy{border-color:var(--oxblood)}
.meal-servings{border-top:1px solid var(--line);padding-top:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.meal-servings label{font:500 1.4rem var(--serif)}
.meal-servings select{min-height:50px;min-width:145px;padding:.5rem .75rem;color:var(--ink);background:var(--paper);border:1px solid #75695e}
.meal-recipe{min-width:0;padding:clamp(1.4rem,3vw,2.5rem);background:var(--bone);border-top:4px solid var(--oxblood);box-shadow:var(--shadow)}
.meal-recipe h2{margin:0 0 .75rem;font:500 clamp(2rem,3.2vw,3.3rem)/1.04 var(--serif);letter-spacing:-.04em}
.meal-recipe h3{margin:2rem 0 .7rem;font:500 1.75rem/1.15 var(--serif)}
.meal-recipe li{padding-left:.35rem;margin:.5rem 0;line-height:1.5}
.meal-recipe ul,.meal-recipe ol{padding-left:1.45rem}
.meal-recipe-meta{color:var(--oxblood);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.meal-recipe-edition,.meal-builder-footnote,.meal-connection-note{color:#51483e;font-size:.9rem}
.meal-special-note,.meal-notice{padding:1rem;background:#e8ded0;border-left:3px solid var(--brass);color:var(--ink)}
.meal-recipe-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.meal-recipe-actions[hidden],.meal-special-note[hidden]{display:none!important}
.meal-recipe-actions .button{color:var(--bone);background:var(--oxblood);border-color:var(--oxblood);cursor:pointer}
.meal-recipe-actions .button:hover{background:var(--obsidian)}
.meal-live-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.meal-builder-footnote{max-width:800px;margin:2.5rem 0 0}
.meal-builder a{color:var(--oxblood)}
.meal-help{margin:0;color:#51483e;line-height:1.5}
.meal-shopping{margin-top:2.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.meal-shopping h3{margin-bottom:.45rem}
.meal-shopping h4{margin:1.3rem 0 .4rem;font:700 .86rem/1.4 sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--oxblood)}
.meal-shopping>p{color:#51483e;font-size:.92rem;line-height:1.5}
.meal-shopping-list{list-style:none;padding:0!important;margin:.25rem 0 1.1rem}
.meal-shopping-list li{padding:0;margin:.15rem 0}
.meal-shopping-item{display:flex;align-items:flex-start;gap:.7rem;padding:.32rem 0;cursor:pointer;line-height:1.45}
.meal-shopping-item input{flex:none;width:1.15rem;height:1.15rem;margin:.13rem 0 0;accent-color:var(--oxblood)}
.meal-shopping-item input:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.meal-shopping-item input:checked+span{text-decoration:line-through;color:#51483e}
.meal-copy-list{color:var(--bone);background:var(--oxblood);border-color:var(--oxblood);cursor:pointer;margin-top:.5rem}
.meal-copy-list[hidden]{display:none!important}
.page-hero{padding:clamp(3.5rem,7vw,5rem) 0}
.page-hero h1{font-size:clamp(2.6rem,8.5vw,6rem);overflow-wrap:break-word}
@media(max-width:920px){.meal-builder-layout{grid-template-columns:1fr}.meal-recipe{max-width:760px}.meal-builder-invite-inner{grid-template-columns:1fr}}
@media(max-width:560px){.meal-choice-grid{grid-template-columns:1fr}.meal-servings{align-items:flex-start;flex-direction:column}.meal-servings select{width:100%}.meal-builder-invite .button{justify-self:start}}
@media(prefers-reduced-motion:reduce){.meal-choice-copy{transition:none}}
@media print{
  @page{margin:18mm}
  .site-header,.site-footer,.breadcrumbs,.meal-builder-invite,.meal-builder-intro,.meal-builder-controls,.meal-builder-footnote,.meal-recipe-actions,.meal-copy-list,.privacy-choice-panel,.recipe-discovery,.meal-live-announcement,.meal-recipe-edition,.hero,.page-hero,.page-content{display:none!important}
  body,.site-main,.meal-builder,.meal-recipe{color:#000!important;background:#fff!important;box-shadow:none!important}
  .meal-builder{padding:0!important}
  .meal-builder-layout{display:block}
  .meal-recipe{border:0;padding:0;max-width:none}
  .meal-recipe h2{font-size:24pt}
  .meal-recipe li{break-inside:avoid}
  a{color:#000!important;text-decoration:none}
}
