/**
 * Homepage Hero Slider Styles
 *
 * Mobile-first styles for the full-width hero image slider
 * with CSS transitions and dot navigation.
 */

/* ==========================================================================
   SLIDER WRAPPER
   ========================================================================== */

.hero-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100vw;
}

/* ==========================================================================
   TRACK & SLIDES
   ========================================================================== */

.hero-slider__track {
    display: flex;
    transition: transform 0.6s ease;
    will-change: transform;
}

.hero-slider__slide {
    min-width: 100%;
    width: 100%;
    flex-shrink: 0;
    overflow: hidden;
}

.hero-slider__slide picture {
    display: block;
    width: 100%;
}

.hero-slider__slide img {
    display: block;
    width: 100%;
    height: auto;
}

/* ==========================================================================
   DOT NAVIGATION
   ========================================================================== */

.hero-slider__dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 2;
}

.hero-slider__dot {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    border: 2px solid rgba(255, 255, 255, 0.8);
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: background var(--transition-smooth), transform var(--transition-smooth);
}

.hero-slider__dot--active {
    background: var(--white);
    transform: scale(1.2);
}

.hero-slider__dot:hover {
    background: rgba(255, 255, 255, 0.6);
}

.hero-slider__dot--active:hover {
    background: var(--white);
}

@media (min-width: 768px) {
    .hero-slider__dots {
        bottom: 24px;
        gap: 12px;
    }

    .hero-slider__dot {
        width: 12px;
        height: 12px;
    }
}
