/* MRV Hero carousel enhancements — loaded after main theme stylesheet */

.home-hero {
  position: relative !important;
  overflow: hidden !important;
  background: #0b1616 !important;
  color: #fff;
  padding: 0 !important;
  margin: 0 !important;
  margin-top: 112px !important;
}

.hero-slider-track {
  position: relative !important;
  min-height: 640px !important;
}

.hero-slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.65s ease, visibility 0.65s ease !important;
  min-height: 640px !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
}
.hero-slide.active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}

.hero-bg {
  position: absolute !important;
  inset: -2% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
  transform-origin: center center !important;
  animation: none;
}

/* Wide banners (e.g. Moving-ads-header): logos/artwork sit on the right */
.hero-bg--wide {
  background-position: 95% 88% !important;
  transform-origin: 95% 88% !important;
}
.hero-slide.active .hero-bg {
  animation: heroKenBurns 12s ease-out forwards !important;
}
.hero-slide.active .hero-bg--wide {
  animation: heroKenBurnsWide 12s ease-out forwards !important;
}
@keyframes heroKenBurns {
  0%   { transform: scale(1.04); }
  100% { transform: scale(1.10); }
}
@keyframes heroKenBurnsWide {
  0%   { transform: scale(1.02); }
  100% { transform: scale(1.06); }
}

.hero-slide::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(6,18,18,.88) 0%, rgba(6,18,18,.62) 42%, rgba(6,18,18,.12) 100%) !important;
  z-index: 1 !important;
}
.hero-slide--wide::before {
  background: linear-gradient(
    90deg,
    rgba(6, 18, 18, 0.92) 0%,
    rgba(6, 18, 18, 0.72) 28%,
    rgba(6, 18, 18, 0.28) 48%,
    rgba(6, 18, 18, 0.06) 68%,
    transparent 100%
  ) !important;
}

.hero-slide .site-wrap {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 640px !important;
  padding-top: 60px !important;
  padding-bottom: 72px !important;
}

.hero-slide.active .hero-content {
  animation: heroContentIn 0.7s ease 0.15s both;
}
@keyframes heroContentIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 600px !important;
}
.hero-content h1 {
  text-shadow: 0 2px 24px rgba(0,0,0,.35);
}

/* Slider chrome hidden — slides still auto-rotate via hero-slider.js */
.home-hero .hero-controls,
.home-hero .hero-pause,
.home-hero .hero-arrow {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.hero-controls {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 28px !important;
  z-index: 12 !important;
  display: flex !important;
  align-items: center !imporant;
  gap: 16px !important;
  padding: 0 24px !important;
  max-width: var(--mrv-max-width, 1200px) !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.hero-progress {
  flex: 1 !important;
  height: 3px !important;
  background: rgba(255,255,255,.2) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  max-width: 200px !important;
}
.hero-progress-fill {
  display: block !!important;
  height: 100% !important;
  width: 0 !important;
  background: var(--mrv-accent, #0d9488) !important;
  border-radius: inherit !important;
}
@keyframes heroProgress {
  from { width: 0; }
  to   { width: 100%; }
}

.hero-dots {
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.hero-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.35) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: width .25s ease, background .25s ease, border-radius .25s ease !important;
}
.hero-dot:hover {
  background: rgba(255,255,255,.6) !important;
}
.hero-dot.active {
  background: var(--mrv-accent, #0d9488) !important;
  width: 28px !important;
  border-radius: 5px !important;
}

.hero-counter {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.75) !important;
  letter-spacing: .04em !important;
  min-width: 2.5rem !important;
}
.hero-counter-sep {
  opacity: .5;
  margin: 0 2px;
}

.hero-pause {
  position: absolute !important;
  right: 24px !important;
  bottom: 72px !important;
  z-index: 12 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,.3) !important;
  background: rgba(0,0,0,.35) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  backdrop-filter: blur(6px) !important;
  transition: background .2s, border-color .2s !important;
}
.hero-pause:hover {
  background: rgba(0,0,0,.55) !important;
  border-color: rgba(255,255,255,.55) !important;
}
.hero-pause-icon--play { display: none; }
.hero-pause.is-paused .hero-pause-icon--pause { display: none; }
.hero-pause.is-paused .hero-pause-icon--play { display: block; }

.hero-arrow {
  top: 50% !important;
  z-index: 10 !important;
  opacity: 0.85;
}
.hero-arrow:hover {
  opacity: 1;
  transform: translateY(-50%) scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition: none !important; }
  .hero-slide.active .hero-bg { animation: none !important; }
  .hero-slide.active .hero-content { animation: none !important; }
  .hero-progress-fill { display: none !important; }
}

@media (max-width: 768px) {
  .hero-slider-track,
  .hero-slide,
  .hero-slide .site-wrap {
    min-height: 520px !important;
  }
  .hero-slide .site-wrap {
    padding-bottom: 72px !important;
  }
  .hero-content h1 { font-size: 32px !important; }
  .hero-controls {
    flex-wrap: wrap !important;
    bottom: 20px !important;
    padding: 0 16px !important;
  }
  .hero-progress { order: 3 !important; flex: 1 1 100% !important; max-width: none !important; }
  .hero-pause { bottom: 88px !important; right: 16px !important; }
  .hero-arrow-prev { left: 8px !important; }
  .hero-arrow-next { right: 8px !important; }
}
