/* =========================================================
   HERO
   Fase 3 — versão consolidada
   ========================================================= */

.hero-shell {
  height: 520px;
  position: relative;
  background: #123;
  overflow: hidden;
}

/* Barra inferior do hero: apenas azul + verde. */
.hero-shell::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  z-index: 20;
  background: linear-gradient(
    90deg,
    var(--blue) 0 50%,
    var(--green) 50% 100%
  );
}

.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.carousel-fade .carousel-item {
  transition: opacity 1.15s ease-in-out;
}

.hero-copy {
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  pointer-events: none;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .28);
}

.hero-kicker {
  font-size: 1.75rem;
  font-weight: 650;
  margin: 0;
}

.hero-copy h1 {
  font-size: clamp(3rem, 5.2vw, 5.2rem);
  line-height: .98;
  font-weight: 850;
  margin: .1rem 0 1rem;
  letter-spacing: -.035em;
}

.hero-subtitle {
  font-size: 1.25rem;
  max-width: 680px;
  margin: 0;
}

@media (max-width: 991px) {
  .hero-shell,
  .hero-photo {
    height: 480px;
  }

  .hero-copy h1 {
    font-size: 3.4rem;
  }
}

@media (max-width: 767px) {
  .hero-shell,
  .hero-photo {
    height: 430px;
  }

  .hero-kicker {
    font-size: 1.25rem;
  }

  .hero-copy h1 {
    font-size: 2.8rem;
  }

  .hero-subtitle {
    font-size: 1rem;
  }
}

@media (max-width: 575px) {
  .hero-shell,
  .hero-photo {
    height: 390px;
  }

  .hero-copy h1 {
    font-size: 2.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none !important;
  }
}

/* Ondas azuis do hero, baseadas no desenho fornecido. */
.hero-shell::after{content:none!important;display:none!important;}
.jfssm-home-hero-waves{position:absolute;bottom:-1px;left:0;right:0;height:103px;z-index:12;pointer-events:none;overflow:hidden;}
.jfssm-home-hero-waves svg{display:block;height:100%;width:100%;}
@media(max-width:767px){.jfssm-home-hero-waves{height:73px;}}
@media(max-width:440px){.jfssm-home-hero-waves{height:56px;}}

/* v0.45.6.17 — fotografia ligeiramente mais alta e texto legível. */
@media (min-width:992px) { .hero-shell { height: 565px; } }
.hero-copy h1 {
  text-shadow: 0 3px 6px rgba(0,0,0,.72), 0 9px 24px rgba(0,0,0,.48);
}
.hero-copy .hero-subtitle {
  text-shadow: 0 2px 5px rgba(0,0,0,.8), 0 6px 18px rgba(0,0,0,.45);
}

/* v0.45.6.22 — quatro variantes sincronizadas com as fotografias. */
.jfssm-home-hero-waves .jfssm-wave { position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity .8s ease; }
.jfssm-home-hero-waves .jfssm-wave-0 { opacity:1; }
body.home[data-jf-hero-variant="0"] .jfssm-home-hero-waves .jfssm-wave,
body.home[data-jf-hero-variant="1"] .jfssm-home-hero-waves .jfssm-wave,
body.home[data-jf-hero-variant="2"] .jfssm-home-hero-waves .jfssm-wave,
body.home[data-jf-hero-variant="3"] .jfssm-home-hero-waves .jfssm-wave {opacity:0;}
body.home[data-jf-hero-variant="0"] .jfssm-home-hero-waves .jfssm-wave-0,
body.home[data-jf-hero-variant="1"] .jfssm-home-hero-waves .jfssm-wave-1,
body.home[data-jf-hero-variant="2"] .jfssm-home-hero-waves .jfssm-wave-2,
body.home[data-jf-hero-variant="3"] .jfssm-home-hero-waves .jfssm-wave-3 { opacity:1; }
@media (prefers-reduced-motion: reduce){.jfssm-home-hero-waves .jfssm-wave{transition:none;}}

/* v0.45.6.24 — cinco ondas com cores suaves associadas aos meios. */
body.home .jfssm-home-hero-waves .jfssm-wave { opacity: 0; }
body.home:not([data-jf-hero-variant]) .jfssm-home-hero-waves .jfssm-wave-0 { opacity: 1; }
body.home[data-jf-hero-variant="azul"] .jfssm-home-hero-waves .jfssm-wave-0,
body.home[data-jf-hero-variant="verde"] .jfssm-home-hero-waves .jfssm-wave-1,
body.home[data-jf-hero-variant="amarelo"] .jfssm-home-hero-waves .jfssm-wave-2,
body.home[data-jf-hero-variant="vermelho"] .jfssm-home-hero-waves .jfssm-wave-3,
body.home[data-jf-hero-variant="laranja"] .jfssm-home-hero-waves .jfssm-wave-4 { opacity: 1; }



/* v0.45.6.29 — escurecimento suave da fotografia, não das letras. */
body.home .hero-shell {overflow:visible;}
body.home .hero-shell #freguesiaCarousel {overflow:hidden;}
body.home .hero-copy {z-index:15;isolation:isolate;}
body.home .hero-copy::before {
  content:""; position:absolute; z-index:-1;
  left:0;top:-35%;height:170%;width:min(70vw,1100px);
  background:linear-gradient(90deg,rgba(7,30,44,.40) 0%,rgba(7,30,44,.22) 48%,rgba(7,30,44,0) 100%);
  pointer-events:none;
}
body.home .hero-copy h1,body.home .hero-copy .hero-subtitle {
  background:none!important;display:block;width:auto;max-width:720px;
  margin-left:0;padding:0;border-radius:0;
  text-shadow:0 2px 5px rgba(0,0,0,.38);
}
body.home .jfssm-home-hero-waves {
  bottom:-48px!important;height:176px;overflow:visible;z-index:12;
}
body.home .jfssm-home-hero-waves .jfssm-wave {transition:opacity 1.5s ease-in-out;}
@media(max-width:767px){body.home .jfssm-home-hero-waves{bottom:-29px!important;height:112px;}body.home .hero-copy::before{width:100%;}}
@media(max-width:440px){body.home .jfssm-home-hero-waves{bottom:-20px!important;height:84px;}}

/* v0.45.6.30 — sombreado difuso, sem faixa geométrica. */
body.home .hero-copy::before {content:none!important;display:none!important;}
body.home .hero-shell::before {
 content:"";position:absolute;inset:0;z-index:9;pointer-events:none;
 background:radial-gradient(ellipse 54% 74% at 24% 52%,
   rgba(4,23,34,.48) 0%,rgba(4,23,34,.32) 38%,
   rgba(4,23,34,.13) 68%,rgba(4,23,34,0) 100%);
}
body.home .jfssm-home-hero-waves .jfssm-wave {opacity:0!important;}
body.home .jfssm-home-hero-waves .jfssm-wave-0 {opacity:1!important;}

/* v0.45.6.31 — sombreado espalhado sobre a fotografia, sem faixa. */
body.home .hero-shell::before { content:none!important;display:none!important; }
body.home .jfssm-hero-photo-shade {
  position:absolute; inset:0; z-index:9; pointer-events:none;
  background: radial-gradient(ellipse 75% 96% at 22% 49%,rgba(4,22,34,.50) 0%,rgba(4,22,34,.28) 35%,rgba(4,22,34,.09) 66%,rgba(4,22,34,0) 100%);
}
body.home .hero-copy { z-index:11; }
body.home .hero-copy::before { content:none!important;display:none!important; }
body.home .hero-copy h1,body.home .hero-copy .hero-subtitle { background:transparent!important; }

/* v0.45.6.32 — sombra sem faixa, apenas na fotografia. */
body.home .jfssm-hero-photo-shade {background:radial-gradient(ellipse 62% 75% at 27% 49%,rgba(3,16,22,.49) 0%,rgba(3,16,22,.25) 39%,rgba(3,16,22,.08) 67%,transparent 100%)!important;}
body.home .jfssm-home-hero-waves {height:195px!important;bottom:-40px!important;}
body.home .jfssm-home-hero-waves .jfssm-wave {opacity:0!important;}
body.home .jfssm-home-hero-waves .jfssm-wave-0 {opacity:1!important;}
@media(max-width:767px){body.home .jfssm-home-hero-waves{height:120px!important;bottom:-23px!important;}}
