/* Compact grocery rows with check-off/cart behavior and shopping tools. */
.shopping-status { display:flex; align-items:center; justify-content:flex-end; gap:14px; margin:0 0 18px; }
.shopping-status-copy { display:none; min-width:0; }
.shopping-status-copy strong { display:block; font-size:18px; line-height:1.2; font-weight:900; color:var(--ink); }
.shopping-status-copy span { display:block; margin-top:4px; font-size:13px; color:var(--ink); font-weight:750; }
.shopping-mode-button { min-height:44px; padding:8px 13px; background:var(--accent); color:var(--ink); font-size:13px; font-weight:850; flex-shrink:0; }
.shopping-tools-toggle { width:100%; min-height:44px; margin:0 0 14px; padding:8px 12px; background:var(--surface); color:var(--ink); font-weight:800; text-align:left; }
.quick-entry-help { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.list-screen .grocery-row { min-height:94px; padding:6px 15px; gap:8px; }
.list-screen .grocery-check { gap:15px; min-height:80px; cursor:pointer; }
.list-screen .grocery-check input { flex:0 0 28px; width:28px; height:28px; border-radius:8px; }
.list-screen .item-text { display:flex; flex-direction:column; gap:5px; flex:1; }
.list-screen .item-text strong { font-size:18px; line-height:1.3; font-weight:850; color:var(--ink); }
.list-screen .item-details { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; }
.list-screen .item-quantity { display:inline-block; width:fit-content; padding:2px 5px; border:1px solid var(--ink); border-radius:6px; background:var(--accent-soft); color:var(--ink); font-size:13px; line-height:1.3; font-weight:750; }
.list-screen .item-text small { color:var(--ink); font-size:12px; font-weight:650; }
.list-screen .row-actions button { min-width:44px; min-height:46px; color:var(--ink); font-size:12px; }
.list-screen .row-actions button[data-grocery-remove] { min-width:40px; }
.list-screen .is-checked .item-text strong { text-decoration:line-through; text-decoration-thickness:2px; }
.list-screen .is-checked .item-quantity { background:var(--surface); }
.list-screen .cart-group > summary { display:flex; align-items:center; gap:8px; min-height:49px; padding:9px 12px; background:var(--accent-soft); color:var(--ink); cursor:pointer; list-style:none; font-size:14px; font-weight:850; }
.list-screen .cart-group > summary::-webkit-details-marker { display:none; }
.cart-count { display:inline-grid; place-items:center; min-width:29px; min-height:29px; padding:2px 7px; border:1.5px solid var(--ink); border-radius:9px; background:var(--surface); font-size:13px; }
.cart-disclosure { margin-left:auto; font-size:12px; }
.cart-disclosure::after { content:' ▾'; }
.cart-group[open] .cart-disclosure::after { content:' ▴'; }
.list-screen .cart-group .note { margin:14px 0; color:var(--ink); }
.all-in-cart { margin:0 0 18px; padding:15px; border:1.5px dashed var(--ink); border-radius:12px; background:var(--accent-soft); color:var(--ink); font-size:14px; line-height:1.5; }
.shopping-mode .shopping-heading { margin-bottom:16px; }
.shopping-mode .shopping-heading h1 { font-size:34px; }
.shopping-mode .shopping-heading p,
.shopping-mode .list-progress,
.shopping-mode .shopping-progress-track { display:none; }
.shopping-mode .shopping-status { position:sticky; top:8px; z-index:15; justify-content:space-between; padding:13px 15px; border:2px solid var(--ink); border-radius:18px; background:var(--surface); box-shadow:3px 4px 0 var(--ink); }
.shopping-mode .shopping-status-copy { display:block; }
.shopping-mode .shopping-mode-button { background:var(--accent-2); }
.shopping-mode .list-section-head { position:sticky; top:110px; z-index:14; padding:9px 0 12px; background:var(--paper); }
.shopping-mode .list-screen .grocery-row { min-height:94px; }
.shopping-mode .list-screen .item-text strong { font-size:18px; }
.list-screen input:focus-visible,
.list-screen button:focus-visible,
.list-screen summary:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:760px) {
  .shopping-status { margin-bottom:16px; }
  .shopping-mode-button { font-size:13px; padding:10px 13px; }
  .shopping-mode .shopping-heading h1 { font-size:30px; }
  .shopping-mode .shopping-status { top:7px; gap:9px; padding:11px 12px; border-radius:15px; }
  .shopping-status-copy strong { font-size:17px; }
  .shopping-status-copy span { font-size:12px; }
  .shopping-mode .shopping-mode-button { max-width:128px; font-size:12px; }
  .shopping-mode .list-section-head { top:102px; }
  .list-screen .grocery-row, .shopping-mode .list-screen .grocery-row { padding:5px 9px; gap:4px; min-height:88px; }
  .list-screen .grocery-check { gap:10px; min-height:76px; }
  .list-screen .grocery-check input { flex-basis:28px; width:28px; height:28px; }
  .list-screen .item-text strong { font-size:17px; line-height:1.27; }
  .list-screen .item-details { gap:6px; }
  .list-screen .item-quantity { font-size:12px; padding:2px 5px; }
  .list-screen .item-text small { font-size:11px; }
  .list-screen .row-actions { flex-direction:row; gap:0; }
  .list-screen .row-actions button { min-width:40px; min-height:44px; padding:8px 7px; }
  .list-screen .row-actions button[data-grocery-remove] { min-width:36px; }
  .shopping-mode .list-screen .item-text strong { font-size:17px; }
  .list-screen .cart-group > summary { padding:11px 12px; font-size:15px; }
  .list-screen .cart-group .type-label { gap:7px; }
  .list-screen .cart-group .section-icon { width:24px; height:24px; }
  .cart-count { min-width:26px; min-height:26px; }
  .quick-entry-help { font-size:11px; }
}
@media(max-width:360px) {
  .shopping-mode .shopping-status { padding:10px; }
  .shopping-status-copy strong { font-size:17px; }
  .shopping-mode .shopping-mode-button { font-size:11px; padding:8px 10px; }
  .list-screen .grocery-row { padding-left:7px; padding-right:5px; gap:5px; }
  .list-screen .grocery-check { gap:8px; }
  .list-screen .item-text strong, .shopping-mode .list-screen .item-text strong { font-size:16px; }
  .list-screen .row-actions button { min-width:37px; padding-left:5px; padding-right:5px; }
  .list-screen .row-actions button[data-grocery-remove] { min-width:33px; }
}
