/*
 * Acabamento de alto padrão para os temas autorais e legados.
 *
 * Carrega depois do CSS específico: preserva tipografia, paleta e a intenção
 * de cada nicho, mas impede que a personalidade dependa de borda grossa,
 * sombra dura ou cartão dentro de cartão. As quatro famílias modernas têm a
 * própria curadoria em variacoes/tema.css e não entram nestes seletores.
 */

.vt-familia-autoral {
  --vt-premium-linha: color-mix(in srgb, var(--vt-tinta) 11%, transparent);
  --vt-premium-superficie: color-mix(in srgb, var(--vt-papel) 78%, transparent);
}

.vt-familia-autoral .vt-secao { padding-block: clamp(40px, 5.5vw, 68px); }
.vt-familia-autoral .vt-principal > .vt-secao + .vt-secao { border-top: 1px solid var(--vt-premium-linha); }
.vt-familia-autoral .vt-secao-topo { max-width: 700px; margin-bottom: clamp(20px, 3vw, 30px); border-bottom: 0; }
.vt-familia-autoral .vt-subtitulo { max-width: 620px; line-height: 1.65; }
.vt-familia-autoral .vt-titulo {
  display: flex; align-items: center; gap: 10px; padding: 0;
  border: 0; border-radius: 0; background: transparent;
}
.vt-familia-autoral .vt-titulo-icone {
  width: 30px; height: 30px; border: 0; border-radius: 50%;
  background: transparent; box-shadow: none; color: var(--cor); transform: none;
}
.vt-familia-autoral .vt-titulo-icone svg { transform: none; }

/* Informações rápidas em uma linha editorial. */
.vt-familia-autoral .vt-fatos { padding: 18px 0 8px; }
.vt-familia-autoral .vt-fatos-lista { gap: 0; padding-block: 10px 14px; }
.vt-familia-autoral .vt-fato {
  padding: 7px clamp(16px, 2.4vw, 28px); gap: 11px; border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
}
.vt-familia-autoral .vt-fato:first-child { padding-left: 0; }
.vt-familia-autoral .vt-fato + .vt-fato { border-left: 1px solid var(--vt-premium-linha); }
.vt-familia-autoral .vt-fato:hover { transform: none; border-color: var(--vt-premium-linha); color: var(--cor-escura); }
.vt-familia-autoral .vt-fato-icone {
  width: 30px; height: 30px; border: 0; border-radius: 50%;
  background: transparent; box-shadow: none; color: var(--cor); transform: none;
}

/* Agenda: uma superfície principal; as escolhas são linhas, não minicaixas. */
.vt-familia-autoral .vt-agenda {
  border: 0; border-radius: 24px; overflow: hidden;
  box-shadow: 0 32px 80px -50px rgba(0,0,0,.58), 0 10px 30px -25px color-mix(in srgb, var(--cor) 28%, transparent);
}
.vt-familia-autoral .vt-agenda::before {
  content: ''; display: block; height: 4px; background: linear-gradient(90deg, var(--cor), color-mix(in srgb, var(--cor) 28%, white));
}
.vt-familia-autoral .vt-agenda-topo { padding: 25px 23px 21px; }
.vt-familia-autoral .vt-etapa { padding: 23px; border-top-color: var(--vt-premium-linha); }
.vt-familia-autoral .vt-servicos { gap: 0; }
.vt-familia-autoral .vt-servico {
  padding: 16px 4px; border: 0; border-bottom: 1px solid var(--vt-premium-linha);
  border-radius: 0; background: transparent; box-shadow: none;
}
.vt-familia-autoral .vt-servico:last-child { border-bottom: 0; }
.vt-familia-autoral .vt-servico.escolhida {
  margin-inline: -10px; padding-inline: 14px; border-radius: 14px;
  border: 0; background: var(--vt-escolha-fraca); box-shadow: none;
}
.vt-familia-autoral .vt-servico-icone {
  width: 38px; height: 38px; border: 0; border-radius: 50%;
  background: color-mix(in srgb, var(--cor) 10%, transparent); color: var(--cor-escura); box-shadow: none;
}

/* Equipe: fotografia dominante, conteúdo solto e ação discreta. */
.vt-familia-autoral .vt-equipe-lista { gap: clamp(18px, 3vw, 28px); }
.vt-familia-autoral .vt-pessoa {
  flex-basis: 188px; padding: 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; gap: 12px;
}
.vt-familia-autoral .vt-pessoa:hover { border-color: transparent; box-shadow: none; transform: translateY(-3px); }
.vt-familia-autoral .vt-pessoa-foto {
  border: 0; border-radius: 20px; box-shadow: 0 24px 48px -36px rgba(0,0,0,.72);
}
.vt-familia-autoral .vt-pessoa-acao {
  width: max-content; padding-bottom: 3px; border-bottom: 1px solid currentColor;
  border-radius: 0; background: transparent; color: var(--cor-escura);
}
.vt-familia-autoral .vt-equipe-faixa .vt-pessoa-acao { border: 0; }

/* Oferta, prova social e funcionamento sem emoldurar cada informação. */
.vt-familia-autoral .vt-grade-pacotes { gap: 18px; }
.vt-familia-autoral .vt-pacote {
  padding: clamp(22px, 3vw, 30px); border: 0; border-radius: 22px;
  background: var(--vt-premium-superficie); box-shadow: 0 24px 52px -46px rgba(0,0,0,.72);
}
.vt-familia-autoral .vt-pacote-destaque {
  border: 0; background: color-mix(in srgb, var(--cor) 8%, var(--vt-papel)); box-shadow: none;
}
.vt-familia-autoral .vt-pacote-icone { border-radius: 50%; background: transparent; color: var(--cor); }
.vt-familia-autoral .vt-nota { padding: 0; border: 0; border-radius: 0; background: transparent; }
.vt-familia-autoral .vt-depo {
  position: relative; padding: 10px 4px 12px 28px; border: 0; border-radius: 0;
  border-left: 1px solid var(--vt-premium-linha); background: transparent;
}
.vt-familia-autoral .vt-depo::before {
  content: '“'; position: absolute; left: 10px; top: 0; color: var(--cor);
  font: 38px/1 Georgia, serif; opacity: .55;
}
.vt-familia-autoral .vt-depo-resposta {
  padding: 12px 0 0; border-radius: 0; border-top: 1px solid var(--vt-premium-linha); background: transparent;
}
.vt-familia-autoral .vt-horarios { border: 0; border-radius: 0; background: transparent; }
.vt-familia-autoral .vt-horarios li { padding: 14px 2px; border-bottom-color: var(--vt-premium-linha); }
.vt-familia-autoral .vt-horarios .vt-hoje { background: transparent; color: var(--cor-escura); }
.vt-familia-autoral .vt-mapa-caixa {
  border: 0; border-radius: 22px; box-shadow: 0 30px 70px -52px rgba(0,0,0,.78);
}
.vt-familia-autoral .vt-banner {
  min-height: clamp(220px, 30vw, 320px); border-radius: 22px;
  box-shadow: 0 30px 62px -48px rgba(0,0,0,.82);
}
.vt-familia-autoral .vt-banner-texto strong { font-size: clamp(21px, 2.8vw, 30px); letter-spacing: -.03em; }

@media (min-width: 1024px) {
  .vt-familia-autoral .vt-corpo { max-width: 1200px; gap: clamp(38px, 4.5vw, 64px); }
  .vt-familia-autoral .vt-principal .vt-secao { padding-block: 54px; }
}

@media (max-width: 719px) {
  .vt-familia-autoral .vt-secao { padding-block: 38px; }
  .vt-familia-autoral .vt-agenda { border-radius: 20px; }
  .vt-familia-autoral .vt-fato { padding-inline: 15px; }
  .vt-familia-autoral .vt-fato:first-child { padding-left: 0; }
  .vt-familia-autoral .vt-identidade h1 {
    font-size: clamp(28px, 8vw, 34px); line-height: 1;
    display: block; overflow: visible; -webkit-line-clamp: unset;
    overflow-wrap: normal; word-break: normal; text-wrap: balance;
  }
  .vt-familia-autoral .vt-marca .vt-logo.vt-logo-quadrado,
  .vt-familia-autoral .vt-marca .vt-logo.vt-logo-redondo { width: 72px; height: 72px; }
}
