/* Keep the illustration label; finish the frame at the image itself. */
.product-hero-visual.has-editorial-hero{transform:none;background:transparent}
.product-hero-visual.has-editorial-hero>a{padding:0;min-height:0;border-radius:0 0 22px 22px;overflow:hidden}
.product-hero-visual.has-editorial-hero img{display:block;border-radius:0 0 22px 22px}
.product-gallery-grid [data-product-image]{cursor:zoom-in}
/* Current ReviewTec and Estimator Studio screens need equal, readable previews. Full images remain in the dialog. */
#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid figure>a{height:300px;padding:0}
#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid img{width:100%;height:100%;object-fit:cover;object-position:top}
@media(max-width:800px){#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid figure:first-child{grid-column:auto}#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid figure:first-child img{max-height:none}}
@media(max-width:600px){#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid{grid-template-columns:1fr}#product-gallery:has(img[src^="/images/products/reviewtec/"],img[src^="/images/products/estimator-studio/"]) .product-gallery-grid figure>a{height:220px}}
html.product-image-open{overflow:hidden}
.product-image-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:22px;border:1px solid var(--se-border);border-radius:24px;background:var(--se-bg);color:var(--se-text);box-shadow:0 24px 90px #0006;overflow:auto}
.product-image-dialog::backdrop{background:#11131bcc;backdrop-filter:blur(5px)}
.product-image-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.product-image-dialog-header h2{font-size:20px;line-height:1.3;margin:0}
.product-image-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--se-border);border-radius:50%;font-size:30px;line-height:1;background:var(--se-paper);color:var(--se-text);cursor:pointer}
.product-image-close:hover{border-color:var(--se-text);background:var(--se-bg)}
.product-image-close:focus-visible{outline:3px solid var(--se-focus);outline-offset:3px}
.product-image-dialog figure{margin:0}
.product-image-stage{display:flex;justify-content:center;align-items:center;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--se-border)}
.product-image-stage img{display:block;max-width:100%;width:auto;max-height:calc(100dvh - 230px);height:auto;object-fit:contain}
.product-image-dialog figcaption{margin:16px 3px 2px;font-size:14px;line-height:1.7;color:var(--se-text-muted)}
.product-image-actions{display:flex;justify-content:flex-end;margin-top:16px}
.product-image-actions .button{font-size:13px}
@media(max-width:600px){.product-image-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:15px;border-radius:20px}.product-image-dialog-header{gap:12px;margin-bottom:14px}.product-image-dialog-header h2{font-size:18px}.product-image-dialog figcaption{font-size:13px}.product-image-stage img{max-height:calc(100dvh - 250px)}}
