/* Ajustes da versão estática (HTML) do site Dr. Vitor Arce Cathcart */

/* Rodapé: sem o crédito, o copyright fica centralizado */
@media (min-width: 768px) {
  .elementor-432 .elementor-element.elementor-element-66e21a6 { text-align: center; }
}

/* ---------- Botões dourados: texto branco (padrão pedido pelo cliente) ---------- */
:is(.elementor-element-70f7a2a, .elementor-element-97cc446, .elementor-element-e879853) .elementor-button {
  color: #fff !important;
  fill: #fff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(11, 45, 78, .28);
}

/* ---------- Páginas de especialidade: botões de agendamento (WhatsApp) ---------- */
.va-cta { display: flex; width: 100%; }
.va-cta--center { justify-content: center; }
.va-cta--start { justify-content: flex-start; }
.va-cta .va-cta__btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 20px 40px;
  background: #DBB171;
  color: #fff;
  font: 600 16px/1.2 "Lufga", sans-serif;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(11, 45, 78, .28);
  transition: background-color .25s ease, transform .25s ease;
}
.va-cta .va-cta__btn:hover { background: #CFA25F; color: #fff; transform: translateY(-2px); }
.va-cta .va-cta__btn:focus-visible { outline: 2px solid #0B2D4E; outline-offset: 3px; }
@media (max-width: 767px) {
  .va-cta .va-cta__btn { width: 100%; padding: 18px 20px; }
  /* topo (banner azul): botão na largura do conteúdo, com respiro até o fim do banner */
  .va-cta[data-track-location$="_topo"] { padding: 4px 0 20px; }
  .va-cta[data-track-location$="_topo"] .va-cta__btn { width: auto; padding: 18px 32px; }
}

/* ---------- Legibilidade (público 40+) ----------
   Tamanhos mínimos levantados bloco a bloco: só aumenta o que estava abaixo do mínimo.
   Textos corridos saem do peso Light para o Regular, que é mais legível. */

/* texto corrido: home e páginas de especialidade */
:is(.elementor-element-0cc66fc, .elementor-element-56a1c77, .elementor-element-3ca5c5b, .elementor-element-dfa9a49,
    .elementor-element-10e8b2e, .elementor-element-14d6c50, .elementor-element-8d9e480, .elementor-element-a73d6da,
    .elementor-element-50fba18) :is(p, li) {
  font-size: 19.2px !important; line-height: 1.6 !important; font-weight: 400 !important;
}
/* textos dos cards de especialidade da home */
:is(.elementor-element-ffbda17, .elementor-element-89618c6, .elementor-element-cce779b, .elementor-element-a410c1a) p {
  font-size: 17px !important; line-height: 1.5 !important; font-weight: 400 !important;
}
/* descrições em cards com ícone (home: "para você que", navegação; especialidades: tipos, abordagem) */
:is(.elementor-element-530e7e9, .elementor-element-89db105, .elementor-element-db00101, .elementor-element-170734d,
    .elementor-element-3e2041f, .elementor-element-3278dd6, .elementor-element-2822ea9, .elementor-element-aaf5055,
    .elementor-element-c70640c, .elementor-element-7136020, .elementor-element-4719c13, .elementor-element-fd69264,
    .elementor-element-70ad607, .elementor-element-56972f6, .elementor-element-e536f38, .elementor-element-72f2234,
    .elementor-element-400c515, .elementor-element-832e9f0, .elementor-element-1992a29) .elementor-icon-box-description {
  font-size: 17px !important; line-height: 1.5 !important; font-weight: 400 !important;
}
/* etapas "Do primeiro contato ao pós-operatório" (5 colunas: um pouco menor no desktop) */
:is(.elementor-element-a842dd6, .elementor-element-e426cf7, .elementor-element-95fed22, .elementor-element-c9e1065,
    .elementor-element-3bcffcc) .elementor-image-box-description {
  font-size: 16px !important; line-height: 1.5 !important;
}
/* cinzas claros demais para leitura (contraste ~2:1) -> cinza-azulado legível (>= 4.5:1) */
:is(.elementor-element-a842dd6, .elementor-element-e426cf7, .elementor-element-95fed22, .elementor-element-c9e1065,
    .elementor-element-3bcffcc) .elementor-image-box-description { color: #5B6B7E !important; }
.elementor-element-0cc66fc h6 span { color: #66768A !important; }
/* sintomas ("Quando procurar um especialista") */
:is(.elementor-element-e9dfab2, .elementor-element-283404c, .elementor-element-0895748, .elementor-element-8951aac,
    .elementor-element-bca4616, .elementor-element-bf2d32d) .elementor-icon-box-title {
  font-size: 17px !important; line-height: 1.35 !important;
}
/* perguntas frequentes */
.elementor-element-9658651 :is(p, span) { font-size: 18px !important; line-height: 1.6 !important; }
/* subtítulos em Lufga */
.elementor-element-86632ea .elementor-heading-title { font-size: 19.2px !important; line-height: 1.45 !important; }
.elementor-element-48d3f45 .elementor-heading-title { font-size: 17px !important; line-height: 1.45 !important; font-weight: 400 !important; }
/* botões */
.elementor-element-890cc83 .elementor-button { font-size: 13px !important; }
/* posts do blog */
.elementor-widget-theme-post-content :is(p, li) { font-size: 19px !important; line-height: 1.7 !important; }
.elementor-element-3171e37 .elementor-heading-title span { font-size: 13px !important; }
.elementor-element-d7ab590 .ha-tiles__tile-date { font-size: 13px !important; }
.elementor-element-d7ab590 .ha-tiles__tile-excerpt { font-size: 15px !important; line-height: 1.5 !important; }
/* rodapé */
.elementor-element-414e7c7 .elementor-heading-title { font-size: 17px !important; line-height: 1.45 !important; }
.elementor-element-66e21a6 .elementor-heading-title { font-size: 14px !important; line-height: 1.5 !important; font-weight: 400 !important; }
:is(.elementor-element-bfb7d5e, .elementor-element-a3bef68) .elementor-icon-list-text { font-size: 16px !important; line-height: 1.5 !important; font-weight: 400 !important; }

@media (max-width: 767px) {
  :is(.elementor-element-0cc66fc, .elementor-element-56a1c77, .elementor-element-3ca5c5b, .elementor-element-dfa9a49,
      .elementor-element-10e8b2e, .elementor-element-14d6c50, .elementor-element-8d9e480, .elementor-element-a73d6da,
      .elementor-element-50fba18) :is(p, li) { font-size: 17px !important; }
  :is(.elementor-element-ffbda17, .elementor-element-89618c6, .elementor-element-cce779b, .elementor-element-a410c1a) p { font-size: 16px !important; }
  :is(.elementor-element-530e7e9, .elementor-element-89db105, .elementor-element-db00101, .elementor-element-170734d,
      .elementor-element-3e2041f, .elementor-element-3278dd6, .elementor-element-2822ea9, .elementor-element-aaf5055,
      .elementor-element-c70640c, .elementor-element-7136020, .elementor-element-4719c13, .elementor-element-fd69264,
      .elementor-element-70ad607, .elementor-element-56972f6, .elementor-element-e536f38, .elementor-element-72f2234,
      .elementor-element-400c515, .elementor-element-832e9f0, .elementor-element-1992a29) .elementor-icon-box-description { font-size: 16px !important; }
  .elementor-element-9658651 :is(p, span) { font-size: 17px !important; }
  .elementor-element-1bb87b3 .e-n-accordion-item-title-text { font-size: 17px !important; }
  :is(.elementor-element-0533817, .elementor-element-4f376eb, .elementor-element-51a66c3, .elementor-element-f5bc33e) .elementor-heading-title { font-size: 18px !important; }
  :is(.elementor-element-86632ea, .elementor-element-ac6f8b5, .elementor-element-5567a26) .elementor-heading-title { font-size: 17px !important; line-height: 1.45 !important; }
  :is(.elementor-element-894e8a7, .elementor-element-34197a5, .elementor-element-b02b426, .elementor-element-1cff0b7) .elementor-button { font-size: 14px !important; }
  :is(.elementor-element-97cc446, .elementor-element-e879853) .elementor-button { font-size: 15px !important; }
  .elementor-widget-theme-post-content :is(p, li) { font-size: 18px !important; }
  .elementor-element-53b8e33 :is(.elementor-icon-list-text, time) { font-size: 15px !important; }
  .elementor-element-414e7c7 .elementor-heading-title { font-size: 16px !important; }
  /* "Um olhar humano": o respiro entre título e texto vinha da sobra da altura mínima da seção */
  .elementor-element-df2468f { margin-top: 24px !important; }
}

/* ---------- Blog: listagem completa com filtro ---------- */
.va-blog {
  --va-navy: #0B2D4E;
  --va-blue: #01559B;
  --va-gold: #DBB171;
  --va-gold-deep: #8C6430;
  --va-line: #E6EAF0;
  background: #F7F8FA;
  padding: 88px 20px 104px;
  font-family: "Lufga", sans-serif;
  color: var(--va-navy);
}
.va-blog__inner { max-width: 1280px; margin: 0 auto; }
.va-blog__head { text-align: center; max-width: 640px; margin: 0 auto 36px; }
.va-blog__title {
  font-family: "GC Backside Valley", serif;
  font-style: italic;
  font-weight: 500;
  font-size: 3.5em;
  line-height: 1;
  color: var(--va-blue);
  margin: 0 0 14px;
}
.va-blog__sub { font-size: 1.0625rem; font-weight: 400; line-height: 1.55; margin: 0; }

.va-blog__filters {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  margin: 0 auto 44px;
}
.va-blog .va-chip {
  font: 500 .9375rem/1 "Lufga", sans-serif;
  color: var(--va-navy);
  background: #fff;
  border: 1px solid var(--va-line);
  border-radius: 999px;
  padding: 11px 18px;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background-color .2s, border-color .2s, color .2s;
}
.va-blog .va-chip span {
  font-size: .75rem; font-weight: 600;
  color: var(--va-gold-deep);
  background: rgba(219, 177, 113, .16);
  border-radius: 999px; padding: 3px 7px;
}
.va-blog .va-chip:hover { background: #fff; border-color: var(--va-gold); color: var(--va-navy); }
.va-blog .va-chip.is-active { background: var(--va-navy); border-color: var(--va-navy); color: #fff; }
.va-blog .va-chip.is-active span { background: rgba(255, 255, 255, .14); color: var(--va-gold); }
.va-blog .va-chip:focus-visible { outline: 2px solid var(--va-gold); outline-offset: 2px; }

.va-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.va-post { display: flex; }
.va-post[hidden] { display: none; }
.va-post__link {
  display: flex; flex-direction: column; width: 100%;
  background: #fff;
  border: 1px solid var(--va-line);
  border-radius: 10px;
  overflow: hidden;
  color: inherit; text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.va-post__link:hover { transform: translateY(-4px); border-color: rgba(219, 177, 113, .6); box-shadow: 0 18px 40px rgba(11, 45, 78, .12); }
.va-post__link:focus-visible { outline: 2px solid var(--va-gold); outline-offset: 3px; }
.va-post__media { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: #E9EDF2; }
.va-post__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.va-post__link:hover .va-post__media img { transform: scale(1.04); }
.va-post__body { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 20px; }
.va-post__cat {
  font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--va-gold-deep); margin-bottom: 10px;
}
.va-post__title { font: 700 1.15rem/1.3 "Lufga", sans-serif; color: #07589B; margin: 0 0 10px; }
.va-post__excerpt {
  font-size: 1rem; font-weight: 400; line-height: 1.55; margin: 0 0 18px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.va-post__meta {
  margin-top: auto; padding-top: 16px; border-top: 1px solid var(--va-line);
  display: flex; align-items: center; justify-content: space-between;
  font-size: .875rem; color: #5B6B7E;
}
.va-post__more { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--va-navy); }
.va-post__more svg { width: 16px; height: 16px; fill: none; stroke: var(--va-gold-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.va-post__link:hover .va-post__more svg { transform: translateX(4px); }
.va-blog__empty { text-align: center; margin: 32px 0 0; }

@media (max-width: 1024px) {
  .va-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 767px) {
  .va-blog { padding: 56px 16px 72px; }
  .va-blog__title { font-size: 2.3em; }
  .va-blog__filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 -16px 28px; padding: 0 16px 6px; scrollbar-width: none; }
  .va-blog__filters::-webkit-scrollbar { display: none; }
  .va-blog .va-chip { flex: none; }
  .va-blog__grid { grid-template-columns: 1fr; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .va-post__link, .va-post__media img, .va-post__more svg { transition: none; }
}
