/* Standalone merchant information must remain reachable on short screens. */
body[data-standalone-site] #island-mode #shop-section.active {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  gap: 14px;
  padding: 8px;
}
body[data-standalone-site] #shop-section > * { flex-shrink: 0; min-width: 0; }

body[data-standalone-site] #island-mode:has(#shop-section.active, #season-section.active) #standalone-auth-offer { bottom: calc(84px + env(safe-area-inset-bottom)); }
body[data-standalone-site] #shop-section #product-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  overflow: visible;
  height: auto;
}
body[data-standalone-site] #shop-section .product-card { min-height: 260px; }
body[data-standalone-site] .standalone-seller { color: #34495e; width: 100%; }
body[data-standalone-site] .standalone-seller a { color: #155687; }
body[data-standalone-site] .standalone-seller nav { display: flex; flex-wrap: wrap; gap: 4px 10px; }
body[data-standalone-site] .standalone-seller p { margin: 6px 0; }
.standalone-payment-status { position: fixed; z-index: 1000; inset: auto 16px 16px; max-width: 480px; margin: auto; padding: 18px; border-radius: 18px; background: #fff8e9; color: #302918; box-shadow: 0 8px 40px #0006; font: 16px/1.5 system-ui; }
.standalone-payment-status button { padding: 10px 20px; border: 0; border-radius: 10px; background: #235d8b; color: white; }
.standalone-payment-close { position: fixed; z-index: 2147483647; top: max(8px, env(safe-area-inset-top)); left: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid #ced8df; border-radius: 12px; background: white; color: #235d8b; font: 600 14px system-ui; box-shadow: 0 2px 10px #0002; }
@media (max-width: 400px) {
  body[data-standalone-site] #shop-section #product-list { grid-template-columns: 1fr; }
  body[data-standalone-site] #island-mode #shop-section #exchange-list { grid-template-columns: 1fr; }
  body[data-standalone-site] #shop-section #exchange-list button { min-height: 44px; }
}

/* Keep the product viewport bounded; seller details remain available on demand. */
body[data-standalone-site] #island-mode #shop-section.active { height:100%; display:flex; gap:8px; padding:4px; overflow:hidden; }
body[data-standalone-site] #island-mode:has(#standalone-auth-offer:not([hidden])) #season-section.active { height:100%; }
body[data-standalone-site] #shop-section #shop-supply { flex:1; min-height:0; flex-direction:row; padding:10px; gap:8px; text-align:left; }
body[data-standalone-site] #shop-section #shop-supply img { width:28%; height:100%; max-height:130px; }
body[data-standalone-site] #shop-section #shop-supply h2 { font-size:16px; margin:0; }
body[data-standalone-site] #shop-section #shop-supply p { font-size:11px; line-height:1.35; margin:6px 0; }
body[data-standalone-site] #island-mode #shop-section #exchange-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
body[data-standalone-site] #island-mode #shop-section #exchange-list button { display:flex; flex-direction:column; min-height:64px; padding:5px 2px; gap:5px; font-size:10px; }
body[data-standalone-site] #shop-section #exchange-list img { width:20px; height:20px; }
body[data-standalone-site] #shop-section #product-list { flex:1; min-height:0; display:grid; grid-auto-flow:column; grid-auto-columns:minmax(200px,75%); grid-template-columns:none; grid-template-rows:minmax(0,1fr); height:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; }
body[data-standalone-site] #shop-section #product-list:empty { display:none; }
body[data-standalone-site] #shop-section .product-card { min-height:0; height:100%; scroll-snap-align:start; }
body[data-standalone-site] .standalone-seller { font:12px/1.5 system-ui; overflow-wrap:anywhere; }
body[data-standalone-site] .standalone-seller summary { min-height:44px; display:flex; align-items:center; justify-content:center; cursor:pointer; text-decoration:underline; }
body[data-standalone-site] .standalone-seller details[open] { position:fixed; inset:15% 12px; z-index:100; padding:16px; border-radius:16px; background:#f7fbfc; box-shadow:0 0 0 100vmax #143747b0; overflow:auto; }
body[data-standalone-site] .standalone-seller details[open] summary::after { content:' ×'; margin-left:auto; font-size:24px; }
@media (orientation:portrait) {
 body[data-standalone-site] #island-mode #shop-section.active { gap:6px; }
 body[data-standalone-site] #shop-section .view-heading .kicker { display:none; }
 body[data-standalone-site] #shop-section #product-list { grid-auto-columns:90%; padding-bottom:5px; }
 body[data-standalone-site] #shop-section .product-card { display:grid; grid-template-columns:64px minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) 44px; gap:4px 8px; padding:8px; align-content:stretch; text-align:left; }
 body[data-standalone-site] #shop-section .product-icon { grid-area:1/1/4/2; align-self:center; width:64px; height:74px; margin:0; }
 body[data-standalone-site] #shop-section .product-card > span { grid-area:1/2; font-size:8px; }
 body[data-standalone-site] #shop-section .product-card > strong { grid-area:2/2; font-size:12px; margin:0; }
 body[data-standalone-site] #shop-section .product-card > p { grid-area:3/2; font-size:10px; line-height:1.25; margin:0; max-width:none; }
 body[data-standalone-site] #shop-section .product-card > button { grid-area:4/1/5/3; height:44px; min-height:44px; font-size:11px; }
 body[data-standalone-site] #shop-section .pager { height:32px; }
 body[data-standalone-site] #shop-section .pager button { height:32px; min-height:32px; }
 body[data-standalone-site] #shop-section .standalone-seller summary { min-height:36px; }
 body[data-standalone-site] #island-mode #shop-section #exchange-list button { min-height:52px; gap:3px; padding:3px 2px; }
}
@container (max-height:400px) {
 body[data-standalone-site] #island-mode #shop-section.active { gap:4px; }
 body[data-standalone-site] #shop-section .product-card { grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto auto 44px; padding:6px; gap:3px 5px; align-content:center; }
 body[data-standalone-site] #shop-section .product-icon { width:48px; height:60px; }
 body[data-standalone-site] #shop-section .product-card > strong { font-size:11px; }
 body[data-standalone-site] #shop-section .product-card > p { font-size:9px; line-height:1.25; }
 body[data-standalone-site] #shop-section .standalone-seller summary { min-height:32px; }
 body[data-standalone-site] #island-mode #shop-section #exchange-list button { min-height:44px; }
}
