/*
 * cards.catalogo_personalizacao_recolhivel
 * Camada somente visual. Sem JavaScript, o renderer comercial permanece aberto.
 */
.products .bb-produto-card .bb-tabela-gravacao-catalogo.bb-personalizacao-recolhivel-pronta {
    --bb-catalog-visible-category-color: var(--bb-card-category-color, var(--primary-color));
    --bb-catalog-visible-category-size: var(--bb-card-reference-size, 15px);
    --bb-catalog-visible-category-weight: 800;
    --bb-catalog-visible-category-gap: 4px;
    --bb-catalog-visible-category-margin-bottom: 14px;
    --bb-catalog-visible-parent-category-size: var(--bb-card-parent-category-size, 11px);
    --bb-catalog-visible-sku-color: var(--bb-card-sku-color, var(--headline-color, inherit));
    --bb-catalog-visible-sku-size: var(--bb-card-sku-size, 18px);
    --bb-catalog-visible-sku-weight: var(--bb-card-sku-weight, 800);
    --bb-catalog-visible-sku-margin-bottom: 5px;
    --bb-catalog-visible-title-color: var(--headline-color, inherit);
    --bb-catalog-visible-title-size: var(--bb-card-name-size, 13px);
    --bb-catalog-visible-title-weight: var(--bb-card-name-weight, 700);
    --bb-catalog-visible-title-line-height: 1.35;
    --bb-catalog-visible-title-margin-bottom: 5px;
    --bb-catalog-visible-dimensions-color: var(--text-color, inherit);
    --bb-catalog-visible-dimensions-size: 11px;
    --bb-catalog-visible-dimensions-weight: 400;
    --bb-catalog-visible-dimensions-margin-bottom: 7px;
    --bb-catalog-visible-stock-color: var(--bb-card-stock-color, var(--success-color, var(--primary-color)));
    --bb-catalog-visible-stock-size: var(--bb-card-stock-size, 11px);
    --bb-catalog-visible-stock-weight: 700;
    --bb-catalog-visible-stock-margin-bottom: 8px;
    --bb-catalog-filter-result-bg: color-mix(in srgb, var(--primary-color) 7%, transparent);
    --bb-catalog-filter-result-border: color-mix(in srgb, var(--primary-color) 30%, transparent);
    --bb-catalog-filter-result-radius: 9px;
    --bb-catalog-filter-result-padding-y: 9px;
    --bb-catalog-filter-result-padding-x: 11px;
    --bb-catalog-filter-result-gap: 5px;
    --bb-catalog-filter-result-label-color: var(--text-color, inherit);
    --bb-catalog-filter-result-label-size: 10px;
    --bb-catalog-filter-result-quantity-color: var(--headline-color, inherit);
    --bb-catalog-filter-result-quantity-size: 13px;
    --bb-catalog-filter-result-price-color: var(--primary-color);
    --bb-catalog-filter-result-price-size: 13px;
    --bb-catalog-personalization-toggle-bg: transparent;
    --bb-catalog-personalization-toggle-border: color-mix(in srgb, var(--primary-color) 45%, transparent);
    --bb-catalog-personalization-toggle-text: var(--primary-color);
    --bb-catalog-personalization-toggle-open-bg: color-mix(in srgb, var(--primary-color) 8%, transparent);
    --bb-catalog-personalization-toggle-open-border: var(--primary-color);
    --bb-catalog-personalization-toggle-open-text: var(--primary-color);
    --bb-catalog-personalization-toggle-size: 12px;
    --bb-catalog-personalization-toggle-weight: 800;
    --bb-catalog-personalization-toggle-height: 43px;
    --bb-catalog-personalization-toggle-radius: 8px;
    --bb-catalog-personalization-toggle-padding-x: 11px;
    --bb-catalog-personalization-toggle-gap: 8px;
}


.products .bb-produto-card .bb-personalizacao-conteudo[hidden],
.products .bb-produto-card .bb-personalizacao-resumo-filtro[hidden] {
    display: none !important;
}


.products .bb-produto-card .bb-personalizacao-conteudo:not([hidden]) {
    display: contents;
}


.products .bb-produto-card .bb-personalizacao-resumo-filtro.bb-personalizacao-resumo-aberto {
    order: 65;
}


.products .bb-produto-card .bb-tabela-gravacao-categorias {
    gap: var(--bb-catalog-visible-category-gap);
    margin-bottom: var(--bb-catalog-visible-category-margin-bottom);
}


.products .bb-produto-card .bb-tabela-gravacao-categoria {
    color: var(--bb-catalog-visible-category-color);
    font-size: var(--bb-catalog-visible-category-size);
    font-weight: var(--bb-catalog-visible-category-weight);
}


.bb-tabela-gravacao-categoria-link {
    color: inherit !important;
    text-decoration: none;
}


.bb-tabela-gravacao-categoria-link:hover,
.bb-tabela-gravacao-categoria-link:focus-visible {
    color: inherit !important;
    text-decoration: underline;
}


.products .bb-produto-card .bb-tabela-gravacao-categoria.bb-categoria-pai {
    font-size: var(--bb-catalog-visible-parent-category-size);
}


.products .bb-produto-card .bb-tabela-gravacao-referencia {
    margin-bottom: var(--bb-catalog-visible-sku-margin-bottom);
}


.products .bb-produto-card .bb-tabela-gravacao-sku {
    color: var(--bb-catalog-visible-sku-color);
    font-size: var(--bb-catalog-visible-sku-size);
    font-weight: var(--bb-catalog-visible-sku-weight);
}


.products .bb-produto-card .bb-tabela-gravacao-produto-titulo {
    margin-bottom: var(--bb-catalog-visible-title-margin-bottom);
    color: var(--bb-catalog-visible-title-color);
    font-size: var(--bb-catalog-visible-title-size);
    font-weight: var(--bb-catalog-visible-title-weight);
    line-height: var(--bb-catalog-visible-title-line-height);
}


.products .bb-produto-card .bb-tabela-gravacao-dimensoes {
    margin-bottom: var(--bb-catalog-visible-dimensions-margin-bottom);
    color: var(--bb-catalog-visible-dimensions-color);
    font-size: var(--bb-catalog-visible-dimensions-size);
    font-weight: var(--bb-catalog-visible-dimensions-weight);
}


.products .bb-produto-card .bb-tabela-gravacao-estoque-topo,
.products .bb-produto-card .bb-tabela-gravacao-estoque {
    margin-bottom: var(--bb-catalog-visible-stock-margin-bottom);
    color: var(--bb-catalog-visible-stock-color);
    font-size: var(--bb-catalog-visible-stock-size);
    font-weight: var(--bb-catalog-visible-stock-weight);
}


.products .bb-produto-card .bb-tabela-gravacao-estoque-topo::before,
.products .bb-produto-card .bb-tabela-gravacao-estoque::before {
    content: var(--bb-catalog-visible-stock-icon, none);
    display: var(--bb-catalog-visible-stock-icon-display, none);
    margin-right: var(--bb-catalog-visible-stock-icon-gap, 5px);
    font-size: var(--bb-catalog-visible-stock-icon-size, 13px);
    line-height: 1;
}


.products .bb-produto-card .bb-personalizacao-resumo-filtro {
    order: 46;
    display: grid;
    gap: var(--bb-catalog-filter-result-gap);
    width: 100%;
    margin: var(--bb-catalog-filter-result-margin-top, 3px) 0 var(--bb-catalog-filter-result-margin-bottom, 9px);
    padding: var(--bb-catalog-filter-result-padding-y) var(--bb-catalog-filter-result-padding-x);
    border: 1px solid var(--bb-catalog-filter-result-border);
    border-radius: var(--bb-catalog-filter-result-radius);
    background: var(--bb-catalog-filter-result-bg);
}


@media (min-width: 600px) {
    .products .bb-produto-card .bb-personalizacao-resumo-filtro {
        width: var(--bb-catalog-filter-result-width, 100%);
        border-width: var(--bb-catalog-filter-result-border-width, 1px);
        box-shadow: var(--bb-catalog-filter-result-shadow, none);
        text-align: var(--bb-catalog-filter-result-align, left);
    }
}


.products .bb-produto-card .bb-personalizacao-resumo-label {
    color: var(--bb-catalog-filter-result-label-color);
    font-size: var(--bb-catalog-filter-result-label-size);
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}


.products .bb-produto-card .bb-personalizacao-resumo-lista,
.products .bb-produto-card .bb-personalizacao-resumo-item {
    display: grid;
    gap: 3px;
}


.products .bb-produto-card .bb-personalizacao-resumo-item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
}


.products .bb-produto-card .bb-personalizacao-resumo-quantidade {
    color: var(--bb-catalog-filter-result-quantity-color);
    font-size: var(--bb-catalog-filter-result-quantity-size);
    font-weight: 800;
}


.products .bb-produto-card .bb-personalizacao-resumo-preco {
    color: var(--bb-catalog-filter-result-price-color);
    font-size: var(--bb-catalog-filter-result-price-size);
    font-weight: 800;
    white-space: nowrap;
}


.products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle {
    order: 48;
    display: flex;
    align-items: center;
    justify-content: var(--bb-catalog-personalization-toggle-justify, flex-start);
    gap: var(--bb-catalog-personalization-toggle-gap);
    width: 100%;
    min-height: var(--bb-catalog-personalization-toggle-height);
    margin: var(--bb-catalog-personalization-toggle-margin-top, 0) 0 var(--bb-catalog-personalization-toggle-margin-bottom, var(--bb-card-personalizacao-title-margin-bottom, 6px));
    padding: var(--bb-catalog-personalization-toggle-padding-y, 7px) var(--bb-catalog-personalization-toggle-padding-x);
    border: 1px solid var(--bb-catalog-personalization-toggle-border);
    border-radius: var(--bb-catalog-personalization-toggle-radius);
    background: var(--bb-catalog-personalization-toggle-bg);
    color: var(--bb-catalog-personalization-toggle-text) !important;
    font: inherit;
    font-size: var(--bb-catalog-personalization-toggle-size);
    font-weight: var(--bb-catalog-personalization-toggle-weight);
    line-height: 1.2;
    text-align: var(--bb-catalog-personalization-toggle-text-align, left);
    text-transform: uppercase;
    box-shadow: none;
    cursor: pointer;
}


.products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle:hover,
.products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle:focus-visible,
.products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle[aria-expanded="true"] {
    border-color: var(--bb-catalog-personalization-toggle-open-border);
    background: var(--bb-catalog-personalization-toggle-open-bg);
    color: var(--bb-catalog-personalization-toggle-open-text) !important;
}


.products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle:focus-visible {
    outline: 2px solid var(--bb-table-focus-color, var(--primary-color));
    outline-offset: 2px;
}


.products .bb-produto-card .bb-personalizacao-toggle-icone {
    flex: 0 0 auto;
    font-size: var(--bb-catalog-personalization-toggle-icon-size, 20px);
    font-weight: 400;
    line-height: 1;
}


@media (max-width: 849px) {
    .products .bb-produto-card .bb-tabela-gravacao-categoria {
        font-size: var(--bb-catalog-mobile-category-size, var(--bb-catalog-visible-category-size));
    }


    .products .bb-produto-card .bb-tabela-gravacao-sku {
        font-size: var(--bb-catalog-mobile-sku-size, var(--bb-catalog-visible-sku-size));
    }


    .products .bb-produto-card .bb-tabela-gravacao-produto-titulo {
        font-size: var(--bb-catalog-mobile-title-size, var(--bb-catalog-visible-title-size));
    }


    .products .bb-produto-card .bb-tabela-gravacao-dimensoes {
        font-size: var(--bb-catalog-mobile-dimensions-size, var(--bb-catalog-visible-dimensions-size));
    }


    .products .bb-produto-card .bb-tabela-gravacao-estoque-topo,
    .products .bb-produto-card .bb-tabela-gravacao-estoque {
        font-size: var(--bb-catalog-mobile-stock-size, var(--bb-catalog-visible-stock-size));
    }


    .products .bb-produto-card .bb-personalizacao-resumo-item {
        grid-template-columns: 1fr;
    }


    .products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle {
        min-height: max(44px, var(--bb-catalog-mobile-personalization-toggle-height, var(--bb-catalog-personalization-toggle-height)));
        font-size: var(--bb-catalog-mobile-personalization-toggle-size, var(--bb-catalog-personalization-toggle-size));
    }
}


@media (prefers-reduced-motion: reduce) {
    .products .bb-produto-card .bb-personalizacao-titulo.bb-personalizacao-toggle {
        transition: none !important;
    }
}


/* Schema 5 — modal opcional somente fora do celular. */
@media (min-width: 600px) {
    body.bb-personalizacao-modal-aberta {
        overflow: hidden;
    }


    .bb-personalizacao-modal {
        position: fixed;
        inset: 0;
        z-index: 100050;
        display: grid;
        place-items: center;
        box-sizing: border-box;
        padding: 24px;
    }


    .bb-personalizacao-modal-overlay {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        background: var(--bb-catalog-modal-overlay, #263548);
        opacity: var(--bb-catalog-modal-overlay-opacity, .55);
        cursor: default;
    }


    .bb-personalizacao-modal-dialog {
        position: relative;
        z-index: 1;
        box-sizing: border-box;
        width: min(
            var(--bb-catalog-modal-width, 980px),
            calc(var(--bb-modal-loop-card-width, 280px) + var(--bb-catalog-modal-padding-x, 28px) + var(--bb-catalog-modal-padding-x, 28px)),
            calc(100vw - 32px)
        );
        max-height: var(--bb-catalog-modal-max-height, 86vh);
        overflow: hidden;
        padding: var(--bb-catalog-modal-padding-y, 28px) var(--bb-catalog-modal-padding-x, 28px);
        border: var(--bb-catalog-modal-border-width, 1px) solid var(--bb-catalog-modal-border, #dce2ea);
        border-radius: var(--bb-catalog-modal-radius, 14px);
        background: var(--bb-catalog-modal-bg, #fff);
        color: var(--text-color, #596579);
        box-shadow: var(--bb-catalog-modal-shadow, 0 24px 70px rgba(24, 35, 50, .28));
    }


    .bb-personalizacao-modal-titulo {
        display: flex;
        align-items: center;
        width: auto;
        margin: 0 44px 18px 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--headline-color, #263548);
        font: inherit;
        font-size: 18px;
        font-weight: 800;
        line-height: 1.25;
        text-align: left;
        cursor: pointer;
    }


    .bb-personalizacao-modal-titulo:focus-visible {
        outline: 2px solid var(--primary-color);
        outline-offset: 3px;
    }


    .bb-personalizacao-modal-fechar {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 2;
        display: grid;
        place-items: center;
        box-sizing: border-box;
        width: var(--bb-catalog-modal-close-size, 36px);
        height: var(--bb-catalog-modal-close-size, 36px);
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--bb-catalog-modal-close-color, #263548);
        font: inherit;
        font-size: 26px;
        line-height: 1;
        box-shadow: none;
        cursor: pointer;
    }


    .bb-personalizacao-modal-fechar:focus-visible {
        outline: 2px solid var(--primary-color);
        outline-offset: 2px;
    }


    .bb-personalizacao-modal-corpo {
        display: block;
        max-height: calc(var(--bb-catalog-modal-max-height, 86vh) - 56px);
        overflow: hidden;
    }


    .bb-personalizacao-modal-produto-loop.products {
        display: block;
        flex: 0 0 var(--bb-modal-loop-card-width, 280px) !important;
        width: var(--bb-modal-loop-card-width, 280px) !important;
        max-width: var(--bb-modal-loop-card-width, 280px) !important;
        min-width: 0 !important;
        max-height: calc(var(--bb-catalog-modal-max-height, 86vh) - 56px);
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: auto;
    }


    .bb-personalizacao-modal-produto-loop.products .bb-personalizacao-modal-card-original {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }


    .bb-personalizacao-modal .bb-personalizacao-resumo-filtro {
        display: none !important;
    }


    .bb-personalizacao-modal-funcional {
        min-width: 0;
        max-height: calc(var(--bb-catalog-modal-max-height, 86vh) - 56px);
        overflow: auto;
    }


    .bb-personalizacao-modal .bb-personalizacao-conteudo:not([hidden]) {
        display: flex !important;
        flex-direction: column;
        width: 100%;
    }


    body.bb-personalizacao-modal-aberta .bb-personalizacao-modal .products .bb-produto-card .bb-personalizacao-conteudo.bb-personalizacao-modal-conteudo-ativo {
        display: flex !important;
        flex-direction: column;
        order: 999 !important;
        flex: 0 0 auto;
        width: 100%;
        height: auto !important;
        max-height: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }


    body.bb-personalizacao-modal-aberta .bb-personalizacao-modal .bb-personalizacao-conteudo.bb-personalizacao-filtro-ativo .bb-quantidades-sugeridas-titulo,
    body.bb-personalizacao-modal-aberta .bb-personalizacao-modal .bb-personalizacao-conteudo.bb-personalizacao-filtro-ativo .bb-quantidades-selecionadas-titulo {
        display: block !important;
    }


    body.bb-personalizacao-modal-aberta .bb-personalizacao-modal .bb-personalizacao-conteudo.bb-personalizacao-filtro-ativo .bb-confirmacao-selecao,
    body.bb-personalizacao-modal-aberta .bb-personalizacao-modal .bb-personalizacao-conteudo.bb-personalizacao-filtro-ativo .bb-tabela-gravacao-linha[data-bb-quantidade] {
        display: flex !important;
    }


    .bb-personalizacao-modal-funcional .bb-tabela-gravacao-opcao,
    .bb-personalizacao-modal-funcional .bb-tabela-gravacao-opcao > .bb-tabela-gravacao-faixas,
    .bb-personalizacao-modal-funcional .bb-selecao-tabela-catalogo-opcao,
    .bb-personalizacao-modal-funcional .bb-selecao-tabela-catalogo-opcao > .bb-selecao-tabela-catalogo-faixas {
        display: contents;
    }


    .bb-personalizacao-modal-funcional .bb-tabela-gravacao-aplicacoes {
        width: 100%;
        margin: 0 0 var(--bb-card-section-gap, 12px);
        padding: 0;
        border: 0;
    }


    .bb-personalizacao-modal-funcional .bb-tabela-gravacao-aplicacoes::before {
        content: none;
    }


    .bb-personalizacao-modal-label-aplicacoes {
        display: block;
        margin-bottom: 7px;
        color: var(--bb-table-section-title-color, var(--headline-color, inherit));
        font-size: var(--bb-table-section-title-size, 10px);
        font-weight: 800;
        letter-spacing: .04em;
    }


    .bb-personalizacao-modal-funcional .bb-aplicacoes-seletor {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        margin: 0;
    }


    .bb-personalizacao-modal-funcional .bb-aplicacoes-opcao {
        position: relative;
        display: grid;
        place-items: center;
        min-width: 0;
        min-height: 41px;
        margin: 0;
        border: 1px solid var(--bb-card-application-border-normal, var(--bb-card-application-normal));
        border-radius: 8px;
        background: var(--bb-card-application-bg-normal, transparent);
        color: var(--bb-card-application-text-normal, var(--bb-card-application-normal)) !important;
        cursor: pointer;
    }


    .bb-personalizacao-modal-funcional .bb-aplicacoes-opcao:has(input:checked) {
        border-color: var(--bb-card-application-border-selected, var(--bb-card-application-selected));
        background: var(--bb-card-application-bg-selected, var(--bb-card-application-selected));
        color: var(--bb-card-application-text-selected, #fff) !important;
    }


    .bb-personalizacao-modal-funcional .bb-aplicacoes-opcao input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }


    .bb-personalizacao-modal-funcional .bb-selecao-tabela-catalogo-titulo {
        width: 100%;
        margin: 0 0 6px;
        color: var(--headline-color, inherit);
        text-align: left;
    }


    .bb-personalizacao-modal-funcional .bb-selecao-tabela-label {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 42px;
        margin: 0;
        padding: 0 11px;
        border: var(--bb-card-technique-border-width, 1px) solid var(--bb-card-technique-border-normal, var(--bb-card-technique-normal));
        border-radius: var(--bb-card-technique-radius, 8px);
        background: var(--bb-card-technique-bg-normal, transparent);
        color: var(--bb-card-technique-text-normal, var(--bb-card-technique-normal)) !important;
        font-size: var(--bb-card-technique-size, 12px);
        font-weight: 700;
        cursor: pointer;
    }


    .bb-personalizacao-modal-funcional .bb-selecao-tabela-label input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
    }


    .bb-personalizacao-modal-funcional .bb-selecao-tabela-label:has(input:checked),
    .bb-personalizacao-modal-funcional .bb-tabela-selecionada .bb-selecao-tabela-label {
        border-color: var(--bb-card-technique-border-selected, var(--bb-card-technique-selected));
        background: var(--bb-card-technique-bg-selected, transparent);
        color: var(--bb-card-technique-text-selected, var(--bb-card-technique-selected)) !important;
    }


    .bb-personalizacao-modal-funcional .bb-quantidades-sugeridas-titulo,
    .bb-personalizacao-modal-funcional .bb-quantidades-selecionadas-titulo,
    .bb-personalizacao-modal-funcional .bb-outras-quantidades-titulo {
        margin: 10px 0 7px;
        color: var(--headline-color, inherit);
        font-size: var(--bb-table-section-title-size, 10px);
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
    }


    .bb-personalizacao-modal-funcional .bb-tabela-gravacao-linha[data-bb-quantidade] {
        display: flex;
        align-items: center;
        gap: 2px;
        box-sizing: border-box;
        width: 100%;
        min-height: var(--bb-table-row-min-height, 40px);
        margin: calc(var(--bb-card-quantity-row-gap, 0px) / 2) 0;
        padding: var(--bb-table-row-padding-y, 7px) var(--bb-table-row-padding-x, 8px);
        border: 2px solid transparent;
        color: var(--bb-card-quantity-color, inherit) !important;
        font-size: var(--bb-card-quantity-size, 14px) !important;
    }


    .bb-personalizacao-modal-funcional .bb-tabela-gravacao-linha[data-bb-quantidade] > .woocommerce-Price-amount {
        margin-left: auto;
        white-space: nowrap;
    }


    .bb-personalizacao-modal-funcional .bb-catalogo-quantidade-checkbox {
        width: 16px;
        height: 16px;
        margin: 0 9px 0 0;
        accent-color: var(--bb-card-selected-quantity);
    }


    .bb-personalizacao-modal-funcional .bb-quantidade-personalizada {
        width: 100%;
        margin: calc(var(--bb-card-section-gap, 12px) + 5px) 0 0;
    }


    .bb-personalizacao-modal-funcional .bb-quantidade-personalizada-toggle,
    .bb-personalizacao-modal-funcional .bb-quantidade-personalizada-input,
    .bb-personalizacao-modal-funcional .bb-quantidade-personalizada-confirmar {
        width: 100% !important;
    }




    .bb-personalizacao-modal .bb-personalizacao-resumo-filtro {
        display: grid;
        gap: var(--bb-catalog-filter-result-gap, 5px);
        width: var(--bb-catalog-filter-result-width, 100%);
        margin: var(--bb-catalog-filter-result-margin-top, 3px) 0 var(--bb-catalog-filter-result-margin-bottom, 9px);
        padding: var(--bb-catalog-filter-result-padding-y, 9px) var(--bb-catalog-filter-result-padding-x, 11px);
        border: var(--bb-catalog-filter-result-border-width, 1px) solid var(--bb-catalog-filter-result-border, #dce2ea);
        border-radius: var(--bb-catalog-filter-result-radius, 9px);
        background: var(--bb-catalog-filter-result-bg, #f4f8fb);
        box-shadow: var(--bb-catalog-filter-result-shadow, none);
        text-align: var(--bb-catalog-filter-result-align, left);
    }


    .bb-personalizacao-modal .bb-personalizacao-resumo-filtro[hidden] {
        display: none !important;
    }


    .bb-personalizacao-modal .bb-personalizacao-resumo-label {
        color: var(--bb-catalog-filter-result-label-color, var(--text-color));
        font-size: var(--bb-catalog-filter-result-label-size, 10px);
        font-weight: 800;
        text-transform: uppercase;
    }


    .bb-personalizacao-modal .bb-personalizacao-resumo-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }


    .bb-personalizacao-modal .bb-personalizacao-resumo-quantidade,
    .bb-personalizacao-modal .bb-personalizacao-resumo-preco {
        font-size: var(--bb-catalog-filter-result-quantity-size, 13px);
        font-weight: 800;
    }


    .bb-personalizacao-modal .bb-personalizacao-resumo-preco {
        color: var(--bb-catalog-filter-result-price-color, var(--primary-color));
        font-size: var(--bb-catalog-filter-result-price-size, 13px);
    }
}


@media (min-width: 600px) and (max-width: 849px) {
    .bb-personalizacao-modal {
        padding: 16px;
    }
}


/* Schema 8 — slide horizontal aplicado diretamente aos produtos do loop. */
@media (min-width: 600px) {
    .bb-personalizacao-modal-dialog {
        width: min(
            var(--bb-catalog-modal-width, 980px),
            calc(var(--bb-modal-content-width, var(--bb-modal-loop-card-width, 280px)) + var(--bb-catalog-modal-padding-x, 28px) + var(--bb-catalog-modal-padding-x, 28px)),
            calc(100vw - 32px)
        );
    }


    .bb-personalizacao-modal-toolbar {
        position: relative;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: var(--bb-catalog-slider-button-size, 32px);
        margin: 0 42px 12px 0;
    }


    .bb-personalizacao-modal-toolbar[hidden] {
        display: none !important;
    }


    .bb-personalizacao-modal-nav,
    .bb-personalizacao-modal-grade-toggle,
    .bb-personalizacao-modal-grade-menu button {
        display: grid;
        place-items: center;
        box-sizing: border-box;
        width: var(--bb-catalog-slider-button-size, 32px);
        height: var(--bb-catalog-slider-button-size, 32px);
        min-height: 0;
        margin: 0;
        padding: 0;
        border: 1px solid var(--bb-catalog-slider-border, #dce2ea);
        border-radius: var(--bb-catalog-slider-radius, 8px);
        background: var(--bb-catalog-slider-bg, #fff);
        color: var(--bb-catalog-slider-text, #263548);
        font: inherit;
        font-size: 22px;
        line-height: 1;
        box-shadow: none;
        cursor: pointer;
    }


    .bb-personalizacao-modal-nav:hover,
    .bb-personalizacao-modal-grade-toggle:hover,
    .bb-personalizacao-modal-grade-menu button:hover {
        border-color: var(--bb-catalog-slider-text, #263548);
        background: color-mix(in srgb, var(--bb-catalog-slider-text, #263548) 7%, var(--bb-catalog-slider-bg, #fff));
        color: var(--bb-catalog-slider-text, #263548);
    }


    .bb-personalizacao-modal-nav:focus-visible,
    .bb-personalizacao-modal-grade-toggle:focus-visible,
    .bb-personalizacao-modal-grade-menu button:focus-visible {
        outline: 2px solid var(--primary-color);
        outline-offset: 2px;
    }


    .bb-personalizacao-modal-nav:disabled,
    .bb-personalizacao-modal-grade-menu button:disabled {
        opacity: var(--bb-catalog-slider-disabled-opacity, .35);
        cursor: default;
    }


    .bb-personalizacao-modal-indicador {
        min-width: 58px;
        color: var(--bb-catalog-slider-text, #263548);
        font-size: 12px;
        font-weight: 700;
        text-align: center;
    }


    .bb-personalizacao-modal-indicador[hidden] {
        display: none !important;
    }


    .bb-personalizacao-modal-grade {
        position: absolute;
        right: 0;
        top: 0;
    }


    .bb-personalizacao-modal-toolbar.bb-controle-esquerda .bb-personalizacao-modal-grade {
        right: auto;
        left: 0;
    }


    .bb-personalizacao-modal-grade-toggle {
        font-size: 12px;
    }


    .bb-personalizacao-modal-grade-icone {
        display: grid;
        grid-template-columns: repeat(4, 3px);
        gap: 2px;
    }


    .bb-personalizacao-modal-grade-icone i {
        display: block;
        width: 3px;
        height: 12px;
        border: 1px solid currentColor;
        border-radius: 1px;
    }


    .bb-personalizacao-modal-grade-menu {
        position: absolute;
        top: calc(100% + 6px);
        right: 0;
        display: flex;
        gap: 4px;
        padding: 5px;
        border: 1px solid var(--bb-catalog-slider-border, #dce2ea);
        border-radius: var(--bb-catalog-slider-radius, 8px);
        background: var(--bb-catalog-slider-bg, #fff);
        box-shadow: 0 8px 24px rgba(19, 35, 57, .16);
    }


    .bb-controle-esquerda .bb-personalizacao-modal-grade-menu {
        right: auto;
        left: 0;
    }


    .bb-personalizacao-modal-grade-menu[hidden] {
        display: none !important;
    }


    .bb-personalizacao-modal-grade-menu button {
        width: 28px;
        height: 28px;
        font-size: 11px;
        font-weight: 800;
    }


    .bb-personalizacao-modal-grade-menu button.is-active {
        border-color: var(--bb-catalog-slider-active-bg, #263548);
        background: var(--bb-catalog-slider-active-bg, #263548);
        color: var(--bb-catalog-slider-active-text, #fff);
    }


    .bb-personalizacao-modal-corpo {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 6px;
        width: 100%;
    }


    .bb-personalizacao-modal-janela {
        display: grid;
        justify-content: center;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }


    .bb-personalizacao-modal-trilho {
        display: grid;
        grid-template-columns: repeat(var(--bb-modal-cards-visible, 1), minmax(0, var(--bb-modal-loop-card-width, 280px)));
        gap: var(--bb-catalog-slider-gap, 16px);
        width: max-content;
        max-width: 100%;
        margin: 0;
        overflow: hidden;
    }


    .bb-personalizacao-modal-produto-loop.products {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        scrollbar-width: thin;
    }


    .bb-personalizacao-modal-produto-loop.products > .bb-produto-card {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }


    .bb-personalizacao-modal-nav[hidden] {
        display: none !important;
    }


    .bb-personalizacao-modal-carregamento {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 32px;
        margin: 10px 38px 0;
        padding: 6px 10px;
        border-radius: var(--bb-catalog-slider-radius, 8px);
        background: var(--bb-catalog-slider-status-bg, #f5f7fa);
        color: var(--bb-catalog-slider-status-color, #52657a);
        font-size: 12px;
        line-height: 1.35;
        text-align: center;
    }


    .bb-personalizacao-modal-carregamento[hidden] {
        display: none !important;
    }


    .bb-personalizacao-modal-spinner {
        display: none;
        width: 14px;
        height: 14px;
        flex: 0 0 14px;
        border: 2px solid color-mix(in srgb, currentColor 25%, transparent);
        border-top-color: currentColor;
        border-radius: 50%;
        animation: bb-personalizacao-modal-girar .7s linear infinite;
    }


    .bb-personalizacao-modal-carregamento[data-bb-status="loading"] .bb-personalizacao-modal-spinner {
        display: inline-block;
    }


    .bb-personalizacao-modal-retry {
        min-height: 28px;
        margin: 0;
        padding: 4px 9px;
        border: 1px solid currentColor;
        border-radius: var(--bb-catalog-slider-radius, 8px);
        background: transparent;
        color: inherit;
        font: inherit;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
    }


    .bb-personalizacao-modal-retry[hidden] {
        display: none !important;
    }


    @keyframes bb-personalizacao-modal-girar {
        to { transform: rotate(360deg); }
    }


    /* O resultado derivado do filtro permanece apenas no card do catálogo. */
    body.bb-personalizacao-modal-aberta .bb-personalizacao-modal .bb-personalizacao-resumo-filtro {
        display: none !important;
    }
}


@media (max-width: 599px) {
    .bb-personalizacao-modal-toolbar,
    .bb-personalizacao-modal-trilho {
        display: none !important;
    }
}


/* De 1080px em diante: três colunas fluidas; ultrawide pode habilitar quatro. */
@media (min-width: 1080px) {
    .bb-personalizacao-modal {
        padding: 32px;
    }


    .bb-personalizacao-modal-dialog {
        max-width: calc(100vw - 64px);
    }


    .bb-personalizacao-modal-toolbar {
        margin-bottom: 14px;
    }


    .bb-personalizacao-modal-corpo,
    .bb-personalizacao-modal-produto-loop.products {
        max-height: calc(var(--bb-catalog-modal-max-height, 86dvh) - 64px);
    }
}


/*
 * 1.0.92 — Com filtro de quantidade, a tabela original abre inline.
 * O resumo externo continua acima do controle e reúne filtro + seleções reais.
 * Sem filtro, nenhuma regra abaixo interfere no modal existente.
 */
.products .bb-produto-card .bb-tabela-gravacao-catalogo.bb-personalizacao-composicao-filtro-ativa > .bb-personalizacao-resumo-filtro:not([hidden]) {
    display: grid;
}


.products .bb-produto-card .bb-tabela-gravacao-catalogo.bb-personalizacao-composicao-filtro-ativa > .bb-personalizacao-toggle {
    order: 48;
}


.products .bb-produto-card .bb-tabela-gravacao-catalogo.bb-personalizacao-composicao-filtro-ativa .bb-personalizacao-conteudo:not([hidden]) {
    display: contents;
}

/*
 * 1.0.93 — resumos externos separados por origem, sem rótulos.
 * A referência do filtro conserva o tratamento neutro; a seleção direta
 * herda a linguagem visual da linha selecionada da tabela original.
 */
.products .bb-produto-card .bb-personalizacao-resumo-filtro {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.products .bb-produto-card .bb-personalizacao-resumo-lista {
    display: grid;
    gap: 9px;
}

.products .bb-produto-card .bb-personalizacao-resumo-item {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: var(--bb-catalog-filter-result-padding-y) var(--bb-catalog-filter-result-padding-x);
    border-radius: var(--bb-catalog-filter-result-radius);
}

.products .bb-produto-card .bb-personalizacao-resumo-referencia {
    border: 1px solid var(--bb-catalog-filter-result-border);
    background: var(--bb-catalog-filter-result-bg);
}

.products .bb-produto-card .bb-personalizacao-resumo-selecao {
    grid-template-columns: auto minmax(0, 1fr) auto;
    border: 2px solid var(--bb-card-selected-quantity);
    border-radius: 8px;
    background: transparent;
    color: var(--bb-card-selected-quantity) !important;
    font-size: var(--bb-card-selected-quantity-size) !important;
    font-weight: 800;
}

.products .bb-produto-card .bb-personalizacao-resumo-selecao .bb-personalizacao-resumo-quantidade,
.products .bb-produto-card .bb-personalizacao-resumo-selecao .bb-personalizacao-resumo-preco,
.products .bb-produto-card .bb-personalizacao-resumo-selecao .bb-personalizacao-resumo-check {
    color: var(--bb-card-selected-quantity) !important;
    font-size: var(--bb-card-selected-quantity-size) !important;
    font-weight: 800;
}

.products .bb-produto-card .bb-personalizacao-resumo-check {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    line-height: 1;
}

/* Tabela aberta = somente a tabela original; os resumos externos desaparecem. */
.products .bb-produto-card .bb-tabela-gravacao-catalogo.bb-personalizacao-aberta > .bb-personalizacao-resumo-filtro {
    display: none !important;
}
