:root {
  --bg: #f4f6f7;
  --card: #ffffff;
  --text: #111827;
  --muted: #667085;
  --line: #e4e7ec;
  --brand: #111827;
  --accent: #0f9f4f;
  --accent-soft: #ecfdf3;
  --warn: #b54708;
  --danger: #b42318;
  --radius: 22px;
  --shadow: 0 12px 30px rgba(17, 24, 39, .07);
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #edf8f1 0, var(--bg) 300px);
  color: var(--text);
}
button, input, select { font: inherit; }
button { cursor: pointer; }
.shell { width: min(860px, 100%); margin: 0 auto; padding: 24px 16px 96px; }
.topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding: 8px 4px 20px; }
h1 { margin: 2px 0 4px; font-size: clamp(34px, 7vw, 52px); letter-spacing:-.05em; }
h2, h3 { margin:0; letter-spacing:-.03em; }
h2 { font-size: clamp(24px, 4vw, 32px); }
.sub { margin:0; color:#344054; font-weight:700; font-size:17px; }
.eyebrow { font-size:11px; font-weight:900; letter-spacing:.14em; color:var(--accent); }
.card { background:var(--card); border:1px solid rgba(17,24,39,.06); border-radius:var(--radius); box-shadow:var(--shadow); }
.store-card, .preferences-summary, .coming-next, .disclaimer { padding:16px 18px; margin-bottom:14px; }
.hero { padding:20px; margin-bottom:14px; }
.hero-copy p { margin:6px 0 0; color:var(--muted); line-height:1.45; }
.label { font-size:12px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.row { display:flex; align-items:center; }.between{justify-content:space-between}.gap{gap:12px}
.icon-btn { width:42px; height:42px; border:1px solid var(--line); background:#fff; border-radius:14px; }
.link-btn { border:0; background:transparent; color:var(--accent); font-weight:850; }
.search-row { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:14px; }
input[type="search"], .field input { width:100%; border:1px solid var(--line); background:#f9fafb; border-radius:16px; padding:15px 16px; outline:none; }
input:focus, select:focus { border-color:#98a2b3; box-shadow:0 0 0 3px rgba(17,24,39,.06); }
.primary { border:0; border-radius:16px; background:var(--brand); color:white; font-weight:850; padding:0 18px; min-height:50px; }
.primary.wide { width:100%; margin-top:8px; }
.quick-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.quick-pills button, .chip { border:1px solid var(--line); background:#fff; border-radius:999px; padding:8px 11px; font-size:13px; }
.quick-pills button:hover, .chip.active { border-color:#111827; background:#111827; color:#fff; }
.summary-text { margin-top:3px; color:#475467; font-size:14px; line-height:1.4; }
.store-address { margin-top:3px; color:var(--muted); font-size:12px; }
.status { margin:16px 0; border-radius:16px; padding:14px 16px; background:#fff7ed; color:#7c2d12; border:1px solid #fed7aa; }
.status[data-mode="error"] { background:#fef3f2; color:#912018; border-color:#fecdca; }
.status[data-mode="info"] { background:#eff8ff; color:#175cd3; border-color:#b2ddff; }
.hidden { display:none !important; }
.results-heading, .section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:26px 2px 12px; }
.source-badge { font-size:12px; background:#e5e7eb; padding:7px 10px; border-radius:999px; color:#475467; white-space:nowrap; }
.source-badge.live { background:#dcfae6; color:#087443; font-weight:850; }
.winner-pills { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.winner-pill { appearance:none; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:9px 12px; font:inherit; font-size:12px; font-weight:800; cursor:pointer; box-shadow:0 4px 12px rgba(17,24,39,.035); transition:transform .15s ease,border-color .15s ease,background .15s ease; }
.winner-pill:hover:not(:disabled) { transform:translateY(-1px); border-color:#94d9ac; background:#f5fff8; }
.winner-pill:focus-visible { outline:3px solid rgba(22,163,74,.2); outline-offset:2px; }
.winner-pill.disabled,.winner-pill:disabled { cursor:not-allowed; opacity:.52; background:#f7f8fa; }
.winner-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:10px; }
.winner { padding:16px; background:#fff; border-radius:18px; border:1px solid var(--line); box-shadow:0 8px 24px rgba(17,24,39,.045); min-height:155px; }
.winner-button { width:100%; text-align:left; color:inherit; font:inherit; cursor:pointer; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.winner-button:hover { transform:translateY(-2px); border-color:#94d9ac; box-shadow:0 12px 30px rgba(17,24,39,.08); }
.winner-button:focus-visible { outline:3px solid rgba(22,163,74,.2); outline-offset:2px; }
.winner-jump { display:block; margin-top:10px; font-size:11px; font-weight:800; color:#078a35; }
.winner.health-card { background:#fbfcfd; }
.winner .winner-type { font-size:11px; font-weight:900; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.winner strong { display:block; margin:8px 0 7px; line-height:1.25; }
.winner .price { font-size:20px; font-weight:900; display:block; margin-top:8px; line-height:1.15; }
.winner small { color:var(--muted); display:block; line-height:1.4; }
.price-insight { display:flex; gap:12px; align-items:flex-start; margin-top:12px; padding:16px 18px; background:#fffaeb; border:1px solid #fedf89; border-radius:18px; color:#7a2e0e; }
.price-insight p { margin:4px 0 0; line-height:1.5; color:#93370d; }
.insight-icon { width:34px; height:34px; border-radius:11px; background:#fef0c7; display:grid; place-items:center; flex:0 0 auto; }
.section-head { align-items:flex-end; }
.section-head select { border:1px solid var(--line); background:#fff; border-radius:12px; padding:10px 11px; }
.section-sub { margin:5px 0 0; color:var(--muted); font-size:13px; }
.product-list { display:grid; gap:10px; }
.product { scroll-margin-top:24px; }
.product-focus { animation:productFocus 1.8s ease; }
@keyframes productFocus { 0%,100% { box-shadow:0 8px 24px rgba(17,24,39,.045); border-color:var(--line); } 18%,65% { box-shadow:0 0 0 4px rgba(22,163,74,.14),0 14px 34px rgba(17,24,39,.09); border-color:#22c55e; } }
.product { background:#fff; border:1px solid var(--line); border-radius:20px; padding:16px; box-shadow:0 8px 24px rgba(17,24,39,.035); }
.product.blocked { opacity:.62; }
.product-top { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.product-name { font-weight:850; line-height:1.28; font-size:16px; }
.product-size { font-size:13px; color:var(--muted); margin-top:3px; }
.product-price { text-align:right; white-space:nowrap; }
.product-price strong { font-size:25px; display:block; }
.product-price small { color:var(--muted); display:block; margin-top:3px; }
.price-facts { display:grid; grid-template-columns:1fr 1.5fr; gap:8px; margin-top:14px; }
.price-facts > div { background:#f8fafc; border-radius:13px; padding:10px 11px; min-width:0; }
.price-facts span { display:block; font-size:10px; color:var(--muted); text-transform:uppercase; font-weight:850; letter-spacing:.04em; }
.price-facts b { display:block; font-size:15px; margin-top:4px; overflow-wrap:anywhere; }
.price-badges, .reasons { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.price-badge, .reason { border-radius:999px; padding:6px 9px; font-size:12px; background:#f2f4f7; color:#344054; }
.price-badge.win { background:#ecfdf3; color:#067647; }
.price-badge.gap { background:#fff4ed; color:#b93815; }
.price-badge.health { background:#eef4ff; color:#3538cd; }
.price-badge.warn, .reason.warn { background:#fffaeb; color:#b54708; }
.reason.bad { background:#fef3f2; color:#b42318; }
.product-footer { display:flex; justify-content:space-between; gap:12px; margin-top:13px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.product-footer > div { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.source-link { color:#087443; font-weight:750; text-decoration:none; }
.source-link:hover { text-decoration:underline; }
.rank-text { color:#667085; }
.coming-next { margin-top:24px; background:#101828; color:white; box-shadow:none; border-color:#101828; }
.coming-next .eyebrow { color:#75e0a7; }
.coming-next strong { display:block; margin-top:7px; font-size:18px; }
.coming-next p { margin:7px 0 0; color:#d0d5dd; line-height:1.5; font-size:13px; }
.disclaimer { color:#667085; font-size:12px; box-shadow:none; }
.disclaimer p { margin:5px 0 0; line-height:1.5; }
dialog { border:0; padding:0; width:min(680px, calc(100% - 24px)); border-radius:24px; box-shadow:0 30px 100px rgba(0,0,0,.25); }
dialog::backdrop { background:rgba(17,24,39,.55); backdrop-filter:blur(3px); }
.dialog-card { padding:20px; max-height:85vh; overflow:auto; }
.dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; }
.dialog-copy { margin:6px 0 0; color:var(--muted); line-height:1.45; font-size:13px; }
.field { display:grid; gap:7px; margin-bottom:18px; }
.field span, legend { font-size:13px; font-weight:850; }
.field select { width:100%; border:1px solid var(--line); background:#f9fafb; border-radius:16px; padding:14px 16px; outline:none; }
.field-note { color:var(--muted); line-height:1.4; }
fieldset { border:0; padding:0; margin:0 0 18px; }
legend { margin-bottom:9px; }
.chips { display:flex; flex-wrap:wrap; gap:7px; }
.chip input { position:absolute; opacity:0; pointer-events:none; }
button:disabled { opacity:.65; cursor:wait; }
@media (max-width: 700px) {
  .winner-grid { grid-template-columns:1fr; }
  .winner { display:grid; grid-template-columns:1fr auto; gap:4px 12px; align-items:center; min-height:0; }
  .winner .winner-type, .winner small { grid-column:1; }
  .winner .price { grid-column:2; grid-row:1 / span 3; text-align:right; max-width:180px; }
  .search-row { grid-template-columns:1fr; }
  .section-head { align-items:stretch; flex-direction:column; }
  .section-head select { width:100%; }
  .price-facts { grid-template-columns:1fr; }
  .product-footer { align-items:flex-start; flex-direction:column; }
}

/* v0.8 — What can I cook? */
.cook-hero { padding:22px; margin-bottom:16px; background:linear-gradient(180deg,#ffffff 0%,#fbfffc 100%); border-color:#ccebd7; }
.cook-kicker { display:inline-flex; border:1px solid #abefc6; background:#ecfdf3; color:#067647; border-radius:999px; padding:6px 9px; font-size:11px; font-weight:900; letter-spacing:.06em; }
.cook-hero h2 { margin:12px 0 5px; font-size:clamp(25px,5vw,36px); letter-spacing:-.035em; }
.cook-intro { margin:0 0 18px; color:#475467; line-height:1.5; max-width:620px; }
.cook-prompt-label { display:block; font-size:12px; font-weight:850; color:#344054; margin:12px 0 7px; }
.cook-prompt-label small { color:var(--muted); font-weight:600; }
.cook-prompt,.cook-pantry { width:100%; box-sizing:border-box; border:1px solid var(--line); background:#fff; border-radius:16px; padding:14px 15px; font:inherit; color:var(--ink); outline:none; resize:vertical; }
.cook-prompt:focus,.cook-pantry:focus,.cook-controls select:focus,.cook-controls input:focus { border-color:#52bd74; box-shadow:0 0 0 3px rgba(22,163,74,.10); }
.cook-controls { display:grid; grid-template-columns:.7fr .9fr 1fr 1.35fr; gap:9px; margin-top:12px; }
.cook-controls label { display:grid; gap:6px; }
.cook-controls label>span { color:#667085; font-size:11px; font-weight:850; }
.cook-controls input,.cook-controls select { min-width:0; width:100%; box-sizing:border-box; border:1px solid var(--line); background:#fff; border-radius:13px; padding:11px 10px; font:inherit; outline:none; }
.money-input { display:grid; grid-template-columns:auto 1fr; align-items:center; border:1px solid var(--line); border-radius:13px; background:#fff; overflow:hidden; }
.money-input b { padding-left:11px; color:#667085; }
.money-input input { border:0; border-radius:0; padding-left:5px; }
.cook-primary { width:100%; margin-top:13px; min-height:54px; font-size:15px; }
.cook-quick { margin-top:10px; }
.cook-safety-note { color:#667085; font-size:11px; line-height:1.45; margin-top:12px; }
.utility-divider { display:flex; align-items:center; gap:12px; color:#98a2b3; font-size:10px; font-weight:900; letter-spacing:.08em; margin:21px 3px 14px; }
.utility-divider:before,.utility-divider:after { content:""; height:1px; background:#d0d5dd; flex:1; }
.meal-heading { align-items:flex-end; }
.meal-ideas { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
.meal-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:17px; box-shadow:0 8px 24px rgba(17,24,39,.035); display:flex; flex-direction:column; }
.meal-card-top { display:grid; grid-template-columns:auto 1fr; gap:10px; }
.meal-number { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:#ecfdf3; color:#067647; font-weight:900; }
.meal-card h3 { margin:1px 0 4px; font-size:18px; line-height:1.2; }
.meal-card p { margin:0; color:#667085; font-size:12px; line-height:1.45; }
.meal-facts { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.meal-facts span,.meal-structure { border-radius:999px; background:#f2f4f7; color:#344054; padding:6px 8px; font-size:11px; }
.meal-structure { display:inline-flex; align-self:flex-start; margin-top:7px; background:#eff8ff; color:#175cd3; }
.meal-build-btn { width:100%; min-height:44px; margin-top:auto; padding:10px 12px; }
.meal-live-note { display:block; margin-top:8px; text-align:center; color:#98a2b3; font-size:10px; line-height:1.35; }
.meal-totals { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:12px; }
.meal-total { background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px; min-width:0; }
.meal-total span,.meal-total small { display:block; color:#667085; font-size:10px; line-height:1.35; }
.meal-total span { text-transform:uppercase; font-weight:900; letter-spacing:.04em; }
.meal-total strong { display:block; font-size:23px; margin:6px 0 4px; letter-spacing:-.03em; }
.meal-total.hero-total { border-color:#75e0a7; background:#f6fef9; }
.loading-total { grid-column:1/-1; color:#475467; }
.meal-budget-banner { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 14px; border:1px solid #abefc6; background:#ecfdf3; color:#067647; border-radius:15px; margin-bottom:12px; }
.meal-budget-banner span { font-size:11px; }
.meal-budget-banner.over { border-color:#fedf89; background:#fffaeb; color:#b54708; }
.meal-diet-notice { padding:12px 14px; border:1px solid #b2ddff; background:#eff8ff; color:#175cd3; border-radius:15px; margin-bottom:12px; font-size:12px; line-height:1.45; }
.basket-items-head { margin-top:18px; }
.completeness-pill { border:1px solid #fedf89; background:#fffaeb; color:#b54708; border-radius:999px; padding:8px 10px; font-size:11px; font-weight:900; white-space:nowrap; }
.completeness-pill.complete { border-color:#abefc6; background:#ecfdf3; color:#067647; }
.meal-basket-items { display:grid; gap:9px; }
.basket-item { background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px; box-shadow:0 7px 20px rgba(17,24,39,.025); }
.basket-item-main { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.basket-item-main>div:first-child { min-width:0; }
.basket-item-main strong { display:block; font-size:15px; }
.basket-item-main small { display:block; color:#667085; margin-top:3px; }
.basket-step { display:inline-grid; place-items:center; width:23px; height:23px; border-radius:8px; margin-right:7px; background:#f2f4f7; color:#475467; font-size:10px; font-weight:900; vertical-align:middle; }
.basket-line-price { text-align:right; white-space:nowrap; }
.basket-line-price strong { font-size:20px; }
.pantry-item { background:#f6fef9; border-color:#abefc6; }
.pantry-badge { border-radius:999px; padding:6px 8px; background:#dcfae6; color:#067647; font-size:11px; font-weight:850; }
.missing-item { border-color:#fedf89; background:#fffcf5; }
.missing-item p { color:#7a2e0e; font-size:12px; margin:10px 0 0; }
.rescue-badge { border-radius:999px; padding:6px 8px; background:#fef0c7; color:#b54708; font-size:11px; font-weight:850; }
.matched-product { display:flex; justify-content:space-between; gap:12px; padding:10px 11px; border-radius:13px; background:#f8fafc; margin-top:11px; }
.matched-product b,.matched-product span { display:block; }
.matched-product b { font-size:13px; }
.matched-product span { color:#667085; margin-top:3px; font-size:11px; }
.matched-product a { flex:0 0 auto; color:#087443; font-size:11px; font-weight:800; text-decoration:none; }
.basket-economics { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.basket-economics span { border-radius:999px; background:#f2f4f7; color:#475467; padding:6px 8px; font-size:10px; }
.basket-economics b { color:#344054; }
.meal-evidence { display:inline-flex; margin-top:9px; border-radius:999px; padding:5px 8px; font-size:10px; border:1px solid transparent; }
.meal-evidence.verified { background:#ecfdf3; color:#067647; border-color:#abefc6; }
.meal-evidence.compatible { background:#eff8ff; color:#175cd3; border-color:#b2ddff; }
.meal-evidence.unknown { background:#f2f4f7; color:#475467; border-color:#e4e7ec; }
.meal-evidence.conflict { background:#fef3f2; color:#b42318; border-color:#fecdca; }
.basket-alternatives { margin-top:10px; border-top:1px dashed #e4e7ec; padding-top:9px; }
.basket-alternatives summary { cursor:pointer; color:#087443; font-size:11px; font-weight:850; }
.basket-alternatives>div { display:grid; gap:6px; margin-top:8px; }
.alternative-btn { display:flex; width:100%; justify-content:space-between; gap:12px; text-align:left; border:1px solid var(--line); background:#fff; border-radius:11px; padding:9px 10px; color:#344054; }
.alternative-btn span { overflow:hidden; text-overflow:ellipsis; }
.empty-meal { grid-column:1/-1; padding:16px; color:#667085; }

@media (max-width: 760px) {
  .cook-controls { grid-template-columns:1fr 1fr; }
  .meal-ideas { grid-template-columns:1fr; }
  .meal-totals { grid-template-columns:1fr 1fr; }
  .meal-budget-banner { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 430px) {
  .cook-controls { grid-template-columns:1fr 1fr; }
  .meal-total strong { font-size:20px; }
  .meal-heading { align-items:flex-start; flex-direction:column; }
  .basket-item-main { gap:8px; }
  .matched-product { flex-direction:column; }
}

/* v0.9 — household loop, basket rescue & reminders */
.secondary-action { border:1px solid var(--line); background:#fff; color:#344054; border-radius:14px; padding:11px 13px; font-weight:800; }
.secondary-action:hover { border-color:#98a2b3; background:#f9fafb; }
.micro-action { border:1px solid var(--line); background:#fff; color:#344054; border-radius:999px; padding:7px 10px; font-size:11px; font-weight:850; }
.basket-item-actions { display:flex; gap:8px; margin-top:10px; }
.pack-insight { margin-top:9px; padding:9px 10px; border-radius:12px; background:#f8fafc; color:#475467; font-size:11px; line-height:1.45; }
.pack-insight b { color:#344054; }
.rescued-item { border-color:#b2ddff; }
.rescue-success { margin-top:9px; padding:8px 10px; border-radius:12px; background:#eff8ff; color:#175cd3; font-size:11px; font-weight:700; }
.rescue-panel { margin-top:10px; padding:10px 12px; background:#fff7ed; border:1px solid #fed7aa; border-radius:13px; color:#7a2e0e; }
.rescue-panel strong { font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.rescue-panel ul { margin:7px 0 0 18px; padding:0; font-size:11px; line-height:1.5; }
.reuse-match { background:#ecfdf3 !important; color:#067647 !important; }
.track-leftovers { margin-top:16px; padding:16px; display:flex; justify-content:space-between; gap:16px; align-items:center; box-shadow:none; background:#fbfffc; border-color:#ccebd7; }
.track-leftovers strong { display:block; margin-top:5px; font-size:16px; }
.track-leftovers p { margin:5px 0 0; color:#667085; font-size:12px; line-height:1.45; max-width:560px; }
.track-leftovers .primary { flex:0 0 auto; min-height:44px; }
.track-status { margin-top:9px; padding:11px 12px; border-radius:13px; background:#ecfdf3; border:1px solid #abefc6; color:#067647; font-size:12px; }
.kitchen-memory { margin-bottom:16px; padding:18px; border-color:#b2ddff; background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); }
.kitchen-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.kitchen-head h2 { margin-top:5px; font-size:24px; }
.kitchen-summary { min-width:190px; background:#eff8ff; color:#175cd3; border-radius:15px; padding:10px 12px; text-align:right; }
.kitchen-summary strong,.kitchen-summary span { display:block; }
.kitchen-summary strong { font-size:14px; }
.kitchen-summary span { margin-top:3px; font-size:10px; line-height:1.35; }
.kitchen-items { display:grid; gap:8px; margin-top:14px; }
.memory-item { border:1px solid var(--line); background:#fff; border-radius:15px; padding:12px; }
.memory-item.frozen { background:#f5faff; border-color:#b2ddff; }
.memory-main { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.memory-main strong,.memory-main small { display:block; }
.memory-main strong { font-size:14px; }
.memory-main small { color:#667085; margin-top:3px; font-size:10px; }
.memory-state { flex:0 0 auto; border-radius:999px; background:#dbeafe; color:#1d4ed8; padding:5px 8px; font-size:10px; font-weight:900; }
.memory-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.memory-actions button { border:1px solid var(--line); background:#fff; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:800; color:#475467; }
.memory-actions button:hover { border-color:#98a2b3; }
.kitchen-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.kitchen-actions .primary { min-height:44px; }
.kitchen-note { margin-top:10px; color:#667085; font-size:10px; line-height:1.45; }

@media (max-width: 700px) {
  .kitchen-head,.track-leftovers { flex-direction:column; }
  .kitchen-summary { width:100%; text-align:left; }
  .track-leftovers .primary { width:100%; }
  .kitchen-actions > * { flex:1 1 100%; }
}

/* v0.10 — calmer single-page navigation, saved recipes, visible meal modes */
.menu-icon { display:grid; gap:4px; place-content:center; }
.menu-icon span { display:block; width:20px; height:2px; border-radius:999px; background:#111827; }

.collapsible-panel { overflow:hidden; }
.collapsible-panel > summary { list-style:none; cursor:pointer; }
.collapsible-panel > summary::-webkit-details-marker { display:none; }
.collapse-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px; }
.collapse-summary::after { content:"+"; flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:999px; font-weight:900; color:#344054; background:#fff; }
.collapsible-panel[open] > .collapse-summary::after { content:"−"; }
.collapse-summary h2 { margin:5px 0 2px; font-size:22px; line-height:1.18; }
.collapse-summary p { margin:0; color:#667085; font-size:12px; line-height:1.4; }
.collapse-body { padding:0 18px 18px; }
.cook-hero.collapsible-panel { padding:0; }
.cook-summary { background:linear-gradient(180deg,#ffffff 0%,#fbfffc 100%); }
.kitchen-memory.collapsible-panel { padding:0; }
.kitchen-memory .kitchen-summary { min-width:160px; }

.compact-controls { grid-template-columns:.75fr .9fr 1.4fr; }
.mode-switch { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:6px 0 12px; }
.mode-switch button { border:1px solid var(--line); background:#fff; border-radius:14px; padding:11px 10px; text-align:left; color:#344054; min-width:0; }
.mode-switch button strong,.mode-switch button small { display:block; }
.mode-switch button strong { font-size:13px; }
.mode-switch button small { margin-top:3px; color:#667085; font-size:9px; line-height:1.3; }
.mode-switch button.selected { border-color:#52bd74; background:#ecfdf3; box-shadow:0 0 0 2px rgba(22,163,74,.08); color:#067647; }
.mode-switch button.selected small { color:#067647; }

.meal-recipe { margin:12px 0; border:1px solid #dfe3e8; border-radius:14px; background:#fafafa; overflow:hidden; }
.meal-recipe > summary { list-style:none; cursor:pointer; padding:11px 12px; color:#067647; font-size:12px; font-weight:900; }
.meal-recipe > summary::-webkit-details-marker { display:none; }
.meal-recipe > summary::after { content:" +"; }
.meal-recipe[open] > summary::after { content:" −"; }
.recipe-grid { display:grid; gap:12px; padding:0 12px 13px; border-top:1px solid #eaecf0; }
.recipe-grid > div { padding-top:11px; }
.recipe-grid strong { font-size:12px; }
.recipe-grid ul,.recipe-grid ol { margin:7px 0 0; padding-left:20px; color:#475467; font-size:11px; line-height:1.55; }
.recipe-missing { padding:0 12px 12px; color:#667085; font-size:11px; }
.saved-recipe-notice { display:inline-flex; margin-top:6px; padding:5px 8px; border-radius:999px; background:#ecfdf3; color:#067647; font-size:10px; font-weight:900; }

.app-menu-dialog { padding:0; border:0; width:min(430px,calc(100% - 20px)); max-height:88vh; border-radius:24px; overflow:hidden; box-shadow:0 30px 90px rgba(17,24,39,.28); }
.app-menu-dialog::backdrop { background:rgba(17,24,39,.48); backdrop-filter:blur(3px); }
.menu-sheet { padding:20px; max-height:88vh; overflow:auto; background:#f8fafc; }
.menu-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.menu-head h2 { margin:4px 0 0; font-size:26px; }
.menu-nav { display:grid; gap:8px; margin-top:18px; }
.menu-nav button { width:100%; border:1px solid #e4e7ec; border-radius:15px; background:#fff; padding:12px 13px; text-align:left; color:#101828; }
.menu-nav button span,.menu-nav button small { display:block; }
.menu-nav button span { font-weight:850; font-size:13px; }
.menu-nav button small { margin-top:3px; color:#667085; font-size:10px; }
.menu-saved-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:22px 0 9px; }
.menu-saved-head h3 { margin:3px 0 0; font-size:17px; }
.count-pill { display:inline-grid; place-items:center; min-width:28px; height:28px; padding:0 8px; border-radius:999px; background:#eafaf0; color:#067647; font-size:11px; font-weight:900; }
.menu-saved-recipes { display:grid; gap:8px; }
.menu-empty { margin:0; padding:13px; border:1px dashed #d0d5dd; border-radius:14px; background:#fff; color:#667085; font-size:11px; line-height:1.45; }
.saved-recipe-card { border:1px solid #e4e7ec; border-radius:14px; padding:12px; background:#fff; }
.saved-recipe-card strong,.saved-recipe-card small { display:block; }
.saved-recipe-card strong { font-size:13px; }
.saved-recipe-card small { margin-top:3px; color:#667085; font-size:10px; }
.saved-recipe-actions { display:flex; gap:6px; margin-top:10px; }
.saved-recipe-actions button { border:1px solid #d0d5dd; border-radius:999px; background:#fff; padding:7px 10px; font-size:10px; font-weight:850; color:#344054; }
.saved-recipe-actions button:first-child { border-color:#abefc6; background:#ecfdf3; color:#067647; }

@media (max-width:700px) {
  .collapse-summary { padding:16px; align-items:flex-start; }
  .collapse-body { padding:0 16px 16px; }
  .collapse-summary h2 { font-size:20px; }
  .collapse-summary .kitchen-summary { width:auto; min-width:0; max-width:150px; text-align:right; }
  .compact-controls { grid-template-columns:1fr 1fr; }
  .compact-controls label:last-child { grid-column:1 / -1; }
  .mode-switch { grid-template-columns:1fr; }
  .mode-switch button { text-align:center; }
}

/* v0.10.1 — recipe integrity, pantry-state recipe groups, SKU sale-type costing */
.recipe-shopping-groups { display:grid; gap:10px; margin-top:8px; }
.recipe-shopping-group { border:1px solid #eaecf0; border-radius:12px; padding:9px 10px; background:#fff; }
.recipe-shopping-group > strong { display:block; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#667085; }
.recipe-shopping-group ul { margin:6px 0 0; }
.recipe-shopping-group li { margin:5px 0; }
.recipe-shopping-group li span { display:block; color:#344054; }
.recipe-shopping-group li small { display:inline-block; margin-top:2px; color:#98a2b3; font-size:9px; }
.recipe-shopping-group li em { display:block; margin-top:2px; color:#667085; font-size:9px; font-style:normal; }
.recipe-group-already-have { border-color:#abefc6; background:#f6fef9; }
.recipe-group-already-have > strong { color:#067647; }
.recipe-group-pantry-check { border-color:#fedf89; background:#fffaeb; }
.recipe-group-pantry-check > strong { color:#b54708; }
.recipe-group-optional { background:#f8fafc; }
.pantry-check-badge { display:inline-flex; width:max-content; margin-top:5px; padding:4px 7px; border-radius:999px; background:#fffaeb; color:#b54708; font-size:9px; font-weight:850; }

/* v0.11 favorites */
.favorite-btn { border:1px solid #d0d5dd; background:#fff; color:#344054; border-radius:999px; padding:7px 10px; font-size:11px; font-weight:850; display:inline-flex; align-items:center; gap:5px; }
.favorite-btn.saved { border-color:#fda29b; background:#fff1f0; color:#b42318; }
.favorite-btn:hover { transform:translateY(-1px); }
.product-favorite-row { display:flex; justify-content:flex-end; margin-top:10px; }
.favorite-card { border:1px solid #e4e7ec; border-radius:14px; padding:12px; background:#fff; }
.favorite-card-main { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.favorite-card strong,.favorite-card small { display:block; }
.favorite-card strong { font-size:13px; }
.favorite-card small { margin-top:3px; color:#667085; font-size:10px; }
.favorite-card-price { font-weight:900; white-space:nowrap; color:#101828; }
.favorite-card-meta { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.favorite-card-meta span { font-size:9px; font-weight:800; padding:5px 7px; border-radius:999px; background:#f2f4f7; color:#475467; }
.favorite-card-meta .watch-coming { background:#eff8ff; color:#175cd3; }
.favorite-actions { display:flex; gap:6px; margin-top:10px; flex-wrap:wrap; }
.favorite-actions button,.favorite-actions a { border:1px solid #d0d5dd; border-radius:999px; background:#fff; padding:7px 10px; font-size:10px; font-weight:850; color:#344054; text-decoration:none; }
.favorite-actions button:first-child { border-color:#abefc6; background:#ecfdf3; color:#067647; }

/* v0.11.1 — dedicated Household Food, Saved Recipes and Favorites views */
.app-view.hidden { display:none !important; }
.library-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:12px 0 18px; }
.library-summary { border:1px solid var(--line); background:#fff; border-radius:16px; padding:13px; text-align:left; box-shadow:0 6px 18px rgba(17,24,39,.04); color:#101828; min-width:0; }
.library-summary span,.library-summary strong,.library-summary small { display:block; }
.library-summary-label { color:#0f9f4f; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.library-summary strong { margin-top:5px; font-size:14px; }
.library-summary small { margin-top:3px; color:#667085; font-size:9px; line-height:1.35; }
.library-summary:hover { border-color:#abefc6; background:#fbfffc; }

.standalone-view { padding-top:4px; }
.standalone-head { display:grid; gap:14px; margin-bottom:16px; }
.standalone-head h2 { margin-top:5px; font-size:clamp(27px,5vw,38px); }
.standalone-head p { margin:6px 0 0; color:#667085; max-width:640px; line-height:1.5; }
.back-btn { width:max-content; border:1px solid #d0d5dd; background:#fff; border-radius:999px; padding:8px 12px; color:#344054; font-weight:850; font-size:11px; }
.page-card { padding:18px; }
.page-summary { width:100%; text-align:left; margin-bottom:14px; }
.page-summary-card { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; border:1px solid #d1fadf; background:#f6fef9; border-radius:16px; padding:13px 14px; margin-bottom:14px; }
.page-summary-card strong,.page-summary-card span { display:block; }
.page-summary-card strong { font-size:13px; color:#067647; }
.page-summary-card span { margin-top:3px; font-size:10px; color:#667085; }
.page-list { display:grid; gap:12px; }
.page-library-card { box-shadow:0 8px 22px rgba(17,24,39,.04); }
.page-empty { border:1px dashed #d0d5dd; border-radius:16px; padding:16px; background:#fff; color:#667085; font-size:11px; line-height:1.5; }

.saved-recipe-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.recipe-source { flex:0 0 auto; display:inline-flex; align-items:center; border-radius:999px; background:#eff8ff; color:#175cd3; padding:5px 7px; font-size:9px; font-weight:850; }
.saved-recipe-detail { margin-top:11px; border:1px solid #e4e7ec; border-radius:13px; overflow:hidden; background:#fafafa; }
.saved-recipe-detail > summary { list-style:none; cursor:pointer; padding:10px 12px; color:#067647; font-size:11px; font-weight:900; }
.saved-recipe-detail > summary::-webkit-details-marker { display:none; }
.saved-recipe-detail > summary::after { content:" +"; }
.saved-recipe-detail[open] > summary::after { content:" −"; }
.saved-recipe-detail-body { border-top:1px solid #eaecf0; }
.saved-recipe-detail .recipe-grid { border-top:0; }
.recipe-source-note { margin:0 12px 12px; padding:9px 10px; border-radius:11px; background:#eff8ff; color:#475467; font-size:9px; line-height:1.4; }
.recipe-source-note strong { color:#175cd3; }

.menu-sheet .menu-nav { margin-bottom:2px; }
.menu-sheet .menu-nav button { position:relative; padding-right:34px; }
.menu-sheet .menu-nav button::after { content:"›"; position:absolute; right:14px; top:50%; transform:translateY(-50%); color:#98a2b3; font-size:20px; font-weight:700; }

@media (max-width:700px) {
  .library-strip { grid-template-columns:1fr; }
  .library-summary { display:grid; grid-template-columns:1fr auto; column-gap:12px; align-items:center; }
  .library-summary-label,.library-summary small { grid-column:1; }
  .library-summary strong { grid-column:2; grid-row:1 / span 2; margin:0; text-align:right; }
  .saved-recipe-title-row { flex-direction:column; gap:7px; }
  .recipe-source { width:max-content; }
  .page-summary-card { flex-direction:column; }
}

/* v0.11.2 — private retail concept skin (yellow / black / white; no official brand assets) */
:root {
  --bg:#f3f2ea;
  --card:#ffffff;
  --text:#111111;
  --muted:#65635d;
  --line:#d9d6c9;
  --brand:#111111;
  --accent:#111111;
  --accent-soft:#fff4a6;
  --retail-yellow:#ffd400;
  --retail-yellow-soft:#fff7bd;
  --retail-black:#111111;
  --retail-charcoal:#242320;
  --radius:16px;
  --shadow:0 8px 22px rgba(17,17,17,.09);
}

html { background:var(--bg); }
body {
  background:linear-gradient(180deg,var(--retail-yellow) 0 245px,var(--bg) 245px);
  color:var(--retail-black);
}
.shell { padding-top:18px; }
.topbar {
  position:relative;
  align-items:flex-start;
  padding:14px 6px 24px;
}
h1 {
  color:var(--retail-black);
  font-weight:950;
  letter-spacing:-.065em;
  line-height:.94;
}
.sub { color:#2b2a26; font-weight:850; }
.concept-eyebrow,
.eyebrow,
.cook-kicker,
.library-summary-label {
  color:var(--retail-black);
  font-weight:950;
}
.concept-eyebrow {
  display:inline-flex;
  width:max-content;
  background:var(--retail-black);
  color:var(--retail-yellow);
  border-radius:999px;
  padding:6px 9px;
  letter-spacing:.08em;
}
.concept-notice {
  margin-top:9px;
  max-width:570px;
  color:#3e3d38;
  font-size:10px;
  line-height:1.4;
  font-weight:700;
}

.card,
.product,
.winner,
.library-summary,
.memory-item,
.saved-recipe-card,
.favorite-card,
.page-library-card {
  border-color:#d8d4c4;
  box-shadow:var(--shadow);
}
.store-card {
  border:2px solid var(--retail-black);
  box-shadow:6px 6px 0 rgba(17,17,17,.10);
}
.store-card .label { color:#545149; }
.store-card strong { font-size:18px; }

.icon-btn,
.menu-icon {
  background:var(--retail-black);
  border-color:var(--retail-black);
  color:var(--retail-yellow);
}
.menu-icon span { background:var(--retail-yellow); height:3px; }

.primary {
  background:var(--retail-black);
  color:var(--retail-yellow);
  border:2px solid var(--retail-black);
  font-weight:950;
  box-shadow:0 4px 0 rgba(0,0,0,.14);
}
.primary:hover { transform:translateY(-1px); }
.primary:active { transform:translateY(1px); box-shadow:0 2px 0 rgba(0,0,0,.14); }
.link-btn,
.source-link,
.winner-jump,
.meal-recipe > summary,
.saved-recipe-detail > summary { color:#191815; }
.link-btn { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }

.quick-pills button,
.chip,
.micro-action,
.secondary-action,
.favorite-btn,
.back-btn {
  border-color:#c9c5b7;
  background:#fff;
  color:#24221e;
}
.quick-pills button:hover,
.chip.active {
  background:var(--retail-yellow);
  color:#111;
  border-color:#111;
}

.library-strip { gap:8px; }
.library-summary {
  position:relative;
  overflow:hidden;
  border:1px solid #cbc6b5;
  border-top:5px solid var(--retail-yellow);
  background:#fff;
}
.library-summary:hover {
  border-color:#111;
  background:#fffdf0;
}
.library-summary strong { color:#111; }

.collapsible-panel,
.hero,
.preferences-summary {
  border:1px solid #d4d0c1;
}
.cook-summary {
  background:linear-gradient(180deg,#fff 0%,#fffbed 100%);
}
.collapse-summary::after {
  border-color:#111;
  color:#111;
  background:var(--retail-yellow);
}

.mode-switch button {
  border-color:#cfcaba;
  color:#25231f;
}
.mode-switch button.selected {
  background:var(--retail-yellow);
  border-color:#111;
  color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,.08);
}
.mode-switch button.selected small { color:#34312a; }

.source-badge {
  background:#e7e4d8;
  color:#3f3c35;
}
.source-badge.live {
  background:var(--retail-yellow);
  color:#111;
  border:1px solid #111;
}

.winner-pill {
  border-color:#d1ccbc;
  color:#111;
}
.winner-pill:hover:not(:disabled) {
  border-color:#111;
  background:var(--retail-yellow-soft);
}
.winner-button:hover { border-color:#111; box-shadow:0 8px 0 rgba(255,212,0,.35); }
.price-badge.win,
.reuse-match,
.saved-recipe-notice {
  background:var(--retail-yellow-soft) !important;
  color:#29261e !important;
}

.product-focus { animation:productFocusRetail 1.8s ease; }
@keyframes productFocusRetail {
  0%,100% { box-shadow:0 8px 24px rgba(17,17,17,.05); border-color:var(--line); }
  18%,65% { box-shadow:0 0 0 4px rgba(255,212,0,.35),0 14px 34px rgba(17,17,17,.10); border-color:#111; }
}
.product-price strong { color:#111; }
.price-facts > div,
.matched-product,
.pack-insight { background:#f7f5ec; }
.product-footer { border-top-color:#ded9c9; }

.price-insight,
.recipe-group-pantry-check,
.rescue-panel {
  background:#fff6b8;
  border-color:#e6c200;
  color:#443a00;
}
.insight-icon { background:var(--retail-yellow); }

.kitchen-memory,
.track-leftovers,
.page-summary-card {
  border-color:#d8be00;
  background:linear-gradient(180deg,#fffdf2 0%,#fff9cf 100%);
}
.kitchen-summary {
  background:var(--retail-yellow);
  color:#111;
}
.memory-state {
  background:#f0e9bf;
  color:#29261e;
}

.meal-recipe,
.saved-recipe-detail { background:#fffdf7; border-color:#d9d5c8; }
.recipe-source,
.recipe-source-note {
  background:#fff3a0;
  color:#2e2a1b;
}
.recipe-source-note strong { color:#111; }

.favorite-btn.saved {
  border-color:#111;
  background:var(--retail-yellow);
  color:#111;
}
.favorite-card-meta .watch-coming {
  background:#fff3a0;
  color:#302b12;
}
.favorite-actions button:first-child,
.saved-recipe-actions button:first-child {
  border-color:#111;
  background:var(--retail-yellow);
  color:#111;
}

.coming-next {
  background:var(--retail-black);
  border-color:var(--retail-black);
  color:#fff;
}
.coming-next .eyebrow { color:var(--retail-yellow); }
.coming-next p { color:#e9e7df; }

.app-menu-dialog { border:3px solid #111; }
.menu-sheet { background:#fffbee; }
.menu-head { padding-bottom:12px; border-bottom:5px solid var(--retail-yellow); }
.menu-head .icon-btn { width:38px; height:38px; }
.menu-nav button {
  border-color:#cbc6b7;
  color:#111;
  box-shadow:3px 3px 0 rgba(17,17,17,.06);
}
.menu-nav button:hover { border-color:#111; background:#fff7bd; }
.count-pill { background:var(--retail-yellow); color:#111; }

.standalone-head .eyebrow { color:#111; }
.page-summary-card strong { color:#111; }
.page-summary-card { background:#fff7bd; }

.disclaimer {
  border:1px dashed #8e897b;
  background:#faf8f0;
}
.disclaimer strong { color:#111; }

input[type="search"],
.field input,
.field select,
.cook-prompt,
.cook-pantry,
.cook-controls input,
.cook-controls select {
  border-color:#c9c4b4;
  background:#fff;
}
input:focus, select:focus, textarea:focus {
  border-color:#111 !important;
  box-shadow:0 0 0 3px rgba(255,212,0,.55) !important;
}

@media (max-width:700px) {
  body { background:linear-gradient(180deg,var(--retail-yellow) 0 260px,var(--bg) 260px); }
  .shell { padding-left:12px; padding-right:12px; }
  .topbar { padding-left:4px; padding-right:4px; }
  .concept-notice { max-width:310px; }
  .store-card { box-shadow:4px 4px 0 rgba(17,17,17,.10); }
}

/* v0.11.3 — mobile header containment hotfix */
.topbar > div:first-child {
  min-width:0;
  flex:1 1 auto;
  padding-right:58px;
}
.topbar .menu-icon {
  position:absolute;
  top:14px;
  right:6px;
  flex:0 0 42px;
  z-index:3;
}
.concept-eyebrow {
  max-width:100%;
  width:fit-content;
  box-sizing:border-box;
  white-space:normal;
  line-height:1.2;
}
@media (max-width:700px) {
  .topbar > div:first-child { padding-right:54px; }
  .topbar .menu-icon { right:4px; }
  .concept-eyebrow { font-size:9px; letter-spacing:.065em; }
}


/* v0.11.4 — standalone library hero containment */
.standalone-head {
  position:relative;
  background:var(--retail-yellow);
  padding:10px 0 28px;
  margin-bottom:22px;
  box-shadow:0 0 0 100vmax var(--retail-yellow);
  clip-path:inset(0 -100vmax);
}
.standalone-head h2 {
  line-height:1.02;
}
.standalone-head p {
  color:#5b584f;
  max-width:680px;
}
@media (max-width:700px) {
  .standalone-head {
    padding-top:8px;
    padding-bottom:24px;
    margin-bottom:20px;
  }
}

/* v0.12 — Recipe Intelligence foundation */
.recipe-cuisine { background:#fff7cc !important; color:#3d3200 !important; border:1px solid #ead77a; font-weight:850; }
.recipe-refinements { margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.recipe-refinements>strong { display:block; font-size:12px; margin-bottom:8px; }
.recipe-refinements>div { display:flex; flex-wrap:wrap; gap:8px; }
.recipe-refinements button { border:1px solid #111; background:#fff; color:#111; border-radius:999px; padding:9px 12px; font:inherit; font-size:12px; font-weight:800; min-height:40px; }
.recipe-refinements button:hover { background:#111; color:#fff; }


/* v0.14 — searchable Recipe Library */
.library-strip { grid-template-columns:repeat(5,1fr); }
.recipe-library-tools { padding:16px; margin-bottom:14px; }
.library-specials-feature{margin:0 0 14px;padding:16px;border:1px solid #e2c300;border-top:5px solid var(--retail-yellow);background:linear-gradient(135deg,#fff7bf 0%,#fff 70%);box-shadow:var(--shadow)}
.library-specials-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.library-specials-head h3{margin:3px 0 5px;font-size:24px;letter-spacing:-.035em}
.library-specials-head p{margin:0;color:#5f5b50;font-size:10px;line-height:1.5;max-width:690px}
.library-specials-head .primary{flex:0 0 auto}
.library-specials-settings{margin-top:14px;border:1px solid #e3d98e;border-radius:14px;background:#fffdf0;overflow:hidden}
.library-specials-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:12px 14px;font-weight:900}
.library-specials-settings>summary::-webkit-details-marker{display:none}
.library-specials-settings>summary span{font-size:11px}
.library-specials-settings>summary .library-specials-settings-icon{flex:0 0 auto;font-size:18px;font-weight:1000;line-height:1}
.library-specials-settings[open]>summary{border-bottom:1px solid #e7dfad}
.library-specials-settings[open]>summary .library-specials-settings-icon{font-size:0}
.library-specials-settings[open]>summary .library-specials-settings-icon::before{content:"−";font-size:18px}
.library-specials-controls{margin:0;padding:13px 14px 14px}
.library-specials-run{width:100%;margin-top:12px}
.library-specials-panel{margin-top:14px;padding-top:14px;border-top:1px solid #e4d982}
.library-specials-results{margin-top:10px}
.library-specials-card{border-top-color:#111}
.library-specials-card .recipe-library-facts .library-special-match-pill{border:0;background:#fff0a3;color:#5d4d00;cursor:pointer;font:inherit;font-size:9px;font-weight:800}
.library-specials-card .recipe-library-facts .library-special-match-pill:hover{filter:brightness(.98)}
.library-specials-card .recipe-library-facts .library-special-saving-pill{background:#e8f8ed;color:#176b36}
.library-special-match-details{border:1px solid #e2dcc8;border-radius:13px;background:#faf8ef;padding:10px}
.library-special-match-details>strong{display:block;margin-bottom:8px;font-size:10px}
.library-special-product-list{display:grid;gap:7px}
.library-special-product-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e8e2d3}
.library-special-product-row:first-child{border-top:0;padding-top:0}
.library-special-product-row>div:first-child{min-width:0}
.library-special-product-row span,.library-special-product-row strong,.library-special-product-row small{display:block}
.library-special-product-row span{color:#777166;font-size:8px}
.library-special-product-row strong{font-size:9px;line-height:1.35}
.library-special-product-row small{margin-top:2px;color:#8a857a;font-size:8px}
.library-special-product-price{text-align:right;flex:0 0 auto}
.library-special-product-price strong{font-size:11px}
.library-special-product-price small{white-space:nowrap;color:#2e7d32}
.library-specials-close{display:block;margin:12px auto 0}
.library-browse-divider{display:flex;align-items:center;gap:12px;margin:10px 0 14px;color:#807b6e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.library-browse-divider::before,.library-browse-divider::after{content:"";height:1px;background:#ddd7c4;flex:1}
@media(max-width:700px){
  .library-specials-head{align-items:stretch;flex-direction:column}
  .library-specials-head .primary{width:100%}
}

.recipe-library-search { display:grid; grid-template-columns:1fr auto; gap:9px; }
.recipe-library-search input { min-width:0; border:1px solid #c9c4b4; border-radius:13px; padding:12px 13px; font:inherit; }
.recipe-library-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:11px; }
.recipe-library-filters label,.recipe-dialog-controls label { display:grid; gap:5px; }
.recipe-library-filters label>span,.recipe-dialog-controls label>span { font-size:10px; font-weight:850; color:#5d5a52; text-transform:uppercase; letter-spacing:.05em; }
.recipe-library-filters select,.recipe-dialog-controls select,.recipe-dialog-controls input { width:100%; border:1px solid #c9c4b4; border-radius:12px; padding:10px 11px; background:#fff; font:inherit; }
.recipe-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.recipe-library-card { display:flex; flex-direction:column; gap:12px; padding:16px; background:#fff; border:1px solid #d8d4c4; border-top:5px solid var(--retail-yellow); border-radius:16px; box-shadow:var(--shadow); }
.recipe-library-card-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.recipe-library-card h3 { margin:5px 0 6px; font-size:20px; line-height:1.08; }
.recipe-library-card p { margin:0; color:#667085; font-size:11px; line-height:1.5; }
.recipe-library-cuisine { font-size:9px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }
.golden-badge { flex:0 0 auto; border:1px solid #111; border-radius:999px; background:var(--retail-yellow); padding:5px 7px; font-size:9px; font-weight:950; }
.recipe-library-facts { display:flex; flex-wrap:wrap; gap:6px; }
.recipe-library-facts span { border-radius:999px; background:#f2f0e7; padding:5px 7px; font-size:9px; font-weight:800; color:#514e47; }
.recipe-library-card-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:auto; }
.recipe-library-card-actions button { min-width:0; }
.recipe-library-dialog { width:min(760px,calc(100% - 20px)); max-height:90vh; padding:0; border:3px solid #111; border-radius:22px; overflow:hidden; box-shadow:0 30px 90px rgba(17,24,39,.28); }
.recipe-library-dialog::backdrop { background:rgba(17,24,39,.52); backdrop-filter:blur(3px); }
.recipe-library-dialog-card { max-height:90vh; overflow:auto; padding:20px; background:#fffdf3; }
.recipe-dialog-controls { display:grid; grid-template-columns:1fr 130px; gap:10px; margin:14px 0; }
.recipe-dialog-body { border:1px solid #ddd8c8; border-radius:15px; background:#fff; overflow:hidden; }
.recipe-dialog-body .recipe-grid { border-top:0; }
.recipe-dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:14px; }
.recipe-dialog-actions button { min-height:43px; }

@media (max-width:900px) {
  .library-strip { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
  .library-strip { grid-template-columns:1fr; }
  .recipe-library-grid { grid-template-columns:1fr; }
  .recipe-library-search { grid-template-columns:1fr; }
  .recipe-library-filters { grid-template-columns:1fr; }
  .recipe-library-card-actions { flex-direction:column; }
  .recipe-dialog-controls { grid-template-columns:1fr 100px; }
  .recipe-dialog-actions { flex-direction:column; }
  .recipe-dialog-actions button { width:100%; }
}


/* v0.17 — global multi-store Watchlist */
.watchlist-toolbar {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  padding:14px;
  margin-bottom:14px;
}
.watchlist-toolbar label {
  display:grid;
  gap:5px;
  min-width:min(280px,100%);
}
.watchlist-toolbar label > span {
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#667085;
}
.watchlist-toolbar select {
  width:100%;
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:10px 11px;
  background:#fff;
  font:inherit;
}
.watchlist-store-list {
  gap:16px;
}
.watchlist-store-section {
  border:1px solid #d8d4c4;
  border-radius:18px;
  background:#fffdf5;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.watchlist-store-head {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border-bottom:1px solid #e8e3d3;
  background:#fff8ce;
}
.watchlist-store-head h3 {
  margin:3px 0 4px;
  font-size:22px;
}
.watchlist-store-head p {
  margin:0;
  color:#667085;
  font-size:10px;
  line-height:1.4;
}
.watchlist-store-count {
  text-align:right;
  flex:0 0 auto;
}
.watchlist-store-count strong,
.watchlist-store-count span {
  display:block;
}
.watchlist-store-count strong {
  font-size:22px;
}
.watchlist-store-count span {
  margin-top:2px;
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.watchlist-products {
  display:grid;
  gap:9px;
  padding:12px;
}
.watchlist-product-card {
  border:1px solid #e4e7ec;
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.watchlist-product-main {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.watchlist-product-main strong,
.watchlist-product-main small {
  display:block;
}
.watchlist-product-main strong {
  font-size:13px;
}
.watchlist-product-main small {
  margin-top:3px;
  color:#667085;
  font-size:10px;
}
.watchlist-price {
  font-size:18px;
  font-weight:950;
  white-space:nowrap;
}
.watchlist-product-meta {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.watchlist-product-meta span {
  padding:5px 7px;
  border-radius:999px;
  background:#f2f4f7;
  color:#475467;
  font-size:9px;
  font-weight:850;
}
.watchlist-product-meta .best-price-chip {
  background:#ecfdf3;
  color:#067647;
}
.watchlist-cart-row {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #ece8dc;
}
.watchlist-qty {
  display:inline-grid;
  grid-template-columns:auto 34px 42px 34px;
  align-items:center;
  min-height:40px;
  border:1px solid #c9c5b7;
  border-radius:999px;
  background:#fff;
  overflow:hidden;
}
.watchlist-qty>span {
  padding:0 10px 0 12px;
  color:#625f56;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.watchlist-qty button {
  width:34px;
  height:38px;
  padding:0;
  border:0;
  border-left:1px solid #e1ddd0;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:16px;
  font-weight:950;
  cursor:pointer;
}
.watchlist-qty input {
  width:42px;
  height:38px;
  box-sizing:border-box;
  border:0;
  border-left:1px solid #e1ddd0;
  border-radius:0;
  background:#fff;
  color:#111;
  text-align:center;
  font:inherit;
  font-size:11px;
  font-weight:950;
  -moz-appearance:textfield;
}
.watchlist-qty input::-webkit-outer-spin-button,
.watchlist-qty input::-webkit-inner-spin-button {
  margin:0;
  -webkit-appearance:none;
}
.watchlist-qty button:hover,
.watchlist-qty button:focus-visible {
  background:#fff7bd;
}
.watchlist-qty input:focus {
  box-shadow:inset 0 0 0 2px #111!important;
}
.watchlist-add-cart {
  min-height:40px;
  padding:9px 15px;
  border:2px solid #111;
  border-radius:999px;
  background:var(--retail-yellow);
  color:#111;
  font:inherit;
  font-size:10px;
  font-weight:950;
  cursor:pointer;
}
.watchlist-add-cart:disabled {
  opacity:.72;
}
.watchlist-cart-feedback {
  flex:1 0 100%;
  min-height:0;
  color:#067647;
  font-size:9px;
  font-weight:800;
  line-height:1.35;
}
.watchlist-product-missing {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:center;
  background:#fafafa;
}
.watchlist-product-missing strong,
.watchlist-product-missing small {
  display:block;
}
.watchlist-product-missing small {
  margin-top:3px;
  color:#667085;
  font-size:10px;
}
.watchlist-status {
  color:#667085;
  font-size:10px;
  font-weight:750;
  text-align:right;
}
.watchlist-remove-link {
  grid-column:1 / -1;
  justify-self:start;
  border:0;
  background:transparent;
  padding:0;
  color:#667085;
  font-size:9px;
  font-weight:800;
  text-decoration:underline;
}
.watchlist-store-note,
.watchlist-store-error {
  margin:0 12px 12px;
  padding:9px 10px;
  border-radius:11px;
  font-size:10px;
  line-height:1.4;
}
.watchlist-store-note {
  background:#f2f4f7;
  color:#667085;
}
.watchlist-store-error {
  background:#fff1f0;
  color:#b42318;
}

@media (max-width:700px) {
  .watchlist-toolbar {
    align-items:stretch;
    flex-direction:column;
  }
  .watchlist-toolbar button {
    width:100%;
  }
  .watchlist-store-head {
    align-items:flex-start;
  }
  .watchlist-product-missing {
    grid-template-columns:1fr;
  }
  .watchlist-status {
    text-align:left;
  }
  .watchlist-cart-row {
    align-items:stretch;
  }
  .watchlist-qty {
    min-height:42px;
  }
  .watchlist-qty input,
  .watchlist-qty button {
    height:40px;
  }
  .watchlist-add-cart {
    flex:1 1 150px;
    min-height:42px;
  }
}


/* v0.19 — localisation + product media */
.product-identity { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.product-identity > div:last-child { min-width:0; }
.product-thumb-wrap { width:72px; height:72px; flex:0 0 72px; display:grid; place-items:center; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:14px; }
.product-thumb { width:100%; height:100%; object-fit:contain; padding:6px; background:#fff; }
.basket-product-image-wrap { width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:11px; }
.basket-product-image { width:100%; height:100%; object-fit:contain; padding:4px; background:#fff; }
.matched-product-copy { min-width:0; flex:1; }
@media (max-width:520px) {
  .product-thumb-wrap { width:62px; height:62px; flex-basis:62px; }
  .product-price strong { font-size:22px; }
  .matched-product { align-items:center; }
}

/* Weekly Shop + recipe engagement */
.recipe-rating-pill { background:#fff7cc !important; color:#5b4700 !important; }
.recipe-dialog-rating { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 14px; padding:10px 12px; border:1px solid #e4dfc8; border-radius:13px; background:#fffdf3; }
.recipe-dialog-rating>span { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.recipe-dialog-rating>div { display:flex; gap:2px; }
.recipe-dialog-rating button { border:0; background:transparent; color:#c2bda8; font-size:22px; line-height:1; padding:2px; }
.recipe-dialog-rating button.rated { color:#e6a900; }
.recipe-dialog-rating small { flex-basis:100%; color:#667085; font-size:9px; }
.weekly-plan-list,.weekly-basket-list { display:grid; gap:10px; }
.weekly-plan-card { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(130px,.7fr) 100px auto; gap:10px; align-items:end; padding:14px; background:#fff; border:1px solid #d8d4c4; border-radius:15px; }
.weekly-plan-card>div strong,.weekly-plan-card>div small { display:block; }
.weekly-plan-card>div small { margin-top:4px; color:#667085; }
.weekly-plan-card label { display:grid; gap:5px; }
.weekly-plan-card label span { font-size:9px; font-weight:900; text-transform:uppercase; color:#667085; }
.weekly-plan-card select,.weekly-plan-card input { width:100%; border:1px solid #c9c4b4; border-radius:11px; padding:9px; background:#fff; font:inherit; }
.weekly-plan-actions { display:flex; gap:9px; justify-content:flex-end; margin:12px 0 18px; padding:12px; }
.weekly-reuse-summary { margin:12px 0 16px; display:grid; gap:5px; }
.weekly-reuse-summary span,.weekly-reuse-summary small { color:#667085; line-height:1.45; }
.weekly-basket-item { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr); gap:14px; padding:14px; border:1px solid #d8d4c4; border-radius:15px; background:#fff; align-items:center; }
.weekly-basket-item>div strong,.weekly-basket-item>div small,.weekly-basket-product b,.weekly-basket-product span,.weekly-basket-product small { display:block; }
.weekly-basket-item small,.weekly-basket-product span { margin-top:4px; color:#667085; }
.weekly-basket-product { text-align:right; }
.meal-card-actions { display:grid; grid-template-columns:2fr 1fr; gap:8px; }
.saved-recipe-actions { display:flex; gap:7px; flex-wrap:wrap; }
@media (max-width:900px){ .library-strip { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px){
  .weekly-plan-card,.weekly-basket-item { grid-template-columns:1fr; }
  .weekly-basket-product { text-align:left; }
  .weekly-plan-actions { flex-direction:column; }
  .weekly-plan-actions button { width:100%; }
  .meal-card-actions { grid-template-columns:1fr; }
  .recipe-dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
}

/* Unified Cart v1 */
.library-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-favorite-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.cart-add-btn { border:2px solid #111; background:var(--retail-yellow); color:#111; border-radius:999px; padding:8px 12px; font-size:10px; font-weight:950; }
.product-actions{
  display:grid;
  gap:8px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #ded9c9;
}
.product-primary-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
}
.product-primary-actions .favorite-btn,
.product-primary-actions .cart-add-btn{
  min-height:40px;
}
.product-qty{
  display:inline-grid;
  grid-template-columns:auto 34px 44px 34px;
  align-items:center;
  min-height:40px;
  border:1px solid #c9c5b7;
  border-radius:999px;
  background:#fff;
  overflow:hidden;
}
.product-qty>span{
  padding:0 10px 0 12px;
  color:#625f56;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.product-qty button{
  width:34px;
  height:38px;
  border:0;
  border-left:1px solid #e1ddd0;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
}
.product-qty input{
  width:44px;
  height:38px;
  box-sizing:border-box;
  border:0;
  border-left:1px solid #e1ddd0;
  border-radius:0;
  background:#fff;
  color:#111;
  text-align:center;
  font:inherit;
  font-size:11px;
  font-weight:900;
  -moz-appearance:textfield;
}
.product-qty input::-webkit-outer-spin-button,
.product-qty input::-webkit-inner-spin-button{
  margin:0;
  -webkit-appearance:none;
}
.product-qty button:hover,
.product-qty button:focus-visible{
  background:#fff7bd;
}
.product-qty input:focus{
  box-shadow:inset 0 0 0 2px #111!important;
}
.product-actions .report-link{
  justify-self:start;
  padding:4px 0;
  color:#5f6572;
  font-size:9px;
}

.basket-review-actions,.weekly-cart-action { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:14px; padding:15px; border-color:#d8be00; background:#fff9cf; }
.basket-review-actions strong,.basket-review-actions p,.weekly-cart-action strong,.weekly-cart-action small { display:block; }
.basket-review-actions p,.weekly-cart-action small { margin:4px 0 0; color:#667085; font-size:10px; line-height:1.4; }
.cart-search { display:grid; gap:10px; margin-bottom:14px; padding:14px; }
.cart-search strong,.cart-search small { display:block; }
.cart-search small { margin-top:3px; color:#667085; font-size:10px; }
.cart-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.cart-search-row input { width:100%; border:1px solid #c9c4b4; border-radius:13px; padding:11px 12px; font:inherit; background:#fff; }
.cart-list { display:grid; gap:10px; }
.cart-line { border:1px solid #d8d4c4; border-radius:16px; background:#fff; padding:14px; box-shadow:0 7px 20px rgba(17,17,17,.05); }
.cart-product-main { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; }
.cart-product-image { width:64px; height:64px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; }
.cart-product-image img { width:100%; height:100%; object-fit:contain; padding:5px; }
.cart-product-main strong,.cart-product-main small { display:block; }
.cart-product-main small { margin-top:3px; color:#667085; font-size:10px; }
.cart-line-price { text-align:right; white-space:nowrap; }
.cart-line-price strong { font-size:19px; }
.cart-sources { display:flex; gap:5px; flex-wrap:wrap; margin-top:8px; }
.cart-source-chip { border-radius:999px; padding:5px 7px; background:#f2f4f7; color:#475467; font-size:9px; }
.cart-source-chip.recipe { background:#fff7bd; color:#302b12; }
.cart-source-chip.weekly { background:#ecfdf3; color:#067647; }
.cart-line-actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; border-top:1px solid #eee9dc; padding-top:10px; }
.cart-line-actions button { min-height:34px; padding:7px 10px; font-size:10px; }
.cart-remove-btn { border:0; background:transparent; color:#b42318; font-weight:850; text-decoration:underline; }
.cart-footer-actions { display:flex; justify-content:flex-end; margin-top:14px; }
@media(max-width:900px){.library-strip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){
  .library-strip{grid-template-columns:1fr;}
  .basket-review-actions,.weekly-cart-action{align-items:stretch;flex-direction:column;}
  .basket-review-actions button,.weekly-cart-action button{width:100%;}
  .cart-search-row{grid-template-columns:1fr;}
  .cart-product-main{grid-template-columns:auto minmax(0,1fr);}
  .cart-line-price{grid-column:2;text-align:left;}
  .product-primary-actions{align-items:stretch;}
  .product-primary-actions .favorite-btn{min-height:42px;}
  .product-primary-actions .cart-add-btn{min-height:42px;}
  .product-qty{min-height:42px;grid-template-columns:auto 34px 42px 34px;}
  .product-qty input,.product-qty button{height:40px;}
}
@media(max-width:430px){
  .product-primary-actions{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
  }
  .product-primary-actions .favorite-btn{grid-column:1;}
  .product-qty{grid-column:2;justify-self:start;}
  .product-primary-actions .cart-add-btn{
    grid-column:1 / -1;
    width:100%;
  }
}

/* Cart checkout summary polish */
.cart-total-card {
  display:grid;
  gap:5px;
  border:2px solid #d7ba00;
  border-radius:18px;
  background:#fff6b7;
  padding:16px 18px;
}
.cart-total-top { margin-bottom:14px; }
.cart-total-label {
  display:block;
  color:#514700;
  font-size:10px;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.cart-total-amount {
  display:block;
  color:#111;
  font-size:clamp(30px,7vw,42px);
  line-height:1;
  letter-spacing:-.04em;
}
.cart-total-empty {
  display:block;
  color:#111;
  font-size:24px;
  line-height:1.1;
}
.cart-total-meta {
  display:block;
  color:#5f6065;
  font-size:11px;
  line-height:1.4;
}
.cart-total-meal-meta {
  display:block;
  margin-top:4px;
  color:#312d16;
  font-size:11px;
  font-weight:850;
  line-height:1.45;
}
.cart-total-store-switch{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid rgba(81,71,0,.18);
}
.cart-total-store-switch>span{
  color:#514700;
  font-size:9px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
.cart-total-store-switch select{
  width:100%;
  min-width:0;
  border:1px solid #c5ad20;
  border-radius:999px;
  background:#fffdf2;
  color:#171717;
  padding:8px 30px 8px 11px;
  font:inherit;
  font-size:10px;
  font-weight:850;
}
.cart-total-bottom {
  margin-top:16px;
  padding:18px;
}
.cart-total-bottom small {
  display:block;
  margin-top:5px;
  color:#77736a;
  font-size:9px;
  line-height:1.4;
}
.cart-total-bottom .cart-total-meal-note {
  margin-top:8px;
  color:#5f5a48;
  font-weight:700;
}
.cart-footer-actions {
  justify-content:flex-end;
  margin-top:10px;
}
.cart-back-top {
  position:fixed;
  right:max(18px,env(safe-area-inset-right));
  bottom:24px;
  z-index:70;
  min-height:44px;
  padding:10px 14px;
  border:1px solid #d8d4c4;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#29261d;
  box-shadow:0 8px 24px rgba(17,24,39,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.cart-back-top:hover,
.cart-back-top:focus-visible {
  border-color:#b9ad78;
  background:#fffdf4;
}
.cart-back-top:focus-visible {
  outline:2px solid #111;
  outline-offset:2px;
}
.weekly-page-to-actions{
  bottom:78px;
}
.cart-footer-actions .secondary-action {
  border-color:#d8d4c4;
  background:transparent;
  color:#67635a;
  box-shadow:none;
  font-size:10px;
}
@media(max-width:700px){
  .cart-total-card { border-radius:16px; padding:15px 16px; }
  .cart-total-amount { font-size:36px; }
  .cart-total-meal-meta { margin-top:5px; font-size:10px; }
  .cart-footer-actions { justify-content:center; }
  .cart-footer-actions .secondary-action { width:auto; }
  .cart-back-top {
    right:14px;
    bottom:calc(82px + env(safe-area-inset-bottom));
  }
  .weekly-page-to-actions{
    bottom:calc(136px + env(safe-area-inset-bottom));
  }
  .cart-total-store-switch{
    grid-template-columns:1fr;
    gap:5px;
  }
  .cart-total-store-switch>span{
    white-space:normal;
  }
}
@media print {
  .cart-back-top { display:none!important; }
  .weekly-page-to-actions { display:none!important; }
}

/* Weekly Shop post-add navigation */
.weekly-post-add-actions {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:10px;
}
.weekly-post-add-actions button {
  min-height:48px;
}

/* Household Food matching + action feedback */
.household-action-status {
  margin-top:10px;
  border-radius:13px;
  padding:10px 12px;
  background:#eff8ff;
  color:#175cd3;
  border:1px solid #b2ddff;
  font-size:10px;
  line-height:1.45;
}
.household-action-status[data-mode="error"] {
  background:#fef3f2;
  color:#912018;
  border-color:#fecdca;
}
.reuse-match.full {
  background:#dcfae6;
  color:#067647;
}
.household-match-detail {
  display:grid;
  gap:3px;
  margin:10px 0 2px;
  padding:10px 12px;
  border-radius:13px;
  background:#f4fbf6;
  border:1px solid #ccebd5;
}
.household-match-detail strong {
  font-size:11px;
  color:#067647;
}
.household-match-detail span {
  font-size:9px;
  line-height:1.45;
  color:#667085;
}

/* Linked cart quantity/removal confirmation */
.cart-adjustment-note {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 9px;
  background:#fff4ed;
  color:#b93815;
  font-size:9px;
  font-weight:850;
}
.cart-impact-dialog {
  width:min(92vw,520px);
  border:0;
  padding:0;
  background:transparent;
}
.cart-impact-dialog::backdrop { background:rgba(17,24,39,.48); }
.cart-impact-card {
  background:#fff;
  border-radius:22px;
  padding:20px;
  box-shadow:0 24px 70px rgba(17,24,39,.25);
}
.cart-impact-sources {
  list-style:none;
  padding:0;
  margin:14px 0;
  display:grid;
  gap:8px;
}
.cart-impact-sources li {
  display:grid;
  gap:2px;
  padding:10px 12px;
  border-radius:13px;
  background:#f8f7f2;
  border:1px solid #e6e1d4;
}
.cart-impact-sources strong { font-size:11px; }
.cart-impact-sources span { color:#667085; font-size:9px; }
.cart-impact-guidance {
  display:grid;
  gap:3px;
  padding:12px;
  border-radius:13px;
  background:#effaf3;
  border:1px solid #ccebd5;
}
.cart-impact-guidance strong { font-size:11px; color:#067647; }
.cart-impact-guidance span { font-size:9px; color:#586174; line-height:1.45; }
.cart-impact-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.cart-impact-actions button { min-height:48px; }
.cart-impact-remove {
  border:1px solid #d92d20;
  border-radius:16px;
  background:#fff;
  color:#b42318;
  font-weight:900;
}
@media(max-width:700px){
  .cart-impact-card { padding:17px; border-radius:20px; }
  .cart-impact-actions { grid-template-columns:1fr; }
}


/* v0.20 beta — pilot reliability + feedback */
.connection-banner {
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid #f4c790;
  border-radius: 13px;
  background: #fff6e8;
  color: #8a3f06;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
}
.report-link {
  border: 0;
  background: transparent;
  color: #667085;
  padding: 6px 2px;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
}
.feedback-dialog {
  width: min(92vw, 560px);
  border: 0;
  padding: 0;
  background: transparent;
}
.feedback-dialog::backdrop { background: rgba(17,24,39,.48); }
.feedback-card {
  display: grid;
  gap: 14px;
  border-radius: 22px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 24px 70px rgba(17,24,39,.25);
}
.feedback-card textarea,
.feedback-card select {
  width: 100%;
  border: 1px solid #c9c4b4;
  border-radius: 12px;
  padding: 10px 11px;
  background: #fff;
  font: inherit;
}
.feedback-context {
  border: 1px solid #e6e1d4;
  border-radius: 12px;
  background: #f8f7f2;
  padding: 10px 12px;
  color: #475467;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.45;
}
.feedback-status {
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 10px;
  font-weight: 800;
}
.feedback-status[data-mode="success"] { background: #ecfdf3; color: #067647; }
.feedback-status[data-mode="error"] { background: #fef3f2; color: #b42318; }
.feedback-privacy { color: #667085; line-height: 1.45; }
.price-freshness { font-weight: 800; color: #475467; }
.weekly-basket-product .report-link { margin-top: 7px; }


/* Notification centre */
.topbar-actions{display:flex;align-items:center;gap:8px}
.notification-btn{position:relative;font-size:17px}
.notification-count{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#111;color:#ffd400;border:2px solid #ffd400;font-size:9px;font-weight:1000}
.notification-dialog{border:0;background:transparent;padding:12px;width:min(680px,calc(100% - 20px))}
.notification-dialog::backdrop{background:rgba(10,12,14,.58);backdrop-filter:blur(5px)}
.notification-sheet{background:#fff;border:1px solid var(--line,#ded9ca);border-radius:24px;padding:clamp(18px,4vw,30px);max-height:88vh;overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.24)}
.notification-permission{margin:16px 0 10px;padding:11px 13px;border-radius:13px;background:#f7f5ed;border:1px solid #e4dfd1;color:#5c594f;font-size:11px;line-height:1.5}
.notification-preferences{display:grid;gap:8px;margin-top:16px}
.notification-preferences label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:12px;border:1px solid #e9e5da;border-radius:14px;background:#fbfaf6;cursor:pointer}
.notification-preferences input{margin-top:3px;width:19px;height:19px;accent-color:#111}
.notification-preferences strong,.notification-preferences small{display:block}
.notification-preferences strong{font-size:12px}.notification-preferences small{margin-top:3px;color:#777267;font-size:9px;line-height:1.4}
.notification-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.notification-schedule-note{margin-top:14px;padding:11px 13px;border-radius:13px;background:#fff8cf;border:1px solid #ead98d;color:#5f5522;font-size:9px;line-height:1.5}
.notification-list{display:grid;gap:8px;margin-top:18px}
.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #e8e4d8;border-radius:15px;background:#faf9f5}
.notification-item.unread{background:#fff8cf;border-color:#e6d270}
.notification-item strong,.notification-item p,.notification-item small{display:block}.notification-item strong{font-size:12px}.notification-item p{margin:4px 0;color:#5f5b50;font-size:10px;line-height:1.45}.notification-item small{color:#8b8679;font-size:8px}
.notification-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.notification-read-state{display:inline-flex;align-items:center;border-radius:999px;background:#eaf8ef;color:#147a42;padding:3px 7px;font-size:8px;font-weight:900;line-height:1}
.notification-item button{border:1px solid #d7d1c3;border-radius:10px;background:#fff;padding:8px 10px;font-weight:850;font-size:9px}
.notification-type{display:block;margin-bottom:4px;color:#7e6b00;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:560px){.notification-item{grid-template-columns:1fr}.notification-item button{width:100%}}


/* Mobile header actions — keep notifications and menu visible together */
.topbar {
  position: relative;
}
.topbar > div:first-child {
  padding-right: 108px;
}
.topbar .topbar-actions {
  position: absolute;
  top: 14px;
  right: 6px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
}
.topbar .topbar-actions .menu-icon {
  position: static;
  top: auto;
  right: auto;
  flex: 0 0 42px;
}
.topbar .notification-btn {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  background: var(--retail-black);
  border-color: var(--retail-black);
  color: var(--retail-yellow);
}
@media (max-width:700px) {
  .topbar > div:first-child { padding-right: 104px; }
  .topbar .topbar-actions { right: 4px; }
}


/* Extended weekly / monthly planning */
.weekly-plan-card{display:grid;gap:14px}
.weekly-plan-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.weekly-plan-card-head>div{min-width:0}
.weekly-plan-card-head strong,.weekly-plan-card-head small,.weekly-slot-label{display:block}
.weekly-slot-label{margin-bottom:5px;color:#8a7300;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.weekly-view-recipe{flex:0 0 auto;border:1px solid #111;background:#fff7bd;color:#111;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900}
.weekly-plan-controls{display:grid;grid-template-columns:1fr .7fr 1fr;gap:10px;min-width:0}
.weekly-plan-controls label{display:grid;gap:5px;min-width:0}
.weekly-plan-controls label>span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;color:#667085}
.weekly-plan-controls input,.weekly-plan-controls select{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #c9c4b4;background:#fff;border-radius:13px;padding:11px 12px;font:inherit}
.weekly-plan-controls input[type="date"]{box-sizing:border-box;-webkit-appearance:none;appearance:none}
.weekly-recipe-detail{border:1px solid #ddd5ab;background:#fffdf1;border-radius:14px;padding:14px}
.weekly-recipe-detail-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}
.weekly-recipe-detail-head small{color:#667085}
.weekly-recipe-columns{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}
.weekly-recipe-columns ul,.weekly-recipe-columns ol{margin:8px 0 0;padding-left:20px;color:#47433a;font-size:11px;line-height:1.55}
.weekly-recipe-columns li+li{margin-top:5px}
.weekly-detail-label{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#746000}
.weekly-remove{justify-self:start}
.weekly-plan-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.weekly-plan-actions .primary{flex:1 1 220px}
@media(max-width:700px){
  .weekly-plan-controls{grid-template-columns:1fr 1fr}
  .weekly-plan-controls label:last-child{grid-column:1/-1}
  .weekly-recipe-columns{grid-template-columns:1fr}
  .weekly-plan-actions .primary{flex:0 0 auto;min-height:50px}
}


/* Promotion / purchase-limit intelligence */
.promotion-limit-card{margin-top:12px;padding:13px;border:1px solid #e7cb4b;border-radius:14px;background:#fff9d9;display:grid;gap:10px}
.promotion-limit-card.hard{border-color:#e8a89f;background:#fff2ef}
.promotion-limit-card.decided{border-color:#95d7c9;background:#effbf8}
.promotion-limit-kicker{display:block;margin-bottom:4px;font-size:8px;font-weight:1000;letter-spacing:.08em;color:#7b6500}
.promotion-limit-card.hard .promotion-limit-kicker{color:#9f2f25}
.promotion-limit-card strong{display:block;font-size:12px}
.promotion-limit-card p{margin:4px 0 0;color:#4e4937;font-size:10px;line-height:1.5}
.promotion-limit-card small{display:block;margin-top:5px;color:#70684c;font-size:9px}
.promotion-limit-actions{display:flex;flex-wrap:wrap;gap:7px}
.promotion-limit-actions button{flex:1 1 155px}
.promotion-decision-required{padding:8px 10px;border-radius:10px;background:#171812;color:#fff;font-size:9px;line-height:1.45}
.cart-promotion-note{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff4ae;color:#5f5000;font-size:8px;font-weight:900}
.cart-promotion-note.hard{background:#fee4e2;color:#9f2f25}
.weekly-basket-item .promotion-limit-card{grid-column:1/-1;width:100%}
.weekly-alternatives{grid-column:1/-1;width:100%}
@media(max-width:600px){.promotion-limit-actions{display:grid}.promotion-limit-actions button{width:100%}}


/* Live Deals + MAKEAWAYS */
.library-strip{grid-template-columns:repeat(7,minmax(0,1fr))}
.deals-summary-tile{background:#fff8cb}
.deals-tools{padding:16px;margin-bottom:14px}
.deals-search{display:grid;grid-template-columns:1fr auto;gap:9px}
.deals-search input{min-width:0;border:1px solid #c9c4b4;border-radius:13px;padding:12px 13px;font:inherit}
.deals-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:11px}
.deals-filters label{display:grid;gap:5px}.deals-filters label>span{font-size:10px;font-weight:850;color:#5d5a52;text-transform:uppercase;letter-spacing:.05em}
.deals-filters select{width:100%;border:1px solid #c9c4b4;border-radius:12px;padding:10px 11px;background:#fff;font:inherit}
.deals-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.external-action{text-decoration:none;text-align:center}
.retailer-context-note{display:block;margin-top:10px;color:#69665c;font-size:9px;line-height:1.5}
.deals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.deal-card{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;padding:14px;background:#fff;border:1px solid #d8d4c4;border-top:5px solid var(--retail-yellow);border-radius:16px;box-shadow:var(--shadow)}
.deal-card-media{position:relative;min-height:116px;background:#faf9f4;border-radius:12px;overflow:hidden;display:grid;place-items:center}.deal-card-media img{width:100%;height:116px;object-fit:contain;background:#fff}.deal-image-placeholder{font-size:20px;font-weight:1000;color:#8d7a00}
.deal-badge{position:absolute;top:7px;left:7px;padding:5px 7px;border-radius:999px;background:var(--retail-yellow);color:#111;font-size:8px;font-weight:1000;letter-spacing:.08em}
.deal-card-copy{min-width:0;display:grid;align-content:start;gap:4px}.deal-category{font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#746000}.deal-card-copy>strong{font-size:13px;line-height:1.25}.deal-card-copy>small{font-size:9px;color:#706d64}
.deal-price-row{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:4px}.deal-price-row b{font-size:22px}.deal-price-row s{font-size:10px;color:#777}.deal-price-row span{padding:4px 7px;border-radius:999px;background:#eaf8ee;color:#176b36;font-size:8px;font-weight:900}
.deal-unit,.deal-promo-text{display:block}.deal-limit-note{margin-top:4px;padding:7px 8px;border-radius:9px;background:#fff5bd;border:1px solid #e8d367;font-size:8px;font-weight:900;color:#665400}
.deal-card-actions{grid-column:1/-1;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.deal-card-actions button{flex:1 1 130px}.deal-card-actions .saved{background:#111;color:var(--retail-yellow)}.deal-product-link{font-size:9px;font-weight:800;color:#292821}
.deals-load-more{display:flex;justify-content:center;padding:16px 0}
.makeaways-feature{margin-bottom:16px;padding:18px;background:linear-gradient(145deg,#171715 0%,#28251a 100%);color:#fff;border-color:#171715}
.makeaways-feature-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.makeaways-feature .eyebrow{color:#f9d942}.makeaways-feature h3{margin:5px 0 6px;font-size:26px;letter-spacing:-.04em}.makeaways-feature p{margin:0;color:#e9e5d6;max-width:700px;font-size:11px;line-height:1.5}.makeaways-wordmark{display:inline-block;padding:6px 9px;background:var(--retail-yellow);color:#111;font-size:15px;font-weight:1000;letter-spacing:.04em;transform:skew(-5deg)}
.makeaways-feature .external-action{background:#fff;color:#111;border-color:#fff}.makeaways-feature .retailer-context-note{color:#c9c3ae}
.makeaways-summary{display:flex;justify-content:space-between;gap:12px;margin:15px 0 10px;padding:11px 13px;border-radius:12px;background:#ffffff12;border:1px solid #ffffff22}.makeaways-summary strong,.makeaways-summary span{display:block}.makeaways-summary span{color:#d7d1bd;font-size:9px}
.makeaways-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.makeaway-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:#fff;color:#171715}.makeaway-card-top{display:flex;justify-content:space-between;gap:10px}.makeaway-card h4{margin:3px 0 4px;font-size:17px}.makeaway-card p{color:#605d54!important;font-size:9px!important}.makeaway-relation{font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:#806b00}.scratch-spotlight{align-self:flex-start;padding:5px 7px;border-radius:999px;background:#171715;color:#ffd400;font-size:7px;font-weight:1000}
.makeaway-facts{display:flex;flex-wrap:wrap;gap:5px}.makeaway-facts>span{padding:5px 7px;border-radius:999px;background:#f1efe5;font-size:8px;font-weight:850}.makeaway-facts .deal-match-pill{background:#e8f8ed;color:#176b36}
.makeaway-deal-list{display:grid;gap:5px;padding:9px;border-radius:10px;background:#f8f6ed}.makeaway-deal-list>div{display:flex;justify-content:space-between;gap:8px;font-size:8px}.makeaway-deal-list span{color:#777}.makeaway-deal-list strong{text-align:right}.makeaway-no-deals{font-size:8px;color:#777}.makeaway-saving{font-size:9px;color:#176b36}
.makeaways-mini-badge{padding:5px 7px;border-radius:999px;background:#171715;color:#ffd400;font-size:7px;font-weight:1000}.recipe-card-badges{display:flex;gap:5px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.library-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.library-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.deals-filters{grid-template-columns:1fr}.deals-grid,.makeaways-grid{grid-template-columns:1fr}.deal-card{grid-template-columns:92px minmax(0,1fr)}.deal-card-media,.deal-card-media img{min-height:92px;height:92px}.makeaways-feature-head{flex-direction:column}.makeaways-feature-head .external-action{width:100%}.makeaways-summary{display:grid}.deals-search{grid-template-columns:1fr}.deals-search .primary{width:100%}}


/* Cook from Deals */
.deal-recipe-builder{margin:14px 0;padding:17px;border-top:5px solid #171715}
.deal-recipe-head h3{margin:3px 0 5px;font-size:23px;letter-spacing:-.035em}.deal-recipe-head p{margin:0;color:#646159;font-size:10px;line-height:1.5;max-width:760px}
.deal-recipe-controls{display:grid;grid-template-columns:1fr .65fr 1fr auto;gap:9px;align-items:end;margin-top:13px}
.deal-recipe-controls label{display:grid;gap:5px}.deal-recipe-controls label>span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#625f55}.deal-recipe-controls select,.deal-recipe-controls input{width:100%;border:1px solid #c9c4b4;border-radius:11px;padding:10px;background:#fff;font:inherit}
.deal-recipe-summary{display:grid;gap:3px;margin-top:14px;padding:11px 13px;border-radius:11px;background:#f8f6ec}.deal-recipe-summary strong{font-size:11px}.deal-recipe-summary span{font-size:8px;color:#716d62;line-height:1.5}
.deal-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.deal-recipe-card{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #d8d4c4;border-radius:14px;background:#fff}
.deal-recipe-card-top{display:flex;justify-content:space-between;gap:12px}.deal-recipe-card-top h4{margin:4px 0;font-size:17px}.deal-recipe-card-top p{margin:0;color:#666258;font-size:9px;line-height:1.45}.deal-recipe-card-top>strong{font-size:20px;white-space:nowrap}
.deal-recipe-score{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff2a8;color:#5d4d00;font-size:8px;font-weight:950}
.deal-recipe-facts{display:flex;flex-wrap:wrap;gap:5px}.deal-recipe-facts span{padding:4px 7px;border-radius:999px;background:#f1efe7;font-size:8px;font-weight:850}.deal-recipe-facts .deal-recipe-saving{background:#e8f8ed;color:#176b36}
.deal-recipe-matches{display:grid;gap:5px;padding:9px;border-radius:10px;background:#f8f6ed}.deal-recipe-matches>div{display:flex;justify-content:space-between;gap:8px;font-size:8px}.deal-recipe-matches span{color:#777}.deal-recipe-matches strong{text-align:right}
@media(max-width:820px){.deal-recipe-controls{grid-template-columns:1fr 1fr}.deal-recipe-controls .primary{grid-column:1/-1}.deal-recipe-grid{grid-template-columns:1fr}}
@media(max-width:520px){.deal-recipe-controls{grid-template-columns:1fr}}


/* Household Food Memory V2 */
.daily-household-snapshot {
  margin-bottom:16px;
  padding:18px;
  border:1px solid #f1c400;
  background:linear-gradient(135deg,#fff9cf 0%,#ffffff 72%);
  box-shadow:0 12px 30px rgba(17,24,39,.07);
}
.daily-snapshot-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.daily-snapshot-head h2 { margin:5px 0 4px; font-size:clamp(22px,4vw,30px); }
.daily-snapshot-head p { margin:0; color:#475467; font-size:13px; line-height:1.45; }
.daily-snapshot-dismiss { border:1px solid var(--line); background:#fff; width:36px; height:36px; border-radius:999px; font-size:24px; line-height:1; color:#475467; }
.daily-snapshot-attention,.daily-snapshot-meal { margin-top:12px; border-radius:15px; padding:12px 13px; background:#fff; border:1px solid #ebe5c4; }
.daily-snapshot-attention > strong,.daily-snapshot-meal > strong { display:block; font-size:13px; }
.daily-snapshot-attention > span,.daily-snapshot-meal > span { display:block; margin-top:4px; color:#667085; font-size:11px; line-height:1.4; }
.daily-snapshot-attention > div { display:grid; gap:5px; margin-top:7px; color:#475467; font-size:11px; line-height:1.4; }
.daily-snapshot-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.daily-snapshot-actions .primary { min-height:44px; }
.daily-household-snapshot > small { display:block; margin-top:10px; color:#667085; font-size:10px; line-height:1.4; }

.kitchen-summary.needs-attention { background:#fffaeb; color:#93370d; }
.household-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:14px 0 10px; }
.household-filters { display:flex; flex-wrap:wrap; gap:7px; }
.household-filters button { border:1px solid var(--line); background:#fff; border-radius:999px; padding:8px 10px; color:#475467; font-size:11px; font-weight:800; }
.household-filters button b { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:3px; border-radius:999px; background:#f2f4f7; color:#344054; font-size:9px; }
.household-filters button.active { background:#111827; border-color:#111827; color:#fff; }
.household-filters button.active b { background:rgba(255,255,255,.18); color:#fff; }
.household-sort { display:grid; gap:5px; flex:0 0 180px; }
.household-sort span { font-size:10px; color:#667085; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.household-sort select { width:100%; border:1px solid var(--line); background:#fff; border-radius:12px; padding:9px 10px; color:#344054; font-size:11px; }

.household-add-panel { margin:12px 0 14px; border:1px dashed #d0d5dd; border-radius:16px; background:#fff; overflow:hidden; }
.household-add-panel > summary { list-style:none; cursor:pointer; padding:12px 14px; font-size:12px; font-weight:900; color:#344054; }
.household-add-panel > summary::-webkit-details-marker { display:none; }
.household-add-panel[open] > summary { border-bottom:1px solid #eaecf0; }
.household-add-form { display:grid; grid-template-columns:2fr .8fr .8fr 1fr 1.2fr auto; gap:9px; align-items:end; padding:13px 14px 8px; }
.household-add-form label { display:grid; gap:5px; min-width:0; }
.household-add-form label > span { color:#475467; font-size:10px; font-weight:850; }
.household-add-form label small { color:#98a2b3; font-weight:650; }
.household-add-form input,.household-add-form select { width:100%; min-width:0; border:1px solid var(--line); background:#f9fafb; border-radius:12px; padding:10px 11px; color:#344054; outline:none; }
.household-add-form .primary { min-height:40px; padding:0 14px; white-space:nowrap; }
.household-add-note { margin:0; padding:2px 14px 13px; color:#667085; font-size:10px; line-height:1.45; }

.memory-item.attention { border-color:#fedf89; background:#fffdf5; }
.memory-state.attention { background:#fef0c7; color:#93370d; }
.memory-warning { margin-top:9px; padding:8px 10px; border-radius:11px; background:#fffaeb; color:#93370d; font-size:10px; line-height:1.4; font-weight:700; }
.memory-item.frozen .memory-actions button[data-memory-state="frozen"] { border-color:#b2ddff; background:#eff8ff; color:#175cd3; }

@media (max-width: 760px) {
  .household-toolbar { align-items:stretch; flex-direction:column; }
  .household-sort { flex-basis:auto; width:100%; }
  .household-add-form { grid-template-columns:1fr 1fr; }
  .household-add-name { grid-column:1 / -1; }
  .household-add-form .primary { grid-column:1 / -1; width:100%; }
}
@media (max-width: 480px) {
  .daily-snapshot-actions > * { flex:1 1 100%; }
  .household-add-form { grid-template-columns:1fr; }
  .household-add-name,.household-add-form .primary { grid-column:auto; }
  .household-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
  .household-filters::-webkit-scrollbar { display:none; }
  .household-filters button { flex:0 0 auto; }
}


/* Recipe Library UI cleanup */
.recipe-library-tools {
  padding:14px;
}
.recipe-library-search {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
}
.recipe-library-search input {
  min-height:46px;
}
.recipe-library-search .primary {
  min-height:46px;
  padding:0 22px;
}
.recipe-library-quick-filters {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.recipe-library-quick-filters label,
.recipe-library-more-filters .recipe-library-filters label {
  display:grid;
  gap:4px;
  min-width:0;
}
.recipe-library-quick-filters label>span,
.recipe-library-more-filters .recipe-library-filters label>span {
  font-size:9px;
  font-weight:900;
  color:#625f55;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.recipe-library-quick-filters select,
.recipe-library-more-filters .recipe-library-filters select {
  width:100%;
  min-width:0;
  border:1px solid #c9c4b4;
  border-radius:11px;
  padding:9px 10px;
  background:#fff;
  font:inherit;
  font-size:12px;
}
.recipe-library-more-filters {
  margin-top:9px;
  border:1px solid #e2dece;
  border-radius:12px;
  background:#fbfaf5;
  overflow:hidden;
}
.recipe-library-more-filters>summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px 11px;
}
.recipe-library-more-filters>summary::-webkit-details-marker { display:none; }
.recipe-library-more-filters>summary span {
  font-size:11px;
  font-weight:900;
  color:#292821;
}
.recipe-library-more-filters>summary::after {
  content:"+";
  flex:0 0 auto;
  font-weight:1000;
  font-size:16px;
}
.recipe-library-more-filters[open]>summary::after { content:"−"; }
.recipe-library-more-filters .recipe-library-filters {
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
  padding:0 11px 11px;
}
.recipe-library-filter-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:8px;
  min-height:0;
}
.recipe-library-filter-actions .link-btn{
  padding:4px 0;
  font-size:10px;
  white-space:nowrap;
}

/* Unified Recipe Finder */
.recipe-library-unified{
  margin:0 0 16px;
  padding:16px;
  border:1px solid #d9cf91;
  border-top:5px solid var(--retail-yellow);
  border-radius:18px;
  background:linear-gradient(145deg,#fffdf3 0%,#fff 76%);
  box-shadow:var(--shadow);
}
.recipe-library-unified .recipe-library-search{
  display:block;
}
.recipe-library-unified .recipe-library-search input{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border:1px solid #c9c4b4;
  border-radius:15px;
  background:#fff;
  font:inherit;
  font-size:14px;
}
.recipe-library-mode{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  margin-top:10px;
  padding:4px;
  border:1px solid #c9c4b4;
  border-radius:999px;
  background:#fff;
}
.recipe-library-mode-btn{
  min-width:0;
  min-height:42px;
  padding:8px 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#111;
  font:inherit;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
}
.recipe-library-mode-btn.is-active{
  background:#111;
  color:var(--retail-yellow);
  box-shadow:0 2px 5px rgba(17,17,17,.16);
}
.recipe-library-specials-context{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:10px 2px 0;
  color:#625f55;
  font-size:10px;
  line-height:1.35;
  text-align:center;
}
.recipe-library-specials-context>span:first-child{
  font-size:16px;
  color:#111;
}
.recipe-library-specials-context strong{color:#111}
.recipe-library-unified .recipe-library-quick-filters{
  margin-top:12px;
}
.recipe-library-unified .recipe-library-more-filters{
  margin-top:10px;
  background:#fffdf7;
}
.recipe-library-unified .recipe-library-more-filters .recipe-library-filters input{
  width:100%;
  min-width:0;
  border:1px solid #c9c4b4;
  border-radius:11px;
  padding:9px 10px;
  background:#fff;
  font:inherit;
  font-size:12px;
}
.recipe-library-find-actions{
  display:grid;
  gap:7px;
  margin-top:11px;
}
.recipe-library-find-actions .link-btn{
  justify-self:end;
  padding:3px 0;
  font-size:10px;
}
.recipe-library-find-btn{
  width:100%;
  min-height:50px;
  border-radius:15px;
  font-size:13px;
  font-weight:950;
}
.library-specials-panel{
  margin:0 0 14px;
  padding:0;
  border-top:0;
}
.library-specials-panel .deal-recipe-summary{
  margin-bottom:10px;
}
.recipe-library-results-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:2px 0 12px;
  padding:0 2px;
}
.recipe-library-results-toolbar>strong{
  font-size:12px;
  font-weight:950;
  color:#292821;
  white-space:nowrap;
}
.recipe-library-results-sort{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:min(280px,58%);
}
.recipe-library-results-sort>span{
  flex:0 0 auto;
  font-size:9px;
  font-weight:900;
  color:#625f55;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.recipe-library-results-sort select{
  width:100%;
  min-width:0;
  border:1px solid #c9c4b4;
  border-radius:11px;
  padding:9px 10px;
  background:#fff;
  font:inherit;
  font-size:12px;
}

/* MAKEAWAYS stays compact until the shopper chooses to use it. */
.makeaways-feature {
  padding:0;
  overflow:hidden;
}
.makeaways-feature>summary {
  list-style:none;
}
.makeaways-feature>summary::-webkit-details-marker { display:none; }
.makeaways-collapse-summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
}
.makeaways-summary-title {
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
}
.makeaways-summary-title>div {
  min-width:0;
}
.makeaways-summary-title strong,
.makeaways-summary-title small {
  display:block;
}
.makeaways-summary-title strong {
  font-size:13px;
  line-height:1.25;
}
.makeaways-summary-title small {
  margin-top:3px;
  color:#c9c3ae;
  font-size:9px;
  line-height:1.35;
}
.makeaways-feature:not([open]) .makeaways-wordmark {
  font-size:12px;
  padding:5px 8px;
}
.makeaways-collapse-icon {
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #ffffff35;
  border-radius:999px;
  font-size:18px;
  font-weight:1000;
}
.makeaways-feature[open] .makeaways-collapse-icon::before { content:"−"; }
.makeaways-feature[open] .makeaways-collapse-icon { font-size:0; }
.makeaways-feature[open] .makeaways-collapse-icon::before { font-size:18px; }
.makeaways-feature-body {
  padding:2px 15px 15px;
  border-top:1px solid #ffffff18;
}
.makeaways-feature-head {
  margin-top:11px;
}
.makeaways-feature h3 {
  font-size:22px;
}
.makeaways-feature-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.makeaways-feature-actions>* {
  min-height:40px;
}
.makeaways-check-btn {
  border:0;
  border-radius:12px;
  padding:0 14px;
  background:var(--retail-yellow);
  color:#111;
  font:inherit;
  font-size:11px;
  font-weight:950;
}
.makeaways-feature-actions .secondary-action {
  padding:9px 12px;
  font-size:10px;
}
.makeaways-feature .makeaways-summary {
  margin:11px 0 9px;
}
.makeaways-feature .makeaways-grid:empty {
  display:none;
}

@media (max-width:700px) {
  .recipe-library-search {
    grid-template-columns:minmax(0,1fr) auto;
  }
  .recipe-library-search input {
    min-width:0;
    padding:10px 11px;
    font-size:13px;
  }
  .recipe-library-search .primary {
    width:auto;
    min-width:82px;
    padding:0 14px;
  }
  .recipe-library-quick-filters {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .recipe-library-more-filters .recipe-library-filters {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .recipe-library-filters {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .makeaways-feature-head {
    display:block;
  }
  .makeaways-feature-head .external-action {
    width:auto;
  }
  .makeaways-feature-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .makeaways-feature-actions .makeaways-check-btn {
    grid-column:1 / -1;
  }
  .makeaways-feature-actions .external-action {
    width:100%;
    text-align:center;
  }
}
@media (max-width:430px) {
  .recipe-library-tools {
    padding:11px;
  }
  .recipe-library-quick-filters,
  .recipe-library-more-filters .recipe-library-filters {
    gap:7px;
  }
  .recipe-library-quick-filters select,
  .recipe-library-more-filters .recipe-library-filters select {
    padding:8px 9px;
    font-size:11px;
  }
  .makeaways-collapse-summary {
    padding:11px 12px;
  }
  .makeaways-summary-title {
    gap:8px;
  }
  .makeaways-summary-title strong {
    font-size:12px;
  }
  .makeaways-summary-title small {
    font-size:8px;
  }
  .makeaways-feature-body {
    padding:2px 12px 12px;
  }
}


/* Homepage cook paths */
.cook-paths-body{padding-top:2px}
.cook-path-list{display:grid;gap:10px}
.cook-path{border:1px solid #dfe5e1;border-radius:18px;background:#fff;overflow:hidden}
.cook-path[open]{border-color:#b7dfc5;box-shadow:0 8px 24px rgba(17,24,39,.035)}
.cook-path-summary{padding:14px 15px;background:#fff}
.cook-path-summary::after{width:28px;height:28px}
.cook-path-title{display:flex;align-items:flex-start;gap:11px;min-width:0}
.cook-path-title>div{min-width:0}
.cook-path-title strong,.cook-path-title small{display:block}
.cook-path-title strong{font-size:15px;line-height:1.28;color:#101828}
.cook-path-title small{margin-top:4px;color:#667085;font-size:10px;line-height:1.4}
.cook-path-number{flex:0 0 30px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#ecfdf3;color:#067647;font-weight:950;font-size:12px}
.cook-path-body{padding-top:2px}
.cook-path-actions-top{display:flex;justify-content:flex-end;margin:-2px 0 7px}
.cook-path-copy{margin:8px 0 0;color:#667085;font-size:11px;line-height:1.5}
.cook-household-context{display:grid;gap:3px;padding:10px 12px;border:1px solid #d9eadf;border-radius:13px;background:#f7fcf8}
.cook-household-context strong{font-size:11px;color:#067647}
.cook-household-context span{font-size:10px;line-height:1.45;color:#475467}
.home-deal-controls{margin-top:12px}
.cook-path-secondary{display:flex;justify-content:flex-end;margin-top:10px}
.cook-household-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cook-household-actions .primary{min-height:44px}
.deal-recipe-facts .deal-recipe-household{background:#ecfdf3;color:#067647}
@media(max-width:700px){
  .cook-path-summary{padding:13px}
  .cook-path-body{padding:0 13px 13px}
  .cook-path-title strong{font-size:14px}
  .cook-path-actions-top{margin-top:0}
  .cook-household-actions>*{flex:1 1 100%}
  .home-deal-controls{grid-template-columns:1fr}
  .home-deal-controls .primary{grid-column:auto}
}


/* Pilot governance: visible privacy/terms links + standalone legal pages */
.pilot-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:10px;
}
.pilot-legal-links a,
.app-legal-footer a,
.legal-card a,
.legal-footer a{
  color:#087443;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}
.app-legal-footer{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin:28px 2px 0;
  padding:16px 4px 0;
  border-top:1px solid var(--line);
  color:#667085;
  font-size:10px;
  line-height:1.45;
}
.app-legal-footer nav{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.menu-nav .menu-legal-link{
  display:block;
  width:100%;
  border:1px solid #e4e7ec;
  border-radius:15px;
  background:#fff;
  padding:12px 13px;
  text-align:left;
  color:#101828;
  text-decoration:none;
}
.menu-nav .menu-legal-link span,
.menu-nav .menu-legal-link small{display:block}
.menu-nav .menu-legal-link span{font-weight:850;font-size:13px}
.menu-nav .menu-legal-link small{margin-top:3px;color:#667085;font-size:10px}

.legal-page{
  min-height:100vh;
  background:linear-gradient(180deg,#fff8c9 0,#f6f7f2 280px);
}
.legal-shell{
  width:min(760px,100%);
  margin:0 auto;
  padding:28px 16px 72px;
}
.legal-header{
  padding:10px 4px 18px;
}
.legal-header h1{
  margin:8px 0 6px;
  font-size:clamp(34px,7vw,52px);
}
.legal-header p{
  margin:0;
  color:#475467;
  line-height:1.55;
}
.legal-back{
  display:inline-flex;
  margin-bottom:22px;
  color:#101828;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.legal-card{
  margin:12px 0;
  padding:20px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(17,24,39,.05);
}
.legal-card h2{
  margin:0 0 9px;
  font-size:19px;
}
.legal-card p{
  margin:8px 0 0;
  color:#475467;
  font-size:13px;
  line-height:1.65;
}
.legal-summary{
  border-color:#e3c93f;
  background:#fffdf1;
}
.legal-summary strong{
  display:block;
  font-size:15px;
}
.legal-meta{
  margin-top:16px !important;
  padding-top:13px;
  border-top:1px solid #eaecf0;
  color:#667085 !important;
  font-size:11px !important;
}
.legal-footer{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-top:22px;
  padding:16px 4px 0;
  border-top:1px solid #d8d5c8;
  font-size:12px;
}
@media(max-width:560px){
  .app-legal-footer{align-items:flex-start;flex-direction:column}
  .legal-card{padding:17px}
}


/* Homepage V2 — cook-first shopper hierarchy */
#homeView .store-card {
  margin-bottom:18px;
}

#homeView .cook-hero {
  margin-bottom:14px;
  border:1px solid #d7d2c3;
  background:#fff;
  box-shadow:0 14px 34px rgba(17,17,17,.08);
}

#homeView .homepage-cook-summary {
  padding:24px 24px 18px;
  cursor:default;
  background:#fff;
}
#homeView .homepage-cook-summary::after { display:none; }
#homeView .homepage-cook-summary h2 {
  margin:8px 0 4px;
  font-size:clamp(30px,4vw,46px);
  line-height:1.02;
  letter-spacing:-.045em;
}
#homeView .homepage-cook-summary p {
  font-size:14px;
  color:#5d5a52;
}

#homeView .cook-paths-body { padding:0 24px 24px; }
#homeView .cook-path-list {
  grid-template-columns:minmax(0,1.55fr) minmax(0,.82fr) minmax(0,.82fr);
  align-items:start;
  gap:12px;
}
#homeView .cook-path {
  border-color:#ddd8c9;
  border-radius:18px;
  box-shadow:0 5px 16px rgba(17,17,17,.035);
}
#homeView .cook-path[open] {
  border-color:#e8c500;
  box-shadow:0 8px 22px rgba(17,17,17,.055);
}
#homeView .cook-path-summary {
  min-height:104px;
  padding:16px;
}
#homeView .cook-path-summary::after {
  background:var(--retail-yellow);
  border:2px solid var(--retail-black);
  color:var(--retail-black);
}
#homeView .cook-path-title { gap:10px; }
#homeView .cook-path-title strong {
  font-size:17px;
  line-height:1.16;
}
#homeView .cook-path-title small {
  margin-top:5px;
  font-size:11px;
  line-height:1.35;
}
#homeView .cook-path-number {
  background:var(--retail-yellow-soft);
  color:#111;
}
#homeView .cook-path-body { padding:0 16px 16px; }
#homeView .cook-household-context {
  padding:10px 11px;
  border-radius:12px;
  background:#f6fbf7;
}
#homeView .cook-household-context strong { font-size:11px; }
#homeView .cook-household-context span { font-size:10px; }
#homeView .cook-path-actions-top {
  justify-content:flex-start;
  margin:7px 0 3px;
}
#homeView .cook-reset-link {
  padding:2px 0;
  color:#6d685d;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
}
#homeView .cook-reset-link:hover { color:#111; text-decoration:underline; }

#homeView .cook-prompt-label { margin-top:10px; }
#homeView .cook-prompt { min-height:58px; resize:none; }
#homeView .cook-primary {
  background:#111;
  color:var(--retail-yellow);
}
#homeView .cook-safety-note {
  margin-top:9px;
  font-size:9px;
  color:#777267;
}
#homeView .cook-path-secondary {
  justify-content:stretch;
}
#homeView .cook-path-secondary .secondary-action,
#homeView .cook-household-actions .secondary-action {
  width:100%;
}
#homeView .home-deal-controls {
  grid-template-columns:1fr;
}
#homeView .home-deal-controls .primary { grid-column:auto; }
#homeView .cook-household-actions {
  display:grid;
  grid-template-columns:1fr;
}

/* Supporting destinations sit after cooking and read as navigation, not feature cards. */
#homeView .home-primary-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:0 0 18px;
}
#homeView .home-primary-nav .library-summary {
  min-height:72px;
  padding:11px 12px;
  border-radius:14px;
  box-shadow:none;
}
#homeView .home-primary-nav .library-summary-label {
  color:#111;
  font-size:9px;
}
#homeView .home-primary-nav .library-summary strong {
  margin-top:4px;
  font-size:12px;
}
#homeView .home-primary-nav .library-summary small { display:none; }
#homeView .home-primary-nav .home-nav-secondary { display:none; }

/* Product compare is a secondary utility on the homepage. */
#homeView .utility-divider {
  margin-top:18px;
  margin-bottom:10px;
}
#homeView .product-compare-card {
  padding:16px 18px;
}
#homeView .product-compare-card .hero-copy {
  display:flex;
  align-items:baseline;
  gap:12px;
}
#homeView .product-compare-card .hero-copy p {
  margin:0;
  font-size:12px;
}
#homeView .preferences-summary {
  padding:11px 14px;
  box-shadow:none;
  background:#f8f6ed;
}

/* A wider shopper canvas on desktop, while retaining all existing views. */
@media (min-width:901px) {
  body:has(#homeView:not(.hidden)) .shell { width:min(1180px,100%); }
  #homeView .store-card {
    max-width:570px;
    margin-left:auto;
  }
  #homeView .compact-controls {
    grid-template-columns:.7fr .85fr 1.25fr;
  }
  #homeView .mode-switch button {
    text-align:center;
  }
}

@media (max-width:900px) {
  #homeView .cook-path-list {
    grid-template-columns:1fr;
  }
  #homeView .cook-path-summary { min-height:auto; }
  #homeView .home-primary-nav { grid-template-columns:repeat(5,minmax(118px,1fr)); overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  #homeView .home-primary-nav::-webkit-scrollbar { display:none; }
}

@media (max-width:700px) {
  #homeView .store-card {
    margin-bottom:12px;
    padding:11px 14px;
    border-width:1.5px;
    border-radius:15px;
    box-shadow:3px 3px 0 rgba(17,17,17,.09);
  }
  #homeView .store-card strong { font-size:15px; line-height:1.15; }
  #homeView .store-address { margin-top:4px; font-size:10px; line-height:1.35; }

  #homeView .cook-hero {
    border-radius:20px;
    margin-bottom:10px;
  }
  #homeView .homepage-cook-summary {
    padding:18px 16px 13px;
  }
  #homeView .homepage-cook-summary h2 {
    margin-top:7px;
    font-size:29px;
  }
  #homeView .homepage-cook-summary p {
    max-width:330px;
    font-size:12px;
    line-height:1.4;
  }
  #homeView .cook-paths-body {
    padding:0 12px 13px;
  }
  #homeView .cook-path-list { gap:8px; }
  #homeView .cook-path {
    border-radius:16px;
    box-shadow:none;
  }
  #homeView .cook-path[open] {
    box-shadow:0 5px 14px rgba(17,17,17,.04);
  }
  #homeView .cook-path-summary {
    padding:13px;
  }
  #homeView .cook-path-title strong { font-size:15px; }
  #homeView .cook-path-title small {
    font-size:10px;
    margin-top:3px;
  }
  #homeView .cook-path-number {
    flex-basis:27px;
    width:27px;
    height:27px;
  }
  #homeView .cook-path-body {
    padding:0 12px 13px;
  }
  #homeView .compact-controls {
    grid-template-columns:1fr 1fr;
  }
  #homeView .compact-controls label:last-child {
    grid-column:1/-1;
  }
  #homeView .mode-switch {
    grid-template-columns:repeat(3,1fr);
    gap:6px;
  }
  #homeView .mode-switch button {
    padding:9px 5px;
    text-align:center;
  }
  #homeView .mode-switch button small { display:none; }
  #homeView .cook-prompt,
  #homeView .cook-pantry {
    padding:12px 13px;
  }
  #homeView .cook-primary { min-height:50px; }
  #homeView .cook-quick {
    gap:5px;
  }
  #homeView .cook-quick button {
    padding:7px 9px;
    font-size:11px;
  }

  #homeView .home-primary-nav {
    display:flex;
    gap:7px;
    margin:0 -12px 13px;
    padding:0 12px 5px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
  }
  #homeView .home-primary-nav .library-summary {
    flex:0 0 110px;
    min-height:58px;
    padding:9px 10px;
    display:block;
    scroll-snap-align:start;
  }
  #homeView .home-primary-nav .library-summary-label {
    font-size:8px;
  }
  #homeView .home-primary-nav .library-summary strong {
    display:block;
    margin-top:4px;
    font-size:11px;
    text-align:left;
  }
  #homeView .home-primary-nav .home-nav-secondary { display:none; }

  #homeView .utility-divider {
    margin:15px 3px 10px;
  }
  #homeView .product-compare-card {
    padding:15px;
  }
  #homeView .product-compare-card .hero-copy {
    display:block;
  }
  #homeView .product-compare-card .hero-copy p {
    margin-top:5px;
    font-size:11px;
  }
  #homeView .product-compare-card .search-row {
    grid-template-columns:1fr;
  }
  #homeView .product-compare-card .primary { width:100%; }
  #homeView .preferences-summary {
    margin-bottom:10px;
  }
}


/* Desktop shopper web — presentation-ready pilot layout */
.desktop-hero-message { display:none; }

@media (min-width:1000px) {
  body:has(#homeView:not(.hidden)) {
    background:
      linear-gradient(180deg,var(--retail-yellow) 0 286px,var(--bg) 286px);
  }

  body:has(#homeView:not(.hidden)) .shell {
    position:relative;
    width:min(1260px,calc(100% - 40px));
    padding:0 0 86px;
  }

  body:has(#homeView:not(.hidden)) .topbar {
    min-height:286px;
    padding:32px 28px 112px;
    display:grid;
    grid-template-columns:minmax(470px,1.25fr) minmax(300px,.8fr) auto;
    align-items:start;
    gap:34px;
  }

  body:has(#homeView:not(.hidden)) .topbar-brand {
    position:relative;
    z-index:2;
    max-width:620px;
  }

  body:has(#homeView:not(.hidden)) .concept-eyebrow {
    padding:7px 12px;
    font-size:11px;
    letter-spacing:.09em;
  }

  body:has(#homeView:not(.hidden)) .topbar h1 {
    margin:14px 0 5px;
    font-size:clamp(64px,6.4vw,92px);
    line-height:.84;
    letter-spacing:-.075em;
  }

  body:has(#homeView:not(.hidden)) .topbar .sub {
    font-size:22px;
    letter-spacing:-.02em;
  }

  body:has(#homeView:not(.hidden)) .concept-notice {
    max-width:610px;
    margin-top:10px;
    font-size:10px;
  }

  body:has(#homeView:not(.hidden)) .desktop-hero-message {
    display:flex;
    position:relative;
    min-height:150px;
    padding:15px 10px 0 36px;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    isolation:isolate;
  }

  body:has(#homeView:not(.hidden)) .desktop-hero-message::before {
    content:"";
    position:absolute;
    z-index:-1;
    width:188px;
    height:188px;
    left:0;
    top:-8px;
    border:2px solid rgba(17,17,17,.14);
    border-radius:50%;
    background:
      radial-gradient(circle at 36% 36%,#fff4a6 0 13%,transparent 14%),
      radial-gradient(circle at 65% 38%,#111 0 4%,transparent 5%),
      radial-gradient(circle at 47% 66%,#111 0 3%,transparent 4%),
      linear-gradient(135deg,#ffdf3c 0%,#f5bd00 100%);
    box-shadow:inset -20px -22px 40px rgba(17,17,17,.07);
    opacity:.95;
  }

  body:has(#homeView:not(.hidden)) .desktop-hero-message strong {
    max-width:220px;
    font-size:34px;
    line-height:.9;
    letter-spacing:-.055em;
    transform:rotate(-4deg);
  }

  body:has(#homeView:not(.hidden)) .desktop-hero-message span {
    margin:14px 0 0 88px;
    font-size:11px;
    font-weight:900;
    line-height:1.22;
    transform:rotate(3deg);
  }

  body:has(#homeView:not(.hidden)) .topbar-actions {
    position:relative;
    z-index:3;
    padding-top:2px;
  }

  body:has(#homeView:not(.hidden)) .topbar-actions .icon-btn {
    width:48px;
    height:48px;
    border-radius:16px;
  }

  #homeView {
    position:relative;
    z-index:2;
  }

  #homeView .daily-household-snapshot {
    margin:0 24px 18px;
  }

  #homeView .store-card {
    position:absolute;
    z-index:8;
    width:min(470px,42vw);
    max-width:none;
    right:24px;
    top:-101px;
    margin:0;
    padding:15px 18px;
    border:1px solid rgba(17,17,17,.16);
    border-radius:18px;
    box-shadow:0 12px 28px rgba(17,17,17,.16);
  }

  #homeView .store-card::before {
    content:"●";
    display:grid;
    place-items:center;
    position:absolute;
    left:16px;
    top:17px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--retail-yellow);
    color:#111;
    font-size:13px;
  }

  #homeView .store-card .row {
    padding-left:44px;
  }

  #homeView .store-card .label {
    font-size:10px;
    letter-spacing:.1em;
  }

  #homeView .store-card strong {
    display:block;
    margin-top:2px;
    font-size:16px;
  }

  #homeView .store-card .link-btn {
    min-height:38px;
    padding:0 2px 0 16px;
    border-left:1px solid #d5d0c1;
    text-decoration:none;
  }

  #homeView .cook-hero {
    margin:0 0 14px;
    border:0;
    border-radius:30px 30px 20px 20px;
    box-shadow:0 16px 44px rgba(17,17,17,.10);
    overflow:hidden;
  }

  #homeView .homepage-cook-summary {
    padding:30px 30px 19px;
  }

  #homeView .homepage-cook-summary .cook-kicker {
    display:none;
  }

  #homeView .homepage-cook-summary h2 {
    margin:0 0 6px;
    font-size:44px;
  }

  #homeView .homepage-cook-summary p {
    margin:0;
    font-size:15px;
  }

  #homeView .cook-paths-body {
    padding:0 28px 28px;
  }

  #homeView .cook-path-list {
    grid-template-columns:minmax(0,1.55fr) minmax(260px,.72fr) minmax(260px,.72fr);
    gap:14px;
  }

  #homeView .cook-path {
    height:100%;
    background:#fff;
  }

  #homeView .cook-path:first-child {
    border:2px solid var(--retail-yellow);
    background:linear-gradient(180deg,#fffef7,#fff);
  }

  #homeView .cook-path-summary {
    min-height:94px;
    padding:17px 18px 14px;
  }

  #homeView .cook-path-summary::after {
    display:none;
  }

  #homeView .cook-path-title {
    align-items:flex-start;
  }

  #homeView .cook-path-number {
    width:31px;
    height:31px;
    flex-basis:31px;
    background:#111;
    color:var(--retail-yellow);
  }

  #homeView .cook-path:first-child .cook-path-number {
    background:var(--retail-yellow);
    color:#111;
  }

  #homeView .cook-path-title strong {
    font-size:19px;
  }

  #homeView .cook-path-title small {
    max-width:330px;
    font-size:11px;
  }

  #homeView .cook-path-body {
    padding:0 18px 18px;
  }

  #homeView .cook-household-context {
    min-height:55px;
    padding:10px 12px;
    background:#f7f5ec;
    border-color:#e3ded0;
  }

  #homeView .cook-household-context strong {
    font-size:11px;
  }

  #homeView .cook-household-context span {
    margin-top:2px;
    font-size:9px;
    line-height:1.35;
  }

  #homeView .cook-path-actions-top {
    min-height:16px;
    margin:4px 0 2px;
  }

  #homeView .cook-reset-link {
    font-size:9px;
  }

  #homeView .cook-prompt {
    min-height:50px;
    padding:11px 13px;
    font-size:12px;
  }

  #homeView .compact-controls {
    grid-template-columns:.7fr .8fr 1.2fr;
    gap:8px;
  }

  #homeView .compact-controls input,
  #homeView .compact-controls select,
  #homeView .home-deal-controls input,
  #homeView .home-deal-controls select {
    min-height:42px;
    padding-top:9px;
    padding-bottom:9px;
    font-size:12px;
  }

  #homeView .mode-switch {
    gap:7px;
  }

  #homeView .mode-switch button {
    min-height:48px;
    padding:8px 7px;
  }

  #homeView .mode-switch button strong {
    font-size:11px;
  }

  #homeView .mode-switch button small {
    font-size:8px;
  }

  #homeView .cook-pantry {
    min-height:43px;
    padding:10px 12px;
    font-size:12px;
  }

  #homeView .cook-primary {
    min-height:49px;
    font-size:14px;
  }

  #homeView .home-deal-controls {
    gap:8px;
  }

  #homeView .home-deal-controls .primary,
  #homeView .cook-household-actions .primary,
  #homeView .cook-household-actions .secondary-action,
  #homeView .cook-path-secondary .secondary-action {
    min-height:44px;
    font-size:11px;
  }

  #homeView .home-primary-nav {
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin:0 0 12px;
  }

  #homeView .home-primary-nav .library-summary {
    min-height:61px;
    padding:10px 12px;
    border-top-width:3px;
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
  }

  #homeView .home-primary-nav .library-summary:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(17,17,17,.08);
  }

  #homeView .home-primary-nav .library-summary-label {
    font-size:8px;
  }

  #homeView .home-primary-nav .library-summary strong {
    margin-top:3px;
    font-size:12px;
  }

  #homeView .utility-divider {
    margin:16px 0 9px;
  }

  #homeView .product-compare-card {
    display:grid;
    grid-template-columns:minmax(210px,.8fr) minmax(440px,1.65fr);
    column-gap:22px;
    row-gap:8px;
    align-items:center;
    padding:17px 20px;
  }

  #homeView .product-compare-card .hero-copy {
    display:block;
  }

  #homeView .product-compare-card .hero-copy .label {
    color:#111;
  }

  #homeView .product-compare-card .hero-copy p {
    margin-top:4px;
    font-size:11px;
  }

  #homeView .product-compare-card .search-row {
    margin:0;
    grid-template-columns:1fr auto;
  }

  #homeView .product-compare-card .quick-pills {
    grid-column:2;
    margin-top:0;
  }

  #homeView .product-compare-card .quick-pills button {
    padding:6px 10px;
    font-size:10px;
  }

  #homeView .preferences-summary {
    margin:0 0 14px;
  }

  #homeView .coming-next,
  #homeView .disclaimer {
    max-width:850px;
  }

  #homeView .coming-next {
    margin-top:28px;
  }

  #homeView .disclaimer {
    background:rgba(255,255,255,.68);
    box-shadow:none;
  }

  #homeView .app-legal-footer {
    margin-top:34px;
  }
}

@media (min-width:1280px) {
  body:has(#homeView:not(.hidden)) .shell {
    width:min(1320px,calc(100% - 64px));
  }

  body:has(#homeView:not(.hidden)) .topbar {
    padding-left:36px;
    padding-right:36px;
  }

  #homeView .store-card {
    right:34px;
    width:500px;
  }

  #homeView .cook-path-list {
    grid-template-columns:minmax(0,1.62fr) minmax(280px,.74fr) minmax(280px,.74fr);
  }
}

/* Desktop flattened food hero override */
@media (min-width:1000px) {
  body:has(#homeView:not(.hidden)) .desktop-hero-message {
    min-height:176px;
    padding:0;
    background-image:url("/assets/appnsave-desktop-food-hero.webp?v=2");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
  }
  body:has(#homeView:not(.hidden)) .desktop-hero-message::before { display:none; }
  body:has(#homeView:not(.hidden)) .desktop-hero-message strong,
  body:has(#homeView:not(.hidden)) .desktop-hero-message span { display:none; }
}


/* Desktop food hero visibility fix */
@media (min-width:1000px) {
  body:has(#homeView:not(.hidden)) .topbar {
    position:relative;
    grid-template-columns:minmax(430px,1fr) minmax(360px,.9fr) auto;
    overflow:visible;
  }

  body:has(#homeView:not(.hidden)) .topbar-brand {
    max-width:560px;
  }

  body:has(#homeView:not(.hidden)) .desktop-hero-message {
    display:block;
    position:absolute;
    z-index:1;
    top:18px;
    right:92px;
    width:min(49%,640px);
    min-height:0;
    height:218px;
    padding:0;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    border-radius:0;
    overflow:hidden;
    pointer-events:none;
  }

  body:has(#homeView:not(.hidden)) .topbar-actions {
    position:absolute;
    top:30px;
    right:28px;
  }
}

@media (min-width:1000px) and (max-width:1179px) {
  body:has(#homeView:not(.hidden)) .desktop-hero-message {
    right:82px;
    width:46%;
    height:190px;
    top:28px;
    background-size:cover;
  }

  body:has(#homeView:not(.hidden)) .topbar-brand {
    max-width:500px;
  }

  body:has(#homeView:not(.hidden)) .topbar h1 {
    font-size:64px;
  }
}

@media (min-width:1280px) {
  body:has(#homeView:not(.hidden)) .desktop-hero-message {
    right:105px;
    width:min(50%,680px);
    height:228px;
    top:16px;
  }

  body:has(#homeView:not(.hidden)) .topbar-actions {
    right:36px;
  }
}


/* Desktop polish sweep */
.beta-mobile{display:none}.beta-desktop{display:inline}
.bookmark-page-btn{
  width:auto!important;
  min-width:58px;
  height:40px;
  padding:0 14px;
  border-radius:999px!important;
  font-size:12px;
  font-weight:1000;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
}
.bookmark-page-btn.installable{background:#111;color:var(--retail-yellow);border-color:#111}
.bookmark-page-btn.installed{background:#111;color:#fff;border-color:#111}
.bookmark-page-btn .install-action-label{display:block}

.save-app-dialog{border:0;padding:0;background:transparent;max-width:min(520px,calc(100vw - 28px));width:100%}
.save-app-dialog::backdrop{background:rgba(17,17,17,.55);backdrop-filter:blur(3px)}
.save-app-sheet{background:#fff;border:1px solid #ddd7c8;border-radius:24px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.save-app-steps{display:grid;gap:10px;margin:18px 0}
.save-app-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #e7e1d3;border-radius:15px;background:#faf9f5}
.save-app-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--retail-yellow);color:#111;font-size:12px}
.save-app-step span{font-size:12px;line-height:1.5;color:#4f4a40}
.save-app-shortcut{display:inline-flex;margin-top:8px;border:1px solid #d7d1c3;border-radius:9px;background:#fff;padding:6px 9px;font-weight:900;color:#111}
.save-app-safari-btn{margin-top:4px}
.home-footer-grid{display:grid;gap:14px;margin-top:26px}
.home-footer-grid .coming-next,.home-footer-grid .disclaimer{margin:0;max-width:none}
.footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.built-by{color:#111;font-weight:900;text-decoration:none}.built-by:hover{text-decoration:underline}

@media (min-width:1000px){
  .shell{width:min(1260px,calc(100% - 40px));padding:0 0 88px}
  .standalone-view{width:100%;padding-top:0;font-size:16px}
  .standalone-head{grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:start;padding:20px 0 34px;margin-bottom:28px}
  .standalone-head>div{max-width:920px}
  .standalone-head h2{margin-top:4px;font-size:clamp(42px,4vw,54px)}
  .standalone-head p{max-width:840px;font-size:16px;line-height:1.55}
  .back-btn{margin-top:2px;padding:10px 15px;font-size:13px}
  .page-card{padding:24px}.page-list{gap:16px}
  .page-summary-card{padding:17px 19px;border-radius:18px;margin-bottom:18px}
  .page-summary-card strong{font-size:16px}.page-summary-card span{font-size:13px;line-height:1.45}
  .page-empty{padding:20px;font-size:14px}
  .standalone-view .eyebrow{font-size:12px}
  .standalone-view p,.standalone-view .summary-text,.standalone-view .section-sub{font-size:15px;line-height:1.5}
  .standalone-view small{font-size:12px;line-height:1.45}
  .standalone-view button,.standalone-view input,.standalone-view select,.standalone-view textarea{font-size:14px}
  .standalone-view label>span,.standalone-view .label,.standalone-view .household-sort span{font-size:12px}
  .standalone-view .household-filters button{font-size:13px;padding:9px 12px}
  .standalone-view .household-sort{flex-basis:220px}
  .standalone-view .household-sort select{font-size:14px;padding:11px 12px}
  .standalone-view .household-add-panel>summary{font-size:14px;padding:14px 16px}
  .standalone-view .household-add-form label>span{font-size:12px}
  .standalone-view .household-add-form input,.standalone-view .household-add-form select{font-size:14px;padding:11px 12px}
  .standalone-view .cart-product-main small,.standalone-view .cart-search small,.standalone-view .basket-review-actions p,.standalone-view .weekly-cart-action small{font-size:12px}
  .standalone-view .cart-line-actions button{font-size:12px;min-height:38px}
  .standalone-view .cart-source-chip{font-size:11px}
  .standalone-view .recipe-library-quick-filters label>span,.standalone-view .recipe-library-more-filters .recipe-library-filters label>span{font-size:11px}
  .standalone-view .recipe-library-quick-filters select,.standalone-view .recipe-library-more-filters .recipe-library-filters select{font-size:14px}
}


@media (min-width:1000px){
  body:has(#homeView:not(.hidden)) .desktop-hero-message{
    display:block;
    background-image:url("/assets/appnsave-hero-transparent.webp?v=1")!important;
    background-color:transparent;
    background-blend-mode:normal;
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  #homeView .homepage-cook-summary,#homeView .cook-path-summary{cursor:default;pointer-events:none}
  #homeView .homepage-cook-summary::after,#homeView .cook-path-summary::after{display:none!important}
  #homeView .homepage-cook-summary p{font-size:17px}
  #homeView .cook-path-title strong{font-size:20px}
  #homeView .cook-path-title small{font-size:13px;line-height:1.42}
  #homeView .cook-household-context strong{font-size:13px}
  #homeView .cook-household-context span{font-size:12px;line-height:1.42}
  #homeView .cook-reset-link{font-size:11px}
  #homeView .cook-prompt-label{font-size:13px}
  #homeView .cook-prompt,#homeView .cook-pantry,#homeView .compact-controls input,#homeView .compact-controls select,#homeView .home-deal-controls input,#homeView .home-deal-controls select{font-size:14px}
  #homeView .mode-switch button strong{font-size:13px}
  #homeView .mode-switch button small{font-size:10px}
  #homeView .cook-primary{font-size:15px}
  #homeView .home-deal-controls .primary,#homeView .cook-household-actions .primary,#homeView .cook-household-actions .secondary-action,#homeView .cook-path-secondary .secondary-action{font-size:13px}
  #homeView .home-primary-nav .library-summary-label{font-size:9px}
  #homeView .home-primary-nav .library-summary strong{font-size:14px}
  #homeView .product-compare-card .hero-copy p{font-size:13px}
  #homeView .product-compare-card .quick-pills button{font-size:12px}

  #homeView .home-footer-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:stretch;margin-top:30px}
  #homeView .home-footer-grid .coming-next,#homeView .home-footer-grid .disclaimer{min-height:100%;padding:24px 26px;border-radius:20px}
  #homeView .home-footer-grid .coming-next{margin-top:0}
  #homeView .home-footer-grid .coming-next strong{display:block;margin-top:8px;font-size:25px;line-height:1.18;letter-spacing:-.025em}
  #homeView .home-footer-grid .coming-next p,#homeView .home-footer-grid .disclaimer p{margin:10px 0 0;font-size:13px;line-height:1.55}
  #homeView .home-footer-grid .disclaimer{background:#fffdf4;border:1px solid #d8d1b9}
  #homeView .home-footer-grid .disclaimer>strong{display:block;margin-top:8px;font-size:20px}

  .app-legal-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;margin-top:30px}
  .app-legal-footer .footer-brand{font-size:13px}
  .app-legal-footer nav{display:flex;gap:18px}
  .app-legal-footer a{font-size:13px}
}

@media (max-width:700px){
  .beta-desktop{display:none}.beta-mobile{display:inline}
  .concept-eyebrow{white-space:nowrap;font-size:8px;letter-spacing:.055em;padding:6px 9px}
  .topbar{position:relative}
  .topbar>div:first-child{padding-right:146px}
  .topbar-actions{position:absolute;top:14px;right:4px;gap:5px;z-index:4}
  .topbar .menu-icon{position:static}
  .topbar-actions .icon-btn{width:40px;height:40px;border-radius:13px}
  .topbar-actions .bookmark-page-btn{width:auto!important;min-width:54px;height:40px;padding:0 12px;border-radius:999px!important;font-size:11px}
  .home-footer-grid{grid-template-columns:1fr;margin-top:18px}
  .app-legal-footer .footer-brand{display:grid;gap:5px}
}

.desktop-cook-art{display:none}

@media (min-width:1000px){
  body:has(#homeView:not(.hidden)) .desktop-hero-message{
    min-height:176px;
    background-size:contain!important;
    background-position:center center!important;
    background-color:transparent!important;
  }
  #homeView .cook-path-body{
    display:flex;
    flex-direction:column;
    min-height:100%;
  }
  #homeView .desktop-cook-art{
    display:block;
    width:100%;
    height:auto;
    max-height:205px;
    object-fit:contain;
    object-position:center bottom;
    margin:auto auto -2px;
    padding-top:12px;
    pointer-events:none;
    user-select:none;
  }
  #homeView .desktop-cook-art-specials{max-height:190px}
  #homeView .desktop-cook-art-pantry{max-height:205px}
}


/* desktop cook artwork alignment */
@media (min-width:1000px){
  #homeView .desktop-cook-art-wrap{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:180px;
    padding:18px 12px;
  }

  #homeView .desktop-cook-art{
    display:block;
    width:auto;
    max-width:94%;
    height:auto;
    object-fit:contain;
    object-position:center;
    margin:0 auto;
    padding-top:0;
  }

  #homeView .desktop-cook-art-specials{
    max-height:215px;
  }

  #homeView .desktop-cook-art-pantry{
    max-height:245px;
  }
}


/* Budget meal discovery — four compact filters on desktop, clean 2×2 layout on small screens. */
#homeView .compact-controls{grid-template-columns:.65fr .8fr 1.2fr 1.25fr}
@media(max-width:900px){
  #homeView .compact-controls{grid-template-columns:1fr 1fr}
  #homeView .compact-controls label:last-child{grid-column:auto}
}

.notification-target{outline:3px solid rgba(245,196,0,.75);outline-offset:3px;box-shadow:0 0 0 7px rgba(245,196,0,.15);transition:box-shadow .2s ease,outline-color .2s ease}

.account-quick-btn{position:relative;display:grid;place-items:center;flex:0 0 auto}
.account-quick-btn svg{display:block;width:21px;height:21px}
.account-quick-btn.signed-in::after{content:"";position:absolute;right:2px;bottom:2px;width:10px;height:10px;border-radius:999px;background:#16a34a;border:2px solid var(--retail-yellow,#ffd400)}
.account-card{max-width:560px}
.account-welcome-intro{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;margin:0 0 1rem;padding:14px;border:1px solid #e3dece;border-radius:16px;background:#fff9d8}
.account-welcome-intro img{display:block;width:64px;height:64px;border-radius:14px}
.account-welcome-intro strong,.account-welcome-intro span{display:block}
.account-welcome-intro strong{font-size:1rem;color:#111}
.account-welcome-intro span{margin-top:4px;color:var(--muted,#666);font-size:.78rem;line-height:1.45}
.account-benefits,.account-signed-in{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:14px;background:var(--surface-soft,#f7f7f2);margin-bottom:1rem}
.account-benefits span,.account-signed-in small{color:var(--muted,#666);line-height:1.45}
.account-signed-in strong{font-size:1.05rem;overflow-wrap:anywhere}
.account-card .field{margin:1rem 0}.account-card .field input{width:100%}
.account-continue-guest{width:100%;min-height:48px;margin-top:12px;font-weight:900}
.account-dialog[data-welcome="true"] #accountCloseBtn{display:none}
.account-dialog[data-welcome="true"] .account-card{border-top:6px solid var(--retail-yellow,#ffd400)}
@media(max-width:520px){
  .account-welcome-intro{grid-template-columns:52px minmax(0,1fr);padding:12px}
  .account-welcome-intro img{width:52px;height:52px}
}


/* Weekly Shop → Cart safety flow */
.weekly-cart-dialog{
  width:min(92vw,560px);
  border:0;
  padding:0;
  background:transparent;
}
.weekly-cart-dialog::backdrop{background:rgba(17,24,39,.52)}
.weekly-cart-card{
  background:#fff;
  border-radius:22px;
  padding:20px;
  box-shadow:0 24px 70px rgba(17,24,39,.28);
}
.weekly-cart-summary{
  display:grid;
  gap:8px;
  margin:14px 0;
}
.weekly-cart-summary>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e6e1d4;
  border-radius:13px;
  background:#f8f7f2;
}
.weekly-cart-summary>div.combined{
  background:#fff8bf;
  border-color:#e6cf45;
}
.weekly-cart-summary span{
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.weekly-cart-summary strong{
  text-align:right;
  font-size:10px;
}
.weekly-cart-note,
.weekly-cart-danger-note{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border-radius:13px;
  font-size:9px;
  line-height:1.45;
}
.weekly-cart-note{
  background:#eff8ff;
  border:1px solid #b2ddff;
  color:#175cd3;
}
.weekly-cart-danger-note{
  background:#fff1f0;
  border:1px solid #f4b6b1;
  color:#8f1d18;
}
.weekly-cart-danger-note strong,
.weekly-cart-danger-note span{display:block}
.weekly-cart-choice-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.weekly-cart-choice-actions .primary{grid-column:1/-1}
.weekly-cart-confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.weekly-cart-replace{
  border:1px solid #efb4ae;
  background:#fff;
  color:#9d211b;
  border-radius:14px;
  min-height:48px;
  padding:10px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.weekly-cart-replace:hover{background:#fff4f2}
.weekly-cart-danger-card{border-top:6px solid #c9372c}
@media(max-width:600px){
  .weekly-cart-choice-actions,
  .weekly-cart-confirm-actions{grid-template-columns:1fr}
  .weekly-cart-choice-actions .primary{grid-column:auto}
}


/* Meal plan snapshots attached to Cart */
.cart-meal-plans{margin:14px 0;padding:16px;border-top:5px solid var(--retail-yellow)}
.cart-meal-plans-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.cart-meal-plans-head h3{margin:4px 0 5px;font-size:22px}
.cart-meal-plans-head p{margin:0;color:#667085;font-size:10px;line-height:1.45}
.cart-meal-plans-list,.meal-plans-page-list{display:grid;gap:12px;margin-top:14px}
.meal-plan-card{border:1px solid var(--line);border-top:5px solid var(--retail-yellow);border-radius:18px;background:#fff;padding:14px;box-shadow:var(--shadow)}
.meal-plan-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.meal-plan-card-head h3{margin:3px 0 4px;font-size:19px;line-height:1.15}
.meal-plan-card-head p{margin:0;color:#667085;font-size:9px}
.meal-plan-date-range{display:block;color:#5f5b50;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.meal-plan-saved-stamp{flex:0 0 auto;border-radius:999px;background:#f1efe6;padding:6px 8px;color:#676258;font-size:8px;font-weight:800}
.meal-plan-preview{display:grid;gap:4px;margin-top:11px;padding:10px 11px;border-radius:13px;background:#faf8ef}
.meal-plan-preview span,.meal-plan-preview small{display:block;font-size:9px;line-height:1.35}
.meal-plan-preview small{color:#7a756a;font-weight:800}
.meal-plan-card-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}
.meal-plan-card-actions button{min-width:0;padding:9px 7px;font-size:9px}
.meal-plan-remove-action{
  width:100%;
  margin-top:8px;
  padding:10px 12px;
  border:1px solid #efaaa4;
  border-radius:999px;
  background:#fff;
  color:#b42318;
  font:inherit;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.meal-plan-remove-action:hover,
.meal-plan-remove-action:focus-visible{
  background:#fff4f3;
  border-color:#d92d20;
}
.meal-plan-remove-action:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}
.meal-plan-legacy-note{display:grid;gap:4px;padding:11px 12px;border:1px solid #f2c94c;border-radius:13px;background:#fff9d9}
.meal-plan-legacy-note strong{font-size:10px}.meal-plan-legacy-note span{color:#6f685a;font-size:9px;line-height:1.45}

.cart-meal-uses{margin-top:8px;border:1px solid #e4dfd1;border-radius:11px;background:#faf9f4;overflow:hidden}
.cart-meal-uses>summary{cursor:pointer;list-style:none;padding:8px 10px;font-size:9px;font-weight:900;color:#5f5b50}
.cart-meal-uses>summary::-webkit-details-marker{display:none}
.cart-meal-uses>summary::after{content:" +";float:right}
.cart-meal-uses[open]>summary::after{content:" −"}
.cart-meal-uses>div{display:grid;gap:1px;border-top:1px solid #e7e2d5}
.cart-meal-uses button{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;text-align:left;border:0;background:#fff;padding:8px 10px;color:inherit}
.cart-meal-uses button+button{border-top:1px solid #eee9dd}
.cart-meal-uses button span{grid-row:1/3;color:#777166;font-size:8px;min-width:66px}
.cart-meal-uses button strong{font-size:9px}.cart-meal-uses button small{color:#898377;font-size:8px}

.meal-plan-dialog{width:min(94vw,760px);max-height:92vh;border:0;padding:0;background:transparent}
.meal-plan-dialog::backdrop{background:rgba(17,24,39,.58)}
.meal-plan-dialog-card{background:#fffdf3;border:3px solid #111;border-radius:24px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.meal-plan-dialog-body{display:grid;gap:8px;max-height:62vh;overflow:auto;margin-top:12px}
.meal-plan-fridge-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:8px 2px}
.meal-plan-fridge-head strong{font-size:14px}.meal-plan-fridge-head span{color:#777166;font-size:9px}
.meal-plan-recipe-row{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;border:1px solid #e1dccd;border-radius:14px;background:#fff;padding:10px}
.meal-plan-check{font-size:21px;color:#756f63}
.meal-plan-recipe-copy span,.meal-plan-recipe-copy strong,.meal-plan-recipe-copy small{display:block}
.meal-plan-recipe-copy span{color:#746e62;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.meal-plan-recipe-copy strong{font-size:11px;margin-top:2px}
.meal-plan-recipe-copy small{font-size:8px;color:#777166;margin-top:2px}
.meal-plan-recipe-row button{padding:8px 10px;font-size:9px}
.meal-plan-dialog-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}
.meal-plan-dialog-actions button{min-width:0;font-size:9px}

@media(max-width:700px){
  .cart-meal-plans-head{flex-direction:column}
  .cart-meal-plans-head .secondary-action{width:100%}
  .meal-plan-card-actions{grid-template-columns:1fr 1fr}
  .meal-plan-recipe-row{grid-template-columns:24px 1fr}
  .meal-plan-recipe-row button{grid-column:2}
  .meal-plan-dialog-actions{grid-template-columns:1fr}
}


/* Branded in-app Meal Planner print/PDF preview */
body.meal-plan-preview-open{overflow:hidden}
.meal-plan-print-preview{position:fixed;inset:0;z-index:5000;overflow:auto;background:#d9d8d2;padding:0 0 34px}
.meal-plan-preview-toolbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));background:rgba(17,17,17,.96);color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.2)}
.meal-plan-preview-toolbar>div{min-width:0}
.meal-plan-preview-toolbar strong,.meal-plan-preview-toolbar span{display:block}
.meal-plan-preview-toolbar strong{font-size:14px}
.meal-plan-preview-toolbar span{margin-top:2px;color:#cbc9bf;font-size:9px}
.meal-plan-preview-back{border:1px solid #4d4d4d;background:#242424;color:#fff;border-radius:999px;padding:9px 13px;font-weight:850}
.meal-plan-preview-toolbar .primary{min-height:auto;padding:10px 14px}
.meal-plan-print-pages{display:grid;gap:24px;max-width:940px;margin:24px auto;padding:0 16px}
.planner-page{position:relative;background:#fff;border-radius:4px;box-shadow:0 16px 46px rgba(0,0,0,.15);padding:30px 34px 26px;overflow:hidden}
.planner-page::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:#ffd400}
.planner-brand-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:3px}
.planner-brand{display:flex;align-items:center;gap:11px}
.planner-brand img{width:48px;height:48px;border-radius:12px}
.planner-brand strong,.planner-brand span{display:block}
.planner-brand strong{font-size:26px;line-height:1;font-weight:950;letter-spacing:-1.2px}
.planner-brand span{margin-top:4px;color:#66635c;font-size:7px;font-weight:850;letter-spacing:1.2px}
.planner-store{border:1px solid #d8cf9d;border-radius:999px;background:#fff5bd;padding:9px 13px;font-size:10px;font-weight:900;white-space:nowrap}
.planner-title-block{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:24px 0 16px;border-bottom:1px solid #dad8cf}
.planner-kicker{display:block;margin-bottom:4px;color:#827a52;font-size:8px;font-weight:950;letter-spacing:1.5px}
.planner-title-block h1{margin:0;font-size:32px;line-height:1;letter-spacing:-1.7px}
.planner-title-block p{margin:5px 0 0;color:#6e6b63;font-size:13px;font-weight:700}
.planner-week-badge{flex:0 0 auto;border-radius:999px;background:#111;color:#ffd400;padding:8px 12px;font-size:9px;font-weight:950;letter-spacing:1px}
.planner-meals{display:grid}
.planner-row{display:grid;grid-template-columns:28px 62px minmax(0,1fr) 74px 86px 86px;align-items:center;gap:11px;min-height:76px;border-bottom:1px solid #e1dfd7;padding:9px 0}
.planner-check{width:20px;height:20px;border:2px solid #151515;border-radius:5px}
.planner-date strong,.planner-date span,.planner-meal strong,.planner-meal span,.planner-cost span,.planner-cost strong{display:block}
.planner-date strong{font-size:12px;font-weight:950}
.planner-date span{margin-top:3px;color:#747168;font-size:9px}
.planner-meal strong{font-size:15px;line-height:1.12;font-weight:900;letter-spacing:-.2px}
.planner-meal span{margin-top:4px;color:#77736b;font-size:8.5px;line-height:1.25}
.planner-time-wrap{text-align:right}
.planner-time{font-size:9px;font-weight:850;white-space:nowrap}
.planner-cost{border-radius:10px;background:#edf5ec;padding:8px 7px;text-align:center}
.planner-cost span{color:#66735f;font-size:7px;font-weight:800}
.planner-cost strong{margin-top:2px;font-size:13px}
.planner-week-summary{margin-top:18px;border-radius:16px;background:linear-gradient(135deg,#eaf4eb,#f3f8f2);padding:16px}
.planner-week-summary h2{margin:0 0 10px;font-size:20px;letter-spacing:-.6px}
.planner-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.planner-summary-grid>div{border:1px solid #d9e8da;border-radius:12px;background:rgba(255,255,255,.8);padding:10px 11px}
.planner-summary-grid span,.planner-summary-grid strong{display:block}
.planner-summary-grid span{color:#54705d;font-size:8px;font-weight:850}
.planner-summary-grid strong{margin-top:4px;font-size:18px}
.planner-week-summary>small{display:block;margin-top:6px;color:#718074;font-size:7px}
.planner-notes{display:grid;grid-template-columns:1.2fr 2fr;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #d3e2d4}
.planner-notes>div:first-child strong,.planner-notes>div:first-child span{display:block}
.planner-notes>div:first-child strong{font-size:11px}.planner-notes>div:first-child span{margin-top:3px;color:#6c786e;font-size:7px}
.planner-note-lines{display:grid;gap:7px}.planner-note-lines i{display:block;border-bottom:1px solid #91aa97;min-height:8px}
.planner-app-link{grid-column:1/-1;display:flex;align-items:center;gap:12px;border-radius:11px;background:#fff;padding:9px 11px}
.planner-app-link strong{font-size:10px;white-space:nowrap}.planner-app-link span{color:#666d67;font-size:8px;line-height:1.3}
.planner-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:9px;border-top:1px solid #dfddd5;color:#89867d;font-size:7px}
.planner-empty{padding:40px;text-align:center;color:#777}

@media(max-width:760px){
  .meal-plan-preview-toolbar{grid-template-columns:auto 1fr}.meal-plan-preview-toolbar .primary{grid-column:1/-1;width:100%}
  .meal-plan-print-pages{margin:12px auto;padding:0 8px;gap:14px}
  .planner-page{padding:22px 18px 18px}
  .planner-brand img{width:40px;height:40px}.planner-brand strong{font-size:21px}.planner-store{font-size:8px;padding:7px 9px}
  .planner-title-block{padding:18px 0 12px}.planner-title-block h1{font-size:27px}.planner-title-block p{font-size:10px}.planner-week-badge{font-size:7px;padding:6px 8px}
  .planner-row{grid-template-columns:24px 48px minmax(0,1fr) 58px;gap:8px;min-height:70px}
  .planner-time-wrap{grid-column:4;grid-row:1;text-align:right}
  .planner-cost{grid-row:2;padding:5px}.planner-row .planner-cost:nth-last-child(2){grid-column:3}.planner-row .planner-cost:last-child{grid-column:4}
  .planner-meal strong{font-size:13px}.planner-cost strong{font-size:11px}
}

@media print{
  @page{size:auto;margin:4mm}
  body>*:not(#mealPlanPrintPreview){display:none!important}
  body{margin:0!important;padding:0!important;background:#fff!important}
  #mealPlanPrintPreview{display:block!important;position:static!important;inset:auto!important;overflow:visible!important;background:#fff!important;padding:0!important}
  .meal-plan-preview-toolbar{display:none!important}
  .meal-plan-print-pages{display:block!important;max-width:none!important;margin:0!important;padding:0!important}
  .planner-page{
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:4mm 5mm 3.5mm!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    break-after:page;
    page-break-after:always;
    break-inside:avoid;
    page-break-inside:avoid;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .planner-page:last-child{break-after:auto;page-break-after:auto}
  .planner-page::before{height:2mm}
  .planner-brand img{width:9mm;height:9mm;border-radius:2mm}
  .planner-brand strong{font-size:15pt}.planner-brand span{font-size:4.6pt}
  .planner-store{padding:1.5mm 2.5mm;font-size:6pt}
  .planner-title-block{padding:3.5mm 0 2.5mm}.planner-title-block h1{font-size:20pt}.planner-title-block p{font-size:7.2pt}
  .planner-kicker{font-size:5pt;margin-bottom:1mm}
  .planner-week-badge{font-size:5.2pt;padding:1.4mm 2.2mm}
  .planner-row{
    grid-template-columns:5.5mm 13mm minmax(0,1fr) 17mm 20mm 20mm;
    gap:1.7mm;
    min-height:16mm;
    padding:1.2mm 0;
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .planner-check{width:4.4mm;height:4.4mm;border-width:1.4pt}
  .planner-date strong{font-size:7pt}.planner-date span{font-size:5.7pt;margin-top:.6mm}
  .planner-meal strong{font-size:8.5pt;line-height:1.08}.planner-meal span{font-size:5.3pt;margin-top:.7mm}
  .planner-time-wrap{grid-column:auto!important;grid-row:auto!important;text-align:right!important}
  .planner-time{font-size:5.6pt}
  .planner-cost{grid-column:auto!important;grid-row:auto!important;padding:1.2mm .8mm;border-radius:2mm}
  .planner-row .planner-cost:nth-last-child(2),.planner-row .planner-cost:last-child{grid-column:auto!important;grid-row:auto!important}
  .planner-cost span{font-size:4.5pt}.planner-cost strong{font-size:7.2pt}
  .planner-week-summary{margin-top:2.4mm;padding:2.4mm;border-radius:3mm}
  .planner-week-summary h2{font-size:11pt;margin-bottom:1.5mm}
  .planner-summary-grid{gap:1.4mm}.planner-summary-grid>div{padding:1.7mm;border-radius:2.2mm}
  .planner-summary-grid span{font-size:4.8pt}.planner-summary-grid strong{font-size:9pt;margin-top:.7mm}
  .planner-week-summary>small{font-size:4.3pt;margin-top:1mm}
  .planner-notes{margin-top:1.8mm;padding-top:1.8mm;gap:2mm}
  .planner-notes>div:first-child strong{font-size:6.4pt}.planner-notes>div:first-child span{font-size:4.5pt;margin-top:.5mm}
  .planner-note-lines{gap:1.2mm}.planner-note-lines i{min-height:2mm}
  .planner-app-link{padding:1.5mm 2mm;border-radius:2mm}
  .planner-app-link strong{font-size:5.8pt}.planner-app-link span{font-size:4.5pt}
  .planner-footer{margin-top:1.8mm;padding-top:1.4mm;font-size:4.3pt}
}


/* desktop household fridge artwork balance */
@media (min-width:1000px){
  #homeView #cookHouseholdPanel[open]{
    display:flex;
    flex-direction:column;
  }

  #homeView #cookHouseholdPanel .cook-path-body{
    flex:1 1 auto;
    min-height:0;
  }

  #homeView #cookHouseholdPanel .desktop-cook-art-wrap{
    flex:1 1 auto;
    min-height:0;
    padding:22px 8px 26px;
  }

  #homeView #cookHouseholdPanel .desktop-cook-art-pantry{
    width:100%;
    max-width:300px;
    max-height:300px;
    object-position:center center;
  }
}


/* deterministic desktop household fridge centering */
@media (min-width:1000px){
  #homeView #cookHouseholdPanel[open]{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr);
    height:100%;
  }

  #homeView #cookHouseholdPanel .cook-path-body{
    display:grid !important;
    grid-template-rows:auto auto auto minmax(0,1fr);
    min-height:0;
    height:100%;
  }

  #homeView #cookHouseholdPanel .desktop-cook-art-wrap{
    min-height:220px;
    height:100%;
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:18px 6px 24px;
    margin:0;
  }

  #homeView #cookHouseholdPanel .desktop-cook-art-pantry{
    width:min(90%,275px);
    max-width:275px;
    max-height:275px;
    margin:0 auto;
    object-fit:contain;
    object-position:center center;
  }
}


/* Mobile primary navigation + cart header */
.header-cart-btn{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.header-cart-btn svg{display:block;width:22px;height:22px}
.header-cart-count{
  position:absolute;
  right:-6px;
  top:-6px;
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:var(--retail-yellow,#ffd400);
  color:#111;
  border:2px solid #111;
  font-size:9px;
  font-weight:1000;
  line-height:1;
}
.mobile-bottom-nav{display:none}

@media (max-width:700px){
  html{scroll-padding-bottom:calc(98px + env(safe-area-inset-bottom))}
  .shell{padding-bottom:calc(116px + env(safe-area-inset-bottom))}
  .topbar>div:first-child{padding-right:118px}
  .topbar-actions{
    position:absolute;
    top:14px;
    right:4px;
    gap:6px;
    z-index:4;
  }
  .topbar-actions .account-quick-btn,
  .topbar-actions .notification-btn,
  .topbar-actions .menu-icon{
    display:none!important;
  }
  .topbar-actions .bookmark-page-btn{
    width:auto!important;
    min-width:54px;
    height:40px;
    padding:0 12px;
  }
  .topbar-actions .header-cart-btn{
    display:grid;
    width:40px;
    height:40px;
    border-radius:13px;
  }
  .header-cart-btn svg{width:21px;height:21px}
  .header-cart-count{right:-5px;top:-6px}

  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    background:#111;
    border-top:1px solid rgba(255,212,0,.28);
    box-shadow:0 -8px 28px rgba(0,0,0,.18);
  }
  .mobile-nav-item{
    position:relative;
    min-width:0;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#f4f4f4;
    padding:5px 2px 4px;
    font-weight:850;
    font-size:9px;
    line-height:1.05;
    text-align:center;
    box-shadow:none;
  }
  .mobile-nav-item svg{width:23px;height:23px;display:block}
  .mobile-nav-item>span:last-child{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-nav-item.active{
    color:var(--retail-yellow,#ffd400);
    background:rgba(255,212,0,.08);
  }
  .mobile-nav-item:focus-visible{
    outline:2px solid var(--retail-yellow,#ffd400);
    outline-offset:-2px;
  }
  .mobile-nav-icon-wrap{position:relative;display:grid;place-items:center}
  .mobile-nav-badge{
    position:absolute;
    right:-11px;
    top:-8px;
    display:grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    background:var(--retail-yellow,#ffd400);
    color:#111;
    border:2px solid #111;
    font-size:8px;
    font-weight:1000;
    line-height:1;
  }
  .mobile-nav-account.signed-in::after{
    content:"";
    position:absolute;
    top:6px;
    left:calc(50% + 8px);
    width:8px;
    height:8px;
    border-radius:999px;
    background:#22c55e;
    border:2px solid #111;
  }
}

@media print{.mobile-bottom-nav{display:none!important}}


/* Standalone meal-results journey */
.meal-results-view .meal-results-head{margin-bottom:12px}
.meal-results-view #mealResultsStatus{margin:0 0 18px}
.meal-results-view #mealIdeasSection,
.meal-results-view #mealBasketSection{width:100%}
.meal-results-view #mealIdeasSection{padding-bottom:6px}
.meal-results-view #mealBasketSection{padding-bottom:24px}
.meal-results-view .meal-heading{margin-top:18px}
@media (min-width:1000px){
  .meal-results-view #mealIdeasSection,
  .meal-results-view #mealBasketSection{max-width:1180px;margin-left:auto;margin-right:auto}
  .meal-results-view .meal-ideas{gap:16px}
  .meal-results-view .meal-card{padding:20px}
}
@media (max-width:700px){
  .meal-results-view .standalone-head{margin-bottom:10px}
  .meal-results-view .meal-heading{margin-top:14px}
}


/* Meal-results refinement controls */
.meal-results-refine{
  margin:0 0 18px;
  overflow:hidden;
}
.meal-results-refine>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  cursor:pointer;
}
.meal-results-refine>summary::-webkit-details-marker{display:none}
.meal-results-refine>summary span:first-child{display:grid;gap:3px}
.meal-results-refine>summary strong{font-size:14px}
.meal-results-refine>summary small{color:var(--muted);font-size:11px;line-height:1.4}
.meal-results-refine>summary span:last-child{font-size:22px;font-weight:900;line-height:1;transition:transform .15s ease}
.meal-results-refine[open]>summary span:last-child{transform:rotate(45deg)}
.meal-results-refine-body{
  display:grid;
  gap:12px;
  padding:0 18px 18px;
}
.meal-results-filter-grid{margin-top:0}
.meal-results-refine .cook-primary{width:100%}
@media (min-width:1000px){
  .meal-results-refine{max-width:1180px;margin:0 auto 22px}
  .meal-results-refine-body{padding:0 20px 20px}
}
@media (max-width:700px){
  .meal-results-refine>summary{padding:14px 15px}
  .meal-results-refine-body{padding:0 15px 15px}
}


/* Unified meal-search UI + Household Food source of truth */
.cook-household-context{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:12px;
}
.cook-household-context-copy{display:grid;gap:3px;min-width:0}
.cook-household-link{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:10px;
  color:#111;
  text-decoration:underline;
  text-underline-offset:2px;
}
#mealResultsView .meal-results-filter-grid{
  grid-template-columns:.65fr .8fr 1.2fr 1.25fr;
}
#mealResultsView .mode-switch{
  grid-template-columns:repeat(3,1fr);
}
#mealResultsView .mode-switch button{
  text-align:center;
}

@media (max-width:900px){
  #mealResultsView .meal-results-filter-grid{
    grid-template-columns:1fr 1fr;
  }
  #mealResultsView .meal-results-filter-grid label:last-child{
    grid-column:auto;
  }
}

@media (max-width:700px){
  .cook-household-context{
    grid-template-columns:minmax(0,1fr) auto;
    padding:10px 12px;
  }
  .cook-household-link{
    font-size:9px;
  }
  #mealResultsView .meal-results-refine-body{
    gap:10px;
  }
  #mealResultsView .meal-results-filter-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  #mealResultsView .meal-results-filter-grid label:last-child{
    grid-column:auto;
  }
  #mealResultsView .mode-switch{
    grid-template-columns:repeat(3,1fr);
    gap:6px;
  }
  #mealResultsView .mode-switch button{
    min-height:48px;
    padding:9px 5px;
    text-align:center;
  }
  #mealResultsView .mode-switch button small{
    display:none;
  }
  #mealResultsView .cook-prompt{
    min-height:50px;
    padding:12px 13px;
  }
  #mealResultsView .compact-controls input,
  #mealResultsView .compact-controls select{
    min-height:42px;
    padding-top:9px;
    padding-bottom:9px;
  }
  #mealResultsView .cook-primary{
    min-height:50px;
  }
}


/* Golden Recipe Library mobile spacing */
@media(max-width:700px){
  #recipeLibraryView .standalone-head p{
    max-width:34rem;
  }
  .library-browse-divider{
    margin:12px 0;
  }
  .recipe-library-results-toolbar{
    gap:10px;
    margin:1px 0 11px;
  }
  .recipe-library-results-toolbar>strong{
    font-size:11px;
  }
  .recipe-library-results-sort{
    min-width:0;
    width:min(220px,65%);
  }
  .recipe-library-results-sort>span{
    font-size:8px;
  }
  .recipe-library-results-sort select{
    padding:8px 9px;
    font-size:11px;
  }
}


/* Secure shared Fridge Plan */
.shared-meal-plan-view{max-width:980px;margin:0 auto}
.shared-meal-plan-head{align-items:flex-start}
.shared-meal-plan-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.shared-meal-plan-meta>div{border:1px solid #ddd8c8;border-radius:14px;background:#fff;padding:12px 13px}
.shared-meal-plan-meta span,.shared-meal-plan-meta strong{display:block}
.shared-meal-plan-meta span{color:#77736a;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.shared-meal-plan-meta strong{margin-top:4px;font-size:13px}
.shared-meal-plan-weeks{display:grid;gap:16px}
.shared-meal-plan-week{overflow:hidden;border:1px solid #d8d4c4;border-top:5px solid var(--retail-yellow);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.shared-meal-plan-week-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid #ebe7db;background:#fffdf3}
.shared-meal-plan-week-head span{font-size:9px;font-weight:950;letter-spacing:.1em;color:#817645}
.shared-meal-plan-week-head strong{font-size:12px}
.shared-meal-plan-recipe{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding:12px 15px;border-top:1px solid #eee9dd}
.shared-meal-plan-week>div .shared-meal-plan-recipe:first-child{border-top:0}
.shared-meal-plan-date strong{font-size:11px}
.shared-meal-plan-recipe-copy strong,.shared-meal-plan-recipe-copy span{display:block}
.shared-meal-plan-recipe-copy strong{font-size:15px;line-height:1.15}
.shared-meal-plan-recipe-copy span{margin-top:4px;color:#746f64;font-size:10px}
.shared-meal-plan-recipe .secondary-action{white-space:nowrap}
.shared-meal-plan-foot{margin:18px 0 4px;border:1px solid #d9e8da;border-radius:14px;background:#f4faf4;padding:12px 14px}
.shared-meal-plan-foot strong,.shared-meal-plan-foot span{display:block}
.shared-meal-plan-foot strong{font-size:11px}
.shared-meal-plan-foot span{margin-top:3px;color:#627066;font-size:9px;line-height:1.45}
.planner-app-link{align-items:center}
.planner-app-link .planner-qr{flex:0 0 auto;width:68px;height:68px;padding:3px;border:1px solid #d8d8d2;border-radius:7px;background:#fff}
.planner-app-link>div{min-width:0}
.planner-app-link>div strong,.planner-app-link>div span,.planner-app-link>div small{display:block}
.planner-app-link>div strong{font-size:10px;white-space:nowrap}
.planner-app-link>div span{margin-top:2px;color:#666d67;font-size:8px;line-height:1.3}
.planner-app-link>div small{margin-top:3px;color:#858078;font-size:6.5px;line-height:1.2;word-break:break-all}
@media(max-width:700px){
  .shared-meal-plan-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shared-meal-plan-recipe{grid-template-columns:1fr auto;gap:9px;padding:12px}
  .shared-meal-plan-date{grid-column:1/-1}
  .shared-meal-plan-recipe-copy strong{font-size:14px}
  .shared-meal-plan-recipe .secondary-action{align-self:center}
}
@media print{
  .planner-app-link .planner-qr{width:17mm;height:17mm;padding:.6mm;border-radius:1.4mm}
  .planner-app-link{gap:2mm;padding:1.2mm 1.6mm}
  .planner-app-link>div strong{font-size:5.8pt}
  .planner-app-link>div span{font-size:4.5pt}
  .planner-app-link>div small{font-size:3.8pt;margin-top:.5mm}
}


/* Homepage V2.1 — task-first copy cleanup */
#homeView .homepage-cook-summary{
  padding:20px 24px 14px;
}
#homeView .homepage-cook-summary .cook-kicker{
  display:inline-flex;
  margin:0;
}
#homeView .cook-path-summary{
  min-height:76px;
}
#homeView .cook-path-title{
  align-items:center;
}
#homeView .product-compare-card{
  margin-top:18px;
}
#homeView .product-compare-card .hero-copy{
  display:block;
}
@media (max-width:700px){
  #homeView .homepage-cook-summary{
    padding:16px 16px 10px;
  }
  #homeView .cook-path-summary{
    min-height:68px;
  }
  #homeView .product-compare-card{
    margin-top:12px;
  }
}
@media (min-width:1000px){
  #homeView .homepage-cook-summary .cook-kicker{
    display:inline-flex;
  }
}


/* Dedicated product comparison journey */
.product-compare-view{
  max-width:1180px;
  margin:0 auto;
}
.product-compare-head p{
  max-width:680px;
}
.product-compare-workspace{
  padding:18px;
  margin-bottom:12px;
}
.product-compare-workspace .search-row{
  margin-top:0;
}
.product-compare-filters{
  padding:0;
  margin-bottom:18px;
  overflow:hidden;
  box-shadow:none;
}
.product-compare-filters>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  cursor:pointer;
}
.product-compare-filters>summary::-webkit-details-marker{display:none}
.product-compare-filters>summary>span:first-child{
  display:grid;
  gap:3px;
  min-width:0;
}
.product-compare-filters>summary strong{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.product-compare-filters>summary small{
  color:#667085;
  font-size:11px;
  line-height:1.4;
}
.product-compare-filter-icon{
  font-size:22px;
  font-weight:950;
  line-height:1;
  transition:transform .15s ease;
}
.product-compare-filters[open] .product-compare-filter-icon{
  transform:rotate(45deg);
}
.product-compare-filter-body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 16px 16px;
  border-top:1px solid #ebe7db;
}
.product-compare-filter-body p{
  margin:14px 0 0;
  color:#667085;
  font-size:11px;
  line-height:1.45;
}
.product-compare-filter-body .secondary-action{
  flex:0 0 auto;
  margin-top:14px;
}
.product-compare-results{
  margin-top:8px;
}
#homeView .home-compare-launcher{
  margin-bottom:0;
}
@media(max-width:700px){
  .product-compare-workspace{
    padding:14px;
  }
  .product-compare-workspace .search-row{
    grid-template-columns:1fr;
  }
  .product-compare-workspace .search-row .primary{
    width:100%;
  }
  .product-compare-filter-body{
    align-items:stretch;
    flex-direction:column;
    gap:0;
  }
  .product-compare-filter-body .secondary-action{
    width:100%;
  }
}


/* More menu — grouped secondary navigation */
.menu-nav-grouped{
  gap:18px;
  margin-top:16px;
}
.menu-group{
  display:grid;
  gap:7px;
}
.menu-group-label{
  margin:0;
  padding:0 2px;
  color:#706b5f;
  font-size:9px;
  font-weight:1000;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.menu-group-items{
  display:grid;
  gap:7px;
}
.menu-nav-grouped .menu-group-items button{
  min-height:58px;
}
.menu-legal-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:18px 2px 0;
  padding:14px 4px 2px;
  border-top:1px solid #d9d4c6;
  color:#777267;
  font-size:10px;
}
.menu-legal-footer a{
  color:#57534a;
  font-weight:850;
  text-decoration:none;
}
.menu-legal-footer a:hover,
.menu-legal-footer a:focus-visible{
  color:#111;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:700px){
  .menu-sheet{
    padding:18px;
  }
  .menu-nav-grouped{
    gap:15px;
  }
  .menu-nav-grouped .menu-group-items button{
    min-height:54px;
    padding-top:10px;
    padding-bottom:10px;
  }
}


/* Grocery search naming + live header cart spend */
.header-cart-btn{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:auto;
  min-width:40px;
  min-height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:#111;
  box-shadow:none;
}
.header-cart-total{
  display:block;
  color:#111;
  font-size:15px;
  font-weight:1000;
  line-height:1;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.header-cart-icon{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:13px;
  background:var(--retail-black,#111);
  color:var(--retail-yellow,#ffd400);
}
.header-cart-icon svg{
  display:block;
  width:21px;
  height:21px;
}
.header-cart-icon .header-cart-count{
  right:-5px;
  top:-6px;
}
@media(max-width:700px){
  .topbar>div:first-child{padding-right:184px!important}
  .topbar-actions .header-cart-btn{
    display:flex;
    width:auto!important;
    min-width:40px;
    height:40px;
    padding:0!important;
    border-radius:0;
    background:transparent;
  }
  .header-cart-total{
    font-size:14px;
  }
}
@media(max-width:390px){
  .topbar>div:first-child{padding-right:168px!important}
  .header-cart-total{font-size:13px}
}


/* Mobile homepage cook choices — tighter, vertically centred pills */
@media (max-width:700px){
  #homeView .homepage-cook-summary{
    padding:14px 16px 8px;
  }
  #homeView .cook-paths-body{
    padding:0 12px 12px;
  }
  #homeView .cook-path-list{
    gap:7px;
  }
  #homeView .cook-path-summary{
    min-height:56px;
    padding:9px 12px;
    align-items:center;
  }
  #homeView .cook-path-title{
    align-items:center;
    gap:10px;
  }
  #homeView .cook-path-title>div{
    display:flex;
    align-items:center;
    min-height:30px;
  }
  #homeView .cook-path-title strong{
    margin:0;
    line-height:1.15;
  }
  #homeView .cook-path-number{
    flex:0 0 30px;
    width:30px;
    height:30px;
  }
  #homeView .cook-path-summary::after{
    width:30px;
    height:30px;
    align-self:center;
  }
}


/* Cart hardening: Household Food controls + whole-cart optimiser */
.app-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
}
.app-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.app-toggle>span{
  position:relative;
  width:46px;
  height:26px;
  border-radius:999px;
  background:#d8d3c5;
  border:1px solid #c9c2b1;
  transition:.15s ease;
  flex:0 0 auto;
}
.app-toggle>span::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:.15s ease;
}
.app-toggle input:checked+span{
  background:#ffd400;
  border-color:#111;
}
.app-toggle input:checked+span::after{
  transform:translateX(20px);
  background:#111;
}
.app-toggle input:focus-visible+span{
  outline:3px solid rgba(17,17,17,.18);
  outline-offset:2px;
}
.app-toggle b{
  font-size:12px;
  line-height:1.2;
}

.weekly-household-choice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
  padding:16px 18px;
}
.weekly-household-choice>div:first-child{
  display:grid;
  gap:4px;
}
.weekly-household-choice>div:first-child>strong{
  font-size:18px;
}
.weekly-household-choice>div:first-child>small{
  color:#667085;
  line-height:1.4;
}
.weekly-household-choice-actions{
  display:grid;
  justify-items:end;
  gap:8px;
  flex:0 0 auto;
}

.cart-optimizer{
  display:grid;
  gap:14px;
  margin:14px 0;
  padding:18px;
}
.cart-optimizer-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.cart-optimizer h3{
  margin:3px 0 4px;
  font-size:22px;
}
.cart-optimizer p{
  margin:0;
  color:#667085;
  line-height:1.45;
}
.cart-optimizer-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-top:1px solid #e6e0d2;
  border-bottom:1px solid #e6e0d2;
}
.cart-optimizer .primary{
  width:100%;
}
.cart-optimize-status{
  padding:10px 12px;
  border-radius:12px;
  background:#f7f3e8;
  color:#4f4a40;
  font-size:12px;
  line-height:1.4;
}
.cart-optimize-status[data-mode="error"]{
  background:#fff0ee;
  color:#9d2017;
}
.cart-optimize-status[data-mode="warn"]{
  background:#fff7d6;
  color:#725b00;
}

.cart-optimize-dialog{
  border:0;
  background:transparent;
  padding:18px;
  width:min(760px,100%);
  max-width:none;
}
.cart-optimize-dialog::backdrop{
  background:rgba(0,0,0,.58);
}
.cart-optimize-card{
  background:#fff;
  border-radius:24px;
  padding:22px;
  max-height:min(82vh,900px);
  overflow:auto;
  box-shadow:0 18px 60px rgba(0,0,0,.25);
}
.cart-optimize-dialog-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0;
}
.cart-optimize-dialog-summary>div{
  display:grid;
  gap:3px;
  padding:12px;
  border:1px solid #ded8c9;
  border-radius:14px;
  background:#fbfaf6;
}
.cart-optimize-dialog-summary span{
  color:#6d685d;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cart-optimize-dialog-summary strong{
  font-size:16px;
}
.cart-optimize-dialog-summary .combined{
  background:#fff8cc;
  border-color:#e3c900;
}
.cart-optimize-changes{
  display:grid;
  gap:7px;
  margin:12px 0;
}
.cart-optimize-change{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid #e5dfd0;
  border-radius:13px;
}
.cart-optimize-change>span{
  color:#716b60;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cart-optimize-change>strong{
  font-size:13px;
}
.cart-optimize-change>small{
  color:#667085;
}
.cart-optimize-more{
  padding:8px 4px;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.cart-optimize-dialog-note{
  display:grid;
  gap:3px;
  margin-top:14px;
  padding:12px;
  border-radius:14px;
  background:#f3f8f4;
}
.cart-optimize-dialog-note span{
  color:#5f6a62;
  font-size:11px;
  line-height:1.4;
}
.cart-optimize-dialog-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.duplicate-plan-warning{
  background:#fff2b8!important;
  border-color:#d7b800!important;
}
.cart-line-weighted .cart-line-price small{
  max-width:180px;
}
@media(max-width:700px){
  .weekly-household-choice{
    align-items:stretch;
    flex-direction:column;
    padding:14px;
  }
  .weekly-household-choice-actions{
    justify-items:stretch;
  }
  .weekly-household-choice-actions .link-btn{
    text-align:left;
  }
  .cart-optimizer{
    padding:15px;
  }
  .cart-optimizer-controls{
    align-items:flex-start;
    flex-direction:column;
  }
  .cart-optimize-dialog{
    padding:10px;
  }
  .cart-optimize-card{
    padding:16px;
    border-radius:20px;
  }
  .cart-optimize-dialog-summary{
    grid-template-columns:1fr;
  }
  .cart-optimize-dialog-actions{
    grid-template-columns:1fr;
  }
}


/* Cart economics tightening */
.cart-requirement-intel{
  display:grid;
  gap:3px;
  margin-top:10px;
  padding:9px 11px;
  border:1px solid #dfe7df;
  border-radius:12px;
  background:#f7fbf8;
}
.cart-requirement-intel strong{
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#087443;
}
.cart-requirement-intel span{
  font-size:11px;
  line-height:1.4;
  color:#5f6b63;
}

.cart-duplicate-plan-note{
  position:relative;
  display:grid;
  gap:4px;
  padding:12px 44px 12px 13px;
  margin-bottom:10px;
  border:1px solid #e0bf2b;
  border-radius:14px;
  background:#fff9d9;
}
.cart-duplicate-plan-note strong{
  font-size:12px;
  color:#5c4b00;
}
.cart-duplicate-plan-note span{
  font-size:11px;
  line-height:1.45;
  color:#6b5b13;
}
.cart-duplicate-plan-dismiss{
  position:absolute;
  top:8px;
  right:8px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(92,75,0,.22);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  color:#5c4b00;
  font-size:13px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.cart-duplicate-plan-dismiss:hover,
.cart-duplicate-plan-dismiss:focus-visible{
  background:#fff;
  border-color:#9e8500;
}
.cart-duplicate-plan-dismiss:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}


/* Homepage cook panels V2.2 — one Household-aware pattern, less vertical chrome */
#homeView .cook-path-actions-top,
#homeView .cook-reset-link{
  display:none!important;
}
#homeView .cook-household-context{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
#homeView .cook-household-context-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
#homeView .cook-household-link{
  white-space:nowrap;
}
#homeView .cook-safety-note.hidden{
  display:none!important;
}
#homeView .home-deal-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px 10px;
}
#homeView .home-deal-field-mode{
  grid-column:1;
}
#homeView .home-deal-field-servings{
  grid-column:2;
}
#homeView .home-deal-field-preference,
#homeView .home-deal-primary{
  grid-column:1 / -1;
}
#homeView .home-deal-controls .primary{
  width:100%;
}
#homeView .cook-household-actions{
  margin-top:10px;
}
#homeView .cook-household-actions .primary{
  width:100%;
}
@media(max-width:700px){
  #homeView .cook-household-context{
    grid-template-columns:minmax(0,1fr) auto;
    padding:11px 12px;
  }
  #homeView .cook-household-context strong{
    font-size:11px;
  }
  #homeView .cook-household-context span{
    font-size:10px;
  }
  #homeView .cook-household-link{
    font-size:10px;
  }
  #homeView .home-deal-controls{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    margin-top:10px;
  }
  #homeView .home-deal-field-preference,
  #homeView .home-deal-primary{
    grid-column:1 / -1;
  }
  #homeView .cook-path-secondary{
    margin-top:8px;
  }
}
@media(max-width:380px){
  #homeView .cook-household-context{
    grid-template-columns:1fr;
  }
  #homeView .cook-household-link{
    justify-self:start;
  }
}


/* Household Food management V3 — distinct date states, compact add form, explicit removal */
.memory-item.past-date{border-color:#f4a3a3;background:#fff8f7}
.memory-state.past-date{background:#fee4e2;color:#b42318}
.memory-state.check-in{background:#eef4ff;color:#3538cd}
.memory-actions .memory-remove{color:#b42318;border-color:#f0b4ae;background:#fff}
.memory-actions .memory-remove:hover{background:#fff3f2}
@media (max-width:760px){
  .household-add-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 10px}
  .household-add-name{grid-column:1 / -1}
  .household-add-amount{grid-column:1}
  .household-add-unit{grid-column:2}
  .household-add-location{grid-column:1}
  .household-add-date{grid-column:2}
  .household-add-form .primary{grid-column:1 / -1;width:100%}
}
@media (max-width:480px){
  .household-add-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:11px 12px 7px}
  .household-add-name{grid-column:1 / -1}
  .household-add-amount{grid-column:1}
  .household-add-unit{grid-column:2}
  .household-add-location{grid-column:1}
  .household-add-date{grid-column:2}
  .household-add-form .primary{grid-column:1 / -1}
  .household-add-form input,.household-add-form select{min-height:44px;padding:9px 10px;font-size:12px}
}


/* From specials — single clear recipe action */
#homeView .home-deal-primary{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  display:block;
}


/* Selected-store directions */
#homeView .store-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
#homeView .store-card-action{
  min-height:38px;
  padding:8px 12px;
  border:1px solid #cfc9b7;
  border-radius:999px;
  background:#fff;
  color:#171717;
  font:inherit;
  font-size:10px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 2px 0 rgba(17,17,17,.04);
}
#homeView .store-card-action:hover,
#homeView .store-card-action:focus-visible{
  border-color:#111;
  background:#fff8c9;
}
#homeView .store-card-action:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}
#homeView .store-directions-btn{
  border-color:#111;
  background:#fff4a3;
}
.directions-dialog{
  width:min(92vw,480px);
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.directions-dialog::backdrop{
  background:rgba(17,24,39,.58);
  backdrop-filter:blur(3px);
}
.directions-card{
  background:#fffdf3;
  border:3px solid #111;
  border-radius:22px;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}
.directions-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.directions-actions button{
  min-height:50px;
}
.directions-remember{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:14px 0 10px;
  padding:11px 12px;
  border:1px solid #ded9c9;
  border-radius:13px;
  background:#faf8f0;
  color:#3d3a32;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.directions-remember input{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
  accent-color:#111;
}
@media(max-width:700px){
  #homeView .store-card .row{
    align-items:center;
  }
  #homeView .store-card .row > div:first-child{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
  }
  #homeView .store-card-actions{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  #homeView .store-card-action{
    min-height:34px;
    padding:7px 10px;
    text-align:center;
  }
  .directions-actions{
    grid-template-columns:1fr;
  }
  .directions-actions button{
    width:100%;
  }
}


/* Store picker + cross-store cart recovery */
.store-finder-open{
  justify-self:start;
  margin-top:4px;
}
.store-picker-dialog{
  width:min(94vw,620px);
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.store-picker-dialog::backdrop{
  background:rgba(17,24,39,.58);
  backdrop-filter:blur(3px);
}
.store-picker-card{
  background:#fffdf3;
  border:3px solid #111;
  border-radius:22px;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}
.store-picker-tools{
  display:grid;
  gap:10px;
}
.store-picker-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.store-picker-search input{
  width:100%;
  min-width:0;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  padding:12px 14px;
  outline:none;
}
.store-near-me{
  width:100%;
}
.store-picker-status{
  margin:10px 0;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}
.store-picker-results{
  display:grid;
  gap:9px;
  max-height:min(52vh,520px);
  overflow:auto;
  padding-right:2px;
}
.store-picker-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid #ded9c9;
  border-radius:15px;
  background:#fff;
}
.store-picker-result.selected{
  border-color:#d7ba00;
  background:#fff9d9;
}
.store-picker-result-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.store-picker-result-title{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.store-picker-result-copy strong{
  font-size:12px;
}
.store-picker-result-copy span,
.store-picker-result-copy small{
  color:#667085;
  font-size:9px;
  line-height:1.4;
}
.store-picker-result-copy small{
  color:#067647;
  font-weight:850;
}
.store-selected-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:#111;
  color:#fff!important;
  font-size:8px!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.store-picker-result button{
  min-width:104px;
  min-height:40px;
}
.store-picker-empty{
  padding:18px;
  border:1px dashed #d8d4c4;
  border-radius:14px;
  color:#667085;
  text-align:center;
  font-size:11px;
}
.cart-other-stores{
  margin:-2px 0 14px;
  padding:15px 16px;
  border-color:#b2ddff;
  background:#f5fbff;
  box-shadow:none;
}
.cart-other-stores-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.cart-other-stores-head>div{
  display:grid;
  gap:3px;
}
.cart-other-stores-head strong{
  font-size:14px;
}
.cart-other-stores-head span{
  color:#475467;
  font-size:10px;
}
.cart-other-store-list{
  display:grid;
  gap:7px;
}
.cart-other-store-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid #b2ddff;
  border-radius:13px;
  background:#fff;
  color:#111;
  text-align:left;
}
.cart-other-store-row>span{
  display:grid;
  gap:2px;
}
.cart-other-store-row strong{
  font-size:11px;
}
.cart-other-store-row small{
  color:#667085;
  font-size:9px;
}
.cart-other-store-row b{
  color:#175cd3;
  font-size:10px;
  white-space:nowrap;
}
.cart-other-store-row:hover,
.cart-other-store-row:focus-visible{
  border-color:#175cd3;
  background:#eff8ff;
}
.cart-other-store-row:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}
@media(max-width:700px){
  .store-picker-search{
    grid-template-columns:1fr;
  }
  .store-picker-search .secondary-action{
    width:100%;
  }
  .store-picker-result{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .store-picker-result button{
    width:100%;
  }
  .cart-other-store-row{
    align-items:flex-start;
  }
}


/* Portable multi-store carts */
.cart-transfer{
  margin:14px 0;
  padding:0;
  border-color:#d8d4c4;
  background:#fffdf5;
  overflow:hidden;
}
.cart-transfer-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  cursor:pointer;
  list-style:none;
}
.cart-transfer-toggle::-webkit-details-marker{display:none}
.cart-transfer-toggle::marker{content:""}
.cart-transfer-toggle>div{min-width:0}
.cart-transfer-toggle-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid #d8d4c4;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111827;
  font-size:0;
  font-weight:900;
}
.cart-transfer-toggle-icon::before{
  content:"+";
  font-size:20px;
  line-height:1;
}
.cart-transfer[open] .cart-transfer-toggle-icon::before{content:"−"}
.cart-transfer[open] .cart-transfer-toggle{
  border-bottom:1px solid #e7e1d2;
}
.cart-transfer-body{
  display:grid;
  gap:12px;
  padding:14px 18px 18px;
}
.cart-transfer h3{
  margin:3px 0 4px;
  font-size:20px;
}
.cart-transfer p{
  margin:0;
  color:#667085;
  font-size:11px;
  line-height:1.5;
}
.cart-transfer-body>.secondary-action{
  width:100%;
  min-height:46px;
}
.cart-transfer-lineage{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border:1px solid #b7e4ca;
  border-radius:12px;
  background:#f2fbf6;
  color:#365c45;
  font-size:10px;
  line-height:1.45;
}
.cart-transfer-lineage small{
  color:#8a5a00;
  font-weight:750;
}
.cart-transfer-summary,
.cart-transfer-match-summary{
  display:grid;
  gap:8px;
  margin:12px 0;
}
.cart-transfer-summary>div,
.cart-transfer-match-summary>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid #e1dccf;
  border-radius:13px;
  background:#fbfaf6;
}
.cart-transfer-summary>div.combined{
  background:#fff8cc;
  border-color:#e3c900;
}
.cart-transfer-summary span,
.cart-transfer-match-summary span{
  color:#667085;
  font-size:10px;
  font-weight:800;
}
.cart-transfer-summary strong,
.cart-transfer-match-summary strong{
  text-align:right;
  font-size:11px;
}
.cart-transfer-match-summary>small{
  padding:0 3px;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}
.cart-transfer-match-summary>small.warn{
  color:#8a4b00;
}
.cart-transfer-conflict-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:9px;
  margin-top:14px;
}
.cart-transfer-conflict-actions button{
  min-height:46px;
}
.cart-other-store-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex:0 0 auto;
}
.cart-other-store-actions button{
  min-height:36px;
  padding:7px 10px;
  font-size:9px;
}
.cart-other-store-row:hover{
  background:#fff;
  border-color:#b2ddff;
}
@media(max-width:700px){
  .cart-transfer-toggle{
    padding:15px;
  }
  .cart-transfer-body{
    padding:12px 15px 15px;
  }
  .cart-transfer-summary>div,
  .cart-transfer-match-summary>div{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .cart-transfer-summary strong,
  .cart-transfer-match-summary strong{
    text-align:left;
  }
  .cart-transfer-conflict-actions{
    grid-template-columns:1fr;
  }
  .cart-other-store-row{
    flex-direction:column;
    align-items:stretch;
  }
  .cart-other-store-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .cart-other-store-actions button{
    width:100%;
  }
}


/* Cart transfer completeness hardening */
.cart-total-partial-note{
  display:block;
  margin-top:5px;
  color:#8a4b00;
  font-size:9px;
  font-weight:800;
  line-height:1.4;
}
.cart-coverage{
  display:grid;
  gap:12px;
  margin:0 0 14px;
  padding:16px 17px;
  border-color:#e6bd57;
  background:#fff9e8;
}
.cart-coverage-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.cart-coverage h3{
  margin:3px 0 4px;
  font-size:18px;
}
.cart-coverage p{
  margin:0;
  color:#6f5d2a;
  font-size:10px;
  line-height:1.5;
}
.cart-coverage-badge{
  flex:0 0 auto;
  border:1px solid #e4c86b;
  border-radius:999px;
  padding:7px 9px;
  background:#fff4bf;
  color:#6b5600;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.cart-coverage-details,
.cart-transfer-unresolved{
  border-top:1px solid rgba(122,91,0,.18);
  padding-top:10px;
}
.cart-coverage-details summary,
.cart-transfer-unresolved summary{
  cursor:pointer;
  color:#6b5600;
  font-size:10px;
  font-weight:900;
}
.cart-unresolved-items{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.cart-unresolved-legacy{
  margin-top:10px;
  padding:10px 11px;
  border:1px dashed #d8bd62;
  border-radius:12px;
  background:#fffdf5;
  color:#6f5d2a;
  font-size:9px;
  line-height:1.5;
}
.cart-unresolved-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid #eadfbf;
  border-radius:12px;
  background:#fff;
}
.cart-unresolved-item>div{
  display:grid;
  gap:2px;
  min-width:0;
}
.cart-unresolved-item strong{
  font-size:11px;
}
.cart-unresolved-item span,
.cart-unresolved-item small{
  color:#6b7280;
  font-size:9px;
  line-height:1.4;
}
.cart-unresolved-item button{
  min-height:34px;
  padding:7px 10px;
  font-size:9px;
}
.cart-unresolved-items.compact .cart-unresolved-item{
  background:#fffdf7;
}
.cart-optimize-unresolved{
  display:grid;
  gap:6px;
  margin-top:10px;
  padding:12px;
  border:1px solid #e4c86b;
  border-radius:13px;
  background:#fff9e8;
}
.cart-optimize-unresolved>strong{
  font-size:11px;
  color:#6b5600;
}
.cart-optimize-unresolved>p{
  margin:0;
  color:#756a4e;
  font-size:9px;
  line-height:1.45;
}
@media(max-width:700px){
  .cart-coverage-head{
    flex-direction:column;
  }
  .cart-coverage-badge{
    align-self:flex-start;
  }
  .cart-unresolved-item{
    grid-template-columns:1fr;
  }
  .cart-unresolved-item button{
    width:100%;
  }
}


/* Cart hierarchy pass — compact secondary tools */
.cart-collapsible{
  margin:14px 0;
  padding:0!important;
  overflow:hidden;
}
.cart-tool-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:17px 18px;
  cursor:pointer;
  list-style:none;
}
.cart-tool-toggle::-webkit-details-marker{display:none}
.cart-tool-toggle::marker{content:""}
.cart-tool-toggle>div{min-width:0}
.cart-tool-toggle h3{
  margin:3px 0 0;
  font-size:20px;
  line-height:1.15;
}
.cart-tool-toggle small{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:10px;
  font-weight:750;
  line-height:1.35;
}
.cart-tool-toggle-icon{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border:1px solid #d8d4c4;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111827;
  font-size:0;
  font-weight:900;
}
.cart-tool-toggle-icon::before{
  content:"+";
  font-size:22px;
  line-height:1;
}
.cart-collapsible[open] .cart-tool-toggle-icon::before{content:"−"}
.cart-collapsible[open] .cart-tool-toggle{
  border-bottom:1px solid #e7e1d2;
}
.cart-transfer .cart-transfer-body,
.cart-optimizer .cart-optimizer-body,
.cart-meal-plans .cart-meal-plans-body{
  padding:14px 18px 18px;
}
.cart-optimizer{
  display:block;
}
.cart-optimizer-body{
  display:grid;
  gap:14px;
}
.cart-optimizer-body>p{
  margin:0;
  color:#667085;
  line-height:1.45;
}
.cart-optimizer-controls{
  margin:0;
}
.cart-meal-plans{
  border-top:5px solid var(--retail-yellow);
}
.cart-meal-plans-toggle h3{
  font-size:22px;
}
.cart-meal-plans-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.cart-meal-plans-intro p{
  margin:0;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}
.cart-meal-plans-intro .secondary-action{
  flex:0 0 auto;
}
.cart-meal-plans-list{
  margin-top:14px;
}
@media(max-width:700px){
  .cart-tool-toggle{
    padding:15px;
  }
  .cart-tool-toggle h3{
    font-size:19px;
  }
  .cart-transfer .cart-transfer-body,
  .cart-optimizer .cart-optimizer-body,
  .cart-meal-plans .cart-meal-plans-body{
    padding:12px 15px 15px;
  }
  .cart-meal-plans-intro{
    flex-direction:column;
  }
  .cart-meal-plans-intro .secondary-action{
    width:100%;
  }
}


/* Cart compact action hierarchy */
.cart-coverage-compact{
  margin:0 0 12px;
}
.cart-coverage-disclosure{
  padding:0;
  border:1px solid #e4bd50;
  border-radius:16px;
  background:#fff9e8;
  overflow:hidden;
}
.cart-coverage-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
}
.cart-coverage-disclosure>summary::-webkit-details-marker{display:none}
.cart-coverage-disclosure>summary::marker{content:""}
.cart-coverage-disclosure>summary>span:first-child{
  display:flex;
  align-items:center;
  min-width:0;
  gap:7px;
}
.cart-coverage-disclosure>summary b{
  flex:0 0 22px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f6ce4d;
  color:#5d4800;
  font-size:12px;
  font-style:normal;
}
.cart-coverage-disclosure>summary strong{
  color:#594600;
  font-size:11px;
  line-height:1.25;
}
.cart-coverage-disclosure>summary small{
  color:#816b1b;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.cart-coverage-view{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:3px;
  color:#6b5600;
  font-size:10px;
  font-weight:900;
}
.cart-coverage-view i{
  font-size:18px;
  font-style:normal;
  line-height:1;
  transition:transform .15s ease;
}
.cart-coverage-disclosure[open] .cart-coverage-view i{
  transform:rotate(90deg);
}
.cart-coverage-body{
  padding:0 14px 14px;
  border-top:1px solid rgba(122,91,0,.15);
}
.cart-coverage-body>p{
  margin:11px 0 0;
  color:#6f5d2a;
  font-size:10px;
  line-height:1.45;
}

.cart-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 12px;
}
.cart-quick-action{
  min-width:0;
  border:1px solid #a7a7a7;
  border-radius:999px;
  background:#fff;
  overflow:hidden;
}
.cart-quick-action-main{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:0;
  border-radius:inherit;
  background:transparent;
  color:var(--retail-black,#111);
  font:inherit;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
  cursor:pointer;
}
.cart-quick-action-main:hover:not(:disabled){
  background:#f5f5f5;
}
.cart-quick-action-main:focus-visible{
  outline:2px solid var(--retail-black,#111);
  outline-offset:-3px;
}
.cart-quick-action-main:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.cart-quick-action-recheck{
  border-color:var(--retail-black,#111);
  background:var(--retail-black,#111);
}
.cart-quick-action-recheck .cart-quick-action-main{
  color:var(--retail-yellow,#ffd400);
}
.cart-quick-action-recheck .cart-quick-action-main:hover:not(:disabled){
  background:#292929;
}
.cart-quick-action-recheck .cart-quick-action-main:focus-visible{
  outline-color:var(--retail-yellow,#ffd400);
}
/* AU uses white text on the dark Re-check prices action; NZ retains yellow. */
html[data-retailer="metcash-au"] #cartOptimizeOpenBtn{
  color:var(--iga-white,#fff);
}

.cart-quick-actions + .cart-transfer-lineage:not(.hidden){
  margin:-4px 0 12px;
}

.cart-meal-plans-compact{
  margin:0 0 12px;
  padding:0;
  border-top:4px solid var(--retail-yellow);
  overflow:hidden;
}
.cart-meal-plans-compact-btn{
  width:100%;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  border:0;
  background:#fff;
  color:#171717;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.cart-meal-plans-compact-btn>span:first-child{
  display:grid;
  gap:3px;
  min-width:0;
}
.cart-meal-plans-compact-btn strong{
  font-size:15px;
  line-height:1.2;
}
.cart-meal-plans-view{
  flex:0 0 auto;
  color:#5f5b50;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.cart-meal-plans-view b{
  margin-left:2px;
  font-size:18px;
  line-height:1;
}
.cart-meal-plans-compact-btn:focus-visible{
  outline:2px solid #111;
  outline-offset:-3px;
}

.cart-optimizer-sheet,
.cart-meal-plans-dialog{
  width:min(92vw,620px);
  max-width:none;
  border:0;
  padding:0;
  background:transparent;
}
.cart-optimizer-sheet::backdrop,
.cart-meal-plans-dialog::backdrop{
  background:rgba(17,24,39,.58);
  backdrop-filter:blur(3px);
}
.cart-optimizer-setup-card,
.cart-meal-plans-dialog-card{
  max-height:min(82vh,760px);
  overflow:auto;
  border:2px solid #111;
  border-radius:22px;
  background:#fffdf5;
  padding:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.cart-optimizer-setup-card .cart-optimizer-controls{
  margin:14px 0;
}
.cart-optimizer-setup-card>.primary{
  width:100%;
  min-height:50px;
}
.cart-meal-plans-dialog-card .cart-meal-plans-list{
  margin-top:14px;
}
.cart-meal-plans-all{
  width:100%;
  margin-top:14px;
}

@media(max-width:700px){
  .cart-coverage-disclosure>summary{
    padding:11px 12px;
  }
  .cart-coverage-disclosure>summary small{
    display:none;
  }
  .cart-quick-actions{
    gap:8px;
  }
  .cart-quick-action{
    min-height:52px;
  }
  .cart-quick-action-main{
    min-height:50px;
    padding-left:12px;
    font-size:11px;
  }
  .cart-quick-info{
    padding-right:8px;
  }
  .cart-quick-info>summary{
    width:26px;
    height:26px;
  }
  .cart-quick-tip{
    width:calc(200% + 8px);
  }
  .cart-meal-plans-compact-btn{
    min-height:66px;
    padding:12px 13px;
  }
  .cart-meal-plans-compact-btn strong{
    font-size:14px;
  }
  .cart-optimizer-sheet,
  .cart-meal-plans-dialog{
    width:100%;
    max-width:none;
    margin:auto 0 0;
  }
  .cart-optimizer-setup-card,
  .cart-meal-plans-dialog-card{
    max-height:82vh;
    border-radius:22px 22px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    padding:16px;
  }
}


/* Above-the-fold cart management */
.cart-top-manage{
  display:flex;
  justify-content:flex-end;
  margin:0 0 10px;
}
.cart-clear-top-btn{
  min-height:34px;
  padding:7px 12px;
  border:1px solid #e19a94;
  border-radius:999px;
  background:#fff;
  color:#b42318;
  font:inherit;
  font-size:10px;
  font-weight:900;
}
.cart-clear-top-btn:focus-visible{
  outline:2px solid #b42318;
  outline-offset:2px;
}
.cart-clear-top-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media (max-width:700px){
  .recipe-library-unified{padding:14px;border-radius:17px}
  .recipe-library-unified .recipe-library-search input{min-height:50px;font-size:13px}
  .recipe-library-mode-btn{min-height:40px;padding:7px 8px;font-size:10px}
  .recipe-library-unified .recipe-library-quick-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .recipe-library-unified .recipe-library-more-filters .recipe-library-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .recipe-library-find-btn{min-height:48px}
}


/* v0.20.1 — LOCALnSAVE / IGA-compatible AU concept skin
   Palette follows IGA's published core brand colours. No IGA logo or protected brand asset is used. */
html[data-retailer="metcash-au"] {
  --bg:#f6f5f1;
  --card:#ffffff;
  --text:#30302f;
  --muted:#66635e;
  --line:#ded8cb;
  --brand:#e4291b;
  --accent:#e4291b;
  --accent-soft:#fceae7;
  --retail-yellow:#e4291b;
  --retail-yellow-soft:#fceae7;
  --retail-black:#30302f;
  --retail-charcoal:#30302f;
  --iga-red:#e4291b;
  --iga-charcoal:#30302f;
  --iga-kraft:#d8c69d;
  --iga-grey:#f1f1f1;
  --iga-white:#ffffff;
  --shadow:0 10px 28px rgba(48,48,47,.10);
}
html[data-retailer="metcash-au"] body {
  background:linear-gradient(180deg,var(--iga-red) 0 245px,var(--bg) 245px);
  color:var(--iga-charcoal);
}
html[data-retailer="metcash-au"] #shopperBrandName {
  color:var(--iga-white);
  letter-spacing:-.055em;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
html[data-retailer="metcash-au"] #shopperTagline {
  color:rgba(255,255,255,.94);
}
html[data-retailer="metcash-au"] .concept-eyebrow {
  background:var(--iga-white);
  color:var(--iga-charcoal);
  border:1px solid var(--iga-charcoal);
  box-shadow:none;
}
html[data-retailer="metcash-au"] .concept-notice {
  color:rgba(255,255,255,.86);
}
html[data-retailer="metcash-au"] .icon-btn,
html[data-retailer="metcash-au"] .menu-icon,
html[data-retailer="metcash-au"] .header-cart-btn {
  background:var(--iga-white);
  border-color:rgba(255,255,255,.88);
  color:var(--iga-charcoal);
  box-shadow:0 4px 14px rgba(91,12,6,.13);
}
html[data-retailer="metcash-au"] .menu-icon span {
  background:var(--iga-red);
}
html[data-retailer="metcash-au"] .header-cart-count,
html[data-retailer="metcash-au"] .notification-count {
  background:var(--iga-charcoal);
  color:var(--iga-white);
  border-color:var(--iga-white);
}
html[data-retailer="metcash-au"] .store-card {
  position:relative;
  overflow:hidden;
  border:1px solid #d8d2c7;
  border-top:6px solid var(--iga-red);
  box-shadow:0 10px 28px rgba(48,48,47,.11);
}
html[data-retailer="metcash-au"] .store-card::after {
  content:"LOCAL STORE";
  position:absolute;
  top:8px;
  right:14px;
  color:var(--iga-red);
  font-size:8px;
  font-weight:1000;
  letter-spacing:.12em;
}
html[data-retailer="metcash-au"] .store-card .label {
  color:#6c665e;
}
html[data-retailer="metcash-au"] #homeView .store-card-action {
  border-color:#cfc7bb;
  color:var(--iga-charcoal);
}
html[data-retailer="metcash-au"] #homeView .store-card-action:hover,
html[data-retailer="metcash-au"] #homeView .store-card-action:focus-visible {
  border-color:var(--iga-red);
  background:#fff4f2;
}
html[data-retailer="metcash-au"] #homeView .store-directions-btn {
  border-color:var(--iga-red);
  background:var(--iga-red);
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] .primary {
  background:var(--iga-red);
  color:var(--iga-white);
  border-color:var(--iga-red);
  box-shadow:0 4px 0 #a51d14;
}
html[data-retailer="metcash-au"] .primary:hover {
  background:#cf2116;
}
html[data-retailer="metcash-au"] .quick-pills button:hover,
html[data-retailer="metcash-au"] .chip.active,
html[data-retailer="metcash-au"] .mode-switch button.selected,
html[data-retailer="metcash-au"] .collapse-summary::after,
html[data-retailer="metcash-au"] .count-pill,
html[data-retailer="metcash-au"] .golden-badge,
html[data-retailer="metcash-au"] .deal-badge,
html[data-retailer="metcash-au"] .cart-add-btn {
  background:var(--iga-red);
  color:var(--iga-white);
  border-color:var(--iga-red);
}
html[data-retailer="metcash-au"] .mode-switch button.selected small {
  color:rgba(255,255,255,.84);
}
html[data-retailer="metcash-au"] .library-summary,
html[data-retailer="metcash-au"] .recipe-library-card,
html[data-retailer="metcash-au"] .deal-card,
html[data-retailer="metcash-au"] .shared-meal-plan-week,
html[data-retailer="metcash-au"] .meal-plan-card,
html[data-retailer="metcash-au"] .cart-meal-plans,
html[data-retailer="metcash-au"] .recipe-library-unified {
  border-top-color:var(--iga-red);
}
html[data-retailer="metcash-au"] .library-summary:hover,
html[data-retailer="metcash-au"] .menu-nav button:hover {
  border-color:var(--iga-red);
  background:#fff7f5;
}
html[data-retailer="metcash-au"] .cook-summary {
  background:linear-gradient(180deg,#fff 0%,#fff5f3 100%);
}
html[data-retailer="metcash-au"] .library-specials-feature,
html[data-retailer="metcash-au"] .recipe-library-unified {
  border-color:#edc0ba;
  background:linear-gradient(145deg,#fff5f3 0%,#fff 76%);
}
html[data-retailer="metcash-au"] .price-insight,
html[data-retailer="metcash-au"] .recipe-group-pantry-check,
html[data-retailer="metcash-au"] .rescue-panel {
  background:#fff3f0;
  border-color:#efb7af;
  color:#6f211b;
}
html[data-retailer="metcash-au"] .kitchen-memory,
html[data-retailer="metcash-au"] .track-leftovers,
html[data-retailer="metcash-au"] .page-summary-card {
  border-color:#d8c69d;
  background:linear-gradient(180deg,#fff 0%,#faf6eb 100%);
}
html[data-retailer="metcash-au"] .kitchen-summary {
  background:var(--iga-red);
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] .recipe-source,
html[data-retailer="metcash-au"] .recipe-source-note,
html[data-retailer="metcash-au"] .favorite-card-meta .watch-coming {
  background:#f8eee0;
  color:var(--iga-charcoal);
}
html[data-retailer="metcash-au"] .coming-next {
  background:var(--iga-charcoal);
  border-color:var(--iga-charcoal);
}
html[data-retailer="metcash-au"] .coming-next .eyebrow {
  color:#ff7e70;
}
html[data-retailer="metcash-au"] .menu-sheet {
  background:#fff;
}
html[data-retailer="metcash-au"] .menu-head {
  border-bottom-color:var(--iga-red);
}
html[data-retailer="metcash-au"] .page-summary-card {
  background:#faf6eb;
}
html[data-retailer="metcash-au"] input:focus,
html[data-retailer="metcash-au"] select:focus,
html[data-retailer="metcash-au"] textarea:focus {
  border-color:var(--iga-red)!important;
  box-shadow:0 0 0 3px rgba(228,41,27,.16)!important;
}
html[data-retailer="metcash-au"] .winner-button:hover {
  border-color:var(--iga-red);
  box-shadow:0 8px 0 rgba(228,41,27,.16);
}
html[data-retailer="metcash-au"] .favorite-btn.saved,
html[data-retailer="metcash-au"] .favorite-actions button:first-child,
html[data-retailer="metcash-au"] .saved-recipe-actions button:first-child {
  background:var(--iga-red);
  border-color:var(--iga-red);
  color:var(--iga-white);
}
/* AU Saved Products: red actions must always have white labels. NZ remains unchanged. */
html[data-retailer="metcash-au"] #favoritesView .watchlist-add-cart,
html[data-retailer="metcash-au"] #favoritesView .favorite-actions button[data-favorite-compare] {
  background:var(--iga-red);
  border-color:var(--iga-red);
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] #favoritesView .watchlist-add-cart:hover,
html[data-retailer="metcash-au"] #favoritesView .favorite-actions button[data-favorite-compare]:hover {
  background:#cf2116;
  color:var(--iga-white);
}

html[data-retailer="metcash-au"] .bookmark-page-btn.installable {
  background:var(--iga-white);
  color:var(--iga-red);
  border-color:var(--iga-white);
}
html[data-retailer="metcash-au"] .save-app-step b {
  background:var(--iga-red);
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] .recipe-library-mode-btn.is-active {
  background:var(--iga-red);
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] .mobile-bottom-nav {
  background:var(--iga-charcoal);
  border-top-color:rgba(228,41,27,.55);
}
html[data-retailer="metcash-au"] .mobile-nav-item.active {
  color:#ff6f62;
  background:rgba(228,41,27,.14);
}
html[data-retailer="metcash-au"] .mobile-nav-item:focus-visible {
  outline-color:#ff6f62;
}
html[data-retailer="metcash-au"] .mobile-nav-badge {
  background:var(--iga-red);
  color:var(--iga-white);
  border-color:var(--iga-charcoal);
}
html[data-retailer="metcash-au"] .planner-page::before {
  background:var(--iga-red);
}
html[data-retailer="metcash-au"] .planner-week-badge {
  background:var(--iga-charcoal);
  color:var(--iga-white);
}
@media (max-width:700px) {
  html[data-retailer="metcash-au"] body {
    background:linear-gradient(180deg,var(--iga-red) 0 260px,var(--bg) 260px);
  }
}


/* Homepage search & compare — compact single-field launcher */
#homeView .product-compare-card.home-compare-launcher{
  display:block;
  padding:0;
  border:1px solid #d7dce2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 3px 12px rgba(17,17,17,.035);
  overflow:hidden;
}
#homeView .home-compare-launcher .search-row.home-compare-search{
  display:flex;
  align-items:center;
  gap:0;
  width:100%;
  min-height:62px;
  margin:0;
  padding:0 13px;
}
#homeView .home-compare-search-btn{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:48px;
  padding:9px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#171717;
  cursor:pointer;
}
#homeView .home-compare-search-btn svg{
  display:block;
  width:25px;
  height:25px;
}
#homeView .home-compare-search-btn:hover{background:#f5f4ec}
#homeView .home-compare-search-btn:focus-visible{
  outline:2px solid #111;
  outline-offset:-3px;
}
#homeView .home-compare-launcher #homeCompareInput{
  flex:1 1 auto;
  min-width:0;
  min-height:58px;
  padding:10px 8px;
  border:0!important;
  border-radius:0;
  background:transparent;
  color:#111;
  box-shadow:none!important;
  font-size:15px;
  font-weight:500;
  outline:none;
}
#homeView .home-compare-launcher #homeCompareInput::placeholder{
  color:#888e97;
  opacity:1;
}
#homeView .home-compare-launcher:focus-within{
  border-color:#111;
  box-shadow:0 0 0 3px rgba(255,212,0,.3);
}
@media(max-width:700px){
  #homeView .home-compare-launcher .search-row.home-compare-search{
    min-height:60px;
    padding:0 10px;
  }
  #homeView .home-compare-launcher #homeCompareInput{
    font-size:14px;
  }
}


/* Deals V2 — compact browse-first controls with an optional recipe builder */
#dealsView .deals-head{gap:10px;margin-bottom:15px;padding-bottom:20px}
#dealsView .deals-head p{max-width:590px;line-height:1.4}
#dealsView .deals-tools{
  padding:16px;
  margin-bottom:15px;
  border:1px solid #d8d4c4;
  border-radius:20px;
  background:#fff;
}
#dealsView .deals-search{
  display:flex;
  align-items:center;
  gap:0;
  min-height:54px;
  margin:0;
  padding:0 9px;
  border:1px solid #ccc7b9;
  border-radius:15px;
  background:#fff;
}
#dealsView .deals-search:focus-within{border-color:#111;box-shadow:0 0 0 3px rgba(255,212,0,.3)}
#dealsView .deals-search-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:44px;
  padding:9px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#111;
  cursor:pointer;
}
#dealsView .deals-search-icon svg{width:23px;height:23px}
#dealsView .deals-search-icon:hover{background:#f4f2e7}
#dealsView .deals-search-icon:focus-visible{outline:2px solid #111;outline-offset:-3px}
#dealsView .deals-search input[type="search"]{
  flex:1;
  min-width:0;
  width:100%;
  min-height:52px;
  padding:10px 8px;
  border:0!important;
  border-radius:0;
  box-shadow:none!important;
  background:transparent;
  color:#111;
  font-size:14px;
  outline:none;
}
#dealsView .deals-search input::placeholder{color:#909195;opacity:1}
#dealsView .deals-compact-summary{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:3px 10px;
  padding:10px 2px 12px;
  color:#615e55;
  line-height:1.4;
}
#dealsView .deals-compact-summary strong{font-size:12px;color:#222;white-space:nowrap}
#dealsView .deals-compact-summary span{font-size:10px;color:#777268}
#dealsView .deals-disclosure{border-top:1px solid #ece9df}
#dealsView .deals-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:53px;
  padding:10px 2px;
  list-style:none;
  cursor:pointer;
  color:#222;
}
#dealsView .deals-disclosure>summary::-webkit-details-marker{display:none}
#dealsView .deals-disclosure>summary::marker{content:""}
#dealsView .deals-disclosure-main{display:flex;align-items:center;min-width:0;gap:10px}
#dealsView .deals-disclosure-main>svg{width:21px;height:21px;flex:0 0 21px}
#dealsView .deals-disclosure-main strong{font-size:13px;line-height:1.3}
#dealsView .deals-disclosure-chevron{width:17px;height:17px;flex:0 0 17px;transition:transform .15s ease}
#dealsView .deals-disclosure[open]>summary .deals-disclosure-chevron{transform:rotate(180deg)}
#dealsView .deals-disclosure-body{padding:0 2px 15px}
#dealsView .deals-filters{margin-top:4px}
#dealsView .deals-filter-count{padding:3px 7px;border-radius:999px;background:var(--retail-yellow-soft,#fff3b0);color:#222;font-size:10px;font-weight:900;white-space:nowrap}
#dealsView .deals-active-filters{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 11px}
#dealsView .deals-active-filters button{
  border:1px solid #d7dce2;
  border-radius:999px;
  background:var(--retail-yellow-soft,#fff8d4);
  color:#222;
  padding:6px 9px;
  font:inherit;
  font-size:10px;
  font-weight:800;
}
#dealsView .deals-active-filters .deals-clear-all{background:#fff;border-color:#d9d6ca;color:#514d42}
#dealsView .deals-recipe-summary-copy{display:grid;gap:2px}
#dealsView .deals-recipe-summary-copy small{color:#747067;font-size:10px;line-height:1.35}
#dealsView .deals-recipe-help{margin:2px 0 10px;color:#68645b;font-size:11px;line-height:1.45}
#dealsView .deals-recipe-panel .deal-recipe-controls{margin:0;grid-template-columns:1fr .65fr 1fr}
#dealsView .deals-recipe-panel .deal-recipe-controls .primary{
  grid-column:1/-1;
  min-height:46px;
  background:#111;
  color:var(--retail-yellow,#ffd400);
}
#dealsView .deals-recipe-panel .deal-recipe-controls .primary:hover{background:#282828}
#dealsView .deals-footer-links{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px 20px;
  flex-wrap:wrap;
  border-top:1px solid #ece9df;
  padding:12px 2px 0;
}
#dealsView .deals-official-link{color:#49453c;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:2px}
#dealsView .deals-store-context>summary{font-size:10px;color:#817b6d;cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:2px}
#dealsView .deals-store-context>summary::-webkit-details-marker{display:none}
#dealsView .deals-store-context p{max-width:370px;margin:7px 0 0;font-size:10px;line-height:1.45;color:#777268}
@media(max-width:700px){
  #dealsView .deals-head{gap:9px;margin-bottom:12px;padding-bottom:19px}
  #dealsView .deals-head p{font-size:12px;line-height:1.35}
  #dealsView .deals-tools{padding:12px 13px;margin-bottom:12px}
  #dealsView .deals-search{min-height:50px}
  #dealsView .deals-search input[type="search"]{min-height:48px;font-size:13px}
  #dealsView .deals-compact-summary{padding:9px 2px 8px}
  #dealsView .deals-compact-summary strong{font-size:11px}
  #dealsView .deals-compact-summary span{font-size:9px}
  #dealsView .deals-disclosure>summary{min-height:50px}
  #dealsView .deals-filters{grid-template-columns:1fr;gap:8px}
  #dealsView .deals-recipe-panel .deal-recipe-controls{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:8px}
  #dealsView .deals-recipe-panel .deal-recipe-controls label:nth-child(3){grid-column:1/-1}
  #dealsView .deals-recipe-panel .deal-recipe-controls .primary{width:100%;grid-column:1/-1}
  #dealsView .deals-footer-links{padding-top:10px}
}


/* Desktop pilot presentation: cart + More menu, compact hero, and centred sign-in */
@media (min-width:1000px){
  body:has(#homeView:not(.hidden)){
    background:linear-gradient(180deg,var(--retail-yellow) 0 250px,var(--bg) 250px);
  }
  body:has(#homeView:not(.hidden)) .topbar{
    min-height:250px;
    padding:24px 28px 68px;
    gap:24px;
  }
  body:has(#homeView:not(.hidden)) .topbar h1{
    margin:12px 0 5px;
    font-size:clamp(62px,6vw,78px);
  }
  body:has(#homeView:not(.hidden)) .topbar .sub{font-size:20px}
  body:has(#homeView:not(.hidden)) .desktop-hero-message{
    top:8px;
    right:205px;
    width:min(43%,520px);
    height:184px;
  }
  body:has(#homeView:not(.hidden)) #homeView .store-card{top:-86px}
  .topbar-actions .account-quick-btn,
  .topbar-actions .notification-btn{display:none!important}
  body:has(#homeView:not(.hidden)) .topbar-actions{top:24px;right:28px}
  body:has(#homeView:not(.hidden)) .topbar-actions .menu-icon{
    display:grid!important;
    place-content:center;
    width:44px;
    height:44px;
    border-radius:13px;
  }
  #homeView .home-primary-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
  .account-dialog{
    position:fixed;
    inset:0;
    margin:auto;
    width:min(540px,calc(100vw - 40px));
    max-height:calc(100dvh - 44px);
    height:fit-content;
    overflow-y:auto;
    box-sizing:border-box;
  }
  .account-dialog .account-card{
    width:100%;
    max-width:none;
    padding:25px 26px;
  }
}
@media (min-width:1000px) and (max-width:1150px){
  body:has(#homeView:not(.hidden)) .desktop-hero-message{right:180px;width:41%;height:168px}
  body:has(#homeView:not(.hidden)) .topbar h1{font-size:68px}
}


/* v0.20.6 — NZ selected-store location marker */
@media (min-width:1000px){
  #homeView .store-card::before{
    content:"";
    display:block;
    position:absolute;
    left:18px;
    top:18px;
    width:30px;
    height:30px;
    border-radius:50% 50% 50% 0;
    background:
      radial-gradient(circle at 50% 50%, #111 0 4px, transparent 4.5px),
      var(--retail-yellow);
    color:transparent;
    transform:rotate(-45deg);
    box-shadow:0 3px 8px rgba(17,17,17,.14);
  }
  #homeView .store-card .row{
    padding-left:48px;
  }
}

/* v0.20.2 — LOCAL n SAVE AU visual polish */
html[data-retailer="metcash-au"] #shopperBrandName.shopper-brand-wordmark-au {
  display:inline-flex;
  align-items:baseline;
  gap:.035em;
  max-width:100%;
  margin:9px 0 7px;
  white-space:nowrap;
  color:var(--iga-white);
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Black",sans-serif;
  font-style:italic;
  font-weight:900;
  letter-spacing:.01em;
  line-height:.82;
  text-shadow:0 2px 0 rgba(112,17,10,.16);
  transform:skew(-4deg);
  transform-origin:left bottom;
}
html[data-retailer="metcash-au"] #shopperBrandName .brand-local,
html[data-retailer="metcash-au"] #shopperBrandName .brand-save {
  display:inline-block;
}
html[data-retailer="metcash-au"] #shopperBrandName .brand-n {
  display:inline-block;
  margin:0 .07em 0 .09em;
  font-family:"Arial Black",Arial,sans-serif;
  font-size:.50em;
  font-style:italic;
  font-weight:1000;
  letter-spacing:-.05em;
  text-transform:lowercase;
  transform:translateY(-.05em);
}

/* Keep the home task chooser in the AU palette, with high-contrast expansion controls. */
html[data-retailer="metcash-au"] #homeView .homepage-cook-summary .cook-kicker {
  border:2px solid var(--iga-red);
  background:var(--iga-white);
  color:var(--iga-charcoal);
  box-shadow:none;
}
html[data-retailer="metcash-au"] #homeView .cook-path,
html[data-retailer="metcash-au"] #homeView .cook-path[open] {
  border-color:#ded8cb;
  box-shadow:0 5px 16px rgba(48,48,47,.045);
}
html[data-retailer="metcash-au"] #homeView .cook-path-summary::after {
  background:var(--iga-red);
  border:3px solid var(--iga-charcoal);
  color:var(--iga-white);
  text-shadow:none;
}
html[data-retailer="metcash-au"] #homeView .cook-path-number {
  background:var(--iga-white);
  color:var(--iga-charcoal);
  border:1px solid var(--iga-charcoal);
  box-shadow:none;
}
html[data-retailer="metcash-au"] #homeView .cook-household-context {
  border-color:#dfd1b3;
  background:#faf6eb;
}
html[data-retailer="metcash-au"] #homeView .cook-household-context strong {
  color:#9f2118;
}
html[data-retailer="metcash-au"] .cook-prompt:focus,
html[data-retailer="metcash-au"] .cook-pantry:focus,
html[data-retailer="metcash-au"] .cook-controls select:focus,
html[data-retailer="metcash-au"] .cook-controls input:focus {
  border-color:var(--iga-red);
  box-shadow:0 0 0 3px rgba(228,41,27,.14);
}

/* Remove remaining Foodstuffs-yellow emphasis from prominent AU surfaces. */
html[data-retailer="metcash-au"] .deals-summary-tile {
  background:#fff1ee;
}
html[data-retailer="metcash-au"] .weekly-view-recipe {
  border-color:#e5b0a9;
  background:#fff1ee;
  color:var(--iga-charcoal);
}

/* Inner pages should not become one large red slab. */
html[data-retailer="metcash-au"] .standalone-head {
  background:var(--bg);
  box-shadow:0 0 0 100vmax var(--bg);
  clip-path:inset(0 -100vmax);
  padding-top:12px;
  padding-bottom:22px;
}
html[data-retailer="metcash-au"] .standalone-head .eyebrow {
  color:var(--iga-red);
}
html[data-retailer="metcash-au"] .standalone-head h2 {
  color:var(--iga-charcoal);
}
html[data-retailer="metcash-au"] .standalone-head p {
  color:#68645d;
}
html[data-retailer="metcash-au"] .standalone-head .back-btn {
  border-color:#d2cbc0;
  background:var(--iga-white);
  color:var(--iga-charcoal);
}

/* Header controls: one clean white Get pill + one clean charcoal cart control. */
html[data-retailer="metcash-au"] .topbar-actions .bookmark-page-btn {
  min-width:72px;
  height:48px;
  padding:0 17px;
  border:1px solid var(--iga-charcoal);
  border-radius:24px!important;
  background:var(--iga-white);
  color:var(--iga-charcoal);
  box-shadow:none;
}
html[data-retailer="metcash-au"] .bookmark-page-btn.installable,
html[data-retailer="metcash-au"] .bookmark-page-btn.installed {
  background:var(--iga-white);
  color:var(--iga-charcoal);
  border-color:var(--iga-charcoal);
  box-shadow:none;
}
html[data-retailer="metcash-au"] .topbar-actions .header-cart-btn {
  min-width:48px;
  height:48px;
  padding:0!important;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--iga-white);
  box-shadow:none;
}
html[data-retailer="metcash-au"] .header-cart-icon {
  flex-basis:48px;
  width:48px;
  height:48px;
  border-radius:18px;
  background:var(--iga-charcoal);
  color:var(--iga-white);
  box-shadow:0 5px 16px rgba(91,12,6,.16);
}
html[data-retailer="metcash-au"] .header-cart-total {
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] .store-card::after {
  content:none;
}

/* AU mobile navigation — charcoal bar, white defaults, branded red active state. */
html[data-retailer="metcash-au"] .mobile-bottom-nav {
  background:var(--iga-charcoal);
  border-top:1px solid rgba(228,41,27,.55);
  box-shadow:0 -8px 24px rgba(48,48,47,.18);
}
html[data-retailer="metcash-au"] .mobile-nav-item {
  color:var(--iga-white);
}
html[data-retailer="metcash-au"] .mobile-nav-item.active {
  color:var(--iga-red);
  background:transparent;
}
html[data-retailer="metcash-au"] .mobile-nav-item:focus-visible {
  outline:2px solid var(--iga-red);
  outline-offset:-2px;
}
html[data-retailer="metcash-au"] .mobile-nav-badge {
  background:var(--iga-red);
  color:var(--iga-white);
  border-color:var(--iga-charcoal);
}

@media(max-width:700px) {
  html[data-retailer="metcash-au"] #shopperBrandName.shopper-brand-wordmark-au {
    font-size:clamp(43px,11.2vw,55px);
    gap:.025em;
    letter-spacing:0;
  }
  html[data-retailer="metcash-au"] .topbar-actions {
    gap:8px;
  }
  html[data-retailer="metcash-au"] .topbar-actions .bookmark-page-btn {
    min-width:72px;
    height:48px;
    padding:0 16px;
  }
  html[data-retailer="metcash-au"] .topbar-actions .header-cart-btn {
    min-width:48px;
    height:48px;
  }
}


/* v0.20.3 — definitive AU mobile state styling */
html[data-retailer="metcash-au"] #homeView .cook-primary {
  background:var(--iga-red)!important;
  color:var(--iga-white)!important;
  border-color:var(--iga-red)!important;
  box-shadow:0 4px 0 #a51d14!important;
}
html[data-retailer="metcash-au"] #homeView .cook-primary:hover {
  background:#cf2116!important;
}
html[data-retailer="metcash-au"] .recipe-library-mode-btn.is-active {
  background:var(--iga-red)!important;
  color:var(--iga-white)!important;
}
@media(max-width:700px) {
  html[data-retailer="metcash-au"] .mobile-bottom-nav {
    background:var(--iga-charcoal)!important;
    border-top:0!important;
  }
  html[data-retailer="metcash-au"] .mobile-nav-item {
    background:transparent!important;
    color:var(--iga-white)!important;
  }
  html[data-retailer="metcash-au"] .mobile-nav-item.active {
    background:transparent!important;
    color:var(--iga-red)!important;
  }
}


/* v0.20.3 — LOCAL n SAVE desktop parity with APP’nSAVE */
.account-welcome-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:16px;
  overflow:hidden;
}
.account-welcome-icon-default{
  display:block;
  width:64px;
  height:64px;
  border-radius:14px;
}
.account-welcome-icon-au{display:none;width:64px;height:64px}

html[data-retailer="metcash-au"] .account-welcome-intro{
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  background:#fff;
  border-color:rgba(48,48,47,.16);
}
html[data-retailer="metcash-au"] .account-welcome-icon{
  color:var(--iga-red);
  background:var(--iga-red);
  justify-self:center;
}
html[data-retailer="metcash-au"] .account-welcome-icon-default{display:none}
html[data-retailer="metcash-au"] .account-welcome-icon-au{display:block}
html[data-retailer="metcash-au"] .account-dialog[data-welcome="true"] .account-card{
  border-top-color:var(--iga-red);
}

@media (min-width:1000px){
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)){
    background:linear-gradient(180deg,var(--iga-red) 0 250px,var(--bg) 250px);
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .topbar{
    min-height:250px;
    padding:24px 28px 68px;
    gap:24px;
  }

  /* Match the current NZ desktop header: cart/value + More only. */
  html[data-retailer="metcash-au"] .topbar-actions .account-quick-btn,
  html[data-retailer="metcash-au"] .topbar-actions .notification-btn{
    display:none!important;
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .topbar-actions{
    top:24px;
    right:28px;
    gap:10px;
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .topbar-actions .menu-icon{
    display:grid!important;
    place-content:center;
    width:44px;
    height:44px;
    border-radius:13px;
    background:var(--iga-white);
    border-color:var(--iga-white);
    color:var(--iga-red);
    box-shadow:none;
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .topbar-actions .menu-icon span{
    background:var(--iga-red);
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .topbar-actions .header-cart-btn{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:40px;
    height:44px;
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .header-cart-total{
    display:block;
    color:var(--iga-white);
    font-size:15px;
    font-weight:1000;
  }
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .header-cart-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    border-radius:14px;
    background:var(--iga-charcoal);
    color:var(--iga-white);
  }

  /* Shift the food hero left to the same balanced position used by APP’nSAVE. */
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .desktop-hero-message{
    top:8px;
    right:205px;
    width:min(43%,520px);
    height:184px;
    background-size:contain!important;
    background-position:center center!important;
  }

  /* Keep the large italic wordmark readable instead of letting LOCAL / n / SAVE collide. */
  html[data-retailer="metcash-au"] #shopperBrandName.shopper-brand-wordmark-au{
    gap:.075em;
    letter-spacing:.015em;
    transform:skew(-3deg);
  }
  html[data-retailer="metcash-au"] #shopperBrandName .brand-n{
    margin:0 .12em;
    font-size:.48em;
    letter-spacing:0;
    transform:translateY(-.04em);
  }
  html[data-retailer="metcash-au"] #shopperBrandName .brand-local,
  html[data-retailer="metcash-au"] #shopperBrandName .brand-save{
    margin:0 .015em;
  }

  /* Match the centred desktop sign-in/welcome treatment from APP’nSAVE. */
  html[data-retailer="metcash-au"] .account-dialog{
    position:fixed;
    inset:0;
    margin:auto;
    width:min(540px,calc(100vw - 40px));
    max-height:calc(100dvh - 44px);
    height:fit-content;
    overflow-y:auto;
    box-sizing:border-box;
  }
  html[data-retailer="metcash-au"] .account-dialog .account-card{
    width:100%;
    max-width:none;
    padding:25px 26px;
  }
}

@media (min-width:1000px) and (max-width:1150px){
  html[data-retailer="metcash-au"] body:has(#homeView:not(.hidden)) .desktop-hero-message{
    right:180px;
    width:41%;
    height:168px;
  }
  html[data-retailer="metcash-au"] #shopperBrandName.shopper-brand-wordmark-au{
    font-size:64px;
    gap:.07em;
  }
}

@media(max-width:520px){
  .account-welcome-icon,
  .account-welcome-icon-default,
  .account-welcome-icon-au{
    width:52px;
    height:52px;
  }
  html[data-retailer="metcash-au"] .account-welcome-intro{
    grid-template-columns:52px minmax(0,1fr);
  }
}


/* v0.20.4 — AU desktop step + wordmark consistency */
html[data-retailer="metcash-au"] #homeView .cook-path-number,
html[data-retailer="metcash-au"] #homeView .cook-path:first-child .cook-path-number{
  background:var(--iga-white)!important;
  color:var(--iga-charcoal)!important;
  border:1px solid var(--iga-charcoal)!important;
  box-shadow:none!important;
}
html[data-retailer="metcash-au"] #homeView .cook-path:first-child{
  border-color:#ded8cb!important;
  background:var(--iga-white)!important;
}

@media (min-width:1000px){
  html[data-retailer="metcash-au"] #shopperBrandName.shopper-brand-wordmark-au{
    display:inline-flex;
    align-items:baseline;
    column-gap:.11em;
    font-family:"Arial Black",Arial,Helvetica,sans-serif;
    font-style:normal;
    font-weight:1000;
    letter-spacing:0;
    transform:skew(-7deg);
    line-height:.88;
  }
  html[data-retailer="metcash-au"] #shopperBrandName .brand-local,
  html[data-retailer="metcash-au"] #shopperBrandName .brand-save{
    display:inline-block;
    margin:0;
    letter-spacing:.035em;
  }
  html[data-retailer="metcash-au"] #shopperBrandName .brand-n{
    margin:0 .16em;
    font-family:"Arial Black",Arial,Helvetica,sans-serif;
    font-size:.46em;
    font-style:normal;
    font-weight:1000;
    letter-spacing:0;
    transform:translateY(-.03em);
  }
}


/* v0.20.5 — restore desktop wordmark to mobile brand treatment */
@media (min-width:1000px){
  html[data-retailer="metcash-au"] #shopperBrandName.shopper-brand-wordmark-au{
    display:inline-flex;
    align-items:baseline;
    gap:.045em;
    max-width:100%;
    margin:9px 0 7px;
    white-space:nowrap;
    color:var(--iga-white);
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Black",sans-serif!important;
    font-style:italic!important;
    font-weight:900;
    font-size:clamp(64px,5.7vw,82px);
    letter-spacing:.01em!important;
    line-height:.82;
    transform:skew(-4deg)!important;
    transform-origin:left bottom;
    text-shadow:0 2px 0 rgba(112,17,10,.16);
  }
  html[data-retailer="metcash-au"] #shopperBrandName .brand-local,
  html[data-retailer="metcash-au"] #shopperBrandName .brand-save{
    display:inline-block;
    margin:0;
    letter-spacing:.01em!important;
  }
  html[data-retailer="metcash-au"] #shopperBrandName .brand-n{
    display:inline-block;
    margin:0 .10em 0 .12em!important;
    font-family:"Arial Black",Arial,sans-serif!important;
    font-size:.50em!important;
    font-style:italic!important;
    font-weight:1000;
    letter-spacing:-.03em!important;
    text-transform:lowercase;
    transform:translateY(-.05em)!important;
  }
}


/* v0.20.6 — AU selected-store location marker */
html[data-retailer="metcash-au"] #homeView .store-card::before{
  content:"";
  display:block;
  position:absolute;
  left:18px;
  top:18px;
  width:30px;
  height:30px;
  border-radius:50% 50% 50% 0;
  background:
    radial-gradient(circle at 50% 50%, var(--iga-white) 0 4px, transparent 4.5px),
    var(--iga-red);
  color:transparent;
  transform:rotate(-45deg);
  box-shadow:0 3px 8px rgba(91,12,6,.16);
}
html[data-retailer="metcash-au"] #homeView .store-card .row{
  padding-left:48px;
}

/* LOCAL n SAVE — Deals recipe CTA white text on dark button. */
html[data-retailer="metcash-au"] #dealsView #buildDealRecipesBtn{color:#fff!important;}

/* A deal already in the current store cart has a persistent, readable state. */
/* Deals: persistent Watchlist status, editable quantity, short Add confirmation. */
#dealsView .deal-quantity-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
#dealsView .deal-quantity-row label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;color:#333}
#dealsView .deal-quantity-row input{width:68px;min-height:44px;border:1px solid #c9c4b4;border-radius:11px;padding:6px 8px;font:inherit;font-size:16px;background:#fff;color:#171717;text-align:center}
#dealsView .deal-quantity-row small{font-size:12px;font-weight:750;color:#23613c}
#dealsView .deal-card-actions [data-deal-cart].just-added{background:#242424!important;border-color:#242424!important;color:#fff!important;opacity:1}

/* Weekly Shop: product photos and actions above the combined list. */
.weekly-cart-quick-actions{display:flex;gap:10px;align-items:center;margin:0 0 16px}
.weekly-cart-quick-actions .primary{flex:1;min-height:46px}
.weekly-cart-quick-actions .secondary-action{min-height:46px}
.weekly-basket-item .weekly-product-choice{display:flex;align-items:flex-start;gap:12px;text-align:left;min-width:0}
.weekly-product-image-frame{position:relative;flex:0 0 76px;width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:1px solid #e5e1d8;border-radius:12px;background:#f9f8f5}
.weekly-product-image-frame.is-compact{flex-basis:48px;width:48px;height:48px;border-radius:9px}
.weekly-product-image-fallback{font-size:26px;line-height:1;color:#a5a39c}
.weekly-product-image-frame.is-compact .weekly-product-image-fallback{font-size:19px}
.weekly-product-image-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}
.weekly-product-details{min-width:0;flex:1;overflow-wrap:anywhere}
.weekly-alternatives .alternative-btn{align-items:center}
.weekly-alternatives .weekly-alternative-product{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.weekly-alternatives .weekly-alternative-copy{min-width:0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.weekly-alternatives .alternative-btn>b{flex:0 0 auto;white-space:nowrap}
@media(max-width:600px){
  .weekly-cart-quick-actions{flex-direction:column;align-items:stretch}
  .weekly-cart-quick-actions button{width:100%}
}

/* Watchlist product photos: same responsive card in NZ and AU. */
.watchlist-product-identity{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.watchlist-product-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.watchlist-product-image-frame{position:relative;flex:0 0 76px;width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:1px solid #e5e1d8;border-radius:12px;background:#f9f8f5}
.watchlist-product-image-fallback{font-size:26px;line-height:1;color:#a5a39c}
.watchlist-product-image-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}
.watchlist-product-main>.watchlist-price{flex:0 0 auto}
@media(max-width:420px){
 .watchlist-product-identity{gap:9px}
 .watchlist-product-image-frame{flex-basis:60px;width:60px;height:60px;border-radius:10px}
 .watchlist-product-main{gap:8px}
}

/* AU Auth Turnstile (feature gated by runtime site key). */
.account-captcha{display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;max-width:100%}
.account-captcha #accountTurnstileWidget{width:100%;min-height:65px}
.account-captcha .field-note{display:block;line-height:1.45}

/* AU email OTP completion: align Sign in with full-width account actions. */
.account-dialog .account-code-submit{display:block;width:100%;min-height:50px;margin-top:8px}
