/* Production responsive pass. Desktop artwork stays intact while controls reflow for touch. */
@media (max-width: 900px) {
  html { min-width: 0; }
  body { overflow-x: hidden; }
  .site-header, .house-inner, .store-main { width: calc(100% - 32px); }
  .site-header { height: auto; min-height: 72px; padding: 7px 0; gap: 12px; flex-wrap: wrap; position: sticky; top: 0; z-index: 40; }
  .brand img, .site-header .brand img { width: 50px; height: 50px; }
  .house-nav { order: 3; width: 100%; gap: 22px; overflow-x: auto; padding: 0 2px 8px; scrollbar-width: none; }
  .house-nav::-webkit-scrollbar { display: none; }
  .house-nav a { white-space: nowrap; font-size: 12px; }
  .cart-toggle { margin-left: auto; }
  .shop-section { padding-top: 24px; }
  .section-heading, .band-heading, .shop-heading { align-items: flex-start; gap: 18px; }
  .section-heading h1, .shop-section h1, .band-heading h2, .shop-heading h1 { font-size: 34px; }
  .collection-note, .band-heading > .scribble, .shop-heading > .scribble { display: none; }
  .shop-layout { display: block; }
  .rack-stage { height: min(68vw, 500px); min-height: 360px; }
  .product-panel { margin: 10px 0 0; padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .panel-content, .has-product-photos .panel-content { min-height: 0; }
  .panel-empty { padding: 25px 0; }
  .panel-product { display: grid; grid-template-columns: 140px minmax(0, 1fr); column-gap: 20px; align-items: start; }
  .panel-product .product-gallery { grid-row: span 6; }
  .panel-product .product-photo-button { height: 150px; }
  .panel-product .product-options, .panel-product .purchase-row, .panel-product .view-button { grid-column: 2; }
  .panel-product .product-heading { font-size: 24px; }
  .panel-product .description { display: none; }
  .wall-board-layout { display: block; }
  .wall-board-layout .wall-collage { height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: 22px 16px; padding: 10px 2px 34px; }
  .wall-board-layout .polaroid { height: auto; }
  .wall-board-layout .polaroid:nth-child(n) img { height: auto; aspect-ratio: 1; }
  .wall-board-layout .wall-postcard, .wall-board-layout .wall-sticker { width: 100%; height: auto; min-height: 180px; }
  .wall-board-layout .wall-sticker { padding-top: 25px; }
  .wall-notices-heading { margin-top: 22px; }
  .wall-board-layout .corkboard { height: auto; min-height: 430px; }
  .forecast-section { padding: 60px 0; }
  .forecast-layout { display: block; }
  .forecast-intro { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: 35px; }
  .forecast-intro h2 { font-size: 42px; }
  .forecast-intro img { grid-column: 2; grid-row: 1 / span 3; width: 90px; margin: 0; }
  .forecast-intro .scribble, .forecast-footnote { grid-column: 1; }
  .beach-sign { transform: none; padding: 14px; border-width: 5px; }
  .chalkboard { min-height: 390px; padding: 20px 18px; }
  .tiktok-heading { align-items: flex-end; }
  .tiktok-actions a { font-size: 12px; }
  .receipt-drawer { width: min(420px, 100vw); }
  .photo-dialog, .story-dialog, .note-dialog { width: calc(100vw - 24px); max-width: none; }
  .story-layout { display: block; }
  .story-image { height: 48vh; }
  .story-copy { padding: 35px 24px; }
  .site-footer { width: 100%; padding: 28px 20px; flex-wrap: wrap; }
  .store-main { padding: 30px 0 55px; }
  .shop-toolbar { align-items: stretch; flex-wrap: wrap; }
  .shop-filters { width: 100%; overflow-x: auto; gap: 20px; }
  .shop-filters button { white-space: nowrap; }
  .shop-search { flex: 1; width: auto; min-width: 170px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 15px; }
  .product-detail { display: block; }
  .detail-copy { padding-top: 32px; }
  .detail-photos .product-photo-button { max-height: 72vh; }
  .checkout-layout { display: block; }
  .checkout-summary { margin-top: 28px; }
}

@media (max-width: 560px) {
  .section-heading h1, .shop-section h1, .band-heading h2, .shop-heading h1 { font-size: 29px; }
  .rack-stage { min-height: 300px; }
  .panel-product { display: block; }
  .panel-product .product-gallery { width: 180px; float: left; margin: 0 18px 8px 0; }
  .panel-product .product-options, .panel-product .purchase-row, .panel-product .view-button { clear: both; }
  .wall-board-layout .wall-collage { grid-template-columns: 1fr 1fr; }
  .wall-board-layout .polaroid .photo-caption { font-size: 15px; }
  .wall-board-layout .corkboard { grid-template-columns: 1fr; grid-template-rows: none; }
  .forecast-tabs { overflow-x: auto; }
  .forecast-tabs button { white-space: nowrap; }
  .product-grid { grid-template-columns: 1fr; }
  .shop-heading { display: block; }
  .checkout-grid, .checkout-grid-thirds { grid-template-columns: 1fr; }
  .checkout-heading { display: block; }
  .checkout-heading a { display: inline-block; margin-top: 15px; }
}
