.store #product-dialog { width: 850px; }
.store .detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.store .detail-photo { width: 100%; border: 0; background: #eeeee8; padding: 0; color: var(--ink); }
.store .detail-photo img { width: 100%; height: 350px; object-fit: cover; }
.store .detail-photo span { display: block; padding: 12px; font-size: 12px; }
.store #detail-description { font-size: 14px; line-height: 1.8; margin: 12px 0; }
.store .detail-price { display: block; font-size: 18px; margin-bottom: 20px; }
.store .option-label { display: block; font-size: 12px; margin: 14px 0 7px; }
.store #product-color { width: 100%; padding: 12px; border: 1px solid #cbd2c8; background: white; color: var(--ink); font: inherit; border-radius: 5px; }
.store .detail-cart { display: block; width: 100%; padding: 12px; margin-top: 10px; border: 1px solid #cbd2c8; background: transparent; color: var(--ink); border-radius: 5px; }
.store .product-detail-link { position: absolute; right: 12px; bottom: 12px; border: 0; background: #fffffff0; color: var(--ink); padding: 10px 13px; font-size: 12px; }
.store .cost-lines { border-top: 1px solid #dde2d8; margin-top: 20px; padding-top: 15px; }
.store .cost-lines p { display: flex; justify-content: space-between; gap: 15px; margin: 8px 0; font-size: 13px; }
.store .order-line { padding: 14px 0; border-bottom: 1px solid #dde2d8; font-size: 14px; line-height: 1.7; }
.store #zoom-dialog { width: 900px; }
.store #zoom-image { display: block; width: 100%; height: auto; object-fit: contain; }
.store .dialog-note { line-height: 1.8; word-break: keep-all; }
.store button:disabled { opacity: .45; cursor: not-allowed; }
.store .cart-row .cart-controls button { width: 34px; height: 34px; }
.store :is(button, select, input):focus-visible { outline: 2px solid #304b3a; outline-offset: 3px; }
@media (max-width: 600px) {
  .store .detail-grid { grid-template-columns: 1fr; gap: 20px; }
  .store .detail-photo img { height: 250px; }
  .store .dialog-head h2 { font-size: 20px; }
  .store .cart-total { gap: 12px; flex-wrap: wrap; }
}
