.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-416 .elementor-element.elementor-element-14f62e2{--display:flex;}.elementor-416 .elementor-element.elementor-element-c73fc6a{--display:flex;}.elementor-416 .elementor-element.elementor-element-a4f14bf{--display:flex;}.elementor-416 .elementor-element.elementor-element-c1bcdac{--n-menu-dropdown-content-max-width:fit-content;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-space-between:46px;--n-menu-title-distance-from-content:0px;--n-menu-title-color-normal:var( --e-global-color-secondary );--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-416 .elementor-element.elementor-element-c1bcdac {--n-menu-title-color-hover:var( --e-global-color-primary );--n-menu-title-color-active:var( --e-global-color-6c7f660 );}.elementor-416 .elementor-element.elementor-element-4e063ae{--display:flex;}.elementor-416 .elementor-element.elementor-element-5c53d86{--display:flex;}.elementor-416 .elementor-element.elementor-element-09cdb00{--n-menu-dropdown-content-max-width:fit-content;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-space-between:46px;--n-menu-title-distance-from-content:0px;--n-menu-title-color-normal:var( --e-global-color-secondary );--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-416 .elementor-element.elementor-element-09cdb00 {--n-menu-title-color-hover:var( --e-global-color-primary );--n-menu-title-color-active:var( --e-global-color-6c7f660 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* ===== Header Azalea: reglas que no se pueden poner por elemento ===== */

/* La barra del header es FIJA. Los elementos pegajosos y los enlaces internos (#ancla) de las paginas deben dejar sitio debajo de ella.
   Por defecto se deja sitio para la barra ALTA (104px escritorio, 80px tablet y movil) + 16px de aire; asi es seguro aunque el navegador
   no soporte el encogido. Si lo soporta, el indice baja a 88px / 72px a la vez que la barra encoge a 64px. */
html{scroll-padding-top:120px;}
@media (max-width:1365px){html{scroll-padding-top:96px;}}
@keyframes az-tracker-top{to{top:88px;}}
@keyframes az-tracker-top-sm{to{top:72px;}}
html body nav.ct-tracker.ct-tracker{top:120px;}
@media (max-width:1365px){html body nav.ct-tracker.ct-tracker{top:96px;}}
@supports (animation-timeline: scroll()){
  html body nav.ct-tracker.ct-tracker{animation:az-tracker-top linear both;animation-timeline:scroll(root block);animation-range:0 48px;}
  @media (max-width:1365px){html body nav.ct-tracker.ct-tracker{animation-name:az-tracker-top-sm;}}
  @media (prefers-reduced-motion:reduce){html body nav.ct-tracker.ct-tracker{animation-range:0 6px;}}
}

/* Escritorio (1366px o mas): el menu izquierdo se pega al logo. El derecho va dentro de la columna 3. */
[data-id="c1bcdac"]{grid-column:1;grid-row:1;justify-self:end;width:auto;}

/* Tablet y movil (hasta 1365px): se ocultan los dos menus de escritorio y aparece el menu unico con boton Menu.
   Mayor especificidad en vez de !important para no bloquear la animacion de scroll. */
@media (max-width:1365px){
  html body .elementor [data-id="c1bcdac"],html body .elementor [data-id="66c5b051"]{display:none !important;}
  html body .elementor [data-id="74fbf716"]{display:block !important;}
  html body .elementor [data-id="1197a77"],html body .elementor [data-id="25263b9f"]{height:80px;}
  html body .elementor [data-id="13c249b9"]{grid-template-columns:1fr auto 1fr;padding:0 16px;}
  html body .elementor [data-id="4baf34b0"]{width:139px;height:64px;}
}
@media (max-width:480px){
  html body .elementor [data-id="4baf34b0"]{width:120px;height:55px;}
}
@media (max-width:359px){
  html body .elementor [data-id="4baf34b0"]{width:96px;height:44px;}
  html body .elementor [data-id="657bc9c4"]{padding:0 10px;}
  html body .elementor [data-id="7660c232"]{gap:6px;}
  html body .elementor [data-id="19b00a78"]{letter-spacing:.04em;}
}

/* Boton Menu: el editor de Elementor vuelve a crear la flecha del acordeon cada vez que se guarda; se oculta cualquier hijo
   del boton que no sea el titulo, sea cual sea su id, para que no estire la pildora. */
html body .elementor [data-id="657bc9c4"] > :not([data-id="7660c232"]){display:none !important;}

/* Icono del boton Menu: dos rayas; abierto, una X. */
html body .elementor [data-id="2d2a8529"]{background:linear-gradient(#733D49,#733D49) 0 0/100% 2px no-repeat,linear-gradient(#733D49,#733D49) 100% 100%/65% 2px no-repeat;}
html body .elementor [data-id="644f4dbe"][open] [data-id="2d2a8529"]{background:linear-gradient(to top right,transparent calc(50% - 1px),#733D49 calc(50% - 1px),#733D49 calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to bottom right,transparent calc(50% - 1px),#733D49 calc(50% - 1px),#733D49 calc(50% + 1px),transparent calc(50% + 1px));}

/* Filas del menu movil: flecha decorativa a la derecha y subrayado al pasar el raton. */
html body .elementor :is([data-id="166df038"],[data-id="ba770e6"],[data-id="30741664"],[data-id="3d56671c"],[data-id="2dfacddb"])::after{content:"→";content:"→" / "";font-family:Montserrat,sans-serif;font-size:20px;line-height:1;color:#C98C8C;transition:transform .2s ease-out,color .2s ease-out;}
html body .elementor :is([data-id="166df038"],[data-id="ba770e6"],[data-id="30741664"],[data-id="3d56671c"],[data-id="2dfacddb"]):is(:hover,:focus-visible)::after{transform:translateX(4px);color:#733D49;}
html body .elementor [data-id="166df038"]:hover [data-id="2f0eff28"],html body .elementor [data-id="ba770e6"]:hover [data-id="77ae1fa3"],html body .elementor [data-id="30741664"]:hover [data-id="64aa9752"],html body .elementor [data-id="3d56671c"]:hover [data-id="721a2006"],html body .elementor [data-id="2dfacddb"]:hover [data-id="9bd6964"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;}

/* Entrada del panel (con menos movimiento: solo un fundido). */
@keyframes az-panel-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
@keyframes az-panel-fade{from{opacity:0;}to{opacity:1;}}
html body .elementor [data-id="644f4dbe"][open] [data-id="6632bdb"]{animation:az-panel-in .22s ease-out both;}
@media (prefers-reduced-motion:reduce){html body .elementor [data-id="644f4dbe"][open] [data-id="6632bdb"]{animation-name:az-panel-fade;}}

/* Al hacer scroll: la barra encoge a 64px y el logo completo pasa al compacto (y se hace pequeno).
   CSS puro con linea de tiempo de scroll, sin JavaScript. Con "reducir movimiento" el cambio es casi instantaneo (6px de scroll)
   en vez de gradual, pero sigue ocurriendo. Si el navegador no soporta animation-timeline, el header se queda como arriba del todo. */
@keyframes az-bar-shrink{to{height:64px;box-shadow:0 8px 24px rgba(115,61,73,.10);}}
@keyframes az-logo-box{to{width:120px;height:31px;}}
@keyframes az-logo-box-sm{to{width:96px;height:25px;}}
@keyframes az-logo-out{to{opacity:0;}}
@keyframes az-logo-in{to{opacity:1;}}
@supports (animation-timeline: scroll()){
  html body .elementor [data-id="25263b9f"]{animation:az-bar-shrink linear both;animation-timeline:scroll(root block);animation-range:0 48px;}
  html body .elementor [data-id="4baf34b0"]{animation:az-logo-box linear both;animation-timeline:scroll(root block);animation-range:0 48px;}
  html body .elementor [data-id="1d9297a5"]{animation:az-logo-out linear both;animation-timeline:scroll(root block);animation-range:0 48px;}
  html body .elementor [data-id="4472f03c"]{animation:az-logo-in linear both;animation-timeline:scroll(root block);animation-range:0 48px;}
  @media (max-width:359px){
    html body .elementor [data-id="4baf34b0"]{animation-name:az-logo-box-sm;}
  }
  @media (prefers-reduced-motion:reduce){
    html body .elementor :is([data-id="25263b9f"],[data-id="4baf34b0"],[data-id="1d9297a5"],[data-id="4472f03c"]){animation-range:0 6px;}
  }
}

/* En la home el header entra con un fundido cuando el Hero termina (el Hero anade la clase is-done al acabar), para que no se vean
   dos logos a la vez. Seguro: si el Hero no llegase a terminar, el header aparece solo a los 7 segundos. Solo afecta a paginas con Hero. */
@keyframes az-bar-failsafe{to{opacity:1;visibility:visible;}}
html body .elementor [data-id="25263b9f"]{transition:opacity .5s ease-out;}
body:has(.hero-reveal:not(.is-done)) .elementor [data-id="25263b9f"]{opacity:0;visibility:hidden;animation:az-bar-failsafe .4s ease-out 7s forwards;}

/* Barra de administracion de WordPress (solo visible con sesion iniciada). */
body.admin-bar .elementor [data-id="25263b9f"]{top:32px;}
@media (max-width:782px){body.admin-bar .elementor [data-id="25263b9f"]{top:46px;}}/* End custom CSS */