/* NX Essentials – front-end: header, footer, nav, search, popups */

/* ---------- Header ---------- */
.nex-header{position:relative;width:100%;z-index:90;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background-color .3s}
.nex-header--sticky,.nex-header--smart{position:sticky;top:var(--wp-admin--admin-bar--height,0px)}
.nex-header--transparent{position:absolute;top:0;left:0;right:0}
body.admin-bar .nex-header--transparent{top:var(--wp-admin--admin-bar--height,32px)}
.nex-header--transparent.nex-header--sticky,.nex-header--transparent.nex-header--smart{position:fixed;top:var(--wp-admin--admin-bar--height,0px)}
.nex-header--smart.is-hidden{transform:translateY(-110%)}
.nex-header.is-scrolled{box-shadow:0 6px 24px rgba(15,23,42,.12)}
.nex-header > .elementor{width:100%}

/* ---------- Footer ---------- */
.nex-footer{position:relative;width:100%}
.nex-footer--sticky{position:fixed;left:0;right:0;bottom:0;z-index:80}
.nex-footer--reveal{position:fixed;left:0;right:0;bottom:0;z-index:-1}
body.nex-has-footer{--nex-footer-h:0px}

/* Editing canvas */
.nex-canvas__main{min-height:60vh}

/* ---------- Nav menu ---------- */
.nex-nav{--nex-nav-color:#1e293b;--nex-nav-hover:#6d28d9;--nex-dd-bg:#fff;--nex-dd-color:#1e293b;--nex-dd-radius:12px;--nex-burger:#1e293b;--nex-m-link:#fff;--nex-m-hover:#a78bfa;--nex-close:#fff;--nex-close-bg:rgba(255,255,255,.12);--nex-close-bg-h:rgba(255,255,255,.22);--nex-drawer-w:380px;position:relative}
.nex-nav ul{list-style:none;margin:0;padding:0}
.nex-nav__list{display:flex;align-items:center;gap:6px}
.nex-nav--vertical .nex-nav__list{flex-direction:column;align-items:stretch}
.nex-nav__list > li{position:relative;display:flex;align-items:center}
.nex-nav a{text-decoration:none}
.nex-nav__list > li > a{position:relative;display:block;padding:12px 14px;color:var(--nex-nav-color);font-weight:500;transition:color .2s,background-color .2s}
.nex-nav__list > li > a:hover,.nex-nav__list > li.current-menu-item > a,.nex-nav__list > li.current-menu-ancestor > a,.nex-nav__list > li:hover > a,.nex-nav__list > li:focus-within > a{color:var(--nex-nav-hover)}
.nex-hover--underline .nex-nav__list > li > a:after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nex-hover--underline .nex-nav__list > li:hover > a:after,.nex-hover--underline .nex-nav__list > li.current-menu-item > a:after{transform:scaleX(1)}
.nex-hover--pill .nex-nav__list > li > a{border-radius:99px}
.nex-hover--pill .nex-nav__list > li:hover > a,.nex-hover--pill .nex-nav__list > li.current-menu-item > a{background:color-mix(in srgb,var(--nex-nav-hover) 12%,transparent)}


/* dropdown */
.nex-nav .sub-menu{position:absolute;top:100%;left:0;z-index:20;min-width:220px;padding:8px;background:var(--nex-dd-bg);border-radius:var(--nex-dd-radius);box-shadow:0 18px 40px rgba(15,23,42,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s}
.nex-nav .sub-menu .sub-menu{top:0;left:100%}
.nex-nav li:hover > .sub-menu,.nex-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.nex-nav .sub-menu li{position:relative;display:block}
.nex-nav .sub-menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--nex-dd-color);transition:.15s}
.nex-nav .sub-menu a:hover{background:color-mix(in srgb,var(--nex-nav-hover) 10%,transparent);color:var(--nex-nav-hover)}

/* mega panel */
.nex-nav__list > li.nex-has-mega{position:static}
.nex-nav--horizontal{position:relative}
.nex-mega{position:absolute;top:100%;left:0;z-index:30;background:var(--nex-dd-bg);color:var(--nex-dd-color);border-radius:var(--nex-dd-radius);box-shadow:0 24px 60px rgba(15,23,42,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;max-width:100vw}
.nex-mega--content{width:100%}
.nex-mega--auto{width:max-content;min-width:260px}
.nex-mega--full{position:fixed;left:0;right:0;width:100vw;border-radius:0 0 var(--nex-dd-radius) var(--nex-dd-radius)}
.nex-has-mega:hover > .nex-mega,.nex-has-mega:focus-within > .nex-mega,.nex-has-mega.is-open > .nex-mega{opacity:1;visibility:visible;transform:none}
.nex-mega__inner{padding:6px}
.nex-mega a{text-decoration:revert}

/* ---------- Mobile toggle + close (all:unset beats theme / Elementor-kit button styles) ---------- */
.nex-nav .nex-burger.nex-burger,.nex-nav .nex-nav__close.nex-nav__close{all:unset;box-sizing:border-box;display:none;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:10px;cursor:pointer;line-height:1;-webkit-tap-highlight-color:transparent;transition:background-color .2s,color .2s}
.nex-nav .nex-burger.nex-burger{position:relative;color:var(--nex-burger)}
.nex-nav .nex-burger.nex-burger:hover{color:var(--nex-burger)}
.nex-nav .nex-nav__close.nex-nav__close{position:absolute;top:20px;right:20px;z-index:2;color:var(--nex-close);background-color:var(--nex-close-bg)}
.nex-nav .nex-nav__close.nex-nav__close:hover{color:var(--nex-close-h,var(--nex-close));background-color:var(--nex-close-bg-h,var(--nex-close-bg))}
.nex-nav .nex-burger.nex-burger:focus-visible,.nex-nav .nex-nav__close.nex-nav__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.nex-burger__bars{display:flex;flex-direction:column;justify-content:space-between;width:1em;height:.75em;font-size:24px}
.nex-burger__bars span{display:block;height:max(2px,.09em);border-radius:2px;background:currentColor}
.nex-nav .nex-icon{display:inline-flex;font-size:24px;line-height:1}
.nex-nav .nex-icon svg{display:block;width:1em;height:1em;fill:currentColor}
.nex-nav .nex-icon i{display:block;line-height:1}
.nex-nav__backdrop{display:none}

/* ---------- Mobile mode ---------- */
.nex-nav.is-mobile{display:flex;justify-content:flex-end}
.nex-nav.is-mobile .nex-burger.nex-burger{display:inline-flex}
.nex-nav.is-mobile .nex-nav__close.nex-nav__close{display:inline-flex}

/* canvas – full screen (default) */
.nex-nav.is-mobile .nex-nav__panel{position:fixed;top:var(--nex-adminbar,0px);right:0;bottom:0;left:0;z-index:100001;display:flex;flex-direction:column;box-sizing:border-box;padding:96px 32px 48px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#0f172a;color:var(--nex-m-link);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.nex-nav.is-mobile.is-open .nex-nav__panel{opacity:1;visibility:visible;transition-delay:0s}

/* canvas – side panels */
.nex-nav--panel-left.is-mobile .nex-nav__panel,.nex-nav--panel-right.is-mobile .nex-nav__panel{width:min(92vw,var(--nex-drawer-w));opacity:1;transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s linear .4s}
.nex-nav--panel-left.is-mobile .nex-nav__panel{right:auto;transform:translateX(-100%)}
.nex-nav--panel-right.is-mobile .nex-nav__panel{left:auto;transform:translateX(100%)}
.nex-nav--panel-left.is-mobile.is-open .nex-nav__panel,.nex-nav--panel-right.is-mobile.is-open .nex-nav__panel{transform:none;box-shadow:0 0 60px rgba(15,23,42,.35)}
.nex-nav--panel-left.is-mobile .nex-nav__backdrop,.nex-nav--panel-right.is-mobile .nex-nav__backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:rgba(15,23,42,.55);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.nex-nav--panel-left.is-mobile.is-open .nex-nav__backdrop,.nex-nav--panel-right.is-mobile.is-open .nex-nav__backdrop{opacity:1;visibility:visible;transition-delay:0s}

/* content group (extras + list) – vertically centred inside the canvas (safe centring: never clips on short screens) */
.nex-nav.is-mobile .nex-nav__inner{display:flex;flex-direction:column;width:100%;max-width:560px;margin:auto}
.nex-nav--panel-left.is-mobile .nex-nav__inner,.nex-nav--panel-right.is-mobile .nex-nav__inner{max-width:none}
.nex-nav.is-mobile .nex-nav__list{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%;margin:0}
.nex-nav__extra{display:none}
.nex-nav.is-mobile .nex-nav__extra{display:block;width:100%;box-sizing:border-box}
.nex-nav.is-mobile .nex-nav__extra--top{margin-bottom:var(--nex-extra-gap,24px)}
.nex-nav.is-mobile .nex-nav__extra--bottom{margin-top:var(--nex-extra-gap,24px)}
.nex-nav__extra .elementor{width:100%}
.nex-malign--left.is-mobile .nex-nav__list{text-align:left}
.nex-malign--center.is-mobile .nex-nav__list{text-align:center}
.nex-malign--right.is-mobile .nex-nav__list{text-align:right}
.nex-nav.is-mobile .nex-nav__list > li{position:relative;display:flex;flex-wrap:wrap;align-items:center;border:0 solid rgba(255,255,255,.14)}
.nex-nav.is-mobile .nex-nav__list > li > a{flex:1 1 0;min-width:0;display:block;padding:12px 16px;color:var(--nex-m-link);font-size:clamp(24px,6vw,34px);font-weight:600;line-height:1.25;text-align:inherit;background:none;border-radius:0;transition:color .2s,opacity .2s}
.nex-nav.is-mobile .nex-nav__list > li > a:after{display:none}
.nex-nav.is-mobile .nex-nav__list > li > a:hover,.nex-nav.is-mobile .nex-nav__list > li.current-menu-item > a,.nex-nav.is-mobile .nex-nav__list > li.current-menu-ancestor > a,.nex-nav.is-mobile .nex-nav__list > li:hover > a,.nex-nav.is-mobile .nex-nav__list > li:focus-within > a{color:var(--nex-m-hover);background:none}
.nex-malign--center.is-mobile .nex-nav__list > li.menu-item-has-children > a,.nex-malign--center.is-mobile .nex-nav__list > li.nex-has-mega > a{padding-left:60px}
.nex-malign--right.is-mobile .nex-sub-toggle{order:-1}

/* sub menus inside the canvas */
.nex-nav .nex-sub-toggle.nex-sub-toggle{all:unset;box-sizing:border-box;display:inline-grid;place-items:center;width:22px;height:22px;margin-left:-8px;cursor:pointer;color:var(--nex-nav-color);transition:transform .25s;-webkit-tap-highlight-color:transparent}
.nex-nav:not(.is-mobile) .nex-sub-toggle{pointer-events:none}
.nex-nav.is-mobile .nex-sub-toggle{width:44px;height:44px;margin:0;color:var(--nex-m-link);pointer-events:auto}
.nex-nav.is-mobile .nex-sub-toggle:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.nex-nav.is-mobile li.is-open > .nex-sub-toggle{transform:rotate(180deg)}
.nex-nav.is-mobile .sub-menu,.nex-nav.is-mobile .nex-mega{position:static;display:none;width:100%;min-width:0;flex-basis:100%;padding:0 0 8px;margin:0;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border-radius:0;color:inherit}
.nex-nav.is-mobile li.is-open > .sub-menu,.nex-nav.is-mobile li.is-open > .nex-mega{display:block}
.nex-nav.is-mobile .sub-menu .sub-menu{padding-left:12px}
.nex-nav.is-mobile .sub-menu a{display:block;padding:8px 16px;border-radius:0;background:none;color:var(--nex-m-link);opacity:.8;font-size:18px;font-weight:500;text-align:inherit}
.nex-nav.is-mobile .sub-menu a:hover{background:none;color:var(--nex-m-hover);opacity:1}
.nex-nav.is-mobile .nex-mega--full{position:static;width:100%}

/* entrance animations (play when the canvas opens, staggered via --nex-i) – items, plus extra content when enabled */
.nex-nav.is-mobile[class*="nex-fx--"]:not(.nex-fx--none) .nex-nav__list > li,.nex-nav.is-mobile.nex-extra-fx[class*="nex-fx--"]:not(.nex-fx--none) .nex-nav__extra{opacity:0;transition:opacity var(--nex-fx-time,.55s) ease,transform var(--nex-fx-time,.55s) cubic-bezier(.2,.8,.2,1),filter var(--nex-fx-time,.55s) ease,border-color .2s}
.nex-fx--fade-up.is-mobile .nex-nav__list > li,.nex-fx--fade-up.is-mobile.nex-extra-fx .nex-nav__extra{transform:translateY(32px)}
.nex-fx--slide-left.is-mobile .nex-nav__list > li,.nex-fx--slide-left.is-mobile.nex-extra-fx .nex-nav__extra{transform:translateX(-48px)}
.nex-fx--slide-right.is-mobile .nex-nav__list > li,.nex-fx--slide-right.is-mobile.nex-extra-fx .nex-nav__extra{transform:translateX(48px)}
.nex-fx--zoom.is-mobile .nex-nav__list > li,.nex-fx--zoom.is-mobile.nex-extra-fx .nex-nav__extra{transform:scale(.85)}
.nex-fx--blur.is-mobile .nex-nav__list > li,.nex-fx--blur.is-mobile.nex-extra-fx .nex-nav__extra{filter:blur(12px);transform:translateY(12px)}
.nex-nav.is-mobile.is-open[class*="nex-fx--"]:not(.nex-fx--none) .nex-nav__list > li,.nex-nav.is-mobile.is-open.nex-extra-fx[class*="nex-fx--"]:not(.nex-fx--none) .nex-nav__extra{opacity:1;transform:none;filter:none;transition-delay:calc(.15s + var(--nex-i,0) * var(--nex-fx-step,.07s))}

body.nex-lock{overflow:hidden}
body.admin-bar{--nex-adminbar:32px}
@media (max-width:782px){body.admin-bar{--nex-adminbar:46px}}
@media (prefers-reduced-motion:reduce){.nex-nav.is-mobile .nex-nav__list > li,.nex-nav.is-mobile .nex-nav__extra{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
.nex-nav__empty{padding:10px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:13px}

/* ---------- Logo ---------- */
.nex-logo a{display:inline-block;text-decoration:none;font-weight:700;font-size:22px;color:inherit}
.nex-logo img{max-width:100%;height:auto;display:block}

/* ---------- Search ---------- */
.nex-search{--nex-search-bg:#f1f3f9;--nex-search-color:#1e293b;--nex-search-radius:99px;position:relative;display:inline-block;color:var(--nex-search-color)}
.nex-search__form{display:flex;align-items:center;background:var(--nex-search-bg);border-radius:var(--nex-search-radius);padding:0 6px 0 16px;min-width:240px}
.nex-search__input{flex:1;min-width:0;border:0!important;background:transparent!important;color:inherit;height:42px;outline:0;box-shadow:none!important;padding:0;font-size:14px}
.nex-search__submit,.nex-search__toggle{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;padding:0}
.nex-search__submit:hover,.nex-search__toggle:hover{background:rgba(127,127,127,.15)}
.nex-search--icon .nex-search__form{position:absolute;right:0;top:100%;margin-top:8px;z-index:50;box-shadow:0 14px 34px rgba(15,23,42,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;background:#fff}
.nex-search--icon.is-open .nex-search__form{opacity:1;visibility:visible;transform:none}
.nex-search--overlay .nex-search__form{position:fixed;inset:0;z-index:100002;min-width:0;border-radius:0;padding:0 8vw;background:rgba(15,23,42,.94);color:#fff;opacity:0;visibility:hidden;transition:.3s}
.nex-search--overlay .nex-search__input{height:80px;font-size:clamp(22px,4vw,44px);font-weight:600;border-bottom:2px solid rgba(255,255,255,.3)!important;margin-right:12px}
.nex-search--overlay.is-open .nex-search__form{opacity:1;visibility:visible}
.nex-search__close{position:absolute;top:24px;right:30px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}
.nex-search--overlay .nex-search__submit{color:#fff}

/* ---------- Popup button ---------- */
.nex-pbtn{display:inline-block;padding:13px 26px;border-radius:12px;background:linear-gradient(120deg,#4f46e5,#6d28d9);color:#fff;font-weight:600;text-decoration:none;box-shadow:0 10px 22px rgba(79,70,229,.3);transition:.2s}
.nex-pbtn:hover{transform:translateY(-2px);color:#fff}

/* ---------- Popups ---------- */
.nex-popup{position:fixed;inset:0;z-index:100010;display:none;pointer-events:none}
.nex-popup.is-ready{display:flex}
.nex-popup__overlay{position:absolute;inset:0;background:var(--nex,#0b1020);background:var(--nex-overlay,#0b1020);opacity:0;transition:opacity .3s;pointer-events:none}
.nex-popup.has-overlay .nex-popup__overlay{opacity:0}
.nex-popup.is-open{pointer-events:auto}
.nex-popup.is-open.has-overlay .nex-popup__overlay{opacity:.62;pointer-events:auto}
.nex-popup.no-overlay{pointer-events:none}
.nex-popup.no-overlay.is-open .nex-popup__box{pointer-events:auto}
.nex-popup__box{position:relative;width:min(var(--nex-popup-w,640px),100%);max-height:100%;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);opacity:0;transition:opacity .35s,transform .4s cubic-bezier(.2,.9,.3,1.1);overscroll-behavior:contain}
.nex-popup__content > .elementor{width:100%}
.nex-popup__close{position:absolute;top:10px;right:10px;z-index:5;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(15,23,42,.08);color:#0f172a;cursor:pointer;transition:.2s}
.nex-popup__close:hover{background:rgba(15,23,42,.18);transform:rotate(90deg)}
.nex-popup.is-open .nex-popup__box{opacity:1;transform:none}

/* positions */
.nex-popup--center{align-items:center;justify-content:center;padding:20px}
.nex-popup--top{align-items:flex-start;justify-content:center}
.nex-popup--top .nex-popup__box,.nex-popup--bottom .nex-popup__box{width:100%;max-width:none;border-radius:0}
.nex-popup--bottom{align-items:flex-end;justify-content:center}
.nex-popup--left{align-items:stretch;justify-content:flex-start}
.nex-popup--right{align-items:stretch;justify-content:flex-end}
.nex-popup--left .nex-popup__box,.nex-popup--right .nex-popup__box{border-radius:0;height:100%;max-height:none}
.nex-popup--bottom-right{align-items:flex-end;justify-content:flex-end;padding:20px}
.nex-popup--fullscreen .nex-popup__box{width:100%;height:100%;max-width:none;border-radius:0;max-height:none}

/* animations (closed state) */
.nex-anim--zoom .nex-popup__box{transform:scale(.9)}
.nex-anim--up .nex-popup__box{transform:translateY(40px)}
.nex-anim--down .nex-popup__box{transform:translateY(-40px)}
.nex-anim--none .nex-popup__box{transition:none}
.nex-popup--left.nex-anim--zoom .nex-popup__box,.nex-popup--left .nex-popup__box{transform:translateX(-100%)}
.nex-popup--right.nex-anim--zoom .nex-popup__box,.nex-popup--right .nex-popup__box{transform:translateX(100%)}
.nex-popup--top .nex-popup__box{transform:translateY(-100%)}
.nex-popup--bottom .nex-popup__box{transform:translateY(100%)}
.nex-popup.is-open .nex-popup__box{transform:none!important}
@media (max-width:767px){
	.nex-popup--center,.nex-popup--bottom-right{padding:12px}
	.nex-popup--left .nex-popup__box,.nex-popup--right .nex-popup__box{width:92vw}
}
@media (prefers-reduced-motion:reduce){.nex-popup__box,.nex-popup__overlay,.nex-header,.nex-nav *{transition:none!important}}

/* A mega panel replaces the regular dropdown */
.nex-nav .nex-has-mega > .sub-menu{display:none!important}

/* Guard against theme button styles (Hello, etc.) leaking into our controls */
.nex-popup button.nex-popup__close,.nex-search button{border:0;box-shadow:none;text-transform:none;font-family:inherit;-webkit-appearance:none;appearance:none}
.nex-popup button.nex-popup__close{background:rgba(15,23,42,.08);color:#0f172a;border-radius:50%}
.nex-popup button.nex-popup__close:hover{background:rgba(15,23,42,.18);color:#0f172a}

.nex-search button.nex-search__toggle,.nex-search button.nex-search__submit{background:transparent}
