/*
 * Alfa Printi Suite 4.10.16 — variações responsivas no carrinho mobile.
 *
 * Corrige a combinação entre o layout em CSS Grid do card e os metadados de
 * variação do WooCommerce. O texto passa a ocupar a faixa completa do card,
 * quebra apenas entre palavras e nunca é comprimido letra por letra.
 */

/* O resumo premium substitui os metadados originais após o JavaScript montar
 * o card. A regra anterior de display:grid !important anulava o atributo
 * hidden e fazia a lista original reaparecer em uma coluna estreita. */
html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
    .woocommerce-cart-form td.product-name :is(
        dl.variation.apcsu-cart-original-meta,
        .variation.apcsu-cart-original-meta,
        ul.wc-item-meta.apcsu-cart-original-meta
    )[hidden],
html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
    .woocommerce-cart-form td.product-name :is(
        dl.variation.apcsu-cart-original-meta,
        .variation.apcsu-cart-original-meta,
        ul.wc-item-meta.apcsu-cart-original-meta
    )[aria-hidden="true"] {
    display: none !important;
}

@media (max-width: 767px) {
    /* Quando a conversão premium ainda não ocorreu, a lista nativa continua
     * legível e ocupa a linha inteira do grid, sem cair na coluna de ações. */
    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > :is(dl.variation, .variation, ul.wc-item-meta):not([hidden]):not(.apcsu-cart-original-meta) {
        grid-area: meta !important;
        grid-column: 1 / -1 !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: minmax(92px, 42%) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 5px 10px !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > :is(dl.variation, .variation):not([hidden]):not(.apcsu-cart-original-meta)
        :is(dt, dd),
    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > ul.wc-item-meta:not([hidden]):not(.apcsu-cart-original-meta)
        :is(li, strong, p) {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 0 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        -webkit-hyphens: none !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > :is(dl.variation, .variation):not([hidden]):not(.apcsu-cart-original-meta) dt {
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > :is(dl.variation, .variation):not([hidden]):not(.apcsu-cart-original-meta) dd,
    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > :is(dl.variation, .variation):not([hidden]):not(.apcsu-cart-original-meta) dd p {
        line-height: 1.4 !important;
    }

    /* Resumo criado pelo runtime do carrinho. Pode quebrar linha quando
     * necessário, mas somente entre palavras completas. */
    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        .apcsu-cart-item-meta-premium {
        grid-area: meta !important;
        grid-column: 1 / -1 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        .apcsu-cart-item-meta-premium :is(
            .apcsu-cart-item-feature-line,
            .apcsu-cart-item-art-choice-line,
            .apcsu-cart-item-badge,
            .apcsu-cart-item-badge--size
        ) {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        -webkit-hyphens: none !important;
        hyphens: none !important;
        text-wrap: pretty !important;
    }

    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        .apcsu-cart-item-feature-line {
        display: grid !important;
        grid-template-columns: 23px minmax(0, 1fr) !important;
        align-items: start !important;
    }
}

@media (max-width: 380px) {
    html body:not(.wp-admin).apcsu-surface-cart.apcsu-plugin-owned-surface
        .woocommerce-cart-form tr.cart_item.apcsu-cart-item-card
        > td.product-name
        > :is(dl.variation, .variation, ul.wc-item-meta):not([hidden]):not(.apcsu-cart-original-meta) {
        grid-template-columns: minmax(84px, 40%) minmax(0, 1fr) !important;
        gap: 5px 8px !important;
    }
}
/*
 * Alfa Printi Suite 4.10.22 — reforços de metadados do carrinho.
 * Mantém ocultos os metadados nativos já substituídos pelo resumo premium.
 */

/* --- Rede de segurança contra dados duplicados (espelha cart-variation-mobile-v41016.css) ---
 * Independe de qualquer classe no <body>: qualquer elemento que o
 * JavaScript já marcou como "meta original" (apcsu-cart-original-meta)
 * fica oculto, ponto final, mesmo que algum grid !important mais antigo
 * tente reexibi-lo. */
html body dl.variation.apcsu-cart-original-meta[hidden],
html body .variation.apcsu-cart-original-meta[hidden],
html body ul.wc-item-meta.apcsu-cart-original-meta[hidden],
html body dl.variation.apcsu-cart-original-meta[aria-hidden="true"],
html body .variation.apcsu-cart-original-meta[aria-hidden="true"],
html body ul.wc-item-meta.apcsu-cart-original-meta[aria-hidden="true"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* --- Tipografia consistente do resumo premium do produto ---
 * Os detalhes variáveis (arte final, tamanho, cor) ficam menores, em cinza
 * e mais compactos, para não competir visualmente com o nome do produto —
 * independente da combinação de classes no <body>. */
html body .apcsu-cart-item-meta-premium {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

html body .apcsu-cart-item-feature-line,
html body .apcsu-cart-item-art-choice-line,
html body .apcsu-cart-item-badge {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    color: #6b7280 !important;
    font-weight: 400 !important;
}
