/*
 * Brindes Brasil - Catálogo / Produto
 * V1.5
 *
 * Nesta versão os estilos originais permanecem inline nos módulos PHP
 * para preservar exatamente o visual atual. As próximas migrações de CSS
 * serão feitas gradualmente neste arquivo.
 */

/* V1.8 - Bloco Fale Conosco compacto */
.bb-fale-conosco {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 10px 0 !important;
    padding: 0 !important;
}
.bb-fale-conosco > .bb-fale-conosco-icone {
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    text-align: right !important;
}
.bb-fale-conosco > .bb-fale-conosco-icone img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    margin: 0 !important;
    object-fit: contain;
}
.bb-fale-conosco > .bb-fale-conosco-texto {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px;
    line-height: 13px;
    color: #000;
    text-align: left !important;
}
.bb-fale-conosco > .bb-fale-conosco-texto h4 {
    margin: 0 0 2px !important;
    color: #000;
    line-height: 1.1;
    text-align: left !important;
}

/* V1.9 - Tabela de gravação selecionada por compatibilidade */
.bb-tabela-gravacao {
    width: min(100%, 320px);
    margin: 14px auto;
    padding: 10px 12px;
    text-align: center;
    font-size: 12px;
    line-height: 1.45;
}
.bb-tabela-gravacao-titulo {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 3px;
}
.bb-tabela-gravacao-tipo {
    font-weight: 700;
    margin-bottom: 5px;
}

/* V1.52 - Selecao global de 1 a 4 cores/aplicacoes */
.bb-aplicacoes-seletor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-left: 9px;
    color: inherit !important;
    font-weight: 400;
    white-space: nowrap;
    vertical-align: middle;
}

.bb-aplicacoes-opcao {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 0;
    color: inherit !important;
    cursor: pointer;
    line-height: 1;
}

.bb-aplicacoes-opcao input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    width: 15px;
    height: 15px;
    margin: 0;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    background: #fff;
    color: inherit;
    cursor: pointer;
    display: inline-grid;
    place-content: center;
}

.bb-aplicacoes-opcao input[type="radio"]::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    transform: scale(0);
    transition: transform .12s ease;
}

.bb-aplicacoes-opcao input[type="radio"]:checked::before {
    transform: scale(1);
}

.bb-aplicacoes-info {
    color: inherit !important;
    cursor: help;
    font-size: 11px;
    line-height: 1;
}

.bb-tabela-gravacao-tipo-catalogo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

@media (max-width: 480px) {
    .bb-aplicacoes-seletor {
        gap: 5px;
        margin: 5px 0 0;
        width: 100%;
    }
}
.bb-tabela-gravacao-linha {
    margin: 2px 0;
}

/* V1.14 - similares_produtos e separação das tabelas na página do produto */
.bb-tabela-gravacao-similares {
    margin: 0 0 6px;
    font-size: 11px;
    line-height: 1.35;
}

.bb-tabela-gravacao-produto .bb-tabela-gravacao-opcao + .bb-tabela-gravacao-opcao {
    margin-top: 22px;
}

/* V1.23 - Tabela detalhada de preço por quantidade na página do produto */
.bb-preco-quantidade-wrap {
    width: min(100%, 360px);
    margin: 18px auto 24px;
    text-align: center;
    font-size: 14px;
    line-height: 1.45;
}

.bb-preco-quantidade-bloco-seguinte {
    margin-top: 24px;
}

.bb-preco-quantidade-tipo {
    margin: 0 0 6px;
    font-weight: 700;
    text-align: center;
}

.bb-preco-quantidade-grid {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) 1px minmax(110px, 1fr);
    column-gap: 12px;
    align-items: center;
    width: 100%;
    min-height: 22px;
}

.bb-preco-quantidade-cabecalho {
    margin-bottom: 4px;
    font-weight: 700;
}

.bb-preco-quantidade-qtd {
    text-align: right;
}

.bb-preco-quantidade-valor {
    text-align: left;
    white-space: nowrap;
}

.bb-preco-quantidade-divisor {
    align-self: stretch;
    width: 1px;
    background: currentColor;
    opacity: 0.25;
}

.bb-preco-quantidade-faixa-seguinte {
    margin-top: 10px;
}



/* V1.24 - Valor total na tabela detalhada de preço por quantidade */
.bb-preco-quantidade-wrap {
    width: min(100%, 520px);
}

.bb-preco-quantidade-grid {
    grid-template-columns: minmax(80px, 0.85fr) 1px minmax(115px, 1fr) 1px minmax(145px, 1.2fr);
    column-gap: 10px;
}

.bb-preco-quantidade-total {
    text-align: center;
    white-space: nowrap;
}


/* V1.25 - Estimativa detalhada unificada na página do produto */
.bb-preco-quantidade-estimativa {
    width: min(100%, 520px);
    margin: 14px auto;
}

.bb-preco-quantidade-titulo {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 3px;
    text-align: center;
}

.bb-preco-quantidade-similares {
    margin: 0 0 8px;
    font-size: 11px;
    line-height: 1.35;
    text-align: center;
}

.bb-preco-quantidade-nota {
    font-size: 10px;
    line-height: 12px;
    margin-top: 7px;
    text-align: center;
}


/* V1.26 - Cor/Aplicação adicional na estimativa da página do produto */
.bb-preco-quantidade-estimativa {
    width: min(100%, 680px);
}

.bb-preco-quantidade-estimativa .bb-preco-quantidade-grid {
    grid-template-columns: minmax(60px, 0.7fr) 1px minmax(100px, 1fr) 1px minmax(135px, 1.15fr) 1px minmax(110px, 1fr);
    column-gap: 9px;
}

.bb-preco-quantidade-adicional {
    text-align: left;
    white-space: nowrap;
}

.bb-preco-quantidade-info {
    cursor: help;
    white-space: nowrap;
}

@media (max-width: 480px) {
    .bb-preco-quantidade-estimativa {
        font-size: 10px;
    }

    .bb-preco-quantidade-estimativa .bb-preco-quantidade-grid {
        grid-template-columns: minmax(45px, 0.65fr) 1px minmax(72px, 0.95fr) 1px minmax(100px, 1.2fr) 1px minmax(78px, 0.95fr);
        column-gap: 5px;
    }
}


/* V1.27 - Estimativa de Preco como bloco principal do catalogo */
.bb-tabela-gravacao-catalogo {
    width: min(100%, 340px);
}

.bb-tabela-gravacao-categoria {
    font-size: 11px;
    line-height: 1.3;
    margin-bottom: 1px;
    text-transform: uppercase;
}

.bb-tabela-gravacao-categoria::before {
    content: "★ ";
}

.bb-tabela-gravacao-referencia {
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    margin-bottom: 7px;
}

.bb-copiar-referencia {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-transform: none;
    box-shadow: none !important;
    cursor: pointer;
    vertical-align: middle;
    transition: color .2s ease, transform .12s ease;
}

.bb-copiar-referencia svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    font-size: 16px;
    line-height: 16px;
}

.bb-copiar-referencia:active {
    transform: scale(.96);
}

.bb-copiar-referencia.bb-referencia-copiada {
    color: #00a859 !important;
}

.bb-tabela-gravacao-produto-titulo {
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    margin: 3px 0 6px;
}

.bb-tabela-gravacao-produto-titulo a {
    color: inherit;
}

.bb-tabela-gravacao-estoque {
    font-size: 10px;
    line-height: 12px;
    margin-top: 7px;
}

/* Oculta os dados antigos do Flatsome somente quando o produto possui a nova estimativa. */
.product-small:has(.bb-tabela-gravacao-catalogo) .box-text .category,
.product-small:has(.bb-tabela-gravacao-catalogo) .box-text .name.product-title,
.product-small:has(.bb-tabela-gravacao-catalogo) .box-text .price-wrapper {
    display: none !important;
}


/* V1.28 - Dimensoes dentro da Estimativa de Preco do catalogo */
.bb-tabela-gravacao-dimensoes {
    font-size: 11px;
    line-height: 1.3;
    margin: 1px 0 4px;
}

/* V1.29 - Destaque do melhor preco unitario no catalogo */
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-destaque .woocommerce-Price-amount,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-destaque .amount {
    font-size: 18px !important;
    line-height: 1.15 !important;
}



/* V1.31 - Portfolio em galeria/lightbox nas paginas de produto e tags */
.bb-portfolio-lightbox {
    display: grid;
    gap: 12px;
    width: min(100%, 1200px);
    margin: 16px auto 24px;
    padding: 0 12px;
}

.bb-portfolio-lightbox-tag {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bb-portfolio-lightbox-produto {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bb-portfolio-lightbox-item {
    display: block;
    overflow: hidden;
    line-height: 0;
}

.bb-portfolio-lightbox-img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.2s ease;
}

.bb-portfolio-lightbox-item:hover .bb-portfolio-lightbox-img {
    transform: scale(1.02);
}

@media (max-width: 849px) {
    .bb-portfolio-lightbox-tag,
    .bb-portfolio-lightbox-produto {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* V1.34 - Selecao global de quantidades por sessao WooCommerce */
.bb-selecao-quantidade-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    cursor: pointer;
    color: inherit;
}

.bb-selecao-quantidade-label input[type="checkbox"] {
    width: 14px;
    height: 14px;
    margin: 0;
    flex: 0 0 14px;
    accent-color: #f47b20;
    cursor: pointer;
}

.bb-selecao-quantidade-label-produto {
    justify-content: flex-end;
    width: 100%;
}

.bb-preco-quantidade-grid.bb-quantidade-selecionada {
    border: 2px solid #f47b20;
    border-radius: 4px;
    color: #f47b20;
    font-size: calc(1em + 2px);
    padding: 2px 4px;
    margin-top: 2px;
    margin-bottom: 2px;
}

.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo {
    border: 2px solid #f47b20;
    border-radius: 4px;
    color: #f47b20;
    font-size: calc(1em + 2px);
    line-height: 1.35;
    margin: 4px 0;
    padding: 3px 5px;
}

.bb-tabela-gravacao-linha.bb-selecao-quantidade-referencia {
    margin-top: 5px;
}

.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo .woocommerce-Price-amount,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo .amount {
    font-size: 18px !important;
    line-height: inherit !important;
}

.bb-selecao-quantidade-carregando .bb-selecao-quantidade-checkbox {
    opacity: 0.55;
}

/* V1.61 - Quantidade personalizada por tabela */
.bb-quantidade-personalizada {
    margin: 5px auto 8px;
    text-align: center;
}

.bb-quantidade-personalizada-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    margin: 0;
    padding: 0 5px;
    border: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #f47b20;
    font-size: 31px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.bb-compartilhar-produto-sessao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    margin: 0;
    padding: 0 5px;
    border: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #334862;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    vertical-align: middle;
    transition: color .2s ease, transform .12s ease, opacity .2s ease;
}

.bb-compartilhar-produto-sessao svg {
    width: 26px;
    height: 26px;
    display: block;
}




.bb-compartilhar-produto-sessao:active { transform: scale(.9); }
.bb-compartilhar-produto-sessao.bb-compartilhando { opacity: .5; pointer-events: none; }
.bb-compartilhar-produto-sessao.bb-link-produto-copiado { color: #00a859 !important; }

.bb-quantidade-personalizada-tabela-ativa .bb-quantidade-personalizada-toggle {
    color: #4da011;
}

.bb-quantidade-personalizada-aberta .bb-quantidade-personalizada-toggle,
.bb-quantidade-personalizada-aberta.bb-quantidade-personalizada-tabela-ativa .bb-quantidade-personalizada-toggle {
    color: #334862;
}

.bb-quantidade-personalizada-painel {
    margin: 1px auto 0;
    color: #7a86a0;
    font-size: 11px;
    line-height: 1.25;
    text-align: center;
}

.bb-quantidade-personalizada-painel[hidden] { display: none !important; }
.bb-quantidade-personalizada-painel label { display: block; margin: 0; color: inherit; font-weight: 400; }
.bb-quantidade-personalizada-painel small { color: inherit; font-size: 10px; text-transform: uppercase; }

.bb-quantidade-personalizada-input {
    display: block;
    width: 94px !important;
    height: 32px !important;
    margin: 5px auto !important;
    padding: 3px 7px !important;
    text-align: center;
}

.bb-quantidade-personalizada-confirmar {
    min-height: 30px;
    margin: 0 !important;
    padding: 4px 16px !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

.bb-quantidade-personalizada-feedback {
    min-height: 14px;
    margin-top: 4px;
    color: #4da011;
    font-size: 10px;
}



/* V1.35 - Cor integral da selecao e suporte visual das linhas injetadas */
.bb-preco-quantidade-grid.bb-quantidade-selecionada,
.bb-preco-quantidade-grid.bb-quantidade-selecionada *:not(input),
.bb-preco-quantidade-grid.bb-quantidade-selecionada .woocommerce-Price-amount,
.bb-preco-quantidade-grid.bb-quantidade-selecionada .amount,
.bb-preco-quantidade-grid.bb-quantidade-selecionada .woocommerce-Price-currencySymbol {
    color: #f47b20 !important;
}

.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo *:not(input),
.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo .woocommerce-Price-amount,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo .amount,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo .woocommerce-Price-currencySymbol {
    color: #f47b20 !important;
}

/* V1.36 - Referencia ativa verde no catalogo e selecoes agrupadas */
.bb-tabela-gravacao-linha.bb-selecao-quantidade-referencia-ativa,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-referencia-ativa *,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-referencia-ativa .woocommerce-Price-amount,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-referencia-ativa .amount,
.bb-tabela-gravacao-linha.bb-selecao-quantidade-referencia-ativa .woocommerce-Price-currencySymbol {
    color: #4da011 !important;
}

/* V1.37 - Sequência única e visual das quantidades recomendadas no catálogo */
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-recomendada,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-recomendada *,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-recomendada .woocommerce-Price-amount,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-recomendada .amount,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-recomendada .woocommerce-Price-currencySymbol {
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha-recomendada {
    margin: 2px 0;
}



/* V1.38 - Preferencia de tabelas de gravacao por produto na sessao */
.bb-selecao-tabela-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    cursor: pointer;
    color: inherit;
}

.bb-selecao-tabela-label input[type="checkbox"],
.bb-selecao-tabela-label input[type="radio"] {
    width: 14px;
    height: 14px;
    margin: 0;
    flex: 0 0 14px;
    accent-color: #f47b20;
    cursor: pointer;
}

.bb-selecao-tabela-titulo {
    color: #f47b20 !important;
}

.bb-selecao-tabela-titulo .bb-aplicacoes-radio,
.bb-selecao-tabela-titulo .bb-selecao-tabela-checkbox {
    color: #f47b20 !important;
    accent-color: #f47b20;
}

.bb-selecao-tabela-titulo.bb-tabela-selecionada {
    color: #4da011 !important;
}

.bb-selecao-tabela-titulo.bb-tabela-selecionada .bb-aplicacoes-radio,
.bb-selecao-tabela-titulo.bb-tabela-selecionada .bb-selecao-tabela-checkbox {
    color: #4da011 !important;
    accent-color: #4da011;
}

.bb-selecao-tabela-catalogo-titulo {
    margin: 4px 0 5px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

.bb-selecao-tabela-catalogo-opcao-seguinte {
    margin-top: 22px;
}

/* Seleção individual por card do catálogo, sem sessão global. */
.bb-catalogo-quantidade-label {
    display: inline-flex;
    align-items: center;
    margin: 0 3px 0 0;
    color: inherit;
}
.bb-catalogo-quantidade-checkbox { margin: 0 4px 0 0; accent-color: #4da011; }
.bb-catalogo-quantidade-selecionada {
    border: 2px solid #4da011;
    border-radius: 4px;
    padding: 3px 5px;
}
.bb-catalogo-quantidade-selecionada .bb-catalogo-quantidade-label,
.bb-catalogo-quantidade-selecionada .bb-catalogo-quantidade-label * { color: #4da011 !important; }


/* V1.42 - Visual de multiplas tabelas selecionadas no catalogo */
.bb-selecao-tabela-catalogo-titulo {
    font-size: 18px !important;
}

.bb-selecao-tabela-catalogo-opcao-seguinte {
    margin-top: 22px !important;
}


/* V1.43 - Quantidade cujo valor unitario atende ao filtro de preco ativo */
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha.bb-preco-filtro-correspondente {
    border-color: #4da011 !important;
    color: #4da011 !important;
}

.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha.bb-preco-filtro-correspondente *:not(input),
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha.bb-preco-filtro-correspondente .woocommerce-Price-amount,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha.bb-preco-filtro-correspondente .amount,
.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha.bb-preco-filtro-correspondente .woocommerce-Price-currencySymbol {
    color: #4da011 !important;
}

.bb-tabela-gravacao-catalogo .bb-tabela-gravacao-linha.bb-preco-filtro-correspondente input[type="checkbox"] {
    accent-color: #4da011;
}

/* V1.66.022 - estado individual por produto e por tabela de gravação. */
.bb-similares-produtos-contexto {
    margin: 2px 0 4px;
    color: #7a86a0 !important;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: #334862 !important;
    background-color: #fff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #334862 !important;
}

.bb-tabela-gravacao-opcao.bb-tabela-inativa > :not(.bb-tabela-gravacao-faixas),
.bb-tabela-gravacao-opcao.bb-tabela-inativa .bb-tabela-gravacao-faixas > :not(.bb-selecao-tabela-titulo),
.bb-selecao-tabela-catalogo-opcao.bb-tabela-inativa > :not(.bb-selecao-tabela-titulo) {
    display: none !important;
}

.bb-selecao-tabela-catalogo-opcao.bb-tabela-inativa .bb-selecao-tabela-titulo > :not(.bb-selecao-tabela-label) {
    display: none !important;
}

.bb-preco-quantidade-grid.bb-quantidade-selecionada,
.bb-preco-quantidade-grid.bb-quantidade-selecionada *:not(input),
.bb-preco-quantidade-grid.bb-quantidade-selecionada .woocommerce-Price-amount,
.bb-preco-quantidade-grid.bb-quantidade-selecionada .amount,
.bb-preco-quantidade-grid.bb-quantidade-selecionada .woocommerce-Price-currencySymbol {
    color: #4da011 !important;
}

/* V1.66.031 - cards completos em Outras cores, sem carregamento infinito. */
.bb-outras-cores-catalogo {
    clear: both;
    margin: 25px 0;
    padding: 18px;
    background: #fff;
}

.bb-outras-cores-catalogo .price,
.bb-outras-cores-catalogo .loading-spin {
    display: none !important;
}

/* Linhas não selecionadas herdam integralmente a cor padrão do tema. */
.bb-produto-com-quantidade .bb-tabela-gravacao-linha:not(.bb-catalogo-quantidade-selecionada):not(.bb-quantidade-selecionada),
.bb-produto-com-quantidade .bb-tabela-gravacao-linha:not(.bb-catalogo-quantidade-selecionada):not(.bb-quantidade-selecionada) *:not(input),
.bb-produto-com-quantidade .bb-preco-quantidade-grid:not(.bb-quantidade-selecionada),
.bb-produto-com-quantidade .bb-preco-quantidade-grid:not(.bb-quantidade-selecionada) *:not(input) {
    color: inherit !important;
}

.bb-tabela-ativa .bb-aplicacoes-seletor {
    color: #4da011 !important;
}

.bb-tabela-ativa .bb-aplicacoes-radio {
    accent-color: #4da011;
}

.bb-quantidade-personalizada.bb-quantidade-sem-estoque .bb-quantidade-personalizada-input,
.bb-quantidade-personalizada.bb-quantidade-sem-estoque .bb-quantidade-personalizada-feedback {
    border-color: #d71920 !important;
    color: #d71920 !important;
}

/*
 * V1.68 - Card unificado e configurável dos loops de produto
 * Camada exclusivamente visual. Seleção, WishSuite, AJAX, PJAX e Infinite
 * Scroll continuam usando os seletores e os ciclos de vida existentes.
 */
:is(.products, body:not(.single-product)) .bb-produto-card {
    --bb-card-reference-size: 15px;
    --bb-card-parent-category-size: 11px;
    --bb-card-padding-x: 18px;
    --bb-card-padding-bottom: 20px;
    --bb-card-margin-bottom: 24px;
    --bb-card-section-gap: 10px;
    --bb-card-radius: 13px;
    --bb-card-border-width: 1px;
    --bb-card-border-color: var(--divider-color, #dce2ea);
    --bb-card-shadow: 0 8px 24px rgba(25, 43, 77, .08);
    --bb-card-hover-shadow: 0 12px 30px rgba(25, 43, 77, .12);
    --bb-card-hover-transform: translateY(-2px);
    --bb-card-hover-border: var(--bb-card-border-color);
    --bb-card-application-normal: var(--primary-color);
    --bb-card-application-selected: var(--success-color, var(--primary-color));
    --bb-card-technique-normal: var(--secondary-color);
    --bb-card-technique-selected: var(--success-color, var(--primary-color));
    --bb-card-selected-quantity: var(--success-color, var(--primary-color));
    --bb-card-selected-quantity-size: 14px;
    --bb-card-quantity-row-gap: 0px;
    --bb-card-order-technique: 50;
    --bb-card-order-context: 55;
    --bb-card-order-applications: 60;
    --bb-card-share-offset: 8px;
    --bb-card-share-top: var(--bb-card-share-offset);
    --bb-card-share-right: var(--bb-card-share-offset);
    --bb-card-share-bottom: auto;
    --bb-card-share-left: auto;
    margin-bottom: var(--bb-card-margin-bottom);
}

:is(.products, body:not(.single-product)) .bb-produto-card > .col-inner,
:is(.products, body:not(.single-product)) .bb-produto-card .product-small.box {
    height: 100%;
}

:is(.products, body:not(.single-product)) .bb-produto-card .product-small.box {
    overflow: hidden;
    border: var(--bb-card-border-width) solid var(--bb-card-border-color);
    border-radius: var(--bb-card-radius);
    background: var(--base-color, #fff);
    box-shadow: var(--bb-card-shadow);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

:is(.products, body:not(.single-product)) .bb-produto-card .product-small.box:hover {
    border-color: var(--bb-card-hover-border);
    box-shadow: var(--bb-card-hover-shadow);
    transform: var(--bb-card-hover-transform);
}

:is(.products, body:not(.single-product)) .bb-produto-card .box-image {
    width: 100%;
    margin: 0;
    background: var(--base-color, #fff);
}

:is(.products, body:not(.single-product)) .bb-produto-card .box-image .image-cover,
:is(.products, body:not(.single-product)) .bb-produto-card .box-image .image-fade_in_back {
    min-height: 250px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .box-text {
    width: 100%;
    padding: 0 var(--bb-card-padding-x) var(--bb-card-padding-bottom);
    text-align: left;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-produto-card-conteudo {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    color: var(--text-color, inherit);
    text-align: left;
}

/* Cada nível de categoria permanece em sua própria DIV. */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categorias {
    order: 10;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 7px;
    width: 100%;
    margin: -12px auto 14px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria {
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bb-card-category-color, var(--primary-color));
    font-size: var(--bb-card-reference-size);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria.bb-categoria-pai {
    color: var(--bb-card-category-color, var(--text-color, inherit));
    font-size: var(--bb-card-parent-category-size);
    font-weight: 500;
    opacity: .72;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria.bb-categoria-principal,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria.bb-categoria-unica {
    font-size: var(--bb-card-reference-size);
    font-weight: 800;
    opacity: 1;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria::before {
    content: none;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-referencia {
    order: 20;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 0 6px;
    color: var(--headline-color, inherit);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-sku {
    order: 1;
    color: var(--bb-card-sku-color, var(--headline-color, inherit));
    font-size: var(--bb-card-sku-size, 18px);
    font-weight: var(--bb-card-sku-weight, 800);
    line-height: 1.2;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-referencia .bb-tabela-gravacao-info {
    order: 2;
    margin-left: 6px;
    opacity: .72;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-copiar-referencia {
    order: 3;
    margin-left: auto !important;
    color: inherit !important;
    opacity: .75;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-produto-titulo {
    order: 30;
    margin: 0 0 5px;
    color: var(--headline-color, inherit);
    font-size: var(--bb-card-name-size, 13px);
    font-weight: var(--bb-card-name-weight, 700);
    line-height: 1.35;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-dimensoes {
    order: 40;
    margin: 0 0 7px;
    color: var(--text-color, inherit);
    font-size: 12px;
    opacity: .8;
}

/* Estoque faz parte da identificação, antes da personalização. */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-estoque-topo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-estoque {
    order: 45;
    margin: 0 0 7px;
    color: var(--bb-card-stock-color, var(--success-color, var(--primary-color)));
    font-size: var(--bb-card-stock-size, 11px);
    font-weight: 700;
}

:is(.products, body:not(.single-product)) .bb-produto-card.bb-produto-sem-estoque .bb-tabela-gravacao-estoque-topo,
:is(.products, body:not(.single-product)) .bb-produto-card.bb-produto-sem-estoque .bb-tabela-gravacao-estoque {
    color: var(--bb-card-stock-unavailable, var(--alert-color, #b20000));
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao {
    order: 50;
    width: 100%;
    margin-top: var(--bb-card-section-gap);
    padding-top: var(--bb-card-section-gap);
    border-top: 0;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-faixas {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Aplicações são a primeira seção funcional, visualmente independente. */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-aplicacoes {
    order: 5;
    width: 100%;
    margin: 0 0 var(--bb-card-section-gap);
    padding: 0;
    border: 0;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-aplicacoes::before {
    content: "APLICAÇÕES";
    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;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-aplicacoes-seletor {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin: 0;
}

:is(.products, body:not(.single-product)) .bb-produto-card .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;
}

:is(.products, body:not(.single-product)) .bb-produto-card .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;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-aplicacoes-opcao input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-aplicacoes-opcao:focus-within {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-aplicacoes-opcao > span:not(.bb-aplicacoes-info) {
    font-size: var(--bb-card-application-size, 12px);
    font-weight: 700;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-aplicacoes-info {
    display: none;
}

/* Técnica: o radio continua funcional, mas toda a label é a área clicável. */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-titulo {
    order: 10;
    width: 100%;
    margin: 0 0 var(--bb-card-section-gap);
    padding: 0;
    color: var(--headline-color, inherit);
    text-align: left;
}

:is(.products, body:not(.single-product)) .bb-produto-card .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;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-label input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-label:has(input:checked),
:is(.products, body:not(.single-product)) .bb-produto-card .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;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-label:focus-within {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-similares-produtos-contexto {
    order: 15;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidades-sugeridas-titulo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidades-selecionadas-titulo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-outras-quantidades-titulo {
    color: var(--headline-color, inherit);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .04em;
    text-transform: uppercase;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidades-sugeridas-titulo {
    order: 25;
    margin: 2px 0 7px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidades-selecionadas-titulo {
    order: 30;
    margin: 2px 0 7px;
    color: var(--bb-card-selected-quantity);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-confirmacao-selecao {
    order: 32;
    margin: 7px 2px 10px;
    color: var(--bb-card-selected-quantity);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-confirmacao-selecao::before {
    content: "✓";
    display: inline-grid;
    place-items: center;
    width: 14px;
    height: 14px;
    margin-right: 5px;
    border-radius: 50%;
    background: var(--bb-card-selected-quantity);
    color: #fff;
    font-size: 9px;
}

:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-sincronizando .bb-confirmacao-selecao::before {
    content: "";
    border: 2px solid color-mix(in srgb, var(--bb-card-selected-quantity) 35%, transparent);
    border-top-color: var(--bb-card-selected-quantity);
    background: transparent;
    animation: bb-card-girar .7s linear infinite;
}

:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-falha .bb-confirmacao-selecao {
    color: var(--alert-color, #b42318);
}

:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-falha .bb-confirmacao-selecao::before {
    content: "!";
    background: var(--alert-color, #b42318);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-outras-quantidades-titulo {
    order: 40;
    margin: 2px 0 6px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] {
    order: 41;
    display: flex;
    align-items: center;
    gap: 2px;
    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;
    box-sizing: border-box;
    color: var(--bb-card-quantity-color, inherit) !important;
    font-size: var(--bb-card-quantity-size, 14px) !important;
    line-height: 1.25;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] *:not(input) {
    color: var(--bb-card-quantity-color, inherit) !important;
    font-size: var(--bb-card-quantity-size, 14px) !important;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] > .woocommerce-Price-amount {
    margin-left: auto;
    white-space: nowrap;
    color: var(--bb-card-quantity-price-color, inherit) !important;
    font-size: var(--bb-card-quantity-price-size, 14px) !important;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] > .bb-preco-unidade {
    color: var(--bb-table-unit-color, var(--bb-card-quantity-price-color, inherit)) !important;
    font-size: var(--bb-table-unit-size, var(--bb-card-quantity-price-size, 14px)) !important;
    white-space: nowrap;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha.bb-quantidade-visual-selecionada,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha.bb-catalogo-quantidade-selecionada,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo {
    order: 31;
    min-height: 48px;
    margin: calc(var(--bb-card-quantity-row-gap, 0px) / 2) 0;
    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;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha.bb-quantidade-visual-selecionada *:not(input),
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha.bb-catalogo-quantidade-selecionada *:not(input),
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha.bb-selecao-quantidade-catalogo *:not(input) {
    color: var(--bb-card-selected-quantity) !important;
    font-size: var(--bb-card-selected-quantity-size) !important;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-visual-sugestao {
    color: var(--text-color, inherit);
    font-size: 10px;
    opacity: .68;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] .bb-catalogo-quantidade-label,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] .bb-selecao-quantidade-label {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: inherit !important;
    white-space: nowrap;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-catalogo-quantidade-checkbox {
    width: 16px;
    height: 16px;
    margin: 0 9px 0 0;
    accent-color: var(--bb-card-selected-quantity);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada {
    order: 50;
    width: 100%;
    margin: calc(var(--bb-card-section-gap) + 5px) 0 0;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    min-height: 43px;
    padding: 7px 11px !important;
    border: 1px solid var(--bb-card-other-border, var(--primary-color)) !important;
    border-radius: 8px;
    background: var(--bb-card-other-bg, transparent) !important;
    color: var(--bb-card-other-text, var(--primary-color));
    font-size: var(--bb-card-other-size, 12px);
    font-weight: 800;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada-icone {
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada-painel {
    margin-top: 9px;
    padding: 11px;
    border: 1px solid var(--bb-card-other-panel-border, var(--primary-color));
    border-radius: 8px;
    background: var(--bb-card-other-panel-bg, transparent);
    color: var(--bb-card-other-panel-text, var(--text-color, inherit));
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada-input {
    width: 100% !important;
    background: var(--bb-card-other-input-bg, var(--base-color, #fff)) !important;
    color: var(--bb-card-other-input-text, var(--text-color, inherit)) !important;
    border-color: var(--bb-card-other-input-border, var(--primary-color)) !important;
    font-size: var(--bb-card-other-input-size, 14px) !important;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada-confirmar {
    min-height: var(--bb-card-confirm-height, 34px) !important;
    height: auto;
    border: 1px solid var(--bb-card-confirm-border, var(--primary-color)) !important;
    border-radius: var(--bb-card-confirm-radius, 6px) !important;
    background: var(--bb-card-confirm-bg, var(--primary-color)) !important;
    color: var(--bb-card-confirm-text, #fff) !important;
    font-size: var(--bb-card-confirm-size, 11px) !important;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-nota {
    color: var(--bb-table-note-color, var(--text-color, inherit));
    font-size: var(--bb-table-note-size, 10px) !important;
    opacity: .72;
}

:is(.products, body:not(.single-product)) .bb-produto-card .wishsuite-shop-top_thumbnail,
:is(.products, body:not(.single-product)) .bb-produto-card .wishsuite-button,
:is(.products, body:not(.single-product)) .bb-produto-card .wishsuite-btn {
    transition: color .2s ease, transform .2s ease, opacity .2s ease;
}

:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-sincronizando .wishsuite-shop-top_thumbnail,
:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-sincronizando .wishsuite-button,
:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-sincronizando .wishsuite-btn {
    opacity: .65;
    pointer-events: none;
}

:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-confirmada .wishsuite-shop-top_thumbnail,
:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-confirmada .wishsuite-button,
:is(.products, body:not(.single-product)) .bb-produto-card.bb-wishlist-confirmada .wishsuite-btn {
    animation: bb-card-coracao .6s ease;
}

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

@keyframes bb-card-coracao {
    0%, 100% { transform: scale(1); }
    45% { transform: scale(1.22); }
}

@media (max-width: 849px) {
    :is(.products, body:not(.single-product)) .bb-produto-card .product-small.box:hover {
        border-color: var(--bb-card-border-color);
        box-shadow: var(--bb-card-shadow);
        transform: none;
    }

    :is(.products, body:not(.single-product)) .bb-produto-card .box-text {
        padding-right: var(--bb-card-padding-x);
        padding-left: var(--bb-card-padding-x);
    }

    :is(.products, body:not(.single-product)) .bb-produto-card .box-image .image-cover,
    :is(.products, body:not(.single-product)) .bb-produto-card .box-image .image-fade_in_back {
        min-height: 220px;
    }

    :is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria.bb-categoria-principal,
    :is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-categoria.bb-categoria-unica {
        line-height: 1.3;
    }

    :is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-linha[data-bb-quantidade] {
        min-height: 44px;
    }

    :is(.products, body:not(.single-product)) .bb-produto-card .bb-quantidade-personalizada-input,
    .bb-preco-quantidade-wrap .bb-quantidade-personalizada-input {
        font-size: 16px !important;
    }
}


/*
 * display:contents preserva a árvore DOM funcional/closest() e permite que os
 * títulos das técnicas ocupem uma única seção visual antes do conteúdo ativo.
 */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao > .bb-tabela-gravacao-faixas,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-opcao,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-opcao > .bb-selecao-tabela-catalogo-faixas {
    display: contents;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao .bb-selecao-tabela-catalogo-titulo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-opcao .bb-selecao-tabela-catalogo-titulo {
    order: var(--bb-card-order-technique, 50);
    margin: 0 0 6px;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-similares-produtos-contexto {
    order: var(--bb-card-order-context, 55);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-tabela-gravacao-aplicacoes {
    order: var(--bb-card-order-applications, 60);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-quantidades-sugeridas-titulo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-quantidades-selecionadas-titulo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-confirmacao-selecao,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-outras-quantidades-titulo,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-tabela-gravacao-linha,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa .bb-quantidade-personalizada {
    order: 70;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-opcao.bb-tabela-ativa > .bb-aplicacoes-nota {
    order: 80;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-opcao.bb-tabela-ativa .bb-tabela-gravacao-aplicacoes { order: var(--bb-card-order-applications, 60); }
:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-opcao.bb-tabela-ativa .bb-selecao-tabela-catalogo-faixas,
:is(.products, body:not(.single-product)) .bb-produto-card .bb-selecao-tabela-catalogo-opcao.bb-tabela-ativa .bb-quantidade-personalizada { order: 70; }

:is(.products, body:not(.single-product)) .bb-produto-card .box-image {
    position: relative;
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-compartilhar-produto-overlay {
    position: absolute;
    z-index: 12;
    top: var(--bb-card-share-top, var(--bb-card-share-offset));
    right: var(--bb-card-share-right, var(--bb-card-share-offset));
    bottom: var(--bb-card-share-bottom, auto);
    left: var(--bb-card-share-left, auto);
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0 !important;
    border: 0;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--headline-color, #334862);
}

:is(.products, body:not(.single-product)) .bb-produto-card .bb-compartilhar-produto-overlay svg {
    width: 23px;
    height: 23px;
}

@media (max-width: 549px) {
    :is(.products, body:not(.single-product)) .bb-produto-card {
        --bb-card-share-offset: 6px;
    }

    :is(.products, body:not(.single-product)) .bb-produto-card .bb-compartilhar-produto-overlay {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
    }
}

/* V1.0.68 — correções regressivas e controles visuais do card. */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-personalizacao-titulo {
    order: var(--bb-card-order-technique, 50);
    width: 100%;
    margin: var(--bb-card-personalizacao-title-margin-top, 8px) 0 var(--bb-card-personalizacao-title-margin-bottom, 6px);
    color: var(--bb-card-personalizacao-title-color, var(--headline-color, inherit)) !important;
    font-size: var(--bb-card-personalizacao-title-size, 13px);
    font-weight: var(--bb-card-personalizacao-title-weight, 700);
    line-height: 1.2;
    text-transform: uppercase;
}

/*
 * V1.0.73 — base visual compartilhada, com geometria própria por contexto.
 * Catálogo e produto compartilham identidade/tokens, sem compartilhar a
 * estrutura comercial nem permitir que a tabela force a coluna do Flatsome.
 */
:is(.products, body:not(.single-product)) .bb-produto-card .bb-tabela-gravacao-catalogo,
.bb-preco-quantidade-wrap {
    background: var(--bb-table-bg, var(--base-color, #fff));
}

:is(.products, body:not(.single-product)) .bb-produto-card :is(.bb-aplicacoes-opcao, .bb-selecao-tabela-label):focus-within,
.bb-preco-quantidade-wrap :is(.bb-aplicacoes-opcao, .bb-selecao-tabela-label):focus-within,
:is(.products, body:not(.single-product)) .bb-produto-card :is(.bb-quantidade-personalizada-toggle, .bb-quantidade-personalizada-input, .bb-quantidade-personalizada-confirmar):focus-visible,
.bb-preco-quantidade-wrap :is(.bb-quantidade-personalizada-toggle, .bb-quantidade-personalizada-input, .bb-quantidade-personalizada-confirmar):focus-visible {
    outline: 2px solid var(--bb-table-focus-color, var(--primary-color));
    outline-offset: 2px;
}

.bb-preco-quantidade-wrap {
    width: min(100%, var(--bb-product-table-max-width, 680px));
    max-width: 100%;
    min-width: 0;
    padding: var(--bb-product-table-padding, 16px);
    border: var(--bb-product-table-border-width, 1px) solid var(--bb-product-table-border, var(--bb-table-border, var(--divider-color, #dce2ea)));
    border-radius: var(--bb-product-table-radius, 13px);
    box-sizing: border-box;
    background: var(--bb-product-table-bg, var(--bb-table-bg, var(--base-color, #fff)));
    color: var(--text-color, inherit);
    text-align: left;
}

.bb-preco-quantidade-wrap *,
.bb-preco-quantidade-wrap *::before,
.bb-preco-quantidade-wrap *::after {
    box-sizing: border-box;
}

.bb-preco-quantidade-wrap > *,
.bb-preco-quantidade-tecnicas,
.bb-preco-quantidade-paineis,
.bb-preco-quantidade-bloco {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-titulo {
    margin-bottom: var(--bb-product-section-gap, var(--bb-card-section-gap, 10px));
    color: var(--bb-product-title-color, var(--headline-color, inherit));
    font-size: var(--bb-product-title-size, var(--bb-card-personalizacao-title-size, 13px));
    font-weight: var(--bb-product-title-weight, var(--bb-card-personalizacao-title-weight, 700));
    text-align: left;
    text-transform: uppercase;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-tecnicas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
    gap: var(--bb-product-technique-gap, 8px);
    margin: 0 0 var(--bb-product-section-gap, var(--bb-card-section-gap, 10px));
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-tipo {
    min-width: 0;
    margin: 0;
    text-align: left;
}

.bb-preco-quantidade-wrap .bb-selecao-tabela-label {
    position: relative;
    display: flex;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    min-height: var(--bb-product-technique-min-height, 42px);
    padding: var(--bb-product-technique-padding-y, 0) var(--bb-product-technique-padding-x, 11px);
    border: var(--bb-product-technique-border-width, var(--bb-card-technique-border-width, 1px)) solid var(--bb-product-technique-border-normal, var(--bb-card-technique-border-normal, var(--bb-card-technique-normal)));
    border-radius: var(--bb-product-technique-radius, var(--bb-card-technique-radius, 8px));
    background: var(--bb-product-technique-bg-normal, var(--bb-card-technique-bg-normal, transparent));
    color: var(--bb-product-technique-text-normal, var(--bb-card-technique-text-normal, var(--bb-card-technique-normal))) !important;
    font-size: var(--bb-product-technique-size, var(--bb-card-technique-size, 12px));
    font-weight: 700;
    overflow-wrap: anywhere;
}

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

.bb-preco-quantidade-wrap .bb-selecao-tabela-label input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

/* Necessário para neutralizar regras de tema que redefinem [hidden]. */
.bb-preco-quantidade-wrap .bb-preco-quantidade-bloco[hidden],
.bb-preco-quantidade-wrap .bb-preco-quantidade-contexto[hidden] {
    display: none !important;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-aplicacoes {
    margin: 0 0 var(--bb-product-section-gap, var(--bb-card-section-gap, 10px));
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-aplicacoes::before {
    content: "APLICAÇÕES";
    display: block;
    margin-bottom: 7px;
    color: var(--bb-product-section-title-color, var(--bb-table-section-title-color, var(--headline-color, inherit)));
    font-size: var(--bb-product-section-title-size, var(--bb-table-section-title-size, 10px));
    font-weight: 800;
    letter-spacing: .04em;
}

.bb-preco-quantidade-wrap .bb-aplicacoes-seletor {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--bb-product-application-gap, 8px);
    width: 100%;
    margin: 0;
}

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

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

.bb-preco-quantidade-wrap .bb-aplicacoes-opcao input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.bb-preco-quantidade-wrap .bb-aplicacoes-opcao > span:not(.bb-aplicacoes-info) {
    font-size: var(--bb-product-application-size, var(--bb-card-application-size, 12px));
    font-weight: 700;
}

.bb-preco-quantidade-wrap .bb-aplicacoes-info {
    display: none;
}

.bb-preco-quantidade-wrap .bb-quantidades-sugeridas-titulo {
    margin: 0 0 6px;
    color: var(--bb-product-section-title-color, var(--bb-table-section-title-color, var(--headline-color, inherit)));
    font-size: var(--bb-product-section-title-size, var(--bb-table-section-title-size, 10px));
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-grid {
    grid-template-columns: minmax(0, .7fr) 1px minmax(0, 1fr) 1px minmax(0, 1.15fr) 1px minmax(0, 1fr);
    column-gap: var(--bb-product-column-gap, 9px);
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-grid {
    min-width: 0;
    min-height: var(--bb-product-row-min-height, var(--bb-table-row-min-height, 40px));
    padding: var(--bb-product-row-padding-y, var(--bb-table-row-padding-y, 7px)) var(--bb-product-row-padding-x, var(--bb-table-row-padding-x, 8px));
    border: 2px solid transparent;
    border-radius: var(--bb-product-row-radius, var(--bb-table-row-radius, 8px));
    font-size: var(--bb-product-row-size, var(--bb-card-quantity-size, 14px));
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-grid > * {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-cabecalho {
    min-height: auto;
    margin-bottom: 4px;
    border-width: 0;
    border-radius: 0;
    background: var(--bb-product-header-bg, transparent);
    color: var(--bb-product-section-title-color, var(--bb-table-section-title-color, var(--headline-color, inherit)));
    font-size: var(--bb-product-section-title-size, var(--bb-table-section-title-size, 10px));
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-total {
    color: var(--bb-product-total-color, var(--text-color, inherit));
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-valor {
    color: var(--bb-card-quantity-price-color, inherit);
    font-size: var(--bb-product-price-size, var(--bb-card-quantity-price-size, 14px));
}

.bb-preco-quantidade-wrap .bb-preco-unidade {
    color: var(--bb-product-unit-color, var(--bb-table-unit-color, inherit)) !important;
    font-size: var(--bb-product-unit-size, var(--bb-table-unit-size, 14px)) !important;
    white-space: nowrap;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-adicional {
    color: var(--bb-product-additional-color, var(--text-color, inherit));
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-divisor {
    background: var(--bb-product-divider-color, currentColor);
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-grid.bb-quantidade-selecionada {
    border-color: var(--bb-product-selected-quantity, var(--bb-card-selected-quantity));
    color: var(--bb-product-selected-quantity, var(--bb-card-selected-quantity)) !important;
}

.bb-preco-quantidade-wrap .bb-preco-quantidade-grid.bb-quantidade-selecionada *:not(input) {
    color: var(--bb-product-selected-quantity, var(--bb-card-selected-quantity)) !important;
}

.bb-preco-quantidade-wrap .bb-quantidade-personalizada-toggle,
.bb-preco-quantidade-wrap .bb-quantidade-personalizada-painel,
.bb-preco-quantidade-wrap .bb-quantidade-personalizada-input,
.bb-preco-quantidade-wrap .bb-quantidade-personalizada-confirmar {
    border-radius: var(--bb-product-row-radius, var(--bb-table-row-radius, 8px));
}

.bb-preco-quantidade-wrap .bb-quantidade-personalizada {
    width: 100%;
    max-width: 100%;
    margin: var(--bb-product-section-gap, 10px) 0 0;
}

.bb-preco-quantidade-wrap .bb-quantidade-personalizada-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    min-height: 43px;
    padding: 7px 11px;
    border: 1px solid var(--bb-product-other-border, var(--bb-card-other-border, var(--primary-color)));
    background: var(--bb-product-other-bg, var(--bb-card-other-bg, transparent)) !important;
    color: var(--bb-product-other-text, var(--bb-card-other-text, var(--primary-color)));
    font-size: var(--bb-product-other-size, var(--bb-card-other-size, 12px));
    font-weight: 800;
    box-shadow: none !important;
}

.bb-preco-quantidade-wrap .bb-quantidade-personalizada-painel {
    width: 100%;
    max-width: 100%;
    margin-top: 9px;
    padding: 11px;
    border: 1px solid var(--bb-product-other-panel-border, var(--bb-card-other-panel-border, var(--primary-color)));
    background: var(--bb-product-other-panel-bg, var(--bb-card-other-panel-bg, transparent));
    color: var(--bb-product-other-panel-text, var(--bb-card-other-panel-text, var(--text-color, inherit)));
}

.bb-preco-quantidade-wrap .bb-quantidade-personalizada-input {
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    min-height: 36px;
    background: var(--bb-product-other-input-bg, var(--bb-card-other-input-bg, var(--base-color, #fff))) !important;
    border-color: var(--bb-product-other-input-border, var(--bb-card-other-input-border, var(--primary-color))) !important;
    color: var(--bb-product-other-input-text, var(--bb-card-other-input-text, var(--text-color, inherit))) !important;
    font-size: var(--bb-product-other-input-size, var(--bb-card-other-input-size, 14px)) !important;
}

.bb-preco-quantidade-wrap .bb-quantidade-personalizada-confirmar {
    min-height: var(--bb-product-confirm-height, var(--bb-card-confirm-height, 34px)) !important;
    height: auto;
    border: 1px solid var(--bb-product-confirm-border, var(--bb-card-confirm-border, var(--primary-color))) !important;
    border-radius: var(--bb-product-confirm-radius, var(--bb-card-confirm-radius, 6px)) !important;
    background: var(--bb-product-confirm-bg, var(--bb-card-confirm-bg, var(--primary-color))) !important;
    color: var(--bb-product-confirm-text, var(--bb-card-confirm-text, #fff)) !important;
    font-size: var(--bb-product-confirm-size, var(--bb-card-confirm-size, 11px)) !important;
}

.bb-preco-quantidade-wrap .bb-tabela-gravacao-nota {
    color: var(--bb-product-note-color, var(--bb-table-note-color, var(--text-color, inherit)));
    font-size: var(--bb-product-note-size, var(--bb-table-note-size, 10px));
    opacity: .72;
}

@media (max-width: 849px) {
    .bb-preco-quantidade-wrap {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: var(--bb-product-table-padding-mobile, 12px);
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-tecnicas {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-cabecalho {
        display: none;
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-grid.bb-selecao-quantidade-linha {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--bb-product-mobile-row-gap-y, 10px) var(--bb-product-mobile-row-gap-x, 12px);
        min-height: var(--bb-product-row-min-height, var(--bb-table-row-min-height, 44px));
        margin: 8px 0;
        padding: max(10px, var(--bb-product-row-padding-y, var(--bb-table-row-padding-y, 7px))) max(10px, var(--bb-product-row-padding-x, var(--bb-table-row-padding-x, 8px)));
        border: var(--bb-product-row-border-width-mobile, 1px) solid var(--bb-product-table-border, var(--bb-table-border, var(--divider-color, #dce2ea)));
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-grid.bb-quantidade-selecionada {
        border-width: 2px;
        border-color: var(--bb-product-selected-quantity, var(--bb-card-selected-quantity));
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-divisor {
        display: none;
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-grid [data-bb-label] {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-width: 0;
        text-align: left;
        white-space: normal;
    }

    .bb-preco-quantidade-wrap .bb-preco-quantidade-grid [data-bb-label]::before {
        content: attr(data-bb-label);
        margin-bottom: 3px;
        color: var(--bb-product-section-title-color, var(--bb-table-section-title-color, var(--headline-color, inherit))) !important;
        font-size: var(--bb-product-section-title-size, var(--bb-table-section-title-size, 10px)) !important;
        font-weight: 800;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .bb-preco-quantidade-wrap .bb-selecao-quantidade-label-produto {
        justify-content: flex-start;
    }

    .bb-preco-quantidade-wrap .bb-quantidade-personalizada-input {
        font-size: max(16px, var(--bb-product-other-input-size, 16px)) !important;
    }

    .bb-preco-quantidade-wrap input:not([type="checkbox"]):not([type="radio"]):focus,
    :is(.products, body:not(.single-product)) .bb-produto-card input:not([type="checkbox"]):not([type="radio"]):focus {
        font-size: 16px !important;
    }
}

/* cards.editor_visual_outras_quantidades — controlador visual público; fallback funcional permanece inline. */
.bb-qtd-opening-portal[hidden]{display:none!important}.bb-qtd-opening-portal{position:fixed;inset:0;z-index:1000000;pointer-events:none}.bb-qtd-opening-portal.is-active{pointer-events:auto}.bb-qtd-opening-overlay{position:absolute;inset:0;background:rgba(10,22,36,var(--bb-qtd-overlay-opacity,.32));opacity:1}.bb-qtd-opening-shell{position:fixed;z-index:2;box-sizing:border-box;width:min(calc(100vw - 32px),var(--bb-qtd-opening-max-width,440px));max-height:var(--bb-qtd-opening-max-height,78dvh);background:var(--bb-card-other-panel-bg,#fff);border:1px solid var(--bb-card-other-panel-border,#d7e0e8);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.22);overflow:auto;overscroll-behavior:contain}.bb-qtd-opening-content{min-height:0}.bb-qtd-opening-content>.bb-quantidade-personalizada-painel{display:block!important;margin:0!important;max-width:none!important;width:100%!important;box-sizing:border-box;border:0!important;border-radius:inherit!important;background:transparent!important}.bb-qtd-opening-close{position:absolute;top:9px;right:9px;z-index:4;width:34px;height:34px;padding:0;border:1px solid rgba(51,72,98,.22);border-radius:50%;background:#fff;color:#334862;font-size:22px;line-height:30px;text-align:center;cursor:pointer}.bb-qtd-opening-close:focus-visible{outline:2px solid #2271b1;outline-offset:2px}.bb-qtd-opening-portal.mode-modal .bb-qtd-opening-shell{left:50%;top:50%;transform:translate(-50%,-50%);padding-top:42px}.bb-qtd-opening-portal.mode-bottom_sheet .bb-qtd-opening-shell{left:0;right:0;bottom:0;width:100%;max-width:none;max-height:min(var(--bb-qtd-opening-max-height,78dvh),calc(100dvh - 12px));border-radius:18px 18px 0 0;padding:46px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-shadow:0 -18px 54px rgba(0,0,0,.2)}.bb-qtd-opening-portal.mode-drawer .bb-qtd-opening-shell{top:0;bottom:0;height:100dvh;max-height:100dvh;width:min(88vw,var(--bb-qtd-opening-max-width,440px));border-radius:0;padding:52px 18px max(18px,env(safe-area-inset-bottom));box-shadow:0 0 54px rgba(0,0,0,.22)}.bb-qtd-opening-portal.mode-drawer.drawer-right .bb-qtd-opening-shell{right:0}.bb-qtd-opening-portal.mode-drawer.drawer-left .bb-qtd-opening-shell{left:0}.bb-qtd-opening-portal.mode-popover{pointer-events:none}.bb-qtd-opening-portal.mode-popover .bb-qtd-opening-overlay{display:none}.bb-qtd-opening-portal.mode-popover .bb-qtd-opening-shell{pointer-events:auto;padding:42px 12px 12px;border-radius:12px}.bb-qtd-opening-portal.anim-none .bb-qtd-opening-shell,.bb-qtd-opening-portal.anim-none .bb-qtd-opening-overlay{animation:none!important}.bb-qtd-opening-portal.anim-fade .bb-qtd-opening-shell{animation:bb-qtd-opening-fade .18s ease both}.bb-qtd-opening-portal.anim-fade .bb-qtd-opening-overlay{animation:bb-qtd-overlay-fade .18s ease both}.bb-qtd-opening-portal.anim-slide.mode-bottom_sheet .bb-qtd-opening-shell{animation:bb-qtd-sheet-in .22s ease both}.bb-qtd-opening-portal.anim-slide.mode-drawer.drawer-right .bb-qtd-opening-shell{animation:bb-qtd-drawer-right-in .22s ease both}.bb-qtd-opening-portal.anim-slide.mode-drawer.drawer-left .bb-qtd-opening-shell{animation:bb-qtd-drawer-left-in .22s ease both}.bb-qtd-opening-portal.anim-scale.mode-modal .bb-qtd-opening-shell{animation:bb-qtd-modal-scale .18s ease both}@keyframes bb-qtd-opening-fade{from{opacity:0}to{opacity:1}}@keyframes bb-qtd-overlay-fade{from{opacity:0}to{opacity:1}}@keyframes bb-qtd-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bb-qtd-drawer-right-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes bb-qtd-drawer-left-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes bb-qtd-modal-scale{from{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:849px){.bb-qtd-opening-portal.mode-modal .bb-qtd-opening-shell{width:calc(100vw - 24px);max-height:min(var(--bb-qtd-opening-max-height,78dvh),calc(100dvh - 24px))}.bb-qtd-opening-portal .bb-quantidade-personalizada-input{font-size:16px!important}}@media(prefers-reduced-motion:reduce){.bb-qtd-opening-portal .bb-qtd-opening-shell,.bb-qtd-opening-portal .bb-qtd-opening-overlay{animation:none!important;transition:none!important}}
.bb-qtd-opening-shell{background:var(--bb-product-other-panel-bg,var(--bb-card-other-panel-bg,#fff));border-color:var(--bb-product-other-panel-border,var(--bb-card-other-panel-border,#d7e0e8));color:var(--bb-product-other-panel-text,var(--bb-card-other-panel-text,var(--text-color,inherit)))}.bb-qtd-opening-portal .bb-quantidade-personalizada-input{background:var(--bb-product-other-input-bg,var(--bb-card-other-input-bg,var(--base-color,#fff)))!important;border-color:var(--bb-product-other-input-border,var(--bb-card-other-input-border,var(--primary-color)))!important;color:var(--bb-product-other-input-text,var(--bb-card-other-input-text,var(--text-color,inherit)))!important;font-size:var(--bb-product-other-input-size,var(--bb-card-other-input-size,14px))!important}.bb-qtd-opening-portal .bb-quantidade-personalizada-confirmar{min-height:var(--bb-product-confirm-height,var(--bb-card-confirm-height,34px));border-color:var(--bb-product-confirm-border,var(--bb-card-confirm-border,var(--primary-color)));border-radius:var(--bb-product-confirm-radius,var(--bb-card-confirm-radius,6px));background:var(--bb-product-confirm-bg,var(--bb-card-confirm-bg,var(--primary-color)));color:var(--bb-product-confirm-text,var(--bb-card-confirm-text,#fff));font-size:var(--bb-product-confirm-size,var(--bb-card-confirm-size,11px))}.bb-qtd-opening-portal .bb-quantidade-personalizada-feedback{min-height:16px;margin-top:5px}

/* Schema 3: presets seguros e tipografia granular do renderer existente. */
.bb-quantidade-personalizada-toggle{min-height:var(--bb-card-other-height,38px);padding:var(--bb-card-other-padding-y,8px) var(--bb-card-other-padding-x,14px)!important;border-width:var(--bb-card-other-border-width,1px)!important;border-style:solid;border-radius:var(--bb-card-other-radius,8px);gap:var(--bb-card-other-icon-gap,7px);font-weight:var(--bb-card-other-weight,700)}
.bb-quantidade-personalizada-toggle:hover{background:var(--bb-card-other-hover-bg,var(--bb-card-other-bg,transparent))!important;border-color:var(--bb-card-other-hover-border,var(--bb-card-other-border,var(--primary-color)))!important;color:var(--bb-card-other-hover-text,var(--bb-card-other-text,var(--primary-color)))!important}
.bb-quantidade-personalizada-aberta .bb-quantidade-personalizada-toggle{background:var(--bb-card-other-active-bg,var(--bb-card-other-hover-bg,var(--bb-card-other-bg,transparent)))!important;border-color:var(--bb-card-other-active-border,var(--bb-card-other-hover-border,var(--bb-card-other-border,var(--primary-color))))!important;color:var(--bb-card-other-active-text,var(--bb-card-other-hover-text,var(--bb-card-other-text,var(--primary-color))))!important}
.bb-quantidade-personalizada-icone{font-size:var(--bb-card-other-icon-size,21px)!important;flex:0 0 auto}.bb-oq-icon-right .bb-quantidade-personalizada-icone{order:2}.bb-oq-icon-hidden .bb-quantidade-personalizada-icone{display:none}.bb-oq-align-left .bb-quantidade-personalizada-toggle{justify-content:flex-start}.bb-oq-align-center .bb-quantidade-personalizada-toggle{justify-content:center}.bb-oq-align-right .bb-quantidade-personalizada-toggle{justify-content:flex-end}
.bb-oq-style-solido .bb-quantidade-personalizada-toggle,.bb-oq-style-cta .bb-quantidade-personalizada-toggle{box-shadow:0 5px 14px rgba(38,53,72,.14)}.bb-oq-style-soft .bb-quantidade-personalizada-toggle{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.bb-oq-style-ghost .bb-quantidade-personalizada-toggle{box-shadow:none}.bb-oq-style-pill .bb-quantidade-personalizada-toggle{border-radius:999px}.bb-oq-style-compacto .bb-quantidade-personalizada-toggle{letter-spacing:.02em}.bb-oq-style-cta .bb-quantidade-personalizada-toggle{letter-spacing:.035em;text-transform:uppercase}
.bb-quantidade-personalizada-painel label{font-size:var(--bb-card-other-label-size,14px)}.bb-quantidade-personalizada-painel small{font-size:var(--bb-card-other-technique-size,10px)!important}.bb-quantidade-personalizada-feedback{font-size:var(--bb-card-other-feedback-size,12px)!important}
.bb-quantidade-personalizada-input{box-sizing:border-box;min-width:0;max-width:100%;min-height:var(--bb-card-other-input-height,48px)!important;height:auto!important;line-height:var(--bb-card-other-input-line-height,1.1)!important;font-size:var(--bb-product-other-input-size,var(--bb-card-other-input-size,14px))!important;font-variant-numeric:tabular-nums;overflow-x:auto}

/*
 * V1.0.97 - Resumo da pagina individual do produto.
 * Mantem exatamente o mesmo teto de largura da tabela comercial (680px por
 * padrao) e consome os mesmos tokens visuais do tema/tabela.
 */
.single-product .bb-produto-resumo-wrap {
    width: min(100%, var(--bb-product-table-max-width, 680px));
    max-width: 100%;
    min-width: 0;
    margin: 12px auto 12px;
    box-sizing: border-box;
    color: var(--text-color, inherit);
    text-align: left;
}

.single-product .bb-produto-resumo-wrap *,
.single-product .bb-produto-resumo-wrap *::before,
.single-product .bb-produto-resumo-wrap *::after {
    box-sizing: border-box;
}

.single-product .bb-produto-resumo-referencia {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bb-product-reference-color, var(--secondary-color, var(--headline-color, #334862)));
    font-size: var(--bb-product-reference-size, 18px);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.single-product .bb-produto-resumo-referencia .bb-copiar-referencia {
    flex: 0 0 auto;
    width: 25px;
    height: 25px;
    min-width: 25px;
    min-height: 25px;
    color: inherit !important;
}

.single-product .bb-produto-resumo-referencia .bb-copiar-referencia svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.single-product .bb-produto-resumo-referencia .bb-copiar-referencia.bb-referencia-copiada {
    color: var(--success-color, #00a859) !important;
}

.single-product .bb-produto-resumo-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: var(--bb-product-table-padding, 16px);
    border: var(--bb-product-table-border-width, 1px) solid var(--bb-product-table-border, var(--bb-table-border, var(--divider-color, #dce2ea)));
    border-radius: var(--bb-product-table-radius, 13px);
    background: var(--bb-product-table-bg, var(--bb-table-bg, var(--base-color, #fff)));
}

.single-product .bb-produto-resumo-dados,
.single-product .bb-produto-resumo-lateral {
    min-width: 0;
}

.single-product .bb-produto-resumo-dados {
    border: 1px solid var(--bb-product-divider-color, var(--divider-color, #dce2ea));
    border-radius: var(--bb-product-row-radius, var(--bb-table-row-radius, 8px));
    overflow: hidden;
}

.single-product .bb-produto-resumo-linha {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 43px;
    padding: 7px 9px;
    border-bottom: 1px solid var(--bb-product-divider-color, var(--divider-color, #dce2ea));
    font-size: 11px;
    line-height: 1.3;
}

.single-product .bb-produto-resumo-linha:last-child {
    border-bottom: 0;
}

.single-product .bb-produto-resumo-icone,
.single-product .bb-produto-resumo-preco-icone,
.single-product .bb-produto-resumo-admin-icone,
.single-product .bb-produto-contato-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bb-product-reference-color, var(--secondary-color, var(--headline-color, #334862)));
}

.single-product .bb-produto-resumo-icone svg,
.single-product .bb-produto-resumo-preco-icone svg,
.single-product .bb-produto-resumo-admin-icone svg,
.single-product .bb-produto-contato-icone svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.single-product .bb-produto-resumo-label {
    min-width: 0;
    color: var(--headline-color, inherit);
    font-weight: 700;
}

.single-product .bb-produto-resumo-valor {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text-color, inherit);
}

.single-product .bb-produto-resumo-valor-sucesso {
    color: var(--success-color, var(--primary-color, #4da011));
    font-weight: 700;
}

.single-product .bb-produto-resumo-valor-alerta {
    color: var(--alert-color, #f47b20);
    font-weight: 700;
}

.single-product .bb-produto-resumo-valor-erro {
    color: var(--alert-color, #b20000);
    font-weight: 700;
}

.single-product .bb-produto-resumo-lateral {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.single-product .bb-produto-resumo-preco,
.single-product .bb-produto-resumo-admin,
.single-product .bb-produto-contato {
    width: 100%;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid var(--bb-product-divider-color, var(--divider-color, #dce2ea));
    border-radius: var(--bb-product-row-radius, var(--bb-table-row-radius, 8px));
    background: var(--bb-product-table-bg, var(--bb-table-bg, var(--base-color, #fff)));
}

.single-product .bb-produto-resumo-preco-titulo,
.single-product .bb-produto-contato-titulo {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
}

.single-product .bb-produto-contato-conteudo {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
}

.single-product .bb-produto-qr-area {
    position: relative;
    display: grid;
    place-items: center;
    width: 144px;
    height: 144px;
    margin: 0 auto;
}

.single-product .bb-produto-qr-placeholder,
.single-product .bb-produto-qrcode {
    grid-area: 1 / 1;
    width: 132px;
    height: 132px;
    min-height: 132px;
    padding: 6px;
    border: 1px solid var(--bb-product-divider-color, var(--divider-color, #dce2ea));
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}

.single-product .bb-produto-qr-placeholder {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.single-product .bb-produto-qr-placeholder[hidden],
.single-product .bb-produto-qrcode[hidden],
.single-product .bb-produto-contato-instrucao[hidden],
.single-product .bb-produto-whatsapp[hidden],
.single-product .bb-produto-copiar-cotacao[hidden] {
    display: none !important;
}

.single-product .bb-produto-qr-placeholder-marca {
    position: absolute;
    inset: 9px;
    border-radius: 3px;
    opacity: .16;
    background:
        repeating-conic-gradient(
            from 45deg,
            var(--bb-product-reference-color, var(--secondary-color, #334862)) 0 25%,
            transparent 0 50%
        ) 0 0 / 16px 16px;
}

.single-product .bb-produto-qr-placeholder-marca::before,
.single-product .bb-produto-qr-placeholder-marca::after {
    content: "";
    position: absolute;
    width: 29px;
    height: 29px;
    border: 6px solid var(--bb-product-reference-color, var(--secondary-color, #334862));
    box-shadow: inset 0 0 0 5px #fff;
    opacity: .85;
}

.single-product .bb-produto-qr-placeholder-marca::before {
    top: 2px;
    left: 2px;
}

.single-product .bb-produto-qr-placeholder-marca::after {
    top: 2px;
    right: 2px;
}

.single-product .bb-produto-qr-placeholder-texto {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    min-height: 50px;
    padding: 4px 7px;
    border-radius: 7px;
    background: rgba(255,255,255,.78);
    color: var(--bb-product-reference-color, var(--secondary-color, var(--headline-color, #334862)));
    font-size: 13px;
    font-weight: 800;
    line-height: 1.05;
    text-align: center;
}

.single-product .bb-produto-qrcode {
    line-height: 0;
}

.single-product .bb-produto-qrcode img,
.single-product .bb-produto-qrcode canvas {
    display: block;
    width: 120px !important;
    height: 120px !important;
    max-width: 100%;
    margin: 0 auto;
}

.single-product .bb-produto-qr-loader {
    position: absolute;
    z-index: 5;
    inset: 50% auto auto 50%;
    display: none;
    transform: translate(-50%, -50%);
}

.single-product .bb-produto-contato.is-loading .bb-produto-qr-loader {
    display: block;
}

.single-product .bb-produto-contato.is-loading .bb-produto-qr-placeholder,
.single-product .bb-produto-contato.is-loading .bb-produto-qrcode {
    opacity: .48;
}

.single-product .bb-produto-qr-gerar,
.single-product .bb-produto-whatsapp,
.single-product .bb-produto-copiar-cotacao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-height: 36px;
    margin: 0 !important;
    padding: 7px 10px !important;
    border-radius: var(--bb-product-row-radius, var(--bb-table-row-radius, 8px));
    box-shadow: none !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-transform: none;
}

.single-product .bb-produto-qr-gerar {
    border: 1px solid var(--bb-product-technique-border, var(--bb-card-technique-border, var(--secondary-color, #334862))) !important;
    background: var(--bb-product-technique-bg, var(--base-color, #fff)) !important;
    color: var(--bb-product-reference-color, var(--secondary-color, var(--headline-color, #334862))) !important;
}

.single-product .bb-produto-whatsapp {
    border: 1px solid var(--bb-product-technique-border-selected, var(--bb-card-technique-border-selected, var(--secondary-color, #334862))) !important;
    background: var(--bb-product-technique-bg-selected, var(--secondary-color, #334862)) !important;
    color: var(--bb-product-technique-text-selected, #fff) !important;
}

.single-product .bb-produto-qr-gerar-icone {
    font-size: 17px;
    line-height: 1;
}

.single-product .bb-produto-copiar-cotacao {
    min-height: 26px;
    padding: 2px 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--bb-product-reference-color, var(--secondary-color, var(--headline-color, #334862))) !important;
    text-decoration: underline;
}

.single-product :is(.bb-produto-qr-gerar, .bb-produto-whatsapp, .bb-produto-copiar-cotacao):focus-visible {
    outline: 2px solid var(--bb-table-focus-color, var(--primary-color));
    outline-offset: 2px;
}

.single-product .bb-produto-qr-gerar .loading-spin {
    display: none;
    flex: 0 0 auto;
}

.single-product .bb-produto-qr-gerar.bb-compartilhar-gerando .loading-spin {
    display: block;
}

.single-product .bb-produto-contato-instrucao {
    margin: 1px 3px 0;
    color: var(--text-color, inherit);
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
}

.single-product .bb-produto-contato-status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.single-product .bb-produto-contato-status.is-error {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    color: var(--alert-color, #b20000);
    font-size: 9px;
    line-height: 1.25;
    text-align: center;
}

@media (max-width: 849px) {
    .single-product .bb-produto-resumo-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: min(var(--bb-product-table-padding, 16px), 12px);
    }

    .single-product .bb-produto-resumo-referencia {
        font-size: 17px;
    }

    .single-product .bb-produto-resumo-linha {
        grid-template-columns: 24px minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .single-product .bb-produto-resumo-wrap {
        margin-top: 10px;
    }

    .single-product .bb-produto-resumo-card {
        padding: 10px;
        border-radius: 11px;
    }

    .single-product .bb-produto-resumo-linha {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 6px;
        min-height: 40px;
        padding: 6px 7px;
        font-size: 10px;
    }

    .single-product .bb-produto-resumo-icone svg {
        width: 20px;
        height: 20px;
    }

    .single-product .bb-produto-resumo-preco-valor {
        font-size: 25px;
    }

    .single-product .bb-produto-resumo-admin-topo {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .single-product .bb-produto-qr-area {
        width: 132px;
        height: 132px;
    }

    .single-product .bb-produto-qr-placeholder,
    .single-product .bb-produto-qrcode {
        width: 120px;
        height: 120px;
        min-height: 120px;
        padding: 5px;
    }

    .single-product .bb-produto-qrcode img,
    .single-product .bb-produto-qrcode canvas {
        width: 108px !important;
        height: 108px !important;
    }

    .single-product .bb-produto-qr-placeholder-texto {
        font-size: 12px;
    }

    .single-product .bb-produto-qr-gerar,
    .single-product .bb-produto-whatsapp,
    .single-product .bb-produto-copiar-cotacao {
        min-height: 34px;
        padding: 6px 7px !important;
        font-size: 10px;
    }

    .single-product .bb-produto-contato-instrucao {
        font-size: 10px;
    }
}
