/* Campanha Black November: regras restritas às páginas com .bf-storefront. */
body.bf-storefront{
  --bf-bg:#101011;
  --bf-panel:#1d1d1f;
  --bf-panel-soft:#27272a;
  --bf-line:#38383c;
  --bf-text:#f8f7f8;
  --bf-muted:#b2afb4;
  --bf-red:#f51f42;
  --bf-red-dark:#b9122d;
  --green:var(--bf-red);
  --green-dark:var(--bf-red-dark);
  --green-card:#610b1e;
  --green-deep:#4e0918;
  --black:var(--bf-text);
  --gray:var(--bf-muted);
  --gray-mid:#aaa8ad;
  --gray-light:var(--bf-panel);
  --border:var(--bf-line);
  --white:var(--bf-bg);
  --ink:var(--bf-text);
  --muted:var(--bf-muted);
  --soft:var(--bf-panel);
  --line:var(--bf-line);
  --red-badge:var(--bf-red);
  background:var(--bf-bg);
  color:var(--bf-text);
}

/* Cabeçalhos, navegação e elementos compartilhados da vitrine. */
body.bf-storefront .header,
body.bf-storefront .site-header{
  background:#1b1b1d!important;
  border-color:var(--bf-line)!important;
  color:var(--bf-text);
}
body.bf-storefront .header .logo img,
body.bf-storefront .site-header .brand img{content:url('cms-site/logo_allu_white_green.svg')}
body.bf-storefront .search-box,
body.bf-storefront .catalog-link,
body.bf-storefront .cep-row,
body.bf-storefront .filter-btn,
body.bf-storefront .sort-btn,
body.bf-catalog .chip,
body.bf-catalog .load-more{
  background:#202023!important;
  border-color:var(--bf-line)!important;
  color:var(--bf-text)!important;
}
body.bf-storefront .search-box span,
body.bf-storefront .cep-row span,
body.bf-storefront .nav-links,
body.bf-storefront .breadcrumb{color:var(--bf-muted)!important}
body.bf-storefront .hamburger span{background:var(--bf-text)!important}

/* Página inicial e catálogo. */
body.bf-home .announce,
body.bf-catalog .announce{background:#080809!important;border-bottom:1px solid var(--bf-line)}
body.bf-home .media-bar,
body.bf-home .trust-section,
body.bf-home footer,
body.bf-catalog footer{background:var(--bf-bg)!important;border-color:var(--bf-line)!important}
body.bf-home .media-logo-img{filter:grayscale(1) invert(1);opacity:.48}
body.bf-home .pcard,
body.bf-catalog .pcard,
body.bf-home .how-card,
body.bf-home .ccard-bad,
body.bf-home .tcard{
  background:var(--bf-panel)!important;
  border-color:var(--bf-line)!important;
  color:var(--bf-text)!important;
}
body.bf-home .pthumb,
body.bf-catalog .pthumb,
body.bf-home .product-thumb{background:var(--bf-panel-soft)!important}
body.bf-home .pname,
body.bf-catalog .pname,
body.bf-home .sec-label,
body.bf-catalog .catalog-title,
body.bf-home .how-card h3,
body.bf-home .ccard-bad-title,
body.bf-home .benefit-title,
body.bf-home .tname,
body.bf-home .t-title,
body.bf-home .help-item .h-title,
body.bf-home .fn-col h4,
body.bf-home .fn-col ul li a,
body.bf-home .contact-col .c-label{color:var(--bf-text)!important}
body.bf-home .pdesc,
body.bf-catalog .pdesc,
body.bf-home .pfrom,
body.bf-catalog .pfrom,
body.bf-home .pold,
body.bf-catalog .pold,
body.bf-home .how-card p,
body.bf-home .benefit-desc,
body.bf-home .ttext,
body.bf-home .t-desc,
body.bf-home .help-item .h-desc,
body.bf-home .contact-col .c-val,
body.bf-home .footer-bottom p{color:var(--bf-muted)!important}
body.bf-home .btn-assinar,
body.bf-home .btn-assinar-w{background:var(--bf-red)!important;border-color:var(--bf-red)!important;color:#fff!important}
body.bf-home .ccard-good{background:linear-gradient(135deg,#610b1e,#a7102b)!important}
body.bf-home .ccard-good-badge{background:#ff6c82!important;color:#500612!important}
body.bf-home .benefit-item,
body.bf-home .footer-trust,
body.bf-home .footer-nav,
body.bf-home .footer-contacts,
body.bf-home .footer-badges{border-color:var(--bf-line)!important}
body.bf-home .pflag,
body.bf-home .badge-ra,
body.bf-home .badge-pagar{background:#242427!important;border-color:var(--bf-line)!important}
body.bf-home .badge-ra-text,
body.bf-home .badge-pagar span{color:var(--bf-text)!important}
body.bf-home .social-icons svg{color:#58d996!important}

/* Ícones lineares: traço consistente e legível em fundo escuro. */
body.bf-home .ticon svg{
  stroke:#d8d6da!important;
  stroke-width:1.9px!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  shape-rendering:geometricPrecision;
}
body.bf-product .trust-icon svg,
body.bf-product .feature-card .feature-icon svg,
body.bf-product .footer-benefit svg{
  stroke-linecap:round;
  stroke-linejoin:round;
  shape-rendering:geometricPrecision;
}

/* Selos de campanha: o texto é escrito no próprio HTML, sem conteúdo duplicado. */
body.bf-home .poferta-badge,
body.bf-home .plancamento-badge,
body.bf-catalog .poferta-badge,
body.bf-catalog .plancamento-badge{
  max-width:calc(100% - 16px);
  background:var(--bf-red)!important;
  color:#fff!important;
  border-radius:8px!important;
  box-shadow:0 7px 16px rgba(245,31,66,.28);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.bf-home .poferta-badge svg,
body.bf-home .plancamento-badge svg,
body.bf-catalog .poferta-badge svg,
body.bf-catalog .plancamento-badge svg{display:block!important;flex:0 0 auto}
body.bf-home .pnew-badge,
body.bf-catalog .pnew-badge{background:var(--bf-red)!important;color:#fff!important}
body.bf-home .see-all,
body.bf-home .how-icon,
body.bf-home .benefit-top svg{color:#ff526d!important}

/* Página detalhada do produto. */
body.bf-product .announcement{background:#080809!important;color:#fff}
body.bf-product .announcement span{color:#ff9aac}
body.bf-product .gallery{background:linear-gradient(145deg,#29292c,#18181a)!important}
body.bf-product .gallery::before{background:#651226!important}
body.bf-product .gallery-caption span:first-child{background:var(--bf-red)!important}
body.bf-product .quick-spec,
body.bf-product .feature-card,
body.bf-product .box-item,
body.bf-product .step,
body.bf-product .spec-list{background:var(--bf-panel)!important;border-color:var(--bf-line)!important}
body.bf-product .plan-card{background:#25171b!important;border-color:#833146!important}
body.bf-product .plan-label{color:#ffadba!important}
body.bf-product .plan-label span{background:#531020!important;color:#ffc4cd!important}
body.bf-product .cta{background:var(--bf-red)!important;color:#fff!important}
body.bf-product .trust-strip,
body.bf-product .section{border-color:var(--bf-line)!important}
body.bf-product .trust-icon,
body.bf-product .feature-card .feature-icon,
body.bf-product .step-number{background:#49101e!important;color:#ff8ea1!important}
body.bf-product .spec-intro,
body.bf-product .coverage-card,
body.bf-product .final-cta,
body.bf-product .compare-card.subscribe{background:linear-gradient(135deg,#570a1a,#991129)!important}
body.bf-product .compare-tag{background:#ff7085!important;color:#560812!important}
body.bf-product .compare-card.buy{background:#262629!important}
body.bf-product .faq-question{background:transparent!important;color:var(--bf-text)!important}
body.bf-product .sticky-offer{background:rgba(27,27,29,.97)!important;border-color:var(--bf-line)!important}
body.bf-product .sticky-product img{background:var(--bf-panel-soft)!important}
body.bf-product .footer{color:var(--bf-muted)!important}
body.bf-product .footer-benefit h3,
body.bf-product .footer-social h3,
body.bf-product .footer-links h3,
body.bf-product .footer-contact h3{color:var(--bf-text)!important}

/* Páginas de confirmação: aplicação limitada a esta família, nunca aos contratos. */
body.bf-final .card,
body.bf-final .panel,
body.bf-final .result-card,
body.bf-final .summary,
body.bf-final .content-card{background:var(--bf-panel)!important;border-color:var(--bf-line)!important;color:var(--bf-text)!important}
body.bf-final .btn-primary,
body.bf-final .btn-danger{background:var(--bf-red)!important;color:#fff!important}
body.bf-final .btn-dark,
body.bf-final .btn-light{background:#29292c!important;border-color:var(--bf-line)!important;color:#fff!important}
body.bf-final .badge{background:#47101d!important;border-color:#833146!important;color:#ffb3c0!important}
body.bf-final .hero{background:linear-gradient(180deg,#2b1218 0%,var(--bf-bg) 82%)!important}
body.bf-final .detail{background:var(--bf-panel-soft)!important}
body.bf-final .alert{background:#35151b!important;border-color:#7d2d3d!important;color:var(--bf-text)!important}
body.bf-final .alert h3,
body.bf-final .alert p,
body.bf-final .alert p a{color:#fff!important}
body.bf-final .alert.ok{background:#183c2c!important;border-color:#3c9f70!important}

@media(max-width:760px){
  body.bf-home .poferta-badge,
  body.bf-home .plancamento-badge,
  body.bf-catalog .poferta-badge,
  body.bf-catalog .plancamento-badge{font-size:9px!important}
}
