/* VMTECH Software — Instruções para Exclusão de Dados | estilos */

:root{
  --paper:      #E6E8EA;
  --paper-2:    #F5F5F5;
  --field-bg:   #EEE8E6;
  --ink:        #02244A;
  --ink-soft:   #54504E;
  --line:       #D4D4D4;
  --accent:     #F9380F;
  --accent-ink: #C42D0C;
  --radius:     18px;
  --ease: cubic-bezier(.2,.7,.2,1);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--paper);
  color:var(--ink-soft);
  font-family:'DM Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
  overflow-x:clip;
  background-image:
    radial-gradient(circle at 15% 6%, rgba(249,56,15,.04), transparent 42%),
    radial-gradient(circle at 88% 38%, rgba(2,36,74,.04), transparent 40%);
}
.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
a{ color:var(--accent-ink); }

/* ---------- CABEÇALHO ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(230,232,234,.82);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .bar{
  max-width:1180px; margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.brand .name{ font-weight:700; font-size:1.32rem; letter-spacing:-.02em; color:var(--ink); }
.header-cta{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  text-decoration:none; font-weight:600; font-size:.92rem;
  color:var(--ink); background:#fff; border:1px solid var(--line);
  padding:10px 17px; border-radius:10px;
  transition:background .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.header-cta svg{ transition:transform .3s var(--ease); }
.header-cta:hover{ background:var(--paper-2); border-color:var(--accent); color:var(--accent-ink); transform:translateY(-2px); }
.header-cta:hover svg{ transform:translateX(-3px); }
.header-cta:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:560px){
  .brand .name{ font-size:1.06rem; }
  .header-cta{ font-size:.82rem; padding:9px 13px; gap:6px; }
  .site-header .bar{ gap:12px; }
}

/* eyebrow reutilizável */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:.72rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent-ink); margin-bottom:22px;
}
.eyebrow::before{ content:""; width:26px; height:1.5px; background:var(--accent); display:inline-block; }

/* ---------- HERO LEGAL ---------- */
.legal-hero{ padding:64px 28px 40px; }
.legal-hero h1{
  font-family:'DM Sans', sans-serif; font-weight:600;
  font-size:clamp(2.3rem, 5vw, 3.6rem); line-height:1.04; letter-spacing:-.025em;
  color:var(--ink);
}
.legal-hero h1 em{ font-family:'Fraunces', serif; font-weight:500; font-style:italic; color:var(--accent); letter-spacing:0; }
.updated{
  display:inline-flex; align-items:center; gap:8px; margin-top:20px;
  font-size:.86rem; color:var(--ink-soft);
  background:var(--paper-2); border:1px solid var(--line);
  padding:7px 14px; border-radius:999px;
}
.updated b{ color:var(--ink); font-weight:600; }
.lead{ max-width:760px; margin-top:30px; }
.lead p{ font-size:1.08rem; line-height:1.65; color:var(--ink-soft); }
.lead p + p{ margin-top:16px; }
.lead strong{ color:var(--ink); font-weight:600; }

/* ---------- CORPO LEGAL ---------- */
.legal-body{ padding:28px 28px 110px; }
.legal-layout{
  display:grid; grid-template-columns:240px minmax(0,748px); gap:64px;
  align-items:start; justify-content:start;
}

/* sumário lateral */
.toc-wrap{ position:sticky; top:100px; }
.toc-title{
  font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent-ink); margin-bottom:14px;
}
.toc ol{ list-style:none; counter-reset:toc; }
.toc a{
  counter-increment:toc;
  display:flex; gap:9px; align-items:baseline;
  padding:7px 0 7px 16px; border-left:2px solid var(--line);
  color:var(--ink-soft); text-decoration:none; font-size:.92rem; line-height:1.35;
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.toc a::before{ content:counter(toc) "."; font-variant-numeric:tabular-nums; color:#9a9694; font-size:.82rem; flex:none; }
.toc a:hover{ color:var(--ink); }
.toc a.active{ color:var(--accent-ink); border-left-color:var(--accent); font-weight:600; }
.toc a.active::before{ color:var(--accent); }

/* texto do documento */
.legal-content{ max-width:748px; min-width:0; overflow-wrap:break-word; }
.legal-content section{ scroll-margin-top:100px; }
.legal-content section + section{ margin-top:18px; padding-top:36px; border-top:1px solid var(--line); }
.legal-content h2{
  font-family:'DM Sans', sans-serif; font-weight:600; font-size:1.62rem; line-height:1.2;
  letter-spacing:-.02em; color:var(--ink); margin-bottom:18px;
}
.legal-content h2 .num{ color:var(--accent); font-weight:600; margin-right:.35em; }
.legal-content h3{
  font-family:'DM Sans', sans-serif; font-weight:600; font-size:1.12rem; letter-spacing:-.01em;
  color:var(--ink); margin:28px 0 10px;
}
.legal-content p{ font-size:1.02rem; line-height:1.72; color:var(--ink-soft); margin:12px 0; }
.legal-content strong, .legal-content b{ color:var(--ink); font-weight:600; }
.legal-content a{ color:var(--accent-ink); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; transition:color .2s var(--ease); word-break:break-word; }
.legal-content a:hover{ color:var(--accent); }
.legal-content .muted{ color:#8c8987; font-style:italic; }

.legal-content ul{ list-style:none; margin:14px 0; padding:0; }
.legal-content ul li{
  position:relative; padding-left:24px; margin:9px 0;
  font-size:1.02rem; line-height:1.7; color:var(--ink-soft);
}
.legal-content ul li::before{
  content:""; position:absolute; left:4px; top:.72em;
  width:6px; height:6px; border-radius:50%; background:var(--accent);
}

/* lista de definições (Quem somos / Contato) */
.legal-content .defs{
  margin:18px 0; background:var(--paper-2); border:1px solid var(--line);
  border-radius:14px; padding:20px; list-style:none;
}
.legal-content .defs li{ display:flex; flex-wrap:wrap; gap:6px 10px; padding:14px 0; margin:0; }
.legal-content .defs li:first-child{ padding-top:0; }
.legal-content .defs li:last-child{ padding-bottom:0; }
.legal-content .defs li::before{ display:none; }
.legal-content .defs li + li{ border-top:1px solid var(--line); }
.legal-content .defs .k{ font-weight:600; color:var(--ink); min-width:210px; }
.legal-content .defs .v{ color:var(--ink-soft); }

/* tabela */
.table-wrap{ margin:18px 0; overflow-x:auto; border:1px solid var(--line); border-radius:14px; }
table{ border-collapse:collapse; width:100%; min-width:480px; font-size:.96rem; }
thead th{
  background:var(--paper-2); text-align:left; color:var(--ink); font-weight:600;
  padding:14px 18px; border-bottom:1px solid var(--line); font-size:.84rem;
  text-transform:uppercase; letter-spacing:.04em;
}
tbody td{ padding:14px 18px; border-bottom:1px solid var(--line); color:var(--ink-soft); line-height:1.55; vertical-align:top; }
tbody tr:last-child td{ border-bottom:none; }
tbody td:first-child{ color:var(--ink); font-weight:500; }

/* destaque / callout */
.callout{
  margin:22px 0; padding:18px 22px; background:var(--field-bg);
  border-left:3px solid var(--accent); border-radius:0 12px 12px 0;
  color:var(--ink); font-weight:600; font-size:1.04rem; line-height:1.5;
}

/* voltar ao topo */
.back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:60;
  width:46px; height:46px; border:none; border-radius:50%; cursor:pointer;
  background:var(--accent); color:#fff; display:grid; place-items:center;
  box-shadow:0 12px 30px -12px rgba(249,56,15,.6);
  opacity:0; transform:translateY(12px) scale(.9); pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), background .3s var(--ease);
}
.back-to-top.show{ opacity:1; transform:none; pointer-events:auto; }
.back-to-top:hover{ background:var(--accent-ink); }
.back-to-top:focus-visible{ outline:2px solid var(--accent-ink); outline-offset:3px; }

/* ---------- MENU FIXO DO SUMÁRIO (mobile) ---------- */
.toc-mobile{ display:none; }
.toc-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; border:none; border-top:1px solid var(--line); cursor:pointer;
  background:var(--paper-2); color:var(--ink); font-family:inherit;
  font-weight:600; font-size:.94rem;
  padding:15px 18px calc(15px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 24px -16px rgba(2,36,74,.4);
}
.toc-bar > svg:first-child{ color:var(--accent-ink); }
.toc-bar .bar-chev{ color:var(--ink-soft); transition:transform .3s var(--ease); }
.toc-mobile.open .toc-bar .bar-chev{ transform:rotate(180deg); }
.toc-sheet-backdrop{
  position:fixed; inset:0; z-index:80; background:rgba(2,36,74,.42);
  opacity:0; pointer-events:none; transition:opacity .3s var(--ease);
}
.toc-mobile.open .toc-sheet-backdrop{ opacity:1; pointer-events:auto; }
.toc-sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:85;
  background:var(--paper-2); border-top:1px solid var(--line);
  border-top-left-radius:20px; border-top-right-radius:20px;
  padding:10px 22px calc(70px + env(safe-area-inset-bottom));
  max-height:72vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
  transform:translateY(101%); transition:transform .34s var(--ease);
  box-shadow:0 -20px 50px -24px rgba(2,36,74,.45);
}
.toc-mobile.open .toc-sheet{ transform:translateY(0); }
.toc-sheet-handle{ display:block; width:42px; height:4px; border-radius:99px; background:var(--line); margin:4px auto 14px; }
.toc-sheet .toc-title{ margin-bottom:10px; }
.toc-sheet ol{ list-style:none; counter-reset:toc; }
.toc-sheet a{
  counter-increment:toc; display:flex; gap:11px; align-items:baseline;
  padding:13px 4px; border-bottom:1px solid var(--line);
  color:var(--ink-soft); text-decoration:none; font-size:1rem; line-height:1.35;
}
.toc-sheet li:last-child a{ border-bottom:none; }
.toc-sheet a::before{ content:counter(toc) "."; color:#9a9694; font-size:.85rem; flex:none; font-variant-numeric:tabular-nums; }
.toc-sheet a.active{ color:var(--accent-ink); font-weight:600; }
.toc-sheet a.active::before{ color:var(--accent); }

/* ---------- RODAPÉ ---------- */
footer{ border-top:1px solid var(--line); background:var(--paper-2); }
.foot-inner{ max-width:1180px; margin:0 auto; padding:54px 28px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px; }
.foot-brand{ font-size:1.4rem; font-weight:700; letter-spacing:-.02em; color:var(--ink); }
.foot-legal{ margin-top:14px; font-size:.86rem; color:var(--ink-soft); line-height:1.7; max-width:420px; }
.foot-email{ color:var(--ink-soft); font-size:.86rem; margin-top:6px; }
.foot-links{ display:flex; flex-direction:column; gap:11px; }
.foot-links a{ color:var(--ink-soft); text-decoration:none; font-size:.9rem; font-weight:500; transition:color .25s; }
.foot-links a:hover{ color:var(--accent); }
.foot-links a[aria-current="page"]{ color:var(--accent-ink); font-weight:600; }
.foot-links a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.foot-bottom{ border-top:1px solid var(--line); text-align:center; padding:20px; font-size:.8rem; color:var(--ink-soft); }

/* ---------- MOBILE ---------- */
@media (max-width:920px){
  .legal-layout{ grid-template-columns:minmax(0,1fr); gap:0; }
  .legal-content{ max-width:none; }
  .toc-wrap{ display:none; }            /* esconde o sumário lateral */
  .toc-mobile{ display:block; }         /* mostra o menu fixo no rodapé */
  body{ padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
  .back-to-top{ right:16px; bottom:calc(74px + env(safe-area-inset-bottom)); }
}

@media (max-width:680px){
  /* containers e conteúdos a 95% da largura — apenas mobile */
  .wrap, .site-header .bar, .foot-inner{
    width:95%; max-width:95%; margin-left:auto; margin-right:auto;
    padding-left:0; padding-right:0;
  }
  .site-header .bar{ padding-top:15px; padding-bottom:15px; }
  .legal-hero{ padding:44px 0 30px; }
  .legal-body{ padding:20px 0 80px; }
  .foot-inner{ flex-direction:column; gap:28px; padding-top:40px; padding-bottom:40px; text-align:center; }

  .legal-content h2{ font-size:1.42rem; }
  .lead p{ font-size:1.02rem; }
  .legal-content .defs li{ flex-direction:column; gap:2px; }
  .legal-content .defs .k{ min-width:0; }
  .foot-legal{ margin-left:auto; margin-right:auto; }
  .foot-links{ align-items:center; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; }
}

/* nota informativa (callout em peso normal, com destaque no início) */
.legal-content .callout.note{ font-weight:400; }
.legal-content .callout.note strong{ font-weight:600; color:var(--ink); }
