/* =========================
   STRUCTURE SAFE WOOCOMMERCE
   ========================= */

.woocommerce ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}


/* =========================
   CATEGORIES UNIQUEMENT
   ========================= */

.woocommerce ul.products li.product.product-category {
    width: calc(25% - 20px);
    box-sizing: border-box;
    text-align: center;
    padding: 10px;
}

/* Images catégories */
.woocommerce ul.products li.product.product-category img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    background: #fff;
}

/* Titre catégories */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title {
    font-size: 14px;
    line-height: 1.2;
    margin-top: 10px;
    padding: 0 5px;
    word-break: break-word;
}

/* Lien catégorie UNIQUEMENT */
.woocommerce ul.products li.product.product-category > a {
    display: block;
    overflow: hidden;
}


/* =========================
   FIX BOUTON (FINAL CLEAN)
   ========================= */

.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product .wp-block-button__link.add_to_cart_button {

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: auto !important;
    max-width: 100%;

    padding: 10px 15px;
    font-size: 14px;
    line-height: 1.2;

    white-space: normal !important;
    word-break: break-word;

    margin-top: 10px;
    text-align: center;
}

/* Structure produit stable */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
}

/* Bouton bien positionné */
.woocommerce ul.products li.product .button {
    margin-top: auto;
}

/* Fix Gutenberg wrapper */
.woocommerce ul.products li.product .wp-block-button {
    width: 100%;
}


/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 768px) {
    .woocommerce ul.products li.product.product-category {
        width: calc(50% - 20px);
    }
}

.woocommerce ul.products li.product a.add_to_cart_button {
    width: fit-content !important;
}