/* Native Elementor menus: only shared layout details beyond widget controls. */
.elementor-location-header{position:sticky;top:0;z-index:999;background:#fff}
.admin-bar .elementor-location-header{top:var(--wp-admin--admin-bar--height,32px)}
.wv-main-navigation .sub-arrow{font-size:12px}
.wv-header-logo img{object-fit:contain}
.wv-language-navigation{text-transform:uppercase}
.wv-language-navigation .elementor-nav-menu--dropdown{min-width:70px!important}
.wv-footer-menu .elementor-nav-menu--main .elementor-item{white-space:normal}
.wv-header-main .e-con-inner{flex-wrap:nowrap!important}
.wv-header-main .elementor-widget-nav-menu{min-width:0}
.wv-newsletter .elementor-field-type-acceptance input{margin-right:10px}
.wv-newsletter .elementor-field-type-email .elementor-field{border-radius:30px}
.wv-footer-bottom p{margin:0}
@media(max-width:1024px){
 .wv-main-navigation nav.elementor-nav-menu--dropdown{max-height:calc(100dvh - var(--wv-anchor-offset,128px) + 8px);overflow-y:auto}
 .wv-main-navigation .elementor-menu-toggle{border:1px solid #aaa;border-radius:7px;padding:5px}
 .wv-header-main .e-con-inner{gap:12px!important}
}
@media(max-width:767px){
 .wv-header-main .e-con-inner{gap:8px!important}
 .wv-header-logo{flex-shrink:1;min-width:80px}
 .wv-header-donate .elementor-button{padding:12px!important}
 .wv-language-navigation .elementor-item{padding-left:3px!important;padding-right:3px!important}
 .wv-header-top .elementor-item{padding-left:10px!important;padding-right:10px!important}
}
.wv-main-navigation .elementor-sub-item{white-space:normal!important}
.wv-newsletter .elementor-field-type-submit{width:auto;flex-basis:auto}
.wv-newsletter .elementor-button{padding:14px 24px;min-height:48px}
.wv-newsletter .elementor-field-type-email .elementor-field{min-height:48px;padding:12px 30px}
@media(prefers-reduced-motion:reduce){
 .elementor-location-header .elementor-nav-menu--dropdown{transition:none!important}
}
/* Source-calibrated global navigation geometry; WP menus remain fully editable. */
.wv-main-navigation .elementor-nav-menu--main>ul{column-gap:8px}
.wv-main-navigation .sub-arrow{padding:0;margin-left:8px;width:8px;height:8px;display:inline-flex;transition:transform 150ms cubic-bezier(.4,0,.2,1)}
.wv-main-navigation .sub-arrow svg{width:8px;height:8px}
.wv-main-navigation a[aria-expanded=true]>.sub-arrow{transform:rotate(-45deg)}
.wv-language-navigation .elementor-item{padding:8px}
.wv-language-navigation .sub-arrow{padding:0;margin-left:8px}
.wv-main-navigation .wv-menu-icon{width:48px;height:48px;padding:8px;object-fit:contain;flex:0 0 48px;margin-right:16px;border-radius:8px;background:#deecfb}
.wv-main-navigation .wv-menu-livingworld>.elementor-sub-item .wv-menu-icon{background:#fff0dc}
.wv-header-donate .elementor-button{border:1px solid #428de8}
.wv-navigation-backdrop{display:none}
@media(min-width:1024px) and (min-height:481px){
 .wv-main-navigation .wv-menu-donate{display:none!important}
 .wv-main-navigation .elementor-nav-menu--main{display:flex!important}
 .wv-main-navigation .elementor-menu-toggle,.wv-main-navigation nav.elementor-nav-menu--dropdown{display:none!important}
 .wv-main-navigation .elementor-nav-menu--main>ul>li{position:relative}
 .wv-main-navigation .elementor-nav-menu--main .sub-menu{min-width:384px!important;max-width:384px!important;width:384px!important;padding:32px 20px!important;border:1px solid #e5e5e5;border-radius:12px;box-shadow:none;margin-top:32px!important;top:100%!important;max-height:calc(100dvh - var(--wv-anchor-offset,128px) - 24px);overflow-y:auto;overscroll-behavior:contain}
 .wv-main-navigation .sub-menu>li+li{margin-top:16px}
 .wv-main-navigation .elementor-sub-item{border:1px solid transparent;min-height:82px;border-radius:12px}
 .wv-main-navigation .elementor-sub-item:hover{border-color:#ddd}
 .wv-navigation-backdrop{display:block;position:fixed;inset:0;z-index:998;background:#0008;border:0;border-radius:0;opacity:0;visibility:hidden;pointer-events:none;padding:0}
 .wv-navigation-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}
}
@media(width:1024px){
 .wv-header-donate.elementor-hidden-desktop{display:none!important}
 .wv-header-donate.elementor-hidden-tablet{display:block!important}
}
@media(max-width:1023px), (max-height:480px){
 .wv-main-navigation nav.elementor-nav-menu--dropdown{position:fixed!important;top:calc(var(--wv-anchor-offset,128px) - 8px)!important;left:0!important;width:100vw!important;margin:0!important;background:#fcfcfc;transform:none!important;transition:opacity 300ms cubic-bezier(.645,.045,.355,1) 150ms;max-height:calc(100dvh - var(--wv-anchor-offset,128px) + 8px)!important;overflow-y:auto}
 .wv-main-navigation .elementor-menu-toggle:not(.elementor-active)~nav.elementor-nav-menu--dropdown{opacity:0;visibility:hidden;pointer-events:none;max-height:0!important;padding-top:0!important;padding-bottom:0!important}
 .wv-main-navigation .elementor-menu-toggle.elementor-active~nav.elementor-nav-menu--dropdown{opacity:1;visibility:visible}
 .wv-main-navigation nav.elementor-nav-menu--dropdown>ul>li>.elementor-item{font-weight:600!important}
 .wv-main-navigation nav.elementor-nav-menu--dropdown>ul>li:not(.wv-menu-donate)+li:not(.wv-menu-donate){border-top:1px solid #aaa}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .sub-arrow{margin-left:auto}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .wv-menu-donate>.elementor-item{display:inline-flex;background:#428de8;color:white!important;border-radius:16px}
 .wv-main-navigation .sub-menu{background:transparent!important}
}
@media(prefers-reduced-motion:reduce){
 .wv-navigation-backdrop,.wv-main-navigation .sub-arrow,.wv-main-navigation nav.elementor-nav-menu--dropdown{transition:none!important;animation:none!important}
}
.elementor-location-header{--wv-rem:16px}
@media(width:1024px){
 .wv-header-actions>.wv-main-navigation,.wv-header-actions>.wv-header-donate,.wv-header-actions>.wv-language-navigation{order:0!important}
}
@media(max-width:1023px), (max-height:480px){
 .wv-main-navigation nav.elementor-nav-menu--dropdown{padding:var(--wv-rem) 32px!important}
 .wv-main-navigation nav.elementor-nav-menu--dropdown>ul>li>.elementor-item{font-size:clamp(calc(1.125 * var(--wv-rem)),calc(1.0761 * var(--wv-rem) + .2174vw),calc(1.25 * var(--wv-rem)))!important;line-height:1.5!important;padding:var(--wv-rem) 0!important;min-height:0}
 .wv-main-navigation .wv-menu-donate{margin-top:var(--wv-rem)}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .wv-menu-donate>.elementor-item{width:calc((100% - .75 * var(--wv-rem)) / 2);height:calc(3 * var(--wv-rem));padding:0!important;min-height:0;justify-content:center;font-size:clamp(calc(.9375 * var(--wv-rem)),calc(.913 * var(--wv-rem) + .1087vw),var(--wv-rem))!important;line-height:1.5!important}
}
@media(max-width:767px){
 .elementor-location-header{--wv-rem:14.8px}
 .wv-topbar,.wv-topbar>.e-con-inner{min-height:37px!important}
 .wv-header-main,.wv-header-main>.e-con-inner{min-height:74px!important}
 .wv-header-main{padding-inline:22.2px!important}
 .wv-header-actions{width:auto!important;gap:7.4px!important}
 .wv-header-actions>.wv-main-navigation{margin:0!important}
 .wv-header-main>.e-con-inner{gap:14.8px!important}
 .wv-header-donate .elementor-button{height:37px;display:inline-flex;align-items:center;padding:7.4px 18.5px 5.55px!important;}
 .wv-main-navigation .elementor-menu-toggle{width:37px;height:37px;font-size:26px;padding:5px}
 .wv-language-navigation .elementor-item{padding:7.4px!important}
 .wv-main-navigation nav.elementor-nav-menu--dropdown{padding:14.8px 22.2px!important}
}
@media(min-width:1024px) and (min-height:481px){.wv-navigation-backdrop{transition:opacity 300ms linear,visibility 300ms}}
@media(prefers-reduced-motion:reduce){.wv-navigation-backdrop{transition:none!important}}
@media(min-width:1024px) and (min-height:481px){
 .wv-navigation-backdrop{background:rgba(0,0,0,.5)}
 .wv-navigation-backdrop:hover,.wv-navigation-backdrop:focus,.wv-navigation-backdrop:active{background:rgba(0,0,0,.5);border:0}
 .wv-main-navigation .elementor-nav-menu--main .sub-menu{background:#fcfcfc!important}
 .wv-main-navigation .elementor-nav-menu--main>ul>li>.elementor-item:hover,.wv-main-navigation .elementor-nav-menu--main>ul>li>.elementor-item.highlighted{background:color-mix(in oklab,oklch(.556 0 0) 30%,transparent);border-radius:4px;color:var(--e-global-color-text,#2c3844)!important}
}
.elementor-location-header{--wv-base:clamp(calc(.9375 * var(--wv-rem)),calc(.913 * var(--wv-rem) + .1087vw),var(--wv-rem))}
.wv-header-top .elementor-nav-menu>li:last-child>.elementor-item{padding-right:0!important}
@media(min-width:1024px) and (min-height:481px){
 .wv-main-navigation .elementor-nav-menu--main>.elementor-nav-menu>li>.elementor-item{height:32px;line-height:1.5;padding-top:0!important;padding-bottom:0!important}
 }
@media(min-width:768px) and (max-width:1279px){
 .wv-topbar,.wv-header-main{padding-inline:32px!important}
 .wv-topbar>.e-con-inner,.wv-header-main>.e-con-inner{max-width:1088px!important}
}
@media(min-width:1280px) and (max-width:1439px){
 .wv-topbar>.e-con-inner,.wv-header-main>.e-con-inner{max-width:1152px!important}
}
.wv-language-navigation .sub-arrow{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center}
.wv-language-navigation .sub-arrow svg{width:14px;height:14px}
@media(max-width:1023px), (max-height:480px){
 .wv-main-navigation nav.elementor-nav-menu--dropdown .sub-arrow{width:20px;height:20px;align-items:center;justify-content:center}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .sub-arrow svg{display:block;width:10px;height:10px}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .sub-arrow::after{content:none}
 .wv-main-navigation nav.elementor-nav-menu--dropdown a[aria-expanded=true]>.sub-arrow{transform:rotate(-45deg)}
}
@media(min-width:768px) and (max-width:1023px){.wv-main-navigation .elementor-menu-toggle{width:48px;height:48px;padding:9px}}
@media(max-width:767px){.wv-language-navigation .sub-arrow{width:25.9px;height:25.9px}.wv-language-navigation .sub-arrow svg{width:12.95px;height:12.95px}}

/* Let native menu items wrap while preserving space for header actions. */
@media(min-width:1024px) and (min-height:481px){
 .wv-main-navigation .elementor-nav-menu--main>ul{flex-wrap:wrap;row-gap:8px;align-items:center}
 .elementor .elementor-element.wv-language-navigation,.elementor .elementor-element.wv-header-donate{flex-shrink:0}
 .wv-main-navigation .elementor-nav-menu--main>ul>li{min-width:0}
 .wv-main-navigation .elementor-nav-menu--main>.elementor-nav-menu>li>.elementor-item{white-space:normal;height:auto;min-height:32px}
}
/* Footer source geometry. All content remains native Elementor widgets/WordPress menus. */
.wv-footer-root{--wv-fr:16px;--wv-ft:clamp(calc(.8125 * var(--wv-fr)),calc(.788 * var(--wv-fr) + .1087vw),calc(.875 * var(--wv-fr)));--wv-fbase:clamp(calc(.9375 * var(--wv-fr)),calc(.913 * var(--wv-fr) + .1087vw),var(--wv-fr));--wv-fgap:clamp(calc(1.125 * var(--wv-fr)),calc(.9783 * var(--wv-fr) + .6522vw),calc(1.5 * var(--wv-fr)))}
.wv-footer-root p{margin:0}
.wv-newsletter .elementor-field-type-email .elementor-field{height:calc(3 * var(--wv-fr));min-height:0;padding:calc(.875 * var(--wv-fr)) calc(1.5 * var(--wv-fr)) calc(.75 * var(--wv-fr));color:var(--e-global-color-text,#2c3844)}
.wv-newsletter input::placeholder{opacity:1;color:var(--e-global-color-text,#2c3844)}
.wv-newsletter .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:center;gap:calc(1.5 * var(--wv-fr))}
.wv-newsletter .elementor-field-type-acceptance input{margin:0;flex-shrink:0;width:13px;height:13px}
.wv-newsletter .elementor-button{height:calc(3 * var(--wv-fr));min-height:0;padding:calc(.625 * var(--wv-fr)) calc(1.5 * var(--wv-fr)) calc(.5 * var(--wv-fr));border:1px solid #458fe4}
.wv-legal-navigation .elementor-nav-menu{gap:var(--wv-fr)}
.wv-footer-bottom .elementor-widget-social-icons{margin-left:auto}
.wv-footer-bottom .elementor-social-icons-wrapper{display:flex;gap:var(--wv-fr)}
.wv-footer-bottom .elementor-social-icon{width:24px;height:25px;padding:0;background:transparent}
.wv-footer-bottom .elementor-social-icon svg{width:20px;height:20px}

@media(max-width:1024px){
 .wv-legal-navigation .elementor-nav-menu{flex-direction:column;align-items:flex-start;gap:calc(.5 * var(--wv-fr))}
}
@media(max-width:767px){
 .wv-footer-root{--wv-fr:14.8px}
}
.wv-newsletter .elementor-field-type-acceptance .elementor-field-option{gap:0}
.wv-newsletter .elementor-field-type-acceptance label{flex:1;padding-inline:var(--wv-fgap);min-width:0;overflow-wrap:anywhere;hyphens:auto}
.wv-newsletter .elementor-field-type-email .elementor-field{padding-inline:var(--wv-fgap)}
/* Shared Classic Form focus; inset ring remains visible at viewport edges. */
.elementor .elementor-form .elementor-field-group .elementor-field-textual:focus-visible{outline:2px solid var(--e-global-color-text,#2c3844);outline-offset:-2px}
.wv-newsletter .elementor-button:hover{color:#458fe4!important;background-color:#deecfb!important}
.wv-newsletter .elementor-button{transition:color 200ms ease-out,background-color 200ms ease-out,border-color 200ms ease-out}
.wv-newsletter .elementor-button:focus-visible{outline:2px solid #458fe4!important;outline-offset:2px!important}
@media(prefers-reduced-motion:reduce){.wv-newsletter .elementor-button{transition:none}}
@media(hover:hover){.wv-footer-menu .elementor-item:hover,.wv-legal-navigation .elementor-item:hover{color:#124135!important}}
.wv-footer-menu .elementor-item,.wv-legal-navigation .elementor-item{transition:none!important}
/* Narrow reflow: controls retain their intrinsic hit areas; only the logo may shrink. */
@media(max-width:1023px), (max-height:480px){
 .wv-header-actions{width:max-content!important;flex-shrink:0!important}
 .wv-header-actions>.elementor-widget{flex-shrink:0!important}
 .wv-header-main>.e-con-inner>.wv-header-logo{min-width:0!important;flex-shrink:1!important}
 .wv-header-logo>a{display:flex;align-items:center;min-height:80px}
}
@media(max-width:767px){
 .wv-header-logo>a{min-height:74px}
 .wv-language-navigation .sub-arrow{margin-left:7.4px}
}

/* Shared native dropdown typography/colors/padding are stored in the three header widgets. */
.wv-main-navigation .elementor-sub-item:focus-visible{outline:2px solid #458fe4;outline-offset:2px}
@media(max-width:1023px), (max-height:480px){
 .elementor .elementor-element.wv-main-navigation nav.elementor-nav-menu--dropdown>ul>li:not(.wv-menu-donate)>.elementor-item{color:var(--e-global-color-text,#2c3844)}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .sub-menu>li+li{margin-top:16px}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .elementor-sub-item{border:1px solid transparent;border-radius:12px}
 .wv-main-navigation nav.elementor-nav-menu--dropdown .elementor-sub-item:hover{border-color:#ddd}
}
@media(max-width:767px){.wv-main-navigation .wv-menu-icon{width:44.4px;height:44.4px;flex-basis:44.4px;margin-right:14.8px;padding:7.4px}}

/* Leave room for keyboard outlines in the native scrolling menus. */
.wv-main-navigation nav.elementor-nav-menu--dropdown,
.wv-main-navigation .elementor-nav-menu--main .sub-menu{scroll-padding-block:5px}
/* Let icon-label flex items wrap long words inside the native dropdown. */
.wv-main-navigation .elementor-sub-item>.wv-menu-icon+span{min-width:0;overflow-wrap:anywhere;hyphens:auto}

/* Elementor Pro explicitly excludes dropdown line_height from its native control. */
.wv-main-navigation .elementor-nav-menu .elementor-sub-item{line-height:var(--e-global-typography-wvnavdrop-line-height,1.5);border-inline-start-width:1px}

/* At native 400% zoom, a complete mobile focus ring needs a shorter menu row. */
@media(max-height:240px){
 .wv-main-navigation nav.elementor-nav-menu--dropdown .elementor-sub-item{padding-block:12px!important}
}

/* Bound intrinsic native footer widths to their available container. */
.wv-footer-column{max-width:100%}
@media(max-width:1024px){.wv-footer-brand-row,.wv-footer-motto{max-width:100%}}

.wv-newsletter .elementor-form-fields-wrapper{margin-bottom:calc(-1 * var(--wv-fgap))}

/* Reuse the existing compact navigation in short viewports. */
@media(min-width:1024px) and (max-height:480px){
 .wv-main-navigation .elementor-nav-menu--main{display:none!important}
 .wv-main-navigation .elementor-menu-toggle{display:flex!important}
 .wv-main-navigation nav.elementor-nav-menu--dropdown{display:block!important}
 .wv-header-donate.elementor-hidden-desktop{display:none!important}
 .wv-header-donate.elementor-hidden-tablet{display:block!important}
}

/* Keep language disclosures and their native keyboard focus in view. */
.wv-language-navigation .sub-menu{max-height:calc(100dvh - var(--wv-anchor-offset,128px) + 8px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:4px}
.wv-language-navigation .elementor-sub-item:focus-visible{outline:2px solid var(--e-global-color-primary,#458fe4);outline-offset:-3px}
