/* Focused floating product page: keep the product hero visible while related items stay visual and compact. */
#productModal{width:min(1180px,calc(100% - 44px));max-width:1180px;max-height:calc(100vh - 36px);overflow-y:auto;padding:0;border-radius:28px;background:#fff;box-shadow:0 34px 110px rgba(0,0,0,.34)}
#productModal::backdrop{background:rgba(4,10,14,.76);backdrop-filter:blur(10px)}
#productModal .modal-close{z-index:4;right:20px;top:18px;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(17,24,32,.12)}
#productModal .modal-product{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);min-height:520px}
#productModal .modal-media{min-height:0;background:#f7f9f7}
#productModal .modal-media .modal-image{height:430px;min-height:430px;padding:28px;background:linear-gradient(145deg,#f7faf8,#edf2ef)}
#productModal .modal-image img{max-width:92%;max-height:380px}
#productModal .modal-gallery{gap:9px;padding:14px 26px 18px;background:#f7f9f7;border-top:1px solid #e2e8e5}
#productModal .gallery-thumb{flex-basis:58px;width:58px;height:58px;border-color:#dfe6e2}
#productModal .modal-copy{display:flex;flex-direction:column;padding:52px 42px 34px}
#productModal .modal-copy h2{max-width:390px;font-size:clamp(32px,3.4vw,48px)}
#productModal .modal-copy>p:not(.eyebrow){max-width:430px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;line-height:1.55}
#productModal .spec-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:18px 0;max-height:86px;overflow:hidden}
#productModal .spec-list span{min-width:0;overflow:hidden;padding:8px 10px;background:#f2f5f3;white-space:nowrap;text-overflow:ellipsis;font-size:11px}
#productModal .modal-meta{margin:16px 0}
#productModal .modal-action-row{gap:8px;margin-top:auto;padding-top:16px}
#productModal .modal-action-row .button{min-height:48px;flex:1;padding:12px 14px;border-radius:14px;font-size:12px;white-space:nowrap}
#productModal .modal-action-row .full{flex:1.3}
#productModal button[hidden]{display:none!important}
#productModal .product-modal-rails{padding:22px 30px 28px;border-top:1px solid #e2e8e5;background:#fff}
#productModal .product-rail{margin:0}
#productModal .product-rail-heading{align-items:center;margin-bottom:12px}
#productModal .product-rail-heading h3{font-size:23px}
#productModal .product-rail-heading p:not(.eyebrow){margin-top:4px;font-size:11px}
#productModal .product-rail-controls button{width:32px;height:32px;font-size:18px}
#productModal .product-rail-track{grid-auto-columns:minmax(190px,24%);gap:12px;padding:2px 2px 8px}
#productModal .product-rail-track,#cartModal .product-rail-track{scrollbar-width:none;-ms-overflow-style:none;cursor:grab;overscroll-behavior-inline:contain;touch-action:pan-y}
#productModal .product-rail-track::-webkit-scrollbar,#cartModal .product-rail-track::-webkit-scrollbar{display:none;width:0;height:0}
#productModal .product-rail-track.is-dragging,#cartModal .product-rail-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
#productModal .product-rail-track.is-dragging .product-rail-card,#cartModal .product-rail-track.is-dragging .product-rail-card{pointer-events:none}
#productModal .product-rail-card{min-height:238px;border-radius:14px;box-shadow:none}
#productModal .product-rail-image{height:112px;padding:12px;background:#f1f4f3}
#productModal .product-rail-copy{min-height:126px;padding:12px}
#productModal .product-rail-name{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px}
#productModal .product-rail-footer{gap:6px;padding-top:9px}
#productModal .product-rail-footer>span{max-width:90px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
#productModal .product-rail-action{padding:7px 8px;font-size:9px}
#productModal,#cartModal,#checkoutModal,#requestModal,#wishlistModal{max-height:calc(100vh - 36px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
#productModal::-webkit-scrollbar,#cartModal::-webkit-scrollbar,#checkoutModal::-webkit-scrollbar,#requestModal::-webkit-scrollbar,#wishlistModal::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:800px){#productModal{width:min(680px,calc(100% - 24px));max-height:calc(100vh - 24px)}#productModal .modal-product{grid-template-columns:1fr}#productModal .modal-media .modal-image{height:320px;min-height:320px}#productModal .modal-image img{max-height:280px}#productModal .modal-copy{padding:34px 28px 28px}#productModal .modal-copy h2{font-size:34px}#productModal .product-modal-rails{padding:20px 24px 24px}#productModal .product-rail-track{grid-auto-columns:minmax(190px,38%)}}
@media(max-width:560px){#productModal{width:calc(100% - 14px);border-radius:20px}#productModal .modal-media .modal-image{height:270px;min-height:270px;padding:20px}#productModal .modal-image img{max-height:230px}#productModal .modal-gallery{padding:10px 18px 14px}#productModal .modal-copy{padding:30px 20px 22px}#productModal .modal-copy h2{font-size:30px}#productModal .spec-list{grid-template-columns:1fr}#productModal .product-modal-rails{padding:18px 18px 20px}#productModal .product-rail-heading h3{font-size:20px}#productModal .product-rail-track{grid-auto-columns:minmax(190px,74%)}}
