/* ============================================
   WOOCOMMERCE CSS PERSONALIZADO
   America Cafe Trip Theme
   ============================================ */

/* ---- Reset selectores WC ---- */
.woocommerce-page .woocommerce,
.woocommerce {
    font-family: var(--font-body);
    color: var(--color-text-dark);
}

/* ---- Mensajes de notificación ---- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    border-top-color: var(--color-gold) !important;
    background-color: var(--color-cream) !important;
    color: var(--color-espresso) !important;
    padding: var(--space-4) var(--space-5) !important;
    border-radius: var(--radius-md) !important;
    margin-bottom: var(--space-5) !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--space-3) !important;
}

.woocommerce-error {
    border-top-color: var(--color-error) !important;
    background-color: rgba(204, 51, 51, 0.06) !important;
    color: var(--color-error) !important;
}

/* ---- Rating stars ---- */
.star-rating,
.woocommerce-product-rating .star-rating {
    font-size: var(--text-sm) !important;
    color: var(--color-gold) !important;
    height: auto !important;
}

.star-rating::before {
    color: var(--color-latte) !important;
}

.star-rating span::before {
    color: var(--color-gold) !important;
}

/* ---- Precio ---- */
.woocommerce-Price-amount,
.price .amount {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    color: var(--color-espresso) !important;
    /* Evitar que bdi se convierta en bloque */
    display: inline !important;
}

.woocommerce-Price-amount bdi {
    display: inline !important;
    vertical-align: baseline !important;
}

/* Precio de oferta en rojo */
ins .woocommerce-Price-amount {
    color: var(--color-error) !important;
}

/* Precio original tachado */
del .woocommerce-Price-amount {
    color: var(--color-text-muted) !important;
    font-weight: 400 !important;
    font-size: 0.75em !important;
}

/* ---- Precio: del e ins en línea (no apilados) ---- */
.woocommerce span.price,
.product-detail-price span.price {
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 4px 10px !important;
}

.woocommerce span.price del,
.woocommerce span.price ins {
    display: inline-flex !important;
    align-items: baseline !important;
}

/* Símbolo de moneda: pequeño, alineado al texto, sin superíndice */
.woocommerce-Price-currencySymbol {
    font-size: 0.6em !important;
    vertical-align: baseline !important;
    font-weight: 400 !important;
    margin-right: 1px !important;
}

/* ---- Botón agregar al carrito ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background-color: var(--color-espresso) !important;
    color: var(--color-cream) !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: var(--text-sm) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: var(--radius-sm) !important;
    padding: var(--space-3) var(--space-6) !important;
    border: 2px solid var(--color-espresso) !important;
    transition: all var(--transition-base) !important;
    cursor: pointer !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: var(--color-gold) !important;
    border-color: var(--color-gold) !important;
    color: var(--color-espresso) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-gold) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background-color: var(--color-gold) !important;
    border-color: var(--color-gold) !important;
    color: var(--color-espresso) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background-color: var(--color-gold-light) !important;
    border-color: var(--color-gold-light) !important;
}

/* ---- Campo de cantidad ---- */
.woocommerce .quantity .qty {
    border: 1px solid var(--color-cappuccino) !important;
    border-radius: var(--radius-sm) !important;
    padding: var(--space-3) var(--space-3) !important;
    font-size: var(--text-base) !important;
    font-weight: 600 !important;
    color: var(--color-espresso) !important;
    background-color: var(--color-white) !important;
    width: 70px !important;
    text-align: center !important;
}

/* ---- Formularios ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 1px solid var(--color-cappuccino) !important;
    border-radius: var(--radius-sm) !important;
    padding: var(--space-3) var(--space-4) !important;
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    color: var(--color-text-dark) !important;
    background-color: var(--color-white) !important;
    transition: border-color var(--transition-fast) !important;
    outline: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--color-gold) !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.15) !important;
}

.woocommerce form .form-row label {
    font-size: var(--text-sm) !important;
    font-weight: 600 !important;
    color: var(--color-text-medium) !important;
    margin-bottom: var(--space-2) !important;
}

.woocommerce form .form-row label .required {
    color: var(--color-error) !important;
}

/* ---- Tabla del carrito ---- */
.woocommerce-cart-form__cart-item td,
.woocommerce-cart-form__cart-item th,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
    padding: var(--space-4) !important;
    border-bottom: 1px solid var(--color-latte) !important;
    vertical-align: middle !important;
}

.woocommerce table.shop_table th {
    font-size: var(--text-xs) !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--color-text-muted) !important;
    background-color: var(--color-cream) !important;
}

.woocommerce table.shop_table {
    border: 1px solid var(--color-latte) !important;
    border-radius: var(--radius-md) !important;
    overflow: hidden !important;
}

/* ---- Resumen del carrito ---- */
.woocommerce .cart_totals,
.woocommerce .order-total {
    background-color: var(--color-cream) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--space-6) !important;
}

.woocommerce .cart_totals h2 {
    font-family: var(--font-display) !important;
    font-size: var(--text-xl) !important;
    color: var(--color-espresso) !important;
    margin-bottom: var(--space-4) !important;
    padding-bottom: var(--space-3) !important;
    border-bottom: 2px solid var(--color-gold) !important;
}

.woocommerce .cart_totals .order-total .amount {
    font-size: var(--text-2xl) !important;
}

/* ---- Checkout ---- */
.woocommerce #payment {
    background-color: var(--color-cream) !important;
    border-radius: var(--radius-lg) !important;
}

.woocommerce #payment div.payment_box {
    background-color: rgba(201, 168, 76, 0.1) !important;
    border-radius: var(--radius-md) !important;
}

.woocommerce #payment ul.payment_methods li {
    padding: var(--space-3) !important;
    border-bottom: 1px solid var(--color-latte) !important;
}

.woocommerce #payment ul.payment_methods li label {
    font-size: var(--text-base) !important;
    font-weight: 600 !important;
}

/* ---- Mi cuenta ---- */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background-color: var(--color-cream) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--space-4) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin-bottom: var(--space-1) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-2) !important;
    padding: var(--space-2) var(--space-4) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--color-text-medium) !important;
    font-size: var(--text-sm) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all var(--transition-fast) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: var(--color-espresso) !important;
    color: var(--color-cream) !important;
}

/* ---- Resultados de búsqueda ---- */
.woocommerce-result-count {
    font-size: var(--text-sm) !important;
    color: var(--color-text-muted) !important;
}

/* ---- Selector de ordenamiento ---- */
.woocommerce-ordering select {
    border: 1px solid var(--color-cappuccino) !important;
    border-radius: var(--radius-sm) !important;
    padding: var(--space-2) var(--space-4) !important;
    font-size: var(--text-sm) !important;
    color: var(--color-text-medium) !important;
    background-color: var(--color-white) !important;
    outline: none !important;
    cursor: pointer !important;
}

/* ---- Badge de venta ---- */
.woocommerce span.onsale {
    background-color: var(--color-error) !important;
    color: var(--color-white) !important;
    font-weight: 700 !important;
    border-radius: var(--radius-sm) !important;
    padding: var(--space-1) var(--space-3) !important;
    font-size: var(--text-xs) !important;
    letter-spacing: 0.05em !important;
}

/* ---- Breadcrumb ---- */
.woocommerce-breadcrumb {
    font-size: var(--text-sm) !important;
    color: rgba(255, 255, 255, 0.65) !important;
    margin-top: var(--space-3) !important;
}

.woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
    color: var(--color-gold) !important;
}

/* ---- Paginación ---- */
.woocommerce nav.woocommerce-pagination ul {
    display: flex !important;
    gap: var(--space-2) !important;
    list-style: none !important;
    padding: 0 !important;
    justify-content: center !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--radius-sm) !important;
    border: 1px solid var(--color-cappuccino) !important;
    font-size: var(--text-sm) !important;
    font-weight: 600 !important;
    color: var(--color-text-medium) !important;
    text-decoration: none !important;
    transition: all var(--transition-fast) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background-color: var(--color-espresso) !important;
    border-color: var(--color-espresso) !important;
    color: var(--color-white) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--color-gold) !important;
    border-color: var(--color-gold) !important;
    color: var(--color-espresso) !important;
}

/* ---- Variaciones de producto ---- */
.variations td,
.variations th {
    padding: var(--space-3) 0 !important;
    border: none !important;
}

.variations label {
    font-size: var(--text-sm) !important;
    font-weight: 600 !important;
    color: var(--color-text-medium) !important;
}

.variations select {
    border: 1px solid var(--color-cappuccino) !important;
    border-radius: var(--radius-sm) !important;
    padding: var(--space-2) var(--space-4) !important;
    font-size: var(--text-sm) !important;
    color: var(--color-text-dark) !important;
    background-color: var(--color-white) !important;
    outline: none !important;
    cursor: pointer !important;
    min-width: 150px !important;
}

/* ---- Reseñas ---- */
#reviews {
    margin-top: var(--space-6) !important;
}

#reviews h3 {
    font-family: var(--font-display) !important;
    font-size: var(--text-xl) !important;
    color: var(--color-espresso) !important;
    margin-bottom: var(--space-4) !important;
}

.comment-text .description {
    font-size: var(--text-base) !important;
    color: var(--color-text-medium) !important;
    line-height: 1.7 !important;
}

.review_form #comment {
    min-height: 100px !important;
}

/* ---- Productos relacionados ---- */
.related > h2,
.upsells > h2 {
    font-family: var(--font-display) !important;
    font-size: var(--text-2xl) !important;
    color: var(--color-espresso) !important;
    margin-bottom: var(--space-6) !important;
}

.related ul.products,
.upsells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: var(--space-5) !important;
}

/* ---- Imagen de producto en mini carrito ---- */
.widget_shopping_cart .cart_list li a.remove {
    color: var(--color-error) !important;
}

/* Responsive WooCommerce */
@media (max-width: 768px) {
    .related ul.products,
    .upsells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .woocommerce-cart-form__cart-item .product-thumbnail {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .related ul.products,
    .upsells ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   TARJETAS PRODUCTO TIENDA - FORMATO FICHA
   ============================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--space-6) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce ul.products li.product .act-loop-product-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
}

.woocommerce ul.products li.product a {
    text-decoration: none !important;
}

.woocommerce ul.products li.product .act-loop-product-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 0 !important;
}

@media (max-width: 992px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* V10 - Altura uniforme en fichas WooCommerce */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    align-items: stretch !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product .act-loop-product-card,
.woocommerce-page ul.products li.product .act-loop-product-card {
    height: 100% !important;
    min-height: 590px !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product .act-loop-product-image,
.woocommerce-page ul.products li.product .act-loop-product-image {
    height: 260px !important;
    min-height: 260px !important;
    flex: 0 0 260px !important;
}

.woocommerce ul.products li.product .act-loop-product-body,
.woocommerce-page ul.products li.product .act-loop-product-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product .product-origin,
.woocommerce-page ul.products li.product .product-origin {
    min-height: 40px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 112px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product .product-description,
.woocommerce-page ul.products li.product .product-description {
    min-height: 28px !important;
}

.woocommerce ul.products li.product .act-loop-product-footer,
.woocommerce-page ul.products li.product .act-loop-product-footer {
    margin-top: auto !important;
    min-height: 88px !important;
}

/* V12 - Tarjetas de tienda según referencia visual */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
}

.woocommerce ul.products li.product .act-loop-product-card,
.woocommerce-page ul.products li.product .act-loop-product-card {
    width: 100% !important;
    min-height: 558px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid rgba(90, 62, 43, 0.12) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(45, 24, 16, 0.06) !important;
}

.woocommerce ul.products li.product .act-loop-product-image,
.woocommerce-page ul.products li.product .act-loop-product-image {
    position: relative !important;
    height: 220px !important;
    min-height: 220px !important;
    flex: 0 0 220px !important;
    padding: 42px 32px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    overflow: visible !important;
}

.woocommerce ul.products li.product .act-loop-product-image img,
.woocommerce-page ul.products li.product .act-loop-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 205px !important;
    max-height: 165px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
}

.woocommerce ul.products li.product .product-badge,
.woocommerce-page ul.products li.product .product-badge {
    position: absolute !important;
    top: 24px !important;
    left: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: var(--color-gold) !important;
    color: var(--color-espresso) !important;
    border-radius: 7px !important;
    padding: 7px 11px !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    z-index: 5 !important;
}

.woocommerce ul.products li.product .act-loop-product-body,
.woocommerce-page ul.products li.product .act-loop-product-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 22px 26px !important;
}

.woocommerce ul.products li.product .product-origin,
.woocommerce-page ul.products li.product .product-origin {
    min-height: 34px !important;
    margin: 0 0 22px !important;
    color: #0c5a51 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.11em !important;
    text-transform: uppercase !important;
    line-height: 1.35 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .product-name {
    min-height: 108px !important;
    margin: 0 0 20px !important;
    font-size: clamp(1.58rem, 2vw, 1.86rem) !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title a {
    color: var(--color-dark-roast) !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .product-description,
.woocommerce-page ul.products li.product .product-description {
    min-height: 24px !important;
    margin: auto 0 0 !important;
    color: var(--color-medium-roast) !important;
    font-size: 0.86rem !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.woocommerce ul.products li.product .act-loop-product-footer,
.woocommerce-page ul.products li.product .act-loop-product-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px 14px !important;
    padding: 18px 22px 16px !important;
    border-top: 1px solid var(--color-latte) !important;
    background: #fff !important;
}

.woocommerce ul.products li.product .act-loop-product-footer .product-price,
.woocommerce-page ul.products li.product .act-loop-product-footer .product-price {
    order: 1 !important;
    flex: 1 1 110px !important;
    min-width: 95px !important;
    margin: 0 !important;
    color: var(--color-error) !important;
    font-size: 1.33rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.woocommerce ul.products li.product .act-loop-product-footer > .btn,
.woocommerce-page ul.products li.product .act-loop-product-footer > .btn {
    order: 2 !important;
    flex: 0 0 auto !important;
    min-width: 118px !important;
    height: 38px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    font-size: 0.7rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.woocommerce ul.products li.product .act-loop-product-footer .add_to_cart_button,
.woocommerce-page ul.products li.product .act-loop-product-footer .add_to_cart_button,
.woocommerce ul.products li.product .act-loop-product-footer .button,
.woocommerce-page ul.products li.product .act-loop-product-footer .button {
    order: 3 !important;
    flex: 0 0 auto !important;
    min-width: 128px !important;
    height: 42px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 0 14px 0 !important;
    background: var(--color-espresso) !important;
    color: #fff !important;
    font-size: 0.75rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

@media (max-width: 480px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }
    .woocommerce ul.products li.product .act-loop-product-footer,
    .woocommerce-page ul.products li.product .act-loop-product-footer {
        align-items: stretch !important;
    }
}

/* V13 - Uniformar fichas de producto en la página Tienda.
   La tienda usa un contenedor propio del tema, por eso se fuerzan las mismas
   reglas visuales de las tarjetas destacadas de la página inicial. */
.woocommerce .products-grid,
.woocommerce-page .products-grid,
.woocommerce .act-shop-products-grid,
.woocommerce-page .act-shop-products-grid {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.woocommerce .products-grid > li.product,
.woocommerce-page .products-grid > li.product,
.woocommerce .act-shop-products-grid > li.product,
.woocommerce-page .act-shop-products-grid > li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    min-height: 0 !important;
}

.woocommerce .products-grid > li.product .act-loop-product-card,
.woocommerce-page .products-grid > li.product .act-loop-product-card,
.woocommerce .act-shop-products-grid > li.product .act-loop-product-card,
.woocommerce-page .act-shop-products-grid > li.product .act-loop-product-card {
    width: 100% !important;
    min-height: 535px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid rgba(90, 62, 43, 0.12) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(45, 24, 16, 0.06) !important;
}

.woocommerce .products-grid > li.product .act-loop-product-image,
.woocommerce-page .products-grid > li.product .act-loop-product-image,
.woocommerce .act-shop-products-grid > li.product .act-loop-product-image,
.woocommerce-page .act-shop-products-grid > li.product .act-loop-product-image {
    height: 220px !important;
    min-height: 220px !important;
    flex: 0 0 220px !important;
    padding: 42px 32px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
}

.woocommerce .products-grid > li.product .act-loop-product-image img,
.woocommerce-page .products-grid > li.product .act-loop-product-image img,
.woocommerce .act-shop-products-grid > li.product .act-loop-product-image img,
.woocommerce-page .act-shop-products-grid > li.product .act-loop-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 230px !important;
    max-height: 170px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
}

.woocommerce .products-grid > li.product .act-loop-product-body,
.woocommerce-page .products-grid > li.product .act-loop-product-body,
.woocommerce .act-shop-products-grid > li.product .act-loop-product-body,
.woocommerce-page .act-shop-products-grid > li.product .act-loop-product-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 22px 26px !important;
}

.woocommerce .products-grid > li.product .product-origin,
.woocommerce-page .products-grid > li.product .product-origin,
.woocommerce .act-shop-products-grid > li.product .product-origin,
.woocommerce-page .act-shop-products-grid > li.product .product-origin {
    min-height: 34px !important;
    margin: 0 0 22px !important;
}

.woocommerce .products-grid > li.product .woocommerce-loop-product__title,
.woocommerce-page .products-grid > li.product .woocommerce-loop-product__title,
.woocommerce .act-shop-products-grid > li.product .woocommerce-loop-product__title,
.woocommerce-page .act-shop-products-grid > li.product .woocommerce-loop-product__title {
    min-height: 108px !important;
    max-height: 108px !important;
    margin: 0 0 20px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.woocommerce .products-grid > li.product .product-description,
.woocommerce-page .products-grid > li.product .product-description,
.woocommerce .act-shop-products-grid > li.product .product-description,
.woocommerce-page .act-shop-products-grid > li.product .product-description {
    min-height: 24px !important;
    margin-top: auto !important;
}

.woocommerce .products-grid > li.product .act-loop-product-footer,
.woocommerce-page .products-grid > li.product .act-loop-product-footer,
.woocommerce .act-shop-products-grid > li.product .act-loop-product-footer,
.woocommerce-page .act-shop-products-grid > li.product .act-loop-product-footer {
    margin-top: auto !important;
    min-height: 74px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 18px 22px !important;
    border-top: 1px solid var(--color-latte) !important;
}

@media (max-width: 640px) {
    .woocommerce .products-grid,
    .woocommerce-page .products-grid,
    .woocommerce .act-shop-products-grid,
    .woocommerce-page .act-shop-products-grid {
        grid-template-columns: 1fr !important;
    }
}

/* V20 - Fichas unificadas para Tienda, Café y Experiencias */
.woocommerce .products.products-grid,
.woocommerce-page .products.products-grid,
.woocommerce .act-shop-products-grid,
.woocommerce-page .act-shop-products-grid,
.act-product-grid-wrap .act-experience-grid {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.woocommerce ul.products li.product.act-unified-product-item,
.woocommerce-page ul.products li.product.act-unified-product-item,
.woocommerce .products-grid > li.product.act-unified-product-item,
.woocommerce-page .products-grid > li.product.act-unified-product-item,
.act-experience-grid > li.product.act-unified-product-item {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    align-items: stretch !important;
}

.woocommerce ul.products li.product .act-loop-product-card,
.woocommerce-page ul.products li.product .act-loop-product-card,
.products-grid .act-loop-product-card,
.act-experience-grid .act-loop-product-card {
    width: 100% !important;
    min-height: 525px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid rgba(90, 62, 43, 0.12) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 28px rgba(45, 24, 16, 0.12) !important;
}

.woocommerce ul.products li.product .act-loop-product-image,
.woocommerce-page ul.products li.product .act-loop-product-image,
.products-grid .act-loop-product-image,
.act-experience-grid .act-loop-product-image {
    position: relative !important;
    width: 100% !important;
    height: 218px !important;
    min-height: 218px !important;
    flex: 0 0 218px !important;
    padding: 0 !important;
    background: #f8f4ed !important;
    overflow: hidden !important;
    display: block !important;
}

.woocommerce ul.products li.product .act-loop-product-image a,
.woocommerce-page ul.products li.product .act-loop-product-image a,
.products-grid .act-loop-product-image a,
.act-experience-grid .act-loop-product-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.woocommerce ul.products li.product .act-loop-product-image img,
.woocommerce-page ul.products li.product .act-loop-product-image img,
.products-grid .act-loop-product-image img,
.act-experience-grid .act-loop-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    display: block !important;
}

.woocommerce ul.products li.product .act-card-cafe .act-loop-product-image img,
.woocommerce-page ul.products li.product .act-card-cafe .act-loop-product-image img,
.products-grid .act-card-cafe .act-loop-product-image img {
    object-fit: contain !important;
    padding: 24px !important;
    background: #fff !important;
}

.woocommerce ul.products li.product .product-badge,
.woocommerce-page ul.products li.product .product-badge,
.products-grid .product-badge,
.act-experience-grid .product-badge {
    position: absolute !important;
    left: 20px !important;
    bottom: 18px !important;
    top: auto !important;
    right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 28px !important;
    padding: 7px 13px !important;
    border-radius: 5px !important;
    background: var(--color-gold) !important;
    color: #2a1507 !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    z-index: 2 !important;
}

.woocommerce ul.products li.product .act-loop-product-body,
.woocommerce-page ul.products li.product .act-loop-product-body,
.products-grid .act-loop-product-body,
.act-experience-grid .act-loop-product-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 28px 22px 22px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.products-grid .woocommerce-loop-product__title,
.act-experience-grid .woocommerce-loop-product__title,
.products-grid .product-name,
.act-experience-grid .product-name {
    min-height: 82px !important;
    max-height: 96px !important;
    margin: 0 0 10px !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.55rem, 2vw, 1.85rem) !important;
    line-height: 1.08 !important;
    color: var(--color-espresso) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title a,
.products-grid .product-name a,
.act-experience-grid .product-name a {
    color: inherit !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .product-origin,
.woocommerce-page ul.products li.product .product-origin,
.products-grid .product-origin,
.act-experience-grid .product-origin {
    min-height: 22px !important;
    margin: 0 0 14px !important;
    color: #0d6f64 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}

.woocommerce ul.products li.product .product-origin i,
.woocommerce-page ul.products li.product .product-origin i,
.products-grid .product-origin i,
.act-experience-grid .product-origin i {
    color: #0d6f64 !important;
}

.woocommerce ul.products li.product .product-description,
.woocommerce-page ul.products li.product .product-description,
.products-grid .product-description,
.act-experience-grid .product-description {
    min-height: 60px !important;
    max-height: 68px !important;
    margin: 0 !important;
    color: var(--color-text) !important;
    font-size: 0.88rem !important;
    line-height: 1.65 !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product .product-description i,
.woocommerce-page ul.products li.product .product-description i,
.products-grid .product-description i {
    color: var(--color-gold) !important;
    margin-right: 5px !important;
}

.woocommerce ul.products li.product .act-loop-product-footer,
.woocommerce-page ul.products li.product .act-loop-product-footer,
.products-grid .act-loop-product-footer,
.act-experience-grid .act-loop-product-footer {
    margin-top: auto !important;
    min-height: 102px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 18px 22px !important;
    border-top: 1px solid var(--color-latte) !important;
    background: #fff !important;
}

.woocommerce ul.products li.product .act-card-meta,
.woocommerce-page ul.products li.product .act-card-meta,
.products-grid .act-card-meta,
.act-experience-grid .act-card-meta {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
    color: var(--color-text) !important;
    font-size: 0.86rem !important;
}

.woocommerce ul.products li.product .product-price,
.woocommerce-page ul.products li.product .product-price,
.products-grid .product-price,
.act-experience-grid .product-price {
    color: var(--color-red, #d12f2f) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .act-card-experiencia .product-price,
.woocommerce-page ul.products li.product .act-card-experiencia .product-price,
.products-grid .act-card-experiencia .product-price,
.act-experience-grid .act-card-experiencia .product-price {
    color: var(--color-text) !important;
    font-weight: 500 !important;
}

.woocommerce ul.products li.product .act-card-meta i,
.woocommerce-page ul.products li.product .act-card-meta i,
.products-grid .act-card-meta i,
.act-experience-grid .act-card-meta i {
    color: var(--color-gold) !important;
    margin-right: 5px !important;
}

.woocommerce ul.products li.product .act-card-duration,
.woocommerce-page ul.products li.product .act-card-duration,
.products-grid .act-card-duration,
.act-experience-grid .act-card-duration {
    color: var(--color-text) !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product .act-card-detail-btn,
.woocommerce-page ul.products li.product .act-card-detail-btn,
.products-grid .act-card-detail-btn,
.act-experience-grid .act-card-detail-btn {
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--color-gold) !important;
    color: #2a1507 !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce-page ul.products li.product .button.add_to_cart_button,
.products-grid .button.add_to_cart_button {
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 0 0 14px 0 !important;
    background: var(--color-espresso) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

@media (max-width: 640px) {
    .woocommerce .products.products-grid,
    .woocommerce-page .products.products-grid,
    .woocommerce .act-shop-products-grid,
    .woocommerce-page .act-shop-products-grid,
    .act-product-grid-wrap .act-experience-grid {
        grid-template-columns: 1fr !important;
    }
}


/* V21 - Formato único de fichas para Tienda, Café, Experiencias y Portada
   Fuerza el diseño de tarjeta tipo referencia: imagen superior, badge sobre imagen,
   cuerpo alineado y pie fijo con precio / duración / botón. */
.act-reference-card-grid,
.woocommerce ul.products.act-reference-card-grid,
.woocommerce-page ul.products.act-reference-card-grid,
.act-product-grid-wrap ul.act-experience-grid,
.home .products-grid,
.front-page .products-grid,
ul.products.act-shop-products-grid {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.act-reference-card-grid > li.product,
.woocommerce ul.products.act-reference-card-grid > li.product,
.woocommerce-page ul.products.act-reference-card-grid > li.product,
.act-product-grid-wrap ul.act-experience-grid > li.product,
ul.products.act-shop-products-grid > li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    align-items: stretch !important;
}

.act-reference-card-grid .act-loop-product-card,
.woocommerce ul.products .act-loop-product-card,
.woocommerce-page ul.products .act-loop-product-card,
ul.products.act-shop-products-grid .act-loop-product-card,
.act-product-grid-wrap .act-loop-product-card {
    width: 100% !important;
    height: 100% !important;
    min-height: 525px !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid rgba(90, 62, 43, 0.13) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 28px rgba(45, 24, 16, 0.12) !important;
}

.act-reference-card-grid .act-loop-product-image,
.woocommerce ul.products .act-loop-product-image,
.woocommerce-page ul.products .act-loop-product-image,
ul.products.act-shop-products-grid .act-loop-product-image,
.act-product-grid-wrap .act-loop-product-image {
    position: relative !important;
    width: 100% !important;
    height: 218px !important;
    min-height: 218px !important;
    flex: 0 0 218px !important;
    padding: 0 !important;
    background: #f8f4ed !important;
    overflow: hidden !important;
    display: block !important;
}

.act-reference-card-grid .act-loop-product-image a,
.woocommerce ul.products .act-loop-product-image a,
.woocommerce-page ul.products .act-loop-product-image a,
ul.products.act-shop-products-grid .act-loop-product-image a,
.act-product-grid-wrap .act-loop-product-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.act-reference-card-grid .act-loop-product-image img,
.woocommerce ul.products .act-loop-product-image img,
.woocommerce-page ul.products .act-loop-product-image img,
ul.products.act-shop-products-grid .act-loop-product-image img,
.act-product-grid-wrap .act-loop-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    display: block !important;
}

.act-reference-card-grid .act-card-cafe .act-loop-product-image,
.woocommerce ul.products .act-card-cafe .act-loop-product-image,
.woocommerce-page ul.products .act-card-cafe .act-loop-product-image,
ul.products.act-shop-products-grid .act-card-cafe .act-loop-product-image,
.act-product-grid-wrap .act-card-cafe .act-loop-product-image {
    background: #fff !important;
}

.act-reference-card-grid .act-card-cafe .act-loop-product-image img,
.woocommerce ul.products .act-card-cafe .act-loop-product-image img,
.woocommerce-page ul.products .act-card-cafe .act-loop-product-image img,
ul.products.act-shop-products-grid .act-card-cafe .act-loop-product-image img,
.act-product-grid-wrap .act-card-cafe .act-loop-product-image img {
    object-fit: contain !important;
    padding: 24px !important;
    background: #fff !important;
}

.act-reference-card-grid .product-badge,
.woocommerce ul.products .product-badge,
.woocommerce-page ul.products .product-badge,
ul.products.act-shop-products-grid .product-badge,
.act-product-grid-wrap .product-badge {
    position: absolute !important;
    left: 20px !important;
    bottom: 18px !important;
    top: auto !important;
    right: auto !important;
    min-height: 28px !important;
    padding: 7px 13px !important;
    border-radius: 5px !important;
    background: var(--color-gold) !important;
    color: #2a1507 !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    z-index: 2 !important;
}

.act-reference-card-grid .act-loop-product-body,
.woocommerce ul.products .act-loop-product-body,
.woocommerce-page ul.products .act-loop-product-body,
ul.products.act-shop-products-grid .act-loop-product-body,
.act-product-grid-wrap .act-loop-product-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 28px 22px 22px !important;
}

.act-reference-card-grid .woocommerce-loop-product__title,
.woocommerce ul.products .woocommerce-loop-product__title,
.woocommerce-page ul.products .woocommerce-loop-product__title,
ul.products.act-shop-products-grid .woocommerce-loop-product__title,
.act-product-grid-wrap .woocommerce-loop-product__title,
.act-reference-card-grid .product-name,
.act-product-grid-wrap .product-name {
    min-height: 82px !important;
    max-height: 96px !important;
    margin: 0 0 10px !important;
    font-family: var(--font-display) !important;
    font-size: clamp(1.55rem, 2vw, 1.85rem) !important;
    line-height: 1.08 !important;
    color: var(--color-espresso) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.act-reference-card-grid .woocommerce-loop-product__title a,
.woocommerce ul.products .woocommerce-loop-product__title a,
.woocommerce-page ul.products .woocommerce-loop-product__title a,
ul.products.act-shop-products-grid .woocommerce-loop-product__title a,
.act-product-grid-wrap .woocommerce-loop-product__title a,
.act-reference-card-grid .product-name a,
.act-product-grid-wrap .product-name a {
    color: inherit !important;
    text-decoration: none !important;
}

.act-reference-card-grid .product-origin,
.woocommerce ul.products .product-origin,
.woocommerce-page ul.products .product-origin,
ul.products.act-shop-products-grid .product-origin,
.act-product-grid-wrap .product-origin {
    min-height: 22px !important;
    margin: 0 0 14px !important;
    color: #0d6f64 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}

.act-reference-card-grid .product-origin i,
.woocommerce ul.products .product-origin i,
.woocommerce-page ul.products .product-origin i,
ul.products.act-shop-products-grid .product-origin i,
.act-product-grid-wrap .product-origin i {
    color: #0d6f64 !important;
}

.act-reference-card-grid .product-description,
.woocommerce ul.products .product-description,
.woocommerce-page ul.products .product-description,
ul.products.act-shop-products-grid .product-description,
.act-product-grid-wrap .product-description {
    min-height: 60px !important;
    max-height: 68px !important;
    margin: 0 !important;
    color: var(--color-text) !important;
    font-size: 0.88rem !important;
    line-height: 1.65 !important;
    overflow: hidden !important;
}

.act-reference-card-grid .act-loop-product-footer,
.woocommerce ul.products .act-loop-product-footer,
.woocommerce-page ul.products .act-loop-product-footer,
ul.products.act-shop-products-grid .act-loop-product-footer,
.act-product-grid-wrap .act-loop-product-footer {
    margin-top: auto !important;
    min-height: 102px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 18px 22px !important;
    border-top: 1px solid var(--color-latte) !important;
    background: #fff !important;
}

.act-reference-card-grid .act-card-meta,
.woocommerce ul.products .act-card-meta,
.woocommerce-page ul.products .act-card-meta,
ul.products.act-shop-products-grid .act-card-meta,
.act-product-grid-wrap .act-card-meta {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
    color: var(--color-text) !important;
    font-size: 0.86rem !important;
}

.act-reference-card-grid .product-price,
.woocommerce ul.products .product-price,
.woocommerce-page ul.products .product-price,
ul.products.act-shop-products-grid .product-price,
.act-product-grid-wrap .product-price {
    color: var(--color-red, #d12f2f) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

.act-reference-card-grid .act-card-experiencia .product-price,
.woocommerce ul.products .act-card-experiencia .product-price,
.woocommerce-page ul.products .act-card-experiencia .product-price,
ul.products.act-shop-products-grid .act-card-experiencia .product-price,
.act-product-grid-wrap .act-card-experiencia .product-price {
    color: var(--color-text) !important;
    font-weight: 500 !important;
}

.act-reference-card-grid .act-card-detail-btn,
.woocommerce ul.products .act-card-detail-btn,
.woocommerce-page ul.products .act-card-detail-btn,
ul.products.act-shop-products-grid .act-card-detail-btn,
.act-product-grid-wrap .act-card-detail-btn {
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--color-gold) !important;
    color: #2a1507 !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

@media (max-width: 640px) {
    .act-reference-card-grid,
    .woocommerce ul.products.act-reference-card-grid,
    .woocommerce-page ul.products.act-reference-card-grid,
    .act-product-grid-wrap ul.act-experience-grid,
    ul.products.act-shop-products-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   V23 - WooCommerce responsive reforzado
   ============================================================ */
.woocommerce,
.woocommerce-page {
    max-width: 100%;
    overflow-x: hidden;
}
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce .act-shop-products-grid,
.woocommerce-page .act-shop-products-grid,
.act-product-grid-wrap .act-experience-grid {
    width: 100% !important;
    max-width: 100% !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.act-product-grid-wrap .act-experience-grid > li.product {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    width: auto !important;
}
@media (max-width: 992px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce .act-shop-products-grid,
    .woocommerce-page .act-shop-products-grid,
    .act-product-grid-wrap .act-experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}
@media (max-width: 680px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce .act-shop-products-grid,
    .woocommerce-page .act-shop-products-grid,
    .act-product-grid-wrap .act-experience-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .act-product-grid-wrap .act-experience-grid > li.product {
        max-width: 430px !important;
        margin: 0 auto !important;
    }
    .woocommerce-ordering,
    .woocommerce-result-count {
        float: none !important;
        width: 100% !important;
        text-align: left !important;
    }
    .woocommerce-ordering select {
        width: 100% !important;
    }
    .woocommerce table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
        display: block !important;
    }
}

/* ============================================================
   V31 - Experiencias con el mismo ancho de tarjeta que productos
   Evita que una sola experiencia se estire a todo el ancho.
   ============================================================ */
.act-product-grid-wrap ul.act-experience-grid,
.home .section#experiencias ul.act-experience-grid,
.front-page .section#experiencias ul.act-experience-grid,
ul.products.act-shop-products-grid.act-experience-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
    justify-content: start !important;
}

.act-product-grid-wrap ul.act-experience-grid > li.product,
.home .section#experiencias ul.act-experience-grid > li.product,
.front-page .section#experiencias ul.act-experience-grid > li.product,
ul.products.act-shop-products-grid.act-experience-grid > li.product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 992px) {
    .act-product-grid-wrap ul.act-experience-grid,
    .home .section#experiencias ul.act-experience-grid,
    .front-page .section#experiencias ul.act-experience-grid,
    ul.products.act-shop-products-grid.act-experience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .act-product-grid-wrap ul.act-experience-grid,
    .home .section#experiencias ul.act-experience-grid,
    .front-page .section#experiencias ul.act-experience-grid,
    ul.products.act-shop-products-grid.act-experience-grid {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
    }

    .act-product-grid-wrap ul.act-experience-grid > li.product,
    .home .section#experiencias ul.act-experience-grid > li.product,
    .front-page .section#experiencias ul.act-experience-grid > li.product,
    ul.products.act-shop-products-grid.act-experience-grid > li.product {
        width: 100% !important;
        max-width: 430px !important;
        margin: 0 auto !important;
    }
}

/* V37 - WooCommerce 320px: eliminar min-widths que provocan desborde en móvil. */
@media (max-width: 600px) {
    .woocommerce .products-grid,
    .woocommerce-page .products-grid,
    .woocommerce .act-shop-products-grid,
    .woocommerce-page .act-shop-products-grid,
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .woocommerce ul.products li.product .act-loop-product-card,
    .woocommerce-page ul.products li.product .act-loop-product-card,
    .products-grid .act-loop-product-card,
    .act-experience-grid .act-loop-product-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }
}
