/* Layout jurídico. Tokens e componentes vêm exclusivamente do Flow DS 2026 S2. */
@import url('./flow-ds-2026.css');
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);line-height:var(--lh-body)}
.legal-shell{width:min(1080px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-6) 0 var(--space-12)}
.legal-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-inverse);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}
.legal-brand{display:flex;align-items:center;color:var(--text-inverse);text-decoration:none;font-weight:var(--fw-bold)}
.legal-brand img{width:98px;height:auto}
.legal-links{display:flex;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end}
.legal-links a{color:var(--grey-200);text-decoration:none;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);padding:var(--space-2);border-radius:var(--radius-sm)}
.legal-links a:hover,.legal-links a[aria-current=page]{background:var(--grey-700);color:var(--text-inverse)}
.legal-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(var(--space-4),4vw,var(--space-10))}
.legal-eyebrow{color:var(--text-link);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-caps)}
.legal-card h1{font-size:var(--fs-page-title);line-height:var(--lh-heading);margin:var(--space-2) 0 var(--space-4)}
.legal-card h2{font-size:var(--fs-h4);line-height:var(--lh-heading);margin:var(--space-8) 0 var(--space-2);scroll-margin-top:var(--space-4)}
.legal-card h3{font-size:var(--fs-section);margin:var(--space-5) 0 var(--space-1)}
.legal-card p,.legal-card li{font-size:var(--fs-body);color:var(--text-primary);overflow-wrap:anywhere}
.legal-card a{color:var(--text-link)}
.legal-card a:hover{color:var(--text-link-hover)}
.legal-card .flow-btn--primary,.legal-card .flow-btn--primary:hover{color:var(--text-inverse)}
.legal-summary{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-5) 0}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.legal-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-card)}
.legal-box h3{margin-top:0}
.legal-toc{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0}
.legal-toc a{text-decoration:none;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}
.legal-list li{margin:var(--space-1) 0}
.legal-card .legal-meta{color:var(--text-secondary);font-size:var(--fs-body-sm)}
.legal-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}
/* Seletores existentes apenas para compatibilidade de páginas ainda em migração. */
.legal-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font:var(--fw-semibold) var(--fs-body-sm) var(--font-body);text-decoration:none;cursor:pointer}
.legal-btn-primary{color:var(--text-inverse)!important;background:var(--gradient-flow);box-shadow:var(--shadow-sm)}
.legal-btn-secondary{color:var(--text-primary)!important;background:var(--surface-card);border-color:var(--border-default)}
.legal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}
.legal-field{min-width:0}.legal-field-full{grid-column:1/-1}
.legal-label{display:block;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);margin:0 0 var(--space-1)}
.legal-input,.legal-select,.legal-textarea{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:var(--fw-medium) var(--fs-body) var(--font-body);padding:var(--space-3);outline:none}
.legal-input:focus,.legal-select:focus,.legal-textarea:focus{border-color:var(--focus-ring);box-shadow:var(--shadow-focus)}
.legal-textarea{min-height:130px;resize:vertical}
.legal-help{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:var(--space-1)}
.legal-check{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-body-sm)}
.legal-alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold)}
.legal-alert-success{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-300)}
.legal-alert-danger{background:var(--danger-50);color:var(--danger-700);border:1px solid var(--danger-300)}
.legal-footer{text-align:center;color:var(--text-secondary);font-size:var(--fs-caption);padding:var(--space-5) var(--space-2)}
.legal-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.legal-table{width:100%;border-collapse:collapse;font-size:var(--fs-body-sm)}
.legal-table caption{text-align:left;font-weight:var(--fw-semibold);padding:var(--space-3) 0}
.legal-table th,.legal-table td{padding:var(--space-3);border:1px solid var(--border-subtle);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.legal-table th{background:var(--surface-sunken)}
.legal-note{font-size:var(--fs-body-sm);color:var(--text-secondary);border-left:3px solid var(--color-accent);padding-left:var(--space-3)}
a:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--space-1)}
@media(max-width:768px){.legal-nav{align-items:flex-start;flex-direction:column}.legal-links{justify-content:flex-start}.legal-grid,.legal-form{grid-template-columns:1fr}.legal-field-full{grid-column:auto}.legal-shell{width:calc(100% - var(--space-4));padding-top:var(--space-3)}.legal-table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.legal-nav,.legal-actions,.legal-footer{display:none}.legal-shell{width:100%;padding:0}.legal-card{padding:0;border:0;box-shadow:none}.legal-table{display:table;overflow:visible}.legal-card h2,.legal-card h3{break-after:avoid}.legal-table tr{break-inside:avoid}}
