/* ==========================================================================
   GIA Health · privacidade.css
   Política de privacidade, termos e compliance (frame 2549:2768 do Figma).
   ========================================================================== */

.pv-hat {
  font-family: var(--geist); font-weight: 500; font-size: 12px; line-height: 16px;
  letter-spacing: -0.01em; color: var(--t2); white-space: nowrap;
}
.pv-hat--escuro { color: var(--mauve); gap: 8px; }

/* Hero escuro ------------------------------------------------------------- */
.pv-hero { background: var(--noite); color: #fff; }
.pv-hero__inner {
  max-width: 1136px; margin-inline: auto; box-sizing: content-box;
  padding: 144px 20px 56px;
  display: flex; flex-direction: column; align-items: flex-start;
}
.pv-hero__title { margin-top: 16px; }
.pv-hero__lead {
  margin-top: 24px; max-width: 720px;
  font-size: 16px; line-height: 26px; letter-spacing: -0.03em; color: var(--mauve);
}
.pv-hero__date {
  margin-top: 8px; font-weight: 500; font-size: 12px; line-height: 16px; letter-spacing: -0.01em; color: var(--mauve);
}

/* Conteúdo ---------------------------------------------------------------- */
.pv-content { background: #fff; }
.pv-content__inner {
  max-width: 1136px; margin-inline: auto; box-sizing: content-box;
  padding: 72px 20px;
  display: flex; flex-direction: column; gap: 56px;
}

/* Índice lateral (fixo ao rolar no desktop) ------------------------------- */
.pv-aside { display: flex; flex-direction: column; gap: 32px; width: 100%; }
.pv-toc { display: grid; grid-template-columns: 1fr; gap: 32px; }
.pv-toc__group { display: flex; flex-direction: column; gap: 12px; }
.pv-toc__title { font-weight: 500; font-size: 12px; line-height: 16px; letter-spacing: -0.01em; color: var(--t1); }
.pv-toc a {
  display: block; padding: 7px 0 7px 16px; border-left: 2px solid var(--linha);
  font-size: 14px; line-height: 18px; letter-spacing: -0.02em; color: var(--t3);
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.pv-toc a:hover { color: var(--t1); }
.pv-toc a.is-active { border-left-color: var(--coral); color: var(--t1); }

.pv-help { padding-top: 24px; border-top: 1px solid var(--linha); display: flex; flex-direction: column; gap: 8px; }
.pv-help__title { font-family: var(--inter); font-size: 20px; line-height: 28px; letter-spacing: -0.03em; color: var(--t1); }
.pv-help__text { font-size: 15px; line-height: 24px; letter-spacing: -0.02em; color: var(--t2); }
.pv-help__text a, .pv-row dd a {
  color: var(--t1); text-decoration: underline; text-decoration-color: var(--linha);
  text-underline-offset: 3px; overflow-wrap: anywhere; transition: text-decoration-color .25s;
}
.pv-help__text a:hover, .pv-row dd a:hover { text-decoration-color: var(--coral); }

/* Texto ------------------------------------------------------------------- */
.pv-text { width: 100%; min-width: 0; }
.pv-group__head { padding: 72px 0 40px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pv-group__head { scroll-margin-top: 40px; }
.pv-group--first .pv-group__head { padding-top: 0; scroll-margin-top: 112px; }
.pv-h { font-family: var(--inter); font-weight: 400; font-size: 26px; line-height: 34px; letter-spacing: -0.035em; color: var(--t1); }
.pv-lead { font-size: 16px; line-height: 26px; letter-spacing: -0.03em; color: var(--t2); }

.pv-topic { padding: 32px 0; border-top: 1px solid var(--linha); scroll-margin-top: 112px; }
.pv-topic__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.pv-topic__head .ms { color: var(--coral); font-size: 20px; }
.pv-topic__title { font-family: var(--inter); font-weight: 400; font-size: 20px; line-height: 28px; letter-spacing: -0.03em; color: var(--t1); }
.pv-topic__body { padding-top: 8px; display: flex; flex-direction: column; gap: 16px; }
.pv-link { color: var(--t1); text-decoration: underline; text-decoration-color: var(--linha); text-underline-offset: 3px; transition: text-decoration-color .25s; }
.pv-link:hover { text-decoration-color: var(--coral); }
.pv-p { font-size: 15px; line-height: 24px; letter-spacing: -0.02em; color: var(--t2); }

.pv-checks { display: flex; flex-direction: column; gap: 10px; }
.pv-checks li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 24px; letter-spacing: -0.02em; color: var(--t1); }
.pv-checks .ms { color: var(--coral); font-size: 20px; margin-top: 2px; }

.pv-table { border-top: 1px solid var(--linha); }
.pv-row {
  display: flex; flex-direction: column; gap: 4px; padding: 18px 0; border-bottom: 1px solid var(--linha);
  font-size: 15px; line-height: 24px; letter-spacing: -0.02em;
}
.pv-row dt { color: var(--t1); }
.pv-row dd { min-width: 0; color: var(--t2); }

/* Responsivo -------------------------------------------------------------- */
@media (min-width: 640px) {
  .pv-toc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 40px; }
  .pv-row { flex-direction: row; gap: 32px; }
  .pv-row dt { flex: none; width: 200px; }
  .pv-row dd { flex: 1 1 auto; }
}
@media (min-width: 768px) {
  .pv-hero__inner { padding: 168px 40px 72px; }
  .pv-hero__lead { font-size: 18px; line-height: 28px; }
  .pv-content__inner { padding: 96px 40px; gap: 64px; }
  .pv-h { font-size: 32px; line-height: 40px; }
  .pv-lead { font-size: 18px; line-height: 28px; }
  .pv-group__head { padding-top: 96px; }
  .pv-topic { padding-block: 40px; }
}
@media (min-width: 1100px) {
  .pv-content__inner { flex-direction: row; align-items: flex-start; gap: 112px; padding-block: 160px; }
  .pv-aside {
    position: sticky; top: 120px; flex: none; width: 264px;
    max-height: calc(100vh - 144px); overflow-y: auto;
    scrollbar-width: thin; scrollbar-color: var(--linha) transparent;
  }
  .pv-toc { display: flex; flex-direction: column; gap: 32px; }
  .pv-text { max-width: 760px; }
  .pv-group__head { padding-top: 120px; }
}
@media (min-width: 1216px) {
  .pv-hero__inner { padding: 200px 0 96px; }
  .pv-content__inner { padding-inline: 0; }
}
@media (min-width: 900px) {
  .pv-hero__title { white-space: nowrap; }
}
