/*
Theme Name: BuyCart Pro Child
Description: Tema hijo de BuyCart Pro
Author: Mata Suministros
Template: buycart-pro
Version: 1.0.0
Text Domain: buycart-pro-child
*/

/* ==========================================================
   VARIABLES
   ========================================================== */

.woocommerce ul.products {
        --mata-card-radius: 15px;
        --mata-card-border: #e4e8ed;
        --mata-card-border-hover: #cfd5dc;
        --mata-card-background: #ffffff;
        --mata-card-image-background: #f7f8fa;
        --mata-card-text: #17191d;
        --mata-card-muted: #707782;
        --mata-card-accent: var(--mm-color-principal);
        --mata-card-accent-hover: var(--mm-color-principal-oscuro);
        --mata-card-danger: #d92d20;
        --mata-card-success: #159b62;
}

/* ==========================================================
   CUADRÍCULA
   ========================================================== */

.woocommerce ul.products.grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 16px;
        align-items: stretch;
        margin: 0 !important;
        padding: 0 !important;
}

.woocommerce ul.products.grid::before,
.woocommerce ul.products.grid::after {
        display: none !important;
        content: none !important;
}

/* ==========================================================
   ITEM EXTERIOR
   ========================================================== */

.woocommerce ul.products li.product.mwp-catalog-product-item {
        display: flex !important;
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0;
        height: auto;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
}

.woocommerce ul.products li.product.mwp-catalog-product-item::before,
.woocommerce ul.products li.product.mwp-catalog-product-item::after {
        display: none !important;
        content: none !important;
}

.woocommerce ul.products li.product.mwp-catalog-product-item > article {
        width: 100%;
}

/* ==========================================================
   TARJETA
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-product-card {
        position: relative;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        min-height: 425px;
        height: 100%;
        overflow: hidden;
        background: var(--mata-card-background);
        border: 1px solid var(--mata-card-border);
        border-radius: var(--mata-card-radius);
        box-shadow: 0 3px 12px rgba(20, 27, 38, 0.045);
        transition:
                transform 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease;
}

.woocommerce ul.products li.product .mwp-popular-product-card:hover {
        transform: translateY(-3px);
        border-color: var(--mata-card-border-hover);
        box-shadow: 0 12px 30px rgba(20, 27, 38, 0.1);
}

/* ==========================================================
   IMAGEN
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-media {
        position: relative;
        flex: 0 0 190px;
        box-sizing: border-box;
        height: 190px;
        margin: 8px 8px 0;
        overflow: hidden;
        background: var(--mata-card-image-background);
        border-radius: calc(var(--mata-card-radius) - 5px);
}

.woocommerce ul.products li.product .mwp-popular-image {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        padding: 13px;
        text-decoration: none;
}

.woocommerce ul.products li.product .mwp-popular-image img {
        display: block !important;
        float: none !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain;
        mix-blend-mode: multiply;
        transform: scale(1);
        transition: transform 0.25s ease;
}

.woocommerce ul.products li.product
.mwp-popular-product-card:hover
.mwp-popular-image img {
        transform: scale(1.035);
}

/* ==========================================================
   BADGES
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-badges {
        position: absolute;
        z-index: 3;
        top: 10px;
        left: 10px;
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        pointer-events: none;
}

.woocommerce ul.products li.product .mwp-popular-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: 24px;
        padding: 4px 8px;
        border-radius: 999px;
        color: #ffffff;
        font-size: 10px;
        font-weight: 800;
        line-height: 1;
        letter-spacing: 0.04em;
        text-transform: uppercase;
}

.woocommerce ul.products li.product .mwp-popular-sale {
        background: var(--mata-card-danger);
}

.woocommerce ul.products li.product .mwp-popular-out {
        background: #4b5563;
}

/* ==========================================================
   CUERPO
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-card-body {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        box-sizing: border-box;
        min-height: 0;
        padding: 14px 14px 13px;
}

/* ==========================================================
   CÓDIGO
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-code {
        min-height: 16px;
        margin: 0 0 5px;
        overflow: hidden;
        color: var(--mata-card-muted);
        font-size: 10.5px;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: 0.04em;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
}

/* ==========================================================
   TÍTULO
   ========================================================== */

.woocommerce ul.products li.product
.woocommerce-loop-product__title.mwp-popular-title {
        display: -webkit-box;
        min-height: 58px;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        color: var(--mata-card-text);
        font-size: 14px !important;
        font-weight: 750;
        line-height: 1.38;
        letter-spacing: -0.01em;
        text-transform: none;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
}

.woocommerce ul.products li.product
.woocommerce-loop-product__title.mwp-popular-title a {
        color: inherit;
        text-decoration: none;
}

.woocommerce ul.products li.product
.woocommerce-loop-product__title.mwp-popular-title a:hover {
        color: var(--mata-card-accent);
}

/* ==========================================================
   CARACTERÍSTICAS
   ========================================================== */

/*
 * No mostrar las características en cuadrícula.
 */
.woocommerce ul.products.grid li.product
.mata-caracteristicas-producto {
        display: none !important;
}

.woocommerce ul.products li.product
.mata-caracteristicas-producto {
        color: #59616d;
        font-size: 13px;
        line-height: 1.65;
}

.woocommerce ul.products li.product
.mata-caracteristicas-producto .mata-meta-label {
        display: block;
        margin: 0 0 5px;
        color: #282d34;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.4;
}

.woocommerce ul.products li.product
.mata-caracteristicas-producto .mata-meta-texto {
        color: #59616d;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.65;
}

.woocommerce ul.products li.product
.mata-caracteristicas-producto .mata-meta-texto p {
        margin: 0;
        padding: 0;
}

.woocommerce ul.products li.product
.mata-caracteristicas-producto .mata-meta-texto p + p {
        margin-top: 6px;
}

.woocommerce ul.products li.product
.mata-caracteristicas-producto .mata-meta-texto ul,
.woocommerce ul.products li.product
.mata-caracteristicas-producto .mata-meta-texto ol {
        margin: 6px 0 0 18px;
        padding: 0;
}

/* ==========================================================
   PIE
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-card-footer {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        justify-content: flex-end;
        min-height: 116px;
        margin-top: 10px;
}

/* ==========================================================
   PRECIO
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-price {
        min-height: 28px;
        margin: 0 0 6px;
        color: var(--mata-card-text);
        font-size: 18px;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: -0.02em;
}

.woocommerce ul.products li.product .mwp-popular-price .price {
        display: block;
        margin: 0 !important;
        color: inherit !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
}

.woocommerce ul.products li.product .mwp-popular-price del {
        margin-right: 4px;
        color: #8b919b;
        font-size: 12px;
        font-weight: 500;
        opacity: 1;
}

.woocommerce ul.products li.product .mwp-popular-price ins {
        color: var(--mata-card-danger);
        text-decoration: none;
}

/* ==========================================================
   STOCK
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-stock {
        display: flex;
        align-items: center;
        min-height: 18px;
        margin: 0 0 10px;
        color: #3f4854;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.3;
}

.woocommerce ul.products li.product .mwp-popular-stock-dot {
        flex: 0 0 7px;
        width: 7px;
        height: 7px;
        margin-right: 6px;
        background: var(--mata-card-success);
        border-radius: 50%;
}

.woocommerce ul.products li.product
.mwp-popular-product-card.is-out-of-stock
.mwp-popular-stock {
        color: #7a2020;
}

.woocommerce ul.products li.product
.mwp-popular-product-card.is-out-of-stock
.mwp-popular-stock-dot {
        background: var(--mata-card-danger);
}

/* ==========================================================
   ACCIONES
   ========================================================== */

.woocommerce ul.products li.product .mwp-popular-actions {
        width: 100%;
        margin-top: auto;
}

.woocommerce ul.products li.product .mwp-popular-cart-actions,
.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-cart-control {
        width: 100%;
}

.woocommerce ul.products li.product .mata-loop-actions-bar,
.woocommerce ul.products li.product .mwp-popular-cart-actions {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
}

/* ==========================================================
   CONTROL DE CANTIDAD
   ========================================================== */

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-cart-control {
        position: static !important;
        display: grid !important;
        grid-template-columns: 34px minmax(38px, 1fr) 34px 42px;
        align-items: stretch;
        box-sizing: border-box;
        width: 100% !important;
        height: auto !important;
        gap: 5px;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-btn,
.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-number,
.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-add-cart-btn {
        position: static !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: 38px !important;
        min-width: 0 !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid var(--mata-qty-control-border) !important;
        border-radius: 8px !important;
        background: var(--mata-qty-control-bg) !important;
        color: var(--mata-qty-control-color) !important;
        box-shadow: none !important;
        font-family: inherit !important;
        font-size: 13px !important;
        line-height: 1 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 18px !important;
        font-weight: 600 !important;
        cursor: pointer;
        transition:
                background 0.15s ease,
                border-color 0.15s ease;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-btn span {
        display: block;
        line-height: 1;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-btn:hover {
        border-color: var(--mata-qty-control-hover-border) !important;
        background: var(--mata-qty-control-hover-bg) !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-btn:active {
        background:  var(--mata-qty-control-active-bg) !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-number {
        display: block !important;
        padding: 0 4px !important;
        text-align: center !important;
        font-weight: 700 !important;
        appearance: textfield;
        -moz-appearance: textfield;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-number::-webkit-inner-spin-button,
.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-qty-number::-webkit-outer-spin-button {
        margin: 0;
        appearance: none;
        -webkit-appearance: none;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-add-cart-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        border-color: var(--mm-color-principal-oscuro) !important;
        background: var(--mm-color-principal-oscuro) !important;
        color: #ffffff !important;
        cursor: pointer;
        transition:
                background 0.15s ease,
                border-color 0.15s ease,
                transform 0.15s ease;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-add-cart-btn:hover {
        border-color: var(--mm-color-principal) !important;
        background: var(--mm-color-principal) !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-add-cart-btn:active {
        transform: scale(0.96) !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-add-cart-btn i {
        display: block !important;
        margin: 0 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        line-height: 1 !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions .mata-loop-add-cart-text {
        display: none !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions button:disabled {
        cursor: not-allowed !important;
        opacity: 0.5 !important;
}

.woocommerce ul.products li.product
.mwp-popular-cart-actions button:focus-visible,
.woocommerce ul.products li.product
.mwp-popular-cart-actions input:focus-visible {
        outline: 2px solid rgba(22, 131, 255, 0.3) !important;
        outline-offset: 2px;
}

/* ==========================================================
   BOTÓN VER PRODUCTO
   ========================================================== */

.woocommerce ul.products li.product
.mwp-popular-actions .mwp-view-product {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        min-height: 38px;
        margin: 0 !important;
        padding: 9px 12px !important;
        border: 1px solid #17191d !important;
        border-radius: 8px !important;
        background: #17191d !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 750 !important;
        line-height: 1.2 !important;
        text-align: center;
        text-decoration: none !important;
        box-shadow: none !important;
}

.woocommerce ul.products li.product
.mwp-popular-actions .mwp-view-product:hover {
        border-color: #2f3540 !important;
        background: #2f3540 !important;
        color: #ffffff !important;
}

/* ==========================================================
   VISTA LISTA
   ========================================================== */

.woocommerce ul.products.list {
        display: flex !important;
        flex-direction: column;
        gap: 16px;
        margin: 0 !important;
        padding: 0 !important;
}

.woocommerce ul.products.list::before,
.woocommerce ul.products.list::after {
        display: none !important;
        content: none !important;
}

.woocommerce ul.products.list li.product.mwp-catalog-product-item {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
}

.woocommerce ul.products.list li.product .mwp-popular-product-card {
        display: grid;
        grid-template-columns: 230px minmax(0, 1fr);
        min-height: 245px;
        height: auto;
        overflow: hidden;
}

.woocommerce ul.products.list li.product .mwp-popular-media {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        height: 229px;
        min-height: 229px;
        margin: 8px;
}

.woocommerce ul.products.list li.product .mwp-popular-card-body {
        grid-column: 2;
        grid-row: 1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 245px;
        grid-template-rows: auto auto minmax(0, 1fr);
        column-gap: 28px;
        align-items: start;
        padding: 22px 22px 20px;
}

.woocommerce ul.products.list li.product .mwp-popular-code {
        grid-column: 1;
        grid-row: 1;
        min-height: 16px;
        margin: 0 0 7px;
}

.woocommerce ul.products.list li.product
.woocommerce-loop-product__title.mwp-popular-title {
        grid-column: 1;
        grid-row: 2;
        align-self: start;
        min-height: 0;
        margin: 0 !important;
        font-size: 17px !important;
        line-height: 1.45;
        -webkit-line-clamp: 3;
}

.woocommerce ul.products.list li.product
.mata-caracteristicas-producto {
        grid-column: 1;
        grid-row: 3;
        display: block !important;
        align-self: start;
        max-width: 900px;
        margin: 14px 0 0;
}

.woocommerce ul.products.list li.product
.mata-caracteristicas-producto .mata-meta-texto {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
}

.woocommerce ul.products.list li.product .mwp-popular-card-footer {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 0;
        margin: 0;
        padding-left: 24px;
        border-left: 1px solid #edf0f3;
}

.woocommerce ul.products.list li.product .mwp-popular-price {
        min-height: 30px;
        margin-bottom: 8px;
        font-size: 21px;
}

.woocommerce ul.products.list li.product .mwp-popular-stock {
        margin-bottom: 14px;
        font-size: 12px;
}

.woocommerce ul.products.list li.product
.mwp-popular-cart-actions .mata-loop-cart-control {
        grid-template-columns: 38px minmax(48px, 1fr) 38px 44px;
        gap: 6px;
}

.woocommerce ul.products.list li.product
.mwp-popular-cart-actions .mata-loop-qty-btn,
.woocommerce ul.products.list li.product
.mwp-popular-cart-actions .mata-loop-qty-number,
.woocommerce ul.products.list li.product
.mwp-popular-cart-actions .mata-loop-add-cart-btn {
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
}

.woocommerce ul.products.list li.product
.mwp-popular-product-card:hover {
        transform: none;
}

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

@media (max-width: 1399px) {
        .woocommerce ul.products.grid {
                grid-template-columns: repeat(5, minmax(0, 1fr));
        }
}

@media (max-width: 1199px) {
        .woocommerce ul.products.grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .woocommerce ul.products.list li.product .mwp-popular-card-body {
                grid-template-columns: minmax(0, 1fr) 220px;
                column-gap: 20px;
        }
}

@media (max-width: 991px) {
        .woocommerce ul.products.grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .woocommerce ul.products.list li.product .mwp-popular-product-card {
                grid-template-columns: 190px minmax(0, 1fr);
        }

        .woocommerce ul.products.list li.product .mwp-popular-media {
                height: 174px;
                min-height: 174px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-card-body {
                display: flex;
                flex-direction: column;
                justify-content: center;
                padding: 18px;
        }

        .woocommerce ul.products.list li.product
        .woocommerce-loop-product__title.mwp-popular-title {
                min-height: 0;
        }

        .woocommerce ul.products.list li.product
        .mata-caracteristicas-producto {
                display: block !important;
                width: 100%;
                margin-top: 10px;
        }

        .woocommerce ul.products.list li.product
        .mata-caracteristicas-producto .mata-meta-texto {
                -webkit-line-clamp: 3;
        }

        .woocommerce ul.products.list li.product .mwp-popular-card-footer {
                box-sizing: border-box;
                width: 100%;
                margin-top: 14px;
                padding: 14px 0 0;
                border-top: 1px solid #edf0f3;
                border-left: 0;
        }
}

@media (max-width: 767px) {
        .woocommerce ul.products.grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 12px;
        }

        .woocommerce ul.products li.product .mwp-popular-product-card {
                min-height: 405px;
        }

        .woocommerce ul.products li.product .mwp-popular-media {
                flex-basis: 170px;
                height: 170px;
        }

        .woocommerce ul.products li.product .mwp-popular-card-body {
                padding: 12px;
        }

        .woocommerce ul.products li.product
        .mwp-popular-cart-actions .mata-loop-cart-control {
                grid-template-columns: 31px minmax(34px, 1fr) 31px 38px;
                gap: 4px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-product-card {
                grid-template-columns: 145px minmax(0, 1fr);
                min-height: 170px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-media {
                height: 154px;
                min-height: 154px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-card-body {
                padding: 14px 14px 14px 4px;
        }

        .woocommerce ul.products.list li.product
        .woocommerce-loop-product__title.mwp-popular-title {
                font-size: 14px !important;
                -webkit-line-clamp: 3;
        }

        .woocommerce ul.products.list li.product
        .mata-caracteristicas-producto {
                margin-top: 8px;
        }

        .woocommerce ul.products.list li.product
        .mata-caracteristicas-producto .mata-meta-texto {
                font-size: 12px;
                line-height: 1.55;
                -webkit-line-clamp: 3;
        }

        .woocommerce ul.products.list li.product .mwp-popular-price {
                font-size: 17px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-stock {
                font-size: 11px;
        }
}

@media (max-width: 575px) {
        .woocommerce ul.products.grid {
                grid-template-columns: 1fr;
        }

        .woocommerce ul.products li.product .mwp-popular-product-card {
                min-height: 0;
        }

        .woocommerce ul.products li.product .mwp-popular-media {
                flex-basis: 250px;
                height: 250px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-product-card {
                display: flex;
                flex-direction: column;
                min-height: 0;
        }

        .woocommerce ul.products.list li.product .mwp-popular-media {
                width: auto;
                height: 230px;
                min-height: 230px;
                margin: 8px 8px 0;
        }

        .woocommerce ul.products.list li.product .mwp-popular-card-body {
                display: flex;
                padding: 14px;
        }

        .woocommerce ul.products.list li.product
        .woocommerce-loop-product__title.mwp-popular-title {
                min-height: 39px;
        }

        .woocommerce ul.products.list li.product
        .mata-caracteristicas-producto {
                margin-top: 10px;
        }

        .woocommerce ul.products.list li.product .mwp-popular-card-footer {
                margin-top: 12px;
                padding: 0;
                border: 0;
        }
}

/* ==========================================================
   MINI-CARRITO PROFESIONAL MATA
   ========================================================== */

body .wf_navbar-shopcart {
        position: absolute;
        z-index: 999999;
        top: calc(100% + 12px);
        right: 0;
        left: auto !important;
        box-sizing: border-box;
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        background: #ffffff !important;
        border: 1px solid #e5e9ef !important;
        border-radius: 12px !important;
        box-shadow:
                0 18px 45px rgba(15, 23, 42, 0.16),
                0 4px 12px rgba(15, 23, 42, 0.06) !important;
        color: #1b2430;
        font-family: inherit;
        text-align: left !important;
        transform-origin: top right;
}

body .wf_navbar-shopcart,
body .wf_navbar-shopcart *,
body .wf_navbar-shopcart *::before,
body .wf_navbar-shopcart *::after {
        box-sizing: border-box;
}

body .wf_navbar-shopcart > .widget_shopping_cart,
body .wf_navbar-shopcart .widget_shopping_cart_content {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        text-align: left !important;
}

body .wf_navbar-shopcart .mata-mini-cart {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        background: #ffffff;
        color: #1b2430;
        text-align: left;
}

/* ==========================================================
   LISTA DE PRODUCTOS
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-list,
body .wf_navbar-shopcart .woocommerce-mini-cart {
        display: flex !important;
        flex-direction: column;
        box-sizing: border-box;
        width: 100% !important;
        max-height: 370px;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden;
        overflow-y: auto;
        background: #ffffff;
        list-style: none !important;
        scrollbar-width: thin;
        scrollbar-color: #cbd2dc transparent;
}

body .wf_navbar-shopcart .mata-mini-cart-list::-webkit-scrollbar,
body .wf_navbar-shopcart .woocommerce-mini-cart::-webkit-scrollbar {
        width: 6px;
}

body .wf_navbar-shopcart .mata-mini-cart-list::-webkit-scrollbar-track,
body .wf_navbar-shopcart .woocommerce-mini-cart::-webkit-scrollbar-track {
        background: transparent;
}

body .wf_navbar-shopcart .mata-mini-cart-list::-webkit-scrollbar-thumb,
body .wf_navbar-shopcart .woocommerce-mini-cart::-webkit-scrollbar-thumb {
        background: #cbd2dc;
        border-radius: 999px;
}

/* ==========================================================
   PRODUCTO
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-item {
        position: relative;
        display: block !important;
        float: none !important;
        clear: both;
        box-sizing: border-box;
        width: 100% !important;
        min-height: 100px;
        margin: 0 !important;
        padding: 16px 42px 16px 16px !important;
        background: #ffffff;
        border: 0 !important;
        border-bottom: 1px solid #edf0f4 !important;
        border-radius: 0 !important;
        color: #1b2430;
        text-align: left !important;
        box-shadow: none !important;
}

body .wf_navbar-shopcart .mata-mini-cart-item:last-child {
        border-bottom: 0 !important;
}

body .wf_navbar-shopcart .mata-mini-cart-product {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr);
        align-items: start;
        gap: 14px;
        width: 100%;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        color: #1b2430 !important;
        text-align: left !important;
        text-decoration: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
}

/* ==========================================================
   IMAGEN
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-product-image {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 76px;
        height: 76px;
        min-width: 76px;
        margin: 0 !important;
        padding: 7px;
        overflow: hidden;
        background: #f6f8fa;
        border: 1px solid #edf0f3;
        border-radius: 9px;
}

body .wf_navbar-shopcart .mata-mini-cart-product-image img {
        display: block !important;
        float: none !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain;
        mix-blend-mode: multiply;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
}

/* ==========================================================
   INFORMACIÓN DEL PRODUCTO
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-product-content {
        display: flex;
        flex-direction: column;
        min-width: 0;
        padding-top: 1px;
        text-align: left;
}

body .wf_navbar-shopcart .mata-mini-cart-product-name {
        display: -webkit-box;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        color: #274c77 !important;
        font-size: 12px;
        font-weight: 750;
        line-height: 1.45;
        letter-spacing: -0.005em;
        text-align: left;
        text-transform: none;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
}

body .wf_navbar-shopcart a.mata-mini-cart-product:hover
.mata-mini-cart-product-name {
        color: #1d3f66 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-product-content .variation {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 2px 5px;
        margin: 5px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: #77808c;
        font-size: 10px;
        line-height: 1.4;
}

body .wf_navbar-shopcart
.mata-mini-cart-product-content .variation dt,
body .wf_navbar-shopcart
.mata-mini-cart-product-content .variation dd {
        float: none;
        margin: 0;
        padding: 0;
}

body .wf_navbar-shopcart
.mata-mini-cart-product-content .variation dt {
        font-weight: 700;
}

body .wf_navbar-shopcart
.mata-mini-cart-product-content .variation dd {
        font-weight: 400;
}

body .wf_navbar-shopcart .mata-mini-cart-product-quantity {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px;
        margin-top: 8px;
        color: #5d6672 !important;
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1.35;
        text-align: left;
}

body .wf_navbar-shopcart
.mata-mini-cart-product-quantity .woocommerce-Price-amount,
body .wf_navbar-shopcart
.mata-mini-cart-product-quantity .woocommerce-Price-currencySymbol {
        color: #274c77 !important;
        font-size: 12px;
        font-weight: 800;
}

/* ==========================================================
   ELIMINAR PRODUCTO
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-remove,
body .wf_navbar-shopcart
.woocommerce-mini-cart-item .remove_from_cart_button {
        position: absolute !important;
        z-index: 3;
        top: 13px !important;
        right: 13px !important;
        left: auto !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        float: none !important;
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        margin: 0 !important;
        padding: 0 0 2px !important;
        background: #f1f4f7 !important;
        border: 1px solid #e1e6ec !important;
        border-radius: 50% !important;
        color: #68717d !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        text-align: center;
        text-decoration: none !important;
        box-shadow: none !important;
        transition:
                background 0.16s ease,
                border-color 0.16s ease,
                color 0.16s ease;
}

body .wf_navbar-shopcart .mata-mini-cart-remove:hover,
body .wf_navbar-shopcart
.woocommerce-mini-cart-item .remove_from_cart_button:hover {
        background: #fff5f4 !important;
        border-color: #e8b8b3 !important;
        color: #a63d33 !important;
}

/* ==========================================================
   RESUMEN
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-summary {
        width: 100%;
        margin: 0;
        padding: 0;
        background: #ffffff;
        border-top: 1px solid #e8ecf1;
}

body .wf_navbar-shopcart .mata-mini-cart-subtotal {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        padding: 16px 18px;
        background: #f8fafc;
        border-bottom: 1px solid #e8ecf1;
        color: #1b2430;
}

body .wf_navbar-shopcart
.mata-mini-cart-subtotal-label {
        color: #27313d !important;
        font-size: 13px;
        font-weight: 750;
        line-height: 1.3;
}

body .wf_navbar-shopcart
.mata-mini-cart-subtotal-value {
        flex-shrink: 0;
        color: #111827 !important;
        font-size: 15px;
        font-weight: 850;
        line-height: 1.3;
        text-align: right;
}

body .wf_navbar-shopcart
.mata-mini-cart-subtotal-value .woocommerce-Price-amount,
body .wf_navbar-shopcart
.mata-mini-cart-subtotal-value .woocommerce-Price-currencySymbol {
        color: #111827 !important;
        font-size: inherit;
        font-weight: inherit;
}

body .wf_navbar-shopcart
.woocommerce-mini-cart__total:not(.mata-mini-cart-subtotal) {
        display: none !important;
}

/* ==========================================================
   BOTONES
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-buttons {
        display: flex !important;
        flex-direction: column;
        gap: 9px;
        box-sizing: border-box;
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 18px 18px !important;
        background: #ffffff;
        border: 0 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-buttons .mata-mini-cart-button {
        display: flex !important;
        align-items: center;
        justify-content: center;
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 11px 16px !important;
        border-radius: 7px !important;
        font-family: inherit !important;
        font-size: 12.5px !important;
        font-weight: 750 !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: none !important;
        text-decoration: none !important;
        box-shadow: none !important;
        transition:
                background 0.16s ease,
                border-color 0.16s ease,
                color 0.16s ease,
                transform 0.16s ease;
}

body .wf_navbar-shopcart
.mata-mini-cart-button span {
        font: inherit !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-transform: inherit !important;
        text-decoration: none !important;
}

/* ==========================================================
   VER CARRITO
   ========================================================== */

body .wf_navbar-shopcart
.mata-mini-cart-button--cart {
        background: #eef4fb !important;
        border: 1px solid #cbd9ea !important;
        color: #274c77 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--cart span {
        color: #274c77 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--cart:hover {
        background: #e3edf8 !important;
        border-color: #b7c9df !important;
        color: #1d3f66 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--cart:hover span {
        color: #1d3f66 !important;
}

/* ==========================================================
   FINALIZAR COMPRA
   ========================================================== */

body .wf_navbar-shopcart
.mata-mini-cart-button--checkout {
        background: #2f5d62 !important;
        border: 1px solid #2f5d62 !important;
        color: #ffffff !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--checkout span {
        color: #ffffff !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--checkout:hover {
        background: #274e52 !important;
        border-color: #274e52 !important;
        color: #ffffff !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--checkout:hover span {
        color: #ffffff !important;
}

/* ==========================================================
   VACIAR CARRITO
   ========================================================== */

body .wf_navbar-shopcart
.mata-mini-cart-button--empty {
        background: #fff5f4 !important;
        border: 1px solid #e8b8b3 !important;
        color: #a63d33 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--empty span {
        color: #a63d33 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--empty:hover {
        background: #fbe8e6 !important;
        border-color: #d99d97 !important;
        color: #8f3028 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button--empty:hover span {
        color: #8f3028 !important;
}

body .wf_navbar-shopcart
.mata-mini-cart-button:active {
        transform: scale(0.985);
}

body .wf_navbar-shopcart
.mata-mini-cart-button:focus-visible {
        outline: 3px solid rgba(39, 76, 119, 0.2) !important;
        outline-offset: 2px;
}

/* ==========================================================
   CARRITO VACÍO
   ========================================================== */

body .wf_navbar-shopcart .mata-mini-cart-empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        min-height: 190px;
        margin: 0;
        padding: 30px 24px;
        background: #ffffff;
        text-align: center;
}

body .wf_navbar-shopcart
.mata-mini-cart-empty-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        margin-bottom: 14px;
        background: #eef4fb;
        border-radius: 50%;
        color: #274c77;
        font-size: 21px;
}

body .wf_navbar-shopcart
.woocommerce-mini-cart__empty-message {
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        color: #1f2937 !important;
        font-size: 14px;
        font-weight: 750;
        line-height: 1.4;
        text-align: center;
}

body .wf_navbar-shopcart
.mata-mini-cart-empty-description {
        margin: 6px 0 0;
        color: #7a8491 !important;
        font-size: 12px;
        line-height: 1.5;
        text-align: center;
}

/* ==========================================================
   PROTECCIONES FRENTE AL TEMA
   ========================================================== */

body.home .wf_navbar-shopcart,
body.woocommerce .wf_navbar-shopcart,
body.archive .wf_navbar-shopcart,
body.single-product .wf_navbar-shopcart,
body.tax-product_cat .wf_navbar-shopcart {
        right: 0 !important;
        left: auto !important;
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
        padding: 0 !important;
        text-align: left !important;
}

body .sticky-header .wf_navbar-shopcart,
body .is-sticky .wf_navbar-shopcart,
body .fixed-header .wf_navbar-shopcart {
        right: 0 !important;
        left: auto !important;
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
}

body .wf_navbar-shopcart .mata-clear-cart-safe-2026 {
        display: none !important;
}

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

@media (max-width: 575px) {
        body .wf_navbar-shopcart,
        body.home .wf_navbar-shopcart,
        body.woocommerce .wf_navbar-shopcart,
        body.archive .wf_navbar-shopcart,
        body.single-product .wf_navbar-shopcart,
        body.tax-product_cat .wf_navbar-shopcart {
                right: -10px !important;
                left: auto !important;
                width: min(350px, calc(100vw - 24px)) !important;
                min-width: 0 !important;
                max-width: calc(100vw - 24px) !important;
        }

        body .wf_navbar-shopcart .mata-mini-cart-item {
                padding: 14px 39px 14px 14px !important;
        }

        body .wf_navbar-shopcart .mata-mini-cart-product {
                grid-template-columns: 66px minmax(0, 1fr);
                gap: 11px;
        }

        body .wf_navbar-shopcart
        .mata-mini-cart-product-image {
                width: 66px;
                height: 66px;
                min-width: 66px;
        }

        body .wf_navbar-shopcart
        .mata-mini-cart-product-name {
                font-size: 11.5px;
        }

        body .wf_navbar-shopcart .mata-mini-cart-buttons {
                padding: 14px !important;
        }
}
/* ==========================================================
   COLORES DEFINITIVOS DE LOS BOTONES DEL MINI-CARRITO
   Sobrescribe los colores heredados de BuyCart Pro
   ========================================================== */

/* Base: evita el azul heredado de la cabecera */
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button:visited,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button span {
        text-decoration: none !important;
        -webkit-text-fill-color: currentColor !important;
}

/* Ver carrito */
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--cart,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--cart:visited,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--cart span {
        background: #eef1f4 !important;
        border-color: #d5dbe1 !important;
        color: #303942 !important;
        -webkit-text-fill-color: #303942 !important;
}

html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--cart:hover,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--cart:hover span {
        background: #e2e7eb !important;
        border-color: #c5ccd3 !important;
        color: #1f272e !important;
        -webkit-text-fill-color: #1f272e !important;
}

/* Finalizar compra */
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--checkout,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--checkout:visited,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--checkout span {
        background: #303942 !important;
        border-color: #303942 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
}

html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--checkout:hover,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--checkout:hover span {
        background: #1f272e !important;
        border-color: #1f272e !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
}

/* Vaciar carrito */
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--empty,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--empty:visited,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--empty span {
        background: #f8eeee !important;
        border-color: #dfc4c4 !important;
        color: #873b3b !important;
        -webkit-text-fill-color: #873b3b !important;
}

html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--empty:hover,
html body .wf_navbar-shopcart
.woocommerce-mini-cart__buttons
a.mata-mini-cart-button--empty:hover span {
        background: #f2dfdf !important;
        border-color: #d1aaaa !important;
        color: #6f2d2d !important;
        -webkit-text-fill-color: #6f2d2d !important;
}

/* ==========================================================
   ESTADOS AJAX DEL MINI-CARRITO
   ========================================================== */

body .wf_navbar-shopcart {
        min-height: 1px;
}

body .wf_navbar-shopcart .mata-mini-cart {
        width: 100%;
}

/* El botón de vaciar ahora es un button real */
body .wf_navbar-shopcart
button.mata-mini-cart-button {
        appearance: none !important;
        -webkit-appearance: none !important;
        cursor: pointer !important;
}

body .wf_navbar-shopcart
button.mata-mini-cart-button:disabled {
        opacity: 0.62 !important;
        cursor: wait !important;
}

/* Producto mientras se está eliminando */
body .wf_navbar-shopcart
.remove_from_cart_button.mata-is-removing {
        opacity: 0.45 !important;
        pointer-events: none !important;
}

/* Mantener abierto después de una actualización AJAX */
body .wf_navbar-cart-item.is-open
.wf_navbar-shopcart,
body .wf_navbar-cart-item.active
.wf_navbar-shopcart,
body .wf_navbar-shopcart.is-open,
body .wf_navbar-shopcart.active {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
}

/* Evitar el botón antiguo añadido por WPCode */
body .wf_navbar-shopcart
.mata-clear-cart-safe-2026,
body .wf_navbar-shopcart
.mata-clear-block-cart-2026 {
        display: none !important;
}

/* ==========================================================
   CABECERA DEL CATÁLOGO / CATEGORÍAS
   ========================================================== */

body.woocommerce .site-content .page-title,
body.tax-product_cat .site-content .page-title,
body.post-type-archive-product .site-content .page-title {
        display: block;
        width: 100%;
        margin: 0 0 22px !important;
        padding: 0 0 14px;
        color: #1f2937 !important;
        font-family: inherit !important;
        font-size: clamp(24px, 2.4vw, 34px) !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        letter-spacing: -0.025em;
        text-align: left !important;
        border-bottom: 1px solid #e6e9ed;
}

/* Pequeño acento bajo el título */
body.woocommerce .site-content .page-title::after,
body.tax-product_cat .site-content .page-title::after,
body.post-type-archive-product .site-content .page-title::after {
        content: "";
        display: block;
        width: 46px;
        height: 3px;
        margin-top: 12px;
        border-radius: 999px;
        background: #2f5d62;
}

/* ==========================================================
   CONTROLES SUPERIORES
   ========================================================== */

/*
 * WooCommerce imprime estos controles como elementos hermanos.
 * Los alineamos en una misma franja sin modificar el HTML.
 */

body.woocommerce .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count {
        display: inline-flex;
        align-items: center;
        min-height: 42px;
        margin: 0 10px 24px 0 !important;
        padding: 0 14px;
        float: left;
        background: #f7f8fa;
        border: 1px solid #e1e5e9;
        border-radius: 8px;
        color: #667085 !important;
        font-family: inherit !important;
        font-size: 12.5px !important;
        font-weight: 650 !important;
        line-height: 1.3 !important;
}

/* ==========================================================
   CAMBIO CUADRÍCULA / LISTA
   ========================================================== */

body.woocommerce .gridlist-toggle,
body.tax-product_cat .gridlist-toggle,
body.post-type-archive-product .gridlist-toggle {
        display: inline-flex !important;
        align-items: center;
        gap: 4px;
        float: right;
        height: 42px;
        margin: 0 0 24px 10px !important;
        padding: 4px;
        background: #f3f5f7;
        border: 1px solid #e1e5e9;
        border-radius: 9px;
}

body.woocommerce .gridlist-toggle a,
body.tax-product_cat .gridlist-toggle a,
body.post-type-archive-product .gridlist-toggle a {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 6px !important;
        color: #7b8491 !important;
        text-decoration: none !important;
        box-shadow: none !important;
        transition:
                background 0.16s ease,
                color 0.16s ease,
                box-shadow 0.16s ease;
}

body.woocommerce .gridlist-toggle a:hover,
body.tax-product_cat .gridlist-toggle a:hover,
body.post-type-archive-product .gridlist-toggle a:hover {
        background: #ffffff !important;
        color: #2f5d62 !important;
}

body.woocommerce .gridlist-toggle a.active,
body.tax-product_cat .gridlist-toggle a.active,
body.post-type-archive-product .gridlist-toggle a.active {
        background: #ffffff !important;
        color: #2f5d62 !important;
        box-shadow: 0 2px 7px rgba(15, 23, 42, 0.08) !important;
}

/* No depender de los iconos Font Awesome del plugin */
body.woocommerce .gridlist-toggle a span.fa,
body.tax-product_cat .gridlist-toggle a span.fa,
body.post-type-archive-product .gridlist-toggle a span.fa {
        display: none !important;
}

/* Icono de cuadrícula hecho con CSS */
body.woocommerce .gridlist-toggle #grid::before,
body.tax-product_cat .gridlist-toggle #grid::before,
body.post-type-archive-product .gridlist-toggle #grid::before {
        content: "";
        width: 15px;
        height: 15px;
        background:
                linear-gradient(currentColor 0 0) 0 0 / 6px 6px no-repeat,
                linear-gradient(currentColor 0 0) 100% 0 / 6px 6px no-repeat,
                linear-gradient(currentColor 0 0) 0 100% / 6px 6px no-repeat,
                linear-gradient(currentColor 0 0) 100% 100% / 6px 6px no-repeat;
        border-radius: 1px;
}

/* Icono de lista hecho con CSS */
body.woocommerce .gridlist-toggle #list::before,
body.tax-product_cat .gridlist-toggle #list::before,
body.post-type-archive-product .gridlist-toggle #list::before {
        content: "";
        width: 16px;
        height: 14px;
        background:
                linear-gradient(currentColor 0 0) 0 1px / 16px 2px no-repeat,
                linear-gradient(currentColor 0 0) 0 6px / 16px 2px no-repeat,
                linear-gradient(currentColor 0 0) 0 11px / 16px 2px no-repeat;
        border-radius: 1px;
}

/* ==========================================================
   SELECTOR DE ORDEN
   ========================================================== */

body.woocommerce .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering {
        position: relative;
        display: inline-flex;
        align-items: center;
        float: right;
        height: 42px;
        margin: 0 0 24px !important;
}

body.woocommerce .woocommerce-ordering::after,
body.tax-product_cat .woocommerce-ordering::after,
body.post-type-archive-product .woocommerce-ordering::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 14px;
        width: 6px;
        height: 6px;
        border-right: 1.5px solid #667085;
        border-bottom: 1.5px solid #667085;
        transform: translateY(-65%) rotate(45deg);
        pointer-events: none;
}

body.woocommerce .woocommerce-ordering select.orderby,
body.tax-product_cat .woocommerce-ordering select.orderby,
body.post-type-archive-product .woocommerce-ordering select.orderby {
        width: auto !important;
        min-width: 220px;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 38px 0 14px !important;
        appearance: none;
        -webkit-appearance: none;
        background: #ffffff !important;
        border: 1px solid #dfe4e8 !important;
        border-radius: 8px !important;
        color: #344054 !important;
        font-family: inherit !important;
        font-size: 12.5px !important;
        font-weight: 650 !important;
        line-height: 40px !important;
        box-shadow: none !important;
        cursor: pointer;
        transition:
                border-color 0.16s ease,
                box-shadow 0.16s ease;
}

body.woocommerce .woocommerce-ordering select.orderby:hover,
body.tax-product_cat .woocommerce-ordering select.orderby:hover,
body.post-type-archive-product .woocommerce-ordering select.orderby:hover {
        border-color: #bcc6ce !important;
}

body.woocommerce .woocommerce-ordering select.orderby:focus,
body.tax-product_cat .woocommerce-ordering select.orderby:focus,
body.post-type-archive-product .woocommerce-ordering select.orderby:focus {
        border-color: #2f5d62 !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(47, 93, 98, 0.10) !important;
}

/* ==========================================================
   LIMPIEZA Y SEPARACIÓN DE PRODUCTOS
   ========================================================== */

body.woocommerce ul.products,
body.tax-product_cat ul.products,
body.post-type-archive-product ul.products {
        clear: both;
        margin-top: 0 !important;
}

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

@media (max-width: 767px) {
        body.woocommerce .site-content .page-title,
        body.tax-product_cat .site-content .page-title,
        body.post-type-archive-product .site-content .page-title {
                margin-bottom: 16px !important;
                padding-bottom: 11px;
                font-size: 24px !important;
        }

        body.woocommerce .woocommerce-result-count,
        body.tax-product_cat .woocommerce-result-count,
        body.post-type-archive-product .woocommerce-result-count {
                display: flex;
                float: none;
                width: 100%;
                min-height: 38px;
                margin: 0 0 10px !important;
                justify-content: center;
        }

        body.woocommerce .woocommerce-ordering,
        body.tax-product_cat .woocommerce-ordering,
        body.post-type-archive-product .woocommerce-ordering {
                float: left;
                width: calc(100% - 88px);
                height: 40px;
                margin: 0 8px 18px 0 !important;
        }

        body.woocommerce .woocommerce-ordering select.orderby,
        body.tax-product_cat .woocommerce-ordering select.orderby,
        body.post-type-archive-product .woocommerce-ordering select.orderby {
                width: 100% !important;
                min-width: 0;
                height: 40px !important;
        }

        body.woocommerce .gridlist-toggle,
        body.tax-product_cat .gridlist-toggle,
        body.post-type-archive-product .gridlist-toggle {
                float: right;
                height: 40px;
                margin: 0 0 18px !important;
        }

        body.woocommerce .gridlist-toggle a,
        body.tax-product_cat .gridlist-toggle a,
        body.post-type-archive-product .gridlist-toggle a {
                width: 30px;
                height: 30px;
        }
}

@media (max-width: 480px) {
        body.woocommerce .woocommerce-ordering,
        body.tax-product_cat .woocommerce-ordering,
        body.post-type-archive-product .woocommerce-ordering {
                float: none;
                width: 100%;
                margin-right: 0 !important;
                margin-bottom: 9px !important;
        }

        body.woocommerce .gridlist-toggle,
        body.tax-product_cat .gridlist-toggle,
        body.post-type-archive-product .gridlist-toggle {
                float: none;
                justify-content: center;
                width: 100%;
                margin-bottom: 18px !important;
        }
}

/* ==========================================================
   MATAMAKROPAPER — PORTADA PROFESIONAL COMPLETA
   Tema hijo: buycart-pro-child

   IMPORTANTE:
   - Sustituir los estilos anteriores de portada por este bloque.
   - No modifica #wf_slider ni los banners superiores.
   - Todos los fondos de las secciones permanecen blancos.
   ========================================================== */

body.home {
        --mata-blue: var(--mm-color-principal);
        --mata-blue-dark: var(--mm-color-principal-oscuro);
        --mata-blue-soft: var(--mm-color-principal-suave);

        --mata-slate: #54738f;
        --mata-slate-soft: #eef3f7;

        --mata-green: #4f7f70;
        --mata-green-soft: #edf5f2;

        --mata-paper: #b67d4f;
        --mata-paper-soft: #faf3ec;

        --mata-title: #1d2939;
        --mata-text: #536171;
        --mata-muted: #7a8594;

        --mata-border: #e1e7ed;
        --mata-border-hover: #c7d2de;

        --mata-radius: 11px;

        --mata-shadow:
                0 8px 24px rgba(21, 45, 79, 0.055);

        --mata-shadow-hover:
                0 16px 36px rgba(21, 45, 79, 0.1);
}

/* ==========================================================
   ESTRUCTURA GENERAL
   No se incluye #wf_slider
   ========================================================== */

body.home #content,
body.home #content.site-content,
body.home #wf_recent_product,
body.home #wf_product_category,
body.home #wf_banners_one,
body.home #wf_clients,
body.home #wf_information,
body.home #wf_posts {
        background: #ffffff !important;
        background-image: none !important;
}

/* Eliminar adornos y fondos heredados */
body.home #wf_recent_product::before,
body.home #wf_recent_product::after,
body.home #wf_product_category::before,
body.home #wf_product_category::after,
body.home #wf_banners_one::before,
body.home #wf_banners_one::after,
body.home #wf_clients::before,
body.home #wf_clients::after,
body.home #wf_information::before,
body.home #wf_information::after,
body.home #wf_posts::before,
body.home #wf_posts::after {
        content: none !important;
        display: none !important;
}

/* Sin divisiones externas entre secciones */
body.home #content > section {
        border-top: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
}

/* Tamaño de texto base algo mayor */
body.home #content {
        color: var(--mata-text);
        font-size: 16px;
}

/* Espaciado común */
body.home #wf_recent_product,
body.home #wf_product_category,
body.home #wf_banners_one,
body.home #wf_posts {
        padding-top: 70px !important;
        padding-bottom: 74px !important;
}

/* ==========================================================
   TÍTULOS PRINCIPALES
   Alineados a la izquierda con línea horizontal
   ========================================================== */

body.home #content .section-title,
body.home #content .section-title.wf-text-center,
body.home #content .section-title.wf-text-md-left {
        width: 100%;
        max-width: none;

        margin-right: 0 !important;
        margin-left: 0 !important;

        text-align: left !important;
}

/* Subtítulo */
body.home #content .section-title .sub-title {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 9px;

        margin: 0 0 10px !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;

        color: var(--mata-blue) !important;

        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        letter-spacing: 0.12em;

        text-align: left !important;
        text-transform: uppercase;
}

body.home #content .section-title .sub-title::before {
        content: "";
        display: block;

        width: 21px;
        height: 2px;

        background: currentColor;
        border-radius: 999px;
}

body.home #content .section-title .sub-title::after {
        content: none !important;
        display: none !important;
}

/* Título principal */
body.home #content .section-title > .title,
body.home #content .section-title h2.title,
body.home #content .section-title h3.title {
        position: relative;
        display: block;

        width: 100%;
        margin: 0 !important;
        padding: 0 0 18px !important;

        background: transparent !important;

        border: 0 !important;
        border-bottom: 1px solid var(--mata-border) !important;

        color: var(--mata-title) !important;

        font-family: inherit !important;
        font-size: clamp(31px, 2.55vw, 40px) !important;
        font-weight: 800 !important;
        line-height: 1.14 !important;
        letter-spacing: -0.03em;

        text-align: left !important;
}

/* Tramo azul sobre la línea */
body.home #content .section-title > .title::after,
body.home #content .section-title h2.title::after,
body.home #content .section-title h3.title::after {
        content: "";
        position: absolute;
        bottom: -1px;
        left: 0;

        display: block;

        width: 62px;
        height: 3px;
        margin: 0 !important;

        background: var(--mata-blue) !important;
        border-radius: 999px;
}

/* Descripción */
body.home #content .section-title p {
        max-width: 800px;

        margin: 17px 0 0 !important;

        color: var(--mata-text) !important;

        font-size: 16px !important;
        line-height: 1.75 !important;

        text-align: left !important;
}

/* Separación entre título y contenido */
body.home #wf_product_category .wf-mb-5,
body.home #wf_banners_one .wf-mb-5,
body.home #wf_posts .section-title {
        margin-bottom: 40px !important;
}

/* ==========================================================
   TOP VENTAS / PRODUCTOS POPULARES /
   NOVEDADES / MEJOR VALORADOS
   ========================================================== */

body.home #wf_recent_product {
        padding-top: 64px !important;
        padding-bottom: 70px !important;
}

/* Cuatro columnas proporcionadas */
body.home #wf_recent_product .wf-row {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;

        row-gap: 44px;
}

body.home #wf_recent_product .wf-row > [class*="wf-col-"],
body.home #wf_recent_product .wf-row > [class*="col-"] {
        display: flex;
        flex-direction: column;
}

/* Un color moderado para cada grupo */
body.home #wf_recent_product .wf-row > div:nth-child(1) {
        --recent-accent: var(--mata-blue);
}

body.home #wf_recent_product .wf-row > div:nth-child(2) {
        --recent-accent: var(--mata-slate);
}

body.home #wf_recent_product .wf-row > div:nth-child(3) {
        --recent-accent: var(--mata-paper);
}

body.home #wf_recent_product .wf-row > div:nth-child(4) {
        --recent-accent: var(--mata-green);
}

/* Cabecera de cada columna */
body.home #wf_recent_product .wf-mb-4 {
        display: flex;
        align-items: center;
        justify-content: flex-start;

        min-height: 60px;
        margin-bottom: 18px !important;

        text-align: left !important;
}

body.home #wf_recent_product .title {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: flex-start;

        width: 100%;
        min-height: 54px;

        margin: 0 !important;
        padding: 0 0 16px !important;

        background: transparent !important;

        border: 0 !important;
        border-bottom: 1px solid var(--mata-border) !important;

        color: var(--mata-title) !important;

        font-size: 22px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        letter-spacing: -0.02em;

        text-align: left !important;
}

/* Tramo de color bajo cada cabecera */
body.home #wf_recent_product .title::after,
body.home #wf_recent_product .ts_ttl::after,
body.home #wf_recent_product .tp_ttl::after,
body.home #wf_recent_product .ra_ttl::after,
body.home #wf_recent_product .tr_ttl::after {
        content: "";
        position: absolute;
        bottom: -1px;
        left: 0;

        width: 46px;
        height: 3px;

        background: var(--recent-accent, var(--mata-blue)) !important;
        border-radius: 999px;
        transform: none !important;
}

/* Enlace del título */
body.home #wf_recent_product .title a,
body.home #wf_recent_product .title a:visited {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;

        color: var(--mata-title) !important;
        text-decoration: none !important;

        transition: color 0.18s ease;
}

body.home #wf_recent_product .title a::after {
        content: "\2192";

        color: var(--recent-accent, var(--mata-blue));
        font-size: 18px;
        font-weight: 700;
        line-height: 1;

        transition: transform 0.18s ease;
}

body.home #wf_recent_product .title a:hover,
body.home #wf_recent_product .title a:focus {
        color: var(--recent-accent, var(--mata-blue)) !important;
}

body.home #wf_recent_product .title a:hover::after,
body.home #wf_recent_product .title a:focus::after {
        transform: translateX(4px);
}

/* Producto */
body.home #wf_recent_product .product-list {
        display: grid;
        grid-template-columns: 106px minmax(0, 1fr);
        align-items: center;
        gap: 18px;

        width: 100%;
        min-height: 142px;

        margin: 0 !important;
        padding: 15px 4px !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        transition: transform 0.2s ease;
}

body.home #wf_recent_product .product-list:hover {
        transform: translateY(-3px);

        background: transparent !important;
        box-shadow: none !important;
}

body.home #wf_recent_product .product-list::before,
body.home #wf_recent_product .product-list::after {
        content: none !important;
        display: none !important;
}

/* Imagen sin fondo ni caja */
body.home #wf_recent_product .product-img {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 106px;
        height: 106px;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;
}

body.home #wf_recent_product .product-img a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 100%;

        background: transparent !important;
}

body.home #wf_recent_product .product-img img {
        display: block;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        object-fit: contain;

        transition: transform 0.22s ease;
}

body.home #wf_recent_product .product-list:hover .product-img img {
        transform: scale(1.045);
}

/* Información del producto */
body.home #wf_recent_product .product-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        min-width: 0;

        text-align: left !important;
}

body.home #wf_recent_product .product-content h5 {
        display: -webkit-box;

        margin: 0 0 10px !important;
        padding: 0 !important;

        overflow: hidden;

        color: var(--mata-title) !important;

        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.5 !important;

        text-align: left !important;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
}

body.home #wf_recent_product .product-content h5 a {
        color: var(--mata-title) !important;
        text-decoration: none !important;
}

body.home #wf_recent_product .product-content h5 a:hover {
        color: var(--recent-accent, var(--mata-blue)) !important;
}

/* Valoración */
body.home #wf_recent_product .star-rating {
        margin: 0 0 8px !important;
        font-size: 13px !important;
}

/* Precio */
body.home #wf_recent_product .price,
body.home #wf_recent_product .price *,
body.home #wf_recent_product .price bdi,
body.home #wf_recent_product .price .amount,
body.home #wf_recent_product .price .woocommerce-Price-currencySymbol {
        margin: 0 !important;

        color: var(--mata-blue) !important;

        font-size: 19px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;

        text-align: left !important;
}

/* ==========================================================
   CATEGORÍAS RECOMENDADAS
   Cuadradas y con color moderado
   ========================================================== */

body.home #wf_product_category {
        overflow: visible !important;
}

/* Color por categoría */
body.home #wf_product_category .owl-item:nth-child(4n + 1) {
        --category-accent: var(--mata-blue);
        --category-soft: var(--mata-blue-soft);
}

body.home #wf_product_category .owl-item:nth-child(4n + 2) {
        --category-accent: var(--mata-green);
        --category-soft: var(--mata-green-soft);
}

body.home #wf_product_category .owl-item:nth-child(4n + 3) {
        --category-accent: var(--mata-paper);
        --category-soft: var(--mata-paper-soft);
}

body.home #wf_product_category .owl-item:nth-child(4n + 4) {
        --category-accent: var(--mata-slate);
        --category-soft: var(--mata-slate-soft);
}

body.home #wf_product_category .product-category {
        padding: 10px 13px;
}

body.home #wf_product_category .category-inner {
        position: relative;

        display: flex;
        flex-direction: column;
        align-items: center;

        min-height: 285px;

        margin: 0;
        padding: 0;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        transition: transform 0.2s ease;
}

body.home #wf_product_category .category-inner:hover {
        transform: translateY(-5px);

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
}

/* Imagen cuadrada */
body.home #wf_product_category .category-image {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        max-width: 205px;
        height: auto !important;
        aspect-ratio: 1 / 1;

        margin: 0 auto 18px !important;
        padding: 9px !important;

        overflow: hidden;

        background: transparent !important;

        border: 1px solid var(--category-soft, var(--mata-border)) !important;
        border-radius: 13px !important;

        box-shadow: none !important;

        transition:
                transform 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease;
}

body.home #wf_product_category .category-inner:hover .category-image {
        transform: translateY(-2px);

        border-color: var(--category-accent, var(--mata-blue)) !important;
        box-shadow: 0 10px 26px rgba(21, 45, 79, 0.075) !important;
}

body.home #wf_product_category .category-image::before,
body.home #wf_product_category .category-image::after {
        content: none !important;
        display: none !important;
}

body.home #wf_product_category .category-image a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 100%;
}

body.home #wf_product_category .category-image img {
        display: block;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border-radius: 9px;

        object-fit: contain;

        transition: transform 0.22s ease;
}

body.home #wf_product_category .category-inner:hover .category-image img {
        transform: scale(1.04);
}

/* Texto de categoría */
body.home #wf_product_category .category-mask {
        position: static !important;

        display: flex !important;
        flex-direction: column;
        align-items: center;

        width: 100%;
        min-height: 76px;

        margin: 0;
        padding: 0 8px !important;

        background: transparent !important;

        text-align: center !important;

        opacity: 1 !important;
        transform: none !important;
}

body.home #wf_product_category .category-mask .title {
        display: -webkit-box;

        width: 100%;
        min-height: 45px;

        margin: 0 0 7px !important;

        overflow: hidden;

        color: var(--mata-title) !important;

        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;

        text-align: center !important;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
}

body.home #wf_product_category .category-mask .count {
        width: 100%;
        text-align: center !important;
}

body.home #wf_product_category .category-mask .count a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;

        color: var(--category-accent, var(--mata-blue)) !important;

        font-size: 13px !important;
        font-weight: 700 !important;

        text-decoration: none !important;
}

body.home #wf_product_category .category-mask .count a::after {
        content: "\2192";
        transition: transform 0.18s ease;
}

body.home #wf_product_category .category-inner:hover .count a::after {
        transform: translateX(3px);
}

/* Puntos del carrusel */
body.home #wf_product_category .owl-dots {
        margin-top: 26px !important;
}

body.home #wf_product_category .owl-dot span {
        width: 7px !important;
        height: 7px !important;

        margin: 4px !important;

        background: #c7d0da !important;
        border-radius: 999px !important;
}

body.home #wf_product_category .owl-dot.active span {
        width: 25px !important;
        background: var(--mata-blue) !important;
}

/* ==========================================================
   MEJORES OFERTAS
   Diseño final: contenido e imagen unidos
   ========================================================== */

body.home #wf_banners_one {
        padding-top: 46px !important;
        padding-bottom: 52px !important;
        background: transparent !important;
}

/* ==========================================================
   CABECERA DE LA SECCIÓN
   ========================================================== */

body.home #wf_banners_one .mata-ofertas-header {
        margin-bottom: 28px !important;
}

body.home #wf_banners_one .mata-ofertas-kicker {
        display: block;
        margin-bottom: 6px;
        color: #6a7785;
        font-size: 10px;
        font-weight: 750;
        line-height: 1.2;
        letter-spacing: 0.12em;
        text-transform: uppercase;
}

body.home #wf_banners_one .section-title .title {
        margin: 0;
        color: #172c44;
        font-size: 28px;
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: -0.025em;
}

/* ==========================================================
   CUADRÍCULA
   ========================================================== */

body.home #wf_banners_one .wf-row.wf-g-4,
body.home #wf_banners_one .mata-ofertas-grid {
        --wf-gutter-x: 2.4rem;
        --wf-gutter-y: 2.4rem;
}

body.home #wf_banners_one .wf-row.wf-g-4 > [class*="wf-col-"],
body.home #wf_banners_one .mata-ofertas-grid > [class*="wf-col-"] {
        display: flex;
}

/* ==========================================================
   CONTENEDOR GENERAL
   ========================================================== */

body.home #wf_banners_one .wf_banner-item {
        position: relative;

        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0 !important;

        width: 100%;
        height: 250px;
        min-height: 0 !important;

        margin: 0;
        padding: 0;

        overflow: hidden;

        background: transparent !important;
        border: 0 !important;
        border-radius: 12px;
        box-shadow: none !important;

        transform: none !important;
        transition: none !important;
}

body.home #wf_banners_one .wf_banner-item:hover,
body.home #wf_banners_one .wf_banner-item:focus-within {
        transform: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
}

body.home #wf_banners_one .wf_banner-item::before,
body.home #wf_banners_one .wf_banner-item::after {
        content: none !important;
        display: none !important;
}

/* ==========================================================
   PARTE IZQUIERDA: CONTENIDO
   ========================================================== */

body.home #wf_banners_one .wf_banner-content {
        position: relative;
        z-index: 2;

        flex: 0 0 50%;
        width: 50%;
        min-width: 0;
        height: 250px;
        min-height: 0 !important;

        display: flex !important;
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 0 !important;

        margin: 0 !important;
        padding: 25px 27px !important;

        text-align: left !important;

        background: #f8fafc !important;

        border-top: 1px solid #dde3e8 !important;
        border-bottom: 1px solid #dde3e8 !important;
        border-left: 1px solid #dde3e8 !important;
        border-right: 0 !important;
        border-radius: 12px 0 0 12px !important;

        box-shadow:
                0 3px 8px rgba(24, 45, 74, 0.025),
                0 10px 26px rgba(24, 45, 74, 0.05);

        transition:
                background-color 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease;
}

body.home #wf_banners_one .wf_banner-item:hover .wf_banner-content,
body.home #wf_banners_one .wf_banner-item:focus-within .wf_banner-content {
        background: #f5f8fb !important;
        border-color: #cbd5de !important;

        box-shadow:
                0 5px 12px rgba(24, 45, 74, 0.035),
                0 14px 30px rgba(24, 45, 74, 0.075);
}

/* Línea decorativa superior */
body.home #wf_banners_one .wf_banner-content::before {
        content: "";

        position: absolute;
        top: 0;
        left: 27px;

        width: 44px;
        height: 3px;

        background: #173653;
        border-radius: 0 0 3px 3px;
}

body.home #wf_banners_one .wf_banner-content::after {
        content: none !important;
        display: none !important;
}

/* ==========================================================
   SUBTÍTULO
   ========================================================== */

body.home #wf_banners_one .wf_banner-content .subtitle {
        display: inline-block !important;

        width: auto;
        margin: 0 0 10px;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;

        color: #637487 !important;

        font-size: 10px !important;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: 0.11em;
        text-transform: uppercase;
}

/* ==========================================================
   TÍTULO
   ========================================================== */

body.home #wf_banners_one .wf_banner-content .title {
        display: -webkit-box !important;

        width: 100%;
        max-width: 100%;

        margin: 0 0 10px;
        overflow: hidden;

        color: #172c44 !important;

        font-size: 23px !important;
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: -0.025em;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
}

/* ==========================================================
   DESCRIPCIÓN
   ========================================================== */

body.home #wf_banners_one .wf_banner-content .text {
        display: -webkit-box !important;

        width: 100%;
        max-width: 100%;

        margin: 0 0 16px !important;
        overflow: hidden;

        color: #536273 !important;

        font-size: 12.5px !important;
        font-weight: 450;
        line-height: 1.5;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
}

body.home #wf_banners_one .wf_banner-content .text br {
        display: none;
}

body.home #wf_banners_one .wf_banner-content .text img.emoji {
        width: 13px !important;
        height: 13px !important;

        margin: 0 2px !important;

        vertical-align: -2px !important;
}

/* ==========================================================
   ENLACE VER OFERTA
   ========================================================== */

body.home #wf_banners_one .more-link {
        position: relative;

        display: inline-flex !important;
        align-items: center;
        gap: 7px;

        width: max-content;
        max-width: 100%;

        margin-top: auto;
        padding: 0 0 4px !important;

        background: transparent !important;

        border: 0 !important;
        border-bottom: 1px solid #173653 !important;
        border-radius: 0 !important;

        color: #173653 !important;

        font-size: 12px !important;
        font-weight: 800;
        line-height: 1.2;
        text-decoration: none !important;

        transition:
                color 0.18s ease,
                border-color 0.18s ease;
}

/* Elimina la línea animada original */
body.home #wf_banners_one .more-link::before,
body.home #wf_banners_one .more-link::after {
        content: none !important;
        display: none !important;
}

body.home #wf_banners_one .more-link i {
        position: static !important;
        top: auto !important;

        margin: 0 !important;

        font-size: 12px !important;

        transform: none !important;
        transition: transform 0.18s ease;
}

body.home #wf_banners_one .more-link:hover,
body.home #wf_banners_one .more-link:focus {
        background: transparent !important;
        border-color: #0e263d !important;
        color: #0e263d !important;
}

body.home #wf_banners_one .more-link:hover i,
body.home #wf_banners_one .more-link:focus i {
        transform: translateX(3px) !important;
}

/* ==========================================================
   PARTE DERECHA: IMAGEN SIN FRANJAS BLANCAS
   ========================================================== */

body.home #wf_banners_one .wf_banner-img {
        position: relative;
        z-index: 1;

        flex: 0 0 50%;
        width: 50%;
        min-width: 0;
        height: 250px;
        min-height: 0 !important;

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 12px 12px 0 !important;
        box-shadow: none !important;
}

/* Elimina efectos y capas del tema */
body.home #wf_banners_one .wf_banner-img::before,
body.home #wf_banners_one .wf_banner-img::after {
        content: none !important;
        display: none !important;
}

/* Enlace que contiene la imagen */
body.home #wf_banners_one .wf_banner-img > a,
body.home #wf_banners_one .wf_banner-img .mata-offer-image-link {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 12px 12px 0 !important;
        box-shadow: none !important;
        text-decoration: none !important;
}

/*
 * COVER rellena completamente el lateral.
 * Puede recortar ligeramente la imagen para evitar
 * cualquier franja vacía o blanca.
 */
body.home #wf_banners_one .wf_banner-img img {
        display: block !important;

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

        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: cover !important;
        object-position: center center !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 12px 12px 0 !important;
        box-shadow: none !important;

        transform: scale(1.01) !important;
        transition: transform 0.3s ease !important;
}

body.home #wf_banners_one .wf_banner-item:hover .wf_banner-img img,
body.home #wf_banners_one .wf_banner-item:focus-within .wf_banner-img img {
        transform: scale(1.035) !important;
}

/* ==========================================================
   TARJETAS SIN ENLACE
   ========================================================== */

body.home #wf_banners_one .wf_banner-content:not(:has(.more-link)) {
        justify-content: center !important;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991px) {

        body.home #wf_banners_one .wf_banner-item {
                height: 225px;
        }

        body.home #wf_banners_one .wf_banner-content,
        body.home #wf_banners_one .wf_banner-img {
                height: 225px;
        }

        body.home #wf_banners_one .wf_banner-content {
                padding: 22px 23px !important;
        }

        body.home #wf_banners_one .wf_banner-content::before {
                left: 23px;
        }

        body.home #wf_banners_one .wf_banner-content .subtitle {
                margin-bottom: 8px;
                font-size: 9px !important;
        }

        body.home #wf_banners_one .wf_banner-content .title {
                margin-bottom: 8px;
                font-size: 20px !important;
        }

        body.home #wf_banners_one .wf_banner-content .text {
                margin-bottom: 13px !important;

                font-size: 11.5px !important;
                line-height: 1.45;

                -webkit-line-clamp: 4;
        }

        body.home #wf_banners_one .more-link {
                font-size: 11px !important;
        }
}

/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 575px) {

        body.home #wf_banners_one {
                padding-top: 34px !important;
                padding-bottom: 40px !important;
        }

        body.home #wf_banners_one .mata-ofertas-header {
                margin-bottom: 22px !important;
        }

        body.home #wf_banners_one .section-title .title {
                font-size: 24px;
        }

        body.home #wf_banners_one .wf-row.wf-g-4,
        body.home #wf_banners_one .mata-ofertas-grid {
                --wf-gutter-y: 2rem;
        }

        body.home #wf_banners_one .wf_banner-item {
                display: flex;
                flex-direction: column;

                height: auto;
                min-height: 0 !important;

                overflow: hidden;

                border-radius: 10px;
        }

        /* Imagen arriba */
        body.home #wf_banners_one .wf_banner-img {
                order: 1;

                flex: 0 0 auto;
                width: 100%;
                height: 190px;

                border-radius: 10px 10px 0 0 !important;
        }

        body.home #wf_banners_one .wf_banner-img > a,
        body.home #wf_banners_one .wf_banner-img .mata-offer-image-link,
        body.home #wf_banners_one .wf_banner-img img {
                border-radius: 10px 10px 0 0 !important;
        }

        /* Contenido debajo */
        body.home #wf_banners_one .wf_banner-content {
                order: 2;

                flex: 0 0 auto;
                width: 100%;
                height: 200px;

                padding: 19px 20px !important;

                background: #f8fafc !important;

                border-top: 0 !important;
                border-right: 1px solid #dde3e8 !important;
                border-bottom: 1px solid #dde3e8 !important;
                border-left: 1px solid #dde3e8 !important;
                border-radius: 0 0 10px 10px !important;
        }

        body.home #wf_banners_one .wf_banner-content::before {
                top: auto;
                bottom: 0;
                left: 20px;
        }

        body.home #wf_banners_one .wf_banner-content .subtitle {
                margin-bottom: 7px;
                font-size: 8.5px !important;
        }

        body.home #wf_banners_one .wf_banner-content .title {
                margin-bottom: 7px;

                font-size: 18px !important;
                line-height: 1.2;
        }

        body.home #wf_banners_one .wf_banner-content .text {
                margin-bottom: 11px !important;

                font-size: 11px !important;
                line-height: 1.42;

                -webkit-line-clamp: 3;
        }

        body.home #wf_banners_one .more-link,
        body.home #wf_banners_one .more-link i {
                font-size: 11px !important;
        }
}

/* ==========================================================
   MARQUESINA
   ========================================================== */

body.home #wf_marquees {
        padding: 0 !important;

        background: linear-gradient(
                var(--mm-barra-angulo),
                var(--mm-barra-color-1) var(--mm-barra-posicion-1),
                var(--mm-barra-color-2) var(--mm-barra-posicion-2),
                var(--mm-barra-color-3) var(--mm-barra-posicion-3)
        ) !important;

        background-image: linear-gradient(
                var(--mm-barra-angulo),
                var(--mm-barra-color-1) var(--mm-barra-posicion-1),
                var(--mm-barra-color-2) var(--mm-barra-posicion-2),
                var(--mm-barra-color-3) var(--mm-barra-posicion-3)
        ) !important;

        border: 0 !important;
        box-shadow: none !important;
}

body.home #wf_marquees .wf_marquee {
        display: flex;
        align-items: center;

        min-height: 52px;
        margin: 0;

        color: #ffffff !important;

        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 1.5 !important;
        letter-spacing: 0.025em;
}

body.home #wf_marquees .wf_marquee span {
        color: #ffffff !important;
}

body.home #wf_marquees .wf_marquee span::after {
        content: "\2022";

        margin-left: 34px;

        color: rgba(255, 255, 255, 0.46);
}

/* ==========================================================
   Más grandes y visibles
   ========================================================== */

body.home #wf_clients {
        padding-top: 48px !important;
        padding-bottom: 48px !important;

        background: linear-gradient(
         var(--mm-barra-angulo),
         var(--mm-barra-color-1) var(--mm-barra-posicion-1),
         var(--mm-barra-color-2) var(--mm-barra-posicion-2),
         var(--mm-barra-color-3) var(--mm-barra-posicion-3)
        ) !important;

        border: 0 !important;
        box-shadow: none !important;
}

body.home #wf_clients .client-item {
        padding: 6px 18px !important;
}

body.home #wf_clients .client-item a {
        display: flex !important;
        align-items: center;
        justify-content: center;

        height: 128px !important;

        padding: 8px 14px !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        filter: grayscale(0.3);
        opacity: 0.88;

        transition:
                opacity 0.18s ease,
                filter 0.18s ease,
                transform 0.18s ease;
}

body.home #wf_clients .client-item a:hover {
        transform: translateY(-3px) scale(1.03);

        filter: grayscale(0);
        opacity: 1;

        background: transparent !important;
        box-shadow: none !important;
}

body.home #wf_clients .client-item img {
        display: block;

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

        height: auto !important;
        max-height: 102px !important;

        margin: 0 auto;

        object-fit: contain !important;
}

/* Flechas del carrusel */
body.home #wf_clients .owl-nav button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        width: 40px !important;
        height: 40px !important;

        background: #ffffff !important;

        border: 1px solid var(--mata-border) !important;
        border-radius: 50% !important;

        color: var(--mata-blue) !important;

        box-shadow: 0 5px 15px rgba(21, 45, 79, 0.08) !important;

        transition:
                background 0.18s ease,
                border-color 0.18s ease,
                color 0.18s ease;
}

body.home #wf_clients .owl-nav button:hover {
        background: var(--mata-blue) !important;
        border-color: var(--mata-blue) !important;
        color: #ffffff !important;
}

/* ==========================================================
   MARCAS / CLIENTES
   Fondo blanco + logos a color
   ========================================================== */

body.home #wf_clients {
        padding-top: 48px !important;
        padding-bottom: 48px !important;

        background: #ffffff !important;
        background-image: none !important;

        border: 0 !important;
        box-shadow: none !important;
}

body.home #wf_clients .client-item {
        padding: 6px 18px !important;
}

body.home #wf_clients .client-item a {
        display: flex !important;
        align-items: center;
        justify-content: center;

        height: 128px !important;

        padding: 8px 14px !important;

        background: #ffffff !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        /* Logos siempre a color */
        filter: none !important;
        opacity: 1 !important;

        transition:
                transform 0.18s ease,
                opacity 0.18s ease;
}

body.home #wf_clients .client-item a:hover {
        transform: translateY(-3px) scale(1.03);

        filter: none !important;
        opacity: 1 !important;

        background: #ffffff !important;
        box-shadow: none !important;
}

body.home #wf_clients .client-item img {
        display: block;

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

        height: auto !important;
        max-height: 102px !important;

        margin: 0 auto;

        object-fit: contain !important;

        /* Mantener los colores originales de las marcas */
        filter: none !important;
        opacity: 1 !important;
}

/* ==========================================================
   FLECHAS DEL CARRUSEL
   ========================================================== */

body.home #wf_clients .owl-nav button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        width: 40px !important;
        height: 40px !important;

        background: #ffffff !important;

        border: 1px solid var(--mata-border) !important;
        border-radius: 50% !important;

        color: var(--mata-blue) !important;

        box-shadow: 0 5px 15px rgba(21, 45, 79, 0.08) !important;
}

/* ==========================================================
   INFORMACIÓN / SERVICIOS
   ========================================================== */

body.home #wf_information {
        padding-top: 34px !important;
        padding-bottom: 42px !important;

        background: #ffffff !important;
}

body.home #wf_information .wf-container {
        padding-top: 0 !important;
        padding-bottom: 0 !important;

        background: transparent !important;

        border: 0 !important;
}


/* ==========================================================
   COLORES POR SERVICIO
   ========================================================== */


/* 2 - Siempre precios bajos */
body.home #wf_information .wf-row > div:nth-child(2) {
        --info-accent: var(--mata-green);
        --info-soft: var(--mata-green-soft);
}


/* 3 - 1 año de garantía */
body.home #wf_information .wf-row > div:nth-child(3) {
        --info-accent: var(--mata-paper);
        --info-soft: var(--mata-paper-soft);
}


/* 4 - Servicio 24/48h */
body.home #wf_information .wf-row > div:nth-child(4) {
        --info-accent: var(--mata-slate);
        --info-soft: var(--mata-slate-soft);
}


/* ==========================================================
   BLOQUE DE CADA SERVICIO
   ========================================================== */

body.home #wf_information .contact__list {
        display: flex;
        align-items: center;

        gap: 16px;

        min-height: 104px;

        padding: 17px 18px !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;
}


/* Sin animación ni fondo al pasar el ratón */

body.home #wf_information .contact__list:hover {
        transform: none !important;

        background: transparent !important;

        box-shadow: none !important;
}


/* Eliminar decoraciones heredadas del tema */

body.home #wf_information .contact__list::before,
body.home #wf_information .contact__list::after {
        content: none !important;

        display: none !important;
}


/* ==========================================================
   ICONOS
   ========================================================== */

body.home #wf_information .contact__list > i {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 50px;
        height: 50px;

        flex: 0 0 50px;

        background: var(
                --info-soft,
                var(--mata-blue-soft)
        ) !important;

        border: 0 !important;
        border-radius: 50% !important;

        color: var(
                --info-accent,
                var(--mata-blue)
        ) !important;

        font-size: 20px !important;

        box-shadow: none !important;
}


/* ==========================================================
   PRIMER ICONO - ENVÍO GRATIS
   COLOR FIJO, NO PARAMETRIZABLE
   ========================================================== */

body.home
#wf_information
.wf-row
> div:nth-child(1)
.contact__list
> i {
        /*
         * Círculo casi blanco fijo.
         * No depende de --mm-color-principal
         * ni de ninguna variable del personalizador.
         */
        background: #f7f9fc !important;

        /*
         * Borde muy suave para que el círculo
         * siga distinguiéndose sobre el fondo blanco.
         */
        border: 1px solid #e4e9ef !important;

        /*
         * Camión azul oscuro fijo.
         */
        color: #274c77 !important;
        -webkit-text-fill-color: #274c77 !important;
}


/* Font Awesome del primer icono */

body.home
#wf_information
.wf-row
> div:nth-child(1)
.contact__list
> i::before {
        color: #274c77 !important;
        -webkit-text-fill-color: #274c77 !important;
}


/* ==========================================================
   CUERPO
   ========================================================== */

body.home #wf_information .contact__body {
        min-width: 0;
}


/* ==========================================================
   TÍTULO
   ========================================================== */

body.home #wf_information .contact__body .title {
        margin: 0 0 5px !important;
}

body.home #wf_information .contact__body .title a {
        color: var(--mata-title) !important;

        font-size: 16px !important;
        font-weight: 750 !important;
        line-height: 1.35 !important;

        text-decoration: none !important;
}


/* ==========================================================
   DESCRIPCIÓN
   ========================================================== */

body.home #wf_information .contact__body .description {
        margin: 0 !important;

        color: var(--mata-muted) !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
}


/* ==========================================================
   TABLET
   Hasta 991px
   ========================================================== */

@media (max-width: 991px) {

        body.home #wf_information {
                padding-top: 30px !important;
                padding-bottom: 36px !important;
        }


        body.home #wf_information .wf-row {
                row-gap: 8px;
        }


        body.home #wf_information .contact__list {
                min-height: 96px;

                gap: 14px;

                padding: 15px 14px !important;
        }


        body.home #wf_information .contact__list > i {
                width: 46px;
                height: 46px;

                flex: 0 0 46px;

                font-size: 18px !important;
        }


        /*
         * Primer icono:
         * mantenemos exactamente los colores fijos.
         */

        body.home
        #wf_information
        .wf-row
        > div:nth-child(1)
        .contact__list
        > i {
                background: #f7f9fc !important;

                border: 1px solid #e4e9ef !important;

                color: #274c77 !important;
                -webkit-text-fill-color: #274c77 !important;
        }


        body.home
        #wf_information
        .wf-row
        > div:nth-child(1)
        .contact__list
        > i::before {
                color: #274c77 !important;
                -webkit-text-fill-color: #274c77 !important;
        }


        body.home #wf_information .contact__body .title {
                margin-bottom: 4px !important;
        }


        body.home #wf_information .contact__body .title a {
                font-size: 15px !important;
                line-height: 1.35 !important;
        }


        body.home #wf_information .contact__body .description {
                font-size: 12.5px !important;
                line-height: 1.55 !important;
        }
}


/* ==========================================================
   MÓVIL
   Hasta 575px
   ========================================================== */

@media (max-width: 575px) {

        body.home #wf_information {
                padding-top: 24px !important;
                padding-bottom: 30px !important;
        }


        body.home #wf_information .wf-container {
                padding-right: 18px !important;
                padding-left: 18px !important;
        }


        /*
         * En móvil cada servicio ocupa toda la anchura.
         */

        body.home #wf_information .wf-row {
                row-gap: 0;
        }


        body.home #wf_information .wf-row > [class*="wf-col-"] {
                width: 100%;

                flex: 0 0 100%;

                max-width: 100%;
        }


        /*
         * Cada servicio
         */

        body.home #wf_information .contact__list {
                min-height: 82px;

                gap: 13px;

                padding: 14px 4px !important;

                background: transparent !important;

                border: 0 !important;
                border-radius: 0 !important;

                box-shadow: none !important;
        }


        /*
         * Una separación muy ligera entre servicios.
         */

        body.home
        #wf_information
        .wf-row
        > [class*="wf-col-"]:not(:last-child)
        .contact__list {
                border-bottom: 1px solid #edf0f3 !important;
        }


        /*
         * Iconos algo más compactos.
         */

        body.home #wf_information .contact__list > i {
                width: 44px;
                height: 44px;

                flex: 0 0 44px;

                font-size: 17px !important;
        }


        /*
         * Primer icono:
         * fondo casi blanco y color fijo también en móvil.
         */

        body.home
        #wf_information
        .wf-row
        > div:nth-child(1)
        .contact__list
        > i {
                background: #f7f9fc !important;

                border: 1px solid #e4e9ef !important;

                color: #274c77 !important;
                -webkit-text-fill-color: #274c77 !important;
        }


        body.home
        #wf_information
        .wf-row
        > div:nth-child(1)
        .contact__list
        > i::before {
                color: #274c77 !important;
                -webkit-text-fill-color: #274c77 !important;
        }


        /*
         * Textos
         */

        body.home #wf_information .contact__body .title {
                margin: 0 0 3px !important;
        }


        body.home #wf_information .contact__body .title a {
                font-size: 14.5px !important;
                line-height: 1.3 !important;
        }


        body.home #wf_information .contact__body .description {
                font-size: 12px !important;
                line-height: 1.5 !important;
        }
}


/* ==========================================================
   MÓVIL PEQUEÑO
   Hasta 400px
   ========================================================== */

@media (max-width: 400px) {

        body.home #wf_information {
                padding-top: 20px !important;
                padding-bottom: 26px !important;
        }


        body.home #wf_information .wf-container {
                padding-right: 15px !important;
                padding-left: 15px !important;
        }


        body.home #wf_information .contact__list {
                min-height: 78px;

                gap: 12px;

                padding: 12px 2px !important;
        }


        body.home #wf_information .contact__list > i {
                width: 42px;
                height: 42px;

                flex: 0 0 42px;

                font-size: 16px !important;
        }


        /*
         * Primer icono fijo también
         * en pantallas pequeñas.
         */

        body.home
        #wf_information
        .wf-row
        > div:nth-child(1)
        .contact__list
        > i {
                background: #f7f9fc !important;

                border: 1px solid #e4e9ef !important;

                color: #274c77 !important;
                -webkit-text-fill-color: #274c77 !important;
        }


        body.home
        #wf_information
        .wf-row
        > div:nth-child(1)
        .contact__list
        > i::before {
                color: #274c77 !important;
                -webkit-text-fill-color: #274c77 !important;
        }


        body.home #wf_information .contact__body .title a {
                font-size: 14px !important;
        }


        body.home #wf_information .contact__body .description {
                font-size: 11.5px !important;
                line-height: 1.45 !important;
        }
}



/* =========================================================
   MATA MAKROPAPER - FOOTER
========================================================= */

#wf_footer {
    position: relative;
    overflow: hidden;

    background: linear-gradient(
        var(--mm-barra-angulo),
        var(--mm-barra-color-1) var(--mm-barra-posicion-1),
        var(--mm-barra-color-2) var(--mm-barra-posicion-2),
        var(--mm-barra-color-3) var(--mm-barra-posicion-3)
    ) !important;

    /*color: #dce7f0;*/

    font-family: inherit;
}


/* =========================================================
   FORMA DECORATIVA
========================================================= */

#wf_footer .footer-shape {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;

    pointer-events: none;

    opacity: 0.07;
}

#wf_footer .footer-shape img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    filter: grayscale(1) brightness(2);
}


/* =========================================================
   CONTENEDOR GENERAL
========================================================= */

#wf_footer .wf-container {
    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;

    padding-right: 24px;
    padding-left: 24px;

    box-sizing: border-box;
}


/* =========================================================
   ZONA PRINCIPAL
========================================================= */

#wf_footer .wf_footer_middle {
    position: relative;

    z-index: 2;

    padding: 64px 0 34px;

    background: transparent !important;
}

#wf_footer .wf_footer_middle .wf-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;

    gap: 34px;

    margin: 0;
}


/* =========================================================
   CUATRO COLUMNAS
========================================================= */

#wf_footer .wf_footer_middle .wf-row > [class*="wf-col-"] {
    flex: 1 1 calc(25% - 26px);

    width: calc(25% - 26px);
    max-width: calc(25% - 26px);

    min-width: 0;

    margin: 0;
    padding: 0;

    box-sizing: border-box;
}


/* =========================================================
   WIDGETS
========================================================= */

#wf_footer .widget {
    margin: 0;
    padding: 0;

    background: transparent;

    border: 0;

    box-shadow: none;
}

#wf_footer .widget + .widget {
    margin-top: 18px;
}


/* =========================================================
   TÍTULOS
========================================================= */

#wf_footer .widget-title {
    position: relative;

    margin: 0 0 24px;

    padding: 0 0 13px;

    color: #ffffff;

    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;

    letter-spacing: -0.01em;

    text-transform: none;
}

#wf_footer .widget-title::after {
    position: absolute;

    bottom: 0;
    left: 0;

    width: 42px;
    height: 3px;

    border-radius: 999px;

    background: #ffffff;

    content: "";
}


/* Evita duplicar la línea si el tema usa ::before */

#wf_footer .widget-title::before {
    display: none !important;

    content: none !important;
}


/* =========================================================
   LOGO
========================================================= */

#wf_footer .mm-footer-logo-link {
    display: inline-block;

    margin: 0;
    padding: 0;

    line-height: 0;
}

#wf_footer .mm-footer-logo {
    display: block;

    width: 100%;
    max-width: 270px;

    height: auto;

    margin: 0;

    object-fit: contain;

    /* LOGO BLANCO */
    filter: brightness(0) invert(1);
}


/* Compatibilidad con el widget anterior */

#wf_footer #block-8 figure {
    margin: 0;
    padding: 0;
}

#wf_footer #block-8 img {
    display: block;

    width: 100%;
    max-width: 270px;

    height: auto;

    margin: 0;

    object-fit: contain;

    /* LOGO BLANCO */
    filter: brightness(0) invert(1);
}


/* =========================================================
   TEXTO CORPORATIVO
========================================================= */

#wf_footer .mm-footer-empresa-texto,
#wf_footer #text-1 p {
    max-width: 310px;

    margin: 22px 0 0;

    color: #c8d6e2;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
}


/* El enlace vacío del logo no ocupa espacio */

#wf_footer #text-1 .custom-logo-link:empty {
    display: none;
}


/* =========================================================
   LISTAS
========================================================= */

#wf_footer ul,
#wf_footer ol {
    margin: 0;
    padding: 0;

    list-style: none;
}


/* =========================================================
   MENÚS Y ENLACES
========================================================= */

#wf_footer .menu li {
    position: relative;

    margin: 0 0 11px;

    padding: 0 0 0 16px;
}

#wf_footer .menu li:last-child {
    margin-bottom: 0;
}


/* Punto de los enlaces */

#wf_footer .menu li::before {
    position: absolute;

    top: 0.78em;
    left: 0;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #ffffff;

    content: "";

    transform: translateY(-50%);
}


#wf_footer a {
    color: #dce7f0;

    text-decoration: none;

    transition:
        color 160ms ease,
        transform 160ms ease,
        opacity 160ms ease;
}


#wf_footer .menu a {
    display: inline-block;

    color: #cbd9e4;

    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
}


#wf_footer .menu a:hover,
#wf_footer .menu a:focus {
    color: #ffffff;

    text-decoration: none;

    transform: translateX(3px);

    outline: none;
}


/* =========================================================
   INFORMACIÓN OFICIAL Y HORARIO
========================================================= */

#wf_footer .inf_list {
    display: flex;
    flex-direction: column;

    gap: 16px;

    margin: 0;
    padding: 0;

    list-style: none;
}


#wf_footer .inf_list li {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    margin: 0;
    padding: 0;

    color: #cbd9e4;

    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   ICONOS DEL FOOTER
========================================================= */

#wf_footer .inf_list li i {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    margin: 1px 0 0;

    border: 1px solid rgba(255, 255, 255, 0.18);

    border-radius: 8px;

    background: rgba(255, 255, 255, 0.08);

    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;

    font-size: 13px;
}


/* Font Awesome */

#wf_footer .inf_list li i::before,
#wf_footer .inf_list li i::after {
    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;
}


/* Iconos generales del footer */

#wf_footer i,
#wf_footer .fa,
#wf_footer .fas,
#wf_footer .far,
#wf_footer .fal,
#wf_footer .fab {
    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;
}


/* =========================================================
   TEXTO INFORMACIÓN
========================================================= */

#wf_footer .inf_list li a,
#wf_footer .inf_list li span {
    color: #cbd9e4;

    font-size: 14px;
    line-height: 1.65;
}


#wf_footer .inf_list li a:hover,
#wf_footer .inf_list li a:focus {
    color: #ffffff;

    transform: none;
}


/* Texto primary dentro del footer */

#wf_footer .text-primary {
    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;
}


/* =========================================================
   BOTÓN CONTACTO
========================================================= */

#wf_footer .wf-btn,
#wf_footer .wf-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 44px;

    margin: 22px 0 0;

    padding: 11px 18px;

    border: 1px solid rgba(255, 255, 255, 0.18);

    border-radius: 9px;

    background: #327fc4;

    color: #ffffff;

    box-shadow:
        0 8px 20px
        rgba(0, 0, 0, 0.16);

    font-size: 14px;
    font-weight: 750;
    line-height: 1;

    text-decoration: none;

    transition:
        background-color 160ms ease,
        transform 160ms ease,
        box-shadow 160ms ease;
}


/* Icono del botón */

#wf_footer .wf-btn i,
#wf_footer .wf-btn-primary i,
#wf_footer .wf-btn i::before,
#wf_footer .wf-btn-primary i::before {
    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;
}


#wf_footer .wf-btn:hover,
#wf_footer .wf-btn:focus,
#wf_footer .wf-btn-primary:hover,
#wf_footer .wf-btn-primary:focus {
    border-color: rgba(255, 255, 255, 0.28);

    background: #4091d6;

    color: #ffffff;

    box-shadow:
        0 12px 26px
        rgba(0, 0, 0, 0.22);

    text-decoration: none;

    transform: translateY(-2px);

    outline: none;
}


#wf_footer .wf-btn::before,
#wf_footer .wf-btn::after {
    display: none;

    content: none;
}


/* =========================================================
   COPYRIGHT
   UNIDO VISUALMENTE AL RESTO DEL FOOTER
========================================================= */

#wf_footer .wf_footer_copyright {
    position: relative;

    z-index: 2;

    margin: 0;

    padding: 18px 0 22px;

    /*
     * MUY IMPORTANTE:
     *
     * El copyright NO tiene otro fondo.
     * Utiliza directamente el degradado de #wf_footer.
     */
    background: transparent !important;
    background-color: transparent !important;

    border-top: 1px solid rgba(255, 255, 255, 0.10);
}


/* Contenedor copyright */

#wf_footer .wf_footer_copyright .wf-container {
    position: relative;

    z-index: 2;
}


/* Fila copyright */

#wf_footer .wf_footer_copyright .wf-row {
    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
}


/* Columnas del copyright */

#wf_footer .wf_footer_copyright .wf-row > [class*="wf-col-"] {
    flex: 0 0 100%;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    text-align: center;
}


/* Texto copyright */

#wf_footer .wf_footer_copyright-text {
    margin: 0;

    color: #aebfcd;

    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;

    text-align: center;
}


/* Ocultar "Add a menu" */

#wf_footer .wf_footer_copyright .widget_nav_menu {
    display: none !important;
}


/* =========================================================
   LIMPIEZA DE ESTILOS HEREDADOS
========================================================= */

#wf_footer p:last-child,
#wf_footer li:last-child {
    margin-bottom: 0;
}


#wf_footer .wow {
    visibility: visible !important;
}


#wf_footer img {
    box-shadow: none;
}


#wf_footer a::before,
#wf_footer a::after {
    pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    #wf_footer .wf_footer_middle {
        padding: 52px 0 30px;
    }


    #wf_footer .wf_footer_middle .wf-row {
        gap: 38px 28px;
    }


    #wf_footer .wf_footer_middle .wf-row > [class*="wf-col-"] {
        flex: 0 0 calc(50% - 14px);

        width: calc(50% - 14px);
        max-width: calc(50% - 14px);
    }


    #wf_footer .mm-footer-logo,
    #wf_footer #block-8 img {
        max-width: 250px;
    }
}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 640px) {

    #wf_footer .wf-container {
        padding-right: 18px;
        padding-left: 18px;
    }


    #wf_footer .wf_footer_middle {
        padding: 42px 0 26px;
    }


    #wf_footer .wf_footer_middle .wf-row {
        gap: 34px;
    }


    #wf_footer .wf_footer_middle .wf-row > [class*="wf-col-"] {
        flex: 0 0 100%;

        width: 100%;
        max-width: 100%;
    }


    #wf_footer .widget-title {
        margin-bottom: 20px;

        font-size: 16px;
    }


    #wf_footer .mm-footer-logo,
    #wf_footer #block-8 img {
        max-width: 240px;
    }


    #wf_footer .mm-footer-empresa-texto,
    #wf_footer #text-1 p {
        max-width: 100%;
    }


    #wf_footer .wf-btn,
    #wf_footer .wf-btn-primary {
        width: 100%;
    }


    #wf_footer .wf_footer_copyright {
        padding: 16px 0 18px;
    }


    #wf_footer .wf_footer_copyright-text {
        font-size: 12.5px;
    }
}



/** ==============================================
==================================================
==================================================

/* ==========================================================
   ARCHIVO DE SUBCATEGORÍAS WOOCOMMERCE
   Diseño limpio y separado
   ========================================================== */

body.woocommerce .woo-products {
        padding-top: 52px !important;
        padding-bottom: 64px !important;

        overflow: visible !important;

        background: transparent !important;
}

/* ==========================================================
   TÍTULO DE LA PÁGINA
   ========================================================== */

body.woocommerce .woo-products .page-title {
        margin: 0 0 44px !important;
        padding: 0 !important;

        color: var(--mata-title, #172c44) !important;

        font-size: 32px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        letter-spacing: -0.025em;
}

/* ==========================================================
   REJILLA
   ========================================================== */

body.woocommerce .woo-products ul.products {
        display: grid !important;

        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 48px 34px !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
}

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

/* ==========================================================
   CATEGORÍA
   ========================================================== */

body.woocommerce
.woo-products
ul.products
li.product-category {
        --category-accent: var(--mata-blue, #315f8c);
        --category-soft: var(--mata-blue-soft, #dce8f3);

        float: none !important;
        clear: none !important;

        display: block !important;

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

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        text-align: center !important;

        transform: translateY(0);

        transition: transform 0.22s ease !important;
}

/* Colores alternos */

body.woocommerce
.woo-products
ul.products
li.product-category:nth-child(4n + 1) {
        --category-accent: var(--mata-blue, #315f8c);
        --category-soft: var(--mata-blue-soft, #dce8f3);
}

body.woocommerce
.woo-products
ul.products
li.product-category:nth-child(4n + 2) {
        --category-accent: var(--mata-green, #4e745e);
        --category-soft: var(--mata-green-soft, #deebe3);
}

body.woocommerce
.woo-products
ul.products
li.product-category:nth-child(4n + 3) {
        --category-accent: #9a734b;
        --category-soft: #eee4d8;
}

body.woocommerce
.woo-products
ul.products
li.product-category:nth-child(4n + 4) {
        --category-accent: var(--mata-slate, #5e6975);
        --category-soft: var(--mata-slate-soft, #e2e6ea);
}

body.woocommerce
.woo-products
ul.products
li.product-category:hover {
        transform: translateY(-5px);
}

/* ==========================================================
   ENLACE DE LA CATEGORÍA
   ========================================================== */

body.woocommerce
.woo-products
ul.products
li.product-category > a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        color: inherit !important;
        text-decoration: none !important;

        background: transparent !important;

        border: 0 !important;

        box-shadow: none !important;
}

/* ==========================================================
   IMAGEN
   ========================================================== */

body.woocommerce
.woo-products
ul.products
li.product-category > a > img {
        display: block !important;

        width: 100% !important;
        max-width: 225px !important;

        height: auto !important;
        aspect-ratio: 1 / 1;

        margin: 0 auto 22px !important;
        padding: 10px !important;

        object-fit: contain !important;
        object-position: center !important;

        background: transparent !important;

        border: 1px solid var(
                --category-soft,
                #dce8f3
        ) !important;

        border-radius: 13px !important;

        box-shadow: none !important;

        transform: scale(1);

        transition:
                transform 0.22s ease,
                border-color 0.22s ease,
                box-shadow 0.22s ease !important;
}

body.woocommerce
.woo-products
ul.products
li.product-category:hover > a > img {
        transform: scale(1.035) !important;

        border-color: var(
                --category-accent,
                #315f8c
        ) !important;

        box-shadow:
                0 10px 26px rgba(
                        23,
                        44,
                        68,
                        0.075
                ) !important;
}

/* ==========================================================
   TÍTULO DE LA CATEGORÍA
   ========================================================== */

body.woocommerce
.woo-products
ul.products
li.product-category
.woocommerce-loop-category__title {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 8px !important;

        color: var(
                --mata-title,
                #172c44
        ) !important;

        background: transparent !important;

        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;

        text-align: center !important;
}

/* ==========================================================
   CONTADOR
   ========================================================== */

body.woocommerce
.woo-products
ul.products
li.product-category
.woocommerce-loop-category__title
mark.count {
        display: block !important;

        width: 100% !important;

        margin: 8px 0 0 !important;
        padding: 0 !important;

        color: var(
                --category-accent,
                #315f8c
        ) !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        font-size: 13px !important;
        font-style: normal !important;
        font-weight: 650 !important;
        line-height: 1.35 !important;

        text-align: center !important;
        text-decoration: none !important;

        opacity: 0.82 !important;
}

/*
 * Importante:
 * no añadir texto desde CSS.
 * El texto "producto/productos" ya viene de PHP.
 */
body.woocommerce
.woo-products
mark.count::before,
body.woocommerce
.woo-products
mark.count::after {
        content: none !important;
        display: none !important;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991px) {

        body.woocommerce .woo-products {
                padding-top: 44px !important;
                padding-bottom: 54px !important;
        }

        body.woocommerce .woo-products .page-title {
                margin-bottom: 36px !important;

                font-size: 29px !important;
        }

        body.woocommerce .woo-products ul.products {
                grid-template-columns:
                        repeat(
                                3,
                                minmax(0, 1fr)
                        ) !important;

                gap: 40px 26px !important;
        }

        body.woocommerce
        .woo-products
        ul.products
        li.product-category > a > img {
                max-width: 210px !important;

                margin-bottom: 20px !important;
        }

        body.woocommerce
        .woo-products
        ul.products
        li.product-category
        .woocommerce-loop-category__title {
                font-size: 16px !important;
        }
}

/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 575px) {

        body.woocommerce .woo-products {
                padding-top: 34px !important;
                padding-bottom: 44px !important;
        }

        body.woocommerce .woo-products .page-title {
                margin-bottom: 30px !important;

                font-size: 25px !important;
        }

        body.woocommerce .woo-products ul.products {
                grid-template-columns:
                        repeat(
                                2,
                                minmax(0, 1fr)
                        ) !important;

                gap: 30px 16px !important;
        }

        body.woocommerce
        .woo-products
        ul.products
        li.product-category > a > img {
                max-width: 100% !important;

                margin-bottom: 15px !important;
                padding: 7px !important;

                border-radius: 10px !important;
        }

        body.woocommerce
        .woo-products
        ul.products
        li.product-category
        .woocommerce-loop-category__title {
                padding: 0 3px !important;

                font-size: 14px !important;
                line-height: 1.35 !important;
        }

        body.woocommerce
        .woo-products
        ul.products
        li.product-category
        .woocommerce-loop-category__title
        mark.count {
                margin-top: 6px !important;

                font-size: 11.5px !important;
        }
}

/* ==========================================================
   MÓVILES MUY ESTRECHOS
   ========================================================== */

@media (max-width: 360px) {

        body.woocommerce
        .woo-products
        ul.products {
                grid-template-columns: 1fr !important;
                gap: 34px !important;
        }

        body.woocommerce
        .woo-products
        ul.products
        li.product-category {
                max-width: 250px !important;
                margin: 0 auto !important;
        }
}

/* ==========================================================
   ACCESIBILIDAD
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

        body.woocommerce
        .woo-products
        ul.products
        li.product-category,

        body.woocommerce
        .woo-products
        ul.products
        li.product-category > a > img {
                transition: none !important;
        }
}

/* ==========================================================
   BADGE OFERTA - PRODUCTOS PORTADA
   ========================================================== */

/*
 * El product-list será la referencia para posicionar
 * el badge encima de la imagen.
 */
body.home #wf_recent_product .product-list {
        position: relative;
}


/* Badge OFERTA */
body.home #wf_recent_product
.product-list
.mata-b2b-offer-badge {
        position: absolute !important;
        z-index: 10;

        top: 20px;
        left: 10px;

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

        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 22px;

        margin: 0 !important;
        padding: 5px 8px !important;

        background: #d92d20 !important;
        background-image: none !important;

        border: 0 !important;
        border-radius: 5px !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;

        font-family: inherit !important;
        font-size: 9px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: 0.06em;

        text-align: center !important;
        text-transform: uppercase;

        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14) !important;

        pointer-events: none;
}
