.elementor-100 .elementor-element.elementor-element-50a1d2f{--display:flex;--min-height:103px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:60px;--padding-right:60px;}.elementor-100 .elementor-element.elementor-element-5f7965e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-100 .elementor-element.elementor-element-014bc42{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-100 .elementor-element.elementor-element-014bc42.e-con{--align-self:center;}.elementor-100 .elementor-element.elementor-element-7d4c3d9{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-100 .elementor-element.elementor-element-91801dd.elementor-element{--align-self:center;}.elementor-100 .elementor-element.elementor-element-91801dd .elementor-icon-wrapper{text-align:center;}.elementor-100 .elementor-element.elementor-element-91801dd .elementor-icon{font-size:100%;}.elementor-100 .elementor-element.elementor-element-91801dd .elementor-icon svg{height:100%;}.elementor-100 .elementor-element.elementor-element-91801dd .elementor-icon-wrapper svg{width:auto;}.elementor-100 .elementor-element.elementor-element-27c700d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--border-radius:100px 100px 100px 100px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5px;--padding-bottom:5px;--padding-left:20px;--padding-right:20px;}.elementor-100 .elementor-element.elementor-element-27c700d.e-con{--align-self:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-100 .elementor-element.elementor-element-001aa62 .elementor-button{background-color:#61CE7000;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:500;padding:0px 0px 0px 0px;}.elementor-100 .elementor-element.elementor-element-001aa62{width:auto;max-width:auto;}.elementor-100 .elementor-element.elementor-element-001aa62.elementor-element{--align-self:center;}.elementor-100 .elementor-element.elementor-element-001aa62 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-100 .elementor-element.elementor-element-001aa62 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-100 .elementor-element.elementor-element-0ee1895 .elementor-button{background-color:#61CE7000;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:500;padding:0px 0px 0px 0px;}.elementor-100 .elementor-element.elementor-element-0ee1895{width:auto;max-width:auto;}.elementor-100 .elementor-element.elementor-element-0ee1895.elementor-element{--align-self:center;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-100 .elementor-element.elementor-element-5f7965e{--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-100 .elementor-element.elementor-element-27c700d{--padding-top:05px;--padding-bottom:05px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-100 .elementor-element.elementor-element-50a1d2f{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-100 .elementor-element.elementor-element-5f7965e{--flex-wrap:nowrap;}.elementor-100 .elementor-element.elementor-element-014bc42{--justify-content:flex-start;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-100 .elementor-element.elementor-element-91801dd .elementor-icon{font-size:35px;}.elementor-100 .elementor-element.elementor-element-91801dd .elementor-icon svg{height:35px;}.elementor-100 .elementor-element.elementor-element-27c700d{--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-100 .elementor-element.elementor-element-014bc42{--width:25%;}.elementor-100 .elementor-element.elementor-element-7d4c3d9{--width:50%;}.elementor-100 .elementor-element.elementor-element-27c700d{--width:25%;}}@media(max-width:1024px) and (min-width:768px){.elementor-100 .elementor-element.elementor-element-014bc42{--width:27%;}.elementor-100 .elementor-element.elementor-element-7d4c3d9{--width:33%;}.elementor-100 .elementor-element.elementor-element-27c700d{--width:28%;}}/* Start custom CSS for container, class: .elementor-element-50a1d2f *//* === ESTILO BASE NAVBAR === */
.navbar-custom {
  background-color: transparent;
  box-shadow: none;
  color: white;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
  z-index: 999;
}

/* Elementos dentro del navbar con transición */
.navbar-custom a,
.navbar-custom .elementor-icon,
.navbar-custom .elementor-heading-title,
.navbar-custom img,
.navbar-custom svg {
  transition: all 0.3s ease;
}

/* === ESTILO AL HACER SCROLL === */
.navbar-scrolled {
  background-color: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  color: #1f1f1f;
}

.navbar-scrolled a,
.navbar-scrolled .elementor-heading-title,
.navbar-scrolled .elementor-icon {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
}

.navbar-scrolled img,
.navbar-scrolled svg path {
  filter: brightness(0) saturate(100%) invert(7%) sepia(7%) saturate(410%) hue-rotate(326deg) brightness(92%) contrast(92%);
}

/* === INPUT DE BÚSQUEDA === */
.navbar-custom .e-search-input-wrapper input,
.navbar-custom .e-search-input-wrapper input::placeholder,
.navbar-custom .e-search-input-wrapper svg {
  color: white !important;
  fill: white !important;
  stroke: white !important;
}

.navbar-custom .e-search-input-wrapper input {
  border-bottom: 1px solid white !important;
}

.navbar-scrolled .e-search-input-wrapper input,
.navbar-scrolled .e-search-input-wrapper input::placeholder,
.navbar-scrolled .e-search-input-wrapper svg {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
  stroke: #1f1f1f !important;
}

.navbar-scrolled .e-search-input-wrapper input {
  border-bottom: 1px solid #1f1f1f !important;
}

/* === ESTILO HOVER PARA HEADER === */
.navbar-hovered {
  background-color: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  color: #1f1f1f;
}

.navbar-hovered a,
.navbar-hovered .elementor-heading-title,
.navbar-hovered .elementor-icon {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
}

.navbar-hovered img,
.navbar-hovered svg path {
  filter: brightness(0) saturate(100%) invert(7%) sepia(7%) saturate(410%) hue-rotate(326deg) brightness(92%) contrast(92%);
}

.navbar-hovered .e-search-input-wrapper input,
.navbar-hovered .e-search-input-wrapper input::placeholder,
.navbar-hovered .e-search-input-wrapper svg {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
  stroke: #1f1f1f !important;
}

.navbar-hovered .e-search-input-wrapper input {
  border-bottom: 1px solid #1f1f1f !important;
}

/* === CAMBIO DE COLOR DE BORDE DEL CONTENEDOR DE BOTONES === */
/* Sin tocar el borde en sí, solo su color */

.navbar-custom .elementor-element-27c700d {
  border-color: white;
  transition: border-color 0.3s ease;
}

.navbar-scrolled .elementor-element-27c700d {
  border-color: #1f1f1f;
}

/* Estado inicial (top) — asegura iconos blancos y sin filtros */
.navbar-custom:not(.navbar-scrolled):not(.navbar-hovered) .elementor-icon,
.navbar-custom:not(.navbar-scrolled):not(.navbar-hovered) svg,
.navbar-custom:not(.navbar-scrolled):not(.navbar-hovered) svg * {
  color: #fff !important;
  fill: currentColor !important;   /* hace que el SVG herede el color */
  stroke: currentColor !important; /* por si el trazo es el que se ve */
  filter: none !important;         /* evita inversiones accidentales */
}/* End custom CSS */
/* Start custom CSS *//* =======================================
   INTERACCIÓN Y POPUP OLsen (sin cambios)
   ======================================= */
.olsen-icon-trigger {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.olsen-menu-popup {
  height: 100vh;
  min-height: 100vh;
  padding-top: calc(40px + env(safe-area-inset-top, 0px));
  padding-right: calc(30px + env(safe-area-inset-right, 0px));
  padding-bottom: calc(30px + env(safe-area-inset-bottom, 0px));
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  will-change: transform;
  z-index: 2147483647;
}

html.olsen-popup-open,
html.olsen-popup-open body { overscroll-behavior: none; }

@media (max-width: 768px) {
  .olsen-menu-popup {
    width: 100vw !important;
    max-width: 100vw !important;
    border-left: none;
    border-top: 1px solid #eaeaea;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
  }
}

html.olsen-popup-open { scrollbar-gutter: stable; }

/* =======================================
   NAVBAR: COLORES DINÁMICOS (herencia real)
   ======================================= */
.navbar-custom{
  --nav-fg-default:#fff;   /* inicio: blanco */
  --nav-fg-active:#000;    /* hover/scroll: negro */
  color: var(--nav-fg-default);
  transition: color .25s ease;
}

/* activa color negro cuando la barra está scrolleada o en hover */
.navbar-custom.navbar-scrolled,
.navbar-custom.navbar-hovered,
.navbar-custom:hover{
  color: var(--nav-fg-active);
}

/* Icon fonts dentro del header usan currentColor */
.navbar-custom .elementor-icon,
.navbar-custom .elementor-icon i,
.navbar-custom i[class*="icon"],
.navbar-custom i[class^="fa"],
.navbar-custom i[class*=" fa-"],
.navbar-custom .olsen-icon-trigger i{
  color: currentColor !important;
}

/* SVG dentro del header usa currentColor */
.navbar-custom svg{ fill: currentColor; stroke: currentColor; }
.navbar-custom svg [fill]:not([fill="none"]), .navbar-custom svg use[fill]{ fill: currentColor !important; }
.navbar-custom svg [stroke]:not([stroke="none"]), .navbar-custom svg use[stroke]{ stroke: currentColor !important; }
.navbar-custom .elementor-icon svg{ width:1em; height:1em; }

/* Iconos con máscara */
.navbar-custom .mask-icon{
  background-color: currentColor !important;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-position:center; mask-position:center;
}

/* Imágenes raster usadas como icono: se ponen negras en activo */
.navbar-custom img.icon{ filter:none; transition: filter .2s ease; }
.navbar-custom.navbar-scrolled img.icon,
.navbar-custom.navbar-hovered img.icon,
.navbar-custom:hover img.icon{ filter:brightness(0); }

/* =======================================
   POLYLANG SWITCHER (rv-lang) – horizontal + hereda color
   ======================================= */
/* Soporte para dos posibles markups: nav[aria-label] y .widget_polylang */
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label],
.navbar-custom .rv-lang .widget_polylang{
  color: inherit !important; /* hereda del header */
  background: transparent !important;
  margin:0 !important; padding:0 !important;
}

/* UL en fila */
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label] > ul,
.navbar-custom .rv-lang .widget_polylang ul{
  display:flex !important;
  align-items:center;
  gap:0;
  margin:0 !important; padding:0 !important;
  list-style:none !important;
}

/* Items con separador que hereda color */
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label] > ul > li,
.navbar-custom .rv-lang .widget_polylang ul > li{
  display:inline-flex !important;
  align-items:center;
  padding:0 .6rem !important;
  line-height:1.2;
  border-right:1px solid currentColor !important;
  list-style:none !important;
}
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label] > ul > li:last-child,
.navbar-custom .rv-lang .widget_polylang ul > li:last-child{
  border-right:none !important;
}

/* Tipografía y color (heredado) */
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label] a,
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label] span,
.navbar-custom .rv-lang .elementor-widget-container nav[aria-label] abbr,
.navbar-custom .rv-lang .widget_polylang a,
.navbar-custom .rv-lang .widget_polylang span,
.navbar-custom .rv-lang .widget_polylang abbr{
  font-family:"Open Sans", Arial, Helvetica, sans-serif !important;
  font-size:14px !important;
  color: currentColor !important;      /* ← clave para heredar blanco/negro */
  text-decoration:none;
  white-space:nowrap;
  letter-spacing:.01em;
  transition: none;
}

/* Hover sutil */
.navbar-custom .rv-lang a:hover{ opacity:.9; }

/* Idioma activo (no rompe color heredado) */
.navbar-custom .rv-lang li.current-lang > a{ font-weight:600; }

/* Anti-bullets por si el tema los agrega */
.navbar-custom .rv-lang .widget_polylang ul li::marker{ content:none; }/* End custom CSS */