.shopping-page-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.shopping-page-actions > a:not(.button) { padding:10px 4px; font-weight:750; }
.shopping-truth-note { margin:18px 0 0; padding:14px 16px; border-left:4px solid var(--amber-ink); background:#fbf4df; color:var(--ink) !important; }
.shopping-list-panel { margin:22px 0 32px; padding:20px; border:1px solid #b8c9bc; border-radius:12px; background:#f8fbf6; }
.shopping-list-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.shopping-list-heading h3 { margin:3px 0 0; font-size:1.25rem; }
.shopping-list-heading > p { max-width:300px; margin:0; color:var(--muted); font-size:.82rem; text-align:right; }
.shopping-list-table { min-width:920px !important; }
.shopping-list-table th:first-child, .shopping-list-table td:first-child { width:62px; text-align:center; }
.shopping-list-table input { width:18px; height:18px; min-height:0; accent-color:var(--green-dark); }
.shopping-list-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.shopping-list-status { min-height:22px; margin:10px 0 0; color:var(--green-dark) !important; font-size:.84rem !important; font-weight:750; }
.shopping-list-status:empty { display:none; }
.shopping-list-copy-fallback { width:100%; min-height:220px; margin-top:10px; resize:vertical; font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.shopping-list-boundary { margin:10px 0 0; color:var(--muted) !important; font-size:.78rem !important; }

@media(max-width:620px) {
  .shopping-page-actions { align-items:stretch; flex-direction:column; }
  .shopping-page-actions .button { width:100%; text-align:center; }
  .shopping-page-actions > a:not(.button) { padding:8px 0; }
  .shopping-list-panel { padding:15px; }
  .shopping-list-heading { display:block; }
  .shopping-list-heading > p { margin-top:8px; text-align:left; }
  .shopping-list-actions { display:grid; grid-template-columns:1fr; }
  .shopping-list-actions .button { width:100%; text-align:center; }
  .shopping-list-panel .table-wrap { overflow:visible; border:0; border-radius:0; }
  .shopping-list-table { min-width:0 !important; }
  .shopping-list-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
  .shopping-list-table, .shopping-list-table tbody { display:block; width:100%; }
  .shopping-list-table tr { display:grid; grid-template-columns:38px minmax(0,1fr); gap:0 10px; margin-bottom:12px; padding:12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
  .shopping-list-table td { display:block; padding:7px 0; border:0; overflow-wrap:anywhere; }
  .shopping-list-table td:first-child { grid-row:1 / span 5; width:auto; padding-top:9px; text-align:left; }
  .shopping-list-table td:not(:first-child) { grid-column:2; }
  .shopping-list-table td:not(:first-child)::before { content:attr(data-label); display:block; margin-bottom:2px; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .shopping-list-table td[data-field="item"] { color:var(--green-dark); font-weight:800; }
}
