/* Hero final da página inicial.
   Mantém o topo com fundo temático, texto à esquerda e print real do template em card flutuante. */

.hero.hero-premium {
  min-height: 100svh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  padding: clamp(90px, 12vh, 124px) 0 76px !important;
}

.hero.hero-premium::before,
.hero.hero-premium::after {
  display: none !important;
  content: none !important;
}

.hero-photo-slides,
.hero-photo-slide {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.hero-photo-slides::after {
  display: none !important;
}

.hero-photo-slide {
  opacity: 0 !important;
  z-index: 0 !important;
  transform: none !important;
  animation: none !important;
  pointer-events: none !important;
  transition: opacity 1250ms cubic-bezier(0.42, 0, 0.2, 1) !important;
  will-change: opacity !important;
}

.hero-photo-slide.is-active {
  opacity: 1 !important;
  z-index: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

.hero-photo-slide::after {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(180deg, rgba(5, 12, 10, 0.42) 0%, rgba(5, 12, 10, 0.5) 48%, rgba(5, 12, 10, 0.68) 100%),
    rgba(5, 12, 10, 0.42) !important;
  content: "" !important;
}

.hero-photo-slides .hero-scene-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  filter: saturate(0.94) contrast(0.98) brightness(0.88) !important;
}

.hero-template-preview {
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  right: clamp(34px, 5vw, 96px) !important;
  bottom: auto !important;
  left: auto !important;
  width: min(540px, 38vw) !important;
  margin: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  padding: 2px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: rgba(5, 12, 10, 0.58) !important;
  box-shadow:
    0 46px 118px rgba(0, 0, 0, 0.42),
    0 16px 38px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(255, 253, 249, 0.03) !important;
  backdrop-filter: none !important;
  opacity: 1 !important;
  transform: translateY(-42%) !important;
  transform-origin: center center !important;
}

.hero-template-preview::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: inherit;
  background: transparent !important;
  box-shadow:
    inset 0 0 0 2px rgba(5, 12, 10, 0.52),
    inset 0 0 30px rgba(5, 12, 10, 0.16);
  content: "";
  pointer-events: none;
}

.hero-template-preview::after {
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: -30px;
  z-index: -1;
  height: 54px;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 72%);
  filter: blur(16px);
  content: "";
  transform: none;
}

.hero-photo-slide:nth-child(2) .hero-template-preview {
  transform: translateY(-42%) !important;
}

.hero-photo-slide:nth-child(3) .hero-template-preview {
  transform: translateY(-42%) !important;
}

.hero-photo-slide:nth-child(4) .hero-template-preview {
  transform: translateY(-42%) !important;
}

.hero-template-preview img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: top center !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 18px !important;
  background: #07100d !important;
  clip-path: inset(0 round 18px) !important;
  transform: scale(1.012) translateZ(0) !important;
  backface-visibility: hidden !important;
  box-shadow:
    0 22px 70px rgba(0, 0, 0, 0.34) !important;
}


.hero-template-preview--burger img {
  object-position: center top !important;
  transform: scale(1.01) translateZ(0) !important;
}

.hero-template-preview--architecture img,
.hero-template-preview--pet img {
  object-position: center center !important;
}

.hero-template-preview--auto img {
  object-position: right center !important;
  transform: scale(1.04) translateZ(0) !important;
}

.hero-premium .shell.hero-premium-grid {
  position: relative !important;
  z-index: 5 !important;
  width: min(1320px, calc(100% - 48px)) !important;
  min-height: calc(100svh - 190px) !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 520px) minmax(420px, 1fr) !important;
  align-items: center !important;
  gap: clamp(28px, 5vw, 88px) !important;
  margin-left: clamp(24px, 5vw, 76px) !important;
  margin-right: auto !important;
}

.hero-premium .hero-copy.hero-slide-copy {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  min-height: 410px !important;
  margin: 0 !important;
  justify-self: start !important;
}

.hero-slide-copy > article {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 520px !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  animation: none !important;
  pointer-events: none !important;
  transition: opacity 1250ms cubic-bezier(0.42, 0, 0.2, 1), transform 1250ms cubic-bezier(0.42, 0, 0.2, 1) !important;
}

.hero-slide-copy > article.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.hero-premium .eyebrow {
  width: fit-content !important;
  margin-bottom: 14px !important;
  color: rgba(255, 253, 249, 0.78) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.46) !important;
}

.hero.hero-premium h1 {
  max-width: 500px !important;
  color: #fffdf9 !important;
  font-size: clamp(38px, 4.5vw, 58px) !important;
  line-height: 0.98 !important;
  text-shadow: 0 18px 46px rgba(0, 0, 0, 0.56) !important;
}

.hero-premium .hero-lead {
  max-width: 450px !important;
  margin-top: 20px !important;
  color: rgba(255, 253, 249, 0.84) !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.62 !important;
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.5) !important;
}

.hero-slide-copy .hero-note {
  position: absolute !important;
  top: clamp(330px, 45vh, 365px) !important;
  left: 0 !important;
  width: min(440px, 100%) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(255, 253, 249, 0.14) !important;
  border-radius: 10px !important;
  background: rgba(5, 12, 10, 0.34) !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.18) !important;
  color: rgba(255, 253, 249, 0.82) !important;
  backdrop-filter: blur(14px) !important;
}

.hero-slide-copy .hero-note svg {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
}

.hero-slide-copy .hero-note p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.hero-slide-copy .hero-note strong {
  color: #fffdf9 !important;
}

.hero-premium .hero-actions,
.hero-premium .hero-slide-info {
  display: none !important;
}

.hero-scroll-cue {
  position: absolute !important;
  top: clamp(428px, 58vh, 470px) !important;
  left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: fit-content !important;
  color: rgba(255, 253, 249, 0.78) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.hero-scroll-cue svg {
  width: 18px !important;
  height: 18px !important;
  animation: heroCueBounce 1.7s infinite ease-in-out !important;
}

.hero-slide-dots {
  position: absolute !important;
  left: 0 !important;
  bottom: clamp(4px, 2vh, 24px) !important;
  display: inline-flex !important;
  gap: 8px !important;
  align-items: center !important;
}

.hero-slide-dots button {
  appearance: none !important;
  width: 8px !important;
  height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 249, 0.34) !important;
  cursor: pointer !important;
  animation: none !important;
  transition: width 300ms ease, background 300ms ease, opacity 300ms ease !important;
}

.hero-slide-dots button:hover {
  background: rgba(255, 253, 249, 0.62) !important;
}

.hero-slide-dots button.is-active {
  width: 28px !important;
  background: var(--yellow) !important;
}

.hero.hero-premium .hero-proof {
  position: absolute !important;
  left: clamp(24px, 5vw, 76px) !important;
  right: clamp(280px, 24vw, 380px) !important;
  bottom: 22px !important;
  z-index: 7 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: auto !important;
  margin: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-radius: 14px !important;
  background: rgba(5, 12, 10, 0.16) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
}

.hero.hero-premium .hero-proof div {
  min-height: 54px !important;
  color: rgba(255, 253, 249, 0.82) !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

.hero.hero-premium .hero-proof svg {
  width: 16px !important;
  height: 16px !important;
  color: var(--yellow) !important;
}

.hero.hero-premium .hero-proof div + div {
  border-left-color: rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 980px) {
  .hero.hero-premium {
    align-items: stretch !important;
    padding: 88px 0 48px !important;
  }

  .hero-photo-slide::after {
    background:
      linear-gradient(180deg, rgba(5, 12, 10, 0.76) 0%, rgba(5, 12, 10, 0.46) 36%, rgba(5, 12, 10, 0.22) 58%, rgba(5, 12, 10, 0.72) 100%),
      rgba(5, 12, 10, 0.18) !important;
  }

  .hero-photo-slides .hero-scene-bg {
    object-position: 58% center !important;
    filter: saturate(0.96) contrast(0.96) brightness(0.88) !important;
  }

  .hero-premium .shell.hero-premium-grid {
    width: min(100% - 36px, 620px) !important;
    min-height: calc(100svh - 136px) !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .hero-premium .hero-copy.hero-slide-copy {
    min-height: calc(100svh - 136px) !important;
    max-width: 520px !important;
  }

  .hero-slide-copy > article {
    max-width: 440px !important;
  }

  .hero.hero-premium h1 {
    max-width: 420px !important;
    font-size: clamp(34px, 8vw, 48px) !important;
  }

  .hero-premium .hero-lead {
    max-width: 390px !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  .hero-slide-copy .hero-note {
    top: 265px !important;
    width: min(390px, 100%) !important;
  }

  .hero-template-preview {
    top: auto !important;
    right: auto !important;
    bottom: 92px !important;
    left: 0 !important;
    width: min(380px, 86vw) !important;
    transform: none !important;
    transform-origin: center center !important;
  }

  .hero-photo-slide:nth-child(2) .hero-template-preview,
  .hero-photo-slide:nth-child(3) .hero-template-preview,
  .hero-photo-slide:nth-child(4) .hero-template-preview {
    transform: none !important;
  }

  .hero-scroll-cue {
    top: auto !important;
    bottom: 22px !important;
  }

  .hero-slide-dots {
    bottom: 74px !important;
  }

  .hero.hero-premium .hero-proof {
    left: 18px !important;
    right: 18px !important;
    bottom: 16px !important;
  }
}

@media (max-width: 560px) {
  .hero.hero-premium {
    padding-top: 82px !important;
    padding-bottom: 42px !important;
  }

  .hero-photo-slide::after {
    background:
      linear-gradient(180deg, rgba(5, 12, 10, 0.78) 0%, rgba(5, 12, 10, 0.48) 32%, rgba(5, 12, 10, 0.1) 56%, rgba(5, 12, 10, 0.74) 100%),
      rgba(5, 12, 10, 0.12) !important;
  }

  .hero-photo-slides .hero-scene-bg {
    object-position: 62% center !important;
  }

  .hero-premium .shell.hero-premium-grid {
    width: min(100% - 30px, 390px) !important;
    min-height: calc(100svh - 124px) !important;
  }

  .hero-premium .hero-copy.hero-slide-copy {
    min-height: calc(100svh - 124px) !important;
  }

  .hero-slide-copy > article {
    max-width: 342px !important;
  }

  .hero-premium .eyebrow {
    margin-bottom: 10px !important;
    font-size: 9px !important;
  }

  .hero.hero-premium h1 {
    max-width: 342px !important;
    font-size: clamp(25px, 6.8vw, 31px) !important;
    line-height: 1.02 !important;
  }

  .hero-premium .hero-lead {
    max-width: 318px !important;
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.46 !important;
  }

  .hero-slide-copy .hero-note {
    top: 250px !important;
    width: min(318px, 100%) !important;
    padding: 12px 13px !important;
  }

  .hero-slide-copy .hero-note p {
    font-size: 12px !important;
  }

  .hero-template-preview {
    bottom: 186px !important;
    left: 50% !important;
    width: min(292px, 78vw) !important;
    transform: translateX(-50%) !important;
  }

  .hero-photo-slide:nth-child(2) .hero-template-preview,
  .hero-photo-slide:nth-child(3) .hero-template-preview,
  .hero-photo-slide:nth-child(4) .hero-template-preview {
    transform: translateX(-50%) !important;
  }

  .hero-template-preview img {
    aspect-ratio: 16 / 10.5 !important;
    border-radius: 16px !important;
    clip-path: inset(0 round 16px) !important;
  }

  .hero-scroll-cue {
    bottom: 112px !important;
    font-size: 10px !important;
  }

  .hero-slide-dots {
    display: none !important;
  }

  .hero-proof {
    display: grid !important;
  }

  .hero.hero-premium .hero-proof {
    left: 15px !important;
    right: 78px !important;
    bottom: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
    background: rgba(5, 12, 10, 0.24) !important;
    backdrop-filter: blur(10px) !important;
  }

  .hero.hero-premium .hero-proof div {
    min-height: 32px !important;
    gap: 6px !important;
    justify-content: flex-start !important;
    padding: 0 8px !important;
    font-size: 10px !important;
  }

  .hero.hero-premium .hero-proof div + div {
    border-left: 0 !important;
  }

  .hero.hero-premium .hero-proof svg {
    width: 14px !important;
    height: 14px !important;
  }
}
/* Ajuste mobile: hero limpo, prova centralizada e rolagem discreta */
@media (max-width: 760px) {
  .hero-slide-copy .hero-note {
    display: none !important;
  }

  .hero-scroll-cue {
    top: auto !important;
    right: auto !important;
    bottom: 96px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 253, 249, 0.34) !important;
    border-radius: 999px !important;
    background: rgba(5, 12, 10, 0.22) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(10px) !important;
  }

  .hero-scroll-cue span {
    display: none !important;
  }

  .hero-scroll-cue svg {
    width: 23px !important;
    height: 23px !important;
    stroke-width: 1.9 !important;
    color: #fffdf9 !important;
  }

  .hero.hero-premium .hero-proof {
    right: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    width: min(332px, calc(100vw - 44px)) !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    transform: translateX(-50%) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 10px !important;
    border-radius: 22px !important;
    background: rgba(5, 12, 10, 0.34) !important;
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28) !important;
    backdrop-filter: blur(14px) !important;
  }

  .hero.hero-premium .hero-proof div {
    min-height: 44px !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 11px !important;
  }

  .hero.hero-premium .hero-proof svg {
    width: 17px !important;
    height: 17px !important;
  }
}
