.act-product-card {
    background: var(--cor-fundo-secundario, #fff);
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
}

.act-product-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.act-product-card__image-wrap {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.act-product-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.act-product-card:hover .act-product-card__img {
    transform: scale(1.04);
}

.act-product-card__badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 1;
    background: var(--cor-principal, #e44);
    color: var(--branco);
    font-size: var(--fs-7);
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.act-product-card__badge--novo {
    background: var(--cor-secundaria, #3a3);
}

.act-product-card__badge--esgotado {
    background: var(--cor-texto);
}

.act-product-card__info {
    padding: 0.875rem 1rem 0.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.act-product-card__title {
    font-size: var(--fs-7);
    color: var(--cor-texto, #222);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.act-product-card__price {
    font-size: var(--fs-7);
    color: var(--cor-principal, #000);
}

.act-product-card__price del {
    color: var(--cor-texto);
    font-size: var(--fs-7);
}

.act-product-card__actions {
    padding: 0.5rem 1rem 1rem;
}

.act-product-card__btn {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--cor-principal, #333);
    color: var(--branco);
    padding: 0.6rem 1rem;
    border-radius: 4px;
    font-size: var(--fs-7);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s;
}

.act-product-card__btn:hover {
    opacity: 0.85;
    color: var(--branco);
}

/* ─── Botões WooCommerce (loop, single, forms) ───────────── */
a.button,
button.button,
input.button,
#respond input#submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-5);
    min-height: 60px;
    background: var(--cor-btn, var(--cor-principal, #333));
    color: var(--cor-branco, #fff);
    border: none;
    border-radius: 4px;
    padding: 0.7rem 1.5rem;
    font-size: var(--fs-7);
    cursor: pointer;
    transition: opacity 0.2s;
    text-decoration: none;
}

a.button:hover,
button.button:hover,
input.button:hover,
#respond input#submit:hover {
    opacity: 0.85;
    color: var(--cor-destaque, #fff);
}

a.button.alt,
button.button.alt {
    background: var(--cor-principal, #333);
}

a.button.added_to_cart {
    background: var(--cor-secundaria, #555);
}

/* ─── Badge de oferta (span.onsale) ─────────────────────── */
span.onsale {
    background: var(--cor-destaque, #e44);
    color: var(--cor-branco, #fff);
    border-radius: 4px;
    font-size: var(--fs-7);
    padding: 0.2rem 0.5rem;
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 1;
    min-height: unset;
    min-width: unset;
    text-transform: uppercase;


    display: none;
}

/* ─── Grid do loop ───────────────────────────────────────── */
ul.products {
    --products-gap: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--products-gap);
    padding: 0;
    margin: 0;
    list-style: none;
}

ul.products>li.product {
    flex-shrink: 0;
    width: calc((100% - var(--products-gap) * 2) / 3);
    /* default: 3 colunas */
}

ul.products.columns-2>li.product {
    width: calc((100% - var(--products-gap) * 1) / 2);
}

ul.products.columns-3>li.product {
    width: calc((100% - var(--products-gap) * 2) / 3);
}

ul.products.columns-4>li.product {
    width: calc((100% - var(--products-gap) * 3) / 4);
}

ul.products.columns-5>li.product {
    width: calc((100% - var(--products-gap) * 4) / 5);
}


/* ─── Card (li.product) ──────────────────────────────────── */
/* Sem prefixo .woocommerce para funcionar em qualquer página */
ul.products li.product {
    position: relative;
    height: 100%;
    padding: 6px;
    background: var(--cor-branco, #fff);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 932px;
}

.woocommerce-archive ul.products li.product {
    min-height: 830px;
}

ul.products li.product *,
ul.products li.product {
    transition: all .4s;
}

ul.products li.product .woocommerce-loop-product__link {
    margin-bottom: .625rem;
}

ul.products li.product:hover {
    background: var(--cor-principal, #fff);
}

ul.products li.product:hover .button {
    background-color: var(--cor-destaque);
    margin-bottom: 1.125rem;
}

ul.products li.product:hover .woocommerce-loop-product__title {
    padding-top: 26px;
}

ul.products li.product:hover .price .act-price-variable,
ul.products li.product:hover .act-product-card__desc,
ul.products li.product:hover .woocommerce-loop-product__title,
ul.products li.product:hover .price,
ul.products li.product:hover .act-pricing-meta strong,
ul.products li.product:hover .act-pricing-meta {
    color: var(--cor-branco);
}

ul.products li.product a {
    color: var(--cor-branco, #fff);
    text-decoration: none;
}

ul.products li.product a img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 400 / 540;
    object-fit: cover;
    transition: transform 0.3s ease;
}

ul.products li.product:hover img {
    transform: scale(1.04);
}

ul.products li.product .woocommerce-loop-product__title {
    font-size: var(--fs-3);
    padding: 0.875rem 0 0.25rem;
    max-width: 302px;
    margin: 0 auto .625rem;
    color: var(--cor-principal, #222);
}

ul.products li.product .act-product-card__desc {
    max-width: 302px;
    margin: 0 auto 2rem;
    color: var(--cor-texto, #222);
}

ul.products li.product .price {
    font-family: var(--font-1);
    font-size: var(--fs-3);
    padding: 0 1rem 0.75rem;
    color: var(--cor-principal, #000);
    display: flex;
    flex-direction: column;
    align-items: center;
}

ul.products li.product .price .act-price-variable,
ul.products li.product .price del {
    font-family: var(--font-1);
    color: var(--cor-texto, #222);
    font-size: var(--fs-5);
    font-weight: 600;
    margin-right: 0.25rem;
}

ul.products li.product .price ins {
    text-decoration: none;
}

ul.products li.product .price .act-price-from {
    display: flex;
    flex-direction: column;
}

ul.products li.product .button {
    margin-top: auto;
    text-align: center;
    width: 100%;
    max-width: 302px;
    font-family: var(--font-2);
    margin-bottom: 1.875rem;
}

ul.products li.product .act-pricing-meta {
    padding: 0 1rem;
    font-size: var(--fs-7);
}

@media (max-width: 1536px) {
    .woocommerce-archive ul.products li.product {
        width: calc((100% - var(--products-gap) * 2) / 3);
    }

    .woocommerce-archive ul.products li.product .button {
        max-width: 80%;
    }
}

@media (max-width: 1399px) {
    .woocommerce-archive ul.products li.product {
        min-height: auto;
        height: auto;
    }
}

@media (max-width: 1199px) {
    .woocommerce-archive ul.products li.product {
        width: calc((100% - var(--products-gap) * 1) / 2);
    }
}

@media (max-width: 991px) {
    .woocommerce-archive ul.products li.product {
        width: calc((100% - var(--products-gap) * 2) / 3);
    }
}

@media (max-width: 767px) {
    .woocommerce-archive ul.products li.product {
        width: 100%;
    }

    /* ul.products {
        gap: 1rem;
    }

    ul.products li.product,
    ul.products.columns-3 li.product,
    ul.products.columns-4 li.product,
    ul.products.columns-5 li.product {
        width: calc((100% - 1rem) / 2);
    } */
    ul.products li.product {
        min-height: auto;
    }

    ul.products li.product,
    ul.products.columns-2 li.product,
    ul.products.columns-3 li.product,
    ul.products.columns-4 li.product,
    ul.products.columns-5 li.product {
        width: 100%;
    }


    ul.products li.product {
        min-height: auto;
        height: auto;
        padding: 0;
    }

    ul.products li.product .woocommerce-loop-product__link {
        display: flex;
        flex-direction: row;
        margin-bottom: 0;
    }


    ul.products li.product {
        min-height: auto;
        height: auto;
    }

    ul.products li.product .button {
        display: none;
    }

    ul.products li.product a img {
        max-width: 40%;
    }

    .act-product-card__body {
        width: 100%;
        max-width: 60%;
    }
}