/* Shared reflow rules for this isolated review; no device-name detection. */
:root { --review-gutter: clamp(16px, 5.6vw, 56px); --review-bottom-space: 70px; }
html { scroll-padding-block: 24px calc(var(--review-bottom-space) + 16px); }
body .site-header, body .section, body .snack-hero,
body .story-strip, body .site-footer {
  width: 100%;
  padding-left: max(var(--review-gutter), env(safe-area-inset-left));
  padding-right: max(var(--review-gutter), env(safe-area-inset-right));
}
body .header-top > *, body .snack-hero > *, body .story-strip > *,
body .site-footer > *, body .checkout-layout > *, body .address-fields > *,
body .member-detail-grid > *, body .member-info-grid > *,
body .member-order-row > *, body .member-detail-item > * { min-width: 0; }
body h1, body h2, body h3, body p, body dd, body address,
body label, body summary, body .notice { overflow-wrap: anywhere; }
body .snack-hero h1 { letter-spacing: -.035em; }
body input, body select, body textarea { max-width: 100%; }
body .button { height: auto; white-space: normal; overflow-wrap: anywhere; }
body .breadcrumbs, body .checkout-path, body .member-nav { flex-wrap: wrap; }
body .desktop-nav { flex-wrap: wrap; gap: clamp(12px, 2.5vw, 36px); }
body .header-tools { flex-shrink: 0; }
body .header-search input { flex: 1 1 0; min-width: 0; }
body .header-search button { flex-shrink: 0; }
body .filters { flex-wrap: wrap; }
body .filters > span { white-space: normal; }
body .search-form > div { flex-wrap: wrap; }
body .search-form input { flex: 1 1 180px; }
body .search-history > span { max-width: 100%; overflow-wrap: anywhere; }
body .search-history button { flex-shrink: 0; }
body .member-payment dl > div { flex-wrap: wrap; }
body .member-payment dd { margin-left: auto; }
body .zoom-dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
body .zoom-dialog img { height: min(70dvh, 720px); }
@media (min-width: 701px) and (max-width: 900px) {
  body .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .product-detail, body .member-detail-grid { grid-template-columns: minmax(0, 1fr); }
  body .product-detail { gap: 36px; }
  body .purchase h1 { max-width: 28ch; }
  body .member-detail-grid { gap: 8px; }
  body .member-payment { max-width: none; }
}
@media (max-width: 700px) {
  body { padding-bottom: var(--review-bottom-space); }
  body .bottom-nav { padding-left: max(8px, env(safe-area-inset-left)); padding-right: max(8px, env(safe-area-inset-right)); }
  body .preview-bar { flex-wrap: wrap; gap: 4px 12px; text-align: center; }
  body input:not([type=checkbox]):not([type=radio]), body select, body textarea { font-size: 16px; }
  body .filters select { width: 100%; max-width: 100%; }
  body .filters > label { min-width: 0; flex-wrap: wrap; }
  body .mobile-menu nav { inset-inline: max(16px, env(safe-area-inset-left)); max-height: min(65dvh, 520px); overscroll-behavior: contain; }
  body .member-nav { gap: 8px 16px; }
  body .member-nav a, body .member-nav button { font-size: 13px; }
  body .toast { bottom: calc(var(--review-bottom-space) + 12px); }
  body input, body select, body textarea, body button, body a { scroll-margin-block: 20px calc(var(--review-bottom-space) + 20px); }
}
@media (max-width: 359px) {
  body .product-grid, body .category-grid { grid-template-columns: minmax(0, 1fr); }
  body .product-card h3 { min-height: 0; }
  body .product-card > .text-link { font-size: 14px; }
  body .product-meta { font-size: 12px; }
  body .filters { grid-template-columns: minmax(0, 1fr); }
  body .filters > :is(label, button, .text-link, details, span) { grid-column: 1; grid-row: auto; }
  body .filters > label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  body .filters > .text-link { justify-self: start; }
  body .filters > button { width: 100%; }
  body .section-heading > span { text-align: left; max-width: none; }
  body .member-nav { gap: 8px 12px; }
  body .member-payment, body .checkout-summary { padding: 20px; }
  body .member-actions { flex-direction: column; }
  body .member-detail-heading h1 { font-size: 28px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  body .mobile-menu nav { max-height: 50dvh; }
  body .zoom-dialog { padding: 10px; }
  body .zoom-dialog img { height: 60dvh; }
}
