/* Native EvoServer widgets. Elementor controls override these token defaults. */
.evs-widget { color: var(--evs-text); font-family: var(--evs-font-body); overflow-wrap: anywhere; }
.evs-widget a { color: inherit; }
.evs-widget a:hover { color: var(--evs-accent); }
.evs-widget :focus-visible { outline: 2px solid var(--evs-accent); outline-offset: 4px; }
.evs-widget-placeholder { display: block; padding: 8px; border: 1px dashed #777; font: 12px/1.5 sans-serif; color: #555; background: #fff; }
.evs-widget-logo { --evs-logo-max-height: 54px; color: var(--evs-heading); }
.evs-widget-logo :is(a, span) { display: inline-flex; max-width: 100%; vertical-align: middle; }
.evs-widget-logo img { display: block; width: auto; height: auto; max-height: var(--evs-logo-max-height); max-width: 100%; object-fit: contain; transition: max-height 250ms ease; }
.evs-widget-contact__inner { display: inline-flex; gap: 12px; align-items: flex-start; text-align: start; max-width: 100%; }
.evs-widget-contact__inner > div { min-width: 0; }
.evs-widget-contact svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 3px; }
.evs-widget-contact__label { display: block; font-size: .85em; margin-bottom: 4px; }
.evs-widget-contact a { text-decoration: none; }
.evs-widget-copyright { font-size: 13px; }
.evs-widget-social ul { display: inline-flex; flex-wrap: wrap; gap: var(--evs-social-gap, 10px); list-style: none; padding: 0; margin: 0; }
.evs-widget-social a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.evs-widget-social svg { width: var(--evs-social-size, 20px); height: var(--evs-social-size, 20px); }
.evs-widget-social--circle a { border: 1px solid currentColor; border-radius: 50%; padding: 10px; }
.evs-widget-button .evs-button--light { --evs-button-background: var(--evs-white); --evs-button-color: var(--evs-primary); --evs-button-border: var(--evs-white); --evs-button-hover-background: var(--evs-background-alt); --evs-button-hover-color: var(--evs-primary-dark); --evs-button-hover-border: var(--evs-background-alt); }
.evs-widget-button .evs-button--text { --evs-button-background: transparent; --evs-button-border: transparent; --evs-button-color: inherit; --evs-button-hover-background: transparent; --evs-button-hover-color: var(--evs-accent); --evs-button-hover-border: transparent; padding-inline: 0; }
.evs-widget-menu { position: relative; --evs-menu-color: var(--evs-heading); --evs-menu-hover: var(--evs-accent); --evs-menu-active: var(--evs-heading); }
.evs-widget-menu__list, .evs-widget-menu .sub-menu { list-style: none; padding: 0; margin: 0; }
.evs-widget-menu__list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--evs-menu-gap, 20px); }
.evs-widget-menu li { position: relative; }
.evs-widget-menu a { display: block; color: var(--evs-menu-color); text-decoration: none; padding-block: 12px; font-size: 15px; line-height: 1.5; font-weight: 500; }
.evs-widget-menu a:hover { color: var(--evs-menu-hover); }
.evs-widget-menu :is(a.evs-menu-active, .current-menu-item > a, .current-menu-parent > a, .current-menu-ancestor > a) { color: var(--evs-menu-active); }
.evs-widget-menu--line :is(a.evs-menu-active, .current-menu-item > a, .current-menu-parent > a, .current-menu-ancestor > a) { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--evs-accent); text-decoration-thickness: 2px; }
.evs-widget-menu a.evs-menu-passive { color: var(--evs-menu-color); text-decoration: none; }
.evs-widget-menu .sub-menu { position: absolute; top: 100%; left: 0; width: 210px; padding: 8px 16px; background: var(--evs-background); border: 1px solid var(--evs-border); border-radius: var(--evs-radius-sm); box-shadow: var(--evs-shadow-sm); visibility: hidden; z-index: 2; }
.evs-widget-menu li:hover > .sub-menu, .evs-widget-menu li:focus-within > .sub-menu { visibility: visible; }
.evs-widget-menu .sub-menu .sub-menu { position: static; width: auto; padding: 0 0 0 12px; border: 0; box-shadow: none; display: none; }
.evs-widget-menu .sub-menu li:hover > .sub-menu, .evs-widget-menu .sub-menu li:focus-within > .sub-menu { display: block; }
.evs-widget-menu--vertical .evs-widget-menu__list { flex-direction: column; align-items: flex-start; gap: var(--evs-menu-gap, 8px); }
.evs-widget-menu--vertical a { padding-block: 3px; }
.evs-widget-menu--vertical .sub-menu { position: static; width: auto; visibility: visible; margin-left: 12px; background: transparent; border: 0; box-shadow: none; }
.evs-widget-menu__toggle { display: none; }
.evs-widget-menu__panel[hidden] { display: none; }
@media (max-width: 1024px) {
 .evs-widget-logo { --evs-logo-max-height: 46px; }
 .evs-widget-menu--mobile.is-enhanced .evs-widget-menu__toggle { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 10px; border: 1px solid var(--evs-border); border-radius: var(--evs-radius-sm); background: var(--evs-background); color: var(--evs-heading); font-size: 24px; cursor: pointer; }
 .evs-widget-menu--mobile.is-enhanced .evs-widget-menu__panel { position: absolute; top: 100%; right: 0; z-index: 5; width: min(320px, calc(100vw - 32px)); max-height: 70dvh; overflow: auto; padding: 16px; border: 1px solid var(--evs-border); background: var(--evs-background); box-shadow: var(--evs-shadow-sm); }
 .evs-widget-menu--mobile .evs-widget-menu__list { display: block; }
 .evs-widget-menu--mobile .evs-widget-menu__list > li + li { border-top: 1px solid var(--evs-border); }
 .evs-widget-menu--mobile .sub-menu { position: static; width: auto; visibility: visible; padding: 0 0 0 16px; border: 0; box-shadow: none; }
 .evs-widget-menu--mobile .sub-menu .sub-menu { display: block; }
}
@media (prefers-reduced-motion: reduce) { .evs-widget-logo img { transition: none; } }
