.container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));            /* Crée des colonnes d'au moins 500px de large, autant que possible */
    gap: 2vw;
    padding: 20px 10px;
}

.card {
    background-color: var(--color-bg-alt); 
    border: 1px solid var(--color-text);  
    border-radius: 5px;              
    color: var(--color-text);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.info-card {
    padding: 25px 20px;
}

.card-image-container img{
    width: 100%;                                                            /* L'image prend toute la largeur du conteneur */                                                            
    height: 100%;                                                           /* L'image prend toute la hauteur du conteneur */
    object-fit: cover;                                                      /* L'image couvre tout le conteneur sans déformation */
    object-position: center;                                                /* Centre l'image dans le conteneur */
    transition: transform 0.5s ease;
}

.card-image-container img:hover{
    transform: scale(115%);                                                 /* Zoom de l'image au survol */
}

.card-image-container {
    border-radius: 5px 5px 0 0;
    position: relative;                                                     /* Pour positionner le badge de localisation */
    overflow: hidden;
    height: 300px;                                                          /* Hauteur fixe pour les images */
    width: 100%;
}

.badge-location {
    position: absolute;                                                     /* Positionnement absolu par rapport au conteneur image */
    top: 10px;
    right: 10px;
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.9em;
    font-weight: 600;
}

.info-separation {
    width: 40px;
    height: 3px;
    background: linear-gradient(to right, #7d3c81, #e67e22);
    margin: 18px 0;
}

.person-info {
    font-size: 1.2em;
    font-weight: 600;
    margin: 0;
}

.badge-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9em;
}

.testimonial-text {
    line-height: 1.5;
    margin: 10px 0 0 0;
    text-align: justify;
}