/*
 * Eat, its own look (owner brief 17 Oct 2026; ledger docs/SNEAKY-EAT-PREMIUM-UX.md).
 * Fresh greens and natural accents on warm paper; menu-card food lists; food-group tokens; plate rings.
 * Every selector starts with body.sh-eat, so nothing here reaches Train, Assess, the homepage or any other page.
 * Rollback: define('SH_EAT_LOOK', false).
 */

/* ======================================================================= tokens */
body.sh-eat {
	--eat-paper: #fbf8f0; --eat-paper-2: #f4eee0; --eat-oat: #efe6d2;
	--eat-ink: #17301f; --eat-copy: #3a4e40; --eat-muted: #5a6b5f;
	--eat-line: #e5dccb; --eat-line-2: #d5cab3; --eat-line-soft: #eee7d8;
	--eat-green: #2f7a34; --eat-leaf: #3d9442; --eat-sprout: #7dbd62; --eat-mint: #e8f3e1; --eat-mint-2: #d7ebcc;
	--eat-deep: #163d26; --eat-deep-2: #1f5233; --eat-sun: #e8a33a; --eat-tomato: #c8553d;
	--eat-p: #2f7a34; --eat-c: #dc9a2c; --eat-f: #c8553d;
	--eat-radius: 22px; --eat-radius-sm: 14px;
	--eat-shadow: 0 1px 2px rgba(23, 48, 31, .06), 0 22px 44px -30px rgba(23, 48, 31, .45);
	--eat-shadow-lift: 0 2px 4px rgba(23, 48, 31, .06), 0 30px 54px -28px rgba(23, 48, 31, .5);
	--eat-ease: cubic-bezier(.2, .7, .2, 1);
	--sl-pillar: #3d9442; --sl-pillar-ink: #2f7a34; --sl-pillar-wash: #eaf4e3;
	--sl-ink: #17301f; --sl-copy: #3a4e40; --sl-muted: #5a6b5f; --sl-line: #ddd3bf;
	background: var(--eat-paper);
}
body.sh-eat .sl-scope { color: var(--eat-copy); }

/* the food groups and their natural colours (decoration only: every group is named in text) */
body.sh-eat .eat-g--vegetable { --eat-g: #3d9442; }
body.sh-eat .eat-g--fruit { --eat-g: #d4553a; }
body.sh-eat .eat-g--legume_soy { --eat-g: #7f8f2a; }
body.sh-eat .eat-g--fish_seafood { --eat-g: #2a7f9e; }
body.sh-eat .eat-g--egg { --eat-g: #e3a21c; }
body.sh-eat .eat-g--dairy { --eat-g: #6aa7cf; }
body.sh-eat .eat-g--grain_starch { --eat-g: #c0913f; }
body.sh-eat .eat-g--nuts_seeds { --eat-g: #8a5a2b; }
body.sh-eat .eat-g--meat { --eat-g: #a63a4c; }
body.sh-eat .eat-g--baked_food { --eat-g: #a8713f; }
body.sh-eat .eat-g--breakfast_cereal { --eat-g: #cfa54f; }
body.sh-eat .eat-g--fats_oils { --eat-g: #a99a2c; }
body.sh-eat .eat-g--other { --eat-g: #8fa397; }
/* meal roles (the plate rings keep their own stroke colours) */
body.sh-eat .eat-role--breakfast { --eat-r: #e0a33a; } body.sh-eat .eat-role--lunch { --eat-r: #6fae4f; }
body.sh-eat .eat-role--dinner { --eat-r: #2f7a34; } body.sh-eat .eat-role--main_meal { --eat-r: #3d9442; }
body.sh-eat .eat-role--snack { --eat-r: #4fa9cf; } body.sh-eat .eat-role--pre_workout { --eat-r: #4ea6ec; }
body.sh-eat .eat-role--post_workout { --eat-r: #246b5f; } body.sh-eat .eat-role--meal { --eat-r: #6fae4f; }

/* widths in steps of 5 for the bars (no inline style anywhere) */
body.sh-eat .eat-w0 { width: 0; } body.sh-eat .eat-w5 { width: 5%; } body.sh-eat .eat-w10 { width: 10%; } body.sh-eat .eat-w15 { width: 15%; }
body.sh-eat .eat-w20 { width: 20%; } body.sh-eat .eat-w25 { width: 25%; } body.sh-eat .eat-w30 { width: 30%; } body.sh-eat .eat-w35 { width: 35%; }
body.sh-eat .eat-w40 { width: 40%; } body.sh-eat .eat-w45 { width: 45%; } body.sh-eat .eat-w50 { width: 50%; } body.sh-eat .eat-w55 { width: 55%; }
body.sh-eat .eat-w60 { width: 60%; } body.sh-eat .eat-w65 { width: 65%; } body.sh-eat .eat-w70 { width: 70%; } body.sh-eat .eat-w75 { width: 75%; }
body.sh-eat .eat-w80 { width: 80%; } body.sh-eat .eat-w85 { width: 85%; } body.sh-eat .eat-w90 { width: 90%; } body.sh-eat .eat-w95 { width: 95%; }
body.sh-eat .eat-w100 { width: 100%; }

/* ======================================================================= type */
body.sh-eat .eat-h1, body.sh-eat main .sl-h1.eat-h1 { font: 800 clamp(2.5rem, 1.2rem + 4.6vw, 4.6rem)/.96 var(--sl-display); letter-spacing: -.04em; color: var(--eat-ink); text-wrap: balance; margin: 0; }
body.sh-eat .eat-h1--md, body.sh-eat main .sl-h1.eat-h1--md { font-size: clamp(2.1rem, 1.1rem + 3.2vw, 3.5rem); line-height: 1.02; }
body.sh-eat .eat-h2 { margin: 0; font: 800 clamp(1.7rem, 1.1rem + 1.9vw, 2.6rem)/1.05 var(--sl-display); letter-spacing: -.03em; color: var(--eat-ink); text-wrap: balance; }
body.sh-eat .eat-h3 { margin: 0; font: 750 1.2rem/1.2 var(--sl-display); letter-spacing: -.015em; color: var(--eat-ink); }
body.sh-eat .eat-kicker { margin: 0; font: 800 12.5px/1.2 var(--sl-text); letter-spacing: .14em; text-transform: uppercase; color: var(--eat-green); }
body.sh-eat .eat-lead { margin: 0; max-width: 56ch; font: 400 clamp(1.06rem, 1rem + .3vw, 1.22rem)/1.55 var(--sl-text); color: var(--eat-copy); text-wrap: pretty; }
body.sh-eat .eat-sub { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--eat-copy); text-wrap: pretty; }
body.sh-eat .eat-note { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--eat-muted); }
body.sh-eat .eat-fine { display: flex; gap: 10px; align-items: flex-start; max-width: 80ch; margin: 18px 0 0; font-size: 14px; line-height: 1.5; color: var(--eat-muted); }
body.sh-eat .eat-fine .sl-i { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--eat-green); }
body.sh-eat .eat-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font: 800 13px/1 var(--sl-text); letter-spacing: .16em; text-transform: uppercase; color: var(--eat-green); }
body.sh-eat .eat-sec-head { display: grid; gap: 10px; margin: 0 0 28px; }
body.sh-eat .eat-sec-head--row { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 24px; }
body.sh-eat .eat-sec-head--row > div { display: grid; gap: 10px; }
@media (max-width: 640px) { body.sh-eat .eat-sec-head--row { grid-template-columns: minmax(0, 1fr); } body.sh-eat .eat-sec-head--row > .sl-btn { justify-self: start; } }
body.sh-eat :is(.eat-figures, .eat-food-kcal, .eat-menu-qty, .eat-ring-big, .eat-fig b) { font-variant-numeric: tabular-nums; }

/* ======================================================================= buttons (Eat green) */
body.sh-eat .sl-scope .sl-btn--primary, body.sh-eat .eat-scope .sl-btn--primary { --sl-btn-bg: var(--eat-green); --sl-btn-bg-on: #22602a; --sl-btn-shadow: 0 14px 28px -16px rgba(31, 90, 42, .9), inset 0 1px 0 rgba(255, 255, 255, .2); }
body.sh-eat .sl-scope .sl-btn--ghost .sl-i { color: var(--eat-green); }
body.sh-eat .sl-scope .sl-btn--ghost, body.sh-eat .sl-scope .sl-btn--ghost:is(:hover, :focus, :active, :visited) { --sl-btn-bd: var(--eat-line-2); --sl-btn-bd-on: var(--eat-green); --sl-btn-bg-on: #fff; }
body.sh-eat .sl-scope .sl-btn--light, body.sh-eat .sl-scope .sl-btn--light:is(:hover, :focus, :active, :visited) { --sl-btn-bg: #f7f2e3; --sl-btn-fg: var(--eat-deep); --sl-btn-bd: transparent; --sl-btn-bg-on: #fff; --sl-btn-fg-on: var(--eat-deep); --sl-btn-bd-on: transparent; }
body.sh-eat .sl-scope .sl-btn--light .sl-btn-orb { background: var(--eat-deep); color: #f7f2e3; }
body.sh-eat .sl-scope .sl-btn--line-light, body.sh-eat .sl-scope .sl-btn--line-light:is(:hover, :focus, :active, :visited) { --sl-btn-bg: transparent; --sl-btn-fg: #f7f2e3; --sl-btn-bd: rgba(247, 242, 227, .55); --sl-btn-bg-on: rgba(247, 242, 227, .1); --sl-btn-fg-on: #fff; --sl-btn-bd-on: #f7f2e3; }
body.sh-eat .sl-scope .sl-search:focus-within { border-color: var(--eat-green); box-shadow: 0 0 0 4px var(--eat-mint), 0 18px 40px -30px rgba(23, 48, 31, .55); }
body.sh-eat .sl-scope .sl-search > .sl-i { color: var(--eat-green); }

/* ======================================================================= shared pieces */
/* a food-group token: the glyph in the group's colour on its own tint */
body.sh-eat .eat-token { --eat-ts: 44px; flex: none; display: inline-grid; place-items: center; width: var(--eat-ts); height: var(--eat-ts); border-radius: 50%; color: var(--eat-g, #8fa397); background: color-mix(in srgb, var(--eat-g, #8fa397) 15%, #fff); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--eat-g, #8fa397) 28%, transparent); }
body.sh-eat .eat-token .sl-i { width: 52%; height: 52%; }
body.sh-eat .eat-token--md { --eat-ts: 36px; } body.sh-eat .eat-token--sm { --eat-ts: 32px; } body.sh-eat .eat-token--xs { --eat-ts: 22px; }
body.sh-eat .eat-eyebrow .eat-token { --eat-ts: 34px; color: #fff; background: var(--eat-leaf); box-shadow: none; }

/* the basis a figure is given on, always in words */
body.sh-eat .eat-basis { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-left: 3px solid var(--eat-green); background: var(--eat-mint); color: var(--eat-deep); font: 800 11.5px/1.2 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
body.sh-eat .eat-basis--per100 { border-left-color: var(--eat-c); background: #fbf0d8; color: #6b4a0e; }
body.sh-eat .eat-basis--serving { border-left-color: #2a7f9e; background: #e4f1f6; color: #174f63; }
body.sh-eat .eat-basis--day { border-left-color: var(--eat-deep); }

/* four figures in a row */
body.sh-eat .eat-figures { display: grid; gap: 12px; }
body.sh-eat .eat-figures-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1.5px solid var(--eat-ink); }
body.sh-eat .eat-fig { display: grid; gap: 4px; padding: 12px 12px 4px 0; margin: 0; border-right: 1px solid var(--eat-line); }
body.sh-eat .eat-fig + .eat-fig { padding-left: 14px; }
body.sh-eat .eat-fig:last-child { border-right: 0; }
body.sh-eat .eat-fig dt { margin: 0; font: 700 12.5px/1.2 var(--sl-text); letter-spacing: .06em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-fig dd { margin: 0; color: var(--eat-copy); font: 600 14px/1.1 var(--sl-text); }
body.sh-eat .eat-fig dd b { font: 800 clamp(1.5rem, 1.1rem + 1.1vw, 2.1rem)/1 var(--sl-display); letter-spacing: -.03em; color: var(--eat-ink); }
body.sh-eat .eat-fig--calories dd b { color: var(--eat-green); }
body.sh-eat .eat-figures { container-type: inline-size; }
@container (max-width: 470px) {
	body.sh-eat .eat-figures-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.sh-eat .eat-fig:nth-child(2) { border-right: 0; }
	body.sh-eat .eat-fig:nth-child(3) { padding-left: 0; }
	body.sh-eat .eat-fig:nth-child(n+3) { border-top: 1px solid var(--eat-line); padding-top: 12px; }
}

/* protein, carbs and fat as one bar by weight */
body.sh-eat .eat-macrobar { display: grid; gap: 8px; }
body.sh-eat .eat-macrobar-track, body.sh-eat .eat-food-bar { display: flex; overflow: hidden; height: 10px; border-radius: 999px; background: var(--eat-line-soft); }
body.sh-eat .eat-macrobar-track i, body.sh-eat .eat-food-bar i { display: block; height: 100%; }
body.sh-eat .eat-m-p { background: var(--eat-p); } body.sh-eat .eat-m-c { background: var(--eat-c); } body.sh-eat .eat-m-f { background: var(--eat-f); }
body.sh-eat .eat-macrobar-key { display: flex; flex-wrap: wrap; gap: 6px 16px; font: 650 13.5px/1.3 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-macrobar-key > span::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%; vertical-align: 1px; }
body.sh-eat .eat-k-p::before { background: var(--eat-p); } body.sh-eat .eat-k-c::before { background: var(--eat-c); } body.sh-eat .eat-k-f::before { background: var(--eat-f); }
body.sh-eat .eat-macrobar-key small { color: var(--eat-muted); font-weight: 600; }

/* rings */
body.sh-eat .eat-ring { display: block; width: 100%; height: auto; overflow: visible; }
body.sh-eat .eat-ring-big { font: 800 30px/1 var(--sl-display); letter-spacing: -.03em; fill: var(--eat-ink); }
body.sh-eat .eat-ring-sm { font: 700 12px/1 var(--sl-text); fill: var(--eat-muted); letter-spacing: .04em; }
body.sh-eat .eat-ring--sm .eat-ring-big { font-size: 22px; } body.sh-eat .eat-ring--sm .eat-ring-sm { font-size: 10.5px; }
body.sh-eat .eat-ring--xs .eat-ring-big { font-size: 14px; } body.sh-eat .eat-ring--xs .eat-ring-sm { display: none; }
body.sh-eat .eat-ring--lg .eat-ring-big { font-size: 46px; } body.sh-eat .eat-ring--lg .eat-ring-sm { font-size: 14px; }

/* the menu card: name, dotted leader, weight and energy */
body.sh-eat .eat-menu { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
body.sh-eat .eat-menu-row { display: grid; grid-template-columns: auto minmax(0, max-content) minmax(16px, 1fr) auto; align-items: end; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--eat-line-2); }
body.sh-eat .eat-menu-row:last-child { border-bottom: 0; }
body.sh-eat .eat-menu-row .eat-token { align-self: center; }
body.sh-eat .eat-menu-name { display: grid; gap: 3px; min-width: 0; font: 700 16.5px/1.3 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-menu-name a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .25s var(--eat-ease); }
body.sh-eat .eat-menu-name a:hover { background-size: 100% 1.5px; color: var(--eat-green); }
body.sh-eat .eat-menu-name small { font: 500 13px/1.35 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-menu-lead { align-self: end; height: 1px; margin-bottom: 8px; border-bottom: 2px dotted var(--eat-line-2); }
body.sh-eat .eat-menu-qty { display: grid; justify-items: end; gap: 2px; white-space: nowrap; }
body.sh-eat .eat-menu-qty b { font: 800 16.5px/1.1 var(--sl-display); color: var(--eat-ink); }
body.sh-eat .eat-menu-qty span { font: 650 13px/1.1 var(--sl-text); color: var(--eat-green); }
@media (max-width: 560px) {
	body.sh-eat .eat-menu-row { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
	body.sh-eat .eat-menu-lead { display: none; }
}

/* group dots */
body.sh-eat .eat-dots { display: inline-flex; gap: 4px; }
body.sh-eat .eat-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--eat-g, #8fa397); }

/* tabs across the Eat libraries */
body.sh-eat .eat-tabs ul { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 4px; list-style: none; border-radius: 999px; background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1px var(--eat-line); width: max-content; max-width: 100%; }
body.sh-eat .eat-tabs a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; color: var(--eat-copy); font: 700 14px/1 var(--sl-text); text-decoration: none; white-space: nowrap; }
body.sh-eat .eat-tabs a .sl-i { width: 16px; height: 16px; color: var(--eat-green); }
body.sh-eat .eat-tabs a:hover { background: var(--eat-mint); color: var(--eat-ink); }
body.sh-eat .eat-tabs a[aria-current="page"] { background: var(--eat-ink); color: #fff; }
body.sh-eat .eat-tabs a[aria-current="page"] .sl-i { color: var(--eat-sprout); }
@media (max-width: 720px) { body.sh-eat .eat-tabs ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; border-radius: 16px; width: 100%; } body.sh-eat .eat-tabs ul::-webkit-scrollbar { display: none; } }

/* checklists, never pills */
body.sh-eat .eat-checks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.sh-eat .eat-checks li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 15.5px; line-height: 1.45; }
body.sh-eat .eat-checks .sl-i { width: 18px; height: 18px; margin-top: 2px; color: var(--eat-leaf); }

/* empty and error states */
body.sh-eat .eat-empty { display: grid; justify-items: center; gap: 10px; padding: clamp(28px, 5vw, 56px) 24px; border: 2px dashed var(--eat-line-2); border-radius: var(--eat-radius); background: rgba(255, 255, 255, .6); text-align: center; }
body.sh-eat .eat-empty strong { font: 800 1.3rem/1.2 var(--sl-display); color: var(--eat-ink); }
body.sh-eat .eat-empty p { margin: 0; max-width: 52ch; color: var(--eat-copy); }
body.sh-eat .eat-empty-art { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--eat-mint); color: var(--eat-green); }
body.sh-eat .eat-empty-art .sl-i { width: 28px; height: 28px; }
body.sh-eat .eat-load-error { margin: 0 0 14px; padding: 12px 16px; border-radius: 12px; background: #fdeee9; color: #8a2f1c; font-weight: 650; }

/* ======================================================================= the hub (/food/) */
body.sh-eat .eat-hub { background: var(--eat-paper); color: var(--eat-copy); }
body.sh-eat .eat-mast { position: relative; overflow: hidden; padding: clamp(36px, 6vw, 84px) 0 clamp(28px, 4vw, 52px); background:
	radial-gradient(60% 80% at 92% 18%, rgba(125, 189, 98, .22), rgba(125, 189, 98, 0) 70%),
	radial-gradient(40% 60% at 8% 100%, rgba(232, 163, 58, .14), rgba(232, 163, 58, 0) 70%),
	linear-gradient(180deg, #f3f8ec 0%, var(--eat-paper) 100%); }
body.sh-eat .eat-mast::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, var(--eat-line-2) 20%, var(--eat-line-2) 80%, transparent); }
body.sh-eat .eat-mast-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
body.sh-eat .eat-mast-copy { display: grid; gap: 18px; justify-items: start; min-width: 0; }
body.sh-eat .eat-mast-copy .eat-eyebrow { margin: 0; }
body.sh-eat .eat-search-form { width: 100%; max-width: 620px; margin-top: 6px; }
body.sh-eat .eat-search { max-width: none; }
body.sh-eat .eat-mast-facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; padding: 0; list-style: none; font: 600 14px/1.35 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-mast-facts li { display: inline-flex; align-items: center; gap: 8px; }
body.sh-eat .eat-mast-facts .sl-i { width: 16px; height: 16px; color: var(--eat-leaf); }
body.sh-eat .eat-mast-stage { margin: 0; display: grid; gap: 12px; justify-items: center; }
body.sh-eat .eat-plate { position: relative; width: min(100%, 440px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, #fff 64%, #fbfaf4 66%, #f3eee0 100%); box-shadow: 0 40px 70px -46px rgba(23, 48, 31, .55), inset 0 0 0 1px var(--eat-line); display: grid; place-items: center; }
body.sh-eat .eat-plate .etv-ring { width: 104%; max-width: none; height: auto; }
body.sh-eat .eat-mast-stage figcaption { font: 600 13.5px/1.4 var(--sl-text); color: var(--eat-muted); text-align: center; }
body.sh-eat .eat-mast-stage figcaption a { color: var(--eat-ink); font-weight: 700; text-decoration-color: var(--eat-sprout); text-decoration-thickness: 2px; text-underline-offset: 3px; }
@media (max-width: 900px) {
	body.sh-eat .eat-mast-inner { grid-template-columns: minmax(0, 1fr); }
	body.sh-eat .eat-mast-stage { order: 2; }
	body.sh-eat .eat-plate { width: min(78vw, 340px); }
}

/* five doors into Eat */
body.sh-eat .eat-doors { position: relative; z-index: 1; margin-top: clamp(-8px, -1vw, 0px); padding: clamp(18px, 3vw, 28px) 0 0; }
body.sh-eat .eat-doors ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-radius: var(--eat-radius); background: #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); overflow: hidden; }
body.sh-eat .eat-doors li { display: flex; min-width: 0; }
body.sh-eat .eat-doors li + li { border-left: 1px solid var(--eat-line-soft); }
body.sh-eat .eat-door { position: relative; display: grid; grid-template-rows: auto auto 1fr auto; gap: 8px; width: 100%; padding: 20px 18px 18px; color: var(--eat-copy); text-decoration: none; transition: background .2s var(--eat-ease); }
body.sh-eat .eat-door:hover { background: #f6faf1; }
body.sh-eat .eat-door-n { position: absolute; top: 16px; right: 16px; font: 800 12px/1 var(--sl-text); letter-spacing: .1em; color: var(--eat-line-2); }
body.sh-eat .eat-door-ic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--eat-mint); color: var(--eat-green); }
body.sh-eat .eat-door-ic .sl-i { width: 22px; height: 22px; }
body.sh-eat .eat-door b { font: 750 1.08rem/1.2 var(--sl-display); color: var(--eat-ink); letter-spacing: -.01em; }
body.sh-eat .eat-door-t { font-size: 14px; line-height: 1.45; color: var(--eat-muted); }
body.sh-eat .eat-door-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font: 750 14px/1 var(--sl-text); color: var(--eat-green); }
body.sh-eat .eat-door-go .sl-i { width: 15px; height: 15px; transition: transform .2s var(--eat-ease); }
body.sh-eat .eat-door:hover .eat-door-go .sl-i { transform: translateX(3px); }
body.sh-eat .eat-doors li:nth-child(4) .eat-door-ic { background: #fbf0d8; color: #9a6510; }
body.sh-eat .eat-doors li:nth-child(5) .eat-door-ic { background: var(--eat-deep); color: var(--eat-sprout); }
@media (max-width: 1100px) { body.sh-eat .eat-doors ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.sh-eat .eat-doors li:nth-child(4) { border-left: 0; } body.sh-eat .eat-doors li:nth-child(n+4) { border-top: 1px solid var(--eat-line-soft); } }
@media (max-width: 680px) {
	body.sh-eat .eat-doors ol { grid-template-columns: minmax(0, 1fr); }
	body.sh-eat .eat-doors li + li { border-left: 0; border-top: 1px solid var(--eat-line-soft); }
	body.sh-eat .eat-door { grid-template-columns: 42px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; padding: 14px 16px; align-items: center; }
	body.sh-eat .eat-door-ic { grid-row: 1 / span 2; }
	body.sh-eat .eat-door-n { display: none; }
	body.sh-eat .eat-door-t { grid-column: 2; font-size: 13.5px; }
	body.sh-eat .eat-door-go { grid-column: 3; grid-row: 1 / span 2; margin: 0; font-size: 0; }
	body.sh-eat .eat-door-go .sl-i { width: 18px; height: 18px; }
}

/* the food library */
body.sh-eat .eat-library { padding: clamp(44px, 6vw, 80px) 0 clamp(36px, 5vw, 64px); scroll-margin-top: calc(var(--sh-header-bottom, 72px) + 12px); }
/* the finder: search and filters in one panel that stays in reach beside the results */
body.sh-eat .eat-lib-layout { display: grid; grid-template-columns: 304px minmax(0, 1fr); gap: clamp(20px, 2.6vw, 36px); align-items: start; }
body.sh-eat .eat-finder { position: sticky; top: calc(var(--sh-header-bottom, 64px) + 14px); z-index: 30; display: grid; gap: 14px; max-height: calc(100vh - var(--sh-header-bottom, 64px) - 28px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; box-sizing: border-box; padding: 18px; border-radius: var(--eat-radius); background: #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-finder-search { display: grid; gap: 8px; margin: 0; }
body.sh-eat .eat-finder-label { font: 800 12px/1.2 var(--sl-text); letter-spacing: .12em; text-transform: uppercase; color: var(--eat-green); }
body.sh-eat .eat-finder .sl-search { min-height: 52px; max-width: none; padding: 4px 4px 4px 14px; border: 1.5px solid var(--eat-line-2); background: var(--eat-paper); box-shadow: none; }
body.sh-eat .eat-finder .sl-search:focus-within { border-color: var(--eat-green); background: #fff; box-shadow: 0 0 0 4px var(--eat-mint); }
body.sh-eat .eat-finder .sl-search > .sl-i { width: 18px; height: 18px; }
body.sh-eat .eat-finder .sl-search input[type="search"] { height: 42px; font-size: 16px; }
body.sh-eat .eat-finder .sl-search .eat-finder-go, body.sh-eat .eat-finder .sl-search .eat-finder-go:is(:hover, :focus, :active, :visited) { flex: none; width: 44px; min-height: 44px; padding: 0; gap: 0; border-radius: 50%; }
body.sh-eat .eat-finder .eat-finder-go .sl-i { width: 18px; height: 18px; }
body.sh-eat .eat-tools-toggle { display: none; }
body.sh-eat .eat-tools-panel { display: grid; gap: 14px; }
body.sh-eat .eat-finder .eat-tools-panel { gap: 12px; }
body.sh-eat .eat-finder .eat-chipset { gap: 5px; }
body.sh-eat .eat-finder .eat-chipset legend { margin-bottom: 6px; font-size: 11.5px; }
body.sh-eat .eat-finder .eat-chipset + .eat-chipset { padding-top: 10px; }
body.sh-eat .eat-finder .eat-chip > span { min-height: 34px; padding: 0 10px; border-radius: 10px; font-size: 13.5px; gap: 6px; }
body.sh-eat .eat-finder .eat-chip > span .sl-i { width: 14px; height: 14px; }
/* the groups as a tidy two-column list: name, then its count */
body.sh-eat .eat-finder .eat-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
body.sh-eat .eat-finder .eat-groups legend { grid-column: 1 / -1; }
body.sh-eat .eat-finder .eat-groups .eat-chip, body.sh-eat .eat-finder .eat-groups .eat-chip > span { width: 100%; min-width: 0; }
body.sh-eat .eat-finder .eat-groups .eat-chip > span { padding-left: 5px; overflow: hidden; }
body.sh-eat .eat-finder .eat-groups .eat-chip > span small { margin-left: auto; }
body.sh-eat .eat-finder .eat-groups .eat-chip:first-of-type { grid-column: 1 / -1; }
body.sh-eat .eat-finder .eat-groups .eat-token--xs { --eat-ts: 10px; background: var(--eat-g, #8fa397); box-shadow: none; }
body.sh-eat .eat-finder .eat-groups .eat-token--xs .sl-i { display: none; }
body.sh-eat .eat-finder .eat-groups .eat-chip > span { padding-left: 10px; white-space: nowrap; }
body.sh-eat .eat-finder-note { grid-column: 1 / -1; margin: 4px 0 0; font: 500 12px/1.4 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-finder .eat-clear { justify-self: start; min-height: 34px; margin: 0 -8px; font-size: 13.5px; }
body.sh-eat .eat-chipset { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; grid-column: 1; }
body.sh-eat .eat-chipset legend { float: left; display: flex; align-items: baseline; gap: 10px; width: 100%; margin: 0 0 4px; padding: 0; font: 800 12px/1.2 var(--sl-text); letter-spacing: .12em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-chipset legend small { font: 500 12.5px/1.2 var(--sl-text); letter-spacing: 0; text-transform: none; color: var(--eat-muted); }
body.sh-eat .eat-chipset + .eat-chipset { padding-top: 14px; border-top: 1px dashed var(--eat-line); }
body.sh-eat .eat-chip { position: relative; display: inline-flex; cursor: pointer; }
body.sh-eat .eat-chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
body.sh-eat .eat-chip > span { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 15px; border-radius: 12px; border: 1.5px solid var(--eat-line); background: var(--eat-paper); font: 650 14.5px/1 var(--sl-text); color: var(--eat-ink); white-space: nowrap; transition: border-color .15s var(--eat-ease), background .15s var(--eat-ease); }
body.sh-eat .eat-chip > span .sl-i { width: 16px; height: 16px; color: var(--eat-leaf); }
body.sh-eat .eat-chip > span small { font: 700 12px/1 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-chip:hover > span { border-color: var(--eat-line-2); background: #fff; }
body.sh-eat .eat-chip input:checked + span { border-color: var(--eat-ink); background: var(--eat-ink); color: #fff; }
body.sh-eat .eat-chip input:checked + span .sl-i { color: var(--eat-sprout); }
body.sh-eat .eat-chip input:checked + span small { color: #cfe3c5; }
body.sh-eat .eat-chip input:focus-visible + span { outline: 2px solid var(--eat-ink); outline-offset: 3px; }
body.sh-eat .eat-chip--group > span { padding-left: 8px; }
body.sh-eat .eat-chip--group input:checked + span .eat-token { box-shadow: 0 0 0 2px #fff; }
body.sh-eat .eat-clear { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 12px; border: 0; border-radius: 10px; background: none; color: var(--eat-green); font: 700 14px/1 var(--sl-text); cursor: pointer; }
body.sh-eat .eat-clear:hover { background: var(--eat-mint); }
body.sh-eat .eat-clear .sl-i { width: 16px; height: 16px; }
body.sh-eat .eat-lib-body { margin-top: clamp(28px, 4vw, 48px); }
body.sh-eat .eat-results { position: relative; min-width: 0; min-height: 320px; scroll-margin-top: calc(var(--sh-header-bottom, 64px) + 16px); transition: opacity .2s var(--eat-ease); }
body.sh-eat .eat-result-line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin: 0 0 14px; font: 750 15px/1.35 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-result-page { font: 600 13.5px/1 var(--sl-text); color: var(--eat-muted); }
body.sh-eat [data-sxl-eat-listing].is-loading .eat-results { opacity: .45; pointer-events: none; }
body.sh-eat [data-sxl-eat-listing].is-loading .eat-results::after { content: ""; position: absolute; top: 4px; right: 0; width: 22px; height: 22px; border-radius: 50%; border: 3px solid var(--eat-mint-2); border-top-color: var(--eat-green); animation: eat-spin .8s linear infinite; }
@keyframes eat-spin { to { transform: rotate(360deg); } }

/* the food card */
body.sh-eat .eat-foodgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
body.sh-eat .eat-foodgrid > .sfav-host { position: relative; min-width: 0; }
body.sh-eat .eat-food { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "tok main kcal" "bar bar bar"; gap: 12px 14px; height: 100%; padding: 16px 16px 14px; border-radius: 18px; background: #fff; color: var(--eat-copy); text-decoration: none; box-shadow: inset 0 0 0 1px var(--eat-line); transition: box-shadow .2s var(--eat-ease), transform .2s var(--eat-ease); }
body.sh-eat .eat-food:hover { box-shadow: inset 0 0 0 1.5px var(--eat-g, var(--eat-leaf)), var(--eat-shadow-lift); transform: translateY(-2px); color: var(--eat-copy); }
body.sh-eat .etv-food.eat-food { border: 0; min-height: 0; }
body.sh-eat .etv-food.eat-food::before { content: none; }
body.sh-eat .eat-food > .eat-token { grid-area: tok; }
body.sh-eat .eat-food-main { grid-area: main; display: grid; gap: 4px; align-content: start; min-width: 0; }
body.sh-eat .eat-food-grp { font: 800 11.5px/1.2 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--eat-g, #8fa397) 70%, #17301f); }
body.sh-eat .eat-food-name { font: 750 1.04rem/1.25 var(--sl-display); letter-spacing: -.01em; color: var(--eat-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.sh-eat .eat-food-macros { font: 500 13px/1.4 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-food-kcal { grid-area: kcal; display: grid; justify-items: end; align-content: end; gap: 1px; padding-top: 44px; text-align: right; }
body.sh-eat .eat-results .sxl-result-line.eat-result-line { justify-content: flex-start; margin: 0 0 14px; padding: 0; border: 0; background: none; text-align: left; }
body.sh-eat .eat-results .sxl-result-line.eat-result-line::before { content: none; display: none; }
body.sh-eat .eat-food-kcal b { font: 800 1.7rem/1 var(--sl-display); letter-spacing: -.03em; color: var(--eat-ink); }
body.sh-eat .eat-food-kcal small { font: 700 12px/1.15 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-food-kcal .eat-food-per { font-weight: 600; color: #8a6a2a; }
body.sh-eat .eat-food .eat-food-bar { grid-area: bar; height: 6px; }
body.sh-eat .eat-foodgrid .sfav-heart--overlay { top: 12px; right: 12px; }
@media (max-width: 600px) {
	body.sh-eat .eat-foodgrid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	body.sh-eat .eat-food { grid-template-columns: 38px minmax(0, 1fr) auto; padding: 12px 14px 10px; gap: 8px 12px; border-radius: 14px; }
	body.sh-eat .eat-food > .eat-token { --eat-ts: 38px; }
	body.sh-eat .eat-food-name { -webkit-line-clamp: 2; font-size: .98rem; }
	body.sh-eat .eat-food-kcal { padding-top: 42px; }
	body.sh-eat .eat-food-kcal b { font-size: 1.35rem; }
}

/* pagination */
body.sh-eat .eat-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; margin: 26px 0 0; }
body.sh-eat .eat-pager > span { font: 700 14.5px/1 var(--sl-text); color: var(--eat-muted); }

/* side of the library */
body.sh-eat .eat-lib-side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
body.sh-eat .eat-lib-side > * { min-width: 0; margin: 0; }
body.sh-eat .eat-sidecard { display: grid; gap: 12px; padding: 20px; border-radius: var(--eat-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-sidecard--ask { background: linear-gradient(160deg, #fff, #fbf3f6); }
body.sh-eat .eat-sidecard .sl-btn { justify-self: start; }
body.sh-eat .eat-sidelink { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; padding: 10px; margin: 0 -10px; border-radius: 14px; color: var(--eat-copy); text-decoration: none; }
body.sh-eat .eat-sidelink:hover { background: var(--eat-paper); }
body.sh-eat .eat-sidelink strong { display: block; font: 750 15.5px/1.25 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-sidelink > span > span { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.45; color: var(--eat-muted); }
@media (max-width: 1100px) { body.sh-eat .eat-lib-side { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
/* phones and small tablets: the finder becomes a bar under the header (search + a Filters button) */
@media (max-width: 900px) {
	body.sh-eat .eat-lib-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	body.sh-eat .eat-finder { top: calc(var(--sh-header-bottom, 64px) + 8px); grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; max-height: calc(100vh - var(--sh-header-bottom, 64px) - 16px); padding: 10px; border-radius: 18px; }
	body.sh-eat .eat-finder-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	body.sh-eat .eat-finder .sl-search { min-height: 48px; }
	body.sh-eat .eat-tools-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; border: 1.5px solid var(--eat-line-2); border-radius: 999px; background: #fff; color: var(--eat-ink); font: 700 15px/1 var(--sl-text); cursor: pointer; }
	body.sh-eat .eat-tools-toggle .sl-i { width: 18px; height: 18px; color: var(--eat-green); }
	body.sh-eat .eat-tools-toggle[aria-expanded="true"] { border-color: var(--eat-ink); background: var(--eat-ink); color: #fff; }
	body.sh-eat .eat-tools-toggle[aria-expanded="true"] .sl-i { color: var(--eat-sprout); }
	body.sh-eat .eat-tools-panel { grid-column: 1 / -1; padding: 4px 4px 2px; }
	body.sh-eat .eat-finder.is-collapsed .eat-tools-panel { display: none; }
	body.sh-eat .eat-results { scroll-margin-top: calc(var(--sh-header-bottom, 64px) + 92px); }
}
@media (max-width: 420px) { body.sh-eat .eat-tools-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } body.sh-eat .eat-tools-toggle { padding: 0 14px; } }

/* the pantry band: how Eat fits together */
body.sh-eat .eat-pantry { position: relative; padding: clamp(56px, 7vw, 96px) 0; color: #e7efe2; background:
	radial-gradient(50% 70% at 100% 0%, rgba(125, 189, 98, .22), rgba(125, 189, 98, 0) 70%),
	radial-gradient(40% 60% at 0% 100%, rgba(232, 163, 58, .14), rgba(232, 163, 58, 0) 70%),
	var(--eat-deep); }
body.sh-eat .eat-sec-head--light .eat-kicker { color: #a9d68f; }
body.sh-eat .eat-sec-head--light .eat-h2 { color: #fbf8f0; }
body.sh-eat .eat-sec-head--light .eat-sub { color: #cfdcc8; }
body.sh-eat .eat-steps { counter-reset: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 clamp(28px, 4vw, 44px); padding: 0; list-style: none; border-top: 1px solid rgba(231, 239, 226, .2); }
body.sh-eat .eat-steps li { position: relative; display: grid; gap: 8px; align-content: start; padding: 24px 24px 8px 0; }
body.sh-eat .eat-steps li + li { padding-left: 24px; border-left: 1px solid rgba(231, 239, 226, .16); }
body.sh-eat .eat-step-n { font: 800 3.2rem/1 var(--sl-display); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1.5px #a9d68f; }
body.sh-eat .eat-steps h3 { margin: 0; font: 750 1.3rem/1.2 var(--sl-display); color: #fbf8f0; }
body.sh-eat .eat-steps p { margin: 0; font-size: 15.5px; line-height: 1.55; color: #cfdcc8; }
body.sh-eat .eat-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
body.sh-eat .eat-path { display: grid; gap: 14px; align-content: start; justify-items: start; padding: clamp(22px, 3vw, 32px); border-radius: var(--eat-radius); background: rgba(251, 248, 240, .06); box-shadow: inset 0 0 0 1px rgba(231, 239, 226, .16); }
body.sh-eat .eat-path:first-child { background: rgba(169, 214, 143, .12); }
body.sh-eat .eat-path h3 { margin: 0; font: 800 1.5rem/1.15 var(--sl-display); letter-spacing: -.02em; color: #fbf8f0; }
body.sh-eat .eat-path-tag { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 800 12px/1.3 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; color: #f0c674; }
body.sh-eat .eat-path-tag .sl-i { width: 16px; height: 16px; }
body.sh-eat .eat-path .eat-checks li { color: #e2ebdc; }
body.sh-eat .eat-path .eat-checks .sl-i { color: #a9d68f; }
body.sh-eat .eat-path .sl-btn { margin-top: 6px; }
body.sh-eat .eat-pantry-fine { display: flex; gap: 10px; align-items: flex-start; margin: 26px 0 0; font-size: 14px; line-height: 1.5; color: #b9c9b2; }
body.sh-eat .eat-pantry-fine .sl-i { flex: none; width: 16px; height: 16px; margin-top: 2px; color: #a9d68f; }
@media (max-width: 860px) {
	body.sh-eat .eat-steps, body.sh-eat .eat-paths { grid-template-columns: minmax(0, 1fr); }
	body.sh-eat .eat-steps li + li { padding-left: 0; border-left: 0; border-top: 1px solid rgba(231, 239, 226, .16); }
	body.sh-eat .eat-steps li { grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; }
	body.sh-eat .eat-step-n { grid-row: 1 / span 2; font-size: 2.6rem; }
}

/* bands below */
body.sh-eat .eat-band { padding: clamp(48px, 6vw, 84px) 0; }
body.sh-eat .eat-band--meals { background: var(--eat-paper-2); }
body.sh-eat .eat-band--days { background: var(--eat-paper); }
body.sh-eat .eat-band--next { background: linear-gradient(180deg, var(--eat-paper), #f1f7ea); }
body.sh-eat .eat-roles { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
body.sh-eat .eat-role-link { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px 0 12px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--eat-line); color: var(--eat-ink); font: 700 14.5px/1 var(--sl-text); text-decoration: none; }
body.sh-eat .eat-role-link .sl-i { width: 18px; height: 18px; color: var(--eat-r); }
body.sh-eat .eat-role-link:hover { box-shadow: inset 0 0 0 1.5px var(--eat-r); }
body.sh-eat .eat-mealrow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body.sh-eat .eat-mealrow > .sfav-host { position: relative; min-width: 0; }
body.sh-eat .eat-mealcard { position: relative; display: grid; gap: 14px; align-content: start; height: 100%; padding: 18px; border-radius: var(--eat-radius); background: #fff; color: var(--eat-copy); text-decoration: none; box-shadow: inset 0 0 0 1px var(--eat-line); overflow: hidden; transition: transform .2s var(--eat-ease), box-shadow .2s var(--eat-ease); }
body.sh-eat .eat-mealcard::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--eat-r, var(--eat-leaf)); }
body.sh-eat .eat-mealcard:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--eat-line-2), var(--eat-shadow-lift); }
body.sh-eat .eat-mealcard-ring { width: 96px; }
body.sh-eat .eat-mealcard-body { display: grid; gap: 6px; }
body.sh-eat .eat-mealcard-role { display: inline-flex; align-items: center; gap: 6px; font: 800 11.5px/1.2 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-mealcard-role .sl-i { width: 15px; height: 15px; color: var(--eat-r); }
body.sh-eat .eat-mealcard strong { font: 750 1.08rem/1.25 var(--sl-display); letter-spacing: -.01em; color: var(--eat-ink); }
body.sh-eat .eat-mealcard-foods { font-size: 13.5px; line-height: 1.45; color: var(--eat-muted); }
body.sh-eat .eat-mealcard-kcal { font: 700 13px/1.3 var(--sl-text); color: var(--eat-green); }
@media (max-width: 1024px) { body.sh-eat .eat-mealrow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
	body.sh-eat .eat-mealrow { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	body.sh-eat .eat-mealcard { grid-template-columns: 72px minmax(0, 1fr); align-items: center; padding: 14px; }
	body.sh-eat .eat-mealcard-ring { width: 72px; }
}
body.sh-eat .eat-daygrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.sh-eat .eat-daycard { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: center; padding: 18px; border-radius: var(--eat-radius); background: #fff; color: var(--eat-copy); text-decoration: none; box-shadow: inset 0 0 0 1px var(--eat-line); transition: transform .2s var(--eat-ease), box-shadow .2s var(--eat-ease); }
body.sh-eat .eat-daycard:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--eat-line-2), var(--eat-shadow-lift); }
body.sh-eat .eat-daycard-body { display: grid; gap: 6px; min-width: 0; }
body.sh-eat .eat-daycard strong { font: 750 1.04rem/1.3 var(--sl-display); color: var(--eat-ink); }
body.sh-eat .eat-daycard-meta { font-size: 13.5px; color: var(--eat-muted); }
body.sh-eat .eat-roleicons { display: flex; gap: 4px; }
body.sh-eat .eat-roleicons i { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: color-mix(in srgb, var(--eat-r) 16%, #fff); color: var(--eat-r); }
body.sh-eat .eat-roleicons .sl-i { width: 14px; height: 14px; }
@media (max-width: 1024px) { body.sh-eat .eat-daygrid { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat .eat-band--next .sl-next-title { color: var(--eat-ink); }

/* the FAQ printed after the hub sits on the same paper */
body.sh-eat .sh-faq, body.sh-eat .reanimate-faq { background: transparent; }

/* ======================================================================= Eat pages (meals, plans, a meal, a day) */
body.sh-eat .eat-page { width: 100%; max-width: none; margin: 0; padding: 0; background: var(--eat-paper); color: var(--eat-copy); }
body.sh-eat .eat-mast--page { padding: clamp(18px, 2.4vw, 28px) 0 clamp(30px, 4vw, 52px); }
body.sh-eat .eat-mast--page .eat-tabs { margin: 0 0 clamp(22px, 3vw, 34px); }
body.sh-eat .eat-mast--page .eat-mast-inner { grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
body.sh-eat .eat-mast--detail .eat-mast-inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
body.sh-eat .eat-crumbs { margin: 0 0 18px; }
body.sh-eat .eat-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; font: 650 13.5px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--eat-line-2); }
body.sh-eat .eat-crumbs a { color: var(--eat-ink); text-decoration: none; }
body.sh-eat .eat-crumbs a:hover { color: var(--eat-green); text-decoration: underline; }
body.sh-eat .eat-checks--row { display: flex; flex-wrap: wrap; gap: 8px 22px; }
body.sh-eat .eat-checks--row li { display: inline-flex; gap: 8px; font: 600 14.5px/1.35 var(--sl-text); }
body.sh-eat .eat-h2--sm { font-size: clamp(1.4rem, 1.05rem + 1vw, 1.9rem); }
body.sh-eat .eat-eyebrow--role .eat-role-dot { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--eat-r, var(--eat-leaf)); color: #fff; }
body.sh-eat .eat-eyebrow--role .eat-role-dot .sl-i { width: 18px; height: 18px; }
body.sh-eat .eat-eyebrow--role { color: color-mix(in srgb, var(--eat-r, #2f7a34) 55%, #17301f); }
@media (max-width: 900px) { body.sh-eat :is(.eat-mast--page, .eat-mast--detail) .eat-mast-inner { grid-template-columns: minmax(0, 1fr); } }

/* the callout beside a library's title */
body.sh-eat .eat-callout { display: grid; gap: 12px; justify-items: start; padding: clamp(20px, 2.6vw, 28px); border-radius: var(--eat-radius); background: var(--eat-deep); color: #dce8d5; box-shadow: var(--eat-shadow); }
body.sh-eat .eat-callout .eat-kicker { color: #a9d68f; }
body.sh-eat .eat-callout .eat-h3 { color: #fbf8f0; font-size: 1.45rem; }
body.sh-eat .eat-callout p { margin: 0; font-size: 15px; line-height: 1.5; }
body.sh-eat .eat-callout .sl-btn--primary { --sl-btn-bg: #f7f2e3; --sl-btn-fg: var(--eat-deep); --sl-btn-bg-on: #fff; --sl-btn-fg-on: var(--eat-deep); }
body.sh-eat .eat-callout .sl-btn--primary .sl-btn-orb { background: var(--eat-deep); color: #f7f2e3; }
body.sh-eat .eat-callout-alt { font: 650 14px/1.35 var(--sl-text); color: #cfe3c5; text-decoration: underline; text-decoration-color: rgba(207, 227, 197, .45); text-underline-offset: 3px; }
body.sh-eat .eat-callout-alt:hover { color: #fff; }

/* the filter console */
body.sh-eat .eat-console-wrap { position: relative; z-index: 1; margin-top: clamp(-26px, -2.4vw, -14px); }
body.sh-eat .eat-console { display: grid; gap: 16px; padding: clamp(18px, 2.4vw, 26px); border-radius: var(--eat-radius); background: #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-console-row--search { display: grid; gap: 8px; }
body.sh-eat .eat-console-label { font: 800 12px/1.2 var(--sl-text); letter-spacing: .12em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-console .sl-search { max-width: none; min-height: 58px; box-shadow: none; background: var(--eat-paper); }
body.sh-eat .eat-console .eat-chipset { grid-column: auto; }
body.sh-eat .eat-console .eat-chip[class*="eat-role--"] .sl-i { color: var(--eat-r); }
body.sh-eat .eat-console-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding-top: 14px; border-top: 1px dashed var(--eat-line); }
body.sh-eat .eat-console-foot .eat-note { max-width: 60ch; }
@media (max-width: 720px) { body.sh-eat .eat-console .eat-chipset { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } body.sh-eat .eat-console .eat-chipset legend { float: none; display: block; width: auto; flex: none; margin-right: 4px; position: sticky; left: 0; } }

/* results under a console */
body.sh-eat .eat-results-wrap { padding: clamp(36px, 5vw, 60px) 0 clamp(48px, 6vw, 80px); }

/* meal cards in the library */
body.sh-eat .eat-mealgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
body.sh-eat .eat-mealgrid > .sfav-host { position: relative; min-width: 0; }
body.sh-eat .eat-meal { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: start; height: 100%; padding: 18px 52px 18px 18px; border-radius: var(--eat-radius); background: #fff; color: var(--eat-copy); text-decoration: none; box-shadow: inset 0 0 0 1px var(--eat-line); overflow: hidden; transition: transform .2s var(--eat-ease), box-shadow .2s var(--eat-ease); }
body.sh-eat .eat-meal::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--eat-r, var(--eat-leaf)); }
body.sh-eat .eat-meal:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--eat-line-2), var(--eat-shadow-lift); color: var(--eat-copy); }
body.sh-eat .eat-meal-ring { width: 96px; }
body.sh-eat .eat-meal-body { display: grid; gap: 7px; min-width: 0; }
body.sh-eat .eat-meal-role { display: inline-flex; align-items: center; gap: 6px; font: 800 11.5px/1.2 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-meal-role .sl-i { width: 15px; height: 15px; color: var(--eat-r); }
body.sh-eat .eat-meal-name { font: 750 1.12rem/1.25 var(--sl-display); letter-spacing: -.01em; color: var(--eat-ink); }
body.sh-eat .eat-meal-foods { display: flex; gap: 8px; align-items: baseline; font-size: 13.5px; line-height: 1.45; color: var(--eat-muted); }
body.sh-eat .eat-meal-foods .eat-dots { flex: none; }
body.sh-eat .eat-meal-macros { font: 650 13px/1.3 var(--sl-text); color: var(--eat-copy); }
@media (max-width: 480px) { body.sh-eat .eat-meal { grid-template-columns: 76px minmax(0, 1fr); padding: 14px 48px 14px 16px; gap: 12px; } body.sh-eat .eat-meal-ring { width: 76px; } }

/* a meal: the plate in the masthead and its legend */
body.sh-eat .eat-mealstage { gap: 18px; }
body.sh-eat .eat-plate--meal { width: min(100%, 360px); padding: 8%; }
body.sh-eat .eat-plate--meal .eat-ring { width: 100%; }
body.sh-eat .eat-legend { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; width: min(100%, 360px); }
body.sh-eat .eat-legend li { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 10px; align-items: center; font: 600 14px/1.3 var(--sl-text); color: var(--eat-copy); text-align: left; }
body.sh-eat .eat-legend i { width: 12px; height: 12px; border-radius: 50%; background: var(--eat-g, #8fa397); }
body.sh-eat .eat-legend b { font: 750 14px/1 var(--sl-text); color: var(--eat-ink); font-variant-numeric: tabular-nums; }

/* the recipe: the menu card beside the nutrition */
body.sh-eat .eat-recipe { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr); gap: clamp(16px, 2.4vw, 28px); align-items: start; padding: clamp(32px, 4vw, 52px) 0 0; }
body.sh-eat .eat-card { display: grid; gap: 18px; align-content: start; padding: clamp(20px, 3vw, 34px); border-radius: var(--eat-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-card-head { display: grid; gap: 8px; }
body.sh-eat .eat-card--menu { background: linear-gradient(180deg, #fff 0%, #fffdf7 100%); }
body.sh-eat .eat-card--facts { position: sticky; top: calc(var(--sh-header-bottom, 72px) + 16px); }
@media (max-width: 960px) { body.sh-eat .eat-recipe { grid-template-columns: minmax(0, 1fr); } body.sh-eat .eat-card--facts { position: static; } }

/* preparation, caution, next */
body.sh-eat .eat-prep-wrap { display: grid; gap: 18px; padding: clamp(18px, 2.4vw, 28px) 0 clamp(48px, 6vw, 80px); }
body.sh-eat .eat-prep { display: grid; gap: 10px; padding: clamp(20px, 3vw, 34px); border-radius: var(--eat-radius); background: var(--eat-paper-2); }
body.sh-eat .eat-prep-text { margin: 0; max-width: 70ch; font-size: 17px; line-height: 1.65; color: var(--eat-ink); }
body.sh-eat .eat-caution { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px 20px; border-radius: 16px; background: #fff8ea; box-shadow: inset 0 0 0 1px #f0dfb8; }
body.sh-eat .eat-caution p { margin: 0; font-size: 15px; line-height: 1.5; color: #4f3b12; }
body.sh-eat .eat-caution strong { color: #3d2c07; }
body.sh-eat .eat-caution-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fbe8bf; color: #8a5a06; }
body.sh-eat .eat-caution-ic .sl-i { width: 20px; height: 20px; }
body.sh-eat .eat-meal-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.sh-eat .eat-next-card { display: grid; grid-template-columns: 40px minmax(0, 1fr) 20px; gap: 14px; align-items: center; padding: 18px; border-radius: 18px; background: #fff; color: var(--eat-copy); text-decoration: none; box-shadow: inset 0 0 0 1px var(--eat-line); transition: box-shadow .2s var(--eat-ease); }
body.sh-eat .eat-next-card:hover { box-shadow: inset 0 0 0 1.5px var(--eat-leaf), var(--eat-shadow); color: var(--eat-copy); }
body.sh-eat .eat-next-card strong { display: block; font: 750 16px/1.25 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-next-card > span > span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.45; color: var(--eat-muted); }
body.sh-eat .eat-next-card > .sl-i { width: 20px; height: 20px; color: var(--eat-green); }
@media (max-width: 720px) { body.sh-eat .eat-meal-next { grid-template-columns: minmax(0, 1fr); } }

/* a role's round badge (meal roles keep the plate rings' colours) */
body.sh-eat .eat-role-dot { flex: none; display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--eat-r, var(--eat-leaf)); color: #fff; }
body.sh-eat .eat-role-dot .sl-i { width: 18px; height: 18px; }

/* ready-made days: the cards */
body.sh-eat .eat-plangrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 16px; }
body.sh-eat .eat-plangrid > .sfav-host { position: relative; min-width: 0; }
body.sh-eat .eat-plancard { display: grid; gap: 16px; align-content: start; height: 100%; padding: 20px; border-radius: var(--eat-radius); background: #fff; color: var(--eat-copy); text-decoration: none; box-shadow: inset 0 0 0 1px var(--eat-line); transition: transform .2s var(--eat-ease), box-shadow .2s var(--eat-ease); }
body.sh-eat .eat-plancard:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--eat-line-2), var(--eat-shadow-lift); color: var(--eat-copy); }
body.sh-eat .eat-plancard-top { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: center; padding-right: 34px; }
body.sh-eat .eat-plancard-head { display: grid; gap: 6px; min-width: 0; }
body.sh-eat .eat-plancard-head strong { font: 750 1.1rem/1.3 var(--sl-display); letter-spacing: -.01em; color: var(--eat-ink); }
body.sh-eat .eat-plancard-title { font: 600 13.5px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-plancard-meals { display: grid; grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: 6px; padding: 12px 0 0; border-top: 1px dashed var(--eat-line); }
body.sh-eat .eat-plancard-meals > span { display: grid; justify-items: start; gap: 3px; padding: 8px 10px; border-radius: 12px; background: color-mix(in srgb, var(--eat-r) 9%, #fff); }
body.sh-eat .eat-plancard-meals .sl-i { width: 16px; height: 16px; color: var(--eat-r); }
body.sh-eat .eat-plancard-meals b { font: 700 12px/1.1 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-plancard-meals em { font: 800 15px/1 var(--sl-display); font-style: normal; color: var(--eat-ink); font-variant-numeric: tabular-nums; }
body.sh-eat .eat-plancard-foot { display: flex; flex-wrap: wrap; gap: 4px 14px; font: 650 13px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-plancard-foot span:first-child { color: var(--eat-green); }

/* a day: the ring and its meals */
body.sh-eat .eat-daystage { justify-items: stretch; }
body.sh-eat .eat-day { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 22px; align-items: center; padding: clamp(18px, 2.4vw, 26px); border-radius: 28px; background: #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-day-ring .etv-ring { width: 100%; height: auto; }
body.sh-eat .eat-day-legend { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.sh-eat .eat-day-legend li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; font: 700 15px/1.2 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-day-legend b { font: 750 15px/1 var(--sl-text); color: var(--eat-copy); font-variant-numeric: tabular-nums; }
body.sh-eat .eat-day-fine { margin: 10px 0 0; justify-content: center; }
@media (max-width: 520px) { body.sh-eat .eat-day { grid-template-columns: minmax(0, 1fr); } body.sh-eat .eat-day-ring { width: min(100%, 240px); margin: 0 auto; } }

body.sh-eat .eat-daybar { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; gap: 18px 28px; align-items: end; margin-top: clamp(-22px, -2vw, -12px); position: relative; z-index: 1; padding: clamp(18px, 2.4vw, 24px); border-radius: var(--eat-radius); background: #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-daybar-send:empty { display: none; }
body.sh-eat .eat-daybar-send { justify-self: end; }
@media (max-width: 1000px) { body.sh-eat .eat-daybar { grid-template-columns: minmax(0, 1fr); } body.sh-eat .eat-daybar-send { justify-self: start; } }

body.sh-eat .eat-dayplan { padding: clamp(44px, 5vw, 72px) 0 clamp(48px, 6vw, 80px); }
body.sh-eat .eat-ribbon { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
body.sh-eat .eat-ribbon::before { content: ""; position: absolute; left: 6%; right: 6%; top: 26px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #e0a33a, #6fae4f 35%, #2f7a34 65%, #4fa9cf); opacity: .5; }
body.sh-eat .eat-ribbon a { position: relative; display: grid; justify-items: center; gap: 4px; padding: 8px 6px; border-radius: 16px; color: var(--eat-copy); text-decoration: none; text-align: center; }
body.sh-eat .eat-ribbon a:hover { background: #fff; }
body.sh-eat .eat-ribbon .eat-role-dot { width: 40px; height: 40px; box-shadow: 0 0 0 5px var(--eat-paper); }
body.sh-eat .eat-ribbon b { font: 750 14.5px/1.2 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-ribbon span:last-child { font: 650 13px/1 var(--sl-text); color: var(--eat-muted); }
@media (max-width: 560px) { body.sh-eat .eat-ribbon { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sh-eat .eat-ribbon::before { display: none; } }
body.sh-eat .eat-daymeals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.sh-eat .eat-daymeal { display: grid; gap: 10px; align-content: start; padding: clamp(18px, 2.4vw, 26px); border-radius: var(--eat-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); border-top: 5px solid var(--eat-r, var(--eat-leaf)); scroll-margin-top: calc(var(--sh-header-bottom, 72px) + 16px); }
body.sh-eat .eat-daymeal-head { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding-bottom: 6px; }
body.sh-eat .eat-daymeal-t { display: grid; gap: 2px; min-width: 0; }
body.sh-eat .eat-daymeal-role { margin: 0; font: 800 11.5px/1.2 var(--sl-text); letter-spacing: .12em; text-transform: uppercase; color: color-mix(in srgb, var(--eat-r, #2f7a34) 55%, #17301f); }
body.sh-eat .eat-daymeal h3 { margin: 0; font: 750 1.15rem/1.25 var(--sl-display); letter-spacing: -.01em; color: var(--eat-ink); }
body.sh-eat .eat-daymeal-kcal { display: grid; justify-items: end; margin: 0; }
body.sh-eat .eat-daymeal-kcal b { font: 800 1.6rem/1 var(--sl-display); letter-spacing: -.03em; color: var(--eat-ink); font-variant-numeric: tabular-nums; }
body.sh-eat .eat-daymeal-kcal small { font: 700 12px/1.2 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-daymeal .eat-menu-row { padding: 9px 0; }
body.sh-eat .eat-daymeal .eat-menu-name { font-size: 15px; }
body.sh-eat .eat-daymeal-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: 10px; border-top: 1px solid var(--eat-line-soft); font: 650 13.5px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-daymeal-foot a { display: inline-flex; align-items: center; gap: 6px; color: var(--eat-green); font-weight: 750; text-decoration: none; }
body.sh-eat .eat-daymeal-foot a:hover { text-decoration: underline; }
body.sh-eat .eat-daymeal-foot .sl-i { width: 15px; height: 15px; }
body.sh-eat .eat-after-note { margin: 16px 0 18px; }
@media (max-width: 900px) { body.sh-eat .eat-daymeals { grid-template-columns: minmax(0, 1fr); } }

/* ======================================================================= a food (single-food.php) */
body.sh-eat--food.single-food main#main { background: var(--eat-paper); }
body.sh-eat--food.single-food #primary { background: var(--eat-paper); }
body.sh-eat .eat-food-hero, body.sh-eat.sh-shell .eat-food-hero { position: relative; display: block; margin: 0 auto clamp(18px, 2.4vw, 28px); padding: clamp(24px, 3.4vw, 44px); border: 0; border-radius: 28px; overflow: hidden; isolation: isolate; background:
	radial-gradient(70% 90% at 100% 0%, color-mix(in srgb, var(--eat-g, #3d9442) 16%, transparent), transparent 70%),
	linear-gradient(160deg, #fff 0%, #fbf8f0 100%); box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-food-hero::before, body.sh-eat .eat-food-hero::after { content: none !important; display: none !important; }
/* et.js (shared) dresses the first hero it finds with a ribbon and a kicker icon; Eat's own heroes carry their own art */
body.sh-eat :is(.eat-food-hero, .eat-instant-hero, .eat-creator-hero) :is(.et-hero-art, .et-kicker-i, .et-panel-badge) { display: none !important; }
body.sh-eat.sh-shell :is(.eat-food-hero, .eat-instant-hero, .eat-creator-hero).et-hero, body.sh-eat.sh-shell :is(.eat-food-hero, .eat-instant-hero, .eat-creator-hero).et-hero--solo, body.sh-eat.sh-shell :is(.eat-food-hero, .eat-instant-hero, .eat-creator-hero).et-hero--panel { display: block !important; padding: clamp(24px, 3.4vw, 44px) !important; min-height: 0 !important; }
body.sh-eat.sh-shell header.eat-food-hero.et-hero :is(.nf-food-meta, .sf-glance-note) { max-width: none; margin: 0; font: 600 15px/1.45 var(--sl-text) !important; color: var(--eat-copy) !important; }
body.sh-eat.sh-shell header.eat-food-hero.et-hero .sf-glance-note { font-size: 13.5px !important; color: #8a6a2a !important; }
body.sh-eat.sh-shell header.eat-food-hero.et-hero .sh-detail-kicker { display: inline-flex; gap: 10px; padding: 0; border-radius: 0; background: none; font: 800 12.5px/1 var(--sl-text) !important; letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--eat-g, #2f7a34) 62%, #17301f) !important; }
body.sh-eat.sh-shell header.eat-food-hero.et-hero .sh-detail-kicker::before { content: none !important; }
body.sh-eat.sh-shell header.eat-food-hero .sf-glance li { border-radius: 0 !important; min-height: 0 !important; }
body.sh-eat.sh-shell header.eat-food-hero .eat-compare p.eat-note { font: 500 13.5px/1.5 var(--sl-text) !important; color: var(--eat-muted) !important; }
/* the shared data-table look (night headers) stays off Eat's own tables */
body.sh-eat :is(.eat-compare, .eat-profile, .eat-saved) table { border: 0 !important; border-radius: 0 !important; overflow: visible !important; border-collapse: collapse !important; }
body.sh-eat :is(.eat-compare, .eat-profile, .eat-saved) table th { background: transparent !important; color: var(--eat-ink) !important; font: 700 14px/1.3 var(--sl-text) !important; letter-spacing: 0 !important; }
body.sh-eat :is(.eat-compare, .eat-profile, .eat-saved) table tbody tr:nth-child(even) td { background: transparent; }
body.sh-eat .eat-compare .eat-compare-table td:nth-child(3), body.sh-eat .eat-compare .eat-compare-table thead th:nth-child(3) { background: #f3f8fa !important; }
body.sh-eat .eat-profile .eat-profile-table th { font-weight: 600 !important; color: var(--eat-copy) !important; }
body.sh-eat .eat-food-hero-in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(20px, 3.4vw, 48px); align-items: start; }
body.sh-eat .eat-food-hero-copy { display: grid; gap: 14px; justify-items: start; min-width: 0; }
body.sh-eat .eat-food-hero .sh-detail-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 0; background: none; font: 800 12.5px/1 var(--sl-text); letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--eat-g, #2f7a34) 62%, #17301f); }
body.sh-eat.single-food .eat-food-hero .nf-food-name { margin: 0 !important; font: 800 clamp(2.2rem, 1.2rem + 3.6vw, 3.9rem)/1 var(--sl-display) !important; letter-spacing: -.035em !important; color: var(--eat-ink) !important; text-align: left; text-wrap: balance; }
body.sh-eat.single-food .eat-food-hero.is-long-title .nf-food-name { font-size: clamp(1.6rem, 1rem + 2vw, 2.4rem) !important; line-height: 1.1 !important; }
body.sh-eat .eat-food-hero .nf-food-meta { margin: 0; text-align: left; font: 600 15px/1.4 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-food-hero .sf-glance { display: grid; grid-template-columns: repeat(4, minmax(0, auto)); gap: 0; margin: 6px 0 0; padding: 0; list-style: none; border-top: 1.5px solid var(--eat-ink); }
body.sh-eat .eat-food-hero .sf-glance li { display: grid; gap: 2px; padding: 12px 22px 0 0; margin: 0; border: 0; background: none; font: 700 12.5px/1.2 var(--sl-text); letter-spacing: .06em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-food-hero .sf-glance li + li { padding-left: 22px; border-left: 1px solid var(--eat-line); }
body.sh-eat .eat-food-hero .sf-glance b { order: -1; font: 800 clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem)/1 var(--sl-display); letter-spacing: -.03em; text-transform: none; color: var(--eat-ink); }
body.sh-eat .eat-food-hero .sf-glance li:first-child b { color: var(--eat-green); }
body.sh-eat .eat-food-hero .sf-glance-note { margin: 0; font: 650 13px/1.4 var(--sl-text); color: #8a6a2a; }
body.sh-eat .eat-food-hero .sh-next { margin-top: 6px; }
@media (max-width: 560px) { body.sh-eat .eat-food-hero .sf-glance { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sh-eat .eat-food-hero .sf-glance li:nth-child(3) { padding-left: 0; border-left: 0; } body.sh-eat .eat-food-hero .sf-glance li:nth-child(n+3) { border-top: 1px solid var(--eat-line); padding-top: 10px; margin-top: 10px; } }

body.sh-eat .eat-compare { display: grid; gap: 12px; padding: clamp(16px, 2vw, 22px); border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-compare-t { margin: 0; font: 800 12.5px/1.2 var(--sl-text) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--eat-muted) !important; }
body.sh-eat .eat-compare-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: fixed; font: 600 15px/1.3 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-compare-table thead th:first-child { width: 32%; }
body.sh-eat .eat-compare-table thead .eat-basis { white-space: normal; }
body.sh-eat .eat-compare { min-width: 0; }
@media (max-width: 480px) {
	body.sh-eat.sh-shell :is(.eat-food-hero, .eat-instant-hero, .eat-creator-hero).et-hero { padding: 18px !important; border-radius: 22px; }
	body.sh-eat .eat-compare { padding: 12px; }
	body.sh-eat .eat-compare-table :is(th, td) { padding: 8px 6px; font-size: 14px; }
	body.sh-eat .eat-compare-table td { white-space: normal; }
}
body.sh-eat .eat-compare-table th, body.sh-eat .eat-compare-table td { padding: 9px 8px; border: 0; border-bottom: 1px solid var(--eat-line-soft); background: none; text-align: left; vertical-align: middle; }
body.sh-eat .eat-compare-table thead th { padding-top: 0; border-bottom: 1.5px solid var(--eat-ink); font-weight: 700; }
body.sh-eat .eat-compare-table thead th small { display: block; margin-top: 4px; font: 600 12.5px/1.2 var(--sl-text); color: var(--eat-muted); text-transform: none; letter-spacing: 0; }
body.sh-eat .eat-compare-table tbody th { font-weight: 700; color: var(--eat-ink); }
body.sh-eat .eat-compare-table td { font: 750 15.5px/1.2 var(--sl-text); color: var(--eat-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.sh-eat .eat-compare-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
body.sh-eat .eat-compare-table td:nth-child(3) { background: #f3f8fa; }
body.sh-eat .eat-compare-table thead th:nth-child(3) { background: #f3f8fa; border-radius: 10px 10px 0 0; }
body.sh-eat .eat-compare .eat-note a { color: var(--eat-green); font-weight: 700; }
@media (max-width: 900px) { body.sh-eat .eat-food-hero-in { grid-template-columns: minmax(0, 1fr); } }

body.sh-eat .eat-jump { display: flex; flex-wrap: wrap; gap: 6px 18px; width: min(var(--et-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)); margin: 0 auto 24px; font: 700 14px/1.2 var(--sl-text); }
body.sh-eat .eat-jump a { color: var(--eat-green); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
body.sh-eat .eat-jump a:hover { border-bottom-color: var(--eat-sprout); }

/* the label column keeps the classic Nutrition Facts label, set on paper */
body.sh-eat.single-food .sf-grid { width: min(var(--et-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)); max-width: none; padding: 0; gap: clamp(20px, 3vw, 40px); }
body.sh-eat.single-food .nf-servings-control { display: grid; justify-items: start; gap: 8px; margin: 0 0 14px; padding: 14px 16px; border: 0 !important; border-radius: 16px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--eat-line) !important; font: 700 14px/1.2 var(--sl-text); color: var(--eat-ink); }
body.sh-eat.single-food .nf-qty-wrap { border: 1.5px solid var(--eat-line-2); border-radius: 12px; background: var(--eat-paper); }
body.sh-eat.single-food .nf-qty-btn { width: 44px; height: 44px; background: var(--eat-green) !important; color: #fff !important; font-size: 22px; }
body.sh-eat.single-food .nf-qty-btn:hover { background: #22602a !important; }
body.sh-eat.single-food .sf-label-col { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.sh-eat.single-food #nf-qty { height: 44px !important; min-height: 44px !important; border-radius: 0 !important; border-top: 0 !important; border-bottom: 0 !important; background: #fff; font: 800 17px/1 var(--sl-text); color: var(--eat-ink); }
body.sh-eat.single-food .nf-label { border-radius: 4px; box-shadow: 0 24px 40px -30px rgba(23, 48, 31, .45); }
body.sh-eat.single-food .nf-additional { padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat.single-food .nf-additional h3 { border-bottom-color: var(--eat-ink); font-family: var(--sl-display); }

/* every stored nutrient */
body.sh-eat .eat-profile { margin: 0 0 22px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-profile > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; cursor: pointer; list-style: none; border-radius: 20px; }
body.sh-eat .eat-profile > summary::-webkit-details-marker { display: none; }
body.sh-eat .eat-profile > summary:hover { background: #fcfaf4; }
body.sh-eat .eat-profile-t { display: flex; align-items: center; gap: 14px; }
body.sh-eat .eat-profile-t > .sl-i { width: 40px; height: 40px; padding: 9px; border-radius: 12px; background: var(--eat-mint); color: var(--eat-green); }
body.sh-eat .eat-profile-t b { display: block; font: 750 17px/1.2 var(--sl-display); color: var(--eat-ink); }
body.sh-eat .eat-profile-t small { display: block; margin-top: 2px; font: 600 13.5px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-profile-open { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--eat-paper); color: var(--eat-green); transition: transform .2s var(--eat-ease); }
body.sh-eat .eat-profile-open .sl-i { width: 18px; height: 18px; }
body.sh-eat .eat-profile[open] .eat-profile-open { transform: rotate(45deg); }
body.sh-eat .eat-profile-body { display: grid; gap: 14px; padding: 0 20px 20px; }
body.sh-eat .eat-profile-body .eat-note { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.sh-eat .eat-profile-grid { columns: 2 260px; column-gap: 20px; }
body.sh-eat .eat-profile-table { width: 100%; margin: 0 0 16px; border: 0; border-collapse: collapse; break-inside: avoid; font: 600 14px/1.3 var(--sl-text); }
body.sh-eat .eat-profile-table caption { padding: 0 0 6px; text-align: left; font: 800 12px/1.2 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; color: var(--eat-green); border-bottom: 1.5px solid var(--eat-ink); }
body.sh-eat .eat-profile-table th, body.sh-eat .eat-profile-table td { padding: 6px 0; border: 0; border-bottom: 1px solid var(--eat-line-soft); background: none; text-align: left; }
body.sh-eat .eat-profile-table th { font-weight: 600; color: var(--eat-copy); }
body.sh-eat .eat-profile-table td { text-align: right; font-weight: 750; color: var(--eat-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---- below the food: similar foods, where next, questions (all in the page's own 1240 frame) ---- */
/* the shell caps this section's children at 960px (sneaky-shell.css §6) and et.css gives it a card: neither here */
body.sh-eat.sh-shell.single-food > .single-food-after.eat-food-after, body.sh-eat.sh-et-look.sh-et-look-food > .single-food-after.eat-food-after { display: grid; gap: clamp(28px, 4vw, 48px); width: min(var(--et-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)) !important; max-width: none !important; margin: clamp(36px, 5vw, 64px) auto clamp(36px, 5vw, 56px) !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
body.sh-eat.sh-shell.single-food .single-food-after.eat-food-after > * { max-width: none !important; margin: 0; }
/* similar foods: the library's own cards */
body.sh-eat .eat-related .eat-sec-head { margin-bottom: 20px; }
body.sh-eat .eat-related .eat-sub { font-size: 15px; }
body.sh-eat .eat-related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.sh-eat .eat-related-grid .eat-food-name { -webkit-line-clamp: 3; }
@media (max-width: 1100px) { body.sh-eat .eat-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body.sh-eat .eat-related-grid { grid-template-columns: minmax(0, 1fr); } }
/* where next: one band, search on the left, three real next steps on the right */
body.sh-eat .eat-food-next { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(20px, 3vw, 44px); align-items: center; padding: clamp(24px, 3.6vw, 44px); border-radius: 28px; overflow: hidden; isolation: isolate; color: #e7efe2; background: radial-gradient(60% 90% at 100% 0%, rgba(125, 189, 98, .22), transparent 70%), radial-gradient(50% 70% at 0% 100%, rgba(232, 163, 58, .14), transparent 70%), var(--eat-deep); }
body.sh-eat .eat-food-next-search { display: grid; gap: 10px; justify-items: start; min-width: 0; }
body.sh-eat .eat-food-next .eat-kicker { color: #a9d68f; }
body.sh-eat .eat-food-next .eat-h2 { color: #fbf8f0; }
body.sh-eat .eat-food-next .eat-sub { color: #cfdcc8; }
body.sh-eat .eat-food-next .eat-food-search-form { width: 100%; margin-top: 8px; }
body.sh-eat .eat-food-next .sl-search { max-width: none; border-color: transparent; box-shadow: 0 18px 40px -26px rgba(0, 0, 0, .6); }
body.sh-eat .eat-food-next .sl-search .sl-btn--primary { --sl-btn-bg: var(--eat-green); --sl-btn-bg-on: #22602a; }
body.sh-eat .eat-food-next-links { display: grid; gap: 10px; min-width: 0; }
body.sh-eat .eat-food-next-link { display: grid; grid-template-columns: 42px minmax(0, 1fr) 18px; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 18px; background: rgba(251, 248, 240, .07); box-shadow: inset 0 0 0 1px rgba(231, 239, 226, .16); color: #e7efe2; text-decoration: none; transition: background .2s var(--eat-ease), box-shadow .2s var(--eat-ease); }
body.sh-eat .eat-food-next-link:hover { background: rgba(251, 248, 240, .13); box-shadow: inset 0 0 0 1px rgba(169, 214, 143, .5); color: #fff; }
body.sh-eat .eat-food-next-link strong { display: block; font: 750 16px/1.25 var(--sl-text); color: #fbf8f0; }
body.sh-eat .eat-food-next-link > span > span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.4; color: #cfdcc8; }
body.sh-eat .eat-food-next-link > .sl-i { width: 18px; height: 18px; color: #a9d68f; transition: transform .2s var(--eat-ease); }
body.sh-eat .eat-food-next-link:hover > .sl-i { transform: translateX(3px); }
body.sh-eat .eat-food-next-ic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: rgba(169, 214, 143, .16); color: #a9d68f; }
body.sh-eat .eat-food-next-ic .sl-i { width: 21px; height: 21px; }
@media (max-width: 900px) { body.sh-eat .eat-food-next { grid-template-columns: minmax(0, 1fr); } }

/* questions: the shared FAQ (faq.php) set as an Eat section, on every Eat page that prints one */
body.sh-eat .rfq-search-launch { box-sizing: border-box; display: flex; justify-content: flex-end; align-items: center; gap: 12px; width: min(var(--et-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)) !important; max-width: none !important; margin: clamp(36px, 5vw, 64px) auto 0 !important; padding: clamp(22px, 3vw, 34px) clamp(22px, 3.4vw, 44px) 0 !important; border-radius: 28px 28px 0 0; background: var(--eat-paper-2); text-align: right; }
body.sh-eat .rfq-search-launch .rfq-search-open { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px 0 16px; border: 1.5px solid var(--eat-line-2) !important; border-radius: 999px !important; background: #fff !important; color: var(--eat-ink) !important; font: 700 14.5px/1 var(--sl-text) !important; box-shadow: none !important; }
body.sh-eat .rfq-search-launch .rfq-search-open::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.4 15.4 5.1 5.1'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.4 15.4 5.1 5.1'/%3E%3C/svg%3E") center / contain no-repeat; color: var(--eat-green); }
body.sh-eat .rfq-search-launch .rfq-search-open:hover { border-color: var(--eat-green) !important; background: #fff !important; }
body.sh-eat .rfq-block { display: grid !important; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 3.4vw, 56px) !important; align-items: start; box-sizing: border-box; width: min(var(--et-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)) !important; max-width: none !important; margin: clamp(36px, 5vw, 64px) auto clamp(36px, 5vw, 56px) !important; padding: clamp(24px, 3.4vw, 44px) !important; border: 0 !important; border-radius: 28px !important; background: var(--eat-paper-2) !important; box-shadow: none !important; color: var(--eat-copy); font-family: var(--sl-text); }
/* sl-base.css clears the FAQ card for the Sneaky Line pages (0,3,1 !important); on Eat it is the oat card */
body.sh-eat.sh-sl.sh-sl .rfq-block { padding: clamp(24px, 3.4vw, 44px) !important; border: 0 !important; box-shadow: none !important; background: var(--eat-paper-2) !important; }
body.sh-eat .rfq-search-launch ~ .rfq-block, body.sh-eat.sh-sl.sh-sl .rfq-search-launch ~ .rfq-block { margin-top: 0 !important; padding-top: clamp(14px, 2vw, 22px) !important; border-radius: 0 0 28px 28px !important; }
body.sh-eat .rfq-header { position: sticky; top: calc(var(--sh-header-bottom, 72px) + 20px); display: grid; gap: 10px; padding: 0; border: 0; }
body.sh-eat .rfq-header span { color: var(--eat-green); font: 800 12.5px/1.2 var(--sl-text); letter-spacing: .14em; text-transform: uppercase; }
body.sh-eat .rfq-header h2 { margin: 0; color: var(--eat-ink); font: 800 clamp(1.7rem, 1.1rem + 1.9vw, 2.5rem)/1.05 var(--sl-display); letter-spacing: -.03em; text-wrap: balance; }
body.sh-eat .rfq-header p { margin: 0; max-width: 46ch; color: var(--eat-copy); font: 400 16px/1.55 var(--sl-text); }
body.sh-eat .rfq-list { display: grid; gap: 10px; }
body.sh-eat .rfq-item { border: 0 !important; border-radius: 18px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--eat-line); transition: box-shadow .2s var(--eat-ease); }
body.sh-eat .rfq-item:hover { box-shadow: inset 0 0 0 1px var(--eat-line-2); }
body.sh-eat .rfq-item[open] { box-shadow: inset 4px 0 0 var(--eat-leaf), inset 0 0 0 1px var(--eat-line); }
body.sh-eat :is(.rfq-block, .rfq-search-launch), body.sh-eat .rfq-block :is(.rfq-item, summary, p) { box-sizing: border-box; }
body.sh-eat .rfq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 14px 18px 14px 22px; color: var(--eat-ink); font: 700 16.5px/1.35 var(--sl-text); cursor: pointer; list-style: none; border-radius: 18px; }
body.sh-eat .rfq-item summary::-webkit-details-marker { display: none; }
body.sh-eat .rfq-item summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--eat-paper); color: var(--eat-green); font: 700 20px/1 var(--sl-text); transition: transform .2s var(--eat-ease), background .2s var(--eat-ease); }
body.sh-eat .rfq-item[open] summary::after { content: "+"; transform: rotate(45deg); background: var(--eat-mint); }
body.sh-eat .rfq-item summary:focus-visible { outline: 2px solid var(--eat-ink); outline-offset: 2px; }
body.sh-eat .rfq-item p { margin: 0; max-width: 68ch; padding: 0 22px 20px; color: var(--eat-copy); font: 400 15.5px/1.6 var(--sl-text); }
@media (max-width: 860px) {
	body.sh-eat .rfq-block { grid-template-columns: minmax(0, 1fr); }
	body.sh-eat .rfq-header { position: static; }
	body.sh-eat .rfq-search-launch { justify-content: flex-start; }
}
@media (max-width: 480px) {
	body.sh-eat :is(.rfq-block, .rfq-search-launch) { width: calc(100% - 24px) !important; }
	body.sh-eat .rfq-item summary { padding: 12px 14px 12px 16px; font-size: 15.5px; }
	body.sh-eat .rfq-item p { padding: 0 16px 16px; }
}
/* the Support band that ends the page keeps its own design, in the same frame and rhythm */
body.sh-eat--food .sh-sc-widget--band { box-sizing: border-box; width: min(var(--et-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)); max-width: none; margin: 0 auto clamp(40px, 5vw, 64px); }

/* ======================================================================= Instant Eating Plan */
body.sh-eat .eat-instant { background: var(--eat-paper); }
body.sh-eat .eat-howto { display: grid; gap: 12px; justify-items: start; padding: clamp(20px, 2.6vw, 28px); border-radius: var(--eat-radius); background: #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-howto-steps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.sh-eat .eat-howto-steps li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: center; font: 600 15px/1.4 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-howto-steps b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--eat-mint); color: var(--eat-green); font: 800 14px/1 var(--sl-text); }
body.sh-eat .eat-instant-body { padding: clamp(8px, 1.4vw, 16px) 0 clamp(48px, 6vw, 80px); }
body.sh-eat .eat-status:empty { display: none; }
body.sh-eat .eat-status { margin: 0 0 14px; padding: 12px 16px; border-radius: 12px; background: var(--eat-mint); color: var(--eat-deep); font: 650 15px/1.4 var(--sl-text); }
body.sh-eat .eat-status[role="alert"] { background: #fdeee9; color: #8a2f1c; }
body.sh-eat .eat-composer { display: grid; gap: 18px; }
body.sh-eat .eat-step { display: grid; gap: 18px; padding: clamp(20px, 3vw, 34px); border-radius: var(--eat-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-step-head { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: center; }
body.sh-eat .eat-step-num { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--eat-deep); color: #f7f2e3; font: 800 1.5rem/1 var(--sl-display); }
body.sh-eat .eat-step-head > div { display: grid; gap: 6px; }
body.sh-eat .eat-step-foot { display: flex; gap: 10px; align-items: flex-start; padding-top: 12px; border-top: 1px dashed var(--eat-line); }
body.sh-eat .eat-step-foot .sl-i { flex: none; width: 18px; height: 18px; margin-top: 1px; color: var(--eat-green); }
body.sh-eat .eat-step-foot a { color: var(--eat-green); font-weight: 700; }
/* the real controls the choice cards stand for stay in the page, out of sight */
body.sh-eat .eat-sr-field { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.sh-eat .eat-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; min-width: 0; }
body.sh-eat .eat-choices--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.sh-eat .eat-choice { position: relative; display: flex; cursor: pointer; min-width: 0; }
body.sh-eat .eat-choice[hidden] { display: none; }
body.sh-eat .eat-choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
body.sh-eat .eat-choice-card { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-content: start; width: 100%; padding: 16px 18px; border-radius: 18px; background: var(--eat-paper); box-shadow: inset 0 0 0 1.5px var(--eat-line); transition: box-shadow .15s var(--eat-ease), background .15s var(--eat-ease); }
body.sh-eat .eat-choice-ic { grid-row: 1 / span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; color: var(--eat-green); box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-choice-ic .sl-i { width: 20px; height: 20px; }
body.sh-eat .eat-choice-card b { font: 750 16px/1.25 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-choice-card small { font: 500 14px/1.45 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-choice:hover .eat-choice-card { box-shadow: inset 0 0 0 1.5px var(--eat-line-2); background: #fff; }
body.sh-eat .eat-choice input:checked + .eat-choice-card { background: #f1f8ec; box-shadow: inset 0 0 0 2px var(--eat-green); }
body.sh-eat .eat-choice input:checked + .eat-choice-card .eat-choice-ic { background: var(--eat-green); color: #fff; box-shadow: none; }
body.sh-eat .eat-choice input:focus-visible + .eat-choice-card { outline: 2px solid var(--eat-ink); outline-offset: 3px; }
body.sh-eat .eat-choice input:disabled + .eat-choice-card { opacity: .5; cursor: not-allowed; }
body.sh-eat .eat-goals { padding: 0; }
body.sh-eat .eat-goals .eat-choice > span { min-width: 92px; justify-content: center; }
@media (max-width: 760px) { body.sh-eat :is(.eat-choices, .eat-choices--3) { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat .eat-substep { display: grid; gap: 12px; }
body.sh-eat .eat-substep[hidden] { display: none; }
body.sh-eat .eat-fieldrow, body.sh-eat #sh-cf-meal-slots .sxl-search { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 14px; }
body.sh-eat :is(.eat-field, #sh-cf-meal-slots .sxl-field) { display: grid; gap: 6px; min-width: min(100%, 220px); }
body.sh-eat .eat-field--wide { flex: 1 1 420px; min-width: 0; }
body.sh-eat :is(.eat-composer, .eat-step, .eat-substep, .eat-fieldrow) { min-width: 0; }
body.sh-eat .eat-composer :is(.eat-field, .eat-field--wide) select { width: 100%; max-width: 100%; text-overflow: ellipsis; }
@media (max-width: 560px) { body.sh-eat .eat-composer .eat-field { flex: 1 1 100%; } }
body.sh-eat :is(.eat-field, #sh-cf-meal-slots .sxl-field) > span { font: 700 13.5px/1.2 var(--sl-text) !important; color: var(--eat-ink) !important; letter-spacing: 0 !important; text-transform: none !important; }
body.sh-eat .eat-page main :is(select, input[type="number"], input[type="search"], input[type="text"]):not(.sl-field), body.sh-eat .eat-page :is(.eat-field, #sh-cf-meal-slots) :is(select, input) { border-color: var(--eat-line-2) !important; border-radius: 12px !important; background-color: #fff; }
body.sh-eat .eat-page :is(.eat-field, .eat-adjust) input.sl-field { min-height: 50px; padding: 0 14px; border: 1.5px solid var(--eat-line-2); border-radius: 12px; background: #fff; font: 600 16px/1.2 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-page :is(.eat-field, .eat-adjust) input.sl-field:focus { border-color: var(--eat-green); box-shadow: 0 0 0 4px var(--eat-mint); outline: 0; }
body.sh-eat .eat-slots { display: grid; gap: 10px; }
body.sh-eat #sh-cf-meal-slots .sxl-search { padding: 12px 14px; border-radius: 16px; background: var(--eat-paper); box-shadow: inset 0 0 0 1px var(--eat-line-soft); }
body.sh-eat #sh-cf-meal-slots .sxl-field { flex: 1 1 360px; }
body.sh-eat #sh-cf-meal-slots button { min-height: 44px; padding: 0 16px; border: 1.5px solid var(--eat-line-2); border-radius: 999px; background: #fff; color: var(--eat-ink); font: 700 14px/1 var(--sl-text); cursor: pointer; }
body.sh-eat #sh-cf-meal-slots button:disabled { opacity: .45; cursor: not-allowed; }
body.sh-eat .eat-profilebox { padding: 16px 18px; border-radius: 16px; background: var(--eat-paper); }
body.sh-eat .eat-target-fig { display: grid; gap: 2px; margin: 0; }
body.sh-eat .eat-target-fig span { font: 800 12px/1.2 var(--sl-text); letter-spacing: .12em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-target-fig b { font: 800 2.4rem/1 var(--sl-display); letter-spacing: -.03em; color: var(--eat-green); font-variant-numeric: tabular-nums; }
body.sh-eat .eat-target-fig small { font: 600 13.5px/1.2 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-note--strong { color: var(--eat-ink); font-weight: 650; }
body.sh-eat .eat-note a { color: var(--eat-green); font-weight: 700; }
body.sh-eat .eat-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(135deg, #f4f9ef, #fbf8f0); }
body.sh-eat .eat-split > div { display: grid; gap: 8px; }
body.sh-eat .eat-split .eat-checks li { font-size: 14.5px; }
@media (max-width: 640px) { body.sh-eat .eat-split { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat .eat-composer-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 18px 22px; border-radius: var(--eat-radius); background: var(--eat-deep); }
body.sh-eat .eat-composer-go .eat-note { color: #cfdcc8; }
body.sh-eat .eat-composer-go .sl-btn--primary { --sl-btn-bg: #f7f2e3; --sl-btn-fg: var(--eat-deep); --sl-btn-bg-on: #fff; --sl-btn-fg-on: var(--eat-deep); min-height: 56px; font-size: 17px; }
body.sh-eat .eat-composer-go .sl-btn--primary .sl-btn-orb { background: var(--eat-deep); color: #f7f2e3; }
body.sh-eat .sxl-instant-advanced { margin: 0; }
body.sh-eat .eat-checks.sxl-instant-facts li::before { content: none !important; display: none !important; }

/* the composed day */
body.sh-eat .eat-instant-result { margin-top: 26px; scroll-margin-top: calc(var(--sh-header-bottom, 72px) + 16px); }
body.sh-eat .eat-result { display: grid; gap: 18px; }
body.sh-eat .eat-result-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(18px, 3vw, 36px); align-items: center; padding: clamp(22px, 3vw, 36px); border-radius: 28px; background: radial-gradient(70% 90% at 100% 0%, rgba(125, 189, 98, .18), transparent 70%), #fff; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-result-copy { display: grid; gap: 12px; }
body.sh-eat .eat-result-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 6px 0 0; border-top: 1.5px solid var(--eat-ink); }
body.sh-eat .eat-rfig { display: grid; gap: 4px; padding: 12px 12px 0 0; margin: 0; }
body.sh-eat .eat-rfig + .eat-rfig { padding-left: 14px; border-left: 1px solid var(--eat-line); }
body.sh-eat .eat-rfig dt { font: 700 12.5px/1.2 var(--sl-text); letter-spacing: .06em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-rfig dd { margin: 0; font: 600 14px/1 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-rfig dd b { font: 800 clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem)/1 var(--sl-display); letter-spacing: -.03em; color: var(--eat-ink); font-variant-numeric: tabular-nums; }
body.sh-eat .eat-rfig.is-main dd b { color: var(--eat-green); }
body.sh-eat .eat-result-ring { display: grid; grid-template-columns: minmax(0, 170px) minmax(0, 1fr); gap: 18px; align-items: center; }
@media (max-width: 860px) { body.sh-eat .eat-result-head { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 420px) { body.sh-eat .eat-result-ring { grid-template-columns: minmax(0, 1fr); } body.sh-eat .eat-result-ring .eat-ring { width: 180px; margin: 0 auto; } }
body.sh-eat .eat-result > .eat-macrobar { padding: 16px 20px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-result-tools { display: grid; gap: 10px; padding: 18px 20px; border-radius: 18px; background: var(--eat-paper-2); }
body.sh-eat .eat-adjust { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 12px; }
body.sh-eat .eat-result-send:empty { display: none; }
body.sh-eat .eat-result-meals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { body.sh-eat .eat-result-meals { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat .eat-result-meals > .eat-rmeal { min-width: 0; }
body.sh-eat :is(.eat-replace, .eat-adjust, .eat-fieldrow, #sh-cf-meal-slots) :is(select, input) { max-width: 100%; }
body.sh-eat :is(.eat-replace, #sh-cf-meal-slots) select { width: 100%; min-width: 0; text-overflow: ellipsis; }
body.sh-eat .eat-replace .eat-field, body.sh-eat #sh-cf-meal-slots .sxl-field { min-width: 0; }
body.sh-eat .eat-rmeal .eat-rmeal-items li { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto; }
body.sh-eat .eat-rmeal { display: grid; gap: 12px; align-content: start; padding: clamp(18px, 2.4vw, 24px); border-radius: var(--eat-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); border-top: 5px solid var(--eat-r, var(--eat-leaf)); }
body.sh-eat .eat-rmeal-head { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: start; }
body.sh-eat .eat-rmeal-t { display: grid; gap: 2px; min-width: 0; }
body.sh-eat .eat-rmeal h3 { margin: 0; font: 750 1.12rem/1.25 var(--sl-display); color: var(--eat-ink); }
body.sh-eat .eat-rmeal-items { display: grid; margin: 0; padding: 0; list-style: none; }
body.sh-eat .eat-rmeal-items li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px dashed var(--eat-line-2); }
body.sh-eat .eat-rmeal-items li:last-child { border-bottom: 0; }
body.sh-eat .eat-rmeal-items li.is-locked .eat-rmeal-name b::after { content: " · locked"; font: 700 12px/1 var(--sl-text); color: var(--eat-green); }
body.sh-eat .eat-rmeal-name { display: grid; gap: 2px; min-width: 0; }
body.sh-eat .eat-rmeal-name b { font: 700 15.5px/1.3 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-rmeal-name small { font: 500 13px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-rmeal-kcal { font: 750 14px/1 var(--sl-text); color: var(--eat-green); white-space: nowrap; font-variant-numeric: tabular-nums; }
body.sh-eat .eat-rmeal-energy { margin: 0; font: 650 13.5px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-replace { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 12px; padding-top: 12px; border-top: 1px solid var(--eat-line-soft); }
body.sh-eat .eat-replace .eat-field { flex: 1 1 240px; }
body.sh-eat .eat-result-caution { padding: 12px 16px; border-radius: 14px; background: #fff8ea; color: #4f3b12; }
/* a real checkbox drawn as a switch */
body.sh-eat .eat-switch { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 36px; cursor: pointer; font: 650 14px/1.2 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
body.sh-eat .eat-switch-ui { position: relative; flex: none; width: 42px; height: 24px; border-radius: 999px; background: var(--eat-line-2); transition: background .15s var(--eat-ease); }
body.sh-eat .eat-switch-ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .18s var(--eat-ease); }
body.sh-eat .eat-switch input:checked + .eat-switch-ui { background: var(--eat-green); }
body.sh-eat .eat-switch input:checked + .eat-switch-ui::after { transform: translateX(18px); }
body.sh-eat .eat-switch input:focus-visible + .eat-switch-ui { outline: 2px solid var(--eat-ink); outline-offset: 3px; }
body.sh-eat .eat-switch input:disabled + .eat-switch-ui { opacity: .45; }
body.sh-eat .eat-rmeal-items .eat-switch-t { font-size: 13px; color: var(--eat-muted); }

/* ======================================================================= Advanced plan creator (/eating/) */
body.sh-eat--plan-creator .rep-page { color: var(--eat-copy); }
body.sh-eat .eat-creator-tabs { margin: clamp(14px, 2vw, 24px) 0 clamp(14px, 2vw, 20px); min-width: 0; }
/* .rep-page is a grid: its rows must not take the scrolling tab row's full width as their minimum */
body.sh-eat--plan-creator .rep-page > * { min-width: 0; }
body.sh-eat.sh-shell .eat-creator-hero, body.sh-eat.sh-shell .eat-creator-hero.et-hero { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(20px, 3.4vw, 48px); align-items: center; margin: 0 0 18px; border: 0; border-radius: 28px; overflow: hidden; background: radial-gradient(60% 90% at 100% 0%, rgba(125, 189, 98, .2), transparent 70%), linear-gradient(160deg, #fff, #fbf8f0) !important; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line) !important; }
body.sh-eat.sh-shell .eat-creator-hero::before, body.sh-eat.sh-shell .eat-creator-hero::after { content: none !important; display: none !important; }
body.sh-eat.sh-shell .eat-creator-hero > div:first-child { display: grid; gap: 14px; justify-items: start; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 0 !important; background: none !important; font: 800 12.5px/1 var(--sl-text) !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--eat-green) !important; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-kicker::before { content: none !important; }
body.sh-eat.sh-shell main .eat-creator-hero h1 { max-width: 20ch; margin: 0; font: 800 clamp(2.1rem, 1.1rem + 3vw, 3.4rem)/1.02 var(--sl-display) !important; letter-spacing: -.035em !important; color: var(--eat-ink) !important; }
body.sh-eat.sh-shell .eat-creator-hero > div:first-child > p { margin: 0; max-width: 60ch; font: 400 17px/1.55 var(--sl-text) !important; color: var(--eat-copy) !important; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-cost { padding: 12px 16px; border-left: 3px solid var(--eat-c); border-radius: 0 12px 12px 0; background: #fbf3df; font-size: 15px !important; color: #4f3b12 !important; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-cost a { color: var(--eat-deep); font-weight: 750; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-hero-card { display: grid; gap: 10px; justify-items: start; padding: clamp(20px, 2.6vw, 28px); border: 0 !important; border-radius: var(--eat-radius) !important; background: var(--eat-deep) !important; box-shadow: var(--eat-shadow) !important; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-hero-card::before { content: none !important; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-hero-card > span:not(.et-panel-badge) { color: #a9d68f !important; font: 800 12px/1.2 var(--sl-text) !important; letter-spacing: .12em; text-transform: uppercase; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-hero-card strong { color: #fbf8f0 !important; font: 800 1.45rem/1.15 var(--sl-display) !important; }
body.sh-eat.sh-shell .eat-creator-hero .rep-page-hero-card p { color: #dce8d5 !important; font-size: 15px !important; }
body.sh-eat.sh-shell main .eat-creator-hero .rep-page-hero-card > a:first-of-type { width: auto !important; min-height: 48px; padding: 0 20px !important; border-radius: 999px !important; background: #f7f2e3 !important; color: var(--eat-deep) !important; font: 750 15px/1 var(--sl-text) !important; box-shadow: none !important; }
@media (max-width: 860px) { body.sh-eat.sh-shell .eat-creator-hero, body.sh-eat.sh-shell .eat-creator-hero.et-hero { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat--plan-creator .rep-architecture-guide { border: 0; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat--plan-creator .rep-architecture-guide summary { color: var(--eat-ink); }
body.sh-eat--plan-creator .rep-architecture-steps p { color: var(--eat-copy); }
body.sh-eat--plan-creator .rep-page-layout { grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); gap: clamp(18px, 2.6vw, 32px); }
@media (max-width: 960px) { body.sh-eat--plan-creator .rep-page-layout { grid-template-columns: minmax(0, 1fr); } body.sh-eat--plan-creator .rep-page-layout > .rep-page-sidebar { order: 2; } }
body.sh-eat--plan-creator .rep-page-side-box { border: 0 !important; border-radius: 18px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--eat-line) !important; }
body.sh-eat--plan-creator .rep-page-side-box > a { border: 0 !important; border-radius: 12px !important; background: var(--eat-paper) !important; box-shadow: none !important; }
body.sh-eat--plan-creator .rep-page-side-box > a:hover { background: var(--eat-mint) !important; }
body.sh-eat--plan-creator .rep-page-side-box .rep-page-kicker { color: var(--eat-green) !important; }
/* the planner itself */
body.sh-eat--plan-creator .rep-planner { border: 0 !important; border-radius: 24px !important; background: #fff !important; box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line) !important; overflow: hidden; }
body.sh-eat--plan-creator .rep-planner-start { margin: 0 !important; padding: clamp(18px, 2.4vw, 26px) !important; border: 0 !important; border-radius: 0 !important; background: var(--eat-deep) !important; box-shadow: none !important; }
body.sh-eat--plan-creator .rep-planner-start span { color: #a9d68f !important; background: none !important; padding: 0 !important; font: 800 12px/1.2 var(--sl-text) !important; letter-spacing: .12em; text-transform: uppercase; }
body.sh-eat--plan-creator .rep-planner-start h2 { color: #fbf8f0 !important; font: 800 1.6rem/1.15 var(--sl-display) !important; }
body.sh-eat--plan-creator .rep-planner-start p { color: #cfdcc8 !important; }
body.sh-eat--plan-creator main .rep-planner-start .rep-button-primary { background: #f7f2e3 !important; color: var(--eat-deep) !important; box-shadow: none; }
/* et.css's legacy button rule reaches (0,5,3) with color:#fff !important; this one outweighs it */
body.sh-eat.sh-eat--plan-creator.sh-et-look main .rep-planner .rep-planner-start .rep-planner-start-actions button.rep-button-primary { color: var(--eat-deep) !important; }
body.sh-eat--plan-creator main .rep-planner-start .rep-button-secondary { border-color: rgba(247, 242, 227, .5) !important; background: transparent !important; color: #f7f2e3 !important; }
body.sh-eat--plan-creator .rep-toolbar, body.sh-eat--plan-creator .rep-meal-setup { padding-inline: clamp(16px, 2.4vw, 26px); }
body.sh-eat--plan-creator .rep-toolbar { padding-top: 20px; border: 0 !important; background: none !important; box-shadow: none !important; }
body.sh-eat--plan-creator .rep-calorie-floor-warning { border-radius: 12px !important; background: #fff8ea !important; border-color: #f0dfb8 !important; color: #4f3b12 !important; }
body.sh-eat--plan-creator .rep-calorie-summary { border-radius: 14px !important; border-left: 3px solid var(--eat-green) !important; background: var(--eat-mint) !important; }
body.sh-eat--plan-creator .rep-calorie-summary strong { color: var(--eat-deep) !important; font-family: var(--sl-display) !important; }
body.sh-eat--plan-creator main .rep-button-primary { background: var(--eat-green); }
body.sh-eat--plan-creator main .rep-button-primary:hover { background: #22602a; }
body.sh-eat--plan-creator main :is(input, select, textarea):not(.sl-field) { border-color: var(--eat-line-2) !important; border-radius: 12px !important; }
body.sh-eat--plan-creator .rep-credit-status { border: 0 !important; border-radius: 14px !important; background: var(--eat-paper-2) !important; }
body.sh-eat--plan-creator .rep-meals { display: grid; gap: 14px; }
body.sh-eat--plan-creator .rep-meal { border: 0 !important; border-left: 5px solid var(--eat-leaf) !important; border-radius: 18px !important; background: var(--eat-paper) !important; box-shadow: inset 0 0 0 1px var(--eat-line) !important; }
body.sh-eat--plan-creator .rep-meal.rep-status-green { border-left-color: #1f8a5b !important; }
body.sh-eat--plan-creator .rep-meal.rep-status-yellow { border-left-color: #c98712 !important; }
body.sh-eat--plan-creator .rep-meal.rep-status-red { border-left-color: #c7362f !important; }
body.sh-eat--plan-creator .rep-meal-total-pill { border-radius: 10px !important; background: #fff !important; color: var(--eat-muted) !important; box-shadow: inset 0 0 0 1px var(--eat-line); font: 700 12px/1 var(--sl-text) !important; letter-spacing: .06em; }
body.sh-eat--plan-creator .rep-meal-total-pill strong { color: var(--eat-ink) !important; font: 800 16px/1 var(--sl-display) !important; }
body.sh-eat--plan-creator .rep-meal-actions button:not(.rep-add-food-button) { min-height: 40px; padding: 0 14px; border: 1.5px solid var(--eat-line-2) !important; border-radius: 999px !important; background: #fff !important; color: var(--eat-ink) !important; font: 700 13.5px/1 var(--sl-text) !important; }
body.sh-eat--plan-creator .rep-add-food-button { background: var(--eat-green) !important; color: #fff !important; }
body.sh-eat--plan-creator .rep-food-item { border-color: var(--eat-line-soft) !important; }
body.sh-eat--plan-creator .rep-food-title { color: var(--eat-ink); font-weight: 700; }
body.sh-eat--plan-creator .rep-food-total { color: var(--eat-green); font-weight: 750; }
body.sh-eat--plan-creator .rep-modal-panel { border: 0 !important; border-radius: 24px !important; box-shadow: 0 40px 90px -40px rgba(23, 48, 31, .6) !important; }
body.sh-eat--plan-creator .rep-modal-header { border-bottom: 1px solid var(--eat-line) !important; }
body.sh-eat--plan-creator .rep-modal-header h2 { color: var(--eat-ink) !important; font-family: var(--sl-display) !important; }
body.sh-eat--plan-creator .rep-ai-accordion { border-radius: 14px !important; border-color: var(--eat-line) !important; background: var(--eat-paper) !important; }

/* ======================================================================= a saved plan (single eating_plan) */
body.sh-eat--saved { background: var(--eat-paper); }
body.sh-eat main.rep-view.eat-saved { width: min(var(--sl-max, 1240px), 100% - 2 * clamp(16px, 4vw, 48px)); max-width: none; margin: 0 auto; padding: clamp(18px, 2.4vw, 28px) 0 clamp(40px, 5vw, 64px); background: transparent; color: var(--eat-copy); }
body.sh-eat .eat-saved-head.rep-view-header { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(20px, 3.4vw, 44px); align-items: center; margin: 0 0 18px; padding: clamp(22px, 3.2vw, 40px); border: 0; border-radius: 28px; background: radial-gradient(70% 90% at 100% 0%, rgba(125, 189, 98, .18), transparent 70%), linear-gradient(160deg, #fff, #fbf8f0); box-shadow: var(--eat-shadow), inset 0 0 0 1px var(--eat-line); color: var(--eat-copy); }
body.sh-eat .eat-saved-head .rep-view-header-copy { display: grid; gap: 14px; min-width: 0; }
body.sh-eat .eat-saved-head .rep-view-header-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
body.sh-eat .eat-saved-head .rep-view-kicker { margin: 0; padding: 0; background: none; }
body.sh-eat .eat-saved-head .rep-view-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.sh-eat .eat-saved-head .rep-view-action-button { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--eat-line-2); border-radius: 999px; background: #fff; color: var(--eat-ink); font: 700 14px/1 var(--sl-text); text-decoration: none; cursor: pointer; box-shadow: none; }
body.sh-eat .eat-saved-head .rep-view-action-button:hover { border-color: var(--eat-green); }
body.sh-eat .eat-saved-head .rep-view-edit-button { border-color: var(--eat-green); background: var(--eat-green); color: #fff; }
body.sh-eat .eat-saved-head .sh-connection-copy-toggle { display: inline-flex; align-items: center; gap: 6px; font: 600 13.5px/1.2 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-saved-head h1 { margin: 0; color: var(--eat-ink); }
body.sh-eat .eat-saved-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin: 0; padding: 0; border: 0; background: none; }
body.sh-eat .eat-saved-meta > span { display: inline-flex; align-items: baseline; gap: 6px; font: 600 14px/1.2 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-saved-meta small { font: 700 11.5px/1 var(--sl-text); letter-spacing: .1em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-saved-meta strong { color: var(--eat-ink); }
body.sh-eat .eat-saved-meta .rep-view-author { align-items: center; }
body.sh-eat .eat-saved-meta .rep-view-avatar { width: 30px; height: 30px; border-radius: 50%; }
body.sh-eat .eat-saved-stage .eat-day { box-shadow: inset 0 0 0 1px var(--eat-line); }
@media (max-width: 900px) { body.sh-eat .eat-saved-head.rep-view-header { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat .eat-saved-summary { display: grid; gap: 14px; margin: 0 0 clamp(28px, 4vw, 44px); padding: clamp(18px, 2.4vw, 24px); border-radius: var(--eat-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-saved-figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1.5px solid var(--eat-ink); }
body.sh-eat .eat-saved-figs > div { display: grid; gap: 4px; padding: 12px 12px 0 0; }
body.sh-eat .eat-saved-figs > div + div { padding-left: 14px; border-left: 1px solid var(--eat-line); }
body.sh-eat .eat-saved-figs dt { font: 700 12.5px/1.2 var(--sl-text); letter-spacing: .06em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-saved-figs dd { margin: 0; font: 600 14px/1 var(--sl-text); color: var(--eat-copy); }
body.sh-eat .eat-saved-figs dd b { font: 800 clamp(1.5rem, 1.1rem + 1.1vw, 2.1rem)/1 var(--sl-display); letter-spacing: -.03em; color: var(--eat-ink); font-variant-numeric: tabular-nums; }
body.sh-eat .eat-saved-figs .is-main dd b { color: var(--eat-green); }
body.sh-eat .eat-saved-figs .eat-saved-goal { font-size: clamp(1.3rem, 1rem + .8vw, 1.7rem); }
@media (max-width: 640px) { body.sh-eat .eat-saved-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sh-eat .eat-saved-figs > div:nth-child(3) { padding-left: 0; border-left: 0; } body.sh-eat .eat-saved-figs > div:nth-child(n+3) { border-top: 1px solid var(--eat-line); padding-top: 12px; } }
body.sh-eat .eat-check { margin: 0; padding: 12px 16px; border: 0 !important; border-radius: 14px; font-size: 15px; line-height: 1.5; }
body.sh-eat .eat-check strong { margin-right: 4px; }
body.sh-eat .eat-check--warn { background: #fff8ea !important; color: #4f3b12; box-shadow: inset 3px 0 0 #c98712; }
body.sh-eat .eat-check--bad { background: #fdeee9 !important; color: #7a2615; box-shadow: inset 3px 0 0 #c7362f; }
body.sh-eat .eat-check--ok { background: var(--eat-mint) !important; color: var(--eat-deep); box-shadow: inset 3px 0 0 var(--eat-green); }
body.sh-eat .eat-saved-meals { margin: 0 0 clamp(24px, 3vw, 36px); }
body.sh-eat .eat-balance { display: grid; gap: 6px; }
body.sh-eat .eat-balance-track { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: var(--eat-line-soft); }
body.sh-eat .eat-balance-track i { display: block; height: 100%; border-radius: 999px; background: var(--eat-r, var(--eat-leaf)); }
body.sh-eat .eat-balance-t { font: 600 13px/1.3 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-saved-items { display: grid; margin: 0; padding: 0; list-style: none; }
body.sh-eat .eat-saved-items li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px dashed var(--eat-line-2); }
body.sh-eat .eat-saved-items li:last-child { border-bottom: 0; }
body.sh-eat .eat-saved-name { display: grid; gap: 2px; min-width: 0; }
body.sh-eat .eat-saved-name b { font: 700 15.5px/1.3 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-saved-name small { font: 500 13px/1.35 var(--sl-text); color: var(--eat-muted); }
body.sh-eat .eat-saved-name .rep-view-ai-reason { display: block; margin-top: 2px; padding-left: 8px; border-left: 2px solid var(--eat-mint-2); font-style: italic; }
body.sh-eat .eat-saved-kcal { font: 750 14.5px/1 var(--sl-text); color: var(--eat-green); white-space: nowrap; font-variant-numeric: tabular-nums; }
body.sh-eat .eat-saved-detail { display: grid; gap: 12px; margin: 0 0 clamp(24px, 3vw, 36px); }
body.sh-eat .eat-saved-detail .eat-profile { margin: 0; }
body.sh-eat .eat-saved-context { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 0; }
body.sh-eat .eat-saved-context > div { display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px; background: var(--eat-paper); }
body.sh-eat .eat-saved-context > div.is-long { grid-column: 1 / -1; }
body.sh-eat .eat-saved-context dt { font: 700 11.5px/1.2 var(--sl-text); letter-spacing: .08em; text-transform: uppercase; color: var(--eat-muted); }
body.sh-eat .eat-saved-context dd { margin: 0; font: 650 15px/1.4 var(--sl-text); color: var(--eat-ink); overflow-wrap: anywhere; }
body.sh-eat .eat-saved-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 clamp(28px, 4vw, 44px); }
@media (max-width: 720px) { body.sh-eat .eat-saved-next { grid-template-columns: minmax(0, 1fr); } }
body.sh-eat .eat-saved-after { display: grid; gap: clamp(24px, 3vw, 36px); }
body.sh-eat .eat-saved-after .rep-view-section-head h2 { color: var(--eat-ink); font-family: var(--sl-display); }
@media print { body.sh-eat .eat-saved :is(.eat-saved-next, .eat-saved-after, .rep-view-actions) { display: none !important; } body.sh-eat .eat-saved details:not(.eat-private) { display: block; } body.sh-eat .eat-saved details:not(.eat-private) > .eat-profile-body { display: grid !important; } }
/* The owner's private "About Me" (birthdate, body measures, allergies, conditions, medications) never prints, open or
   closed (owner order, 29 Oct 2026). It stays on screen for the signed-in owner only. */
@media print { body .eat-private, body [data-sh-private], body .sh-prog-private { display: none !important; } }
/* A closed disclosure keeps its body in ::details-content, which browsers hide whatever the body's own display says, so
   the plan's totals and method print open. The private block above stays out. */
@media print { body.sh-eat .eat-saved details:not(.eat-private)::details-content { content-visibility: visible; display: block; } }
@media print { body.sh-eat .eat-saved details:not(.eat-private) .eat-profile-open { display: none; } }

/* the member's plan list (My Eating Plans): its rows join Eat; the Your Space masthead stays as it is */
body.sh-eat--library .repl-page { border: 0; background: transparent; box-shadow: none; }
body.sh-eat--library .repl-header { border: 0 !important; border-radius: 18px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--eat-line) !important; }
body.sh-eat--library .repl-list { display: grid; gap: 12px; }
body.sh-eat--library .repl-card { border: 0 !important; border-left: 5px solid var(--eat-leaf) !important; border-radius: 18px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--eat-line) !important; }
body.sh-eat--library .repl-card :is(h3, strong) { color: var(--eat-ink); }
body.sh-eat--library .repl-stats { color: var(--eat-copy); }
body.sh-eat--library .repl-button-primary { background: var(--eat-green) !important; }
body.sh-eat--library .repl-empty { border: 2px dashed var(--eat-line-2) !important; border-radius: 18px !important; background: rgba(255, 255, 255, .7) !important; color: var(--eat-copy); }

/* the old food-group addresses */
body.sh-eat .eat-grouplist { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 0 0 16px; padding: 0; list-style: none; }
body.sh-eat .eat-grouplist li { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--eat-line); }
body.sh-eat .eat-grouplist b { display: block; font: 750 15.5px/1.2 var(--sl-text); color: var(--eat-ink); }
body.sh-eat .eat-grouplist small { font-size: 13px; color: var(--eat-muted); }

/* ======================================================================= motion (only when motion is welcome) */
@media (prefers-reduced-motion: no-preference) {
	html.sl-armed body.sh-eat .eat-seg { stroke-dashoffset: 0; }
	body.sh-eat .eat-food, body.sh-eat .eat-mealcard, body.sh-eat .eat-daycard { will-change: transform; }
	html.sl-armed body.sh-eat .eat-results.is-fresh .eat-food { animation: eat-rise .45s var(--eat-ease) both; }
	html.sl-armed body.sh-eat .eat-results.is-fresh .sfav-host:nth-child(2) .eat-food, html.sl-armed body.sh-eat .eat-results.is-fresh .eat-food:nth-child(2) { animation-delay: 30ms; }
	html.sl-armed body.sh-eat .eat-results.is-fresh .sfav-host:nth-child(3) .eat-food, html.sl-armed body.sh-eat .eat-results.is-fresh .eat-food:nth-child(3) { animation-delay: 60ms; }
	html.sl-armed body.sh-eat .eat-results.is-fresh .sfav-host:nth-child(n+4) .eat-food, html.sl-armed body.sh-eat .eat-results.is-fresh .eat-food:nth-child(n+4) { animation-delay: 90ms; }
}
@keyframes eat-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	body.sh-eat [data-sxl-eat-listing].is-loading .eat-results::after { animation: none; }
	body.sh-eat :is(.eat-food, .eat-mealcard, .eat-daycard, .eat-door-go .sl-i) { transition: none; }
}

/* Eat closure (23 Oct 2026): on phones the current-page crumb wrapped onto its own line behind a stray "/" and was
   cut off; the page's H1 right below names it, so phones show the trail only. */
@media (max-width: 600px) {
	body.sh-eat .eat-crumbs li:has(> [aria-current="page"]) { display: none; }
}
