/* ===========================================
   Contributors Page
   Clean, professional styling consistent with
   the overall LAVA documentation theme.
   =========================================== */

/* --- Section headers --- */
.contributors-section-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--md-default-fg-color--light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 2.5rem 0 1rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid var(--md-primary-fg-color);
    display: inline-block;
}

/* --- Lead grid: centered single card on top, row of 4 below --- */
.contributors-lead-single {
    display: flex;
    justify-content: center;
    margin: 1.5rem 0 1rem;
}

.contributors-lead-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
    margin: 0 0 2rem;
}

/* --- Team member grid --- */
.contributors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1.2rem;
    margin: 1rem 0 2rem;
}

/* --- Individual contributor card --- */
.contributor-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1rem 0.5rem;
}

/* Circular photo */
.contributor-card .contributor-photo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 2.5px solid var(--md-primary-fg-color);
    margin-bottom: 0.6rem;
    background-color: var(--md-default-fg-color--lightest);
}

/* Lead card gets a slightly larger photo */
.contributors-lead-single .contributor-photo {
    width: 120px;
    height: 120px;
}

/* Initials placeholder when no photo is available */
.contributor-card .contributor-photo-placeholder {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 2.5px solid var(--md-primary-fg-color);
    margin-bottom: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--md-primary-fg-color--light);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    flex-shrink: 0;
}

.contributors-lead-single .contributor-photo-placeholder {
    width: 120px;
    height: 120px;
    font-size: 2.2rem;
}

.contributor-card .contributor-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--md-default-fg-color);
    margin: 0 0 0.15rem;
    line-height: 1.3;
}

.contributor-card .contributor-role {
    font-size: 0.75rem;
    color: var(--md-primary-fg-color);
    font-weight: 500;
    margin: 0;
}

/* --- Acknowledgments grid — smaller initials + affiliation --- */
.acknowledgments-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 1rem;
    margin: 1rem 0 2rem;
}

.acknowledgment-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0.75rem 0.4rem;
}

.acknowledgment-card .ack-initials {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 2px solid var(--md-primary-fg-color--light);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--md-default-fg-color--lightest);
    color: var(--md-primary-fg-color);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
    flex-shrink: 0;
}

[data-md-color-scheme="slate"] .acknowledgment-card .ack-initials {
    background-color: rgba(255, 255, 255, 0.06);
}

.acknowledgment-card .ack-name {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--md-default-fg-color);
    margin: 0 0 0.1rem;
    line-height: 1.3;
}

.acknowledgment-card .ack-affiliation {
    font-size: 0.7rem;
    color: var(--md-default-fg-color--light);
    font-weight: 400;
    margin: 0;
}

/* --- Former contributors list --- */
.former-contributors-list {
    column-count: 2;
    column-gap: 3rem;
    margin: 0.5rem 0 2rem;
    padding: 0;
    list-style: none;
}

.former-contributors-list li {
    padding: 0.25rem 0;
    break-inside: avoid;
}

/* --- Responsive --- */
@media (max-width: 720px) {
    .contributors-lead-row {
        grid-template-columns: repeat(2, 1fr);
    }
    .contributors-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }
    .acknowledgments-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}

@media (max-width: 480px) {
    .contributors-lead-row {
        grid-template-columns: 1fr 1fr;
    }
    .former-contributors-list {
        column-count: 1;
    }
}
