/* =========================================================
   BANGUELIM · Tema do sistema de rifas
   ---------------------------------------------------------
   Camada visual carregada DEPOIS do style.css original.
   Não mexe em lógica: só cores, tipografia, espaçamentos e
   componentes. Paleta e tipografia espelham a landing page
   (public_html_landingpage/assets/css/style.css).

   Especificidade: os seletores começam com "html body" para
   vencer os <style> inline que as páginas de campanha injetam
   depois do <head>. "!important" só onde o original usa
   utilitários do Bootstrap (que já são !important) ou estilos
   inline nos PHPs / no HTML gerado por class/Main.php.
   ========================================================= */

/* ---------- Tokens ---------- */
html:root {
  --bng-orange:       #FF6A00;
  --bng-orange-light: #FF8F3C;
  --bng-orange-deep:  #C24700;
  --bng-gold:         #E8B23A;
  --bng-gold-light:   #F2CC72;
  --bng-black:        #0a0a0a;
  --bng-black-soft:   #111111;
  --bng-gray:         #1a1a1a;
  --bng-white:        #F5F0E8;
  --bng-green:        #37C463;
  --bng-red:          #FF5A4E;

  --bng-text-2: rgba(245,240,232,.62);
  --bng-text-3: rgba(245,240,232,.42);
  --bng-line:   rgba(245,240,232,.09);
  --bng-line-2: rgba(245,240,232,.16);
  --bng-line-orange: rgba(255,106,0,.16);
  --bng-card:   #111111;
  --bng-card-orange: rgba(255,106,0,.045);
  --bng-input:  #0f0f0f;

  --bng-ff-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bng-ff-display: 'Playfair Display', Georgia, serif;
  --bng-col: 680px;
  --bng-ease: cubic-bezier(.2,.7,.3,1);

  /* Variáveis do template original redirecionadas para a paleta.
     "html:root" vence o ":root" que set-custom-style.php injeta. */
  --incrivel-bg: #0a0a0a;
  --incrivel-border: rgba(245,240,232,.12);
  --incrivel-bgColor: #F5F0E8;
  --incrivel-bgLink: #F5F0E8;
  --incrivel-bgLinkHover: #FF6A00;
  --incrivel-rgba: 245, 240, 232;
  --incrivel-rgbaInvert: 245, 240, 232;
  --incrivel-formBg: #0f0f0f;
  --incrivel-formBgHover: #141414;
  --incrivel-formBgHoverColor: #F5F0E8;
  --incrivel-formBorder: rgba(245,240,232,.16);
  --incrivel-formColor: #F5F0E8;
  --incrivel-cardBg: #111111;
  --incrivel-cardColor: #F5F0E8;
  --incrivel-cardLink: #FF8F3C;
  --incrivel-modalBg: #111111;
  --incrivel-modalBorder: rgba(255,106,0,.16);
  --incrivel-modalColor: #F5F0E8;
  --incrivel-primaria: #FF6A00;
  --incrivel-primariaColor: #F5F0E8;
  --incrivel-primariaLink: #FFFFFF;
  --incrivel-primariaLinkHover: #FFFFFF;
  --incrivel-primariaDarken: rgba(255,106,0,.14);
  --incrivel-primariaDarkenColor: #F5F0E8;
  --incrivel-primariaDarkenLink: #FFFFFF;
  --incrivel-primariaDarkenLinkHover: #FFFFFF;
  --incrivel-secundaria: #E8B23A;

  --bs-body-bg: #0a0a0a;
  --bs-body-color: #F5F0E8;
  --bs-body-font-family: var(--bng-ff-sans);
}

/* =========================================================
   BASE
   ========================================================= */
html { background: var(--bng-black); overflow-x: hidden; scroll-padding-top: 88px; }

html body {
  font-family: var(--bng-ff-sans);
  background: transparent;
  color: var(--bng-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
}

/* Fundo: brilhos laranja/dourado + granulado, igual ao clima da landing */
html body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),
    radial-gradient(640px 460px at 100% -8%, rgba(255,106,0,.16), transparent 70%),
    radial-gradient(560px 460px at -12% 108%, rgba(232,178,58,.09), transparent 70%),
    var(--bng-black);
}

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1, html body .h2, html body .h3, html body .h4, html body .h5, html body .h6 {
  font-family: var(--bng-ff-sans);
  color: inherit;
}

html body a { color: inherit; text-decoration: none; }
html body ::selection { background: var(--bng-orange); color: #fff; }

html body ::-webkit-scrollbar { width: 10px; height: 10px; }
html body ::-webkit-scrollbar-track { background: var(--bng-black); }
html body ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--bng-orange), var(--bng-orange-deep)); border-radius: 10px; }

html body hr { background-color: rgba(245,240,232,.1); opacity: 1; border: 0; }

/* Utilitários de cor do Bootstrap: o site inteiro é escuro */
html body .text-dark,
html body .text-black { color: var(--bng-white) !important; }
html body .text-muted,
html body .text-secondary { color: var(--bng-text-3) !important; }
html body .text-success { color: var(--bng-green) !important; }
html body .text-warning { color: var(--bng-gold) !important; }
html body .text-info { color: var(--bng-orange-light) !important; }
html body .text-danger { color: var(--bng-red) !important; }
html body .text-yellow { color: var(--bng-gold) !important; }

html body .box-shadow-08,
html body .shadow,
html body .shadow-sm { box-shadow: none !important; }
html body .rounded-10 { border-radius: 0; }
html body .app-main .rounded,
html body .app-main .rounded-start,
html body .app-main .rounded-end,
html body .app-main .rounded-top,
html body .app-main .rounded-bottom,
html body .app-main .rounded-xl,
html body .app-main .rounded-3xl,
html body .app-main .rounded-2xl { border-radius: 0 !important; }
html body .border-bottom { border-bottom-color: var(--bng-line) !important; }
html body .border-bottom-rgba { border-bottom: 1px solid var(--bng-line) !important; }
html body .border { border-color: var(--bng-line) !important; }

html body .bng-orange { color: var(--bng-orange); }
html body .bng-gold { color: var(--bng-gold); }
html body .bng-italic { font-family: var(--bng-ff-display); font-style: italic; font-weight: 700; color: var(--bng-gold-light); text-transform: none; letter-spacing: -.5px; }
html body .bng-outline { -webkit-text-stroke: 1.5px var(--bng-orange); color: transparent; }
html body .bng-arrow { display: inline-block; transition: transform .3s; }

@keyframes bng-blink { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes bng-marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes bng-spin { to { transform: rotate(360deg); } }

/* =========================================================
   CABEÇALHO
   ========================================================= */
.bng-adminbar {
  background: var(--bng-black-soft);
  border-bottom: 1px solid var(--bng-line-orange);
  text-align: center; padding: 8px 16px;
  font-size: .72rem; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase;
}
.bng-adminbar a { color: var(--bng-orange-light); display: inline-flex; align-items: center; gap: 8px; }
.bng-adminbar a:hover { color: var(--bng-gold); }

.bng-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(10,10,10,.84);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--bng-line-orange);
}
.bng-header__inner {
  max-width: 1200px; margin: 0 auto; min-height: 68px;
  padding: 12px 32px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.bng-brand { display: inline-flex; align-items: center; flex-shrink: 0; }
html body .bng-brand img { display: block; height: 20px; width: auto; max-width: 200px; max-height: none; }

.bng-nav { display: flex; align-items: center; gap: 30px; }
.bng-nav a {
  position: relative; color: rgba(245,240,232,.6);
  font-size: .76rem; font-weight: 500; letter-spacing: 1.3px; text-transform: uppercase;
  transition: color .3s;
}
.bng-nav a::after {
  content: ""; position: absolute; left: 0; bottom: -6px; width: 0; height: 1.5px;
  background: var(--bng-orange); transition: width .3s;
}
.bng-nav a:hover { color: var(--bng-orange); }
.bng-nav a:hover::after { width: 100%; }

.bng-header__actions { display: flex; align-items: center; gap: 18px; }
.bng-support {
  display: inline-flex; align-items: center; gap: 8px;
  color: rgba(245,240,232,.6); font-size: .72rem; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase;
  transition: color .3s;
}
.bng-support i { font-size: 1.05rem; color: var(--bng-gold); }
.bng-support:hover { color: var(--bng-gold); }

.bng-cta {
  padding: 10px 22px; background: transparent; border: 1px solid var(--bng-orange); color: var(--bng-orange);
  font-family: var(--bng-ff-sans); font-size: .74rem; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase;
  white-space: nowrap; cursor: pointer; transition: background .3s, color .3s, box-shadow .3s;
}
.bng-cta:hover { background: var(--bng-orange); color: #fff; box-shadow: 0 8px 30px rgba(255,106,0,.35); }

.bng-burger {
  display: inline-flex; flex-direction: column; justify-content: center; gap: 6px;
  width: 40px; height: 40px; padding: 0 6px; background: transparent; border: 0; cursor: pointer;
}
.bng-burger span { display: block; width: 26px; height: 2px; background: var(--bng-orange); transition: transform .3s; }
.bng-burger span:nth-child(2) { width: 18px; }
.bng-burger:hover span:nth-child(2) { width: 26px; }

@media (max-width: 960px) {
  .bng-nav { display: none; }
}
@media (max-width: 640px) {
  .bng-header__inner { padding: 10px 16px; min-height: 60px; }
  .bng-cta { display: none; }
  .bng-support span { display: none; }
  .bng-support i { font-size: 1.25rem; }
  html body .bng-brand img { height: 17px; }
}

/* ---------- Menu fullscreen (#mobileMenu) ---------- */
html body .bng-menu { padding: 0; margin: 0; }
html body .bng-menu .modal-content {
  background: rgba(10,10,10,.97) !important;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  color: var(--bng-white); border: 0; border-radius: 0 !important; height: 100vh;
}
html body .bng-menu .modal-body { padding: 0; }
.bng-menu__top {
  max-width: 1200px; width: 100%; margin: 0 auto; min-height: 68px;
  padding: 12px 32px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--bng-line-orange);
}
.bng-menu__close {
  position: relative; width: 40px; height: 40px; background: transparent; border: 1px solid var(--bng-line-2); cursor: pointer;
  transition: border-color .3s;
}
.bng-menu__close span { position: absolute; top: 50%; left: 50%; width: 18px; height: 2px; background: var(--bng-orange); }
.bng-menu__close span:first-child { transform: translate(-50%,-50%) rotate(45deg); }
.bng-menu__close span:last-child { transform: translate(-50%,-50%) rotate(-45deg); }
.bng-menu__close:hover { border-color: var(--bng-orange); }

.bng-menu__wrap { max-width: 480px; margin: 0 auto; padding: 32px 20px 48px; }

.bng-user {
  display: flex; align-items: center; gap: 14px; padding: 16px;
  border: 1px solid var(--bng-line-orange); background: var(--bng-card-orange); margin-bottom: 18px;
}
.bng-user__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--bng-orange); flex-shrink: 0; }
.bng-user__info { min-width: 0; flex: 1; }
.bng-user__info small { display: block; font-size: .62rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--bng-orange); }
html body .bng-user__info h3 { font-size: 1rem; font-weight: 700; margin: 2px 0 0; color: var(--bng-white); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bng-user__info .saldo-value:empty { display: none; }
.bng-user__logout { color: var(--bng-text-3); font-size: 1.3rem; padding: 4px; transition: color .3s; }
.bng-user__logout:hover { color: var(--bng-orange); }

.bng-menu__nav { display: flex; flex-direction: column; }
.bng-menu__nav a {
  display: flex; align-items: center; gap: 16px; padding: 16px 4px;
  border-bottom: 1px solid var(--bng-line);
  font-size: .92rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--bng-white);
  transition: color .3s, padding-left .3s;
}
.bng-menu__nav a i { width: 22px; font-size: 1.05rem; color: var(--bng-orange); text-align: center; }
.bng-menu__nav a::after { content: "→"; margin-left: auto; color: rgba(245,240,232,.25); transition: transform .3s, color .3s; }
.bng-menu__nav a:hover { color: var(--bng-orange); padding-left: 10px; }
.bng-menu__nav a:hover::after { color: var(--bng-orange); transform: translateX(4px); }
html body .bng-menu__cta { margin-top: 28px; }

@media (max-width: 640px) {
  .bng-menu__top { padding: 10px 16px; min-height: 60px; }
}

/* =========================================================
   CONTAINER PRINCIPAL + TÍTULOS DE SEÇÃO
   ========================================================= */
html body .app-main {
  background: transparent;
  max-width: var(--bng-col);
  margin: 0 auto;
  padding: 32px 20px 56px !important;
  border-radius: 0;
}
@media (max-width: 640px) {
  html body .app-main { padding: 22px 16px 44px !important; }
}

/* Título no padrão da landing: kicker laranja em cima + título forte */
html body .app-title {
  display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 8px;
  margin: 36px 0 18px;
}
html body .app-main > .app-title:first-child,
html body .app-main > .row:first-child .app-title,
html body .app-main > .col-12:first-child .app-title { margin-top: 4px; }
html body .app-title h1,
html body .app-title .h1 {
  font-size: clamp(1.45rem, 4.2vw, 2rem); font-weight: 900; line-height: 1.04;
  letter-spacing: -.8px; text-transform: uppercase; color: var(--bng-white);
  padding: 0; margin: 0;
}
html body .app-title .app-title-desc {
  font-size: .68rem; font-weight: 700; letter-spacing: 3.5px; text-transform: uppercase;
  color: var(--bng-orange); padding: 0;
}
html body .app-title .app-title-desc::before { content: ""; display: inline-block; width: 18px; height: 1.5px; background: var(--bng-orange); vertical-align: middle; margin-right: 10px; }

/* =========================================================
   BOTÕES
   ========================================================= */
html body .btn {
  font-family: var(--bng-ff-sans); font-weight: 700; letter-spacing: .6px;
  border-radius: 0;
  transition: transform .3s var(--bng-ease), box-shadow .3s, background .3s, border-color .3s, color .3s, filter .3s;
}
html body .btn.rounded-pill,
html body .btn.rounded-0,
html body .btn.rounded-end,
html body .btn.rounded-xl { border-radius: 0 !important; }
html body .btn:focus,
html body .btn:focus-visible { box-shadow: 0 0 0 3px rgba(255,106,0,.3) !important; outline: 0; }

/* CTA principal (o template usa success / primary / secondary para ações) */
html body .btn-primary, html body .btn-success, html body .btn-secondary,
html body .btn-primary:focus, html body .btn-success:focus, html body .btn-secondary:focus {
  background: linear-gradient(135deg, var(--bng-orange), var(--bng-orange-deep)) !important;
  border: 1px solid transparent !important;
  color: #fff !important;
  box-shadow: 0 6px 22px rgba(255,106,0,.2);
}
html body .btn-primary:hover, html body .btn-success:hover, html body .btn-secondary:hover,
html body .btn-primary:active, html body .btn-success:active, html body .btn-secondary:active {
  filter: brightness(1.08);
  box-shadow: 0 12px 34px rgba(255,106,0,.4);
  color: #fff !important; opacity: 1;
}
html body .btn-warning {
  background: var(--bng-gold) !important; border-color: var(--bng-gold) !important; color: #0a0a0a !important;
}
html body .btn-warning:hover { background: var(--bng-gold-light) !important; }
html body .btn-danger {
  background: rgba(255,90,78,.08) !important; border: 1px solid rgba(255,90,78,.45) !important; color: #ff9b93 !important;
}
html body .btn-info {
  background: var(--bng-black-soft) !important; border: 1px solid var(--bng-line-2) !important; color: var(--bng-white) !important;
}
html body .btn-link,
html body .btn-link a { color: var(--bng-orange-light); text-decoration: none; }
html body .btn-link:hover,
html body .btn-link a:hover { color: var(--bng-gold); }
html body .btn-close { filter: invert(1) grayscale(1) brightness(2); opacity: .55; }
html body .btn-close:hover { opacity: 1; }

/* Botão padrão do tema (home, cards) */
.bng-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 15px 24px; background: linear-gradient(135deg, var(--bng-orange), var(--bng-orange-deep)); color: #fff !important;
  font-size: .8rem; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase;
  box-shadow: 0 6px 24px rgba(255,106,0,.22);
  transition: box-shadow .3s, filter .3s, transform .3s;
}
.bng-btn:hover { box-shadow: 0 12px 34px rgba(255,106,0,.42); filter: brightness(1.08); }
.bng-btn:hover .bng-arrow { transform: translateX(5px); }
.bng-btn--ghost {
  background: transparent; border: 1px solid rgba(245,240,232,.22); box-shadow: none; color: var(--bng-white) !important; font-weight: 600;
}
.bng-btn--ghost:hover { border-color: var(--bng-gold); color: var(--bng-gold) !important; background: rgba(232,178,58,.06); box-shadow: none; filter: none; }

/* =========================================================
   CARDS, BADGES, ALERTAS
   ========================================================= */
html body .card,
html body .app-card {
  background-color: var(--bng-card);
  color: var(--bng-white);
  border: 1px solid var(--bng-line);
  border-radius: 0;
  box-shadow: none;
}
html body .app-card .card-body { padding: 16px; }
html body .card-header, html body .card-footer { background: transparent; border-color: var(--bng-line); }

html body .bg-card { background-color: var(--bng-card) !important; }
html body .bg-light { background-color: var(--bng-card) !important; }
html body .app-main .bg-white:not(#img-qrcode) { background-color: rgba(255,255,255,.05) !important; }
html body .bg-cor-primaria { background-color: var(--bng-orange) !important; color: #fff; }
html body .text-cor-primaria-link,
html body .text-cor-primaria-color { color: #fff; }

/* Badges de status */
html body .badge {
  display: inline-flex; align-items: center; gap: 7px;
  border-radius: 0; padding: 6px 11px; line-height: 1.2;
  font-family: var(--bng-ff-sans); font-size: .6rem; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase;
}
html body .badge.bg-success {
  background-color: rgba(10,10,10,.78) !important; border: 1px solid rgba(55,196,99,.45); color: var(--bng-green);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
html body .badge.bg-dark {
  background-color: rgba(10,10,10,.78) !important; border: 1px solid rgba(245,240,232,.22); color: rgba(245,240,232,.72);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
html body .badge.bg-dark.blink { border-color: rgba(255,106,0,.55); color: var(--bng-orange-light); }
html body .badge.blink { animation: none; }
html body .badge.blink::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor;
  box-shadow: 0 0 10px currentColor; animation: bng-blink 1.4s ease-in-out infinite; flex-shrink: 0;
}

/* Alertas */
html body .alert {
  border-radius: 0; border: 1px solid; font-size: .85rem; line-height: 1.6;
}
html body .alert-info,
html body .alert-primary { background: rgba(255,106,0,.06); border-color: rgba(255,106,0,.28); color: var(--bng-white); }
html body .alert-warning { background: rgba(232,178,58,.05); border: 1px dashed rgba(232,178,58,.38); color: rgba(245,240,232,.75); }
html body .alert-danger { background: rgba(255,90,78,.07); border-color: rgba(255,90,78,.38); color: #ffc2bd; }
html body div.alert-success,
html body p.alert-success { background: rgba(55,196,99,.07); border-color: rgba(55,196,99,.35); color: #bff0cf; }
html body .alert a { color: var(--bng-gold); border-bottom: 1px solid rgba(232,178,58,.4); }

/* Números da sorte (o template usa .alert-success em <span>/<a> como "chip") */
html body span.alert-success,
html body a.alert-success {
  background: rgba(255,106,0,.1) !important; border: 1px solid rgba(255,106,0,.38) !important;
  color: var(--bng-white) !important; font-weight: 700; font-size: .85rem;
  font-variant-numeric: tabular-nums; letter-spacing: .4px; text-align: center;
}

/* Barras de progresso */
html body .progress {
  height: 10px; background-color: rgba(245,240,232,.08); border-radius: 0; overflow: hidden;
  font-size: .66rem;
}
html body .progress-bar {
  background-color: var(--bng-orange) !important;
  background-image: linear-gradient(90deg, var(--bng-orange), var(--bng-gold)) !important;
  color: #0a0a0a; font-weight: 800; letter-spacing: .4px;
  transition: width 1.2s var(--bng-ease);
}
html body .progress-bar.bg-info { background: transparent !important; }
html body .progress-bar.bg-danger { background-image: linear-gradient(90deg, var(--bng-orange-deep), var(--bng-orange)) !important; }

/* Paginação */
html body .page-link {
  background: var(--bng-card); border-color: var(--bng-line-2); color: var(--bng-white); border-radius: 0 !important;
}
html body .page-link:hover { background: rgba(255,106,0,.1); border-color: var(--bng-orange); color: var(--bng-orange-light); }
html body .page-item.active .page-link { background: var(--bng-orange); border-color: var(--bng-orange); color: #fff; }
html body .page-item.disabled .page-link { background: #0d0d0d; color: var(--bng-text-3); border-color: var(--bng-line); }

/* Tabelas */
html body .table { color: var(--bng-white); border-color: var(--bng-line); --bs-table-bg: transparent; --bs-table-striped-bg: rgba(255,255,255,.02); --bs-table-striped-color: var(--bng-white); --bs-table-hover-color: var(--bng-white); }
html body .table > :not(caption) > * > * { background-color: transparent; color: var(--bng-white); border-bottom-color: var(--bng-line); }
html body .table thead th { font-size: .68rem; letter-spacing: 2px; text-transform: uppercase; color: var(--bng-orange); }

/* Grupo de botões (filtros de campanhas) */
html body .btn-group .btn {
  background: transparent !important; border: 1px solid var(--bng-line-2) !important; color: var(--bng-text-2) !important;
  box-shadow: none; font-size: .68rem; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; padding: 8px 14px;
}
html body .btn-group .btn a { color: inherit; }
html body .btn-group .btn:hover { border-color: rgba(255,106,0,.5) !important; color: var(--bng-orange-light) !important; filter: none; }
html body .btn-group .btn[style*="primariaDarken"] {
  background: rgba(255,106,0,.14) !important; border-color: rgba(255,106,0,.55) !important; color: var(--bng-orange-light) !important;
}
html body .app-main .app-body { gap: 10px; flex-wrap: wrap; }

/* =========================================================
   FORMULÁRIOS
   ========================================================= */
html body .form-control,
html body .form-select,
html body .app-form .form-control,
html body .app-form .form-select {
  background-color: var(--bng-input); border: 1px solid var(--bng-line-2); border-radius: 0;
  color: var(--bng-white); font-family: var(--bng-ff-sans); font-size: .95rem;
  box-shadow: none; transition: border-color .25s, box-shadow .25s, background-color .25s;
}
html body .form-control:focus,
html body .form-select:focus {
  background-color: #141414; color: var(--bng-white);
  border-color: var(--bng-orange); box-shadow: 0 0 0 3px rgba(255,106,0,.16);
}
html body .form-control::placeholder { color: rgba(245,240,232,.28); }
html body .form-control:disabled,
html body .form-control[readonly] { background-color: #0c0c0c; color: var(--bng-text-2); }
html body .form-control.text-black,
html body .form-select.text-black { color: var(--bng-white) !important; }
html body .form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23FF6A00' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
html body .form-select option { background: #111; color: var(--bng-white); }
html body .form-control::file-selector-button { background: #1a1a1a; color: var(--bng-white); border-color: var(--bng-line-2); }

html body .form-label,
html body .app-form label {
  font-size: .66rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--bng-text-3);
  margin-bottom: 6px;
}
html body .form-floating > label { color: var(--bng-text-3); }
html body .form-floating > .form-control:focus ~ label,
html body .form-floating > .form-control:not(:placeholder-shown) ~ label { color: var(--bng-orange-light); opacity: 1; }
html body .form-check-input { background-color: var(--bng-input); border-color: var(--bng-line-2); }
html body .form-check-input:checked,
html body .app-form .form-check-input:checked { background-color: var(--bng-orange) !important; border-color: var(--bng-orange); }

html body .input-group > .form-control { border-right: 0; }
html body .input-group .btn { padding-left: 18px; padding-right: 18px; }

html body input:-webkit-autofill,
html body input:-webkit-autofill:hover,
html body input:-webkit-autofill:focus,
html body select:-webkit-autofill,
html body textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--bng-white);
  -webkit-box-shadow: 0 0 0 1000px #141414 inset !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* =========================================================
   MODAIS
   ========================================================= */
html body .modal-content {
  background-color: var(--bng-black-soft); color: var(--bng-white);
  border: 1px solid rgba(255,106,0,.2); border-radius: 0;
  box-shadow: 0 30px 80px rgba(0,0,0,.7);
}
html body .modal-header { border-bottom: 1px solid var(--bng-line); padding: 18px 22px; }
html body .modal-title {
  font-size: .82rem; font-weight: 800; letter-spacing: 2.5px; text-transform: uppercase; color: var(--bng-orange);
}
html body .modal-body { padding: 22px; }
html body .modal-footer { border-top: 1px solid var(--bng-line); }
html body .modal-backdrop { background-color: #000; }
html body .modal-backdrop.show { opacity: .82; }

/* Login / cadastro rápido */
@media (min-width: 768px) {
  html body #loginModal .modal-dialog,
  html body #cadastroModal .modal-dialog { max-width: 420px; }
}
html body #loginModal .modal-content,
html body #cadastroModal .modal-content { border-top: 3px solid var(--bng-orange); }
html body #loginModal .btn-primary,
html body #cadastroModal .btn-primary { width: 100%; padding: 14px 24px; font-size: .82rem; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 800; }
html body #loginModal .btn-link,
html body #cadastroModal .btn-link { font-size: .78rem; font-weight: 600; }
html body #loginModal .btn-link a,
html body #cadastroModal .btn-link a { color: var(--bng-orange-light); }
html body #loginModal .text-muted { font-size: .85rem !important; }

/* =========================================================
   HOME
   ========================================================= */
.bng-hero {
  position: relative; overflow: hidden;
  padding: 64px 20px 48px;
  border-bottom: 1px solid var(--bng-line-orange);
}
.bng-hero__stripes {
  position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='600' viewBox='0 0 200 600'%3E%3Cg fill='%23FF6A00' fill-opacity='.10'%3E%3Cpath d='M0 40 q60 18 130 6 -60 22 -130 16z'/%3E%3Cpath d='M0 150 q75 22 150 4 -70 26 -150 20z'/%3E%3Cpath d='M0 270 q55 16 120 2 -55 20 -120 14z'/%3E%3Cpath d='M0 390 q80 24 160 6 -75 28 -160 22z'/%3E%3Cpath d='M0 510 q60 18 130 4 -60 22 -130 16z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat-y; background-position: left top; background-size: 200px auto;
}
.bng-hero__glow {
  position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -160px; top: -240px;
  background: var(--bng-orange); filter: blur(130px); opacity: .16; pointer-events: none;
}
.bng-hero__inner { position: relative; max-width: var(--bng-col); margin: 0 auto; }
.bng-kicker {
  display: inline-flex; align-items: center; gap: 11px; padding: 8px 18px;
  border: 1px solid rgba(255,106,0,.42); border-radius: 50px; background: rgba(255,106,0,.09);
  font-size: .66rem; font-weight: 600; letter-spacing: 2.4px; text-transform: uppercase; color: var(--bng-orange-light);
  margin-bottom: 26px;
}
.bng-kicker .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bng-orange); box-shadow: 0 0 12px var(--bng-orange); animation: bng-blink 1.6s ease-in-out infinite; }
html body .bng-hero__title {
  font-size: clamp(2.3rem, 8vw, 4.1rem); font-weight: 900; line-height: .96; letter-spacing: -2px;
  text-transform: uppercase; margin: 0 0 20px;
}
.bng-hero__sub { font-size: 1.02rem; font-weight: 300; line-height: 1.75; color: rgba(245,240,232,.68); max-width: 520px; margin: 0 0 28px; }
.bng-hero__sub strong { color: var(--bng-white); font-weight: 700; }
.bng-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.bng-hero__actions .bng-btn { padding: 15px 30px; }
@media (max-width: 640px) {
  .bng-hero { padding: 44px 16px 36px; }
  .bng-hero__actions .bng-btn { width: 100%; }
}

/* Faixa corrida */
.bng-marquee {
  overflow: hidden; padding: 18px 0;
  border-bottom: 1px solid var(--bng-line-orange);
  background: linear-gradient(90deg, rgba(255,106,0,.05), rgba(232,178,58,.03), rgba(255,106,0,.05));
}
.bng-marquee__track { display: flex; width: max-content; animation: bng-marquee 28s linear infinite; }
.bng-marquee__item {
  display: flex; align-items: center; gap: 28px; padding: 0 14px; flex-shrink: 0; white-space: nowrap;
  font-size: .92rem; font-weight: 800; letter-spacing: 3.2px; text-transform: uppercase; color: rgba(255,106,0,.38);
}
.bng-marquee__item i { width: 7px; height: 7px; border-radius: 50%; background: var(--bng-gold); opacity: .6; flex-shrink: 0; }

/* Card de campanha em destaque (mesmo desenho do card da landing) */
.bng-feature {
  display: flex; flex-direction: column; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,106,0,.06), rgba(10,10,10,.4));
  border: 1px solid var(--bng-line-orange);
  transition: transform .4s var(--bng-ease), border-color .4s, box-shadow .4s;
  margin-bottom: 18px;
}
.bng-feature:hover { transform: translateY(-6px); border-color: rgba(255,106,0,.5); box-shadow: 0 26px 60px rgba(0,0,0,.6); }
.bng-feature__media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--bng-gray); }
.bng-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--bng-ease); }
.bng-feature:hover .bng-feature__media img { transform: scale(1.05); }
.bng-feature__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(10,10,10,.78)); pointer-events: none; }
.bng-feature__media .badge { position: absolute; top: 14px; left: 14px; z-index: 2; }
.bng-feature__date {
  position: absolute; top: 14px; right: 14px; z-index: 2; padding: 6px 11px;
  background: rgba(10,10,10,.78); border: 1px solid rgba(232,178,58,.4); color: var(--bng-gold);
  font-size: .62rem; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase;
}
.bng-price {
  position: absolute; bottom: 14px; right: 14px; z-index: 2;
  background: var(--bng-orange); color: #fff; padding: 9px 15px;
  font-size: 1.05rem; font-weight: 900; letter-spacing: -.3px; box-shadow: 0 8px 24px rgba(0,0,0,.5);
}
.bng-price small { font-size: .56rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; opacity: .85; margin-left: 4px; }
.bng-feature__body { padding: 24px; display: flex; flex-direction: column; }
html body .bng-feature__body h2 { font-size: 1.35rem; font-weight: 800; letter-spacing: -.5px; line-height: 1.2; margin: 0 0 10px; }
.bng-feature__body > p { font-size: .9rem; font-weight: 300; line-height: 1.7; color: rgba(245,240,232,.58); margin: 0 0 22px; }

.bng-progress { margin-bottom: 22px; }
.bng-progress__bar { height: 7px; background: rgba(245,240,232,.09); overflow: hidden; }
.bng-progress__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--bng-orange), var(--bng-gold)); }
.bng-progress__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; }
.bng-progress__meta b { font-size: .72rem; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--bng-gold); }
.bng-progress__meta span { font-size: .68rem; letter-spacing: 1.2px; text-transform: uppercase; color: var(--bng-text-3); }

/* Card de campanha em lista (home) + .SorteioTpl original (campanhas, pedido) */
.bng-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 8px; }
.bng-item,
html body .SorteioTpl_sorteioTpl__2s2Wu:not(.SorteioTpl_destaque__3vnWR) {
  position: relative; display: flex; align-items: center; gap: 14px;
  padding: 10px 44px 10px 10px;
  background: var(--bng-card); border: 1px solid var(--bng-line); border-radius: 0; box-shadow: none;
  color: var(--bng-white);
  transition: transform .35s var(--bng-ease), border-color .35s, background .35s;
}
.bng-item:hover,
html body a:hover > .SorteioTpl_sorteioTpl__2s2Wu:not(.SorteioTpl_destaque__3vnWR) {
  transform: translateY(-3px); border-color: rgba(255,106,0,.45); background: rgba(255,106,0,.05);
}
.bng-item::after { content: "→"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--bng-orange); font-size: 1.05rem; transition: transform .3s; }
.bng-item:hover::after { transform: translate(4px,-50%); }
html body .SorteioTpl_sorteioTpl__2s2Wu::after { color: var(--bng-orange); right: 14px; }

.bng-item__img,
html body .SorteioTpl_sorteioTpl__2s2Wu:not(.SorteioTpl_destaque__3vnWR) .SorteioTpl_imagemContainer__2-pl4 {
  position: relative; flex-shrink: 0; width: 84px; height: 84px; margin: 0; overflow: hidden;
  border: 1px solid var(--bng-line-orange); border-radius: 0; background: var(--bng-gray);
}
.bng-item__img img { width: 100%; height: 100%; object-fit: cover; }
html body .SorteioTpl_sorteioTpl__2s2Wu .SorteioTpl_imagem__2GXxI { object-fit: cover; border-radius: 0; }
.bng-item__info { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.bng-item__info b,
html body .SorteioTpl_sorteioTpl__2s2Wu:not(.SorteioTpl_destaque__3vnWR) .SorteioTpl_title__3RLtu {
  font-size: .98rem; font-weight: 800; letter-spacing: -.2px; line-height: 1.25; color: var(--bng-white);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.bng-item__info small,
html body .SorteioTpl_sorteioTpl__2s2Wu .SorteioTpl_descricao__1b7iL {
  font-size: .78rem; font-weight: 400; color: var(--bng-text-3);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.bng-item__info .badge,
html body .SorteioTpl_info__t1BZr .badge { margin-top: 6px; }

/* Suporte */
.bng-help {
  display: flex; align-items: center; gap: 16px; padding: 18px 20px; margin: 28px 0 8px;
  border: 1px dashed rgba(232,178,58,.32); background: rgba(232,178,58,.04);
  transition: border-color .3s, background .3s;
}
.bng-help:hover { border-color: rgba(232,178,58,.6); background: rgba(232,178,58,.07); }
.bng-help__icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(232,178,58,.45); border-radius: 50%; color: var(--bng-gold); font-size: 1.15rem; flex-shrink: 0; }
.bng-help b { display: block; font-size: .8rem; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; color: var(--bng-white); }
.bng-help span { font-size: .84rem; color: var(--bng-text-2); }
.bng-help .bng-arrow { margin-left: auto; color: var(--bng-gold); }
.bng-help:hover .bng-arrow { transform: translateX(5px); }

.bng-empty {
  padding: 36px 24px; text-align: center; border: 1px dashed var(--bng-line-2); color: var(--bng-text-2); font-size: .92rem;
}

/* Ganhadores (home + /ganhadores) */
.bng-winners { display: flex; flex-direction: column; gap: 10px; }
.bng-winner,
html body .ganhadorItem_ganhadorContainer__1Sbxm {
  display: flex; align-items: center; justify-content: flex-start; gap: 14px; padding: 12px;
  background: var(--bng-card); border: 1px solid var(--bng-line); border-left: 3px solid var(--bng-gold);
  border-radius: 0; box-shadow: none; color: var(--bng-white);
  transition: border-color .35s, transform .35s var(--bng-ease), background .35s;
}
.bng-winner:hover,
html body a:hover > .ganhadorItem_ganhadorContainer__1Sbxm { border-color: rgba(232,178,58,.45); border-left-color: var(--bng-gold); background: rgba(232,178,58,.05); transform: translateY(-3px); }
.bng-winner__photo,
html body .ganhadorItem_ganhadorContainer__1Sbxm .ganhadorItem_ganhadorFoto__324kH {
  position: relative; width: 72px; height: 72px; min-width: 72px; max-width: 72px; margin: 0; flex-shrink: 0; overflow: hidden;
  border: 1px solid rgba(232,178,58,.3); border-radius: 0; background: var(--bng-gray);
}
.bng-winner__photo img { width: 100%; height: 100%; object-fit: cover; }
.bng-winner__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bng-winner__info small { font-size: .58rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--bng-gold); }
.bng-winner__info b,
html body .ganhadorItem_ganhadorContainer__1Sbxm .ganhadorItem_ganhadorNome__2j_J- {
  font-size: .95rem; font-weight: 800; text-transform: uppercase; color: var(--bng-white); margin: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bng-winner__meta,
html body .ganhadorItem_ganhadorContainer__1Sbxm .ganhadorItem_ganhadorDescricao__Z4kO2 {
  font-size: .76rem; color: var(--bng-text-2); opacity: 1; line-height: 1.55;
}
.bng-winner__meta b,
html body .ganhadorItem_ganhadorDescricao__Z4kO2 b { color: var(--bng-gold-light); font-weight: 700; }

/* Perguntas frequentes */
.bng-faq { display: flex; flex-direction: column; gap: 10px; }
.bng-faq__item { background: var(--bng-card-orange); border: 1px solid rgba(255,106,0,.13); transition: border-color .35s, background .35s; }
.bng-faq__item:hover { border-color: rgba(255,106,0,.4); background: rgba(255,106,0,.07); }
.bng-faq__q {
  display: flex; align-items: center; gap: 14px; padding: 17px 18px; cursor: pointer;
  font-size: .92rem; font-weight: 700; line-height: 1.4; color: var(--bng-white);
}
.bng-faq__q i { color: var(--bng-orange); font-size: 1rem; transition: transform .3s; flex-shrink: 0; }
.bng-faq__q:not(.collapsed) i { transform: rotate(90deg); }
.bng-faq__a p { margin: 0; padding: 0 18px 18px 48px; font-size: .88rem; font-weight: 300; line-height: 1.75; color: var(--bng-text-2); }

/* =========================================================
   PÁGINA DA CAMPANHA
   ========================================================= */
/* Capa com carrossel */
html body .SorteioTpl_sorteioTpl__2s2Wu.SorteioTpl_destaque__3vnWR {
  padding: 0; background: var(--bng-card); border: 1px solid var(--bng-line-orange); border-radius: 0;
  box-shadow: 0 30px 70px rgba(0,0,0,.55); overflow: hidden;
}
html body .custom-highlight-card::before {
  background: linear-gradient(180deg, rgba(10,10,10,0) 30%, rgba(10,10,10,.55) 62%, rgba(10,10,10,.97) 100%);
  pointer-events: none;
}
html body .SorteioTpl_destaque__3vnWR .SorteioTpl_imagemContainer__2-pl4 { width: 100%; height: auto; margin: 0; border-radius: 0; }
html body .SorteioTpl_destaque__3vnWR .SorteioTpl_imagem__2GXxI,
html body .custom-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
/* Selo de status no canto superior (o PHP fixa "bottom" inline) */
html body .campanha-header .custom-badge-display {
  top: 16px !important; left: 16px !important; right: auto !important;
  align-items: flex-start !important; pointer-events: none;
}
html body .custom-content-wrapper { padding: 20px !important; }
html body .custom-content-wrapper h1,
html body .custom-content-wrapper .SorteioTpl_title__3RLtu {
  font-size: clamp(1.3rem, 4.6vw, 1.85rem); font-weight: 900; line-height: 1.08; letter-spacing: -.6px;
  text-transform: uppercase; color: #fff !important; margin-bottom: 8px !important;
  display: -webkit-box; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical; overflow: hidden;
}
html body .custom-content-wrapper p,
html body .custom-content-wrapper .SorteioTpl_descricao__1b7iL { color: rgba(245,240,232,.72) !important; font-size: .88rem; -webkit-line-clamp: 2; }
html body .custom-content-wrapper-details { padding: 0 !important; }
html body .custom-content-wrapper-details h1,
html body .custom-content-wrapper-details p { padding: 0 20px; }
html body .custom-content-wrapper-details .btn {
  margin-top: 16px; padding: 13px 16px;
  background: rgba(10,10,10,.72) !important; border: 0 !important; border-top: 1px solid rgba(255,106,0,.35) !important;
  color: var(--bng-orange-light) !important; box-shadow: none;
  font-size: .74rem; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
html body .custom-content-wrapper-details .btn:hover { background: var(--bng-orange) !important; color: #fff !important; filter: none; }
html body .carousel-control-prev,
html body .carousel-control-next { opacity: .75; }
html body .carousel-dark .carousel-control-prev-icon,
html body .carousel-dark .carousel-control-next-icon { filter: drop-shadow(0 2px 6px rgba(0,0,0,.6)); }
html body .carousel-dark .carousel-indicators [data-bs-target] { background-color: #fff; }

/* Progresso da campanha */
html body .campanha-buscas { margin-top: 16px !important; }
html body .campanha-buscas .progress { height: 22px; font-size: .68rem; }

/* "Campanha dd/mm · por apenas R$" */
html body .porApenas { gap: 10px; flex-wrap: wrap; margin: 16px 0 !important; }
html body .porApenas .item {
  margin: 0 !important; gap: 8px; font-size: .66rem !important; font-weight: 700;
  letter-spacing: 1.6px; text-transform: uppercase; color: var(--bng-text-3);
}
html body .porApenas .item .ms-2 { margin-left: 0 !important; }
html body .porApenas .tag.btn {
  cursor: default; border-radius: 0 !important; box-shadow: none; padding: 7px 12px;
  font-size: .8rem; letter-spacing: .4px; text-transform: none; color: var(--bng-white);
}
html body .porApenas .tag.bg-white { background: rgba(255,255,255,.04) !important; border: 1px solid var(--bng-line-2); }
html body .porApenas .tag.bg-cor-primaria { background: var(--bng-orange) !important; border: 0; color: #fff !important; font-size: 1.05rem; font-weight: 900; padding: 7px 14px; }

/* Promoções */
html body .app-promocao-numeros .card-body { padding: 14px 12px 6px; }
html body .app-promocao-numeros .btn-success {
  background: rgba(232,178,58,.07) !important; border: 1px solid rgba(232,178,58,.42) !important;
  color: var(--bng-gold-light) !important; box-shadow: none; padding: 8px 12px !important;
  font-size: .78rem !important; letter-spacing: .2px;
}
html body .app-promocao-numeros .btn-success:hover { background: var(--bng-gold) !important; color: #0a0a0a !important; filter: none; box-shadow: 0 10px 26px rgba(232,178,58,.25); }

/* Seleção rápida de quantidade */
html body .vendasExpressNumsSelect.v2 { gap: 0; row-gap: 0; }
html body .vendasExpressNumsSelect.v2 .item { width: 32.3%; }
html body .vendasExpressNumsSelect.v2 .item .item-content {
  background: var(--bng-card); border: 1px solid var(--bng-line-orange); border-radius: 0;
  color: var(--bng-white); min-height: 92px; position: relative;
  transition: transform .3s var(--bng-ease), border-color .3s, background .3s;
}
html body .vendasExpressNumsSelect.v2 .item:hover .item-content { border-color: var(--bng-orange); background: rgba(255,106,0,.08); transform: translateY(-3px); }
html body .vendasExpressNumsSelect.v2 .item:active .item-content { transform: scale(.97); }
html body .vendasExpressNumsSelect.v2 .item .item-content h3,
html body .vendasExpressNumsSelect.v2 .item .item-content .h3 {
  color: var(--bng-white); font-size: 1.75em; font-weight: 900; letter-spacing: -.5px; line-height: 1;
}
html body .vendasExpressNumsSelect .item-content-plus { color: var(--bng-orange); font-weight: 800; margin-right: 1px; }
html body .vendasExpressNumsSelect .item-content-txt {
  color: var(--bng-orange-light) !important; font-size: .6rem !important; font-weight: 700; letter-spacing: 2px; margin-top: 6px !important;
}
html body .vendasExpressNumsSelect.v2 .item.mais-popular .item-content {
  background: linear-gradient(135deg, var(--bng-orange), var(--bng-orange-deep)); border: 1px solid var(--bng-orange);
  box-shadow: 0 12px 30px rgba(255,106,0,.28);
}
html body .vendasExpressNumsSelect.v2 .item.mais-popular .item-content-plus,
html body .vendasExpressNumsSelect.v2 .item.mais-popular .item-content-txt { color: #fff !important; }
html body .vendasExpressNumsSelect .item.mais-popular::before {
  content: "Mais popular"; top: -9px; left: 50%; transform: translateX(-50%); width: auto; padding: 4px 9px; white-space: nowrap;
  background: var(--bng-gold); color: #0a0a0a; border-radius: 0;
  font-size: .52rem; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase;
}

/* Quantidade (− / +) */
html body .vendasExpressNums { border: 1px solid var(--bng-line-orange) !important; }
html body .vendasExpressNums .card-body { padding: 4px 6px !important; }
html body .vendasExpressNums .numeroChange { color: var(--bng-orange); font-size: 1.25em; padding: 8px 10px; transition: color .2s, transform .2s; }
html body .vendasExpressNums .numeroChange:hover { color: var(--bng-gold); transform: scale(1.1); }
html body .vendasExpressNums input.qty {
  background: transparent; border: 0; box-shadow: none; color: var(--bng-white);
  font-size: 1.35rem; font-weight: 900; font-variant-numeric: tabular-nums; padding: 6px 4px;
}

/* Botão "Participar" (logado ou não) */
html body .app-vendas-express .btn-success.app-card {
  padding: 12px 16px; justify-content: center;
  background: linear-gradient(135deg, var(--bng-orange), var(--bng-orange-deep)) !important;
  border: 0 !important; box-shadow: 0 10px 30px rgba(255,106,0,.3);
}
html body .app-vendas-express .btn-success.app-card:hover { transform: translateY(-2px); }
html body .app-vendas-express .btn-success.app-card .me-4 {
  background: rgba(10,10,10,.22) !important; border-radius: 0 !important; margin-right: 14px !important;
}
html body .app-vendas-express .btn-success.app-card .me-4 i { color: #fff !important; }
html body .app-vendas-express .btn-success.app-card .col span:first-child {
  font-size: .9rem; font-weight: 900; letter-spacing: 1.6px; text-transform: uppercase;
}
html body .app-vendas-express #total { opacity: .92 !important; font-size: .78rem !important; font-weight: 600; letter-spacing: .3px; }

/* Ganhadores da campanha */
html body .app-main .app-card.bg-success {
  background: rgba(232,178,58,.07) !important; border: 1px solid rgba(232,178,58,.3); border-left: 3px solid var(--bng-gold);
}
html body .app-main .app-card.bg-success h5 { font-size: .95rem; font-weight: 800; letter-spacing: .3px; }
html body .app-main .app-card.bg-success .text-white-50 { color: var(--bng-gold-light) !important; }

/* Descrição */
html body .sorteio_sorteioDesc__TBYaL .sorteio_sorteioDescBody__3n4ko {
  max-height: 220px; font-size: .9rem; font-weight: 300; line-height: 1.75; color: rgba(245,240,232,.75);
}
html body .sorteio_sorteioDescBody__3n4ko a { color: var(--bng-orange-light); border-bottom: 1px solid rgba(255,106,0,.4); }
html body .sorteio_sorteioDescBody__3n4ko strong,
html body .sorteio_sorteioDescBody__3n4ko b { color: var(--bng-white); font-weight: 700; }

/* Ranking */
html body .top-compradores { padding: 8px !important; background: var(--bng-card); border: 1px solid var(--bng-line) !important; border-radius: 0 !important; }
html body .top-compradores .customer-details {
  border: 1px solid var(--bng-line-orange) !important; border-radius: 0 !important; background: var(--bng-card-orange);
  padding: 14px 8px !important; font-size: .82rem; letter-spacing: .5px;
}
html body .top-compradores .customer-details p { color: var(--bng-gold); font-weight: 800; letter-spacing: 1.5px; margin-top: 4px; }

/* Maior e menor cota */
html body .app-main .bottom-container {
  background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; gap: 10px !important;
}
html body .app-main .bottom-container .maior,
html body .app-main .bottom-container .menor {
  background: var(--bng-card-orange) !important; border: 1px solid var(--bng-line-orange); border-radius: 0 !important;
  padding: 18px 12px !important; text-align: center;
}
html body .app-main .bottom-container h4 {
  text-shadow: none !important; font-size: .66rem !important; font-weight: 800 !important; letter-spacing: 2.5px;
  color: var(--bng-orange) !important; margin-bottom: 10px !important;
}
html body .app-main .bottom-container .lessons__category {
  color: var(--bng-white) !important; font-size: 1.15rem !important; font-weight: 900; margin-bottom: 8px;
  font-variant-numeric: tabular-nums; text-transform: none;
}
html body .app-main .bottom-container span { color: var(--bng-text-2) !important; text-align: center; }

/* Cotas premiadas (HTML gerado em class/Main.php → load_cotas) */
html body .app-main h5.jQlWTy,
html body .modal h5.jQlWTy {
  font-size: clamp(1.25rem, 3.8vw, 1.6rem) !important; font-weight: 900 !important; text-transform: uppercase;
  letter-spacing: -.5px; color: var(--bng-white) !important;
}
html body .app-promocao-numeros .byugCZ span { color: var(--bng-orange); font-size: .66rem !important; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; opacity: 1 !important; }
html body #cotas-container,
html body .cotas_modal { padding: 0 !important; margin-top: 12px; }
html body .sc-3f9a15f1-7 {
  background: var(--bng-card) !important; border: 1px solid var(--bng-line); border-radius: 0 !important;
  padding: 8px !important; margin-bottom: 6px !important;
}
html body .sc-3f9a15f1-7.disponivel { border-color: var(--bng-line-orange); }
html body .sc-3f9a15f1-7 .new_gradient_anime {
  border-radius: 0 !important; font-weight: 800 !important; font-variant-numeric: tabular-nums;
  color: #fff !important; background-image: linear-gradient(135deg, var(--bng-orange), var(--bng-orange-deep)) !important;
}
html body .sc-3f9a15f1-7 .new_gradient_anime.Ouro { background-image: linear-gradient(135deg, var(--bng-gold-light), var(--bng-gold)) !important; color: #0a0a0a !important; }
html body .sc-3f9a15f1-7 .new_gradient_anime.Coringa { background-image: linear-gradient(135deg, var(--bng-orange-deep), var(--bng-red)) !important; }
html body .sc-3f9a15f1-7.reservada .new_gradient_anime {
  background-image: none !important; background-color: rgba(255,255,255,.07) !important; color: var(--bng-text-3) !important;
  text-decoration: line-through;
}
html body .sc-3f9a15f1-7 .prize { color: var(--bng-white) !important; font-size: .85rem; }
html body .sc-3f9a15f1-7.disponivel span:last-child { color: var(--bng-green) !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: 1.4px; text-transform: uppercase; }
html body .sc-3f9a15f1-7.reservada span:last-child { color: var(--bng-gold) !important; font-weight: 700; }
html body #cotas-container .hr { background-image: none; height: 0; margin: 0; }
html body #cotas-container .skeleton { background-color: var(--bng-gray); border-radius: 0; height: 40px; margin: 0 0 6px; width: 100%; }
html body #modal-cotas .modal-content { background-color: var(--bng-black-soft) !important; }
@media (min-width: 768px) {
  html body .modal-dialog.cotas { max-width: 560px; }
}

/* Afiliados */
html body .app-main section.bg-app-primary-latte {
  background: var(--bng-card-orange) !important; border: 1px solid var(--bng-line-orange); border-radius: 0 !important;
}
html body .app-main section.bg-app-primary-latte p:first-child { font-size: 1.05rem; font-weight: 900; text-transform: uppercase; letter-spacing: -.2px; }
html body .app-main section.bg-app-primary-latte p + p { color: var(--bng-gold) !important; letter-spacing: 1.2px; text-transform: uppercase; }
html body .app-main section.bg-app-primary-latte [data-bs-toggle],
html body #modal-afiliado [data-bs-toggle] {
  background: linear-gradient(135deg, var(--bng-orange), var(--bng-orange-deep)) !important; border: 0 !important; border-radius: 0 !important;
  color: #fff !important; padding: 12px 22px !important; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; font-size: .76rem;
}
html body .congrats__title { color: var(--bng-white); font-weight: 900; text-transform: uppercase; letter-spacing: -.5px; }
html body .congrats__content { color: var(--bng-text-2); }
html body .share__input { background: var(--bng-input); border: 1px solid var(--bng-line-2); border-radius: 0; color: var(--bng-gold-light); }
html body .share__copy .icon { fill: var(--bng-orange); color: var(--bng-orange); }

/* Botões flutuantes (grupo, suporte, compartilhar) */
html body .sorteio_sorteioShare__247_t { gap: 6px; }
html body .sorteio_sorteioShare__247_t .btn {
  background: rgba(10,10,10,.88) !important; border: 1px solid var(--bng-line-orange) !important; color: var(--bng-white) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.5); font-size: .66rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); padding: 8px 12px;
}
html body .sorteio_sorteioShare__247_t .btn i { color: var(--bng-orange); margin-right: 2px; }
html body .sorteio_sorteioShare__247_t .btn:hover { border-color: var(--bng-orange) !important; filter: none; }
html body .sorteio_sorteioShareLinkFacebook__2McKU,
html body .sorteio_sorteioShareLinkTelegram__3a2_s,
html body .sorteio_sorteioShareLinkTwitter__1E4XC,
html body .sorteio_sorteioShareLinkWhatsApp__2Vqhy {
  background: rgba(10,10,10,.88); border: 1px solid var(--bng-line-orange); border-radius: 0; color: var(--bng-white);
}
html body .sorteio_sorteioShareLinkFacebook__2McKU:hover,
html body .sorteio_sorteioShareLinkTelegram__3a2_s:hover,
html body .sorteio_sorteioShareLinkTwitter__1E4XC:hover,
html body .sorteio_sorteioShareLinkWhatsApp__2Vqhy:hover { background: var(--bng-orange); opacity: 1; }

/* Overlay "gerando pedido" */
html body #overlay { background: rgba(10,10,10,.9); }
html body #overlay .spinner { border: 3px solid rgba(245,240,232,.12); border-top-color: var(--bng-orange) !important; }
html body #overlay .text-center { font-size: .78rem; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }

/* Checkout */
html body #modal-checkout .card { background: var(--bng-card-orange); border-color: var(--bng-line-orange); }
html body #modal-checkout .rounded-pill.bg-white { background: var(--bng-gray) !important; }
html body #modal-checkout #place_order { padding: 15px 24px; font-size: .82rem; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; }
html body #modal-checkout .btn-link a { color: var(--bng-text-3); font-size: .78rem; }
html body #modal-checkout .btn-link a:hover { color: var(--bng-orange-light); }

/* Grade de números (campanhas "números" e "fazendinha") */
html body .campanha-seletor > .d-flex { gap: 8px; }
html body .campanha-seletor .seletor-item { border: 1px solid var(--bng-line-2); cursor: pointer; transition: border-color .3s; flex: 1; }
html body .campanha-seletor .seletor-item:hover { border-color: var(--bng-orange); }
html body .campanha-seletor .nome { background: var(--bng-card) !important; color: var(--bng-text-2) !important; font-size: .66rem; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; flex: 1; }
html body .campanha-seletor .num { font-weight: 900; font-variant-numeric: tabular-nums; min-width: 44px; text-align: center; }
html body .campanha-seletor .num.bg-cota { background: var(--bng-orange) !important; color: #fff !important; }
html body .campanha-seletor .num.bg-info { background: rgba(232,178,58,.18) !important; color: var(--bng-gold) !important; }
html body .campanha-seletor .num.bg-success { background: rgba(245,240,232,.08) !important; color: var(--bng-text-2) !important; }

html body .numeros-list .numero-template {
  border-radius: 0; font-weight: 700; font-variant-numeric: tabular-nums; font-size: .85rem;
  color: var(--bng-white); transition: background-color .2s, box-shadow .2s, transform .2s;
}
html body .numeros-list .numero-template.bg-cota { background-color: var(--bng-card) !important; box-shadow: inset 0 0 0 1px var(--bng-line-orange); }
html body .numeros-list .numero-template.bg-cota:hover { box-shadow: inset 0 0 0 1px var(--bng-orange); color: var(--bng-orange-light); }
html body .numeros-list .numero-template.numero-template-selected,
html body .cotas-checkout .numero-template {
  background-color: var(--bng-orange) !important; color: #fff !important; box-shadow: inset 0 0 0 2px var(--bng-gold-light);
}
html body .numeros-list .numero-template.bg-info { background-color: rgba(232,178,58,.14) !important; color: var(--bng-gold) !important; cursor: not-allowed; }
html body .numeros-list .numero-template.bg-success { background-color: rgba(255,255,255,.035) !important; color: var(--bng-text-3) !important; text-decoration: line-through; cursor: not-allowed; }
/* Fazendinha: bichos são imagem de fundo → estado vai por overlay/borda */
html body .numeros-list .blur { background: rgba(10,10,10,.62) !important; color: var(--bng-white) !important; border-radius: 0; font-weight: 700; }
html body .numeros-list .numero-template-selected .blur,
html body .cotas-checkout .blur { background: rgba(255,106,0,.5) !important; }

html body .sorteio-numeros-selecionados {
  background: rgba(17,17,17,.96) !important; color: var(--bng-white) !important;
  border: 1px solid var(--bng-line-orange); border-top: 2px solid var(--bng-orange); border-radius: 0 !important;
  box-shadow: 0 -10px 40px rgba(0,0,0,.6) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
html body .sorteio-numeros-selecionados .btn-success { font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; font-size: .82rem; }
html body .loading,
html body .loading-message:not(:empty) { background: rgba(232,178,58,.06); border: 1px dashed rgba(232,178,58,.35); color: var(--bng-gold-light); border-radius: 0; }

/* =========================================================
   PEDIDO / PAGAMENTO (/compra/...)
   ========================================================= */
html body .app-alerta-msg {
  justify-content: flex-start !important; gap: 16px; padding: 18px 20px; text-align: left;
  border: 1px solid var(--bng-line-orange); background: var(--bng-card-orange);
}
html body .app-alerta-msg .app-alerta-msg--icone { font-size: 2.3rem; line-height: 1; }
html body .app-alerta-msg .app-alerta-msg--txt { margin-left: 0 !important; }
html body .app-alerta-msg .app-alerta-msg--titulo { font-size: 1.15rem; font-weight: 900; text-transform: uppercase; letter-spacing: -.2px; margin: 0 0 2px; }
html body .app-alerta-msg .app-alerta-msg--txt p { color: var(--bng-text-2); font-size: .86rem; }
html body .compra-status hr { margin: 18px 0 !important; }

html body .pagamento-rapido .app-card { border-color: var(--bng-line-orange); border-bottom: 0 !important; }
html body .pagamento-rapido--progress small { font-size: .66rem; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--bng-text-3); }
html body #tempo-restante { font-size: 1.45rem; font-weight: 900; color: var(--bng-gold); font-variant-numeric: tabular-nums; }
html body .pagamento-rapido .progress { height: 6px; }
html body .compra-pagamento .app-card.rounded-bottom { border-color: var(--bng-line-orange); }
html body .compra-pagamento .badge {
  width: 22px; height: 22px; padding: 0; justify-content: center; margin-right: 8px;
  background: var(--bng-orange) !important; border: 0; color: #fff; font-size: .72rem; letter-spacing: 0;
}
html body .compra-pagamento .font-xs { color: var(--bng-text-2); }
html body #pixCopiaCola { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; color: var(--bng-gold-light); }
html body .compra-pagamento div[style*="bg-btn-qr"] { background-image: none !important; }
html body .btn-qr {
  width: 100%; height: auto; padding: 14px 18px; cursor: pointer;
  background: transparent; background-image: none; border: 1px solid rgba(232,178,58,.45); border-radius: 0;
  color: var(--bng-gold); font-family: var(--bng-ff-sans); font-size: .76rem; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase;
  transition: background .3s, border-color .3s;
}
html body .btn-qr:hover { background: rgba(232,178,58,.08); border-color: var(--bng-gold); }
html body #exibeqr h5 { font-size: .8rem; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; color: var(--bng-orange); }
html body #exibeqr .font-xss { color: var(--bng-text-2); line-height: 1.6; }
html body #img-qrcode {
  background: #fff !important; padding: 10px; border-radius: 0 !important;
  box-shadow: 0 0 0 1px rgba(232,178,58,.45), 0 20px 50px rgba(0,0,0,.5);
}
@media (max-width: 520px) {
  html body #exibeqr .col-6 { width: 100%; }
}

/* Detalhes da compra (o style.css original força fundo branco com !important) */
html body .app-main .detalhes-compra .app-card,
html body .app-main .detalhes-compra .app-card.detalhes {
  background-color: var(--bng-card) !important; color: var(--bng-white) !important; opacity: 1 !important;
  border: 1px solid var(--bng-line);
}
html body .detalhes-compra .compra-sorteio { margin-bottom: 14px !important; }
html body .detalhes .card-body > .font-xs:first-child { font-size: .66rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--bng-orange); opacity: 1 !important; padding-bottom: 10px; }
html body .detalhes .card-body > .font-xs:first-child .opacity-50 { color: var(--bng-text-3); letter-spacing: .5px; text-transform: none; font-weight: 500; }
html body .detalhes .item.d-flex { justify-content: space-between; padding: 10px 0 !important; margin: 0 !important; border-bottom: 1px solid var(--bng-line); }
html body .detalhes .item .title { font-size: .68rem; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--bng-text-3) !important; }
html body .detalhes .item .title i { color: var(--bng-orange); margin-right: 4px; }
html body .detalhes .item .result { color: var(--bng-white) !important; font-weight: 600; text-align: right; }
html body .detalhes .item.container { padding: 12px 0 0 !important; }

/* Cards de premiação instantânea (classes adicionadas em view_order.php) */
html body .app-main .detalhes-compra .app-card.app-card-winner {
  padding: 6px !important; margin-block: 12px !important; text-align: center !important; position: relative; overflow: hidden;
}
html body .app-main .detalhes-compra .app-card.bng-prize--win {
  background: linear-gradient(160deg, rgba(232,178,58,.16), rgba(255,106,0,.06) 55%, var(--bng-card)) !important;
  border: 1px solid rgba(232,178,58,.5) !important;
}
html body .app-main .detalhes-compra .app-card.bng-prize--lose { background-color: var(--bng-card) !important; border: 1px solid var(--bng-line-2) !important; }
html body .bng-prize__title { display: block; font-size: 1.5rem; font-weight: 900; text-transform: uppercase; letter-spacing: -.5px; margin-bottom: 6px; }
html body .bng-prize--win .bng-prize__title { color: var(--bng-gold); }
html body .bng-prize--lose .bng-prize__title { color: var(--bng-text-2); }
html body .app-main .detalhes-compra .app-card-winner .font-xs,
html body .app-main .detalhes-compra .app-card-winner .card-body .font-xs .font-xs:nth-child(n) {
  color: var(--bng-text-2) !important; font-size: .86rem !important; font-weight: 400 !important; opacity: 1 !important;
  margin-block: 0 !important; padding-inline: 0 !important;
}
html body .app-main .detalhes-compra .app-card-winner strong { color: var(--bng-white); }
html body .bng-prize__list { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 16px 0; }
html body .bng-prize__row { display: flex; align-items: center; gap: 12px; max-width: 100%; overflow: hidden; }
html body .bng-prize__num {
  background: var(--bng-orange); color: #fff; padding: 7px 10px; min-width: 40px; text-align: center;
  font-size: .95rem; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums;
}
html body .bng-prize__name { color: var(--bng-gold-light); font-size: .88rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body .app-main .detalhes-compra .app-card-winner .bng-prize__note { color: var(--bng-gold-light) !important; font-weight: 500 !important; }
html body #wpp_btn {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 10px 16px;
  background: var(--bng-green); color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase;
}
html body .confetti-piece { border-radius: 0; }

/* =========================================================
   MINHAS COMPRAS / MEUS NÚMEROS
   ========================================================= */
html body .app-card.border-2 { border-width: 1px !important; }
html body .app-card.border-warning { border-color: var(--bng-line) !important; border-bottom: 2px solid var(--bng-gold) !important; }
html body .app-card.border-success { border-color: var(--bng-line) !important; border-bottom: 2px solid var(--bng-green) !important; }
html body .app-card.border-danger  { border-color: var(--bng-line) !important; border-bottom: 2px solid var(--bng-red) !important; }
html body .compra-title { font-size: .92rem; font-weight: 800; letter-spacing: -.1px; color: var(--bng-white); }
html body .compra-data { color: var(--bng-text-3); opacity: 1 !important; letter-spacing: 1px; }
html body .compra-cotas { color: var(--bng-text-2); }
html body .app-card .col-auto > .rounded-pill.overflow-hidden { border-radius: 0 !important; border: 1px solid var(--bng-line-orange); }
html body .drope-tab,
html body .drope-tab * { font-family: var(--bng-ff-sans); }
html body .drope-tab label {
  display: inline-flex; align-items: center; gap: 8px; width: auto;
  font-size: .68rem; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; color: var(--bng-orange-light);
}
html body .drope-tab label::after { position: static; font-size: .55rem; }

/* =========================================================
   PÁGINAS DE CONTEÚDO (termos, contato, cadastro)
   ========================================================= */
html body .app-main p { line-height: 1.7; }
html body .app-form .app-card .card-body { padding: 20px; }
html body .app-main .btn-wide { padding: 14px 28px; font-size: .8rem; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; }
html body .bng-404 { text-align: center; padding: 72px 20px; }
html body .bng-404 b { display: block; font-size: clamp(4rem, 18vw, 7rem); font-weight: 900; line-height: 1; letter-spacing: -4px; color: transparent; -webkit-text-stroke: 1.5px var(--bng-orange); }
html body .bng-404 h1 { font-size: 1.4rem; font-weight: 900; text-transform: uppercase; margin: 14px 0 10px; }
html body .bng-404 p { color: var(--bng-text-2); margin-bottom: 26px; }
html body .bng-404 .bng-btn { display: inline-flex; }

/* =========================================================
   RODAPÉ
   ========================================================= */
.bng-footer {
  background: var(--bng-black-soft); border-top: 1px solid var(--bng-line-orange);
  padding: 64px 32px 28px; margin-top: 48px; color: var(--bng-white);
}
.bng-footer__grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 48px; }
html body .bng-footer__brand img { height: 20px; width: auto; max-width: 220px; margin-bottom: 18px; }
.bng-footer__brand p { font-size: .86rem; font-weight: 300; line-height: 1.8; color: rgba(245,240,232,.45); max-width: 360px; margin: 0; }
.bng-footer__stripes {
  margin-top: 22px; height: 26px; width: 140px; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='26' viewBox='0 0 140 26'%3E%3Cg fill='%23FF6A00'%3E%3Crect x='0' y='2' width='5' height='22' rx='2.5'/%3E%3Crect x='14' y='6' width='5' height='14' rx='2.5'/%3E%3Crect x='28' y='0' width='5' height='26' rx='2.5'/%3E%3Crect x='42' y='5' width='5' height='16' rx='2.5'/%3E%3Crect x='56' y='2' width='5' height='22' rx='2.5'/%3E%3Crect x='70' y='8' width='5' height='10' rx='2.5'/%3E%3Crect x='84' y='1' width='5' height='24' rx='2.5'/%3E%3Crect x='98' y='6' width='5' height='14' rx='2.5'/%3E%3Crect x='112' y='3' width='5' height='20' rx='2.5'/%3E%3Crect x='126' y='9' width='5' height='8' rx='2.5'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
html body .bng-footer__col h4 { font-size: .7rem; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; color: var(--bng-orange); margin: 0 0 18px; }
.bng-footer__col > a { display: block; font-size: .86rem; color: rgba(245,240,232,.48); margin-bottom: 11px; transition: color .3s, padding-left .3s; }
.bng-footer__col > a:hover { color: var(--bng-orange); padding-left: 5px; }
.bng-social { display: flex; flex-wrap: wrap; gap: 10px; }
.bng-social a {
  width: 42px; height: 42px; display: grid; place-items: center;
  border: 1px solid var(--bng-line-2); color: var(--bng-white); transition: border-color .3s, color .3s, transform .3s;
}
.bng-social a svg { width: 18px; height: 18px; }
.bng-social a:hover { border-color: var(--bng-orange); color: var(--bng-orange); transform: translateY(-3px); }
.bng-social a.is-instagram:hover { color: #E1306C; border-color: #E1306C; }
.bng-social a.is-whatsapp:hover { color: var(--bng-green); border-color: var(--bng-green); }
.bng-social a.is-youtube:hover { color: #FF0033; border-color: #FF0033; }

.bng-footer__bottom {
  max-width: 1200px; margin: 48px auto 0; padding-top: 22px; border-top: 1px solid rgba(245,240,232,.07);
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap;
  font-size: .76rem; line-height: 1.7; color: rgba(245,240,232,.34);
}
.bng-footer__legal { max-width: 760px; }
.bng-footer__legal a { color: var(--bng-gold); }
.bng-footer__license { white-space: nowrap; font-size: .7rem; }
.bng-footer__license a { color: rgba(245,240,232,.45); }
.bng-footer__license a:hover { color: var(--bng-gold); }

@media (max-width: 860px) {
  .bng-footer { padding: 52px 20px 28px; }
  .bng-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .bng-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .bng-footer__grid { grid-template-columns: 1fr; }
  .bng-footer__bottom { flex-direction: column; }
}

/* =========================================================
   ACESSIBILIDADE
   ========================================================= */
html body a:focus-visible,
html body button:focus-visible { outline: 2px solid var(--bng-orange); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;
  }
}
