/* The same portrait carousel used on the home, below the product information. */
.product-page { background: #fff; }
.product-page .product-related-section[hidden] { display: none; }
.product-price-pending { color: #272d36; font-size: 1.5rem; font-weight: 500; letter-spacing: -.025em; }
.product-page .product-related-section { padding: clamp(3rem, 5vw, 5rem) 0; background: #fff; border-top: 1px solid #e7e8eb; }
.product-related-section .store-section-head h2 { margin: 0; font-size: clamp(1.875rem, 3vw, 2.75rem); font-weight: 500; line-height: 1.12; letter-spacing: -.045em; color: #151515; }
.product-page .variant-label { align-items: baseline; gap: 12px; }
.product-page .variant-label > span { font-weight: 400; color: #747a83; }
.product-page .variant-label strong { font-weight: 550; }
.product-page .storage-pill-btn { min-height: 44px; border-width: 1px; padding: .65rem 1.15rem; border-radius: 8px; font: inherit; font-size: 14px; font-weight: 500; }
.product-page .storage-pill-btn.active { border-color: var(--accent-color); background: #eef5ff; }
.product-page .color-swatch-btn:disabled { opacity: .3; cursor: not-allowed; }
.product-page .gallery-thumbs { flex-wrap: wrap; }
.product-page .gallery-thumb { display: flex; align-items: center; justify-content: center; }
.product-page .gallery-thumb img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.product-page button:focus-visible, .product-page .storage-pill-btn:focus-visible { outline: 2px solid var(--accent-color); outline-offset: 4px; }
@media (max-width: 520px) {
  .product-related-section .store-section-head { flex-direction: column; }
  .product-page .variant-label { flex-wrap: wrap; }
}
