/* /css/site.css */
/* ==========================================================================
   site.css — complementos ao healthink.css (CSS exportado do Webflow)
   Substitui o que antes era feito por jQuery + webflow.js (interações IX2)
   e o <style> inline do Swiper que existia em cada página.
   ========================================================================== */

/* ---------- Swiper (era o <style> inline de cada página) ---------- */
.swiper { padding: 0 0 5rem 1.5rem; }
.swiper-slide { width: auto; }
.swiper-button-next,
.swiper-button-prev {
  background: #e1e8ec;
  height: 3.5rem;
  width: 3.5rem;
  color: #1f252d;
  bottom: 0;
  top: auto;
}
.swiper-button-next { left: 50%; margin-left: .75rem; }
.swiper-button-prev { left: auto; right: 50%; margin-right: .75rem; }
.swiper-button-next:after,
.swiper-button-prev:after { font-size: 1.25rem; }
.swiper-button-prev.testimonial-nav,
.swiper-button-next.testimonial-nav { bottom: 4rem; }

/* ---------- Reveal ao entrar na tela (IX2 slideInBottom / Left / Top) ----------
   1s, easing outQuart, deslocamento de 100px. */
[data-anim] {
  opacity: 0;
  transition: opacity 1s cubic-bezier(.165, .84, .44, 1),
              transform 1s cubic-bezier(.165, .84, .44, 1);
  will-change: opacity, transform;
}
[data-anim="up"]    { transform: translate3d(0, 100px, 0); }
[data-anim="right"] { transform: translate3d(-100px, 0, 0); }
[data-anim="down"]  { transform: translate3d(0, -100px, 0); }
[data-anim].is-inview { opacity: 1; transform: none; }
.no-js [data-anim] { opacity: 1; transform: none; }

/* ---------- Blobs do hero (IX2 loop de 3 passos x 4s, easeInOut) ---------- */
.hero-blob { animation: 12s ease-in-out infinite; }
.hero-blob.primary { animation-name: blob-primary; }
.hero-blob.yellow  { animation-name: blob-yellow; }
.hero-blob.right   { animation-name: blob-right; }
@keyframes blob-yellow {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(40%, 20%); }
  66%  { transform: translate(-40%, -20%); }
  100% { transform: translate(0, 0); }
}
@keyframes blob-right {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(-20%, -40%); }
  66%  { transform: translate(-60%, -40%); }
  100% { transform: translate(0, 0); }
}
@keyframes blob-primary {
  0%   { transform: translate(0, 0); }
  33%  { transform: translate(40%, 38%); }
  66%  { transform: translate(-20%, 50%); }
  100% { transform: translate(0, 0); }
}

/* ---------- Marquee das operadoras parceiras (IX2: -100% em 15s, loop) ---------- */
.company-logos-wrapper { animation: logos-marquee 15s linear infinite; }
@keyframes logos-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}

/* ---------- Accordion (Soluções / FAQ) ---------- */
.accordion-trigger { cursor: pointer; }
.accordion-content { display: none; height: 0; transition: height .5s ease-in-out; }
.accordion-content.is-open { display: flex; }
.accordion-arrow { transition: transform .5s ease-in-out; }
.accordion-trigger.is-open .accordion-arrow { transform: rotate(-180deg); }

/* ---------- Dropdown "Soluções" da nav ---------- */
.w-dropdown-toggle { cursor: pointer; }

/* ---------- Label flutuante do formulário de contato ---------- */
.field-label { transition: transform .3s ease-out; }
.input-wrap.is-active .field-label { transform: translateY(-60%); }
/* o rótulo fica por cima do campo: o clique passa para o campo (senão a lista não abre ao clicar no texto) */
.input-wrap .field-label { pointer-events: none; }
/* o pacote deixou um bloco de campo vazio entre telefone e vidas */
.input-wrap:empty { display: none; }
/* lista com a seta própria: o texto escolhido começa no mesmo ponto que o dos outros campos */
.contact-form select.text-field {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 2.75rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  background-size: 12px 8px;
  cursor: pointer;
}

/* ---------- Páginas legais (política de privacidade, termos) ---------- */
.hk-legal { max-width: 46rem; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
.hk-legal h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 1rem; }
.hk-legal h2 { font-size: 1.35rem; margin: 2rem 0 .5rem; }
.hk-legal h3, .hk-legal h4 { font-size: 1.1rem; margin: 1.5rem 0 .4rem; }
.hk-legal p { margin: 0 0 .35rem; }
.hk-legal li { margin-bottom: .35rem; }

/* ---------- Formulários (estado de envio) ---------- */
.w-form.is-sending input[type="submit"] { opacity: .6; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  [data-anim] { transition: none; }
  .hero-blob, .company-logos-wrapper { animation: none; }
}

