/* Spelersprofiel */

.profile-head {
    background: var(--ink-deep);
    color: #fff;
}

.profile-head__inner {
    display: flex;
    align-items: flex-start;
    gap: 26px;
    padding-top: 32px;
    padding-bottom: 32px;
}

.profile-head__portrait {
    width: 150px;
    height: 180px;
    flex: none;
}

.profile-head__body {
    flex: 1 1 auto;
    min-width: 0;
}

.profile-head__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.profile-head__name {
    font-size: clamp(32px, 4vw, 44px);
    line-height: 1.05;
    color: #fff;
    margin-bottom: 20px;
}

.profile-head__action {
    flex: none;
}

/* Factsrij: label boven waarde */
.facts {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin: 0;
}

.fact dt {
    font-family: var(--narrow);
    font-weight: 600;
    font-size: 10.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #7c8a9c;
    margin-bottom: 4px;
}

.fact dd {
    margin: 0;
    font-weight: 600;
    font-size: 16px;
    color: #fff;
}

/* ------------------------------------------------------------------ */
/* Body                                                                */
/* ------------------------------------------------------------------ */

/* Meer lucht dan op de artikelpagina. Daar begint de kolom met een licht
   kruimelpad; hier grenst hij direct aan het donkere kopblok, en dan oogt de
   32px van .article-layout als aangeplakt. */
.profile-layout {
    padding-top: 48px;
}

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

.profile-bio {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text-body);
    max-width: 66ch;
    text-wrap: pretty;
}

.profile-section {
    margin-top: 40px;
}

/* ------------------------------------------------------------------ */
/* Artikelrijen                                                        */
/* ------------------------------------------------------------------ */

.article-rows {
    display: flex;
    flex-direction: column;
}

.article-row {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 14px;
    padding: 12px 8px;
    border-bottom: 1px solid var(--border);
    color: var(--ink);
    transition: background var(--transition);
}

.article-row:hover {
    background: var(--row-hover);
    color: var(--ink);
}

.article-row__thumb {
    width: 96px;
    height: 64px;
    font-size: 9px;
}

.article-row__kicker {
    display: block;
    color: var(--sport-fg);
    margin-bottom: 4px;
}

.article-row__title {
    display: block;
    font-family: var(--serif);
    font-weight: 600;
    font-size: 17px;
    line-height: 1.3;
}

.article-row__date {
    display: block;
    font-size: 12px;
    color: var(--text-faint);
    margin-top: 4px;
}

/* ------------------------------------------------------------------ */
/* Huidige club in de sidebar                                          */
/* ------------------------------------------------------------------ */

.club-row {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 12px;
    padding: 10px 8px;
    color: var(--ink);
    transition: background var(--transition);
}

.club-row:hover {
    background: var(--row-hover);
    color: var(--ink);
}

.club-row__logo {
    width: 48px;
    height: 48px;
    font-size: 9px;
}

.club-row__name {
    display: block;
    font-weight: 600;
    font-size: 15px;
}

.club-row__meta {
    display: block;
    font-size: 12.5px;
    color: var(--text-muted);
}

/* ------------------------------------------------------------------ */
/* Mobiel                                                              */
/* ------------------------------------------------------------------ */

@media (max-width: 860px) {
    .profile-head__inner {
        flex-wrap: wrap;
        gap: 18px;
    }

    .profile-head__portrait {
        width: 110px;
        height: 132px;
    }

    .facts {
        gap: 18px;
    }

    .profile-head__action {
        width: 100%;
    }

    .article-row {
        grid-template-columns: 72px 1fr;
    }

    .article-row__thumb {
        width: 72px;
        height: 52px;
    }
}

/* ------------------------------------------------------------------ */
/* Statistieken op het profiel                                         */
/* ------------------------------------------------------------------ */

.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1px;
    margin: 0;
    background: var(--border);
    border: 1px solid var(--border);
}

.stat-grid__item {
    background: var(--surface);
    padding: 16px 18px;
}

.stat-grid dt {
    font-family: var(--narrow);
    font-weight: 600;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 6px;
}

.stat-grid dd {
    margin: 0;
    font-family: var(--serif);
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    color: var(--ink);
}

/* ------------------------------------------------------------------ */
/* Uitslagen                                                           */
/* ------------------------------------------------------------------ */

.matches {
    display: flex;
    flex-direction: column;
}

/* Datum links, tegenstander in het midden, score rechts. De score staat op een
   vaste kolom zodat je hem over de rijen heen kunt aflezen. */
.match {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 11px 8px;
    border-bottom: 1px solid var(--border);
}

.match__date {
    font-family: var(--narrow);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-faint);
}

.match__body {
    min-width: 0;
}

.match__opponent {
    display: block;
    font-weight: 600;
    font-size: 14.5px;
    color: var(--ink);
}

.match__venue {
    font-weight: 400;
    color: var(--text-muted);
}

.match__opponent a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--border-strong);
}

.match__opponent a:hover {
    color: var(--accent);
}

.match__meta {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
}

.match__score {
    font-family: var(--serif);
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
    padding: 5px 9px;
    border-radius: var(--radius);
}

.match__score--winst  { color: #0f5132; background: #dcf3e6; }
.match__score--gelijk { color: var(--text-muted); background: var(--chip-neutral); }
.match__score--verlies { color: #7a2230; background: #f6e2e5; }

/* De samenvatting naast de kop is geen link; die mag niet in accentkleur staan. */
.section-head__link--plain {
    color: var(--text-muted);
}

@media (max-width: 860px) {
    .match {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 12px;
    }

    .match__date {
        grid-column: 1 / -1;
    }
}

/* Het volgformulier vult de knopplek, ook op mobiel waar die volle breedte krijgt */
.profile-head__action .follow,
.profile-head__action .follow__btn { width: 100%; justify-content: center; }
