.elementor-7936 .elementor-element.elementor-element-0cad6e0{--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-7936 .elementor-element.elementor-element-65ff133{--display:flex;}.elementor-7936 .elementor-element.elementor-element-ab3f8a0{--display:flex;}.elementor-7936 .elementor-element.elementor-element-745623f{--display:flex;}.elementor-7936 .elementor-element.elementor-element-226fd6b{--display:flex;}.elementor-7936 .elementor-element.elementor-element-932c9a1{--display:flex;}.elementor-7936 .elementor-element.elementor-element-a1fcebf .cart button, .elementor-7936 .elementor-element.elementor-element-a1fcebf .cart .button{transition:all 0.2s;}.elementor-7936 .elementor-element.elementor-element-a1fcebf .quantity .qty{transition:all 0.2s;}.elementor-7936 .elementor-element.elementor-element-43302aa{--display:flex;}.elementor-7936 .elementor-element.elementor-element-54b3fdb{--display:flex;}.elementor-7936 .elementor-element.elementor-element-fc9c609{--display:flex;}.elementor-7936 .elementor-element.elementor-element-36e2d4b{--display:flex;}.elementor-7936 .elementor-element.elementor-element-d523d20{--display:flex;}.elementor-7936 .elementor-element.elementor-element-7ccc87a.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-7936 .elementor-element.elementor-element-7ccc87a.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(min-width:768px){.elementor-7936 .elementor-element.elementor-element-0cad6e0{--content-width:1240px;}}@media(max-width:1024px){.elementor-7936 .elementor-element.elementor-element-7ccc87a.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-7936 .elementor-element.elementor-element-7ccc87a.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS *//* producto-rediseno v1 - plantilla "Prod - Nueva plantilla de producto" */

/* ---------- Raíz ---------- */
.prod-raiz {
  padding: 20px 24px 80px !important;
  --gap: 0px;
  font-family: 'Rubik', sans-serif;
  color: #1B1B1B;
}
.prod-raiz > .e-con-inner { max-width: 1240px; }

/* ---------- Migas ---------- */
.prod-migas { margin-bottom: 28px; }
.prod-migas .woocommerce-breadcrumb { font-size: 13px; color: #1B1B1B; margin: 0; }
.prod-migas .woocommerce-breadcrumb a { color: #6D8594; text-decoration: none; }
.prod-migas .woocommerce-breadcrumb a:hover { color: #0E8C8E; }

/* ---------- Bloque principal ---------- */
.prod-principal {
  --display: grid;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
}
.prod-galeria, .prod-info { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; min-width: 0; }

.prod-galeria .woocommerce-product-gallery {
  background: #FFFFFF;
  border: 1px solid #EAEAE8;
  border-radius: 20px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin: 0;
  width: 100%;
}
.prod-galeria .woocommerce-product-gallery__wrapper { height: 100%; margin: 0; }
.prod-galeria .woocommerce-product-gallery__image {
  height: 100%;
  display: flex; align-items: center; justify-content: center;
}
.prod-galeria .woocommerce-product-gallery__image a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.prod-galeria .woocommerce-product-gallery__image img {
  width: 88% !important; height: 88% !important; max-width: none;
  object-fit: contain; margin: 0 auto; display: block;
}

.prod-info {
  --display: flex; --flex-direction: column; --gap: 22px;
  display: flex !important; flex-direction: column !important; gap: 22px;
}
.prod-info > .elementor-widget { width: 100%; margin: 0; }

.prod-titulo .elementor-heading-title, .prod-titulo h1 {
  font-family: 'Rubik', sans-serif; font-weight: 700;
  font-size: clamp(34px, 4.4vw, 54px); line-height: 1.02; letter-spacing: -0.02em;
  color: #1B1B1B; margin: 0;
}

.prod-precio {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
  align-items: center !important; justify-content: flex-start !important; gap: 8px 16px;
}
.prod-precio > .elementor-widget { width: auto; margin: 0; --container-widget-width: auto; flex: 0 0 auto; }
.prod-precio .price, .prod-precio .price .amount, .prod-precio .price bdi {
  font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 36px; line-height: 1.1; color: #1B1B1B; margin: 0;
}
.prod-precio .price del, .prod-precio .price del .amount { font-size: 20px; font-weight: 400; color: #6D8594; }
.prod-precio .price ins { text-decoration: none; }
.prod-precio .stock {
  display: inline-flex; align-items: center; gap: 8px; margin: 0;
  font-size: 13px; font-weight: 500; color: #1B1B1B;
}
.prod-precio .stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2E8B57; }
.prod-precio .stock.out-of-stock::before { background: #B3412F; }

.prod-corta, .prod-corta p { font-size: 17px; line-height: 1.55; max-width: 52ch; margin: 0; color: #1B1B1B; }

/* ---------- Compra ---------- */
.prod-compra {
  --padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px;
  background: #FFFFFF; border: 1px solid #EAEAE8; border-radius: 18px; padding: 20px;
}
.prod-compra .stock { display: none !important; }
.prod-compra form.cart, .prod-compra .woocommerce-variation-add-to-cart { margin: 0; }
.prod-compra .e-atc-qty-button-holder, .prod-compra .woocommerce-variation-add-to-cart {
  display: flex !important; flex-wrap: wrap !important; align-items: stretch; gap: 12px;
}
.prod-compra .woocommerce-variation-add-to-cart > .prod-resumen { flex: 1 0 100% !important; width: 100% !important; }
.prod-compra .quantity {
  display: flex; align-items: center; height: 54px; margin: 0;
  border: 1px solid #EAEAE8; border-radius: 12px; overflow: hidden; background: #FFFFFF;
}
.prod-compra .quantity input.qty {
  width: 56px; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent;
  text-align: center; font-family: 'Rubik', sans-serif; font-size: 16px; font-weight: 700; color: #1B1B1B;
  -moz-appearance: textfield; appearance: textfield; box-shadow: none;
}
.prod-compra .quantity input.qty::-webkit-outer-spin-button,
.prod-compra .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.prod-qty-btn {
  width: 48px; height: 100%; padding: 0; border: 0; background: #FFFFFF; color: #1B1B1B;
  font-size: 20px; line-height: 1; cursor: pointer; border-radius: 0;
}
.prod-qty-btn:hover { background: #F4F4F2; }
.prod-compra .single_add_to_cart_button {
  flex: 1 1 200px; min-width: 200px; height: 54px; margin: 0; padding: 0 20px;
  border: 0; border-radius: 12px; background: #13B1B3; color: #FFFFFF;
  font-family: 'Rubik', sans-serif; font-size: 16px; font-weight: 700; line-height: 1;
  transition: background .15s; cursor: pointer;
}
.prod-compra .single_add_to_cart_button:hover { background: #0E8C8E; color: #FFFFFF; }
.prod-compra .single_add_to_cart_button.disabled, .prod-compra .single_add_to_cart_button:disabled { opacity: .5; cursor: not-allowed; }
.prod-compra table.variations { width: 100%; margin: 0 0 16px; border: 0; }
.prod-compra table.variations th, .prod-compra table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; }
.prod-compra table.variations label { font-size: 14px; font-weight: 600; color: #1B1B1B; margin-bottom: 6px; display: block; }
.prod-compra table.variations select {
  width: 100%; height: 48px; padding: 0 14px; border: 1px solid #EAEAE8; border-radius: 12px;
  background-color: #FFFFFF; font-family: 'Rubik', sans-serif; font-size: 15px; color: #1B1B1B;
}
.prod-compra .reset_variations { font-size: 13px; color: #6D8594; }
.prod-compra .woocommerce-variation-price, .prod-compra .woocommerce-variation-description, .prod-compra .woocommerce-variation-availability { display: none !important; }
.prod-compra .single_variation_wrap { margin: 0; }
.prod-compra .reset_variations { display: inline-block; margin-top: 6px; font-size: 13px; color: #6D8594 !important; }
.prod-resumen {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  margin-top: 14px; font-size: 14px; color: #6D8594; flex: 1 0 100%; width: 100%;
}
.prod-resumen:empty { display: none; }
.prod-resumen__total strong { font-weight: 700; color: #1B1B1B; }
.prod-compra form.cart { display: flex; flex-wrap: wrap; }
.prod-compra form.cart > * { flex: 1 0 100%; }

/* ---------- Gift card (YITH) ---------- */
.prod-compra form.gift-cards_form h3 { margin: 22px 0 10px; font-family: 'Rubik', sans-serif; font-size: 16px; font-weight: 700; line-height: 1.3; color: #1B1B1B; }
.prod-compra form.gift-cards_form h3:first-of-type { margin-top: 0; }
.prod-compra form.gift-cards_form h4, .prod-compra form.gift-cards_form .ywgc-form-section-title { margin: 14px 0 8px; font-family: 'Rubik', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6D8594; }
.prod-compra form.gift-cards_form label { font-size: 14px; font-weight: 500; color: #1B1B1B; }
.prod-compra form.gift-cards_form input[type="text"], .prod-compra form.gift-cards_form input[type="email"], .prod-compra form.gift-cards_form input[type="number"]:not(.qty), .prod-compra form.gift-cards_form textarea {
  width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid #EAEAE8; border-radius: 12px; background: #FFFFFF;
  font-family: 'Rubik', sans-serif; font-size: 15px; color: #1B1B1B; box-shadow: none;
}
.prod-compra form.gift-cards_form textarea { min-height: 96px; }
.prod-compra form.gift-cards_form input:focus, .prod-compra form.gift-cards_form textarea:focus { border-color: #13B1B3; outline: none; }
.prod-compra form.gift-cards_form .ywgc-predefined-amount-button, .prod-compra form.gift-cards_form button.ywgc-predefined-amount-button {
  height: 40px; min-width: 84px; padding: 0 16px; border: 1.5px solid #1B1B1B; border-radius: 10px; background: #FFFFFF; color: #1B1B1B;
  font-family: 'Rubik', sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.prod-compra form.gift-cards_form .ywgc-predefined-amount-button:hover, .prod-compra form.gift-cards_form .ywgc-predefined-amount-button.selected_button {
  background: #13B1B3; border-color: #13B1B3; color: #FFFFFF;
}
.prod-compra form.gift-cards_form .ywgc-design-list img { border-radius: 10px; }

/* ---------- Galería con varias fotos (slider + miniaturas) ---------- */
.prod-galeria .woocommerce-product-gallery { aspect-ratio: auto !important; border: 0 !important; border-radius: 0 !important; background: none !important; overflow: visible !important; }
.prod-galeria .woocommerce-product-gallery .flex-viewport,
.prod-galeria .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
  aspect-ratio: 1 / 1; height: auto !important; background: #FFFFFF; border: 1px solid #EAEAE8; border-radius: 20px; overflow: hidden;
}
.prod-galeria .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper { height: 100% !important; }
.prod-galeria .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image { height: 100%; display: flex !important; align-items: center; justify-content: center; }
.prod-galeria .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; }
.prod-galeria .flex-control-thumbs { display: flex !important; gap: 8px; margin: 12px 0 0 !important; padding: 0 !important; list-style: none; overflow-x: auto; }
.prod-galeria .flex-control-thumbs li { flex: 0 0 72px; width: 72px !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.prod-galeria .flex-control-thumbs li img {
  display: block; width: 72px !important; height: 72px !important; object-fit: cover; opacity: .7; cursor: pointer;
  border: 1px solid #EAEAE8; border-radius: 12px; background: #FFFFFF; transition: opacity .15s, border-color .15s;
}
.prod-galeria .flex-control-thumbs li img:hover { opacity: 1; }
.prod-galeria .flex-control-thumbs li img.flex-active { opacity: 1; border: 2px solid #13B1B3; }

/* ---------- Cajas informativas ---------- */
.prod-cajas {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: #EAEAE8; border: 1px solid #EAEAE8; border-radius: 14px; overflow: hidden;
}
.prod-cajas > .elementor-widget { width: auto; margin: 0; }
.prod-caja { background: #F4F4F2; padding: 16px; height: 100%; }
.prod-caja .elementor-icon-box-wrapper { display: block; text-align: left; }
.prod-caja .elementor-icon-box-content { width: 100%; }
.prod-caja .elementor-icon-box-title { margin: 0 0 4px; line-height: 1.3; }
.prod-caja .elementor-icon-box-title, .prod-caja .elementor-icon-box-title span { font-size: 15px; font-weight: 700; color: #1B1B1B; }
.prod-caja .elementor-icon-box-description { margin: 0; font-size: 14px; line-height: 1.45; color: #6D8594; }
.prod-caja::before {
  content: ""; display: block; width: 24px; height: 24px; margin-bottom: 12px; background: #13B1B3;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
}
/* Retiro en tienda: tienda */
.prod-cajas > .prod-caja:nth-child(1)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9l1.5-5h13L20 9'/%3E%3Cpath d='M4 9a2.67 2.67 0 0 0 5.33 0 2.67 2.67 0 0 0 5.34 0A2.67 2.67 0 0 0 20 9'/%3E%3Cpath d='M5.5 12v8h13v-8'/%3E%3Cpath d='M10 20v-4.5h4V20'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9l1.5-5h13L20 9'/%3E%3Cpath d='M4 9a2.67 2.67 0 0 0 5.33 0 2.67 2.67 0 0 0 5.34 0A2.67 2.67 0 0 0 20 9'/%3E%3Cpath d='M5.5 12v8h13v-8'/%3E%3Cpath d='M10 20v-4.5h4V20'/%3E%3C/svg%3E");
}
/* Despacho: camión */
.prod-cajas > .prod-caja:nth-child(2)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4l4 4v3h-8'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4l4 4v3h-8'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
}
/* Pago seguro: escudo con check */
.prod-cajas > .prod-caja:nth-child(3)::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.2 8-8 9-4.8-1-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.2 8-8 9-4.8-1-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}

/* ---------- Descripción + características ---------- */
.prod-detalle {
  --padding-top: 48px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start;
  margin-top: 50px; padding-top: 48px; border-top: 1px solid #EAEAE8;
}
.prod-detalle:not(:has(table.woocommerce-product-attributes)) { grid-template-columns: 1fr; }
.prod-caract:not(:has(table.woocommerce-product-attributes)) { display: none !important; }
.prod-desc, .prod-caract { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; min-width: 0; }
.prod-detalle h2.elementor-heading-title { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 32px; line-height: 1.15; margin: 0 0 20px; color: #1B1B1B; }
.prod-desc .elementor-widget-woocommerce-product-content { font-size: 16px; line-height: 1.65; max-width: 68ch; }
.prod-desc .elementor-widget-woocommerce-product-content p { margin: 0 0 14px; }
.prod-caract table.woocommerce-product-attributes { width: 100%; border: 0; border-collapse: collapse; }
.prod-caract table.woocommerce-product-attributes th,
.prod-caract table.woocommerce-product-attributes td { padding: 14px 0; border: 0; border-bottom: 1px solid #EAEAE8; background: none; text-align: left; font-size: 15px; }
.prod-caract table.woocommerce-product-attributes th { width: 40%; font-weight: 400; color: #6D8594; }
.prod-caract table.woocommerce-product-attributes td { font-weight: 500; }
.prod-caract table.woocommerce-product-attributes td p { margin: 0; }

/* ---------- Meta ---------- */
.prod-meta { margin-top: 56px; background: #F4F4F2; border-radius: 14px; padding: 20px 24px; font-size: 13px; }
.prod-meta .sku_wrapper { display: none !important; }
.prod-meta .product_meta { display: flex; flex-direction: column; gap: 8px; }
.prod-meta .detail-container { display: flex; gap: 16px; align-items: baseline; margin: 0; }
.prod-meta .detail-label { flex: 0 0 90px; font-weight: 700; color: #1B1B1B; }
.prod-meta .detail-content { flex: 1; line-height: 1.7; }
.prod-meta .detail-content a { color: #6D8594; text-decoration: underline; }
.prod-meta .detail-content a:hover { color: #0E8C8E; }

/* ---------- Relacionados ---------- */
.prod-relacionados {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  margin-top: 88px;
}
.prod-relacionados h2.elementor-heading-title { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 32px; line-height: 1.15; margin: 0 0 24px; color: #1B1B1B; }
.prod-relacionados section.related > h2 { display: none; }
.prod-relacionados ul.products { gap: 20px; }
.prod-relacionados li.product { text-align: left; }
.prod-relacionados li.product img {
  display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 0 12px;
  border: 1px solid #EAEAE8; border-radius: 16px; background: #F4F4F2;
}
.prod-relacionados .woocommerce-loop-product__title { font-family: 'Rubik', sans-serif; font-size: 15px; font-weight: 500; line-height: 1.35; margin: 0 0 4px; color: #1B1B1B; padding: 0; }
.prod-relacionados li.product .price, .prod-relacionados li.product .price .amount { font-size: 17px; font-weight: 700; color: #1B1B1B; }
.prod-relacionados li.product .price { display: block; margin: 0 0 12px; }
.prod-relacionados li.product a.button {
  display: flex !important; align-items: center; justify-content: center; box-sizing: border-box;
  width: 100%; height: 38px; margin: 0; padding: 0 14px !important; line-height: 1 !important;
  border: 1.5px solid #1B1B1B; border-radius: 10px; background: #FFFFFF; color: #1B1B1B;
  font-family: 'Rubik', sans-serif; font-size: 13px; font-weight: 700; transition: background .15s, border-color .15s, color .15s;
}
.prod-relacionados li.product a.button:hover { background: #13B1B3; border-color: #13B1B3; color: #FFFFFF; }

/* ---------- Relacionados: centrado, alineación y badge ---------- */
.prod-relacionados ul.products { align-items: stretch; }
.prod-relacionados li.product {
  position: relative; display: flex !important; flex-direction: column; text-align: center !important;
  float: none; margin: 0; padding: 0;
}
.prod-relacionados li.product > a.woocommerce-LoopProduct-link {
  display: flex; flex-direction: column; flex: 1 1 auto; align-items: center; text-align: center; text-decoration: none;
}
.prod-relacionados li.product img { width: 100%; }
.prod-relacionados .woocommerce-loop-product__title { flex: 1 0 auto; width: 100%; text-align: center !important; margin: 0 0 6px !important; }
.prod-relacionados li.product .price { text-align: center !important; margin: 0 0 14px !important; width: 100%; }
.prod-relacionados li.product .price del { font-size: 14px; font-weight: 400; color: #6D8594; text-decoration: line-through; margin-right: 6px; opacity: 1; }
.prod-relacionados li.product .price del .amount { font-size: 14px; font-weight: 400; color: #6D8594; }
.prod-relacionados li.product .price ins { text-decoration: none; background: none; }
.prod-relacionados li.product .price {
  display: flex !important; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 0 6px;
  min-height: 26px; line-height: 26px !important;
}
.prod-relacionados li.product .price .amount, .prod-relacionados li.product .price bdi { line-height: 26px !important; }
.prod-relacionados li.product { display: grid !important; grid-template-rows: 1fr auto; align-content: stretch; }
.prod-relacionados li.product > a.woocommerce-LoopProduct-link { height: 100%; min-height: 0; }
.prod-relacionados li.product .woocommerce-loop-product__title { flex: 1 1 auto; }
.prod-relacionados li.product a.button { margin-top: 0 !important; align-self: end; }
.prod-relacionados li.product span.onsale {
  position: absolute !important; top: 12px !important; left: 12px !important; right: auto !important; z-index: 2;
  width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important;
  padding: 6px 12px !important; border-radius: 999px !important;
  background: #F1C989 !important; color: #1B1B1B !important;
  font-family: 'Rubik', sans-serif; font-size: 12px !important; font-weight: 700 !important; line-height: 1 !important;
  letter-spacing: .01em; text-transform: none; box-shadow: none;
}

/* ---------- Prioridad sobre estilos de Elementor/WooCommerce ---------- */
.prod-info .prod-precio .elementor-widget-woocommerce-product-price .price,
.prod-info .prod-precio .elementor-widget-woocommerce-product-price .price .amount,
.prod-info .prod-precio .elementor-widget-woocommerce-product-price .price bdi {
  font-size: 36px !important; font-weight: 700 !important; line-height: 1.1 !important; color: #1B1B1B !important;
}
.prod-info .prod-compra .single_add_to_cart_button.button,
.prod-info .prod-compra .single_add_to_cart_button.button.alt {
  background: #13B1B3 !important; background-color: #13B1B3 !important; color: #FFFFFF !important;
  border: 0 !important; border-radius: 12px !important; height: 54px !important;
  font-family: 'Rubik', sans-serif !important; font-size: 16px !important; font-weight: 700 !important;
}
.prod-info .prod-compra .single_add_to_cart_button.button:hover,
.prod-info .prod-compra .single_add_to_cart_button.button.alt:hover { background: #0E8C8E !important; background-color: #0E8C8E !important; }

.prod-info .prod-compra .prod-qty-btn {
  background: #FFFFFF !important; background-color: #FFFFFF !important; color: #1B1B1B !important;
  border: 0 !important; box-shadow: none !important; font-family: 'Rubik', sans-serif !important; font-size: 20px !important;
}
.prod-info .prod-compra .prod-qty-btn:hover { background: #F4F4F2 !important; background-color: #F4F4F2 !important; }
.prod-info .prod-precio .stock, .prod-info .prod-precio .stock.in-stock { color: #1B1B1B !important; font-size: 13px !important; font-weight: 500 !important; }
.prod-info .prod-compra .quantity { flex: 0 0 auto; width: auto; }
.prod-info .prod-compra .quantity input.qty { width: 44px; flex: 0 0 44px; }
.prod-info .prod-compra .qty-wrap, .prod-info .prod-compra .e-atc-qty-button-holder { width: 100%; }
.prod-info .prod-compra .single_add_to_cart_button.button {
  flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 180px !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .prod-principal { grid-template-columns: 1fr; gap: 32px; }
  .prod-detalle { grid-template-columns: 1fr; margin-top: 64px; }
  .prod-relacionados { margin-top: 64px; }
}
@media (max-width: 767px) {
  .prod-compra form.cart, .prod-compra .single_variation_wrap, .prod-compra .woocommerce-variation-add-to-cart, .prod-compra .e-atc-qty-button-holder, .prod-compra .prod-resumen { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }
  .prod-info .prod-compra .e-atc-qty-button-holder, .prod-info .prod-compra .woocommerce-variation-add-to-cart { flex-direction: column !important; align-items: stretch !important; }
  .prod-info .prod-compra .quantity { width: 100% !important; justify-content: space-between; }
  .prod-info .prod-compra .quantity input.qty { flex: 1 1 auto; width: auto; }
  .prod-info .prod-compra .single_add_to_cart_button.button { flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; }
  .prod-relacionados ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 12px; row-gap: 24px; }
  .prod-raiz { padding: 16px 16px 56px !important; }
  .prod-cajas { grid-template-columns: 1fr; }
  .prod-compra { padding: 16px; }
  .prod-compra .quantity { width: 100%; justify-content: space-between; }
  .prod-compra .quantity input.qty { flex: 1; }
  .prod-detalle h2.elementor-heading-title, .prod-relacionados h2.elementor-heading-title { font-size: 26px; }
}

/* ---------- Móvil: espacios revisados (v2) ---------- */
@media (max-width: 767px) {
  .prod-raiz { padding: 12px 16px 40px !important; }
  .prod-raiz > .e-con-inner { padding: 0 !important; }
  .prod-migas { margin-bottom: 14px; }
  .prod-principal { gap: 20px !important; }
  .prod-info { gap: 16px !important; }
  .prod-info > .elementor-widget-woocommerce-notices:has(.woocommerce-notices-wrapper:empty) { display: none !important; }
  .prod-titulo .elementor-heading-title, .prod-titulo h1 { font-size: 30px; line-height: 1.08; }
  .prod-info .prod-precio .elementor-widget-woocommerce-product-price .price,
  .prod-info .prod-precio .elementor-widget-woocommerce-product-price .price .amount,
  .prod-info .prod-precio .elementor-widget-woocommerce-product-price .price bdi { font-size: 30px !important; }
  .prod-corta, .prod-corta p { font-size: 16px; line-height: 1.5; }
  .prod-compra { padding: 16px; border-radius: 16px; }
  .prod-cajas { margin-top: 0; }
  .prod-caja { padding: 14px 16px; }
  .prod-detalle { margin-top: 36px !important; padding-top: 28px !important; gap: 28px !important; }
  .prod-detalle h2.elementor-heading-title, .prod-relacionados h2.elementor-heading-title { font-size: 24px; margin: 0 0 14px; }
  .prod-desc .elementor-widget-woocommerce-product-content { font-size: 15px; line-height: 1.6; }
  .prod-desc .elementor-widget-woocommerce-product-content p { margin: 0 0 12px; }
  .prod-meta { margin-top: 28px !important; padding: 16px !important; }
  .prod-meta .detail-container { flex-direction: column; gap: 2px; }
  .prod-meta .detail-label { flex: 0 0 auto; }
  .prod-relacionados { margin-top: 40px !important; }
  .prod-relacionados h2.elementor-heading-title { margin-bottom: 16px; }
}

@media (max-width: 767px) { .prod-meta { margin-bottom: 0 !important; } .prod-raiz > .elementor-widget { margin-bottom: 0; } }/* End custom CSS */