/* =========================================================================
   MyHealth — layout de leitura longa para as páginas legais (/myhealth/legal)
   Depende dos tokens de myhealth.css. PT-BR canônico, modo claro apenas.
   ========================================================================= */

.mh-legal-body{ background:var(--mh-canvas); }

/* Topo simplificado */
.mh-legal-top{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(12px); -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--mh-hairline); }
.mh-legal-top__inner{ display:flex; align-items:center; justify-content:space-between; gap:var(--mh-s4); height:60px; }
.mh-legal-back{ font-size:var(--mh-callout); font-weight:600; color:var(--mh-brand); white-space:nowrap; }

/* Switch de idioma — mesmo pill segmentado do mini-site (aqui são links <a>, não <button>) */
.mh-lang-switch{ display:inline-flex; align-items:center; gap:2px; background:var(--mh-surface-sunken);
  border:1px solid var(--mh-hairline); border-radius:999px; padding:3px; }
.mh-lang-switch .mh-lang{ display:inline-flex; align-items:center; justify-content:center; background:transparent;
  border:0; box-shadow:none; font-family:var(--mh-font-body); font-weight:600; font-size:.75rem;
  color:var(--mh-ink-3); padding:5px 10px; border-radius:999px; min-width:34px; min-height:30px;
  line-height:1; text-decoration:none; }
.mh-lang-switch .mh-lang:hover{ color:var(--mh-ink); text-decoration:none; }
.mh-lang-switch .mh-lang.is-active{ background:var(--mh-surface); color:var(--mh-ink); box-shadow:var(--mh-e1); }

/* Mobile: o header fica apertado com 3 itens → "Voltar" vira só a seta (a navegação continua) */
@media (max-width:600px){
  .mh-legal-back{ font-size:0; white-space:nowrap; }
  .mh-legal-back::before{ content:"\2190"; font-size:1.375rem; line-height:1; }
}

/* Banner de versão preliminar */
.mh-draft-banner{ background:var(--mh-watch-weak); border-bottom:1px solid #f3e3a3; }
.mh-draft-banner .mh-container{ padding-block:12px; font-size:var(--mh-callout); color:var(--mh-ink); line-height:1.5; }

/* Destaque de campos pendentes [A CONFIRMAR] */
mark.mh-todo{ background:var(--mh-watch-weak); color:var(--mh-ink); border:1px solid #f3e3a3;
  border-radius:6px; padding:1px 6px; font-style:normal; }

/* Corpo do documento */
.mh-legal{ max-width:780px; padding-block:clamp(32px,5vw,56px); }
.mh-doc-meta{ font-size:var(--mh-callout); color:var(--mh-ink-2); margin-bottom:var(--mh-s4); line-height:1.7; }
.mh-legal h1{ font-size:var(--mh-title-1); margin-bottom:var(--mh-s4); }
.mh-doc-note{ font-size:var(--mh-callout); color:var(--mh-ink-2); background:var(--mh-surface);
  border:1px solid var(--mh-hairline); border-radius:var(--mh-r-chip); padding:12px 16px; margin-bottom:var(--mh-s8); }

.mh-legal h2{ font-size:1.375rem; font-weight:700; margin:clamp(36px,5vw,48px) 0 var(--mh-s4);
  padding-top:var(--mh-s6); border-top:1px solid var(--mh-hairline); }
.mh-legal h3{ font-size:1.125rem; font-weight:600; margin:var(--mh-s8) 0 var(--mh-s3); }
.mh-legal p{ margin:0 0 var(--mh-s4); color:var(--mh-ink-2); line-height:1.75; max-width:70ch; }
.mh-legal strong{ color:var(--mh-ink); }
.mh-legal ul,.mh-legal ol{ margin:0 0 var(--mh-s4); padding-left:1.4em; color:var(--mh-ink-2); line-height:1.75; }
.mh-legal li{ margin-bottom:var(--mh-s2); }
.mh-legal li::marker{ color:var(--mh-brand); }
.mh-legal blockquote{ margin:0 0 var(--mh-s4); padding:var(--mh-s4) var(--mh-s6); background:var(--mh-surface);
  border-left:3px solid var(--mh-brand-weak); border-radius:0 var(--mh-r-chip) var(--mh-r-chip) 0; color:var(--mh-ink-2); }
.mh-legal blockquote p:last-child{ margin-bottom:0; }
.mh-legal hr{ border:0; border-top:1px solid var(--mh-hairline); margin:var(--mh-s8) 0; }
.mh-legal code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85em;
  background:var(--mh-surface-sunken); border:1px solid var(--mh-hairline); border-radius:6px; padding:1px 6px; color:var(--mh-ink); }

/* Tabelas (responsivas) */
.mh-table-scroll{ overflow-x:auto; margin:0 0 var(--mh-s6); border:1px solid var(--mh-hairline);
  border-radius:var(--mh-r-card); background:var(--mh-surface); box-shadow:var(--mh-e1); }
.mh-legal table{ border-collapse:collapse; width:100%; min-width:560px; font-size:var(--mh-callout); }
.mh-legal th{ text-align:left; font-weight:700; color:var(--mh-ink); background:var(--mh-surface-sunken);
  padding:12px 14px; border-bottom:1px solid var(--mh-hairline); white-space:nowrap; }
.mh-legal td{ padding:12px 14px; border-bottom:1px solid var(--mh-hairline); color:var(--mh-ink-2); vertical-align:top; line-height:1.6; }
.mh-legal tr:last-child td{ border-bottom:0; }

/* Navegação entre documentos */
.mh-doc-nav{ margin-top:clamp(40px,6vw,64px); background:var(--mh-surface); border:1px solid var(--mh-hairline);
  border-radius:var(--mh-r-card); box-shadow:var(--mh-e1); padding:var(--mh-s6); }
.mh-doc-nav h2{ border:0; padding:0; margin:0 0 var(--mh-s4); font-size:var(--mh-headline); }
.mh-doc-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--mh-s3); }
.mh-doc-nav a{ font-weight:600; font-size:var(--mh-callout); }
.mh-doc-nav li[aria-current="page"] a{ color:var(--mh-ink); pointer-events:none; text-decoration:none; }
.mh-doc-nav li[aria-current="page"] a::after{ content:" · você está aqui"; font-weight:400; color:var(--mh-ink-3); }

/* Footer compacto das páginas legais */
.mh-footer--legal .mh-footer__grid{ grid-template-columns:1fr; gap:var(--mh-s6); }
@media (min-width:768px){ .mh-footer--legal .mh-footer__grid{ grid-template-columns:1.3fr 1fr 1.2fr; } }

@media print{
  .mh-legal-top,.mh-draft-banner,.mh-doc-nav,.mh-safety,.mh-footer{ display:none; }
  .mh-legal{ max-width:100%; }
  body{ background:#fff; }
}
