.elementor-kit-5{--e-global-color-primary:#32C832;--e-global-color-text:#FF8913;--e-global-color-accent:#252B33;--e-global-color-secondary:#2E7D32;--e-global-color-39f9edb:#96AAC3;--e-global-color-613dbaa:#8EDE09;--e-global-typography-primary-font-family:"Red Hat Display";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Red Hat Display";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Red Hat Display";--e-global-typography-accent-font-weight:500;background-color:#F3F3F3;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:40px;--container-default-padding-right:40px;--container-default-padding-bottom:40px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Overlay */
.kanasta24-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
}
.kanasta24-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

/* Caja */
.kanasta24-modal-content {
  position: relative;
  background: #fff;
  width: 90%;
  max-width: 400px;
  margin: 80px auto;
  border-radius: 10px;
  padding: 20px;
  z-index: 10000;
}

/* Header */
.kanasta24-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kanasta24-close {
  cursor: pointer;
  font-size: 22px;
}

/* Selectores */
.kanasta24-select {
  width: 100%;
  padding: 10px;
  margin: 10px 0 20px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

/* Botón */
.kanasta24-btn {
  width: 100%;
  padding: 12px;
  background: #32C832;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
}


/* 🔹 Slider horizontal en móviles */
@media (max-width: 767px) {
  .elementor-widget-wc-categories ul.products {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding-bottom: 10px;
  }

  .elementor-widget-wc-categories ul.products::-webkit-scrollbar {
    display: none; /* Ocultar scrollbar */
  }

  .elementor-widget-wc-categories ul.products li.product-category {
    flex: 0 0 25%; /* 4 por fila (100/4 = 25) */
    max-width: 25%;
    scroll-snap-align: start;
    text-align: center;
  }

  .elementor-widget-wc-categories ul.products li.product-category img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  /* Contenedor con posición relativa */
  .elementor-widget-wc-categories {
    position: relative;
  }

  /* Flechas */
  .cat-arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: bold;
    color: #666;
    background: rgba(255,255,255,0.9);
    padding: 4px 6px;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 10;
    cursor: pointer;
    user-select: none;
  }

  .cat-arrow.left { left: 5px; }
  .cat-arrow.right { right: 5px; }

  /* Opcional: ocultar las flechas si no hay overflow */
  .elementor-widget-wc-categories ul.products:not(:has(li:nth-child(5))) ~ .cat-arrow {
    display: none;
  }
}
/* ===== Estilos generales para categorías ===== */
.elementor-widget-wc-categories ul.products li.product-category a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.elementor-widget-wc-categories ul.products li.product-category h2 {
  font-size: 12px !important;
  line-height: 1.2em;
  text-align: center;
  margin-top: 4px;
}

/* ===== Versión móvil ===== */
@media (max-width: 767px) {
  .elementor-widget-wc-categories ul.products li.product-category {
    max-width: 90px;
    flex: 0 0 90px;
  }
  .elementor-widget-wc-categories ul.products li.product-category img {
    width: 70px !important;
    height: auto;
  }
}

/* ===== Versión escritorio ===== */
@media (min-width: 768px) {
  .elementor-widget-wc-categories ul.products li.product-category {
    max-width: 120px;
    flex: 0 0 120px;
  }
  .elementor-widget-wc-categories ul.products li.product-category img {
    width: 100px;
    height: auto;
  }
}
/*css productos*/

/* 1) Cada tarjeta de producto en columna y a igual altura */
ul.products.elementor-grid li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 2) El bloque con imagen+título+precio se estira */
ul.products.elementor-grid li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;  /* ocupa el espacio disponible */
}

/* 3) Título: reserva SIEMPRE 2 líneas (aunque sólo use 1) */
ul.products.elementor-grid li.product h2.woocommerce-loop-product__title {
  min-height: calc(1.0em * 3);   /* alto fijo para 2 líneas */
  display: -webkit-box;
  -webkit-line-clamp: 2;         /* corta a 2 líneas con “…” */
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0px 0 0;
}

/* 4) Precio con altura constante para que no empuje el botón */
ul.products.elementor-grid li.product .price {
  min-height: 1.9em;             /* 1 línea de precio */
  margin-top: auto;               /* baja el precio dentro del primer <a> */
}

/* 5) Botón: siempre a la misma línea inferior */
ul.products.elementor-grid li.product a.button.add_to_cart_button {
  margin-top: 12px;               /* separación del precio */
  align-self: stretch;            /* full width opcional */
}


/* Botón ancho completo dentro de cada producto */
ul.products.elementor-grid li.product a.button.add_to_cart_button {
  display: block;
  width: 100%;              /* que se estire a todo el ancho */
  text-align: center;       /* texto centrado */
  margin-top: 8px;          /* separacion pequeña respecto al precio */
  border-radius: 8px;       /* opcional: bordes redondeados */
}/* End custom CSS */