
/* ==========================================
   FH - Liens et coordonnees
   Page d'introduction des marques
   ========================================== */

.brands-index-section {
    padding-top: 48px;
    padding-bottom: 80px;
}

.brands-index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

/* Cartes */

.brands-index-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e3ebef;
    border-radius: 10px;
    box-shadow: var(--shadow);
    text-decoration: none;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.brands-index-card:hover {
    border-color: #bfdbe9;
    box-shadow: 0 22px 48px rgba(13, 53, 67, .12);
}

/* Images */

.brands-index-card-image {
    height: 260px;
    overflow: hidden;
    background: #e8f4f9;
}

.brands-index-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.brands-index-card:hover .brands-index-card-image img {
    transform: scale(1.035);
}

/* Contenu */

.brands-index-card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    padding: 30px 32px;
}

.brands-index-card-content .eyebrow {
    font-size: 11px;
    letter-spacing: .13em;
}

.brands-index-card h2 {
    margin: 12px 0 14px;
    color: var(--navy);
    font-size: clamp(25px, 2.4vw, 35px);
    line-height: 1.18;
    letter-spacing: -.035em;
}

.brands-index-card p {
    margin: 0 0 28px;
    color: var(--mute);
    font-size: 14px;
    line-height: 1.75;
}

.brands-index-card-link {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: var(--blue);
    font-size: 14px;
    font-weight: 700;
}

.brands-index-card-link span {
    transition: transform .2s ease;
}

.brands-index-card:hover .brands-index-card-link span {
    transform: translate(3px, -3px);
}

/* Tablettes et smartphones */

@media (max-width: 900px) {
    .brands-index-grid {
        gap: 18px;
    }

    .brands-index-card-image {
        height: 200px;
    }

    .brands-index-card-content {
        padding: 24px;
    }
}

@media (max-width: 650px) {
    .brands-index-section {
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .brands-index-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .brands-index-card-image {
        height: 205px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .brands-index-card,
    .brands-index-card-image img,
    .brands-index-card-link span {
        transition: none;
    }
}






/* ==========================================
   FH - Animations de la page Liens et coordonnees
   Memes effets que les pages statiques
   ========================================== */

@media (prefers-reduced-motion: no-preference) {

    /* Titre et introduction */
    .brands-index-section ~ .unused {
        /* Aucun effet : reserve */
    }

    .page-hero-content {
        animation: brands-slide-up 500ms ease-out both;
        animation-delay: 60ms;
    }

    /* Premiere carte */
    .brands-index-card:nth-child(1) {
        animation: brands-slide-up 500ms ease-out both;
        animation-delay: 120ms;
    }

    /* Deuxieme carte : arrive depuis la droite */
    .brands-index-card:nth-child(2) {
        animation: brands-slide-left 550ms
                   cubic-bezier(.22, 1, .36, 1) both;
        animation-delay: 180ms;
    }

    @keyframes brands-slide-up {
        from {
            opacity: 0;
            transform: translateY(14px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes brands-slide-left {
        from {
            opacity: 0;
            transform: translateX(22px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
}

/* Animations plus discretes sur smartphone */
@media (max-width: 767px) and
       (prefers-reduced-motion: no-preference) {

    .page-hero-content,
    .brands-index-card:nth-child(1),
    .brands-index-card:nth-child(2) {
        animation-duration: 250ms;
        animation-delay: 0ms;
    }

    /* Pas de glissement lateral sur mobile */
    .brands-index-card:nth-child(2) {
        animation-name: brands-slide-up;
    }
}
