/* ============================================================
   SB DIGITAL — PÁGINAS LEGAIS
   ============================================================ */

.legal{
  position:relative;
  padding-top:calc(var(--nav-h) + clamp(48px, 7vw, 90px));
  padding-bottom:clamp(60px, 8vw, 110px);
  overflow-x:clip;
}
.legal::before{ content:none; }

.legal__wrap{ max-width:860px; margin-inline:auto; position:relative; z-index:2; }

.legal__back{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.76rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--txt-3);
  margin-bottom:26px;
  transition:color .25s var(--ease), gap .25s var(--ease);
}
.legal__back .ico{ width:15px; height:15px; transform:rotate(180deg); }
.legal__back:hover{ color:var(--brand-hi); gap:12px; }

.legal h1{
  font-family:var(--f-serif); font-weight:500;
  font-size:clamp(2rem, 4.4vw, 3rem);
  letter-spacing:-.012em; line-height:1.1; margin-bottom:16px;
}
.legal__meta{
  font-size:.78rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--txt-4);
  padding-bottom:26px; margin-bottom:34px;
  border-bottom:1px solid var(--line);
}

.legal__note{
  display:flex; gap:12px; align-items:flex-start;
  padding:16px 18px; margin-bottom:38px;
  border-radius:var(--r-md);
  border:1px solid rgba(243,179,63,.28);
  background:rgba(243,179,63,.05);
  font-size:.84rem; line-height:1.62; color:var(--txt-3);
}
.legal__note .ico{ width:19px; height:19px; color:var(--warn); flex:none; margin-top:2px; }

.legal__toc{
  padding:22px 24px; margin-bottom:44px;
  border-radius:var(--r-md);
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.legal__toc h2{
  font-size:.76rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--txt-3);
  margin-bottom:14px;
}
.legal__toc ol{ counter-reset:toc; display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; }
.legal__toc li{ counter-increment:toc; }
.legal__toc a{
  display:flex; gap:9px; font-size:.86rem; color:var(--txt-3);
  padding:4px 0; transition:color .25s var(--ease);
}
.legal__toc a::before{
  content:counter(toc, decimal-leading-zero);
  font-size:.8rem; color:var(--brand); flex:none;
}
.legal__toc a:hover{ color:var(--brand-hi); }

.legal section{ margin-bottom:38px; scroll-margin-top:calc(var(--nav-h) + 24px); }
.legal section h2{
  font-family:var(--f-serif); font-weight:500;
  font-size:clamp(1.25rem, 2.1vw, 1.55rem);
  margin-bottom:14px; letter-spacing:-.008em; line-height:1.2;
}
.legal section h3{
  font-size:1rem; margin:22px 0 10px; color:var(--txt-2);
}
.legal p{ margin-bottom:14px; color:var(--txt-2); font-size:1rem; line-height:1.75; }
.legal ul{ margin:0 0 16px; display:flex; flex-direction:column; gap:9px; }
.legal ul li{
  position:relative; padding-left:20px;
  font-size:.94rem; color:var(--txt-3); line-height:1.65;
}
.legal ul li::before{
  content:""; position:absolute; left:2px; top:.68em;
  width:6px; height:6px; border-radius:2px; background:var(--brand); opacity:.8;
}
.legal strong{ color:var(--txt); font-weight:600; }
.legal a:not(.legal__back):not(.btn){
  color:var(--brand-hi); border-bottom:1px solid var(--brand-line);
}

.legal__foot{
  margin-top:48px; padding-top:28px; border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
}
.legal__foot p{ margin:0; font-size:.85rem; color:var(--txt-4); flex:1; min-width:240px; }

@media (max-width:640px){
  .legal__toc ol{ grid-template-columns:1fr; }
}
