/* mo-ventus.com replica: styles for the behaviors Wix rendered with JavaScript
   (lightbox, mobile menu open state, back-to-top fade, ticker transition). All values were
   measured on the live Wix site, see _claude-work/CAPTURE-REPORT.md sections C, D2 and G. */

/* ---------- Lightbox (Wix ImageZoom) ---------- */
#imageZoomComp { position: fixed; inset: 0; z-index: 100000; background-color: rgba(0,0,0,0.9);
  display: flex; flex-direction: column; align-items: center; font: 10px Arial, Helvetica, sans-serif; }
#imageZoomComp .XBjG2Z { position: relative; display: flex; flex-direction: column; margin: 42px 0 0;
  padding: 35px 0 50px; box-sizing: content-box; overflow: hidden;
  width: calc(100% - 255px); max-width: calc(100% - 255px); max-height: calc(100vh - 84px); height: calc(100vh - 84px); }
#imageZoomComp .EpV4Qx { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; }
#imageZoomComp .EpV4Qx img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; display: block; }
#imageZoomComp .fIgtHO { flex: 0 0 auto; text-align: center; letter-spacing: 0.2px;
  font-family: "Helvetica Neue", HelveticaNeueW01-55Roma, HelveticaNeueW02-55Roma, HelveticaNeue, Helvetica, Arial, sans-serif; font-weight: 100; }
#imageZoomComp .uEPTjh { font: 100 16px Helvetica, "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.2px; color: #fff; margin: 20px 0; text-align: center; }
#imageZoomComp .R4HEzQ { font: 100 12px/17px Helvetica, "Helvetica Neue", Arial, sans-serif; letter-spacing: 0.3px; color: #fff; margin: 20px 0; text-align: center; max-width: 100%; white-space: pre-line; }
#imageZoomComp .fIgtHO:empty { display: none; }
#imageZoomComp .y3XiZp { position: fixed; top: 50px; right: 50px; width: 18px; height: 20px; cursor: pointer; z-index: 2; padding: 12px; margin: -12px; }
#imageZoomComp .lGoczQ { width: 18px; height: 18px; stroke: #fff; stroke-width: 15px; fill: none; cursor: pointer; display: inline; }
#imageZoomComp .Q2EVO0 { position: fixed; top: 0; bottom: 0; width: calc((100% - 32px) / 3); }
#imageZoomComp .Q2EVO0.LVl2Ij { left: 0; }
#imageZoomComp .Q2EVO0.aAFp_N { right: 0; }
#imageZoomComp ._Sh7SY { position: absolute; top: 50%; width: 18px; height: 31px; stroke: #fff; stroke-width: 20px; fill: none; cursor: pointer; }
#imageZoomComp .Q2EVO0.LVl2Ij ._Sh7SY { left: 50px; }
#imageZoomComp .Q2EVO0.aAFp_N ._Sh7SY { right: 50px; }
body.mv-lightbox-open { overflow: hidden; }
@media (max-width: 750px) {
  #imageZoomComp .XBjG2Z { width: calc(100% - 40px); max-width: calc(100% - 40px); margin-top: 20px; padding: 30px 0 40px; height: calc(100vh - 40px); max-height: calc(100vh - 40px); }
  #imageZoomComp .y3XiZp { top: 20px; right: 20px; }
  #imageZoomComp .Q2EVO0.LVl2Ij ._Sh7SY { left: 12px; }
  #imageZoomComp .Q2EVO0.aAFp_N ._Sh7SY { right: 12px; }
}

/* ---------- Mobile back-to-top button (Wix BACK_TO_TOP_BUTTON) ---------- */
#BACK_TO_TOP_BUTTON { position: fixed; left: 0; bottom: 87px; width: 44px; height: 44px; cursor: pointer;
  opacity: 0; visibility: hidden; transition: visibility 0s 0.5s, opacity 0.5s; }
#BACK_TO_TOP_BUTTON.mv-visible { opacity: 1; visibility: visible; transition: visibility 0s, opacity 0.5s; }
#BACK_TO_TOP_BUTTON svg { width: 44px; height: 44px; display: block; }

/* ---------- Ticker (Wix SlideShowGallery, SlideVertical 1000 ms) ---------- */
.mv-ticker-clip { overflow: hidden; }
.mv-ticker-slide-out { animation: mv-slide-out 1s cubic-bezier(.25,.1,.25,1) forwards; }
.mv-ticker-slide-in { animation: mv-slide-in 1s cubic-bezier(.25,.1,.25,1) forwards; }
@keyframes mv-slide-out { from { transform: translateY(0); } to { transform: translateY(-100%); } }
@keyframes mv-slide-in { from { transform: translateY(100%); } to { transform: translateY(0); } }

/* ---------- Self-hosted video in the Wix video component box ---------- */
.mv-video { display: block; width: 100%; height: 100%; background: #000; object-fit: contain; }
