@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
:root{--ink:#26291e;--green:#2d4d35;--paper:#fffdf7;--cream:#f1eee2;--line:#d8d9cb;--orange:#ae451e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,select{cursor:pointer}button,a,select,input{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #bd571c;outline-offset:4px}button{color:inherit}header{border-bottom:1px solid var(--line);background:var(--paper)}.nav{max-width:1256px;margin:auto;padding:23px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Fraunces,Georgia,serif;font-size:26px;text-decoration:none;font-weight:600}.brand span{color:var(--orange)}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;font-size:15px;font-weight:600}nav a:hover,nav a[aria-current=page]{color:var(--orange)}main{max-width:1256px;margin:auto;padding:40px 32px 64px}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:clamp(36px,4.3vw,57px);margin:8px 0 16px;letter-spacing:-1.8px}h2{font-size:32px;margin:0 0 16px}h3{font-size:26px;margin:10px 0 14px}p{margin:0 0 18px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:12px;font-weight:700;color:#5b624f}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;margin-bottom:36px}.intro p{max-width:560px;font-size:18px;color:#565d4e}.hero-photo{width:100%;height:225px;object-fit:cover;border-radius:5px 72px 5px 5px}.photo-caption{font-size:12px;color:#626654;display:block;margin-top:5px}.workspace{display:grid;grid-template-columns:290px 1fr;gap:36px;align-items:start}.pantry{padding:26px;background:var(--cream);border:1px solid var(--line);border-radius:7px;position:sticky;top:20px}.pantry h2{font-size:28px}.pantry p{font-size:14px}.field{display:flex;flex-direction:column;gap:7px}label{font-size:14px;font-weight:600}select{width:100%;background:var(--paper);border:1px solid #a8ad9d;border-radius:5px;min-height:44px;padding:9px 30px 9px 10px;color:var(--ink)}.button{border:1px solid var(--green);background:var(--green);color:white;padding:10px 17px;min-height:44px;border-radius:5px;font-weight:600;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}.button:hover{background:#1d3824}.secondary{background:transparent;color:var(--green)}.secondary:hover{color:white}.pantry .button{width:100%;margin-top:10px}.sample{background:none;border:0;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px;color:var(--green)}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.chip{background:#fffdf7;border:1px solid #b3b9a8;border-radius:20px;min-height:36px;padding:4px 11px;font-size:14px}.chip span{margin-left:7px}.muted{color:#636857}.small{font-size:14px}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line)}.filters .field{flex:1;min-width:140px}.checkbox{display:flex;align-items:center;gap:8px;min-height:44px}input[type=checkbox]{accent-color:var(--green);width:20px;height:20px;flex-shrink:0}.result-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 18px}.result-heading h2{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;margin:0}.result-heading span{font-size:13px;color:#626654}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recipe-card{padding:23px;border:1px solid var(--line);border-radius:7px;background:white;display:flex;flex-direction:column}.card-top{display:flex;align-items:center;justify-content:space-between}.favorite{border:0;background:none;font-size:28px;line-height:1;min-width:44px;min-height:44px}.selected{color:var(--orange)}.recipe-card h3 a{text-decoration:none}.recipe-card h3 a:hover{text-decoration:underline}.recipe-card p{font-size:14px;color:#5d6354}.recipe-card .match{font-size:13px;font-weight:700;color:#704619;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}.recipe-card .ready{color:var(--green)}.recipe-card .missing{font-size:13px;margin:6px 0 18px}.text-link{font-size:14px;font-weight:700;color:var(--green);display:flex;justify-content:space-between;text-decoration:none}.empty{padding:28px;background:var(--cream);grid-column:1/-1}footer{border-top:1px solid var(--line);padding:25px 32px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1256px;margin:auto;font-size:14px;color:#626654}footer div{display:flex;gap:20px}.prose{max-width:780px}.prose p,.prose li{font-size:17px}.prose h2{margin-top:32px}.breadcrumb{font-size:14px;color:var(--green);margin-bottom:25px;display:block}.recipe-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.recipe-photo{width:100%;max-height:370px;object-fit:cover;border-radius:7px;margin:18px 0}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tag{font-size:13px;background:var(--cream);padding:5px 11px;border-radius:20px}.recipe-meta{font-size:16px;font-weight:600;color:var(--green)}#recipe-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:25px 0}.plan-label{display:flex;flex-direction:column;gap:5px}.ingredient-list{padding:0;list-style:none}.ingredient-list li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.ingredient-list strong{display:block;font-size:16px}.ingredient-list small{font-size:14px}.ingredient-state{font-size:13px;color:#865220;white-space:nowrap}.have .ingredient-state{color:var(--green)}.steps{padding-left:26px}.steps li{padding-left:10px;margin-bottom:22px}.steps li::marker{font-family:Fraunces,serif;color:var(--orange);font-size:24px}.week{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.day{border:1px solid var(--line);border-radius:6px;padding:17px}.day label{display:block;margin-bottom:8px}.day a{font-size:14px;display:inline-block;margin-top:8px}.planner-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.shopping-panel{background:var(--cream);padding:26px;border-radius:7px}.shopping-item{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.shopping-item strong{display:block;text-transform:capitalize}.shopping-item small{display:block;font-weight:400;margin-top:5px}.shopping-item:has(input:checked) span{opacity:.55;text-decoration:line-through}#announcement{color:var(--green);font-size:14px}.skip{position:absolute;left:16px;top:-70px;background:white;padding:10px;z-index:5}.skip:focus{top:8px}@media(max-width:850px){.nav{padding:18px 20px}.brand{font-size:23px}nav{gap:16px}.intro{gap:24px}.workspace{grid-template-columns:240px 1fr;gap:22px}.grid{grid-template-columns:1fr}.planner-layout{grid-template-columns:1fr}.recipe-layout{gap:30px}main{padding:28px 20px 48px}}@media(max-width:600px){.nav{align-items:flex-start;flex-direction:column;gap:12px}nav{width:100%;justify-content:space-between}.intro{grid-template-columns:1fr;gap:10px;margin-bottom:25px}.intro p{font-size:16px}.hero-photo{height:160px;border-radius:5px 45px 5px 5px}.workspace,.recipe-layout{grid-template-columns:1fr;gap:25px}.pantry{position:static;padding:20px}.pantry h2{font-size:25px}.chips{margin:12px 0}.grid{grid-template-columns:1fr}.filters{gap:12px}.result-heading{align-items:start;gap:10px}.result-heading span{max-width:100px;text-align:right}h1{letter-spacing:-1px}.week{grid-template-columns:1fr}footer{padding:24px 20px}.recipe-card{padding:21px}}@media print{header,footer,.week,.planner-intro,#print-list{display:none}.planner-layout{display:block}.shopping-panel{background:white}.shopping-item:has(input:checked){display:none}main{padding:0}}

/* Portion controls reuse the site's existing type, colors and buttons. */
.serving-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 12px}
.serving-controls label{font-size:16px}
.serving-controls select{width:140px}
.day-servings-label{margin-top:12px}
.print-brand{display:none}
@page{size:auto;margin:15mm}
@media print{
 body{background:#fff!important;color:#000!important;font:11pt/1.4 Arial,sans-serif}
 main{max-width:none;padding:0}
 body[data-recipe] header,body[data-recipe] footer,body[data-recipe] .skip,
 body[data-recipe] .breadcrumb,body[data-recipe] .eyebrow,body[data-recipe] .tags,
 body[data-recipe] .recipe-photo,body[data-recipe] .photo-caption,
 body[data-recipe] .serving-controls,body[data-recipe] #recipe-actions,
 body[data-recipe] .pantry-guidance,body[data-recipe] .ingredient-state,
 body[data-recipe] .button,body[data-recipe] #announcement,body[data-recipe] noscript{display:none!important}
 body[data-recipe] .print-brand{display:block;font-size:10pt;margin:0 0 6pt}
 body[data-recipe] h1{font:700 23pt/1.15 Georgia,serif;letter-spacing:0;margin:0 0 10pt}
 body[data-recipe] h2{font:700 15pt/1.2 Georgia,serif;margin:12pt 0 6pt;break-after:avoid}
 body[data-recipe] main>p{font-size:10pt!important;margin-bottom:8pt;max-width:none!important}
 body[data-recipe] .recipe-meta{color:#000;font-weight:bold}
 body[data-recipe] .recipe-layout{display:block}
 body[data-recipe] .ingredient-list{margin:0;padding:0}
 body[data-recipe] .ingredient-list li{display:block;padding:2pt 0;border:0;break-inside:avoid}
 body[data-recipe] .ingredient-list strong{display:inline;font-size:11pt;margin-right:8pt}
 body[data-recipe] .ingredient-list small{font-size:11pt}
 body[data-recipe] .steps{padding-left:20pt;margin:0}
 body[data-recipe] .steps li{padding-left:3pt;margin-bottom:7pt;break-inside:avoid}
 body[data-recipe] .steps li::marker{color:#000;font:700 11pt Arial,sans-serif}
 body[data-recipe] .small{font-size:9pt;color:#222}
 .planner-layout>section:first-child{display:none}
 .shopping-panel{padding:0}
}

/* Version 3 recipe directories: comfort meals, followed by breakfast/lunch/dinner. */
html{scroll-behavior:smooth;scroll-padding-top:20px}
.collection-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 24px;justify-content:flex-start}
.collection-jumps a{font-size:16px;text-decoration:underline}
.recipe-collection{border-top:1px solid var(--line);padding-top:36px;margin-top:40px;scroll-margin-top:20px}
.recipe-collection>p{max-width:850px}
.care-note{padding:16px 20px;border-left:4px solid var(--green);background:var(--cream);font-size:16px;max-width:900px}
.recipe-link-list{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.recipe-link-list li{min-width:0;border-bottom:1px solid var(--line)}
.recipe-link-list a{display:flex;flex-direction:column;gap:3px;text-decoration:none;padding:14px 0;min-height:64px}
.recipe-link-list a:hover strong{text-decoration:underline;color:var(--orange)}
.recipe-link-list strong{font-size:16px;line-height:1.4}
.recipe-link-list span{font-size:14px;color:#636857}
.meal-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.meal-collections h3{font-size:26px;margin-top:20px}
.meal-collections .recipe-link-list{display:block}
@media(max-width:850px){.meal-collections{grid-template-columns:1fr}.meal-collections .recipe-link-list{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:600px){.recipe-link-list,.meal-collections .recipe-link-list{grid-template-columns:1fr}.collection-jumps{justify-content:flex-start}.care-note{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.care-note{padding:0;border:0;background:white;font-size:9pt}.safety-reference{display:none}}
