#sc-dmm-root { position: static; z-index: 999998; }
.sc-dmm-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.42); z-index: 999996; opacity: 0; transition: opacity .2s ease; }
.sc-dmm-overlay.is-open { opacity: 1; }
.sc-dmm-panel { position: absolute; z-index: 999997; background: transparent; visibility: hidden; opacity: 0; pointer-events: none; }
.sc-dmm-panel.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.sc-dmm-content { position: relative; width: 100%; line-height: 0; }
.sc-dmm-frame { display:block; width:100%; height:1px; min-height:1px; border:0; margin:0; padding:0; background:transparent; overflow:hidden; }
.sc-dmm-close { position: absolute; top: 8px; right: 12px; z-index: 10; border: 0; background: transparent; font-size: 30px; line-height: 1; cursor: pointer; padding: 4px 8px; color: inherit; }
.sc-dmm-animation-fade { transition: opacity .2s ease, visibility .2s ease; }
.sc-dmm-animation-slide { transform: translateY(-12px); transition: opacity .22s ease, transform .22s ease, visibility .22s ease; }
.sc-dmm-animation-slide.is-open { transform: translateY(0); }
.sc-dmm-animation-none { transition: none; }
.sc-dmm-trigger { cursor: pointer; }
@media (min-width: 981px) { .sc-dmm-hide-desktop { display:none !important; } }
@media (min-width: 768px) and (max-width: 980px) { .sc-dmm-hide-tablet { display:none !important; } }
@media (max-width: 767px) { .sc-dmm-hide-mobile { display:none !important; } .sc-dmm-panel { position:absolute; } }

/* v2.1.3: responsive presentation; Divi iframe rendering remains unchanged from 2.0 */
.sc-dmm-panel.sc-dmm-offcanvas { overflow-y:auto; overflow-x:hidden; background:transparent; }
.sc-dmm-panel.sc-dmm-offcanvas .sc-dmm-content { min-height:100%; }
.sc-dmm-panel.sc-dmm-offcanvas .sc-dmm-frame { min-height:100dvh; }
.sc-dmm-panel.sc-dmm-offcanvas-right { transform:translateX(16px); }
.sc-dmm-panel.sc-dmm-offcanvas-left { transform:translateX(-16px); }
.sc-dmm-panel.sc-dmm-offcanvas.sc-dmm-animation-slide { transition:opacity .22s ease, transform .22s ease, visibility .22s ease; }
.sc-dmm-panel.sc-dmm-offcanvas.is-open { transform:translateX(0); }


/* v2.1.4: smartphone menu always spans the complete viewport below the header */
@media (max-width: 767px) {
  .sc-dmm-panel,
  .sc-dmm-panel.sc-dmm-offcanvas,
  .sc-dmm-panel.sc-dmm-offcanvas-left,
  .sc-dmm-panel.sc-dmm-offcanvas-right {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
  }
  .sc-dmm-panel.sc-dmm-offcanvas {
    overflow-y: auto;
    overflow-x: hidden;
  }
}


/* v2.4.5: iframe receives real pointer events again.
 * This restores native Divi hover/focus/transition behavior.
 * Navigation is intercepted inside the same-origin iframe and delegated
 * synchronously to the host document via postMessage.
 */
.sc-dmm-frame {
  pointer-events: auto !important;
}

.sc-dmm-close {
  z-index: 20;
}


/* 2.3.1 anti-flicker safety */
html:not(.mwsdm-initialized) .sc-dmm-root,
html:not(.mwsdm-initialized) .sc-dmm-panel,
html:not(.mwsdm-initialized) .sc-dmm-overlay,
html:not(.mwsdm-initialized) .sc-dmm-frame {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.sc-dmm-panel:not(.is-open) {
  visibility: hidden !important;
  pointer-events: none !important;
}
