@font-face {
    font-family: 'Museo Sans Rounded 300';
    src: url('/assets/fonts/fonte-site-20260729232102-1f23496015.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Museo Sans Rounded 500';
    src: url('/assets/fonts/fonte-site-20260729232048-e5fe1d6168.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Museo Sans Rounded 700';
    src: url('/assets/fonts/fonte-site-20260729232038-1544f25be6.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Museo Sans Rounded 900';
    src: url('/assets/fonts/fonte-site-20260729232024-19a931ca5f.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --roxo: #e8bb4d;
    --dourado: #372b83;
    --amarelo: #372b83;
    --rosa: #c5546e;
    --gelo: #f7f6fb;
    --texto: #372b83;
    --cinza: #c5546e;
    --site-cor-texto-principal: #372b83;
    --site-cor-texto-secundario: #c5546e;
    --borda: #e5e1f1;
    --sombra: 0 14px 35px rgba(55,43,131,.13);

    --site-cor-header: #e8bb4d;
    --site-cor-footer: #e8bb4d;
    --site-cor-botao-primario: #372b83;
    --site-cor-botao-texto: #e8bb4d;
    --site-cor-botao-secundario: #c5546e;
    --site-cor-botao-secundario-texto: #ffffff;
    --site-cor-botao-desabilitado: #e9e7ef;
    --site-cor-botao-desabilitado-texto: #8a8696;

    --site-fonte-titulos: 'Museo Sans Rounded 900', 'Arial', 'Helvetica', sans-serif;
    --site-fonte-subtitulos: 'Museo Sans Rounded 700', 'Arial', 'Helvetica', sans-serif;
    --site-fonte-textos: 'Museo Sans Rounded 500', 'Arial', 'Helvetica', sans-serif;
    --site-fonte-legendas: 'Museo Sans Rounded 300', 'Arial', 'Helvetica', sans-serif;

    --site-peso-titulos: 900;
    --site-peso-subtitulos: 700;
    --site-peso-textos: 500;
    --site-peso-legendas: 300;

    --site-radius-botoes: 999px;
    --site-radius-cards: 24px;

    --ambiente-elemento-fundo: url('/uploads/ambientes/b2b/elemento_fundo-20260731102007-5bad418146.png');
    --ambiente-elemento-esquerdo: none;
    --ambiente-elemento-direito: none;
    --ambiente-elementos-opacidade: 0.18;
}

body,
input,
textarea,
select,
button {
    font-family: var(--site-fonte-textos) !important;
    font-weight: var(--site-peso-textos) !important;
}

p,
li,
a,
span,
.card-content p,
.produto-descricao,
.section-title p,
.video-box-content p,
.revendedor-conteudo p,
.historia-card p,
.contato-card p {
    font-family: var(--site-fonte-textos) !important;
    font-weight: var(--site-peso-textos) !important;
}

h1,
.hero h1,
.page-hero h1,
.cta h2 {
    font-family: var(--site-fonte-titulos) !important;
    font-weight: var(--site-peso-titulos) !important;
}

h2, h3, h4, h5, h6,
.section-title h2,
.produto-info h2,
.hero-card-inner h2,
.ranking-head h3,
.card-content h3,
.form-card-publico h2,
.revendedor-conteudo h2,
.historia-card h2,
.contato-card h2 {
    font-family: var(--site-fonte-subtitulos) !important;
    font-weight: var(--site-peso-subtitulos) !important;
}

.tag,
.card-meta,
.ranking-periodo,
.logo-area span,
.footer-bottom,
.produto-selo,
small,
.caption,
.legenda {
    font-family: var(--site-fonte-legendas) !important;
    font-weight: var(--site-peso-legendas) !important;
}

.btn-site,
.btn-primary,
.btn-secondary,
.nav-destaque,
.site-nav,
.hero-list span,
.campo-publico label,
.btn-form-publico,
.whatsapp-float {
    font-family: var(--site-fonte-textos) !important;
}

.site-header {
    background: var(--site-cor-header);
}

.site-footer {
    background: var(--site-cor-footer);
}

.btn-site,
.nav-destaque,
.whatsapp-float {
    border-radius: var(--site-radius-botoes);
}

/*
 * Ações clicáveis devem comunicar visualmente que são botões.
 * O navegador não aplica cursor de mão automaticamente em elementos <button>,
 * por isso o comportamento é padronizado aqui para os três ambientes.
 */
.btn-site:not([disabled]):not(.is-disabled),
a.btn-site:not(.is-disabled),
button.btn-site:not([disabled]),
input.btn-site:not([disabled]),
.nav-destaque:not(.is-disabled),
.whatsapp-float {
    cursor: pointer !important;
}

.btn-primary,
.nav-destaque {
    background: var(--site-cor-botao-primario);
    color: var(--site-cor-botao-texto) !important;
    border-color: var(--site-cor-botao-primario);
}

.btn-secondary {
    background: var(--site-cor-botao-secundario);
    color: var(--site-cor-botao-secundario-texto) !important;
    border-color: var(--site-cor-botao-secundario);
}

.btn-primary:hover,
.btn-secondary:hover,
.nav-destaque:hover {
    filter: brightness(.96);
}

.btn-site[disabled],
.btn-site.is-disabled,
.btn-primary[disabled],
.btn-secondary[disabled] {
    cursor: not-allowed !important;
    opacity: 1 !important;
    background: var(--site-cor-botao-desabilitado) !important;
    color: var(--site-cor-botao-desabilitado-texto) !important;
    border-color: var(--site-cor-botao-desabilitado) !important;
    box-shadow: none !important;
    filter: none !important;
}

.collection-card,
.dica-card,
.rank-card,
.video-box,
.ranking-box,
.historia-card,
.contato-card,
.dica-artigo,
.produto-info,
.produto-imagem-principal,
.produto-dado-card,
.produto-palavras,
.form-card-publico,
.revendedor-conteudo {
    border-radius: var(--site-radius-cards);
}



body > .ambiente-decoracoes {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

/*
 * Mantém a decoração atrás do conteúdo sem transformar elementos flutuantes
 * em elementos normais do fluxo. A regra anterior atingia o botão WhatsApp,
 * anulava seu position: fixed e criava uma faixa vazia após o rodapé.
 */
body > *:not(.ambiente-decoracoes):not(.whatsapp-float):not(script):not(style) {
    position: relative;
    z-index: 1;
}

.whatsapp-float {
    position: fixed !important;
    right: 18px !important;
    bottom: 18px !important;
    z-index: 30 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    max-width: calc(100vw - 36px);
    margin: 0 !important;
}

.ambiente-elemento {
    position: absolute;
    display: block;
    pointer-events: none;
    opacity: var(--ambiente-elementos-opacidade);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.ambiente-elemento-fundo {
    inset: 0;
    background-image: var(--ambiente-elemento-fundo);
    background-repeat: repeat;
    background-position: top left;
    background-size: auto;
    opacity: var(--ambiente-elementos-opacidade);
}

/*
 * A vitrine superior da Home possui um fundo claro próprio no CSS legado.
 * Esse fundo escondia a textura global. Criamos uma camada exclusiva dentro
 * da seção, acima do fundo claro e abaixo do banner, avisos e horário.
 */
body.ambiente-site-publico .home-vitrine-section {
    position: relative !important;
    isolation: isolate !important;
}

body.ambiente-site-publico .home-vitrine-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--ambiente-elemento-fundo);
    background-repeat: repeat;
    background-position: top left;
    background-size: auto;
    opacity: var(--ambiente-elementos-opacidade);
}

body.ambiente-site-publico .home-vitrine-section > * {
    position: relative;
    z-index: 1;
}

.ambiente-elemento-esquerdo {
    top: 88px;
    left: -34px;
    width: clamp(150px, 18vw, 300px);
    aspect-ratio: 1;
    background-image: var(--ambiente-elemento-esquerdo);
}

.ambiente-elemento-direito {
    top: 110px;
    right: -38px;
    width: clamp(150px, 18vw, 300px);
    aspect-ratio: 1;
    background-image: var(--ambiente-elemento-direito);
}

@media (max-width: 760px) {
    .ambiente-elemento-esquerdo,
    .ambiente-elemento-direito {
        width: 150px;
        opacity: calc(var(--ambiente-elementos-opacidade) * .72);
    }
}

/* =========================================================
   PORTAL B2B — SINCRONIZAÇÃO REAL COM DECORAÇÃO DOS AMBIENTES
   As regras legadas do site.css possuem cores fixas da identidade original.
   Este bloco substitui somente no B2B essas cores pelos valores salvos no ADM.
   ========================================================= */
body.ambiente-b2b {
    background-color: var(--gelo) !important;
    color: var(--texto) !important;
}

body.ambiente-b2b .site-header {
    background: var(--site-cor-header) !important;
}

body.ambiente-b2b .site-footer {
    background: var(--site-cor-footer) !important;
}

/* Texto principal e secundário do ADM aplicado a todas as áreas fixas do B2B. */
body.ambiente-b2b .site-header,
body.ambiente-b2b .site-header .logo-area,
body.ambiente-b2b .site-header .logo-area strong,
body.ambiente-b2b .site-header .site-nav,
body.ambiente-b2b .site-header .site-nav a {
    color: var(--site-cor-texto-principal) !important;
}

body.ambiente-b2b .site-header .logo-area span,
body.ambiente-b2b .site-header .site-nav a:hover {
    color: var(--site-cor-texto-secundario) !important;
}

body.ambiente-b2b .site-header .site-nav .nav-destaque,
body.ambiente-b2b .site-header .menu-toggle {
    color: var(--site-cor-botao-texto) !important;
}

body.ambiente-b2b .site-footer,
body.ambiente-b2b .site-footer h3,
body.ambiente-b2b .site-footer h4,
body.ambiente-b2b .site-footer p {
    color: var(--site-cor-texto-principal) !important;
}

body.ambiente-b2b .site-footer a,
body.ambiente-b2b .site-footer .footer-bottom {
    color: var(--site-cor-texto-secundario) !important;
}

body.ambiente-b2b .site-footer a:hover {
    color: var(--site-cor-texto-principal) !important;
}

body.ambiente-b2b .site-footer .footer-bottom {
    border-top-color: color-mix(in srgb, var(--borda) 72%, transparent) !important;
}

body.ambiente-b2b .hero,
body.ambiente-b2b .hero h1,
body.ambiente-b2b .hero-texto,
body.ambiente-b2b .home-horario-conteudo,
body.ambiente-b2b .home-horario-card h2,
body.ambiente-b2b .home-horario-lista span,
body.ambiente-b2b .home-colecoes-head,
body.ambiente-b2b .home-colecoes-head h2,
body.ambiente-b2b .home-colecao-item,
body.ambiente-b2b .home-colecao-nome,
body.ambiente-b2b .home-logisticas-head,
body.ambiente-b2b .home-logisticas-head h2,
body.ambiente-b2b .home-logistica-item,
body.ambiente-b2b .home-logistica-item h3 {
    color: var(--site-cor-texto-principal) !important;
}

body.ambiente-b2b .hero p,
body.ambiente-b2b .hero-texto p,
body.ambiente-b2b .home-horario-subtitulo,
body.ambiente-b2b .home-horario-auxiliar,
body.ambiente-b2b .home-horario-lista strong,
body.ambiente-b2b .home-colecoes-head p,
body.ambiente-b2b .home-logisticas-head p,
body.ambiente-b2b .home-logistica-horarios {
    color: var(--site-cor-texto-secundario) !important;
}

body.ambiente-b2b .b2b-card,
body.ambiente-b2b .b2b-catalog-card,
body.ambiente-b2b .home-avisos-section,
body.ambiente-b2b .home-horario-card,
body.ambiente-b2b .home-top10-box {
    border-color: var(--borda) !important;
    border-radius: var(--site-radius-cards) !important;
    box-shadow: var(--sombra) !important;
}

body.ambiente-b2b .b2b-page-title h1,
body.ambiente-b2b .b2b-stat strong,
body.ambiente-b2b .b2b-catalog-content h3,
body.ambiente-b2b .b2b-meta,
body.ambiente-b2b .b2b-breadcrumb a,
body.ambiente-b2b .home-avisos-head h2,
body.ambiente-b2b .home-aviso-card strong,
body.ambiente-b2b .home-top10-box-head h3,
body.ambiente-b2b .home-top10-ranking-titulo {
    color: var(--roxo) !important;
}

body.ambiente-b2b .b2b-page-title p,
body.ambiente-b2b .b2b-stat span,
body.ambiente-b2b .b2b-catalog-content p,
body.ambiente-b2b .b2b-muted,
body.ambiente-b2b .home-avisos-head p,
body.ambiente-b2b .home-aviso-card small,
body.ambiente-b2b .home-top10-historico,
body.ambiente-b2b .home-top10-ranking-head p {
    color: var(--cinza) !important;
}

body.ambiente-b2b .b2b-notificacao-menu.nav-destaque,
body.ambiente-b2b .home-avisos-actions button,
body.ambiente-b2b .home-top10-nav button {
    background: var(--site-cor-botao-primario) !important;
    color: var(--site-cor-botao-texto) !important;
}

body.ambiente-b2b .home-vitrine-section {
    background: transparent !important;
}

body.ambiente-b2b .home-banner-carousel,
body.ambiente-b2b .home-banner-slide,
body.ambiente-b2b .home-banner-slide a,
body.ambiente-b2b .home-banner-slide img {
    background: linear-gradient(135deg, var(--site-cor-header), var(--site-cor-footer)) !important;
}

body.ambiente-b2b .home-banner-nav {
    color: var(--roxo) !important;
}

body.ambiente-b2b .home-banner-nav:hover,
body.ambiente-b2b .home-banner-dot.ativo {
    background: var(--site-cor-botao-primario) !important;
}

body.ambiente-b2b .home-horario-card {
    background: #ffffff !important;
    border-color: var(--borda) !important;
}

body.ambiente-b2b .home-horario-conteudo {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--dourado) 34%, transparent), transparent 38%),
        linear-gradient(160deg, var(--site-cor-header), var(--site-cor-footer)) !important;
}

body.ambiente-b2b .home-horario-selo,
body.ambiente-b2b .home-horario-botao {
    background: var(--site-cor-botao-primario) !important;
    color: var(--site-cor-botao-texto) !important;
    border-radius: var(--site-radius-botoes) !important;
}

body.ambiente-b2b .home-horario-lista strong {
    color: var(--roxo) !important;
}

body.ambiente-b2b .home-observacao-semana {
    background: color-mix(in srgb, var(--dourado) 16%, #ffffff) !important;
    color: var(--texto) !important;
    border-top-color: color-mix(in srgb, var(--dourado) 42%, transparent) !important;
}

body.ambiente-b2b .home-avisos-section,
body.ambiente-b2b .home-aviso-card {
    background: #ffffff !important;
    border-color: var(--borda) !important;
}

body.ambiente-b2b .home-avisos-head span,
body.ambiente-b2b .home-aviso-categoria {
    background: var(--site-cor-botao-primario) !important;
    color: var(--site-cor-botao-texto) !important;
    border-color: color-mix(in srgb, var(--site-cor-botao-primario) 64%, var(--borda)) !important;
}

body.ambiente-b2b .home-aviso-card time {
    color: var(--roxo) !important;
}

body.ambiente-b2b .home-aviso-card:hover {
    border-color: var(--dourado) !important;
    box-shadow: var(--sombra) !important;
}

body.ambiente-b2b .hero,
body.ambiente-b2b .home-colecoes-strip,
body.ambiente-b2b .home-logisticas-strip {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--dourado) 24%, transparent), transparent 30%),
        linear-gradient(135deg, var(--site-cor-header), var(--site-cor-footer)) !important;
}

body.ambiente-b2b .home-colecoes-btn {
    background: var(--site-cor-botao-primario) !important;
    color: var(--site-cor-botao-texto) !important;
}

body.ambiente-b2b .home-colecao-item:hover .home-colecao-icon,
body.ambiente-b2b .home-logistica-item:hover .home-logistica-icon {
    border-color: var(--roxo) !important;
}

body.ambiente-b2b .home-colecoes-carousel-infinito::before,
body.ambiente-b2b .home-logisticas-carousel-infinito::before {
    background: linear-gradient(90deg, var(--site-cor-header) 0%, transparent 100%) !important;
}

body.ambiente-b2b .home-colecoes-carousel-infinito::after,
body.ambiente-b2b .home-logisticas-carousel-infinito::after {
    background: linear-gradient(270deg, var(--site-cor-footer) 0%, transparent 100%) !important;
}

body.ambiente-b2b .home-top10-item {
    background: color-mix(in srgb, var(--gelo) 94%, #ffffff) !important;
    border-color: var(--borda) !important;
}

body.ambiente-b2b .b2b-login-institucional {
    background: linear-gradient(140deg, var(--site-cor-header), var(--site-cor-footer)) !important;
}

body.ambiente-b2b .b2b-login-beneficio-icone {
    background: var(--site-cor-botao-primario) !important;
    color: var(--site-cor-botao-texto) !important;
}

body.ambiente-b2b .b2b-login-form-wrap h2,
body.ambiente-b2b .b2b-login-voltar {
    color: var(--roxo) !important;
}


/*
 * A textura do B2B passa a pertencer à área principal completa da Home.
 * Assim ela não termina na vitrine superior e continua por todas as seções
 * até o rodapé, respeitando a opacidade configurada no painel.
 */
body.ambiente-b2b.b2b-home-clean .b2b-main {
    position: relative !important;
    isolation: isolate !important;
    background-color: var(--gelo) !important;
    overflow: hidden;
}

body.ambiente-b2b.b2b-home-clean .b2b-main::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--ambiente-elemento-fundo);
    background-repeat: repeat;
    background-position: top left;
    background-size: auto;
    opacity: var(--ambiente-elementos-opacidade);
}

body.ambiente-b2b.b2b-home-clean .b2b-main > * {
    position: relative;
    z-index: 1;
}

body.ambiente-b2b.b2b-home-clean .home-vitrine-section,
body.ambiente-b2b.b2b-home-clean .home-top10-section {
    background: transparent !important;
}

