#metrica-15-3-wrap {
    --cards-gap: 0.75rem;
    padding: 1rem 0;

    .lb {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    /* ── Section label ───────────────────────── */
    .lb-section-label {
        font-size: 0.7rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--color-gray-normal);
        margin-bottom: 0.5rem;
    }

    /* ── Podium ──────────────────────────────── */
    .lb-podium {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        align-items: stretch;
        gap: var(--cards-gap);
    }

    .lb-podium-card {
        border-radius: 0.75rem;
        padding: 0.875rem 0.75rem 0.75rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        border-width: 1px 1px 1px 4px;
        border-style: solid;

        &[data-position="1"] {
            background: var(--color-gold-light);
            border-color: var(--color-gold-normal);

            .lb-medal {
                background: var(--color-gold-normal);
            }

            .lb-score-number {
                color: var(--color-gold-dark);
            }
        }

        &[data-position="2"] {
            background: var(--color-silver-light);
            border-color: var(--color-silver-normal);

            .lb-medal {
                background: var(--color-silver-normal);
            }

            .lb-score-number {
                color: var(--color-silver-dark);
            }
        }

        &[data-position="3"] {
            background: var(--color-bronze-light);
            border-color: var(--color-bronze-normal);

            .lb-medal {
                background: var(--color-bronze-normal);
            }

            .lb-score-number {
                color: var(--color-bronze-dark);
            }
        }
    }

    .lb-medal {
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.875em;
        font-weight: 700;
        color: var(--color-white);
        flex-shrink: 0;
    }

    .lb-colla-name {
        font-size: 1em;
        font-weight: 500;
        line-height: 1.3;
    }

    .lb-score {
        display: flex;
        flex-direction: column;

        .lb-score-number {
            font-size: 1.25em;
            font-weight: 500;
            line-height: 1;
        }

        .lb-score-label {
            font-size: 0.75em;
            color: var(--color-gray-dark);
        }
    }

    .lb-castells,
    .lb-rest-castells {
        display: flex;
        flex-wrap: wrap;
        gap: 0.125rem;
    }

    /* ── Rest grid (ranks 4+) ────────────────── */
    .lb-rest-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--cards-gap);
    }

    .lb-rest-card {
        background: var(--color-white);
        border-width: 1px 1px 1px 4px;
        border-style: solid ;
        border-color: var(--color-gray-light);
        border-radius: 0.5rem;
        padding: 0.875rem 1rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .lb-rest-header {
        display: flex;
        align-items: baseline;
        gap: 0.375rem;

        .lb-rest-rank {
            font-size: 0.75em;
            color: var(--color-gray-dark);
            flex-shrink: 0;
        }

        .lb-rest-name {
            font-size: 0.75em;
            font-weight: 500;
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .lb-rest-score {
            font-size: 0.75em;
            font-weight: 500;
            color: var(--color-gray-darker);
            flex-shrink: 0;
            white-space: nowrap;
        }
    }

    /* ── Pills ───────────────────────────────── */
    .lb-pill {
        border-radius: 0.25rem;
        font-size: 0.65rem;
        font-weight: 400;
        line-height: 1.4;
        white-space: nowrap;
        padding: 0.075rem 0.325rem;
        color: #5c3310;
    }

    /* ── Mobile ──────────────────────────────── */
    @media (max-width: 640px) {
        .lb-podium {
            grid-template-columns: 1fr;
        }

        .lb-score .lb-score-number {
            font-size: 1.125em;
        }

        .lb-rest-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .lb-rest-card {
            padding: 8px 10px;
        }
    }
}
