/* ========================================================================== */
/* TRAINING GALLERY – MOBILE SLIDER (home page)                               */
/* This stylesheet converts the training gallery grid into a horizontal        */
/* slideshow on small screens using CSS scroll-snap.                           */
/* ========================================================================== */

@media (max-width: 768px) {
    .training-gallery-section .gallery-grid {
        display: flex;
        overflow-x: auto;
        gap: 1rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.5rem;
        /* Cancel container side padding so first/last slides are flush */
        margin-left: -1rem;
        margin-right: -1rem;
    }

    .training-gallery-section .gallery-grid::-webkit-scrollbar {
        display: none;
    }
    .training-gallery-section .gallery-grid {
        -ms-overflow-style: none; /* IE/Edge */
        scrollbar-width: none;    /* Firefox */
    }

    .training-gallery-section .gallery-item {
        flex: 0 0 100%;
        scroll-snap-align: center;
        aspect-ratio: 1 / 1;
    }

    .training-gallery-section .gallery-item a,
    .training-gallery-section .gallery-item img {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 0.75rem;
    }

    .training-gallery-section .gallery-item a {
        padding: 0.5rem;
        box-sizing: border-box;
    }

    .training-gallery-section .gallery-item img {
        object-fit: contain;
    }

    /* Controls */
    .training-gallery-section .gallery-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        margin-top: 0.75rem;
    }

    .training-gallery-section .gallery-prev,
    .training-gallery-section .gallery-next {
        background: rgba(15, 23, 42, 0.9);
        color: #ffffff;
        border: none;
        width: 36px;
        height: 36px;
        border-radius: 9999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
    }

    .training-gallery-section .gallery-dots {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .training-gallery-section .gallery-dot {
        width: 8px;
        height: 8px;
        border-radius: 9999px;
        background: #cbd5e1; /* slate-300 */
        transition: background 0.2s ease;
    }

    .training-gallery-section .gallery-dot.active {
        background: #1f2937; /* slate-800 */
    }

    /* Tap/focus fixes: ensure controls are above any overlays and clickable */
    .training-gallery-section,
    .training-gallery-section .container {
        position: relative;
    }

    .training-gallery-section::before,
    .training-gallery-section::after,
    .training-gallery-section .container::before,
    .training-gallery-section .container::after {
        pointer-events: none !important;
    }

    .training-gallery-section .gallery-grid,
    .training-gallery-section .gallery-controls {
        position: relative;
        z-index: 10;
    }

    .training-gallery-section .gallery-controls button {
        pointer-events: auto;
    }
}

/* Smallest phones: match container 0.75rem padding */
@media (max-width: 480px) {
    .training-gallery-section .gallery-grid {
        margin-left: -0.75rem;
        margin-right: -0.75rem;
    }
}
