/* Valor Digital · estilos das páginas autorais (início, contato, 404, design system, privacidade).
 * Só composição específica destas páginas. Componentes genéricos vivem no Design System
 * (/assets/vd/vd.<hash>.css); aqui não se redefine nenhuma classe .vd-*. */

.site-list-reset { margin: 0; padding: 0; list-style: none; }

/* =========================================================
   Início
   ========================================================= */
.home-hero,
.nf-hero { border-bottom: var(--vd-rule) solid var(--vd-border-default); }
.home-hero__grid {
  display: grid;
  gap: clamp(32px, 2rem + 3vw, 72px);
  align-items: end;
}
@media (min-width: 64rem) {
  .home-hero__grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.9fr); }
}
.home-scope { gap: var(--vd-space-4); box-shadow: var(--vd-shadow-sm); }
.home-scope .vd-card__title { font-size: 1.3125rem; }
.home-scope__note {
  padding-top: var(--vd-space-3);
  border-top: var(--vd-rule) solid var(--vd-border-subtle);
  color: var(--vd-text-secondary);
  font-size: var(--vd-text-body-sm);
  font-weight: var(--vd-weight-semibold);
}

.home-service { gap: var(--vd-space-4); }
.home-service__index { color: var(--vd-text-caption); }
.home-service .vd-card__title { font-size: 1.3125rem; }

.home-segment { height: 100%; gap: var(--vd-space-2); }
.home-segment .vd-card__text { font-size: var(--vd-text-body-sm); line-height: 1.5; }
.home-more { margin-top: var(--vd-space-6); }

.home-case { height: 100%; gap: var(--vd-space-2); }
.home-case .vd-card__text { font-size: var(--vd-text-body-sm); line-height: 1.5; }

.case-block { gap: var(--vd-space-2); }
.case-block .vd-card__text { line-height: 1.55; }
.case-quote { margin: 0; gap: var(--vd-space-3); max-width: 48rem; }
.case-quote blockquote { margin: 0; }
.case-quote blockquote p {
  color: var(--vd-text-primary);
  font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  line-height: 1.5;
}
.case-quote figcaption { color: var(--vd-text-secondary); font-size: var(--vd-text-body-sm); }

.home-product__head { margin-bottom: 0; }
.home-product__card { gap: var(--vd-space-4); align-self: center; max-width: 28rem; }
@media (min-width: 60rem) {
  .home-product__card { justify-self: end; width: 100%; }
}
.home-product__symbol {
  width: 88px;
  height: 88px;
  border-radius: var(--vd-radius-squircle);
  box-shadow: 0 0 0 1px var(--vd-border-default);
}
.home-product__url { color: var(--vd-text-secondary); }

.home-tools { display: grid; gap: var(--vd-space-6); }
@media (min-width: 64rem) {
  .home-tools { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
}
.home-geo {
  gap: var(--vd-space-4);
  padding: clamp(24px, 1.25rem + 1.5vw, 40px);
  border-color: transparent;
  background: var(--vd-surface-callout);
}
.home-geo__title { font-size: var(--vd-text-display-2); letter-spacing: -0.035em; line-height: 1.1; }
.home-geo .vd-card__text { color: var(--vd-text-primary); font-size: var(--vd-text-body-lg); }
.home-geo .vd-card__meta { color: var(--vd-text-secondary); }
.home-tools__list {
  display: grid;
  gap: var(--vd-space-6);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
.home-tools__more { grid-column: 1 / -1; }
.home-tools__link { color: inherit; text-decoration: none; }
.home-tools__link::after { content: " →"; color: var(--vd-text-accent); }
.home-tools__link:hover { color: var(--vd-text-link); }
.home-tools__items { gap: var(--vd-space-2); }
@media (min-width: 40rem) {
  .home-tools__items { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--vd-space-6); }
}

.home-cta__actions { justify-items: start; }
@media (min-width: 60rem) {
  .home-cta__actions { justify-items: end; text-align: right; }
}
.home-cta__alt {
  display: flex;
  flex-wrap: wrap;
  gap: var(--vd-space-2) var(--vd-space-5);
  font-size: 0.9375rem;
}
@media (min-width: 60rem) {
  .home-cta__alt { justify-content: flex-end; }
}
.home-cta__alt a { color: var(--vd-text-secondary); }
.home-cta__alt a:hover { color: var(--vd-text-primary); }

/* =========================================================
   Contato
   ========================================================= */
.contact-grid {
  display: grid;
  gap: clamp(32px, 2rem + 2vw, 64px);
  align-items: start;
}
@media (min-width: 64rem) {
  .contact-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
}
.contact-card { gap: var(--vd-space-4); padding: clamp(24px, 1.25rem + 1.5vw, 40px); }
.contact-card .vd-form { margin-top: var(--vd-space-2); }
.contact-form__row { display: grid; gap: var(--vd-space-5); }
@media (min-width: 40rem) {
  .contact-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.contact-aside { display: grid; gap: var(--vd-space-6); align-content: start; }
@media (min-width: 64rem) {
  .contact-aside { position: sticky; top: calc(var(--vd-header-h) + var(--vd-space-6)); }
}
.contact-aside__title { font-size: 1.3125rem; }
.contact-channels dd a { color: var(--vd-text-primary); font-weight: var(--vd-weight-semibold); }

/* =========================================================
   404
   ========================================================= */
.nf-hero__inner { max-width: 50rem; }
.nf-links__title { margin-bottom: var(--vd-space-6); font-size: var(--vd-text-h2); }
.nf-list { gap: var(--vd-space-2); font-size: 0.9375rem; }
.nf-direct { margin-top: var(--vd-space-8); color: var(--vd-text-secondary); }

/* =========================================================
   Documento com índice lateral (privacidade, design system)
   ========================================================= */
.site-doc { display: grid; gap: var(--vd-space-10); align-items: start; }
.site-doc__body { min-width: 0; }
@media (min-width: 64rem) {
  .site-doc { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--vd-space-16); }
  .site-toc {
    position: sticky;
    top: calc(var(--vd-header-h) + var(--vd-space-6));
    max-height: calc(100vh - var(--vd-header-h) - var(--vd-space-12));
    overflow-y: auto;
  }
}
.site-toc {
  padding: var(--vd-space-4);
  border: var(--vd-rule) solid var(--vd-border-default);
  border-radius: var(--vd-radius-lg);
  background: var(--vd-surface-card);
}
.site-toc__title {
  margin: 0 0 var(--vd-space-2) var(--vd-space-2);
  color: var(--vd-text-caption);
  font-family: var(--vd-font-mono);
  font-size: 0.6875rem;
  font-weight: var(--vd-weight-semibold);
  letter-spacing: var(--vd-tracking-caps);
  text-transform: uppercase;
}
.site-toc__list { display: grid; gap: 2px; }
.site-toc__list a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 6px 8px;
  border-radius: var(--vd-radius-md);
  color: var(--vd-text-secondary);
  font-size: 0.9375rem;
  line-height: 1.35;
  text-decoration: none;
}
.site-toc__list a:hover { background: var(--vd-surface-muted); color: var(--vd-text-primary); }
.site-toc__num { color: var(--vd-text-caption); font-family: var(--vd-font-mono); font-size: 0.75rem; }
.vd-prose.site-doc__body > h2:first-child { margin-top: 0; }
.legal-updated { color: var(--vd-text-caption); }

/* =========================================================
   Pesquisas (/pesquisa/ e /pesquisa/buscas-com-ia-2026/) e cartão da pesquisa na página inicial
   Gráficos: SVG inline com texto em px e barras em % da largura (legíveis a 360 px);
   cores só de tokens do DS: tinta nas barras, verde só na barra de destaque.
   ========================================================= */
.home-tools__study { grid-column: 1 / -1; }

.pesquisa-head { display: grid; gap: var(--vd-space-8); align-items: start; }
@media (min-width: 64rem) {
  .pesquisa-head { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--vd-space-12); }
}
.pesquisa-meta { color: var(--vd-text-caption); }
.pesquisa-resumo { gap: var(--vd-space-4); box-shadow: var(--vd-shadow-sm); }
.pesquisa-resumo__list { gap: var(--vd-space-3); font-size: var(--vd-text-body-sm); line-height: 1.5; }
.pesquisa-num { font-weight: var(--vd-weight-extrabold); font-variant-numeric: tabular-nums; }
.pesquisa-nowrap { white-space: nowrap; }
.pesquisa-head--flush { margin-bottom: 0; }

.pesquisa-toc {
  padding-block: var(--vd-space-4);
  border-bottom: var(--vd-rule) solid var(--vd-border-default);
  background: var(--vd-surface-card);
}
.pesquisa-toc__title {
  margin: 0;
  color: var(--vd-text-caption);
  font-family: var(--vd-font-mono);
  font-size: 0.6875rem;
  font-weight: var(--vd-weight-semibold);
  letter-spacing: var(--vd-tracking-caps);
  text-transform: uppercase;
}
.pesquisa-toc__list { --vd-cluster-gap: var(--vd-space-2) var(--vd-space-5); font-size: var(--vd-text-body-sm); }
.pesquisa-toc__list a { color: var(--vd-text-secondary); text-decoration: none; }
.pesquisa-toc__list a:hover { color: var(--vd-text-primary); text-decoration: underline; }

.pesquisa-chart { min-width: 0; margin: 0; gap: var(--vd-space-5); }
@media (max-width: 30rem) {
  .pesquisa-chart { padding: var(--vd-space-4); }
}
.pesquisa-chart__svg { display: block; width: 100%; overflow: visible; }
.pesquisa-chart__track { fill: var(--vd-neutral-100); }
.pesquisa-chart__bar { fill: var(--vd-text-primary); }
.pesquisa-chart__bar--destaque { fill: var(--vd-green-600); }
.pesquisa-chart__label {
  fill: var(--vd-text-primary);
  font-family: var(--vd-font-sans);
  font-size: 13px;
  font-weight: var(--vd-weight-semibold);
}
.pesquisa-chart__value {
  fill: var(--vd-text-primary);
  font-family: var(--vd-font-mono);
  font-size: 12px;
  font-weight: var(--vd-weight-semibold);
}
@media (min-width: 40rem) {
  .pesquisa-chart__label { font-size: 14px; }
  .pesquisa-chart__value { font-size: 13px; }
}
.pesquisa-chart figcaption { color: var(--vd-text-secondary); font-size: var(--vd-text-body-sm); line-height: 1.5; }

.pesquisa-table caption {
  padding: 12px 16px;
  border-bottom: 1px solid var(--vd-border-subtle);
  color: var(--vd-text-secondary);
  font-size: var(--vd-text-body-sm);
  line-height: 1.45;
  text-align: left;
}
.pesquisa-table thead th { white-space: normal; }
.pesquisa-table td.vd-num { white-space: nowrap; }
.pesquisa-n { color: var(--vd-text-caption); }
.pesquisa-table .pesquisa-table__total th,
.pesquisa-table .pesquisa-table__total td { background: var(--vd-surface-muted); font-weight: var(--vd-weight-semibold); }
.pesquisa-table .pesquisa-table__grupo th {
  background: var(--vd-surface-muted);
  color: var(--vd-text-secondary);
  font-family: var(--vd-font-mono);
  font-size: 0.6875rem;
  font-weight: var(--vd-weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pesquisa-table:not(.pesquisa-table--segmentos) tbody th[scope="row"] { font-weight: var(--vd-weight-regular); }
.pesquisa-table--segmentos { min-width: 56rem; }
.pesquisa-table--segmentos thead th { min-width: 6.5rem; }
.pesquisa-table--segmentos thead th:first-child,
.pesquisa-table--segmentos tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 9rem;
  background: var(--vd-surface-card);
}
.pesquisa-table--segmentos thead th:first-child { background: var(--vd-surface-muted); }

.pesquisa-achado { gap: var(--vd-space-3); }
.pesquisa-achado .vd-stat__value { color: var(--vd-text-primary); }
.pesquisa-achado__conta { color: var(--vd-text-secondary); font-size: var(--vd-text-body-sm); font-weight: var(--vd-weight-semibold); }
.pesquisa-achado .vd-deflist { margin-top: var(--vd-space-2); }
.pesquisa-achado .vd-card__meta { margin-top: auto; padding-top: var(--vd-space-2); }

.pesquisa-code { margin-top: var(--vd-space-3); }
.pesquisa-cta { gap: var(--vd-space-4); padding: clamp(24px, 1.25rem + 1.5vw, 40px); border-color: transparent; background: var(--vd-surface-callout); }
@media (min-width: 60rem) {
  .pesquisa-cta { position: sticky; top: calc(var(--vd-header-h) + var(--vd-space-6)); }
}
.pesquisa-cta__title { font-size: var(--vd-text-h2); }
.pesquisa-cta .vd-card__text { color: var(--vd-text-primary); }

.pesquisa-metodo { row-gap: var(--vd-space-10); }
.pesquisa-metodo p { color: var(--vd-text-secondary); line-height: var(--vd-leading-relaxed); }
.pesquisa-metodo__full { grid-column: 1 / -1; }
.pesquisa-citacao { max-width: 48rem; }
.pesquisa-citacao p:last-child { overflow-wrap: anywhere; }
.pesquisa-fontes { max-width: 52rem; }
.pesquisa-fontes a { overflow-wrap: anywhere; }
.pesquisa-card { gap: var(--vd-space-3); }
