/* Published results: scoped typography + layout. Avada supplies the font family,
 * base text size and surrounding content width. Accent respects plugin settings. */
.akk-ksr-app .akk-ksr-results {
    --akk-ksr-result-accent: var(--akk-ksr-accent-color, #008f8b);
    --akk-ksr-result-ink: var(--body_typography-color, #173e3e);
    --akk-ksr-result-rule: #c9dddd;
    --akk-ksr-result-faint: #e6f5f3;
    /* One source of truth for podium and association award emblem sizes. */
    --akk-ksr-result-medal-size: 2.75rem;
    --akk-ksr-result-medal-center-offset: .34375rem;
    width: 100%;
    min-width: 0;
    color: var(--akk-ksr-result-ink);
}

.akk-ksr-app .akk-ksr-result-award {
    margin: 0;
    min-width: 0;
}

.akk-ksr-app .akk-ksr-result-award + .akk-ksr-result-award {
    margin-top: clamp(3rem, 7vw, 5rem);
}

.akk-ksr-app .akk-ksr-result-category-header {
    margin: 0 0 1.1rem;
}

.akk-ksr-app .akk-ksr-result-category-eyebrow {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: .15rem;
    color: var(--akk-ksr-result-accent);
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    line-height: 1.5;
}

.akk-ksr-app .akk-ksr-result-category-rule {
    height: 1px;
    flex: 1;
    min-width: 1rem;
    background: var(--akk-ksr-result-accent);
    opacity: .7;
}

/* Keep theme (Avada) heading font families. Only result-specific size, spacing and
 * hierarchy are defined here. No global heading or paragraph selectors. */
.akk-ksr-app .akk-ksr-result-title {
    margin: 0;
    padding: 0;
    color: inherit;
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    overflow-wrap: anywhere;
}

.akk-ksr-app .akk-ksr-result-subtitle {
    margin: .2rem 0 0;
    color: inherit;
    font-size: .96rem;
    line-height: 1.45;
    opacity: .82;
}

.akk-ksr-app .akk-ksr-result-winners,
.akk-ksr-app .akk-ksr-result-specials {
    display: grid;
    gap: .8rem;
    min-width: 0;
}

.akk-ksr-app .akk-ksr-result-card,
.akk-ksr-app .akk-ksr-result-special {
    display: flex;
    align-items: center;
    gap: clamp(.8rem, 2.5vw, 1.5rem);
    margin: 0;
    min-width: 0;
    border: 0;
    border-radius: 3px;
    background: var(--akk-ksr-result-faint);
}

.akk-ksr-app .akk-ksr-result-card--winner {
    padding: clamp(1.15rem, 3vw, 1.8rem);
}

.akk-ksr-app .akk-ksr-result-emblem {
    display: inline-flex;
    position: relative;
    flex: 0 0 clamp(3.9rem, 9vw, 7.5rem);
    justify-content: center;
    align-items: center;
    align-self: stretch;
    border-right: 1px solid #9dbeba;
    color: var(--akk-ksr-result-accent);
}

.akk-ksr-app .akk-ksr-result-emblem svg {
    display: block;
    width: clamp(2.2rem, 5vw, 3.7rem);
    height: clamp(2.2rem, 5vw, 3.7rem);
}

.akk-ksr-app .akk-ksr-result-emblem--winner {
    color: #c18a16;
}

.akk-ksr-app .akk-ksr-result-emblem--podium {
    flex-basis: 3.8rem;
    color: #829ba0;
}

.akk-ksr-app .akk-ksr-result-emblem--podium svg {
    width: var(--akk-ksr-result-medal-size);
    height: var(--akk-ksr-result-medal-size);
}

.akk-ksr-app .akk-ksr-result-card--rank-3 .akk-ksr-result-emblem--podium {
    color: #a97a4b;
}

.akk-ksr-app .akk-ksr-result-emblem-number {
    position: absolute;
    /* Icon is centered in its container. Center the numeral over the icon's
     * circular seal (SVG y=9/24), not over the variable-height card. */
    top: 50%;
    left: 50%;
    width: 1.4rem;
    text-align: center;
    line-height: 1;
    transform: translate(-50%, calc(-50% - var(--akk-ksr-result-medal-center-offset)));
    font-size: .9rem;
    font-weight: 700;
}

.akk-ksr-app .akk-ksr-result-card-main,
.akk-ksr-app .akk-ksr-result-special-main {
    min-width: 0;
    flex: 1 1 auto;
}

.akk-ksr-app .akk-ksr-result-rank-label {
    display: block;
    margin: 0 0 .23rem;
    color: #526d70;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.akk-ksr-app .akk-ksr-result-card--winner .akk-ksr-result-rank-label {
    color: #a57207;
}

.akk-ksr-app .akk-ksr-result-name,
.akk-ksr-app .akk-ksr-result-special-name {
    margin: 0;
    padding: 0;
    color: inherit;
    font-size: clamp(1.12rem, 2.5vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
    overflow-wrap: anywhere;
}

.akk-ksr-app .akk-ksr-result-card--winner .akk-ksr-result-name {
    font-size: clamp(1.45rem, 3.3vw, 2.15rem);
}

.akk-ksr-app .akk-ksr-result-winner-label {
    margin: .34rem 0 0;
    color: inherit;
    font-size: .95rem;
    line-height: 1.5;
}

.akk-ksr-app .akk-ksr-result-podium {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: .8rem;
}

.akk-ksr-app .akk-ksr-result-podium .akk-ksr-result-card {
    padding: 1rem;
    background: #f0f7f6;
}

.akk-ksr-app .akk-ksr-result-ranking {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.akk-ksr-app .akk-ksr-result-row {
    display: grid;
    grid-template-columns: 3.8rem minmax(0, 1fr);
    gap: .65rem;
    align-items: baseline;
    min-width: 0;
    padding: .62rem .25rem;
    border-bottom: 1px solid var(--akk-ksr-result-rule);
    font-size: 1rem;
}

.akk-ksr-app .akk-ksr-result-row-rank {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.akk-ksr-app .akk-ksr-result-row-main,
.akk-ksr-app .akk-ksr-result-row-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

.akk-ksr-app .akk-ksr-result-row-name {
    font-weight: 600;
}

.akk-ksr-app .akk-ksr-result-tie {
    display: block;
    margin-top: .25rem;
    color: inherit;
    opacity: .75;
    font-size: .82rem;
    font-weight: 400;
}

.akk-ksr-app .akk-ksr-result-special {
    padding: clamp(1.1rem, 2.7vw, 1.55rem);
}

.akk-ksr-app .akk-ksr-result-special .akk-ksr-result-emblem {
    flex-basis: 3.8rem;
}

/* The special-award seal is the same physical size as the podium seals. */
.akk-ksr-app .akk-ksr-result-special .akk-ksr-result-emblem svg {
    width: var(--akk-ksr-result-medal-size);
    height: var(--akk-ksr-result-medal-size);
}

.akk-ksr-app .akk-ksr-result-empty {
    margin: .85rem 0 0;
    color: inherit;
}

@media (max-width: 680px) {
    .akk-ksr-app .akk-ksr-results {
        --akk-ksr-result-medal-size: 2.55rem;
        --akk-ksr-result-medal-center-offset: .31875rem;
    }
    .akk-ksr-app .akk-ksr-result-podium {
        grid-template-columns: minmax(0, 1fr);
    }
    .akk-ksr-app .akk-ksr-result-emblem {
        flex-basis: 3.6rem;
    }
    .akk-ksr-app .akk-ksr-result-emblem svg {
        width: 2.55rem;
        height: 2.55rem;
    }
    .akk-ksr-app .akk-ksr-result-card--winner,
    .akk-ksr-app .akk-ksr-result-special {
        padding: 1.1rem .8rem;
    }
    .akk-ksr-app .akk-ksr-result-card--winner .akk-ksr-result-name {
        font-size: clamp(1.3rem, 5.5vw, 1.8rem);
    }
    .akk-ksr-app .akk-ksr-result-row {
        grid-template-columns: 2.4rem minmax(0, 1fr);
    }
}

@media (max-width: 380px) {
    .akk-ksr-app .akk-ksr-result-emblem,
    .akk-ksr-app .akk-ksr-result-special .akk-ksr-result-emblem {
        flex-basis: 3rem;
    }
    .akk-ksr-app .akk-ksr-result-card,
    .akk-ksr-app .akk-ksr-result-special {
        gap: .7rem;
    }
}
