/* GGG Nav Menu widget — desktop links; hamburger + panel below the chosen breakpoint. */
.ggg-nav{position:relative}
.ggg-nav__list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:28px}
.ggg-nav__list li{list-style:none;margin:0;position:relative}
.ggg-nav__list a{text-decoration:none;color:inherit;position:relative;transition:color .2s ease,opacity .2s ease}
.ggg-nav__list .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor}
.ggg-nav__list .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;margin:0;padding:10px 0;list-style:none;background:var(--e-global-color-ggg_surface,#fff);box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:50}
.ggg-nav__list .sub-menu a{display:block;padding:6px 16px}
.ggg-nav__list li:hover>.sub-menu,.ggg-nav__list li:focus-within>.sub-menu{display:block}
/* reset: themes / kits style every <button> (background, padding, border, radius, shadow) */
.ggg-nav .ggg-nav__toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;min-width:0;min-height:0;padding:0!important;margin:0 0 0 auto;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:inherit;line-height:1;cursor:pointer}
.ggg-nav__toggle span{display:block;width:24px;height:2px;background:currentColor;transition:transform .25s ease,opacity .25s ease}
.ggg-nav.is-open .ggg-nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ggg-nav.is-open .ggg-nav__toggle span:nth-child(2){opacity:0}
.ggg-nav.is-open .ggg-nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* hamburger always */
.ggg-nav--always .ggg-nav__toggle{display:flex}
.ggg-nav--always .ggg-nav__panel{position:fixed;top:0;bottom:0;right:0;width:min(84vw,340px);padding:84px 30px 30px;background:var(--ggg-nav-panel-bg,var(--e-global-color-ggg_surface,#fff));box-shadow:-10px 0 40px rgba(0,0,0,.14);transform:translateX(105%);transition:transform .32s ease,opacity .32s ease;z-index:100000;overflow-y:auto;box-sizing:border-box}
.ggg-nav--always.ggg-nav--panel-left .ggg-nav__panel{right:auto;left:0;transform:translateX(-105%)}
.ggg-nav--always.ggg-nav--panel-full .ggg-nav__panel{left:0;width:auto;display:flex;align-items:center;justify-content:center;transform:none;opacity:0;visibility:hidden}
.ggg-nav--always.ggg-nav--panel-drop .ggg-nav__panel{position:absolute;top:100%;bottom:auto;left:auto;width:min(84vw,320px);padding:22px 26px;transform:translateY(-8px);opacity:0;visibility:hidden}
.ggg-nav--always.is-open .ggg-nav__panel{transform:none;opacity:1;visibility:visible}
.ggg-nav--always .ggg-nav__list{flex-direction:column;align-items:flex-start;gap:18px!important}
.ggg-nav--always.ggg-nav--panel-full .ggg-nav__list{align-items:center}
.ggg-nav--always .ggg-nav__panel a{color:var(--ggg-nav-panel-link,var(--e-global-color-ggg_text,#222))!important}
.ggg-nav--always.is-open .ggg-nav__toggle{position:relative;z-index:100001}
.ggg-nav--always.ggg-nav--panel-right.is-open .ggg-nav__toggle,.ggg-nav--always.ggg-nav--panel-left.is-open .ggg-nav__toggle,.ggg-nav--always.ggg-nav--panel-full.is-open .ggg-nav__toggle{position:fixed;top:22px;right:22px}
.ggg-nav--always.ggg-nav--panel-left.is-open .ggg-nav__toggle{right:auto;left:calc(min(84vw,340px) - 64px)}
.ggg-nav--always.is-open .ggg-nav__toggle span{background:var(--ggg-nav-close,var(--ggg-nav-panel-link,var(--e-global-color-ggg_text,#222)))!important}
.ggg-nav--always .ggg-nav__list .sub-menu{position:static;display:block;box-shadow:none;padding:8px 0 0 14px;background:none}
/* hamburger on tablet + phone */
@media (max-width:1024px){
.ggg-nav--tablet .ggg-nav__toggle{display:flex}
.ggg-nav--tablet .ggg-nav__panel{position:fixed;top:0;bottom:0;right:0;width:min(84vw,340px);padding:84px 30px 30px;background:var(--ggg-nav-panel-bg,var(--e-global-color-ggg_surface,#fff));box-shadow:-10px 0 40px rgba(0,0,0,.14);transform:translateX(105%);transition:transform .32s ease,opacity .32s ease;z-index:100000;overflow-y:auto;box-sizing:border-box}
.ggg-nav--tablet.ggg-nav--panel-left .ggg-nav__panel{right:auto;left:0;transform:translateX(-105%)}
.ggg-nav--tablet.ggg-nav--panel-full .ggg-nav__panel{left:0;width:auto;display:flex;align-items:center;justify-content:center;transform:none;opacity:0;visibility:hidden}
.ggg-nav--tablet.ggg-nav--panel-drop .ggg-nav__panel{position:absolute;top:100%;bottom:auto;left:auto;width:min(84vw,320px);padding:22px 26px;transform:translateY(-8px);opacity:0;visibility:hidden}
.ggg-nav--tablet.is-open .ggg-nav__panel{transform:none;opacity:1;visibility:visible}
.ggg-nav--tablet .ggg-nav__list{flex-direction:column;align-items:flex-start;gap:18px!important}
.ggg-nav--tablet.ggg-nav--panel-full .ggg-nav__list{align-items:center}
.ggg-nav--tablet .ggg-nav__panel a{color:var(--ggg-nav-panel-link,var(--e-global-color-ggg_text,#222))!important}
.ggg-nav--tablet.is-open .ggg-nav__toggle{position:relative;z-index:100001}
.ggg-nav--tablet.ggg-nav--panel-right.is-open .ggg-nav__toggle,.ggg-nav--tablet.ggg-nav--panel-left.is-open .ggg-nav__toggle,.ggg-nav--tablet.ggg-nav--panel-full.is-open .ggg-nav__toggle{position:fixed;top:22px;right:22px}
.ggg-nav--tablet.ggg-nav--panel-left.is-open .ggg-nav__toggle{right:auto;left:calc(min(84vw,340px) - 64px)}
.ggg-nav--tablet.is-open .ggg-nav__toggle span{background:var(--ggg-nav-close,var(--ggg-nav-panel-link,var(--e-global-color-ggg_text,#222)))!important}
.ggg-nav--tablet .ggg-nav__list .sub-menu{position:static;display:block;box-shadow:none;padding:8px 0 0 14px;background:none}
}
/* hamburger on phone only */
@media (max-width:767px){
.ggg-nav--mobile .ggg-nav__toggle{display:flex}
.ggg-nav--mobile .ggg-nav__panel{position:fixed;top:0;bottom:0;right:0;width:min(84vw,340px);padding:84px 30px 30px;background:var(--ggg-nav-panel-bg,var(--e-global-color-ggg_surface,#fff));box-shadow:-10px 0 40px rgba(0,0,0,.14);transform:translateX(105%);transition:transform .32s ease,opacity .32s ease;z-index:100000;overflow-y:auto;box-sizing:border-box}
.ggg-nav--mobile.ggg-nav--panel-left .ggg-nav__panel{right:auto;left:0;transform:translateX(-105%)}
.ggg-nav--mobile.ggg-nav--panel-full .ggg-nav__panel{left:0;width:auto;display:flex;align-items:center;justify-content:center;transform:none;opacity:0;visibility:hidden}
.ggg-nav--mobile.ggg-nav--panel-drop .ggg-nav__panel{position:absolute;top:100%;bottom:auto;left:auto;width:min(84vw,320px);padding:22px 26px;transform:translateY(-8px);opacity:0;visibility:hidden}
.ggg-nav--mobile.is-open .ggg-nav__panel{transform:none;opacity:1;visibility:visible}
.ggg-nav--mobile .ggg-nav__list{flex-direction:column;align-items:flex-start;gap:18px!important}
.ggg-nav--mobile.ggg-nav--panel-full .ggg-nav__list{align-items:center}
.ggg-nav--mobile .ggg-nav__panel a{color:var(--ggg-nav-panel-link,var(--e-global-color-ggg_text,#222))!important}
.ggg-nav--mobile.is-open .ggg-nav__toggle{position:relative;z-index:100001}
.ggg-nav--mobile.ggg-nav--panel-right.is-open .ggg-nav__toggle,.ggg-nav--mobile.ggg-nav--panel-left.is-open .ggg-nav__toggle,.ggg-nav--mobile.ggg-nav--panel-full.is-open .ggg-nav__toggle{position:fixed;top:22px;right:22px}
.ggg-nav--mobile.ggg-nav--panel-left.is-open .ggg-nav__toggle{right:auto;left:calc(min(84vw,340px) - 64px)}
.ggg-nav--mobile.is-open .ggg-nav__toggle span{background:var(--ggg-nav-close,var(--ggg-nav-panel-link,var(--e-global-color-ggg_text,#222)))!important}
.ggg-nav--mobile .ggg-nav__list .sub-menu{position:static;display:block;box-shadow:none;padding:8px 0 0 14px;background:none}
}
/* the panel's logo (hamburger mode only: hidden while the links show inline) */
.ggg-nav__logo{display:none}
.ggg-nav--always .ggg-nav__logo{display:block;position:absolute;top:18px;left:30px}
@media (max-width:1024px){.ggg-nav--tablet .ggg-nav__logo{display:block;position:absolute;top:18px;left:30px}}
@media (max-width:767px){.ggg-nav--mobile .ggg-nav__logo{display:block;position:absolute;top:18px;left:30px}}
.ggg-nav__logo img{display:block;width:70px;height:auto;max-height:60px;object-fit:contain}
.ggg-nav__panel.has-logo{padding-top:96px!important}
/* full-screen panel: bigger links (only while open, i.e. in hamburger mode) */
.ggg-nav--panel-full.is-open .ggg-nav__list{gap:28px!important}
.ggg-nav--panel-full.is-open .ggg-nav__list a{font-size:1.5em}
/* logged in: keep the open menu's close button below the WordPress admin bar */
body.admin-bar .ggg-nav--panel-right.is-open .ggg-nav__toggle,body.admin-bar .ggg-nav--panel-left.is-open .ggg-nav__toggle,body.admin-bar .ggg-nav--panel-full.is-open .ggg-nav__toggle{top:54px!important}
@media (max-width:782px){body.admin-bar .ggg-nav--panel-right.is-open .ggg-nav__toggle,body.admin-bar .ggg-nav--panel-left.is-open .ggg-nav__toggle,body.admin-bar .ggg-nav--panel-full.is-open .ggg-nav__toggle{top:68px!important}}
/* A link with a background of its own (a design's button, or an item the owner marked "as a button") is a box, also
   when its words take two lines. */
.ggg-nav__list>li>a{display:inline-block}
.ggg-nav__list>li.ggg-nav-btn>a{padding:14px 24px;border-radius:6px;background:var(--e-global-color-ggg_primary_strong,var(--e-global-color-ggg_primary,#333));color:var(--e-global-color-ggg_on_primary,#fff)!important;text-align:center;line-height:1.4}
/* Some designs draw their menu's LAST item as a button. Once the owner marks items "as a button", those are the
   buttons — the last one only if it is marked too. */
.ggg-nav__list:has(>li.ggg-nav-btn)>li:last-child:not(.ggg-nav-btn)>a{background:none!important;margin:0!important;padding:0!important;border-radius:0!important;color:var(--ggg-nav-panel-link,inherit)!important}
/* a top menu that folds into the ☰ button, with a phone menu of its own: the row shows one, the button opens the other */
.ggg-nav__list--phone{display:none!important}
@media (max-width:1024px){.ggg-nav--tablet .ggg-nav__list--row{display:none!important}.ggg-nav--tablet .ggg-nav__list--phone{display:flex!important}}
@media (max-width:767px){.ggg-nav--mobile .ggg-nav__list--row{display:none!important}.ggg-nav--mobile .ggg-nav__list--phone{display:flex!important}}
