/* Meal Prep: the occasion collections (/meal-prep/lunchboxes/, /meal-prep/birthday/, /meal-prep/camping/). Builds on meals.css and the .hs colors. */
.oc-hero{border-left:5px solid var(--gold)}
.oc-jump{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}
.oc-jump a{display:inline-block;padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--g);font:600 .88rem system-ui,sans-serif;text-decoration:none}
.oc-jump a:hover{border-color:var(--g)}
.oc-menu h2,.oc-tool h2{margin-top:0}
.oc-menurow{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;margin:.6rem 0}
.oc-menurow .mp-dlgrow{gap:.8rem;margin:0}
.oc-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.6rem;margin:.8rem 0}
.oc-pick .mp-fs{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.oc-pick legend{font-size:.95rem;line-height:1.25}
.oc-pick .mp-cb{align-items:flex-start;min-height:1.7rem;line-height:1.3}
.oc-pick .mp-cb input{margin-top:.15rem}
.oc-pick .oc-nut{font-size:.75rem;color:var(--muted);white-space:nowrap}
.oc-cta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.oc-shop{margin-top:1rem;border-top:1px solid var(--line);padding-top:.6rem}
.oc-shop>summary{cursor:pointer;color:var(--g)}
.oc-shoplist{columns:2 260px;column-gap:1.5rem}
.oc-shoplist h3{font:700 .95rem system-ui,sans-serif;color:var(--g);margin:.7rem 0 .2rem;break-after:avoid}
.oc-shoplist ul{list-style:none;margin:0;padding:0}
.oc-shoplist li{padding:.2rem 0;border-bottom:1px dotted var(--line);break-inside:avoid;font-size:.93rem}
.oc-shoplist li span::before{content:" · "}
.oc-shoplist li small{display:block;color:var(--muted);font-size:.78rem}
.oc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.4rem 1rem;margin:.6rem 0 1rem}
.oc-form input,.oc-form select{width:100%;min-width:0}
.oc-opts{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin:.4rem 0 .8rem}
.oc-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}
.oc-tabs button{padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:600 .9rem system-ui,sans-serif;cursor:pointer}
.oc-tabs button[aria-pressed="true"]{background:var(--g);border-color:var(--g);color:var(--card)}
.oc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:.5rem 0}
.oc-grid.days{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.oc-day{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:.55rem .6rem;min-width:0;display:flex;flex-direction:column;gap:.3rem}
.oc-wkh{font:700 1.02rem Georgia,serif;color:var(--g);margin:1rem 0 .2rem;padding-bottom:.2rem;border-bottom:2px solid var(--gold)}
.oc-day h3,.oc-day h4{font:700 .92rem system-ui,sans-serif;color:var(--g);margin:0;display:flex;justify-content:space-between;gap:.3rem;align-items:baseline}
.oc-day h3 small,.oc-day h4 small{font-weight:600;color:var(--muted);font-size:.75rem}
.oc-item{display:flex;gap:.35rem;align-items:flex-start;font-size:.88rem;line-height:1.3;min-width:0}
.oc-item a{color:var(--ink);overflow-wrap:anywhere}
.oc-item .oc-k{flex:0 0 auto;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;min-width:3.6rem;padding-top:.1rem}
.oc-item .oc-sw{margin-left:auto;flex:0 0 auto;border:1px solid var(--line);background:var(--paper);color:var(--g);border-radius:8px;font-size:.8rem;padding:.05rem .4rem;cursor:pointer}
.oc-item .oc-sw:hover{border-color:var(--g)}
.oc-pack{font-size:.78rem;color:var(--muted)}
@media (max-width:900px){.oc-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
.oc-steps{list-style:none;margin:0;padding:0}
.oc-steps .oc-dayh{font:700 1.02rem Georgia,serif;color:var(--g);margin:1rem 0 .3rem;padding-bottom:.2rem;border-bottom:2px solid var(--gold)}
.oc-steps .oc-dayh:first-child{margin-top:0}
.oc-s{display:grid;grid-template-columns:6.6rem minmax(0,1fr);gap:.6rem;padding:.35rem 0 .35rem .6rem;border-left:4px solid var(--line);margin:.15rem 0}
.oc-s time{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.oc-s.bake{border-left-color:#c0602a}.oc-s.plan{border-left-color:#5a8fb8}.oc-s.ahead{border-left-color:#7a9a5a}.oc-s.safe{border-left-color:#b8963e}
.oc-s.party{border-left-color:#004225;font-weight:700}
html[data-theme="dark"] .oc-s.party{border-left-color:#6cc79a}
@media (max-width:520px){.oc-s{grid-template-columns:5.4rem minmax(0,1fr);gap:.4rem}.oc-s time{font-size:.9rem}.oc-jump a{font-size:.82rem}}
.oc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;margin:.6rem 0 1rem}
.oc-facts .mp-tip{margin:0}
.oc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1rem 2rem}
.oc-cols h3{color:var(--g);margin:.8rem 0 .3rem}
.oc-cols>div>h3:first-child{margin-top:0}
.oc-table{border-collapse:collapse;width:100%;margin:0 0 1rem;font-size:.92rem}
.oc-table caption{text-align:left;font-weight:700;color:var(--g);padding-bottom:.3rem}
.oc-table th,.oc-table td{border-bottom:1px solid var(--line);padding:.35rem .5rem;text-align:left;vertical-align:top}
.oc-table thead th{background:var(--soft)}
.oc-out{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;margin:.6rem 0}
.oc-out p{margin:.2rem 0}
.oc-big{font:700 1.5rem Georgia,serif;color:var(--g)}
.oc-fig{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.8rem}
.oc-svg{width:100%;height:auto;display:block;max-width:460px;margin:0 auto}
.oc-svg text{font:600 13px system-ui,sans-serif;fill:var(--ink)}
.oc-cake1{fill:#f3d9a4;stroke:#9a6a2a;stroke-width:2}
.oc-cake2{fill:#7a4a2a;stroke:#4a2a14;stroke-width:2}
.oc-frost{fill:#fff6e6;stroke:#c9a36a;stroke-width:2}
.oc-crumb{fill:none;stroke:#c9a36a;stroke-width:2;stroke-dasharray:4 4}
.oc-plate{fill:#d8dde0;stroke:#8a9296;stroke-width:2}
.oc-coal{fill:#3a3a3a;stroke:#c0602a;stroke-width:2}
.oc-pot{fill:#2c2c2c;stroke:#111;stroke-width:2}
.oc-lbl{fill:var(--g)}
html[data-theme="dark"] .oc-plate{fill:#4a5256;stroke:#9aa2a6}
html[data-theme="dark"] .oc-pot{fill:#555;stroke:#999}
html[data-theme="dark"] .oc-coal{fill:#666}
.oc-lnt{counter-reset:lnt;list-style:none;padding:0;margin:.4rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:.5rem}
.oc-lnt li{counter-increment:lnt;border:1px solid var(--line);border-radius:12px;padding:.5rem .7rem .5rem 2.6rem;position:relative;background:var(--card)}
.oc-lnt li::before{content:counter(lnt);position:absolute;left:.7rem;top:.5rem;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--g);color:var(--card);font:700 .85rem/1.4rem system-ui,sans-serif;text-align:center}
.oc-printout{display:none}
@media print{
  #oc-page>:not(.oc-printout){display:none!important}
  .oc-printout{display:block;color:#000;font-size:11pt}
  .oc-printout h1{font:700 20pt Georgia,serif;margin:0 0 .2rem}
  .oc-printout h2{font:700 14pt Georgia,serif;border-bottom:2px solid #b8963e;margin:1rem 0 .3rem;break-after:avoid}
  .oc-printout h3{font:700 10.5pt system-ui,sans-serif;margin:.5rem 0 .1rem;break-after:avoid}
  .oc-pm{columns:2;margin:0;padding-left:1.1rem}
  .oc-pt{list-style:none;padding:0;margin:0}.oc-pt li{margin:.1rem 0;break-inside:avoid}.oc-pt .oc-dayh{font-weight:700;margin-top:.5rem}
  .oc-ps{columns:2}.oc-ps ul{list-style:none;padding:0;margin:0}.oc-ps li{break-inside:avoid}
  .oc-ptab{border-collapse:collapse;width:100%;font-size:9.5pt}.oc-ptab th,.oc-ptab td{border:1px solid #999;padding:3pt;vertical-align:top;text-align:left}
}
