/* Zeetoc Mega Menu — integrates with WordPress and Elementor wp_nav_menu output. */
.zt-mega-item{position:relative!important;--zt-mega-bg:#fff;--zt-mega-text:#23263b;--zt-mega-accent:#6756e8;--zt-mega-radius:18px;--zt-mega-padding:24px;isolation:isolate}
.zt-mega-item>.sub-menu,.zt-mega-item>.zt-mega-panel{box-sizing:border-box!important;position:absolute!important;z-index:99990!important;top:100%;left:50%;width:min(1180px,calc(100vw - 32px));max-height:min(80vh,800px);overflow:auto;overscroll-behavior:contain;background:var(--zt-mega-bg)!important;color:var(--zt-mega-text);padding:var(--zt-mega-padding)!important;border-radius:var(--zt-mega-radius);border:1px solid color-mix(in srgb,var(--zt-mega-text) 9%,transparent);box-shadow:0 22px 75px rgba(10,18,45,.17);display:grid!important;grid-template-columns:repeat(var(--zt-mega-cols,4),minmax(0,1fr));gap:12px 18px;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translate3d(calc(-50% + var(--zt-mega-shift,0px)),12px,0);transition:transform .23s ease,opacity .23s ease,visibility .23s ease;list-style:none;margin:0!important}
.zt-mega-item.zt-mega-col-2{--zt-mega-cols:2}.zt-mega-item.zt-mega-col-3{--zt-mega-cols:3}.zt-mega-item.zt-mega-col-4{--zt-mega-cols:4}.zt-mega-item.zt-mega-col-5{--zt-mega-cols:5}.zt-mega-item.zt-mega-col-6{--zt-mega-cols:6}
.zt-mega-item.zt-mega-width-menu>.sub-menu,.zt-mega-item.zt-mega-width-menu>.zt-mega-panel{width:min(740px,calc(100vw - 32px))}
.zt-mega-item.zt-mega-width-viewport>.sub-menu,.zt-mega-item.zt-mega-width-viewport>.zt-mega-panel{position:fixed!important;top:var(--zt-mega-top,75px)!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;border-radius:0 0 var(--zt-mega-radius) var(--zt-mega-radius);transform:translateY(12px)}
.zt-mega-item:hover>.sub-menu,.zt-mega-item:hover>.zt-mega-panel,.zt-mega-item:focus-within>.sub-menu,.zt-mega-item:focus-within>.zt-mega-panel,.zt-mega-item.zt-mega-open>.sub-menu,.zt-mega-item.zt-mega-open>.zt-mega-panel{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(calc(-50% + var(--zt-mega-shift,0px)),0,0)}
.zt-mega-item.zt-mega-width-viewport:hover>.sub-menu,.zt-mega-item.zt-mega-width-viewport:hover>.zt-mega-panel,.zt-mega-item.zt-mega-width-viewport:focus-within>.sub-menu,.zt-mega-item.zt-mega-width-viewport:focus-within>.zt-mega-panel,.zt-mega-item.zt-mega-width-viewport.zt-mega-open>.sub-menu,.zt-mega-item.zt-mega-width-viewport.zt-mega-open>.zt-mega-panel{transform:translateY(0)}
.zt-mega-item.zt-mega-motion-fade>.sub-menu,.zt-mega-item.zt-mega-motion-fade>.zt-mega-panel{transform:translate3d(calc(-50% + var(--zt-mega-shift,0px)),0,0)}
.zt-mega-item.zt-mega-motion-scale>.sub-menu,.zt-mega-item.zt-mega-motion-scale>.zt-mega-panel{transform:translate3d(calc(-50% + var(--zt-mega-shift,0px)),0,0) scale(.97)}
.zt-mega-item.zt-mega-motion-none>.sub-menu,.zt-mega-item.zt-mega-motion-none>.zt-mega-panel{transition:none}
.zt-mega-item.zt-mega-shadow-none>.sub-menu,.zt-mega-item.zt-mega-shadow-none>.zt-mega-panel{box-shadow:none}.zt-mega-item.zt-mega-shadow-strong>.sub-menu,.zt-mega-item.zt-mega-shadow-strong>.zt-mega-panel{box-shadow:0 36px 100px rgba(10,18,45,.28)}
.zt-mega-item.zt-mega-has-template>.sub-menu{display:none!important}
.zt-mega-item>.sub-menu>li{display:block!important;float:none!important;min-width:0!important;width:100%!important;position:relative!important;margin:0!important;list-style:none!important}
.zt-mega-item>.sub-menu>li>a{box-sizing:border-box;display:flex!important;align-items:center;gap:9px;text-decoration:none!important;padding:16px!important;width:100%;height:auto;min-height:52px;max-width:none;border-radius:calc(var(--zt-mega-radius) * .55);color:var(--zt-mega-text)!important;font-size:var(--zt-mega-font,14px);line-height:1.45;font-weight:var(--zt-mega-weight,600);background:color-mix(in srgb,var(--zt-mega-bg) 85%,var(--zt-mega-text) 3%);transition:transform .2s ease,background .2s ease,color .2s ease}
.zt-mega-item>.sub-menu>li>a:hover,.zt-mega-item>.sub-menu>li>a:focus-visible{color:var(--zt-mega-accent)!important;background:color-mix(in srgb,var(--zt-mega-accent) 9%,var(--zt-mega-bg));transform:translateY(-2px)}
.zt-mega-item.zt-mega-layout-minimal>.sub-menu>li>a{background:transparent;border-radius:8px;padding:10px 12px!important}.zt-mega-item.zt-mega-layout-outlined>.sub-menu>li>a{background:transparent;border:1px solid color-mix(in srgb,var(--zt-mega-text) 15%,transparent)}
.zt-mega-item>.sub-menu>li>.sub-menu{display:flex!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;float:none!important;border:0!important;box-shadow:none!important;padding:4px 0 0!important;margin:0!important;background:transparent!important;min-width:0!important;flex-direction:column;gap:4px;width:100%!important}
.zt-mega-item>.sub-menu>li>.sub-menu li{list-style:none;position:static;width:100%}.zt-mega-item>.sub-menu>li>.sub-menu a{font-size:13px;display:block;padding:8px 14px;text-decoration:none;color:var(--zt-mega-text);opacity:.8;white-space:normal;line-height:1.5}.zt-mega-item>.sub-menu>li>.sub-menu a:hover{color:var(--zt-mega-accent);opacity:1}
.zt-menu-badge{display:inline-flex;align-items:center;background:var(--zt-mega-accent);color:#fff!important;font-size:9px;font-weight:800;line-height:1;padding:4px 6px;border-radius:5px;margin-inline-start:7px;vertical-align:middle;letter-spacing:.045em}
.zt-mega-toggle{position:absolute;right:1px;top:50%;transform:translateY(-50%);border:0;background:transparent!important;color:inherit!important;padding:5px 7px!important;min-width:26px;min-height:26px;line-height:1;cursor:pointer;z-index:5;font-size:18px;border-radius:6px}
.zt-mega-toggle:hover,.zt-mega-toggle:focus-visible{background:rgba(113,111,143,.12)!important;outline-offset:2px}
/* Templates can use arbitrary Elementor sections and shouldn't inherit menu grid. */
.zt-mega-item>.zt-mega-panel{display:block!important;padding:var(--zt-mega-padding)!important;max-width:100%}
.zt-mega-item>.zt-mega-panel .elementor{width:100%}
/* Elementor nav widgets can hide overflow on menu wrappers; unlock only mega nav instances. */
.elementor-widget-zeetoc_mega_navigation,.elementor-widget-zeetoc_mega_navigation>.elementor-widget-container,.zt-nav-shell{overflow:visible!important}
.zt-nav-shell{--zt-nav-gap:26px;display:flex;align-items:center;justify-content:var(--zt-nav-align,center);width:100%;position:relative;z-index:50}
.zt-nav-shell .zt-nav-list{display:flex;align-items:center;flex-wrap:wrap;gap:var(--zt-nav-gap);margin:0;padding:0;list-style:none}
.zt-nav-shell .zt-nav-list>li{list-style:none}.zt-nav-shell .zt-nav-list>li>a{display:inline-flex;align-items:center;gap:4px;padding:15px 28px 15px 4px;color:var(--zt-nav-text,#1e2237);text-decoration:none;font-weight:600;font-size:var(--zt-nav-font,15px);transition:color .2s ease}.zt-nav-shell .zt-nav-list>li>a:hover{color:var(--zt-nav-accent,#685aff)}
.zt-nav-shell .zt-mega-toggle{right:0}.zt-nav-shell .zt-nav-mobile{display:none;border:1px solid #d7d9e6;border-radius:10px;background:#fff;padding:11px 14px;cursor:pointer}
.zt-mega-item:has(>.zt-mega-panel):hover,.zt-mega-item:has(>.sub-menu):hover{z-index:99999}
@media (max-width:1024px){
 .zt-mega-item{isolation:auto}.zt-mega-item>.sub-menu,.zt-mega-item>.zt-mega-panel,.zt-mega-item.zt-mega-width-viewport>.sub-menu,.zt-mega-item.zt-mega-width-viewport>.zt-mega-panel{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:100%!important;max-height:none!important;transform:none!important;display:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;border-radius:12px;padding:14px!important;box-shadow:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;transition:none!important;margin-top:6px!important}
 .zt-mega-item:hover>.sub-menu,.zt-mega-item:hover>.zt-mega-panel,.zt-mega-item:focus-within>.sub-menu,.zt-mega-item:focus-within>.zt-mega-panel{display:none!important}
 .zt-mega-item.zt-mega-open>.sub-menu,.zt-mega-item.zt-mega-open>.zt-mega-panel,.zt-mega-item.zt-mega-open:hover>.sub-menu,.zt-mega-item.zt-mega-open:focus-within>.sub-menu{display:grid!important;transform:none!important}
 .zt-mega-item.zt-mega-has-template.zt-mega-open>.zt-mega-panel{display:block!important}
 .zt-mega-item>.zt-mega-toggle{top:12px;transform:none;right:8px}
 .zt-nav-shell{display:block}.zt-nav-shell .zt-nav-mobile{display:flex;margin-left:auto;gap:10px;align-items:center}.zt-nav-shell .zt-nav-list{display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 0}.zt-nav-shell.zt-nav-expanded .zt-nav-list{display:flex}.zt-nav-shell .zt-nav-list>li>a{width:100%;padding:13px 35px 13px 6px}.zt-nav-shell .zt-nav-list>li{width:100%;position:relative}
}
@media (max-width:600px){.zt-mega-item>.sub-menu,.zt-mega-item.zt-mega-width-viewport>.sub-menu{grid-template-columns:minmax(0,1fr)!important}.zt-mega-item>.sub-menu>li>a{padding:12px!important}}
@media (prefers-reduced-motion:reduce){.zt-mega-item>.sub-menu,.zt-mega-item>.zt-mega-panel,.zt-mega-item>.sub-menu>li>a{transition:none!important;transform:none!important}}

.zt-mega-item>.sub-menu>li>a{display:block!important;line-height:1.5!important}.zt-mega-item>.sub-menu>li>a .zt-mega-item-icon{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:25px;height:25px;border-radius:8px;background:color-mix(in srgb,var(--zt-mega-accent) 12%,transparent);color:var(--zt-mega-accent);font-size:17px;margin-right:8px}.zt-mega-item>.sub-menu>li>a .zt-mega-item-description{display:block!important;font-size:11px;font-weight:400;opacity:.68;margin-top:5px;line-height:1.5;white-space:normal}.zt-mega-item.zt-mega-link-hover-underline>.sub-menu>li>a:hover{text-decoration:underline!important;text-decoration-color:var(--zt-mega-accent)!important;text-underline-offset:5px}.zt-mega-item.zt-mega-link-hover-underline>.sub-menu>li>a:hover,.zt-mega-item.zt-mega-link-hover-highlight>.sub-menu>li>a:hover{transform:none}.zt-mega-item.zt-mega-link-hover-underline>.sub-menu>li>a:hover{background:transparent!important}

/* Keep widgets inside an Elementor-designed dropdown fitted to the panel, not the entire viewport. */
body.zt-force-fullwidth .zt-mega-panel .elementor-widget[class*="elementor-widget-zeetoc_"],.zt-mega-panel .elementor-widget[class*="elementor-widget-zeetoc_"].zt-fw-yes{width:100%!important;max-width:100%!important;margin-inline:0!important;left:auto!important;right:auto!important;transform:none!important}
