/* ═══════════════════════════════════════════════════════════════
   HERO SLIDER — Clean, no text, no overlay, no buttons
   Full viewport height, smooth Ken Burns zoom, dot nav only
═══════════════════════════════════════════════════════════════ */

/* ── SLIDER CONTAINER ─────────────────────────────────────── */
.hero-slider {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 500px;
  overflow: hidden;
  background: #1a1a1a;   /* fallback while images load */

  /* Sits below the fixed header (104px = 36px topbar + 68px nav) */
  margin-top: -104px;
  padding-top: 104px;
}

/* ── SLIDES ───────────────────────────────────────────────── */
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  will-change: opacity;
}

.hero-slide.active {
  opacity: 1;
  z-index: 2;
}

.hero-slide.prev {
  opacity: 0;
  z-index: 1;
}

/* ── SLIDE IMAGE — Ken Burns zoom ─────────────────────────── */
.hero-slide picture,
.hero-slide img {
  width: 100%;
  height: 100%;
  display: block;
}

.hero-slide img {
  object-fit: cover;
  object-position: center center;
  transform: scale(1);
  transition: transform 7s ease-in-out;
  will-change: transform;
}

/* When slide becomes active, slowly zoom in */
.hero-slide.active img {
  transform: scale(1.06);
}

/* Reset zoom on non-active */
.hero-slide:not(.active) img {
  transform: scale(1);
  transition: transform 0s;
}

/* ── DOT NAVIGATION ───────────────────────────────────────── */
.slider-dots {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 10;
}

.slider-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  border: 2px solid rgba(255,255,255,.6);
  cursor: pointer;
  transition: background .3s ease, transform .3s ease, border-color .3s ease;
  padding: 0;
  outline: none;
}

.slider-dot:hover {
  background: rgba(255,255,255,.75);
  transform: scale(1.2);
}

.slider-dot.active {
  background: #F5A623;           /* gold — matches brand */
  border-color: #F5A623;
  transform: scale(1.3);
}

/* ── PROGRESS BAR (thin line at bottom of each slide) ──────── */
.slider-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: #F5A623;
  z-index: 10;
  transition: none;
}

.slider-progress.running {
  transition: width 5s linear;
  width: 100%;
}

/* ── PREV / NEXT ARROWS (minimal, semi-transparent) ────────── */
.slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  border: 1.5px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.8);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s, border-color .25s, opacity .25s;
  opacity: 0;       /* hidden by default — appear on slider hover */
  outline: none;
}

.hero-slider:hover .slider-arrow {
  opacity: 1;
}

.slider-arrow:hover {
  background: rgba(245,166,35,.75);
  border-color: #F5A623;
  color: #fff;
}

.slider-arrow.prev { left: 20px; }
.slider-arrow.next { right: 20px; }

.slider-arrow svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ── LOADING PLACEHOLDER ──────────────────────────────────── */
.hero-slider::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1e0e18 0%, #2a1020 50%, #1e0e18 100%);
  z-index: 0;
  animation: shimmer 1.8s ease infinite alternate;
}

@keyframes shimmer {
  from { opacity: 1; }
  to   { opacity: .5; }
}

/* Hide shimmer once first image loaded */
.hero-slider.loaded::before { display: none; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero-slider {
    height: 60vw;          /* shorter on mobile */
    min-height: 280px;
    max-height: 480px;
  }
  .slider-arrow { display: none; }   /* arrows hidden on touch devices */
  .slider-dots  { bottom: 16px; }
  .slider-dot   { width: 8px; height: 8px; }
}

@media (max-width: 480px) {
  .hero-slider { height: 70vw; max-height: 380px; }
}
