.profile-card {
    --border-radius: 1rem;
    --gap: 1rem;
    --padding: 1.5rem;
    display: grid;
    gap: var(--gap);
    border-radius: var(--border-radius);
    background: var(--surface-background-color);
    padding: var(--padding);
}

.profile-card__header  { grid-area: header; }
.profile-card__bio     { grid-area: bio; }
.profile-card__metrics { grid-area: metrics; }
.profile-card__meta    { grid-area: meta; }
.profile-card__actions { grid-area: actions; }

.profile-card__avatar {
    border-radius: .5rem;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.profile-card__name,
.profile-card__role,
.profile-card__localization,
.profile-card__bio {
    margin: 0;
}

.profile-card__role,
.profile-card__bio {
    color: var(--text-secondary-color);
}

.profile-card__bio {
    font-size: .875rem;
    line-height: 1.25rem;
}

.profile-card__metrics__rating {

    display: flex;
    column-gap: .125rem;
    align-items: center;

    &::before {
        width: 1rem;
        height: 1rem;
        background-image: url(assets/icons/star.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
    }

    span {
        opacity: .25;
    }

}

.profile-card__tags {

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    margin: 0;
    padding: .5rem 0 .75rem;
    list-style: none;

    a {

        display: block;
        padding: 1px .5rem 0;
        border-radius: .625rem;
        font-size: .6875rem;
        line-height: 1.25rem;
        text-transform: uppercase;
        color: #FFFFFF;
        background-color: #02C7FE;
        text-decoration: none;
        outline-color: transparent;
        transition-property: background-color, outline-color;
        transition: 150ms;
        transition-timing-function: ease-in-out;

        &:hover,
        &:focus-visible {
            background-color: #7C02FE;
        }

        &:focus,
        &:focus:not(:focus-visible) {
            outline: none;
        }

        &:focus-visible {
            outline: .35rem solid rgba(0,0,0,.15);
            outline-offset: -1px;
        }

    }

}

.profile-card__actions {

    display: flex;
    column-gap: 1rem;
    width: 100%;

    a,
    button {
        flex: 1 1 auto;
    }

}

/* 
Variant: Featured Profile Card
-------------------------------------------------------------
*/

.profile-card.profile-card--featured {

    --gap: 1rem;
    --padding: 1rem;
    grid-template-columns: 1fr auto 5rem;
    grid-template-areas:
        "header header metrics"
        "bio    bio    bio"
        "actions actions actions";
    border: 2px solid transparent;

    .profile-card__header {
        --gap: .75rem;
        display: grid;
        align-items: center;
        grid-template-rows: none;
        grid-template-columns: 4rem auto;
        gap: var(--gap);
        width: 100%;
        text-align: left;
    }

    .profile-card__avatar {
        width: 100%;
        height: auto;
        border-radius: .75rem;
    }

    .profile-card__title {
        min-width: 0;
    }

    .profile-card__name,
    .profile-card__role,
    .profile-card__localization {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .profile-card__name {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-bottom: 0;
    }

    .profile-card__role,
    .profile-card__localization {
        font-size: .75rem;
        line-height: 1rem;
    }

    .profile-card__bio {
        padding-inline: .25rem;
        text-align: left;
    }

    .profile-card__metrics {

        display: grid;
        align-items: center;

        dt {
            display: none;
        }

        dd {

            margin: 0;
            padding: .5rem 0 .5rem 1rem;
            border-left: 1px solid var(--border-color);
            font-size: 1rem;
            font-weight: 600;
            line-height: 1rem;

            &.profile-card__metrics__rating::before {
                width: 1.25rem;
                height: 1.25rem;
            }

        }

    }

}

/* 
Variant: Compact Profile Card
-------------------------------------------------------------
*/

.profile-card.profile-card--compact {

    --gap: 1rem;
    --padding: 1rem;
    grid-template-columns: 1fr auto 5rem;
    grid-template-areas: "header header metrics";
    border: 2px solid transparent;
    outline-color: transparent;
    text-decoration: none;
    color: inherit;
    transition-property: border-color, outline-color;
    transition-duration: 150ms;
    transition-timing-function: ease-in-out;

    .profile-card__header {
        --gap: .75rem;
        display: grid;
        align-items: center;
        grid-template-rows: none;
        grid-template-columns: 4rem auto;
        gap: var(--gap);
        width: 100%;
        text-align: left;
    }

    .profile-card__avatar {
        width: 100%;
        height: auto;
        border-radius: .75rem;
    }

    .profile-card__title {
        min-width: 0;
    }

    .profile-card__name,
    .profile-card__role,
    .profile-card__localization {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .profile-card__name {
        font-size: 1rem;
        line-height: 1.5rem;
        margin-bottom: 0;
    }

    .profile-card__role,
    .profile-card__localization {
        font-size: .75rem;
        line-height: 1rem;
    }

    .profile-card__metrics {

        display: grid;
        align-items: center;

        dt {
            display: none;
        }

        dd {

            margin: 0;
            padding: .5rem 0 .5rem 1rem;
            border-left: 1px solid var(--border-color);
            font-size: 1rem;
            font-weight: 600;
            line-height: 1rem;

            &.profile-card__metrics__rating::before {
                width: 1.25rem;
                height: 1.25rem;
            }

        }

    }

    &:hover,
    &:focus-visible {
        border-color: #111111;
    }

    &:focus,
    &:focus:not(:focus-visible) {
        outline: none;
    }

    &:focus-visible {
        outline: .5rem solid rgba(0,0,0,.15);
        outline-offset: -1px;
    }

    &:active {
        background-color: #F5F5F5;
    }

}

/* 
Variant: Full Profile Card
-------------------------------------------------------------
*/

.profile-card.profile-card--full {

    container-type: inline-size;
    container-name: profile-card;
    grid-template-areas:
        "header"
        "bio"
        "metrics"
        "meta"
        "actions";
    justify-items: center;
    /*width: min(320px, 100vw);*/
    text-align: center;

    .profile-card__header {
        display: grid;
        grid-template-rows: auto 1fr;
        align-items: center;
        gap: var(--gap);
        width: 100%;
    }

    .profile-card__avatar {
        width: 100%;
        height: auto;
        border-radius: .75rem;
    }

    .profile-card__name {
        font-size: 1.5rem;
        line-height: 2rem;
        margin-bottom: .25rem;
    }

    .profile-card__role,
    .profile-card__localization {
        font-weight: 500;
        line-height: 1.25rem;
    }

    .profile-card__metrics {

        display: grid;
        grid-template-rows: auto auto;
        grid-auto-flow: column;
        gap: 0 1rem;
        margin: 0;
        padding-block: .25rem;

        dt {

            display: block;
            padding-right: 1rem;
            font-size: .6875rem;
            font-weight: 600;
            line-height: 1.25rem;
            letter-spacing: .04em; 
            text-transform: uppercase; 
            color: var(--text-secondary-color);

            &:last-of-type {
                padding-right: 0;
            }

        }

        dd {

            margin: 0;
            padding-right: 1rem;
            border-right: 1px solid var(--border-color);
            font-size: 1.25rem;
            font-weight: 600;
            line-height: 1.75rem;

            &:last-of-type {
                padding-right: 0;
                border: none;
            }

            &.profile-card__metrics__rating::before {
                width: 1.25rem;
                height: 1.25rem;
            }

        }

    }

}

@media screen and (max-height: 900px) {

    .profile-card.profile-card--full {

        --gap: .75rem;
        --padding: 1rem;

        .profile-card__header {
            --gap: .75rem;
            grid-template-rows: none;
            grid-template-columns: 4rem auto;
            text-align: left;
        }

        .profile-card__title {
            min-width: 0;
        }

        .profile-card__name,
        .profile-card__role,
        .profile-card__localization {
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
        }

        .profile-card__name {
            font-size: 1rem;
            line-height: 1.5rem;
            margin-bottom: 0;
        }

        .profile-card__role,
        .profile-card__localization {
            font-size: .75rem;
            line-height: 1rem;
        }

        .profile-card__bio {
            padding-inline: .25rem;
            text-align: left;
        }

    }

}





/* ---------- VARIANTE: FEATURED (top 3 da lista) ---------- */
/* 3 colunas: header ocupa 2; rating na coluna 3; bio e actions abaixo */
.profile-card[data-variant="featured"]{
  grid-template-columns: 1fr auto 96px;   /* 3ª coluna reserva pro rating */
  grid-template-areas:
    "header header metrics"
    "bio    bio    bio"
    "actions actions actions";
}

/* truque: “promove” cada métrica ao grid do card */
.profile-card[data-variant="featured"] .profile-card__metrics { display: contents; }

/* esconde Projects/Earnings nessa variação */
.profile-card[data-variant="featured"] .profile-card__metrics > div:nth-child(1),
.profile-card[data-variant="featured"] .profile-card__metrics > div:nth-child(2) { display: none; }

/* posiciona o Rating na 3ª coluna (área 'rating') */
.profile-card[data-variant="featured"] .profile-card__metrics > div:nth-child(3) {
  grid-area: rating;
  justify-self: end;
  align-self: center;
}

/* não mostramos tags neste modo */
.profile-card[data-variant="featured"] .profile-card__meta { display: none; }

/* ---------- VARIANTE: COMPACT (demais itens da lista) ---------- */
/* uma linha: header em 2 colunas + rating na 3ª; todo o resto some */
.profile-card[data-variant="compact"]{
  grid-template-columns: 1fr auto 72px;
  grid-template-areas: "header header rating";
  align-items: center;
  padding: 12px 16px;
}

/* avatar menor */
.profile-card[data-variant="compact"] .profile-card__avatar {
  width: 40px; height: 40px; border-radius: 8px;
}

/* só exibimos o rating; esconda bio/metrics/meta/actions */
.profile-card[data-variant="compact"] .profile-card__bio,
.profile-card[data-variant="compact"] .profile-card__meta,
.profile-card[data-variant="compact"] .profile-card__actions { display: none; }

/* “promove” métricas e mantém apenas o rating visível */
.profile-card[data-variant="compact"] .profile-card__metrics { display: contents; }
.profile-card[data-variant="compact"] .profile-card__metrics > div:nth-child(1),
.profile-card[data-variant="compact"] .profile-card__metrics > div:nth-child(2) { display: none; }
.profile-card[data-variant="compact"] .profile-card__metrics > div:nth-child(3) {
  grid-area: rating;
  justify-self: end;
  align-self: center;
}

/* ---------- detalhes visuais de apoio (opcionais) ---------- */

/* separador vertical ao lado do rating nas versões de lista */
.profile-card[data-variant="featured"] .profile-card__metrics > div:nth-child(3),
.profile-card[data-variant="compact"]  .profile-card__metrics > div:nth-child(3){
  position: relative;
  padding-left: 16px;
}
.profile-card[data-variant="featured"] .profile-card__metrics > div:nth-child(3)::before,
.profile-card[data-variant="compact"]  .profile-card__metrics > div:nth-child(3)::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 1px; background: #e6e6e6;
  transform: translateX(-8px);
}

/* remove foco nativo quando não é teclado */

