/* Shared event primitives, based on the existing result preview.
 * Keep content-specific layouts (including the three result groups) separate. */
:where(body.page-id-38, body.page-id-470, body.page-id-3785, body.page-id-2215, body.page-id-15861, .mrp-event-tracks, .mrp-event-tracks-overview, body.page-id-38 [data-id="2db60bb"], .mrp-event-result-preview) {
    --mrp-event-accent: var(--e-global-color-primary, #3a81b8);
    --mrp-event-text: #333;
    --mrp-event-muted: #606870;
    --mrp-event-border: #e1e5ea;
    --mrp-event-surface: #f7f8f9;
    --mrp-event-heading-size: 1.125rem;
    --mrp-event-detail-size: .875rem;
    --mrp-event-row-padding: .4rem .6rem;
    --mrp-event-head-padding: .55rem .6rem;
    --mrp-event-selected: #eaf2f8;
    --mrp-event-gap: .55rem;
}

.mrp-event-track .mrp-event-title {
    margin: 0 0 .6rem;
    font-size: var(--mrp-event-heading-size);
    font-weight: 500;
    line-height: 1.3;
    color: var(--mrp-event-text);
    overflow-wrap: anywhere;
}

.mrp-event-stat,
.mrp-event-action {
    box-sizing: border-box;
    display: inline-flex;
    align-items: baseline;
    gap: .4rem;
    min-width: 0;
    max-width: 100%;
    min-height: calc(1.15em + .7rem + 2px);
    padding: .35rem .65rem;
    border: 1px solid var(--mrp-event-border);
    border-radius: 0;
    background: #fff;
    font-size: .9375rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.mrp-event-stat strong {
    color: var(--mrp-event-text);
    font-weight: 700;
}

.mrp-event-stat-label {
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--mrp-event-muted);
}

.mrp-event-action {
    align-items: center;
    justify-content: center;
    color: var(--mrp-event-accent);
    border-color: currentColor;
    font-weight: 700;
    text-decoration: none;
}

.mrp-event-action:hover {
    color: var(--mrp-event-accent);
    background: var(--mrp-event-surface);
    text-decoration: none;
}

.mrp-event-action:focus-visible,
.mrp-event-tracks-overview > summary:focus-visible {
    outline: 2px solid var(--mrp-event-accent);
    outline-offset: 3px;
}

.mrp-event-stat--unavailable {
    border-color: #efc2c2;
    background: #fff7f7;
}

.mrp-event-stat--unavailable strong { color: #b42323; }

/* Main overview tables share the track grid's rhythm, without affecting tables
 * on result, registration or organizer pages. */
body.page-id-38 .tr-arc { width: 100%; margin: 0; table-layout: fixed; border-collapse: collapse; font-size: var(--mrp-event-detail-size); line-height: 1.4; }
body.page-id-38 .tr-arc th { padding: var(--mrp-event-head-padding); background: var(--mrp-event-surface); color: var(--mrp-event-muted); font-size: .82rem; font-weight: 500; border: 0; border-bottom: 1px solid var(--mrp-event-border); }
body.page-id-38 .tr-arc th:first-child { width: 68%; }
body.page-id-38 .tr-arc td { padding: var(--mrp-event-row-padding); vertical-align: top; border: 0; border-bottom: 1px solid var(--mrp-event-border); overflow-wrap: anywhere; }
body.page-id-38 .tr-arc tbody tr { background: #fff; }
body.page-id-38 .tr-arc tbody tr:nth-child(even) { background: var(--mrp-event-surface); }
body.page-id-38 .tr-arc h4 { margin: 0; font-size: var(--mrp-event-heading-size); font-weight: 500; line-height: 1.3; }
body.page-id-38 .tr-arc small { font-size: var(--mrp-event-detail-size); line-height: 1.4; color: var(--mrp-event-muted); }
body.page-id-38 .tr-arc th:last-child, body.page-id-38 .tr-arc td:last-child { text-align: right; }
.tr-arc .mrp-event-archive-short { display: none; }
body.page-id-38 .tr-arc a { display: inline-flex; align-items: center; gap: .3rem; min-height: 2.75rem; max-width: 100%; color: var(--mrp-event-accent); }
body.page-id-38 .tr-arc a > span { min-width: 0; }
body.page-id-38 .tr-arc a:focus-visible { outline: 2px solid var(--mrp-event-accent); outline-offset: 2px; }
body.page-id-38 :is([data-id="d3bcdd5"], [data-id="1543c1b"]) h2.elementor-heading-title { font-size: 1.5rem; font-weight: 500; line-height: 1.3; }
@media (max-width: 600px) {
    body.page-id-38 .tr-arc .mrp-event-archive-long { display: none; }
    body.page-id-38 .tr-arc .mrp-event-archive-short { display: inline; }
}

/* Public/internal participant lists and result tables share one vocabulary.
 * Keep ranking/gender markers, alignment, mobile columns and private rendering
 * owned by their existing renderers. Account tables are outside this scope. */
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) {
    border-collapse: collapse;
    color: var(--mrp-event-text);
    font-size: var(--mrp-event-detail-size);
    line-height: 1.4;
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) > thead > tr > th {
    padding: var(--mrp-event-head-padding);
    background: var(--mrp-event-surface);
    color: var(--mrp-event-muted);
    border-bottom: 1px solid var(--mrp-event-border);
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.4;
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) > tbody > tr > td {
    padding: var(--mrp-event-row-padding);
    border-bottom: 1px solid var(--mrp-event-border);
    vertical-align: top;
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) > tbody > tr:nth-child(odd) {
    background: #fff;
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) > tbody > tr:nth-child(even) {
    background: var(--mrp-event-surface);
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) strong { font-weight: 600; }
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) small {
    font-size: .8125rem;
    line-height: 1.4;
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter .mrp-mobile-detail-copy {
    font-size: .8125rem;
    line-height: 1.4;
    color: var(--mrp-event-muted);
}
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter .mrp-mobile-detail-label { font-weight: 500; }
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter .mrp-result-value strong { color: var(--mrp-event-text); }
body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) :is(#table-filter, .result-detail) a:focus-visible {
    outline: 2px solid var(--mrp-event-accent);
    outline-offset: 2px;
}

/* Wide ranking tables need the existing two-column presentation already on
 * tablets; otherwise the desktop columns overflow the narrower content area. */
@media (max-width: 1024px) {
    body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter.mrp-mobile-two-column {
        width: 100%;
        max-width: 100%;
        table-layout: fixed;
    }
    body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter.mrp-mobile-two-column .hide-mobile { display: none !important; }
    body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter.mrp-mobile-two-column .show-mobile { display: block !important; }
    body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter.mrp-mobile-two-column :is(th, td) {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    body:is(.page-id-470, .page-id-3785, .page-id-2215, .page-id-15861) #table-filter.mrp-mobile-two-column :is(th, td):first-child {
        width: 5.75rem;
        white-space: nowrap;
        overflow-wrap: normal;
    }
}

/* Result details are subordinate sections, using the same event rhythm. */
body.page-id-15861 .elementor h3.elementor-heading-title {
    font-size: var(--mrp-event-heading-size);
    font-weight: 500;
    line-height: 1.3;
    color: var(--mrp-event-text);
}
body.page-id-15861 table.result-detail { width: 100%; margin-bottom: 0; }
body.page-id-15861 :is(.detail-personal, .detail-ranking) { table-layout: fixed; }
body.page-id-15861 :is(.detail-personal, .detail-ranking) td {
    overflow-wrap: anywhere;
}
body.page-id-15861 :is(.detail-personal, .detail-ranking) td:first-child {
    width: 40%;
    color: var(--mrp-event-muted);
    font-weight: 500;
}
body.page-id-15861 .mrp-event-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}
body.page-id-15861 .mrp-event-table-scroll:focus-visible {
    outline: 2px solid var(--mrp-event-accent);
    outline-offset: 2px;
}
body.page-id-15861 .detail-times :is(th, td):not(:first-child) { white-space: nowrap; }
body.page-id-15861 .mrp-event-table-hint { display: none; }
body.page-id-2215 #table-filter td { overflow-wrap: anywhere; }
@media (max-width: 782px) {
    body.page-id-15861 .mrp-event-table-hint {
        display: block;
        margin: 0 0 .35rem;
        color: var(--mrp-event-muted);
        font-size: .8125rem;
        line-height: 1.4;
    }
    body.page-id-15861 .mrp-event-table-scroll table { margin: 0; }
}
body.page-id-15861 .certification-button .elementor-button {
    padding: .45rem .65rem;
    border: 1px solid var(--mrp-event-accent);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: var(--mrp-event-accent);
    font-size: var(--mrp-event-detail-size);
    font-weight: 500;
    line-height: 1.3;
    text-transform: none;
}
body.page-id-15861 .certification-button .elementor-button:hover {
    background: var(--mrp-event-surface);
}
body.page-id-15861 .certification-button .elementor-button:focus-visible {
    outline: 2px solid var(--mrp-event-accent);
    outline-offset: 3px;
}

/* A bib is one identifier: nested links/strong/small must not re-enable wrapping. */
body:is(.page-id-3785, .page-id-2215) #table-filter > tbody > tr > td:first-child,
body:is(.page-id-3785, .page-id-2215) #table-filter > tbody > tr > td:first-child :is(a, strong, small),
.mrp-result-bib, .mrp-result-bib *, .mrp-bib, .mrp-bib * {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
@media (max-width: 1024px) {
    /* Let the bib determine its required width; the name column takes the rest. */
    body:is(.page-id-3785, .page-id-2215) #table-filter.mrp-mobile-two-column { table-layout: auto; }
    body:is(.page-id-3785, .page-id-2215) #table-filter.mrp-mobile-two-column :is(th, td):first-child { width: 1%; }
}

/* Long event names must fit narrow phones; this does not apply to bibs. */
body.page-id-38 .event-header-infos h1 { overflow-wrap: anywhere; }

/* Full result lists: primary rank, name and result; secondary bib/club.
 * Progressive enhancement leaves desktop and the no-JS fallback intact. */
.mrp-result-mobile { display: none; }
.mrp-results-container { container: mrp-results / inline-size; }
body.page-id-470 #table-filter .result-trophy { width: 1.25rem; height: 1.25rem; object-fit: contain; }
@media (max-width: 1024px) {
    body.page-id-470 #table-filter .mrp-result-compact-row .mrp-result-source { display: none; }
    body.page-id-470 #table-filter .mrp-result-mobile { display: block; margin: 0; padding: 0; border: 0; background: none; }
    body.page-id-470 #table-filter.mrp-results-compact :is(th, td):first-child { width: auto; white-space: normal; }
    body.page-id-470 #table-filter.mrp-results-compact :is(th, td).mrp-result-primary-rank {
        width: 3.5rem; padding-left: .3rem; padding-right: .3rem;
        white-space: nowrap !important; overflow-wrap: normal;
    }
    body.page-id-470 #table-filter.mrp-results-compact th.mrp-result-primary-rank { white-space: normal !important; overflow-wrap: anywhere; }
    body.page-id-470 #table-filter .mrp-result-primary-rank .result-trophy { width: 1.25rem; height: 1.25rem; object-fit: contain; }
    /* Each mobile row has one full-width cell. The native disclosure owns
     * both the compact rank/name header and the independent detail flow. */
    body.page-id-470 #table-filter.mrp-results-compact,
    body.page-id-470 #table-filter.mrp-results-compact > :is(thead, tbody) { display: block; width: 100%; }
    body.page-id-470 #table-filter.mrp-results-compact > thead > tr { display: grid; grid-template-columns: minmax(0, 1fr); }
    body.page-id-470 #table-filter.mrp-results-ranked > thead > tr { grid-template-columns: 3.5rem minmax(0, 1fr); }
    body.page-id-470 #table-filter.mrp-results-compact > thead > tr > th { display: none; width: auto; }
    body.page-id-470 #table-filter.mrp-results-compact > thead > tr > :is(.mrp-result-primary-rank, .mrp-result-person-heading) { display: block; }
    body.page-id-470 #table-filter .mrp-result-compact-row { display: block; }
    body.page-id-470 #table-filter .mrp-result-compact-row > td { display: none; }
    body.page-id-470 #table-filter .mrp-result-compact-row > td.mrp-result-person { display: block; width: auto; }
    body.page-id-470 #table-filter .mrp-result-primary { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
    body.page-id-470 #table-filter .mrp-result-primary-ranked { grid-template-columns: 3.5rem minmax(0, 1fr); gap: .25rem; }
    body.page-id-470 #table-filter .mrp-result-rank { min-width: 0; text-align: center; }
    body.page-id-470 #table-filter .mrp-result-summary {
        position: relative; list-style: none; margin: 0; padding: 0 1.3rem 0 0;
        min-height: 2.75rem; cursor: pointer; color: inherit; background: none;
    }
    body.page-id-470 #table-filter .mrp-result-summary::-webkit-details-marker { display: none; }
    body.page-id-470 #table-filter .mrp-result-summary::after {
        content: ''; position: absolute; right: .15rem; top: .45rem;
        width: .4rem; height: .4rem; border-right: 2px solid var(--mrp-event-accent);
        border-bottom: 2px solid var(--mrp-event-accent); transform: rotate(45deg);
    }
    body.page-id-470 #table-filter details[open] > .mrp-result-summary::after { transform: rotate(225deg); top: .6rem; }
    body.page-id-470 #table-filter .mrp-result-summary:focus-visible { outline: 2px solid var(--mrp-event-accent); outline-offset: 3px; }
    body.page-id-470 #table-filter .mrp-result-main { display: flex; flex-wrap: wrap; gap: .15rem .5rem; align-items: baseline; }
    body.page-id-470 #table-filter .mrp-result-main-name { min-width: 0; flex: 1 1 4rem; }
    body.page-id-470 #table-filter .mrp-result-main-name .nat-flag { display: inline-block; vertical-align: baseline; margin: 0 0 0 .2rem; }
    body.page-id-470 #table-filter .mrp-result-main-status { display: block; }
    body.page-id-470 #table-filter .mrp-result-main-value,
    body.page-id-470 #table-filter .mrp-result-main-value * { white-space: nowrap !important; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
    body.page-id-470 #table-filter .mrp-result-main-value { margin-left: auto; }
    body.page-id-470 #table-filter .mrp-result-main-meta {
        flex-basis: 100%; display: flow-root;
        font-size: .8125rem; color: var(--mrp-event-muted); line-height: 1.4;
    }
    body.page-id-470 #table-filter .mrp-result-main-meta small { font-size: inherit; }
    body.page-id-470 #table-filter .mrp-result-main-pace { float: right; margin-left: .5rem; white-space: nowrap !important; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
    body.page-id-470 #table-filter .mrp-result-main-club { min-width: 0; }
    body.page-id-470 #table-filter .mrp-result-extras {
        display: flex; flex-wrap: wrap;
        gap: .4rem .6rem; align-items: center; margin-top: .35rem; padding-top: .4rem;
        border-top: 1px solid var(--mrp-event-border); font-size: .8125rem;
    }
    body.page-id-470 #table-filter .mrp-result-extra-label { color: var(--mrp-event-muted); font-size: .75rem; font-weight: 500; margin-bottom: .15rem; }
    body.page-id-470 #table-filter .mrp-result-extra { min-width: 0; flex: 1 1 4.75rem; text-align: center; }
    body.page-id-470 #table-filter .mrp-result-extra-wide { flex-basis: 100%; text-align: left; overflow-wrap: anywhere; }
    body.page-id-470 #table-filter .mrp-result-extra-wide table { max-width: 100%; }
    body.page-id-470 #table-filter .mrp-result-extra-action { flex: 0 1 auto; margin-inline: auto; }
    body.page-id-470 #table-filter .mrp-result-extra-action .mrp-event-action { min-height: 2.75rem; font-size: var(--mrp-event-detail-size); }
    body.page-id-470 #table-filter .mrp-result-extra-value .result-trophy { width: 1rem; height: 1rem; object-fit: contain; }
    /* At very large text sizes, use the full row width instead of squeezing
     * an unbreakable bib or time alongside the rank column. */
    @container mrp-results (max-width: 15em) {
        body.page-id-470 #table-filter.mrp-results-compact > thead { display: none; }
        body.page-id-470 #table-filter .mrp-result-primary-ranked { grid-template-columns: minmax(0, 1fr); }
        body.page-id-470 #table-filter .mrp-result-rank { text-align: left; }
        body.page-id-470 #table-filter .mrp-result-rank br { display: none; }
        body.page-id-470 #table-filter .mrp-result-rank .result-trophy { vertical-align: middle; margin-right: .3rem; }
    }
}
@media print {
    body.page-id-470 #table-filter .mrp-result-mobile { display: none; }
    body.page-id-470 #table-filter .mrp-result-compact-row .mrp-result-source { display: block; }
}
