/* MMB-LISTING-GALLERY-M009
   Scoped to P28 Listing: side previews (previous/next), stage-mounted navigation,
   left-aligned thumbnail rail and accessible zoom viewer. Does not alter header/CTAs. */
body.mbr-p28-reference-page .p28-hero-main > .mmb-vf399-gallery.mmb-m009-gallery {
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;padding:15px!important;background:#fff!important;overflow:hidden!important;
  box-sizing:border-box!important;border-radius:16px!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-stage {
  position:relative!important;display:block!important;width:100%!important;min-width:0!important;
  height:390px!important;max-height:none!important;overflow:hidden!important;
  border:1px solid #e0e9ef!important;border-radius:15px!important;
  background:#e9eef2!important;box-shadow:0 10px 30px rgba(13,45,67,.07)!important;
  isolation:isolate;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-stage > .mmb-m009-view.vf3-showcase-main {
  display:block!important;position:absolute!important;inset:0!important;
  margin:0!important;padding:0!important;width:100%!important;height:100%!important;
  min-height:0!important;max-height:100%!important;border:0!important;
  border-radius:0!important;overflow:hidden!important;background:transparent!important;
  box-shadow:none!important;cursor:zoom-in!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-sides {
  display:flex!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;overflow:hidden!important;
  pointer-events:none!important;z-index:1!important;background:#dde8ee!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-sides:after {
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.04) 50%,rgba(255,255,255,.13));
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-sides > img.mmb-m009-side {
  display:block!important;position:static!important;flex:0 0 50%!important;
  width:50%!important;height:100%!important;max-width:50%!important;max-height:100%!important;
  padding:0!important;margin:0!important;object-fit:cover!important;object-position:center!important;
  border-radius:0!important;opacity:.78!important;filter:blur(3px) brightness(.84)!important;
  transform:scale(1.035)!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-view img.mmb-m009-center {
  position:absolute!important;z-index:3!important;top:50%!important;left:50%!important;
  display:block!important;width:auto!important;height:100%!important;max-width:100%!important;
  max-height:100%!important;min-width:0!important;margin:0!important;padding:0!important;
  object-fit:contain!important;object-position:center!important;
  transform:translate(-50%,-50%)!important;filter:none!important;opacity:1!important;
  border-radius:0!important;box-shadow:0 0 22px rgba(0,0,0,.15)!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-stage .vf3-showcase-counter,
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-stage .vf3-showcase-expand {
  z-index:6!important;bottom:13px!important;top:auto!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow {
  position:absolute!important;z-index:8!important;top:50%!important;transform:translateY(-50%)!important;
  display:grid!important;place-items:center!important;width:42px!important;height:42px!important;
  min-width:42px!important;min-height:42px!important;margin:0!important;padding:0!important;
  border:1px solid rgba(216,228,238,.94)!important;border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;color:#183c55!important;
  box-shadow:0 4px 16px rgba(0,0,0,.14)!important;cursor:pointer!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow:hover {background:#fff!important;color:#0877b7!important;}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow:focus-visible,
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-view:focus-visible,
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumb:focus-visible {outline:3px solid #208ac8!important;outline-offset:2px!important;}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow-prev {left:13px!important;right:auto!important;}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow-next {right:13px!important;left:auto!important;}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow i {font-size:18px!important;line-height:1!important;}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumbs.vf3-showcase-thumbs {
  display:flex!important;position:relative!important;flex-wrap:nowrap!important;justify-content:flex-start!important;
  align-items:center!important;width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;
  padding:12px 2px 3px!important;margin:0!important;border:0!important;
  background:#fff!important;scrollbar-width:thin!important;scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumb.vf3-showcase-thumb {
  display:block!important;position:relative!important;flex:0 0 112px!important;width:112px!important;
  min-width:112px!important;height:76px!important;min-height:76px!important;max-height:76px!important;
  padding:3px!important;margin:0!important;border-radius:10px!important;cursor:pointer!important;
  scroll-snap-align:start!important;box-sizing:border-box!important;
}
body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumb.vf3-showcase-thumb img {
  display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
}
/* Fullscreen gallery; "hidden" must outrank every inherited modal/display rule. */
body .mmb-m009-lightbox[hidden] {display:none!important;}
body .mmb-m009-lightbox:not([hidden]) {
  display:flex!important;position:fixed!important;inset:0!important;z-index:2147483000!important;
  align-items:center!important;justify-content:center!important;gap:clamp(8px,2vw,24px)!important;
  padding:65px clamp(10px,2.5vw,32px) 25px!important;box-sizing:border-box!important;
  background:rgba(5,12,23,.96)!important;color:#fff!important;
}
body .mmb-m009-lightbox-figure {
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;min-width:0!important;max-width:min(1300px,calc(100vw - 140px))!important;
  max-height:100%!important;margin:0!important;padding:0!important;
}
body .mmb-m009-lightbox-figure img {
  display:block!important;width:auto!important;height:auto!important;
  max-width:100%!important;max-height:calc(100dvh - 142px)!important;
  object-fit:contain!important;object-position:center!important;border-radius:4px!important;
}
body .mmb-m009-lightbox-figure figcaption {font:600 13px/1.4 system-ui,sans-serif;color:#e5ecf3;margin-top:12px;text-align:center;}
body .mmb-m009-lightbox-close,
body .mmb-m009-lightbox-nav {
  display:grid!important;place-items:center!important;flex:0 0 auto!important;
  width:43px!important;height:43px!important;padding:0!important;margin:0!important;
  border:1px solid rgba(255,255,255,.36)!important;border-radius:50%!important;
  color:#fff!important;background:rgba(255,255,255,.16)!important;cursor:pointer!important;
}
body .mmb-m009-lightbox-close {
  position:absolute!important;top:max(14px,env(safe-area-inset-top))!important;right:clamp(12px,3vw,30px)!important;
  z-index:2!important;
}
body .mmb-m009-lightbox-nav i,body .mmb-m009-lightbox-close i {font-size:20px!important;line-height:1!important;}
body .mmb-m009-lightbox button:focus-visible {outline:3px solid #5dc4ff!important;outline-offset:3px!important;}
body .mmb-m009-lightbox button:hover {background:rgba(255,255,255,.3)!important;}
@media(max-width:900px) {
  body.mbr-p28-reference-page .p28-hero-main > .mmb-vf399-gallery.mmb-m009-gallery {padding:9px!important;border-radius:12px!important;}
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-stage {height:clamp(240px,64vw,370px)!important;border-radius:12px!important;}
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow {width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important;}
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow-prev {left:7px!important;}
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-arrow-next {right:7px!important;}
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumbs.vf3-showcase-thumbs {gap:7px!important;padding:9px 1px 2px!important;}
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumb.vf3-showcase-thumb {flex-basis:76px!important;width:76px!important;min-width:76px!important;height:60px!important;min-height:60px!important;max-height:60px!important;}
  body .mmb-m009-lightbox:not([hidden]) {padding:62px 8px 20px!important;gap:3px!important;}
  body .mmb-m009-lightbox-figure {max-width:calc(100vw - 98px)!important;}
  body .mmb-m009-lightbox-nav {width:38px!important;height:38px!important;min-width:38px!important;}
  body .mmb-m009-lightbox-figure img {max-height:calc(100dvh - 145px)!important;}
}
@media(prefers-reduced-motion:reduce) {
  body.mbr-p28-reference-page .mmb-m009-gallery .mmb-m009-thumbs {scroll-behavior:auto!important;}
}
body .mmb-m009-lightbox-nav[hidden] {display:none!important;}

/* M010: detach zoom overlay from any clipped stacking context; reliably layer
   over sticky navbar, contact dock and page on iOS Safari/Chromium. */
html body > .mmb-m009-lightbox[hidden] { display:none!important; }
html body > .mmb-m009-lightbox:not([hidden]) {
  display:flex!important;position:fixed!important;inset:0!important;
  z-index:2147483646!important;overflow:hidden!important;overscroll-behavior:contain;
  background:rgba(5,12,23,.97)!important;
}
html body > .mmb-m009-lightbox .mmb-m009-lightbox-figure {height:100%!important;min-height:0!important;}
html body > .mmb-m009-lightbox .mmb-m009-lightbox-figure img {max-height:min(78dvh,calc(100vh - 130px))!important;max-width:100%!important;}
body.mmb-m010-viewer-open {touch-action:none;}
@media(max-width:640px) {
  html body > .mmb-m009-lightbox:not([hidden]) {padding-top:max(54px,env(safe-area-inset-top))!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important;}
  html body > .mmb-m009-lightbox .mmb-m009-lightbox-figure img {max-height:72dvh!important;}
}
