/* Integration/Details: inherited system font, flat sections, shared controls. */
.product-page h2 { font-size:22px; letter-spacing:normal; margin:0 0 16px; }
.product-page .product-page-title { font-size:clamp(24px,2.5vw,34px); line-height:1.2; letter-spacing:normal; margin:0; overflow-wrap:anywhere; }
.product-page .button { font-size:inherit; }
.market-product { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px; margin:24px 0 32px; align-items:start; }
.product-overview { display:grid; gap:16px; min-width:0; }
.product-summary { line-height:1.6; margin:0; }
.product-meta, .product-facts, .product-stock { font-size:14px; }
.product-heading .product-meta { margin-top:4px; }
.product-code-value { color:var(--app-text); font-variant-numeric:tabular-nums; }
.product-purchase .price { font-size:24px; letter-spacing:normal; margin:0 0 16px; }
.product-purchase .purchase-controls { width:220px; max-width:100%; }
.product-stock { margin:12px 0 0; }
.product-main-copy { display:grid; gap:32px; min-width:0; }
.product-page section { scroll-margin-top:24px; }
.product-page .prose { max-width:none; margin:0; line-height:1.75; }
.product-page .prose>:first-child { margin-top:0; }
.product-page .prose>:last-child { margin-bottom:0; }
.product-delivery-details, .product-specifications { padding:20px; border-radius:16px; background:var(--app-surface-alt); }
.product-delivery-details h2, .product-specifications h2 { font-size:17px; }
.product-facts { margin:0; padding:0; }
.product-facts>div { display:grid; grid-template-columns:minmax(85px,1fr) minmax(0,1.3fr); gap:12px; align-items:baseline; }
.product-facts>div+div { margin-top:16px; }
.product-facts dt { color:var(--app-muted); }
.product-facts dd { margin:0; font-weight:500; overflow-wrap:anywhere; }
.product-specifications .product-facts>div { grid-template-columns:minmax(0,min(45%,180px)) minmax(0,1fr); gap:16px; }
.product-specifications .product-facts>div+div { margin-top:8px; }
/* Product-specific square gallery and full-size viewer. */
.detail-image { position:relative; display:grid; place-items:center; aspect-ratio:1; overflow:hidden; background:var(--app-surface); border-radius:16px; }
.detail-image>a, .detail-image img { display:block; width:100%; height:100%; object-fit:contain; }
.detail-image>a { cursor:zoom-in; }
.gallery-thumbnails { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.gallery-thumbnails a { width:64px; height:64px; padding:0; overflow:hidden; border:1px solid transparent; border-radius:12px; background:var(--app-surface); }
.gallery-thumbnails a[aria-current=true] { border-color:var(--app-focus); }
.gallery-thumbnails img { display:block; width:100%; height:100%; object-fit:contain; }
.product-photo-control { position:absolute; top:calc(50% - 22px); display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:12px; background:var(--app-surface-alt); font-size:16px; }
.product-photo-control.previous { left:8px; }
.product-photo-control.next { right:8px; }
.product-photo-expand { top:auto; right:8px; bottom:8px; color:var(--app-muted); pointer-events:none; }
html:not(.product-enhanced) [data-gallery-step] { display:none; }
.product-sticky-buy { display:none; }
.quick-view .product-page-title { font-size:24px; }
@media(max-width:767px) {
    .market-product { grid-template-columns:minmax(0,1fr); gap:24px; }
    .product-page .product-page-title { font-size:24px; }
    .product-purchase .purchase-controls { flex:0 0 100%; width:100%; }
    .product-page .quantity-stepper input { font-size:16px; }
    .product-sticky-buy { position:fixed; inset:auto 0 0; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:var(--app-surface); border-top:1px solid var(--app-border); }
    .product-sticky-buy strong { font-size:14px; }
    .product-sticky-buy .purchase-controls { width:clamp(140px,40vw,180px); flex:none; }
    .store-body:has(.product-sticky-buy) { padding-bottom:80px; }
    .store-body:has(.product-sticky-buy:not([hidden])) .store-toast { bottom:92px; }
}
