/* sv.css: base visual das páginas institucionais novas (ouvidoria3, abuso3, contato3).
   Mesma linguagem da atendimento3: grade sóbria, divisórias de 1px, cantos de 4px, cor só como sinal. */
.sv { --ink:#023441; --ink-2:#0b4a59; --text:#3d4f54; --muted:#66797e; --faint:#8a9a9e;
      --green:#79b643; --green-d:#3f7a16; --red:#b33a36;
      --line:#dbe2e3; --field:#c9d3d5; --layer:#f2f4f4; --layer-2:#e8eced; --paper:#fff; --r:4px;
      --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; --sans:'Commissioner',Arial,Helvetica,sans-serif;
      --ease:cubic-bezier(.2,0,.38,.9);
      background:var(--paper); color:var(--text); font:400 16px/1.6 var(--sans); overflow-x:hidden; }
.sv *, .sv *::before, .sv *::after { box-sizing:border-box; }
.sv h1, .sv h2, .sv h3, .sv p { margin-top:0; font-family:var(--sans); }
.sv h1, .sv h2, .sv h3 { color:var(--ink); text-wrap:balance; }
.sv h2 { font-size:clamp(24px,2.2vw,30px); line-height:1.2; font-weight:400; letter-spacing:-.01em; margin-bottom:8px; }
.sv h3 { font-size:17px; line-height:1.35; font-weight:600; margin-bottom:6px; }
.sv p { text-wrap:pretty; }
.sv a { color:var(--ink); }
.sv a:focus-visible, .sv button:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.sv nav { float:none; width:auto; margin:0; padding:0; background:none; }
.sv .w { width:100%; max-width:1200px; margin:0 auto; padding:0 28px; }
.sv .ic { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:square; stroke-linejoin:miter; vertical-align:-3px; }
.sv .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.sv .skip { position:absolute; left:16px; top:-60px; z-index:10; padding:10px 16px; border-radius:var(--r); background:var(--ink); color:#fff; text-decoration:none; font-weight:600; }
.sv .skip:focus { top:16px; color:#fff; }

/* Topo */
.sv .top { background:var(--layer); padding:48px 0 0; }
.sv .crumb { font-size:13px; color:var(--muted); margin-bottom:28px; }
.sv .crumb a { color:var(--ink); text-decoration:none; }
.sv .crumb a:hover { text-decoration:underline; }
.sv .crumb span { margin:0 8px; color:var(--faint); }
.sv .top h1 { font-size:clamp(36px,4.4vw,56px); line-height:1.08; font-weight:300; letter-spacing:-.02em; margin-bottom:14px; }
.sv .top .lead { font-size:19px; font-weight:300; line-height:1.55; color:var(--text); max-width:60ch; margin:0 0 40px; }
.sv .facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-bottom:0; border-radius:var(--r) var(--r) 0 0; overflow:hidden; }
.sv .facts div { background:var(--paper); padding:20px 24px; }
.sv .facts b { display:block; font-size:16px; font-weight:500; color:var(--ink); margin-bottom:2px; }
.sv .facts span { font-size:14px; color:var(--muted); }

/* Corpo: formulário + coluna lateral */
.sv .body { padding:56px 0 88px; }
.sv .grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; align-items:start; }
.sv .note { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; margin-bottom:24px; padding:16px 20px; border-left:3px solid var(--ink); border-radius:0 var(--r) var(--r) 0; background:var(--layer); font-size:15px; }
.sv .note p { margin:0; }
.sv .note a.link { white-space:nowrap; }
.sv .alert { margin-bottom:24px; padding:16px 20px; border-left:3px solid var(--green); border-radius:0 var(--r) var(--r) 0; background:#f1f8ea; font-size:15px; color:#24440f; }
.sv .alert.error { border-left-color:var(--red); background:#fbeeed; color:#6e1f1c; }
.sv .alert b { font-weight:600; }
.sv .card { border:1px solid var(--line); border-radius:var(--r); padding:32px; background:var(--paper); }
.sv .card > h2 { margin-bottom:6px; }
.sv .card > .sub { margin:0 0 28px; color:var(--muted); font-size:15px; }
.sv .fields { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px 16px; }
.sv .f { grid-column:span 12; min-width:0; }
.sv .f.c6 { grid-column:span 6; }
.sv .f.c4 { grid-column:span 4; }
.sv .f label { display:block; margin-bottom:6px; font-size:14px; font-weight:500; color:var(--ink); }
.sv .f input, .sv .f select, .sv .f textarea { display:block; width:100%; min-height:48px; margin:0; padding:12px 14px; border:1px solid var(--field); border-radius:var(--r); background:var(--paper); color:var(--ink); font:400 15px/1.5 var(--sans); box-shadow:none; transition:border-color .11s var(--ease), box-shadow .11s var(--ease); -webkit-appearance:none; appearance:none; }
.sv .f select { padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23023441' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:18px; }
.sv .f textarea { min-height:160px; resize:vertical; }
.sv .f textarea.mono { font:400 13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.sv .f input::placeholder, .sv .f textarea::placeholder { color:#8a9a9e; }
.sv .f input:hover, .sv .f select:hover, .sv .f textarea:hover { border-color:#9fb0b3; }
.sv .f input:focus, .sv .f select:focus, .sv .f textarea:focus { outline:0; border-color:var(--ink); box-shadow:0 0 0 1px var(--ink); }
.sv .f .hint { display:block; margin-top:6px; font-size:13px; line-height:1.5; color:var(--muted); }
.sv .verify { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.sv .verify > p { margin:0 0 10px; font-size:14px; font-weight:500; color:var(--ink); }
.sv .accept { display:flex; gap:12px; align-items:flex-start; margin:20px 0 0; font-size:14px; line-height:1.55; color:var(--text); font-weight:400; cursor:pointer; }
.sv .accept input { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--ink); }
.sv .accept a { text-decoration:underline; text-underline-offset:2px; }
.sv .submit { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin:24px 0 0; }
.sv .submit button { display:inline-flex; align-items:center; justify-content:space-between; gap:40px; min-height:48px; padding:12px 18px; border:0; border-radius:var(--r); background:var(--green); color:#fff; font:600 15px var(--sans); cursor:pointer; transition:background .11s var(--ease); }
.sv .submit button:hover:not(:disabled) { background:#8cc65a; }
.sv .submit button:disabled { background:#c6cfd1; color:#f4f6f6; cursor:not-allowed; }
.sv .submit .hint { font-size:13px; color:var(--muted); max-width:40ch; }

/* Coluna lateral */
.sv .side { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.sv .side section { background:var(--paper); padding:24px; text-align:left; }
.sv .side .side-title { display:block; margin:0 0 14px; padding:0; border-radius:0; background:none; font:700 14px/1.4 var(--sans); color:var(--green); text-align:left; white-space:normal; }
.sv .side p { margin:0 0 6px; font-size:15px; }
.sv .side .big { overflow-wrap:anywhere; display:block; margin:2px 0 4px; font-size:26px; font-weight:300; line-height:1.2; color:var(--ink); text-decoration:none; letter-spacing:-.01em; }
.sv .side a.big:hover { text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.sv .side .muted { color:var(--muted); font-size:14px; }
.sv .side hr { border:0; border-top:1px solid var(--line); margin:16px 0; }
.sv .steps { list-style:none; counter-reset:s; margin:0; padding:0; display:grid; gap:16px; }
.sv .steps li { counter-increment:s; display:grid; grid-template-columns:28px minmax(0,1fr); gap:2px 12px; }
.sv .steps li::before { content:counter(s); grid-row:span 2; width:28px; height:28px; border-radius:var(--r); display:grid; place-items:center; background:var(--layer); color:var(--ink); font:600 13px var(--sans); }
.sv .steps b { font-size:15px; font-weight:600; color:var(--ink); }
.sv .steps span { font-size:14px; color:var(--muted); }
.sv .seals { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.sv .seals img { display:block; height:32px; width:auto; }
.sv .link { display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:500; color:var(--ink); text-decoration:none; }
.sv .link:hover { text-decoration:underline; text-underline-offset:3px; }
.sv p.legal { margin:0; padding:0 0 40px; font-size:12px; line-height:1.6; color:var(--muted); }

@media (max-width:991px) {
    .sv .grid { grid-template-columns:minmax(0,1fr); }
    .sv .facts { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:767px) {
    .sv .w { padding:0 16px; }
    .sv .top { padding-top:32px; }
    .sv .top .lead { font-size:17px; margin-bottom:28px; }
    .sv .body { padding:36px 0 56px; }
    .sv .card { padding:22px 18px; }
    .sv .f.c6, .sv .f.c4 { grid-column:span 12; }
    .sv .note { grid-template-columns:minmax(0,1fr); }
    .sv .submit button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    .sv *, .sv *::before, .sv *::after { transition:none !important; animation:none !important; }
}

/* Documento (políticas): índice lateral fixo + texto + tabelas */
.sv .doc { display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; align-items:start; }
.sv .toc { position:sticky; top:96px; border-left:1px solid var(--line); }
.sv .toc .side-title { display:block; margin:0 0 10px; padding:0 0 0 16px; font:700 14px/1.4 var(--sans); color:var(--green); }
.sv .toc ol { list-style:none; margin:0; padding:0; }
.sv .toc a { display:block; margin-left:-1px; padding:7px 16px; border-left:2px solid transparent; font-size:14px; line-height:1.4; color:var(--muted); text-decoration:none; transition:color .11s var(--ease), border-color .11s var(--ease); }
.sv .toc a:hover { color:var(--ink); border-left-color:var(--green); }
.sv .prose { max-width:76ch; }
.sv .prose section { padding:0 0 40px; margin:0 0 40px; border-bottom:1px solid var(--line); scroll-margin-top:110px; }
.sv .prose section:last-child { border-bottom:0; margin-bottom:0; }
.sv .prose h2 { margin-bottom:14px; }
.sv .prose h3 { margin:28px 0 8px; font-size:17px; }
.sv .prose p, .sv .prose li { font-size:16px; line-height:1.7; }
.sv .prose ul { margin:0 0 16px; padding-left:20px; }
.sv .prose li { margin-bottom:6px; }
.sv .prose a { text-decoration:underline; text-underline-offset:3px; }
.sv .prose code { font:400 13.5px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color:var(--ink); background:var(--layer); padding:1px 5px; border-radius:3px; border:0; white-space:nowrap; }
.sv .tbl-wrap { overflow-x:auto; margin:16px 0 8px; border:1px solid var(--line); border-radius:var(--r); }
.sv table.tbl { width:100%; min-width:620px; border-collapse:collapse; table-layout:fixed; font-size:14.5px; }
.sv .tbl.cookies th:nth-child(1) { width:20%; } .sv .tbl.cookies th:nth-child(2) { width:20%; } .sv .tbl.cookies th:nth-child(4) { width:18%; }
.sv .tbl.store th:nth-child(1) { width:36%; } .sv .tbl.store th:nth-child(2) { width:22%; } .sv .tbl.store th:nth-child(4) { width:18%; }
.sv .tbl th { text-align:left; padding:12px 16px; background:var(--layer); color:var(--ink); font-weight:600; border-bottom:1px solid var(--line); white-space:nowrap; }
.sv .tbl td { padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; line-height:1.55; }
.sv .tbl tr:last-child td { border-bottom:0; }
.sv .tbl td { overflow-wrap:break-word; }
.sv .pill { display:inline-block; padding:2px 8px; border-radius:3px; font-size:12.5px; font-weight:600; }
.sv .pill.req { background:#f1f8ea; color:#2f5f10; }
.sv .pill.opt { background:#eef3f5; color:#3d5a63; }
.sv .callout { margin:20px 0 0; padding:16px 20px; border-left:3px solid var(--green); border-radius:0 var(--r) var(--r) 0; background:#f1f8ea; font-size:15px; }
.sv .callout p { margin:0; font-size:15px; }
.sv .browsers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:16px 0 0; padding:0; list-style:none; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.sv .browsers li { margin:0; background:var(--paper); }
.sv .browsers a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; font-size:15px; font-weight:500; color:var(--ink); text-decoration:none; }
.sv .browsers a:hover { background:var(--layer); }
@media (max-width:991px) {
    .sv .doc { grid-template-columns:minmax(0,1fr); gap:32px; }
    .sv .toc { position:static; }
}
@media (max-width:767px) { .sv .browsers { grid-template-columns:minmax(0,1fr); } }

/* Documentos: conteúdo legado (políticas, termos e documentação técnica) dentro do .prose */
.sv .toc a[aria-current="true"] { color:var(--ink); font-weight:600; border-left-color:var(--green); }
.sv .toc .toc-extra { margin:24px 0 0; padding:16px 0 0 16px; border-top:1px solid var(--line); }
.sv .toc .toc-extra .side-title { padding-left:0; }
.sv .toc .toc-extra a { margin-left:0; padding:6px 0; border-left:0; color:var(--ink); font-weight:500; }
.sv .toc .toc-extra a:hover { color:var(--green-d); }
.sv .prose .institutional-intro, .sv .prose .doc-intro { margin:0 0 40px; padding:0 0 32px; border-bottom:1px solid var(--line); font-size:17px; line-height:1.75; color:var(--text); }
.sv .prose .institutional-section-content, .sv .prose .doc-prose { font-size:16px; line-height:1.75; color:var(--text); }
.sv .prose .doc-prose p { margin:0 0 14px; }
.sv .prose h2 { font-size:clamp(22px,2vw,26px); font-weight:500; line-height:1.3; }
.sv .prose .doc-section-number { margin-right:8px; color:var(--green-d); font-weight:600; }
.sv .prose strong, .sv .prose b { color:var(--ink); font-weight:600; }
.sv .prose h4, .sv .prose h5 { margin:32px 0 10px; color:var(--ink); font-size:17px; line-height:1.4; font-weight:600; letter-spacing:0; text-transform:none; }
.sv .prose #printableArea > h2.h-minimal { margin:0 0 16px !important; font-size:clamp(22px,2vw,26px); font-weight:500; }
.sv .prose #printableArea p { font-size:16px; line-height:1.75; }
.sv .prose table { width:100%; margin:16px 0; border-collapse:collapse; font-size:14.5px; }
.sv .prose table th, .sv .prose table td { padding:10px 12px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.sv .prose table th { background:var(--layer); color:var(--ink); }
.sv .prose img { max-width:100%; height:auto; }
.sv .prose .btn-info { display:none; }

/* Central de documentos */
.sv .lib-group { margin:0 0 48px; }
.sv .lib-group:last-child { margin-bottom:0; }
.sv .lib-group > h2 { margin:0 0 16px; font-size:20px; font-weight:500; }
.sv .lib { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.sv .lib a { display:flex; flex-direction:column; gap:6px; min-height:168px; padding:24px 26px; background:var(--paper); text-decoration:none; color:var(--text); transition:background .11s var(--ease); }
.sv .lib a:hover { background:var(--layer); }
.sv .lib .kind { font:700 13px var(--sans); color:var(--green); }
.sv .lib b { font-size:18px; font-weight:600; color:var(--ink); line-height:1.35; }
.sv .lib span.d { font-size:15px; color:var(--muted); }
.sv .lib .go { margin-top:auto; padding-top:14px; color:var(--ink); }
.sv .lib a.single { grid-column:1 / -1; min-height:0; }
@media (max-width:767px) { .sv .lib { grid-template-columns:minmax(0,1fr); } .sv .lib a { min-height:0; } }
.sv .lib.c3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:991px) { .sv .lib.c3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .sv .lib.c3 { grid-template-columns:minmax(0,1fr); } }
