/* Ajustes globais de qualidade, SEO visual e acessibilidade. */
:root {
  --ca-blue: #1a4e8e;
  --ca-blue-dark: #143c6d;
  --ca-gold: #d4af37;
  --ca-green: #25d366;
  --ca-text: #1e2833;
  --ca-muted: #425368;
  --ca-light: #f6f9ff;
  --ca-border: #d9e9ff;
  --ca-header-height: 85px;
}

*,
*::before,
*::after {
  min-width: 0;
}

html {
  scroll-padding-top: calc(var(--ca-header-height) + 18px);
}

body {
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}

main {
  display: block;
}

img {
  max-width: 100%;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 20000;
  transform: translateY(-160%);
  background: #ffffff;
  color: var(--ca-blue-dark);
  border: 2px solid var(--ca-gold);
  border-radius: 8px;
  padding: 10px 14px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}

.skip-link:focus {
  transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--ca-gold);
  outline-offset: 3px;
}

.container,
.hero-content,
.hero-content-sobre,
.hero-content-alcohol,
.hero-content-cocaine,
.hero-content-ketamina,
.hero-content-involuntaria,
.hero-content-voluntaria {
  max-width: min(100% - 32px, 1240px);
}

h1,
h2,
h3,
.hero-title,
.section-title,
.btn,
.card-title {
  overflow-wrap: break-word;
  text-wrap: balance;
}

p,
li,
.hero-subtitle {
  overflow-wrap: anywhere;
}

.btn {
  min-height: 44px;
  white-space: normal;
  text-align: center;
}

.site-home-hero {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: #020b2f;
}

.site-home-hero img {
  width: 100%;
  height: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  border-radius: 0;
}

.hero:not(.site-home-hero),
.hero-sobre,
.hero-alcohol,
.hero-cocaine,
.hero-crack,
.hero-como-funciona,
.hero-idosos,
.hero-involuntaria,
.hero-voluntaria,
.hero-ketamina,
.hero-maconha,
.hero-convenio {
  height: auto !important;
  min-height: clamp(360px, 62svh, 720px) !important;
  margin-top: 0 !important;
  padding: clamp(76px, 10vw, 150px) 20px clamp(44px, 7vw, 96px) !important;
  background-size: cover !important;
  background-position: center !important;
}

.hero:not(.site-home-hero) h1,
.hero:not(.site-home-hero) h2,
.hero:not(.site-home-hero) p,
.hero-sobre h1,
.hero-sobre p,
.hero-alcohol h1,
.hero-alcohol p,
.hero-cocaine h1,
.hero-cocaine p,
.hero-crack h1,
.hero-crack p,
.hero-como-funciona h1,
.hero-como-funciona p,
.hero-idosos h1,
.hero-idosos p,
.hero-involuntaria h1,
.hero-involuntaria p,
.hero-voluntaria h1,
.hero-voluntaria p,
.hero-ketamina h1,
.hero-ketamina p,
.hero-maconha h1,
.hero-maconha p,
.hero-convenio h1,
.hero-convenio p {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.36);
}

.text-white,
.text-white p,
.emergency-section,
.emergency-section p,
.cta-section,
.cta-section p {
  color: #ffffff !important;
}

.card,
.faq-item,
.faq-item-luxury,
.step-card,
.step-luxury,
.kpi-item,
.benefit-luxury,
.contact-info,
.contact-form,
.about-text {
  border-color: var(--ca-border);
}

.chat-popup {
  max-width: calc(100vw - 30px);
}

.context-visual-image img,
.about-image img,
.card-img {
  background: #eef5ff;
}

@media (min-width: 1024px) {
  .site-home-hero {
    min-height: calc(100svh - var(--ca-header-height)) !important;
    max-height: calc(100svh - var(--ca-header-height)) !important;
  }

  .site-home-hero img {
    width: auto;
    height: calc(100svh - var(--ca-header-height)) !important;
    max-width: 100%;
  }
}

@media (max-width: 900px) {
  .cards-grid,
  .faq-grid,
  .grid-premium,
  .benefits-luxury,
  .process-luxury,
  .context-visual-card,
  .about-content,
  .contact-container {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  :root {
    --ca-header-height: 71px;
  }

  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .hero:not(.site-home-hero),
  .hero-sobre,
  .hero-alcohol,
  .hero-cocaine,
  .hero-crack,
  .hero-como-funciona,
  .hero-idosos,
  .hero-involuntaria,
  .hero-voluntaria,
  .hero-ketamina,
  .hero-maconha,
  .hero-convenio {
    min-height: auto !important;
    padding: 78px 16px 48px !important;
  }

  h1,
  .hero-title {
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
    line-height: 1.15 !important;
  }

  h2,
  .section-title {
    font-size: clamp(1.75rem, 7vw, 2.1rem) !important;
  }

  .btn {
    width: auto;
    max-width: 100%;
    padding-left: 22px;
    padding-right: 22px;
  }
}

@media (max-width: 480px) {
  .cards-grid,
  .faq-grid {
    grid-template-columns: 1fr !important;
  }

  .card-body,
  .about-text,
  .step-card,
  .kpi-item,
  .faq-item,
  .form-luxury {
    padding: 24px 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
