/* ============================================================
   CART PAGE — PREMIUM REDESIGN v2
   WCB Theme · White Cloud Brasil
   Target: WooCommerce Blocks (wc-block-cart)
   ============================================================ */

/* ==========================================================
   0. PAGE FOUNDATION
   ========================================================== */
.woocommerce-page.woocommerce-cart {
    background: var(--wcb-gray-50);
}

/* Trilha — sem folga extra no topo */
body.woocommerce-cart #main-content .wcb-container > .wcb-breadcrumb--cart-page {
    margin: 0 0 2px;
    padding-top: 0;
}

body.woocommerce-cart #main-content .wcb-container > .wcb-breadcrumb--cart-page + article .entry-title,
body.woocommerce-cart #main-content .wcb-container > .wcb-breadcrumb--cart-page + article .wp-block-post-title {
    padding-top: 0;
}

.wcb-breadcrumb--cart-page .wcb-breadcrumb__sep {
    color: var(--wcb-gray-400, #9ca3af);
    user-select: none;
}

/* Reset só dentro do <main> — nunca no #wcb-site-header (senão .wcb-header__inner perde display:flex).
   Exclui .wcb-cart-layout: carrinho clássico mantém grid 1fr + sidebar no style.css */
.woocommerce-cart .wcb-main .wcb-container:not(.wcb-cart-layout),
body.woocommerce-cart #main-content .wcb-container:not(.wcb-cart-layout),
.woocommerce-cart .site-main > .wcb-container:not(.wcb-cart-layout) {
    display: block !important;
    width: 100% !important;
    max-width: var(--wcb-container, 1440px) !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    margin: 0 auto !important;
}

/* Also ensure the article/post content fills width */
body.woocommerce-cart #main-content .wcb-container > article,
body.woocommerce-cart #main-content .wcb-container > .entry-content,
body.woocommerce-cart article.page {
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce-cart .entry-title,
.woocommerce-cart .wp-block-post-title {
    font-family: var(--wcb-font);
    font-size: var(--wcb-font-size-2xl);
    font-weight: 800;
    color: var(--wcb-dark);
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    margin-top: 0;
    padding: 0;
}

/* Conteúdo da página: colar ao bloco do carrinho */
body.woocommerce-cart article.page .wcb-page-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Outer wrapper reset — sem espaço acima do bloco WC */
.wp-block-woocommerce-cart,
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    max-width: var(--wcb-container, 1440px) !important;
    width: 100% !important;
}

/* ==========================================================
   1. TWO-COLUMN GRID
   .wc-block-cart and .wc-block-components-sidebar-layout
   are on the SAME element.
   ========================================================== */
.wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 32px !important;
    align-items: start;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

/* Higher specificity backup */
.wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: 1fr 420px !important;
}

/* Collapse the phantom empty div that disrupts the grid */
.wc-block-components-sidebar-layout > div:first-child:empty,
.wc-block-components-sidebar-layout > div:first-child:not(.wc-block-cart__main):not(.wc-block-cart__sidebar) {
    display: none !important;
}

/* Explicit grid column assignments */
.wc-block-cart__main {
    grid-column: 1 !important;
    min-width: 0;
    width: 100% !important;
    max-width: 100% !important;
}

/* Force ALL children inside main to stretch */
.wc-block-cart__main > *,
.wc-block-cart__main .wc-block-cart-items,
.wc-block-cart__main .wp-block-woocommerce-cart-line-items-block,
.wc-block-cart__main .wp-block-woocommerce-cart-cross-sells-block,
.wc-block-cart__main .wc-block-components-panel {
    width: 100% !important;
    max-width: 100% !important;
}

.wc-block-cart__sidebar {
    grid-column: 2 !important;
}

/* ==========================================================
   2. PRODUCT LIST — Card-based layout
   Break the native table layout completely
   ========================================================== */
.wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-collapse: initial !important;
    border-spacing: 0 !important;
}

.wc-block-cart-items tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Hide default column headers */
.wc-block-cart-items thead,
.wc-block-cart-items .wc-block-cart-items__header {
    display: none !important;
}

/* ==========================================================
   3. LINHA DO ITEM — cartão por SKU (grelha por área = ordem DOM irrelevante)
   [ thumb ] [ produto ] [ subtotal ]
   ========================================================== */
.wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) minmax(6.5rem, min(32%, 11.5rem)) !important;
    grid-template-rows: auto !important;
    grid-template-areas: 'wcb-thumb wcb-product wcb-total' !important;
    gap: 0 18px !important;
    align-items: start !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    min-height: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e8ecf1 !important;
    border-bottom: 1px solid #e8ecf1 !important;
    border-radius: 14px !important;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 0 0 1px rgba(255, 255, 255, 0.8) inset !important;
    position: relative !important;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease !important;
}

/*
 * Subtotal junto ao preço unitário: o <td class="wc-block-cart-item__total"> fica vazio.
 * :has() garante 2 colunas mesmo se a classe .wcb-line-total-merged falhar (senão a 3.ª coluna fica “fantasma”).
 */
.wc-block-cart-items__row:has(.wcb-line-total-slot),
.wc-block-cart-items__row.wcb-line-total-merged {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    grid-template-areas: 'wcb-thumb wcb-product' !important;
}

.wc-block-cart-items__row:hover {
    background: #fafbfc !important;
    border-color: #dce3eb !important;
    box-shadow:
        0 4px 16px -6px rgba(15, 23, 42, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.9) inset !important;
}

.wc-block-cart-items tbody .wc-block-cart-items__row:last-child {
    border-bottom: 1px solid #e8ecf1 !important;
}

/* Reset all td cells — layout em grelha no <tr> */
.wc-block-cart-items__row td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}

/* Células extra (plugins) — linha completa, não uma 4.ª coluna */
.wc-block-cart-items__row > td:not(.wc-block-cart-item__image):not(.wc-block-cart-item__product):not(.wc-block-cart-item__total) {
    grid-column: 1 / -1 !important;
}

/* ==========================================================
   4. IMAGEM — thumb 104×104 (proporção com cartão)
   ========================================================== */
.wc-block-cart-item__image {
    grid-area: wcb-thumb !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    align-self: flex-start !important;
}

.wc-block-cart-item__image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 104px !important;
    height: 104px !important;
    min-width: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    border: 1px solid #e8ecf0 !important;
    background: #f8f9fb !important;
    transition: border-color 0.2s ease !important;
}

.wc-block-cart-item__image a:hover {
    border-color: #cbd5e1 !important;
}

.wc-block-cart-item__image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 4px !important;
}

/* ==========================================================
   5. COLUNA PRODUTO — grelha: título | meta | stepper + preço unit.
   ========================================================== */
td.wc-block-cart-item__product {
    grid-area: wcb-product !important;
    position: relative !important;
    padding: 2px 0 0 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
}

/* Sem .wrap: reservar canto para o remover (ancorado ao <td>) */
td.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) {
    padding-right: 36px !important;
}

/* Título — área explícita (Woo Blocks / Interactivity: ordem DOM ≠ ordem visual) */
.wc-block-cart-item__product .wc-block-cart-item__product-name,
.wc-block-cart-item__product .wc-block-cart-item__wrap > a.wc-block-components-product-name:first-of-type,
.wc-block-cart-item__product .wc-block-cart-item__wrap > span.wc-block-components-product-name:first-of-type {
    grid-area: ci-title !important;
    min-width: 0 !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

.wc-block-cart-item__product .wc-block-cart-item__wrap > .wc-block-components-product-metadata,
.wc-block-cart-item__product .wc-block-cart-item__wrap > .wc-block-components-product-details {
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

/*
 * Grelha interior alinhada ao markup atual do Woo:
 * nome → badges (stock/backorder/sale) → meta/atributos → linha qty | preço unit.
 */
.wc-block-cart-item__product .wc-block-cart-item__wrap {
    display: grid !important;
    /* relative: o .remove-link (absolute) ancora ao WRAP */
    position: relative !important;
    z-index: 0 !important;
    /* Mesma largura útil do <td> — sem padding horizontal no wrap (evita “caixa” mais estreita que a célula) */
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
        'ci-title ci-title'
        'ci-badges ci-badges'
        'ci-meta ci-meta'
        'ci-qty ci-prices' !important;
    column-gap: 12px !important;
    row-gap: 3px !important;
    align-items: start !important;
}

/* Preço unitário + subtotal na mesma faixa (3.ª célula após JS mover o wrapper) */
.wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) {
    /* qty compacta | faixa central (preço) | subtotal — coluna do meio absorve o espaço */
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas:
        'ci-title ci-title ci-title'
        'ci-badges ci-badges ci-badges'
        'ci-meta ci-meta ci-meta'
        'ci-qty ci-prices ci-subtotal' !important;
    column-gap: clamp(10px, 2.5vw, 20px) !important;
}

/*
 * Faixa qty | preço | subtotal (≥721px): mesma altura de linha na grelha pai; rótulos na mesma faixa;
 * valores alinhados à base (preço com 2 linhas vs subtotal numa linha).
 */
@media (min-width: 721px) {
    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__quantity {
        align-self: stretch !important;
        padding: 10px 0 6px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        align-items: flex-end !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__prices,
    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__price {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: minmax(calc(10px * 1.2 + 3px), auto) minmax(0, 1fr) !important;
        align-self: stretch !important;
        padding: 10px 0 6px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        justify-self: end !important;
        justify-items: end !important;
        min-width: 0 !important;
        gap: 0 !important;
        flex-direction: unset !important;
        justify-content: unset !important;
        align-items: unset !important;
        align-content: stretch !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__prices::before {
        grid-row: 1 !important;
        grid-column: 1 !important;
        align-self: start !important;
        margin: 0 0 3px 0 !important;
        line-height: 1.2 !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__prices > .price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        gap: 4px !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__prices > .price,
    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__price > * {
        grid-row: 2 !important;
        grid-column: 1 !important;
        align-self: end !important;
        justify-self: end !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wcb-line-total-slot {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: minmax(calc(10px * 1.2 + 3px), auto) minmax(0, 1fr) !important;
        align-self: stretch !important;
        padding: 10px 0 6px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        justify-self: end !important;
        justify-items: end !important;
        max-width: none !important;
        min-width: min(7rem, 100%) !important;
        gap: 0 !important;
        flex-direction: unset !important;
        justify-content: unset !important;
        align-items: unset !important;
        align-content: stretch !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wcb-line-total-slot::before {
        grid-row: 1 !important;
        grid-column: 1 !important;
        align-self: start !important;
        margin: 0 0 3px 0 !important;
        line-height: 1.2 !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wcb-line-total-slot > * {
        grid-row: 2 !important;
        grid-column: 1 !important;
        align-self: end !important;
        justify-self: end !important;
    }
}

/* Badges e avisos — mesma linha de grelha (evita auto-placement a quebrar qty/preço) */
.wc-block-cart-item__product .wc-block-cart-item__wrap > .wc-block-components-product-badge,
.wc-block-cart-item__product .wc-block-cart-item__wrap > .wc-block-components-sale-badge {
    grid-area: ci-badges !important;
    justify-self: start !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

/* Linha fina acima de quantidade | preço unitário */
.wc-block-cart-item__product .wc-block-cart-item__wrap::before {
    content: '' !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    align-self: start !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #e8eaed !important;
    z-index: 0 !important;
}

/* Sem wrapper (fallback) */
.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
        'ci-title ci-title'
        'ci-badges ci-badges'
        'ci-meta ci-meta'
        'ci-qty ci-prices' !important;
    column-gap: 12px !important;
    row-gap: 3px !important;
    align-items: start !important;
    min-width: 0 !important;
}

td.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)):has(.wcb-line-total-slot) {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-areas:
        'ci-title ci-title ci-title'
        'ci-badges ci-badges ci-badges'
        'ci-meta ci-meta ci-meta'
        'ci-qty ci-prices ci-subtotal' !important;
}

/* Filhos não mapeados (ex.: extensões): linha própria, não invadem colunas qty/preço */
.wc-block-cart-item__product .wc-block-cart-item__wrap > *:not(.wc-block-cart-item__product-name):not(.wc-block-components-product-name):not(.wc-block-components-product-badge):not(.wc-block-components-sale-badge):not(.wc-block-components-product-metadata):not(.wc-block-components-product-details):not(.wc-block-cart-item__quantity):not(.wc-block-cart-item__prices):not(.wc-block-cart-item__price):not(.wc-block-cart-item__remove-link):not(.wcb-line-total-slot),
.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) > *:not(.wc-block-cart-item__product-name):not(.wc-block-components-product-name):not(.wc-block-components-product-badge):not(.wc-block-components-sale-badge):not(.wc-block-components-product-metadata):not(.wc-block-components-product-details):not(.wc-block-cart-item__quantity):not(.wc-block-cart-item__prices):not(.wc-block-cart-item__price):not(.wc-block-cart-item__remove-link):not(.wcb-line-total-slot) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
}

.wc-block-cart-item__product .wc-block-components-product-name {
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    letter-spacing: -0.02em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 0 !important;
    transition: color 0.2s ease !important;
    word-break: break-word !important;
}

/* Sem .wrap: o próprio link ocupa a área título */
.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) > a.wc-block-components-product-name,
.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) > span.wc-block-components-product-name {
    grid-area: ci-title !important;
}

.wc-block-cart-item__product .wc-block-components-product-name:hover {
    color: #155dfd !important;
}

.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-cart-item__product .wc-block-cart-item__wrap > .wc-block-components-product-details {
    grid-area: ci-meta !important;
    display: block !important;
    margin: 0 0 2px !important;
}

.wc-block-cart-item__product .wc-block-components-product-metadata__description,
.wc-block-cart-item__product .wc-block-components-product-metadata p {
    font-size: 11.5px !important;
    color: #94a3b8 !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

/* ==========================================================
   6. PREÇO UNITÁRIO — coluna direita da faixa inferior (como o lateral)
   ========================================================== */
.wc-block-cart-item__prices,
.wc-block-cart-item__price {
    grid-area: ci-prices !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 8px 0 0 !important;
    border-top: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 4px !important;
    text-align: right !important;
    justify-self: stretch !important;
    align-self: center !important;
    min-width: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.wc-block-cart-item__prices::before {
    content: 'Preço unitário';
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.wc-block-cart-item__prices .wc-block-components-product-price {
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.wc-block-cart-item__prices .wc-block-components-product-price__regular {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
    line-height: 1.3 !important;
}

/* Bloco de preço com desconto: não estourar a coluna */
.wc-block-cart-item__prices .wc-block-components-product-price {
    max-width: 100% !important;
}

/* Igual ao trilho lateral: .wcb-card-price--rail … .wcb-card-rail-line__amount ins (400 / 13px / #0f172a) */
.wc-block-cart-item__prices .wc-block-components-product-price__value.is-discounted,
.wc-block-cart-item__prices .wc-block-components-product-price__value.is-discounted bdi,
.wc-block-cart-item__price .wc-block-components-product-price__value.is-discounted,
.wc-block-cart-item__price .wc-block-components-product-price__value.is-discounted bdi {
    color: #0f172a !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
}

/* ==========================================================
   7. SAVINGS BADGES
   ========================================================== */

/* Hide the unit-level badge inside the product info cell */
td.wc-block-cart-item__product .wc-block-components-sale-badge,
td.wc-block-cart-item__product .wc-block-components-product-badge,
.wc-block-cart-item__wrap > .wc-block-components-sale-badge,
.wc-block-cart-item__wrap > .wc-block-components-product-badge {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Show and style the line-total badge */
td.wc-block-cart-item__total .wc-block-components-sale-badge,
td.wc-block-cart-item__total .wc-block-components-product-badge,
.wcb-line-total-slot .wc-block-components-sale-badge,
.wcb-line-total-slot .wc-block-components-product-badge,
.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-sale-badge {
    display: inline-flex !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    align-items: center;
    background: var(--wcb-green-light) !important;
    color: var(--wcb-green-dark) !important;
    border: 1px solid rgba(0, 192, 127, 0.25) !important;
    font-family: var(--wcb-font) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: var(--wcb-radius-full) !important;
    margin-top: 6px !important;
    letter-spacing: 0.02em;
    line-height: 1.4;
    text-transform: uppercase;
    white-space: nowrap;
}

/* ==========================================================
   8. QUANTIDADE — alinhado ao .wcb-qty-stepper do carrinho lateral
   ========================================================== */
.wc-block-cart-item__quantity {
    grid-area: ci-qty !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 8px 0 0 !important;
    min-height: 28px !important;
    border-top: none !important;
    flex-wrap: nowrap !important;
    justify-self: start !important;
    align-self: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    /* static: senão o .remove-link (absolute) ancora à .quantity em vez do .wrap */
    position: static !important;
    z-index: auto !important;
}

/* Fallback sem .wrap: faixa de ação com borda clássica */
.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) .wc-block-cart-item__quantity {
    border-top: 1px solid #e8eaed !important;
    margin-top: 4px !important;
    padding-top: 12px !important;
}

.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) .wc-block-cart-item__prices {
    border-top: 1px solid #e8eaed !important;
    margin-top: 4px !important;
    padding-top: 12px !important;
}

/* ==========================================================
   8b. SUBTOTAL — coluna direita (verde como .wcb-qty-subtotal-line)
   ========================================================== */
td.wc-block-cart-item__total {
    grid-area: wcb-total !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    justify-self: stretch !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 2px 0 0 10px !important;
    border: none !important;
    white-space: normal !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    text-align: right !important;
    box-sizing: border-box !important;
}

td.wc-block-cart-item__total::before {
    content: 'Subtotal';
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-cart-item__total .wc-block-components-product-price {
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #00a06a !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
}

.wc-block-cart-item__total .wc-block-formatted-money-amount .wc-block-formatted-money-amount,
.wc-block-cart-item__total .wc-block-components-product-price .wc-block-formatted-money-amount {
    color: inherit !important;
}

.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-cart-item__total .wc-block-components-product-price .wc-block-formatted-money-amount {
    white-space: nowrap !important;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 6px !important;
}

/* Slot ao lado do preço unitário (conteúdo vindo de td.__total) */
.wcb-line-total-slot {
    grid-area: ci-subtotal !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border: none !important;
    min-width: 0 !important;
    max-width: 11.5rem !important;
    text-align: right !important;
    box-sizing: border-box !important;
    align-self: center !important;
}

.wcb-line-total-slot::before {
    content: 'Subtotal';
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.wcb-line-total-slot .wc-block-formatted-money-amount,
.wcb-line-total-slot .wc-block-components-product-price {
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #00a06a !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
}

.wcb-line-total-slot .wc-block-formatted-money-amount .wc-block-formatted-money-amount,
.wcb-line-total-slot .wc-block-components-product-price .wc-block-formatted-money-amount {
    color: inherit !important;
    white-space: nowrap !important;
}

.wc-block-cart-items__row:has(.wcb-line-total-slot) td.wc-block-cart-item__total,
.wc-block-cart-items__row.wcb-line-total-merged td.wc-block-cart-item__total {
    display: none !important;
}

/*
 * Stepper página carrinho (Woo Blocks) — mesmo visual que .wcb-qty-stepper no carrinho lateral
 * (side-cart-premium.css: borda #E2E8F0, raio 4px, 28px, botões #fafbfc)
 */
.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    min-height: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    width: fit-content !important;
    max-width: max-content !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 26px !important;
    max-width: 44px !important;
    field-sizing: content !important;
    text-align: center !important;
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    border: none !important;
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    padding: 0 4px !important;
    -moz-appearance: textfield;
    appearance: textfield;
    height: 28px !important;
    min-height: 28px !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector input::-webkit-inner-spin-button,
.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector input:focus {
    outline: none !important;
    box-shadow: inset 0 0 0 1px #155dfd !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fafbfc !important;
    color: #475569 !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transition: background 0.12s ease, color 0.12s ease !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button:active {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button:focus {
    outline: none !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button:focus-visible {
    box-shadow: inset 0 0 0 1px #155dfd !important;
    z-index: 1 !important;
    position: relative !important;
    background: #f8fafc !important;
}

.wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background: #fafbfc !important;
    color: #94a3b8 !important;
}

/* ==========================================================
   9. REMOVER — canto superior direito do .wrap (Woo mete o botão dentro de .quantity)
   ========================================================== */
/* Mesmo visual que .wcb-card-delete .xoo-wsc-smr-del (side-cart-premium.css) */
.wc-block-cart-item__product .wc-block-cart-item__wrap .wc-block-cart-item__remove-link,
.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) .wc-block-cart-item__remove-link {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 6 !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #64748b !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
    cursor: pointer !important;
    transition:
        background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.2s,
        border-color 0.2s,
        box-shadow 0.2s,
        transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
}

/*
 * Mesmo ícone que .xoo-wsc-icon-trash (xoo-wsc-fonts.css → content "\e908", Woo-Side-Cart).
 * Fonte enfileirada em enqueue.php como wcb-xoo-wsc-fonts-cart na página carrinho.
 */
.wc-block-cart-item__remove-link::before {
    content: "\e908" !important;
    display: block !important;
    font-family: 'Woo-Side-Cart' !important;
    speak: never;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px !important;
    width: auto !important;
    height: auto !important;
    flex-shrink: 0 !important;
    background: none !important;
    background-color: transparent !important;
    mask: none !important;
    -webkit-mask: none !important;
    opacity: 0.92 !important;
}

.wc-block-cart-item__remove-link:hover {
    background: linear-gradient(180deg, #fff5f5 0%, #ffe4e6 100%) !important;
    color: #dc2626 !important;
    border-color: #fda4af !important;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.15) !important;
    transform: translateY(-1px) !important;
}

.wc-block-cart-item__remove-link:hover::before {
    opacity: 1 !important;
}

.wc-block-cart-item__remove-link:active {
    transform: translateY(0) scale(0.96) !important;
    box-shadow: 0 1px 3px rgba(220, 38, 38, 0.12) !important;
}

.wc-block-cart-item__remove-link:focus {
    outline: none !important;
}

.wc-block-cart-item__remove-link:focus-visible {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #155dfd !important;
}

/* Hide the original "Remover" text content */
.wc-block-cart-item__remove-link span,
.wc-block-cart-item__remove-link .wc-block-components-product-remove__text {
    display: none !important;
}

/* ==========================================================
   11. GIFT / BRINDE ITEMS
   ========================================================== */
.wc-block-cart-items__row.mhfgfwc-is-gift,
tr.mhfgfwc-is-gift {
    background: color-mix(in srgb, var(--wcb-green-pale, #ecfdf5) 42%, #ffffff) !important;
    border-left: 3px solid var(--wcb-green, #10b981) !important;
    /* 3px barra + 15px = mesmo alinhamento de conteúdo que padding-left 18px */
    padding-left: 15px !important;
    margin-left: 0 !important;
    position: relative;
}

/* Gift price in green */
.wc-block-cart-items__row.mhfgfwc-is-gift .wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-cart-items__row.mhfgfwc-is-gift .wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-cart-items__row.mhfgfwc-is-gift .wcb-line-total-slot .wc-block-formatted-money-amount,
.wc-block-cart-items__row.mhfgfwc-is-gift .wcb-line-total-slot .wc-block-components-product-price {
    color: var(--wcb-green-dark) !important;
    font-weight: 700 !important;
}

/* Gift badge from plugin */
.mhfgfwc-gift-badge,
.wcb-brinde-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--wcb-green);
    color: var(--wcb-white);
    font-family: var(--wcb-font);
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: var(--wcb-radius-full);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ==========================================================
   12. "CHOOSE YOUR FREE GIFT" SECTION
   ========================================================== */
.mhfgfwc-choose-gift,
.mhfgfwc-gift-selection,
.wc-block-components-panel:has([class*="mhfgfwc"]) {
    background: var(--wcb-blue-pale);
    border-radius: var(--wcb-radius-lg);
    box-shadow: var(--wcb-shadow-sm);
    border: 2px solid var(--wcb-blue);
    padding: 24px;
    margin-top: 16px;
}

.mhfgfwc-choose-gift h3,
.mhfgfwc-gift-selection h3,
.mhfgfwc-choose-gift .mhfgfwc-title,
.mhfgfwc-gift-selection-title {
    font-family: var(--wcb-font);
    font-size: 14px;
    font-weight: 700;
    color: var(--wcb-dark);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Gift selection card items */
.mhfgfwc-gift-item,
.mhfgfwc-gift-selection .wc-block-grid__product {
    background: var(--wcb-gray-50);
    border-radius: var(--wcb-radius-md);
    padding: 16px;
    text-align: center;
    transition: box-shadow var(--wcb-duration) var(--wcb-ease);
}

.mhfgfwc-gift-item:hover,
.mhfgfwc-gift-selection .wc-block-grid__product:hover {
    box-shadow: var(--wcb-shadow-md);
}

/* Adicionar brinde — azul (paridade com checkout) */
.mhfgfwc-add-gift-btn,
.mhfgfwc-gift-item .mhfgfwc-add-gift,
.mhfgfwc-blocks-panel .mhfgfwc-add-gift,
button.mhfgfwc-add-gift {
    background: var(--wcb-primary, #155dfd) !important;
    color: var(--wcb-primary-contrast, #ffffff) !important;
    font-family: var(--wcb-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1px solid var(--wcb-primary-hover, #0f48d4) !important;
    border-radius: var(--wcb-radius-md) !important;
    padding: 8px 20px !important;
    cursor: pointer;
    transition: background var(--wcb-duration) var(--wcb-ease),
        border-color var(--wcb-duration) var(--wcb-ease),
        transform var(--wcb-duration) var(--wcb-ease);
}

.mhfgfwc-add-gift-btn:hover,
.mhfgfwc-gift-item .mhfgfwc-add-gift:hover,
.mhfgfwc-blocks-panel .mhfgfwc-add-gift:hover,
button.mhfgfwc-add-gift:hover {
    background: var(--wcb-primary-hover, #0f48d4) !important;
    border-color: var(--wcb-primary-active, #0c3eb8) !important;
    transform: translateY(-1px);
}

/* Remove Gift button */
.mhfgfwc-remove-gift-btn {
    background: transparent !important;
    color: var(--wcb-red) !important;
    border: 1px solid var(--wcb-red) !important;
    border-radius: var(--wcb-radius-sm) !important;
    font-family: var(--wcb-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    cursor: pointer;
    transition: all var(--wcb-duration) var(--wcb-ease);
}

.mhfgfwc-remove-gift-btn:hover {
    background: var(--wcb-red) !important;
    color: var(--wcb-white) !important;
}

/* ==========================================================
   13. GIFT PROGRESS BAR
   ========================================================== */
.wcb-gift-progress {
    background: var(--wcb-white);
    border-radius: var(--wcb-radius-lg);
    box-shadow: var(--wcb-shadow-sm);
    padding: 14px 20px;
    margin-bottom: 16px;
    border: 1px solid var(--wcb-gray-100);
}

/* ==========================================================
   14. ORDER SUMMARY SIDEBAR
   ========================================================== */
.wc-block-cart__sidebar {
    background: var(--wcb-white) !important;
    border-radius: var(--wcb-radius-lg) !important;
    box-shadow: var(--wcb-shadow-md) !important;
    padding: 22px 22px 26px !important;
    position: sticky;
    top: 100px;
    border: 1px solid var(--wcb-gray-100) !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Force ALL sidebar children to fill */
.wc-block-cart__sidebar > *,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart__sidebar .contained,
.wc-block-cart__sidebar .wc-block-components-sidebar-layout__content,
.wc-block-cart__sidebar .wc-block-cart__submit,
.wc-block-cart__sidebar .wc-block-cart__submit-container {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Sidebar heading: "TOTAL NO CARRINHO" → "RESUMO DO PEDIDO" feel */
.wc-block-cart__totals-title {
    font-family: var(--wcb-font) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--wcb-gray-500) !important;
    padding-bottom: 16px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid var(--wcb-gray-100) !important;
}

/* ==========================================================
   14b. SIDEBAR — Resumo espelhado (paridade carrinho lateral / xoo_wsc_cart_totals)
   ========================================================== */
.wcb-cart-page-order-summary--mirror-active .wc-block-components-totals-wrapper {
    display: none !important;
}

/* Bloco React dos totais WC: vazio com o espelho ativo — remove faixa residual (~17px) */
.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block.wcb-cart-page-order-summary--mirror-active
    .wp-block-woocommerce-cart-order-summary-totals-block {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    border: none !important;
    overflow: hidden !important;
}

.wp-block-woocommerce-cart-order-summary-block .wcb-pg-order-summary-mirror.xoo-wsc-ft-totals {
    padding: 0 0 16px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Linhas do resumo espelhado — alinhamento e respiro (paridade com .xoo-wsc-ft-totals do drawer) */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wcb-pg-order-summary-mirror .xoo-wsc-ft-amt {
    padding: 7px 0 !important;
    margin: 0 !important;
    column-gap: 14px !important;
    align-items: center !important;
    min-height: 0 !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wcb-pg-order-summary-mirror .xoo-wsc-ft-amt-subtotal {
    padding-top: 0 !important;
    padding-bottom: 8px !important;
}

/* Cartão de total (wcb_total) — ligeiro ajuste no contexto da sidebar Blocks */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wcb-pg-order-summary-mirror .xoo-wsc-ft-amt-wcb_total {
    margin-top: 10px !important;
}

/* ==========================================================
   15. SIDEBAR — TOTALS ROWS
   ========================================================== */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
    padding: 0 !important;
    border: none !important;
    border-top: none !important;
    margin: 0 !important;
}

.wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child {
    border-top: none !important;
}

/* Regular rows: Subtotal, Shipping, etc. */
.wc-block-cart__sidebar .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) {
    padding: 10px 0 !important;
    border: none !important;
}

.wc-block-cart__sidebar .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__label {
    font-family: var(--wcb-font);
    font-size: 14px;
    font-weight: 500;
    color: var(--wcb-gray-500);
}

.wc-block-cart__sidebar .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__value {
    font-family: var(--wcb-font);
    font-size: 14px;
    font-weight: 600;
    color: var(--wcb-dark);
}

/* ==========================================================
   16. SIDEBAR — ESTIMATED TOTAL (footer item)
   ========================================================== */
.wc-block-components-totals-footer-item {
    padding: 18px 0 0 !important;
    margin-top: 12px !important;
    border-top: 2px solid var(--wcb-dark) !important;
    border-bottom: none !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family: var(--wcb-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--wcb-gray-500) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: var(--wcb-font) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--wcb-dark) !important;
    letter-spacing: -0.02em;
}

/* ==========================================================
   17. COUPON AREA
   ========================================================== */
.wc-block-components-totals-coupon {
    border: none !important;
    padding: 0 !important;
    margin: 12px 0 4px !important;
}

/* Coupon toggle link */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
    font-family: var(--wcb-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--wcb-blue) !important;
    padding: 8px 0 !important;
    text-decoration: none !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
    color: var(--wcb-blue-hover) !important;
}

/* Coupon text input */
.wc-block-components-totals-coupon input[type="text"],
.wc-block-components-totals-coupon .wc-block-components-text-input input {
    font-family: var(--wcb-font) !important;
    font-size: 14px !important;
    border: 1.5px solid var(--wcb-gray-200) !important;
    border-radius: var(--wcb-radius-md) !important;
    padding: 10px 14px !important;
    background: var(--wcb-white) !important;
    transition: border-color var(--wcb-duration) var(--wcb-ease),
                box-shadow var(--wcb-duration) var(--wcb-ease);
}

.wc-block-components-totals-coupon input[type="text"]:focus,
.wc-block-components-totals-coupon .wc-block-components-text-input input:focus {
    border-color: var(--wcb-blue) !important;
    box-shadow: 0 0 0 3px rgba(21, 93, 253, 0.1) !important;
    outline: none !important;
}

/* Coupon "Aplicar" button */
.wc-block-components-totals-coupon .wc-block-components-button {
    background: var(--wcb-dark) !important;
    color: var(--wcb-white) !important;
    border-radius: var(--wcb-radius-md) !important;
    font-family: var(--wcb-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border: none !important;
    cursor: pointer;
    transition: background var(--wcb-duration) var(--wcb-ease),
                transform var(--wcb-duration) var(--wcb-ease);
    min-height: 40px;
}

.wc-block-components-totals-coupon .wc-block-components-button:hover {
    background: var(--wcb-gray-800) !important;
    transform: translateY(-1px);
}

/* ==========================================================
   18. CHECKOUT CTA — paridade com carrinho lateral (.xoo-wsc-ft-btn-checkout)
   ========================================================== */
.wc-block-cart__submit {
    padding: 0 !important;
    margin-top: 20px !important;
}

/* Com stack CEP/cupom premium: espaço igual ao footer do carrinho lateral (stack + CTA) */
.woocommerce-cart .wc-block-cart__sidebar:has(#wcb-cart-page-premium-stack) .wc-block-cart__submit {
    margin-top: 12px !important;
}

.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wc-block-cart__submit .wc-block-components-button {
    position: relative !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    height: auto !important;
    padding: 12px 20px !important;
    box-sizing: border-box !important;
    background: var(--wcb-primary, #155dfd) !important;
    color: var(--wcb-primary-contrast, #ffffff) !important;
    border: 1px solid var(--wcb-primary-hover, #0f48d4) !important;
    border-radius: 10px !important;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 0 0 1px rgba(255, 255, 255, 0.12) inset !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, var(--wcb-font, sans-serif) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transition:
        background 0.42s cubic-bezier(0.33, 1, 0.68, 1),
        color 0.35s cubic-bezier(0.33, 1, 0.68, 1),
        border-color 0.42s cubic-bezier(0.33, 1, 0.68, 1),
        box-shadow 0.48s cubic-bezier(0.33, 1, 0.68, 1),
        transform 0.42s cubic-bezier(0.33, 1, 0.68, 1),
        filter 0.42s cubic-bezier(0.33, 1, 0.68, 1) !important;
}

.wc-block-cart__submit-button::after,
a.wc-block-cart__submit-button::after,
.wc-block-cart__submit .wc-block-components-button::after {
    content: '' !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    margin-left: 2px !important;
    background-color: currentColor !important;
    opacity: 0.88 !important;
    transition:
        transform 0.42s cubic-bezier(0.33, 1, 0.68, 1),
        opacity 0.38s cubic-bezier(0.33, 1, 0.68, 1) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
}

.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover,
.wc-block-cart__submit .wc-block-components-button:hover {
    background: var(--wcb-primary-hover, #0f48d4) !important;
    color: var(--wcb-primary-contrast, #ffffff) !important;
    border-color: var(--wcb-primary-active, #0c3eb8) !important;
    box-shadow:
        0 10px 28px -8px var(--wcb-primary-shadow, rgba(21, 93, 253, 0.28)),
        0 4px 14px -6px rgba(21, 93, 253, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.14) inset !important;
    transform: translateY(-2px) !important;
    filter: brightness(1.03) !important;
}

@media (hover: hover) and (pointer: fine) {
    .wc-block-cart__submit-button:hover::after,
    a.wc-block-cart__submit-button:hover::after,
    .wc-block-cart__submit .wc-block-components-button:hover::after {
        transform: translateX(4px) !important;
        opacity: 1 !important;
    }
}

@media (hover: none), (pointer: coarse) {
    .wc-block-cart__submit-button:hover,
    a.wc-block-cart__submit-button:hover,
    .wc-block-cart__submit .wc-block-components-button:hover {
        transform: none !important;
        filter: none !important;
    }
}

.wc-block-cart__submit-button:active,
a.wc-block-cart__submit-button:active,
.wc-block-cart__submit .wc-block-components-button:active {
    background: var(--wcb-primary-active, #0c3eb8) !important;
    color: var(--wcb-primary-contrast, #ffffff) !important;
    border-color: #0a348f !important;
    box-shadow:
        0 2px 8px -2px rgba(15, 23, 42, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset !important;
    transform: translateY(0) scale(0.988) !important;
    filter: brightness(0.98) !important;
    transition-duration: 0.14s !important;
}

.wc-block-cart__submit-button:active::after,
a.wc-block-cart__submit-button:active::after,
.wc-block-cart__submit .wc-block-components-button:active::after {
    transform: translateX(2px) !important;
    transition-duration: 0.14s !important;
}

.wc-block-cart__submit-button:focus,
a.wc-block-cart__submit-button:focus,
.wc-block-cart__submit .wc-block-components-button:focus {
    outline: none !important;
}

.wc-block-cart__submit-button:focus-visible,
a.wc-block-cart__submit-button:focus-visible,
.wc-block-cart__submit .wc-block-components-button:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.92) !important;
    outline-offset: 2px !important;
    box-shadow:
        0 0 0 3px var(--wcb-primary-ring, rgba(21, 93, 253, 0.22)),
        0 8px 22px -6px var(--wcb-primary-shadow, rgba(21, 93, 253, 0.28)) !important;
}

.wc-block-cart__submit-button:hover:focus-visible,
a.wc-block-cart__submit-button:hover:focus-visible,
.wc-block-cart__submit .wc-block-components-button:hover:focus-visible {
    box-shadow:
        0 0 0 3px var(--wcb-primary-ring, rgba(21, 93, 253, 0.22)),
        0 10px 28px -8px var(--wcb-primary-shadow, rgba(21, 93, 253, 0.28)),
        0 4px 14px -6px rgba(21, 93, 253, 0.35) !important;
}

/* ==========================================================
   19. CONTINUE SHOPPING LINK
   ========================================================== */
.wc-block-cart__submit + a,
.wc-block-cart .wc-block-components-button--link {
    display: block;
    text-align: center;
    font-family: var(--wcb-font);
    font-size: 13px;
    font-weight: 500;
    color: var(--wcb-gray-400);
    margin-top: 12px;
    text-decoration: none;
    transition: color var(--wcb-duration) var(--wcb-ease);
}

.wc-block-cart__submit + a:hover,
.wc-block-cart .wc-block-components-button--link:hover {
    color: var(--wcb-blue);
}

/* ==========================================================
   20. EMPTY CART STATE
   ========================================================== */
.wc-block-cart--is-empty {
    text-align: center;
    padding: 80px 20px;
}

.wc-block-cart--is-empty .wc-block-cart__empty-cart__title {
    font-family: var(--wcb-font);
    font-size: var(--wcb-font-size-xl);
    font-weight: 700;
    color: var(--wcb-dark);
    margin-bottom: 12px;
}

/* ==========================================================
   21. CROSS-SELLS
   ========================================================== */
.cross-sells,
.wc-block-cart .wp-block-woocommerce-cart-cross-sells-block {
    margin-top: 32px;
}

.cross-sells h2,
.wc-block-cart .wp-block-woocommerce-cart-cross-sells-block h2 {
    font-family: var(--wcb-font);
    font-size: 16px;
    font-weight: 700;
    color: var(--wcb-dark);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 16px;
}

/* ==========================================================
   22. LOADING STATES
   ========================================================== */
.wc-block-cart .wc-block-components-spinner {
    color: var(--wcb-blue);
}

/* ==========================================================
   23. RESPONSIVE — TABLET (≤ 900px)
   ========================================================== */
@media (max-width: 900px) {
    .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 0 16px;
    }

    .wc-block-cart__main {
        grid-column: 1 !important;
    }

    .wc-block-cart__sidebar {
        grid-column: 1 !important;
        position: static !important;
        border-radius: var(--wcb-radius-lg);
    }
}

/* ==========================================================
   24. RESPONSIVE — CARTÃO ITEM (≤ 720px): subtotal em faixa full-width
   ========================================================== */
@media (max-width: 720px) {
    .wc-block-cart-items__row:not(:has(.wcb-line-total-slot)):not(.wcb-line-total-merged) {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        grid-template-areas:
            'wcb-thumb wcb-product'
            'wcb-total wcb-total' !important;
        gap: 0 14px !important;
        padding: 14px 16px !important;
        min-height: 0 !important;
    }

    .wc-block-cart-items__row:has(.wcb-line-total-slot),
    .wc-block-cart-items__row.wcb-line-total-merged {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        grid-template-areas: 'wcb-thumb wcb-product' !important;
        gap: 0 14px !important;
        padding: 14px 16px !important;
        min-height: 0 !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            'ci-title'
            'ci-badges'
            'ci-meta'
            'ci-qty'
            'ci-prices'
            'ci-subtotal' !important;
        row-gap: 4px !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__quantity,
    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__prices,
    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wc-block-cart-item__price,
    .wc-block-cart-item__product .wc-block-cart-item__wrap:has(.wcb-line-total-slot) .wcb-line-total-slot {
        align-self: stretch !important;
        min-height: 0 !important;
        padding: 8px 0 0 !important;
    }

    td.wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)):has(.wcb-line-total-slot) {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            'ci-title'
            'ci-badges'
            'ci-meta'
            'ci-qty'
            'ci-prices'
            'ci-subtotal' !important;
        row-gap: 4px !important;
    }

    .wcb-line-total-slot {
        max-width: none !important;
        width: 100% !important;
        padding-top: 12px !important;
        margin-top: 4px !important;
        border-top: 1px solid #e8eaed !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px 14px !important;
    }

    .wcb-line-total-slot::before {
        margin-right: auto !important;
        flex-basis: auto !important;
    }

    .wcb-line-total-slot .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .wc-block-cart-item__image {
        grid-area: wcb-thumb !important;
        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
    }

    .wc-block-cart-item__image a {
        width: 76px !important;
        height: 76px !important;
        min-width: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;
    }

    td.wc-block-cart-item__product {
        grid-area: wcb-product !important;
        padding-right: 0 !important;
    }

    td.wc-block-cart-item__total {
        grid-area: wcb-total !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        justify-self: stretch !important;
        gap: 8px 14px !important;
        max-width: none !important;
        width: 100% !important;
        padding: 14px 0 0 !important;
        margin-top: 4px !important;
        border-top: 1px solid #e8eaed !important;
    }

    td.wc-block-cart-item__total::before {
        margin-right: auto !important;
        flex-basis: auto !important;
    }

    .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap .wc-block-cart-item__remove-link,
    .wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) .wc-block-cart-item__remove-link {
        top: 12px !important;
        right: 12px !important;
    }

    .wc-block-cart-items__row.mhfgfwc-is-gift,
    tr.mhfgfwc-is-gift {
        padding-left: 13px !important;
    }
}

/* ==========================================================
   24b. MOBILE ESTREITO (≤ 480px)
   ========================================================== */
@media (max-width: 480px) {
    .wc-block-cart-item__product .wc-block-components-product-name {
        font-size: 13px !important;
    }

    .wc-block-cart-item__total .wc-block-formatted-money-amount,
    .wc-block-cart-item__total .wc-block-components-product-price,
    .wcb-line-total-slot .wc-block-formatted-money-amount,
    .wcb-line-total-slot .wc-block-components-product-price {
        font-size: 15px !important;
    }

    .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        font-size: 20px !important;
    }

    .wc-block-cart__submit-button,
    a.wc-block-cart__submit-button,
    .wc-block-cart__submit .wc-block-components-button {
        min-height: 48px !important;
        padding: 10px 16px !important;
        font-size: 0.875rem !important;
    }

    .wc-block-cart__sidebar {
        padding: 20px 16px !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap .wc-block-cart-item__remove-link,
    .wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) .wc-block-cart-item__remove-link {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
    }

    .wc-block-cart-item__product .wc-block-cart-item__wrap .wc-block-cart-item__remove-link::before,
    .wc-block-cart-item__product:not(:has(.wc-block-cart-item__wrap)) .wc-block-cart-item__remove-link::before {
        font-size: 15px !important;
    }

    /* Alvos de toque — mesmo estilo lateral, escala um pouco maior */
    .wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector {
        min-height: 36px !important;
        height: 36px !important;
    }

    .wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
        height: 36px !important;
        min-height: 36px !important;
        font-size: 12px !important;
        min-width: 30px !important;
        max-width: 48px !important;
    }

    .wc-block-cart table.wc-block-cart-items .wc-block-components-quantity-selector button {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 16px !important;
    }
}

/* ==========================================================
   25. GENERAL CART ACTION LINKS
   ========================================================== */
.wc-block-cart .wc-block-components-totals-coupon-link,
.wc-block-components-panel__button {
    font-family: var(--wcb-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--wcb-blue);
}

/* ==========================================================
   26. CART PAGE — CUSTOM CHECKOUT-STYLE HEADER
   ========================================================== */
.wcb-cart-header {
    background: var(--wcb-white);
    border-bottom: 3px solid var(--wcb-blue);
    padding: 20px 40px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
}
.wcb-cart-header__logo {
    margin-bottom: 14px;
}
.wcb-cart-header__logo img {
    height: 70px;
    width: auto;
}
.wcb-cart-header__steps {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--wcb-font);
    font-size: 13px;
    font-weight: 500;
}
.wcb-cart-header__step {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--wcb-gray-400);
    text-decoration: none;
    transition: color var(--wcb-duration);
}
.wcb-cart-header__step.active {
    color: var(--wcb-blue);
    font-weight: 700;
}

/* SVG icon circles */
.wcb-step-icon {
    width: 30px;
    height: 30px;
    border-radius: var(--wcb-radius-full);
    border: 2px solid var(--wcb-gray-300);
    background: var(--wcb-gray-100);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--wcb-gray-400);
    transition: all var(--wcb-duration);
}
.wcb-step-icon.active,
.wcb-cart-header__step.active .wcb-step-icon {
    background: var(--wcb-blue);
    border-color: var(--wcb-blue);
    color: var(--wcb-white);
}
.wcb-step-line {
    width: 60px;
    height: 2px;
    background: var(--wcb-gray-200);
    display: inline-block;
    flex-shrink: 0;
}

/* ==========================================================
   27. FREE SHIPPING URGENCY BAR
   ========================================================== */
.wcb-shipping-bar {
    background: var(--wcb-blue-pale);
    border-bottom: 1px solid var(--wcb-blue-bg);
    padding: 10px 40px;
    text-align: center;
    font-family: var(--wcb-font);
    font-size: 13px;
    color: var(--wcb-gray-700);
}
.wcb-shipping-bar__text {
    display: block;
    margin-bottom: 8px;
}
.wcb-shipping-bar__text strong {
    color: var(--wcb-blue);
}
.wcb-shipping-bar__track {
    max-width: 400px;
    margin: 0 auto;
    height: 6px;
    background: var(--wcb-blue-bg);
    border-radius: var(--wcb-radius-full);
    overflow: hidden;
}
.wcb-shipping-bar__fill {
    height: 100%;
    background: var(--wcb-gradient-cta);
    border-radius: var(--wcb-radius-full);
    transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    min-width: 4px;
}

/* Seção 28 removida — regras de imagem agora na seção 4 */

/* ==========================================================
   29. CART PAGE FOOTER
   ========================================================== */
.wcb-cart-footer {
    text-align: center;
    padding: 24px;
    font-family: var(--wcb-font);
    font-size: 12px;
    color: var(--wcb-gray-500);
    border-top: 1px solid var(--wcb-gray-200);
    margin-top: 40px;
}

/* ==========================================================
   30. SIDEBAR — Paridade visual com carrinho lateral (drawer Xoo)
   ========================================================== */
body.woocommerce-cart #wcb-shipping-bar {
    display: none !important;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon {
    display: none !important;
}

/* Incentivos full-width: painel único — regras em 30b (após o rail, para vencer a cascade) */

/* Sidebar: CEP + cupom — paridade com .wcb-cart-more-stack expandido (side-cart-premium.css) */
.wcb-cart-page-premium-stack {
    --wcb-stack-slot-min-h: 40px;
    --wcb-stack-summary-btn-w: 104px;
    --wcb-incentive-card-min-h: 110px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    margin: 0 0 8px;
    padding: 0;
    border-bottom: none;
    box-sizing: border-box;
}

/* Separador entre resumo espelhado e stack CEP/cupom */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block + #wcb-cart-page-premium-stack {
    margin-top: 2px;
    padding-top: 16px;
    border-top: 1px solid color-mix(in srgb, var(--wcb-border-subtle, #e8edf3) 78%, transparent);
}

.wcb-incentive-rail--cart-page-stack {
    margin-bottom: 14px;
}

.wcb-incentive-rail--cart-page-stack .wcb-incentive-rail__stack-inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

/* ── Cartões brinde / frete (espelho: .xoo-wsc-container > #wcb-incentive-rail) ── */
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    position: relative !important;
    isolation: isolate !important;
    min-height: var(--wcb-incentive-card-min-h, 110px) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding: 14px 16px 13px !important;
    box-sizing: border-box !important;
    gap: 0 !important;
    border-radius: 6px !important;
    border: 1px solid color-mix(in srgb, var(--wcb-neutral-200, #e2e8f0) 92%, var(--wcb-info-200, #bfdbfe)) !important;
    border-left: 3px solid var(--wcb-info-500, #155dfd) !important;
    overflow: hidden !important;
    background:
        radial-gradient(130% 90% at 100% 0%, color-mix(in srgb, var(--wcb-info-500, #155dfd) 7%, transparent) 0%, transparent 58%),
        radial-gradient(90% 70% at 0% 100%, color-mix(in srgb, var(--wcb-info-100, #dbeafe) 35%, transparent) 0%, transparent 52%),
        linear-gradient(168deg, #ffffff 0%, #f8fafc 42%, #f1f5f9 100%) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 -1px 0 rgba(255, 255, 255, 0.35) inset,
        0 1px 2px rgba(15, 23, 42, 0.03),
        0 8px 24px -8px rgba(15, 23, 42, 0.07),
        0 2px 8px color-mix(in srgb, var(--wcb-info-500, #155dfd) 5%, transparent) !important;
    -webkit-font-smoothing: antialiased !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress.wcb-gift-unlocked,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar.wcb-ship-bar--unlocked {
    border-left-color: var(--wcb-success-500, #10b981) !important;
    border-color: color-mix(in srgb, var(--wcb-neutral-200, #e2e8f0) 88%, var(--wcb-success-200, #a7f3d0)) !important;
    background:
        radial-gradient(125% 88% at 96% 4%, color-mix(in srgb, var(--wcb-success-500, #10b981) 8%, transparent) 0%, transparent 55%),
        radial-gradient(85% 65% at 4% 96%, color-mix(in srgb, var(--wcb-success-100, #d1fae5) 40%, transparent) 0%, transparent 50%),
        linear-gradient(172deg, #ffffff 0%, color-mix(in srgb, var(--wcb-success-50, #ecfdf5) 32%, #f8fafc) 55%, #f6faf8 100%) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 -1px 0 rgba(255, 255, 255, 0.4) inset,
        0 1px 2px rgba(15, 23, 42, 0.03),
        0 8px 26px -8px color-mix(in srgb, var(--wcb-success-600, #059669) 12%, rgba(15, 23, 42, 0.06)),
        0 2px 10px color-mix(in srgb, var(--wcb-success-500, #10b981) 6%, transparent) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress .wcb-gift-progress-text,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar .wcb-ship-bar__text {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13.25px !important;
    font-weight: 500 !important;
    line-height: 1.42 !important;
    letter-spacing: -0.015em !important;
    color: var(--wcb-neutral-700, #334155) !important;
    text-align: left !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress__icon,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    color: var(--wcb-info-600, #0f48d4) !important;
    border: 1px solid color-mix(in srgb, var(--wcb-info-200, #bfdbfe) 42%, var(--wcb-neutral-200, #e2e8f0)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 -8px 16px -6px color-mix(in srgb, var(--wcb-info-500, #155dfd) 12%, transparent) inset,
        0 2px 6px rgba(15, 23, 42, 0.06),
        0 0 0 1px rgba(255, 255, 255, 0.55) inset !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress__icon {
    background:
        radial-gradient(circle at 28% 22%, color-mix(in srgb, var(--wcb-info-200, #bfdbfe) 55%, transparent) 0%, transparent 58%),
        radial-gradient(circle at 92% 88%, color-mix(in srgb, var(--wcb-info-100, #dbeafe) 70%, transparent) 0%, transparent 52%),
        linear-gradient(
            152deg,
            #ffffff 0%,
            color-mix(in srgb, var(--wcb-info-50, #eff6ff) 72%, #ffffff) 45%,
            color-mix(in srgb, var(--wcb-info-100, #dbeafe) 22%, #f8fafc) 100%
        ) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar:not(.wcb-ship-bar--unlocked) .wcb-ship-bar__icon {
    color: var(--wcb-info-700, #0c3eb8) !important;
    border-color: color-mix(in srgb, var(--wcb-neutral-200, #e2e8f0) 55%, var(--wcb-info-200, #bfdbfe)) !important;
    background:
        radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--wcb-info-300, #93c5fd) 28%, transparent) 0%, transparent 55%),
        radial-gradient(circle at 12% 82%, color-mix(in srgb, var(--wcb-neutral-300, #cbd5e1) 14%, transparent) 0%, transparent 48%),
        linear-gradient(148deg, #ffffff 0%, var(--wcb-neutral-50, #f8fafc) 40%, color-mix(in srgb, var(--wcb-info-50, #eff6ff) 48%, #f1f5f9) 100%) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 -6px 14px -5px color-mix(in srgb, var(--wcb-info-500, #155dfd) 8%, transparent) inset,
        0 2px 6px rgba(15, 23, 42, 0.055),
        0 0 0 1px rgba(255, 255, 255, 0.55) inset !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-ship-bar__icon {
    color: var(--wcb-success-700, #047857) !important;
    border-color: color-mix(in srgb, var(--wcb-success-300, #6ee7b7) 38%, var(--wcb-neutral-200, #e2e8f0)) !important;
    background:
        radial-gradient(circle at 24% 20%, color-mix(in srgb, var(--wcb-success-200, #a7f3d0) 42%, transparent) 0%, transparent 58%),
        radial-gradient(circle at 90% 85%, color-mix(in srgb, var(--wcb-success-100, #d1fae5) 75%, transparent) 0%, transparent 52%),
        linear-gradient(
            155deg,
            #ffffff 0%,
            color-mix(in srgb, var(--wcb-success-50, #ecfdf5) 58%, #ffffff) 50%,
            color-mix(in srgb, var(--wcb-success-100, #d1fae5) 18%, #fafefd) 100%
        ) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 -8px 18px -6px color-mix(in srgb, var(--wcb-success-500, #10b981) 14%, transparent) inset,
        0 2px 7px color-mix(in srgb, var(--wcb-success-500, #10b981) 10%, transparent),
        0 0 0 1px rgba(255, 255, 255, 0.6) inset !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress__icon .wcb-sc-bar-icon,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress__icon svg,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar__icon .wcb-sc-bar-icon,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar__icon svg {
    width: 20px !important;
    height: 20px !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress.wcb-gift-unlocked .wcb-gift-progress__icon {
    color: var(--wcb-success-700, #047857) !important;
    border-color: color-mix(in srgb, var(--wcb-success-300, #6ee7b7) 38%, var(--wcb-neutral-200, #e2e8f0)) !important;
    background:
        radial-gradient(circle at 26% 24%, color-mix(in srgb, var(--wcb-success-200, #a7f3d0) 48%, transparent) 0%, transparent 58%),
        radial-gradient(circle at 88% 80%, color-mix(in srgb, var(--wcb-success-100, #d1fae5) 80%, transparent) 0%, transparent 52%),
        linear-gradient(
            155deg,
            #ffffff 0%,
            color-mix(in srgb, var(--wcb-success-50, #ecfdf5) 62%, #ffffff) 48%,
            color-mix(in srgb, var(--wcb-success-100, #d1fae5) 20%, #fafefd) 100%
        ) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.98) inset,
        0 -8px 18px -6px color-mix(in srgb, var(--wcb-success-500, #10b981) 14%, transparent) inset,
        0 2px 7px color-mix(in srgb, var(--wcb-success-500, #10b981) 10%, transparent),
        0 0 0 1px rgba(255, 255, 255, 0.6) inset !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress .wcb-gift-progress-text strong:not(.wcb-incentive-accent) {
    color: var(--wcb-neutral-800, #1e293b) !important;
    font-weight: 600 !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress .wcb-incentive-accent {
    color: var(--wcb-info-600, #0f48d4) !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: 'tnum' 1, 'lnum' 1 !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress.wcb-gift-unlocked .wcb-incentive-accent {
    color: var(--wcb-success-700, #047857) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress.wcb-gift-unlocked .wcb-gift-progress-text {
    color: var(--wcb-neutral-700, #334155) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress-bar,
.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar__track {
    height: 6px !important;
    min-height: 6px !important;
    margin-top: auto !important;
    flex-shrink: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #d5dde8 0%, #e8edf3 55%, #eef2f6 100%) !important;
    box-shadow:
        inset 0 1px 3px rgba(15, 23, 42, 0.09),
        0 1px 0 rgba(255, 255, 255, 0.55) !important;
    overflow: hidden !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress-fill {
    border-radius: 999px !important;
    background: linear-gradient(
        100deg,
        var(--wcb-info-600, #0f48d4) 0%,
        var(--wcb-info-300, #93c5fd) 42%,
        var(--wcb-info-500, #155dfd) 72%,
        color-mix(in srgb, var(--wcb-info-600, #0f48d4) 88%, #0c3a8f) 100%
    ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.38),
        0 0 14px color-mix(in srgb, var(--wcb-info-500, #155dfd) 22%, transparent) !important;
    transition: width 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-gift-progress.wcb-gift-unlocked .wcb-gift-progress-fill {
    background: linear-gradient(
        100deg,
        var(--wcb-success-600, #059669) 0%,
        var(--wcb-success-300, #6ee7b7) 44%,
        var(--wcb-success-500, #10b981) 78%,
        color-mix(in srgb, var(--wcb-success-600, #059669) 85%, #064e3b) 100%
    ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 0 14px color-mix(in srgb, var(--wcb-success-500, #10b981) 20%, transparent) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar__fill {
    border-radius: 999px !important;
    background: linear-gradient(
        100deg,
        var(--wcb-info-600, #0f48d4) 0%,
        var(--wcb-info-300, #93c5fd) 42%,
        var(--wcb-info-500, #155dfd) 72%,
        color-mix(in srgb, var(--wcb-info-600, #0f48d4) 88%, #0c3a8f) 100%
    ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.38),
        0 0 14px color-mix(in srgb, var(--wcb-info-500, #155dfd) 22%, transparent) !important;
    transition: width 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-ship-bar__track {
    display: block !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-ship-bar__fill {
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    width: 0 !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar:not(.wcb-ship-bar--unlocked) .wcb-incentive-accent {
    color: var(--wcb-info-600, #0f48d4) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    font-variant-numeric: tabular-nums !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-ship-bar__text {
    color: var(--wcb-success-800, #065f46) !important;
    font-weight: 600 !important;
}

.woocommerce-cart .wcb-incentive-rail--cart-page-stack .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-incentive-accent {
    color: var(--wcb-success-700, #047857) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    font-variant-numeric: tabular-nums !important;
}

/* ==========================================================
   30b. CART PAGE — incentivos “suite” premium (painel + 2 colunas + micro-rótulos)
   ========================================================== */
.woocommerce-cart #wcb-cart-page-premium-incentives.wcb-cart-page-premium-incentives {
    --wcb-suite-ink: #0f172a;
    --wcb-suite-muted: #64748b;
    --wcb-suite-line: rgba(15, 23, 42, 0.08);
    --wcb-suite-blue: #155dfd;
    --wcb-suite-teal: #0d9488;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    margin: 0 0 20px;
    padding: 14px clamp(18px, 3.2vw, 26px) 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(248, 250, 252, 0.98) 45%, rgba(241, 245, 249, 0.92) 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.75) inset,
        0 1px 2px rgba(15, 23, 42, 0.03),
        0 18px 40px -28px rgba(15, 23, 42, 0.1),
        0 10px 28px -18px color-mix(in srgb, var(--wcb-suite-blue) 14%, transparent);
    overflow: hidden;
}

.woocommerce-cart #wcb-cart-page-premium-incentives.wcb-cart-page-premium-incentives::before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.95) 20%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0.95) 80%,
        transparent 100%
    );
    pointer-events: none;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-rail--cart-page-stack {
    margin: 0 !important;
    text-align: left !important;
}

/* Grelha premium + divisória central */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 clamp(22px, 3.8vw, 40px) !important;
    align-items: start !important;
    width: 100% !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 2px;
    bottom: 2px;
    width: 1px;
    transform: translateX(-50%);
    background: linear-gradient(
        180deg,
        transparent 0%,
        var(--wcb-suite-line) 14%,
        rgba(15, 23, 42, 0.11) 50%,
        var(--wcb-suite-line) 86%,
        transparent 100%
    );
    pointer-events: none;
}

/* Só frete: sem coluna de brinde (MH sem regras ativas) */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite.wcb-incentive-suite--ship-only {
    grid-template-columns: minmax(0, 1fr) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite.wcb-incentive-suite--ship-only::after {
    display: none !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite__kicker {
    display: block !important;
    text-align: left !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--wcb-suite-muted) !important;
    margin: 0 0 12px !important;
    line-height: 1.25 !important;
}

/* Colunas sem “caixa” interior — respiro editorial */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-rail--cart-page-stack .wcb-gift-progress,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-rail--cart-page-stack .wcb-ship-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 2px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
    gap: 14px !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress .wcb-gift-progress-text,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar .wcb-ship-bar__text {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    font-weight: 500 !important;
    color: var(--wcb-suite-ink) !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-rail--cart-page-stack .wcb-incentive-accent {
    color: var(--wcb-suite-blue) !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar:not(.wcb-ship-bar--unlocked) .wcb-incentive-accent {
    color: var(--wcb-suite-teal) !important;
}

/* Ícones compactos — sempre à esquerda do texto (não empilhar) */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress__icon,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__icon {
    flex-shrink: 0 !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 50% !important;
    border: 1px solid color-mix(in srgb, var(--wcb-suite-blue) 22%, rgba(255, 255, 255, 0.8)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 14px -8px color-mix(in srgb, var(--wcb-suite-blue) 22%, transparent) !important;
    background: linear-gradient(160deg, #ffffff 0%, #f8fafc 55%, #f1f5f9 100%) !important;
    color: var(--wcb-suite-blue) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar:not(.wcb-ship-bar--unlocked) .wcb-ship-bar__icon {
    border-color: color-mix(in srgb, var(--wcb-suite-teal) 28%, rgba(255, 255, 255, 0.85)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 14px -8px color-mix(in srgb, var(--wcb-suite-teal) 20%, transparent) !important;
    color: var(--wcb-suite-teal) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress__icon .wcb-sc-bar-icon,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress__icon svg,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__icon .wcb-sc-bar-icon,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__icon svg {
    width: 16px !important;
    height: 16px !important;
}

/* Sem width:100% — senão o flex quebra o texto para baixo do ícone */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress__copy,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__copy {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    text-align: left !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress__copy .wcb-incentive-accent,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__copy .wcb-incentive-accent {
    text-align: left !important;
}

/* Suite: texto à esquerda (blocos WC por vezes herdam text-align:center) */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite .wcb-gift-progress,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite .wcb-ship-bar {
    text-align: left !important;
}

/* Trilhos finos + preenchimento com profundidade */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress-bar,
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__track {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    height: 8px !important;
    min-height: 8px !important;
    margin-top: 0 !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: rgba(15, 23, 42, 0.065) !important;
    box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.08) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress-fill {
    height: 100% !important;
    min-height: 100% !important;
    border-radius: 999px !important;
    background: linear-gradient(
        90deg,
        #1d4ed8 0%,
        var(--wcb-suite-blue) 38%,
        #60a5fa 100%
    ) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.25) inset,
        0 0 20px -4px color-mix(in srgb, var(--wcb-suite-blue) 45%, transparent) !important;
    transition: width 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__fill {
    height: 100% !important;
    min-height: 100% !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #0f766e 0%, var(--wcb-suite-teal) 45%, #2dd4bf 100%) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.22) inset,
        0 0 18px -4px color-mix(in srgb, var(--wcb-suite-teal) 40%, transparent) !important;
    transition: width 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Desbloqueado — toque “conquista” (âmbar + verde) */
.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress.wcb-gift-unlocked .wcb-incentive-accent {
    color: var(--wcb-success-700, #047857) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress.wcb-gift-unlocked .wcb-gift-progress__icon {
    border-color: color-mix(in srgb, var(--wcb-success-500, #10b981) 35%, #ffffff) !important;
    color: var(--wcb-success-700, #047857) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 4px 14px -6px color-mix(in srgb, var(--wcb-success-500, #10b981) 24%, transparent) !important;
    background: linear-gradient(165deg, #ffffff 0%, #ecfdf5 100%) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress.wcb-gift-unlocked .wcb-gift-progress-fill {
    background: linear-gradient(90deg, #059669 0%, #10b981 50%, #34d399 100%) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.28) inset,
        0 0 22px -4px color-mix(in srgb, var(--wcb-success-500, #10b981) 42%, transparent) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-incentive-accent {
    color: var(--wcb-success-700, #047857) !important;
}

.woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar.wcb-ship-bar--unlocked .wcb-ship-bar__icon {
    border-color: color-mix(in srgb, var(--wcb-success-500, #10b981) 35%, #ffffff) !important;
    color: var(--wcb-success-700, #047857) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 4px 14px -6px color-mix(in srgb, var(--wcb-success-500, #10b981) 24%, transparent) !important;
    background: linear-gradient(165deg, #ffffff 0%, #ecfdf5 100%) !important;
}

@media (max-width: 782px) {
    .woocommerce-cart #wcb-cart-page-premium-incentives.wcb-cart-page-premium-incentives {
        padding: 14px 16px 16px;
        border-radius: 12px;
        margin-top: 0;
        margin-bottom: 18px;
    }

    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite {
        grid-template-columns: 1fr !important;
        gap: 17px !important;
    }

    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-incentive-suite::after {
        display: none !important;
    }

    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar {
        padding-top: 17px !important;
        border-top: 1px solid var(--wcb-suite-line) !important;
    }

    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress .wcb-gift-progress-text,
    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar .wcb-ship-bar__text {
        font-size: 12.5px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-gift-progress-fill,
    .woocommerce-cart #wcb-cart-page-premium-incentives .wcb-ship-bar__fill {
        transition: none !important;
    }
}

/* ── Rótulos CEP / cupom (igual drawer expandido) ── */
.wcb-cart-page-premium-stack .wcb-stack-card__label {
    display: block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--wcb-neutral-500, #64748b) !important;
    margin: 0 0 8px !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-stage,
.wcb-cart-page-premium-stack .wcb-cep-stage {
    min-height: var(--wcb-stack-slot-min-h) !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-block:not(.wcb-coupon-block--applied) .wcb-coupon-layer--idle,
.wcb-cart-page-premium-stack .wcb-cep-block:not(.wcb-cep-block--done) .wcb-cep-layer--idle {
    position: relative !important;
    min-height: 0 !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-block:not(.wcb-coupon-block--applied) .wcb-coupon-layer--applied,
.wcb-cart-page-premium-stack .wcb-coupon-block--applied .wcb-coupon-layer--idle {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    min-height: 0 !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-block--applied .wcb-coupon-layer--applied {
    position: relative !important;
    min-height: 0 !important;
}

.wcb-cart-page-premium-stack .wcb-cep-block:not(.wcb-cep-block--done) .wcb-cep-layer--done,
.wcb-cart-page-premium-stack .wcb-cep-block--done .wcb-cep-layer--idle {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    min-height: 0 !important;
}

.wcb-cart-page-premium-stack .wcb-cep-block--done .wcb-cep-layer--done {
    position: relative !important;
    min-height: 0 !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-block__row,
.wcb-cart-page-premium-stack .wcb-cep-block__row {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: var(--wcb-stack-slot-min-h) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Inputs + Aplicar/Calcular — mesmo painel compacto do carrinho lateral (.wcb-cart-more-panel) */
.wcb-cart-page-premium-stack .wcb-coupon-input,
.wcb-cart-page-premium-stack .wcb-cep-input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: calc(var(--wcb-stack-slot-min-h) - 2px) !important;
    min-height: calc(var(--wcb-stack-slot-min-h) - 2px) !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-input:focus,
.wcb-cart-page-premium-stack .wcb-cep-input:focus {
    outline: none !important;
    border-color: #0f172a !important;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.12) !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-apply,
.wcb-cart-page-premium-stack .wcb-cep-btn {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    flex: 0 0 104px !important;
    height: calc(var(--wcb-stack-slot-min-h) - 2px) !important;
    min-height: calc(var(--wcb-stack-slot-min-h) - 2px) !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    font-family: inherit !important;
    cursor: pointer !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-apply:hover,
.wcb-cart-page-premium-stack .wcb-cep-btn:hover {
    background: #f8fafc !important;
    color: #0f172a !important;
    border-color: #94a3b8 !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-apply:disabled,
.wcb-cart-page-premium-stack .wcb-cep-btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.wcb-cart-page-premium-stack .wcb-cep-btn:active {
    transform: none !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-msg:not(:empty):not(.wcb-coupon-msg--error) {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    min-height: 1.2em !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

/* Cupom inválido / expirado — cartão premium, raio 4px, sem barra lateral */
.wcb-cart-page-premium-stack .wcb-coupon-msg--error {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 10px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    border-radius: 4px !important;
    border: 1px solid #f9d0d8 !important;
    border: 1px solid color-mix(in srgb, #be123c 14%, #e2e8f0) !important;
    background: linear-gradient(165deg, #ffffff 0%, #fffafa 48%, #fff1f2 100%) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.9) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px -12px rgba(190, 18, 60, 0.12) !important;
    color: #9f1239 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: -0.012em !important;
    font-family: var(--wcb-font), 'Inter', -apple-system, sans-serif !important;
    min-height: 0 !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Chip 4×4 + ícone (SVG único — sem máscara em cima de gradiente) */
.wcb-cart-page-premium-stack .wcb-coupon-msg--error::before {
    content: '' !important;
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 4px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Crect width='36' height='36' rx='4' fill='%23fff1f2' stroke='%23fecdd3' stroke-width='1'/%3E%3Ccircle cx='18' cy='18' r='7.25' fill='none' stroke='%23be123c' stroke-width='1.2'/%3E%3Cpath stroke='%23be123c' stroke-width='1.85' stroke-linecap='round' d='M18 12.5v6.25' fill='none'/%3E%3Ccircle cx='18' cy='23.25' r='1.05' fill='%23be123c'/%3E%3C/svg%3E") center / contain no-repeat !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}


.wcb-cart-page-premium-stack .wcb-coupon-applied-inner,
.wcb-cart-page-premium-stack .wcb-cep-applied-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 0 !important;
}

/* Resumo cupom / CEP aplicado (gradiente drawer) */
.wcb-cart-page-premium-stack .wcb-coupon-summary__row,
.wcb-cart-page-premium-stack .wcb-cep-summary__row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: var(--wcb-stack-slot-min-h) !important;
    padding: 11px 13px !important;
    margin: 0 !important;
    gap: 11px !important;
    background: linear-gradient(
        165deg,
        color-mix(in srgb, var(--wcb-success-50, #ecfdf5) 88%, #ffffff) 0%,
        color-mix(in srgb, var(--wcb-neutral-50, #f8fafc) 94%, var(--wcb-success-50, #ecfdf5)) 100%
    ) !important;
    border: 1px solid color-mix(in srgb, var(--wcb-success-200, #a7f3d0) 42%, var(--wcb-border-subtle, #e8edf3)) !important;
    border-radius: 10px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 1px 2px rgba(5, 150, 105, 0.05) !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__ok,
.wcb-cart-page-premium-stack .wcb-cep-summary__ok {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    background: linear-gradient(145deg, var(--wcb-success-500, #10b981) 0%, var(--wcb-success-600, #059669) 100%) !important;
    box-shadow: 0 1px 2px rgba(5, 150, 105, 0.25) !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__text,
.wcb-cart-page-premium-stack .wcb-cep-summary__text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    color: var(--wcb-neutral-800, #1e293b) !important;
    letter-spacing: 0.01em !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__text strong,
.wcb-cart-page-premium-stack .wcb-cep-summary__text strong {
    color: var(--wcb-neutral-900, #0f172a) !important;
    font-weight: 700 !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__sep {
    opacity: 0.5 !important;
    font-weight: 500 !important;
    color: var(--wcb-neutral-400, #94a3b8) !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__amount {
    font-variant-numeric: tabular-nums !important;
    font-weight: 700 !important;
    color: var(--wcb-success-700, #047857) !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__rm,
.wcb-cart-page-premium-stack .wcb-cep-summary__change {
    flex-shrink: 0 !important;
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: var(--wcb-stack-summary-btn-w, 104px) !important;
    min-width: var(--wcb-stack-summary-btn-w, 104px) !important;
    max-width: var(--wcb-stack-summary-btn-w, 104px) !important;
    min-height: 32px !important;
    padding: 0 8px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid color-mix(in srgb, var(--wcb-success-200, #a7f3d0) 55%, var(--wcb-neutral-200, #e2e8f0)) !important;
    color: var(--wcb-neutral-800, #1e293b) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-summary__rm:hover,
.wcb-cart-page-premium-stack .wcb-cep-summary__change:hover {
    background: #ffffff !important;
    border-color: var(--wcb-success-300, #6ee7b7) !important;
    color: var(--wcb-success-800, #065f46) !important;
}

/* Ordem no DOM: CEP → cupom (igual ritmo cupom → CEP no drawer, com hairline entre blocos) */
.wcb-cart-page-premium-stack > .wcb-cep-block {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-top: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.wcb-cart-page-premium-stack > .wcb-coupon-block {
    margin: 0 !important;
    padding: 12px 0 0 !important;
    border: none !important;
    border-top: 1px solid color-mix(in srgb, var(--wcb-border-subtle, #e8edf3) 55%, transparent) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.wcb-cart-page-premium-stack .wcb-coupon-block--applied .wcb-stack-card__label,
.wcb-cart-page-premium-stack .wcb-cep-block--done .wcb-stack-card__label {
    cursor: default !important;
}

.wcb-cart-page-premium-stack .wcb-cep-inline-msg:not(:empty) {
    margin-top: 8px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

.wcb-cart-page-premium-stack .wcb-cep-inline-msg--error,
.wcb-cart-page-premium-stack .wcb-cep-error {
    color: var(--wcb-warning-600, #ea580c) !important;
}

.wcb-cart-page-premium-stack .wcb-checkout-stage {
    position: relative !important;
}

/* Título do resumo: alinhado ao stack premium (quando existir) */
.woocommerce-cart .wc-block-cart__sidebar:has(.wcb-cart-page-premium-stack) .wc-block-cart__totals-title {
    margin-top: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
}

/* Sidebar com resumo espelhado: ritmo vertical mais uniforme */
.woocommerce-cart .wc-block-cart__sidebar:has(.wcb-cart-page-order-summary--mirror-active) {
    padding: 20px 20px 24px !important;
}

