/* Enlargement controls are limited to the four homepage product photographs. */
#products .product-photo-button {
 position:relative; display:block; width:100%; margin:0; padding:0;
 border:0; border-radius:0; background:transparent; color:#173b55;
 font:inherit; line-height:0; text-align:inherit; cursor:zoom-in;
}
#products .product-photo-button:focus-visible { outline:3px solid #36769a; outline-offset:4px; }
#products .plan-product-photo .plan-product-photo-figure .product-photo-button > img {
 display:block; width:100%; height:230px; object-fit:contain; background:#f8fafc;
}
#products #dm .plan-panel-photo .product-photo-button > img {
 display:block; width:100%; height:185px; object-fit:contain;
}
#products .product-photo-hint {
 position:absolute; right:8px; bottom:8px; display:flex; align-items:center;
 justify-content:center; width:28px; height:28px; border:1px solid #cad9e3;
 border-radius:50%; background:rgba(255,255,255,.94); pointer-events:none;
}
#products .product-photo-hint svg {
 display:block; width:16px; height:16px; fill:none; stroke:currentColor;
 stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
}
.product-image-preview {
 width:min(1080px,calc(100vw - 32px)); max-height:90vh; max-height:calc(100dvh - 32px);
 box-sizing:border-box; margin:auto; padding:20px 24px; border:1px solid #b9d0de;
 border-radius:6px; color:#173b55; background:#fff;
}
.product-image-preview::backdrop { background:rgba(15,35,49,.62); }
.product-image-preview-head {
 display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px;
}
.product-image-preview h2 { margin:0; font-size:20px; line-height:1.5; }
.product-image-preview [data-product-image-close] {
 flex:none; min-height:40px; padding:7px 13px; border:1px solid #b7cbd7;
 border-radius:3px; color:#173b55; background:#fff; font:inherit; font-size:13px; cursor:pointer;
}
.product-image-preview button:focus-visible { outline:3px solid #36769a; outline-offset:3px; }
.product-image-preview figure { margin:0; }
.product-image-preview img {
 display:block; width:auto; height:auto; max-width:100%; max-height:70vh;
 max-height:calc(100dvh - 170px); margin-inline:auto; object-fit:contain;
}
.product-image-preview figcaption {
 margin-top:10px; font-size:12px; line-height:1.7; color:#586b78; text-align:center;
}
@media(max-width:760px) {
 #products #dm .plan-panel-photo .product-photo-button > img { height:180px; }
 .product-image-preview { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:15px; }
 .product-image-preview-head { gap:10px; margin-bottom:12px; }
 .product-image-preview h2 { font-size:17px; }
 .product-image-preview img { max-height:calc(100dvh - 180px); }
}
