:root { --shop-column: min(760px, calc(100% - 32px)); }
@media (min-width: 641px) and (max-width: 899px) {
  :root { --shop-column: min(680px, calc(100% - 32px)); }
}
.shop-intro, .shop-guide, .feedback-section,
.products .product-card-list, .products .menu-note,
.filter-row, .menu-utility {
  width: var(--shop-column);
  max-width: none;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
.shop-intro, .shop-guide {
  padding-top: 24px;
  padding-bottom: 24px;
  color: var(--text);
}
.shop-intro h1 { margin: 0 0 10px; font: 600 clamp(26px, 4vw, 34px)/1.2 "Fraunces", Georgia, serif; letter-spacing: -.025em; text-wrap: balance; }
.shop-intro p, .shop-guide p, .shop-guide li { color: var(--text-soft); font-size: 14px; line-height: 1.7; }
.shop-intro p { margin: 0; max-width: 62ch; }
.products .menu-note { padding-top: 0; margin-bottom: 12px; }
.products { padding-bottom: 32px; }
.products .add-button { right: 0; }
.menu-utility { margin-top: 24px; padding-top: 16px; }
.feedback-section { margin-bottom: 32px; }
.feedback-section:has(.customer-feedback[hidden]) { display: none; }
.customer-feedback { margin-top: 0; }
.feedback-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.feedback-card footer { background: transparent; }
.shop-guide { border-top: 1px solid var(--edge-soft); padding-top: 32px; padding-bottom: 32px; }
.shop-guide h2 { font: 600 23px/1.3 "Fraunces", Georgia, serif; margin: 28px 0 10px; }
.shop-guide h2:first-child { margin-top: 0; }
.shop-guide a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.shop-guide ol { padding-left: 22px; }
.shop-guide li + li { margin-top: 8px; }
.lite-footer { background: var(--surface); border-top: 1px solid var(--edge-soft); padding: 24px max(16px, calc((100% - 760px) / 2)) 100px; }
.lite-footer a { color: var(--text-soft); }
