
.wsmenu>.wsmenu-list>li>.wsmegamenu .carousel-control-next{
  right: 0px;
}
.wsmenu>.wsmenu-list>li>.wsmegamenu .carousel-control-prev{
  left: 0px;
}

.wsmenu > .wsmenu-list > li > .wsmegamenu .link-list li {
  white-space: normal;
  padding: 5px 0;
  line-height: 1.4;
}

header h1{
  display:flex;
  align-items:center;
  font-size: var(--md-font-size);
  font-weight: 700;
  margin-bottom: 0px;
}

/* Layout horizontal del menu solo en desktop (>=992px).
   En mobile, WebSlide sobreescribe a display:block / width:240px */
@media only screen and (min-width: 992px) {
  .wsmenu>.wsmenu-list{
    width: 100%;
    flex-direction: row;
    display: flex;
    align-items: center;
    justify-content: end;
  }

  .wsmenu>.wsmenu-list>li{
    display: flex;
    align-items: center;
  }
}
.wsmenu>.wsmenu-list>li>a{
  font-size: var(--sm-font-size);
}


.header-padding .wsmenu>.wsmenu-list>li>a.white,
.header-padding .wsmenu>.wsmenu-list>li>button.white,
.header-padding .wsmenu>.wsmenu-list>li>ul>li button.white{
  color:#ffffff;
  text-shadow: 1px 1px 2px #000000;
}

.header-padding .wsmenu>.wsmenu-list>li>a.black,
.header-padding .wsmenu>.wsmenu-list>li>button.black,
.header-padding .wsmenu>.wsmenu-list>li>ul>li button.black{
  color:#000000;
  text-shadow: none;
}

.wsmenu>.wsmenu-list>li>a,
.wsmenu>.wsmenu-list>li>button,
.wsmenu>.wsmenu-list>li>ul>li button{
  color:#ffffff;
  text-shadow: 1px 1px 2px #000000;
}

.wsmenu>.wsmenu-list>li>.wsmegamenu .link-list a i{
  margin-left: 5px;
}

.wsmenu img{
  max-height: 200px;
}

.carousel-item {
  text-align: center;
  }

.wsmainwp{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.desktoplogo{
  /* margin: 0; */
  padding: 0;
}

.wsmenu{
  width: 100%;
}

.header-padding .wsmenu>.wsmenu-list>li>.wsmegamenu {
  background: transparent;
  border: none;
  padding: 0px;
}

.wsmenu>.wsmenu-list>li>.wsmegamenu {
  border: none;
  padding: 0px;
  background: transparent;
}

/* Desktop: megamenu ancho completo fijo al viewport */
@media only screen and (min-width: 992px) {
  header .wsmenu>.wsmenu-list>li>.wsmegamenu {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    /* top se calcula dinámicamente por JS via getBoundingClientRect */
  }
}

.header-padding .opacity-dark-megamenu{
  background: rgba(0,0,0,0.9);
  max-height: 80vh;
  overflow-y: auto;
  padding: 24px 20px;
}

.opacity-dark-megamenu{
  background: rgba(0,0,0,0.8);
  max-height: 80vh;
  overflow-y: auto;
  padding: 24px 20px;
}

.wsmenu>.wsmenu-list>li>.wsmegamenu .title,
.wsmenu>.wsmenu-list>li>.wsmegamenu .link-list a{
  font-weight: bold;
}

.wsmenu>.wsmenu-list>li>.wsmegamenu .wsmwnutxt,
.wsmenu>.wsmenu-list>li>.wsmegamenu .title,
.wsmenu>.wsmenu-list>li>.wsmegamenu .link-list li a,
.wsmenu>.wsmenu-list>li>.wsmegamenu .link-list a.viewmore,
.wsmenu>.wsmenu-list>li ul.sub-menu>li>a,
.wsmenu>.wsmenu-list>li>ul.sub-menu  li:hover > ul.sub-menu a{
  color:#ffffff;
  text-shadow: 1px 1px 2px #000000;
}

header .wsmenu>.wsmenu-list>li>.wsmegamenu .title{
  border-bottom: 2px solid rgba(255,255,255,0.5);
  display: block;
  margin-bottom: 12px;
  padding-bottom: 8px;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
  height: auto;
}


.wsmenu>.wsmenu-list>li>.wsmegamenu .title,
.wsmenu>.wsmenu-list>li>.wsmegamenu .link-list a.viewmore{
  font-weight: bold;

}

.wsmenu>.wsmenu-list>li>.wsmegamenu .link-list li a{
  background: transparent;
  display: block;
  padding: 2px 0;
  line-height: 1.4;
}

.header-padding .wsmenu>.wsmenu-list>li>button,
header .wsmenu>.wsmenu-list>li>button{
    padding: 20px 6px 20px 6px;
}

/* Hover en los ítems del nav principal (solo el fondo del li, no el sub-menu) */
.header-padding .wsmenu>.wsmenu-list>li:hover>a,
.header-padding .wsmenu>.wsmenu-list>li:hover>button {
  background: rgba(0,0,0,0.1) !important;
}

header .wsmenu>.wsmenu-list>li:hover>a,
header .wsmenu>.wsmenu-list>li:hover>button {
  background: rgba(0,0,0,0.1) !important;
}

.wsmegamenu .carousel-item img, .wsmenu img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menucont.container-fluid{
    max-width: 100%;
}

.dropdown-simple{
    position: relative;
}

/* ===================================================
   DROPDOWN TRADICIONAL (ul.sub-menu) — Desktop
   El li padre (.dropdown-simple) tiene position:relative
   por lo que el sub-menu se posiciona relativo a él.
   =================================================== */
@media only screen and (min-width: 992px) {

  /* Nivel 1: aparece justo debajo del li, ancho mínimo = li */
  header .wsmenu>.wsmenu-list>li>ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    width: max-content;
    z-index: 9998;
    background: rgba(0,0,0,0.88) !important;
    padding: 6px 0;
    border: none !important;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.35);
  }

  /* Niveles anidados: fly-out a la derecha */
  header .wsmenu>.wsmenu-list>li>ul.sub-menu li>ul.sub-menu {
    position: absolute;
    top: -6px;
    left: 100%;
    min-width: 200px;
    width: max-content;
    z-index: 9998;
    background: rgba(0,0,0,0.88) !important;
    padding: 6px 0;
    border: none !important;
    border-radius: 4px;
    box-shadow: 4px 4px 16px rgba(0,0,0,0.35);
  }

  /* Ítems del dropdown */
  header .wsmenu>.wsmenu-list>li>ul.sub-menu li {
    padding: 0;
    display: block;
    background: transparent !important;
  }

  /* Links del dropdown */
  header .wsmenu>.wsmenu-list>li>ul.sub-menu li>a {
    display: block;
    padding: 9px 18px;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    text-transform: none;
    line-height: 1.4;
    white-space: nowrap;
    text-shadow: none !important;
    background: transparent;
    border: none;
  }

  /* Hover: resalte sutil */
  header .wsmenu>.wsmenu-list>li>ul.sub-menu li:hover {
    background: rgba(255,255,255,0.10) !important;
  }

  header .wsmenu>.wsmenu-list>li>ul.sub-menu li:hover>a {
    color: #ffffff !important;
    text-decoration: none;
  }

  /* Ítem con sub-menú anidado: flex para alinear flecha */
  header .wsmenu>.wsmenu-list>li>ul.sub-menu li.simple-drop.d-lg-flex {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
  }

  header .wsmenu>.wsmenu-list>li>ul.sub-menu li .arrow-right {
    color: rgba(255,255,255,0.7);
    font-size: 1.1rem;
    padding: 0 10px 0 0;
    flex-shrink: 0;
  }
}

@media only screen and (min-width: 992px){
  .wsmenu>.wsmenu-list li span{
    z-index: 111;
  }
  .wsmainwp.container {
    max-width: 960px;
  }

}

@media only screen and (max-width: 991px){
  body{
      display: block;
  }

  /* Colapsar la barra header-bottom en mobile para que no muestre
     fondo vacio. El menu (position:fixed via WebSlide) sigue funcionando */
  header .header-bottom{
      background: transparent !important;
      padding: 0;
      min-height: 0;
  }

  /* Barra mobile */
  .wsmobileheader{
      background: var(--primary-color);
      position: relative;
      height: auto;
      padding: 8px 12px;
      z-index: 10002;
  }

  /* Hamburguesa: sacarla de position:absolute (WebSlide) al flujo flex */
  .wsmobileheader .wsanimated-arrow{
      position: relative;
      left: auto;
      top: auto;
      margin: 0;
      padding: 10px;
      z-index: 102;
  }

  .wsmobileheader .wsanimated-arrow span,
  .wsmobileheader .wsanimated-arrow span:before,
  .wsmobileheader .wsanimated-arrow span:after{
      background: var(--primary-text-color);
  }

  .wsmobileheader #wsnavtoggle{
      position: relative;
      left: auto;
      top: auto;
  }

  /* Logo centrado */
  .wsmobileheader .smllogo{
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
  }

  .wsmobileheader .smllogo .logo{
      max-height: 36px;
  }

  /* Iconos derecha */
  .wsmobileheader .header-icons{
      list-style: none;
      display: flex;
      align-items: center;
      margin: 0;
      padding: 0;
      gap: 4px;
  }

  .wsmobileheader .opacity-dark-megamenu{
    padding: 3px;
  }

  .wsactive .wsmenu>.wsmenu-list{
    background: var(--primary-color);
  }

  .wsactive header #wsnavtoggle span{
      background: transparent;
  }

  #wsnavtoggle{
    border: none;
    background: transparent;
  }

  #wsnavtoggle span:before,
  #wsnavtoggle span:after{
      color: #ffffff;
      text-shadow: 1px 1px 2px #000000;
  }


  #wsnavtoggle.black span,
  .wsactive #wsnavtoggle.black span:before, #wsnavtoggle.black span:before,
  .wsactive #wsnavtoggle.black span:after, #wsnavtoggle.black span:after{
      background: var(--primary-text-color);
  }

  
  #wsnavtoggle.white span,
  .wsactive #wsnavtoggle.white span:before, #wsnavtoggle.white span:before,
  .wsactive #wsnavtoggle.white span:after, #wsnavtoggle.white span:after{
      background: var(--primary-text-color);
  }

  .wsactive  #wsnavtoggle.black span,
  .wsactive  #wsnavtoggle.white span{
    background: transparent;
  }

  .wsactive .wsanimated-arrow span:before, .wsactive .wsanimated-arrow.active span:after{
    top: 0px;
  }

  .wsactive .wsanimated-arrow span:after{
    bottom: 0px;
  }

  .wsactive .wsmobileheader{
      margin-left: 0px;
  }


  .wsactive .wsanimated-arrow{
    position: relative;
    left: auto;
    top: auto;
    z-index: 1111;
    cursor: pointer;
    padding: 10px;
    margin: 0;
  }

  .wsmenu>.wsmenu-list{
      display: block;
      width: 240px;
  }

  .wsmenu>.wsmenu-list>li>a{
      width: 100%;
  }

  .wsmenu>.wsmenu-list>li{
      display: block;
  }

  .wsmenu>.wsmenu-list>li>.wsmegamenu .wsmwnutxt,
  .wsmenu>.wsmenu-list>li>.wsmegamenu .carousel ,
  .wsmenu>.wsmenu-list>li>.wsmegamenu .viewmore,
  .wsmenu>.wsmenu-list>li>.wsmegamenu img{
      display: none;
  }

  .wsactive .wsmenu>.wsmenu-list>li a,
  header .wsmenu>.wsmenu-list>li>.wsmegamenu .title, .wsmenu>.wsmenu-list>li>a>i{
      text-shadow: none !important;
      color:var(--primary-text-color) !important;
  }
  header .wsmenu>.wsmenu-list>li>.wsmegamenu .title{
      border-bottom: none;
      padding: 0px;
      margin: 0px;
  }

  .wsmenu>.wsmenu-list>li>.wsmenu-click>i:before,
  .wsmenu>.wsmenu-list>li>ul.sub-menu li i:before{
    border-color:var(--primary-text-color) !important;
  }
  .wsmenu>.wsmenu-list>li .opacity-dark-megamenu{
    background: transparent;
    border-bottom: 1px solid rgba(0, 0, 0, 0.13);
  }
  .wsmenu>.wsmenu-list>li ul.sub-menu{
    background-color: transparent !important;
  }
  .wsmenu>.wsmenu-list>li>ul.sub-menu li:hover>a {
      background: rgba(0,0,0,0.1) !important;
  }

  header .wsmenu>.wsmenu-list>li>.wsmegamenu {
    top: 0px;
  }
}

@media only screen and (min-width: 1100px) {
    .wsmainwp.container {
        max-width: 1140px;
    }
}

