/* ========================================
   RESPONSIVE
   ======================================== */
   * {
    -webkit-tap-highlight-color: transparent;
}

/* ---- 1200px ---- */
@media (max-width: 1200px) {
    .hero-grid        { gap: 3.5rem; }
    .presentation-grid { gap: 3.5rem; }
    .trouver-grid     { gap: 2.5rem; }
    .contact-grid     { gap: 3rem; }
}

/* ---- 1024px ---- */
@media (max-width: 1024px) {
    .presentation-grid { gap: 2.5rem; }
    .contact-grid {
        grid-template-columns: 1fr 1.3fr;
        gap: 2.5rem;
    }
}

@media (max-width: 1000px) {
    /* --- Sections --- */
    .section,
    .section--light,
    .section--dark {
        padding: 4rem 5%;
    }

    #galerie { padding: 4rem 5%; }

    /* --- Présentation --- */
    .presentation-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    /* --- Trouver --- */
    .trouver-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .trouver-photos--large {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .access-map-arrow {
        transform: none;
        display: inline-block;
        margin-top: 0.5rem;
    }

    /* --- Contact --- */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .btn-submit {
        align-self: stretch;
        text-align: center;
    }

    /* --- Footer --- */
    .footer-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .footer-nav { gap: 1rem; }

    .footer-top {
        gap: 1.4rem;
    }

    .footer-showcase {
        width: 100%;
        margin: 0 auto;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.7rem;
    }
}

/* ---- 768px — Mobile ---- */
@media (max-width: 768px) {
    .trouver-photos--large {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .trouver-photos--large img {
        aspect-ratio: 1 / 1;
        border-radius: 8px;
    }

    /* Gallery */
    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 0.8rem;
    }

    .gallery-item {
        height: 200px;
    }

    /* Lightbox — flèches toujours visibles */
    .lightbox-content {
        max-width: 95%;
        max-height: 80%;
    }

    .lightbox-close {
        top: 10px;
        right: 10px;
        font-size: 35px;
        width: 44px;
        height: 44px;
    }

    .lightbox-nav {
        display: flex !important;
        width: 44px;
        height: 44px;
        font-size: 28px;
        background: rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        align-items: center;
        justify-content: center;
        color: var(--color-brand);
        border: none;
        cursor: pointer;
        z-index: 9999;
        opacity: 1;
        visibility: visible;
    }

    .lightbox-prev {
        left: calc(env(safe-area-inset-left) + 14px);
    }

    .lightbox-next {
        right: calc(env(safe-area-inset-right) + 14px);
    }

    .lightbox-counter {
        bottom: 10px;
        font-size: 12px;
        padding: 6px 12px;
    }
}

/* ---- 480px — Petit mobile ---- */
@media (max-width: 480px) {

    .section,
    .section--light,
    .section--dark {
        padding: 3.5rem 5%;
    }

    #galerie { padding: 3.5rem 5%; }

    .section-title { font-size: 1.65rem; }

    .gallery-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 0.65rem;
    }

    .gallery-item {
        height: 160px;
    }

    .trouver-photos { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .trouver-photos--large {
        gap: 0.45rem;
    }

    .trouver-photos--large img {
        border-radius: 7px;
    }

    .footer-text {
        text-align: center;
    }

    .footer-links {
        justify-content: center;
    }

    .footer-showcase {
        padding: 1rem;
    }

    .footer-insta-frame,
    .footer-insta-frame iframe {
        min-height: 340px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.5rem;
    }

    .lightbox-nav {
        width: 40px;
        height: 40px;
        font-size: 24px;
    }

    .lightbox-prev {
        left: calc(env(safe-area-inset-left) + 10px);
    }

    .lightbox-next {
        right: calc(env(safe-area-inset-right) + 10px);
    }

    .schedule-board   { padding: 1.2rem 0.9rem 1rem; }
    .schedule-item    { gap: 0.75rem; }
    .schedule-separator { height: 4px; }
}

/* ---- 360px — Très petit mobile ---- */
@media (max-width: 360px) {

    .logo-main  { font-size: 1.1rem; }
}

