body.ce-kit-1{color:#11105D;}a, .elementor a{color:#11105D;}body.ce-kit-1 h1{color:#11105D;}body.ce-kit-1 .ce-display-small{color:#11105D;}.elementor-button, a.elementor-button:not(#e){color:#FFFFFF;}.elementor-button{background-color:#FF143E;}.elementor-button:hover, .elementor-button:focus, a.elementor-button:not(#e):hover, a.elementor-button:not(#e):focus{color:#FFFFFF;}.elementor-button:hover, .elementor-button:focus{background-color:#170DEC;}.elementor-button.elementor-size-sm{border-radius:20px 20px 20px 20px;}.elementor-button-primary .elementor-button, .elementor-button-primary a.elementor-button:not(#e){color:#FFFFFF;}.elementor-button-primary .elementor-button{background-color:#FF143E;}.elementor-button-primary .elementor-button:hover, .elementor-button-primary .elementor-button:focus, .elementor-button-primary a.elementor-button:not(#e):hover, .elementor-button-primary a.elementor-button:not(#e):focus{color:#FFFFFF;}.elementor-button-primary .elementor-button:hover, .elementor-button-primary .elementor-button:focus{background-color:#170DEC;}.elementor-button-secondary .elementor-button, .elementor-button-secondary a.elementor-button:not(#e){color:#FFFFFF;}.elementor-button-secondary .elementor-button{background-color:#170DEC;}.elementor-button-secondary .elementor-button:hover, .elementor-button-secondary .elementor-button:focus, .elementor-button-secondary a.elementor-button:not(#e):hover, .elementor-button-secondary a.elementor-button:not(#e):focus{color:#FFFFFF;}.elementor-button-secondary .elementor-button:hover, .elementor-button-secondary .elementor-button:focus{background-color:#FF143E;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}body.ce-kit-1 .page-header, body.ce-kit-1 .page-header *, body.ce-kit-1 .ce-page-title *{color:#11105D;}.elementor-lightbox{background-color:#F3F3F3;}/* Start custom CSS for page-settings *//* ==== Carruseles: 4 en desktop, 2 en tablet, 1 en móvil ==== */
.elementor .elementor-carousel-wrapper .swiper-wrapper{
  display:flex !important;
}

.elementor .elementor-carousel-wrapper .swiper-slide{
  /* Forzamos a ignorar el width inline (p.ej. 634px) */
  width:25% !important;          /* 4 por vista en desktop */
  flex:0 0 25% !important;
  box-sizing:border-box;
  padding:0 10px;                 /* separación entre tarjetas */
}

/* Ajuste de márgenes para que el padding no “muerda” los bordes */
.elementor .elementor-carousel-wrapper{
  margin-left:-10px;
  margin-right:-10px;
}

/* Tablet: 2 tarjetas */
@media (max-width:1024px){
  .elementor .elementor-carousel-wrapper .swiper-slide{
    width:50% !important;
    flex:0 0 50% !important;
  }
}

/* Móvil: 1 tarjeta */
@media (max-width:767px){
  .elementor .elementor-carousel-wrapper .swiper-slide{
    width:100% !important;
    flex:0 0 100% !important;
  }
}

/* (Opcional) Evita que columnas internas impongan 100% */
.elementor .swiper-slide .elementor-column{ width:auto !important; }

/* (Opcional) Evita que tarjetas crezcan raras por contenidos largos */
.elementor .swiper-slide .elementor-product-miniature .elementor-title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
}
/* 1) Evitar que el "boxed" interno sea más ancho que el slide */
.elementor .swiper-slide .elementor-top-section{ 
  width:100% !important;
  max-width:none !important;
}
.elementor .swiper-slide .elementor-container{
  width:100% !important;
  max-width:none !important;
}

/* 2) Hacer que la tarjeta rellene el alto y no crezca rara */
.elementor .swiper-slide [data-elementor-type="product-miniature"] .elementor-top-section{
  height: 520px !important;          /* ajusta a tu gusto */
  display:flex;                       /* para estirar contenido */
}
.elementor .swiper-slide .elementor-column,
.elementor .swiper-slide .elementor-column-wrap,
.elementor .swiper-slide .elementor-widget-wrap{
  height:100% !important;
}
.elementor .swiper-slide .elementor-product-miniature{
  display:flex; flex-direction:column; height:100%;
}

/* Reservar hueco para “features” y que no desplace alturas */
.elementor .swiper-slide .elementor-widget-product-features > .elementor-widget-container{
  min-height:48px;                    /* si no usas features pon 0 */
}

/* 3) Imagen contenida: no se deforma ni desborda */
.elementor .swiper-slide .elementor-product-miniature .elementor-image img{
  width:100%; height:240px;           /* ajusta la altura visual */
  object-fit:contain;                 /* que no se recorte */
  display:block;
}

/* 4) Título a dos líneas para que no “estire” */
.elementor .swiper-slide .elementor-product-miniature .elementor-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
}

/* Evitar que el contenido ensanche el slide (muy importante en flex) */
.elementor .elementor-carousel-wrapper .swiper-slide{
  overflow:hidden;                     /* corta cualquier desborde visual */
}

.elementor .swiper-slide .elementor-column,
.elementor .swiper-slide .elementor-column-wrap,
.elementor .swiper-slide .elementor-widget-wrap,
.elementor .swiper-slide .elementor-product-miniature,
.elementor .swiper-slide .elementor-content{
  min-width:0 !important;              /* permite que el texto se contraiga */
  max-width:100% !important;
  box-sizing:border-box;
}

/* El enlace que envuelve la tarjeta no debe crecer más que el slide */
.elementor .swiper-slide .elementor-product-link{
  display:block;
  max-width:100%;
}

/* Título: altura limitada + ruptura de palabras largas */
.elementor .swiper-slide .elementor-product-miniature .elementor-title{
  display:-webkit-box;
  -webkit-line-clamp:2;                /* máx. 2 líneas */
  -webkit-box-orient:vertical;
  overflow:hidden; 
  text-overflow:ellipsis;
  line-height:1.25;
  max-height:calc(1.25em * 2);         /* coincide con 2 líneas */
  word-break:break-word;               /* rompe palabras muy largas */
  hyphens:auto;                        /* guiones si el idioma lo permite */
}

/* Por si alguna etiqueta de precio u otros spans tiran del ancho */
.elementor .swiper-slide .elementor-price-wrapper,
.elementor .swiper-slide .elementor-price,
.elementor .swiper-slide .elementor-price-regular{
  max-width:100%;
  min-width:0;
  white-space:normal;                  /* que no se quede en una sola línea */
}/* End custom CSS */