/* Large product view and native material/quote controls, without changing calculator data. */
#productModal .product-modal.compact-product-modal{width:min(1240px,100%);max-width:1240px;grid-template-columns:minmax(300px,1fr) minmax(0,1.65fr);padding-bottom:12px}
#productModal .compact-product-sidebar{min-width:0}
#productModal .compact-product-sidebar #modalVisual.product-gallery-visual{height:360px;max-height:none;padding:0;overflow:hidden;background:#f3efe8;border-radius:18px}
#productModal .compact-product-sidebar #modalVisual.product-gallery-visual .product-art-image{height:360px;max-height:none;position:relative;border-radius:18px;cursor:zoom-in}
#productModal .compact-product-sidebar #modalVisual.product-gallery-visual .product-art-image img{width:100%;height:360px;min-height:0;max-height:none;object-fit:contain;border-radius:18px;background:#f3efe8}
#productModal .product-gallery-zoom{position:absolute;bottom:12px;right:12px;padding:8px 12px;background:#fffE;border-radius:10px;font-size:12px;font-weight:700;color:#171717;pointer-events:none}
#productModal .product-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:8px 16px 14px}
#productModal .product-gallery-thumbnails[hidden]{display:none}
#productModal .product-gallery-thumbnail{flex:0 0 76px;width:76px;height:64px;min-height:0;padding:3px;border:2px solid transparent;background:#f5f0e8;border-radius:12px;cursor:pointer}
#productModal .product-gallery-thumbnail[aria-pressed=true]{border-color:#f20813;background:#fff}
#productModal .product-gallery-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px}
#productModal .product-gallery-thumbnail:focus-visible,#productModal .product-gallery-visual [role=button]:focus-visible{outline:3px solid #171717;outline-offset:2px}
#productModal .compact-product-modal #materialCards.clear-material-choices{gap:10px}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card{position:relative;flex:1 1 210px;width:auto;max-width:100%;padding:12px 30px 12px 12px;min-height:86px;background:#fff;border:1px solid #ded6cb;border-radius:14px;text-align:left;box-sizing:border-box}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card.active{border:2px solid #f20813;background:#fff6f2;padding:11px 29px 11px 11px}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card.active::after{content:'✓';position:absolute;right:10px;top:10px;color:#e20813;font-size:17px;font-weight:800}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card b{font-size:14px;line-height:1.35;grid-column:2}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-choice-details{grid-column:2;font-size:12px;line-height:1.4;color:#62594f}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card:not(:has(.material-thumb)) :is(b,small,.material-choice-details){grid-column:1/-1}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card:disabled{opacity:.5;cursor:not-allowed}
#productModal .compact-product-modal #materialCards.clear-material-choices .material-card:focus-visible{outline:3px solid #171717;outline-offset:3px}
#productModal #continueUpload{background:#f20813;color:#fff;min-height:54px;border-radius:14px;font-size:16px;font-weight:750;box-shadow:0 5px 16px #f2081320}
#productModal .product-order-dock{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:min(1050px,calc(100% - 48px));box-sizing:border-box;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e6dbce;border-radius:18px;background:#fffffff5;backdrop-filter:blur(14px);box-shadow:0 8px 40px #24180d26;z-index:35}
#productModal .product-order-dock[hidden]{display:none!important}
body:has(#productModal:not([hidden]) .product-order-dock:not([hidden])) .support-dock{bottom:130px!important}
body:has(.product-gallery-viewer) .support-dock{visibility:hidden}
#productModal .product-order-total{display:grid;gap:2px;min-width:0}
#productModal .product-order-total>small{font-size:11px;color:#655c51;line-height:1.3}
#productModal .product-order-total>strong{font-size:25px;line-height:1.15;color:#171717}
#productModal .product-order-cta{min-height:52px;min-width:220px;max-width:50%;padding:14px 24px;border-radius:12px;background:#f20813;color:#fff;white-space:normal;font-weight:750}
.product-gallery-viewer{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:64px 24px 80px;box-sizing:border-box;background:#121212ed}
.product-gallery-viewer .gallery-viewer-image{max-width:100%;max-height:calc(100dvh - 144px);object-fit:contain;border-radius:8px}
.product-gallery-viewer button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff40;border-radius:50%;color:#fff;background:#ffffff15;font:24px/1 sans-serif;cursor:pointer}
.product-gallery-viewer button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.gallery-viewer-close{position:absolute;right:22px;top:18px}
.gallery-viewer-controls{position:absolute;bottom:20px;display:flex;align-items:center;gap:20px;color:#fff;font:14px/1.4 sans-serif}
.gallery-viewer-controls[hidden]{display:none}
@media(max-width:820px){
 body:has(#productModal:not([hidden]) .product-order-dock:not([hidden])) .support-dock{bottom:110px!important}
 #productModal .product-modal.compact-product-modal{grid-template-columns:minmax(0,1fr);width:100%}
 #productModal .compact-product-sidebar{margin:12px 12px 0!important}
 #productModal .compact-product-sidebar #modalVisual.product-gallery-visual,#productModal .compact-product-sidebar #modalVisual.product-gallery-visual .product-art-image,#productModal .compact-product-sidebar #modalVisual.product-gallery-visual .product-art-image img{height:250px;max-height:none}
 #productModal .product-gallery-thumbnails{margin:8px 0 12px}
 #productModal .product-gallery-thumbnail{flex-basis:68px;width:68px;height:58px}
 #productModal .product-order-dock{bottom:8px;width:calc(100% - 20px);gap:10px;padding:12px;border-radius:14px}
 #productModal .product-order-total>small:last-child{display:none}
 #productModal .product-order-total>strong{font-size:21px}
 #productModal .product-order-cta{min-width:0;max-width:57%;font-size:13px;padding:12px 15px}
 #productModal .compact-product-modal #materialCards.clear-material-choices .material-card{flex-basis:100%}
}
