/*
 Theme Name: Maestri Milano Child
 Theme URI: http://localhost/maestri
 Description: Tema hijo basado en Hello Elementor para Maestri Milano
 Author: Juan Jaramillo
 Template: hello-elementor
 Version: 1.0
*/

/* ========= Ficha técnica premium ========= */

.jj-ficha-tecnica-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    margin-top: 25px;
}

/* =========================================================
   Checkout payments final polish override (must be last)
   ========================================================= */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked:after {
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
    margin: 0 0 12px 0 !important;
    border: 1px solid rgba(13, 42, 79, 0.14) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(20, 40, 80, 0.05) !important;
    overflow: hidden !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:hover {
    border-color: rgba(13, 42, 79, 0.25) !important;
    box-shadow: 0 10px 24px rgba(20, 40, 80, 0.08) !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 14px 16px 8px 44px !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
    left: 16px !important;
    top: 17px !important;
    transform: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label {
    color: #0d2a4f !important;
    font-size: clamp(15px, 1.45vw, 18px) !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
    margin: 0 !important;
    padding: 0 16px 14px 44px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #c9a050 !important;
    background: linear-gradient(180deg, #fffdf7 0%, #ffffff 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(201, 160, 80, 0.28),
        0 12px 26px rgba(20, 40, 80, 0.08) !important;
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
        padding: 13px 14px 8px 40px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
        left: 14px !important;
        top: 16px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
        padding: 0 14px 12px 40px !important;
    }
}

/* =========================================================
   Single product hero image zoom override (must be last)
   ========================================================= */
body.single-product .maestri-single-gallery-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .maestri-single-product-image {
    width: auto !important;
    max-width: 86% !important;
    max-height: 92% !important;
    height: auto !important;
    object-fit: contain !important;
    transform: scale(1.08) !important;
    transform-origin: center center !important;
}

body.single-product .maestri-single-product-image.maestri-single-product-image--lowres {
    max-width: 64% !important;
    max-height: 78% !important;
    transform: none !important;
}

body.single-product .maestri-single-product-image--placeholder {
    width: min(420px, 86%) !important;
}

@media (max-width: 991px) {
    body.single-product .maestri-single-product-image {
        max-width: 80% !important;
        max-height: 88% !important;
        transform: scale(1.05) !important;
    }

    body.single-product .maestri-single-product-image.maestri-single-product-image--lowres {
        max-width: 60% !important;
        max-height: 74% !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    body.single-product .maestri-single-product-image {
        max-width: 76% !important;
        max-height: 84% !important;
        transform: scale(1.02) !important;
    }

    body.single-product .maestri-single-product-image.maestri-single-product-image--lowres {
        max-width: 58% !important;
        max-height: 70% !important;
        transform: none !important;
    }
}

/* Low-res product images: make them look larger in card view as requested */
body.single-product .maestri-single-product-image.maestri-single-product-image--lowres {
    max-width: 82% !important;
    max-height: 90% !important;
    transform: scale(1.06) !important;
}

@media (max-width: 991px) {
    body.single-product .maestri-single-product-image.maestri-single-product-image--lowres {
        max-width: 76% !important;
        max-height: 84% !important;
        transform: scale(1.04) !important;
    }
}

@media (max-width: 767px) {
    body.single-product .maestri-single-product-image.maestri-single-product-image--lowres {
        max-width: 70% !important;
        max-height: 78% !important;
        transform: scale(1.02) !important;
    }
}

/* =========================================================
   Checkout payments final visual polish (single source of truth)
   ========================================================= */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked:after {
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
    margin: 0 0 12px 0 !important;
    border: 1px solid rgba(13, 42, 79, 0.14) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(20, 40, 80, 0.05) !important;
    overflow: hidden !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:hover {
    border-color: rgba(13, 42, 79, 0.25) !important;
    box-shadow: 0 10px 24px rgba(20, 40, 80, 0.08) !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 14px 16px 8px 44px !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
    left: 16px !important;
    top: 17px !important;
    transform: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label {
    color: #0d2a4f !important;
    font-size: clamp(15px, 1.45vw, 18px) !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
    margin: 0 !important;
    padding: 0 16px 14px 44px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #c9a050 !important;
    background: linear-gradient(180deg, #fffdf7 0%, #ffffff 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(201, 160, 80, 0.28),
        0 12px 26px rgba(20, 40, 80, 0.08) !important;
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
        padding: 13px 14px 8px 40px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
        left: 14px !important;
        top: 16px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
        padding: 0 14px 12px 40px !important;
    }
}

/* ============================
   CART REDESIGN 2026
   ============================ */

body.woocommerce-cart .maestri-cart-page {
    max-width: 1280px;
    margin: 0 auto;
    padding: 18px 28px 48px;
}

body.woocommerce-cart .maestri-cart-page__header {
    margin: 0 0 28px;
}

body.woocommerce-cart .maestri-cart-page__title {
    margin: 0;
    color: #111111;
    font-size: 2.35rem;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.03em;
}

body.woocommerce-cart .maestri-cart-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 540px);
    gap: 48px;
    align-items: start;
}

body.woocommerce-cart .maestri-cart-sidebar {
    position: sticky;
    top: 24px;
}

body.woocommerce-cart .maestri-cart-table,
body.woocommerce-cart .maestri-cart-table tbody {
    display: block;
    width: 100%;
}

body.woocommerce-cart .maestri-cart-table {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .maestri-cart-table thead,
body.woocommerce-cart .maestri-cart-table .actions {
    display: none !important;
}

body.woocommerce-cart .maestri-cart-table tr.cart_item {
    display: grid;
    grid-template-columns: 84px minmax(240px, 1fr) 128px 148px 28px;
    gap: 24px;
    align-items: center;
    padding: 28px 0;
    border-bottom: 1px solid rgba(17, 38, 69, 0.12);
}

body.woocommerce-cart .maestri-cart-table tr.cart_item:first-child {
    padding-top: 8px;
}

body.woocommerce-cart .maestri-cart-table tbody td {
    padding: 0 !important;
    border: none !important;
    vertical-align: middle;
}

body.woocommerce-cart .maestri-cart-table .product-thumbnail {
    order: 1;
}

body.woocommerce-cart .maestri-cart-table .product-name {
    order: 2;
    min-width: 0;
}

body.woocommerce-cart .maestri-cart-table .product-quantity {
    order: 3;
}

body.woocommerce-cart .maestri-cart-table .product-price {
    order: 4;
    text-align: right;
}

body.woocommerce-cart .maestri-cart-table .product-subtotal {
    display: none !important;
}

body.woocommerce-cart .maestri-cart-table .product-remove {
    order: 5;
    text-align: right;
}

body.woocommerce-cart .maestri-cart-table .product-thumbnail img {
    width: 64px;
    max-width: 64px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

body.woocommerce-cart .maestri-cart-item-name {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

body.woocommerce-cart .maestri-cart-item-name a {
    display: inline-block;
    color: #111111;
    font-size: 1.05rem;
    line-height: 1.25;
    font-weight: 800;
    text-decoration: none;
}

body.woocommerce-cart .maestri-cart-item-name a:hover {
    color: #111111;
}

body.woocommerce-cart .maestri-cart-item-name .variation,
body.woocommerce-cart .maestri-cart-item-name .wc-item-meta,
body.woocommerce-cart .maestri-cart-item-name p,
body.woocommerce-cart .maestri-cart-item-name small,
body.woocommerce-cart .maestri-cart-item-name .backorder_notification {
    margin: 0;
    color: #6f6f6f;
    font-size: 0.84rem;
    line-height: 1.45;
}

body.woocommerce-cart .maestri-cart-item-name .variation dt,
body.woocommerce-cart .maestri-cart-item-name .variation dd,
body.woocommerce-cart .maestri-cart-item-name .wc-item-meta li {
    margin: 0;
}

body.woocommerce-cart .maestri-cart-item-name .onsale,
body.woocommerce-cart .maestri-cart-item-name .save,
body.woocommerce-cart .maestri-cart-item-name .save-amount,
body.woocommerce-cart .maestri-cart-item-name .promo-badge,
body.woocommerce-cart .maestri-cart-item-name .mini-promo-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 0;
    background: #eef8ea;
    color: #4c6d4d !important;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    box-shadow: none;
}

body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal {
    white-space: nowrap;
}

body.woocommerce-cart .product-price .amount,
body.woocommerce-cart .product-subtotal .amount {
    color: #111111;
    font-size: 1.1rem;
    line-height: 1.1;
    font-weight: 500;
}

body.woocommerce-cart .product-price del,
body.woocommerce-cart .product-subtotal del {
    display: block;
    margin-top: 4px;
    color: #b4b4b4;
    font-size: 0.95rem;
    line-height: 1.1;
}

body.woocommerce-cart .product-price del .amount,
body.woocommerce-cart .product-subtotal del .amount {
    color: inherit;
    font-size: inherit;
    font-weight: 400;
}

body.woocommerce-cart .product-price ins,
body.woocommerce-cart .product-subtotal ins {
    text-decoration: none;
}

body.woocommerce-cart .product-remove .remove {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    color: #111111 !important;
    border-radius: 0;
    font-size: 28px;
    line-height: 1;
    font-weight: 300;
}

body.woocommerce-cart .product-remove .remove:hover {
    background: transparent;
    color: #7d7d7d !important;
}

body.woocommerce-cart .maestri-cart-qty-control {
    display: inline-grid;
    grid-template-columns: 26px 42px 26px;
    gap: 10px;
    min-height: auto;
    padding: 0;
    background: transparent;
    border-radius: 0;
}

body.woocommerce-cart .maestri-cart-qty-control .quantity {
    width: 100%;
}

body.woocommerce-cart .maestri-cart-qty-control .qty,
body.woocommerce-cart .maestri-cart-qty-control input.qty {
    width: 42px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #111111 !important;
    font-size: 1rem;
    font-weight: 500 !important;
    text-align: center !important;
}

body.woocommerce-cart .maestri-cart-qty-btn {
    width: 26px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #111111;
    font-size: 26px;
    line-height: 1;
    font-weight: 300;
}

body.woocommerce-cart .maestri-cart-qty-btn:hover {
    background: transparent;
    color: #7d7d7d;
}

body.woocommerce-cart .maestri-cart-actions-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 28px;
    flex-wrap: wrap;
}

body.woocommerce-cart .maestri-cart-actions-row .coupon {
    flex: 1 1 320px;
}

body.woocommerce-cart .maestri-cart-actions-row .coupon .input-text {
    min-width: 220px;
}

body.woocommerce-cart .maestri-cart-actions-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

body.woocommerce-cart .maestri-cart-actions-buttons .button,
body.woocommerce-cart .maestri-cart-actions-row .coupon .button {
    height: 48px;
    min-height: 48px;
    border-radius: 999px !important;
    padding: 0 24px !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .maestri-cart-continue-shopping {
    background: #eef3f8 !important;
    color: #17324f !important;
    box-shadow: none !important;
}

body.woocommerce-cart .maestri-cart-totals {
    padding: 36px 38px 30px;
    background: #ffffff !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .maestri-cart-totals h2 {
    margin: 0 0 28px;
    color: #111111 !important;
    font-size: 1.9rem;
    line-height: 1.15;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
}

body.woocommerce-cart .maestri-cart-totals table.shop_table {
    border: none !important;
}

body.woocommerce-cart .maestri-cart-totals table.shop_table tr th,
body.woocommerce-cart .maestri-cart-totals table.shop_table tr td {
    padding: 10px 0;
    border: none !important;
}

body.woocommerce-cart .maestri-cart-totals table.shop_table tr th {
    color: #2d2d2d;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 500;
    text-align: left;
}

body.woocommerce-cart .maestri-cart-totals table.shop_table tr td {
    color: #111111;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 500;
    text-align: right;
}

body.woocommerce-cart .maestri-cart-totals .cart-discount th,
body.woocommerce-cart .maestri-cart-totals .cart-discount td,
body.woocommerce-cart .maestri-cart-totals .order-total th,
body.woocommerce-cart .maestri-cart-totals .order-total td {
    font-weight: 800 !important;
}

body.woocommerce-cart .maestri-cart-totals .order-total th,
body.woocommerce-cart .maestri-cart-totals .order-total td {
    padding-top: 18px;
    font-size: 1.2rem !important;
}

body.woocommerce-cart .maestri-cart-totals .wc-proceed-to-checkout {
    margin-top: 30px;
    padding: 0;
}

body.woocommerce-cart .maestri-cart-totals .wc-proceed-to-checkout .checkout-button {
    display: inline-flex !important;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 28px !important;
    border-radius: 999px !important;
    background: #f99d38 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 1.08rem;
    font-weight: 800 !important;
}

body.woocommerce-cart .maestri-cart-totals .wc-proceed-to-checkout .checkout-button::after {
    content: "\2192";
    font-size: 1.2em;
    line-height: 1;
}

body.woocommerce-cart .maestri-cart-totals .wc-proceed-to-checkout .checkout-button:hover {
    background: #f08e22 !important;
}

@media (max-width: 1180px) {
    body.woocommerce-cart .maestri-cart-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    body.woocommerce-cart .maestri-cart-sidebar {
        position: static;
    }

    body.woocommerce-cart .maestri-cart-totals {
        max-width: 620px;
    }
}

@media (max-width: 900px) {
    body.woocommerce-cart .maestri-cart-page {
        padding-left: 18px;
        padding-right: 18px;
    }

    body.woocommerce-cart .maestri-cart-table tr.cart_item {
        grid-template-columns: 72px minmax(0, 1fr) 120px 120px 24px;
        gap: 18px;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .maestri-cart-page {
        padding: 12px 14px 34px;
    }

    body.woocommerce-cart .maestri-cart-page__title {
        font-size: 2rem;
    }

    body.woocommerce-cart .maestri-cart-table,
    body.woocommerce-cart .maestri-cart-table tbody,
    body.woocommerce-cart .maestri-cart-table tr,
    body.woocommerce-cart .maestri-cart-table td {
        display: block;
        width: 100%;
    }

    body.woocommerce-cart .maestri-cart-table tr.cart_item {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr) 24px;
        grid-template-areas:
            "img name remove"
            "img price price"
            "img qty qty";
        gap: 10px 14px;
        margin-bottom: 20px;
        padding: 0 0 20px;
        border-bottom: 1px solid rgba(17, 38, 69, 0.12);
    }

    body.woocommerce-cart .maestri-cart-table .product-thumbnail {
        grid-area: img;
        align-self: start;
    }

    body.woocommerce-cart .maestri-cart-table .product-name {
        grid-area: name;
    }

    body.woocommerce-cart .maestri-cart-table .product-remove {
        grid-area: remove;
        justify-self: end;
        text-align: right;
    }

    body.woocommerce-cart .maestri-cart-table .product-price {
        grid-area: price;
        text-align: left;
    }

    body.woocommerce-cart .maestri-cart-table .product-quantity {
        grid-area: qty;
    }

    body.woocommerce-cart .maestri-cart-table .product-thumbnail img {
        width: 56px;
        max-width: 56px;
    }

    body.woocommerce-cart .maestri-cart-item-name a {
        font-size: 1rem;
    }

    body.woocommerce-cart .maestri-cart-actions-row .coupon,
    body.woocommerce-cart .maestri-cart-actions-buttons,
    body.woocommerce-cart .maestri-cart-actions-buttons .button,
    body.woocommerce-cart .maestri-cart-actions-row .coupon .input-text,
    body.woocommerce-cart .maestri-cart-actions-row .coupon .button {
        width: 100%;
    }

    body.woocommerce-cart .maestri-cart-totals {
        padding: 24px 22px 22px;
        border-radius: 16px !important;
    }

    body.woocommerce-cart .maestri-cart-totals h2 {
        font-size: 1.55rem;
        margin-bottom: 20px;
    }
}

/* ============================
   CART BLOCK REDESIGN 2026
   ============================ */

body.woocommerce-cart .wc-block-cart {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 10px 28px 48px !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout {
    align-items: start !important;
    column-gap: 48px !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart-items-block,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    float: none !important;
    width: auto !important;
}

body.woocommerce-cart .wc-block-cart-items {
    border-top: none !important;
}

body.woocommerce-cart .wc-block-cart-items thead th {
    color: #2b2b2b !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid rgba(17, 38, 69, 0.12) !important;
    padding: 10px 0 12px !important;
}

body.woocommerce-cart .wc-block-cart-items tbody tr {
    border-bottom: 1px solid rgba(17, 38, 69, 0.12) !important;
}

body.woocommerce-cart .wc-block-cart-items td {
    padding: 26px 0 !important;
    border: none !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .wc-block-cart-item__image {
    width: 96px !important;
    padding-right: 18px !important;
}

body.woocommerce-cart .wc-block-components-product-image,
body.woocommerce-cart .wc-block-components-product-image img,
body.woocommerce-cart .wc-block-components-product-image__image {
    width: 64px !important;
    max-width: 64px !important;
    height: auto !important;
    object-fit: contain !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
    padding-left: 0 !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name a {
    color: #111111 !important;
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata p,
body.woocommerce-cart .wc-block-components-product-metadata ul,
body.woocommerce-cart .wc-block-components-product-metadata li,
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-details p,
body.woocommerce-cart .wc-block-cart-item__description {
    color: #6f6f6f !important;
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
}

body.woocommerce-cart .wc-block-components-product-badge,
body.woocommerce-cart .wc-block-components-sale-badge,
body.woocommerce-cart .wc-block-components-validation-error,
body.woocommerce-cart .wc-block-cart-item__wrap .onsale,
body.woocommerce-cart .wc-block-cart-item__wrap .save,
body.woocommerce-cart .wc-block-cart-item__wrap .save-amount {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    padding: 4px 10px !important;
    background: #eef8ea !important;
    color: #4c6d4d !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__total {
    text-align: right !important;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-formatted-money-amount {
    color: #111111 !important;
    font-size: 1.08rem !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
}

body.woocommerce-cart .wc-block-components-product-price del,
body.woocommerce-cart .wc-block-components-product-price .old-price,
body.woocommerce-cart .wc-block-components-product-price .price-old {
    display: block !important;
    margin-top: 4px !important;
    color: #b4b4b4 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
    margin-top: 12px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    display: inline-grid !important;
    grid-template-columns: 26px 42px 26px !important;
    gap: 10px !important;
    min-height: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector::after {
    display: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
body.woocommerce-cart .wc-block-components-quantity-selector input {
    width: 42px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #111111 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-align: center !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
    width: 26px !important;
    height: 34px !important;
    min-width: 26px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #111111 !important;
    border-radius: 0 !important;
    font-size: 26px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-product-remove-link {
    color: #111111 !important;
    font-size: 0 !important;
    text-decoration: none !important;
    position: relative !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link::before,
body.woocommerce-cart .wc-block-components-product-remove-link::before {
    content: "\00d7";
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
}

body.woocommerce-cart .wc-block-components-sidebar {
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper {
    background: #ffffff !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary {
    padding: 34px 36px 30px !important;
}

body.woocommerce-cart .wc-block-components-title,
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-totals-wrapper h2,
body.woocommerce-cart .wc-block-components-order-summary__title {
    color: #111111 !important;
    font-size: 1.85rem !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item {
    color: #111111 !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-item--total {
    font-weight: 800 !important;
}

body.woocommerce-cart .woo-points-row th,
body.woocommerce-cart .woo-points-row td,
body.woocommerce-cart .wc-block-components-totals-item.woo-points-row,
body.woocommerce-cart .wc-block-components-totals-item .woo-points-label,
body.woocommerce-cart .wc-block-components-totals-item .woo-points-value {
    color: #27ae60 !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-components-checkout-return-to-cart-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 0 28px !important;
    border: none !important;
    border-radius: 999px !important;
    background: #f99d38 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::after,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::after {
    content: "\2192";
    margin-left: 12px;
    font-size: 1.2em;
    line-height: 1;
}

@media (max-width: 1180px) {
    body.woocommerce-cart .wc-block-cart {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 30px !important;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-bottom: 34px !important;
    }

    body.woocommerce-cart .wc-block-cart-items thead {
        display: none !important;
    }

    body.woocommerce-cart .wc-block-cart-items tbody tr {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) 24px !important;
        gap: 10px 14px !important;
        padding: 0 0 20px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image {
        width: 56px !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
    body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary {
        padding: 24px 22px 22px !important;
        border-radius: 16px !important;
    }

    body.woocommerce-cart .wc-block-components-title,
    body.woocommerce-cart .wc-block-components-panel__button,
    body.woocommerce-cart .wc-block-components-totals-wrapper h2,
    body.woocommerce-cart .wc-block-components-order-summary__title {
        font-size: 1.55rem !important;
    }
}

/* Cart Block reset + visual alignment */
body.woocommerce-cart .wc-block-cart-items table,
body.woocommerce-cart .wc-block-cart-items tbody,
body.woocommerce-cart .wc-block-cart-items thead,
body.woocommerce-cart .wc-block-cart-items tr {
    display: table !important;
    width: 100% !important;
}

body.woocommerce-cart .wc-block-cart-items thead {
    display: table-header-group !important;
}

body.woocommerce-cart .wc-block-cart-items tbody {
    display: table-row-group !important;
}

body.woocommerce-cart .wc-block-cart-items tr {
    display: table-row !important;
}

body.woocommerce-cart .wc-block-cart-items thead th {
    display: table-cell !important;
    padding: 0 0 14px !important;
}

body.woocommerce-cart .wc-block-cart-items td {
    display: table-cell !important;
    padding: 22px 0 !important;
    vertical-align: top !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image {
    width: 76px !important;
    padding-right: 18px !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total {
    width: 180px !important;
    text-align: right !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product {
    padding-right: 18px !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 356px) !important;
    column-gap: 24px !important;
    align-items: start !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-right: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart-items-block {
    min-width: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 356px !important;
    min-width: 356px !important;
    margin: 0 !important;
    padding-left: 0 !important;
    align-self: start !important;
    position: sticky !important;
    top: 24px !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-product-name a {
    font-size: 1rem !important;
    line-height: 1.25 !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata *,
body.woocommerce-cart .wc-block-cart-item__wrap p {
    font-size: 0.83rem !important;
    line-height: 1.45 !important;
}

body.woocommerce-cart .wc-block-components-sale-badge,
body.woocommerce-cart .wc-block-components-product-badge {
    border-radius: 4px !important;
    padding: 4px 8px !important;
    font-size: 0.7rem !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    grid-template-columns: 26px 42px 26px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary {
    border-radius: 0 !important;
}

@media (max-width: 1180px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr !important;
        row-gap: 28px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100% !important;
        min-width: 0 !important;
        position: static !important;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart-items table,
    body.woocommerce-cart .wc-block-cart-items tbody,
    body.woocommerce-cart .wc-block-cart-items tr,
    body.woocommerce-cart .wc-block-cart-items td {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-cart .wc-block-cart-items tr {
        padding: 0 0 20px !important;
        border-bottom: 1px solid rgba(17, 38, 69, 0.12) !important;
    }

    body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total,
    body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product {
        width: auto !important;
        padding-right: 0 !important;
    }
}

/* Cart Block cleanup: hierarchy and spacing */
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > * {
    margin-bottom: 8px !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > *:last-child {
    margin-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__wrap {
    max-width: 100% !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-items .wc-block-components-product-name a {
    margin: 0 !important;
    font-size: 1.04rem !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices {
    margin: 0 !important;
    line-height: 1.15 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price__regular,
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices del {
    display: inline-block !important;
    margin-right: 8px !important;
    color: #b4b4b4 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices ins,
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices .wc-block-formatted-money-amount {
    color: #111111 !important;
    font-size: 1.02rem !important;
    font-weight: 500 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-sale-badge {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin-top: 2px !important;
    padding: 4px 9px !important;
    background: #eef8ea !important;
    color: #4c6d4d !important;
    border-radius: 3px !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 0.72rem !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-sale-badge,
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-sale-badge {
    display: none !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 10px !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    order: 2 !important;
    margin: 0 !important;
    color: #8a8a8a !important;
    font-size: 0.74rem !important;
    text-decoration: none !important;
    opacity: 0.9 !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::before,
body.woocommerce-cart .wc-block-components-product-remove-link::before {
    display: none !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    order: 1 !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
    vertical-align: top !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 1.08rem !important;
    font-weight: 500 !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__regular,
body.woocommerce-cart .wc-block-cart-item__total del {
    display: block !important;
    margin-top: 4px !important;
    color: #b4b4b4 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
}

body.woocommerce-cart .wc-block-cart-item__description {
    display: none !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-metadata__description {
    display: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel__button {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel {
    padding: 20px 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper {
    padding: 20px 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item {
    padding: 10px 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar {
    background: #ffffff !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    padding: 26px 28px !important;
}

body.woocommerce-cart .wc-block-components-sidebar > * {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar > * + * {
    border-top: 1px solid rgba(17, 38, 69, 0.12) !important;
    margin-top: 18px !important;
    padding-top: 18px !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart-item__quantity {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__description {
        max-width: none !important;
    }
}

/* Cart Block desktop product row: clean layout like provided design */
@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items {
        table-layout: fixed !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-product {
        width: auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total {
        width: 220px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
        position: relative !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image {
        width: 82px !important;
        padding-right: 16px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img {
        width: 54px !important;
        max-width: 54px !important;
        margin: 0 auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        width: auto !important;
        padding-right: 42px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        display: grid !important;
        grid-template-columns: minmax(260px, 1fr) max-content !important;
        grid-template-areas:
            "name qty"
            "badge qty" !important;
        column-gap: 34px !important;
        row-gap: 10px !important;
        align-items: center !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name {
        grid-area: name !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-components-product-name a {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-sale-badge {
        grid-area: badge !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__description,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-metadata,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-details {
        display: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        grid-area: qty !important;
        align-self: center !important;
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        width: max-content !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
        margin: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        color: transparent !important;
        text-decoration: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::before {
        display: block !important;
        content: "\00d7" !important;
        color: #111111 !important;
        font-size: 24px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 220px !important;
        padding-right: 64px !important;
        text-align: right !important;
        vertical-align: middle !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        align-items: flex-end !important;
        padding-right: 22px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price__value,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
        font-size: 1.1rem !important;
        line-height: 1.1 !important;
        font-weight: 500 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total del,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price__regular {
        display: block !important;
        margin-top: 4px !important;
        color: #b4b4b4 !important;
        font-size: 0.95rem !important;
        font-weight: 400 !important;
    }
}

.jj-ficha-item {
    background: #fafafa;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    padding: 18px 20px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.05);
    transition: all .2s ease;
}

.jj-ficha-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

.jj-ficha-label {
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    color: #b38d2a; /* dorado Maestri Milano */
    letter-spacing: .4px;
    margin-bottom: 6px;
}

.jj-ficha-value {
    font-size: 15px;
    color: #222;
    font-weight: 500;
}

/* ============================
   TABS ELEGANTES PRODUCTO
   ============================ */

/* Contenedor general de tabs */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 40px;
}

/* Lista de tabs: horizontal, minimalista */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin: 0 0 20px;
    padding: 0 0 8px;
    border-bottom: 1px solid #e5e5e5;
    display: flex;
    gap: 40px;
    background: transparent;
}

/* Eliminamos estilos feos por defecto */
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent !important;
    box-shadow: none !important;
}

/* Enlace de cada tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 15px;
    font-weight: 500;
    text-transform: none;
    color: #777;
    padding: 0 0 6px;
    border: none;
    display: inline-block;
    position: relative;
}

/* Línea inferior suave en hover/activo */
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #cda434; /* dorado Maestri Milano */
    transition: width .2s ease;
}

/* Hover */
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #222;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover::after {
    width: 100%;
}

/* Tab activo */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #222;
    font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after {
    width: 100%;
}

/* Contenido de los tabs */
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    line-height: 1.7;
    color: #555;
}

/* BOTÓN AÑADIR AL CARRITO – ESTILO PREMIUM */

.single-product .single_add_to_cart_button {
    background: #002857 !important;
    border-radius: 6px !important;
    border: 2px solid #002857 !important;
    padding: 12px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    transition: all .2s ease;
}

.single-product .single_add_to_cart_button:hover {
    background: #002857 !important;
    border-color: #002857 !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

/* ============================
   SKU, CATEGORÍAS y ETIQUETAS
   EN LISTA ELEGANTE
   ============================ */

/* Contenedor general */
.product_meta {
    margin-top: 25px;
    padding-top: 10px;
    border-top: 1px solid #eee;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    color: #444;
}

/* Cada línea */
.product_meta > span {
    display: block;
    font-size: 14px;
    line-height: 1.4;
}

/* Etiqueta "SKU", "Categorías", "Tags", etc. */
.product_meta > span .woocommerce-product-attributes-item__label,
.product_meta > span strong {
    font-weight: 600;
    text-transform: uppercase;
    color: #b38d2a; /* Dorado Maestri Milano */
    margin-right: 6px;
    font-size: 12px;
}

/* Valores (SKU, categorías, tags) */
.product_meta > span a,
.product_meta > span {
    color: #222 !important;
    text-decoration: none;
}

/* Enlaces (categorías y tags) al pasar el mouse */
.product_meta > span a:hover {
    color: #cda434 !important;
    text-decoration: underline;
}

/* Etiqueta elegante para promos 2x1 / 3x2 en el loop */
.woocommerce ul.products li.product {
    position: relative;
}

.promo-badge-loop {
    position: absolute;
    right: 10px !important;
    bottom: 10px !important;
    top: auto !important;
    left: auto !important;
    padding: 6px 12px;
    background: linear-gradient(135deg, #0f0f0f 0%, #1c1c1c 45%, #d1a935 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    border-radius: 14px;
    box-shadow: 0 6px 14px rgba(0,0,0,0.18);
    z-index: 3;
    transform: none !important;
}

.promo-badge-loop::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.16);
    pointer-events: none;
}

.mm-paused-badge {
    position: absolute;
    left: 10px !important;
    bottom: 10px !important;
    top: auto !important;
    right: auto !important;
    padding: 5px 10px;
    background: linear-gradient(135deg, #8f1d1d 0%, #c53030 100%);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    box-shadow: 0 6px 14px rgba(143, 29, 29, 0.22);
    z-index: 4;
    transform: none !important;
    line-height: 1;
}

.mm-paused-badge::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    pointer-events: none;
}

/* Soporte para grids de bloques */
.wc-block-grid__product {
    position: relative;
}

/* Wrapper de imagen en tarjeta custom para asegurar posición del badge */
.mm-card-image-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
    padding: 10px 0;
    background: #F8F8F8;
    border-radius: 16px;
}

.mm-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.mm-card-image img {
    display: block;
    margin: 0 auto;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 280px;
    object-fit: contain;
}

/* Reset de margen para evitar el espacio bajo las portadas de producto */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .mm-card-thumb,
.woocommerce ul.products li.product .mm-card-image img,
.mm-search-catalog-page .mm-card-product .mm-card-image-wrapper img,
body.page-id-1969 .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.page-id-1969 ul.products li.product img.attachment-woocommerce_thumbnail,
body.page-id-1969 .woocommerce ul.products li.product .mm-card-thumb,
body.page-id-1969 ul.products li.product .mm-card-thumb,
body.search .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.search ul.products li.product img.attachment-woocommerce_thumbnail {
    margin: 0 !important;
}

/* Imagen estable de tarjetas custom (evita miniaturas diminutas por conflictos CSS) */
.mm-card-thumb {
    display: block;
    margin: 0 auto;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 280px;
    object-fit: contain;
}

/* Imagen ambientada: funde bordes con el fondo de la tarjeta */
.mm-card-image-wrapper--ambient {
    position: relative;
    overflow: hidden !important;
    isolation: isolate;
}

.mm-card-image-wrapper--ambient .mm-card-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 16px;
    overflow: hidden;
}

.mm-card-image-wrapper--ambient .mm-card-image img,
.mm-card-image-wrapper--ambient img.mm-card-thumb {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain !important;
    transform-origin: center;
    transform: none !important;
}

.mm-card-image-wrapper--ambient::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    pointer-events: none;
    background:
        linear-gradient(to bottom, rgba(248, 248, 248, 0.34) 0%, rgba(248, 248, 248, 0) 12%),
        linear-gradient(to top, rgba(248, 248, 248, 0.34) 0%, rgba(248, 248, 248, 0) 12%);
}

/* ============================
   CATEGORÍAS HOME (cat-card)
   ============================ */
.cat-card {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    padding: 18px 20px;
    min-height: 190px;
}

.cat-card .elementor-widget-image {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 120px;
    height: 120px;
}

.cat-card .elementor-widget-image img {
    width: 120px !important;
    height: 120px !important;
    object-fit: contain;
}

@media (max-width: 767px) {
    .cat-card .elementor-widget-image img {
        width: 140px !important;
        height: 140px !important;
    }
}

.cat-card .elementor-widget-heading .elementor-heading-title {
    font-size: 16px;
    line-height: 1.2;
    margin: 0 0 8px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cat-card .elementor-widget-button .elementor-button {
    padding: 8px 14px;
    border-radius: 999px;
    white-space: nowrap;
    font-size: 12px;
}

/* ============================
   Grid de productos por clase
   ============================ */
.mm-products-grid-4 ul.products,
.mm-products-grid-4 .elementor-grid,
.mm-products-grid-4 .woocommerce ul.products,
.im-products-grid-4 ul.products,
.im-products-grid-4 .elementor-grid,
.im-products-grid-4 .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    row-gap: 52px !important;
    column-gap: 16px !important;
    --grid-columns: 4 !important;
    grid-auto-flow: row !important;
}

.mm-products-grid-4 ul.products li.product,
.im-products-grid-4 ul.products li.product {
    width: auto !important;
    float: none !important;
}

/* Fuerza 4 columnas en Elementor widget de productos */
.elementor-widget-woocommerce-products.mm-products-grid-4 .woocommerce ul.products,
.elementor-widget-woocommerce-products.im-products-grid-4 .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    --grid-columns: 4 !important;
}

@media (max-width: 1024px) {
    .elementor-widget-woocommerce-products.mm-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.im-products-grid-4 .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        --grid-columns: 3 !important;
    }
}

@media (max-width: 1024px) {
    .mm-products-grid-4 .mm-card-btn,
    .im-products-grid-4 .mm-card-btn {
        gap: 8px !important;
        flex-wrap: wrap;
        justify-content: center;
    }

    .mm-products-grid-4 .mm-card-btn a.button,
    .im-products-grid-4 .mm-card-btn a.button {
        min-width: 0 !important;
        padding: 0 16px;
    }

    .mm-products-grid-4 .mm-card-btn a.button.mm-card-plus,
    .im-products-grid-4 .mm-card-btn a.button.mm-card-plus {
        transform: translate(0, -2px);
    }
}

@media (max-width: 1024px) and (min-width: 641px) {
    .mm-products-grid-4 ul.products,
    .mm-products-grid-4 .elementor-grid,
    .mm-products-grid-4 .woocommerce ul.products,
    .im-products-grid-4 ul.products,
    .im-products-grid-4 .elementor-grid,
    .im-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.mm-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.im-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.mm-products-grid-4 .products.elementor-grid,
    .elementor-widget-woocommerce-products.im-products-grid-4 .products.elementor-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        justify-content: center !important;
        justify-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mm-products-grid-4 .mm-card-btn,
    .im-products-grid-4 .mm-card-btn {
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .mm-products-grid-4 .mm-card-btn a.button,
    .im-products-grid-4 .mm-card-btn a.button {
        width: 100% !important;
        max-width: 170px !important;
        margin: 0 !important;
    }

    .mm-products-grid-4 .mm-card-btn a.button.mm-card-plus,
    .im-products-grid-4 .mm-card-btn a.button.mm-card-plus {
        transform: translate(0, 0) !important;
    }
}

@media (max-width: 1024px) and (min-width: 641px) {
    .mm-products-wrap .e-con-inner,
    .mm-products-wrap.elementor-element .e-con-inner,
    .mm-products-wrap.elementor-element {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mm-products-wrap {
        display: flex !important;
        justify-content: center !important;
    }

    .mm-products-wrap .elementor-widget-woocommerce-products,
    .mm-products-wrap .elementor-widget-container {
        width: 100% !important;
        max-width: 1000px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mm-products-wrap .woocommerce ul.products,
    .mm-products-wrap ul.products.elementor-grid {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 640px) {
    .mm-products-grid-4 ul.products,
    .mm-products-grid-4 .elementor-grid,
    .mm-products-grid-4 .woocommerce ul.products,
    .im-products-grid-4 ul.products,
    .im-products-grid-4 .elementor-grid,
    .im-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.mm-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.im-products-grid-4 .woocommerce ul.products,
    .elementor-widget-woocommerce-products.mm-products-grid-4 .products.elementor-grid,
    .elementor-widget-woocommerce-products.im-products-grid-4 .products.elementor-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        justify-content: center !important;
        justify-items: center !important;
    }
}

@media (max-width: 640px) {
    .mm-products-wrap .e-con-inner,
    .mm-products-wrap.elementor-element .e-con-inner,
    .mm-products-wrap.elementor-element {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mm-products-wrap {
        display: flex !important;
        justify-content: center !important;
    }

    .mm-products-wrap .elementor-widget-woocommerce-products,
    .mm-products-wrap .elementor-widget-container,
    .mm-products-wrap .woocommerce ul.products,
    .mm-products-wrap ul.products.elementor-grid {
        width: 100% !important;
        max-width: 420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mm-card-btn a.button.mm-card-plus {
        transform: translateY(-5px) !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        margin-left: auto;
        margin-right: auto;
    }

    body.woocommerce-checkout .wc-block-checkout,
    body.woocommerce-checkout .woocommerce {
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media (max-width: 1024px) {
    .cat-card {
        min-height: 190px;
    }
}

@media (max-width: 1024px) {
    .elementor-element-15c16da.elementor-hidden-tablet,
    .elementor-element-15c16da.elementor-hidden-mobile {
        display: block !important;
    }
}

@media (min-width: 1201px) and (max-width: 1280px) {
    #mm-filter-toggle,
    .mm-filter-toggle {
        display: none !important;
    }
    #mm-filter-panel {
        display: block !important;
    }
}

@media (max-width: 1200px) {
    #mm-filter-toggle,
    .mm-filter-toggle {
        display: inline-flex !important;
    }
    body:not(.mm-filter-open) #mm-filter-panel {
        display: none !important;
    }
    body.mm-filter-open #mm-filter-overlay {
        display: flex !important;
    }
}

@media (max-width: 900px) {
    .cat-card {
        align-items: center;
        text-align: center;
        padding: 14px 14px;
    }

    .cat-card .elementor-widget-button .elementor-button {
        max-width: 100%;
        padding: 7px 12px;
        font-size: 11px;
    }
}

@media (max-width: 767px) {
    .cat-card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: center !important;
        justify-content: stretch !important;
        text-align: center;
        min-height: 210px;
        gap: 10px !important;
        padding: 18px 16px !important;
    }

    .cat-card .elementor-column,
    .cat-card .elementor-container,
    .cat-card .elementor-widget-wrap,
    .cat-card .e-con,
    .cat-card .e-con-inner {
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
    }

    .cat-card .elementor-column:first-child,
    .cat-card .elementor-column:last-child {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .cat-card .elementor-widget,
    .cat-card .elementor-widget:not(:last-child),
    .cat-card .elementor-widget-heading,
    .cat-card .elementor-widget-button {
        margin: 0 !important;
        padding: 0 !important;
    }

    .cat-card .elementor-column:last-child,
    .cat-card .elementor-column:last-child .elementor-widget-wrap,
    .cat-card .e-con > .elementor-widget-wrap,
    .cat-card .e-con > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .cat-card .elementor-widget-image {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        justify-content: center !important;
        align-self: center !important;
    }

    .cat-card .elementor-widget-heading .elementor-heading-title {
        margin: 0 0 4px 0 !important;
        font-size: 16px;
        line-height: 1.2;
        text-align: center !important;
    }

    .cat-card .elementor-widget-button .elementor-button-wrapper {
        text-align: center !important;
        width: 100% !important;
    }

    .cat-card .elementor-widget-button .elementor-button {
        padding: 8px 14px;
        font-size: 12px;
        min-height: 0 !important;
    }
}

/* Override fuerte para home en móvil: debe ganar al CSS inline de Simple Custom CSS */
@media (max-width: 767px) {
    body.home .cat-card,
    body.page .cat-card {
        display: grid !important;
        grid-template-columns: minmax(140px, 46%) minmax(150px, 54%) !important;
        align-items: center !important;
        justify-items: center !important;
        column-gap: 12px !important;
        row-gap: 8px !important;
        padding: 20px 16px !important;
        min-height: 230px !important;
        text-align: center !important;
    }

    body.home .cat-card .elementor-widget-image,
    body.page .cat-card .elementor-widget-image {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        justify-self: center !important;
        align-self: center !important;
    }

    body.home .cat-card .elementor-widget-image img,
    body.page .cat-card .elementor-widget-image img {
        width: 140px !important;
        height: 140px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 auto !important;
    }

    body.home .cat-card .elementor-widget-heading,
    body.home .cat-card .elementor-widget-button,
    body.page .cat-card .elementor-widget-heading,
    body.page .cat-card .elementor-widget-button {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.home .cat-card .elementor-widget-heading .elementor-heading-title,
    body.page .cat-card .elementor-widget-heading .elementor-heading-title {
        width: 100% !important;
        margin: 0 !important;
        font-size: 16px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        display: block !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: initial !important;
        overflow: visible !important;
        max-height: none !important;
        min-height: 0 !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    body.home .cat-card .elementor-widget-button .elementor-button-wrapper,
    body.page .cat-card .elementor-widget-button .elementor-button-wrapper {
        width: 100% !important;
        text-align: center !important;
    }

    body.home .cat-card .elementor-widget-button .elementor-button,
    body.page .cat-card .elementor-widget-button .elementor-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 156px !important;
        max-width: 100% !important;
        padding: 10px 16px !important;
        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: visible !important;
    }
}

/* Botón "Ver carrito" (added_to_cart) más elegante y alineado */
/* Ocultar el botón "Ver carrito" que WooCommerce agrega tras añadir al carrito */
.woocommerce ul.products li.product a.added_to_cart {
    display: none !important;
}

/* Alineación conjunta de botones en la tarjeta */
.mm-card-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    justify-content: flex-start;
}

.mm-card-btn .button,
.mm-card-btn .add_to_cart_button,
.mm-card-btn .added_to_cart {
    text-align: center;
}

/* Toast de errores (add to cart) */
#maestri-toast-container {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.maestri-toast {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.16);
    color: #1c1c1c;
    background: #fff;
    border: 1px solid #e5e5e5;
    min-width: 260px;
    max-width: 340px;
    font-size: 14px;
    cursor: pointer;
}

.maestri-toast--error {
    border-color: #d12e2e;
    background: linear-gradient(180deg, #fff9f9 0%, #fff 100%);
}

.maestri-toast__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #d12e2e;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
}

.maestri-toast__text {
    line-height: 1.4;
}

.maestri-toast__city {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
}

.maestri-toast__city::before {
    content: "📍";
    font-size: 13px;
}

/* ========= Mini-carrito lateral ========= */
.maestri-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    z-index: 9998;
}

.maestri-cart-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.maestri-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    width: 380px;
    max-width: 90vw;
    height: 100vh;
    background: #ffffff;
    box-shadow: -10px 0 28px rgba(0,0,0,0.18);
    transform: translateX(100%);
    transition: transform .28s ease;
    z-index: 9999;
    display: flex;
    flex-direction: column;
}

.maestri-cart-drawer.is-open {
    transform: translateX(0);
}

/* Ajustes con barra de administración visible */
.admin-bar .maestri-cart-overlay {
    top: 32px;
    height: calc(100vh - 32px);
}

.admin-bar .maestri-cart-drawer {
    top: 32px;
    height: calc(100vh - 32px);
}

@media screen and (max-width: 782px) {
    .admin-bar .maestri-cart-overlay {
        top: 46px;
        height: calc(100vh - 46px);
    }
    .admin-bar .maestri-cart-drawer {
        top: 46px;
        height: calc(100vh - 46px);
    }
}

.maestri-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid #ececec;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.2px;
}

.maestri-cart-title {
    color: #1c1c1c;
}

.maestri-cart-close {
    border: 1px solid #1c1c1c;
    background: #1c1c1c;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: all .2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.maestri-cart-close:hover {
    background: #fff;
    color: #1c1c1c;
}

.maestri-cart-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 18px 24px;
}

/* Ajuste de padding para la lista del mini-carrito */
.maestri-cart-drawer .woocommerce-mini-cart {
    list-style: none;
    padding: 0 16px;
    margin: 0;
}

.maestri-cart-drawer .woocommerce-mini-cart__total {
    border-top: 1px solid #ececec;
    margin-top: 12px;
    padding-top: 12px;
    font-weight: 600;
    font-size: 15px;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
    padding: 12px 14px;
    border-radius: 6px;
    font-weight: 700;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button.checkout {
    background: #1c1c1c;
    color: #fff;
    border: 1px solid #1c1c1c;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button.checkout:hover {
    background: #cda434;
    border-color: #cda434;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) {
    background: #fff;
    color: #1c1c1c;
    border: 1px solid #d5d5d5;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
    background: #1c1c1c;
    color: #fff;
    border-color: #1c1c1c;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons {
    padding: 0 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

.maestri-cart-drawer .woocommerce-mini-cart__empty-message {
    text-align: center;
    color: #777;
    margin: 30px 0;
}

/* Totales personalizados del mini-carrito */
.maestri-mini-totals {
    border-top: 1px solid #ececec;
    padding: 12px 16px 0;
    margin-top: 8px;
}

.maestri-mini-totals .mini-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 14px;
    color: #222;
}

.maestri-mini-totals .mini-total {
    margin-top: 10px;
    font-weight: 700;
    font-size: 15px;
}

/* Ocultar subtotal default del mini-carrito para no duplicar */
.woocommerce-mini-cart__total.total {
    display: none;
}

/* Badge de promo dentro del mini-carrito */
.mini-promo-badge {
    display: inline-block;
    margin-top: 2px;
    padding: 3px 8px;
    background: #1c1c1c;
    color: #fff;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* Layout limpio para items del mini-carrito */
.maestri-cart-drawer .woocommerce-mini-cart-item {
    position: relative;
    padding: 18px 16px;
    border-bottom: 1px solid #f0f0f0;
}

.maestri-cart-drawer .woocommerce-mini-cart-item:last-child {
    border-bottom: none;
}

.maestri-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    display: block;
    padding-left: 64px;
    padding-right: 32px;
    font-weight: 700;
    color: #c60055;
    text-decoration: none;
    margin-bottom: 4px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item > a:not(.remove):hover {
    text-decoration: underline;
}

.maestri-cart-drawer .woocommerce-mini-cart-item img {
    width: 44px;
    height: auto;
    position: absolute;
    left: 16px;
    top: 18px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .remove {
    position: absolute;
    right: 12px;
    top: 18px;
    color: #c60055 !important;
    padding: 2px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .maestri-mini-text {
    display: block;
    padding-left: 64px;
    padding-right: 20px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .quantity {
    color: #222;
    font-size: 14px;
    display: block;
    margin-top: 2px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .mini-promo-badge {
    display: inline-block;
    margin-top: 6px;
    max-width: 160px;
    padding: 4px 10px;
    background: #111;
    color: #fff;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* ====== Mini-carrito visual tipo referencia ====== */
.maestri-cart-drawer {
    width: 360px;
    max-width: 94vw;
}

.maestri-cart-header {
    padding: 18px 16px;
    border-bottom: 1px solid #e9edf2;
}

.maestri-cart-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 31px;
    font-weight: 800;
    color: #0D2A4F;
}

.maestri-cart-title-icon {
    width: 18px;
    height: 18px;
    border-radius: 6px;
    color: #d0ab35;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.maestri-cart-close {
    border: 0;
    background: transparent;
    color: #17345a;
    width: 28px;
    height: 28px;
    border-radius: 0;
    box-shadow: none;
    font-size: 24px;
    font-weight: 300;
}

.maestri-cart-close:hover {
    background: transparent;
    color: #0a1f3b;
}

.maestri-cart-body {
    padding: 14px 14px 0;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.maestri-cart-drawer .woocommerce-mini-cart {
    padding: 0;
}

.maestri-cart-drawer .woocommerce-mini-cart-item {
    padding: 10px 0 16px 86px;
    border-bottom: 0;
    min-height: 96px;
    position: relative;
}

.maestri-cart-drawer .woocommerce-mini-cart-item img {
    width: 72px;
    height: 58px;
    object-fit: contain;
    border-radius: 8px;
    background: #f4f6f8;
    border: 1px solid #e7ebf0;
    left: 0;
    top: 6px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    color: #0D2A4F;
    padding: 0;
    margin: 0 34px 4px 0;
    font-weight: 700;
    line-height: 1.3;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .quantity {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #6c7a89;
    font-size: 13px;
    background: #f8fafc;
    border: 1px solid #e4e9ef;
    border-radius: 8px;
    padding: 5px 9px;
    margin-top: 6px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
    color: #cfa72f;
    font-weight: 700;
    font-size: 24px;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .remove {
    right: 4px;
    top: 12px;
    color: #9ca8b5 !important;
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
}

.maestri-cart-drawer .woocommerce-mini-cart-item .remove:hover {
    color: #17345a !important;
    background: transparent !important;
}

.maestri-mini-totals {
    margin-top: auto;
    border-top: 1px solid #e9edf2;
    background: #f9fafb;
    padding: 14px 0 10px;
}

.maestri-mini-totals .mini-line {
    font-size: 14px;
    color: #4f5f73;
    padding: 0 4px;
}

.maestri-mini-totals .mini-line span:last-child {
    font-weight: 600;
}

.maestri-mini-totals .mini-shipping-free {
    color: #43a047;
    font-weight: 700 !important;
}

.maestri-mini-totals .mini-total {
    margin-top: 6px;
    font-size: 30px;
    color: #0D2A4F;
}

.maestri-mini-totals .mini-total span:last-child {
    color: #cfa72f;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons {
    padding: 10px 0 16px;
    gap: 10px;
    background: #f9fafb;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button {
    border-radius: 9px;
    font-size: 23px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 12px 14px;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) {
    background: #072b57;
    border-color: #072b57;
    color: #fff;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
    background: #0b3a73;
    border-color: #0b3a73;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button.checkout {
    background: #d0ab35;
    border-color: #d0ab35;
    color: #072b57;
}

.maestri-cart-drawer .woocommerce-mini-cart__buttons .button.checkout:hover {
    background: #be9a2e;
    border-color: #be9a2e;
}

@media (max-width: 480px) {
    .maestri-cart-drawer {
        width: 100vw;
        max-width: 100vw;
    }
}

/* Contenedor del detalle del producto */
.jj-detalle-producto-wrapper {
    margin-top: 10px;
}

/* Descripción dentro del tab Detalle del producto */
.jj-detalle-descripcion {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 25px;
}

/* ============================
   CATÁLOGO PREMIUM MINIMAL - SIMETRÍA PERFECTA
   ============================= */

/* Contenedor lista de productos */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 40px 30px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Tarjeta básica - FLEXBOX VERTICAL CENTRADO */
.woocommerce ul.products li.product {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    
    /* FLEX VERTICAL PARA ALINEACIÓN PERFECTA */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 100% !important;
    text-align: center !important;
}

/* ========== IMAGEN ========== */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
    display: block;
    margin: 0 auto;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 280px;
}

/* ========== BODY CENTRADO ========== */
.mm-card-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    flex-grow: 1;
    padding: 0;
    margin: 0;
    min-height: 150px;
    gap: 6px;
}

/* ========== TÍTULO - ALTURA FIJA ========== */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.mm-card-title {
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.35 !important;
    color: #0D1B39;
    letter-spacing: 0.3px;

    /* ALTURA FIJA PARA SIMETRÍA PERMANENTE (2 líneas) */
    min-height: 2.7em !important;
    max-height: 2.7em !important;
    margin: 8px 0 2px 0 !important;
    padding: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.mm-card-title a {
    color: #0D1B39;
    text-decoration: none;
}

.mm-card-title a:hover {
    color: #0D1B39;
}

/* ========== DESCRIPCIÓN CORTA ========== */
.mm-card-desc {
    font-size: 13px;
    line-height: 1.4;
    color: #222222;
    margin: -6px 0 8px 0;
    min-height: 2.8em;
    max-height: 2.8em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.mm-card-body .woocommerce-product-details__short-description,
.mm-card-body .woocommerce-product-details__short-description p {
    font-size: 13px;
    line-height: 1.4;
    color: #222222;
    margin: -6px 0 8px 0;
    min-height: 2.8em;
    max-height: 2.8em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* ========== PRECIO LIMPIO ========== */
.mm-card-price {
    margin-bottom: 12px !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 !important;
    min-height: 26px;
}

.mm-card-body,
.mm-card-body p,
.mm-card-body .woocommerce-product-details__short-description {
    color: #222222;
}

.woocommerce ul.products li.product .price {
    font-size: 18px;
    font-weight: 600;
    color: #0D1B39 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.mm-card-price .mm-price-with-promo {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.mm-card-price .mm-price-with-promo del {
    color: #7f8a9b;
    font-size: 0.86em;
    font-weight: 600;
    text-decoration-thickness: 2px;
}

.mm-card-price .mm-price-with-promo ins {
    color: #0D1B39;
    text-decoration: none;
    font-weight: 800;
}

.mm-cart-price-with-discount,
.mm-cart-subtotal-with-discount {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.mm-cart-price-with-discount del,
.mm-cart-subtotal-with-discount del {
    color: #8a94a6;
    text-decoration-thickness: 2px;
}

.mm-cart-price-with-discount ins,
.mm-cart-subtotal-with-discount ins {
    color: #0D1B39;
    text-decoration: none;
    font-weight: 700;
}

/* Woo Blocks: ocultar badge "Guardar" para evitar ruido visual en carrito/resumen */
.wc-block-components-sale-badge,
.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-sale-badge,
.wc-block-components-order-summary .wc-block-components-sale-badge {
    display: none !important;
}

/* Carrito clásico: ocultar texto/badge "Guardar" para evitar duplicidad visual */
.woocommerce-cart .product-price .onsale,
.woocommerce-cart .product-subtotal .onsale,
.woocommerce-cart .product-price .save,
.woocommerce-cart .product-subtotal .save,
.woocommerce-cart .product-price .save-amount,
.woocommerce-cart .product-subtotal .save-amount {
    display: none !important;
}

/* Forzar visual correcto en mini-cart Elementor */
.elementor-menu-cart__container .mm-cart-price-with-discount {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

.elementor-menu-cart__container .mm-cart-price-with-discount del,
.elementor-menu-cart__container .mm-cart-subtotal-with-discount del {
    color: #90a0b3 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    opacity: .95;
    text-decoration-line: line-through !important;
    text-decoration-color: #90a0b3 !important;
    text-decoration-thickness: 2px !important;
    text-decoration-skip-ink: none !important;
}

.elementor-menu-cart__container .mm-cart-price-with-discount del .woocommerce-Price-amount,
.elementor-menu-cart__container .mm-cart-price-with-discount del bdi,
.elementor-menu-cart__container .mm-cart-subtotal-with-discount del .woocommerce-Price-amount,
.elementor-menu-cart__container .mm-cart-subtotal-with-discount del bdi {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-decoration-line: line-through !important;
    text-decoration-color: inherit !important;
    text-decoration-thickness: 2px !important;
}

.elementor-menu-cart__container .mm-cart-price-with-discount ins,
.elementor-menu-cart__container .mm-cart-subtotal-with-discount ins {
    color: #cfa72f !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Elimina estilos por defecto de WooCommerce */
.woocommerce ul.products li.product .price span,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del {
    color: #000 !important;
}

/* ========== BOTÓN AL CARRITO ========== */
.mm-card-btn {
    margin-top: auto;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    height: auto;
    min-height: 44px;
    align-items: center !important;
    margin-top: 8px;
    min-width: 0;
}

.mm-card-btn > a {
    margin: 0;
}

/* Neutraliza el margin-top por defecto de Woo en botones del loop */
.woocommerce ul.products li.product .mm-card-btn > a.button,
.woocommerce ul.products li.product .mm-card-btn > a.add_to_cart_button,
.woocommerce ul.products li.product .mm-card-btn > a.mm-card-plus {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mm-card-btn a.button.mm-card-buy {
    grid-column: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
}

.woocommerce ul.products li.product a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 28px;
    border-radius: 999px;
    border: 1px solid #002857;
    background: #002857;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    transition: .2s ease;
    white-space: nowrap;
    height: 44px;
    min-width: 176px;
    line-height: 44px;
    box-sizing: border-box;
    align-self: center;
}

.woocommerce ul.products li.product a.button::before {
    content: "";
}

.woocommerce ul.products li.product a.button:hover {
    background: #002857;
    color: #ffffff;
    border-color: #002857;
}

.woocommerce ul.products li.product a.button.mm-card-plus {
    grid-column: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex: 0 0 44px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid #F6B76F;
    background: #F6B76F;
    color: #ffffff;
    font-size: 24px;
    line-height: 44px;
    font-weight: 400;
    box-sizing: border-box;
    align-self: center;
    transform: translateY(-2px);
    position: relative;
    margin-left: 0;
    justify-self: end;
    align-self: center !important;
    visibility: visible;
    opacity: 1;
    overflow: visible;
    top: auto;
    bottom: auto;
    vertical-align: middle;
}

.woocommerce ul.products li.product a.button.mm-card-plus .mm-card-plus__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0 !important;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.woocommerce ul.products li.product a.button.mm-card-plus .mm-card-plus__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus .mm-card-plus__icon,
.elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus .mm-card-plus__icon {
    width: 21px !important;
    height: 21px !important;
}

@media (max-width: 1024px) {
    .woocommerce ul.products li.product {
        padding-bottom: 18px !important;
    }

    .woocommerce ul.products li.product a.button.mm-card-plus {
        transform: translateY(-2px) !important;
    }

    .mm-card-btn {
        justify-content: center;
        align-items: center !important;
        margin-bottom: 10px;
        min-width: 0 !important;
    }

    .mm-card-btn > a,
    .mm-card-btn a.button,
    .mm-card-btn a.button.mm-card-plus {
        align-self: center !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .mm-card-btn a.button.mm-card-plus {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        line-height: 44px !important;
        flex: 0 0 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

.woocommerce ul.products li.product a.button.mm-card-plus:hover {
    border-color: #F6B76F;
    background: #F6B76F;
    color: #ffffff;
}

.woocommerce ul.products li.product a.button.mm-card-plus.loading {
    color: transparent !important;
    pointer-events: none;
    position: relative;
}

.woocommerce ul.products li.product a.button.mm-card-plus.loading::after {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    animation: mm-spin 0.8s linear infinite;
}

.woocommerce ul.products li.product a.button.mm-card-plus.added {
    color: #ffffff !important;
}

.woocommerce ul.products li.product a.button.mm-card-plus.added::after {
    display: none;
}

/* Carrusel: asegurar visibilidad del "+" y spinner en loading */
.mm-product-carousel .mm-card-btn a.button.mm-card-plus:not(.loading) {
    color: #ffffff !important;
    font-size: 28px !important;
    line-height: 1 !important;
}

.mm-product-carousel .mm-card-btn a.button.mm-card-plus.loading {
    color: transparent !important;
}

.mm-product-carousel .mm-card-btn a.button.mm-card-plus.loading::after,
.mm-product-carousel .mm-card-btn a.button.mm-card-plus.loading.added::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    inset: 12px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    border-top-color: #ffffff !important;
    animation: mm-spin 0.8s linear infinite !important;
}

@keyframes mm-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1280px) {
    .woocommerce ul.products,
    .elementor-widget-woocommerce-products ul.products.elementor-grid,
    .elementor-widget-woocommerce-products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 28px 20px !important;
    }

    .elementor-widget-woocommerce-products .elementor-grid {
        --grid-columns: 3 !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        display: grid !important;
    }

    .woocommerce ul.products.columns-3,
    .elementor-widget-woocommerce-products ul.products.columns-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    
    .mm-card-title {
        font-size: 14px !important;
        min-height: 44px;
    }
}

@media (max-width: 1024px) {
    .woocommerce ul.products,
    .elementor-widget-woocommerce-products ul.products.elementor-grid,
    .elementor-widget-woocommerce-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 18px !important;
    }

    .elementor-widget-woocommerce-products .elementor-grid {
        --grid-columns: 2 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .elementor-widget-woocommerce-products ul.products.columns-2,
    .elementor-widget-woocommerce-products ul.products.columns-3,
    .elementor-widget-woocommerce-products ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .mm-card-body {
        align-items: center;
        text-align: center;
    }

    .mm-card-price {
        justify-content: center;
    }

    .mm-card-btn {
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .woocommerce ul.products,
    .elementor-widget-woocommerce-products ul.products.elementor-grid,
    .elementor-widget-woocommerce-products ul.products {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    .elementor-widget-woocommerce-products .elementor-grid {
        --grid-columns: 1 !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        display: grid !important;
    }

    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .elementor-widget-woocommerce-products ul.products.columns-2,
    .elementor-widget-woocommerce-products ul.products.columns-3,
    .elementor-widget-woocommerce-products ul.products.columns-4 {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    .mm-card-body {
        align-items: center;
        text-align: center;
    }

    .mm-card-price {
        justify-content: center;
    }

    .mm-card-btn {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 14px;
        min-width: 0 !important;
        min-height: 40px !important;
    }

    .woocommerce ul.products li.product a.button.mm-card-plus {
        transform: translateY(-2px) !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        flex: 0 0 40px !important;
        line-height: 40px !important;
    }

    .mm-card-btn a.button.mm-card-buy {
        min-width: 170px !important;
        width: auto !important;
        max-width: 210px !important;
        padding: 0 16px !important;
        height: 40px !important;
        min-height: 40px !important;
        line-height: 40px !important;
        font-size: 13px !important;
        justify-self: auto !important;
    }

    .mm-card-btn a.button,
    .mm-card-btn a.button.mm-card-plus {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        align-self: center !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 15px;
    }
    
    .mm-card-title {
        font-size: 12px !important;
        min-height: 40px;
    }
    
    .woocommerce ul.products li.product a.button {
        padding: 8px 20px;
        font-size: 12px;
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products li.product a.button.mm-card-plus {
        transform: none !important;
    }
}

/* ============================
   Checkout (WooCommerce default)
   ============================ */
body.woocommerce-checkout .site-main {
    background: transparent;
}

body.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 16px 48px;
}

body.woocommerce-checkout .wc-block-checkout {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

body.woocommerce-checkout,
body.woocommerce-checkout .site,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .content-area {
    background: #f8f8f5;
}

body.woocommerce-checkout .elementor-location-header,
body.woocommerce-checkout .site-header,
body.woocommerce-checkout header {
    background: #f8f8f5;
}

body.woocommerce-checkout .woocommerce form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
}

body.woocommerce-checkout #customer_details {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 24px;
}

body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout #order_review_heading {
    font-size: 20px;
    font-weight: 700;
    color: #002857;
    margin: 0 0 16px;
}

body.woocommerce-checkout #order_review {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 110px;
}

body.woocommerce-checkout .woocommerce form .form-row label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(13, 27, 57, 0.55);
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row textarea {
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 12px 14px;
    background: #ffffff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus {
    border-color: #F6B76F;
    box-shadow: 0 0 0 3px rgba(246, 183, 111, 0.25);
}

body.woocommerce-checkout #order_review table.shop_table {
    border: none;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    padding: 12px 0;
}

body.woocommerce-checkout #order_review table.shop_table tfoot th,
body.woocommerce-checkout #order_review table.shop_table tfoot td {
    font-weight: 700;
}

body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td {
    color: #002857;
    font-size: 18px;
}

body.woocommerce-checkout .woocommerce-checkout-payment {
    background: transparent;
    border: none;
    padding: 0;
}

body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
    border: none;
    padding: 0;
    margin: 0 0 16px;
}

body.woocommerce-checkout .woocommerce-checkout-payment li {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 10px;
}

body.woocommerce-checkout .woocommerce-checkout-payment li.wc_payment_method input[type="radio"] {
    accent-color: #F6B76F;
}

body.woocommerce-checkout #place_order {
    background: #F6B76F;
    color: #002857;
    border: none;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    padding: 14px 18px;
    box-shadow: 0 10px 24px rgba(246, 183, 111, 0.35);
    transition: transform .15s ease, box-shadow .2s ease;
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link) {
    border: none !important;
    box-shadow: 0 10px 24px rgba(246, 183, 111, 0.35) !important;
}

body.woocommerce-checkout #place_order:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(246, 183, 111, 0.45);
}

@media (max-width: 1024px) {
    body.woocommerce-checkout .woocommerce form.checkout {
        grid-template-columns: 1fr;
    }

    body.woocommerce-checkout #order_review {
        position: static;
    }
}

@media (max-width: 1024px) {
    body.woocommerce-checkout .wc-block-checkout {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Checkout Blocks (WooCommerce) */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-cart {
    font-family: inherit;
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;
    padding: 22px;
}

body.woocommerce-checkout .wc-block-checkout {
    margin-top: 32px;
}

body.woocommerce-checkout .wc-block-checkout__main {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.05);
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
}

body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-panel__button {
    color: #002857;
    font-weight: 700;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__container,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox__input {
    border-radius: 12px;
    border: 1px solid #d7dde5;
    background: #ffffff !important;
    color: #1f2937 !important;
    min-height: 46px;
    padding: 10px 12px;
    box-shadow: none;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: block;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
body.woocommerce-checkout .wc-block-components-textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-textarea::placeholder,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox__input::placeholder {
    color: #6b7280;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__container:focus-within,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox__input:focus {
    border-color: #0d2a4f;
    box-shadow: 0 0 0 2px rgba(13, 42, 79, 0.12);
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    padding: 12px 14px;
}

body.woocommerce-checkout .wc-block-components-radio-control__option--selected {
    border-color: #F6B76F;
    background: rgba(246, 183, 111, 0.12);
}

/* Checkout: botón "Editar" en tarjeta de dirección con estilo de marca */
body.woocommerce-checkout .wc-block-components-address-card__edit,
body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-address-card__edit,
body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-button.wc-block-components-address-card__edit {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #0d2a4f !important;
    color: #ffffff !important;
    border: 1px solid #0d2a4f !important;
    border-radius: 10px !important;
    min-height: 40px !important;
    padding: 10px 18px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(13, 42, 79, 0.16) !important;
    transition: background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit:hover,
body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-address-card__edit:hover,
body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-button.wc-block-components-address-card__edit:hover {
    background: #153965 !important;
    border-color: #153965 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(13, 42, 79, 0.2) !important;
}

body.woocommerce-checkout .wc-block-components-address-card__edit:focus-visible,
body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-address-card__edit:focus-visible,
body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-button.wc-block-components-address-card__edit:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(201, 137, 34, 0.35), 0 8px 18px rgba(13, 42, 79, 0.16) !important;
}

/* Checkout: corregir texto de ciudad en opciones de envío (radio no debe tapar el label) */
body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-radio-control__option {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 10px !important;
}

body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-radio-control__input {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-radio-control__secondary-description {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    text-indent: 0 !important;
}

/* Override robusto para "Opciones de envío" (Checkout Blocks) */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
    position: relative !important;
    display: block !important;
    padding: 12px 14px 12px 44px !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__input {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 2 !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label-group,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__description {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
}

/* Acabado premium visual para opciones de envío */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
    border-color: rgba(13, 42, 79, 0.28) !important;
    border-radius: 14px !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__input {
    transform: translateY(-50%) scale(0.92) !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
    color: #0d2a4f !important;
    font-weight: 600 !important;
    font-size: 1.02rem !important;
    letter-spacing: 0.01em;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__secondary-label {
    color: #334155 !important;
    font-weight: 700 !important;
    font-size: 1.02rem !important;
    text-align: right !important;
    margin-left: auto !important;
    padding-left: 12px !important;
    font-variant-numeric: tabular-nums;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option--selected {
    border-color: #0d2a4f !important;
    background: rgba(13, 42, 79, 0.05) !important;
    box-shadow: inset 0 0 0 1px rgba(13, 42, 79, 0.12) !important;
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link) {
    background: #F6B76F;
    color: #002857;
    border-radius: 14px;
    font-weight: 800;
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link):hover {
    background: #f4aa4f;
}

/* Botón "Ver más" en blog/posts */
.elementor .elementor-post__read-more,
.elementor-post__read-more,
.more-link,
.read-more,
.blog .more-link,
.post .more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 26px;
    border-radius: 999px;
    background: #F6B76F !important;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    border: none !important;
    transition: background .2s ease, transform .2s ease;
}

.elementor .elementor-post__read-more:hover,
.elementor-post__read-more:hover,
.more-link:hover,
.read-more:hover {
    background: #f4aa4f !important;
    transform: translateY(-1px);
}

body.woocommerce-checkout .wc-block-components-product-metadata__description {
    display: none;
}

body.woocommerce-checkout .wc-block-components-product-image,
body.woocommerce-checkout .wc-block-components-product-image img,
body.woocommerce-checkout .wc-block-components-product-image__image {
    background: #F8F8F8;
    border-radius: 12px;
}

body.woocommerce-checkout .wc-block-components-product-metadata__price {
    display: none;
}

/* Fuerza estilos en resumen (Blocks) */
body.woocommerce-checkout .wc-block-components-order-summary-item__price,
body.woocommerce-checkout .wc-block-components-order-summary-item__price span,
body.woocommerce-checkout .wc-block-components-product-metadata__price {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-price {
    display: none !important;
}

/* Precio debajo del titulo en resumen (Blocks) */
body.woocommerce-checkout .wc-block-components-order-summary-item {
    align-items: flex-start;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Uniformar filas del resumen de productos (Checkout Blocks) */
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    gap: 10px 12px !important;
    align-items: center !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item > .wc-block-components-product-image {
    grid-column: 1 !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item > .wc-block-components-product-image img,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item > .wc-block-components-product-image__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 4px !important;
    border-radius: 10px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
    grid-column: 2 !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.25 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
    grid-column: 3 !important;
    width: auto !important;
    margin: 0 !important;
    align-self: center !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ======================================================
   Búsqueda catálogo elegante
====================================================== */
.mm-search-catalog-page {
    padding: 36px 0 48px;
}

.mm-search-catalog-wrap {
    width: min(1200px, 92%);
    margin: 0 auto;
}

.mm-search-catalog-head {
    margin-bottom: 18px;
}

.mm-search-catalog-kicker {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}

.mm-search-catalog-title {
    margin: 0;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.1;
    color: #0d1b39;
}

.mm-search-products-grid {
    margin-top: 18px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px !important;
    list-style: none !important;
    padding: 0 !important;
}

.mm-search-catalog-page .woocommerce ul.products.mm-search-products-grid li.product,
.mm-search-catalog-page ul.products.mm-search-products-grid li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    list-style: none !important;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px 14px 12px;
    box-shadow: 0 8px 24px rgba(13, 27, 57, 0.06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mm-search-catalog-page .woocommerce ul.products.mm-search-products-grid li.product:hover,
.mm-search-catalog-page ul.products.mm-search-products-grid li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(13, 27, 57, 0.12);
    border-color: #d1d5db;
}

.mm-search-catalog-page .mm-card-product .mm-card-image-wrapper {
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mm-search-catalog-page .mm-card-product .mm-card-image-wrapper img {
    max-height: 220px;
    width: auto;
    object-fit: contain;
}

.mm-search-catalog-page .mm-card-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    height: auto;
    min-height: 44px;
    flex-wrap: nowrap;
}

.mm-search-catalog-page .mm-card-btn > a {
    margin: 0 !important;
    text-decoration: none !important;
}

.mm-search-catalog-page .mm-card-btn a.button.mm-card-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 176px;
    height: 44px;
    padding: 0 28px;
    border-radius: 999px;
    background: #002857 !important;
    color: #ffffff !important;
    border: 1px solid #002857 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-transform: none;
}

.mm-search-catalog-page .mm-card-btn a.button.mm-card-buy:hover,
.mm-search-catalog-page .mm-card-btn a.button.mm-card-buy:focus {
    background: #002857 !important;
    color: #ffffff !important;
    border-color: #002857 !important;
    opacity: .92;
}

.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus {
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    background: #F6B76F !important;
    color: #ffffff !important;
    border: 1px solid #F6B76F !important;
    font-size: 24px;
    line-height: 1;
    font-weight: 400;
    flex: 0 0 44px;
    transform: none !important;
    margin: 0 !important;
    position: static !important;
}

.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus:hover,
.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus:focus {
    background: #F6B76F !important;
    color: #ffffff !important;
    border-color: #F6B76F !important;
    opacity: .92;
}

.mm-search-pagination {
    margin-top: 26px;
}

.mm-search-empty {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 18px;
}

.mm-search-empty p {
    margin: 0 0 10px;
    color: #374151;
}

/* ======================================================
   Ficha producto: relacionados
====================================================== */
.single-product .related ul.products li.product .mm-card-image-wrapper {
    width: 100% !important;
    min-height: 280px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px !important;
}

.single-product .related ul.products li.product .mm-card-image {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.single-product .related ul.products li.product .mm-card-image img {
    width: 100% !important;
    max-width: 240px !important;
    max-height: 260px !important;
    height: auto !important;
    object-fit: contain !important;
}

.single-product .related ul.products li.product .mm-card-btn {
    justify-content: center;
}

.single-product .related ul.products li.product a.button.mm-card-plus {
    transform: none !important;
    margin-left: 0 !important;
}

@media (max-width: 1024px) {
    .single-product .related ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

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

@media (max-width: 1024px) {
    .mm-search-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px !important;
    }

    .mm-search-catalog-wrap {
        width: min(980px, 94%);
    }

    .mm-search-catalog-page .woocommerce ul.products.mm-search-products-grid li.product,
    .mm-search-catalog-page ul.products.mm-search-products-grid li.product {
        padding: 12px 12px 14px;
        border-radius: 14px;
    }

    .mm-search-catalog-page .mm-card-product .mm-card-image-wrapper {
        min-height: 210px;
    }

    .mm-search-catalog-page .mm-card-product .mm-card-image-wrapper img {
        max-height: 170px;
    }

    .mm-search-catalog-page .mm-card-btn {
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .mm-search-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px !important;
    }
}

@media (max-width: 520px) {
    .mm-search-products-grid {
        grid-template-columns: 1fr;
    }
}

/* Fix definitivo: productos relacionados en ficha */
.single-product .related ul.products li.product {
    align-items: center !important;
}

.single-product section.related.products > ul.products.columns-4,
.single-product .related ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
}

.single-product .related ul.products li.product .mm-card-image-wrapper {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    min-height: 240px !important;
    padding: 12px !important;
    overflow: hidden;
}

.single-product .related ul.products li.product .mm-card-image {
    width: 100% !important;
    height: 100% !important;
}

.single-product .related ul.products li.product .mm-card-image img {
    width: auto !important;
    max-width: 100% !important;
    height: 200px !important;
    max-height: 200px !important;
    object-fit: contain !important;
}

/* Algunos vinos tienen PNG con mucho espacio transparente: zoom en relacionados. */
.single-product .related ul.products li.product.product_cat-vinos .mm-card-image img {
    transform: scale(1.9);
    transform-origin: center center;
}

@media (max-width: 1024px) {
    .single-product section.related.products > ul.products.columns-4,
    .single-product .related ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .single-product .related ul.products li.product .mm-card-image-wrapper {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 230px !important;
    }

    .single-product .related ul.products li.product .mm-card-image img {
        height: 190px !important;
        max-height: 190px !important;
    }

    .single-product .related ul.products li.product.product_cat-vinos .mm-card-image img {
        transform: scale(1.6);
    }
}

/* Override final relacionados: evita conflicto con reglas heredadas de Woo/theme */
.single-product section.related.products > ul.products,
.single-product section.related.products > ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
    gap: 28px 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-items: stretch !important;
    align-items: start !important;
    grid-auto-flow: row !important;
}

/* WooCommerce inyecta clearfix con ::before/::after; en grid crea una columna fantasma */
.single-product section.related.products > ul.products::before,
.single-product section.related.products > ul.products::after {
    content: none !important;
    display: none !important;
}

.single-product section.related.products > ul.products > li.product {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
}

.single-product section.related.products > ul.products > li.product .mm-card-image-wrapper {
    width: 100% !important;
    min-height: 240px !important;
}

.single-product section.related.products > ul.products > li.product .mm-card-image {
    width: 100% !important;
    height: 100% !important;
}

.single-product section.related.products > ul.products > li.product .mm-card-image img {
    width: 100% !important;
    height: 200px !important;
    max-height: 200px !important;
    object-fit: contain !important;
}

@media (max-width: 1024px) {
    .single-product section.related.products > ul.products,
    .single-product section.related.products > ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-image img {
        height: 180px !important;
        max-height: 180px !important;
    }
}

/* Hotfix final: Woo classes first/last no deben romper el grid de relacionados */
.single-product section.related.products > ul.products > li.product.first,
.single-product section.related.products > ul.products > li.product.last,
.single-product section.related.products > ul.products > li.product {
    clear: none !important;
    float: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

/* Hotfix final: miniatura Woo en relacionados (evita botellas mini) */
.single-product section.related.products > ul.products > li.product img.attachment-woocommerce_thumbnail,
.single-product section.related.products > ul.products > li.product .attachment-woocommerce_thumbnail {
    width: auto !important;
    min-width: 0 !important;
    max-width: 92% !important;
    height: 210px !important;
    max-height: 210px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Sin zoom en relacionados: mostrar imagen completa */
.single-product section.related.products > ul.products > li.product.product_cat-vinos .mm-card-image img,
.single-product section.related.products > ul.products > li.product.product_cat-vinos img.attachment-woocommerce_thumbnail {
    transform: none !important;
    transform-origin: center center !important;
}

@media (max-width: 1024px) {
    .single-product section.related.products > ul.products > li.product img.attachment-woocommerce_thumbnail,
    .single-product section.related.products > ul.products > li.product .attachment-woocommerce_thumbnail {
        height: 180px !important;
        max-height: 180px !important;
    }
}

@media (max-width: 767px) {
    .single-product section.related.products > ul.products,
    .single-product section.related.products > ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px 12px !important;
    }

    .single-product section.related.products > ul.products > li.product {
        min-width: 0 !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-image-wrapper {
        min-height: 180px !important;
        margin-bottom: 8px !important;
        padding: 10px !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-image img,
    .single-product section.related.products > ul.products > li.product img.attachment-woocommerce_thumbnail,
    .single-product section.related.products > ul.products > li.product .attachment-woocommerce_thumbnail {
        width: 100% !important;
        height: 140px !important;
        max-height: 140px !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-body {
        min-height: 0 !important;
        gap: 8px !important;
        align-items: center !important;
        text-align: center !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-title,
    .single-product section.related.products > ul.products > li.product .mm-card-title a,
    .single-product section.related.products > ul.products > li.product .mm-card-price {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-title {
        font-size: 13px !important;
        line-height: 1.35 !important;
        min-height: 2.7em !important;
        max-height: none !important;
        margin: 6px 0 2px !important;
    }

    .single-product section.related.products > ul.products > li.product .price,
    .single-product section.related.products > ul.products > li.product .mm-card-price {
        font-size: 14px !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-btn {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 8px 0 0 !important;
        min-width: 0 !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-btn > a {
        min-width: 0 !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-btn a.button.mm-card-buy {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        padding: 0 12px !important;
        height: 40px !important;
        line-height: 40px !important;
        font-size: 12px !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-btn a.button.mm-card-plus {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        flex: 0 0 40px !important;
        line-height: 40px !important;
    }
}

/* Override final: related products use the same buy/+ rhythm as the shop */
.single-product section.related.products > ul.products > li.product .mm-card-btn {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.single-product section.related.products > ul.products > li.product .mm-card-btn > a {
    margin: 0 !important;
}

.single-product section.related.products > ul.products > li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus) {
    width: auto !important;
    max-width: 169px !important;
    min-width: 0 !important;
    padding: 0 26px !important;
    justify-self: auto !important;
}

.single-product section.related.products > ul.products > li.product a.button.mm-card-plus {
    margin-left: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    padding: 0 !important;
}

@media (max-width: 767px) {
    .single-product section.related.products > ul.products > li.product .mm-card-btn {
        gap: 10px !important;
    }

    .single-product section.related.products > ul.products > li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus) {
        max-width: 147px !important;
        padding: 0 20px !important;
    }

    .single-product section.related.products > ul.products > li.product a.button.mm-card-plus {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    order: 2;
    width: 100%;
    margin-top: 4px;
    text-align: left;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
    font-weight: 700;
    color: #002857;
}

body.woocommerce-checkout .wc-block-components-product-image,
body.woocommerce-checkout .wc-block-components-product-image img,
body.woocommerce-checkout .wc-block-components-product-image__image {
    background: #F8F8F8 !important;
    border-radius: 12px !important;
    padding: 6px !important;
}

@media (max-width: 1024px) {
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        margin-bottom: 16px;
    }
}

/* Tabs de categorias (padres) */
.mm-cat-tabs-section {
    width: 100%;
    margin: 0 0 24px;
}

.mm-cat-tabs-title {
    margin: 0 0 12px;
    font-size: 28px;
    font-weight: 700;
    color: #0D1B39;
}

.mm-cat-tabs-wrap {
    border-bottom: 2px solid #e8e8e8;
    padding-bottom: 16px;
}

.mm-cat-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

.mm-cat-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 12px;
    background: #f3f3f3;
    color: #0D1B39;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: .2s ease;
}

.mm-cat-tab:hover {
    background: #e6e6e6;
    color: #0D1B39;
}

.mm-cat-tab.is-active {
    background: #C98922;
    color: #ffffff;
}

@media (max-width: 640px) {
    .mm-cat-tabs-title {
        font-size: 22px;
    }

    .mm-cat-tab {
        padding: 8px 14px;
        font-size: 13px;
        border-radius: 10px;
    }
}

/* Ajustes tablet para filtros y layout del shop */
@media (max-width: 1280px) {
    body.post-type-archive-product .elementor-container,
    body.woocommerce-page .elementor-container,
    body.woocommerce .elementor-container,
    body.post-type-archive-product .elementor-row,
    body.woocommerce-page .elementor-row,
    body.woocommerce .elementor-row,
    body.post-type-archive-product .wp-block-columns,
    body.woocommerce-page .wp-block-columns,
    body.woocommerce .wp-block-columns {
        align-items: flex-start !important;
    }

    body.post-type-archive-product .elementor-column,
    body.woocommerce-page .elementor-column,
    body.woocommerce .elementor-column,
    body.post-type-archive-product .wp-block-column,
    body.woocommerce-page .wp-block-column,
    body.woocommerce .wp-block-column {
        align-self: flex-start !important;
    }

    body.post-type-archive-product .wc-block-product-filters,
    body.woocommerce-page .wc-block-product-filters,
    body.woocommerce .wc-block-product-filters,
    body.post-type-archive-product .wp-block-woocommerce-filter-wrapper,
    body.woocommerce-page .wp-block-woocommerce-filter-wrapper,
    body.woocommerce .wp-block-woocommerce-filter-wrapper,
    body.post-type-archive-product .wp-block-woocommerce-product-filters,
    body.woocommerce-page .wp-block-woocommerce-product-filters,
    body.woocommerce .wp-block-woocommerce-product-filters,
    body.post-type-archive-product .widget-area,
    body.woocommerce-page .widget-area,
    body.woocommerce .widget-area {
        margin-top: 20px !important;
        position: static !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    body.post-type-archive-product .elementor-container,
    body.woocommerce-page .elementor-container,
    body.woocommerce .elementor-container {
        flex-direction: column !important;
        gap: 24px !important;
    }

    body.post-type-archive-product .elementor-column,
    body.woocommerce-page .elementor-column,
    body.woocommerce .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.post-type-archive-product .elementor-column:has(.wc-block-product-filters),
    body.woocommerce-page .elementor-column:has(.wc-block-product-filters),
    body.woocommerce .elementor-column:has(.wc-block-product-filters),
    body.post-type-archive-product .elementor-column:has(.wp-block-woocommerce-filter-wrapper),
    body.woocommerce-page .elementor-column:has(.wp-block-woocommerce-filter-wrapper),
    body.woocommerce .elementor-column:has(.wp-block-woocommerce-filter-wrapper),
    body.post-type-archive-product .elementor-column:has(.wp-block-woocommerce-product-filters),
    body.woocommerce-page .elementor-column:has(.wp-block-woocommerce-product-filters),
    body.woocommerce .elementor-column:has(.wp-block-woocommerce-product-filters) {
        order: 1;
    }

    body.post-type-archive-product .elementor-column:has(.woocommerce ul.products),
    body.woocommerce-page .elementor-column:has(.woocommerce ul.products),
    body.woocommerce .elementor-column:has(.woocommerce ul.products),
    body.post-type-archive-product .elementor-column:has(.products),
    body.woocommerce-page .elementor-column:has(.products),
    body.woocommerce .elementor-column:has(.products) {
        order: 2;
    }

    body.post-type-archive-product .woocommerce ul.products,
    body.woocommerce-page .woocommerce ul.products,
    body.woocommerce .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }
}

/* Filtros en modal para tablet/movil */
.mm-filter-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid #e3e3e3;
    background: #111;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin: 0 0 16px;
}

.mm-filter-toggle .mm-filter-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
    display: block;
}

.mm-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.mm-filter-overlay[hidden] {
    display: none !important;
}

.mm-filter-panel {
    width: min(560px, 92vw);
    max-height: 78vh;
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    overflow: auto;
    box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}

.mm-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.mm-filter-header h3 {
    margin: 0;
    font-size: 16px;
}

.mm-filter-close {
    border: 1px solid #ddd;
    background: #fff;
    color: #111;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    cursor: pointer;
}

.mm-filter-content .wc-block-product-filters,
.mm-filter-content .wp-block-woocommerce-filter-wrapper,
.mm-filter-content .wp-block-woocommerce-product-filters,
.mm-filter-content .widget-area {
    margin: 0 !important;
}

.mm-filter-content .mmfp-filtros-sidebar {
    width: 100% !important;
    max-width: 100% !important;
}

.mm-filter-content .mmfp-titulo {
    display: none !important;
}

/* Filtros (MMFP): forzar paleta Maestri y evitar acentos rosados */
.mmfp-filtros-sidebar .mmfp-aplicar,
.mm-filter-content .mmfp-filtros-sidebar .mmfp-aplicar {
    background: #0d2a57 !important;
    border: 1px solid #0d2a57 !important;
    color: #ffffff !important;
    -webkit-tap-highlight-color: transparent;
}

.mmfp-filtros-sidebar .mmfp-aplicar:hover,
.mmfp-filtros-sidebar .mmfp-aplicar:focus,
.mmfp-filtros-sidebar .mmfp-aplicar:focus-visible,
.mmfp-filtros-sidebar .mmfp-aplicar:active,
.mm-filter-content .mmfp-filtros-sidebar .mmfp-aplicar:hover,
.mm-filter-content .mmfp-filtros-sidebar .mmfp-aplicar:focus,
.mm-filter-content .mmfp-filtros-sidebar .mmfp-aplicar:focus-visible,
.mm-filter-content .mmfp-filtros-sidebar .mmfp-aplicar:active {
    background: #c89a2b !important;
    border-color: #c89a2b !important;
    color: #0d1b39 !important;
    box-shadow: none !important;
    outline: none !important;
}

@media (max-width: 1280px) {
    .mm-filter-toggle {
        display: inline-flex;
    }

    body.mm-filter-open {
        overflow: hidden;
    }

    body.mm-filter-mobile .wc-block-product-filters,
    body.mm-filter-mobile .wp-block-woocommerce-filter-wrapper,
    body.mm-filter-mobile .wp-block-woocommerce-product-filters,
    body.mm-filter-mobile .mmfp-filtros-sidebar,
    body.mm-filter-mobile .woocommerce-sidebar,
    body.mm-filter-mobile .widget-area {
        display: none !important;
    }

    body.mm-filter-mobile .mm-filter-content .wc-block-product-filters,
    body.mm-filter-mobile .mm-filter-content .wp-block-woocommerce-filter-wrapper,
    body.mm-filter-mobile .mm-filter-content .wp-block-woocommerce-product-filters,
    body.mm-filter-mobile .mm-filter-content .mmfp-filtros-sidebar,
    body.mm-filter-mobile .mm-filter-content .woocommerce-sidebar,
    body.mm-filter-mobile .mm-filter-content .widget-area {
        display: block !important;
    }
}

/* ======================================================
   Elementor Menu Cart: diseño premium (panel lateral)
====================================================== */
.elementor-menu-cart__container .elementor-menu-cart__main {
    width: 330px !important;
    max-width: 94vw !important;
    background: #ffffff !important;
    border-left: 1px solid #e9edf2 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 30px 5px;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 4;
    cursor: pointer;
    font-size: 0 !important;
    color: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='%2312345d' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button::before {
    content: none !important;
    display: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button::after {
    content: none !important;
    display: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button i,
.elementor-menu-cart__container .elementor-menu-cart__close-button svg {
    display: none !important;
}

.elementor-menu-cart__container .widget_shopping_cart_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 16px !important;
    position: relative;
}

.elementor-menu-cart__container .widget_shopping_cart_content::before {
    content: "Carrito de Compras";
    position: relative;
    display: block;
    margin: 0 40px 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: #0D2A4F;
    letter-spacing: .2px;
    line-height: 1.1;
}

.elementor-menu-cart__container .elementor-menu-cart__products {
    padding: 0 !important;
    margin: 0 !important;
    overflow: auto;
}

.elementor-menu-cart__container .elementor-menu-cart__product {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 24px;
    grid-template-areas:
        "img name remove"
        "img price remove";
    gap: 4px 10px;
    align-items: center;
    border-bottom: 1px solid #eef1f4;
    padding: 10px 0 10px !important;
    margin: 0 !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-image {
    grid-area: img;
}

.elementor-menu-cart__container .elementor-menu-cart__product-image img {
    width: 58px !important;
    height: 48px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f4f6f8;
    border: 1px solid #e7ebf0;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name {
    grid-area: name;
    margin: 0 !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name a {
    color: #0D2A4F !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-price {
    grid-area: price;
    min-width: 0;
}

.elementor-menu-cart__container .elementor-menu-cart__product-price .quantity {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    color: #6c7a89;
    font-size: 11px;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    white-space: nowrap;
    max-width: 100%;
    width: auto;
    min-height: 0;
}

.elementor-menu-cart__container .elementor-menu-cart__product-price .quantity .product-quantity {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    line-height: 1;
    font-weight: 600;
    color: #607085;
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 8px;
    padding: 6px 9px;
}

.elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount {
    color: #cfa72f;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove {
    grid-area: remove;
    align-self: start;
    justify-self: end;
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove a {
    color: #9ca8b5 !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    text-decoration: none !important;
    line-height: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
}

.elementor-menu-cart__container .elementor-menu-cart__subtotal {
    margin-top: auto !important;
    border-top: 1px solid #e9edf2;
    padding: 10px 2px 6px !important;
    color: #4f5f73;
    font-size: 14px;
}

.elementor-menu-cart__container .elementor-menu-cart__subtotal strong {
    color: #0D2A4F;
    font-size: 17px;
    font-weight: 800;
}

.elementor-menu-cart__container .elementor-menu-cart__subtotal .woocommerce-Price-amount {
    color: #cfa72f;
    font-size: 17px;
    font-weight: 800;
}

.elementor-menu-cart__container .elementor-menu-cart__footer-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 8px 0 4px !important;
}

.elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button {
    min-height: 42px;
    border-radius: 9px !important;
    text-transform: uppercase;
    letter-spacing: .8px;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.elementor-menu-cart__container .elementor-button--view-cart {
    background: #072b57 !important;
    color: #fff !important;
}

.elementor-menu-cart__container .elementor-button--checkout {
    background: #d0ab35 !important;
    color: #072b57 !important;
}

.elementor-menu-cart__toggle .elementor-button-icon-qty,
.elementor-menu-cart__toggle_button .elementor-button-icon-qty,
.elementor-menu-cart__toggle_button_item_count,
.elementor-widget-woocommerce-menu-cart .elementor-button-icon-qty,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button_item_count {
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    transform: translateY(4px) !important;
}

@media (max-width: 767px) {
    .elementor-menu-cart__container .elementor-menu-cart__main {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .elementor-menu-cart__container .widget_shopping_cart_content {
        padding: 12px !important;
    }

    .elementor-menu-cart__container .widget_shopping_cart_content::before {
        margin: 0 44px 10px 0;
        font-size: 16px;
        line-height: 1.15;
        white-space: normal;
    }

    .elementor-menu-cart__container .elementor-menu-cart__close-button {
        top: 14px !important;
        right: 12px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__close-button::after {
        font-size: 24px;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product {
        grid-template-columns: 60px minmax(0, 1fr) 26px;
        gap: 5px 10px;
        padding: 10px 0 12px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-image img {
        width: 60px !important;
        height: 54px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-name a {
        font-size: 13px !important;
        line-height: 1.25 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .quantity {
        font-size: 11px;
        gap: 8px;
        max-width: 100%;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .quantity .product-quantity {
        padding: 5px 8px;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount {
        font-size: 15px;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-remove a {
        font-size: 18px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__subtotal strong,
    .elementor-menu-cart__container .elementor-menu-cart__subtotal .woocommerce-Price-amount {
        font-size: 20px;
    }

    .elementor-menu-cart__container .elementor-menu-cart__footer-buttons .elementor-button {
        min-height: 46px;
        font-size: 13px !important;
    }
}

/* Hotfix definitivo: precio y botón eliminar no se deben encimar */
@media (max-width: 767px) {
    .elementor-menu-cart__container .elementor-menu-cart__product {
        position: relative;
        grid-template-columns: 60px minmax(0, 1fr) !important;
        grid-template-areas:
            "img name"
            "img price" !important;
        padding-right: 34px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-remove {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%);
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-remove a {
        width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
        font-size: 18px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price {
        min-width: 0 !important;
        overflow: hidden;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .quantity {
        display: inline-flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        max-width: 100% !important;
        padding: 4px 8px !important;
        gap: 6px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .product-quantity {
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount,
    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount.amount,
    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount bdi {
        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

/* Ajuste extra tablet/mac-viewport: evita encimes aunque no active el breakpoint móvil */
@media (max-width: 1024px) {
    .elementor-menu-cart__container .elementor-menu-cart__product {
        position: relative;
        grid-template-columns: 64px minmax(0, 1fr) !important;
        grid-template-areas:
            "img name"
            "img price" !important;
        padding-right: 36px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-remove {
        position: absolute !important;
        right: 2px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 24px !important;
        height: 24px !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .quantity {
        max-width: 100% !important;
    }

    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount,
    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount.amount,
    .elementor-menu-cart__container .elementor-menu-cart__product-price .woocommerce-Price-amount bdi {
        font-size: 15px !important;
    }
}

/* Nunca superponer el botón de ciudad sobre carritos abiertos */
body.mm-cart-open #jj-sc-change-city-btn {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px);
}

/* ============================
   Paginador global
   ============================ */
.woocommerce nav.woocommerce-pagination,
.mm-search-pagination,
.pagination,
.nav-links {
    margin: 40px 0 10px;
    text-align: center;
}

/* Forzar separación real entre grid/listado y paginador */
.woocommerce ul.products + nav.woocommerce-pagination,
.woocommerce ul.products + .woocommerce-pagination,
ul.products + nav.woocommerce-pagination,
ul.products + .woocommerce-pagination,
.mm-search-products-grid + .mm-search-pagination {
    margin-top: 56px !important;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.mm-search-pagination .page-numbers,
.pagination .page-numbers,
.nav-links .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    background: transparent;
}

.woocommerce nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.mm-search-pagination .page-numbers li,
.pagination .page-numbers li,
.nav-links .page-numbers li {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span,
.mm-search-pagination .page-numbers a,
.mm-search-pagination .page-numbers span,
.pagination .page-numbers a,
.pagination .page-numbers span,
.nav-links .page-numbers a,
.nav-links .page-numbers span {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 10px;
    border: 1px solid #d9dee7;
    background: #ffffff;
    color: #0D2A4F;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .2s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover,
.mm-search-pagination .page-numbers a:hover,
.pagination .page-numbers a:hover,
.nav-links .page-numbers a:hover {
    border-color: #0D2A4F;
    background: #0D2A4F;
    color: #ffffff;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current,
.mm-search-pagination .page-numbers .current,
.pagination .page-numbers .current,
.nav-links .page-numbers .current {
    border-color: #C98922;
    background: #C98922;
    color: #ffffff;
}

.mm-load-more-wrap {
    display: flex;
    justify-content: center;
    margin: 54px 0 18px;
}

.mm-load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 46px;
    padding: 0 24px;
    border: 1px solid #002857 !important;
    border-radius: 999px !important;
    background: #002857 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1;
    cursor: pointer;
    transition: opacity .2s ease, transform .2s ease;
    box-shadow: none !important;
    text-decoration: none !important;
}

.mm-load-more-btn:hover {
    border-color: #002857 !important;
    background: #002857 !important;
    color: #ffffff !important;
    opacity: .92;
    transform: translateY(-1px);
}

.mm-load-more-btn:disabled {
    opacity: .7;
    cursor: wait;
    transform: none;
}

/* ======================================================
   Barra superior catálogo (contador + ordenar)
====================================================== */
.woocommerce .woocommerce-result-count {
    float: left !important;
    margin: 8px 0 26px !important;
    color: #374151;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 500;
}

.woocommerce .woocommerce-ordering {
    float: right !important;
    margin: 12px 0 26px !important;
}

.woocommerce .woocommerce-ordering select.orderby {
    min-width: 290px;
    height: 50px;
    border-radius: 12px;
    border: 1px solid #cfd6e2;
    background-color: #fff;
    color: #0d2a4f;
    font-size: 16px;
    font-weight: 500;
    padding: 0 44px 0 16px;
    outline: none;
    box-shadow: 0 4px 14px rgba(13, 42, 79, 0.06);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.woocommerce .woocommerce-ordering select.orderby:focus {
    border-color: #0d2a4f;
    box-shadow: 0 0 0 3px rgba(13, 42, 79, 0.12);
}

/* Ocultar controles nativos de Woo (se usan filtros propios). */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    display: none !important;
}

/* ======================================================
   Página descuentos: grilla y miniaturas consistentes
====================================================== */
body.page-id-1969 .woocommerce ul.products,
body.page-id-1969 ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    row-gap: 48px !important;
    column-gap: 22px !important;
}

/* WooCommerce clearfix en grid: crea columna fantasma (before/after). */
body.page-id-1969 .woocommerce ul.products::before,
body.page-id-1969 .woocommerce ul.products::after,
body.page-id-1969 ul.products::before,
body.page-id-1969 ul.products::after {
    content: none !important;
    display: none !important;
}

/* Página promociones: ocultar paginador visual (se usa auto-carga/infinite scroll). */
body.page-id-1969 .woocommerce nav.woocommerce-pagination,
body.page-id-1969 .woocommerce .woocommerce-pagination,
body.page-id-1969 nav.woocommerce-pagination,
body.page-id-1969 .woocommerce-pagination {
    display: none !important;
}

body.page-id-1969 .woocommerce ul.products li.product,
body.page-id-1969 ul.products li.product {
    align-items: stretch !important;
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-image-wrapper,
body.page-id-1969 ul.products li.product .mm-card-image-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 250px !important;
    padding: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-image,
body.page-id-1969 ul.products li.product .mm-card-image {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-image img,
body.page-id-1969 ul.products li.product .mm-card-image img,
body.page-id-1969 .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.page-id-1969 ul.products li.product img.attachment-woocommerce_thumbnail {
    width: auto !important;
    min-width: 0 !important;
    max-width: 92% !important;
    height: 230px !important;
    max-height: 230px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 auto !important;
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient,
body.page-id-1969 ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient {
    position: relative !important;
    isolation: isolate;
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient .mm-card-image img,
body.page-id-1969 ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient .mm-card-image img,
body.page-id-1969 .woocommerce ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient img.attachment-woocommerce_thumbnail,
body.page-id-1969 ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient img.attachment-woocommerce_thumbnail {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient::after,
body.page-id-1969 ul.products li.product .mm-card-image-wrapper.mm-card-image-wrapper--ambient::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    pointer-events: none;
    background:
        linear-gradient(to bottom, rgba(248, 248, 248, 0.34) 0%, rgba(248, 248, 248, 0) 12%),
        linear-gradient(to top, rgba(248, 248, 248, 0.34) 0%, rgba(248, 248, 248, 0) 12%);
}

body.page-id-1969 .woocommerce ul.products li.product .mm-card-thumb,
body.page-id-1969 ul.products li.product .mm-card-thumb {
    transform: none !important;
}

body.page-id-1969 .promo-badge-loop,
body.page-id-1969 .promo-badge-loop--safe {
    right: 10px !important;
    bottom: 10px !important;
    left: auto !important;
    top: auto !important;
    max-width: calc(100% - 20px) !important;
    font-size: 10px !important;
    padding: 4px 8px !important;
    line-height: 1 !important;
    z-index: 8 !important;
}

body.page-id-1969 .mm-paused-badge {
    left: 10px !important;
    bottom: 10px !important;
    font-size: 10px !important;
    padding: 4px 8px !important;
    line-height: 1 !important;
    z-index: 8 !important;
}

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

    body.page-id-1969 .woocommerce ul.products li.product .mm-card-thumb,
    body.page-id-1969 ul.products li.product .mm-card-thumb {
        transform: none !important;
    }
}

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

    body.page-id-1969 .woocommerce ul.products li.product .mm-card-thumb,
    body.page-id-1969 ul.products li.product .mm-card-thumb {
        transform: none !important;
    }
}

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

    body.page-id-1969 .woocommerce ul.products li.product .mm-card-thumb,
    body.page-id-1969 ul.products li.product .mm-card-thumb {
        transform: none !important;
    }
}

.woocommerce nav.woocommerce-pagination ul li span.dots,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots,
.mm-search-pagination .page-numbers .dots,
.pagination .page-numbers .dots,
.nav-links .page-numbers .dots {
    border-color: transparent;
    background: transparent;
    color: #6b7280;
    width: auto;
    min-width: 22px;
    padding: 0 2px;
}

@media (max-width: 767px) {
    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        float: none !important;
        width: 100%;
        margin: 0 0 14px !important;
    }

    .woocommerce .woocommerce-result-count {
        font-size: 15px;
    }

    .woocommerce .woocommerce-ordering select.orderby {
        width: 100%;
        min-width: 0;
        height: 46px;
        font-size: 15px;
    }

    .woocommerce nav.woocommerce-pagination,
    .mm-search-pagination,
    .pagination,
    .nav-links {
        margin: 28px 0 8px;
    }

    .woocommerce ul.products + nav.woocommerce-pagination,
    .woocommerce ul.products + .woocommerce-pagination,
    ul.products + nav.woocommerce-pagination,
    ul.products + .woocommerce-pagination,
    .mm-search-products-grid + .mm-search-pagination {
        margin-top: 34px !important;
    }

    .woocommerce nav.woocommerce-pagination ul,
    .woocommerce nav.woocommerce-pagination ul.page-numbers,
    .mm-search-pagination .page-numbers,
    .pagination .page-numbers,
    .nav-links .page-numbers {
        gap: 6px;
    }

    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span,
    .woocommerce nav.woocommerce-pagination ul.page-numbers li a,
    .woocommerce nav.woocommerce-pagination ul.page-numbers li span,
    .mm-search-pagination .page-numbers a,
    .mm-search-pagination .page-numbers span,
    .pagination .page-numbers a,
    .pagination .page-numbers span,
    .nav-links .page-numbers a,
    .nav-links .page-numbers span {
        width: 34px;
        height: 34px;
        min-width: 34px;
        border-radius: 8px;
        font-size: 13px;
    }
}

/* En checkout no debe aparecer el botón flotante de ciudad */
body.woocommerce-checkout #jj-sc-change-city-btn {
    display: none !important;
}

@media (max-width: 1024px) {
    /* Fix estructural checkout: evitar desborde horizontal de campos */
    body.woocommerce-checkout,
    body.woocommerce-checkout .site,
    body.woocommerce-checkout .site-main,
    body.woocommerce-checkout .content-area,
    body.woocommerce-checkout .woocommerce,
    body.woocommerce-checkout .wc-block-checkout,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout,
    body.woocommerce-checkout .site-main,
    body.woocommerce-checkout .content-area,
    body.woocommerce-checkout .wc-block-checkout,
    body.woocommerce-checkout .wc-block-checkout__main {
        overflow-x: hidden !important;
    }

    body.woocommerce-checkout .wc-block-checkout {
        margin: 0 !important;
        padding: 12px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        padding: 14px !important;
    }

    body.woocommerce-checkout .wc-block-components-address-form,
    body.woocommerce-checkout .wc-block-components-address-form__address-fields,
    body.woocommerce-checkout .wc-block-components-text-input,
    body.woocommerce-checkout .wc-block-components-select,
    body.woocommerce-checkout .wc-block-components-combobox,
    body.woocommerce-checkout .wc-block-components-validation-error {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-checkout {
        padding: 8px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        padding: 12px !important;
        border-radius: 12px !important;
    }
}

/* Restaurar layout elegante en escritorio */
@media (min-width: 1025px) {
    body.woocommerce-checkout .wc-block-checkout {
        max-width: 1200px !important;
        margin: 32px auto 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        padding: 22px !important;
    }
}

/* Checkout móvil: evitar doble "Resumen del pedido" (compacto + completo) */
@media (max-width: 1024px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout__button,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-panel--with-controls {
        display: none !important;
    }
}

/* =========================
   Blog / Entradas (global)
   ========================= */
body.single-post .site-main,
body.blog .site-main,
body.archive.category .site-main,
body.archive.tag .site-main {
    max-width: 1160px;
    margin: 0 auto;
    padding: 28px 18px 56px;
}

body.single-post article.post,
body.blog article.post,
body.archive.category article.post,
body.archive.tag article.post {
    background: #ffffff;
    border: 1px solid #e7ebf0;
    border-radius: 20px;
    padding: 28px 26px;
    box-shadow: 0 10px 30px rgba(10, 25, 60, 0.05);
}

body.single-post .entry-header {
    margin-bottom: 18px;
}

body.single-post .entry-title,
body.single-post h1.entry-title,
body.single-post .elementor-widget-theme-post-title h1,
body.single-post .elementor-widget-heading h1 {
    color: #0d2a4f !important;
    font-size: clamp(28px, 3.6vw, 46px) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em;
    max-width: 980px;
    margin: 0 auto 14px !important;
    text-align: center !important;
    text-wrap: balance;
}

body.single-post .entry-meta,
body.single-post .elementor-widget-theme-post-info,
body.single-post .elementor-post-info {
    color: #6b7380 !important;
    font-size: 14px !important;
    margin-bottom: 10px !important;
}

body.single-post .post-thumbnail,
body.single-post .elementor-widget-theme-post-featured-image {
    margin: 10px 0 28px !important;
}

body.single-post .post-thumbnail img,
body.single-post .elementor-widget-theme-post-featured-image img,
body.single-post .entry-content img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 18px;
    border: 1px solid #e8edf3;
    box-shadow: 0 16px 40px rgba(10, 25, 60, 0.08);
}

body.single-post .post-thumbnail,
body.single-post .elementor-widget-theme-post-featured-image,
body.single-post .entry-content > p > img,
body.single-post .entry-content figure img {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-post .entry-content,
body.single-post .elementor-widget-theme-post-content .elementor-widget-container {
    color: #1f2937;
    font-size: clamp(17px, 1.55vw, 20px);
    line-height: 1.8;
    max-width: 900px;
    margin: 0 auto;
}

body.single-post .entry-content p,
body.single-post .elementor-widget-theme-post-content p {
    margin: 0 0 1.1em;
    text-align: left;
    max-width: 76ch;
    margin-left: auto;
    margin-right: auto;
}

body.single-post .entry-content > *:not(img):not(figure),
body.single-post .elementor-widget-theme-post-content .elementor-widget-container > *:not(img):not(figure) {
    max-width: 76ch;
    margin-left: auto;
    margin-right: auto;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .elementor-widget-theme-post-content h2,
body.single-post .elementor-widget-theme-post-content h3,
body.single-post .elementor-widget-theme-post-content h4 {
    color: #0d2a4f;
    line-height: 1.25;
    margin: 1.35em 0 .5em;
}

body.single-post .entry-content a,
body.single-post .elementor-widget-theme-post-content a {
    color: #0b3a78;
    text-decoration-color: rgba(11, 58, 120, 0.35);
    text-underline-offset: 3px;
    word-break: break-word;
}

body.single-post .entry-content a:hover,
body.single-post .elementor-widget-theme-post-content a:hover {
    color: #c98922;
    text-decoration-color: #c98922;
}

body.blog .post .entry-title a,
body.archive.category .post .entry-title a,
body.archive.tag .post .entry-title a {
    color: #0d2a4f;
    font-weight: 800;
}

body.blog .post .entry-title a:hover,
body.archive.category .post .entry-title a:hover,
body.archive.tag .post .entry-title a:hover {
    color: #c98922;
}

@media (max-width: 1024px) {
    body.single-post .site-main,
    body.blog .site-main,
    body.archive.category .site-main,
    body.archive.tag .site-main {
        padding: 18px 14px 44px;
    }

    body.single-post article.post,
    body.blog article.post,
    body.archive.category article.post,
    body.archive.tag article.post {
        border-radius: 16px;
        padding: 18px 14px;
    }

    body.single-post .entry-content,
    body.single-post .elementor-widget-theme-post-content .elementor-widget-container {
        font-size: 17px;
        line-height: 1.72;
    }

    body.single-post .entry-title,
    body.single-post h1.entry-title,
    body.single-post .elementor-widget-theme-post-title h1,
    body.single-post .elementor-widget-heading h1 {
        font-size: clamp(26px, 7.2vw, 36px) !important;
    }

    body.single-post .post-thumbnail,
    body.single-post .elementor-widget-theme-post-featured-image,
    body.single-post .entry-content > p > img,
    body.single-post .entry-content figure img {
        max-width: 100% !important;
    }
}

/* ============================
   Checkout shipping row final override
   ============================ */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
    border: 1px solid rgba(13, 42, 79, 0.22) !important;
    border-radius: 16px !important;
    padding: 15px 18px 15px 46px !important;
    min-height: 68px !important;
    position: relative !important;
    background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%) !important;
    box-shadow: 0 10px 24px rgba(20, 40, 80, 0.04) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
    margin-top: 12px !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__input {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) scale(0.95) !important;
    margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option-layout {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    flex-direction: row !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 22px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-height: 24px !important;
    flex: 1 1 auto !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
    color: #0d2a4f !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    margin: 0 !important;
    display: block !important;
    align-items: center !important;
    min-width: 0 !important;
    padding-right: 10px !important;
    transform: none !important;
    letter-spacing: -0.01em !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__secondary-label {
    color: #334155 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    margin-left: 0 !important;
    white-space: nowrap !important;
    margin-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-self: end !important;
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
    min-width: max-content !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option--selected {
    border-color: #0d2a4f !important;
    background: linear-gradient(180deg, #fffdf8 0%, #ffffff 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(13, 42, 79, 0.12),
        0 14px 28px rgba(20, 40, 80, 0.06) !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* WooCommerce Blocks still wraps shipping rates in a fieldset; remove that frame */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package fieldset.wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__fieldset,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__fieldset-wrapper {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Some Woo Blocks builds add an extra bordered panel around all options */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package > div,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package > section,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package > fieldset,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control fieldset,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control legend {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control legend {
    padding: 0 !important;
    margin: 0 0 8px !important;
}

/* Remove Woo Blocks highlight frame wrapping the whole shipping radio group */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control--highlight-checked:after {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    content: "" !important;
}

/* Resumen del pedido: separar ciudad y valor de envío */
body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__description {
    margin-right: 10px !important;
    white-space: normal !important;
}

body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-formatted-money-amount {
    white-space: nowrap !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    display: block !important;
    margin-top: 18px !important;
    padding: 16px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    display: block !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content {
    display: block !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button {
    color: #0D2A4F !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    padding: 0 0 14px !important;
    border-bottom: 0 !important;
    background: transparent !important;
}

/* Checkout only: closed coupon header centered and symmetrical */
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    line-height: 1.15 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #ffffff !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="false"],
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button[aria-expanded="false"] {
    padding: 0 18px !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button svg {
    flex-shrink: 0 !important;
    margin-left: 12px !important;
}

/* Cart sidebar: collapsed coupon header should stay visually centered/symmetric */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    line-height: 1.15 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="false"],
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button[aria-expanded="false"] {
    min-height: 44px !important;
    padding: 0 18px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button svg {
    margin-right: 4px !important;
    flex-shrink: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__content,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content {
    padding: 0 !important;
    margin: 0 !important;
    border-top: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon input,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block input,
body.woocommerce-cart .wc-block-components-totals-coupon input,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block input {
    min-height: 50px !important;
    border: 1px solid #d6dbe4 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block button,
body.woocommerce-cart .wc-block-components-totals-coupon button,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block button {
    min-height: 50px !important;
    border-radius: 16px !important;
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
        padding: 14px 16px 14px 42px !important;
        min-height: 64px !important;
    }

    body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label-group {
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
    }

    body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
        font-size: 14px !important;
    }

    body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__secondary-label {
        font-size: 15px !important;
    }
}

/* ============================
   Checkout payment methods final override
   ============================ */
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__option,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option {
    border: 1px solid rgba(13, 42, 79, 0.22) !important;
    border-radius: 16px !important;
    padding: 15px 18px 15px 46px !important;
    min-height: 64px !important;
    position: relative !important;
    display: block !important;
    background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%) !important;
    box-shadow: 0 10px 24px rgba(20, 40, 80, 0.04) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__option + .wc-block-components-radio-control__option,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
    margin-top: 12px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__option--selected,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option--selected {
    border-color: #0d2a4f !important;
    background: linear-gradient(180deg, #fffdf8 0%, #ffffff 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(13, 42, 79, 0.12),
        0 14px 28px rgba(20, 40, 80, 0.06) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__input,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__input {
    position: absolute !important;
    left: 16px !important;
    top: 18px !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 2 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__label-group,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label-group {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0d2a4f !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-indent: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__description {
    display: block !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    color: #374151 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-indent: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
}

/* Woo Blocks (payment accordion): unificar label + description en una sola tarjeta visual */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
    border: 1px solid rgba(13, 42, 79, 0.22) !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%) !important;
    box-shadow: 0 10px 24px rgba(20, 40, 80, 0.04) !important;
    overflow: hidden !important;
    margin: 0 0 12px 0 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 15px 18px 10px 46px !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 18px 14px 46px !important;
    color: #374151 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #0d2a4f !important;
    background: linear-gradient(180deg, #fffdf8 0%, #ffffff 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(13, 42, 79, 0.12),
        0 14px 28px rgba(20, 40, 80, 0.06) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control fieldset,
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control legend,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control fieldset,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control legend {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Woo Blocks puede dibujar un marco interno adicional en el item seleccionado */
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control--highlight-checked:after,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control--highlight-checked:after {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    content: none !important;
}

/* Limpia envoltorios extra para que solo se vea la tarjeta de cada metodo */
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method > div,
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method > section,
body.woocommerce-checkout .wc-block-components-checkout-step--payment-method > fieldset,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block > div,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block > section,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block > fieldset {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__option,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option {
        padding: 14px 16px 14px 42px !important;
        min-height: 60px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__input,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__input {
        left: 14px !important;
        top: 17px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step--payment-method .wc-block-components-radio-control__label,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
        font-size: 14px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
        padding: 14px 16px 8px 42px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
        padding: 0 16px 12px 42px !important;
    }
}

/* ============================
   Single Product Brand Polish
   ============================ */
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
    color: #5d6f86;
    font-size: 18px;
}

body.single-product .woocommerce-breadcrumb a:hover {
    color: #0d2a4f;
}

body.single-product .woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
    gap: 44px;
    align-items: start;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery {
    margin-bottom: 0;
}

body.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper {
    background: linear-gradient(180deg, #f6f9fd 0%, #edf3fa 100%);
    border: 1px solid #dbe4f1;
    border-radius: 24px;
    padding: 24px;
}

body.single-product .woocommerce div.product div.summary {
    background: #ffffff;
    border: 1px solid #dbe4f1;
    border-radius: 24px;
    padding: 28px 30px;
    box-shadow: 0 14px 34px rgba(7, 24, 47, 0.08);
}

body.single-product .woocommerce div.product .product_title {
    color: #0d2a4f;
    letter-spacing: -0.02em;
    line-height: 1.08;
}

body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
    color: #a36b00 !important;
    font-weight: 800 !important;
    font-size: clamp(2rem, 2.4vw, 2.8rem) !important;
}

body.single-product .woocommerce div.product p.price .amount,
body.single-product .woocommerce div.product span.price .amount,
body.single-product .woocommerce div.product p.price bdi,
body.single-product .woocommerce div.product span.price bdi {
    color: #a36b00 !important;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description {
    color: #223248;
    font-size: 1.18rem;
    line-height: 1.7;
}

body.single-product .woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 22px 0 0;
}

body.single-product .woocommerce div.product form.cart .quantity {
    float: none !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
}

body.single-product .woocommerce div.product form.cart .quantity .qty {
    height: 56px;
    min-height: 56px;
    border: 1px solid #c6d4e7;
    border-radius: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0d2a4f;
    width: 86px;
    margin: 0 !important;
    text-align: center;
}

body.single-product .single_add_to_cart_button {
    height: 56px;
    min-height: 56px;
    border-radius: 12px !important;
    border: 1px solid #0d2a4f !important;
    background: linear-gradient(180deg, #173a62 0%, #0d2a4f 100%) !important;
    padding: 12px 30px !important;
    letter-spacing: 0.01em;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .single_add_to_cart_button:hover {
    background: #173a62 !important;
    border-color: #173a62 !important;
}

body.single-product .product_meta {
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid #dfe7f2;
}

body.single-product .product_meta > span {
    color: #344b66 !important;
    font-size: 16px;
}

@media (max-width: 1024px) {
    body.single-product .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    body.single-product .woocommerce div.product div.summary {
        padding: 20px;
        border-radius: 18px;
    }
}

/* Single product final hard overrides */
body.single-product .woocommerce div.product .summary p.price,
body.single-product .woocommerce div.product .summary span.price,
body.single-product .woocommerce div.product .summary p.price .amount,
body.single-product .woocommerce div.product .summary span.price .amount,
body.single-product .woocommerce div.product .summary p.price bdi,
body.single-product .woocommerce div.product .summary span.price bdi {
    color: #111111 !important;
}

body.single-product .woocommerce div.product .summary p.price *,
body.single-product .woocommerce div.product .summary span.price *,
body.single-product .woocommerce div.product .summary .woocommerce-Price-currencySymbol {
    color: #111111 !important;
}

body.single-product .woocommerce div.product .summary form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body.single-product .woocommerce div.product .summary form.cart .quantity {
    float: none !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    height: 56px !important;
}

body.single-product .woocommerce div.product .summary form.cart .quantity .qty,
body.single-product .woocommerce div.product .summary form.cart .quantity input.qty,
body.single-product .woocommerce div.product .summary form.cart input.input-text.qty.text {
    height: 56px !important;
    min-height: 56px !important;
    line-height: normal !important;
    margin: 0 !important;
    padding: 0 10px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    display: block !important;
    vertical-align: middle !important;
}

body.single-product .woocommerce div.product .summary form.cart .single_add_to_cart_button,
body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button {
    float: none !important;
    height: 56px !important;
    min-height: 56px !important;
    line-height: 56px !important;
    margin: 0 !important;
    padding: 0 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    vertical-align: middle !important;
}

/* Elementor / templates custom fallback: no depende de .summary */
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price,
body.single-product .woocommerce div.product p.price *,
body.single-product .woocommerce div.product span.price *,
body.single-product .elementor-widget-woocommerce-product-price .price,
body.single-product .elementor-widget-woocommerce-product-price .price *,
body.single-product .elementor-widget-woocommerce-product-price .woocommerce-Price-amount,
body.single-product .elementor-widget-woocommerce-product-price .woocommerce-Price-currencySymbol {
    color: #111111 !important;
}

body.single-product form.cart {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 22px 0 0 !important;
}

body.single-product form.cart .quantity {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    height: 56px !important;
}

body.single-product form.cart .quantity .qty,
body.single-product form.cart .quantity input.qty,
body.single-product form.cart input.input-text.qty.text {
    height: 56px !important;
    min-height: 56px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 10px !important;
    text-align: center !important;
}

body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart button.single_add_to_cart_button {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 30px !important;
    line-height: 1 !important;
}

/* Override directo de la regla base de WooCommerce con :where(...) */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price *,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price * {
    color: #111111 !important;
}

/* ============================
   Woo Notices + Summary Brand
   ============================ */

.woocommerce-notices-wrapper,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    margin-bottom: 20px;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.woocommerce-notice {
    position: relative;
    margin: 0 0 18px !important;
    padding: 16px 18px 16px 54px !important;
    border: 1px solid rgba(13, 42, 79, 0.10) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(13, 42, 79, 0.06);
    color: #17324f !important;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    left: 18px !important;
    top: 17px !important;
    font-size: 18px !important;
}

.woocommerce-message {
    border-left: 4px solid #c89a2b !important;
    background: linear-gradient(180deg, #fffdfa 0%, #ffffff 100%) !important;
}

.woocommerce-message::before {
    color: #c89a2b !important;
}

.woocommerce-info {
    border-left: 4px solid #002857 !important;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
}

.woocommerce-info::before {
    color: #002857 !important;
}

.woocommerce-error {
    border-left: 4px solid #a62424 !important;
    background: linear-gradient(180deg, #fff8f8 0%, #ffffff 100%) !important;
}

.woocommerce-error::before {
    color: #a62424 !important;
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
    margin-bottom: 6px;
}

.woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-notice a {
    color: #002857 !important;
    font-weight: 700;
}

body.single-product .woocommerce-notices-wrapper {
    max-width: 980px;
    width: calc(100% - 32px);
    margin: 0 auto 18px !important;
    display: block !important;
    clear: both !important;
    position: relative;
    z-index: 1;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-error,
body.single-product .woocommerce-notices-wrapper .woocommerce-info,
body.single-product .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .woocommerce-notices-wrapper .woocommerce-notice {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 14px 16px 14px 48px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(13, 42, 79, 0.05);
}

body.single-product .woocommerce-notices-wrapper .woocommerce-error::before,
body.single-product .woocommerce-notices-wrapper .woocommerce-info::before,
body.single-product .woocommerce-notices-wrapper .woocommerce-message::before {
    left: 16px !important;
    top: 15px !important;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-error li,
body.single-product .woocommerce-notices-wrapper .woocommerce-info li,
body.single-product .woocommerce-notices-wrapper .woocommerce-message li {
    margin-bottom: 0;
    line-height: 1.45;
}

.woocommerce a.button.wc-forward,
.woocommerce .return-to-shop .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart_totals .button,
.woocommerce-checkout #payment .button,
.woocommerce-checkout #payment button.button,
.woocommerce-checkout #payment input.button {
    border-radius: 999px !important;
    border: none !important;
    background: #002857 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 28px rgba(0, 40, 87, 0.18);
    transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.woocommerce a.button.wc-forward:hover,
.woocommerce .return-to-shop .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .cart_totals .button:hover,
.woocommerce-checkout #payment .button:hover,
.woocommerce-checkout #payment button.button:hover,
.woocommerce-checkout #payment input.button:hover {
    background: #001d3d !important;
    box-shadow: 0 16px 30px rgba(0, 40, 87, 0.24);
    transform: translateY(-1px);
}

.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    background: linear-gradient(180deg, #ffffff 0%, #fcfbf7 100%) !important;
    border: 1px solid rgba(0, 40, 87, 0.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 44px rgba(13, 42, 79, 0.08);
}

.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__heading h2 {
    color: #002857 !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
}

.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-checkout #order_review table.shop_table,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary {
    border: none !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td,
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-name {
    color: #17324f;
    border-color: rgba(13, 42, 79, 0.08) !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    color: #002857 !important;
    font-weight: 800 !important;
}

.woocommerce-cart .maestri-cart-sidebar-coupon {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 22px 0 0;
    padding: 18px;
    background: #f8fafc;
    border: 1px solid rgba(13, 42, 79, 0.08);
    border-radius: 18px;
}

.woocommerce-cart .maestri-cart-sidebar-coupon label {
    color: #002857;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
}

.woocommerce-cart .maestri-cart-sidebar-coupon__row {
    display: flex;
    gap: 10px;
}

.woocommerce-cart .maestri-cart-sidebar-coupon__row .input-text {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 48px;
    border: 1px solid #d6dbe4 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #17324f !important;
    padding: 0 16px !important;
    box-shadow: none !important;
}

.woocommerce-cart .maestri-cart-sidebar-coupon__row .button {
    min-height: 48px;
    padding: 0 20px !important;
    border-radius: 16px !important;
    background: #002857 !important;
    color: #ffffff !important;
    border: 1px solid #002857 !important;
    font-weight: 700 !important;
}

.woocommerce-cart .maestri-cart-sidebar-coupon__row .button:hover {
    background: #002857 !important;
    color: #ffffff !important;
    border-color: #002857 !important;
    opacity: .92;
}

.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
    border-color: rgba(13, 42, 79, 0.08) !important;
}

.woocommerce-cart table.shop_table {
    border: none !important;
    border-radius: 18px;
    overflow: hidden;
}

.woocommerce-cart table.shop_table thead th {
    background: #f4f7fa;
    color: #002857;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 12px;
}

.woocommerce-cart .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.woocommerce-cart .coupon #coupon_code,
.woocommerce form.checkout_coupon input.input-text {
    min-height: 48px;
    border-radius: 14px !important;
    border: 1px solid rgba(0, 40, 87, 0.12) !important;
    padding: 0 14px !important;
    background: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.woocommerce-cart .coupon button.button,
.woocommerce form.checkout_coupon button.button {
    min-height: 48px;
    border-radius: 999px !important;
    padding: 0 18px !important;
    background: #c89a2b !important;
    color: #0d1b39 !important;
    border: none !important;
    font-weight: 800 !important;
}

.woocommerce-cart .coupon button.button:hover,
.woocommerce form.checkout_coupon button.button:hover {
    background: #b1851f !important;
}

body.woocommerce-checkout #payment div.payment_box,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-order-summary-item {
    border-radius: 16px;
}

/* ============================
   CART BASE LAYOUT
   ============================ */

body.woocommerce-cart .maestri-cart-page {
    margin-top: 20px;
}

body.woocommerce-cart .maestri-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
    gap: 28px;
    align-items: start;
}

body.woocommerce-cart .maestri-cart-main {
    min-width: 0;
}

body.woocommerce-cart .maestri-cart-sidebar {
    position: sticky;
    top: 24px;
}

body.woocommerce-cart .maestri-cart-table {
    width: 100%;
    background: #ffffff;
    border: 1px solid rgba(0, 40, 87, 0.08);
    border-radius: 24px;
    box-shadow: 0 18px 40px rgba(13, 42, 79, 0.07);
}

body.woocommerce-cart .maestri-cart-table thead th {
    padding: 18px 16px;
}

body.woocommerce-cart .maestri-cart-table tbody td {
    padding: 22px 16px;
    vertical-align: middle;
}

body.woocommerce-cart .maestri-cart-table .product-thumbnail img {
    width: 88px;
    border-radius: 18px;
    background: #f7f8fb;
}

body.woocommerce-cart .maestri-cart-item-name a {
    color: #002857;
    font-weight: 700;
    text-decoration: none;
}

body.woocommerce-cart .maestri-cart-item-name a:hover {
    color: #0d3f7a;
}

body.woocommerce-cart .product-remove .remove {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f8eaea;
    color: #ba3b3b !important;
    font-size: 22px;
    line-height: 1;
}

body.woocommerce-cart .product-remove .remove:hover {
    background: #f1d7d7;
    color: #982c2c !important;
}

body.woocommerce-cart .maestri-cart-qty-control {
    display: inline-grid;
    grid-template-columns: 42px minmax(68px, 82px) 42px;
    align-items: center;
    min-height: 48px;
    padding: 0 4px;
    background: #f4f6f9;
    border-radius: 999px;
}

body.woocommerce-cart .maestri-cart-qty-control .quantity {
    margin: 0 !important;
    float: none !important;
    width: 100%;
}

body.woocommerce-cart .maestri-cart-qty-control .qty,
body.woocommerce-cart .maestri-cart-qty-control input.qty {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #002857 !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: none !important;
}

body.woocommerce-cart .maestri-cart-qty-btn {
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #0f376d;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

body.woocommerce-cart .maestri-cart-qty-btn:hover {
    background: rgba(15, 55, 109, 0.08);
}

body.woocommerce-cart .maestri-cart-actions-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
}

body.woocommerce-cart .maestri-cart-actions-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

body.woocommerce-cart .maestri-cart-continue-shopping {
    background: #edf3fa !important;
    color: #002857 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .maestri-cart-continue-shopping:hover {
    background: #dfe8f3 !important;
}

body.woocommerce-cart .cart-collaterals {
    width: 100%;
}

body.woocommerce-cart .cross-sells {
    margin-top: 40px;
}

@media (max-width: 980px) {
    body.woocommerce-cart .maestri-cart-layout {
        grid-template-columns: 1fr;
    }

    body.woocommerce-cart .maestri-cart-sidebar {
        position: static;
    }

    .woocommerce-cart .maestri-cart-sidebar-coupon__row {
        flex-direction: column;
    }

    .woocommerce-cart .maestri-cart-sidebar-coupon__row .button {
        width: 100%;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .maestri-cart-table thead {
        display: none;
    }

    body.woocommerce-cart .maestri-cart-table,
    body.woocommerce-cart .maestri-cart-table tbody,
    body.woocommerce-cart .maestri-cart-table tr,
    body.woocommerce-cart .maestri-cart-table td {
        display: block;
        width: 100%;
    }

    body.woocommerce-cart .maestri-cart-table {
        border-radius: 0;
        box-shadow: none;
        border: none;
        background: transparent;
    }

    body.woocommerce-cart .maestri-cart-table tr.cart_item {
        position: relative;
        margin-bottom: 18px;
        padding: 18px;
        background: #ffffff;
        border: 1px solid rgba(0, 40, 87, 0.08);
        border-radius: 22px;
        box-shadow: 0 14px 30px rgba(13, 42, 79, 0.06);
    }

    body.woocommerce-cart .maestri-cart-table tbody td {
        padding: 8px 0;
        border: none !important;
    }

    body.woocommerce-cart .maestri-cart-table .product-remove {
        position: absolute;
        top: 14px;
        right: 14px;
        width: auto;
        padding: 0;
    }

    body.woocommerce-cart .maestri-cart-table .product-thumbnail img {
        width: 92px;
    }

    body.woocommerce-cart .maestri-cart-table td.product-price::before,
    body.woocommerce-cart .maestri-cart-table td.product-quantity::before,
    body.woocommerce-cart .maestri-cart-table td.product-subtotal::before {
        content: attr(data-title);
        display: block;
        margin-bottom: 6px;
        color: #6b7890;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    body.woocommerce-cart .maestri-cart-actions-buttons,
    body.woocommerce-cart .maestri-cart-actions-buttons .button,
    body.woocommerce-cart .maestri-cart-actions-row .coupon,
    body.woocommerce-cart .maestri-cart-actions-row .coupon .input-text,
    body.woocommerce-cart .maestri-cart-actions-row .coupon .button {
        width: 100%;
    }
}

/* ============================
   SINGLE PRODUCT REDESIGN 2026
   ============================ */

body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
    color: #7b7b7b;
    font-size: 14px;
    font-weight: 400;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .maestri-single-product-hero,
body.single-product .maestri-single-product-details {
    width: min(100%, 1280px);
    margin-left: auto;
    margin-right: auto;
}

body.single-product .maestri-breadcrumb-separator {
    display: inline-block;
    margin: 0 10px;
    color: #8a8a8a;
}

body.single-product .woocommerce-breadcrumb {
    margin: 8px auto 52px;
    padding: 0 20px;
}

body.single-product .maestri-single-product-shell,
body.single-product .woocommerce div.product.maestri-single-product-shell {
    display: block;
    grid-template-columns: none;
    gap: 0;
    align-items: initial;
}

body.single-product .maestri-single-product-hero {
    display: grid;
    grid-template-columns: 440px minmax(0, 1fr);
    gap: 44px;
    align-items: center;
    margin-top: 44px;
    padding: 0 20px;
    box-sizing: border-box;
}

body.single-product .maestri-single-gallery-card {
    position: relative;
    width: 100%;
    max-width: 440px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 28px;
    background: #ffffff;
    border: 1px solid rgba(13, 42, 79, 0.06);
    border-radius: 28px;
    box-shadow: 0 22px 48px rgba(17, 24, 39, 0.08);
    overflow: hidden;
}

body.single-product .maestri-single-zoom-trigger {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #0f376d;
    box-shadow: 0 10px 24px rgba(15, 55, 109, 0.16);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    z-index: 2;
}

body.single-product .maestri-single-gallery-card--zoomable {
    cursor: zoom-in;
}

body.single-product .maestri-single-gallery-card--zoomable .maestri-single-zoom-trigger {
    opacity: 0;
    pointer-events: none;
}

body.single-product .maestri-single-zoom-trigger:hover {
    transform: translateY(-1px);
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 55, 109, 0.2);
}

body.single-product .maestri-single-zoom-trigger svg {
    width: 22px;
    height: 22px;
}

body.single-product .maestri-single-product-image {
    display: block;
    width: auto !important;
    max-width: 64%;
    height: auto !important;
    max-height: 76%;
    object-fit: contain;
    transition: transform 0.28s ease;
    transform-origin: center center;
}

body.single-product .maestri-single-gallery-card--zoomable:hover .maestri-single-product-image {
    transform: scale(1.12);
}

body.single-product .maestri-single-gallery-card--zoomable:hover .maestri-single-zoom-trigger,
body.single-product .maestri-single-gallery-card--zoomable:focus-within .maestri-single-zoom-trigger {
    opacity: 1;
    pointer-events: auto;
}

body.single-product .maestri-single-product-image--placeholder {
    width: min(320px, 72%) !important;
}

body.maestri-single-image-modal-open {
    overflow: hidden;
}

body.single-product .maestri-single-image-modal[hidden] {
    display: none !important;
}

body.single-product .maestri-single-image-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

body.single-product .maestri-single-image-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(8, 18, 38, 0.72);
    cursor: pointer;
}

body.single-product .maestri-single-image-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 920px);
    max-height: 88vh;
    padding: 30px;
    background: #ffffff;
    border-radius: 28px;
    box-shadow: 0 30px 80px rgba(8, 18, 38, 0.35);
}

body.single-product .maestri-single-image-modal__dialog img {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: calc(88vh - 60px);
    object-fit: contain;
    margin: 0 auto;
}

body.single-product .maestri-single-image-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 55, 109, 0.08);
    color: #0f376d;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

@media (hover: none) {
    body.single-product .maestri-single-gallery-card--zoomable .maestri-single-zoom-trigger {
        opacity: 1;
        pointer-events: auto;
    }

    body.single-product .maestri-single-gallery-card--zoomable:hover .maestri-single-product-image {
        transform: none;
    }
}

body.single-product .maestri-single-summary-card,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

body.single-product .maestri-single-summary-card .product_title,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .product_title {
    margin: 0 0 26px;
    color: #14264d;
    font-size: clamp(2.3rem, 2.7vw, 2.95rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.04em;
    max-width: none;
    text-wrap: wrap;
    white-space: nowrap;
}

body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description {
    margin-bottom: 34px;
    color: #7e7e7e;
    font-size: 1.05rem;
    line-height: 1.48;
    max-width: none;
    display: block;
    overflow: visible;
    white-space: normal;
}

body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description br,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description br {
    display: none;
}

body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description p,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description p {
    margin: 0;
    display: inline;
}

body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description p + p::before,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description p + p::before {
    content: " ";
}

body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description > div,
body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description > div {
    display: inline;
}

@media (max-width: 767px) {
    body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description.maestri-short-description--interactive,
    body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description.maestri-short-description--interactive {
        position: relative;
        cursor: pointer;
        padding-bottom: 0;
    }

    body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description.maestri-short-description--collapsed,
    body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description.maestri-short-description--collapsed {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 4 !important;
        overflow: hidden !important;
    }

    body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description.maestri-short-description--expanded,
    body.single-product .woocommerce div.product div.summary.maestri-single-summary-card .woocommerce-product-details__short-description.maestri-short-description--expanded {
        display: block !important;
        overflow: visible !important;
    }

    body.single-product .maestri-short-description-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        margin: 10px 0 18px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #002857;
        font-size: 0.84rem;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
    }
}

body.single-product .promo-2x1-3x2 {
    display: none !important;
}

body.single-product .maestri-single-price-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 18px;
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid #ececec;
    max-width: none;
    width: 100%;
}

body.single-product .maestri-single-price-row p.price,
body.single-product .maestri-single-price-row span.price,
body.single-product .woocommerce div.product .maestri-single-price-row p.price,
body.single-product .woocommerce div.product .maestri-single-price-row span.price {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 18px;
    margin: 0 !important;
    color: #000000 !important;
    font-size: clamp(1.55rem, 1.75vw, 1.92rem) !important;
    font-weight: 800 !important;
    line-height: 1;
}

body.single-product .maestri-single-price-row ins,
body.single-product .maestri-single-price-row ins .amount,
body.single-product .maestri-single-price-row ins bdi {
    color: #000000 !important;
    text-decoration: none !important;
}

body.single-product .maestri-single-price-row del,
body.single-product .maestri-single-price-row del .amount,
body.single-product .maestri-single-price-row del bdi {
    color: #b5b5b5 !important;
    font-size: 0.8em !important;
    font-weight: 400 !important;
    text-decoration-thickness: 2px;
}

body.single-product .maestri-single-discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #fdeceb;
    color: #f44336;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

body.single-product .maestri-single-summary-card form.cart,
body.single-product form.cart {
    display: block !important;
    margin: 0 !important;
}

body.single-product .maestri-single-purchase-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    max-width: none;
    width: 100%;
}

body.single-product .maestri-qty-control {
    display: inline-grid;
    grid-template-columns: 34px 46px 34px;
    align-items: center;
    min-height: 42px;
    padding: 0 9px;
    background: #f1f1f1;
    border-radius: 999px;
    flex: 0 0 auto;
}

body.single-product .maestri-qty-btn {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #143d74;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
}

body.single-product .maestri-qty-btn:hover {
    background: rgba(20, 61, 116, 0.08);
}

body.single-product .maestri-qty-control .quantity,
body.single-product .maestri-qty-control .qty {
    width: 100% !important;
}

body.single-product .maestri-qty-control .quantity {
    height: auto !important;
}

body.single-product .maestri-qty-control input.qty,
body.single-product .maestri-qty-control .qty {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #143d74 !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

body.single-product .maestri-single-cta-group {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    min-width: auto;
}

body.single-product .maestri-single-summary-card .single_add_to_cart_button,
body.single-product .maestri-single-summary-card .maestri-go-to-cart-button,
body.single-product .single_add_to_cart_button,
body.single-product .maestri-go-to-cart-button {
    min-width: 0;
    min-height: 42px;
    padding: 0 16px !important;
    border-radius: 999px !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1 !important;
    box-shadow: none !important;
    flex: 0 0 auto;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-wrap: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .maestri-single-summary-card .single_add_to_cart_button,
body.single-product .single_add_to_cart_button {
    border: 1px solid #f59d39 !important;
    background: #f59d39 !important;
    color: #ffffff !important;
    width: 206px !important;
    min-width: 206px !important;
}

body.single-product .maestri-single-summary-card .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:hover {
    border-color: #e28d2a !important;
    background: #e28d2a !important;
}

body.single-product .maestri-go-to-cart-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #0f376d !important;
    background: #0f376d !important;
    color: #ffffff !important;
    text-decoration: none !important;
    width: 178px !important;
    min-width: 178px !important;
}

body.single-product .maestri-go-to-cart-button:hover {
    border-color: #0b2c57 !important;
    background: #0b2c57 !important;
}

body.single-product .maestri-single-summary-card .stock,
body.single-product .maestri-single-summary-card .woocommerce-variation-availability {
    margin-bottom: 20px;
}

body.single-product .maestri-single-unavailable-state {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    margin-top: 4px;
    max-width: 100%;
    width: 100%;
}

body.single-product .maestri-qty-control--disabled {
    opacity: 0.78;
}

body.single-product .maestri-qty-btn--disabled,
body.single-product .maestri-qty-disabled-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #143d74;
}

body.single-product .maestri-qty-disabled-value {
    min-height: 38px;
    font-size: 0.92rem;
    font-weight: 700;
}

body.single-product .maestri-single-disabled-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    background: #f6b364;
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 800;
    opacity: 0.55;
    cursor: not-allowed;
    flex: 0 0 auto;
    white-space: nowrap;
}

body.single-product .maestri-city-blocked-notice {
    margin: 14px 0 0;
    max-width: 650px;
    padding: 14px 16px;
    border: 1px solid #ef4444;
    border-radius: 18px;
    background: #fff5f5;
    color: #9b1c1c;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
}

body.single-product .maestri-city-blocked-notice strong {
    display: inline;
    font-weight: 800;
}

body.single-product .maestri-single-summary-card .product_meta {
    display: none;
}

body.single-product .maestri-single-summary-card .product_meta > span {
    display: block;
    margin-bottom: 8px;
    color: #17324f !important;
    font-size: 15px;
    line-height: 1.45;
}

body.single-product .maestri-single-summary-card .product_meta > span a {
    color: #0f376d !important;
    font-weight: 600;
}

body.single-product .maestri-single-product-details {
    margin-top: 72px;
}

body.single-product .maestri-product-tabs-shell,
body.single-product .woocommerce div.product .woocommerce-tabs.maestri-product-tabs-shell {
    margin-top: 0;
}

body.single-product .maestri-single-tab-heading {
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 22px;
    border-bottom: 1px solid #ededed;
}

body.single-product .maestri-single-tab-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 330px;
    max-width: 100%;
    height: 3px;
    border-radius: 999px;
    background: #f59d39;
}

body.single-product .maestri-single-tab-heading h2 {
    margin: 0;
    color: #666666;
    font-size: clamp(2rem, 2.8vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
}

body.single-product .maestri-single-tab-panel {
    padding: 0 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

body.single-product .jj-detalle-producto-wrapper {
    margin-top: 0;
}

body.single-product .jj-ficha-tecnica-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 26px;
    margin: 0 0 48px;
}

body.single-product .jj-ficha-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    transform: none !important;
}

body.single-product .jj-ficha-item:hover {
    box-shadow: none;
    transform: none;
}

body.single-product .jj-ficha-icon {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #faf8f5;
    color: #efb15c;
}

body.single-product .jj-ficha-icon svg {
    width: 22px;
    height: 22px;
}

body.single-product .jj-ficha-content {
    min-width: 0;
    width: 100%;
}

body.single-product .jj-ficha-label {
    margin: 2px 0 2px;
    color: #0f376d;
    font-size: 0.98rem;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.15;
}

body.single-product .jj-ficha-value {
    color: #173e73;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.2;
    word-break: break-word;
}

body.single-product .jj-detalle-descripcion {
    max-width: 1080px;
    color: #101010;
    font-size: 1.02rem;
    line-height: 1.45;
    padding-left: 0;
    margin: 0 auto;
    width: 100%;
}

body.single-product .jj-detalle-descripcion p {
    margin-bottom: 22px;
}

body.single-product .jj-detalle-descripcion strong,
body.single-product .jj-detalle-descripcion b {
    font-weight: 800;
}

@media (max-width: 1200px) {
    body.single-product .woocommerce-breadcrumb,
    body.single-product .maestri-single-product-hero,
    body.single-product .maestri-single-product-details {
        width: min(100%, 1000px);
    }

    body.single-product .maestri-single-product-hero {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    body.single-product .jj-ficha-tecnica-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-product .jj-detalle-descripcion {
        padding-left: 0;
    }
}

@media (max-width: 1024px) {
    body.single-product .maestri-single-product-hero {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 24px;
        width: min(100%, 760px);
        padding: 0 16px;
    }

    body.single-product .maestri-single-gallery-card {
        aspect-ratio: auto;
        min-height: 360px;
        max-width: 100%;
        padding: 28px 20px;
        margin: 0 auto;
    }

    body.single-product .maestri-single-summary-card,
    body.single-product .woocommerce div.product div.summary.maestri-single-summary-card {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    body.single-product .maestri-single-summary-card .product_title {
        max-width: 100%;
        white-space: normal;
        text-wrap: balance;
        font-size: clamp(2rem, 4.1vw, 2.5rem);
        line-height: 1.08;
        margin-bottom: 20px;
    }

    body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description {
        max-width: 100%;
        font-size: 1.02rem;
        line-height: 1.5;
        margin-bottom: 24px;
    }

    body.single-product .maestri-single-price-row {
        max-width: 100%;
        padding-bottom: 20px;
        margin-bottom: 18px;
    }

    body.single-product .maestri-single-purchase-bar,
    body.single-product .maestri-single-unavailable-state {
        width: 100%;
        max-width: 100%;
    }

    body.single-product .maestri-single-purchase-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    body.single-product .maestri-qty-control,
    body.single-product .maestri-qty-control--disabled {
        width: 188px;
        max-width: 100%;
        align-self: flex-start;
    }

    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-unavailable-state {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        align-items: center;
    }

    body.single-product .maestri-single-summary-card .single_add_to_cart_button,
    body.single-product .maestri-single-summary-card .maestri-go-to-cart-button,
    body.single-product .single_add_to_cart_button,
    body.single-product .maestri-go-to-cart-button,
    body.single-product .maestri-single-disabled-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        font-size: 0.92rem !important;
        padding: 0 14px !important;
    }

    body.single-product .maestri-city-blocked-notice {
        max-width: 100%;
    }

    body.single-product .maestri-single-product-details {
        margin-top: 64px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.single-product .maestri-single-product-hero {
        width: min(100%, 900px);
        padding: 0 18px;
    }

    body.single-product .maestri-single-gallery-card {
        min-height: 390px;
    }

    body.single-product .maestri-single-summary-card .product_title {
        text-wrap: nowrap;
        white-space: nowrap;
        font-size: clamp(2.2rem, 4.3vw, 2.75rem);
    }

    body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description {
        font-size: 1.04rem;
        line-height: 1.48;
    }

    body.single-product .maestri-single-purchase-bar {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        flex-wrap: nowrap;
    }

    body.single-product .maestri-qty-control,
    body.single-product .maestri-qty-control--disabled {
        width: auto;
        min-width: 152px;
        align-self: center;
    }

    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-unavailable-state {
        display: flex;
        flex-wrap: nowrap;
        width: auto;
        gap: 10px;
    }

    body.single-product .maestri-single-summary-card .single_add_to_cart_button,
    body.single-product .single_add_to_cart_button {
        width: 188px !important;
        min-width: 188px !important;
        min-height: 46px !important;
        font-size: 0.92rem !important;
    }

    body.single-product .maestri-single-summary-card .maestri-go-to-cart-button,
    body.single-product .maestri-go-to-cart-button {
        width: 188px !important;
        min-width: 188px !important;
        min-height: 46px !important;
        font-size: 0.92rem !important;
    }

    body.single-product .maestri-single-unavailable-state .maestri-single-disabled-button {
        width: 188px !important;
        min-width: 188px !important;
        min-height: 46px !important;
        padding: 0 14px !important;
    }
}

@media (max-width: 767px) {
    body.single-product .woocommerce-breadcrumb,
    body.single-product .woocommerce-breadcrumb a {
        font-size: 13px;
    }

    body.single-product .maestri-breadcrumb-separator {
        margin: 0 8px;
    }

    body.single-product .maestri-single-gallery-card {
        aspect-ratio: auto;
        min-height: 260px;
        border-radius: 18px;
        padding: 22px 16px;
    }

    body.single-product .maestri-single-product-image {
        max-width: 58%;
        max-height: 72%;
    }

    body.single-product .maestri-single-summary-card .product_title {
        white-space: normal;
        text-wrap: balance;
        font-size: clamp(1.8rem, 8vw, 2.25rem);
        line-height: 1.08;
        margin-bottom: 14px;
    }

    body.single-product .maestri-single-summary-card .woocommerce-product-details__short-description {
        font-size: 0.97rem;
        line-height: 1.45;
        margin-bottom: 18px;
    }

    body.single-product .maestri-single-price-row {
        gap: 10px;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }

    body.single-product .maestri-single-purchase-bar,
    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-unavailable-state {
        width: 100%;
        gap: 10px;
    }

    body.single-product .maestri-single-purchase-bar {
        flex-direction: column;
        align-items: stretch;
    }

    body.single-product .maestri-qty-control,
    body.single-product .maestri-qty-control--disabled {
        width: 100% !important;
        max-width: 220px;
        align-self: flex-start;
    }

    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-unavailable-state {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    body.single-product .maestri-qty-control,
    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-summary-card .single_add_to_cart_button,
    body.single-product .maestri-single-summary-card .maestri-go-to-cart-button,
    body.single-product .single_add_to_cart_button,
    body.single-product .maestri-go-to-cart-button {
        width: 100% !important;
    }

    body.single-product .maestri-single-summary-card .single_add_to_cart_button,
    body.single-product .maestri-single-summary-card .maestri-go-to-cart-button,
    body.single-product .single_add_to_cart_button,
    body.single-product .maestri-go-to-cart-button {
        min-width: 0 !important;
        min-height: 46px !important;
        font-size: 0.92rem !important;
        padding: 0 14px !important;
    }

    body.single-product .maestri-single-disabled-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
    }

    body.single-product .jj-ficha-tecnica-container {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 38px;
    }

    body.single-product .maestri-single-tab-heading {
        margin-bottom: 28px;
        padding-bottom: 18px;
    }

    body.single-product .maestri-single-tab-heading::after {
        width: 180px;
    }

    body.single-product .jj-detalle-descripcion {
        font-size: 1rem;
        line-height: 1.55;
    }
}

/* Final desktop lock: evita que reglas legacy con !important pisen proporciones */
@media (min-width: 1025px) {
    body.single-product .site-content,
    body.single-product .content-area,
    body.single-product #primary,
    body.single-product .site-main,
    body.single-product .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product .elementor-section.elementor-section-boxed > .elementor-container,
    body.single-product .elementor-container,
    body.single-product .container,
    body.single-product .ast-container,
    body.single-product .col-full {
        width: min(100%, 1360px) !important;
        max-width: 1360px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.single-product .woocommerce-breadcrumb {
        width: min(100%, 1360px) !important;
        margin: 8px auto 46px !important;
        padding: 0 22px !important;
    }

    body.single-product .maestri-single-product-hero {
        width: min(100%, 1360px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        grid-template-columns: 500px minmax(0, 1fr) !important;
        gap: 64px !important;
        align-items: center !important;
        padding: 0 22px !important;
    }

    body.single-product .maestri-single-gallery-card {
        max-width: 500px !important;
        aspect-ratio: 1 / 1 !important;
        padding: 34px 30px !important;
    }

    body.single-product .maestri-single-product-image {
        max-width: 62% !important;
        max-height: 78% !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card,
    body.single-product .woocommerce div.product div.summary.maestri-single-summary-card,
    body.single-product .maestri-single-summary-card.entry-summary {
        float: none !important;
        clear: none !important;
        width: 100% !important;
        max-width: 760px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card .product_title {
        max-width: 760px !important;
        font-size: clamp(2.5rem, 3vw, 3.15rem) !important;
        white-space: nowrap !important;
        text-wrap: nowrap !important;
        line-height: 1.05 !important;
        margin-bottom: 26px !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card .woocommerce-product-details__short-description {
        max-width: 760px !important;
        font-size: 1.05rem !important;
        line-height: 1.48 !important;
        white-space: normal !important;
        margin-bottom: 34px !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card .woocommerce-product-details__short-description br {
        display: none !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card .woocommerce-product-details__short-description p {
        display: inline !important;
        margin: 0 !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card .woocommerce-product-details__short-description p + p::before {
        content: " " !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-purchase-bar {
        gap: 12px !important;
        max-width: 760px !important;
        width: 100% !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-purchase-bar .maestri-qty-control {
        grid-template-columns: 34px 46px 34px !important;
        min-height: 42px !important;
        padding: 0 9px !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-purchase-bar .maestri-qty-btn {
        width: 34px !important;
        height: 34px !important;
        font-size: 1.4rem !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-purchase-bar .maestri-qty-control input.qty {
        height: 34px !important;
        min-height: 34px !important;
        font-size: 0.92rem !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group {
        gap: 9px !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group .single_add_to_cart_button,
    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group .maestri-go-to-cart-button {
        min-height: 42px !important;
        padding: 0 16px !important;
        font-size: 0.8rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group .single_add_to_cart_button {
        width: 196px !important;
        min-width: 196px !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group .maestri-go-to-cart-button {
        width: 196px !important;
        min-width: 196px !important;
    }

    body.single-product .maestri-single-unavailable-state {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 760px !important;
    }

    body.single-product .maestri-single-unavailable-state .maestri-single-disabled-button,
    body.single-product .maestri-single-unavailable-state .maestri-go-to-cart-button {
        width: 196px !important;
        min-width: 196px !important;
        min-height: 42px !important;
        padding: 0 16px !important;
        flex: 0 0 auto !important;
    }
}

/* Botones simétricos: override final para evitar anchos heredados distintos */
@media (min-width: 768px) {
    body.single-product .maestri-single-cta-group .single_add_to_cart_button,
    body.single-product .maestri-single-cta-group .maestri-go-to-cart-button {
        width: 196px !important;
        min-width: 196px !important;
        flex: 0 0 196px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        padding: 0 16px !important;
        line-height: 1 !important;
        border-width: 1px !important;
        border-style: solid !important;
        border-radius: 999px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.single-product .maestri-single-unavailable-state .maestri-single-disabled-button,
    body.single-product .maestri-single-unavailable-state .maestri-go-to-cart-button {
        width: 196px !important;
        min-width: 196px !important;
        flex: 0 0 196px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        padding: 0 16px !important;
        line-height: 1 !important;
        border-width: 1px !important;
        border-style: solid !important;
        border-radius: 999px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Hard fix: misma altura visual entre "Agregar al carrito" e "Ir al carrito" */
@media (min-width: 768px) {
    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group {
        align-items: stretch !important;
    }

    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group > button.single_add_to_cart_button,
    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group > .single_add_to_cart_button,
    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group > a.maestri-go-to-cart-button,
    body.single-product .woocommerce div.product .summary.maestri-single-summary-card form.cart .maestri-single-cta-group > .maestri-go-to-cart-button {
        width: 196px !important;
        min-width: 196px !important;
        flex: 0 0 196px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1 !important;
        border-width: 1px !important;
        border-style: solid !important;
        border-radius: 999px !important;
        box-sizing: border-box !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        transform: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Uniformidad definitiva de botones (normal + bloqueado) */
@media (min-width: 768px) {
    body.single-product .maestri-single-cta-group > .single_add_to_cart_button,
    body.single-product .maestri-single-cta-group > .maestri-go-to-cart-button,
    body.single-product .maestri-single-unavailable-state > .maestri-single-disabled-button,
    body.single-product .maestri-single-unavailable-state > .maestri-go-to-cart-button {
        width: 196px !important;
        min-width: 196px !important;
        max-width: 196px !important;
        flex: 0 0 196px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        line-height: 1 !important;
        font-size: 0.92rem !important;
        border-width: 1px !important;
        border-style: solid !important;
        border-radius: 999px !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        transform: none !important;
    }
}

/* Source of truth: ambos botones de acción usan la misma caja visual */
body.single-product .maestri-single-cta-group > .maestri-action-btn,
body.single-product .maestri-single-unavailable-state > .maestri-action-btn {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 999px !important;
    transform: none !important;
}

@media (min-width: 768px) {
    body.single-product .maestri-single-cta-group > .maestri-action-btn,
    body.single-product .maestri-single-unavailable-state > .maestri-action-btn {
        width: 196px !important;
        min-width: 196px !important;
        max-width: 196px !important;
        flex: 0 0 196px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        padding: 0 16px !important;
        font-size: 0.92rem !important;
    }
}

/* Override solicitado: altura/centrado del botón agregar */
body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart button.single_add_to_cart_button {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 30px !important;
    line-height: 1 !important;
}

body.single-product .maestri-single-cta-group .added_to_cart,
body.single-product form.cart .added_to_cart {
    display: none !important;
}

@media (max-width: 767px) {
    body.single-product .maestri-single-purchase-bar {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
    }

    body.single-product .maestri-qty-control,
    body.single-product .maestri-qty-control--disabled {
        width: min(100%, 250px) !important;
        max-width: 250px !important;
        margin: 0 auto !important;
        align-self: center !important;
    }

    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-unavailable-state {
        width: 100% !important;
        max-width: 420px !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    body.single-product .maestri-single-cta-group > .maestri-action-btn,
    body.single-product .maestri-single-unavailable-state > .maestri-action-btn {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        padding: 0 14px !important;
        font-size: 0.92rem !important;
    }
}

/* Hard fix mobile: evita que la cápsula de cantidad se estire */
@media (max-width: 767px) {
    body.single-product .maestri-single-purchase-bar > .maestri-qty-control,
    body.single-product .maestri-single-unavailable-state > .maestri-qty-control--disabled {
        width: min(100%, 320px) !important;
        min-width: min(100%, 320px) !important;
        max-width: 320px !important;
        flex: 0 0 auto !important;
        margin: 0 auto !important;
        padding: 0 10px !important;
        grid-template-columns: 48px 1fr 48px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        box-sizing: border-box !important;
    }

    body.single-product .maestri-single-purchase-bar > .maestri-qty-control .maestri-qty-btn,
    body.single-product .maestri-single-unavailable-state > .maestri-qty-control--disabled .maestri-qty-btn {
        width: 48px !important;
        height: 48px !important;
        font-size: 1.75rem !important;
    }

    body.single-product .maestri-single-purchase-bar > .maestri-qty-control input.qty,
    body.single-product .maestri-single-unavailable-state > .maestri-qty-control--disabled .maestri-qty-disabled-value {
        height: 48px !important;
        min-height: 48px !important;
        font-size: 1.05rem !important;
    }

    body.single-product .maestri-single-cta-group,
    body.single-product .maestri-single-unavailable-state {
        max-width: 320px !important;
    }

    body.single-product .maestri-single-cta-group > .maestri-action-btn,
    body.single-product .maestri-single-unavailable-state > .maestri-action-btn,
    body.single-product .maestri-single-summary-card .single_add_to_cart_button,
    body.single-product .maestri-go-to-cart-button,
    body.single-product .maestri-single-disabled-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 320px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        padding: 0 16px !important;
        font-size: 0.95rem !important;
    }
}

/* Cart block summary sidebar: single clean card */
body.woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 392px) !important;
    column-gap: 20px !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 392px !important;
    min-width: 392px !important;
    padding-left: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar {
    background: #ffffff !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
    padding: 34px 34px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar::before {
    content: "Resumen del pedido";
    display: block;
    margin: 0 0 28px;
    color: #111111;
    font-size: 1.08rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-accepted-payment-methods-block {
    display: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar > *,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-totals-block,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-cart__payment-methods {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar > * + * {
    border-top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block > * {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 28px !important;
    align-items: baseline !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item {
    color: #202020 !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item__label {
    justify-self: start !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item__value {
    justify-self: end !important;
    text-align: right !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item--total,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item {
    margin-top: 6px !important;
    font-size: 1.12rem !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 28px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .woo-points-row,
body.woocommerce-cart .wc-block-components-sidebar .woo-points-row *,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item.woo-points-row,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item .woo-points-label,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item .woo-points-value {
    color: #2eae62 !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 56px !important;
    margin-top: 28px !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f99d38 !important;
    color: #ffffff !important;
    font-size: 0 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::before,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::before {
    content: "Continuar compra" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::after,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::after {
    content: "\2192" !important;
    margin-left: 12px !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

@media (max-width: 1180px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr !important;
        row-gap: 28px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-components-sidebar {
        padding: 28px 26px 28px !important;
        border-radius: 18px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar::before {
        margin-bottom: 22px !important;
        font-size: 1rem !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
        min-height: 52px !important;
        margin-top: 22px !important;
        font-size: 0.98rem !important;
    }
}

/* Cart sidebar final alignment: same inner space left/right */
body.woocommerce-cart .wc-block-components-sidebar {
    --maestri-summary-inner-offset: 16px;
}

body.woocommerce-cart .wc-block-components-sidebar::before,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-totals-block,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block {
    width: calc(100% - (var(--maestri-summary-inner-offset) * 2)) !important;
    max-width: calc(100% - (var(--maestri-summary-inner-offset) * 2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button {
    margin-top: 12px !important;
    padding: 0 18px !important;
    border: 1px solid #002857 !important;
    border-radius: 14px !important;
    background: #002857 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button::before,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button::after,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button::before,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-components-sidebar {
        --maestri-summary-inner-offset: 12px;
    }
}

/* Cart sidebar pixel-lock v2: symmetric inner spacing */
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
    box-sizing: border-box !important;
    width: 392px !important;
    min-width: 392px !important;
    padding: 42px 44px 36px !important;
    border: 1px solid rgba(17, 38, 69, 0.12) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar::before {
    display: block !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: #111111 !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar > *,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-proceed-to-checkout-block {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-totals-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 20px !important;
    align-items: baseline !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-totals-item__label {
    justify-self: start !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-totals-item__value {
    justify-self: end !important;
    text-align: right !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar .wc-block-components-button:not(.is-link) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
}

@media (max-width: 1180px) {
    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
        padding: 34px 30px 30px !important;
        border-radius: 14px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar::before {
        margin-bottom: 22px !important;
        font-size: 1.08rem !important;
    }
}

/* Cart row lock: keep quantity '+' away from total price */
@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 292px !important;
        min-width: 292px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        padding-right: 78px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        margin-right: 42px !important;
        flex-shrink: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-left: 24px !important;
        padding-right: 92px !important;
        text-align: right !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        right: 18px !important;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 252px !important;
        min-width: 252px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        padding-right: 58px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        margin-right: 28px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-left: 14px !important;
        padding-right: 74px !important;
    }
}

/* Cart row stability v3: avoid qty/price collision for long totals */
@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        column-gap: 18px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name a {
        min-width: 0 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        padding-right: 28px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        margin-right: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-left: 40px !important;
        padding-right: 88px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.woocommerce-cart table.wc-block-cart-items {
        table-layout: fixed !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: visible !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-product {
        padding-left: 8px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "name"
            "prices"
            "badge"
            "qty" !important;
        row-gap: 8px !important;
        column-gap: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name a {
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
        display: block !important;
        margin: 0 !important;
        text-align: left !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        padding-right: 8px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image {
        width: 74px !important;
        padding-left: 8px !important;
        padding-right: 12px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        justify-self: start !important;
        align-self: start !important;
        gap: 8px !important;
        margin-top: 2px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 176px !important;
        min-width: 176px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-left: 8px !important;
        padding-right: 18px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: 20px !important;
        height: 20px !important;
        margin-left: 8px !important;
    }
}

/* iPad mini/tablet centering lock: symmetric container + balanced columns */
@media (min-width: 768px) and (max-width: 1024px) {
    body.woocommerce-cart #primary,
    body.woocommerce-cart .content-area,
    body.woocommerce-cart .site-main {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart {
        width: min(100%, 728px) !important;
        max-width: 728px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 10px 22px 34px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart-items-block,
    body.woocommerce-cart table.wc-block-cart-items {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 176px !important;
        min-width: 176px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        padding-right: 8px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-left: 8px !important;
        padding-right: 18px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    main#content.site-main:has(.wc-block-cart),
    .page-content:has(.wc-block-cart) {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .wc-block-cart {
        width: min(100%, 728px) !important;
        max-width: 728px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        box-sizing: border-box !important;
    }
}

/* iPad Mini canonical cart layout (exact centered composition) */
@media (min-width: 768px) and (max-width: 1024px) {
    body.woocommerce-cart .wc-block-cart,
    .wc-block-cart {
        width: min(100%, 600px) !important;
        max-width: 600px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 10px 0 28px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout,
    .wc-block-components-sidebar-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 20px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart-items-block,
    body.woocommerce-cart table.wc-block-cart-items,
    .wc-block-components-sidebar-layout .wc-block-components-main,
    .wc-block-components-sidebar-layout .wc-block-cart-items-block,
    table.wc-block-cart-items {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items {
        table-layout: fixed !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-product {
        width: auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 170px !important;
        min-width: 170px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image {
        width: 74px !important;
        padding-left: 10px !important;
        padding-right: 12px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product {
        padding-right: 6px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "name"
            "badge"
            "qty" !important;
        row-gap: 8px !important;
        column-gap: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name a {
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        justify-self: start !important;
        align-self: start !important;
        margin: 0 !important;
        gap: 8px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-left: 6px !important;
        padding-right: 16px !important;
        text-align: right !important;
        vertical-align: middle !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: 20px !important;
        height: 20px !important;
        margin-left: 8px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar,
    .wc-block-components-sidebar.wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 600px !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        position: static !important;
    }
}

/* Cart final hotfix: neutralize alignwide offset + separate remove(X) from qty '+' */
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
    margin-inline: 0 !important;
}

@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
        position: relative !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        padding-right: 56px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        position: absolute !important;
        right: 14px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 22px !important;
        height: 22px !important;
        margin: 0 !important;
        color: transparent !important;
        font-size: 0 !important;
        text-decoration: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 2 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::before {
        content: "\00d7" !important;
        color: #111111 !important;
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 300 !important;
        display: block !important;
    }
}

/* Cart prices visibility lock: show item price + discount on all breakpoints */
body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
    display: block !important;
    margin: 2px 0 0 !important;
    line-height: 1.15 !important;
}

body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices .wc-block-components-product-price__regular,
body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices del {
    display: inline !important;
    margin: 0 8px 0 0 !important;
    color: #b4b4b4 !important;
    font-size: 0.96rem !important;
    font-weight: 400 !important;
}

body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices ins,
body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices .wc-block-formatted-money-amount {
    color: #111111 !important;
    font-size: 1.04rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    -webkit-text-fill-color: #111111 !important;
}

@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        grid-template-areas:
            "name qty"
            "prices qty"
            "badge qty" !important;
        row-gap: 8px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-cart-item__wrap {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "name"
            "prices"
            "badge"
            "qty" !important;
        row-gap: 8px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
    }
}

/* Mobile cart canonical layout: clean and readable */
@media (max-width: 767px) {
    body.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
    .wp-block-woocommerce-cart.alignwide {
        margin-inline: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart {
        width: 100% !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 8px 12px 92px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 18px !important;
    }

    body.woocommerce-cart .wc-block-cart-items thead {
        display: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items,
    body.woocommerce-cart table.wc-block-cart-items tbody {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
        row-gap: 10px !important;
        align-items: start !important;
        padding: 18px 0 !important;
        border-bottom: 1px solid rgba(17, 38, 69, 0.12) !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image {
        width: 48px !important;
        padding: 0 !important;
        margin-top: 2px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img {
        width: 38px !important;
        max-width: 38px !important;
        height: auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "name"
            "prices"
            "badge"
            "qty" !important;
        row-gap: 10px !important;
        margin: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name a {
        grid-area: name !important;
        font-size: 1.03rem !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
        display: block !important;
        margin: 2px 0 0 !important;
        padding-bottom: 4px !important;
        text-align: left !important;
        justify-self: start !important;
        width: auto !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices .wc-block-components-product-price {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 8px !important;
        justify-content: flex-start !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-sale-badge {
        grid-area: badge !important;
        margin: 10px 0 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        grid-area: qty !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 4px 0 0 !important;
        width: max-content !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        position: static !important;
        transform: none !important;
        width: 20px !important;
        height: 20px !important;
        margin-left: 6px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        text-align: right !important;
        align-self: start !important;
        padding-top: 6px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price__value,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
        font-size: 1.05rem !important;
        line-height: 1.1 !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        position: static !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
        font-size: 1rem !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::before,
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::before {
        content: none !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::after,
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::after {
        content: "\2192" !important;
        margin-left: 10px !important;
    }
}

@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        text-align: left !important;
    }
}

/* Cart coupon vs checkout CTA: isolate button styles */
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 56px !important;
    margin: 28px 0 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f99d38 !important;
    color: #ffffff !important;
    font-size: 0 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::before,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::before {
    content: "Continuar compra" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button::after,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link)::after {
    content: "\2192" !important;
    display: inline-block !important;
    margin-left: 12px !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    margin-bottom: 24px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 132px !important;
    min-height: 46px !important;
    margin: 8px 0 0 !important;
    padding: 0 18px !important;
    border: 1px solid #002857 !important;
    border-radius: 14px !important;
    background: #002857 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button::before,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button::after,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button::before,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button span,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button span {
    display: inline !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button:hover,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button:focus,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button:hover,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content {
    padding-top: 2px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-totals-coupon__content,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-text-input {
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__button {
    margin-top: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button:disabled,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button:disabled,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button[disabled],
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button[disabled] {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Cart coupon final compression: remove the extra vertical gap between field and button */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-totals-coupon__content,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__content,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon input,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block input {
    margin: 0 !important;
    margin-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button {
    margin-top: -6px !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__button {
    margin-top: -6px !important;
    padding-top: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon form,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block form,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon fieldset,
body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    gap: 0 !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link) {
        min-height: 52px !important;
        margin-top: 22px !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon button,
    body.woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block button {
        width: 100% !important;
    }
}

/* Cart money formatting lock: keep currency symbol attached to amount */
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .wc-block-cart-item__prices .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-cart-item__prices ins,
body.woocommerce-cart .wc-block-cart-item__prices del,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-cart-item__total ins,
body.woocommerce-cart .wc-block-cart-item__total del {
    display: inline-block !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

body.woocommerce-cart .wc-block-cart-item__prices .wc-block-formatted-money-amount bdi,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount bdi,
body.woocommerce-cart .wc-block-cart-item__prices .woocommerce-Price-amount bdi,
body.woocommerce-cart .wc-block-cart-item__total .woocommerce-Price-amount bdi,
body.woocommerce-cart .wc-block-cart-item__prices .woocommerce-Price-currencySymbol,
body.woocommerce-cart .wc-block-cart-item__total .woocommerce-Price-currencySymbol {
    display: inline !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

/* Cart desktop distribution lock: cleaner product row balance */
@media (min-width: 1025px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        grid-template-areas:
            "name name"
            "prices qty"
            "badge qty" !important;
        column-gap: 20px !important;
        row-gap: 8px !important;
        align-items: start !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-product-name a {
        grid-area: name !important;
        width: 100% !important;
        max-width: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        line-height: 1.2 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
        justify-self: start !important;
        text-align: left !important;
        margin-top: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        grid-area: qty !important;
        justify-self: end !important;
        margin: 0 !important;
        gap: 10px !important;
    }
}

/* Cart qty control lock: perfectly centered - [n] + */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
    display: inline-flex !important;
    align-items: center !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    display: inline-grid !important;
    grid-template-columns: 30px 44px 30px !important;
    align-items: center !important;
    justify-items: center !important;
    min-height: 30px !important;
    margin: 0 !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector input,
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
    width: 44px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 30px !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector button,
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

/* Desktop cart row exact lock (reference): price + qty on one line, badge below */
@media (min-width: 1025px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        grid-template-areas:
            "name name"
            "prices qty"
            "badge ." !important;
        column-gap: 18px !important;
        row-gap: 8px !important;
        align-items: center !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
        align-self: center !important;
        margin: 0 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-sale-badge {
        grid-area: badge !important;
        margin-top: 2px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        grid-area: qty !important;
        align-self: center !important;
        justify-self: start !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 0 !important;
        transform: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
        grid-template-columns: 28px 44px 28px !important;
        min-height: 30px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector button {
        width: 28px !important;
        height: 30px !important;
        font-size: 28px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector__input,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector input {
        width: 44px !important;
        height: 30px !important;
        line-height: 30px !important;
    }
}

/* Final qty alignment lock: no manual left offsets, centered in its own column */
@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) 136px !important;
        column-gap: 16px !important;
        align-items: center !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        grid-area: qty !important;
        width: 136px !important;
        min-width: 136px !important;
        justify-self: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        margin: 0 !important;
    }
}

/* Hard override for Woo inline offsets on quantity selector (desktop/tablet) */
@media (min-width: 768px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 16px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 136px !important;
        min-width: 136px !important;
        max-width: 136px !important;
        place-self: center end !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector[style],
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector[style*="left"] {
        position: relative !important;
        inset: unset !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 auto !important;
    }
}

/* Desktop/Notebook quantity visual fix: keep full "- [n] +" visible and separated from unit price */
@media (min-width: 1025px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        grid-template-columns: minmax(0, 1fr) 156px !important;
        column-gap: 24px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        padding-right: 10px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        width: 156px !important;
        min-width: 156px !important;
        max-width: 156px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector button {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        flex: 0 0 24px !important;
        width: 24px !important;
        min-width: 24px !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector__input,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector input {
        flex: 0 0 42px !important;
        width: 42px !important;
    }
}

/* Desktop canonical layout = same visual distribution already approved on tablet/mobile */
@media (min-width: 1025px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 132px !important;
        grid-template-areas:
            "name name"
            "prices qty"
            "badge qty" !important;
        column-gap: 18px !important;
        row-gap: 8px !important;
        align-items: center !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
        grid-area: prices !important;
        margin: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
        justify-self: start !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
        grid-area: qty !important;
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
        margin: 0 !important;
        justify-self: start !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
        width: 108px !important;
        min-width: 108px !important;
        max-width: 108px !important;
        margin: 0 !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-total,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        width: 176px !important;
        min-width: 176px !important;
    }
}

/* Cart recommendations section */
body.woocommerce-cart .maestri-cart-recommendations {
    margin-top: 40px !important;
}

body.woocommerce-cart .maestri-cart-recommendations__title {
    margin: 0 0 18px !important;
    color: #112645 !important;
    font-size: 1.65rem !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .maestri-cart-recommendations ul.products {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
}

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

body.woocommerce-cart .maestri-cart-recommendations ul.products li.product {
    list-style: none !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn {
    justify-content: flex-start !important;
    gap: 10px !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy {
    min-width: 176px !important;
    height: 42px !important;
    line-height: 42px !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus {
    transform: none !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    line-height: 42px !important;
}

body.woocommerce-cart .maestri-cart-recommendations .woocommerce ul.products li.product a.added_to_cart {
    display: none !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .maestri-cart-recommendations {
        margin-top: 28px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations__title {
        font-size: 1.35rem !important;
        margin-bottom: 14px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.woocommerce-cart .maestri-cart-recommendations ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 30px 18px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products li.product {
        padding: 0 8px 14px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products li.product .mm-card-image-wrapper {
        margin-bottom: 14px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products li.product .mm-card-body {
        min-height: auto !important;
        gap: 10px !important;
        padding: 0 2px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products li.product .mm-card-title {
        margin: 0 0 8px 0 !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products li.product .mm-card-price {
        margin: 0 0 12px 0 !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn {
        width: 100% !important;
        margin-top: 4px !important;
        padding: 0 2px !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 12px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy {
        min-width: 110px !important;
        height: 40px !important;
        line-height: 40px !important;
        padding: 0 22px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        line-height: 40px !important;
    }
}

/* Cart recommendations tablet lock: mimic single-product related cards exactly */
@media (min-width: 768px) and (max-width: 1024px) {
    body.woocommerce-cart .maestri-cart-recommendations {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product {
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-image-wrapper {
        width: 100% !important;
        min-height: 230px !important;
        margin: 0 0 12px !important;
        padding: 12px !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-image img {
        width: 100% !important;
        height: 180px !important;
        max-height: 180px !important;
        object-fit: contain !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-body {
        width: 100% !important;
        padding: 0 !important;
        gap: 8px !important;
        align-items: center !important;
        text-align: center !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-title,
    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-title a,
    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-price {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-btn {
        display: inline-flex !important;
        grid-template-columns: none !important;
        width: max-content !important;
        max-width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px !important;
        margin: 10px auto 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy,
    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus {
        justify-self: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-body {
        align-items: center !important;
        text-align: center !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-price,
    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-title,
    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-title a {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
}

/* Cart recommendations button alignment lock */
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 0 !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy,
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus {
    margin: 0 !important;
    align-self: center !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
    justify-self: start !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    justify-self: center !important;
}

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus::before,
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus::after {
    content: none !important;
    display: none !important;
}

/* Promo chip on cart line item (2x1 / 3x2) */
body.woocommerce-cart .maestri-cart-promo-chip {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 6px 0 0 !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
}

@media (max-width: 767px) {
    body.woocommerce-cart .maestri-cart-recommendations ul.products > li.product .mm-card-body {
        align-items: center !important;
        text-align: center !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn {
        display: flex !important;
        grid-template-columns: none !important;
        justify-content: center !important;
        gap: 12px !important;
        margin-top: 10px !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy {
        margin: 0 !important;
        justify-self: auto !important;
        align-self: center !important;
    }

body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-plus {
    margin: 0 !important;
    justify-self: auto !important;
    align-self: center !important;
}
}

/* ============================
   Thankyou / View Order polish
   ============================ */
body.woocommerce-order-received .woocommerce,
body.woocommerce-view-order .woocommerce,
body.woocommerce-account .woocommerce-MyAccount-content {
    --maestri-navy: #142850;
    --maestri-navy-soft: #425466;
    --maestri-gold: #c89a2b;
    --maestri-cream: #faf7f1;
    --maestri-line: rgba(20, 40, 80, 0.12);
}

body.woocommerce-order-received .woocommerce-order,
body.woocommerce-view-order .woocommerce-order,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order {
    display: grid;
    gap: 28px;
}

body.woocommerce-order-received .woocommerce-order > p.woocommerce-notice,
body.woocommerce-view-order .woocommerce-order > p.woocommerce-notice,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order > p.woocommerce-notice {
    margin: 0;
    padding: 18px 22px;
    border: 1px solid var(--maestri-line);
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%);
    color: var(--maestri-navy);
    font-size: 1.08rem;
    line-height: 1.55;
    box-shadow: 0 18px 38px rgba(20, 40, 80, 0.06);
}

body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-view-order ul.woocommerce-order-overview,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 14px;
    list-style: none;
    border: 1px solid rgba(20, 40, 80, 0.08);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(200, 154, 43, 0.08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fdfaf5 100%);
    box-shadow: 0 22px 52px rgba(20, 40, 80, 0.07);
    overflow: hidden;
}

body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-view-order ul.woocommerce-order-overview li,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li {
    margin: 0;
    min-height: 0;
    padding: 28px 36px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--maestri-navy-soft);
    font-size: 0.72rem;
    line-height: 1.4;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    position: relative;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-received ul.woocommerce-order-overview li span,
body.woocommerce-view-order ul.woocommerce-order-overview li strong,
body.woocommerce-view-order ul.woocommerce-order-overview li span,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li strong,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li span {
    display: block;
    margin-top: 0;
    color: var(--maestri-navy);
    font-size: 1.18rem;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 700;
    overflow-wrap: anywhere;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__order,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__order,
body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__date,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__date,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__date {
    grid-column: span 3;
    grid-row: 1;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__email,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__email {
    grid-column: span 6;
    grid-row: 1;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email strong,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__email strong,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__email strong {
    font-size: 1rem;
    font-weight: 600;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total {
    grid-column: span 4;
    grid-row: 2;
    margin: 12px 0 0;
    min-height: 180px;
    border-radius: 24px;
    background: linear-gradient(145deg, #13274a 0%, #183767 100%);
    color: rgba(255,255,255,0.72);
    box-shadow: 0 24px 44px rgba(20, 40, 80, 0.16);
    justify-content: center;
    align-items: flex-start;
    text-shadow: none;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total *,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total *,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total * {
    color: #ffffff !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total strong,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total strong {
    color: #ffffff;
    font-size: clamp(2rem, 2.8vw, 2.7rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-amount,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-amount,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-amount,
body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-amount bdi,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-amount bdi,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-amount bdi {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18em;
    white-space: nowrap;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-currencySymbol,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-currencySymbol,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total strong .woocommerce-Price-currencySymbol {
    display: inline;
    margin: 0;
    font-size: 0.82em;
    line-height: 1;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method {
    grid-column: span 8;
    grid-row: 2;
    margin: 12px 0 0;
    min-height: 180px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fffaf0 0%, #ffffff 100%);
    border: 1px solid rgba(200, 154, 43, 0.18);
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong {
    font-size: 1.42rem;
    line-height: 1.2;
    max-width: 34ch;
}

body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order::after,
body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__date::after,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__order::after,
body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__date::after,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__order::after,
body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__date::after {
    content: "";
    position: absolute;
    top: 26px;
    right: 0;
    width: 1px;
    height: calc(100% - 52px);
    background: rgba(20, 40, 80, 0.1);
}

body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-view-order .wc-bacs-bank-details,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details {
    padding: 28px 30px;
    border: 1px solid var(--maestri-line);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(200, 154, 43, 0.12), transparent 28%),
        linear-gradient(180deg, #fffdf9 0%, #ffffff 100%);
    box-shadow: 0 20px 42px rgba(20, 40, 80, 0.06);
}

body.woocommerce-order-received .wc-bacs-bank-details-heading,
body.woocommerce-order-received .wc-bacs-bank-details h2,
body.woocommerce-view-order .wc-bacs-bank-details-heading,
body.woocommerce-view-order .wc-bacs-bank-details h2,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-heading,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details h2 {
    margin: 0 0 10px;
    color: var(--maestri-navy);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.03em;
}

body.woocommerce-order-received .wc-bacs-bank-details > p:first-child,
body.woocommerce-view-order .wc-bacs-bank-details > p:first-child,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details > p:first-child {
    margin: 0 0 14px;
    color: var(--maestri-navy-soft);
    font-size: 1rem;
}

body.woocommerce-order-received .wc-bacs-bank-details-account-name,
body.woocommerce-view-order .wc-bacs-bank-details-account-name,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-account-name {
    margin: 0 0 18px;
    color: #2f2f2f;
    font-size: clamp(1.7rem, 2.5vw, 2.5rem);
    line-height: 1.1;
    font-weight: 800;
}

body.woocommerce-order-received .wc-bacs-bank-details-order-details,
body.woocommerce-view-order .wc-bacs-bank-details-order-details,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-order-received .wc-bacs-bank-details-order-details li,
body.woocommerce-view-order .wc-bacs-bank-details-order-details li,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details li {
    min-width: 0;
    margin: 0;
    padding: 0 18px 0 0;
    border-right: 1px dashed rgba(20, 40, 80, 0.18);
    color: var(--maestri-navy-soft);
    font-size: 0.74rem;
    line-height: 1.45;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.woocommerce-order-received .wc-bacs-bank-details-order-details li:last-child,
body.woocommerce-view-order .wc-bacs-bank-details-order-details li:last-child,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details li:last-child {
    border-right: none;
}

body.woocommerce-order-received .wc-bacs-bank-details-order-details li strong,
body.woocommerce-order-received .wc-bacs-bank-details-order-details li span,
body.woocommerce-view-order .wc-bacs-bank-details-order-details li strong,
body.woocommerce-view-order .wc-bacs-bank-details-order-details li span,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details li strong,
body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details li span {
    display: block;
    margin-top: 6px;
    color: #2f2f2f;
    font-size: 1.05rem;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 800;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-view-order .woocommerce-order-details,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-view-order .woocommerce-customer-details,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
    margin: 0;
}

body.woocommerce-order-received .woocommerce-order-details > h2,
body.woocommerce-view-order .woocommerce-order-details > h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details > h2,
body.woocommerce-order-received .woocommerce-customer-details > h2,
body.woocommerce-view-order .woocommerce-customer-details > h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details > h2,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-view-order .woocommerce-column__title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
    margin: 0 0 18px;
    color: #2f2f2f;
    font-size: clamp(2rem, 2.8vw, 3rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.03em;
}

body.woocommerce-order-received table.woocommerce-table--order-details,
body.woocommerce-view-order table.woocommerce-table--order-details,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--maestri-line);
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(20, 40, 80, 0.05);
}

body.woocommerce-order-received table.woocommerce-table--order-details thead th,
body.woocommerce-view-order table.woocommerce-table--order-details thead th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead th {
    padding: 18px 18px;
    border-bottom: 1px solid var(--maestri-line);
    background: #f8f5ef;
    color: var(--maestri-navy);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

body.woocommerce-order-received table.woocommerce-table--order-details tbody td,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td,
body.woocommerce-view-order table.woocommerce-table--order-details tbody td,
body.woocommerce-view-order table.woocommerce-table--order-details tfoot th,
body.woocommerce-view-order table.woocommerce-table--order-details tfoot td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot td {
    padding: 18px 18px;
    border-bottom: 1px solid rgba(20, 40, 80, 0.08);
    color: #2f2f2f;
    font-size: 1rem;
    line-height: 1.55;
    vertical-align: top;
}

body.woocommerce-order-received table.woocommerce-table--order-details tr:last-child td,
body.woocommerce-order-received table.woocommerce-table--order-details tr:last-child th,
body.woocommerce-view-order table.woocommerce-table--order-details tr:last-child td,
body.woocommerce-view-order table.woocommerce-table--order-details tr:last-child th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr:last-child td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr:last-child th {
    border-bottom: none;
}

body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-view-order table.woocommerce-table--order-details tfoot th,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot th {
    width: 52%;
    background: #fcfaf6;
    color: var(--maestri-navy);
    font-weight: 800;
}

body.woocommerce-order-received table.woocommerce-table--order-details tfoot td,
body.woocommerce-view-order table.woocommerce-table--order-details tfoot td,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot td {
    background: #ffffff;
    font-weight: 800;
}

body.woocommerce-order-received .order-again,
body.woocommerce-view-order .order-again,
body.woocommerce-account .woocommerce-MyAccount-content .order-again {
    margin-top: 18px;
}

body.woocommerce-order-received .order-again .button,
body.woocommerce-view-order .order-again .button,
body.woocommerce-account .woocommerce-MyAccount-content .order-again .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border: 1px solid rgba(20, 40, 80, 0.14);
    border-radius: 999px;
    background: #ffffff;
    color: var(--maestri-navy);
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(20, 40, 80, 0.05);
}

body.woocommerce-order-received .order-again .button:hover,
body.woocommerce-view-order .order-again .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .order-again .button:hover {
    border-color: var(--maestri-gold);
    background: #fff8eb;
    color: var(--maestri-navy);
}

body.woocommerce-order-received .woocommerce-customer-details .addresses,
body.woocommerce-view-order .woocommerce-customer-details .addresses,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 28px;
    align-items: start;
}

body.woocommerce-order-received .woocommerce-customer-details .addresses > *,
body.woocommerce-view-order .woocommerce-customer-details .addresses > *,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses > *,
body.woocommerce-order-received .woocommerce-customer-details .addresses .col-1,
body.woocommerce-order-received .woocommerce-customer-details .addresses .col-2,
body.woocommerce-view-order .woocommerce-customer-details .addresses .col-1,
body.woocommerce-view-order .woocommerce-customer-details .addresses .col-2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses .col-1,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses .col-2 {
    width: auto !important;
    max-width: none;
    min-width: 0;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .addresses .col-1,
body.woocommerce-view-order .woocommerce-customer-details .addresses .col-1,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses .col-1 {
    grid-column: 1;
    grid-row: 1;
}

body.woocommerce-order-received .woocommerce-customer-details .addresses .col-2,
body.woocommerce-view-order .woocommerce-customer-details .addresses .col-2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses .col-2 {
    grid-column: 2;
    grid-row: 1;
}

body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address,
body.woocommerce-view-order .woocommerce-column--billing-address,
body.woocommerce-view-order .woocommerce-column--shipping-address,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column--billing-address,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column--shipping-address {
    width: auto;
    float: none;
    margin: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: stretch;
}

body.woocommerce-order-received .woocommerce-customer-details > h2,
body.woocommerce-view-order .woocommerce-customer-details > h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details > h2 {
    margin-bottom: 26px;
}

body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-view-order .woocommerce-column__title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
    margin: 0;
    color: var(--maestri-navy);
    font-size: clamp(1.7rem, 2.4vw, 2.35rem);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.03em;
    max-width: 10ch;
    text-wrap: balance;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-view-order .woocommerce-customer-details address,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
    width: 100%;
    min-height: 230px;
    margin: 0;
    padding: 24px 26px;
    border: 1px solid var(--maestri-line);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%);
    color: #2f2f2f;
    font-size: 1rem;
    line-height: 1.75;
    font-style: normal;
    box-shadow: 0 18px 38px rgba(20, 40, 80, 0.05);
    overflow-wrap: anywhere;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email,
body.woocommerce-view-order .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-view-order .woocommerce-customer-details address .woocommerce-customer-details--email,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address .woocommerce-customer-details--email {
    display: block;
    margin-top: 10px;
    color: var(--maestri-navy);
    font-weight: 700;
}

@media (max-width: 1024px) {
    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-view-order ul.woocommerce-order-overview,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-view-order ul.woocommerce-order-overview li,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li {
        grid-column: span 3;
        padding: 24px 28px;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__email,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__email,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method {
        grid-column: span 6;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total {
        grid-column: span 2;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong {
        font-size: 1.2rem;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order::after,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__date::after,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__order::after,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__date::after,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__order::after,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__date::after {
        display: none;
    }

    body.woocommerce-order-received .wc-bacs-bank-details-order-details,
    body.woocommerce-view-order .wc-bacs-bank-details-order-details,
    body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.woocommerce-order-received .woocommerce-column__title,
    body.woocommerce-view-order .woocommerce-column__title,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
        max-width: none;
        font-size: 1.95rem;
    }
}

@media (max-width: 767px) {
    body.woocommerce-order-received .woocommerce-order,
    body.woocommerce-view-order .woocommerce-order,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order {
        gap: 22px;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-view-order ul.woocommerce-order-overview,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview,
    body.woocommerce-order-received .wc-bacs-bank-details-order-details,
    body.woocommerce-view-order .wc-bacs-bank-details-order-details,
    body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details,
    body.woocommerce-order-received .woocommerce-customer-details .addresses,
    body.woocommerce-view-order .woocommerce-customer-details .addresses,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses {
        grid-template-columns: 1fr;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-view-order ul.woocommerce-order-overview,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-view-order ul.woocommerce-order-overview,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview,
    body.woocommerce-order-received .wc-bacs-bank-details,
    body.woocommerce-view-order .wc-bacs-bank-details,
    body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details {
        padding: 18px;
        border-radius: 24px;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-view-order ul.woocommerce-order-overview li,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li,
    body.woocommerce-order-received .wc-bacs-bank-details-order-details li,
    body.woocommerce-view-order .wc-bacs-bank-details-order-details li,
    body.woocommerce-account .woocommerce-MyAccount-content .wc-bacs-bank-details-order-details li {
        min-height: auto;
        padding-right: 18px;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-view-order ul.woocommerce-order-overview li,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method {
        display: flex;
        width: 100%;
        min-width: 0;
        padding: 18px 16px;
        grid-column: auto;
        grid-row: auto;
        margin: 0;
        border-radius: 18px;
        justify-self: stretch;
        align-self: stretch;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method {
        min-height: auto;
        margin-top: 0;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__order,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__order,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__date,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__date,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__date,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__email,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__email,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method {
        grid-row: auto;
        grid-column: auto;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li strong,
    body.woocommerce-order-received ul.woocommerce-order-overview li span,
    body.woocommerce-view-order ul.woocommerce-order-overview li strong,
    body.woocommerce-view-order ul.woocommerce-order-overview li span,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li strong,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li span {
        font-size: 1rem;
        line-height: 1.3;
        overflow-wrap: break-word;
        word-break: break-word;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total strong,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total strong {
        font-size: 1.6rem;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method strong,
    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email strong,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__email strong,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__email strong {
        font-size: 0.98rem;
        max-width: none;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-view-order ul.woocommerce-order-overview li.woocommerce-order-overview__total,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li.woocommerce-order-overview__total {
        min-height: 0;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-view-order ul.woocommerce-order-overview li,
    body.woocommerce-account .woocommerce-MyAccount-content ul.woocommerce-order-overview li {
        letter-spacing: 0.08em;
    }

    body.woocommerce-order-received .woocommerce-column__title,
    body.woocommerce-view-order .woocommerce-column__title,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
        max-width: none;
        font-size: 1.8rem;
    }

    body.woocommerce-order-received .woocommerce-customer-details address,
    body.woocommerce-view-order .woocommerce-customer-details address,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
        min-height: auto;
    }

    body.woocommerce-order-received .woocommerce-customer-details .addresses > *,
    body.woocommerce-view-order .woocommerce-customer-details .addresses > *,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses > * {
        width: 100% !important;
    }

    body.woocommerce-order-received .woocommerce-customer-details .addresses .col-1,
    body.woocommerce-order-received .woocommerce-customer-details .addresses .col-2,
    body.woocommerce-view-order .woocommerce-customer-details .addresses .col-1,
    body.woocommerce-view-order .woocommerce-customer-details .addresses .col-2,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses .col-1,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses .col-2 {
        grid-column: 1;
        grid-row: auto;
    }

    body.woocommerce-order-received table.woocommerce-table--order-details thead,
    body.woocommerce-view-order table.woocommerce-table--order-details thead,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead {
        display: none;
    }

    body.woocommerce-order-received table.woocommerce-table--order-details,
    body.woocommerce-order-received table.woocommerce-table--order-details tbody,
    body.woocommerce-order-received table.woocommerce-table--order-details tfoot,
    body.woocommerce-order-received table.woocommerce-table--order-details tr,
    body.woocommerce-order-received table.woocommerce-table--order-details th,
    body.woocommerce-order-received table.woocommerce-table--order-details td,
    body.woocommerce-view-order table.woocommerce-table--order-details,
    body.woocommerce-view-order table.woocommerce-table--order-details tbody,
    body.woocommerce-view-order table.woocommerce-table--order-details tfoot,
    body.woocommerce-view-order table.woocommerce-table--order-details tr,
    body.woocommerce-view-order table.woocommerce-table--order-details th,
    body.woocommerce-view-order table.woocommerce-table--order-details td,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details th,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details td {
        display: block;
        width: 100%;
    }

    body.woocommerce-order-received table.woocommerce-table--order-details tr,
    body.woocommerce-view-order table.woocommerce-table--order-details tr,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr {
        border-bottom: 1px solid rgba(20, 40, 80, 0.08);
    }

    body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
    body.woocommerce-order-received table.woocommerce-table--order-details tfoot td,
    body.woocommerce-view-order table.woocommerce-table--order-details tfoot th,
    body.woocommerce-view-order table.woocommerce-table--order-details tfoot td,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot th,
    body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot td {
        width: 100%;
    }
}

/* =========================================================
   Checkout payments final polish override (must be last)
   ========================================================= */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked:after {
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
    margin: 0 0 12px 0 !important;
    border: 1px solid rgba(13, 42, 79, 0.14) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(20, 40, 80, 0.05) !important;
    overflow: hidden !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:hover {
    border-color: rgba(13, 42, 79, 0.25) !important;
    box-shadow: 0 10px 24px rgba(20, 40, 80, 0.08) !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 14px 16px 8px 44px !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
    left: 16px !important;
    top: 17px !important;
    transform: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label {
    color: #0d2a4f !important;
    font-size: clamp(15px, 1.45vw, 18px) !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
    margin: 0 !important;
    padding: 0 16px 14px 44px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: #c9a050 !important;
    background: linear-gradient(180deg, #fffdf7 0%, #ffffff 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(201, 160, 80, 0.28),
        0 12px 26px rgba(20, 40, 80, 0.08) !important;
}

@media (max-width: 640px) {
    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
        padding: 13px 14px 8px 40px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input {
        left: 14px !important;
        top: 16px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
        padding: 0 14px 12px 40px !important;
    }
}

/* =========================================================
   Single product hero image zoom override (must be last)
   ========================================================= */
body.single-product .maestri-single-gallery-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .maestri-single-product-image {
    width: auto !important;
    max-width: 86% !important;
    max-height: 92% !important;
    height: auto !important;
    object-fit: contain !important;
    transform: scale(1.08) !important;
    transform-origin: center center !important;
}

body.single-product .maestri-single-product-image--placeholder {
    width: min(420px, 86%) !important;
}

@media (max-width: 991px) {
    body.single-product .maestri-single-product-image {
        max-width: 80% !important;
        max-height: 88% !important;
        transform: scale(1.05) !important;
    }
}

@media (max-width: 767px) {
    body.single-product .maestri-single-product-image {
        max-width: 76% !important;
        max-height: 84% !important;
        transform: scale(1.02) !important;
    }
}

/* Final override: enlarge low-res image in single product card */
body.single-product .maestri-single-product-hero .maestri-single-gallery-card img.maestri-single-product-image.maestri-single-product-image--lowres {
    max-width: 88% !important;
    max-height: 92% !important;
    transform: scale(1.08) !important;
    image-rendering: auto !important;
}

@media (max-width: 991px) {
    body.single-product .maestri-single-product-hero .maestri-single-gallery-card img.maestri-single-product-image.maestri-single-product-image--lowres {
        max-width: 82% !important;
        max-height: 88% !important;
        transform: scale(1.05) !important;
    }
}

@media (max-width: 767px) {
    body.single-product .maestri-single-product-hero .maestri-single-gallery-card img.maestri-single-product-image.maestri-single-product-image--lowres {
        max-width: 76% !important;
        max-height: 82% !important;
        transform: scale(1.02) !important;
    }
}

/* ==========================================
   Productos (grid + slider): color naranja +
   ========================================== */
.woocommerce ul.products li.product a.button.mm-card-plus,
.mm-product-carousel .mm-card-btn a.button.mm-card-plus,
.elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus,
.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus {
    background: #C79213 !important;
    border-color: #C79213 !important;
}

.woocommerce ul.products li.product a.button.mm-card-plus:hover,
.woocommerce ul.products li.product a.button.mm-card-plus:focus,
.mm-product-carousel .mm-card-btn a.button.mm-card-plus:hover,
.mm-product-carousel .mm-card-btn a.button.mm-card-plus:focus,
.elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus:hover,
.elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus:focus,
.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus:hover,
.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus:focus {
    background: #C79213 !important;
    border-color: #C79213 !important;
}

/* ======================================
   Ancheta: botón "Ver ancheta" visible
   ====================================== */
@media (max-width: 1200px) {
    .mm-ancheta-builder .mm-ancheta-toggle,
    .mm-ancheta-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
        border-radius: 999px !important;
        border: 1px solid #C79213 !important;
        background: #0D2A4F !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        box-shadow: 0 8px 20px rgba(13, 42, 79, 0.22) !important;
        margin: 0 0 14px !important;
    }

    .mm-ancheta-builder .mm-ancheta-toggle:hover,
    .mm-ancheta-builder .mm-ancheta-toggle:focus,
    .mm-ancheta-builder .mm-ancheta-toggle:focus-visible,
    .mm-ancheta-toggle:hover,
    .mm-ancheta-toggle:focus,
    .mm-ancheta-toggle:focus-visible {
        background: #153861 !important;
        border-color: #C79213 !important;
        color: #ffffff !important;
        outline: none !important;
    }
}

@media (max-width: 767px) {
    .mm-ancheta-builder .mm-ancheta-toggle,
    .mm-ancheta-toggle {
        min-height: 46px !important;
        font-size: 15px !important;
        border-radius: 14px !important;
    }
}

/* Product carousel final override: restore symmetric add-to-cart row */
.mm-product-carousel .mm-card-btn {
    margin-top: auto !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    height: auto !important;
    min-height: 44px !important;
    margin-top: 8px !important;
    min-width: 0 !important;
}

.mm-product-carousel .mm-card-btn > a {
    margin: 0 !important;
}

.mm-product-carousel .mm-card-btn a.button.mm-card-buy {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 210px !important;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 20px !important;
    justify-self: start !important;
}

.mm-product-carousel .mm-card-btn a.button.mm-card-plus {
    grid-column: 2 !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    transform: translateY(-2px) !important;
    justify-self: end !important;
}

@media (max-width: 767px) {
    .mm-product-carousel .mm-card-btn {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        align-items: center !important;
        justify-content: start !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .mm-product-carousel .mm-card-btn a.button.mm-card-buy {
        grid-column: 1 !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        justify-self: stretch !important;
        padding: 0 16px !important;
    }

    .mm-product-carousel .mm-card-btn a.button.mm-card-plus {
        grid-column: 2 !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        line-height: 40px !important;
        flex: 0 0 40px !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    .mm-product-carousel .mm-card-btn a.button.mm-card-buy {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Buscador global */
.mm-global-search-toggle {
    position: fixed;
    right: 18px;
    top: 96px;
    z-index: 9998;
    border: none;
    border-radius: 999px;
    background: #111111;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

body.admin-bar .mm-global-search-toggle {
    top: 128px;
}

.mm-global-search-toggle:hover,
.mm-global-search-toggle:focus {
    background: #000000;
    color: #ffffff;
}

.mm-global-search-toggle-icon {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 50%;
    display: inline-block;
    position: relative;
}

.mm-global-search-toggle-icon::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 2px;
    background: currentColor;
    right: -5px;
    bottom: -2px;
    transform: rotate(45deg);
    border-radius: 2px;
}

.mm-global-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 9997;
    background: rgba(0, 0, 0, 0.45);
}

.mm-global-search-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: min(92vw, 460px);
    height: 100vh;
    z-index: 9999;
    background: #ffffff;
    transform: translateX(100%);
    transition: transform .24s ease;
    box-shadow: -18px 0 40px rgba(0, 0, 0, 0.2);
    padding: 24px 18px;
}

body.mm-global-search-open .mm-global-search-panel {
    transform: translateX(0);
}

body.mm-global-search-open {
    overflow: hidden;
}

.mm-global-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    gap: 12px;
}

.mm-global-search-head strong {
    font-size: 18px;
    line-height: 1.2;
}

.mm-global-search-close {
    border: none;
    background: transparent;
    font-size: 30px;
    line-height: 1;
    color: #111111;
    cursor: pointer;
    padding: 0 6px;
}

.mm-global-search-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
}

.mm-global-search-input {
    width: 100%;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    min-height: 46px;
    padding: 10px 14px;
    font-size: 15px;
    line-height: 1.2;
    background: #ffffff;
}

.mm-global-search-input:focus {
    border-color: #111111;
    outline: none;
}

.mm-global-search-submit {
    border: none;
    border-radius: 10px;
    min-height: 46px;
    padding: 10px 16px;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.mm-global-search-submit:hover,
.mm-global-search-submit:focus {
    background: #000000;
    color: #ffffff;
}

.mm-global-search-preview {
    grid-column: 1 / -1;
    border: 1px solid #e7e7e7;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
    max-height: 360px;
    overflow: auto;
}

.mm-global-search-preview-group-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6a6a6a;
    padding: 10px 12px 6px;
}

.mm-global-search-preview-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mm-global-search-preview-item {
    display: block;
    padding: 9px 12px;
    color: #111111;
    text-decoration: none;
    border-top: 1px solid #f1f1f1;
    font-size: 14px;
    line-height: 1.35;
}

.mm-global-search-preview-item:hover,
.mm-global-search-preview-item:focus {
    background: #f6f8fb;
    color: #111111;
}

.mm-global-search-preview-item--cat {
    font-weight: 600;
}

.mm-global-search-preview-all {
    display: block;
    padding: 10px 12px;
    border-top: 1px solid #ececec;
    font-weight: 600;
    color: #0d2a4f;
    text-decoration: none;
}

.mm-global-search-preview-all:hover,
.mm-global-search-preview-all:focus {
    background: #f6f8fb;
    color: #0d2a4f;
}

.mm-global-search-preview-empty {
    padding: 12px;
    color: #666666;
    font-size: 14px;
}

/* En resultados de búsqueda, ocultar launcher flotante para no tapar cards */
body.search .mm-global-search-toggle,
body.search .mm-global-search-overlay,
body.search .mm-global-search-panel {
    display: none !important;
}

/* Search Elementor: mantener botones dentro de la card sin afectar otros templates */
body.search .elementor-widget-woocommerce-products .mm-card-btn {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 10px !important;
    align-items: center !important;
}

body.search .elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-buy {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

body.search .elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus {
    min-width: 44px !important;
    width: 44px !important;
    height: 44px !important;
    justify-self: end !important;
    margin: 0 !important;
    transform: none !important;
}

/* Fallback robusto para cualquier plantilla de resultados (incluye e_search_props) */
body.search .woocommerce ul.products li.product .mm-card-btn,
body.search ul.products li.product .mm-card-btn {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-buy,
body.search ul.products li.product .mm-card-btn > a.button.mm-card-buy,
body.search .woocommerce ul.products li.product .mm-card-btn > a.add_to_cart_button,
body.search ul.products li.product .mm-card-btn > a.add_to_cart_button {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-plus,
body.search ul.products li.product .mm-card-btn > a.button.mm-card-plus {
    grid-column: 2 !important;
    min-width: 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    justify-self: end !important;
    transform: none !important;
    position: static !important;
}

/* Ajuste responsive final para resultados de búsqueda (Elementor + plantilla propia) */
@media (max-width: 1024px) {
    body.search .woocommerce ul.products,
    body.search ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    body.search .woocommerce ul.products li.product,
    body.search ul.products li.product {
        width: auto !important;
        margin: 0 !important;
    }
}

@media (max-width: 820px) {
    body.search .woocommerce ul.products,
    body.search ul.products {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.search .mm-search-catalog-wrap {
        width: min(560px, 94%) !important;
    }
}

/* ==========================================================
   Search Responsive Stabilizer (solo resultados de búsqueda)
   ========================================================== */
body.search .woocommerce ul.products,
body.search ul.products {
    display: grid !important;
    gap: 18px !important;
}

body.search .woocommerce ul.products li.product,
body.search ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

body.search .woocommerce ul.products li.product .mm-card-product,
body.search ul.products li.product .mm-card-product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
}

body.search .woocommerce ul.products li.product .mm-card-image-wrapper,
body.search ul.products li.product .mm-card-image-wrapper {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body.search .woocommerce ul.products li.product .mm-card-image-wrapper img,
body.search ul.products li.product .mm-card-image-wrapper img,
body.search .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.search ul.products li.product img.attachment-woocommerce_thumbnail {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

body.search .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.search ul.products li.product .woocommerce-loop-product__title {
    font-size: 22px !important;
    line-height: 1.22 !important;
    min-height: calc(1.22em * 2) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body.search .woocommerce ul.products li.product .mm-card-description,
body.search ul.products li.product .mm-card-description {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn,
body.search ul.products li.product .mm-card-btn {
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 10px !important;
    align-items: center !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-buy,
body.search ul.products li.product .mm-card-btn > a.button.mm-card-buy {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px !important;
    height: 44px !important;
    line-height: 44px !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-plus,
body.search ul.products li.product .mm-card-btn > a.button.mm-card-plus {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    transform: none !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-plus .mm-card-plus__icon,
body.search ul.products li.product .mm-card-btn > a.button.mm-card-plus .mm-card-plus__icon {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: translateY(-1px) !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
}

body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-plus .mm-card-plus__icon svg,
body.search ul.products li.product .mm-card-btn > a.button.mm-card-plus .mm-card-plus__icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

/* Tablet horizontal */
@media (min-width: 821px) and (max-width: 1199px) {
    body.search .woocommerce ul.products,
    body.search ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}

/* Tablet vertical + móviles grandes */
@media (max-width: 820px) {
    body.search .woocommerce ul.products,
    body.search ul.products {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.search .woocommerce ul.products li.product,
    body.search ul.products li.product {
        border-radius: 12px !important;
    }

    body.search .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.search ul.products li.product .woocommerce-loop-product__title {
        font-size: 20px !important;
    }
}

/* Móvil pequeño */
@media (max-width: 480px) {
    body.search .mm-search-catalog-wrap {
        width: 94% !important;
    }

    body.search .woocommerce ul.products li.product,
    body.search ul.products li.product {
        padding: 10px !important;
    }

    body.search .woocommerce ul.products li.product .mm-card-btn > a.button.mm-card-buy,
    body.search ul.products li.product .mm-card-btn > a.button.mm-card-buy {
        font-size: 14px !important;
    }
}

@media (max-width: 767px) {
    body.admin-bar .mm-global-search-toggle {
        top: auto;
    }

    .mm-global-search-toggle {
        left: 12px;
        right: auto;
        top: auto;
        bottom: 14px;
        width: 48px;
        height: 48px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }

    .mm-global-search-toggle-text {
        display: none;
    }

    .mm-global-search-toggle-icon {
        width: 14px;
        height: 14px;
        margin-left: -1px;
    }

    .mm-global-search-toggle-icon::after {
        width: 5px;
        right: -3px;
        bottom: -1px;
    }

    .mm-global-search-panel {
        width: 100vw;
        padding: 18px 14px;
    }

    .mm-global-search-form {
        grid-template-columns: 1fr;
    }
}

/* Product action row polish: compact buy button + fixed plus button */
.woocommerce ul.products li.product .mm-card-btn,
body.search .woocommerce ul.products li.product .mm-card-btn,
body.search ul.products li.product .mm-card-btn,
.mm-search-catalog-page .mm-card-btn,
.single-product .related ul.products li.product .mm-card-btn,
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn {
    display: grid !important;
    grid-template-columns: minmax(0, max-content) 44px !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
}

.woocommerce ul.products li.product .mm-card-btn > a.button,
.woocommerce ul.products li.product .mm-card-btn > a.add_to_cart_button,
.woocommerce ul.products li.product .mm-card-btn > a.mm-card-plus,
body.search .woocommerce ul.products li.product .mm-card-btn > a.button,
body.search ul.products li.product .mm-card-btn > a.button,
body.search .woocommerce ul.products li.product .mm-card-btn > a.add_to_cart_button,
body.search ul.products li.product .mm-card-btn > a.add_to_cart_button,
.mm-search-catalog-page .mm-card-btn > a.button,
.mm-search-catalog-page .mm-card-btn > a.add_to_cart_button,
.single-product .related ul.products li.product .mm-card-btn > a.button,
.single-product .related ul.products li.product .mm-card-btn > a.add_to_cart_button,
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn > a.button,
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn > a.add_to_cart_button {
    margin: 0 !important;
    min-width: 0 !important;
}

.woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.search .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.search ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
.mm-search-catalog-page .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
.single-product .related ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus) {
    grid-column: 1 !important;
    width: auto !important;
    max-width: 132px !important;
    min-width: 118px !important;
    padding: 0 18px !important;
    justify-self: start !important;
    height: 44px !important;
    line-height: 44px !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product a.button.mm-card-plus,
body.search .woocommerce ul.products li.product a.button.mm-card-plus,
body.search ul.products li.product a.button.mm-card-plus,
.mm-search-catalog-page .mm-card-btn a.button.mm-card-plus,
.single-product .related ul.products li.product a.button.mm-card-plus,
body.woocommerce-cart .maestri-cart-recommendations a.button.mm-card-plus {
    grid-column: 2 !important;
    transform: none !important;
    justify-self: end !important;
}

@media (max-width: 767px) {
    .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.search .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.search ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    .mm-search-catalog-page .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    .single-product .related ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus) {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 16px !important;
    }

    .woocommerce ul.products li.product .mm-card-btn,
    body.search .woocommerce ul.products li.product .mm-card-btn,
    body.search ul.products li.product .mm-card-btn,
    .mm-search-catalog-page .mm-card-btn,
    .single-product .related ul.products li.product .mm-card-btn,
    body.woocommerce-cart .maestri-cart-recommendations .mm-card-btn {
        grid-template-columns: minmax(0, 1fr) 40px !important;
        gap: 8px !important;
    }
}

/* Shop archive only: keep buy + plus on one row without affecting carousel */
body.post-type-archive-product .woocommerce ul.products li.product .mm-card-btn,
body.tax-product_cat .woocommerce ul.products li.product .mm-card-btn,
body.woocommerce-shop .woocommerce ul.products li.product .mm-card-btn,
body.page .woocommerce ul.products li.product .mm-card-btn,
body.page .elementor-widget-woocommerce-products .mm-card-btn {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .mm-card-btn > a,
body.tax-product_cat .woocommerce ul.products li.product .mm-card-btn > a,
body.woocommerce-shop .woocommerce ul.products li.product .mm-card-btn > a,
body.page .woocommerce ul.products li.product .mm-card-btn > a,
body.page .elementor-widget-woocommerce-products .mm-card-btn > a {
    margin: 0 !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.tax-product_cat .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.woocommerce-shop .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.page .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
body.page .elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus) {
    grid-column: auto !important;
    width: auto !important;
    max-width: 169px !important;
    min-width: 0 !important;
    padding: 0 26px !important;
    justify-self: auto !important;
}

body.post-type-archive-product .woocommerce ul.products li.product a.button.mm-card-plus,
body.tax-product_cat .woocommerce ul.products li.product a.button.mm-card-plus,
body.woocommerce-shop .woocommerce ul.products li.product a.button.mm-card-plus,
body.page .woocommerce ul.products li.product a.button.mm-card-plus,
body.page .elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus {
    grid-column: auto !important;
    margin-left: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding: 0 !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    justify-self: end !important;
    transform: none !important;
    font-size: 24px !important;
    line-height: 1 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

@media (max-width: 767px) {
    body.post-type-archive-product .woocommerce ul.products li.product .mm-card-btn,
    body.tax-product_cat .woocommerce ul.products li.product .mm-card-btn,
    body.woocommerce-shop .woocommerce ul.products li.product .mm-card-btn,
    body.page .woocommerce ul.products li.product .mm-card-btn,
    body.page .elementor-widget-woocommerce-products .mm-card-btn {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 14px !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product a.button.mm-card-plus,
    body.tax-product_cat .woocommerce ul.products li.product a.button.mm-card-plus,
    body.woocommerce-shop .woocommerce ul.products li.product a.button.mm-card-plus,
    body.page .woocommerce ul.products li.product a.button.mm-card-plus,
    body.page .elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-plus {
        margin-left: auto !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.tax-product_cat .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.woocommerce-shop .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.page .woocommerce ul.products li.product .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus),
    body.page .elementor-widget-woocommerce-products .mm-card-btn a.button.mm-card-buy:not(.mm-card-plus) {
        max-width: 147px !important;
        padding: 0 20px !important;
    }
}
