/* Product purchase controls stay close to the image; details remain available below. */
#product-dialog{width:min(1040px,calc(100% - 32px));max-height:92dvh;padding:0;overflow:hidden;background:#fff}
#product-detail{display:flex;flex-direction:column;max-height:90dvh;min-height:0}
#product-dialog .dialog-top{flex:none;padding:22px 26px 18px;border-bottom:1px solid var(--line,#dbe4ed);background:#fff}
#product-dialog .dialog-top h2{font-size:27px;line-height:1.25;overflow-wrap:anywhere;margin:5px 0 0}
#product-dialog .dialog-top .shop-tag{line-height:1.6;margin:0}
#product-dialog .close-dialog{flex:none;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #dbe4ed;border-radius:5px;padding:0}
.product-detail-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:24px 26px 28px;scroll-padding-block:18px;scrollbar-gutter:stable}
.product-detail-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:30px;align-items:start}
.product-detail-media,.product-buy{min-width:0}
#product-dialog .product-detail-media>.product-visual{height:300px;padding:25px;border-radius:8px;background:#f3f6f8}
#product-dialog .product-detail-media>.product-visual img{object-fit:contain}
.product-buy .detail-description{font-size:14px;line-height:1.7;margin:0 0 18px;color:var(--ink,#193d36)}
.product-buy-price{padding-bottom:10px}.product-buy-price .product-price{font-size:30px;margin:0 0 7px;line-height:1.3}
#detail-price-note{display:block;font-size:12px;line-height:1.65;color:var(--muted,#64726a)}
.product-buy .product-availability,.product-buy .product-shipping{font-size:13px;line-height:1.6;margin:8px 0}
.product-buy .form-grid{gap:12px;margin-top:18px}.product-buy .quantity-choice{margin:20px 0 16px;max-width:330px}
.product-buy .primary{width:100%;margin:8px 0 0}.product-buy .shop-callout{font-size:13px}
.product-dispatch-explanation{font-size:12px;line-height:1.7;margin:14px 0}.product-dispatch-explanation summary{cursor:pointer;padding:6px 0;color:var(--muted,#64726a)}.product-dispatch-explanation p{margin:6px 0 0}
.product-fit-note{font-size:12px;line-height:1.7;color:var(--muted,#64726a);margin:14px 0 0}.product-fit-note a{display:block;color:var(--brand-blue,#304f83);padding:5px 0;text-underline-offset:3px}
.product-detail-information{margin-top:30px;padding-top:25px;border-top:1px solid var(--line,#dbe4ed)}
.product-detail-information>h3{font-size:21px;font-weight:600;line-height:1.4;margin:0 0 18px}.product-detail-information .quote-parts:empty{display:none}
.product-detail-information .product-gallery{margin-bottom:24px}.product-package-parts{margin-bottom:20px}.product-package-parts summary{cursor:pointer;font-size:14px;font-weight:600;padding:10px 0}
.product-safety-preview{padding:12px 0 6px}.product-safety-preview>strong{display:block;margin-bottom:7px}.product-safety-preview>div{display:flex;gap:8px;flex-wrap:wrap}.product-safety-preview img{width:42px;height:42px;object-fit:contain}.product-safety-preview .text-action{font-size:12px;text-align:left;white-space:normal}
.product-sticky-buy{display:none}
@media(max-width:760px){
 #product-dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:10px}
 #product-detail{max-height:92dvh}
 #product-dialog .dialog-top{padding:14px 16px 12px;gap:10px}
 #product-dialog .dialog-top h2{font-size:21px;line-height:1.25}
 #product-dialog .dialog-top .shop-tag{font-size:9px;letter-spacing:.6px}
 .product-detail-scroll{padding:16px;scrollbar-gutter:auto}
 .product-detail-overview{grid-template-columns:1fr;gap:18px}
 #product-dialog .product-detail-media>.product-visual{height:170px;padding:14px}
 .product-detail-media .product-image-caption{font-size:10px;line-height:1.5}
 .product-buy .detail-description{font-size:13px;margin-bottom:14px}
 .product-buy-price .product-price{font-size:27px}
 .product-detail-information{margin-top:22px;padding-top:20px}
 .product-sticky-buy{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #c7d4df;background:#f3f6f8;box-shadow:0 -4px 16px #172d4c0a}
 .product-sticky-buy>div{min-width:0;flex:1}
 .product-sticky-buy strong{display:block;font-size:19px;line-height:1.3;font-variant-numeric:tabular-nums}
 .product-sticky-buy small{display:block;font-size:10px;line-height:1.5;color:var(--muted,#64726a);margin-top:3px}
 .product-sticky-buy .text-action{font-size:10px;padding:6px 0 0;min-height:32px;text-align:left;line-height:1.5}
 #product-dialog .product-sticky-buy .primary{font-size:12px;min-height:46px;padding:12px;flex:0 0 auto;max-width:48%;white-space:normal;text-align:center}
}
