/* V54.21: product gallery, promotion and contact icons across devices. */
html{scroll-padding-bottom:90px}body{overflow-x:clip}.product-detail>*{min-width:0}
.product-card .product-img{display:block;aspect-ratio:4/3;background:#f3f5f7;overflow:hidden}.product-card .product-img img{width:100%;height:100%;object-fit:contain!important;padding:10px;transform:none!important;filter:none!important}.product-card .product-img:after{display:none}.product-card:hover .product-img img{transform:none!important}
/* Keep legacy single-photo minimum heights out of the multi-photo gallery. */
.multi-product-gallery{display:block!important;height:auto!important;min-width:0;max-width:100%;align-self:start;background:transparent!important;overflow:visible!important}
.product-gallery-main{position:relative;width:100%;aspect-ratio:4/3;min-height:0;max-height:70vh;max-height:70dvh;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f3f5f7}
.product-gallery-main .product-zoom-action{position:absolute;inset:0;width:100%;height:100%;min-height:0;display:block}
.multi-product-gallery .product-gallery-main img{display:block;width:100%;height:100%;min-height:0!important;max-height:100%;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;padding:12px;transform:none!important;filter:none!important}
.product-thumbnails{--thumbnail-size:80px;display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;padding:10px 2px;scroll-snap-type:x proximity;width:100%;max-width:100%;height:calc(var(--thumbnail-size) + 20px);min-height:0;overscroll-behavior-x:contain}
.product-thumbnails .product-thumbnail{flex:0 0 var(--thumbnail-size);width:var(--thumbnail-size);height:var(--thumbnail-size);min-height:0;max-height:var(--thumbnail-size);aspect-ratio:1;background:#f3f5f7;border:2px solid transparent;border-radius:10px;padding:4px;cursor:pointer;scroll-snap-align:start;overflow:hidden}
.product-thumbnail.selected{border-color:var(--cyan)}
.multi-product-gallery .product-thumbnail img{display:block;width:100%;height:100%;min-height:0!important;max-height:100%;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;padding:0;transform:none!important;filter:none!important}
.product-thumbnail:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.product-photo-count{display:block;color:var(--muted);font-size:12px;margin:0 2px 10px}
.product-detail{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.product-info{overflow-wrap:anywhere}.product-info .toolbar{flex-wrap:wrap}.specs>*{min-width:0}
/* Reserve room for the fixed rail only while visible channels exist. */
main.with-social-rail{padding-right:64px}
body .contact-dock.social-dock-v39{position:fixed!important;pointer-events:auto!important;width:48px!important;right:max(8px,env(safe-area-inset-right))!important;left:auto!important;top:auto!important;bottom:88px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;padding:0!important;max-height:calc(100vh - 190px)!important;max-height:calc(100dvh - 190px - env(safe-area-inset-top))!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-width:none;background:transparent!important;border:0!important;grid-template-columns:none!important;z-index:74!important}
body .contact-dock.social-dock-v39 .contact-dock-item{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex:0 0 auto!important;width:46px!important;min-width:0!important;max-width:100%!important;min-height:46px!important;height:46px!important;padding:7px!important;border:1px solid #294050!important;border-radius:50%!important;background:#071420f2!important;margin:0!important;box-sizing:border-box!important}
body .contact-dock.social-dock-v39 .contact-dock-item:hover{transform:none!important;border-color:var(--cyan)!important}
body .contact-dock.social-dock-v39 .contact-dock-copy{display:none!important;min-width:0!important;width:auto!important}
body .contact-dock.social-dock-v39 .contact-dock-icon{flex:0 0 30px!important;width:30px!important;height:30px!important;border-radius:50%!important}
body .contact-dock.social-dock-v39 .social-icon-badge{width:30px!important;height:30px!important}
@media(min-width:1600px){main.with-social-rail{padding-right:184px}body .contact-dock.social-dock-v39{width:164px!important;right:16px!important}body .contact-dock.social-dock-v39 .contact-dock-item{width:164px!important;justify-content:flex-start!important;padding:8px 12px!important;border-radius:24px!important;height:auto!important;min-height:48px!important}body .contact-dock.social-dock-v39 .contact-dock-copy{display:block!important;overflow-wrap:anywhere}body .contact-dock.social-dock-v39 .contact-dock-copy b{font-size:12px!important;line-height:1.35!important}}
.home-promo-overlay{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;align-items:center!important;overflow:hidden!important}.home-promo-dialog{position:relative!important;width:min(1100px,100%)!important;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;margin:0!important;overflow:auto!important;padding:28px 24px!important;scrollbar-width:thin!important}.home-promo-dialog .home-promo-close{position:sticky!important;float:right!important;top:0!important;right:0!important;bottom:auto!important;left:auto!important;margin:0 0 -44px!important;width:44px!important;height:44px!important;z-index:10!important;background:#102b3b!important;border:1px solid #6dbad3!important;border-radius:50%!important}.home-promo-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:760px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}.container{width:calc(100% - 24px);max-width:100%}.product-detail{grid-template-columns:1fr!important;gap:22px!important}.product-info h1{font-size:clamp(25px,7vw,34px);line-height:1.3}.product-gallery-main{max-height:65vh;max-height:65dvh}.product-thumbnails{--thumbnail-size:68px}.product-card .product-img{aspect-ratio:4/3!important}.catalog,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-body{padding:12px}.product-body h3{font-size:16px}.price-row{flex-wrap:wrap;gap:8px}.product-spec-list{font-size:12px}.product-zoom-action span{font-size:11px;bottom:8px;left:8px}.product-info .toolbar{flex-wrap:wrap}.buy-box .qty{max-width:100%}
 .home-promo-dialog{padding:14px 12px!important;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:20px!important}.home-promo-dialog .home-promo-close{margin:0 0 -44px!important}.home-promo-brand{padding-right:44px!important}.home-promo-dialog>h2{line-height:1.16!important;margin:12px 0!important}.home-promo-dialog>h2 span{font-size:clamp(20px,5.9vw,32px)!important;letter-spacing:-.02em!important}.home-promo-dialog>h2 strong{font-size:clamp(24px,6.7vw,38px)!important;letter-spacing:-.035em!important}.home-promo-slogan{font-size:10px!important;line-height:1.5!important}.home-promo-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.home-promo-cards a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:6px!important;padding:10px 5px!important;min-height:100px!important}.home-promo-cards i{width:32px!important;height:32px!important;font-size:22px!important}.home-promo-cards b{font-size:11px!important;line-height:1.4!important}.home-promo-cards span{display:none!important}.home-promo-main{grid-template-columns:1fr!important;margin-top:10px!important;gap:10px!important}.home-promo-media{aspect-ratio:16/9!important}.home-promo-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.home-promo-actions a{min-height:76px!important;padding:9px!important}.home-promo-actions b{font-size:11px!important;line-height:1.4!important}.home-promo-actions small{font-size:10px!important}.home-promo-footer{font-size:11px!important;flex-wrap:wrap!important;gap:8px!important}.home-promo-feature-copy h3{font-size:16px!important;line-height:1.4!important}.home-promo-feature-copy p{font-size:12px!important;line-height:1.5!important;display:block!important}
 main.with-social-rail{padding-right:56px}
 body .contact-dock.social-dock-v39{width:44px!important;right:max(6px,env(safe-area-inset-right))!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;max-height:calc(100vh - 164px)!important;max-height:calc(100dvh - 164px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;gap:4px!important}
 body .contact-dock.social-dock-v39 .contact-dock-item{width:44px!important;height:44px!important;min-height:44px!important;padding:6px!important}
 .floating-call-v41{display:none!important}
 .ai-launcher{right:auto!important;left:max(10px,env(safe-area-inset-left))!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 80px)!important;font-size:11px!important;min-height:40px!important;padding:8px 12px!important}
 .mobile-nav-bar{height:60px!important;padding-bottom:env(safe-area-inset-bottom)!important;box-sizing:content-box!important}.mobile-nav-item span{font-size:10px!important}
 .chatbox{bottom:calc(124px + env(safe-area-inset-bottom))!important;max-height:calc(100vh - 148px)!important;max-height:calc(100dvh - 148px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;width:calc(100vw - 70px)!important;right:auto!important;left:10px!important;z-index:80!important}
 .page-title h1{font-size:clamp(28px,8vw,42px)!important;overflow-wrap:anywhere}.page-title{min-height:220px!important}.hero-v17{min-height:auto!important}.hero-v17-copy>p{font-size:15px!important}.social-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:360px){.catalog,.product-grid{grid-template-columns:1fr!important}.home-promo-cards b{font-size:10px!important}.home-promo-topline span{font-size:12px!important}.home-promo-topline small{font-size:9px!important}}
@media(max-height:540px) and (orientation:landscape){.home-promo-dialog{max-height:calc(100dvh - 16px)!important}.home-promo-overlay{padding:8px!important}.home-promo-brand{margin-bottom:6px!important}}
body.promo-open .contact-dock,body.promo-open .ai-launcher,body.promo-open .floating-call-v41,body.promo-open .mobile-nav-bar{visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.product-card,.product-thumbnail,.home-promo-dialog{animation:none!important;transition:none!important}}
/* Product zoom and uploaded media preserve every edge of the original image. */
.gallery-lightbox-dialog{max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important}.gallery-lightbox-dialog img{object-fit:contain!important;min-height:0!important;height:auto!important;max-height:75vh!important;max-height:75dvh!important;align-self:center;background:#f3f5f7}.gallery-media img,.pd-media-frame img,.promo-banner-media img{object-fit:contain!important;transform:none!important}.home-promo-media img,.home-promo-media video{object-fit:contain!important}.pd-media-frame{min-width:0}.pd-media-frame iframe,.pd-media-frame video{width:100%;height:100%;max-width:100%}
@media(max-width:760px){.gallery-lightbox-dialog{grid-template-columns:1fr!important}.gallery-lightbox-dialog img{max-height:55vh!important;max-height:55dvh!important}.gallery-lightbox-info{padding:14px!important}.gallery-lightbox-info h3{font-size:18px}.gallery-lightbox-info p{font-size:12px}.gallery-lightbox-info small{font-size:11px}}
