/* VIS-003 · Acabamento da versão 19, sem mudar conteúdo, imagens ou composição. */

/* Navegação: superfície estável e indicação discreta da página atual. */
.mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
.consultation-form :is(input, select, textarea) { scroll-margin-block: 110px 24px; }
.consultation-form .field-error { margin: 8px 0 0; }
.form-field { min-width: 0; }
.no-script-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 12px 20px; color: #fff; }
.no-script-nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.site-topbar:has(.no-script-nav) { position: static; }
.site-topbar:has(.no-script-nav) .menu-button { display: none; }
.form-fallback { font-size: 1rem; line-height: 1.65; color: #334155; }
.form-fallback a { text-decoration: underline; }
.form-status[data-state="success"] { color: #265c3b; }
.site-topbar {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.site-topbar.is-scrolled { box-shadow: 0 8px 26px rgba(10, 16, 26, .16); }
.site-topbar .nav-link { display: inline-flex; align-items: center; min-height: 44px; }
.site-topbar .nav-link::after { bottom: 4px; }
.site-topbar .nav-link[aria-current="page"] { color: #efefef; }
.site-topbar .nav-link[aria-current="page"]::after { right: 0; }
.mobile-menu > a[aria-current="page"] { color: #d8b45d; }

/* O mesmo dourado, com luz e relevo contidos em todos os pontos de contato. */
.button-primary, .header-cta, .form-submit {
  background: linear-gradient(115deg, #d8b45d, #bf922e);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 6px 18px rgba(15, 23, 35, .12);
  line-height: 1.5;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.button-primary:focus-visible, .header-cta:focus-visible, .form-submit:focus-visible {
  background: linear-gradient(115deg, #dfc076, #c89d40);
  outline: 2px solid #efefef;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #8d681d;
}
.button-secondary { line-height: 1.5; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
.button-secondary:focus-visible { outline: 2px solid #efefef; outline-offset: 4px; }
.contact-whatsapp { text-decoration-thickness: 1px; text-underline-offset: 6px; }

/* Respiro e legibilidade das etapas, preservando a abertura do site. */
.hero-journey { border-top-color: rgba(216, 180, 93, .35); }
.hero-journey > div, .hero-journey > div:first-child { padding: 25px 28px; }
.hero-journey span { padding-top: 3px; font-size: .75rem; font-variant-numeric: tabular-nums; }
.hero-journey strong { line-height: 1.45; }
.hero-journey p { color: #c3cbd6; font-size: .875rem; line-height: 1.65; }
.eyebrow { font-size: .875rem; line-height: 1.5; letter-spacing: .13em; }
.eyebrow > span { flex-shrink: 0; }

/* Cards: títulos e ações alinhados, com a mesma hierarquia e as mesmas cores. */
.case-card { display: flex; flex-direction: column; }
.case-card h3 { line-height: 1.25; }
.case-card p { font-size: 1rem; line-height: 1.75; margin-bottom: 24px; }
.case-card a {
  align-self: flex-start;
  min-height: 44px;
  margin-top: auto;
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: .04em;
}
.case-card a > span { flex-shrink: 0; }
.case-card:focus-within::after { transform: scaleX(1); }
.case-card:focus-within { box-shadow: 0 16px 42px rgba(30, 36, 48, .10); }
.lawyer-contact__copy h2 { line-height: 1.1; }
.lawyer-contact__copy > p { font-size: 1rem; line-height: 1.8; }
.lawyer-contact__signals { row-gap: 12px; line-height: 1.6; }
.lawyer-contact__notice { line-height: 1.7; }
.lawyer-contact__card { box-shadow: 0 16px 48px rgba(30, 36, 48, .065); }

/* Biblioteca: preservar as pastas, a tipografia e o desenho editorial. */
.library-visual { box-shadow: 0 20px 54px rgba(0, 0, 0, .18); }
#guias .content-card, .related-articles .content-card {
  box-shadow: 0 8px 24px rgba(30, 36, 48, .05);
}
#guias .content-card h3, .related-articles .content-card h3 {
  line-height: 1.24;
  letter-spacing: -.025em;
}
#guias .content-card p, .related-articles .content-card p { font-size: 1rem; line-height: 1.75; }
#guias .content-card a, .related-articles .content-card a {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 44px;
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: .05em;
}
#guias .content-card:focus-within, .related-articles .content-card:focus-within {
  border-color: rgba(191, 146, 46, .65);
  box-shadow: 0 14px 36px rgba(30, 36, 48, .09);
}

/* VIS-004 · Uma única superfície para os seis guias da biblioteca. */
#guias .content-grid { gap: 18px; }
#guias .content-card,
#guias .content-card:nth-child(even) {
  background: #fff;
  border: 1px solid #dce1e7;
  border-left: 2px solid #bf922e;
  border-radius: 14px;
  box-shadow: 0 5px 20px rgba(30, 36, 48, .045);
}
#guias .content-card::before {
  border-color: rgba(191, 146, 46, .7);
  box-shadow: 0 4px 12px rgba(30, 36, 48, .12);
}
#guias .content-card::after { color: rgba(30, 36, 48, .18); }
#guias .content-card a { border-bottom-color: #bf922e; }
#guias .content-card:hover,
#guias .content-card:focus-within {
  border-color: #bfc8d3;
  border-left-color: #bf922e;
  box-shadow: 0 12px 30px rgba(30, 36, 48, .085);
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  #guias .content-card:hover,
  #guias .content-card:focus-within { transform: none; }
}

/* Dúvidas: foco visível dentro do painel e sinal de abertura bem centralizado. */
.faq-list { box-shadow: 0 8px 28px rgba(30, 36, 48, .035); }
.faq-list summary { align-items: flex-start; letter-spacing: 0; }
.faq-list summary > span:last-child { display: grid; place-items: center; margin-top: 1px; line-height: 1; }
.faq-list summary:focus-visible { outline: 2px solid #8d681d; outline-offset: -2px; border-radius: 4px; }
.faq-list details[open] summary > span:last-child { color: #1e2430; background: #d8b45d; }

/* Formulário: leitura confortável sem alterar campos ou comportamento. */
.consultation-form label { font-size: .875rem; line-height: 1.5; letter-spacing: .01em; }
.consultation-form input:not([type="checkbox"]), .consultation-form select, .consultation-form textarea {
  font-size: 1rem;
  border-color: #b7bfca;
  border-radius: 10px;
}
.consultation-form input::placeholder, .consultation-form textarea::placeholder { color: #687383; }
.form-heading span, .form-heading p { font-size: .875rem; line-height: 1.6; }
.consent-row { font-size: .875rem !important; line-height: 1.65; }
.form-submit { font-size: .9375rem; }
.form-status { font-size: .875rem; line-height: 1.65; }
.article-index { row-gap: 6px; }
.article-index a, .article-sources a { text-decoration-thickness: 1px; text-underline-offset: 5px; }

@media (hover: hover) and (pointer: fine) {
  .button-primary:hover, .header-cta:hover, .form-submit:not(:disabled):hover {
    background: linear-gradient(115deg, #dfc076, #c89d40);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 9px 24px rgba(15, 23, 35, .16);
  }
}
@media (max-width: 767px) {
  .hero-journey > div, .hero-journey > div:first-child { padding: 20px 16px; }
  .hero-journey p { margin-top: 4px; }
  .lawyer-contact__action { border-left: 0; border-top: 1px solid #d5c8a7; }
  .case-card { min-height: 0; }
  .hero-modern__actions { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .button-primary, .header-cta, .form-submit { transition: none; }
}
