.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-25 .elementor-element.elementor-element-22f64bf .elementor-icon-wrapper{text-align:center;}.elementor-25 .elementor-element.elementor-element-22f64bf.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-2ff90e5 );}.elementor-25 .elementor-element.elementor-element-22f64bf.elementor-view-framed .elementor-icon, .elementor-25 .elementor-element.elementor-element-22f64bf.elementor-view-default .elementor-icon{color:var( --e-global-color-2ff90e5 );border-color:var( --e-global-color-2ff90e5 );}.elementor-25 .elementor-element.elementor-element-22f64bf.elementor-view-framed .elementor-icon, .elementor-25 .elementor-element.elementor-element-22f64bf.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-2ff90e5 );}.elementor-25 .elementor-element.elementor-element-22f64bf .elementor-icon-wrapper svg{width:auto;}.elementor-25 .elementor-element.elementor-element-c04ada0{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(6, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--justify-items:end;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-25 .elementor-element.elementor-element-6a9ab34{--display:grid;--e-con-grid-template-columns:repeat(6, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1298px){.elementor-25 .elementor-element.elementor-element-22f64bf .elementor-icon-wrapper{text-align:end;}.elementor-25 .elementor-element.elementor-element-22f64bf .elementor-icon{font-size:20px;}.elementor-25 .elementor-element.elementor-element-22f64bf .elementor-icon svg{height:20px;}.elementor-25 .elementor-element.elementor-element-c04ada0{--grid-auto-flow:row;}.elementor-25 .elementor-element.elementor-element-6a9ab34{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-25 .elementor-element.elementor-element-c04ada0{--grid-auto-flow:row;}.elementor-25 .elementor-element.elementor-element-6a9ab34{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-25 .elementor-element.elementor-element-c04ada0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-25 .elementor-element.elementor-element-6a9ab34{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS *//* ==========================================================================
   1. VARIABLES & BASE REUTILIZABLE
   ========================================================================== */
header {
  position: relative;
}

.elementor-element a {
  transition: all 0.6s ease-in-out;
}

.popUpCta {
  color: #d57845;
}

.elementor-loop-ajax-search input {
  line-height: 100%;
  letter-spacing: 0% !important;
}

/* ==========================================================================
   2. BOTONES, ICONOS Y FLECHAS
   ========================================================================== */
.post-navigation__arrow-prev,
.btnPost .outline-garnet svg {
  transform: rotate(180deg);
}

.btnPost .outline-garnet:hover svg {
  transform: rotate(-145deg);
}

.outline-white:hover svg, 
.outline-garnet:hover svg {
  transform: rotate(-45deg);
}

/* ==========================================================================
   3. ELEMENTOS ESPECÍFICOS Y MARQUEE
   ========================================================================== */
.elementor-element-c04ada0::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% / 4.6); /* Mitad del último sexto */
  transform: translate(50%, -50%);
  width: 1px;
  height: 90px;
  background: #fff;
}

#marquee {
  display: inline-flex;
  width: max-content;
  white-space: nowrap;
  animation: marquee 80s linear infinite;
  will-change: transform;
}

@keyframes marquee {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

/* ==========================================================================
   4. MEGAMENÚ
   ========================================================================== */
#megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 999;
  display: none;
  opacity: 0;
  border-top: 1px solid #F4F2EE;
  transition: opacity 0.3s ease, display 0.3s ease allow-discrete;
}

#megamenu a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   5. ACORDEÓN
   ========================================================================== */
#accordion .e-n-accordion-item-title-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 8px;
  border: 1px solid var(--GARNET) !important;
  border-radius: 50%;
  background: transparent;
  color: var(--GARNET) !important;
  transition: all 0.3s ease;
}

#accordion .e-n-accordion-item-title-icon svg,
#accordion .e-n-accordion-item-title-icon svg * {
  fill: currentColor !important;
  stroke: currentColor !important;
  transition: all 0.3s ease;
}

#accordion .e-n-accordion-item:hover > summary .e-n-accordion-item-title-icon,
#accordion .e-n-accordion-item > summary[aria-expanded="true"] .e-n-accordion-item-title-icon,
#accordion details[open] > summary .e-n-accordion-item-title-icon {
  background: #D57845 !important;
  border-color: #D57845 !important;
  color: #fff !important;
}

.elementor .e-a3fbb6c-877e153:hover .e-n-menu-title-text {
  color: #ffffff !important;
}

/* ==========================================================================
   6. SITE HEADER (ESTADOS Y VARIACIONES)
   ========================================================================== */
/* Estado Base */
.site-header {
  background-color: transparent;
  transition: transform 0.35s ease, background-color 0.3s ease;
  will-change: transform;
}

.site-header.header-hidden {
  transform: translateY(-100%);
}

.site-header a,
.site-header svg,
.site-header .menuItem {
  color: #FEFDFB;
  transition: color 0.3s ease;
}

/* Estado Scrolled (Fondo blanco) */
.site-header.header-scrolled {
  background-color: #FEFDFB; 
}

.site-header.header-scrolled p,
.site-header.header-scrolled a,
.site-header.header-scrolled svg,
.site-header.header-scrolled .menuItem,
.site-header.header-scrolled .elementor-widget-icon .elementor-icon,
.site-header.header-scrolled .elementor-widget-icon svg {
  color: #38102D !important;
  fill: #38102D !important;
}

/* Estado Garnet (Modo alternativo) */
.site-header.header-garnet {
  border-bottom: 1px solid #38102D;
}

.site-header.header-garnet.header-scrolled {
  border-bottom-color: #ffffff;
}

.site-header.header-garnet a,
.site-header.header-garnet p,
.site-header.header-garnet svg,
.site-header.header-garnet .menuItem,
.site-header.header-garnet .elementor-widget-icon .elementor-icon,
.site-header.header-garnet .elementor-widget-icon svg {
  color: #38102D !important;
  fill: #38102D !important;
}

/* Línea divisoria pseudo-elemento según el estado del Header */
.site-header.header-garnet .elementor-element-c04ada0::after,
.site-header.header-scrolled .elementor-element-c04ada0::after {
  background: #38102D;
}

.site-header.header-garnet:hover .elementor-element-c04ada0::after,
.site-header.header-scrolled:hover .elementor-element-c04ada0::after {
  background: #FEFDFB;
}

/* ==========================================================================
   7. MEDIA QUERIES
   ========================================================================== */

/* Escritorio grande (>1599px) */
@media screen and (min-width: 1300px) {
  header:hover #megamenu {
    display: block;
    opacity: 1;
  }
  
  @starting-style {
    header:hover #megamenu {
      opacity: 0;
    }
  }
}

/* Escritorio / Tablet Horizontal (>1024px) */
@media screen and (min-width: 1024px) {
  .site-header.header-garnet:hover,
  .site-header.header-scrolled:hover {
    background-color: #38102D;
    border-bottom-color: #38102D;
  }

  .site-header.header-garnet:hover a,
  .site-header.header-garnet:hover p,
  .site-header.header-garnet:hover svg,
  .site-header.header-garnet:hover .menuItem,
  .site-header.header-garnet:hover .elementor-widget-icon .elementor-icon,
  .site-header.header-garnet:hover .elementor-widget-icon svg,
  .site-header.header-scrolled:hover p,
  .site-header.header-scrolled:hover a,
  .site-header.header-scrolled:hover svg,
  .site-header.header-scrolled:hover .menuItem,
  .site-header.header-scrolled:hover .elementor-widget-icon .elementor-icon,
  .site-header.header-scrolled:hover .elementor-widget-icon svg {
    color: #FEFDFB !important;
    fill: #FEFDFB !important;
  }
}

/* Pantallas Medianas / Móvil (<1024px) */
@media (max-width: 1024px) {
  #top {
    height: auto !important;
    max-height: 100vh !important;
  }

  .elementor-widget-n-menu .e-n-menu[data-layout=dropdown] .e-n-menu-toggle[aria-expanded=true] + .e-n-menu-wrapper {
    max-height: calc(100vh - 120px) !important; 
    overscroll-behavior: contain;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .site-header a,
  .site-header a:focus,
  .site-header a:active,
  .site-header a:focus-visible,
  .site-header .elementor-widget-theme-site-logo a,
  .site-header .elementor-widget-theme-site-logo a:focus,
  .site-header .elementor-widget-theme-site-logo a:active,
  .site-header .elementor-widget-theme-site-logo a:focus-visible {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  body.top-of-page .site-header,
  body.popup-open .site-header {
    background: transparent !important;
    box-shadow: none !important;
  }

  body.top-of-page .site-header:not(.header-garnet) p,
  body.top-of-page .site-header:not(.header-garnet) a,
  body.top-of-page .site-header:not(.header-garnet) svg,
  body.top-of-page .site-header:not(.header-garnet) .menuItem {
    color: #FEFDFB !important;
    fill: #FEFDFB !important;
  }
}

/* Móvil Pequeño (<768px) */
@media screen and (max-width: 768px) {
  #marquee {
    animation: marquee 20s linear infinite;
  }

  .site-header.header-hidden {
    transform: translateY(-150%);
  }
  .elementor .e-a3fbb6c-877e153:hover, .elementor .e-a3fbb6c-877e153:focus-visible{
      background:transparent;
  }
}/* End custom CSS */