:root {
	--wd-text-font: "Manrope", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 15px;
	--wd-title-font: "Manrope", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-color: rgb(30,42,38);
	--wd-entities-title-font: "Manrope", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 600;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: var(--wd-text-font);
	--wd-widget-title-font: "Manrope", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 700;
	--wd-widget-title-transform: capitalize;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Manrope", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 600;
	--wd-header-el-transform: capitalize;
	--wd-header-el-font-size: 14px;
	--wd-brd-radius: 10px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(14,122,95);
	--wd-alternative-color: rgb(242,169,59);
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(140,188,103);
	--btn-accented-bgcolor-hover: rgb(128,171,94);
	--btn-transform: capitalize;
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
	--wd-sticky-btn-height: 95px;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg, :is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg :is(.wd-product,.wd-cat) {
	--wd-prod-bg:rgb(255,255,255);
	--wd-bordered-bg:rgb(255,255,255);
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(140,188,103);
	background-image: none;
}
html .wd-nav-mobile > li > a {
	text-transform: capitalize;
}
html .wd-checkout-steps, html table th {
	text-transform: capitalize;
}
html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
	font-size: 32px;
}
:is(.page, .search-no-results, .error404) :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
.woodmart-archive-shop:not(.single-product) :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
.single-product :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
.woodmart-archive-blog :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
.single-post :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
.woodmart-archive-portfolio :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
.single-portfolio :is(.wd-page-content, .whb-header) {
	background-color: rgb(250,248,245);
	background-image: none;
}
html .widget_price_filter [class*="price_slider_amount"] .button {
	color: rgb(255,255,255);
	background: rgb(140,188,103);
}
html .widget_price_filter [class*="price_slider_amount"] .button:hover {
	color: rgb(255,255,255);
	background: rgb(128,171,94);
}
body, [class*=color-scheme-light], [class*=color-scheme-dark], .wd-search-form[class*="wd-header-search-form"] form.searchform, .wd-el-search .searchform {
	--wd-form-bg: rgb(255,255,255);
}
.wd-nav-arrows.wd-pos-sep:not(:where(.wd-custom-style)) {
	--wd-arrow-size: 40px;
	--wd-arrow-icon-size: 16px;
	--wd-arrow-offset-h: 20px;
	--wd-arrow-color: rgb(51,51,51);
	--wd-arrow-color-hover: rgb(255,255,255);
	--wd-arrow-color-dis: rgba(51,51,51,0.8);
	--wd-arrow-bg: rgb(255,255,255);
	--wd-arrow-bg-hover: rgb(140,188,103);
	--wd-arrow-bg-dis: rgb(255,255,255);
	--wd-arrow-radius: 10px;
	--wd-arrow-shadow: 0px 0px 0px 0px rgba(255,255,255,0);
}
.wd-nav-scroll {
	--wd-nscroll-height: 3px;
	--wd-nscroll-drag-bg: rgb(140,188,103);
	--wd-nscroll-drag-bg-hover: rgb(128,171,94);
}
.wd .product-label.new {
	background-color: rgb(140,188,103);
	color: rgb(255,255,255);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 95px;
	}
	html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
		font-size: 28px;
	}
	[class*="thumbs-grid-bottom"] .woocommerce-product-gallery__wrapper.wd-grid {
		--wd-col: 1;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 42px;
	}
	[class*="thumbs-grid-bottom"] .woocommerce-product-gallery__wrapper.wd-grid {
		--wd-col: 1;
	}

}
:root{
--wd-container-w: 1480px;
--wd-form-brd-radius: 5px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 5px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 5px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
}

@media (min-width: 1480px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1480px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1480px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}


.wd-page-title {
background-color: rgb(250,248,245);
}

/* Cubaen — Tarjetas de categoría «Alternative»: nombre debajo de la foto, en zona limpia (portada, /shop/ y archivos) */
.category-image { display: block; overflow: visible !important; }
.category-image img { width: 100% !important; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 10px; display: block; }
main .wd-entities-title, .product-category h3, .product-category .wd-entities-title { position: static !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; transform: none !important; float: none !important; width: 100% !important; margin-top: 12px !important; padding: 0 !important; display: block !important; visibility: visible !important; opacity: 1 !important; min-height: 22px !important; }
.product-category h3, .product-category .wd-entities-title { color: #1E2A26 !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: .06em; text-transform: uppercase; text-align: center; }
.product-category, .category-item, .wd-cat { overflow: visible !important; }
.wd-entities-title .count { display: none !important; }
/* Cubaen — Regla permanente: las imágenes de PRODUCTO nunca se cortan; se muestran completas (contain) con fondo limpio (portada, tienda y ficha de producto) */
.wd-product .product-image img,.woocommerce-product-gallery__image img{object-fit:contain!important;background:#fff!important; } /* Cubaen - Pasos de compra (Carrito > Finalizar compra > Pedido completado): circulos numerados de la marca */ .wd-checkout-steps{display:flex!important;align-items:flex-start!important;justify-content:center!important;counter-reset:cubaen-step!important;} .wd-checkout-steps>*{position:relative!important;flex:1 1 0!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;padding:0 12px!important;text-align:center!important;font-family:Manrope,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:1.35!important;color:#1E2A26!important;text-decoration:none!important;border:0!important;box-shadow:none!important;} .wd-checkout-steps a{color:#1E2A26!important;text-decoration:none!important;} .wd-checkout-steps [class*=step-number],.wd-checkout-steps [class*=step-num]{display:none!important;} .wd-checkout-steps [class*=sep],.wd-checkout-steps [class*=arrow]{display:none!important;} .wd-checkout-steps>*:has(>a)>*:last-child:not(a){display:none!important;} .wd-checkout-steps a::after{content:none!important;} .wd-checkout-steps>*::before{counter-increment:cubaen-step!important;content:counter(cubaen-step)!important;width:46px!important;height:46px!important;border-radius:50%!important;background:#0E7A5F!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:Manrope,sans-serif!important;font-size:17px!important;font-weight:700!important;line-height:1!important;flex:none!important;position:relative!important;z-index:1!important;} .wd-checkout-steps>*::after{content:""!important;position:absolute!important;top:23px!important;left:50%!important;right:-50%!important;width:auto!important;height:2px!important;background:#E2E6E2!important;z-index:0!important;} .wd-checkout-steps>*:last-child::after{display:none!important;} body.woocommerce-checkout .wd-checkout-steps>*:nth-child(1)::after{background:#0E7A5F!important;} body.woocommerce-order-received .wd-checkout-steps>*:nth-child(1)::after,body.woocommerce-order-received .wd-checkout-steps>*:nth-child(2)::after{background:#0E7A5F!important;} .wd-checkout-steps>*:not(:has(a))::before{background:#F7F4ED!important;color:#5A6660!important;} .wd-checkout-steps>*:not(:has(a)){color:#5A6660!important;} body.woocommerce-cart .wd-checkout-steps>*:nth-child(2)::before,body.woocommerce-cart .wd-checkout-steps>*:nth-child(3)::before{background:#F7F4ED!important;color:#5A6660!important;} body.woocommerce-cart .wd-checkout-steps>*:nth-child(2),body.woocommerce-cart .wd-checkout-steps>*:nth-child(3){color:#5A6660!important;} body.woocommerce-cart .wd-checkout-steps>*:nth-child(2) a,body.woocommerce-cart .wd-checkout-steps>*:nth-child(3) a{color:#5A6660!important;} body.woocommerce-checkout .wd-checkout-steps>*:nth-child(3)::before{background:#F7F4ED!important;color:#5A6660!important;} body.woocommerce-checkout .wd-checkout-steps>*:nth-child(3){color:#5A6660!important;} @media (max-width:767px){.wd-checkout-steps>*{padding:0 6px!important;gap:6px!important;font-size:12.5px!important;} .wd-checkout-steps>*::before{width:40px!important;height:40px!important;font-size:15px!important;} .wd-checkout-steps>*::after{top:20px!important;}}


/* Cubaen 11-nov-2026 — Parche ADD TO CART y acabado visual (CSS global) */
/* 1) PARCHE TEMPORAL: "Add to cart" -> "Añadir al carrito". Solo botones de compra con texto (ficha, hero, barra fija, vista rápida). Las rejillas usan botón solo de icono y quedan intactas. Definitivo: traducir la cadena con Loco Translate (administrador). */
.single_add_to_cart_button,form.cart .add_to_cart_button,.wd-slider .add_to_cart_button{font-size:0!important;letter-spacing:0!important}
.single_add_to_cart_button::after,form.cart .add_to_cart_button::after,.wd-slider .add_to_cart_button::after{content:"Añadir al carrito";font-size:14px!important;font-weight:700!important;text-transform:none!important;letter-spacing:.2px;color:#fff;line-height:1.35;white-space:nowrap}
@media(max-width:768px){.single_add_to_cart_button::after,form.cart .add_to_cart_button::after,.wd-slider .add_to_cart_button::after{font-size:13px!important}}
/* 2) Tarjetas de producto: sombra suave, realce al pasar el cursor, rellenos parejos */
.product-grid-item .wd-product,ul.products li.product{background:#fff;border-radius:14px;box-shadow:0 3px 14px rgba(30,42,38,.07);transition:transform .25s ease,box-shadow .25s ease}
.product-grid-item:hover .wd-product,ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(30,42,38,.13)}
/* Jerarquía: categoría pequeña gris, nombre, precio grande en negrita y anterior tachado tenue */
.product-grid-item .wd-product-cats{font-size:11px!important;letter-spacing:.5px;text-transform:uppercase;color:#8A938F}
.product-grid-item .wd-entities-title,ul.products li.product .woocommerce-loop-product__title{font-size:15px;font-weight:700;color:#1E2A26}
.product-grid-item .price,ul.products li.product .price{font-size:18px!important;font-weight:800!important;color:#1E2A26}
.product-grid-item .price del,ul.products li.product .price del{font-size:14px;font-weight:400;color:#9AA5A0}
.product-grid-item .price ins,ul.products li.product .price ins{text-decoration:none}
/* Insignia de descuento ámbar */
.product-label.onsale,.wd-product-labels .onsale,span.onsale{background:#F2A93B!important;color:#1E2A26!important;font-weight:700;border-radius:999px;padding:3px 10px;font-size:12px}
/* 3) Ritmo de portada: fondos alternos y espaciados constantes */
.home .entry-content>.vc_row,.home .entry-content>.wd-section{padding-top:48px!important;padding-bottom:48px!important}
.home .entry-content>.vc_row:nth-child(even),.home .entry-content>.wd-section:nth-child(even){background:#F7F4ED}
/* 4) Encabezados de sección: título + filete ámbar */
.home .vc_custom_heading,.home .woodmart-title-container .title,.home .wd-title{padding-bottom:14px}
.home .vc_custom_heading::after,.home .woodmart-title-container .title::after,.home .wd-title::after{content:"";display:block;width:52px;height:3px;background:#F2A93B;border-radius:2px;margin-top:10px}
/* 5) Tarjeta del hero: panel suave con jerarquía */
.home .wd-slider .product-grid-item .wd-product,.home .wd-slider .wd-product{background:#fff;border-radius:18px;box-shadow:0 14px 34px rgba(30,42,38,.14);padding:18px 18px 20px}
/* 6) WhatsApp como botón secundario claro en hero y CTA final (el primario sigue verde sólido) */
.home main a[href*="wa.me"],.home main a[href*="whatsapp"]{background:#fff!important;color:#0E7A5F!important;border:2px solid #0E7A5F!important}
/* 7) Categorías: sombra suave */
.product-category{border-radius:14px;box-shadow:0 4px 16px rgba(30,42,38,.08)}

/* 1b) Refuerzo del parche: el ::after del tema puede traer geometría de icono y content con más especificidad; forzar texto visible */
.single_add_to_cart_button::after,form.cart .add_to_cart_button::after,.wd-slider .add_to_cart_button::after{content:"Añadir al carrito"!important;display:inline-block!important;position:static!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;font-size:14px!important;font-family:Manrope,inherit!important;font-weight:700!important;text-transform:none!important;letter-spacing:.2px;color:#fff!important;line-height:1.35;white-space:nowrap;overflow:visible!important;text-indent:0!important}
/* Si la etiqueta visible del hero la pone el tema en ::before, vaciar ese ::before para que solo quede el español del ::after */
.wd-slider .add_to_cart_button::before,form.cart .add_to_cart_button::before{content:""!important;font-size:0!important;width:0!important;height:0!important}

/* 1c) Hero: el botón del slider usa el botón de bucle; cubrir todas las clases de slider del tema */
.wd-slider .add_to_cart_button,.wd-slide .add_to_cart_button,.wd-carousel .add_to_cart_button,.woodmart-slider .add_to_cart_button,.rs-slide .add_to_cart_button{font-size:0!important;letter-spacing:0!important}
.wd-slider .add_to_cart_button::after,.wd-slide .add_to_cart_button::after,.wd-carousel .add_to_cart_button::after,.woodmart-slider .add_to_cart_button::after,.rs-slide .add_to_cart_button::after{content:"Añadir al carrito"!important;display:inline-block!important;position:static!important;width:auto!important;height:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;font-size:14px!important;font-family:Manrope,inherit!important;font-weight:700!important;text-transform:none!important;letter-spacing:.2px;color:#fff!important;line-height:1.35;white-space:nowrap;overflow:visible!important;text-indent:0!important}
.wd-slider .add_to_cart_button span,.wd-slide .add_to_cart_button span,.wd-carousel .add_to_cart_button span,.woodmart-slider .add_to_cart_button span{font-size:0!important}
.wd-slider .add_to_cart_button::before,.wd-slide .add_to_cart_button::before,.wd-carousel .add_to_cart_button::before,.woodmart-slider .add_to_cart_button::before{content:""!important;font-size:0!important}

/* 9) Separación cantidad/botón: 12 px claros, misma altura, sin solapes — slider del hero y ficha */
form.cart{display:flex!important;gap:12px!important;align-items:stretch!important}
form.cart .quantity{margin:0!important;flex:0 0 auto}
@media(max-width:768px){form.cart{flex-wrap:nowrap!important;gap:10px!important}}
/* 10) Tarjetas de rejilla (portada, /shop/, categorías, relacionados): botón CUADRADO de solo icono, verde #0E7A5F, 44x44, abajo a la derecha; sin texto y sin cantidad en la tarjeta */
.wd-products .wd-add-btn .add_to_cart_button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border-radius:8px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important}
.wd-products .wd-add-btn .add_to_cart_button::after{content:none!important}
.wd-products .wd-add-btn .add_to_cart_button::before{content:""!important}
.wd-products .wd-add-btn .add_to_cart_button span{font-size:0!important}
/* 10b) El hero NO es rejilla: su botón mantiene texto «Añadir al carrito» aunque comparta contenedor */
.wd-slider .wd-add-btn .add_to_cart_button{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;flex:1 1 auto!important;padding:12px 18px!important;border-radius:10px!important;background-image:none!important;display:flex!important}
.wd-slider .wd-add-btn .add_to_cart_button::after{content:"Añadir al carrito"!important;display:inline-block!important;position:static!important;width:auto!important;height:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;font-size:14px!important;font-family:Manrope,inherit!important;font-weight:700!important;text-transform:none!important;letter-spacing:.2px;color:#fff!important;line-height:1.35;white-space:nowrap;overflow:visible!important;text-indent:0!important}
/* 11) Precio de la tarjeta de rejilla en negrita con «USD», como en la ficha */
.product-grid-item .price::after{content:" USD";font-size:13px;font-weight:800;color:#1E2A26}

/* 10c) Hero: la tarjeta del slider SÍ lleva cantidad, así que su botón vuelve a ser barra con texto; las rejillas (sin cantidad) quedan como icono cuadrado */
.wd-product:has(.quantity) .wd-add-btn .add_to_cart_button,.product-grid-item:has(.quantity) .wd-add-btn .add_to_cart_button,form.cart:has(.quantity) .wd-add-btn .add_to_cart_button{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;flex:1 1 auto!important;padding:12px 18px!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:none!important;background-size:auto!important;font-size:0!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important}
.wd-product:has(.quantity) .wd-add-btn .add_to_cart_button::after,.product-grid-item:has(.quantity) .wd-add-btn .add_to_cart_button::after,form.cart:has(.quantity) .wd-add-btn .add_to_cart_button::after{content:"Añadir al carrito"!important;display:inline-block!important;position:static!important;width:auto!important;height:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;font-size:14px!important;font-family:Manrope,inherit!important;font-weight:700!important;text-transform:none!important;letter-spacing:.2px;color:#fff!important;line-height:1.35;white-space:nowrap;overflow:visible!important;text-indent:0!important}

/* 10d) Botón de rejilla abajo a la derecha de la tarjeta (precio a la izquierda, botón a la derecha); el hero queda fuera por llevar cantidad */
.wd-product:not(:has(.quantity)) .wd-add-btn,.product-grid-item:not(:has(.quantity)) .wd-add-btn{position:absolute!important;right:12px!important;bottom:12px!important;z-index:5!important}
.product-grid-item,.wd-product{position:relative!important}

/* 12) Hero: mismo lenguaje limpio que las rejillas — sin cantidad en la tarjeta, botón cuadrado de solo icono abajo a la derecha (anula 10c) */
.wd-slider .quantity,.wd-slide .quantity{display:none!important}
.wd-product:has(.quantity) .wd-add-btn .add_to_cart_button,.product-grid-item:has(.quantity) .wd-add-btn .add_to_cart_button,form.cart:has(.quantity) .wd-add-btn .add_to_cart_button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;padding:0!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important}
.wd-product:has(.quantity) .wd-add-btn .add_to_cart_button::after,.product-grid-item:has(.quantity) .wd-add-btn .add_to_cart_button::after,form.cart:has(.quantity) .wd-add-btn .add_to_cart_button::after{content:none!important}
.wd-product:has(.quantity) .wd-add-btn .add_to_cart_button::before,.product-grid-item:has(.quantity) .wd-add-btn .add_to_cart_button::before{content:""!important}
.wd-slider .wd-add-btn{position:absolute!important;right:12px!important;bottom:12px!important;z-index:5!important}
/* 13) Acabado Cubamax de las tarjetas (portada, /shop/, categorías) */
/* 13.1 Secciones de productos en BLANCO; la crema queda para «Cómo funciona» y franjas */
body.home .entry-content .vc_row:has(.wd-products),body.home .entry-content .vc_row:has(.wd-cat){background:#fff!important}
body.woocommerce-shop main,body.tax-product_cat main{background:#fff!important}
/* 13.2 Foto «flotando»: imagen completa con aire interior dentro de su caja blanca, proporción uniforme */
.product-grid-item .wd-product-thumb img,.product-grid-item .product-image img{padding:5%!important;box-sizing:border-box!important}
/* 13.3 Botón cuadrado más fino: 44x44, esquinas 10 px, alineado con la fila del precio */
.wd-products .wd-add-btn .add_to_cart_button{border-radius:10px!important}
/* 13.4 Precio: venta grande en negrita 20 px #1E2A26, «USD» menor en verde, anterior tachado pequeño gris */
.product-grid-item .price,ul.products li.product .price{font-size:20px!important;font-weight:800!important;color:#1E2A26}
.product-grid-item .price del,ul.products li.product .price del{font-size:13px!important;font-weight:400!important;color:#A8B0AC!important}
.product-grid-item .price::after{font-size:12px!important;font-weight:700!important;color:#0E7A5F!important}
/* 13.5 Ritmo: nombre 16 px interlineado 1,3; categoría 11 px gris con espacio entre letras; separaciones constantes */
.product-grid-item .wd-entities-title,ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;line-height:1.3!important;margin-bottom:4px!important}
.product-grid-item .wd-product-cats{font-size:11px!important;letter-spacing:.6px!important;margin-bottom:6px!important}
/* 13.6 Fuera el corazón (lista de deseos) de las tarjetas de rejilla; descuento más pequeño y discreto */
.product-grid-item [class*="wishlist"]{display:none!important}
.product-label.onsale,.wd-product-labels .onsale,span.onsale{font-size:11px!important;padding:2px 8px!important}
/* 13.7 Tarjeta: esquinas 16 px, sombra muy suave, separación uniforme 14 px entre tarjetas, leve realce al pasar el cursor */
.product-grid-item .wd-product,ul.products li.product{border-radius:16px!important;box-shadow:0 2px 12px rgba(30,42,38,.07),0 0 0 1px #EFEDE8!important}
.product-grid-item:hover .wd-product,ul.products li.product:hover{box-shadow:0 10px 26px rgba(30,42,38,.13),0 0 0 1px #EFEDE8!important}
.wd-products{gap:14px!important}
/* 14) Retoque Cubamax II: conteo en las tarjetas de categoría y más aire en la foto */
/* 14.1 Conteo de productos en las tarjetas de categoría, en español («N Productos»), como cinta arriba a la izquierda; nombre centrado debajo de la foto */
.product-category{position:relative!important}
.product-category .wd-entities-title,.product-category h3{text-align:center!important}
.product-category .wd-entities-title .count,.product-category h3 .count,.product-category .count{display:inline-block!important;position:absolute!important;top:12px!important;left:12px!important;z-index:5!important;white-space:nowrap!important;background:#0E7A5F!important;color:#fff!important;font-size:12px!important;font-weight:700!important;padding:4px 10px!important;border-radius:999px!important;letter-spacing:.3px!important}
.product-category .wd-entities-title .count::after,.product-category h3 .count::after,.product-category .count::after{content:" Productos";color:#fff!important}
/* 14.2 Foto con más aire: zona de imagen alta (4/5) y producto flotando centrado */
.product-grid-item .wd-product-thumb,.product-grid-item .product-image{aspect-ratio:4/5!important}
.product-grid-item .wd-product-thumb img,.product-grid-item .product-image img{padding:8%!important;height:100%!important;width:100%!important}
/* 15) Corrección del hero tras la verificación (la tarjeta del slider no responde a .wd-slider; el absoluto del 12 sacaba el botón de la tarjeta) */
/* 15.1 Sin cantidad en la tarjeta del hero (solo en la portada; la ficha la mantiene) */
body.home form.cart .quantity{display:none!important}
/* 15.2 Neutralizar el posicionamiento absoluto del 12: el botón vuelve al flujo de la tarjeta */
.wd-slider .wd-add-btn{position:static!important;right:auto!important;bottom:auto!important}
/* 15.3 Botón del hero: cuadrado de solo icono 44x44, verde, a la derecha en la fila del precio */
body.home form.cart{justify-content:flex-end!important}
body.home form.cart .add_to_cart_button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;padding:0!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important}
body.home form.cart .add_to_cart_button::after{content:none!important}
body.home form.cart .add_to_cart_button::before{content:""!important}
/* 15.4 Zona de imagen alta: el enlace de la imagen debe llenar la zona para que la foto flote centrada */
.product-grid-item .product-image a,.product-grid-item .wd-product-thumb a{display:block!important;height:100%!important}
/* 16) Hero II: por estructura de tarjeta (.product-grid-item) — sin depender de body.home, .wd-slider ni form.cart */
/* 16.1 Sin cantidad en la tarjeta del hero (las tarjetas de rejilla no llevan cantidad; la ficha no es .product-grid-item) */
.product-grid-item .quantity{display:none!important}
/* 16.2 Botón de compra de la tarjeta: visible, cuadrado de solo icono 44x44, verde */
.product-grid-item .add_to_cart_button{display:inline-flex!important;visibility:visible!important;opacity:1!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;padding:0!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;align-items:center!important;justify-content:center!important}
.product-grid-item .add_to_cart_button::after{content:none!important}
.product-grid-item .add_to_cart_button::before{content:""!important}
/* 16.3 El grupo de compra de la tarjeta con formulario va a la derecha (fila del precio) y su envoltorio vuelve al flujo */
.product-grid-item form.cart,.product-grid-item form{justify-content:flex-end!important}
.product-grid-item form.cart .wd-add-btn,.product-grid-item form .wd-add-btn{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin-left:auto!important}
/* 17) Correcciones tras la verificación del 11-nov (9:41): el botón del hero está cubierto por un absoluto; el 4/5 rompe las rejillas anchas; body.home no concuerda */
/* 17.1 Quitar la zona de imagen 4/5: en rejillas de 2 columnas la zona se hacía gigante y empujaba la información muy abajo; vuelve la zona cuadrada con el aire del 8% */
.product-grid-item .wd-product-thumb,.product-grid-item .product-image{aspect-ratio:auto!important}
/* 17.2 Filas de productos en BLANCO (sin depender de body.home; vence la regla 3 de fondos alternos) */
.entry-content>.vc_row.vc_row:has(.wd-products),.entry-content>.vc_row.vc_row:has(.wd-cat){background:#fff!important}
/* 17.3 Hero: ocultar la cantidad por el formulario de compra de bucle (la ficha no tiene .add_to_cart_button, queda fuera) */
body:not(.single-product) form.cart:has(.add_to_cart_button) .quantity,body:not(.single-product) form.cart:has(.add_to_cart_button) .wd-quantity,body:not(.single-product) form.cart:has(.add_to_cart_button) input.qty,body:not(.single-product) form.cart:has(.add_to_cart_button) .minus,body:not(.single-product) form.cart:has(.add_to_cart_button) .plus{display:none!important}
/* 17.4 Hero: el botón vuelve al flujo, visible, cuadrado de solo icono 44x44 verde, a la derecha en la fila del precio */
body:not(.single-product) form.cart:has(.add_to_cart_button){justify-content:flex-end!important}
body:not(.single-product) form.cart:has(.add_to_cart_button) .wd-add-btn{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important}
body:not(.single-product) form.cart:has(.add_to_cart_button) .add_to_cart_button{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;padding:0!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;align-items:center!important;justify-content:center!important}
body:not(.single-product) form.cart:has(.add_to_cart_button) .add_to_cart_button::after{content:none!important}
body:not(.single-product) form.cart:has(.add_to_cart_button) .add_to_cart_button::before{content:""!important}
/* 18) Hero III: por el botón de bucle (aria-label «Add to cart») y su grupo de compra */
/* 18.1 Botón de bucle: visible, cuadrado de solo icono 44x44 verde, en el flujo */
button[aria-label^="Add to cart"]{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;padding:0!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;align-items:center!important;justify-content:center!important}
button[aria-label^="Add to cart"]::after{content:none!important}
button[aria-label^="Add to cart"]::before{content:""!important}
/* 18.2 Ocultar la cantidad del grupo de compra del hero (el grupo tiene la cantidad y el botón de bucle) */
:has(> .quantity):has(button[aria-label^="Add to cart"])>.quantity,:has(> .wd-quantity):has(button[aria-label^="Add to cart"])>.wd-quantity{display:none!important}
body:not(.single-product):not(.woocommerce-cart) :has(button[aria-label^="Add to cart"]) input.qty,body:not(.single-product):not(.woocommerce-cart) :has(button[aria-label^="Add to cart"]) .minus,body:not(.single-product):not(.woocommerce-cart) :has(button[aria-label^="Add to cart"]) .plus{display:none!important}
/* 18.3 El grupo de compra del hero en fila, con el botón a la derecha, y su envoltorio en el flujo */
:has(> .quantity):has(button[aria-label^="Add to cart"]),:has(> .wd-quantity):has(button[aria-label^="Add to cart"]){display:flex!important;justify-content:flex-end!important}
:has(> .quantity) .wd-add-btn{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important}
/* 19) Hero IV: por la clase propia del elemento (cubaen-hero-slider); la tarjeta usa product_hover="fw-button", que desliza/oculta el botón */
/* 19.1 Sin cantidad en la tarjeta del hero */
.cubaen-hero-slider .quantity,.cubaen-hero-slider .wd-quantity{display:none!important}
.cubaen-hero-slider input.qty,.cubaen-hero-slider .minus,.cubaen-hero-slider .plus{display:none!important}
/* 19.2 El grupo de compra del hero en fila, con el botón a la derecha */
.cubaen-hero-slider form.cart,.cubaen-hero-slider form{display:flex!important;justify-content:flex-end!important}
/* 19.3 El envoltorio del botón vuelve al flujo y visible */
.cubaen-hero-slider .wd-add-btn{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important;transform:none!important;opacity:1!important;visibility:visible!important}
/* 19.4 Botón del hero: visible, cuadrado de solo icono 44x44 verde */
.cubaen-hero-slider .add_to_cart_button{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none!important;padding:0!important;border-radius:10px!important;background-color:#0E7A5F!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;font-size:0!important;letter-spacing:0!important;color:transparent!important;align-items:center!important;justify-content:center!important}
.cubaen-hero-slider .add_to_cart_button::after{content:none!important}
.cubaen-hero-slider .add_to_cart_button::before{content:""!important}
/* 20) Hero V: botón cuadrado alineado con la fila del precio (abajo a la derecha), como en las rejillas */
/* 20.1 La tarjeta del hero es el bloque de posicionamiento */
.cubaen-hero-slider .wd-product,.cubaen-hero-slider .product-grid-item{position:relative!important}
/* 20.2 El envoltorio del botón va abajo a la derecha de la tarjeta (anula el static del 19.3) */
.cubaen-hero-slider .wd-add-btn{position:absolute!important;right:12px!important;bottom:12px!important;z-index:5!important;transform:none!important}
/* 21) Rejillas: precio y botón SIEMPRE visibles (el diseño de hover los esconde —opacidad/visibilidad/display— hasta pasar el cursor) */
.product-grid-item .price,.product-grid-item .wd-add-btn,.product-grid-item .add_to_cart_button,.product-grid-item .wd-product-footer{opacity:1!important;visibility:visible!important;transform:none!important}
.product-grid-item .price{display:block!important}
.product-grid-item .wd-add-btn{display:block!important}
.product-grid-item .add_to_cart_button{display:inline-flex!important}
/* 22) Rejillas: el PRECIO también siempre visible (por el contenedor .wd-products, que sí concuerda) */
.wd-products .price{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
.wd-products :has(> .price){display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;max-height:none!important;height:auto!important}
/* 22.2 Fila de categorías en BLANCO (las tarjetas son .product-category, no .wd-cat) */
.entry-content>.vc_row.vc_row:has(.product-category){background:#fff!important}
/* 23) Precio: vuelve al flujo y con color/tamaño propios (el diseño de hover puede sacarlo con position:absolute y ocultarlo) */
.wd-products .wd-product .price,.wd-products .product-grid-item .price,main .wd-products .price{position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;font-size:20px!important;font-weight:800!important;color:#1E2A26!important}
.wd-products .wd-product .price::after,.wd-products .product-grid-item .price::after{content:" USD";font-size:12px!important;font-weight:700!important;color:#0E7A5F!important}
/* 24) Rejillas: precio SIEMPRE visible — descolapsar el contenedor del precio (el diseño de hover lo colapsa en reposo; el precio por sí mismo ya estaba forzado en 21-23) */
.wd-products .wd-product-footer,.wd-products .wd-product-info,.wd-products .wd-price-wrap,.wd-products :has(>.price){display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;opacity:1!important;visibility:visible!important;transform:none!important}
.wd-products .wd-product .price,.wd-products .product-grid-item .price{height:auto!important;max-height:none!important;overflow:visible!important}
/* 25) Precio SIEMPRE visible: toda la cadena de antepasados del precio dentro de la tarjeta (el precio está dentro de un envoltorio intermedio que se colapsa en reposo; las reglas 21-24 apuntaban al precio y a contenedores nombrados, no a ese envoltorio) */
.wd-products .product-grid-item :has(.price),.wd-products .wd-product :has(.price){display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;opacity:1!important;visibility:visible!important;transform:none!important;clip:auto!important;clip-path:none!important}
/* 26) Botones del hero y del CTA final: en fila y centrados (escritorio); centrados en móvil */
.cubaen-hero-text-col .wpb_wrapper{text-align:center}
.cubaen-hero-text-col .woodmart-button-wrapper{display:inline-block!important;margin:4px 6px;vertical-align:middle}
.entry-content>.vc_row:last-child .wpb_wrapper{text-align:center}
.entry-content>.vc_row:last-child .woodmart-button-wrapper{display:inline-block!important;margin:4px 6px;vertical-align:middle}
@media(max-width:768px){.cubaen-hero-text-col .woodmart-button-wrapper,.entry-content>.vc_row:last-child .woodmart-button-wrapper{display:block!important;margin:6px auto;max-width:280px}}


/* 26b) Botones del hero y del CTA: en fila y centrados — por estructura y por el propio enlace (el envoltorio del botón del tema no responde a .woodmart-button-wrapper) */
.cubaen-hero-text-col .wpb_wrapper>div:has(>a.btn),.cubaen-hero-text-col .wpb_wrapper>a.btn{display:inline-block!important;margin:4px 6px;vertical-align:middle}
.entry-content>.vc_row:last-child .wpb_wrapper>div:has(>a.btn),.entry-content>.vc_row:last-child .wpb_wrapper>a.btn{display:inline-block!important;margin:4px 6px;vertical-align:middle}
@media(max-width:768px){.cubaen-hero-text-col .wpb_wrapper>div:has(>a.btn),.cubaen-hero-text-col .wpb_wrapper>a.btn,.entry-content>.vc_row:last-child .wpb_wrapper>div:has(>a.btn),.entry-content>.vc_row:last-child .wpb_wrapper>a.btn{display:block!important;margin:6px auto;max-width:280px}}
/* 26c) Botones del hero y del CTA: en fila y centrados — por href (los enlaces no llevan la clase .btn) y por la fila confirmada */
.cubaen-hero .wpb_wrapper:has(a[href*="/shop/"]){text-align:center}
.cubaen-hero .wpb_wrapper>div:has(>a[href*="/shop/"]),.cubaen-hero .wpb_wrapper>div:has(>a[href*="wa.me"]),.cubaen-hero .wpb_wrapper>a[href*="/shop/"],.cubaen-hero .wpb_wrapper>a[href*="wa.me"]{display:inline-block!important;margin:4px 6px;vertical-align:middle}
.entry-content>.vc_row:last-child .wpb_wrapper{text-align:center}
.entry-content>.vc_row:last-child .wpb_wrapper>div:has(>a[href*="/shop/"]),.entry-content>.vc_row:last-child .wpb_wrapper>div:has(>a[href*="wa.me"]),.entry-content>.vc_row:last-child .wpb_wrapper>a[href*="/shop/"],.entry-content>.vc_row:last-child .wpb_wrapper>a[href*="wa.me"]{display:inline-block!important;margin:4px 6px;vertical-align:middle}
@media(max-width:768px){.cubaen-hero .wpb_wrapper>div:has(>a[href*="/shop/"]),.cubaen-hero .wpb_wrapper>div:has(>a[href*="wa.me"]),.cubaen-hero .wpb_wrapper>a[href*="/shop/"],.cubaen-hero .wpb_wrapper>a[href*="wa.me"],.entry-content>.vc_row:last-child .wpb_wrapper>div:has(>a[href*="/shop/"]),.entry-content>.vc_row:last-child .wpb_wrapper>div:has(>a[href*="wa.me"]),.entry-content>.vc_row:last-child .wpb_wrapper>a[href*="/shop/"],.entry-content>.vc_row:last-child .wpb_wrapper>a[href*="wa.me"]{display:block!important;margin:6px auto;max-width:280px}}
/* 26d) Botones del hero y del CTA: en fila y centrados — por la clase propia puesta en los 4 botones (cubaen-btn-inline) */
:has(>.cubaen-btn-inline){text-align:center}
.cubaen-btn-inline{display:inline-block!important;margin:4px 6px;vertical-align:middle}
@media(max-width:768px){.cubaen-btn-inline{display:block!important;margin:6px auto;max-width:280px}}
/* 26e) Botones del hero y del CTA: en fila y centrados por flex (el contenedor es flex-column; por eso el inline-block no los pone en fila) */
:has(>.cubaen-btn-inline){display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center}
:has(>.cubaen-btn-inline)>:not(.cubaen-btn-inline){flex:0 0 100%!important}
.cubaen-btn-inline{flex:0 0 auto!important;margin:4px 6px!important}
/* 27) Botón de rejilla/carrusel EN LA FILA DEL PRECIO, en flujo normal (corrección del solape sobre el nombre: el absoluto del 10d lo subía a la altura del nombre) */
/* 27.1 El envoltorio del botón vuelve al flujo: nunca absoluto en rejillas ni carruseles */
.wd-product:not(:has(.quantity)) .wd-add-btn,
.product-grid-item:not(:has(.quantity)) .wd-add-btn,
.wd-product .wd-add-btn,
.product-grid-item .wd-add-btn,
.wd-products .wd-add-btn {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
/* 27.2 La fila del precio es flex: precio a la izquierda, botón a la derecha, misma línea (revierte el display:block del 24) */
.wd-products .wd-product .wd-product-footer,
.wd-products .product-grid-item .wd-product-footer,
.wd-product .wd-product-footer,
.product-grid-item .wd-product-footer {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 8px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
}
/* 27.3 El precio ocupa el espacio libre; el botón no se encoge ni se sale de la fila */
.wd-products .wd-product .wd-product-footer .price,
.wd-products .product-grid-item .wd-product-footer .price,
.wd-product .wd-product-footer .price,
.product-grid-item .wd-product-footer .price,
.wd-products .wd-product .wd-product-footer .wd-price-wrap,
.wd-products .product-grid-item .wd-product-footer .wd-price-wrap,
.wd-product .wd-product-footer .wd-price-wrap,
.product-grid-item .wd-product-footer .wd-price-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.wd-products .wd-product .wd-product-footer .wd-add-btn,
.wd-products .product-grid-item .wd-product-footer .wd-add-btn,
.wd-product .wd-product-footer .wd-add-btn,
.product-grid-item .wd-product-footer .wd-add-btn {
  flex: 0 0 auto !important;
}
/* 27.4 El nombre ocupa todo su ancho y nada puede taparlo */
.wd-products .wd-product .wd-entities-title,
.wd-products .product-grid-item .wd-entities-title,
.wd-product .wd-entities-title,
.product-grid-item .wd-entities-title {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
}
/* 27.5 En móvil (2 columnas) la fila del precio se mantiene en una línea */
@media (max-width: 768px) {
  .wd-products .wd-product .wd-product-footer,
  .wd-products .product-grid-item .wd-product-footer,
  .wd-product .wd-product-footer,
  .product-grid-item .wd-product-footer { gap: 6px !important; }
}
/* 27.6 El hero mantiene su botón como está (lo toca la sección 28, no esta) */
.cubaen-hero-slider .wd-add-btn {
  position: absolute !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 5 !important;
}
/* 28) Franja de confianza: el infobox de WhatsApp vacío y tarjetas parejas */
/* 28.1 El enlace del infobox de WhatsApp NO es un botón: la regla 6 (fondo blanco + borde verde) se lo aplicaba al enlace superpuesto y tapaba el contenido; ese era el rectángulo vacío */
.home main .wd-info-box a[href*="wa.me"],
.home main .wd-info-box a[href*="whatsapp"],
.home main .info-box-wrapper a[href*="wa.me"],
.home main .info-box-wrapper a[href*="whatsapp"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: inherit !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
/* 28.2 Tarjetas de la franja con la misma altura y el mismo relleno (la fila ya es equal_height; la tarjeta debe llenar su columna) */
.home .wd-info-box {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 28px 24px !important;
  text-align: center !important;
}
/* 28.3 Ritmo constante: icono, título y texto con separaciones fijas */
.home .wd-info-box .info-box-icon {
  margin-bottom: 16px !important;
  flex: 0 0 auto !important;
}
.home .wd-info-box h4 {
  margin: 0 0 8px !important;
  line-height: 1.35 !important;
}
.home .wd-info-box p {
  margin: 0 !important;
  line-height: 1.5 !important;
}
/* 28.4 Iconos de línea en verde Cubaen (sustituyen al emoji) — la fila lleva la clase propia cubaen-trust */
/* Círculo claro común para los tres iconos de la franja */
.cubaen-trust .wd-info-box .info-box-icon {
  background-color: #EAF5F1 !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 44px 44px !important;
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* 1) Compra desde el exterior — globo terráqueo de línea verde */
.cubaen-trust .vc_col-sm-4:nth-child(1) .wd-info-box .info-box-icon,
.cubaen-trust .wpb_column:nth-child(1) .wd-info-box .info-box-icon {
  font-size: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A5F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") !important;
}
.cubaen-trust .vc_col-sm-4:nth-child(1) .wd-info-box .info-box-icon *,
.cubaen-trust .wpb_column:nth-child(1) .wd-info-box .info-box-icon * { font-size: 0 !important; }
/* 2) Entrega a domicilio — camión de línea verde */
.cubaen-trust .vc_col-sm-4:nth-child(2) .wd-info-box .info-box-icon,
.cubaen-trust .wpb_column:nth-child(2) .wd-info-box .info-box-icon {
  font-size: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A5F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") !important;
}
.cubaen-trust .vc_col-sm-4:nth-child(2) .wd-info-box .info-box-icon *,
.cubaen-trust .wpb_column:nth-child(2) .wd-info-box .info-box-icon * { font-size: 0 !important; }
/* 3) Atención por WhatsApp — burbuja de chat de línea verde */
.cubaen-trust .vc_col-sm-4:nth-child(3) .wd-info-box .info-box-icon,
.cubaen-trust .wpb_column:nth-child(3) .wd-info-box .info-box-icon,
.cubaen-trust .wd-info-box:has(a[href*="wa.me"]) .info-box-icon {
  font-size: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7A5F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E") !important;
}
/* 29) Botón en la fila del precio (II): el botón no vive dentro del pie, así que la fila la forman precio + botón como hermanos dentro de .wd-product-info (rejillas y carruseles; el hero, que sí tiene cantidad, queda fuera) */
/* 29.1 La información de la tarjeta es un flex con envoltura: categoría y nombre ocupan su línea; precio y botón comparten la última */
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info,
.wd-product:not(:has(.quantity)) .wd-product-info,
.product-grid-item:not(:has(.quantity)) .wd-product-info {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
/* 29.2 Categoría, nombre y valoración: cada uno su línea completa */
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .wd-product-cats,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .wd-product-cats,
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .wd-entities-title,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .wd-entities-title,
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .woocommerce-product-rating,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .woocommerce-product-rating,
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .star-rating,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .star-rating,
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .wd-star-rating,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .wd-star-rating {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
/* 29.3 Precio (o su envoltorio) ocupa el espacio libre de la fila */
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .wd-product-footer,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .wd-product-footer,
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .wd-price-wrap,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .wd-price-wrap,
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info > .price,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info > .price {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
/* 29.4 El botón va a la derecha de la misma fila del precio */
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info .wd-add-btn,
.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info .wd-add-btn {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

.cubaen-trust .vc_col-sm-4:nth-child(3) .wd-info-box .info-box-icon *,
.cubaen-trust .wpb_column:nth-child(3) .wd-info-box .info-box-icon *,
.cubaen-trust .wd-info-box:has(a[href*="wa.me"]) .info-box-icon * { font-size: 0 !important; }



@media(max-width:768px){:has(>.cubaen-btn-inline){flex-direction:column!important}.cubaen-btn-inline{margin:6px auto!important;width:100%!important;max-width:280px}}


/* ===== 29b — Fila del precio (III): la 29 no aplicó — el botón no es hijo directo de .wd-product-info y esa caja queda en columna por el tema; la fila es .product-information ===== */
/* 29b.1 .product-information es la fila: precio a la izquierda, botón a la derecha, misma línea */
.wd-product:not(:has(.quantity)) .product-information,.product-grid-item:not(:has(.quantity)) .product-information{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;column-gap:8px!important}
/* 29b.2 .wd-product-info se desenvuelve (si existe): nombre, categoría y precio pasan a ser hijos flex de .product-information, en la misma fila que el botón */
.wd-product:not(:has(.quantity)) .product-information .wd-product-info,.product-grid-item:not(:has(.quantity)) .product-information .wd-product-info{display:contents!important}
/* 29b.3 Si .wd-product-info no existe, la fila la forman los hijos directos de .product-information */
.wd-product:not(:has(.quantity)) .product-information>.wd-entities-title,.product-grid-item:not(:has(.quantity)) .product-information>.wd-entities-title,.wd-product:not(:has(.quantity)) .product-information>.wd-product-cats,.product-grid-item:not(:has(.quantity)) .product-information>.wd-product-cats,.wd-product:not(:has(.quantity)) .product-information>.star-rating,.product-grid-item:not(:has(.quantity)) .product-information>.star-rating{flex:0 0 100%!important;max-width:100%!important}
.wd-product:not(:has(.quantity)) .product-information>.price,.product-grid-item:not(:has(.quantity)) .product-information>.price,.wd-product:not(:has(.quantity)) .product-information>.wd-product-footer,.product-grid-item:not(:has(.quantity)) .product-information>.wd-product-footer,.wd-product:not(:has(.quantity)) .product-information>.wd-price-wrap,.product-grid-item:not(:has(.quantity)) .product-information>.wd-price-wrap{flex:1 1 auto!important;min-width:0!important;margin:0!important}
.wd-product:not(:has(.quantity)) .product-information>.wd-add-btn,.product-grid-item:not(:has(.quantity)) .product-information>.wd-add-btn{flex:0 0 auto!important;margin-left:auto!important;width:auto!important;max-width:none!important;min-width:0!important}
/* 29b.4 El botón (su envoltorio) a la derecha — también cuando cuelga de .wd-product-info desenvuelto */
.wd-product:not(:has(.quantity)) .product-information .wd-add-btn,.product-grid-item:not(:has(.quantity)) .product-information .wd-add-btn{flex:0 0 auto!important;margin-left:auto!important;width:auto!important;max-width:none!important;min-width:0!important}
/* 29b.5 Por si display:contents no aplicara, .wd-product-info también es fila (no la columna del tema) */
.wd-product:not(:has(.quantity)) .wd-product-info,.product-grid-item:not(:has(.quantity)) .wd-product-info{flex-direction:row!important}
/* 29b.6 En móvil la fila no se rompe: precio y botón en una línea (el precio cede; el botón no) */
@media(max-width:768px){.wd-product:not(:has(.quantity)) .product-information,.product-grid-item:not(:has(.quantity)) .product-information{flex-wrap:nowrap!important;column-gap:6px!important}}

/* ===== 29c — Fila del precio (IV): el botón es hijo directo de la tarjeta (por eso fallaron pie/info); la fila es la tarjeta misma, con los envoltorios de información desenvueltos ===== */
/* 29c.1 La tarjeta es la fila: imagen arriba (línea completa), luego nombre, categoría y fila precio+botón */
.wd-products .wd-product:not(:has(.quantity)),.wd-products .product-grid-item:not(:has(.quantity)),.wd-product:not(:has(.quantity)),.product-grid-item:not(:has(.quantity)){display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;column-gap:8px!important;padding-bottom:12px!important}
.wd-products .wd-product:not(:has(.quantity)) .product-element-top,.wd-products .product-grid-item:not(:has(.quantity)) .product-element-top,.wd-product:not(:has(.quantity)) .product-element-top,.product-grid-item:not(:has(.quantity)) .product-element-top{flex:0 0 100%!important;max-width:100%!important}
/* 29c.2 Se desenvuelven los envoltorios de la información: nombre, categoría, precio y botón pasan a ser hijos flex de la tarjeta (su aire interior se recupera en 29c.3–29c.5) */
.wd-products .wd-product:not(:has(.quantity)) .product-information,.wd-products .product-grid-item:not(:has(.quantity)) .product-information,.wd-product:not(:has(.quantity)) .product-information,.product-grid-item:not(:has(.quantity)) .product-information{display:contents!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info,.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info,.wd-product:not(:has(.quantity)) .wd-product-info,.product-grid-item:not(:has(.quantity)) .wd-product-info{display:contents!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-product-footer,.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-footer,.wd-product:not(:has(.quantity)) .wd-product-footer,.product-grid-item:not(:has(.quantity)) .wd-product-footer{display:contents!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-price-wrap,.wd-products .product-grid-item:not(:has(.quantity)) .wd-price-wrap,.wd-product:not(:has(.quantity)) .wd-price-wrap,.product-grid-item:not(:has(.quantity)) .wd-price-wrap{display:contents!important}
/* 29c.3 Nombre y categoría: cada uno su línea completa, con el aire interior de la tarjeta */
.wd-product:not(:has(.quantity)) .wd-entities-title,.product-grid-item:not(:has(.quantity)) .wd-entities-title,.wd-product:not(:has(.quantity)) .wd-product-cats,.product-grid-item:not(:has(.quantity)) .wd-product-cats,.wd-product:not(:has(.quantity)) .star-rating,.product-grid-item:not(:has(.quantity)) .star-rating{flex:0 0 100%!important;max-width:100%!important;padding-left:15px!important;padding-right:15px!important}
/* 29c.4 El precio ocupa el espacio libre de la fila, con el aire interior a la izquierda */
.wd-product:not(:has(.quantity)) .price,.product-grid-item:not(:has(.quantity)) .price{flex:1 1 auto!important;min-width:0!important;margin:0!important;padding-left:15px!important}
/* 29c.5 El botón (su envoltorio) a la derecha de la fila del precio, sin encogerse, con el aire interior a la derecha */
.wd-product:not(:has(.quantity)) .wd-add-btn,.product-grid-item:not(:has(.quantity)) .wd-add-btn{flex:0 0 auto!important;margin-left:auto!important;margin-right:15px!important;width:auto!important;max-width:none!important;min-width:0!important}
/* 29c.6 En móvil la fila no se rompe */
@media(max-width:768px){.wd-products .wd-product:not(:has(.quantity)),.wd-products .product-grid-item:not(:has(.quantity)),.wd-product:not(:has(.quantity)),.product-grid-item:not(:has(.quantity)){flex-wrap:nowrap!important;column-gap:6px!important}}

/* ===== 29d — Revertir la 29c (hacía la tarjeta flex y las imágenes crecían) + subir el botón a la fila del precio con margen negativo ===== */
/* 29d.1 La tarjeta vuelve a ser bloque y sin el relleno inferior de la 29c */
.wd-products .wd-product:not(:has(.quantity)),.wd-products .product-grid-item:not(:has(.quantity)),.wd-product:not(:has(.quantity)),.product-grid-item:not(:has(.quantity)){display:block!important;padding-bottom:0!important}
/* 29d.2 Los envoltorios de la información vuelven a ser cajas (la 29c.2 los desenvuelve) */
.wd-products .wd-product:not(:has(.quantity)) .product-information,.wd-products .product-grid-item:not(:has(.quantity)) .product-information,.wd-product:not(:has(.quantity)) .product-information,.product-grid-item:not(:has(.quantity)) .product-information{display:block!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-product-info,.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-info,.wd-product:not(:has(.quantity)) .wd-product-info,.product-grid-item:not(:has(.quantity)) .wd-product-info{display:block!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-product-footer,.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-footer,.wd-product:not(:has(.quantity)) .wd-product-footer,.product-grid-item:not(:has(.quantity)) .wd-product-footer{display:block!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-price-wrap,.wd-products .product-grid-item:not(:has(.quantity)) .wd-price-wrap,.wd-product:not(:has(.quantity)) .wd-price-wrap,.product-grid-item:not(:has(.quantity)) .wd-price-wrap{display:block!important}
/* 29d.3 Quitar el aire interior que la 29c puso en nombre/categoría/precio/botón (vuelve el del envoltorio) */
.wd-product:not(:has(.quantity)) .wd-entities-title,.product-grid-item:not(:has(.quantity)) .wd-entities-title,.wd-product:not(:has(.quantity)) .wd-product-cats,.product-grid-item:not(:has(.quantity)) .wd-product-cats,.wd-product:not(:has(.quantity)) .star-rating,.product-grid-item:not(:has(.quantity)) .star-rating{padding-left:0!important;padding-right:0!important}
.wd-product:not(:has(.quantity)) .price,.product-grid-item:not(:has(.quantity)) .price{padding-left:0!important}
.wd-product:not(:has(.quantity)) .wd-add-btn,.product-grid-item:not(:has(.quantity)) .wd-add-btn{margin-right:0!important}
/* 29d.4 El botón sube a la fila del precio (margen negativo: estaba una línea debajo del precio) y va a la derecha — escritorio (el móvil se ajusta aparte) */
@media(min-width:769px){.wd-product:not(:has(.quantity)) .wd-add-btn,.product-grid-item:not(:has(.quantity)) .wd-add-btn{display:flex!important;justify-content:flex-end!important;margin:-34px 0 0!important}}

/* ===== 29e — Fila del precio en móvil (≤768 px): botón y precio compactos para que quepan en 2 columnas; el nombre se lee entero (no se recorta) ===== */
/* 29e.1 Botón y precio más compactos en móvil para que quepan en 2 columnas */
@media(max-width:768px){.wd-product:not(:has(.quantity)) .wd-add-btn .add_to_cart_button,.product-grid-item:not(:has(.quantity)) .wd-add-btn .add_to_cart_button{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important}.wd-product:not(:has(.quantity)) .price,.product-grid-item:not(:has(.quantity)) .price{font-size:15px!important}.wd-product:not(:has(.quantity)) .price del,.product-grid-item:not(:has(.quantity)) .price del{font-size:12px!important}}
/* 29e.2 En móvil el nombre no se recorta: ocupa su ancho y se lee entero (dos líneas si hace falta) */
@media(max-width:768px){.wd-product:not(:has(.quantity)) .wd-entities-title,.product-grid-item:not(:has(.quantity)) .wd-entities-title{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}}
/* ===== 30 — Tarjeta del slider del hero: botón verde sólido «Añadir al carrito» con el selector separado (instrucción de superficies; revierte el solo-icono de la 19/20) ===== */
/* 30.1 Vuelve la cantidad (la 19 y la 17.3 la ocultaban): píldora blanca con borde, a la misma altura que el botón */
body.home .wd-products .cubaen-hero-slider form.cart .quantity,body.home .wd-products .cubaen-hero-slider form.cart .wd-quantity,.wd-products .cubaen-hero-slider form.cart .quantity,.wd-products .cubaen-hero-slider form.cart .wd-quantity{display:inline-flex!important;align-items:center!important;background:#fff!important;border:1.5px solid #E5E0D8!important;border-radius:10px!important;height:44px!important;overflow:hidden!important;margin:0!important}
.wd-products .cubaen-hero-slider form.cart .quantity .minus,.wd-products .cubaen-hero-slider form.cart .quantity .plus,.wd-products .cubaen-hero-slider form.cart .wd-quantity .minus,.wd-products .cubaen-hero-slider form.cart .wd-quantity .plus{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:44px!important;background:transparent!important;border:0!important;color:#1E2A26!important;font-size:16px!important}
.wd-products .cubaen-hero-slider form.cart .quantity input.qty,.wd-products .cubaen-hero-slider form.cart .wd-quantity input.qty{display:inline-block!important;width:36px!important;height:44px!important;border:0!important;background:transparent!important;text-align:center!important;font-size:15px!important;font-weight:700!important;color:#1E2A26!important}
/* 30.2 El botón vuelve al flujo (la 20 y la 27.6 lo ponían absoluto abajo a la derecha); form.cart ya es flex con hueco de 12 px (sección 9) */
.wd-products .cubaen-hero-slider .wd-add-btn,.cubaen-hero-slider .wd-add-btn{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0!important;transform:none!important}
.cubaen-hero-slider form.cart{display:flex!important;gap:12px!important;align-items:stretch!important;flex-wrap:wrap!important;justify-content:flex-start!important}
/* 30.3 El botón del hero es verde sólido con texto (no el cuadrado de solo icono de la rejilla): se restaura el texto del parche y se quita el icono */
.wd-products .cubaen-hero-slider .wd-add-btn .add_to_cart_button,.wd-products .cubaen-hero-slider .wd-add-btn .single_add_to_cart_button,.cubaen-hero-slider form.cart .add_to_cart_button,.cubaen-hero-slider form.cart .single_add_to_cart_button{width:auto!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0 22px!important;border-radius:10px!important;background:#0E7A5F!important;font-size:0!important;line-height:44px!important;white-space:nowrap!important}
.wd-products .cubaen-hero-slider .wd-add-btn .add_to_cart_button::before,.cubaen-hero-slider form.cart .add_to_cart_button::before,.wd-products .cubaen-hero-slider .wd-add-btn .single_add_to_cart_button::before,.cubaen-hero-slider form.cart .single_add_to_cart_button::before{content:none!important;display:none!important}
.wd-products .cubaen-hero-slider .wd-add-btn .add_to_cart_button::after,.wd-products .cubaen-hero-slider .wd-add-btn .single_add_to_cart_button::after,.cubaen-hero-slider form.cart .add_to_cart_button::after,.cubaen-hero-slider form.cart .single_add_to_cart_button::after{content:"Añadir al carrito"!important;display:inline-block!important;font-size:14px!important;font-weight:700!important;color:#fff!important;line-height:44px!important}

/* 30.4 La cantidad se restaura de verdad (la 30.1 usó .wd-products .cubaen-hero-slider como antepasado, pero cubaen-hero-slider ES la misma caja que .wd-products —o su padre—; aquí van el compuesto y body.home) */
body.home .cubaen-hero-slider form.cart .quantity,body.home .cubaen-hero-slider form.cart .wd-quantity,.wd-products.cubaen-hero-slider form.cart .quantity,.wd-products.cubaen-hero-slider form.cart .wd-quantity{display:inline-flex!important;align-items:center!important;background:#fff!important;border:1.5px solid #E5E0D8!important;border-radius:10px!important;height:44px!important;overflow:hidden!important;margin:0!important}
body.home .cubaen-hero-slider form.cart .quantity .minus,body.home .cubaen-hero-slider form.cart .quantity .plus,body.home .cubaen-hero-slider form.cart .wd-quantity .minus,body.home .cubaen-hero-slider form.cart .wd-quantity .plus,.wd-products.cubaen-hero-slider form.cart .quantity .minus,.wd-products.cubaen-hero-slider form.cart .quantity .plus{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:44px!important;background:transparent!important;border:0!important;color:#1E2A26!important;font-size:16px!important}
body.home .cubaen-hero-slider form.cart .quantity input.qty,body.home .cubaen-hero-slider form.cart .wd-quantity input.qty,.wd-products.cubaen-hero-slider form.cart .quantity input.qty,.wd-products.cubaen-hero-slider form.cart .wd-quantity input.qty{display:inline-block!important;width:36px!important;height:44px!important;border:0!important;background:transparent!important;text-align:center!important;font-size:15px!important;font-weight:700!important;color:#1E2A26!important}
/* 30.5 La cantidad se restaura sin depender de form.cart (la cantidad del hero puede no estar dentro de un form.cart; la 30.1/30.4 exigían form.cart) */
body.home .wd-products.cubaen-hero-slider .quantity,body.home .wd-products.cubaen-hero-slider .wd-quantity,body.home .cubaen-hero-slider .quantity,body.home .cubaen-hero-slider .wd-quantity{display:inline-flex!important;align-items:center!important;background:#fff!important;border:1.5px solid #E5E0D8!important;border-radius:10px!important;height:44px!important;overflow:hidden!important;margin:0!important}
body.home .wd-products.cubaen-hero-slider .quantity .minus,body.home .wd-products.cubaen-hero-slider .quantity .plus,body.home .wd-products.cubaen-hero-slider .wd-quantity .minus,body.home .wd-products.cubaen-hero-slider .wd-quantity .plus,body.home .cubaen-hero-slider .quantity .minus,body.home .cubaen-hero-slider .quantity .plus{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:44px!important;background:transparent!important;border:0!important;color:#1E2A26!important;font-size:16px!important}
body.home .wd-products.cubaen-hero-slider .quantity input.qty,body.home .wd-products.cubaen-hero-slider .wd-quantity input.qty,body.home .cubaen-hero-slider .quantity input.qty,body.home .cubaen-hero-slider .wd-quantity input.qty{display:inline-block!important;width:36px!important;height:44px!important;border:0!important;background:transparent!important;text-align:center!important;font-size:15px!important;font-weight:700!important;color:#1E2A26!important}
/* 30.6 Cantidad y botón del hero lado a lado: la cantidad NO está dentro de form.cart (por eso la 30.4 falló); el envoltorio común es .wd-add-btn — fila flex con hueco de 12 px, sin solapes */
body.home .cubaen-hero-slider .wd-add-btn{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;margin:0!important}
body.home .cubaen-hero-slider .wd-add-btn .quantity,body.home .cubaen-hero-slider .wd-add-btn .wd-quantity{flex:0 0 auto!important;margin:0!important}
body.home .cubaen-hero-slider .wd-add-btn form.cart{flex:0 0 auto!important;margin:0!important}
body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{flex:0 0 auto!important;margin-left:0!important;white-space:nowrap!important}
/* 30.7 Revertir la cantidad del hero (diseño limpio 9:27): la 30.5 la devolvió pero queda SOLAPADA sobre el botón (el botón muestra solo «al carrito») y la 30.6 no la separó — la cantidad no cuelga de form.cart ni es hermana flex del botón dentro de .wd-add-btn, así que por CSS no se puede poner lado a lado sin solape. Vuelve el botón verde sólido «Añadir al carrito» sin cantidad en la tarjeta; la cantidad se elige en la ficha. */
body.home .wd-products.cubaen-hero-slider form.cart .quantity,body.home .wd-products.cubaen-hero-slider form.cart .wd-quantity,body.home .cubaen-hero-slider form.cart .quantity,body.home .cubaen-hero-slider form.cart .wd-quantity,body.home .wd-products.cubaen-hero-slider .quantity,body.home .wd-products.cubaen-hero-slider .wd-quantity,body.home .cubaen-hero-slider .quantity,body.home .cubaen-hero-slider .wd-quantity{display:none!important}
/* 29f móvil: en 2 columnas el nombre envuelve a 3 líneas y su caja (altura/clamp de 2 líneas del tema) lo deja montado sobre el precio — la caja del título crece con su contenido */
@media(max-width:768px){
.wd-products .wd-product:not(:has(.quantity)) .wd-entities-title,.wd-products .product-grid-item:not(:has(.quantity)) .wd-entities-title,.wd-product:not(:has(.quantity)) .wd-entities-title,.product-grid-item:not(:has(.quantity)) .wd-entities-title{height:auto!important;max-height:none!important;min-height:0!important;line-height:1.35!important;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}
.wd-products .wd-product:not(:has(.quantity)) .wd-product-cats,.wd-products .product-grid-item:not(:has(.quantity)) .wd-product-cats{margin-bottom:6px!important}
.wd-products .wd-product:not(:has(.quantity)) .price,.wd-products .product-grid-item:not(:has(.quantity)) .price{margin-top:2px!important}
}
/* 29g móvil: el botón sube a la fila del precio (como en escritorio con la 29d.4, con menos margen porque el precio es de 15 px; la 29f ya deja el nombre con su altura real, así que no se monta sobre él) */
@media(max-width:768px){.wd-product:not(:has(.quantity)) .wd-add-btn,.product-grid-item:not(:has(.quantity)) .wd-add-btn{display:flex!important;justify-content:flex-end!important;margin:-27px 0 0!important}}


/* ===== 31 — HERO: TARJETA COMPACTA COMO LAS DE REJILLA (11-nov, pasada del dueño) ===== */
/* 31.1 El elemento del hero ya hereda el diseño del tema (se retiró product_hover="fw-button" en WPBakery, post 58). Aquí se anula la barra verde con texto que imponía la 30 y se devuelve el botón cuadrado 44x44 de solo icono a la fila del precio. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .wd-products.cubaen-hero-slider .wd-add-btn a.add_to_cart_button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border-radius:10px!important;flex:0 0 auto!important;margin:0!important;background:#0E7A5F!important;color:#fff!important;box-shadow:none!important;font-size:18px!important;line-height:44px!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::after,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::after{content:none!important;display:none!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::before,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::before{content:""!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button span,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button span{font-size:0!important}
/* 31.2 Sin cantidad en la tarjeta del hero (se elige en la ficha). */
body.home .wd-products.cubaen-hero-slider .quantity,body.home .cubaen-hero-slider .quantity,body.home .wd-products.cubaen-hero-slider .wd-quantity,body.home .cubaen-hero-slider .wd-quantity,body.home .wd-products.cubaen-hero-slider input.qty,body.home .cubaen-hero-slider input.qty,body.home .wd-products.cubaen-hero-slider .minus,body.home .wd-products.cubaen-hero-slider .plus,body.home .cubaen-hero-slider .minus,body.home .cubaen-hero-slider .plus{display:none!important}
/* 31.3 El envoltorio del botón sube a la fila del precio, a la derecha (mismo margen que la 29d.4/29g en rejilla). */
body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;gap:0!important;position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;margin:-27px 0 0!important;padding:0!important;z-index:2!important}
/* 31.4 Si queda un form.cart en el hero, que no imponga fila con hueco ni ancho de barra. */
body.home .wd-products.cubaen-hero-slider form.cart,body.home .cubaen-hero-slider form.cart{display:flex!important;justify-content:flex-end!important;gap:0!important;margin:0!important;padding:0!important}
/* ===== 32 — TARJETAS UNIFORMES EN PORTADA, /shop/, CATEGORÍAS Y RELACIONADOS ===== */
/* 32.1 Zona de foto uniforme: foto completa (contain, sin recorte), centrada y con aire; altura tope para que en rejillas de 2 columnas la zona no se haga gigante (revierte la 14.2 y la 17.1 con tope, no con altura libre). */
.wd-products .wd-product .product-element-top,.wd-products .product-grid-item .product-element-top,ul.products li.product .product-element-top,.product-grid-item .wd-product-thumb,.product-grid-item .product-image{aspect-ratio:1/1!important;max-height:300px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.wd-products .wd-product .product-element-top .product-image,.wd-products .wd-product .product-element-top .wd-product-thumb,.product-grid-item .product-element-top .product-image,.product-grid-item .product-element-top .wd-product-thumb{height:100%!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
.wd-products .wd-product .product-element-top img,.wd-products .product-grid-item .product-element-top img,.product-grid-item .wd-product-thumb img,.product-grid-item .product-image img,ul.products li.product .product-element-top img{width:auto!important;height:auto!important;max-width:92%!important;max-height:92%!important;object-fit:contain!important;padding:0!important}
@media(max-width:768px){.wd-products .wd-product .product-element-top,.wd-products .product-grid-item .product-element-top,ul.products li.product .product-element-top,.product-grid-item .wd-product-thumb,.product-grid-item .product-image{max-height:210px!important}}
/* 32.2 Nombre: mínimo 2 líneas en escritorio para que la fila del precio no baile de una tarjeta a otra (en móvil ya lo deja la 29f con su altura real). */
@media(min-width:769px){.wd-products .wd-product .wd-entities-title,.wd-products .product-grid-item .wd-entities-title,.wd-product .wd-entities-title,.product-grid-item .wd-entities-title{min-height:2.6em!important;line-height:1.3!important}}

/* ===== 33 — PÍLDORAS «Todos / Categorías / Ofertas / Más vendidos / Recomendados» ===== */
/* 33.1 La fila es el <p> del Raw HTML de la portada (enlaces en línea con padding 10x20 y fuente 15). En móvil se hace una sola fila con desplazamiento horizontal, sin aire suelto; en escritorio queda fina y centrada. */
body.home p:has(>a[href="#categorias"]){display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:8px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:2px 0 10px!important;text-align:center!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
body.home p:has(>a[href="#categorias"])::-webkit-scrollbar{display:none!important}
body.home p:has(>a[href="#categorias"])>a{flex:0 0 auto!important;white-space:nowrap!important;margin:0!important;font-size:14px!important;line-height:1.25!important;padding:9px 18px!important;border-radius:999px!important}
@media(max-width:768px){body.home p:has(>a[href="#categorias"]){justify-content:flex-start!important;gap:6px!important;padding:2px 0 8px!important}body.home p:has(>a[href="#categorias"])>a{font-size:13px!important;padding:7px 13px!important}}
@media(max-width:480px){body.home p:has(>a[href="#categorias"])>a{font-size:12.5px!important;padding:6px 12px!important}}
/* ===== 34 — RITMO DE LA PORTADA ===== */
/* 34.1 Espaciado entre secciones uniforme (32 px) en vez de 50/80 px sueltos. */
body.home .entry-content>.vc_row,body.home .entry-content>.wd-section{margin-bottom:32px!important}
@media(max-width:768px){body.home .entry-content>.vc_row,body.home .entry-content>.wd-section{padding-top:28px!important;padding-bottom:28px!important;margin-bottom:20px!important}}
/* 34.2 Encabezados de sección: mismo aire bajo el título y bajo el subtítulo. */
body.home .entry-content .wpb_text_column h4,body.home .entry-content .wpb_text_column h2{margin-bottom:6px!important}
body.home .entry-content .wpb_text_column p{margin-bottom:0!important}

/* ===== 35 — CORRECCIONES TRAS LA VERIFICACIÓN DE LA 31-34 ===== */
/* 35.1 Zona de foto: altura fija con ancho completo (el aspect-ratio de la 32.1 encogía el ancho en el slider y en las rejillas). */
.wd-products .wd-product .product-element-top,.wd-products .product-grid-item .product-element-top,ul.products li.product .product-element-top,.product-grid-item .wd-product-thumb,.product-grid-item .product-image{aspect-ratio:auto!important;max-height:none!important;height:300px!important;width:100%!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
@media(max-width:768px){.wd-products .wd-product .product-element-top,.wd-products .product-grid-item .product-element-top,ul.products li.product .product-element-top,.product-grid-item .wd-product-thumb,.product-grid-item .product-image{height:210px!important}}
/* 35.2 Icono del carrito del hero: glifo de fondo SVG (mismo truco que la 28.4), porque el ::before/span de la 31.1 lo dejaba en blanco. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{font-size:0!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='17' cy='20' r='1.6'/%3E%3Cpath d='M3 3h2l2.4 12.4a1.6 1.6 0 0 0 1.6 1.3h7.8a1.6 1.6 0 0 0 1.6-1.3L20.5 7H6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::before,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::before,body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::after,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::after{content:none!important;display:none!important}
/* 35.3 Botón del hero: subirlo 9 px más para centrarlo con el precio (en la 31 quedó unos 13 px bajo). */
@media(min-width:769px){body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{margin:-36px 0 0!important}}
/* ===== 36 — ICONO DEL BOTÓN DEL HERO (2ª prueba) ===== */
/* 36.1 El SVG de fondo de la 35.2 no se pintó y su font-size:0 dejaba el botón en blanco. Se retira el SVG y se devuelve el glifo del tema: el botón de rejilla muestra ese mismo glifo como texto directo. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{font-size:20px!important;line-height:44px!important;background-image:none!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button span,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button span{font-size:20px!important}
/* 36.2 Centrado vertical del botón con el precio (con -36 quedaba unos 13 px bajo en escritorio). */
@media(min-width:769px){body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{margin:-50px 0 0!important}}
@media(max-width:768px){body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{margin:-38px 0 0!important}}

/* ===== 37 — SOLAPE ENTRE SECCIONES Y ALTURA DE INFOBOX ===== */
/* 37.1 El encabezado de la sección siguiente caía sobre la fila de precio de la rejilla anterior (medido: el subtítulo de «Más vendidos» pisaba el precio de Ofertas). Se separa con margen superior en la fila que sigue a una fila de productos. */
body.home .entry-content>.vc_row:has(.wd-products)+.vc_row,body.home .entry-content>.vc_row:has(.wd-products)+.wd-section{margin-top:48px!important}
/* 37.2 Franja de confianza y «Cómo funciona»: columnas e infobox a igual altura para que la tarjeta de en medio no sea más alta que las otras. */
body.home .cubaen-trust .vc_column_container,body.home .cubaen-how .vc_column_container,body.home .vc_row:has(.woodmart-info-box) .vc_column_container{height:100%!important}
body.home .cubaen-trust .vc_column-inner,body.home .cubaen-how .vc_column-inner,body.home .vc_row:has(.woodmart-info-box) .vc_column-inner,body.home .cubaen-trust .wpb_wrapper,body.home .cubaen-how .wpb_wrapper,body.home .vc_row:has(.woodmart-info-box) .wpb_wrapper{height:100%!important;display:flex!important;flex-direction:column!important}
body.home .woodmart-info-box{height:100%!important}
/* ===== 38 — LA FILA DE PRODUCTOS NO CONTENÍA LA INFORMACIÓN DE LA TARJETA ===== */
/* 38.1 El encabezado siguiente se solapaba con la fila de precio porque la altura de la tarjeta/contenedor quedaba corta. Se fuerza altura automática y se sube el padding inferior de la fila de productos. */
.wd-products .wd-product,.wd-products .product-grid-item,.wd-products,.woocommerce ul.products,.woocommerce ul.products li.product{height:auto!important;min-height:0!important}
body.home .entry-content>.vc_row:has(.wd-products){height:auto!important;min-height:0!important;overflow:visible!important;padding-bottom:64px!important}

/* ===== 39 — SEPARACIÓN DEL ENCABEZADO SIGUIENTE A UNA REJILLA ===== */
/* 39.1 La 37 (margin-top) y la 38 (altura auto) no movieron el encabezado: la fila de productos mide unos 105 px menos que su contenido. Se baja el contenido del encabezado con padding-top, que sí lo desplaza, y se despega del precio. */
body.home .entry-content>.vc_row:has(.wd-products)+.vc_row,body.home .entry-content>.vc_row:has(.wd-products)+.wd-section{padding-top:104px!important}
/* ===== 40 — ENCABEZADO TRAS REJILLA (2º intento) + FOTO CENTRADA ===== */
/* 40.1 La 39 (padding-top en la fila hermana inmediata) no movió el encabezado: se apunta al bloque de texto del encabezado, en cualquier fila posterior a una fila de productos, y también por si está anidado dentro de la fila de productos. */
body.home .entry-content>.vc_row:has(.wd-products)~.vc_row .wpb_text_column,body.home .entry-content>.vc_row:has(.wd-products)~.wd-section .wpb_text_column,body.home .vc_row:has(.wd-products) .wpb_text_column:has(h4){margin-top:56px!important}
body.home .entry-content>.vc_row:has(.wd-products)~.vc_row,body.home .entry-content>.vc_row:has(.wd-products)~.wd-section{padding-top:104px!important}
/* 40.2 Foto centrada en la tarjeta: la foto quedaba a la izquierda en las rejillas de 2 columnas. Se centra en los tres niveles (zona, enlace/miniatura e imagen). */
.wd-products .wd-product .product-element-top a,.wd-products .wd-product .product-element-top .wd-product-thumb,.wd-products .wd-product .product-element-top .product-image,.product-grid-item .product-element-top a,.product-grid-item .product-element-top .wd-product-thumb,.product-grid-item .product-element-top .product-image{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important}
.wd-products .wd-product .product-element-top img,.product-grid-item .product-element-top img{margin-left:auto!important;margin-right:auto!important;display:block!important}

/* ===== 43 — BOTÓN DEL HERO: SOLO EL ICONO DEL CARRITO ===== */
/* 43.1 La etiqueta «Añadir al carrito» vive en un <span> dentro del botón: la 36.1 la volvió a mostrar a 20 px y en el cuadrado de 44 px se recorta a «A…». Se vuelve a ocultar solo el span; el glifo del carrito es el texto directo del botón y queda a 20 px (36.1). */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button span,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button span{font-size:0!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{font-size:20px!important;line-height:44px!important;overflow:hidden!important}
/* ===== 44 — BOTÓN DEL HERO: ICONO SÍ, TEXTO DIRECTO NO ===== */
/* 44.1 La 43 no bastó: el «A…» es el texto directo del <button> del hero («Añadir al carrito»), no un <span>. Se oculta el texto directo a 0, se muestra el <span> del icono a 20 px y se restaura el ::before con el glifo del tema. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{font-size:0!important;line-height:44px!important;overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button span,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button span{font-size:20px!important;line-height:44px!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::before,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::before{content:""!important;font-family:"woodmart-font"!important;font-size:20px!important;line-height:44px!important;display:inline-block!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::after,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::after{content:none!important;display:none!important}

/* ===== 45 — BOTÓN DEL HERO: EL ICONO VIVE EN ::AFTER ===== */
/* 45.1 La 44 dejó el botón en blanco: ni el <span> ni el ::before mostraron el icono, así que el glifo del botón del hero es su ::after (que mis reglas 31.1/35.2/44.1 anulaban, igual que en el botón de la ficha). Se restaura el ::after con el glifo del tema y se mantiene oculto el texto directo y el <span>. Como respaldo, el fondo lleva el icono SVG (misma técnica que la 28.4). */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::after,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::after{content:""!important;font-family:"woodmart-font"!important;font-size:20px!important;line-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#fff!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{font-size:0!important;line-height:44px!important;overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;background:#0E7A5F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/22px 22px no-repeat !important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button span,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button span{font-size:0!important}
/* ===== 46 — REJILLAS: ALTURA IGUAL POR FILA Y PRECIO+BOTÓN ANCLADOS ABAJO (11-nov, corrección del dueño) ===== */
/* 46.1 La tarjeta es una columna flexible de altura completa: todas las tarjetas de una fila miden lo mismo (la fila estira sus hijos). Se excluye el hero, que lleva su propio botón. */
.wd-products:not(.cubaen-hero-slider) .wd-product,.wd-products:not(.cubaen-hero-slider) .product-grid-item,ul.products li.product{display:flex!important;flex-direction:column!important;height:100%!important}
.wd-products:not(.cubaen-hero-slider){align-items:stretch!important}
/* 46.2 La zona de información crece y es columna: el hueco sobrante queda entre el nombre y el precio, no bajo el botón. */
.wd-products:not(.cubaen-hero-slider) .wd-product .product-information,.wd-products:not(.cubaen-hero-slider) .wd-product .wd-product-info,.wd-products:not(.cubaen-hero-slider) .product-grid-item .product-information,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-product-info{display:flex!important;flex-direction:column!important;flex:1 1 auto!important}
/* 46.3 La fila del precio queda anclada abajo: el margen automático absorbe el hueco, así que el precio y su botón comparten la misma línea base en todas las tarjetas de la fila, tenga el nombre 1, 2 o 3 líneas. El botón sigue subiendo a la fila del precio con su margen negativo (29d.4/29g), que ahora parte de una fila de precio a altura uniforme. */
.wd-products:not(.cubaen-hero-slider) .wd-product .wd-product-footer,.wd-products:not(.cubaen-hero-slider) .wd-product .wd-price-wrap,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-product-footer,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-price-wrap{margin-top:auto!important}
/* 46.4 El nombre ocupa como mínimo 2 líneas también en móvil (en escritorio ya lo hace la 32.2): la fila del precio no baila cuando un nombre tiene 1 línea y el de al lado 2. */
@media(max-width:768px){.wd-products:not(.cubaen-hero-slider) .wd-product .wd-entities-title,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-entities-title,.wd-products:not(.cubaen-hero-slider) .wd-product .woocommerce-loop-product__title,.wd-products:not(.cubaen-hero-slider) .product-grid-item .woocommerce-loop-product__title{min-height:2.6em!important}}
/* 46.5 Zona de foto de altura uniforme en las rejillas (se reafirma la 35.1 para este ámbito). */
.wd-products:not(.cubaen-hero-slider) .wd-product .product-element-top,.wd-products:not(.cubaen-hero-slider) .product-grid-item .product-element-top,ul.products li.product .product-element-top{height:300px!important;max-height:300px!important}
@media(max-width:768px){.wd-products:not(.cubaen-hero-slider) .wd-product .product-element-top,.wd-products:not(.cubaen-hero-slider) .product-grid-item .product-element-top,ul.products li.product .product-element-top{height:210px!important;max-height:210px!important}}
/* 46.6 Botón del hero: se vacía el ::after (su contenido «Añadir al carrito» heredado del tema asomaba como una «A» junto al icono). El icono queda a cargo del fondo SVG de la 45.2, que se reafirma aquí. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::after,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::after{content:""!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button{background:#0E7A5F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/22px 22px no-repeat !important}

/* ===== 47 — REJILLAS: LA FILA DEL PRECIO ES UNA FILA FLEX REAL (11-nov, corrección del dueño, 2.ª vuelta) ===== */
/* 47.1 La 46 no bastó: el pie (.wd-product-footer) y el botón (.wd-add-btn), al ser hijos en columna, se apilan y el botón queda a la altura del contenido de su propia tarjeta. Se convierte el pie en la fila del precio: sus hijos (precio y botón) se sientan lado a lado, con el botón a la derecha. El margen negativo de la 29 se neutraliza para que el botón no se desplace de su fila. Reglas con la misma especificidad que la 29.3 (.wd-products .wd-product:not(:has(.quantity)) ...) y posteriores en el archivo, para imponerse a su margin:0 y a sus márgenes negativos. */
.wd-products:not(.cubaen-hero-slider) .wd-product:not(:has(.quantity)) .wd-product-footer,.wd-products:not(.cubaen-hero-slider) .product-grid-item:not(:has(.quantity)) .wd-product-footer{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;margin-top:auto!important;margin-bottom:0!important;width:100%!important}
.wd-products:not(.cubaen-hero-slider) .wd-product:not(:has(.quantity)) .wd-product-footer .wd-price-wrap,.wd-products:not(.cubaen-hero-slider) .product-grid-item:not(:has(.quantity)) .wd-product-footer .wd-price-wrap{margin-top:0!important;margin-bottom:0!important;margin-left:0!important;margin-right:auto!important}
.wd-products:not(.cubaen-hero-slider) .wd-product:not(:has(.quantity)) .wd-product-footer .wd-add-btn,.wd-products:not(.cubaen-hero-slider) .product-grid-item:not(:has(.quantity)) .wd-product-footer .wd-add-btn{margin-top:0!important;margin-bottom:0!important;margin-left:auto!important;margin-right:0!important;flex:0 0 auto!important}
.wd-products:not(.cubaen-hero-slider) .wd-product:not(:has(.quantity)) .wd-product-footer .wd-add-btn .add_to_cart_button,.wd-products:not(.cubaen-hero-slider) .product-grid-item:not(:has(.quantity)) .wd-product-footer .wd-add-btn .add_to_cart_button{margin-top:0!important;margin-bottom:0!important}
/* 47.2 Si el botón quedara fuera del pie (hijo directo de la tarjeta), se ancla abajo igual y se neutraliza su margen negativo. */
.wd-products:not(.cubaen-hero-slider) .wd-product:not(:has(.quantity))>.wd-add-btn,.wd-products:not(.cubaen-hero-slider) .product-grid-item:not(:has(.quantity))>.wd-add-btn{margin-top:auto!important;margin-bottom:0!important}
/* 47.3 El nombre ocupa como mínimo 3 líneas en móvil (29f: en 2 columnas los nombres llegan a 3 líneas): con 2 líneas de mínimo, un nombre de 3 líneas empujaba la fila del precio una línea hacia abajo respecto al vecino. */
@media(max-width:768px){.wd-products:not(.cubaen-hero-slider) .wd-product .wd-entities-title,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-entities-title,.wd-products:not(.cubaen-hero-slider) .wd-product .woocommerce-loop-product__title,.wd-products:not(.cubaen-hero-slider) .product-grid-item .woocommerce-loop-product__title{min-height:3.9em!important}}
/* ===== 48 — REJILLAS MÓVIL: BLOQUE DE INFORMACIÓN DE ALTURA ÚNICA Y BOTÓN ANCLADO AL BLOQUE (11-nov, 3.ª vuelta) ===== */
/* 48.1 El pegamento entre secciones: en móvil, el bloque que contiene nombre+categoría+precio+bótón (.product-information y .wd-product-info) es una columna flexible de altura completa dentro de la tarjeta. Sus hijos quedan ordenados y la fila del precio se ancla abajo con margen automático. Así el botón queda sobre la misma línea base en todas las tarjetas de la fila, sea cual sea la altura del conjunto de cada una. */
@media(max-width:768px){.wd-products:not(.cubaen-hero-slider) .wd-product .product-information,.wd-products:not(.cubaen-hero-slider) .product-grid-item .product-information{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:100%!important}.wd-products:not(.cubaen-hero-slider) .wd-product .wd-product-info,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-product-info{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:100%!important}.wd-products:not(.cubaen-hero-slider) .wd-product .wd-product-footer,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-product-footer{margin-top:auto!important}.wd-products:not(.cubaen-hero-slider) .wd-product .wd-product-info .wd-product-cats,.wd-products:not(.cubaen-hero-slider) .product-grid-item .wd-product-info .wd-product-cats{min-height:1.3em!important}}
/* 48.2 La zona de la foto es uniforme también en /shop/ (donde la rejilla del tema es otra): altura fija y foto contenida y centrada. */
@media(max-width:768px){.woocommerce ul.products li.product .product-element-top,ul.products li.product .product-element-top{height:210px!important;max-height:210px!important}.woocommerce ul.products li.product .product-element-top img,ul.products li.product .product-element-top img{max-height:92%!important;object-fit:contain!important}}

/* ===== 49 — TARJETA DEL HERO COMO LAS NORMALES (11-nov, corrección del dueño) ===== */
/* 49.0 El elemento Productos del hero ya se dejó en nativo sin fondo ni sombra (Diseño del elemento). Aquí se remata en CSS: el icono del botón era doble y cortado porque el ::before del tema (44.3) se pintaba a la vez que el fondo SVG y quedaba pegado al borde izquierdo; y la tarjeta del hero heredaba las reglas de rejilla (46-48) porque el :not(.cubaen-hero-slider) no la excluye (la clase vive en el envoltorio del elemento, no en .wd-products), de ahí el hueco grande bajo el nombre y el precio anclado abajo. */
/* 49.1 Icono único: se vacía el ::before; queda solo el SVG centrado de la 46.6 y el ::after vacío. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn .add_to_cart_button::before,body.home .cubaen-hero-slider .wd-add-btn .add_to_cart_button::before{content:none!important}
/* 49.2 Información compacta en el hero: la tarjeta y sus bloques vuelven a ser bloque sin crecimiento ni estirado, el título sin altura mínima y el pie del precio sin margen automático (pero sigue siendo fila flex para que precio y botón queden lado a lado). La pista del carrusel no estira las diapositivas. */
.cubaen-hero-slider .wd-product,.cubaen-hero-slider .product-grid-item{display:block!important;flex:none!important;height:auto!important;min-height:0!important}
.cubaen-hero-slider .product-information,.cubaen-hero-slider .wd-product-info{display:block!important;flex:none!important;height:auto!important;min-height:0!important}
.cubaen-hero-slider .wd-entities-title,.cubaen-hero-slider .woocommerce-loop-product__title{min-height:0!important;height:auto!important}
.cubaen-hero-slider .wd-product-footer{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;margin-top:0!important;margin-bottom:0!important}
.cubaen-hero-slider .owl-stage{align-items:flex-start!important}
.cubaen-hero-slider .owl-item,.cubaen-hero-slider .wd-carousel-item{height:auto!important;align-self:flex-start!important}
/* 49.3 Una sola tarjeta blanca a ancho completo: la tarjeta del hero es blanca con una sombra sobria; la zona de la foto queda transparente (sin sub-tarjeta ni sombra) para que la foto flote con aire sobre la tarjeta; el producto y la diapositiva ocupan todo el ancho del contenido. */
.cubaen-hero-slider .wd-product{background:#fff!important;box-shadow:0 1px 3px rgba(30,42,38,.10)!important;border-radius:12px!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.cubaen-hero-slider .product-element-top{background:transparent!important;background-color:transparent!important;box-shadow:none!important}
.cubaen-hero-slider .owl-item,.cubaen-hero-slider .wd-carousel-item{width:100%!important;max-width:100%!important}
/* 49.4 La 49.2 sola no basta: sus selectores (.cubaen-hero-slider .wd-product, 2 clases) pierden contra los de rejilla (46.1 con 3, 46.2/47.3 con 4 y 47.1 con 5 clases). Se repite la anulación con la cadena completa (body.home .cubaen-hero-slider .wd-products .wd-product, 4-5 clases + body), que sí los vence. */
body.home .cubaen-hero-slider .wd-products .wd-product,body.home .cubaen-hero-slider .wd-products .product-grid-item{display:block!important;flex:none!important;height:auto!important;min-height:0!important}
body.home .cubaen-hero-slider .wd-products .wd-product .product-information,body.home .cubaen-hero-slider .wd-products .wd-product .wd-product-info{display:block!important;flex:none!important;height:auto!important;min-height:0!important}
body.home .cubaen-hero-slider .wd-products .wd-product .wd-entities-title,body.home .cubaen-hero-slider .wd-products .wd-product .woocommerce-loop-product__title{min-height:0!important;height:auto!important}
body.home .cubaen-hero-slider .wd-products .wd-product .wd-product-footer{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;margin-top:0!important;margin-bottom:0!important}

/* ===== 50 — HERO: UNA SOLA TARJETA BLANCA E INFORMACIÓN COMPACTA (11-nov, 2.ª revisión: la 49.4 no aplicó — su cadena '.cubaen-hero-slider .wd-products' no existe, porque la clase vive EN '.wd-products' ('.wd-products.cubaen-hero-slider', como usan la 30 y la 31); por eso siguieron la sub-tarjeta gris y el hueco nombre→categoría (la 29f móvil con altura mínima del título). Se reescribe todo con la forma correcta y máxima especificidad) ===== */
/* 50.1 Una sola tarjeta blanca: el contenedor a blanco y todos los envoltorios de la tarjeta a blanco con sombra sobria. */
body.home .wd-products.cubaen-hero-slider{background:#fff!important;background-color:#fff!important}
body.home .wd-products.cubaen-hero-slider .wd-product,body.home .wd-products.cubaen-hero-slider .product-grid-item,body.home .wd-products.cubaen-hero-slider .product-wrapper{background:#fff!important;background-color:#fff!important;box-shadow:0 1px 3px rgba(30,42,38,.10)!important;border-radius:12px!important}
/* 50.2 Zona de foto sin sub-tarjeta: foto e imagen transparentes y sin sombra, para que la foto flote sobre la tarjeta blanca. */
body.home .wd-products.cubaen-hero-slider .product-element-top,body.home .wd-products.cubaen-hero-slider .wd-product-thumb,body.home .wd-products.cubaen-hero-slider .product-image-wrap,body.home .wd-products.cubaen-hero-slider .wd-product-image,body.home .wd-products.cubaen-hero-slider a.product-image-link,body.home .wd-products.cubaen-hero-slider .product-element-top a,body.home .wd-products.cubaen-hero-slider .product-element-top img,body.home .wd-products.cubaen-hero-slider .wd-product-thumb img{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
/* 50.3 Información compacta: bloque sin crecimiento, título sin altura mínima ni margen inferior, categoría pegada al nombre, pie sin margen automático. */
body.home .wd-products.cubaen-hero-slider .wd-product .product-information,body.home .wd-products.cubaen-hero-slider .wd-product .wd-product-info{display:block!important;flex:none!important;height:auto!important;min-height:0!important;padding-top:10px!important;padding-bottom:12px!important}
body.home .wd-products.cubaen-hero-slider .wd-product .wd-entities-title,body.home .wd-products.cubaen-hero-slider .wd-product .woocommerce-loop-product__title{min-height:0!important;height:auto!important;max-height:none!important;margin-bottom:2px!important;line-height:1.3!important}
body.home .wd-products.cubaen-hero-slider .wd-product .wd-product-cats{min-height:0!important;margin-top:0!important;margin-bottom:4px!important}
body.home .wd-products.cubaen-hero-slider .wd-product .wd-product-footer{margin-top:0!important;margin-bottom:0!important}
/* 50.4 Ancho completo de la tarjeta: sin relleno lateral en la diapositiva. */
body.home .wd-products.cubaen-hero-slider .owl-item,body.home .wd-products.cubaen-hero-slider .wd-carousel-item{padding-left:0!important;padding-right:0!important}
/* ===== 51 — HERO: SIN GRIS, ANCHO COMPLETO Y BOTÓN DENTRO DE LA TARJETA (11-nov, 3.ª revisión: la 50 no quitó el gris de la información/foto ni el hueco nombre→categoría; el gris lo pone el tema en la información y en la zona de foto, y en escritorio el botón absoluto cuelga bajo la tarjeta porque la tarjeta se estira más que su caja blanca. Se blanquean información y zona de foto, la tarjeta se ajusta a su contenido, todo ocupa el ancho de la diapositiva y se anulan los márgenes negativos del botón) ===== */
/* 51.1 Información y zona de foto a blanco, sin sombra de sub-tarjeta. */
body.home main .wd-products.cubaen-hero-slider .wd-product .product-information,body.home main .wd-products.cubaen-hero-slider .wd-product .wd-product-info,body.home main .wd-products.cubaen-hero-slider .wd-product .product-element-top{background:#fff!important;background-color:#fff!important;box-shadow:none!important}
/* 51.2 La tarjeta se ajusta a su contenido (no se estira a la altura de la diapositiva más alta) y es el bloque de posicionamiento del botón. */
body.home .wd-products.cubaen-hero-slider .wd-product,body.home .wd-products.cubaen-hero-slider .product-grid-item{position:relative!important;height:auto!important;min-height:0!important;align-self:flex-start!important}
body.home .wd-products.cubaen-hero-slider .owl-item,body.home .wd-products.cubaen-hero-slider .wd-carousel-item{height:auto!important;align-self:flex-start!important}
body.home .wd-products.cubaen-hero-slider .owl-stage{align-items:flex-start!important}
/* 51.3 Tarjeta a ancho completo: tarjeta, envoltorio, información y zona de foto ocupan todo el ancho de la diapositiva, foto centrada. */
body.home .wd-products.cubaen-hero-slider .wd-product,body.home .wd-products.cubaen-hero-slider .product-wrapper,body.home .wd-products.cubaen-hero-slider .product-information,body.home .wd-products.cubaen-hero-slider .product-element-top,body.home .wd-products.cubaen-hero-slider .wd-product-info{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
body.home .wd-products.cubaen-hero-slider .wd-product img{display:block!important;margin-left:auto!important;margin-right:auto!important}
/* 51.4 Botón dentro de la tarjeta: absoluto abajo a la derecha de la tarjeta ajustada, sin márgenes negativos (anulan la 31.3/35.3/36.2). */
body.home .wd-products.cubaen-hero-slider .wd-add-btn{position:absolute!important;right:12px!important;bottom:12px!important;top:auto!important;left:auto!important;transform:none!important;margin:0!important;z-index:5!important}
/* 51.5 Información compacta de verdad: título sin altura mínima ni margen inferior, categoría pegada al nombre, pie sin margen automático. */
body.home main .wd-products.cubaen-hero-slider .wd-product .wd-entities-title,body.home main .wd-products.cubaen-hero-slider .wd-product .woocommerce-loop-product__title{min-height:0!important;height:auto!important;max-height:none!important;margin-bottom:2px!important;line-height:1.3!important}
body.home main .wd-products.cubaen-hero-slider .wd-product .wd-product-cats{min-height:0!important;margin-top:0!important;margin-bottom:4px!important}
body.home main .wd-products.cubaen-hero-slider .wd-product .wd-product-footer{margin-top:0!important;margin-bottom:0!important}
/* ===== 52 — HERO: FORMA DESCENDIENTE (11-nov, 4.ª revisión: la 50/51 no movieron nada porque usaban la forma compuesta '.wd-products.cubaen-hero-slider' (misma etiqueta) y la clase vive en el envoltorio del elemento; la 49.1 sí funcionó con la forma descendiente. Se repite todo con '.cubaen-hero-slider' como antepasado y máxima especificidad) ===== */
/* 52.1 Una sola tarjeta blanca: tarjeta y envoltorio a blanco, sin sombra gris. */
body.home .cubaen-hero-slider .wd-product,body.home .cubaen-hero-slider .product-grid-item,body.home .cubaen-hero-slider .product-wrapper,body.home .cubaen-hero-slider .wd-products{background:#fff!important;background-color:#fff!important;box-shadow:0 1px 3px rgba(30,42,38,.10)!important;border-radius:12px!important}
/* 52.2 Información y zona de foto sin gris ni sub-tarjeta: información a blanco; foto e imagen transparentes y sin sombra. */
body.home .cubaen-hero-slider .wd-product .product-information,body.home .cubaen-hero-slider .wd-product .wd-product-info{background:#fff!important;background-color:#fff!important}
body.home .cubaen-hero-slider .wd-product .product-element-top,body.home .cubaen-hero-slider .wd-product .wd-product-thumb,body.home .cubaen-hero-slider .wd-product .product-image-wrap,body.home .cubaen-hero-slider .wd-product .product-image-link,body.home .cubaen-hero-slider .wd-product .product-element-top img,body.home .cubaen-hero-slider .wd-product .wd-product-thumb img{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
/* 52.3 Información compacta: título sin altura mínima (anula la 29f/47.3), categoría pegada al nombre, pie sin margen automático. */
body.home .cubaen-hero-slider .wd-product .wd-entities-title,body.home .cubaen-hero-slider .wd-product .woocommerce-loop-product__title{min-height:0!important;height:auto!important;max-height:none!important;margin-bottom:2px!important;line-height:1.3!important}
body.home .cubaen-hero-slider .wd-product .wd-product-cats{min-height:0!important;margin-top:0!important;margin-bottom:4px!important}
body.home .cubaen-hero-slider .wd-product .wd-product-info,body.home .cubaen-hero-slider .wd-product .product-information{display:block!important;flex:none!important;height:auto!important;min-height:0!important;padding-top:10px!important;padding-bottom:12px!important}
body.home .cubaen-hero-slider .wd-product .wd-product-footer{margin-top:0!important;margin-bottom:0!important}
/* 52.4 Tarjeta a ancho completo y ajustada a su contenido; botón absoluto dentro de la tarjeta, sin márgenes negativos. */
body.home .cubaen-hero-slider .wd-product,body.home .cubaen-hero-slider .product-grid-item{position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;align-self:flex-start!important}
body.home .cubaen-hero-slider .product-wrapper,body.home .cubaen-hero-slider .product-information,body.home .cubaen-hero-slider .product-element-top,body.home .cubaen-hero-slider .wd-product-info{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
body.home .cubaen-hero-slider .wd-product img{display:block!important;margin-left:auto!important;margin-right:auto!important}
body.home .cubaen-hero-slider .wd-add-btn{position:absolute!important;right:12px!important;bottom:12px!important;top:auto!important;left:auto!important;transform:none!important;margin:0!important;z-index:5!important}
/* ===== 53 — CANARIO DIAGNÓSTICO (11-nov, temporal: se retira tras la prueba; tiñe el título de ámbar con la forma descendiente y la información con tinte ámbar claro con la forma compuesta, para saber qué forma coincide en la página real) ===== */
.cubaen-hero-slider .wd-entities-title{color:#F2A93B!important}
.wd-products.cubaen-hero-slider .product-information{background:#FDF3DC!important}
/* 54.0 Anula el canario de la 53: */
.cubaen-hero-slider .wd-entities-title{color:inherit!important}
.wd-products.cubaen-hero-slider .product-information{background:transparent!important}
/* ===== 54 - HERO: TARJETA UNICA, ANCHO COMPLETO Y RITMO COMPACTO (11-nov, reescrita: la primera 54 no quedo guardada) ===== */
/* 54.1 Una sola tarjeta blanca: diapositiva y envoltorio a blanco, sin sombra gris. */
body.home .wd-products.cubaen-hero-slider .product-wrapper,body.home .wd-products.cubaen-hero-slider .owl-item,body.home .wd-products.cubaen-hero-slider .wd-carousel-item{background:#fff!important;background-color:#fff!important;box-shadow:0 1px 3px rgba(30,42,38,.10)!important;border-radius:12px!important}
/* 54.2 Informacion y zona de foto a blanco/transparente, sin sombra de sub-tarjeta. */
body.home .wd-products.cubaen-hero-slider .product-information,body.home .wd-products.cubaen-hero-slider .wd-product-info{background:#fff!important;background-color:#fff!important;}
body.home .wd-products.cubaen-hero-slider .product-element-top,body.home .wd-products.cubaen-hero-slider .product-image-wrap,body.home .wd-products.cubaen-hero-slider .product-image-link,body.home .wd-products.cubaen-hero-slider .product-element-top img,body.home .wd-products.cubaen-hero-slider .product-image img{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
/* 54.3 Informacion en bloque, ritmo compacto. */
body.home .wd-products.cubaen-hero-slider .product-information,body.home .wd-products.cubaen-hero-slider .wd-product-info{display:block!important;flex:none!important;height:auto!important;min-height:0!important;padding-top:10px!important;padding-bottom:12px!important}
body.home .wd-products.cubaen-hero-slider .wd-entities-title,body.home .wd-products.cubaen-hero-slider .woocommerce-loop-product__title{min-height:0!important;height:auto!important;max-height:none!important;margin-bottom:2px!important;line-height:1.3!important}
body.home .wd-products.cubaen-hero-slider .wd-product-cats{min-height:0!important;margin-top:0!important;margin-bottom:4px!important}
body.home .wd-products.cubaen-hero-slider .wd-product-footer{margin-top:0!important;margin-bottom:0!important}
/* 54.4 Tarjeta y diapositiva a su contenido; boton absoluto dentro de la tarjeta. */
body.home .wd-products.cubaen-hero-slider .product-wrapper,body.home .wd-products.cubaen-hero-slider .wd-product,body.home .wd-products.cubaen-hero-slider .product-grid-item{position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;align-self:flex-start!important}
body.home .wd-products.cubaen-hero-slider .owl-item,body.home .wd-products.cubaen-hero-slider .wd-carousel-item{height:auto!important;align-self:flex-start!important}
body.home .wd-products.cubaen-hero-slider .owl-stage{align-items:flex-start!important}
body.home .wd-products.cubaen-hero-slider .wd-add-btn{position:absolute!important;right:12px!important;bottom:12px!important;top:auto!important;left:auto!important;transform:none!important;margin:0!important;z-index:5!important;text-indent:0!important;font-size:0!important;line-height:0!important;text-align:center!important;padding:0!important}
/* ===== 55 - HERO: LA TARJETA ES SOLO .product-wrapper; PIE EN FILA FLEX REAL (11-nov) ===== */
/* 55.1 Diapositiva y escenario transparentes, sin sombra ni radio; solo el envoltorio es tarjeta. */
body.home .wd-products.cubaen-hero-slider .owl-item,body.home .wd-products.cubaen-hero-slider .wd-carousel-item{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border-radius:0!important;height:auto!important;overflow:visible!important}
body.home .wd-products.cubaen-hero-slider .owl-stage,body.home .wd-products.cubaen-hero-slider .owl-stage-outer{height:auto!important;overflow:visible!important}
body.home .wd-products.cubaen-hero-slider .product-wrapper{display:block!important;height:auto!important;background:#fff!important;background-color:#fff!important;box-shadow:0 1px 3px rgba(30,42,38,.10)!important;border-radius:12px!important;padding-bottom:12px!important}
/* 55.2 Informacion en bloque y pie como fila flex real: precio a la izquierda, boton a la derecha. */
body.home .wd-products.cubaen-hero-slider .product-information,body.home .wd-products.cubaen-hero-slider .wd-product-info{display:block!important;height:auto!important;padding-bottom:0!important}
body.home .wd-products.cubaen-hero-slider .wd-product-footer{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-top:4px!important}
body.home .wd-products.cubaen-hero-slider .wd-product-footer .price,body.home .wd-products.cubaen-hero-slider .wd-product-footer .wd-price-wrap{flex:1 1 auto!important;min-width:0!important;margin:0!important}
body.home .wd-products.cubaen-hero-slider .wd-product-footer .wd-add-btn{flex:0 0 auto!important}
/* 55.3 El boton vuelve al flujo: anula el absoluto de la 54.4 y queda en la fila del precio. */
body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;margin:0!important}
/* ===== 56 - BOTONES DEL HERO Y DEL CTA: TEXTO CENTRADO DENTRO DEL BOTON (11-nov) ===== */
/* 56.1 Texto centrado dentro del propio boton: flex en linea y aire lateral de 28 px. */
.cubaen-btn-inline{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.25!important;padding-left:28px!important;padding-right:28px!important}
/* 56.2 En movil se mantiene el apilado a ancho completo de la 26d. */
@media(max-width:768px){.cubaen-btn-inline{display:block!important;width:100%!important;max-width:280px!important}}
/* ===== 57 - HERO ESCRITORIO: BOTON DENTRO DE LA TARJETA, EN LA FILA DEL PRECIO (11-nov) ===== */
/* 57.1 La 55.3 quito el margen negativo de la 36.2 que subia el boton a la fila del precio (la 35.3 lo dejo en -45 px). Se restaura en escritorio (46 px) y se pega a 12 px del borde derecho. */
@media(min-width:769px){body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{margin-top:-46px!important;margin-right:12px!important}}
/* 57.2 El margin-top de la 57.1 apenas movio el boton (4 px en vez de 46 px): el boton sigue anclado por su posicion. Se mueve con transform, que no depende del flujo. */
@media(min-width:769px){body.home .wd-products.cubaen-hero-slider .wd-add-btn,body.home .cubaen-hero-slider .wd-add-btn{transform:translateY(-40px)!important}}
/* ===== 58 - Costuras entre secciones y franja de confianza (12-nov) ===== */
/* 58.1 Aire generoso antes de cada encabezado de productos: el pie de la tarjeta (precio+boton) desborda su fila ~48 px en escritorio y el encabezado siguiente quedaba pegado o solapado. Las filas de encabezado llevan la clase propia cubaen-products-header. */
body.home .entry-content>.vc_row.cubaen-products-header{padding-top:96px!important;}
/* 58.2 "Como funciona": su encabezado tambien queda pegado a la rejilla anterior; la fila del encabezado lleva la clase cubaen-how-header. */
body.home .entry-content>.vc_row.cubaen-how-header{padding-top:96px!important;}
/* 58.3 Confianza: la fila ya es equal_height, pero la cadena columna -> envoltorio -> tarjeta no estira: se hace flex toda la cadena para que las 3 tarjetas midan igual. */
body.home .cubaen-trust .vc_column-inner,body.home .cubaen-trust .wpb_wrapper{display:flex!important;flex-direction:column!important;height:100%!important;}
body.home .cubaen-trust .vc_column-inner .wpb_wrapper{flex:1 1 auto!important;}
body.home .cubaen-trust .wd-info-box{flex:1 1 auto!important;}
/* ===== 59 - "Como funciona": pasos compactos con numero en pastilla ambar (12-nov) ===== */
/* 59.1 Tarjeta compacta: relleno moderado y sin altura minima heredada; el numero (icono de texto) es un circulo ambar de 72 px con el numero en blanco de 38 px. */
body.home .cubaen-steps .wd-info-box{padding:22px 18px!important;min-height:0!important;height:100%!important;}
body.home .cubaen-steps .wd-info-box .info-box-icon{width:72px!important;height:72px!important;border-radius:50%!important;background:#F2A93B!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-bottom:12px!important;}
body.home .cubaen-steps .wd-info-box .info-box-icon *{color:#fff!important;font-size:38px!important;line-height:1!important;font-weight:700!important;}
body.home .cubaen-steps .wd-info-box h4{margin:0 0 6px!important;}
body.home .cubaen-steps .wd-info-box p{margin:0!important;}
/* ===== 60 - Panel de filtros de la tienda: boton Filter en verde Cubaen (12-nov) ===== */
.woocommerce .widget_price_filter .button,.woocommerce .widget_price_filter .btn,.widget_price_filter .button{background:#0E7A5F!important;border-color:#0E7A5F!important;color:#fff!important;}
/* ===== 61 - "Como funciona": correccion de la 59 (12-nov) ===== */
/* 61.1 El numero es texto directo del icono: color y tamano en el propio icono (se heredan al texto); se anula cualquier min-height del tema y el margen negativo del titulo, que se solapaba con el circulo. */
body.home .cubaen-steps .wd-info-box .info-box-icon{color:#fff!important;font-size:38px!important;line-height:1!important;min-width:0!important;min-height:0!important;margin-bottom:18px!important;}
body.home .cubaen-steps .wd-info-box .info-box-icon *{color:#fff!important;font-size:38px!important;line-height:1!important;font-weight:700!important;}
body.home .cubaen-steps .wd-info-box h4{margin-top:0!important;margin-bottom:6px!important;}
body.home .cubaen-steps .wd-info-box{justify-content:flex-start!important;}
/* ===== 62 - "Como funciona": numero visible y sin solape (12-nov) ===== */
/* 62.1 El icono del tema oculta el numero del shortcode y desplaza el circulo sobre el titulo: se resetea su posicion y se dibuja el numero con ::after por columna, en blanco. */
body.home .cubaen-steps .wd-info-box .info-box-icon{transform:none!important;position:static!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;font-size:0!important;color:transparent!important;}
body.home .cubaen-steps .wd-info-box .info-box-icon *{font-size:0!important;color:transparent!important;}
body.home .cubaen-steps .wd-info-box .info-box-icon::after{color:#fff!important;font-size:38px!important;line-height:1!important;font-weight:700!important;}
body.home .cubaen-steps .vc_col-sm-4:nth-child(1) .wd-info-box .info-box-icon::after,body.home .cubaen-steps .wpb_column:nth-child(1) .wd-info-box .info-box-icon::after{content:"1";}
body.home .cubaen-steps .vc_col-sm-4:nth-child(2) .wd-info-box .info-box-icon::after,body.home .cubaen-steps .wpb_column:nth-child(2) .wd-info-box .info-box-icon::after{content:"2";}
body.home .cubaen-steps .vc_col-sm-4:nth-child(3) .wd-info-box .info-box-icon::after,body.home .cubaen-steps .wpb_column:nth-child(3) .wd-info-box .info-box-icon::after{content:"3";}
/* ===== 63 - "Como funciona": tarjeta a la altura de su contenido (12-nov) ===== */
/* 63.1 La tarjeta quedaba con ~100 px vacios abajo: algun minimo de la cadena (fila/columna/envoltorio) la estiraba. Se anula el minimo y la altura pasa a ser la del contenido (las 3 miden igual porque su contenido mide lo mismo). */
body.home .cubaen-steps,body.home .cubaen-steps .vc_column_container,body.home .cubaen-steps .vc_column-inner,body.home .cubaen-steps .wpb_wrapper{min-height:0!important;height:auto!important;}
body.home .cubaen-steps .wd-info-box{height:auto!important;min-height:0!important;}
/* ===== 64 - "Como funciona": el tema usa tambien .woodmart-info-box (12-nov) ===== */
/* 64.1 El info box lleva las dos clases (.wd-info-box y .woodmart-info-box); el padding y la altura minima del tema viven en la segunda (la 37.2 ya la nombra). Se anulan en ambas y la tarjeta queda a la altura de su contenido. */
body.home .cubaen-steps .woodmart-info-box,body.home .cubaen-steps .wd-info-box{height:auto!important;min-height:0!important;padding:22px 18px!important;}
body.home .cubaen-steps .woodmart-info-box .info-box-icon,body.home .cubaen-steps .wd-info-box .info-box-icon{width:72px!important;height:72px!important;min-width:0!important;min-height:0!important;}
/* ===== 66 - Costuras y confianza: correccion de selectores (12-nov) ===== */
/* 66.1 La 58.1/58.2 no aplicaban: el ">" (hijo directo de .entry-content) no coincide con la estructura real (la fila "Mas vendidos" SI lleva la clase cubaen-products-header, verificada en su dialogo WPBakery). Sin el ">" el padding-top de 96 px llega a los 4 encabezados. */
body.home .vc_row.cubaen-products-header{padding-top:96px!important}
body.home .vc_row.cubaen-how-header{padding-top:96px!important}
/* 66.2 Confianza: la 58.3 escribio ".vc_column-inner.wpb_wrapper" como un solo elemento (no existe: el envoltorio es HIJO de .vc_column-inner). Cadena completa en descendiente, con el contenedor de columna en flex. */
body.home .cubaen-trust .vc_column_container{display:flex!important;flex-direction:column!important}
body.home .cubaen-trust .vc_column-inner{flex:1 1 auto!important;display:flex!important;flex-direction:column!important}
body.home .cubaen-trust .vc_column-inner .wpb_wrapper{flex:1 1 auto!important;display:flex!important;flex-direction:column!important}
body.home .cubaen-trust .wd-info-box,body.home .cubaen-trust .woodmart-info-box{flex:1 1 auto!important;height:auto!important}
/* ===== 67 - Franja de confianza: la propia fila en flex (12-nov) ===== */
/* 67.1 La 66.2 puso la cadena en flex, pero las columnas no comparten altura porque la FILA no es flex (el switch equal_height no la vuelve flex en el DOM real). La fila en flex estira las 3 columnas a la altura de la mas alta y la cadena 66.2 estira las tarjetas. */
body.home .cubaen-trust{display:flex!important;flex-wrap:wrap!important}
body.home .cubaen-trust .vc_column_container{align-self:stretch!important}
/* ===== 68 - Franja de confianza: la fila INTERIOR en flex (12-nov) ===== */
/* 68.1 La 67 no igualo las columnas: la fila con la clase puede envolver otra fila interior que aloja las columnas. Se vuelve flex tambien cualquier fila dentro de .cubaen-trust, para que las 3 columnas compartan altura y la cadena 66.2 estire las tarjetas. */
body.home .cubaen-trust .vc_row{display:flex!important;flex-wrap:wrap!important}
body.home .cubaen-trust .vc_row .vc_column_container{align-self:stretch!important}
/* ===== 69 - Franja de confianza: el envoltorio .info-box-wrapper (12-nov) ===== */
/* 69.1 La cadena 66.2 no llega a la tarjeta: entre .wpb_wrapper y .wd-info-box el tema pone .info-box-wrapper y un enlace <a> (lo nombra la 28.1). Se vuelven flex los dos eslabones, para que la tarjeta herede la altura de la columna. */
body.home .cubaen-trust .wpb_wrapper .info-box-wrapper,body.home .cubaen-trust .info-box-wrapper{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;min-height:0!important}
body.home .cubaen-trust .info-box-wrapper a{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;min-height:0!important}
/* ===== 70 - Franja de confianza: height:100% en toda la cadena (12-nov) ===== */
/* 70.1 Causa del fallo: mi 66.2 puso height:auto en la tarjeta, que anula el height:100% de la 28.2. Con la fila ya en flex (67/68) y la cadena en flex (66.2/69.1), se devuelve height:100% a cada eslabon para que el 100% se propague desde la columna. */
body.home .cubaen-trust .vc_column-inner{height:100%!important}
body.home .cubaen-trust .vc_column-inner .wpb_wrapper{height:100%!important}
body.home .cubaen-trust .info-box-wrapper{height:100%!important}
body.home .cubaen-trust .info-box-wrapper a{height:100%!important}
body.home .cubaen-trust .wd-info-box,body.home .cubaen-trust .woodmart-info-box{height:100%!important}
/* ===== 71 - Franja de confianza: altura minima comun (12-nov) ===== */
/* 71.1 La cadena flex (58.3/66.2/67/68/69/70) no logra que la tarjeta herede la altura de la columna: algun eslabon del tema no propaga la altura. Se fija un minimo comun igual a la altura de la tarjeta mas alta (la central, ~180 px en escritorio), para que las 3 midan igual. En movil el contenido supera ese minimo y no afecta. */
body.home .cubaen-trust .wd-info-box,body.home .cubaen-trust .woodmart-info-box{min-height:185px!important}
/* ===== 72 - CANARIO TEMPORAL (se retira tras la prueba) ===== */
/* 72.1 Borde rojo grueso en las tarjetas de confianza: si en publico aparecen los bordes rojos, el CSS nuevo (66-71) SI se sirve y el problema son mis reglas; si no aparecen, el CSS nuevo no se sirve (compilacion/cache del tema). */
body.home .cubaen-trust .wd-info-box,body.home .cubaen-trust .woodmart-info-box{outline:4px solid #ff0000!important}
/* ===== 73 - CANARIO 2 TEMPORAL (se retira tras la prueba) ===== */
/* 73.1 Borde VERDE sin body.home: si el verde aparece y el rojo (72) no, el body no tiene la clase home en la portada y todas mis reglas con body.home fallan. */
.cubaen-trust .wd-info-box,.cubaen-trust .woodmart-info-box{outline:4px solid #00ff00!important}
/* ===== 74 - Franja de confianza: altura fija en escritorio (12-nov) ===== */
/* 74.1 El min-height de la 71 no se aplico aunque el outline de la 72 si (mismo selector): alguna regla del tema bloquea el minimo. Se fija la altura en escritorio a 185 px (la de la tarjeta mas alta, la central), solo en escritorio para no recortar el texto en movil. */
@media(min-width:769px){body.home .cubaen-trust .wd-info-box,body.home .cubaen-trust .woodmart-info-box{height:185px!important}}
/* ===== 75 - Se retiran los canarios 72 y 73 (12-nov) ===== */
/* 75.1 Bordes rojo y verde de prueba: se anulan para que la franja quede limpia. */
body.home .cubaen-trust .wd-info-box,body.home .cubaen-trust .woodmart-info-box{outline:none!important}
.cubaen-trust .wd-info-box,.cubaen-trust .woodmart-info-box{outline:none!important}