/* MFO lightbox + gallery layout: big image, no frame padding, click to zoom. */
.mfo-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(8, 8, 8, .92); display: flex; align-items: center; justify-content: center; }
.mfo-lightbox[hidden] { display: none; }
.mfo-lightbox-figure { margin: 0; max-width: 92vw; max-height: 92vh; display: flex; align-items: center; justify-content: center; cursor: zoom-out; }
.mfo-lightbox-figure img { max-width: 92vw; max-height: 92vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 10px 50px rgba(0,0,0,.6); background: #fff; }
.mfo-lightbox button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 999px; width: 52px; height: 52px; font-size: 34px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.mfo-lightbox button:hover { background: rgba(255,255,255,.28); }
.mfo-lightbox-close { top: 18px; right: 18px; }
.mfo-lightbox-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.mfo-lightbox-next { right: 18px; top: 50%; transform: translateY(-50%); }
.mfo-lightbox.is-single .mfo-lightbox-prev, .mfo-lightbox.is-single .mfo-lightbox-next { display: none; }
.mfo-lightbox-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #fff; font: 600 13px/1 system-ui, sans-serif; letter-spacing: .08em; opacity: .8; }
body.mfo-lightbox-open { overflow: hidden; }
.mfo-pdp .productView-image { padding: 0; border: 0; background: transparent; display: block; margin: 0; }
.mfo-pdp .productView-img-container { max-width: none; width: 100%; margin: 0; padding: 0 !important; height: auto; }
.mfo-pdp .productView-img-container a { display: block; cursor: zoom-in; }
.mfo-pdp .productView-image--default,
.mfo-pdp .productView-img-container img { position: static !important; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.mfo-pdp .productView-images { align-self: start; }
.mfo-pdp { grid-template-columns: 1.3fr 1fr; }
.mfo-pdp .productView-thumbnails { margin-top: 10px; }
/* Cornerstone reserves the product_size aspect ratio with a ::after padding hack and a min-height; the image sets its own height now. */
.mfo-pdp .productView-img-container::after, .mfo-pdp .productView-img-container::before { content: none !important; display: none !important; padding: 0 !important; }
.mfo-pdp .productView-image { min-height: 0 !important; height: auto !important; }
.mfo-pdp .productView-img-container { height: auto !important; }
