/* ============================================================
   Services List — grille de cartes (variante statique du bloc
   Services Slider, sans navigation)
   ============================================================ */

.services-list {
    font-family: var(--primary-font);
    padding: var(--gap-m) 0;}

.services-list__inner.container-secondary {
    max-width: var(--container-secondary);
    margin: 0 auto;
}

/* ── En-tête de section ── */
.services-list__header {
    margin-bottom: var(--gap-xl);
}

.services-list .section-heading__eyebrow,
.services-list .section-heading__title {
    text-align: left;
}

/* ── Grille ── */
.services-list__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap-l, 2rem) var(--gap-m, 1.5rem);
}

.services-list__item {
    display: flex;
    flex-direction: column;
}

.services-list__image {
    overflow: hidden;
    margin-bottom: var(--gap-m, 1.5rem);
}

.services-list__image img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.services-list__item:hover .services-list__image img {
    transform: scale(1.04);
}

.services-list__body {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s, 0.75rem);
}

.services-list__title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-primary);
    margin: 0;
    line-height: 1.3;
}

.services-list__excerpt {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--color-text, #666);
    margin: 0;
}

.services-list__btn {
    display: inline-block;
    align-self: flex-start;
    margin-top: 0.25rem;
    color: var(--color-secondary);
    text-decoration: underline;
    text-underline-offset: 0.25em;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.services-list__btn:hover {
    color: rgb(155 88 59 / 80%);
}

/* ── align wide / full ── */
.alignwide.services-list,
.alignfull.services-list {
    padding-left: max(var(--gap-l), 5vw);
    padding-right: max(var(--gap-l), 5vw);
}

/* ── Responsive ── */
@media (max-width: 1023px) {
    .services-list__items {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 639px) {
    .services-list__items {
        grid-template-columns: 1fr;
    }

    /* Sur 1 colonne, l'image prend toute la largeur : on l'assouplit
       un peu pour éviter des cartes démesurément hautes. */
    .services-list__image img {
        aspect-ratio: 4 / 3;
    }

    .services-list {
        padding: var(--gap-l) var(--gap-m);
    }
}
