/**
 * WooCommerce Fix - SIN !important
 * Mantiene alta especificidad para ganar sin !important
 */

/* PREVENIR que .programas-grid afecte a WooCommerce */
body .woocommerce,
body .woocommerce-page,
body .woocommerce ul,
body .woocommerce div,
html body .woocommerce,
html body .woocommerce-page {
    all: revert;
}

/* Grid principal de productos */
html body div.woocommerce .products,
html body div.woocommerce-page .products,
html body .woocommerce ul.products,
html body .woocommerce-page ul.products,
html body ul.products,
html body .products.columns-1,
html body .products.columns-2,
html body .products.columns-3,
html body .products.columns-4,
html body div.woocommerce div ul.products,
html body div.woocommerce-page div ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-template-rows: unset;
    grid-auto-rows: unset;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    flex-direction: unset;
    flex-wrap: unset;
    align-items: unset;
    justify-content: unset;
    flex: unset;
}

/* Producto individual */
html body div.woocommerce .product,
html body div.woocommerce-page .product,
html body .woocommerce li.product,
html body .woocommerce-page li.product,
html body ul.products li.product,
html body .products li.product {
    display: block;
    flex-direction: unset;
    flex: unset;
    grid-column: unset;
    margin: 0;
    background: #edece8;
    color: black;
    padding-bottom: 25px;
    border-radius: 25px;
    height: auto;
    text-align: center;
    min-height: unset;
    width: auto;
    box-sizing: border-box;
    border: none;
}

/* Columnas forzadas */
.woocommerce .columns-3 .products,
.woocommerce .columns-3 ul.products,
.woocommerce-page .columns-3 .products,
.products.columns-3,
ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
}

.woocommerce .columns-2 .products,
.woocommerce .columns-2 ul.products,
.woocommerce-page .columns-2 .products,
.products.columns-2,
ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
    display: grid;
}

.woocommerce .columns-4 .products,
.woocommerce .columns-4 ul.products,
.woocommerce-page .columns-4 .products,
.products.columns-4,
ul.products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
    display: grid;
}

.woocommerce .columns-1 .products,
.woocommerce .columns-1 ul.products,
.woocommerce-page .columns-1 .products,
.products.columns-1,
ul.products.columns-1 {
    grid-template-columns: 1fr;
    display: grid;
}

/* Responsivo */
@media (max-width: 768px) {
    .woocommerce .products,
    .woocommerce-page .products {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .woocommerce .products,
    .woocommerce-page .products {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* Imágenes */
.woocommerce .product img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 4px;
}

/* Títulos */
.woocommerce .product .woocommerce-loop-product__title {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0 5px 0;
    color: #333;
    text-decoration: none;
}

/* Precios */
.woocommerce .product .price {
    font-size: 18px;
    font-weight: bold;
    color: #007cba;
    margin: 5px 0 10px 0;
}

/* Botón add to cart */
.woocommerce .product .button {
    background: #007cba;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 10px;
    text-decoration: none;
    display: inline-block;
}

.woocommerce .product .button:hover {
    background: #005a87;
    color: white;
}

/* Paginación */
.woocommerce nav.woocommerce-pagination {
    margin-top: 30px;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    margin: 0;
    padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: block;
    padding: 8px 12px;
    border: 1px solid #ddd;
    background: white;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #007cba;
    color: white;
    border-color: #007cba;
}

/* ========== ESTILOS PERSONALIZADOS SOLICITADOS ========== */

/* Imágenes: bordes redondeados arriba */
html body div.woocommerce .product img,
html body div.woocommerce-page .product img,
html body .woocommerce li.product img,
html body ul.products li.product img,
html body .products li.product img {
    border-radius: 25px 25px 0px 0px;
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* Enlaces en productos */
html body div.woocommerce .product a,
html body div.woocommerce-page .product a,
html body .woocommerce li.product a,
html body ul.products li.product a,
html body .products li.product a {
    color: black;
    text-decoration: none;
}

/* Select */
html body div.woocommerce select,
html body div.woocommerce-page select,
html body .woocommerce select {
    border-radius: 25px;
    text-align: center;
    font-size: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ddd;
    padding: 10px;
    background: white;
}

/* Botones personalizados */
html body div.woocommerce .button,
html body div.woocommerce-page .button,
html body .woocommerce .product .button,
html body ul.products li.product .button,
html body .products li.product .button {
    background: white;
    color: black;
    border-radius: 25px;
    padding: 15px 20px 15px 20px;
    font-weight: normal;
    font-size: 20px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

/* Márgenes */
html body div.woocommerce h2.woocommerce-loop-product__title,
html body div.woocommerce span.price,
html body div.woocommerce a.button,
html body .woocommerce h2.woocommerce-loop-product__title,
html body .woocommerce span.price,
html body .woocommerce a.button {
    margin: 25px;
}

/* Títulos específicos */
html body div.woocommerce h2.woocommerce-loop-product__title,
html body .woocommerce h2.woocommerce-loop-product__title {
    font-size: 26px;
    padding: 0px;
    color: black;
    font-weight: bold;
}

/* Precio bdi */
html body div.woocommerce bdi,
html body .woocommerce bdi {
    font-size: 20px;
    color: black;
}

/* Paginación personalizada */
html body div.woocommerce span.current,
html body .woocommerce span.current {
    background: none;
    color: black;
    border: none;
}

html body div.woocommerce a.page-numbers,
html body .woocommerce a.page-numbers {
    color: #808080;
    text-decoration: none;
}

html body div.woocommerce a.page-numbers:hover,
html body .woocommerce a.page-numbers:hover {
    background: none;
    color: black;
}

html body div.woocommerce span.page-numbers,
html body .woocommerce span.page-numbers {
    border: none;
}

html body div.woocommerce ul.page-numbers,
html body .woocommerce ul.page-numbers {
    border: none;
}

/* Listas sin bordes */
html body div.woocommerce ul,
html body div.woocommerce li,
html body .woocommerce ul,
html body .woocommerce li {
    border: none;
}

/* Responsivo móvil */
@media (max-width: 768px) {
    html body div.woocommerce li.product,
    html body .woocommerce li.product {
        width: 100%;
        height: auto;
    }
}
