/* AtendePraVocê — Premium components v4 / minimal corrective layer
   Base: Premium Light v5.
   Scope: footer contrast, Home hero spacing/mobile, and unified light-blue closing CTAs.
   This file must remain the last stylesheet on public pages. */
:root {
  --apv-v4-cta-bg: #eaf3fb;
  --apv-v4-cta-bg-2: #f3f8fc;
  --apv-v4-cta-ink: #152536;
  --apv-v4-cta-muted: #526475;
  --apv-v4-cta-line: rgba(21, 37, 54, .11);
  --apv-v4-footer-bg: #121517;
  --apv-v4-footer-title: #f8fafc;
  --apv-v4-footer-text: rgba(248, 250, 252, .70);
  --apv-v4-footer-muted: rgba(248, 250, 252, .56);
}

/* --------------------------------------------------------------------------
   1) FOOTER — one visual contract on every page.
   Prevent page-level h2/link rules from winning over the shared footer.
   -------------------------------------------------------------------------- */
html body .apv-site-footer {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  background: var(--apv-v4-footer-bg) !important;
  color: var(--apv-v4-footer-text) !important;
}
html body .apv-site-footer .apv-site-footer__section h2,
html body .apv-site-footer h2 {
  color: var(--apv-v4-footer-title) !important;
}
html body .apv-site-footer .apv-site-footer__description,
html body .apv-site-footer .apv-site-footer__section p {
  color: var(--apv-v4-footer-text) !important;
}
html body .apv-site-footer .apv-site-footer__section a:not(.apv-site-footer__brand),
html body .apv-site-footer .apv-site-footer__section button {
  color: var(--apv-v4-footer-text) !important;
}
html body .apv-site-footer .apv-site-footer__section a:not(.apv-site-footer__brand):hover,
html body .apv-site-footer .apv-site-footer__section button:hover,
html body .apv-site-footer .apv-site-footer__section a:not(.apv-site-footer__brand):focus-visible,
html body .apv-site-footer .apv-site-footer__section button:focus-visible {
  color: #fff !important;
}
html body .apv-site-footer .apv-site-footer__bottom,
html body .apv-site-footer .apv-site-footer__bottom p {
  color: var(--apv-v4-footer-muted) !important;
}

/* --------------------------------------------------------------------------
   2) HOME HERO — more breathing room on desktop; swipeable cards on mobile.
   -------------------------------------------------------------------------- */
body.page-home .hero-visual-wrap {
  min-height: 430px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 28px !important;
  row-gap: 30px !important;
  padding: 34px 8px !important;
}
body.page-home .hv-card,
body.page-home .hv-card.c1,
body.page-home .hv-card.c2,
body.page-home .hv-card.c3,
body.page-home .hv-card.c4 {
  min-height: 132px !important;
  padding: 22px 23px !important;
}
body.page-home .hv-card.c1 { transform: translateY(-8px) !important; }
body.page-home .hv-card.c2 { transform: translateY(8px) !important; }
body.page-home .hv-card.c3 { transform: translateY(-4px) !important; }
body.page-home .hv-card.c4 { transform: translateY(12px) !important; }
body.page-home .hvc-top { margin-bottom: 18px !important; }

@media (max-width: 900px) and (min-width: 641px) {
  body.page-home .hero-visual-wrap {
    min-height: auto !important;
    column-gap: 20px !important;
    row-gap: 22px !important;
    padding: 26px 0 !important;
  }
  body.page-home .hv-card.c1,
  body.page-home .hv-card.c2,
  body.page-home .hv-card.c3,
  body.page-home .hv-card.c4 {
    transform: none !important;
  }
}

@media (max-width: 640px) {
  body.page-home .hero-visual-wrap {
    width: calc(100% + 32px) !important;
    min-height: 0 !important;
    margin-inline: -16px !important;
    padding: 20px 16px 12px !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 16px !important;
    overscroll-behavior-inline: contain !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  body.page-home .hero-visual-wrap::-webkit-scrollbar { display: none; }
  body.page-home .hv-card,
  body.page-home .hv-card.c1,
  body.page-home .hv-card.c2,
  body.page-home .hv-card.c3,
  body.page-home .hv-card.c4 {
    flex: 0 0 min(82vw, 320px) !important;
    width: min(82vw, 320px) !important;
    min-height: 122px !important;
    padding: 19px 20px !important;
    transform: none !important;
    scroll-snap-align: start !important;
  }
  body.page-home .hvc-top { margin-bottom: 14px !important; }
}

/* --------------------------------------------------------------------------
   3) PRE-FOOTER / FINAL CTA — one light-blue surface and dark readable text.
   -------------------------------------------------------------------------- */
body.page-home .fin-cta,
body.page-premium .final-cta,
body.page-agenda .final-cta,
body.page-premium .ai-final {
  border-top: 1px solid var(--apv-v4-cta-line) !important;
  background:
    radial-gradient(circle at 50% 0, rgba(71, 137, 193, .12), transparent 30rem),
    linear-gradient(180deg, var(--apv-v4-cta-bg-2), var(--apv-v4-cta-bg)) !important;
  color: var(--apv-v4-cta-ink) !important;
}
body.page-home .fin-cta :is(h2,h3),
body.page-premium .final-cta :is(h2,h3),
body.page-agenda .final-cta :is(h2,h3),
body.page-premium .ai-final :is(h2,h3) {
  color: var(--apv-v4-cta-ink) !important;
}
body.page-home .fin-cta p,
body.page-premium .final-cta p,
body.page-agenda .final-cta p,
body.page-premium .ai-final p,
body.page-premium .final-cta .pricing-note {
  color: var(--apv-v4-cta-muted) !important;
  opacity: 1 !important;
}

/* Supporting pills/tags inside closing CTAs also need dark text. */
body.page-home .fin-cta .ftag,
body.page-agenda .final-cta .tag,
body.page-product .zapcalendar-landing .final-cta .cta-features span {
  border-color: rgba(21, 37, 54, .12) !important;
  background: rgba(255,255,255,.60) !important;
  color: #29485f !important;
}
body.page-home .fin-cta .ftag svg,
body.page-agenda .final-cta .tag svg,
body.page-product .zapcalendar-landing .final-cta .cta-features i {
  color: #277254 !important;
}

/* Home closing buttons: dark primary + restrained secondary on the light CTA. */
body.page-home .fin-cta .btn-lg.primary {
  border-color: #0b3158 !important;
  background: #0b3158 !important;
  color: #fff !important;
}
body.page-home .fin-cta .btn-lg.outline {
  border-color: rgba(11,49,88,.18) !important;
  background: rgba(255,255,255,.62) !important;
  color: #0b3158 !important;
}
body.page-home .fin-cta .btn-lg.outline:hover { background: #fff !important; }

/* AI closing buttons keep the same readable contract. */
body.page-premium .ai-final .ai-button--light {
  border-color: #0b3158 !important;
  background: #0b3158 !important;
  color: #fff !important;
}
body.page-premium .ai-final .ai-button--ghost.ai-button--on-green {
  border-color: rgba(11,49,88,.18) !important;
  background: rgba(255,255,255,.62) !important;
  color: #0b3158 !important;
}
body.page-premium .ai-final .ai-button--ghost.ai-button--on-green:hover {
  background: #fff !important;
  color: #0b3158 !important;
}
