/* galerie.css — CSS plat (pas de SASS &__/&--/@media imbriqués) */

/* ================================================================
   LAYOUT GENERAL
   ================================================================ */

.galerie .galerie__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
}

@media (max-width: 991px) {
    .galerie .galerie__content {
        gap: 30px;
    }
}

.galerie .galerie__para {
    align-self: stretch;
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.galerie .galerie__para .para_title.title_sticky {
    position: sticky;
    align-self: flex-start;
    top: 300px;
}

/* ================================================================
   POSITION : RIGHT
   ================================================================ */

.galerie .galerie__content.right {
    flex-direction: row;
}

@media (max-width: 992px) {
    .galerie .galerie__content.right {
        flex-direction: column-reverse;
    }

    .galerie .galerie__content.right .section__title {
        margin-bottom: 0;
    }
}

.galerie .galerie__content.right .galerie__para {
    padding: 0 !important;
    margin: auto;
    display: flex;
    flex-direction: column;
}

.galerie .galerie__content.right .galerie__para .section__title {
    text-align: left;
}

.galerie .galerie__content.right .galerie__para .section__title p {
    text-align: left;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.galerie .galerie__content.right .galerie__media .galerie_logos {
    justify-content: flex-end;
}

/* ================================================================
   POSITION : LEFT
   ================================================================ */

.galerie .galerie__content.left {
    flex-direction: row-reverse;
}

@media (max-width: 992px) {
    .galerie .galerie__content.left {
        flex-direction: column;
    }

    .galerie .galerie__content.left .section__title {
        margin-bottom: 0;
    }
}

.galerie .galerie__content.left .galerie__para {
    padding: 0 !important;
    margin: auto;
    display: flex;
    flex-direction: column;
}

.galerie .galerie__content.left .galerie__para .section__title {
    text-align: left;
}

.galerie .galerie__content.left .galerie__media .galerie_logos {
    justify-content: flex-start;
}

/* ================================================================
   POSITION : CENTER
   ================================================================ */

.galerie .galerie__content.center {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.galerie .galerie__content.center .galerie__para {
    padding: 0 !important;
    margin: auto;
}

.galerie .galerie__content.center .section__btn .bouton {
    margin: auto;
}

/* ================================================================
   MEDIA (conteneur image/logos) — position right/left
   ================================================================ */

@media (min-width: 992px) {
    .galerie .galerie__content.right .galerie__media,
    .galerie .galerie__content.left .galerie__media {
        max-width: 50%;
    }
}

/* ================================================================
   GRILLE LOGOS — DESKTOP (6 colonnes)
   Visible uniquement >= 992px
   ================================================================ */

.galerie_logos--grid {
    display: none;
}

@media (min-width: 992px) {
    .galerie_logos--grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
        width: 100%;
    }
}

.galerie_logos--grid .galerie_logo {
    flex: 0 0 calc((100% - 80px) / 6);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 200 / 150;
    padding: 16px;
    opacity: 0.7;
    transition: var(--transition);
    text-decoration: none;
}

.galerie_logos--grid .galerie_logo:hover {
    opacity: 1;
}

.galerie_logos--grid .galerie_logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* ================================================================
   MARQUEE MOBILE — CSS pur (visible < 992px)
   Items dupliqués ×2 en PHP : translateX(-50%) = boucle seamless
   ================================================================ */

.galerie_logos--marquee {
    display: block;
    overflow: hidden;
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
}

@media (min-width: 992px) {
    .galerie_logos--marquee {
        display: none;
    }
}

.galerie_logos--marquee-track {
    display: flex;
    width: max-content;
    gap: 40px;
    padding: 8px 0;
    animation: galerie-marquee 35s linear infinite;
}

.galerie_logo--marquee-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 128px;
    height: 96px;
    flex-shrink: 0;
    opacity: 0.8;
    padding: 8px;
}

.galerie_logo--marquee-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

@keyframes galerie-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* ================================================================
   VARIANTE FOND CLAIR (c_white)
   ================================================================ */

.galerie.c_white .galerie_logo {
    border: 1px solid rgba(0, 0, 0, 0.33) !important;
}

.galerie.c_white .galerie_logo:hover {
    border: 1px solid rgba(80, 120, 240, 1) !important;
}
