/*
 * Homepage header rotating image gallery.
 * New, standalone stylesheet — does not modify any existing theme classes.
 * Heights mirror the existing .hero-slider-section breakpoints (100vh / 50vh / 70vh)
 * so the gallery fills the same space the old single header image used to.
 */
.hero-gallery {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.hero-gallery .hero-gallery-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 1;
    transition: opacity 1.2s ease-in-out;
}

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

.hero-gallery-dots {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 10px;
}

.hero-gallery-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    transition: background 0.3s ease;
}

.hero-gallery-dots button.is-active {
    background: #fff;
}

.hero-gallery-dots button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Tablet — matches the existing .hero-slider-section tablet height */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
    .hero-gallery {
        height: 50vh;
    }
}

/* Mobile — matches the existing .hero-slider-section mobile height */
@media only screen and (max-width: 767px) {
    .hero-gallery {
        height: 70vh;
    }

    .hero-gallery-dots {
        bottom: 14px;
    }

    .hero-gallery-dots button {
        width: 8px;
        height: 8px;
    }
}
