/* ========================================
   style2.css — Overrides for index2.html
   Imagens: Hero, Separador, Contato
   ======================================== */

/* --- Hero com slideshow --- */
.hero--img {
  background-color: var(--azul);
}

.hero--img::before,
.hero--img::after {
  display: none;
}

/* Slideshow container */
.hero-slideshow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.8s ease-in-out;
}

.hero-slide.is-active {
  opacity: 1;
}

.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  transition: transform 8s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.hero-slide.is-active img {
  transform: scale(1.1);
}

/* Overlay on top of slideshow */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(20, 46, 74, 0.85) 0%,
    rgba(20, 46, 74, 0.78) 40%,
    rgba(20, 46, 74, 0.9) 100%
  );
}

.hero--img .container {
  z-index: 2;
}

.hero--img .hero-line {
  z-index: 2;
}

/* --- Imagem Separadora (fullwidth) --- */
.img-divider {
  position: relative;
  height: 360px;
  overflow: hidden;
}

.img-divider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

.img-divider-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(20, 46, 74, 0.85) 0%,
    rgba(20, 46, 74, 0.6) 50%,
    rgba(20, 46, 74, 0.4) 100%
  );
}

.img-divider-content {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 2;
  padding: 0 64px;
  max-width: 700px;
}

.img-divider-content p {
  font-family: 'Tenor Sans', serif;
  font-size: 2.25rem;
  color: #fff;
  line-height: 1.3;
  margin-top: 8px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .img-divider {
    height: 280px;
  }

  .img-divider-content {
    padding: 0 24px;
  }

  .img-divider-content p {
    font-size: 1.5rem;
  }

}

@media (max-width: 480px) {
  .img-divider {
    height: 240px;
  }

  .img-divider-content p {
    font-size: 1.25rem;
  }
}

/* --- Form: honeypot, status e consentimento --- */
.form-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-status {
  display: none;
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 2px;
  font-size: 0.9375rem;
}

.form-status.is-success {
  display: block;
  background-color: #e6f4ea;
  color: #1e6b3a;
  border: 1px solid #b7dfc3;
}

.form-status.is-error {
  display: block;
  background-color: #fdecea;
  color: #a4282a;
  border: 1px solid #f5c6c4;
}

.form-consent {
  margin-top: 16px;
  font-size: 0.8125rem;
  color: var(--cinza);
}

.form-consent a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- Footer: links legais --- */
.footer-links {
  margin-bottom: 16px;
}

.footer-links a {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.4);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: var(--rose);
}

/* --- Página legal (Política de Privacidade) --- */
.header--solid {
  background-color: var(--azul);
}

.legal {
  padding: 160px 0 80px;
}

.legal .container {
  max-width: 800px;
}

.legal h1 {
  font-family: 'Tenor Sans', serif;
  font-size: 2rem;
  color: var(--azul);
  margin-bottom: 8px;
}

.legal .legal-updated {
  font-size: 0.875rem;
  color: var(--cinza);
  margin-bottom: 40px;
}

.legal h2 {
  font-family: 'Tenor Sans', serif;
  font-size: 1.25rem;
  color: var(--azul);
  margin: 32px 0 12px;
}

.legal p,
.legal li {
  font-size: 0.9375rem;
  color: var(--cinza);
  line-height: 1.7;
  margin-bottom: 12px;
}

.legal ul {
  padding-left: 20px;
  margin-bottom: 16px;
}

.legal li {
  list-style: disc;
  margin-bottom: 6px;
}

.legal a {
  color: var(--azul);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 768px) {
  .legal {
    padding: 130px 0 56px;
  }

  .legal h1 {
    font-size: 1.5rem;
  }
}

/* --- Cloudflare Turnstile --- */
.cf-turnstile {
  margin-bottom: 20px;
}

/* --- Endereço clicável no rodapé --- */
.footer-location a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.3s ease;
}

.footer-location a:hover {
  color: var(--rose);
}
