/* Issue #179: recorte visual da home e do login. A folha vem por último para
   preservar o painel e concentrar os overrides das duas telas de entrada. */

/* A home inteira usa a mesma base de papel dos preços. O dourado do cadastro
   continua como assinatura, mas deixa de disputar com grandes fundos pretos. */
body.auth-page.landing-page {
  --brand: #a8753d;
  --brand-strong: #815528;
  --brand-soft: #eee0ce;
  --surface: #fffdf9;
  --surface-soft: #f6f3ed;
  --ink: #171514;
  --muted: #6f6963;
  --line: #d9d3ca;
  --auth-gold: #a8753d;
  --auth-gold-light: #815528;
  color: #171514;
  background: #f6f3ed;
}

body.auth-page.landing-page::before {
  opacity: .32;
  background:
    linear-gradient(115deg, transparent 42%, rgba(168, 117, 61, .18) 42.3%, transparent 43%),
    linear-gradient(160deg, transparent 64%, rgba(168, 117, 61, .1) 64.2%, transparent 65%);
}

body.auth-page.landing-page::after { border-color: rgba(168, 117, 61, .13); box-shadow: 0 0 0 70px rgba(168, 117, 61, .025), 0 0 0 140px rgba(168, 117, 61, .018); }
.landing-page .site-header { border-bottom-color: rgba(58, 45, 32, .1); background: rgba(246, 243, 237, .88); }
.landing-page .site-header__inner { gap: clamp(18px, 4vw, 52px); }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.site-nav a { position: relative; color: #6f6963; font-size: .78rem; font-weight: 600; text-decoration: none; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: #815528; transform: scaleX(0); transform-origin: right; transition: transform 180ms cubic-bezier(.2,.8,.2,1); }
.site-nav a:hover { color: #171514; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.landing-page .site-header .brand__mark { background: #fffdf9; border-color: #d9d3ca; }
.landing-page .brand__name { color: #171514; }
.landing-page .brand__tagline { color: #6f6963; }
.landing-page .button { color: #fffdf9 !important; background: #171514; border-color: #171514; box-shadow: none; }
.landing-page .button:hover { color: #fffdf9 !important; background: #815528; border-color: #815528; filter: none; }
.landing-page .button--ghost { color: #171514 !important; background: transparent; border-color: #b8afa5; }
.landing-page .button--ghost:hover { color: #171514 !important; background: #eee8df; border-color: #8e8479; }
.landing-page .hero {
  background:
    radial-gradient(circle at 82% 26%, rgba(168, 117, 61, .12), transparent 25rem),
    linear-gradient(145deg, #fffdf9, #f6f3ed 68%, #eee7dc);
}
.landing-page .hero::before { opacity: .28; }
.landing-page .hero::after { border-color: rgba(168, 117, 61, .12); box-shadow: 0 0 0 70px rgba(168, 117, 61, .025), 0 0 0 140px rgba(168, 117, 61, .016); }
.landing-page .eyebrow { color: #815528; }
.landing-page .hero h1 { color: #171514; }
.landing-page .hero__lead { color: #6f6963; }
.landing-page .hero-panel { color: #2f2a25; background: rgba(255, 253, 249, .82); border-color: #d9d3ca; box-shadow: 0 28px 70px rgba(58, 45, 32, .1); backdrop-filter: blur(18px); }
.landing-page .hero-panel__top { border-bottom-color: #e2ddd5; }
.landing-page .hero-panel__label { color: #817970; }
.landing-page .hero-panel__title { color: #171514; }
.landing-page .appointment-preview__item { color: #2f2a25; background: #fbf8f2; border-color: #e2ddd5; }
.landing-page .appointment-preview__time { color: #815528; }
.landing-page .appointment-preview__item span { color: #817970; }
.landing-page .status-dot { background: #a8753d; box-shadow: 0 0 0 5px rgba(168, 117, 61, .12); }
.landing-page .section, .landing-page .section--white { background: #f6f3ed; }
.landing-page .section--white { background: #fffdf9; border-block-color: #e2ddd5; }
.landing-page .section-heading h2, .landing-page .feature-card h3 { color: #171514; }
.landing-page .section-heading p, .landing-page .feature-card p { color: #6f6963; }
.landing-page .feature-card { color: #2f2a25; background: transparent; border-color: #d9d3ca; box-shadow: none; }
.landing-page .feature-card:hover { border-color: #a8753d; box-shadow: 0 16px 36px rgba(58, 45, 32, .07); }
.landing-page .feature-card__number { color: #815528; background: #eee0ce; }
.landing-page .cta-band { color: #171514; background: #eee7dc; border-color: #d2c2af; box-shadow: none; }
.landing-page .cta-band p { color: #6f6963; }
.landing-page .site-footer { color: #6f6963; background: #eee7dc; border-top-color: #d9d3ca; }

.trial-proof {
  position: relative;
  z-index: 2;
  color: #2f2a25;
  background: #eee7dc;
  border-block: 1px solid #d9d0c4;
}

.trial-proof__inner {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.trial-proof p { margin: 0; font-size: clamp(.92rem, 2vw, 1.08rem); }
.trial-proof p strong { color: #815528; }
.trial-proof ul { margin: 0; padding: 0; display: flex; gap: 28px; list-style: none; color: #6f6963; font-size: .78rem; }
.trial-proof li { position: relative; padding-left: 18px; }
.trial-proof li::before { content: "✓"; position: absolute; left: 0; color: #815528; font-weight: 700; }

.landing-page .pricing-section {
  scroll-margin-top: 92px;
  padding-block: clamp(72px, 10vw, 132px);
  color: #171514;
  background: #f6f3ed;
}

/* Recursos deixam de ser três caixas intercambiáveis e passam a formar uma
   lista editorial contínua, mais coerente com o ritmo leve da home. */
.landing-page #recursos .feature-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid #d9d3ca; }
.landing-page #recursos .feature-card { min-height: 150px; padding: 28px 0; display: grid; grid-template-columns: 74px minmax(190px, .65fr) minmax(260px, 1fr); align-items: start; gap: 26px; border: 0; border-bottom: 1px solid #d9d3ca; border-radius: 0; }
.landing-page #recursos .feature-card:hover { transform: none; box-shadow: none; border-color: #a8753d; }
.landing-page #recursos .feature-card__number { width: auto; height: auto; padding-top: 3px; background: transparent; font: 600 .72rem/1 var(--font-body); letter-spacing: .12em; }
.landing-page #recursos .feature-card h3, .landing-page #recursos .feature-card p { margin: 0; }
.landing-page #recursos .feature-card h3 { font-size: clamp(1.25rem, 2.5vw, 1.8rem); }

.faq-section { background: #fffdf9 !important; border-block: 1px solid #e2ddd5; }
.faq-layout { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(360px, 1fr); gap: clamp(48px, 8vw, 110px); align-items: start; }
.faq-heading { position: sticky; top: 110px; }
.faq-heading h2 { margin: 8px 0 0; color: #171514; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; }
.faq-list { border-top: 1px solid #d9d3ca; }
.faq-list details { padding: 22px 0; border-bottom: 1px solid #d9d3ca; }
.faq-list summary { position: relative; padding-right: 38px; color: #171514; font-weight: 600; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: -4px; right: 4px; color: #815528; font-size: 1.5rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { margin: 14px 42px 0 0; color: #6f6963; font-size: .88rem; line-height: 1.7; }

/* Motion da home: cada bloco explica uma ação diferente, sem fade universal. */
.home-motion-enhanced .landing-page .hero-panel .hero-panel__top,
.home-motion-enhanced .landing-page .appointment-preview__item {
  opacity: 0;
  transform: translateY(10px);
}
.home-motion-enhanced .landing-page .hero-panel.motion-in .hero-panel__top,
.home-motion-enhanced .landing-page .hero-panel.motion-in .appointment-preview__item {
  opacity: 1;
  transform: none;
  transition: opacity 420ms cubic-bezier(.2,.8,.2,1), transform 420ms cubic-bezier(.2,.8,.2,1);
}
.home-motion-enhanced .landing-page .hero-panel.motion-in .appointment-preview__item:nth-child(1) { transition-delay: 130ms; }
.home-motion-enhanced .landing-page .hero-panel.motion-in .appointment-preview__item:nth-child(2) { transition-delay: 230ms; }
.home-motion-enhanced .landing-page .hero-panel.motion-in .appointment-preview__item:nth-child(3) { transition-delay: 330ms; }
.home-motion-enhanced .landing-page .hero-panel .status-dot { transform: scale(0); }
.home-motion-enhanced .landing-page .hero-panel.motion-in .status-dot {
  transform: scale(1);
  transition: transform 360ms cubic-bezier(.2,1.45,.35,1);
  transition-delay: 520ms;
}
.home-motion-enhanced .landing-page .hero-panel.motion-in .appointment-preview__item:nth-child(2) .status-dot { transition-delay: 620ms; }
.home-motion-enhanced .landing-page .hero-panel.motion-in .appointment-preview__item:nth-child(3) .status-dot { transition-delay: 720ms; }

.home-motion-enhanced .landing-page .pricing-section .plan-option {
  opacity: 0;
  transform: translateY(14px);
}
.home-motion-enhanced .landing-page .pricing-section .plan-option.motion-in {
  opacity: 1;
  transform: none;
  transition: opacity 460ms cubic-bezier(.2,.8,.2,1), transform 460ms cubic-bezier(.2,.8,.2,1), border-color 180ms ease, box-shadow 180ms ease;
  transition-delay: calc(var(--motion-order, 0) * 70ms);
}
.home-motion-enhanced .landing-page .pricing-section .plan-option.motion-in:hover { transform: translateY(-2px); }

.home-motion-enhanced .landing-page #recursos .feature-card { opacity: 0; transform: translateX(-12px); }
.home-motion-enhanced .landing-page #recursos .feature-card.motion-in {
  opacity: 1;
  transform: none;
  transition: opacity 360ms cubic-bezier(.2,.8,.2,1), transform 360ms cubic-bezier(.2,.8,.2,1), border-color 180ms ease;
}
.home-motion-enhanced .landing-page #recursos .feature-card:nth-child(2).motion-in { transition-delay: 70ms; }
.home-motion-enhanced .landing-page #recursos .feature-card:nth-child(3).motion-in { transition-delay: 140ms; }

.landing-page .faq-list summary::after { transition: transform 220ms cubic-bezier(.2,.8,.2,1), color 180ms ease; }
.landing-page .faq-list details[open] summary::after { transform: rotate(180deg); }
.landing-page .faq-list details.faq-just-opened p { animation: faq-answer-in 300ms cubic-bezier(.2,.8,.2,1) both; }

.landing-page .cta-band { position: relative; overflow: hidden; }
.landing-page .cta-band::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: #a8753d;
  transform: scaleX(0);
  transform-origin: left;
}
.home-motion-enhanced .landing-page .cta-band.motion-in::after { transform: scaleX(1); transition: transform 720ms cubic-bezier(.2,.8,.2,1); }

.landing-page .button { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms cubic-bezier(.2,.8,.2,1), box-shadow 160ms ease; }
.landing-page .button:hover { transform: translateY(-2px); }
.landing-page .button:active { transform: translateY(0) scale(.985); }

@keyframes faq-answer-in {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: none; }
}

.pricing-shell { max-width: 1120px; }

.pricing-heading {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.landing-page .pricing-heading .eyebrow { color: #8e612f; }

.landing-page .pricing-heading h2 {
  margin: 8px 0 12px;
  color: #171514;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.landing-page .pricing-heading > p:last-child {
  max-width: 650px;
  margin-inline: auto;
  color: #6f6963;
  font-size: 1rem;
}

.billing-toggle {
  width: fit-content;
  margin: 0 auto 48px;
  padding: 4px;
  display: flex;
  gap: 2px;
  border: 1px solid #d9d3ca;
  border-radius: 10px;
  background: #ebe7df;
}

.billing-toggle__option {
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 7px;
  color: #6f6963;
  background: transparent;
  font: 600 .82rem/1 var(--font-body);
  cursor: pointer;
}

.billing-toggle__option span { margin-left: 5px; color: #8e612f; font-size: .7rem; }
.billing-toggle__option.is-active { color: #171514; background: #fffdf9; box-shadow: 0 2px 7px rgba(42, 34, 26, .08); }
.billing-toggle__option:focus-visible { outline: 2px solid #8e612f; outline-offset: 2px; }

.landing-page .pricing-section .plan-comparison {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  padding-block: 22px;
}

.landing-page .pricing-section .plan-option {
  min-height: 530px;
  padding: 38px 30px 28px;
  gap: 0;
  color: #171514;
  background: #fffdf9;
  border: 1px solid #d9d3ca;
  border-radius: 0;
  box-shadow: none;
}

.landing-page .pricing-section .plan-option:first-child { border-radius: 16px 0 0 16px; }
.landing-page .pricing-section .plan-option:last-child { border-radius: 0 16px 16px 0; }
.landing-page .pricing-section .plan-option + .plan-option { margin-left: -1px; }

.landing-page .pricing-section .plan-option--plus {
  z-index: 2;
  margin-block: -22px;
  padding-top: 60px;
  border: 2px solid #171514;
  border-radius: 16px;
  box-shadow: 0 24px 50px rgba(42, 34, 26, .14);
}

.landing-page .pricing-section .plan-option--plus::before {
  content: "Recomendado";
  position: absolute;
  top: 0;
  right: 0;
  padding: 8px 14px;
  color: #fffdf9;
  background: #171514;
  border-radius: 0 13px 0 10px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.landing-page .pricing-section .plan-option:hover { transform: translateY(-2px); border-color: #9f968b; box-shadow: 0 14px 32px rgba(42, 34, 26, .09); }
.landing-page .pricing-section .plan-option--plus:hover { transform: translateY(-2px); border-color: #171514; }
.landing-page .pricing-section .plan-option__badge { align-self: flex-start; margin: -18px 0 10px; border-radius: 4px; }
.landing-page .pricing-section .plan-option--plus .plan-option__badge { margin-top: -24px; }
.landing-page .pricing-section .plan-option__eyebrow { color: #6f6963; font-size: .76rem; }
.landing-page .pricing-section .plan-option h3 { display: flex; align-items: baseline; gap: 7px; margin: 34px 0 2px; color: #171514; font-size: clamp(2rem, 3.5vw, 3.2rem); letter-spacing: -.05em; }
.landing-page .pricing-section .plan-option h3 small { color: #6f6963; font-size: .72rem; letter-spacing: 0; }
.landing-page .pricing-section .plan-option__preco-antigo { position: absolute; margin-top: -20px; color: #817970; }
.landing-page .pricing-section .plan-option__billing { margin: 0 0 22px; color: #817970; font-size: .72rem; }
.landing-page .pricing-section .plan-option__saving { display: block; margin: -12px 0 18px; color: #24724b; font-size: .74rem; font-weight: 650; }
.landing-page .pricing-section .plan-option ul { flex: 1; min-height: 0; margin: 0 0 24px; padding: 20px 0; gap: 10px; color: #342f2a; border-block: 1px solid #e5e0d8; font-size: .83rem; }
.landing-page .pricing-section .plan-option ul li::before { color: #171514; }
.landing-page .pricing-section .plan-option .button { --brand-contrast: #fffdf9; width: 100%; min-height: 46px; margin: 0; color: #fffdf9 !important; background: #171514; border: 1px solid #171514; border-radius: 7px; box-shadow: none; }
.landing-page .pricing-section .plan-option .button--ghost { --brand-contrast: #171514; color: #171514 !important; background: transparent; }
.landing-page .pricing-section .plan-option .button:hover,
.landing-page .pricing-section .plan-option .button:focus-visible { --brand-contrast: #fffdf9; color: #fffdf9 !important; background: #8e612f; border-color: #8e612f; }
.landing-page .pricing-section .plan-option__note { margin: 18px 0 0; color: #817970; font-size: .68rem; text-align: center; }
.pricing-loading, .pricing-error { grid-column: 1 / -1; min-height: 260px; display: grid; place-content: center; justify-items: center; gap: 18px; color: #6f6963; }

.plan-comparison.is-switching-period .plan-option h3,
.plan-comparison.is-switching-period .plan-option__billing {
  animation: pricing-period-swap 380ms cubic-bezier(.2, .8, .2, 1) both;
}

.plan-comparison.is-switching-period .plan-option:nth-child(2) h3,
.plan-comparison.is-switching-period .plan-option:nth-child(2) .plan-option__billing { animation-delay: 45ms; }
.plan-comparison.is-switching-period .plan-option:nth-child(3) h3,
.plan-comparison.is-switching-period .plan-option:nth-child(3) .plan-option__billing { animation-delay: 90ms; }

@keyframes pricing-period-swap {
  from { opacity: .25; transform: translateY(7px); filter: blur(2px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Login: superfície clara e silenciosa inspirada na referência, com marca e
   fluxos reais do AgendaVitta preservados. */
.login-page-v2 {
  --auth-gold: #9b6b35;
  --auth-gold-light: #70481f;
  --av-bg: #f6f3ed;
  --av-surface: #fffdf9;
  --av-ink: #171514;
  --av-muted: #6f6963;
  --av-faint: #817970;
  --av-line: #d9d3ca;
  --av-line-strong: #b8afa5;
  --av-brand-contrast: #fffdf9;
  color: #171514;
  background: #f6f3ed;
}

.login-page-v2::before,
.login-page-v2::after,
.login-page-v2 .auth-aside { display: none; }

.login-page-v2 .login-shell-v2 {
  width: 100%;
  min-height: 100svh;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}

.login-page-v2 .login-card-v2 {
  width: min(100% - 40px, 420px);
  max-width: 420px;
  padding: 118px 28px 64px;
  justify-self: center;
  color: #171514;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.login-page-v2 .auth-form-brand {
  position: fixed;
  top: 22px;
  left: 24px;
  margin: 0;
}

.login-page-v2 .brand__mark { width: 38px; height: 38px; border-color: #d9d3ca; box-shadow: none; }
.login-page-v2 .auth-form-brand .brand__name { color: #171514; font-size: 1.1rem; }
.login-page-v2 .auth-form-brand .brand__tagline { display: none; }
.login-page-v2 .form-card__heading { margin-bottom: 30px; }
.login-page-v2 .form-card__heading h2 { margin: 0 0 6px; color: #171514; font-size: 1.55rem; letter-spacing: -.035em; }
.login-page-v2 .form-card__heading p { color: #6f6963; }

.auth-mode-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 24px;
  padding: 4px;
  border-radius: 11px;
  background: #e8e4de;
}

.auth-mode-tabs a { min-height: 38px; display: grid; place-items: center; border-radius: 8px; color: #6f6963; font-size: .8rem; font-weight: 600; text-decoration: none; }
.auth-mode-tabs a.is-active { color: #171514; background: #fffdf9; box-shadow: 0 2px 7px rgba(42, 34, 26, .1); }
.auth-mode-tabs a:focus-visible { outline: 2px solid #8e612f; outline-offset: 1px; }

.login-page-v2 .field { position: relative; margin-bottom: 16px; }
.login-page-v2 .field label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.login-page-v2 input:not([type="checkbox"]) { min-height: 52px; padding: 0 48px 0 42px; color: #171514; background: #fffdf9; border: 1px solid #d9d3ca; border-radius: 10px; box-shadow: none; }
.login-page-v2 input::placeholder { color: #817970; }
.login-page-v2 input:focus { border-color: #8e612f; box-shadow: 0 0 0 3px rgba(142, 97, 47, .12); }
.login-page-v2 .field--with-icon::before { position: absolute; z-index: 1; left: 15px; top: 18px; color: #817970; font-size: 16px; line-height: 1; }
.login-page-v2 .field--email::before { content: "@"; }
.login-page-v2 .field--password::before { content: "◇"; }
.login-page-v2 .password-row { display: block; }
.login-page-v2 .password-toggle { right: 12px; color: #6f6963; font-size: .72rem; }
.login-page-v2 .login-options { margin: 2px 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.login-page-v2 .login-options a { color: #171514; font-size: .76rem; }
.login-page-v2 .remember-access { min-height: 44px; padding: 0; display: flex; align-items: center; gap: 8px; color: #6f6963; background: transparent; border: 0; border-radius: 0; font-size: .76rem; }
.login-page-v2 .remember-access input { width: 17px; height: 17px; accent-color: #171514; }
.login-page-v2 .form-actions { margin-top: 0; }
.login-page-v2 .button { min-height: 50px; color: #fffdf9; background: #171514; border: 1px solid #171514; border-radius: 9px; box-shadow: none; }
.login-page-v2 .button:hover { color: #fffdf9; background: #8e612f; border-color: #8e612f; filter: none; }
.login-page-v2 .auth-choice { margin: 24px 0 16px; color: #817970; }
.login-page-v2 .auth-choice::before, .login-page-v2 .auth-choice::after { background: #d9d3ca; }
.login-page-v2 .form-footer { margin: 22px 0 8px; color: #6f6963; text-align: center; }
.login-page-v2 .form-footer a, .login-page-v2 .login-support { color: #171514; }
.login-page-v2 .login-support { display: block; font-size: .72rem; text-align: center; }
.login-page-v2 .message--success { color: #1d603f; background: #e3f2e9; border-color: #acd2bb; }
.login-page-v2 .message--error { color: #8b2929; background: #f8e5e3; border-color: #e2aaa5; }

/* tema-clean usa seletores com elemento (`body.auth-page`); estas regras
   explicitam que o login v2 é o recorte claro e vencem a cascata sem
   `!important`. */
body.auth-page.login-page-v2 { color: #171514; background: #f6f3ed; }
body.auth-page.login-page-v2 .auth-form-brand { display: inline-flex; }
body.auth-page.login-page-v2 .login-card-v2 { padding: 118px 28px 64px; background: transparent; border: 0; box-shadow: none; }
body.auth-page.login-page-v2 input:not([type="checkbox"]):not([type="radio"]) {
  min-height: 52px;
  padding: 0 48px 0 42px;
  color: #171514;
  background: #fffdf9;
  border: 1px solid #d9d3ca;
  border-radius: 10px;
}
body.auth-page.login-page-v2 .button { min-height: 50px; color: #fffdf9; background: #171514; border-color: #171514; border-radius: 9px; }
/* styles.css protege a cor do conteúdo de botões com `!important`; o texto
   precisa espelhar essa prioridade para não ficar tinta escura sobre preto. */
body.auth-page.login-page-v2 #loginButtonText { color: #fffdf9 !important; }
body.auth-page.login-page-v2 .remember-access { padding: 0; color: #6f6963; background: transparent; border: 0; }
body.auth-page.login-page-v2 .form-footer { color: #6f6963; font-size: .76rem; }
body.auth-page.login-page-v2 .password-toggle,
body.auth-page.login-page-v2 .login-options a,
body.auth-page.login-page-v2 .form-footer a,
body.auth-page.login-page-v2 .login-support { min-height: 44px; display: inline-flex; align-items: center; }
body.auth-page.login-page-v2 .form-footer a { vertical-align: middle; }

@media (max-width: 850px) {
  .landing-page .pricing-section .plan-comparison { grid-template-columns: 1fr; gap: 14px; padding: 0; }
  .landing-page .pricing-section .plan-option,
  .landing-page .pricing-section .plan-option:first-child,
  .landing-page .pricing-section .plan-option:last-child,
  .landing-page .pricing-section .plan-option--plus { min-height: 0; margin: 0; padding: 30px 24px 24px; border-radius: 14px; }
  .landing-page .pricing-section .plan-option--plus { order: -1; padding-top: 48px; }
  .landing-page .pricing-section .plan-option + .plan-option { margin-left: 0; }
  .faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .faq-heading { position: static; }
}

@media (max-width: 560px) {
  .landing-page .pricing-section { padding-block: 64px; }
  .billing-toggle { width: 100%; margin-bottom: 30px; }
  .billing-toggle__option { flex: 1; padding-inline: 10px; }
  .login-page-v2 .login-card-v2,
  body.auth-page.login-page-v2 .login-card-v2 { width: min(100% - 24px, 420px); padding: 92px 10px 40px; }
  .login-page-v2 .auth-form-brand { top: 16px; left: 16px; }
  .trial-proof__inner { min-height: 0; padding-block: 20px; display: grid; gap: 12px; }
  .trial-proof ul { gap: 14px; flex-wrap: wrap; }
  .site-nav { display: none; }
  .landing-page #recursos .feature-card { grid-template-columns: 46px 1fr; gap: 12px; }
  .landing-page #recursos .feature-card p { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-section *, .login-page-v2 *, .landing-page * { scroll-behavior: auto !important; transition: none !important; }
  .landing-page .hero-panel__top, .landing-page .appointment-preview__item,
  .landing-page .plan-option, .landing-page #recursos .feature-card { opacity: 1 !important; transform: none !important; }
  .landing-page .cta-band::after { transform: scaleX(1); }
}
