/* ==========================================================================
   BMC 2.0 — Design System compartilhado
   Carregar DEPOIS de qualquer CSS legado. Só visual: nenhuma regra de negócio.
   As cores de marca vêm da edição ativa (tblEstrutura) via --cor-principal /
   --cor-secundaria, emitidas por tbl_estrutura_emit_css_root_colors().
   ========================================================================== */

:root{
  /* Marca (dinâmica por edição) */
  --c1: var(--cor-principal, #870202);
  --c2: var(--cor-secundaria, #fc4609);
  --c1-d:  color-mix(in srgb, var(--c1) 80%, #000);
  --c1-dd: color-mix(in srgb, var(--c1) 38%, #07090d);
  --c1-t:  color-mix(in srgb, var(--c1) 7%, #fff);
  --c1-t2: color-mix(in srgb, var(--c1) 14%, #fff);
  --c2-d:  color-mix(in srgb, var(--c2) 82%, #000);
  --c2-t:  color-mix(in srgb, var(--c2) 12%, #fff);
  --c1-rgb: var(--cor-principal-rgb, 135, 2, 2);
  --c2-rgb: var(--cor-secundaria-rgb, 252, 70, 9);

  /* Neutros */
  --ink:   #11141b;
  --ink-2: #3a4150;
  --mute:  #6a7180;
  --hair:  #e7e3dc;
  --hair-2:#f0ede7;
  --paper: #f6f4ef;
  --card:  #ffffff;
  --night: #0b0d12;

  /* Semânticas */
  --live:  #16a34a;
  --done:  #2563eb;
  --warn:  #d97706;
  --bad:   #dc2626;

  /* Forma */
  --r-xs: 8px;
  --r-sm: 12px;
  --r:    18px;
  --r-lg: 26px;
  --sh-1: 0 1px 2px rgba(17,20,27,.05), 0 2px 8px rgba(17,20,27,.04);
  --sh-2: 0 2px 4px rgba(17,20,27,.04), 0 10px 30px rgba(17,20,27,.08);
  --sh-3: 0 4px 10px rgba(17,20,27,.06), 0 22px 60px rgba(17,20,27,.14);

  /* Tipografia */
  --f-display: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', sans-serif;
  --f-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Aliases para o CSS legado (mantém coerência onde ele ainda é carregado) */
  --brand: var(--c1);
  --bg: var(--paper);
  --bg-page: var(--paper);
  --line: var(--hair);
  --muted: var(--mute);
  --shadow: var(--sh-2);
  --grad-a: var(--c1);
  --grad-b: var(--c1-d);
}

/* ---------- Base ---------- */
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection{ background: var(--c2); color:#fff; }
h1,h2,h3,h4,h5,h6{
  font-family: var(--f-display);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.1;
  color: var(--ink);
}
a{ color: var(--c1); text-decoration: none; }
a:hover{ color: var(--c2-d); }
img{ max-width:100%; }
:focus-visible{ outline: 3px solid color-mix(in srgb, var(--c2) 70%, #fff); outline-offset: 2px; border-radius: 6px; }

.container{ width:100%; max-width:1200px; margin:0 auto; padding:0 20px; }
.center-text,.text-center{ text-align:center; }
.muted,.muted-70{ color: var(--mute) !important; opacity:1 !important; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.section-pad{ padding: 72px 0; }

/* ---------- Títulos de seção ---------- */
.title-xl,
.section-title h2{
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(2rem, 4.6vw, 3.2rem);
  text-transform: uppercase;
  letter-spacing: .015em;
  line-height: 1;
  color: var(--ink);
  margin: 0;
}
.title-xl .title-xl-year{ color: var(--c2); }
.section-divider{
  width: 64px; height: 5px; border-radius: 99px; margin: 16px auto 0;
  background: linear-gradient(90deg, var(--c1), var(--c2));
}
.section-title{ text-align:center; margin-bottom: 34px; }
.section-title h2:after{ content:''; display:block; width:64px; height:5px; border-radius:99px; margin:16px auto 0; background: linear-gradient(90deg, var(--c1), var(--c2)); }
.section-title.ne h2:after{ background: linear-gradient(90deg, var(--c2), var(--c1)); }

/* ---------- Botões ---------- */
.btn,.btn-large,.btn-small,.btn-flat.bmc,
a.btn,button.btn{
  font-family: var(--f-body);
  font-weight: 700;
  font-size: .86rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  height: auto; line-height: 1;
  padding: 14px 24px;
  border-radius: 999px;
  border: 0;
  box-shadow: none;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.btn i,.btn .material-icons{ line-height:1; font-size:1.05em; }
.btn:hover,.btn:focus{ transform: translateY(-2px); }
.btn:active{ transform: translateY(0); }
.btn-primary,.btn.btn-primary,.btn-accent{
  background: linear-gradient(135deg, var(--c1), var(--c1-d)) !important;
  color:#fff !important;
  box-shadow: 0 8px 20px rgba(var(--c1-rgb), .28);
}
.btn-primary:hover,.btn-accent:hover{ box-shadow: 0 12px 26px rgba(var(--c1-rgb), .38); color:#fff !important; }
.btn-secondary,.btn.btn-secondary{
  background: linear-gradient(135deg, var(--c2), var(--c2-d)) !important;
  color:#fff !important;
  box-shadow: 0 8px 20px rgba(var(--c2-rgb), .28);
}
.btn-secondary:hover{ box-shadow: 0 12px 26px rgba(var(--c2-rgb), .38); color:#fff !important; }

.btn-more,
.index-naipe-veja,.index-classif-veja{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--f-body); font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  padding: 11px 22px; border-radius: 999px;
  color: var(--c1) !important; background: var(--c1-t); border: 1px solid var(--c1-t2);
  transition: all .18s ease;
}
.btn-more::after,.index-naipe-veja::after{ content:'→'; font-size:1rem; transition: transform .18s ease; }
.btn-more:hover{ background: var(--c1); color:#fff !important; border-color: var(--c1); }
.btn-more:hover::after{ transform: translateX(4px); }
.btn-partidas-mais{
  width:52px; height:52px; border-radius:50%; border:1px solid var(--hair); background:#fff; color: var(--c1);
  box-shadow: var(--sh-1); cursor:pointer; transition: all .2s ease;
}
.btn-partidas-mais:hover{ background: var(--c1); color:#fff; transform: translateY(2px); }

/* ---------- Cards genéricos ---------- */
.card-shell,.card-body-wrap{
  background: var(--card); border:1px solid var(--hair); border-radius: var(--r);
  box-shadow: var(--sh-1); overflow:hidden; position:relative;
}
.card-topbar{
  height: 5px; background: linear-gradient(90deg, var(--c1), var(--c2));
}
.card-shell .card-body{ padding: 22px 24px 26px; }

/* ---------- Partida (placar) ---------- */
.partida-card{
  position:relative; display:flex; flex-direction:column; gap:14px;
  background: var(--card); border:1px solid var(--hair); border-radius: var(--r);
  box-shadow: var(--sh-1); overflow:hidden; height:100%;
  padding: 0 0 18px !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.partida-card:hover{ transform: translateY(-4px); box-shadow: var(--sh-3); border-color: var(--c1-t2); }
.partida-card .card-topbar{ height:4px; }
.partida-numero{
  font-family: var(--f-display); font-weight:700; font-size:1.12rem; letter-spacing:.06em; text-transform:uppercase;
  color: var(--c1); padding: 6px 20px 0; text-align:left;
}
.partida-info{ display:flex; flex-wrap:wrap; gap:6px; padding: 0 20px; }
.partida-tag{
  display:inline-flex; align-items:center; gap:6px; font-size:.74rem; font-weight:600; color: var(--ink-2);
  background: var(--paper); border:1px solid var(--hair-2); border-radius:999px; padding: 4px 10px; line-height:1.3;
}
.partida-tag i{ color: var(--c2); font-size:.8em; }
.placar-container{
  display:grid; grid-template-columns: 1fr auto auto auto 1fr; align-items:center; gap:10px;
  padding: 8px 14px 2px;
}
.time-box{ display:flex; justify-content:center; align-items:center; min-height:64px; }
.time-logo{ width:64px; height:64px; object-fit:contain; filter: drop-shadow(0 4px 8px rgba(17,20,27,.14)); transition: transform .2s ease; }
.time-logo-link:hover .time-logo{ transform: scale(1.08); }
.placar-numero{
  font-family: var(--f-display); font-weight:800; font-size:2.4rem; line-height:1; min-width: 1.2ch; text-align:center;
  color: var(--ink); font-variant-numeric: tabular-nums;
}
.placar-x{ font-family: var(--f-display); font-weight:700; font-size:1rem; color: var(--mute); letter-spacing:.1em; }
.status-partida{ padding: 4px 16px 0; }
.status-actions{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.status-pill{
  display:inline-flex; align-items:center; gap:7px; font-size:.74rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding: 7px 14px; border-radius:999px; background: var(--paper); color: var(--ink-2); border:1px solid var(--hair);
}
.status-pill a{ color: inherit; display:inline-flex; align-items:center; gap:7px; }
.status-live{ background: color-mix(in srgb, var(--live) 12%, #fff); color: var(--live); border-color: color-mix(in srgb, var(--live) 30%, #fff); }
.status-live i{ animation: bmcPulse 1.4s ease-in-out infinite; }
.status-link{ background: color-mix(in srgb, var(--done) 10%, #fff); color: var(--done); border-color: color-mix(in srgb, var(--done) 25%, #fff); }
.status-link:hover{ background: var(--done); color:#fff; }
.btn-story-dl,a.btn-timeline-dl{
  width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--hair); background:#fff; color: var(--ink-2); cursor:pointer; transition: all .18s ease; padding:0;
}
.btn-story-dl:hover,a.btn-timeline-dl:hover{ background: var(--c1); color:#fff; border-color: var(--c1); transform: translateY(-2px); }
.btn-story-dl i,a.btn-timeline-dl i{ font-size:.82rem; }
.partida-card.is-story-generating{ opacity:.75; pointer-events:none; }
@keyframes bmcPulse{ 0%,100%{ opacity:1 } 50%{ opacity:.35 } }
#partidas .proxima-partida-extra{ display:none; }

/* ---------- Classificação ---------- */
.class-card{
  background: var(--card); border:1px solid var(--hair); border-radius: var(--r);
  box-shadow: var(--sh-1); overflow:hidden; transition: box-shadow .2s ease, transform .2s ease;
}
.class-card:hover{ box-shadow: var(--sh-2); }
.class-head{ position:relative; background: var(--card); }
.class-head .card-topbar{ height:4px; }
.class-title,.index-classif-grupo-title{
  font-family: var(--f-display); font-weight:700; font-size:1.08rem; letter-spacing:.09em; text-transform:uppercase;
  color: var(--ink); margin: 0; padding: 14px 18px 10px;
}
.class-body{ padding: 0 6px 8px; }
.class-table-wrap{ overflow-x:auto; }
.class-table,.index-classif-table{ width:100%; border-collapse:collapse; font-variant-numeric: tabular-nums; }
.class-table thead th,.index-classif-table thead th{
  font-family: var(--f-body); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color: var(--mute); text-align:center; padding: 8px 6px; border-bottom:1px solid var(--hair); background: transparent;
}
.class-table thead th:nth-child(2){ text-align:left; }
.class-table tbody td,.index-classif-table tbody td{
  font-size:.86rem; font-weight:600; text-align:center; padding: 9px 6px; border-bottom:1px solid var(--hair-2); color: var(--ink);
}
.class-table tbody tr:last-child td{ border-bottom:0; }
.class-table tbody tr:hover td{ background: var(--c1-t); }
.class-table tbody td:first-child{
  width:34px; font-family: var(--f-display); font-size:1.05rem; font-weight:800; color: var(--mute);
}
.class-table tbody tr:nth-child(1) td:first-child{ color: var(--c2); }
.class-table tbody td:nth-child(3){ color: var(--c1); font-weight:800; }
.class-table td.sem{ color: var(--mute); font-weight:500; padding: 22px; font-size:.78rem; letter-spacing:.08em; }
.team-cell{ display:flex; align-items:center; gap:10px; text-align:left; min-width:0; }
.team-cell-link{ display:flex; align-items:center; gap:10px; color: var(--ink) !important; min-width:0; }
.team-cell-link:hover span{ color: var(--c1); }
.team-cell span{ font-weight:700; line-height:1.2; overflow:hidden; text-overflow:ellipsis; }
.team-mini{ width:28px; height:28px; object-fit:contain; flex:0 0 auto; }

/* ---------- Artilharia ---------- */
.scorers-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap:16px; }
.scorer-card{
  position:relative; background: var(--card); border:1px solid var(--hair); border-radius: var(--r);
  padding: 22px 16px 18px; text-align:center; box-shadow: var(--sh-1); overflow:hidden; transition: transform .2s ease, box-shadow .2s ease;
}
.scorer-card::before{ content:''; position:absolute; inset:0 0 auto 0; height:4px; background: linear-gradient(90deg,var(--c1),var(--c2)); }
.scorer-card:hover{ transform: translateY(-4px); box-shadow: var(--sh-2); }
.scorer-rank{
  position:absolute; top:12px; left:12px; font-family: var(--f-display); font-weight:800; font-size:1.1rem; color:#fff;
  background: var(--c1); border-radius: 8px; min-width:30px; height:30px; display:flex; align-items:center; justify-content:center;
}
.scorer-photo{ width:84px; height:84px; margin: 6px auto 12px; border-radius:50%; overflow:hidden; border:3px solid var(--c1-t2); background: var(--paper); }
.scorer-photo img{ width:100%; height:100%; object-fit:cover; }
.scorer-name{ font-weight:800; font-size:.98rem; line-height:1.25; color: var(--ink); }
.scorer-stats{ margin-top:10px; display:flex; justify-content:center; align-items:center; gap:10px; font-size:.82rem; color: var(--mute); }
.scorer-stats .goals{ font-family: var(--f-display); font-weight:800; font-size:1.7rem; color: var(--c2); line-height:1; }
.no-scorers{ text-align:center; color: var(--mute); padding: 28px; }

/* ---------- Apoio / patrocínio ---------- */
.apoio-patroc-linha{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:18px; margin-bottom:26px; }
.apoio-patroc-item{ display:flex; }
.apoio-patroc-link{ display:flex; width:100%; }
.logo-card{
  display:flex; align-items:center; justify-content:center; width:178px; height:104px; padding:16px;
  background:#fff; border:1px solid var(--hair); border-radius: var(--r); box-shadow: var(--sh-1);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.logo-card.big{ width:272px; height:150px; padding:22px; }
.logo-card:hover{ transform: translateY(-4px); box-shadow: var(--sh-2); border-color: var(--c1-t2); }
.logo-card img{ max-width:100%; max-height:100%; object-fit:contain; }

/* ---------- Rodapé ---------- */
.cfl-footer{ background: var(--night); color: #d9dce4; margin-top: 0; font-family: var(--f-body); position:relative; overflow:hidden; }
.cfl-footer::before{ content:''; position:absolute; inset:0 0 auto 0; height:5px; background: linear-gradient(90deg, var(--c1), var(--c2)); }
.cfl-max{ max-width:1200px; margin:0 auto; padding: 0 20px; }
.cfl-main{ display:grid; grid-template-columns: 1.2fr 1fr; gap:48px; padding-top: 64px; padding-bottom: 48px; align-items:center; }
.cfl-h2{ font-family: var(--f-display); font-weight:800; text-transform:uppercase; letter-spacing:.03em; font-size: clamp(1.8rem,3.6vw,2.6rem); color:#fff; margin: 0 0 18px; }
.cfl-person{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.cfl-person-name{ margin:0; font-weight:600; color:#fff; }
.cfl-ico{ color: var(--c2); }
.cfl-links{ display:flex; flex-direction:column; gap:10px; }
.cfl-links a{ display:inline-flex; align-items:center; gap:12px; color:#d9dce4 !important; font-weight:500; transition: color .15s ease, transform .15s ease; }
.cfl-links a i{ width:34px; height:34px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; background: rgba(255,255,255,.07); color: var(--c2); transition: all .15s ease; }
.cfl-links a:hover{ color:#fff !important; transform: translateX(3px); }
.cfl-links a:hover i{ background: var(--c2); color:#fff; }
.cfl-col-media{ display:flex; justify-content:flex-end; }
.cfl-logos{ display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:flex-end; background: rgba(255,255,255,.96); padding: 22px 28px; border-radius: var(--r); }
.cfl-logos img{ height:auto; max-height:64px; width:auto; max-width:200px; }
.cfl-bottom{ border-top:1px solid rgba(255,255,255,.1); padding: 20px; text-align:center; font-size:.82rem; color:#8b91a1; }
.cfl-bottom p{ margin: 2px 0; }
.cfl-bottom a{ color:#fff; font-weight:700; }
@media (max-width: 800px){
  .cfl-main{ grid-template-columns:1fr; gap:28px; padding-top:48px; }
  .cfl-col-media,.cfl-logos{ justify-content:center; }
}

/* ---------- Navegação rápida flutuante (landing) ---------- */
.index-quick-nav{ position:fixed; right:16px; top:50%; transform: translateY(-50%); z-index: 900; display:flex; flex-direction:column; gap:10px; }
.index-quick-nav__btn{
  display:flex; align-items:center; justify-content:flex-end; gap:0; height:46px; border-radius:999px; overflow:hidden;
  background: rgba(17,20,27,.88); color:#fff !important; backdrop-filter: blur(8px); box-shadow: var(--sh-2);
  transition: all .25s ease;
}
.index-quick-nav__label{ max-width:0; opacity:0; white-space:nowrap; font-size:.78rem; font-weight:700; letter-spacing:.04em; transition: all .25s ease; }
.index-quick-nav__icon{ width:46px; height:46px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; color: var(--c2); }
.index-quick-nav__btn:hover .index-quick-nav__label,
.index-quick-nav__btn.is-expanded .index-quick-nav__label{ max-width:220px; opacity:1; padding-left:18px; }
.index-quick-nav__btn:hover{ background: var(--c1); }
.index-quick-nav__btn:hover .index-quick-nav__icon{ color:#fff; }
@media (max-width:640px){ .index-quick-nav{ right:10px; top:auto; bottom:92px; transform:none; } .index-quick-nav__btn,.index-quick-nav__icon{ height:42px; } .index-quick-nav__icon{ width:42px; } }

/* ---------- Carregamento ---------- */
.page-loader{ position:fixed; inset:0; z-index:99999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background: var(--paper); transition: opacity .4s ease; }
.page-loader.hidden{ opacity:0; pointer-events:none; }

/* ==========================================================================
   Materialize — re-skin dos componentes mais usados
   ========================================================================== */
nav{ box-shadow:none; }
.input-field input[type=text],.input-field input[type=email],.input-field input[type=password],
.input-field input[type=number],.input-field input[type=tel],.input-field input[type=date],
.input-field input[type=search],.input-field input[type=url],.input-field input[type=time],
.input-field textarea.materialize-textarea,
input.bmc-input,select.browser-default{
  box-sizing:border-box;
  height:52px; margin:0 0 4px; padding: 0 16px;
  background:#fff; border:1.5px solid var(--hair) !important; border-radius: var(--r-sm) !important;
  font-family: var(--f-body); font-size:.98rem; color: var(--ink);
  box-shadow: none !important; transition: border-color .15s ease, box-shadow .15s ease;
}
.input-field textarea.materialize-textarea{ height:auto; min-height:110px; padding: 14px 16px; }
.input-field input:focus:not([readonly]),
.input-field textarea.materialize-textarea:focus:not([readonly]),
select.browser-default:focus{
  border-color: var(--c1) !important; box-shadow: 0 0 0 4px rgba(var(--c1-rgb), .12) !important;
}
.input-field > label{ font-family: var(--f-body); font-size:.82rem; font-weight:600; color: var(--mute); left:16px; }
.input-field > label.active{ transform: translateY(-26px) scale(.9); color: var(--c1); }
input::placeholder,textarea::placeholder{ color:#9aa1ae; opacity:1; }
.select-wrapper input.select-dropdown{ height:52px !important; padding: 0 16px !important; }
.dropdown-content{ border-radius: var(--r-sm); box-shadow: var(--sh-3); border:1px solid var(--hair); }
.dropdown-content li > a,.dropdown-content li > span{ color: var(--ink); font-size:.9rem; }
.dropdown-content li.selected,.dropdown-content li:hover{ background: var(--c1-t); }

[type="checkbox"].filled-in:checked + span:not(.lever):after{ border-color: var(--c1); background-color: var(--c1); }
[type="checkbox"]:checked + span:not(.lever):before{ border-right-color: var(--c1); border-bottom-color: var(--c1); }
[type="radio"]:checked + span:after,[type="radio"].with-gap:checked + span:after{ background-color: var(--c1); border-color: var(--c1); }
[type="radio"].with-gap:checked + span:before{ border-color: var(--c1); }
.switch label input[type=checkbox]:checked + .lever{ background-color: rgba(var(--c1-rgb), .35); }
.switch label input[type=checkbox]:checked + .lever:after{ background-color: var(--c1); }

.tabs{ background: transparent; border-bottom:1px solid var(--hair); height:auto; }
.tabs .tab a{ color: var(--mute); font-family: var(--f-body); font-weight:700; font-size:.8rem; letter-spacing:.06em; }
.tabs .tab a:hover,.tabs .tab a.active{ color: var(--c1); background: transparent; }
.tabs .indicator{ background: var(--c1); height:3px; border-radius:3px; }

.modal{ border-radius: var(--r-lg); box-shadow: var(--sh-3); }
.material-tooltip{ background: var(--night); border-radius: 8px; font-size:.78rem; font-weight:600; padding: 6px 12px; }
#toast-container .toast{ border-radius: 999px; background: var(--night); font-weight:600; box-shadow: var(--sh-3); }
.sidenav-overlay{ background: rgba(11,13,18,.55); backdrop-filter: blur(2px); }
.collapsible{ border:0; box-shadow:none; }
.preloader-wrapper .spinner-layer{ border-color: var(--c1); }

/* Tabelas Materialize padrão */
table.striped > tbody > tr:nth-child(odd){ background-color: var(--c1-t); }
table.highlight > tbody > tr:hover{ background-color: var(--c1-t2); }
table{ font-variant-numeric: tabular-nums; }
th{ font-weight:700; }

/* Impressão: sem decoração */
@media print{
  .index-quick-nav,.bmc-nav,.page-loader{ display:none !important; }
  body{ background:#fff; }
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ==========================================================================
   Navegação pública: header fixo + gaveta (sidenav)
   ========================================================================== */
.bmc-nav{ position:sticky; top:0; z-index:1000; background: rgba(255,255,255,.82); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom:1px solid rgba(17,20,27,.07); }
.bmc-nav__bar{ max-width:1280px; margin:0 auto; padding: 0 20px; height:68px; display:flex; align-items:center; gap:22px; }
.bmc-nav__brand{ display:flex; align-items:center; flex:0 0 auto; }
.bmc-nav__brand img{ height:44px; width:auto; display:block; }
.bmc-nav__links{ display:flex; gap:4px; margin-left:12px; flex:1 1 auto; }
.bmc-nav__links a{ font-size:.84rem; font-weight:600; color: var(--ink-2); padding: 9px 14px; border-radius:999px; transition: all .15s ease; white-space:nowrap; }
.bmc-nav__links a:hover{ background: var(--c1-t); color: var(--c1); }
.bmc-nav__social{ display:flex; gap:2px; }
.bmc-nav__social a{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; color: var(--ink-2); font-size:1rem; transition: all .15s ease; }
.bmc-nav__social a:hover{ background: var(--c1-t); color: var(--c1); }
.bmc-nav__cta{ display:inline-flex; align-items:center; gap:8px; background: linear-gradient(135deg,var(--c1),var(--c1-d)); color:#fff !important; font-weight:700; font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; padding: 11px 18px; border-radius:999px; box-shadow: 0 6px 16px rgba(var(--c1-rgb),.28); transition: all .18s ease; white-space:nowrap; }
.bmc-nav__cta:hover{ transform: translateY(-2px); box-shadow: 0 10px 22px rgba(var(--c1-rgb),.38); color:#fff !important; }
.bmc-nav__burger{ width:44px; height:44px; display:flex !important; align-items:center; justify-content:center; border-radius:12px; border:1px solid var(--hair); background:#fff; color: var(--ink) !important; transition: all .15s ease; }
.bmc-nav__burger:hover{ background: var(--c1); border-color: var(--c1); color:#fff !important; }
.bmc-nav__burger .material-icons{ font-size:24px; line-height:1; }
@media (max-width: 1080px){ .bmc-nav__links{ display:none; } .bmc-nav__bar{ gap:12px; } .bmc-nav__social{ margin-left:auto; } }
@media (max-width: 640px){ .bmc-nav__social{ display:none; } .bmc-nav__cta{ margin-left:auto; padding:10px 14px; } .bmc-nav__cta span{ display:none; } .bmc-nav__cta i{ font-size:1rem; } .bmc-nav__bar{ height:60px; padding:0 14px; } .bmc-nav__brand img{ height:38px; } }

#slide-out{ width: 330px !important; background:#fff !important; border:none !important; padding:0 0 24px !important; overflow-y:auto; }
#slide-out::-webkit-scrollbar{ width:6px; } #slide-out::-webkit-scrollbar-thumb{ background: var(--hair); border-radius:6px; }
#slide-out .mp-logo-wrap{ padding: 30px 24px 22px; text-align:center; background: linear-gradient(160deg, var(--c1-dd), var(--c1)); margin-bottom:8px; }
#slide-out .mp-logo-wrap img{ max-width:150px; height:auto; filter: drop-shadow(0 6px 16px rgba(0,0,0,.35)); }
#slide-out .mp-section-header{ display:flex; align-items:center; gap:10px; padding: 18px 24px 8px; font-family: var(--f-display); font-size:.95rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color: var(--mute); }
#slide-out .mp-section-header::after{ content:''; flex:1; height:1px; background: var(--hair); }
#slide-out > li{ margin:0 !important; padding:0 !important; background:transparent !important; border:none !important; }
#slide-out > li > .collapsible-header{ display:flex; align-items:center; gap:12px; min-height:0; padding: 11px 24px !important; margin:0 !important; border:none !important; background:transparent !important; font-family: var(--f-body); font-size:.9rem; font-weight:600; color: var(--ink); cursor:pointer; transition: background .15s, color .15s; line-height:1.35; }
#slide-out > li > .collapsible-header:hover{ background: var(--c1-t) !important; }
#slide-out > li.active > .collapsible-header{ color: var(--c1); }
#slide-out .mp-icon{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex-shrink:0; border-radius:10px; background: var(--c1-t); color: var(--c1); }
#slide-out .mp-icon i{ font-size:14px !important; width:auto !important; margin:0 !important; line-height:1 !important; }
#slide-out .mp-icon img{ width:20px; height:20px; object-fit:contain; }
.mp-chevron{ margin-left:auto; font-size:11px; color: var(--mute); transition: transform .25s ease; flex-shrink:0; }
#slide-out > li.active > .collapsible-header .mp-chevron{ transform: rotate(180deg); color: var(--c1); }
#slide-out .mp-link{ display:flex; align-items:center; gap:12px; padding: 11px 24px; font-size:.9rem; font-weight:600; color: var(--ink) !important; transition: background .15s; line-height:1.35; }
#slide-out .mp-link:hover{ background: var(--c1-t); }
#slide-out > li > .collapsible-body{ padding: 0 0 8px !important; margin:0 !important; border:none !important; background:transparent !important; }
#slide-out > li > .collapsible-body a{ display:block; padding: 8px 24px 8px 68px; font-size:.84rem; font-weight:500; color: var(--ink-2) !important; transition: all .12s; line-height:1.4; }
#slide-out > li > .collapsible-body a:hover{ background: var(--c1-t); color: var(--c1) !important; padding-left:72px; }
#slide-out > li > .collapsible-body a.mp-app-link{ display:flex; align-items:center; gap:10px; }
#slide-out .mp-app-link-ico{ display:inline-flex; width:22px; font-size:1.05rem; }
#slide-out .mp-app-link-ico--apple{ color:#1d1d1f; } #slide-out .mp-app-link-ico--android{ color:#3ddc84; }
.mp-year-badge{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:10px; color:#fff; font-family: var(--f-display); font-weight:800; font-size:.95rem; flex-shrink:0; }
#slide-out .mp-divider{ height:1px; background: var(--hair); margin: 10px 24px; }

/* Gaveta acima do header (o logo não pode ficar cortado) */
.sidenav{ z-index: 1300 !important; }
.sidenav-overlay{ z-index: 1290 !important; }
