/* =========================================
   1) BASE DE TIPOGRAFÍA
========================================= */
body.envyclub-active, 
body.envyclub-active p, 
body.envyclub-active h1, 
body.envyclub-active h2, 
body.envyclub-active h3, 
body.envyclub-active h4, 
body.envyclub-active h5, 
body.envyclub-active h6, 
body.envyclub-active a, 
body.envyclub-active li, 
body.envyclub-active blockquote, 
body.envyclub-active span, 
body.envyclub-active strong, 
body.envyclub-active em, 
body.envyclub-active input, 
body.envyclub-active textarea, 
body.envyclub-active button,
body.envyclub-active label, 
body.envyclub-active legend, 
body.envyclub-active figcaption, 
body.envyclub-active th, 
body.envyclub-active td, 
body.envyclub-active caption, 
body.envyclub-active dt, 
body.envyclub-active dd, 
body.envyclub-active nav, 
body.envyclub-active summary, 
body.envyclub-active details, 
body.envyclub-active cite, 
body.envyclub-active code, 
body.envyclub-active pre, 
body.envyclub-active mark {
  font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* =========================================
   2) HEADER CENTRAL
========================================= */
body.envyclub-active .header-central {
  position: relative;
  z-index: 100;
  overflow: visible;
}

/* =========================================
   3) BUSCADOR DESPLEGABLE
========================================= */
body.envyclub-active #custom-search-box {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 9999; /* Por encima del overlay */
  padding: 0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}

/* Asegurar que el cuadro de búsqueda se abra pegado al header-principal en PC y tablet */
@media (min-width: 769px) {
  body.envyclub-active #custom-search-box {
    top: 100% !important; /* Forzar que esté pegado al header-central */
  }
}

/* Posicionamiento del cuadro de búsqueda cuando los menús móviles están visibles - SOLO EN MÓVIL */
@media (max-width: 768px) {
  body.envyclub-active #mobile-menu-hombre.active ~ #custom-search-box,
  body.envyclub-active #mobile-menu-mujer.active ~ #custom-search-box {
    top: calc(100% + 35px); /* 100% del header-central + 35px de altura de los menús móviles */
  }
}

body.envyclub-active #custom-search-box.active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

body.envyclub-active #custom-search-box .search-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  height: 40px;
  box-sizing: border-box;
}

body.envyclub-active #custom-search-box .search-icon,
body.envyclub-active #custom-search-box .close-search {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Icono de búsqueda (lupa) */
body.envyclub-active #custom-search-box .search-icon {
  width: 16px;
  height: 18px;
}

body.envyclub-active #custom-search-box .search-icon svg {
  width: 100%;
  height: 100%;
  stroke: #000000;
  fill: none;
}

/* Icono de cerrar (X) */
body.envyclub-active #custom-search-box .close-search {
  width: 16px;
  height: 18px;
}

body.envyclub-active #custom-search-box .close-search svg {
  width: 100%;
  height: 100%;
  stroke: #000000;
  fill: none;
}

body.envyclub-active #custom-search-box .search-icon {
  margin-right: 10px;
}

body.envyclub-active #custom-search-box input[type="text"] {
  flex: 1;
  font-size: 13px;
  border: none;
  outline: none;
  background: transparent;
  color: #000000;
  margin-right: 10px;
  /* Mejoras para móviles */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  /* Forzar el teclado en móviles */
  inputmode: text;
  enterkeyhint: search;
}

body.envyclub-active #custom-search-box input::placeholder {
  font-size: 13px;
  color: #000000;
}

/* Responsive */
@media (max-width: 768px) {
  body.envyclub-active #custom-search-box .search-inner {
    padding: 10px 15px;
    height: 40px;
  }
  
  body.envyclub-active #custom-search-box input[type="text"] {
    font-size: 16px; /* Evitar zoom en iOS */
    /* Mejorar experiencia en móvil */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    outline: none;
    /* Forzar teclado de texto en móviles */
    inputmode: text;
    enterkeyhint: search;
    /* Mejorar la experiencia táctil */
    touch-action: manipulation;
    -webkit-touch-callout: none;
    -webkit-user-select: text;
    user-select: text;
  }
  
  /* Iconos más pequeños en móvil */
  body.envyclub-active #custom-search-box .search-icon {
    width: 14px;
    height: 16px;
  }
  
  body.envyclub-active #custom-search-box .close-search {
    width: 14px;
    height: 16px;
  }
  
  /* Mejorar el botón de búsqueda en móvil */
  body.envyclub-active #custom-search-box .search-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    font-size: 16px; /* Evitar zoom en iOS */
    touch-action: manipulation;
  }
}

/* Ajustes para diferentes layouts de header */
@media (min-width: 769px) {
  /* Escritorio: header-aviso 41px, menus-header 47px */
  body.envyclub-active #busqueda-header {
    z-index: 50;
  }
  
  /* Si hay menús hover, asegurar que el buscador esté por encima */
  /* Los menús hover tienen su definición completa más abajo */
}

/* =========================================
   4) OVERLAY DE BÚSQUEDA
========================================= */
body.envyclub-active #search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9990; /* Por debajo del header (9999) y menús móviles (9998) */
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}

body.envyclub-active #search-overlay.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* =========================================
   5) HEADER POR ENCIMA DEL OVERLAY
========================================= */
/* Solo z-index para estar por encima del overlay */
body.envyclub-active #header-aviso {
  z-index: 9999; /* Por encima del overlay */
}

body.envyclub-active #menus-header {
  z-index: 9999; /* Por encima del overlay */
}

/* =========================================
   5) EVITAR SCROLL CUANDO OVERLAY O CARRITO ACTIVO
========================================= */
body.envyclub-active.no-scroll {
  overflow: hidden;
}

/* =========================================
   6) HEADER FIJO / SCROLL
========================================= */
body.envyclub-active #header-principal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  transition: transform 0.3s ease;
}

/* Regla eliminada - ahora manejada por JavaScript */

body.envyclub-active .bounce-top { 
  transform: translateY(-10px) !important; 
}

/* Clase eliminada - reemplazada por envy-top-bounce */

/* =========================================
   7) EVITAR SALTO DE CONTENIDO
========================================= */
/* Eliminado el padding-top problemático */

/* =========================================
   8) ENLACE "SALTAR AL CONTENIDO"
========================================= */
body.envyclub-active .skip-link {
  position: absolute !important;
  top: -40px !important;
  left: 0 !important;
  background: #000 !important;
  color: #fff !important;
  padding: 8px !important;
  z-index: 200; /* Por encima del header pero no demasiado alto */
  transition: top 0.3s !important;
}

body.envyclub-active .skip-link:focus {
  top: 0 !important;
}

/* =========================================
   9) SUBRAYADO MENÚS
========================================= */
body.envyclub-active .p-menu {
  display: inline-block !important;   /* que solo mida lo que ocupa el texto */
  position: relative !important;                 /* necesario para el ::after absoluto */
  padding-bottom: 0.25em !important;             /* espacio vertical extra */
}

body.envyclub-active .p-menu::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -2px !important;                       /* baja la línea 2px debajo del texto */
  width: 100% !important;                        /* 100% del ancho del texto */
  height: 1px !important;                        /* subrayado fino */
  background-color: currentColor !important;     /* mismo color que el texto */
  transform: translateX(-50%) scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.3s ease !important;
}

body.envyclub-active .p-menu:hover::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* =========================================
   10) SUBCATEGORÍAS
========================================= */
/* Contenedor general */
body.envyclub-active .menu-subcategorias {
  margin: 20px 0 !important;
}

/* Lista sin viñetas y en horizontal */
body.envyclub-active .menu-subcategorias__lista {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;              /* Hace que los <li> queden uno al lado del otro */
  align-items: center !important;        /* Centra verticalmente si cambias la altura */
}

/* Cada elemento del menú */
body.envyclub-active .menu-subcategorias__item {
  margin-right: 20px !important;         /* Separación entre items */
}

/* Opcional: si quieres un estilo especial para "Ver todo" */
body.envyclub-active .menu-subcategorias__item--todo a {
  font-weight: bold !important;
}

/* Estilo de los enlaces */
body.envyclub-active .menu-subcategorias__enlace {
  text-decoration: none !important;
  color: #333 !important;                /* Ajusta al color de tu tema */
  padding: 8px 12px !important;
  transition: background-color 0.2s ease !important;
  border-radius: 4px !important;
}

/* Hover */
body.envyclub-active .menu-subcategorias__enlace:hover {
  background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Elimina margin-right del último ítem */
body.envyclub-active .menu-subcategorias__lista .menu-subcategorias__item:last-child {
  margin-right: 0 !important;
}

/* =========================================
   11) VARIACIONES DE PRODUCTO
========================================= */
/* Eliminar todos los bordes de las tablas de variaciones */
body.envyclub-active .variations,
body.envyclub-active .variations table,
body.envyclub-active .variations tr,
body.envyclub-active .variations td,
body.envyclub-active .variations th {
  border: none !important;
  border-collapse: collapse !important;
}
/* 1) Reducir padding/margin general de la tabla de variaciones */
body.envyclub-active .variations.iconic-wlv-variations {
  margin: 0 !important;           /* elimina márgenes extra alrededor de la tabla */
  padding: 0 !important;          /* elimina padding si tuviera */
  border: none !important;        /* eliminar cualquier borde en la tabla */
  border-collapse: collapse !important; /* colapsar bordes de celdas */
}

body.envyclub-active .variations.iconic-wlv-variations td {
  padding: 4px 6px !important;    /* reduce padding interno de cada celda (ajústalo según necesites) */
  vertical-align: top !important; /* opcional: alinea contenido al tope si lo prefieres */
  border: none !important;        /* eliminar cualquier borde en las celdas */
}

/* 2) Ajustar el padding del <strong> (etiqueta) y del span de selección */
body.envyclub-active .iconic-wlv-variations__label {
  margin: 0 !important;
  padding: 0 2px !important;      /* solo un pequeño padding horizontal */
  font-size: 0.95em !important;   /* si quieres reducir un poco el tamaño del texto, opcional */
}

/* 3) Reducir padding interno de cada "term" (cada imagen/option) */
body.envyclub-active .iconic-wlv-terms__term-content img {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;     /* para asegurarnos de que la imagen no se desborde */
}

/* 4) Separación solo a la derecha entre variaciones */
body.envyclub-active .iconic-wlv-terms__term {
  margin: 0 20px 0 0 !important;      /* margin de 20px solo a la derecha */
  padding: 0 !important;               /* sin padding */
  float: left !important;              /* para que se ajusten en fila y luego hagan "wrap" */
  list-style: none !important;         /* eliminar viñetas si las hubiera */
  box-sizing: border-box !important;   /* incluir margin en el cálculo del ancho */
}

body.envyclub-active .iconic-wlv-terms {
  overflow: hidden !important;       /* para contener los floats de .iconic-wlv-terms__term */
  margin: 0 !important;
  padding: 0 !important;
}

/* 5) Separación mínima entre filas de variaciones */
body.envyclub-active .iconic-wlv-variations__row {
  margin-bottom: 8px !important;     /* separación mínima entre filas */
}

/* 6) Sin padding adicional entre label y variaciones */
body.envyclub-active .iconic-wlv-variations__label + .iconic-wlv-variations__value {
  padding-top: 0 !important;         /* sin padding adicional */
}

/* =========================================
   12) SUBMENÚ PRINCIPAL TABLET + MÓVIL
========================================= */
#contenedor-menu-movil {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;                /* siempre pegado al fondo */
  transform: translateX(-100%) !important;
  transition: transform 0.3s ease !important;
  background: #fff !important;
  z-index: 999 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Estado abierto del menú móvil */
#contenedor-menu-movil.open {
  transform: translateX(0) !important;
}

/* Estado del body cuando el menú está abierto */
body.menu-open {
  overflow: hidden !important;
}

/* =========================================
   13) SUBMENÚ PRINCIPAL ESCRITORIO
========================================= */
/* Estado oculto (por defecto) */
/* Los menús hover tienen su definición completa más abajo */

/* =========================================
   14) MENU: CATEGORÍAS->SUBCATEGORÍAS
========================================= */
body.envyclub-active .menu-subcategorias {
  display: flex !important;
  overflow-x: auto !important;
  padding-bottom: 10px !important;
}

body.envyclub-active .menu-subcategorias .p-menu {
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #000000 !important;
  letter-spacing: -0.5px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  margin-right: 30px !important;
  transition: all 0.2s ease !important;
}

body.envyclub-active .menu-subcategorias .p-menu:last-child {
  margin-right: 0 !important;
}

body.envyclub-active .menu-subcategorias .p-menu.active {
  font-weight: 400 !important;
  box-shadow: inset 0 -1px 0 #000000 !important;
}

body.envyclub-active .p-menu.active:hover::after {
  transform: translateX(-50%) scaleX(0) !important;
}

@media (max-width: 768px) {
  body.envyclub-active .menu-subcategorias {
    padding-bottom: 8px !important;
    overflow-x: auto !important;
  }

  body.envyclub-active .menu-subcategorias .p-menu {
    margin-right: 20px !important;
    font-size: 12px !important;
    letter-spacing: -0.4px !important;
  }

  body.envyclub-active .menu-subcategorias .p-menu:last-child {
    margin-right: 0 !important;
  }

  body.envyclub-active .menu-subcategorias .p-menu.active {
    box-shadow: inset 0 -1.5px 0 #000000 !important;
  }

  body.envyclub-active .menu-subcategorias .p-menu::after {
    bottom: -1px !important;
    height: 1px !important;
  }
}

/* =========================================
   15) GOOGLE RECAPTCHA ELIMINADO
========================================= */
body.envyclub-active .grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================
   16) BOTONES PERSONALIZADOS
========================================= */
/* 1) Base común para todos los botones - DESHABILITADO */
/* Comentado para evitar conflictos. Los botones se estilizarán individualmente según necesidad */

/* EXCEPCIÓN: Contenedor que excluye botones de la regla general */
body.envyclub-active .exclude-button-styles .button,
body.envyclub-active .exclude-button-styles button {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
  text-decoration: inherit !important;
  cursor: inherit !important;
  transition: none !important;
  border-radius: 0 !important;
}

/* Reset completo del hover para botones excluidos */
body.envyclub-active .exclude-button-styles .button:hover,
body.envyclub-active .exclude-button-styles button:hover {
  border-color: inherit !important;
  background-color: inherit !important;
  color: inherit !important;
}

/* 2) Estilo "custom" (tabla de tallas) */
body.envyclub-active .button.custom {
  background-color: #000000 !important;
  color:           #ffffff !important;
  border-color:    #000000 !important;
}

/* Hover para estilo custom */
body.envyclub-active .button.custom:hover {
  background-color: #ffffff !important;
  color:           #000000 !important;
  border-color:    #000000 !important;
}

/* 3) Estilo Elementor Pro por defecto */
body.envyclub-active .button.elementor {
  background-color: var(--e-global-color-primary, #54585b) !important;
  color:            var(--e-global-color-secondary, #FFFFFF) !important;
  border-radius:    var(--e-global-border-radius, 4px) !important;
  border:           none !important;
}

/* Hover para Elementor Pro */
body.envyclub-active .button.elementor:hover {
  background-color: var(--e-global-color-highlight, #434649) !important;
}

/* =========================================
   17) ENVY – MINI CART STYLES
========================================= */
/* Bloqueo scroll al abrir carrito - SOLO EN DESKTOP */
body.envyclub-active.envy-mini-cart-open {
  overflow: hidden !important;
  /* Permitir scroll dentro del carrito en móvil */
  touch-action: pan-y !important;
}

/* En móvil, permitir scroll en el carrito - SOLUCIÓN NUDE */
@media screen and (max-width: 767px) {
  body.envyclub-active.envy-mini-cart-open {
    overflow: hidden !important;
    /* Permitir scroll táctil en el carrito */
    touch-action: pan-y !important;
  }
  
  /* Permitir scroll específicamente en el contenedor del carrito */
  body.envyclub-active #envy-mini-cart {
    touch-action: pan-y !important;
  }
  
  /* SOLUCIÓN NUDE: Permitir scroll solo en elementos con data-scrollable */
  body.envyclub-active #mini-cart-product-list {
    touch-action: pan-y !important;
    /* Forzar scroll cuando el contenido excede */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    /* Asegurar que el scroll funcione */
    position: relative !important;
    z-index: 10 !important;
  }
}

/* Overlay morado - debajo del carrito para tapar header */
body.envyclub-active #envy-mini-cart-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.2s ease !important;
  z-index: 10000 !important; /* Por encima del header (9999) pero por debajo del carrito */
}

body.envyclub-active.envy-mini-cart-open #envy-mini-cart-overlay {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Asegurar que el overlay tape el header pero esté por debajo del carrito */
body.envyclub-active.envy-mini-cart-open #envy-mini-cart-overlay {
  /* Forzar que esté por encima del header (9999) pero por debajo del carrito (10001) */
  z-index: 10000 !important;
}

/* Asegurar que el carrito esté por encima del overlay */
body.envyclub-active #envy-mini-cart {
  z-index: 10001 !important; /* Por encima del overlay (10000) */
  position: relative !important;
}

/* Asegurar que el overlay esté por debajo del carrito */
body.envyclub-active.envy-mini-cart-open #envy-mini-cart-overlay {
  z-index: 10000 !important;
  /* Asegurar que esté por debajo del carrito */
  position: fixed !important;
}

/* Asegurar que el overlay tape el header */
body.envyclub-active.envy-mini-cart-open #envy-mini-cart-overlay {
  /* Asegurar que esté por encima de elementos del header */
  z-index: 10000 !important;
}

/* Asegurar que elementos del header estén por debajo del overlay */
body.envyclub-active.envy-mini-cart-open #header-aviso,
body.envyclub-active.envy-mini-cart-open #menus-header,
body.envyclub-active.envy-mini-cart-open .header-central {
  z-index: 100 !important;
  position: relative !important;
}

/* Contenedor del carrito - POSICIONAMIENTO BÁSICO */
body.envyclub-active #envy-mini-cart {
  width: min(400px, 100vw) !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
  transform: translateX(100%) !important;
  transition: transform 0.2s ease !important;
  z-index: 10001 !important; /* Por encima del overlay (10000) */
  /* La altura se establecerá dinámicamente por JavaScript */
  height: var(--viewport-height, 100vh) !important;
  max-height: var(--viewport-height, 100vh) !important;
}

body.envyclub-active.envy-mini-cart-open #envy-mini-cart {
  transform: translateX(0) !important;
}

/* =========================================
   MINI CART LAYOUT - BASADO EN REFERENCIA
========================================= */
/* Bloquear scroll del body cuando el carrito esté abierto - SOLO CUANDO EL CARRITO ESTÉ ABIERTO */
body.envyclub-active.envy-mini-cart-open {
  overflow: hidden !important;
  /* Remover position: fixed para evitar problemas con Elementor */
  /* position: fixed !important; */
  /* width: 100% !important; */
  /* height: 100% !important; */
}

/* Layout del carrito - como Drawer */
body.envyclub-active #envy-mini-cart {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important; /* Fallback para navegadores antiguos */
  height: 100dvh !important; /* Dynamic viewport height - se adapta a barras dinámicas */
  max-height: 100vh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  /* Relleno que evita solaparse con barras de Safari */
  padding-top: calc(var(--vv-top, 0px) + env(safe-area-inset-top)) !important;
  padding-bottom: calc(var(--vv-bottom, 0px) + env(safe-area-inset-bottom)) !important;
}


/* Header del carrito - como Drawer__Header - SIEMPRE ARRIBA */
body.envyclub-active #envy-mini-cart-header {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  height: 77px !important; /* PC/tablet */
  flex: none !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
  z-index: 1 !important;
  background: #fff !important;
  border: none !important;
}

/* Body del carrito - como Drawer__Content - ÁREA DE SCROLL */
body.envyclub-active #envy-mini-cart-body-footer {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  flex: 1 !important;
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  flex-basis: 0 !important;
  min-height: 0 !important;
  border: none !important;
  /* Asegurar que esté en el medio */
  order: 2 !important;
}

/* Contenedor de productos - como Drawer__Main - SIN SCROLL */
body.envyclub-active #mini-cart-products {
  flex: 1 !important;
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  flex-basis: 0 !important; /* Cambiar de auto a 0 para evitar crecimiento excesivo */
  min-height: 0 !important;
  height: auto !important;
  max-height: 100% !important; /* Limitar altura máxima */
  overflow: hidden !important;
  /* Asegurar que el contenido no se corte */
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Lista de productos - CONTENEDOR REAL CON SCROLL */
body.envyclub-active #mini-cart-products {
  /* FLEXBOX VERTICAL OBLIGATORIO */
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  
  /* PROPIEDADES DE CRECIMIENTO */
  flex: 1 !important;
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  flex-basis: 0 !important;
  min-height: 0 !important;
  height: 0 !important; /* Forzar scroll */
  
  /* SCROLL */
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 100% !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  
  /* DIMENSIONES Y ESPACIADO */
  width: 100% !important;
  padding: 9px !important;
  margin: 0 !important;
  
  /* POSICIONAMIENTO */
  position: relative !important;
  z-index: 10 !important;
  touch-action: pan-y !important;
}

/* Estilos para los productos individuales dentro de la lista */
body.envyclub-active #mini-cart-products .envy-mini-item {
  /* FLEXBOX HORIZONTAL PARA EL CONTENIDO DEL PRODUCTO */
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  
  /* PROPIEDADES FLEX PARA APILAMIENTO VERTICAL */
  flex-shrink: 0 !important; /* No permitir que se encojan */
  flex-grow: 0 !important; /* No permitir que crezcan */
  flex-basis: auto !important; /* Tamaño natural */
  
  /* ALINEACIÓN */
  align-items: stretch !important;
  justify-content: flex-start !important;
  
  /* ESPACIADO */
  padding: 12px 0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important; /* Sin margen entre productos */
  
  /* FORZAR COMPORTAMIENTO VERTICAL */
  clear: both !important;
  float: none !important;
}

/* REGLA ESPECÍFICA PARA FORZAR APILAMIENTO VERTICAL */
body.envyclub-active #mini-cart-products {
  /* FORZAR APILAMIENTO VERTICAL - MÁXIMA PRIORIDAD */
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-content: stretch !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

/* REGLA ESPECÍFICA PARA PRODUCTOS INDIVIDUALES */
body.envyclub-active #mini-cart-products > .envy-mini-item {
  /* FORZAR QUE CADA PRODUCTO OCUPE UNA LÍNEA COMPLETA */
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  order: 0 !important;
}


/* =========================================
   BOTÓN PERSONALIZADO OPTIMIZADO
========================================= */
#envy-div-add-to-cart {
  width: 100% !important;
}


.envy-custom-add-to-cart {
  width: 100% !important;
  padding: 17px 30px !important;
  font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -0.075em !important;
  color: white !important;
  background-color: #000000 !important;
  border: 1px solid #000000 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  text-align: center !important;
  display: block !important;
  box-sizing: border-box !important;
}

.envy-custom-add-to-cart:hover {
  color: #000000 !important;
  background-color: white !important;
  border: 1px solid #000000 !important;
}

.envy-custom-add-to-cart:focus {
  outline: 2px solid #000000 !important;
  outline-offset: 2px !important;
}

.envy-custom-add-to-cart:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
}

/* Asegurar scroll correcto en móviles */
@media screen and (max-width: 767px) {
  /* SOLUCIÓN DEFINITIVA PARA SCROLL EN MÓVIL */
  
  /* Body del carrito - contenedor principal */
  body.envyclub-active #envy-mini-cart-body-footer {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    max-height: calc(100vh - 72px) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Contenedor de productos - CON SCROLL DIRECTO */
  body.envyclub-active #mini-cart-products {
    /* FLEXBOX VERTICAL OBLIGATORIO EN MÓVIL */
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    
    /* PROPIEDADES DE CRECIMIENTO */
    flex: 1 1 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    height: 0 !important; /* Forzar scroll */
    
    /* SCROLL */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    
    /* DIMENSIONES Y ESPACIADO */
    width: 100% !important;
    padding: 9px !important;
    
    /* POSICIONAMIENTO */
    position: relative !important;
    z-index: 10 !important;
  }
  
  /* Footer siempre visible */
  body.envyclub-active #envy-mini-cart-footer {
    flex-shrink: 0 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20 !important;
  }
}

/* Footer del carrito - como Drawer__Footer - SIEMPRE ABAJO */
body.envyclub-active #envy-mini-cart-footer {
  position: sticky !important;
  bottom: 0 !important;
  width: 100% !important;
  height: fit-content !important;
  background: #fff !important;
  z-index: 10 !important;
  flex: none !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
  margin-top: auto !important;
  /* Asegurar que siempre esté visible */
  min-height: fit-content !important;
  max-height: none !important;
}

/* Estructura principal del carrito - como Nude */
body.envyclub-active #envy-mini-cart {
  /* La altura se establecerá dinámicamente por JavaScript según el estado de la barra de Safari */
  height: var(--viewport-height, 100vh) !important;
  max-height: var(--viewport-height, 100vh) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Body-footer - resto de altura */
body.envyclub-active #envy-mini-cart-body-footer {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}


/* Footer se ajustará automáticamente con el JavaScript */

/* Móvil - usar el mismo diseño que PC por ahora */
@media screen and (max-width: 641px) {
  body.envyclub-active #envy-mini-cart {
    width: 100vw !important;
    /* La altura se establecerá dinámicamente por JavaScript según el estado de la barra de Safari */
    height: var(--viewport-height, 100dvh) !important;
    max-height: var(--viewport-height, 100dvh) !important;
    /* Asegurar que el carrito no se desborde */
    overflow: hidden !important;
    /* Asegurar que el footer sea siempre visible */
    min-height: var(--viewport-height, 100dvh) !important;
  }
}

/* iPad específico - usar unidades dinámicas del viewport */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.envyclub-active #envy-mini-cart {
    width: 100vw !important;
    height: 100vh !important; /* Fallback */
    height: 100dvh !important; /* Dynamic viewport height */
    max-height: 100vh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
  }
  
  /* Footer específico para iPad */
  body.envyclub-active #envy-mini-cart-footer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20 !important;
    background: #fff !important;
    border-top: none !important;
  }
  
  /* Header más pequeño en móvil */
  body.envyclub-active #envy-mini-cart-header {
    height: 72px !important;
    /* La altura se ajustará dinámicamente por JavaScript */
    flex-shrink: 0 !important; /* No se puede encoger */
  }
  
  /* Asegurar que el body-footer no crezca demasiado */
  body.envyclub-active #envy-mini-cart-body-footer {
    flex: 1 !important;
    min-height: 0 !important;
    max-height: calc(100vh - 72px) !important; /* Restar altura del header */
    overflow: hidden !important;
  }
}

/* Scrollbar personalizada - solo en el contenedor de productos */
body.envyclub-active #mini-cart-product-list {
  /* Scrollbar personalizada para Firefox */
  scrollbar-width: thin !important;
  scrollbar-color: rgba(0, 0, 0, 0.3) transparent !important;
  -ms-overflow-style: auto !important;
}

/* Scrollbar personalizada para WebKit (Chrome, Safari, Edge) */
body.envyclub-active #mini-cart-product-list::-webkit-scrollbar {
  width: 6px !important;
  display: block !important;
}


body.envyclub-active #mini-cart-product-list::-webkit-scrollbar-track {
  background: transparent !important;
  border-radius: 3px !important;
}

body.envyclub-active #mini-cart-product-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3) !important;
  border-radius: 3px !important;
  transition: background 0.3s ease !important;
}

body.envyclub-active #mini-cart-product-list::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.5) !important;
}

/* Ocultar scrollbar en móvil para mejor UX */
@media screen and (max-width: 641px) {
  body.envyclub-active #mini-cart-product-list {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  
  body.envyclub-active #mini-cart-product-list::-webkit-scrollbar {
    display: none !important;
  }
}

/* Botón de cierre dentro del carrito */
body.envyclub-active .envy-mini-cart__close {
  cursor: pointer !important;
}

/* Para que cierre al pulsarlo, añade en HTML:
   <button class="envy-mini-cart__close" data-envy-close>×</button>
*/

body.envyclub-active .envy-cart-count{
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  letter-spacing: -0.075em !important;	
}

body.envyclub-active .envy-cart-subtotal{
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #000000 !important;
  letter-spacing: -0.075em !important;	
}

/* =========================================
   MINI CART PRODUCTOS - DISEÑO ORIGINAL
========================================= */

/* Cada item del carrito */
body.envyclub-active .envy-mini-item {
  display: flex !important;
  width: 100% !important;
  align-items: stretch !important;
  padding: 0 !important; /* sin padding extra en hijos */
  margin: 10px 0 !important; /* 10px arriba y abajo, 0 a los lados */
}

/* Contenedor de imagen - 35% del ancho */
body.envyclub-active .envy-mini-item__img {
  flex: 0 0 35% !important;
  max-width: 35% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Imagen del producto */
body.envyclub-active .envy-mini-item__img img {
  width: 136px !important;
  height: 170px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 6px !important;
}

/* Contenedor de información - 65% del ancho */
body.envyclub-active .envy-mini-item__info {
  flex: 0 0 65% !important;
  max-width: 65% !important;
  padding-left: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-width: 0 !important;
}

/* Título del producto */
body.envyclub-active .envy-mini-item__title {
  margin: 0 !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  word-break: break-word !important;
  font-size: 14px !important;
  color: #000000 !important;
  letter-spacing: -0.075em !important;
}

body.envyclub-active .envy-mini-item__title a {
  text-decoration: none !important;
}

/* Precio del producto */
body.envyclub-active .envy-mini-item__price {
  font-weight: 400 !important;
  margin: 2px 0 0 0 !important;
  font-size: 14px !important;
  color: #000000 !important;
  letter-spacing: -0.075em !important;
  line-height: 1.2 !important;
}

/* Atributos del producto (talla, color, etc.) */
body.envyclub-active .envy-mini-item__attrs {
  margin: 2px 0 0 0 !important;
  color: #000000 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: -0.075em !important;
  line-height: 1.2 !important;
}

body.envyclub-active .envy-mini-item__attrs .variation {
  margin: 0 !important;
}

body.envyclub-active .envy-mini-item__attrs .variation dt,
body.envyclub-active .envy-mini-item__attrs .variation dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.envyclub-active .envy-mini-item__attrs .variation dt::after {
  content: ': ' !important;
}

body.envyclub-active .envy-mini-item__attrs .variation dd::after {
  content: '  ' !important;
}

/* Botón de eliminar */
body.envyclub-active .envy-mini-item__remove {
  align-self: flex-start !important;
  color: #000000 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  font-size: 0.95em !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: -0.5px !important;
}

/* Responsive para móviles - diseño original */
@media (max-width: 767px) {
  body.envyclub-active .envy-mini-item {
    height: 150px !important;
    margin: 10px 0 !important; /* margen arriba/abajo */
    align-items: center !important;
    padding: 0 !important;
    /* Asegurar apilamiento vertical */
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    flex-basis: auto !important;
  }
  
  body.envyclub-active .envy-mini-item__img {
    flex: 0 0 auto !important;
    width: 106px !important;
    max-width: 106px !important;
    height: 132px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  body.envyclub-active .envy-mini-item__img img {
    width: 106px !important;
    height: 132px !important;
    border-radius: 6px !important;
  }
  
  body.envyclub-active .envy-mini-item__info {
    flex: 1 1 auto !important;
    max-width: unset !important;
    height: 132px !important;
    padding: 0 !important;
    padding-left: 8px !important; /* único padding en móvil */
    margin: 0 !important;
  }
}

/* Opcional: estilos del badge del header */
body.envyclub-active .envy-cart-badge {
  display: inline-block !important;
  line-height: 1 !important;
  padding: 0 !important;       /* sin padding, como pediste */
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: -0.25px !important;
}

/* =========================================
   HEADER SCROLL ANIMATION (VERSIÓN SIMPLIFICADA)
========================================= */
/* Solo las clases necesarias para el scroll, sin modificar posicionamiento */

/* Reglas CSS eliminadas - ahora manejadas completamente por JavaScript */

/* Animación eliminada - usando clases CSS simples */

/* =========================================
   MENÚS HOVER Y MÓVIL
========================================= */

/* Menú móvil - REEMPLAZADO CON VERSIÓN SUPERIOR */

/* =========================================
   MENÚS MÓVILES HOMBRE/MUJER
========================================= */
/* En PC/tablet: completamente ocultos y sin afectar el layout */
@media (min-width: 769px) {
  body.envyclub-active #mobile-menu-hombre,
  body.envyclub-active #mobile-menu-mujer {
    display: none !important; /* Completamente ocultos en PC/tablet */
  }
}

/* En móvil: posicionamiento debajo del .header-central (41px + 57px = 98px) */
@media (max-width: 768px) {
  body.envyclub-active #mobile-menu-hombre,
  body.envyclub-active #mobile-menu-mujer {
    position: absolute !important;
    top: 98px !important; /* Debajo del .header-central (41px header-aviso + 57px header-central) */
    left: 0 !important;
    right: 0 !important;
    z-index: 9998 !important; /* Por encima del overlay (9990) pero por debajo del header (9999) */
    opacity: 0 !important; /* Invisible por defecto */
    visibility: hidden !important; /* Oculto por defecto */
    pointer-events: none !important; /* No interactuable por defecto */
    transition: opacity 0.2s ease, visibility 0.2s ease !important; /* Transición suave */
  }
}

/* Estado visible cuando se añade la clase .active - SOLO EN MÓVIL */
@media (max-width: 768px) {
  body.envyclub-active #mobile-menu-hombre.active,
  body.envyclub-active #mobile-menu-mujer.active {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* Estado del body cuando el menú móvil está abierto */
body.envyclub-active.mobile-menu-open {
  overflow: hidden !important;
}

/* =========================================
   BOTONES DE PAGO EXPRESS CHECKOUT
========================================= */
/* Quitar márgenes superior e inferior de los botones de pago */
body.envyclub-active .wcpay-express-checkout-wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Ocultar botones de pago por defecto hasta que se detecte el dispositivo */
body.envyclub-active .wcpay-express-checkout-wrapper .StripeElement {
  display: none !important;
}

/* Mostrar solo Google Pay en dispositivos Android */
body.envyclub-active .wcpay-express-checkout-wrapper.android .StripeElement {
  display: block !important;
}

/* Mostrar solo Apple Pay en dispositivos iOS */
body.envyclub-active .wcpay-express-checkout-wrapper.ios .StripeElement {
  display: block !important;
}

/* Ocultar botones específicos dentro del iframe de Stripe usando CSS avanzado */
body.envyclub-active .wcpay-express-checkout-wrapper.android iframe {
  /* En Android, ocultar Apple Pay */
  filter: hue-rotate(0deg) saturate(1) brightness(1) contrast(1);
}

body.envyclub-active .wcpay-express-checkout-wrapper.ios iframe {
  /* En iOS, ocultar Google Pay */
  filter: hue-rotate(0deg) saturate(1) brightness(1) contrast(1);
}

/* Usar JavaScript para modificar el contenido del iframe */
body.envyclub-active .wcpay-express-checkout-wrapper.android .StripeElement iframe {
  /* Forzar solo Google Pay en Android */
  pointer-events: auto !important;
}

body.envyclub-active .wcpay-express-checkout-wrapper.ios .StripeElement iframe {
  /* Forzar solo Apple Pay en iOS */
  pointer-events: auto !important;
}

/* Tipografía para botones de pago express */
body.envyclub-active .wcpay-express-checkout-wrapper {
  font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* =========================================
   CHECKOUT WOOCOMMERCE - TIPOGRAFÍA PERSONALIZADA
========================================= */
/* Títulos del checkout */
body.envyclub-active .wc-block-checkout h1,
body.envyclub-active .wc-block-checkout h2,
body.envyclub-active .wc-block-checkout h3,
body.envyclub-active .wc-block-checkout h4,
body.envyclub-active .wc-block-checkout h5,
body.envyclub-active .wc-block-checkout h6,
body.envyclub-active .wc-block-checkout .wc-block-components-title,
body.envyclub-active .wc-block-checkout .wc-block-components-step__title,
body.envyclub-active .wc-block-checkout .wc-block-checkout__step-title {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Texto general del checkout */
body.envyclub-active .wc-block-checkout,
body.envyclub-active .wc-block-checkout p,
body.envyclub-active .wc-block-checkout span,
body.envyclub-active .wc-block-checkout div,
body.envyclub-active .wc-block-checkout label,
body.envyclub-active .wc-block-checkout .wc-block-components-text,
body.envyclub-active .wc-block-checkout .wc-block-form-input,
body.envyclub-active .wc-block-checkout input,
body.envyclub-active .wc-block-checkout textarea,
body.envyclub-active .wc-block-checkout select {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Títulos de productos en el checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-product-name,
body.envyclub-active .wc-block-checkout .wc-block-components-product-summary__name,
body.envyclub-active .wc-block-checkout .wc-block-order-summary-item__product-name,
body.envyclub-active .wc-block-checkout .wc-block-cart-item__product-name {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Variaciones de productos en el checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-product-summary__variation,
body.envyclub-active .wc-block-checkout .wc-block-cart-item__product-meta,
body.envyclub-active .wc-block-checkout .wc-block-order-summary-item__product-meta,
body.envyclub-active .wc-block-checkout .wc-block-components-product-summary__short-description {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Precios en el checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-product-price,
body.envyclub-active .wc-block-checkout .wc-block-components-product-price__value,
body.envyclub-active .wc-block-checkout .wc-block-cart-item__product-price,
body.envyclub-active .wc-block-checkout .wc-block-order-summary-item__product-price,
body.envyclub-active .wc-block-checkout .wc-block-components-totals-item__value,
body.envyclub-active .wc-block-checkout .wc-block-components-totals-item__label,
body.envyclub-active .wc-block-checkout .wc-block-components-totals-footer-item__value,
body.envyclub-active .wc-block-checkout .wc-block-components-totals-footer-item__label {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Botones del checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-button,
body.envyclub-active .wc-block-checkout .wc-block-checkout__actions .wc-block-components-button,
body.envyclub-active .wc-block-checkout button,
body.envyclub-active .wc-block-checkout .button {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Campos de formulario del checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-text-input input,
body.envyclub-active .wc-block-checkout .wc-block-components-textarea textarea,
body.envyclub-active .wc-block-checkout .wc-block-components-select select,
body.envyclub-active .wc-block-checkout .wc-block-components-checkbox input,
body.envyclub-active .wc-block-checkout .wc-block-components-radio input {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Labels de formulario del checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-text-input label,
body.envyclub-active .wc-block-checkout .wc-block-components-textarea label,
body.envyclub-active .wc-block-checkout .wc-block-components-select label,
body.envyclub-active .wc-block-checkout .wc-block-components-checkbox label,
body.envyclub-active .wc-block-checkout .wc-block-components-radio label {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Elementos adicionales del checkout */
body.envyclub-active .wc-block-checkout .wc-block-components-notice,
body.envyclub-active .wc-block-checkout .wc-block-components-notice__content,
body.envyclub-active .wc-block-checkout .wc-block-components-validation-error,
body.envyclub-active .wc-block-checkout .wc-block-components-validation-error__message,
body.envyclub-active .wc-block-checkout .wc-block-components-radio-control__label,
body.envyclub-active .wc-block-checkout .wc-block-components-checkbox-control__label,
body.envyclub-active .wc-block-checkout .wc-block-components-address-form__field,
body.envyclub-active .wc-block-checkout .wc-block-components-address-form__field-label {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Títulos específicos de secciones del checkout */
body.envyclub-active .wc-block-checkout .wc-block-checkout__step-title,
body.envyclub-active .wc-block-checkout .wc-block-components-step__title,
body.envyclub-active .wc-block-checkout .wc-block-checkout__order-summary-title,
body.envyclub-active .wc-block-checkout .wc-block-order-summary__title {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Totales y resumen del pedido */
body.envyclub-active .wc-block-checkout .wc-block-components-totals,
body.envyclub-active .wc-block-checkout .wc-block-components-totals-item,
body.envyclub-active .wc-block-checkout .wc-block-components-totals-footer-item,
body.envyclub-active .wc-block-checkout .wc-block-order-summary__total {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Márgenes de los fieldset del checkout */
body.envyclub-active .wc-block-checkout__contact-fields,
body.envyclub-active .wc-block-checkout__shipping-fields,
body.envyclub-active .wc-block-checkout__shipping-option,
body.envyclub-active .wc-block-checkout__payment-method {
    margin-bottom: 10px !important;
}

/* Márgenes adicionales para términos y notas */
body.envyclub-active .wc-block-checkout__terms {
    margin-bottom: 10px !important;
}

body.envyclub-active .wc-block-checkout__order-notes {
    margin-bottom: 20px !important;
}

/* Elementos específicos con 21px, 700 peso - Selectores más específicos */
body.envyclub-active .wc-block-checkout .wc-block-components-checkout-order-summary__title-text,
body.envyclub-active .wc-block-components-checkout-order-summary__title-text {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

body.envyclub-active .wc-block-checkout .wc-block-components-totals-item__label,
body.envyclub-active .wc-block-components-totals-item__label {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

body.envyclub-active .wc-block-checkout .wc-block-components-checkout-place-order-button__text,
body.envyclub-active .wc-block-components-checkout-place-order-button__text {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Selectores adicionales para asegurar que se apliquen */
body.envyclub-active .wc-block-checkout .wc-block-components-button__text,
body.envyclub-active .wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Selector para el valor del total también */
body.envyclub-active .wc-block-checkout .wc-block-components-totals-item__value,
body.envyclub-active .wc-block-checkout .wc-block-formatted-money-amount {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* =========================================
   PRECIOS ESPECÍFICOS DEL CHECKOUT
========================================= */
/* Precio individual del producto (45€) - 14px, 400 peso */
body.envyclub-active .wc-block-components-order-summary-item__individual-prices,
body.envyclub-active .wc-block-components-order-summary-item__individual-price {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Precio del producto principal (90€) - 14px, 700 peso */
body.envyclub-active .wc-block-components-product-price .wc-block-components-product-price__value {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Subtotal y envío - 14px, 400 peso */
body.envyclub-active .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__label,
body.envyclub-active .wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__value,
body.envyclub-active .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__label,
body.envyclub-active .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__value {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* Total final - 19px, 700 peso */
body.envyclub-active .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.envyclub-active .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.envyclub-active .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Precio de envío (2€) - 14px, 400 peso */
body.envyclub-active .wc-block-formatted-money-amount.wc-block-components-formatted-money-amount {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}

/* =========================================
   ESTILOS ESPECÍFICOS ADICIONALES DEL CHECKOUT
========================================= */
/* Total final con tax value - 21px, 700 peso */
body.envyclub-active .wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-totals-footer-item-tax-value {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Precio del producto - 14px, 700 peso */
body.envyclub-active .wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: -0.075em !important;
}

/* Nombre del producto - 12px, 400 peso */
body.envyclub-active .wc-block-components-product-details__name {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
}


/* =========================================
   NOTIFICACIONES WOOCOMMERCE - HACER VISIBLES
========================================= */
/* Fuerza avisos de Woo Blocks */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-warning,
.wc-block-components-notice-banner.is-success {
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  max-height:none !important;
  z-index: 99999 !important;
}

/* Por si algún overlay/header los tapa */
.wc-block-checkout .wc-block-components-notices,
.wc-block-cart .wc-block-components-notices {
  position: relative;
  z-index: 99999;
}

/* =========================================
   SCROLL HORIZONTAL PREMIUM PARA MENÚS MÓVILES
========================================= */
/* Scroll horizontal suave y elegante para los menús móviles - SOLO EN MÓVIL */
@media (max-width: 768px) {
  body.envyclub-active #mobile-menu-hombre .menu-container,
  body.envyclub-active #mobile-menu-mujer .menu-container {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
    scrollbar-color: #000000 #f0f0f0 !important;
  }

  /* Scrollbar personalizada para WebKit (Chrome, Safari, Edge) */
  body.envyclub-active #mobile-menu-hombre .menu-container::-webkit-scrollbar,
  body.envyclub-active #mobile-menu-mujer .menu-container::-webkit-scrollbar {
    height: 6px !important;
  }

  body.envyclub-active #mobile-menu-hombre .menu-container::-webkit-scrollbar-track,
  body.envyclub-active #mobile-menu-mujer .menu-container::-webkit-scrollbar-track {
    background: #f0f0f0 !important;
    border-radius: 3px !important;
  }

  body.envyclub-active #mobile-menu-hombre .menu-container::-webkit-scrollbar-thumb,
  body.envyclub-active #mobile-menu-mujer .menu-container::-webkit-scrollbar-thumb {
    background: #000000 !important;
    border-radius: 3px !important;
    transition: background 0.3s ease !important;
  }

  body.envyclub-active #mobile-menu-hombre .menu-container::-webkit-scrollbar-thumb:hover,
  body.envyclub-active #mobile-menu-mujer .menu-container::-webkit-scrollbar-thumb:hover {
    background: #000000 !important;
  }

  /* Indicadores de scroll para mejor UX */
  body.envyclub-active #mobile-menu-hombre .scroll-indicator,
  body.envyclub-active #mobile-menu-mujer .scroll-indicator {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    background: rgba(0, 0, 0, 0.7) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: white !important;
    font-size: 12px !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;
  }

  body.envyclub-active #mobile-menu-hombre .scroll-indicator.show,
  body.envyclub-active #mobile-menu-mujer .scroll-indicator.show {
    opacity: 1 !important;
  }
}

/* -----------------------------
   Submenú principal escritorio 
----------------------------- */
/* Solo posicionamiento y visibilidad básica, respetando diseño de Elementor */
body.envyclub-active #contenedor-menu-hombre,
body.envyclub-active #contenedor-menu-mujer {
  position: absolute !important;
  top: 41px !important; /* Solo la altura del header-aviso, para estar justo debajo de #menus-header */
  left: 0 !important;
  z-index: 9997 !important;
  opacity: 0 !important; /* Invisible por defecto */
  visibility: hidden !important; /* Oculto por defecto */
  pointer-events: none !important; /* No interactuable por defecto */
  transition: opacity 0.2s ease, visibility 0.2s ease !important; /* Transición suave */
}

/* Responsive para móvil */
@media (max-width: 768px) {
  body.envyclub-active #contenedor-menu-hombre,
  body.envyclub-active #contenedor-menu-mujer {
    top: 41px !important; /* Solo la altura del header-aviso en móvil */
  }
}

/* Estado visible cuando se añade la clase .open */
body.envyclub-active #contenedor-menu-hombre.open,
body.envyclub-active #contenedor-menu-mujer.open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Ajuste para que esté perfectamente pegado */



/* Bloqueo scroll cuando menú móvil está abierto */
body.envyclub-active.menu-open {
    overflow: hidden;
}

/* =========================================
   SCROLL HORIZONTAL PREMIUM EN MÓVILES
========================================= */
/* Por defecto (desktop/tablet): sin scroll horizontal */
body.envyclub-active .horizontal-menus {
  overflow: visible;
  position: relative; /* Para posicionar indicadores */
}

/* Solo aplicar scroll horizontal en móviles */
@media (max-width: 768px) {
  /* El contenedor .horizontal-menus debe hacer el scroll */
  body.envyclub-active .horizontal-menus {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; /* inercia iOS */
    scroll-behavior: smooth;
    white-space: nowrap;               /* por si algo insiste en hacer wrap */
    touch-action: pan-x;               /* prioriza gesto horizontal */
    overscroll-behavior-x: contain;    /* evita rebotes raros */
    
    /* Scrollbar personalizada premium */
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: #000000 #f0f0f0; /* Firefox */
    -ms-overflow-style: auto; /* IE/Edge legado */
  }

  /* Scrollbar personalizada para WebKit (Chrome, Safari, Edge) */
  body.envyclub-active .horizontal-menus::-webkit-scrollbar {
    height: 6px !important;
    display: block !important;
  }

  body.envyclub-active .horizontal-menus::-webkit-scrollbar-track {
    background: #f0f0f0 !important;
    border-radius: 3px !important;
  }

  body.envyclub-active .horizontal-menus::-webkit-scrollbar-thumb {
    background: #000000 !important;
    border-radius: 3px !important;
    transition: background 0.3s ease !important;
  }

  body.envyclub-active .horizontal-menus::-webkit-scrollbar-thumb:hover {
    background: #000000 !important;
  }

  /* El contenedor del menú de Elementor debe medir por su contenido */
  body.envyclub-active .horizontal-menus .elementor-nav-menu__container,
  body.envyclub-active .horizontal-menus .elementor-nav-menu--main {
    display: flex;          /* fila flexible más robusta que inline-block */
    flex-wrap: nowrap;      /* sin saltos de línea */
    width: max-content;     /* se expande según el contenido */
    min-width: 100%;        /* nunca menos que el viewport */
  }

  /* Los <li> no deben encogerse */
  body.envyclub-active .horizontal-menus .elementor-nav-menu li {
    flex: 0 0 auto;
    white-space: nowrap;
    list-style: none;
  }

  /* Los enlaces mantienen su bloque y padding intacto */
  body.envyclub-active .horizontal-menus .elementor-nav-menu a {
    display: block;
    white-space: nowrap;
  }

  /* Ocultar el menú "dropdown" duplicado en móvil para esta tira horizontal */
  body.envyclub-active .horizontal-menus .elementor-nav-menu--dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Asegurar que el menú principal (horizontal) sigue visible */
  body.envyclub-active .horizontal-menus .elementor-nav-menu--main {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* =========================================
   VARIACIONES DE PRODUCTOS WOOCOMMERCE
========================================= */
/* Estilos para las variaciones de productos usando Iconic WAS */
body.envyclub-active .iconic-was-swatches {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Borde inferior debajo de las variaciones - aplicado al contenedor td.value */
body.envyclub-active .variations .value {
    border: none !important;           /* eliminar cualquier borde */
    border-bottom: none !important;
    padding: 0 8px !important;
    margin-bottom: 0 !important;
}

/* Contenedor de cada variación */
body.envyclub-active .iconic-was-swatches__item {
  display: inline-block !important;
  margin: 0 4px 4px 0 !important;
  vertical-align: top !important;
}

/* Enlaces de las variaciones (S, M, L, XL, 2XL) */
body.envyclub-active .iconic-was-swatch--text-swatch {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 47px !important;
  height: 47px !important;
  line-height: 1 !important;
  padding: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -0.075em !important;
  color: #000000 !important;
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ELIMINAR HOVER POR DEFECTO - Solo mantener el estado normal */
body.envyclub-active .iconic-was-swatch--text-swatch:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  text-decoration: none !important;
}

/* Subrayado para hover y variación activa con animación desde el centro */
body.envyclub-active .iconic-was-swatch--text-swatch[data-attribute-value]:hover,
body.envyclub-active .iconic-was-swatch--text-swatch--selected,
body.envyclub-active .iconic-was-swatches__item--selected .iconic-was-swatch--text-swatch {
  background-color: transparent !important;
  color: #000000 !important;
  /* Mantener flexbox para el centrado */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  padding: 0 !important;
}

/* Subrayado animado desde el centro usando ::after */
body.envyclub-active .iconic-was-swatch--text-swatch[data-attribute-value]::after,
body.envyclub-active .iconic-was-swatch--text-swatch--selected::after,
body.envyclub-active .iconic-was-swatches__item--selected .iconic-was-swatch--text-swatch::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background-color: currentColor !important;
  transform: translateX(-50%) scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.3s ease !important;
}

/* Hover: animación desde el centro hacia afuera */
body.envyclub-active .iconic-was-swatch--text-swatch[data-attribute-value]:hover::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* Elemento activo: subrayado permanente */
body.envyclub-active .iconic-was-swatch--text-swatch--selected::after,
body.envyclub-active .iconic-was-swatches__item--selected .iconic-was-swatch--text-swatch::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* Estado deshabilitado (talla no disponible) */
body.envyclub-active .iconic-was-swatch--text-swatch.disabled,
body.envyclub-active .iconic-was-swatch--text-swatch.out-of-stock {
  background-color: #f5f5f5 !important;
  color: #999999 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

/* Variación dummy (+0) - ocultar o estilizar diferente */
body.envyclub-active .iconic-was-swatch--dummy {
  display: none !important;
}

/* =========================================
   VARIACIONES LINK PRODUCTS (ICONIC WLV)
========================================= */
/* Estilos específicos para variaciones de Link Products */
body.envyclub-active .iconic-wlv-variations__value {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Contenedor de las variaciones Link Products */
body.envyclub-active .iconic-wlv-terms {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Cada término/variación Link Product */
body.envyclub-active .iconic-wlv-terms__term {
  display: inline-block !important;
  margin: 0 20px 0 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

/* Contenido de las variaciones Link Products - TAMAÑO 43x55px */
body.envyclub-active .iconic-wlv-terms__term-content {
  display: inline-block !important;
  width: 43px !important;
  height: 55px !important;
  line-height: 53px !important; /* 53px para centrar verticalmente con 55px de altura */
  text-align: center !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: -1px !important;
  color: #000000 !important;
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Imágenes dentro de las variaciones Link Products - TAMAÑO 43x55px */
body.envyclub-active .iconic-wlv-terms__term-content img {
  width: 43px !important;
  height: 55px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Hover para variaciones Link Products */
body.envyclub-active .iconic-wlv-terms__term-content:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  text-decoration: none !important;
}

/* Variación activa/seleccionada Link Products con subrayado en el borde del <li> */
body.envyclub-active .iconic-wlv-terms__term--current {
  position: relative !important;
}

/* Subrayado animado desde el centro para Link Products - aplicado al <li> - ESTADO NORMAL (invisible) */
body.envyclub-active .iconic-wlv-terms__term::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background-color: currentColor !important;
  transform: translateX(-50%) scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.3s ease !important;
}

/* Hover: animación desde el centro hacia afuera para Link Products */
body.envyclub-active .iconic-wlv-terms__term:hover::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* Elemento activo Link Products: subrayado permanente */
body.envyclub-active .iconic-wlv-terms__term--current::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* Asegurar que cada <li> tenga position relative para el subrayado */
body.envyclub-active .iconic-wlv-terms__term {
  position: relative !important;
}

/* Responsive para móviles */
@media (max-width: 768px) {
  body.envyclub-active .iconic-was-swatch--text-swatch {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 47px !important;
    height: 47px !important;
    line-height: 1 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: -0.075em !important;
    padding: 0 !important;
  }
  
  body.envyclub-active .iconic-was-swatches__item {
    margin: 0 4px 4px 0 !important;
  }
  
  /* Link Products responsive - Mismo tamaño que desktop */
  body.envyclub-active .iconic-wlv-terms__term-content {
    width: 43px !important;
    height: 55px !important;
    line-height: 53px !important;
    font-size: 13px !important;
    min-width: 43px !important;
    min-height: 55px !important;
    max-width: 43px !important;
    max-height: 55px !important;
  }
  
  /* Imágenes Link Products responsive - Mismo tamaño que desktop */
  body.envyclub-active .iconic-wlv-terms__term-content img {
    width: 43px !important;
    height: 55px !important;
    min-width: 43px !important;
    min-height: 55px !important;
    max-width: 43px !important;
    max-height: 55px !important;
  }
  
  body.envyclub-active .iconic-wlv-terms__term {
    margin: 0 20px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Forzar tamaño 43x55px en móvil - reglas adicionales para mayor especificidad */
  body.envyclub-active .variations .iconic-wlv-terms__term-content {
    width: 43px !important;
    height: 55px !important;
    min-width: 43px !important;
    min-height: 55px !important;
    max-width: 43px !important;
    max-height: 55px !important;
  }
  
  body.envyclub-active .variations .iconic-wlv-terms__term-content img {
    width: 43px !important;
    height: 55px !important;
    min-width: 43px !important;
    min-height: 55px !important;
    max-width: 43px !important;
    max-height: 55px !important;
  }
  
  /* Forzar margin de 20px a la derecha en móvil */
  body.envyclub-active .variations .iconic-wlv-terms__term {
    margin: 0 20px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}



/* =========================================
   FORZAR MARGIN DE 20PX EN VARIACIONES ICONIC
========================================= */
/* Regla adicional para asegurar margin de 20px a la derecha */
body.envyclub-active .variations .iconic-wlv-terms__term,
body.envyclub-active .iconic-wlv-terms__term {
  margin-right: 20px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* =========================================
   ESPACIO DEBAJO DEL BOTÓN AÑADIR AL CARRITO
========================================= */
/* Añadir 10px de espacio debajo del botón de añadir al carrito */
.woocommerce-variation-add-to-cart {
  margin-bottom: 10px !important;
}

/* Alternativa: espacio debajo del contenedor del botón */
.e-atc-qty-button-holder {
  margin-bottom: 10px !important;
}

/* === Barra de progreso de stock en vivo === */

.envy-stock-progress {
    margin: 0;
    padding: 0;
}

.envy-stock-progress--single {
    margin: 0;
    padding: 0;
}

.envy-stock-bar-container {
    width: 100%;
    height: 6px;
    background: #f0f0f0;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 0;
    position: relative;
}

.envy-stock-bar {
    height: 100%;
    background: linear-gradient(90deg, #000000, #000000);
    border-radius: 4px;
    transition: all 0.3s ease;
    position: relative;
}

.envy-stock-bar--high {
    background: linear-gradient(90deg, #000000, #000000);
}

.envy-stock-bar--medium {
    background: linear-gradient(90deg, #000000, #000000);
}

.envy-stock-bar--low {
    background: linear-gradient(90deg, #000000, #000000);
}

.envy-stock-labels {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: #999;
    font-weight: 300;
    font-family: inherit;
    letter-spacing: -0.075em;
} 

.envy-stock-label--min {
    color: #666;
}

.envy-stock-label--max {
    color: #666;
}

/* Animación de pulso para stock bajo */
@keyframes stockPulse {
    0% { opacity: 1; }
    50% { opacity: 0.7; }
    100% { opacity: 1; }
}

.envy-stock-bar--low {
    animation: stockPulse 2s ease-in-out infinite;
}

/* Responsive */
@media (max-width: 768px) {
    .envy-stock-progress {
        margin: 0;
        padding: 0;
    }
    
    .envy-stock-progress--single {
        margin: 0;
        padding: 0;
    }
}

/* Hover effects */
.envy-stock-progress:hover .envy-stock-bar {
    transform: scaleY(1.1);
}

/* Transiciones suaves */
.envy-stock-progress * {
    transition: all 0.2s ease;
}

/* === Número único del producto === */

.envy-unique-number {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    font-size: 14px;
    font-weight: 400;
    color: #000000;
    font-family: inherit;
    letter-spacing: -0.075em;
}

.envy-unique-number__text {
    color: #000000;
}

.envy-unique-number__number {
    color: #000000;
    font-weight: 400;
}

.envy-unique-number__stock {
    color: #000000;
    font-style: italic;
}

/* === Barra de progreso como shortcode === */

.envy-stock-progress--shortcode {
    margin: 0;
    padding: 0;
}

.envy-stock-progress--shortcode .envy-stock-bar-container {
    margin-bottom: 0;
}

.envy-stock-progress--shortcode .envy-stock-labels {
    margin-top: 0;
}

/* === Notificaciones AJAX === */

.envy-notification {
    position: fixed;
    top: 20px;
    left: 20px; /* Izquierda en PC */
    padding: 15px 20px;
    border-radius: 6px;
    color: #fff;
    font-weight: 500;
    z-index: 99999; /* Mucho mayor que el carrito (200) */
    transform: translateX(-100%); /* Animación desde la izquierda */
    transition: transform 0.3s ease;
    max-width: 300px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.envy-notification.show {
    transform: translateX(0);
}

.envy-notification--success {
    background: #27ae60;
}

.envy-notification--error {
    background: #e74c3c;
}

/* Botones de WooCommerce con tipografía personalizada */
body.envyclub-active .add_to_cart_button,
body.envyclub-active .single_add_to_cart_button,
body.envyclub-active .button.woocommerce,
body.envyclub-active .woocommerce button.button,
body.envyclub-active .woocommerce input.button {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Botones de añadir al carrito con estado de carga */
.add_to_cart_button.loading,
.single_add_to_cart_button.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Botones de carga - estilos básicos */
.add_to_cart_button.loading,
.single_add_to_cart_button.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Responsive para notificaciones - móvil centrado y encima del carrito */
@media (max-width: 768px) {
    .envy-notification {
        top: auto;
        bottom: 20px;
        left: 50%;
        right: auto;
        transform: translateX(-50%) translateY(100%); /* Centrado y animación desde abajo */
        max-width: calc(100vw - 40px);
        text-align: center;
        z-index: 99999; /* Asegurar que esté encima del carrito */
    }
    
    .envy-notification.show {
        transform: translateX(-50%) translateY(0); /* Centrado y visible */
    }
}

/* === Sección de resumen del carrito sticky === */
/* Hacer que la sección del carrito se quede fija al hacer scroll - SOLO PC Y TABLET */
@media (min-width: 769px) {
    .flux-checkout__order-review {
        position: sticky !important;
        top: 20px !important;
        z-index: 10 !important;
        background: #fff !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
        padding: 20px !important;
        margin-bottom: 20px !important;
    }
    
    /* Asegurar que el contenido del carrito sea visible */
    .flux-checkout__order-review .woocommerce-checkout-review-order {
        max-height: 70vh !important;
        overflow-y: auto !important;
        scrollbar-width: thin !important;
        scrollbar-color: rgba(0, 0, 0, 0.3) transparent !important;
    }
    
    /* Scrollbar personalizada para el carrito sticky */
    .flux-checkout__order-review .woocommerce-checkout-review-order::-webkit-scrollbar {
        width: 6px !important;
    }
    
    .flux-checkout__order-review .woocommerce-checkout-review-order::-webkit-scrollbar-track {
        background: transparent !important;
        border-radius: 3px !important;
    }
    
    .flux-checkout__order-review .woocommerce-checkout-review-order::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.3) !important;
        border-radius: 3px !important;
        transition: background 0.3s ease !important;
    }
    
    .flux-checkout__order-review .woocommerce-checkout-review-order::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.5) !important;
    }
}


/* === Carrusel de imágenes del producto - Tamaño personalizado === */
/* Fondo gris para el carrusel de imágenes en móvil */
@media (max-width: 768px) {
    .elementor-element.elementor-hidden-desktop.elementor-hidden-tablet.elementor-widget-tp-woo-single-image {
        background-color: #f7f7f7 !important;
        padding: 15px !important;
        border-radius: 8px !important;
    }
    
    .elementor-element.elementor-hidden-desktop.elementor-hidden-tablet.elementor-widget-tp-woo-single-image .tp-woo-single-image {
        background-color: #f7f7f7 !important;
    }
}
/* Puntos del carrusel más pequeños - 6x6px */
.slick-dots li {
    width: 6px !important;
    height: 6px !important;
    margin: 0 3px !important;
}

.slick-dots li button {
    width: 6px !important;
    height: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* SVGs del carrusel - 6x6px */
.slick-dots li svg {
    width: 6px !important;
    height: 6px !important;
}

.slick-dots li svg circle {
    r: 3px !important;
}

/* Contenedor de puntos - espaciado ajustado */
.slick-dots {
    gap: 6px !important;
}

/* Aplicar también en móvil */
@media (max-width: 768px) {
    .slick-dots li {
        width: 6px !important;
        height: 6px !important;
        margin: 0 3px !important;
    }
    
    .slick-dots li button {
        width: 6px !important;
        height: 6px !important;
    }
    
    .slick-dots li svg {
        width: 6px !important;
        height: 6px !important;
    }
    
    .slick-dots li svg circle {
        r: 3px !important;
    }
    
    .slick-dots {
        gap: 6px !important;
    }
}

/* =========================================
   ENVY MINI CART LOADING SPINNER
========================================= */
/* Spinner de carga para el mini-cart */
body.envyclub-active .envy-mini-cart-loading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
  min-height: 200px !important;
}

body.envyclub-active .envy-spinner {
  width: 32px !important;
  height: 32px !important;
  border: 3px solid #f3f3f3 !important;
  border-top: 3px solid #000000 !important;
  border-radius: 50% !important;
  animation: envySpin 1s linear infinite !important;
}

@keyframes envySpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* =========================================
   ENVY LIGHTBOX - GALERÍA DE IMÁGENES
========================================= */
/* Contenedor principal del lightbox */
body.envyclub-active .envy-lightbox {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 99999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Estado activo del lightbox */
body.envyclub-active .envy-lightbox--active {
    display: flex !important;
    opacity: 1 !important;
}

/* Overlay de fondo */
body.envyclub-active .envy-lightbox__overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.9) !important;
    cursor: pointer !important;
}

/* Imagen principal del lightbox */
body.envyclub-active .envy-lightbox__image {
    max-width: 90vw !important;
    max-height: 90vh !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
    position: relative !important;
    z-index: 1 !important;
    transition: transform 0.3s ease !important;
}

/* Botones de control */
body.envyclub-active .envy-lightbox__close,
body.envyclub-active .envy-lightbox__prev,
body.envyclub-active .envy-lightbox__next,
body.envyclub-active .envy-lightbox__zoom {
    position: absolute !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    font-size: 24px !important;
    font-weight: bold !important;
    color: #333 !important;
    cursor: pointer !important;
    z-index: 2 !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Hover en botones */
body.envyclub-active .envy-lightbox__close:hover,
body.envyclub-active .envy-lightbox__prev:hover,
body.envyclub-active .envy-lightbox__next:hover,
body.envyclub-active .envy-lightbox__zoom:hover {
    background: rgba(255, 255, 255, 1) !important;
    transform: scale(1.1) !important;
}

/* Posicionamiento de botones */
body.envyclub-active .envy-lightbox__close {
    top: 20px !important;
    right: 20px !important;
}

body.envyclub-active .envy-lightbox__prev {
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

body.envyclub-active .envy-lightbox__next {
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

body.envyclub-active .envy-lightbox__zoom {
    top: 20px !important;
    left: 20px !important;
    font-size: 20px !important;
}

/* Contador de imágenes */
body.envyclub-active .envy-lightbox__counter {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: rgba(0, 0, 0, 0.7) !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    z-index: 2 !important;
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Indicador de carga */
body.envyclub-active .envy-lightbox__loading {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2 !important;
    display: none !important;
}

/* Spinner de carga */
body.envyclub-active .envy-lightbox__spinner {
    width: 40px !important;
    height: 40px !important;
    border: 4px solid rgba(255, 255, 255, 0.3) !important;
    border-top: 4px solid white !important;
    border-radius: 50% !important;
    animation: envy-lightbox-spin 1s linear infinite !important;
}

/* Animación del spinner */
@keyframes envy-lightbox-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Responsive para móviles */
@media (max-width: 768px) {
    body.envyclub-active .envy-lightbox__close,
    body.envyclub-active .envy-lightbox__prev,
    body.envyclub-active .envy-lightbox__next,
    body.envyclub-active .envy-lightbox__zoom {
        width: 40px !important;
        height: 40px !important;
        font-size: 20px !important;
    }

    body.envyclub-active .envy-lightbox__close {
        top: 15px !important;
        right: 15px !important;
    }

    body.envyclub-active .envy-lightbox__prev {
        left: 15px !important;
    }

    body.envyclub-active .envy-lightbox__next {
        right: 15px !important;
    }

    body.envyclub-active .envy-lightbox__zoom {
        top: 15px !important;
        left: 15px !important;
        font-size: 18px !important;
    }

    body.envyclub-active .envy-lightbox__counter {
        bottom: 15px !important;
        font-size: 12px !important;
        padding: 6px 12px !important;
    }

    body.envyclub-active .envy-lightbox__image {
        max-width: 95vw !important;
        max-height: 85vh !important;
    }
}

/* Ocultar botones de navegación si solo hay una imagen */
body.envyclub-active .envy-lightbox--single .envy-lightbox__prev,
body.envyclub-active .envy-lightbox--single .envy-lightbox__next {
    display: none !important;
}

/* Cursor pointer para imágenes clickeables */
body.envyclub-active .tp-woo-gallery img,
body.envyclub-active .slick-slide img {
    cursor: pointer !important;
    transition: none !important;
}

/* Estados del lightbox con zoom */
body.envyclub-active .envy-lightbox--zoomed .envy-lightbox__image {
    cursor: grab !important;
    transform-origin: center !important;
}

body.envyclub-active .envy-lightbox--zoomed .envy-lightbox__image:active {
    cursor: grabbing !important;
}

/* Ocultar botones de navegación cuando está en zoom */
body.envyclub-active .envy-lightbox--zoomed .envy-lightbox__prev,
body.envyclub-active .envy-lightbox--zoomed .envy-lightbox__next {
    opacity: 0.3 !important;
    pointer-events: none !important;
}

/* Mejoras de accesibilidad */
body.envyclub-active .envy-lightbox:focus {
    outline: none !important;
}

body.envyclub-active .envy-lightbox__close:focus,
body.envyclub-active .envy-lightbox__prev:focus,
body.envyclub-active .envy-lightbox__next:focus {
    outline: 2px solid #000000 !important;
    outline-offset: 2px !important;
}

/* === Aplicar Neue Haas Unica a elementos específicos === */
body.envyclub-active * {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Elementos específicos de WooCommerce */
body.envyclub-active .woocommerce,
body.envyclub-active .woocommerce-page,
body.envyclub-active .woocommerce div.product,
body.envyclub-active .woocommerce-page div.product,
body.envyclub-active .woocommerce .woocommerce-breadcrumb,
body.envyclub-active .woocommerce-page .woocommerce-breadcrumb,
body.envyclub-active .woocommerce .woocommerce-message,
body.envyclub-active .woocommerce-page .woocommerce-message,
body.envyclub-active .woocommerce .woocommerce-error,
body.envyclub-active .woocommerce-page .woocommerce-error,
body.envyclub-active .woocommerce .woocommerce-info,
body.envyclub-active .woocommerce-page .woocommerce-info,
body.envyclub-active .woocommerce .price,
body.envyclub-active .woocommerce-page .price,
body.envyclub-active .woocommerce .woocommerce-loop-product__title,
body.envyclub-active .woocommerce-page .woocommerce-loop-product__title,
body.envyclub-active .woocommerce .product_title,
body.envyclub-active .woocommerce-page .product_title,
body.envyclub-active .woocommerce .woocommerce-tabs,
body.envyclub-active .woocommerce-page .woocommerce-tabs,
body.envyclub-active .woocommerce .woocommerce-form,
body.envyclub-active .woocommerce-page .woocommerce-form,
body.envyclub-active .woocommerce .woocommerce-checkout,
body.envyclub-active .woocommerce-page .woocommerce-checkout,
body.envyclub-active .woocommerce .woocommerce-cart,
body.envyclub-active .woocommerce-page .woocommerce-cart {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Elementos de formularios */
body.envyclub-active input[type="text"],
body.envyclub-active input[type="email"],
body.envyclub-active input[type="password"],
body.envyclub-active input[type="tel"],
body.envyclub-active input[type="url"],
body.envyclub-active input[type="search"],
body.envyclub-active textarea,
body.envyclub-active select,
body.envyclub-active .form-control,
body.envyclub-active .wpcf7-form-control,
body.envyclub-active .gform_wrapper input,
body.envyclub-active .gform_wrapper textarea,
body.envyclub-active .gform_wrapper select {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Elementos de navegación */
body.envyclub-active .main-navigation,
body.envyclub-active .menu,
body.envyclub-active .nav-menu,
body.envyclub-active .wp-block-navigation,
body.envyclub-active .elementor-nav-menu {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Elementos de Elementor */
body.envyclub-active .elementor-widget-text-editor,
body.envyclub-active .elementor-widget-heading,
body.envyclub-active .elementor-widget-button,
body.envyclub-active .elementor-widget-html,
body.envyclub-active .elementor-widget-shortcode,
body.envyclub-active .elementor-widget-woocommerce-product-title,
body.envyclub-active .elementor-widget-woocommerce-product-price,
body.envyclub-active .elementor-widget-woocommerce-product-excerpt,
body.envyclub-active .elementor-widget-woocommerce-product-content,
body.envyclub-active .elementor-widget-woocommerce-product-meta,
body.envyclub-active .elementor-widget-woocommerce-product-rating,
body.envyclub-active .elementor-widget-woocommerce-product-stock,
body.envyclub-active .elementor-widget-woocommerce-product-short-description,
body.envyclub-active .elementor-widget-woocommerce-product-add-to-cart,
body.envyclub-active .elementor-widget-woocommerce-product-images,
body.envyclub-active .elementor-widget-woocommerce-product-gallery,
body.envyclub-active .elementor-widget-woocommerce-product-tabs,
body.envyclub-active .elementor-widget-woocommerce-product-related,
body.envyclub-active .elementor-widget-woocommerce-product-upsell,
body.envyclub-active .elementor-widget-woocommerce-product-data-tabs,
body.envyclub-active .elementor-widget-woocommerce-product-additional-information,
body.envyclub-active .elementor-widget-woocommerce-product-reviews,
body.envyclub-active .elementor-widget-woocommerce-product-archive,
body.envyclub-active .elementor-widget-woocommerce-product-archive-description,
body.envyclub-active .elementor-widget-woocommerce-product-archive-meta,
body.envyclub-active .elementor-widget-woocommerce-product-archive-rating,
body.envyclub-active .elementor-widget-woocommerce-product-archive-stock,
body.envyclub-active .elementor-widget-woocommerce-product-archive-short-description,
body.envyclub-active .elementor-widget-woocommerce-product-archive-add-to-cart,
body.envyclub-active .elementor-widget-woocommerce-product-archive-images,
body.envyclub-active .elementor-widget-woocommerce-product-archive-gallery,
body.envyclub-active .elementor-widget-woocommerce-product-archive-tabs,
body.envyclub-active .elementor-widget-woocommerce-product-archive-related,
body.envyclub-active .elementor-widget-woocommerce-product-archive-upsell,
body.envyclub-active .elementor-widget-woocommerce-product-archive-data-tabs,
body.envyclub-active .elementor-widget-woocommerce-product-archive-additional-information,
body.envyclub-active .elementor-widget-woocommerce-product-archive-reviews {
    font-family: "Neue Haas Unica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

