/* ==========================================================================
   Organism: People Grid Section
   ========================================================================== */

.saha-people-grid-section {
    width: 100%;
}

/* --- Section header --- */

.saha-people-grid-section__header {
    padding-bottom: var(--saha-stack-sm);
    border-bottom: 1px solid var(--saha-color-border);
    margin-bottom: var(--saha-stack-sm);
}

.saha-people-grid-section__section-title {
    font-family: var(--saha-font-primary);
    font-style: italic;
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    color: var(--saha-color-text-primary);
    margin: 0;
}

/* --- Grid base --- */

.saha-people-grid-section__grid {
    display: grid;
    gap: var(--saha-grid-gap);
}

/* --- Column variants --- */

.saha-people-grid-section__grid--2-col {
    grid-template-columns: repeat(2, 1fr);
}

.saha-people-grid-section__grid--3-col {
    grid-template-columns: repeat(3, 1fr);
}

.saha-people-grid-section__grid--4-col {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--saha-grid-gap-dense);
}

/* --- Person list item: no row-gap, hide top border on first row --- */

.saha-people-grid-section__grid:has(> .saha-person-list-item) {
    row-gap: 0;
}

.saha-people-grid-section__grid--2-col > .saha-person-list-item:nth-child(-n+2),
.saha-people-grid-section__grid--3-col > .saha-person-list-item:nth-child(-n+3),
.saha-people-grid-section__grid--4-col > .saha-person-list-item:nth-child(-n+4) {
    border-top: none;
}

/* --- Responsive: Tablet --- */

@media (max-width: 991px) {
    .saha-people-grid-section__grid--3-col,
    .saha-people-grid-section__grid--4-col {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- Responsive: Mobile --- */

@media (max-width: 767px) {
    .saha-people-grid-section__grid--2-col,
    .saha-people-grid-section__grid--3-col,
    .saha-people-grid-section__grid--4-col {
        grid-template-columns: 1fr;
    }

    .saha-person-card__date {
        font-size: 12px;
    }

    .saha-person-card__name {
        font-size: 18px;
    }

    .saha-person-card__location {
        font-size: 16px;
        line-height: 21px;
    }
}
