/**
 * O6 Toolkit — Hero Slider Styles
 * Integrated with OxyMade Framework Variables
 *
 * Uses [data-*] attribute selectors to beat O6 specificity.
 * Uses OxyMade vars: --ss-*, --s*, --radius-*, --primary, etc.
 * Uses O6TK vars: --o6tk-ease-*, --o6tk-dur-*, --o6tk-shadow-*
 *
 * @version 1.2.0
 */

/* ══════════════════════════════════════════════════
   SLIDER CONTAINER
   ══════════════════════════════════════════════════ */

[data-hero-slider] {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  overflow: hidden !important;
  background: var(--o6tk-dark, #101010) !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  display: block !important;
}

/* ══════════════════════════════════════════════════
   SLIDES
   ══════════════════════════════════════════════════ */

[data-hero-slider] > [data-slide] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  visibility: hidden;
  opacity: 0;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Fallback: show first slide + its content if JS is delayed or fails */
[data-hero-slider] > [data-slide]:first-child {
  visibility: visible;
  opacity: 1;
}

[data-hero-slider] > [data-slide]:first-child [data-slide-content] {
  visibility: visible;
  opacity: 1;
}

/* Hide non-active slides and their content until JS takes over */
[data-hero-slider] > [data-slide]:not(:first-child) {
  visibility: hidden;
  opacity: 0;
}

[data-hero-slider] > [data-slide]:not(:first-child) [data-slide-content] {
  visibility: hidden;
  opacity: 0;
}

/* ══════════════════════════════════════════════════
   BACKGROUND
   ══════════════════════════════════════════════════ */

.c-hero-slider__bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
}

.c-hero-slider__bg img,
.c-hero-slider__bg video,
[data-slide] .c-hero-slider__bg img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  will-change: transform;
  max-width: none !important;
  display: block !important;
  transform: scale(1.08);
}

/* ══════════════════════════════════════════════════
   OVERLAY
   ══════════════════════════════════════════════════ */

.c-hero-slider__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.7) 0%,
    rgba(0, 0, 0, 0.4) 50%,
    rgba(0, 0, 0, 0.1) 100%
  ) !important;
  pointer-events: none !important;
}

/* ══════════════════════════════════════════════════
   CONTENT
   ══════════════════════════════════════════════════ */

.c-hero-slider__content,
[data-slide] .c-hero-slider__content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: var(--o6tk-section-width, 1440px) !important;
  margin: 0 auto !important;
  padding: 0 var(--o6tk-section-padding, 60px) !important;
  color: var(--o6tk-light, #fff) !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* ── Centered variant ── */
[data-slide].c-hero-slider__slide--center .c-hero-slider__content {
  align-items: center !important;
  text-align: center !important;
}

/* ══════════════════════════════════════════════════
   TYPOGRAPHY
   ══════════════════════════════════════════════════ */

/* Eyebrow / Subhead */
.c-hero-slider__content .t-subhead,
[data-slide] .c-hero-slider__content .t-subhead {
  font-size: clamp(0.75rem, 1.5vw, 1rem) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  opacity: 0.85;
  margin-bottom: var(--o6tk-space-4, 16px) !important;
  color: var(--o6tk-light, #fff) !important;
}

/* Display heading */
.c-hero-slider__content .t-display,
[data-slide] .c-hero-slider__content .t-display {
  font-size: var(--o6tk-hero, clamp(3rem, 7vw, 5.5rem)) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  margin-bottom: var(--o6tk-space-6, 24px) !important;
  color: var(--o6tk-light, #fff) !important;
  letter-spacing: -0.02em !important;
}

/* Body / Description */
.c-hero-slider__description,
[data-slide] .c-hero-slider__description {
  font-size: clamp(1rem, 1.8vw, 1.3rem) !important;
  line-height: 1.6 !important;
  opacity: 0.9;
  max-width: 600px;
  margin-bottom: var(--o6tk-space-8, 32px) !important;
  color: var(--o6tk-light, #fff) !important;
}

/* Centered variant: center description */
.c-hero-slider__slide--center .c-hero-slider__description {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ══════════════════════════════════════════════════
   CTA BUTTONS
   ══════════════════════════════════════════════════ */

.c-hero-slider__ctas,
[data-slide] .c-hero-slider__ctas {
  display: flex !important;
  flex-direction: row !important;
  gap: var(--o6tk-space-4, 16px) !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* Centered variant: center buttons */
.c-hero-slider__slide--center .c-hero-slider__ctas {
  justify-content: center !important;
}

/* Base button */
.c-hero-slider__ctas .c-btn,
.c-hero-slider__ctas a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.1em 2.8em !important;
  font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
  font-weight: var(--o6tk-btn-weight, 600) !important;
  text-decoration: none !important;
  border-radius: var(--o6tk-radius-md, 4px) !important;
  transition: all var(--o6tk-dur-base, 250ms) var(--o6tk-ease-default, ease) !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
  line-height: var(--o6tk-btn-lh, 1) !important;
}

/* Primary button */
.c-hero-slider__ctas .c-btn--primary,
.c-hero-slider__ctas a.c-btn--primary {
  background: var(--o6tk-light, #fff) !important;
  color: var(--o6tk-dark, #101010) !important;
  border-color: var(--o6tk-light, #fff) !important;
}

.c-hero-slider__ctas .c-btn--primary:hover,
.c-hero-slider__ctas a.c-btn--primary:hover {
  background: transparent !important;
  color: var(--o6tk-light, #fff) !important;
}

/* Outline button */
.c-hero-slider__ctas .c-btn--outline,
.c-hero-slider__ctas a.c-btn--outline {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: var(--o6tk-light, #fff) !important;
}

.c-hero-slider__ctas .c-btn--outline:hover,
.c-hero-slider__ctas a.c-btn--outline:hover {
  border-color: var(--o6tk-light, #fff) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* ══════════════════════════════════════════════════
   NAVIGATION — ARROWS
   ══════════════════════════════════════════════════ */

[data-slider-prev],
[data-slider-next] {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--o6tk-radius-xl, 9999px) !important;
  color: var(--o6tk-light, #fff) !important;
  cursor: pointer !important;
  transition:
    background var(--o6tk-dur-base, 250ms) ease,
    border-color var(--o6tk-dur-base, 250ms) ease !important;
  padding: 0 !important;
  line-height: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex-direction: row !important;
}

[data-slider-prev]:hover,
[data-slider-next]:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

[data-slider-prev] {
  left: clamp(16px, 3vw, 32px) !important;
}
[data-slider-next] {
  right: clamp(16px, 3vw, 32px) !important;
}

[data-slider-prev] svg,
[data-slider-next] svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ══════════════════════════════════════════════════
   NAVIGATION — DOTS
   ══════════════════════════════════════════════════ */

[data-slider-dots] {
  position: absolute !important;
  bottom: clamp(24px, 4vw, 40px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  padding: 0 !important;
}

[data-slider-dot] {
  width: 12px !important;
  height: 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: var(--o6tk-radius-xl, 9999px) !important;
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  background: transparent !important;
  cursor: pointer !important;
  transition: all var(--o6tk-dur-base, 250ms) ease !important;
  padding: 0 !important;
}

[data-slider-dot].is-active {
  background: var(--o6tk-light, #fff) !important;
  border-color: var(--o6tk-light, #fff) !important;
  transform: scale(1.15) !important;
}

[data-slider-dot]:hover:not(.is-active) {
  border-color: rgba(255, 255, 255, 0.8) !important;
}

/* ══════════════════════════════════════════════════
   PROGRESS BAR
   ══════════════════════════════════════════════════ */

.c-hero-slider__progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  z-index: 10 !important;
  padding: 0 !important;
}

.c-hero-slider__progress-bar,
[data-slider-progress] {
  height: 100% !important;
  background: var(--o6tk-light, #fff) !important;
  transform-origin: left !important;
  transform: scaleX(0);
}

/* ══════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════ */

@media (max-width: 768px) {
  [data-hero-slider] {
    height: 100svh !important;
  }

  .c-hero-slider__content,
  [data-slide] .c-hero-slider__content {
    max-width: 100% !important;
    padding: 0 var(--o6tk-space-6, 24px) !important;
  }

  .c-hero-slider__content .t-display,
  [data-slide] .c-hero-slider__content .t-display {
    font-size: clamp(2.25rem, 8vw, 3.5rem) !important;
  }

  [data-slider-prev],
  [data-slider-next] {
    width: 40px !important;
    height: 40px !important;
  }

  [data-slider-prev] {
    left: 12px !important;
  }
  [data-slider-next] {
    right: 12px !important;
  }

  [data-slider-prev] svg,
  [data-slider-next] svg {
    width: 16px;
    height: 16px;
  }

  .c-hero-slider__ctas,
  [data-slide] .c-hero-slider__ctas {
    flex-direction: column !important;
    width: 100% !important;
  }

  .c-hero-slider__ctas .c-btn,
  .c-hero-slider__ctas a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ══════════════════════════════════════════════════
   REDUCED MOTION
   ══════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  [data-hero-slider] > [data-slide] {
    visibility: hidden !important;
    opacity: 0 !important;
  }
  [data-hero-slider] > [data-slide]:first-child {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .c-hero-slider__bg img,
  .c-hero-slider__bg video {
    will-change: auto !important;
  }
}
