: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}}