/* SSR Animated Mobile Menu v1.2.2 */
.ssr-animated-menu,
.ssr-animated-menu *,
.ssr-animated-menu *::before,
.ssr-animated-menu *::after{box-sizing:border-box}

/* Keep the Elementor widget above normal headers, sticky sections and popups. */
.elementor-widget-ssr_animated_mobile_menu,
.elementor-widget-ssr_animated_mobile_menu>.elementor-widget-container,
.ssr-animated-menu{position:relative;z-index:2147483647!important;overflow:visible!important}
.ssr-menu-zlift{z-index:2147483647!important;overflow:visible!important}
.ssr-animated-menu{line-height:1.2}

/* White circular toggle – restored from the first version. */
.ssr-menu-toggle{position:relative;z-index:2147483647!important;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:52px;height:52px;padding:0!important;margin:0!important;border:0!important;outline:0;background:#fff!important;border-radius:50%!important;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.12)!important;appearance:none;-webkit-appearance:none;transition:transform .24s ease,background-color .24s ease,box-shadow .24s ease}
.ssr-menu-toggle:hover{transform:translateY(-1px);box-shadow:0 11px 34px rgba(0,0,0,.18)}
.ssr-menu-toggle:focus-visible,.ssr-submenu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.ssr-menu-toggle__icon{width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;flex:none}
.ssr-menu-toggle__line{display:block;width:24px;height:2px;border-radius:999px;background:#111;transform-origin:center;transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .18s ease,width .22s ease}
.ssr-menu-toggle__label{position:absolute;left:calc(100% + 10px);white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:.04em}

/* Closed state keeps the original white circular hamburger.
   Open state uses a separate white circular close button inside the drawer. */
.ssr-animated-menu.is-open .ssr-menu-toggle{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.9)!important}
.ssr-animated-menu.is-open .ssr-menu-toggle__label{display:none}

/* Overlay / drawer */
.ssr-menu-overlay{position:fixed!important;inset:0!important;z-index:2147483644!important;margin:0!important;padding:0!important;opacity:0;visibility:hidden;pointer-events:none;background:rgba(0,0,0,.58);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition:opacity .32s ease,visibility .32s ease}
.ssr-animated-menu.is-open .ssr-menu-overlay{opacity:1;visibility:visible;pointer-events:auto}

.ssr-menu-panel{position:fixed!important;top:0!important;bottom:0!important;z-index:2147483646!important;height:100vh;height:100dvh;max-width:100vw!important;margin:0!important;border:0!important;overflow:hidden!important;overscroll-behavior:contain;background:#0e1111;visibility:hidden;box-shadow:0 0 46px rgba(0,0,0,.28);-webkit-overflow-scrolling:touch;scrollbar-width:thin;transition:transform .46s cubic-bezier(.76,0,.24,1),visibility .46s ease;isolation:isolate}
.ssr-position-right .ssr-menu-panel{right:0!important;left:auto!important;transform:translate3d(102%,0,0)}
.ssr-position-left .ssr-menu-panel{left:0!important;right:auto!important;transform:translate3d(-102%,0,0)}
.ssr-animated-menu.is-open .ssr-menu-panel{transform:translate3d(0,0,0);visibility:visible}

.ssr-menu-panel__inner{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;margin:0!important;padding:92px 24px 34px!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin}
.ssr-menu-panel__inner::-webkit-scrollbar{width:4px}
.ssr-menu-panel__inner::-webkit-scrollbar-track{background:transparent}
.ssr-menu-panel__inner::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:99px}

/* Dedicated close button: always visible while the drawer is open. */
.ssr-menu-close{position:absolute!important;top:max(18px,env(safe-area-inset-top))!important;z-index:2147483647!important;display:flex!important;align-items:center!important;justify-content:center!important;width:54px!important;height:54px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 8px 28px rgba(0,0,0,.18)!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.88) rotate(-8deg);transition:opacity .24s ease,visibility .24s ease,transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease!important}
.ssr-position-right .ssr-menu-close{right:max(18px,env(safe-area-inset-right))!important;left:auto!important}
.ssr-position-left .ssr-menu-close{left:max(18px,env(safe-area-inset-left))!important;right:auto!important}
.ssr-animated-menu.is-open .ssr-menu-close{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:scale(1) rotate(0)!important}
.ssr-menu-close:hover{box-shadow:0 11px 34px rgba(0,0,0,.24)!important}
.ssr-menu-close:focus-visible{outline:2px solid #111!important;outline-offset:3px!important}
.ssr-menu-close span{position:absolute!important;display:block!important;width:24px!important;height:2.5px!important;margin:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:#111!important;transform-origin:center!important}
.ssr-menu-close span:first-child{transform:rotate(45deg)!important}
.ssr-menu-close span:last-child{transform:rotate(-45deg)!important}
.ssr-mobile-nav-wrap{display:block!important;width:100%!important;max-width:430px!important;margin:0 auto!important;padding:0!important;position:static!important}

/* Hard reset so Elementor/theme desktop dropdown rules cannot leak into this menu. */
.ssr-mobile-nav,
.ssr-mobile-nav ul,
.ssr-mobile-nav li{float:none!important;position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto;list-style:none!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none}
.ssr-mobile-nav,
.ssr-mobile-nav ul{padding:0!important}
.ssr-mobile-nav{display:block!important}

/* Mobile-first main menu rows. */
.ssr-mobile-nav>li{opacity:0;transform:translateY(12px)!important;margin:0!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.09)!important;transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
.ssr-mobile-nav>li:first-child{border-top:1px solid rgba(255,255,255,.09)!important}
.ssr-animated-menu.is-open .ssr-mobile-nav>li{opacity:1;transform:translateY(0)!important}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(1){transition-delay:.06s}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(2){transition-delay:.09s}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(3){transition-delay:.12s}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(4){transition-delay:.15s}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(5){transition-delay:.18s}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(6){transition-delay:.21s}
.ssr-animated-menu.is-open .ssr-mobile-nav>li:nth-child(n+7){transition-delay:.24s}

.ssr-mobile-nav a{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;float:none!important;width:100%!important;min-width:0!important;height:auto!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:break-word;word-break:normal;transform:none!important;transition:color .2s ease,opacity .2s ease,transform .22s ease!important}
.ssr-mobile-nav>li>a{min-height:54px!important;padding:14px 50px 14px 0!important;font-size:22px;font-weight:600;letter-spacing:-.012em;line-height:1.22!important}
.ssr-mobile-nav>li:not(.menu-item-has-children)>a{padding-right:0!important}
.ssr-mobile-nav>li>a:hover{transform:translateX(2px)!important}
.ssr-mobile-nav a.ssr-placeholder-link{cursor:pointer!important}
.ssr-mobile-nav .current-menu-item>a,.ssr-mobile-nav .current-menu-ancestor>a{font-weight:650}

/* Accordion + button: large enough to tap with a thumb, visually quieter than the title. */
.ssr-submenu-toggle{position:absolute!important;z-index:5!important;right:0!important;top:8px!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;color:inherit;cursor:pointer;font:inherit!important;line-height:1!important;appearance:none;-webkit-appearance:none;transition:transform .28s ease,background-color .2s ease!important}
.ssr-submenu-toggle::before{content:'+'!important;display:block;font-size:23px;font-weight:300;line-height:1;transform:translateY(-1px)}
.ssr-submenu-toggle:hover,.ssr-submenu-toggle:active{background:rgba(255,255,255,.11)!important}
.ssr-submenu-toggle[aria-expanded="true"]{transform:rotate(45deg)!important}

/* Submenus look like a nested mobile accordion instead of another heading list. */
.ssr-mobile-nav .sub-menu{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;z-index:auto!important;display:block!important;float:none!important;width:100%!important;min-width:0!important;max-width:none!important;height:0!important;max-height:0!important;margin:0!important;padding:0 0 0 15px!important;border:0!important;border-left:1px solid rgba(255,255,255,.13)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;opacity:0!important;visibility:hidden!important;overflow:hidden!important;pointer-events:none!important;transform:none!important;transition:max-height .36s ease,opacity .22s ease,margin .36s ease,padding .36s ease,visibility .36s ease!important}
.ssr-mobile-nav .sub-menu.ssr-submenu-open{height:auto!important;max-height:1800px!important;margin:0 0 12px 2px!important;padding-top:3px!important;padding-bottom:5px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.ssr-mobile-nav .sub-menu li{display:block!important;margin:0!important;padding:0!important;border:0!important;opacity:1!important;visibility:visible!important;transform:none!important}
.ssr-mobile-nav .sub-menu a{min-height:42px!important;padding:9px 42px 9px 13px!important;font-size:15px;font-weight:400;letter-spacing:0!important;line-height:1.35!important;opacity:.78!important;transform:none!important}
.ssr-mobile-nav .sub-menu a:hover,.ssr-mobile-nav .sub-menu .current-menu-item>a{opacity:1!important;transform:translateX(2px)!important}
.ssr-mobile-nav .sub-menu .ssr-submenu-toggle{top:3px!important;width:36px!important;height:36px!important;background:transparent!important}
.ssr-mobile-nav .sub-menu .menu-item-has-children>a{padding-right:42px!important}
.ssr-mobile-nav .sub-menu .sub-menu{margin-left:12px!important;padding-left:10px!important;border-left-color:rgba(255,255,255,.09)!important}

.ssr-menu-editor-notice{padding:14px 16px;border:1px dashed #aaa;border-radius:6px;background:#fafafa;color:#444;font-size:13px}
html.ssr-menu-lock,body.ssr-menu-lock{overflow:hidden!important;overscroll-behavior:none!important}

@media(max-width:767px){
  .ssr-menu-toggle__label{display:none}
  .ssr-menu-panel{width:100vw!important;max-width:100vw!important}
  .ssr-menu-panel__inner{padding-top:max(90px,calc(env(safe-area-inset-top) + 76px))!important;padding-right:max(22px,env(safe-area-inset-right))!important;padding-bottom:max(30px,env(safe-area-inset-bottom))!important;padding-left:max(22px,env(safe-area-inset-left))!important}
  .ssr-mobile-nav-wrap{max-width:400px!important}
  .ssr-mobile-nav>li>a{font-size:22px;line-height:1.22!important}
}

@media(max-width:380px){
  .ssr-menu-panel__inner{padding-left:18px!important;padding-right:18px!important}
  .ssr-mobile-nav>li>a{font-size:20px}
  .ssr-mobile-nav .sub-menu{padding-left:12px!important}
  .ssr-mobile-nav .sub-menu a{font-size:14.5px}
}

@media(prefers-reduced-motion:reduce){.ssr-animated-menu *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
