/* Dunkage Hero Slider Background Cover 350px */
/* Load after all previous hero slider CSS files */

body .hero-template-slider-section {
  width: min(1440px, calc(100% - 40px)) !important;
  margin: 16px auto 16px !important;
}

body .hero-template-slider-head {
  margin: 0 0 10px !important;
  align-items: center !important;
}

body .hero-template-slider-head h2 {
  margin: 0 !important;
  font-size: clamp(26px, 3vw, 46px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.05em !important;
}

body .hero-template-slider-head span {
  display: none !important;
}

body .hero-template-slider-head a {
  font-size: 15px !important;
  font-weight: 1000 !important;
}

body .hero-template-slider {
  position: relative !important;
  height: 350px !important;
  min-height: 350px !important;
  max-height: 350px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background: #24194d !important;
  box-shadow: 0 28px 78px rgba(61, 35, 138, .20) !important;
}

body .hero-template-track {
  position: relative !important;
  height: 350px !important;
  min-height: 350px !important;
  max-height: 350px !important;
}

body .hero-template-slide {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  height: 350px !important;
  min-height: 350px !important;
  max-height: 350px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at right center, rgba(91, 46, 229, .18), transparent 42%),
    linear-gradient(135deg, #24194d, #5b2ee5) !important;
}

/* Cover image becomes full background */
body .hero-template-visual {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 350px !important;
  min-height: 350px !important;
  max-height: 350px !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #24194d !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 1 !important;
}

body .hero-template-visual img {
  width: 100% !important;
  height: 350px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  filter: saturate(1.08) contrast(1.04) !important;
}

body .hero-template-fallback {
  width: 100% !important;
  height: 350px !important;
  border-radius: 0 !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at right center, rgba(255, 227, 108, .22), transparent 34%),
    linear-gradient(135deg, #24194d, #5b2ee5) !important;
  color: rgba(255, 227, 108, .28) !important;
  font-size: 120px !important;
}

/* Full slide soft dark wash for readability */
body .hero-template-slide::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg,
      rgba(18, 10, 49, .94) 0%,
      rgba(31, 18, 78, .88) 28%,
      rgba(31, 18, 78, .56) 48%,
      rgba(18, 10, 49, .14) 73%,
      rgba(18, 10, 49, .22) 100%
    ) !important;
  pointer-events: none !important;
}

/* Extra gradient panel behind left text */
body .hero-template-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(600px, 50%) !important;
  height: 100% !important;
  padding: 34px 42px 42px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  color: #fff !important;
  background:
    linear-gradient(90deg,
      rgba(18, 10, 49, .80) 0%,
      rgba(31, 18, 78, .58) 62%,
      rgba(31, 18, 78, 0) 100%
    ) !important;
  backdrop-filter: blur(2px) !important;
}

body .hero-template-kicker {
  align-self: flex-start !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  background: rgba(255, 227, 108, .18) !important;
  color: #ffe36c !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  font-weight: 1000 !important;
}

body .hero-template-copy h3 {
  margin: 10px 0 8px !important;
  color: #fff !important;
  font-size: clamp(34px, 3.6vw, 58px) !important;
  line-height: .90 !important;
  letter-spacing: -.06em !important;
  max-width: 560px !important;
  text-shadow: 0 14px 38px rgba(0,0,0,.30) !important;
}

body .hero-template-copy p {
  margin: 0 !important;
  max-width: 540px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: clamp(14px, 1.15vw, 17px) !important;
  line-height: 1.34 !important;
  font-weight: 850 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-shadow: 0 8px 22px rgba(0,0,0,.22) !important;
}

body .hero-template-meta {
  margin-top: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

body .hero-template-meta span {
  padding: 6px 9px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.94) !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  backdrop-filter: blur(6px) !important;
}

body .hero-template-actions {
  margin-top: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}

body .hero-template-actions form {
  margin: 0 !important;
}

body .hero-template-primary,
body .hero-template-actions button {
  min-height: 40px !important;
  border-radius: 14px !important;
  padding: 0 15px !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
}

body .hero-template-primary {
  background: #ffe36c !important;
  color: #24194d !important;
  box-shadow: 0 14px 34px rgba(255,227,108,.22) !important;
}

body .hero-template-actions button {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  backdrop-filter: blur(8px) !important;
}

/* Controls stay inside the 350px slide */
body .hero-template-controls {
  z-index: 5 !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 16px !important;
}

body .hero-template-controls > button {
  width: 38px !important;
  height: 38px !important;
  border-radius: 13px !important;
  font-size: 17px !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}

body .hero-template-dots {
  gap: 6px !important;
}

body .hero-template-dots button {
  width: 8px !important;
  height: 8px !important;
  background: rgba(255,255,255,.42) !important;
}

body .hero-template-dots button.active {
  width: 26px !important;
  background: #ffe36c !important;
}

/* Mobile/tablet */
@media (max-width: 920px) {
  body .hero-template-slider-section {
    width: calc(100% - 26px) !important;
  }

  body .hero-template-slider-head {
    align-items: flex-start !important;
    gap: 8px !important;
  }

  body .hero-template-slider-head h2 {
    font-size: clamp(24px, 7vw, 36px) !important;
  }

  body .hero-template-slider,
  body .hero-template-track,
  body .hero-template-slide,
  body .hero-template-visual,
  body .hero-template-visual img,
  body .hero-template-fallback {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
  }

  body .hero-template-slide::before {
    background:
      linear-gradient(180deg,
        rgba(18, 10, 49, .92) 0%,
        rgba(31, 18, 78, .72) 58%,
        rgba(18, 10, 49, .30) 100%
      ) !important;
  }

  body .hero-template-copy {
    width: 100% !important;
    height: auto !important;
    min-height: 430px !important;
    padding: 26px 22px 58px !important;
    justify-content: flex-start !important;
    background:
      linear-gradient(180deg,
        rgba(18, 10, 49, .82) 0%,
        rgba(31, 18, 78, .54) 56%,
        rgba(31, 18, 78, 0) 100%
      ) !important;
  }

  body .hero-template-copy h3 {
    font-size: clamp(30px, 8vw, 44px) !important;
    max-width: 100% !important;
  }

  body .hero-template-copy p {
    max-width: 100% !important;
  }

  body .hero-template-controls {
    bottom: 14px !important;
    left: 16px !important;
    right: 16px !important;
  }
}
