/* Product detail layout; the shared catalog card is unaffected. */
.store-front .product-page-container { display: grid; gap: 20px; align-items: start; }
.store-front .main-image-container { display: flex; align-items: center; justify-content: center; height: 300px; }
.store-front .main-image-container img { max-width: 100%; width: 100%; height: 100%; object-fit: contain; }
.store-front .thumbnails { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.store-front .thumbnails img { width: 70px; height: 70px; padding: 6px; object-fit: contain; border: 1px solid var(--ui-line); border-radius: 10px; cursor: pointer; }
.store-front .thumbnails img.active { border: 2px solid var(--ui-accent); background: #f5f8f1; }
.store-front .product-price { font-size: 30px; font-weight: 700; }
.store-front .product-price strong { font-size: 14px; color: var(--ui-muted); font-weight: 400; }
.store-front .product-description { padding-block: 20px; border-block: 1px solid var(--ui-line); line-height: 1.75; }
.store-front .product-description > strong { display: block; margin-bottom: 8px; }
.store-front .add-to-cart-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }
.store-front .add-to-cart-form label { margin: 0; }
.store-front .add-to-cart-form .ui-input { display: block; margin: 8px 0 0; }
@media (min-width: 900px) {
    .store-front .product-page-container { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .store-front .main-image-container { height: 440px; }
}
