/* Disclosure mechanics only. Authored Elementor typography, colors and link
   padding can override these low-specificity defaults. No Pro styles copied. */
:where(.trh-free-menu[data-trh-menu]){position:relative;min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
:where(.trh-free-menu[data-trh-menu] *){box-sizing:border-box}
:where(.trh-free-menu .trh-free-menu__list){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;min-inline-size:0;max-inline-size:100%;margin:0;padding:0;list-style:none}
:where(.trh-free-menu[data-trh-menu-align="center"] .trh-free-menu__list){justify-content:center}
:where(.trh-free-menu[data-trh-menu-align="end"] .trh-free-menu__list){justify-content:flex-end}
:where(.trh-free-menu[data-trh-menu-align="justify"] .trh-free-menu__list){justify-content:space-between}
:where(.trh-free-menu li){position:relative;min-inline-size:0;max-inline-size:100%;margin:0;padding:0;list-style:none}
:where(.trh-free-menu li.trh-free-menu__has-submenu){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
:where(.trh-free-menu a){display:block;min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere;text-decoration:none;color:inherit}
/* The source's horizontal links have a 20px line box and 13px block padding.
   Keep these as zero-specificity fallbacks: saved typography/padding rules,
   including their responsive variants, continue to take precedence. */
:where(.trh-free-menu .trh-free-menu__list>li>a){line-height:20px;padding-block:13px}
/* Independent pointer mechanics. The existing ID-scoped authored :before/
   :after colors override these zero-specificity fallbacks. Keep text colors
   entirely under the saved menu/user CSS; isolate the backdrop behind its link. */
:where(.trh-free-menu[data-trh-menu-pointer="background"] .trh-free-menu__list>li>a.elementor-item),
:where(.trh-free-menu[data-trh-menu-pointer="underline"] .trh-free-menu__list>li>a.elementor-item){position:relative;isolation:isolate}
:where(.trh-free-menu[data-trh-menu-pointer="background"] .trh-free-menu__list>li>a.elementor-item)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--trh-menu-pointer-color,var(--e-global-color-accent,#3498db));opacity:0;transition:opacity .16s ease}
:where(.trh-free-menu[data-trh-menu-pointer="underline"] .trh-free-menu__list>li>a.elementor-item)::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:var(--trh-menu-pointer-width,3px);pointer-events:none;background-color:var(--trh-menu-pointer-color,var(--e-global-color-accent,#3498db));opacity:0;transition:opacity .16s ease}
:where(.trh-free-menu[data-trh-menu-pointer="background"] .trh-free-menu__list>li>a.elementor-item:is(:hover,:focus,.elementor-item-active,.highlighted))::before,
:where(.trh-free-menu[data-trh-menu-pointer="underline"] .trh-free-menu__list>li>a.elementor-item:is(:hover,:focus,.elementor-item-active,.highlighted))::after{opacity:1}
:where(.trh-free-menu .sub-menu){position:static;grid-column:1/-1;inline-size:100%;min-inline-size:0;max-inline-size:100%;margin:0;padding:0;list-style:none}
.trh-free-menu__submenu-toggle,
.trh-free-menu__toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-inline-size:44px;min-block-size:44px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}
.trh-free-menu__submenu-toggle{flex-shrink:0;inline-size:44px}
:where(.trh-free-menu__submenu-toggle svg){inline-size:14px;block-size:14px;transition:rotate .16s ease;pointer-events:none}
:where(.trh-free-menu__submenu-toggle[aria-expanded="true"] svg){rotate:180deg}
:where(.trh-free-menu__toggle svg){flex:none;pointer-events:none}
.trh-free-menu[data-trh-menu] [hidden]{display:none!important}
.trh-free-menu[data-trh-menu] a:focus-visible,
.trh-free-menu[data-trh-menu] button:focus-visible{outline:2px solid var(--trh-menu-focus-ring,#168bd2);outline-offset:3px}
@media(min-width:768px){
  :where(.trh-free-menu .trh-free-menu__list>li>.sub-menu){position:absolute;inset-block-start:100%;inset-inline-start:0;z-index:30;inline-size:max-content;min-inline-size:min(100%,calc(100vw - 16px));max-inline-size:min(24rem,calc(100vw - 16px));background:var(--trh-menu-submenu-surface,Canvas);translate:var(--trh-menu-shift,0px) 0}
  :where(.trh-free-menu .sub-menu>li){inline-size:100%}
}
@media(max-width:767px){
  :where(.trh-free-menu .sub-menu){position:static;inline-size:100%;translate:none}
  :where(.trh-free-menu[data-trh-menu-dropdown="mobile"] .trh-free-menu__list){inline-size:100%;justify-content:flex-start}
  :where(.trh-free-menu[data-trh-menu-dropdown="mobile"] .trh-free-menu__list>li){inline-size:100%}
}
@media(prefers-reduced-motion:reduce){
  :where(.trh-free-menu button),:where(.trh-free-menu button svg){animation:none!important;transition:none!important}
  :where(.trh-free-menu .trh-free-menu__list>li>a)::before,
  :where(.trh-free-menu .trh-free-menu__list>li>a)::after{transition:none}
}
