.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-157 .elementor-element.elementor-element-ecbcd16 .elementor-menu-toggle{margin:0 auto;}.elementor-157 .elementor-element.elementor-element-ecbcd16 .elementor-nav-menu--main .elementor-item{color:inherit;fill:inherit;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for nav-menu, class: .elementor-element-ecbcd16 */flex: 0 0 auto; & .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; white-space: nowrap; } & .elementor-nav-menu--main .elementor-nav-menu > li { margin: 0 15px; } & .elementor-nav-menu--main .elementor-nav-menu > li:last-child { margin-right: 0; } & .elementor-nav-menu--main .elementor-item { position: relative; font-family: 'Manrope', sans-serif; font-size: .97rem; font-weight: 600; line-height: 1.65; color: inherit; padding: 6px 0; } & .elementor-nav-menu--main .elementor-item:hover, & .elementor-nav-menu--main .elementor-item:focus { color: inherit; } & .elementor-nav-menu--main .elementor-item::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: #6FBE44; transition: right .25s ease; opacity: 1; } & .elementor-nav-menu--main .elementor-item:hover::after, & .elementor-nav-menu--main .elementor-item.elementor-item-active::after { right: 0; } & .elementor-menu-toggle { width: 44px; height: 44px; border-radius: 12px; color: inherit; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); background-color: color-mix(in srgb, currentColor 8%, transparent); font-size: 22px; } & .elementor-menu-toggle svg { fill: currentColor; } & .elementor-nav-menu--dropdown { background-color: #FFFFFF; box-shadow: 0 12px 40px rgba(0,54,90,.10); border-bottom: 1px solid #E3E9ED; padding: 8px 24px 20px; } & .elementor-nav-menu--dropdown a { font-family: 'Manrope', sans-serif; font-size: .97rem; font-weight: 600; color: #00365A; padding: 14px 0; border-bottom: 1px solid #E3E9ED; background: transparent; } & .elementor-nav-menu--dropdown a:hover, & .elementor-nav-menu--dropdown a.elementor-item-active { color: #549A32; background: transparent; }/* End custom CSS */
/* Start custom CSS */html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Menú (widget WordPress Menu de Elementor Pro) ---------- */
#site-header .elementor-widget-nav-menu { flex: 0 0 auto; color: inherit; }
#site-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; white-space: nowrap; }
#site-header .elementor-nav-menu--main .elementor-nav-menu > li { margin: 0 15px; }
#site-header .elementor-nav-menu--main .elementor-nav-menu > li:last-child { margin-right: 0; }
#site-header .elementor-nav-menu--main .elementor-item { position: relative; font-family: 'Manrope', sans-serif; font-size: .97rem; font-weight: 600; line-height: 1.65; color: inherit; padding: 6px 0; }
#site-header .elementor-nav-menu--main .elementor-item:hover,
#site-header .elementor-nav-menu--main .elementor-item:focus { color: inherit; }
#site-header .elementor-nav-menu--main .elementor-item::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: #6FBE44; transition: right .25s ease; opacity: 1; }
#site-header .elementor-nav-menu--main .elementor-item:hover::after,
#site-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after { right: 0; }
#site-header .elementor-menu-toggle { width: 44px; height: 44px; margin: 0; border-radius: 12px; color: inherit; border: 1px solid color-mix(in srgb, currentColor 28%, transparent); background-color: color-mix(in srgb, currentColor 8%, transparent); font-size: 22px; }
#site-header .elementor-menu-toggle svg { fill: currentColor; }
/* Panel desplegable: fijo bajo la barra, a todo el ancho.
   !important porque el JS del menú escribe top/left/width en línea. */
#site-header .elementor-nav-menu--dropdown { position: fixed; top: 77px !important; left: 0 !important; right: 0; width: 100% !important; margin-top: 0; background-color: #FFFFFF; box-shadow: 0 12px 40px rgba(0,54,90,.10); border-bottom: 1px solid #E3E9ED; padding: 8px 24px 20px; }
#site-header .elementor-nav-menu--dropdown a { font-family: 'Manrope', sans-serif; font-size: .97rem; font-weight: 600; color: #00365A; padding: 14px 0; border-bottom: 1px solid #E3E9ED; background: transparent; }
#site-header .elementor-nav-menu--dropdown a:hover,
#site-header .elementor-nav-menu--dropdown a.elementor-item-active { color: #549A32; background: transparent; }

/* ---------- Header superpuesto al hero ----------
   Transparente sobre el hero y sólido en cuanto el borde inferior del hero
   pasa bajo la cabecera (view timeline del hero). Solo en páginas con hero;
   sin soporte de scroll-driven animations queda sólido. */
body:has(.vc-hero) { timeline-scope: --vc-hero; }
.vc-hero { view-timeline-name: --vc-hero; }
@keyframes vc-header-solid {
  from { background-color: rgba(255,255,255,0); border-bottom-color: transparent; box-shadow: 0 6px 24px rgba(0,54,90,0); -webkit-backdrop-filter: none; backdrop-filter: none; }
  to { background-color: rgba(255,255,255,.86); border-bottom-color: #E3E9ED; box-shadow: 0 6px 24px rgba(0,54,90,.06); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px); }
}
@keyframes vc-header-ink { from { color: #FFFFFF; } to { color: #00365A; } }
body:has(.vc-hero) #site-header,
body:has(.vc-hero) #site-header > * > a,
body:has(.vc-hero) #site-header nav {
  animation-duration: auto;
  animation-timing-function: linear;
  animation-fill-mode: both;
  animation-timeline: --vc-hero;
  animation-range: cover calc(100% - 140px) cover calc(100% - 76px);
}
body:has(.vc-hero) #site-header { animation-name: vc-header-solid; }
body:has(.vc-hero) #site-header > * > a,
body:has(.vc-hero) #site-header nav { animation-name: vc-header-ink; }

/* Con el menú móvil abierto la cabecera pasa a sólida */
body:has(.vc-hero) #site-header:has(.elementor-menu-toggle.elementor-active) { animation: none; background-color: #FFFFFF; }
body:has(.vc-hero) #site-header:has(.elementor-menu-toggle.elementor-active) > * > a,
body:has(.vc-hero) #site-header:has(.elementor-menu-toggle.elementor-active) nav { animation: none; color: #00365A; }

/* Páginas sin hero: la cabecera fija no debe tapar el contenido */
body:not(:has(.vc-hero)) .elementor-location-header + * { padding-top: 76px; }/* End custom CSS */