/* ===== Páginas legais (termos / privacidade) — layout novo ===== */

.legal-shell{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}

/* ---- topo ---- */
.legal-hero{position:relative;overflow:hidden;padding:clamp(128px,11vw,168px) 0 clamp(28px,4vw,44px);
  border-bottom:1px solid var(--postly-border)}
.legal-hero > .legal-shell{position:relative;z-index:2}
.legal-title{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.05;
  font-size:clamp(34px,5.6vw,58px);margin:12px 0 0}
.legal-intro{font-size:16.5px;line-height:1.7;color:#888898;max-width:760px;margin:22px 0 0}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.legal-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:12.5px;
  color:#888898;background:rgba(255,255,255,.035);border:1px solid var(--postly-border);
  transition:transform 380ms cubic-bezier(.16,1,.3,1),border-color 300ms ease,background 300ms ease,color 300ms ease}
.legal-pill:hover{transform:translateY(-2px);color:#EDEDF2;background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.34)}
.legal-pill svg{flex:none}

/* ---- corpo ---- */
.legal-body{display:grid;grid-template-columns:262px minmax(0,1fr);gap:clamp(28px,4vw,56px);
  padding:clamp(36px,5vw,60px) 0 clamp(72px,8vw,110px)}

/* índice lateral — o wrapper estica na coluna para dar curso ao sticky */
.legal-toc-wrap{position:relative}
.legal-toc{position:sticky;top:104px;padding:18px;border-radius:20px}
.legal-toc-title{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#525268;margin:0 0 12px;padding:0 10px}
.legal-toc nav{display:flex;flex-direction:column;gap:2px;max-height:min(66vh,620px);
  overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.4) transparent}
.legal-toc nav::-webkit-scrollbar{width:6px}
.legal-toc nav::-webkit-scrollbar-thumb{background:rgba(124,58,237,.35);border-radius:99px}
.legal-toc a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:11px;font-size:13.5px;
  line-height:1.4;color:#888898;transition:background 260ms ease,color 260ms ease,transform 320ms cubic-bezier(.16,1,.3,1)}
.legal-toc a:hover{color:#EDEDF2;background:rgba(255,255,255,.045);transform:translateX(2px)}
.legal-toc a .n{font-family:'Geist Mono',monospace;font-size:11px;color:#525268;flex:none;transition:color 260ms ease}
.legal-toc a.is-current{color:#EDEDF2;background:rgba(124,58,237,.16);box-shadow:inset 0 0 0 1px rgba(124,58,237,.28)}
.legal-toc a.is-current .n{color:#A78BFA}

/* texto */
.legal-prose{max-width:820px}
.legal-prose > section{scroll-margin-top:112px}
.legal-prose h2{display:flex;align-items:baseline;gap:12px;font-family:'Space Grotesk',sans-serif;font-weight:600;
  font-size:clamp(20px,2.4vw,24px);letter-spacing:-.02em;color:#EDEDF2;margin:44px 0 14px}
.legal-prose > section:first-child h2{margin-top:0}
.legal-num{font-family:'Geist Mono',monospace;font-size:12px;font-weight:500;color:#A78BFA;flex:none;
  padding:4px 9px;border-radius:8px;background:var(--postly-accent-18);line-height:1}
.legal-prose h3{font-size:15.5px;font-weight:600;color:#EDEDF2;margin:24px 0 10px}
.legal-prose p{font-size:15.5px;line-height:1.75;color:#888898;margin:0 0 14px}
.legal-prose ul{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:10px}
.legal-prose li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.7;color:#888898;
  transition:color 240ms ease}
.legal-prose li::before{content:'';position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;
  background:var(--gradient-brand);opacity:.85}
.legal-prose li:hover{color:#EDEDF2}
.legal-prose strong{color:#EDEDF2;font-weight:600}
.legal-prose a{color:#A78BFA}
.legal-prose a:hover{color:#C4B5FD;text-decoration:underline}

/* destaques */
.legal-callout{position:relative;display:flex;gap:14px;padding:20px 22px;margin:22px 0;border-radius:18px;
  background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.26)}
.legal-callout svg{flex:none;margin-top:2px}
.legal-callout p{margin:0;color:#EDEDF2;font-size:14.5px;line-height:1.65}
.legal-contact{padding:24px;border-radius:20px;margin-top:16px}
.legal-contact-row{display:flex;align-items:center;gap:12px;padding:11px 0;font-size:14.5px;color:#888898;
  border-bottom:1px solid var(--postly-border)}
.legal-contact-row:last-child{border-bottom:none}
.legal-contact-row svg{flex:none;color:#A78BFA}
.legal-contact-row b{color:#EDEDF2;font-weight:600;min-width:74px}

/* rodapé */
.legal-foot{border-top:1px solid var(--postly-border);padding:34px 0}
.legal-foot-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:13px;color:#525268}
.legal-foot-links{display:flex;flex-wrap:wrap;gap:20px}
.legal-foot-links a{color:#888898}

@media (max-width:900px){
  .legal-body{grid-template-columns:1fr;gap:24px}
  .legal-toc-wrap{position:static}
  .legal-toc{position:static;top:auto}
  .legal-toc nav{max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
}
