/* WordPress + Elementor compatibility layer. Original visual rules remain in mfg-original.css. */
html { min-height: 100%; }
body.mfg-elementor-theme { margin: 0; min-height: 100%; }
body.mfg-elementor-theme .site-main { min-height: 100vh; overflow: clip; }
body.mfg-elementor-theme .site-main > article,
body.mfg-elementor-theme .site-main > .page-content { margin: 0; padding: 0; }
body.mfg-elementor-theme .entry-content { margin: 0; }
body.mfg-elementor-theme .entry-content::before,
body.mfg-elementor-theme .entry-content::after { content: none; }

/* The original file used an in-page router. WordPress uses separate pages, so page wrappers stay visible. */
body.mfg-wordpress-multipage:not(.mfg-inpage-router) .page { display: block; }
body.mfg-wordpress-multipage .page.active { animation: pagein .5s var(--ease); }

/* Elementor HTML widgets must not clip the original decorative motion. */
body.mfg-elementor-theme .elementor-widget-html,
body.mfg-elementor-theme .elementor-widget-html > .elementor-widget-container { overflow: visible; }
body.mfg-elementor-theme .elementor-widget-html > .elementor-widget-container { margin: 0; padding: 0; }
body.mfg-elementor-theme .elementor-widget-html section:first-child { margin-top: 0; }

/* Keep the sticky original navigation below the logged-in WordPress toolbar. */
body.admin-bar header { top: 32px; }
@media (max-width: 782px) { body.admin-bar header { top: 46px; } }

/* Prevent global site overlays from obstructing the Elementor editor. */
body.elementor-editor-active #loader,
body.elementor-editor-active #scrollProgress,
body.elementor-editor-active .wa-float { display: none !important; }
body.elementor-editor-active .reveal,
body.elementor-editor-active .stagger > * { opacity: 1 !important; transform: none !important; clip-path: none !important; }

/* Graceful fallback when JavaScript is blocked. */
html:not(.mfg-js) .reveal,
html:not(.mfg-js) .stagger > * { opacity: 1; transform: none; }

/* Avoid inherited WordPress theme spacing and image baselines. */
body.mfg-elementor-theme img { max-width: 100%; }
body.mfg-elementor-theme svg { display: block; }
body.mfg-elementor-theme p:empty { display: none; }

/* Accessibility: preserve content when reduced motion is requested. */
@media (prefers-reduced-motion: reduce) {
  .reveal, .stagger > *, .wsplit .w { opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; }
  .loader { display: none !important; }
  .scroll-progress { display: none !important; }
}

/* Preset WordPress header and footer. */
body.mfg-elementor-theme .mfg-nav-actions { display:flex; align-items:center; gap:14px; }
body.mfg-elementor-theme .site-header .custom-logo,
body.mfg-elementor-theme .site-footer .custom-logo { width:32px; height:32px; object-fit:contain; }
body.mfg-elementor-theme nav .current-menu-item > a,
body.mfg-elementor-theme nav .current_page_item > a,
body.mfg-elementor-theme nav .current-menu-ancestor > a,
body.mfg-elementor-theme nav .current_page_ancestor > a { color:var(--off); }
body.mfg-elementor-theme nav .current-menu-item > a::after,
body.mfg-elementor-theme nav .current_page_item > a::after,
body.mfg-elementor-theme nav .current-menu-ancestor > a::after,
body.mfg-elementor-theme nav .current_page_ancestor > a::after { width:100%; transform:scaleX(1); }
body.mfg-elementor-theme .site-navigation .sub-menu { display:none; position:absolute; top:calc(100% + 16px); min-width:190px; padding:16px; gap:13px; background:rgba(10,10,10,.98); border:1px solid var(--line); }
body.mfg-elementor-theme .site-navigation li { position:relative; }
body.mfg-elementor-theme .site-navigation li:hover > .sub-menu,
body.mfg-elementor-theme .site-navigation li:focus-within > .sub-menu { display:flex; flex-direction:column; }
body.mfg-elementor-theme .mfg-footer-contact a { color:var(--steel); }
body.mfg-elementor-theme .mfg-footer-contact span { color:var(--steel-dim); font-size:12.5px; }
body.mfg-elementor-theme .site-footer .current-menu-item > a { color:var(--off); }

@media(max-width:1020px){
  body.mfg-elementor-theme .site-navigation .sub-menu { display:flex; position:static; min-width:0; padding:14px 0 0 18px; background:transparent; border:0; gap:14px; }
  body.mfg-elementor-theme .site-navigation .sub-menu a { font-size:10px; }
}

@media(max-width:560px){
  body.mfg-elementor-theme .nav-cta { display:none; }
  body.mfg-elementor-theme .logo small { font-size:13px; }
}
