/* Kitchen cookbook, scoped to retain existing planner and shopping behavior. */
body.cookbook-active{background:#fff8fb;color:#412d43}
#meals.cookbook{--cb-ink:#422c44;--cb-muted:#806b7c;--cb-pink:#bc3f79;--cb-line:#eedde7;max-width:1000px;padding:20px 16px calc(112px + env(safe-area-inset-bottom))!important;overflow:visible;font-size:16px;line-height:1.5}
#meals.cookbook *,dialog.cb-filters *{box-sizing:border-box}
#meals.cookbook [hidden],dialog.cb-filters [hidden]{display:none!important}
#meals.cookbook .meal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;margin:0 0 19px}
#meals.cookbook .meal-heading h1{font-family:Georgia,serif;font-size:2.35rem!important;font-weight:500;letter-spacing:-1px;margin:0;color:#492b4a}
#meals.cookbook .kitchen-intro{font-size:.9rem;max-width:none;margin:4px 0 0;color:#806b7c}
#meals.cookbook .cb-header-tools{flex:0 0 auto;align-self:flex-start;padding-top:5px}
#meals.cookbook button{font-family:inherit;cursor:pointer}
#meals.cookbook button:disabled{opacity:.6;cursor:default}
#meals.cookbook .cb-favourites-link{min-height:44px;border:0;background:none;padding:4px 0 4px 8px;color:#a1396c;font-size:.9rem;font-weight:650}
#meals.cookbook .cb-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border:1px solid #efdee8;padding:5px;border-radius:16px;background:#f5e9f1;margin-bottom:22px}
#meals.cookbook .cb-tabs button{min-width:0;min-height:52px;padding:7px 4px;border:0;background:transparent;border-radius:12px;font-size:.9rem;line-height:1.25;color:#80677d;font-weight:600}
#meals.cookbook .cb-tabs button[aria-selected=true]{background:#fff;color:#943966;box-shadow:0 3px 9px #70425614}
#meals.cookbook .cb-panel{outline-offset:4px;min-width:0}
#meals.cookbook .cb-browse-hero{margin:0 0 18px}
#meals.cookbook .cb-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:1.8px;color:#a96283;margin:0 0 6px}
#meals.cookbook .cb-browse-hero h2,#meals.cookbook .cb-member-hero h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(1.65rem,6.5vw,2rem);letter-spacing:-.5px;line-height:1.18;margin:0;color:#4b2e4c}
#meals.cookbook .cb-browse-hero>p:last-child{margin:7px 0 0;font-size:.9rem;color:#806b7c}
#meals.cookbook .cb-search-row{display:flex;gap:8px;margin:0 0 16px}
#meals.cookbook .cb-search{min-width:0;flex:1;display:block}
#meals.cookbook .cb-search input{width:100%;min-height:50px;border:1px solid #e9dce4;border-radius:14px;padding:11px 12px;background:#fff;color:#493249;font-family:inherit;font-size:16px;outline-offset:2px}
#meals.cookbook .cb-search input::placeholder{font-size:.875rem;color:#907c8b;opacity:1}
#meals.cookbook .cb-filter-button{border:1px solid #dfccde;border-radius:14px;background:#f1e7f5;color:#71527d;min-height:50px;padding:10px 13px;font-size:.9rem;font-weight:650;white-space:nowrap}
#meals.cookbook .cb-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border-bottom:1px solid #ecdce6;padding:0 0 11px;margin-bottom:15px}
#meals.cookbook .cb-category{min-height:44px;min-width:0;border:0;border-radius:22px;background:transparent;color:#7b6877;font-size:.8125rem;padding:6px 2px;font-weight:600}
#meals.cookbook .cb-category[aria-pressed=true]{background:#bc3f79;color:#fff}
#meals.cookbook .cb-result-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
#meals.cookbook .cb-result-line p{font-size:.875rem;color:#806b7c;margin:0}
#meals.cookbook .cb-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;align-items:stretch}
#meals.cookbook .cb-recipe-card{position:relative;min-width:0;border:1px solid #eedee7;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 5px 13px #76516e08;display:flex;flex-direction:column}
#meals.cookbook .cb-recipe-open{display:flex;flex:1;flex-direction:column;border:0;background:transparent;padding:0;text-align:left;width:100%;min-width:0;color:#463148}
#meals.cookbook .cb-recipe-card .cb-food-photo{display:block;position:relative;width:100%;height:auto!important;aspect-ratio:1.05;min-height:0!important;flex:0 0 auto;border-radius:0!important;background-size:500% 500%;margin:0;overflow:hidden;background-color:#f4e8e7}
#meals.cookbook .cb-food-photo img{display:block;width:100%;height:100%;object-fit:cover}
#meals.cookbook .cb-recipe-copy{display:flex;flex-direction:column;gap:7px;padding:12px 11px;flex:1;width:100%;min-width:0}
#meals.cookbook .cb-recipe-copy strong{font-size:.95rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere;padding-right:0;color:#493148}
#meals.cookbook .cb-recipe-time{font-size:.8125rem;color:#8b7080;margin-top:auto}
#meals.cookbook .cb-recipe-author{font-size:.8125rem;line-height:1.4;color:#896d7e}
#meals.cookbook .cb-recipe-card .recipe-favourite-square-v237{position:absolute!important;top:8px;right:8px;bottom:auto;left:auto;background:#fffcf9ee!important;border:1px solid #fff;border-radius:50%!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;display:grid;place-items:center;box-shadow:0 2px 7px #59313a12;color:#954367;z-index:2;margin:0;padding:10px!important}
#meals.cookbook .recipe-favourite-square-v237 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
#meals.cookbook .recipe-favourite-square-v237[aria-pressed=true]{color:#be3f79;background:#ffe7f2!important}
#meals.cookbook .recipe-favourite-square-v237[aria-pressed=true] svg{fill:currentColor}
.cb-button{font:600 .95rem/1.35 inherit;border:1px solid #bc3f79;border-radius:14px;padding:12px 18px;min-height:48px;background:#bc3f79;color:#fff;cursor:pointer;text-align:center;text-decoration:none}
#meals.cookbook .cb-button{font-size:.95rem;font-weight:650;line-height:1.35}
#meals.cookbook .cb-secondary{background:#fff;color:#8e4d75;border-color:#e8cedf}
#meals.cookbook .cb-text-button{border:0;background:transparent;color:#965177;min-height:44px;font-size:.9rem;padding:8px;text-decoration:underline;text-underline-offset:3px}
#meals.cookbook .cb-load-more{display:block;width:100%;margin:24px 0 0;background:#f5e8f0;color:#91486e;border-color:#e9d4e2}
#meals.cookbook .cb-status{font-size:.9rem;color:#86667d;line-height:1.5;margin:10px 0}
#meals.cookbook .cb-status:empty{display:none}
#meals.cookbook .cb-empty,#meals.cookbook .cb-unavailable{grid-column:1/-1;color:#806b7c;font-size:1rem;padding:24px 10px}
#meals.cookbook .cb-member-hero{padding:24px 20px;border:1px solid #e9cfe1;background:linear-gradient(130deg,#fbe1ed,#eee3f5);border-radius:22px;text-align:center;margin:0 0 22px}
#meals.cookbook .cb-member-hero>p:not(.cb-eyebrow){font-size:.95rem;color:#87667d;font-style:italic;margin:10px 0 18px}
#meals.cookbook .cb-member-hero>.cb-button{display:block;width:100%;box-shadow:0 4px 10px #a2376415}
#meals.cookbook .cb-member-hero .cb-text-button{margin-top:5px}
#meals.cookbook .cb-member-invitation{grid-column:1/-1;text-align:center;padding:25px 15px;color:#806b7c}
#meals.cookbook .cb-table-heart{font-family:Georgia,serif;font-size:3.5rem;line-height:1;color:#c380a4}
#meals.cookbook .cb-member-invitation h3{font-family:Georgia,serif;font-size:1.6rem;font-weight:500;color:#644161;margin:14px 0 8px}
#meals.cookbook .cb-member-invitation p{font-size:1rem;line-height:1.65;margin:8px auto;max-width:350px}
#meals.cookbook .cb-member-invitation .cb-small{font-size:.875rem}
#meals.cookbook .cb-weekly-recipe{margin-bottom:24px}
#meals.cookbook .cb-weekly-recipe .cb-food-photo{aspect-ratio:1.7}
#meals.cookbook .cb-weekly-recipe .cb-recipe-copy strong{font-size:1.15rem}
#meals.cookbook #tab-kitchen-extras,#meals.cookbook .meal-about{display:none!important}
#meals.cookbook .kitchen-plan-toolbar{background:linear-gradient(120deg,#fce4ef,#f2e8f7);padding:18px!important;border:1px solid #eed5e4;border-radius:20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}
#meals.cookbook .kitchen-plan-title{width:100%}
#meals.cookbook .kitchen-plan-title h2{font-family:Georgia,serif;font-size:1.7rem;line-height:1.2;font-weight:500;color:#583354;margin:4px 0 10px}
#meals.cookbook .cb-plan-dates{font-size:.9rem;color:#795e73;margin:0;line-height:1.5}
#meals.cookbook #meal-shopping{font-size:.95rem!important;min-height:46px;background:#b5417b;color:#fff;border-color:#b5417b;border-radius:13px;padding:10px 14px}
#meals.cookbook #meal-plan-options{position:relative;margin:0}
#meals.cookbook #meal-plan-options>summary{font-size:.9rem;min-height:46px;padding:10px 13px;background:#fff8fc;border:1px solid #e6ccdf;border-radius:13px;color:#8a5979;list-style:none;cursor:pointer}
#meals.cookbook #meal-plan-options .meal-option-items{position:absolute;z-index:5;right:0;min-width:230px;max-width:calc(100vw - 64px);padding:10px;border:1px solid #ead7e4;background:#fff;border-radius:15px;box-shadow:0 8px 28px #66445c26}
#meals.cookbook #meal-option-items button{font-size:.9rem;min-height:44px;color:#76546f;padding:10px;text-align:left}
#meals.cookbook #meal-new-plan-actions{padding:0!important;margin:0!important;display:flex!important;flex-direction:column;border:0!important;background:none!important}
#meals.cookbook #meal-new-plan-actions p{display:none}
#meals.cookbook #meal-new-plan-actions button{background:none!important;border:0!important;padding:10px!important;box-shadow:none!important;border-radius:0!important;text-align:left!important;font-size:.9rem!important}
#meals.cookbook .cb-plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
#meals.cookbook .cb-plan-actions .cb-button{font-size:.9rem;flex:1}
#meals.cookbook .meal-day-tabs{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px;overflow:visible!important;margin:15px 0}
#meals.cookbook .meal-day-tabs button{min-width:0!important;width:100%;padding:8px 1px!important;font-size:.8rem!important;line-height:1.4;min-height:52px!important;white-space:normal!important}
#meals.cookbook .meal-day-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#meals.cookbook .meal-card{border:1px solid #eadce6!important;border-radius:18px!important;overflow:hidden;background:white;padding:0!important;min-width:0}
#meals.cookbook .meal-day-card>h3{font-size:.75rem!important;letter-spacing:1px;text-align:left;padding:10px 12px;margin:0!important;color:#99788b}
#meals.cookbook .meal-card .meal-card-open{display:flex!important;flex-direction:column!important;padding:0!important;gap:0!important;border:0;background:none;text-align:left;width:100%}
#meals.cookbook .meal-card .meal-photo{width:100%!important;height:auto!important;aspect-ratio:1.2;border-radius:0!important;min-height:0!important;margin:0!important}
#meals.cookbook .meal-card .meal-card-open>div:not(.meal-photo){padding:10px 12px!important}
#meals.cookbook .meal-card h4{font-size:.95rem!important;line-height:1.4!important;margin:0 0 6px}
#meals.cookbook .meal-card p{font-size:.8125rem!important;line-height:1.45}
#meals.cookbook .meal-card-actions{padding:4px 8px 10px;gap:3px;flex-wrap:wrap;justify-content:space-between}
#meals.cookbook .meal-card-actions button,#meals.cookbook .meal-card-actions label{font-size:.8125rem;min-height:44px;display:flex;align-items:center}
#meals.cookbook .meal-day-heading h3{font-size:1.2rem!important;margin:18px 0 5px}
#meals.cookbook #meal-servings-note{font-size:.875rem!important;line-height:1.5;color:#806b7c}
#meals.cookbook #meal-save-state{font-size:.8125rem}
#meals.cookbook .meal-empty{padding:28px 20px;border:1px solid #eedde7;background:#fff;border-radius:18px}
#meals.cookbook .meal-empty p{font-size:1rem}
#meals.cookbook .meal-empty button{width:100%;font-size:1rem;min-height:48px}
dialog.cb-filters{border:1px solid #ead6e4;border-radius:24px;background:#fff9fc;color:#4f3351;padding:22px;width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 20px 70px #51344b33}
dialog.cb-filters::backdrop{background:#3e293e66;backdrop-filter:blur(3px)}
.cb-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}
.cb-dialog-head h2{font:500 1.6rem/1.2 Georgia,serif;margin:0}
.cb-close{font-size:1.8rem;border:0;background:transparent;min-width:44px;min-height:44px;color:#77546f;cursor:pointer}
dialog.cb-filters label{display:flex;flex-direction:column;font-size:1rem;gap:8px;margin:18px 0}
dialog.cb-filters select{font:16px inherit;min-height:48px;padding:10px;border:1px solid #e5d3df;border-radius:12px;background:#fff;color:#66475f;width:100%}
dialog.cb-filters .cb-button{width:100%;display:block;font-size:1rem}
dialog.cb-filters .cb-text-button{font:16px inherit;min-height:44px;width:100%;border:0;background:transparent;color:#8a5577;margin-top:8px;text-decoration:underline}
body.cookbook-active :is(#meal-dialog,#meal-settings-dialog),body.cookbook-detail-open #contribution-dialog{max-width:none!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;inset:0;margin:0!important;border:0!important;border-radius:0!important;padding:0!important;background:#fff9fc;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
body.cookbook-active :is(#meal-dialog,#meal-settings-dialog) .dialog-head,body.cookbook-detail-open #contribution-dialog>.dialog-head{position:sticky;top:0;z-index:3;background:#fff9fcf5;border-bottom:1px solid #ecdae6;backdrop-filter:blur(8px);padding:max(12px,env(safe-area-inset-top)) 18px 12px;max-width:800px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
body.cookbook-active :is(#meal-dialog,#meal-settings-dialog) .dialog-head h2{font:500 1.5rem/1.2 Georgia,serif;color:#573853}
body.cookbook-active :is(#meal-dialog,#meal-settings-dialog) .close-dialog{min-width:44px;min-height:44px;font-size:1.8rem}
body.cookbook-active #meal-dialog-body,body.cookbook-detail-open #contribution-dialog-body{max-width:760px;margin:auto;padding:20px 18px calc(35px + env(safe-area-inset-bottom));font-size:1rem;line-height:1.7}
body.cookbook-active #meal-dialog-body>.meal-photo{width:100%!important;height:auto!important;aspect-ratio:1.5;min-height:0!important;border-radius:20px;margin:18px 0}
body.cookbook-active #meal-dialog-body :is(button,input,select){font-size:1rem;min-height:44px}
body.cookbook-active #meal-dialog-body .meal-small{font-size:.875rem;line-height:1.6}
body.cookbook-active #meal-dialog-body>.meal-ingredients,body.cookbook-active #meal-dialog-body>.meal-method{font-size:1rem;line-height:1.8;padding-left:24px}
body.cookbook-active #meal-dialog-body li{padding-bottom:10px}
body.cookbook-active #meal-settings-form{max-width:760px;margin:auto;padding:18px 18px 45px}
body.cookbook-active #meal-settings-form :is(input,select,button){font-size:16px;min-height:44px}
.cookbook-past-plan,.cookbook-past-day{padding:16px;border:1px solid #ead9e5;border-radius:16px;background:#fff;margin:14px 0}
.cookbook-past-plan h3,.cookbook-past-day h3{margin:0 0 8px;color:#76506d}
.cookbook-past-plan p,.cookbook-past-day p{margin:8px 0}
.cb-submission-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.cb-submission-meta input,.cb-submission-meta select{font:16px inherit;min-height:46px;width:100%;border:1px solid #e6d6e1;border-radius:12px;padding:10px;color:#66465f;background:white}
.cb-submission-meta>label{font-size:.95rem;line-height:1.5;min-width:0}
.cb-submission-meta .contribution-consent{grid-column:1/-1}
.cb-submission-meta .contribution-consent input{min-width:22px;min-height:22px;width:22px;height:22px}
#member-uploads.recipe-refresh .recipe-form-card label{font-size:1rem!important}
#member-uploads.recipe-refresh .recipe-form-card :is(input,textarea,select){font-size:16px!important}
#member-uploads.recipe-refresh>.back-link{display:block!important;min-height:44px}
#meals.cookbook :is(button,input,select,a):focus-visible,.cb-filters :focus-visible{outline:3px solid #9374ac;outline-offset:3px}
@media(min-width:700px){#meals.cookbook .cb-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}#meals.cookbook .cb-tabs{max-width:650px}#meals.cookbook .cb-recipe-copy strong{font-size:1.08rem}#meals.cookbook .cb-categories{max-width:560px}#meals.cookbook .cb-browse-hero{margin-top:26px}#meals.cookbook .cb-browse-hero h2{font-size:2.35rem}#meals.cookbook .cb-search-row{max-width:650px}#meals.cookbook .meal-day-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:350px){#meals.cookbook{padding-left:10px!important;padding-right:10px!important}#meals.cookbook .cb-tabs button{font-size:.8125rem}#meals.cookbook .cb-recipe-grid{gap:12px 8px}#meals.cookbook .meal-heading{flex-wrap:wrap}#meals.cookbook .cb-header-tools{margin-left:auto}#meals.cookbook .cb-category{font-size:.75rem}.cb-submission-meta{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#meals.cookbook *{scroll-behavior:auto}}
#meals.cookbook .meal-heading h1,#meals.cookbook .cb-browse-hero h2,#meals.cookbook .cb-member-hero h2,#meals.cookbook .kitchen-plan-title h2{font-family:Georgia,serif!important;font-weight:500!important}
#meals.cookbook .meal-heading h1{font-size:2.35rem!important;line-height:1.1!important}
#meals.cookbook .cb-recipe-card .recipe-favourite-square-v237{border-radius:50%!important}
body.cookbook-active #meal-dialog .cb-dialog-back{font-size:.95rem;white-space:nowrap;width:auto;min-width:70px;color:#935176;background:none;border:0}
.cb-optional-credit{margin:14px 0;color:#795d73}
.cb-optional-credit>summary{min-height:44px;font-size:.9rem;cursor:pointer;padding:10px 0}
/* Keep food near the top on narrow screens. */
#meals.cookbook .meal-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px!important;align-items:start!important;margin-bottom:18px!important}
#meals.cookbook .meal-heading>div:first-child{grid-column:1;grid-row:1}
#meals.cookbook .meal-heading .cb-header-tools{grid-column:2;grid-row:1;padding:0;margin:0;align-self:center}
#meals.cookbook .meal-heading .kitchen-intro{grid-column:1/-1;grid-row:2;margin:3px 0 0!important}
#meals.cookbook .cb-browse-hero h2{font-size:clamp(1.5rem,6.5vw,2.1rem)!important;line-height:1.2!important}

#meals.cookbook .meal-heading h1{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:clamp(1.75rem,8.8vw,2.35rem)!important}
#meals.cookbook .meal-heading .quick-share-heading{min-width:0;gap:0}
#meals.cookbook .cb-plan-actions .cb-plan-share{flex:0 0 44px;min-width:44px;min-height:44px;margin:0}
@media(max-width:350px){#meals.cookbook .cb-categories{grid-template-columns:44px 1.3fr 1fr 1fr 1fr}#meals.cookbook .cb-category{white-space:nowrap}}
