.elementor-1646 .elementor-element.elementor-element-949ff6b{--display:flex;--min-height:520px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:0.5;--padding-top:0%;--padding-bottom:3%;--padding-left:0%;--padding-right:0%;}.elementor-1646 .elementor-element.elementor-element-949ff6b::before, .elementor-1646 .elementor-element.elementor-element-949ff6b > .elementor-background-video-container::before, .elementor-1646 .elementor-element.elementor-element-949ff6b > .e-con-inner > .elementor-background-video-container::before, .elementor-1646 .elementor-element.elementor-element-949ff6b > .elementor-background-slideshow::before, .elementor-1646 .elementor-element.elementor-element-949ff6b > .e-con-inner > .elementor-background-slideshow::before, .elementor-1646 .elementor-element.elementor-element-949ff6b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#383838;--background-overlay:'';}.elementor-1646 .elementor-element.elementor-element-949ff6b:not(.elementor-motion-effects-element-type-background), .elementor-1646 .elementor-element.elementor-element-949ff6b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top center;background-repeat:no-repeat;background-size:auto;}.elementor-1646 .elementor-element.elementor-element-b7f080b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1646 .elementor-element.elementor-element-0834ba1{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;text-align:start;}.elementor-1646 .elementor-element.elementor-element-0834ba1.elementor-element{--align-self:center;}.elementor-1646 .elementor-element.elementor-element-0834ba1 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:3rem;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;word-spacing:0em;color:#FFFFFF;}.elementor-1646 .elementor-element.elementor-element-a434511{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-1646 .elementor-element.elementor-element-e5fbb60{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1646 .elementor-element.elementor-element-e1286b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-1646 .elementor-element.elementor-element-949ff6b{--min-height:300px;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-1646 .elementor-element.elementor-element-0834ba1 .elementor-heading-title{font-size:45px;}}@media(max-width:767px){.elementor-1646 .elementor-element.elementor-element-949ff6b{--min-height:60vh;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-1646 .elementor-element.elementor-element-949ff6b:not(.elementor-motion-effects-element-type-background), .elementor-1646 .elementor-element.elementor-element-949ff6b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-size:cover;}.elementor-1646 .elementor-element.elementor-element-b7f080b{--content-width:100%;}.elementor-1646 .elementor-element.elementor-element-0834ba1 .elementor-heading-title{font-size:28px;line-height:1.1em;}}@media(min-width:768px){.elementor-1646 .elementor-element.elementor-element-b7f080b{--content-width:100%;}.elementor-1646 .elementor-element.elementor-element-a434511{--content-width:90%;}.elementor-1646 .elementor-element.elementor-element-e5fbb60{--width:25%;}.elementor-1646 .elementor-element.elementor-element-e1286b4{--width:75%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1646 .elementor-element.elementor-element-b7f080b{--content-width:420px;}}/* Start custom CSS for shortcode, class: .elementor-element-1251b08 *//* === LAYOUT GENERAL: FILTROS IZQUIERDA / PRODUCTOS DERECHA === */
.mallorkinas-shop-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

/* Si usas dos columnas de Elementor, aplica a la columna de filtros */
.elementor-widget-shortcode:has(#mallorkinas-filters) {
  flex: 0 0 260px;
}

/* Columna productos crece */
.elementor-widget-shortcode:has(#mallorkinas-products) {
  flex: 1 1 auto;
}

/* === FILTROS === */
#mallorkinas-filters {
  border: 1px solid #e5e5e5;
  padding: 20px 22px;
  background: #fafafa;
  border-radius: 12px;
  font-family: inherit;
}

#mallorkinas-filters h3 {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #615a6b;
  margin: 0 0 10px;
}

.mallorkinas-filter-group {
  margin-bottom: 22px;
}

.mallorkinas-filter-item {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 300;
  color: #4b4455;
  cursor: pointer;
}

.mallorkinas-filter-item input[type="checkbox"] {
  margin-right: 6px;
}

/* Precio */
.mallorkinas-price-row {
  display: flex;
  gap: 12px;
}

.mallorkinas-price-row label {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  color: #6c6575;
}

.mallorkinas-price-row input[type="number"] {
  margin-top: 4px;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #ddd;
  background: #fff;
  font-size: 13px;
  width: 100%;
}

/* === GRID DE PRODUCTOS (SHORTCODE [mallorkinas_products]) === */
#mallorkinas-products ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
}

/* Card base (ya la tenías, la dejo resumida) */
.mallorkinas-card {
  list-style: none;
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #f1e4ff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Imagen + efecto hover título en foto */
.mallorkinas-card__image {
  position: relative;
  overflow: hidden;
}

.mallorkinas-card__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.mallorkinas-card:hover .mallorkinas-card__image img {
  transform: scale(1.03);
}

.mallorkinas-card__image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: linear-gradient(to top, rgba(255,255,255,0.96), rgba(255,255,255,0));
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.mallorkinas-card__image::before {
  content: attr(data-title);
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  font-size: 15px;
  color: #b3b3b3;
  text-align: center;
  white-space: nowrap;
  max-width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.mallorkinas-card:hover .mallorkinas-card__image::after,
.mallorkinas-card:hover .mallorkinas-card__image::before {
  opacity: 1;
}

/* Contenido inferior */
.mallorkinas-card__content {
  padding: 16px 18px 18px;
  text-align: center;
}

.mallorkinas-card__title {
  font-size: 15px;
  font-weight: 500;
  margin: 0 0 6px;
  color: #2d2733;
}

.mallorkinas-card__title a {
  color: inherit;
  text-decoration: none;
}

.mallorkinas-card__price {
  display: block;
  font-size: 14px;
  color: #7c6f8f;
  margin-bottom: 14px;
}

/* Botón */
.mallorkinas-card__actions {
  margin-top: auto;
}

.mallorkinas-card__actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  border-radius: 999px;
  border: 1px solid #a239a8;
  background: #ffffff;
  color: #a239a8;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.mallorkinas-card__actions .button:hover {
  background: #a239a8;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(162, 57, 168, 0.25);
}

/* Imágenes sueltas de Woo ocultas en la tienda */
.woocommerce-shop img.attachment-woocommerce_thumbnail {
  display: none;
}
.woocommerce-shop .mallorkinas-card__image img.attachment-woocommerce_thumbnail {
  display: block;
}

/* Estado loading */
#mallorkinas-products ul.products.mallorkinas-loading {
  opacity: 0.4;
  pointer-events: none;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  #mallorkinas-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .mallorkinas-shop-layout {
    flex-direction: column;
  }

  #mallorkinas-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  #mallorkinas-products ul.products {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-254195a *//* ==== GRID SOLO PARA [mallorkinas_products] ==== */
#mallorkinas-products ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
}

/* Card base */
#mallorkinas-products .mallorkinas-card {
  list-style: none;
  background: #ffffff;
  border-radius: 0px;
  overflow: hidden;
  border: 1px solid #f1e4ff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Enlace imagen */
#mallorkinas-products .mallorkinas-card__image-link {
  display: block;
}

/* Contenedor imagen */
#mallorkinas-products .mallorkinas-card__image {
  position: relative;
  overflow: hidden;
}

/* Imagen normal */
#mallorkinas-products .mallorkinas-card__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
}

/* Zoom suave al hacer hover en la card */
#mallorkinas-products .mallorkinas-card:hover .mallorkinas-card__image img {
  transform: scale(1.03);
}

/* Degradado blanco en la parte baja (oculto por defecto) */
#mallorkinas-products .mallorkinas-card__image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  background: linear-gradient(to top, rgba(255,255,255,0.96), rgba(255,255,255,0));
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

/* Título sobre la foto usando data-title */
#mallorkinas-products .mallorkinas-card__image::before {
  content: attr(data-title);
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  font-size: 15px;
  color: #b3b3b3; /* gris claro tipo imagen 2 */
  text-align: center;
  white-space: nowrap;
  max-width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none; /* deja pasar el clic al <a> */
}

/* Mostrar degradado + título al hacer hover */
#mallorkinas-products .mallorkinas-card:hover .mallorkinas-card__image::after,
#mallorkinas-products .mallorkinas-card:hover .mallorkinas-card__image::before {
  opacity: 1;
}

/* Contenido texto bajo la imagen */
#mallorkinas-products .mallorkinas-card__content {
  padding: 16px 18px 18px;
  text-align: center;
}

/* Título debajo (si quieres que desaparezca en hover, descomenta bloque siguiente) */
#mallorkinas-products .mallorkinas-card__title {
  font-size: 15px;
  font-weight: 500;
  margin: 0 0 6px;
  color: #2d2733;
}
#mallorkinas-products .mallorkinas-card__title a {
  color: inherit;
  text-decoration: none;
}

/* (Opcional) Ocultar título de abajo al hacer hover para que solo se vea sobre la foto */
/*
#mallorkinas-products .mallorkinas-card:hover .mallorkinas-card__title {
  opacity: 0;
}
*/

/* Precio */
#mallorkinas-products .mallorkinas-card__price {
  display: block;
  font-size: 14px;
  color: #7c6f8f;
  margin-bottom: 14px;
}

/* Botón añadir al carrito */
#mallorkinas-products .mallorkinas-card__actions {
  margin-top: auto;
}
#mallorkinas-products .mallorkinas-card__actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  border-radius: 0;

  border: none;
  border-bottom: 1px solid #b391a4;

  background: transparent;
  color: #b391a4;

  font-size: 14px;
  font-weight: 500;
  text-decoration: none;

  box-shadow: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

#mallorkinas-products .mallorkinas-card__actions .button:hover {
  background: transparent;
  color: #60123E;
  border-bottom: 1px solid #60123E;
  box-shadow: none;
}

/* Responsive solo para este grid */
@media (max-width: 1024px) {
  #mallorkinas-products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  #mallorkinas-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  #mallorkinas-products ul.products {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1286b4 */.woocommerce-shop img.attachment-woocommerce_thumbnail {
  display: none;
}

.woocommerce-shop .mallorkinas-card__image img.attachment-woocommerce_thumbnail {
  display: block;
}/* End custom CSS */