/*tipi per gara */
.race-badge {
    background: var(--race);
    color: var(--race-fg);
}

.race-badge-outline {
    background: transparent;
    border: 1px solid var(--race);
    color: var(--race);
}

.profile-svg {
    width: 100%;
    height: 70px;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: .5rem;
    background: #f8f9fa;
    display: block;
}

/* ranking cards scrollabili */
.rank-strip {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: .25rem;
}

    .rank-strip > .rank-item {
        scroll-snap-align: start;
        min-width: 260px;
    }

/* bottom nav */
.bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    background: #fff;
    border-top: 1px solid rgba(0,0,0,.1);
    padding-bottom: env(safe-area-inset-bottom);
}

    .bottom-nav a {
        text-decoration: none;
        color: #6c757d;
        font-size: .78rem;
        padding: .55rem .25rem;
    }

        .bottom-nav a .bi {
            font-size: 1.15rem;
            display: block;
            line-height: 1;
        }

        .bottom-nav a.active {
            color: #0d6efd;
            font-weight: 600;
        }

.bottom-spacer {
    height: 86px;
}
/* spazio sotto per nav fisso */

.avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .85rem;
    overflow: hidden;
    border: 1px solid #d1d5db;
}

.avatar-m {
    background: #00008b;
    color: #FFF;
}

.avatar-f {
    background: pink;
    color: black;
}

.avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

    /* se c'è l'immagine, nascondi le iniziali */
    .avatar img:not([style*="display:none"]) + .avatar-fallback {
        display: none;
    }

/* Shared event surfaces: live, athlete, rankings and map overlays. */
.event-page { --event-panel-radius: 1rem; --event-panel-shadow: 0 3px 16px rgb(23 43 68 / 6%); --event-panel-border: #e4e9ee; }
.event-page main:not(.map-page-shell) { padding-bottom: calc(6rem + env(safe-area-inset-bottom)) !important; }
.event-page .card, .event-panel {
    background: var(--bs-body-bg); border: 1px solid var(--event-panel-border) !important;
    border-radius: var(--event-panel-radius) !important; box-shadow: var(--event-panel-shadow) !important; min-width: 0;
}
.event-panel-body, .event-page .card > .card-body { padding: clamp(1rem, 2.5vw, 1.5rem) !important; }
.event-page .map-surface { border-color: var(--event-panel-border); border-radius: var(--event-panel-radius); box-shadow: var(--event-panel-shadow); }
.results-controls { padding: 1rem; background: #f5f7fa; border: 1px solid var(--event-panel-border); border-radius: .75rem; }
.results-controls .form-select, .results-controls .form-control { min-width: 0; max-width: 100%; }
.results-checkpoint-panel { padding: 1rem; align-self: flex-start; }
.results-checkpoint-panel h2 { padding-bottom: .75rem; border-bottom: 1px solid var(--event-panel-border); }
.results-list .list-group-item { background: transparent; border-color: var(--event-panel-border); }
.event-page .offcanvas { background: #f5f7fa; }
.event-page .offcanvas-header { background: var(--bs-body-bg); }
.event-page :focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 3px; }
@media (max-width: 575px) {
    .results-controls { padding: .75rem; }
    .results-controls [data-layout] { width: 100%; font-size: .875rem; }
    .results-checkpoint-panel { padding: .75rem; }
}

.event-page select option { color: #172b44; background-color: #fff; }

/* Statistics: readable charts with a complete legend, including every region. */
#raceStatsCanvas { background:#f4f7fb; }
#raceStatsCanvas .offcanvas-header { background:white; }
#raceStatsCanvas [data-stats-content] { max-width:1000px; margin:auto; }
.stats-donut { width:100%; max-width:180px; height:auto; }
.stats-legend-row { display:flex; align-items:center; gap:.65rem; padding:.55rem 0; border-bottom:1px solid #edf1f6; font-size:.85rem; }
.stats-legend-row:last-child { border:0; }
.stats-swatch { width:10px; height:10px; border-radius:3px; flex-shrink:0; }
.stats-percent { min-width:3.7rem; text-align:right; color:#64748b; }
.stats-legend-row .flex-grow-1 { overflow-wrap:anywhere; min-width:0; }


/* A single native scroller: fixed-height desktop box, full-height mobile page. */
.results-checkpoint-viewport { overflow-x:auto; touch-action:pan-x pan-y; position:relative; }
.results-checkpoints-horizontal { display:flex; gap:1rem; align-items:flex-start; width:max-content; min-width:100%; padding-bottom:12px; }
.results-checkpoint-panel { max-height:none; overflow:visible; padding:0 14px 14px; }
.results-checkpoint-panel .checkpoint-sticky-title { position:sticky; top:0; z-index:2; background:#fff; color:#124f57; padding:16px; margin:0 -14px 14px; border-radius:0; font-size:1.15rem; font-weight:750; border-bottom:1px solid var(--event-panel-border,#e4e9ee); }
.results-shared-sentinel { height:1px; width:1px; position:sticky; left:0; }
@media(min-width:992px) {
    .results-checkpoint-viewport { height:70vh; overflow:auto; border:0; border-radius:0; }
    .results-checkpoint-viewport, .results-checkpoint-viewport a { cursor:grab; }
    .results-checkpoint-viewport.is-dragging, .results-checkpoint-viewport.is-dragging * { cursor:grabbing; user-select:none; }
}
/* The athlete comparison chart keeps its independent desktop scrollbar. */
.results-top-scroll { overflow-x:auto; height:22px; margin-bottom:8px; }
.results-top-scroll > div { height:1px; }
@media(max-width:767px) { .results-top-scroll { display:none; } }

.results-mobile-checkpoint-headings { display:none; }
@media(max-width:991px) {
    /* Checkpoint headings remain below the compact filter bar. */
    .results-mobile-checkpoint-headings:not([hidden]) { display:block; overflow:hidden; margin-bottom:0; padding-block:0; background:var(--bs-body-bg,#fff); }
    .results-mobile-checkpoint-headings > div { display:flex; gap:1rem; width:max-content; }
    .results-mobile-checkpoint-headings h2 { box-sizing:border-box; width:min(78vw,420px); flex-shrink:0; padding:16px; margin:0; border-radius:0; border:1px solid var(--event-panel-border,#e4e9ee); background:#fff; color:#124f57; font-size:1.15rem; font-weight:750; }
    .results-checkpoint-panel .checkpoint-sticky-title { display:none; }
    .results-checkpoint-panel { border-top:0 !important; border-top-left-radius:0 !important; border-top-right-radius:0 !important; padding-top:14px; }
}

/* Facebook-style event profile: cover, optional race avatar and white identity row. */
.event-social-header{background:#fff;border-bottom:1px solid #e2e8ed}.event-cover-shell{padding:0}.event-social-cover{background-image:var(--event-cover-mobile,var(--event-cover));height:clamp(260px,34vw,430px);border-radius:0 0 8px 8px;background-size:cover;background-position:center;background-color:#dce7eb}.event-social-info{display:flex;align-items:center;gap:24px;padding:24px 32px 28px;position:relative;min-height:140px}.event-profile-logo{width:168px;height:168px;flex:0 0 168px;align-self:flex-start;margin-top:-78px;position:relative;border:5px solid #fff;border-radius:50%;background:#fff;box-shadow:0 1px 3px #122b3a24;overflow:hidden}.event-profile-logo img{width:100%;height:100%;object-fit:contain;padding:10px}.event-social-heading{min-width:0;flex:1}.event-social-heading h1{font-size:clamp(26px,2.7vw,38px);font-weight:750;line-height:1.15;letter-spacing:-.025em;color:#193b43;margin:0;overflow-wrap:anywhere}.event-social-meta{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:10px;color:#657a85;font-size:14px}.event-social-meta>span{display:flex;align-items:center;gap:7px}.event-status-pill{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:#eaf0f3;color:#5b707b;border:1px solid #dce6eb;border-radius:8px;padding:9px 15px;font-size:12px;font-weight:700;margin-left:auto}.event-status-pill>span{width:7px;height:7px;border-radius:50%;background:currentColor}.event-status-pill.is-live{background:#e7f5ed;color:#267651;border-color:#cbe6d5}
@media(max-width:767px){.event-cover-shell{max-width:none}.event-social-cover{height:clamp(220px,62vw,350px);border-radius:0}.event-social-info{padding:20px 4px 24px;gap:14px;flex-wrap:wrap}.event-profile-logo{width:114px;height:114px;flex-basis:114px;margin-top:-65px;border-width:4px}.event-profile-logo img{padding:8px}.event-social-heading{flex-basis:100%}.event-social-heading h1{font-size:28px}.event-social-meta{font-size:12px;gap:12px}.event-status-pill{margin-left:0}.event-profile-logo+.event-social-heading{margin-top:-4px}}

@media (min-width: 992px) {
    .event-social-cover { background-image:var(--event-cover); background-position: center; height:clamp(320px,38vw,560px); }
}

@media (min-width: 768px) and (max-width: 1399px), (min-width: 768px) and (max-height: 800px) {
    .event-social-cover { height: clamp(280px, 42vw, 440px); }
    .event-social-info { min-height: 110px; padding: 1.25rem 1.5rem; gap: 1.25rem; }
    .event-profile-logo { width: 112px; height: 112px; flex-basis: 112px; margin-top: -56px; border-width: 4px; }
    .event-profile-logo img { padding: 7px; }
}
.event-social-header.event-header-compact .event-social-info { min-height: 0; padding: 1.25rem 0; }
.event-header-compact .event-profile-logo {
    width: 64px; height: 64px; flex: 0 0 64px; align-self: flex-start;
    margin-top: 0; border-width: 3px; border-radius: 50%;
}
.event-header-compact .event-profile-logo img { padding: 4px; }
@media (max-width: 767px) {
    .event-header-compact .event-social-info { column-gap: 12px; row-gap: 10px; }
    .event-header-compact .event-profile-logo { width: 52px; height: 52px; flex-basis: 52px; }
    .event-header-compact .event-profile-logo + .event-social-heading { flex-basis: calc(100% - 64px); margin-top: 0; }
}

/* One aligned checkpoint table. */
.results-checkpoints-table{width:max-content;min-width:100%;}
.checkpoint-table{table-layout:fixed;border-collapse:collapse;background:var(--bs-body-bg,#fff);}
.checkpoint-table th,.checkpoint-table td{width:min(86vw,360px);min-width:min(86vw,360px);max-width:min(86vw,360px);border:0;vertical-align:middle;padding:0;}
.checkpoint-table th{border-bottom:1px solid #9eafb9;position:sticky;top:0;z-index:2;background:var(--bs-body-bg,#fff);vertical-align:top;padding:.65rem;}
.checkpoint-table th h2{position:static;margin:0 0 .5rem;padding:0;font-size:1rem;color:#124f57;}
.checkpoint-table th [data-checkpoint-progress]{margin-bottom:.35rem!important;font-weight:400;}
.checkpoint-table th [data-panel-status]{font-weight:400;margin:0!important;}
.checkpoint-table td{padding:0 .4rem;}
.checkpoint-table td .result-card{border:0;border-radius:0;height:100%;}
.checkpoint-table th button{margin-top:.3rem!important;}
.results-checkpoint-source[hidden]{display:none!important;}




/* Mobile: only checkpoint name/km follow the page; align with table columns. */
@media(max-width:991px){
 .results-mobile-checkpoint-headings > div{gap:0;}
 .results-mobile-checkpoint-headings h2{width:min(86vw,360px);padding:.65rem;font-size:1rem;border:0;border-bottom:1px solid #9eafb9;}
 .checkpoint-table th{position:static;}
 .checkpoint-table th h2{display:none;}
}

/* Show the horizontal navigation where more checkpoints are available. */
.checkpoint-scroll-navigation:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:.5rem;height:48px;padding:4px 0;background:var(--bs-body-bg,#fff);}
.checkpoint-scroll-navigation .btn{flex-shrink:0;}
.checkpoint-scroll-navigation>span{text-align:center;line-height:1.2;}
@media(max-width:991px){
 .results-mobile-context{position:sticky;top:var(--results-filter-bar-height,52px);z-index:5;background:var(--bs-body-bg,#fff);}
}

/* Shared result cards adapt to their available width, including narrow desktop columns. */
.result-card.list-group-item {
    container-type: inline-size;
    padding-inline: var(--bs-list-group-item-padding-x, 1rem);
    background: #fff;
    border-color: var(--event-panel-border, #e4e9ee);
    color: #223b46;
}
.result-card[href]:hover, .result-card[role="button"]:hover { background: #eaf1f4; }
.result-card-layout {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 12px;
    align-items: center;
    column-gap: .8rem;
    row-gap: .7rem;
}
.result-card-identity { grid-column: 1; grid-row: 1; text-align: center; min-width: 0; }
.result-card-standing { display: flex; align-items: center; justify-content: center; gap: .3rem; margin-top: .35rem; font-variant-numeric: tabular-nums; }
.result-card-position { font-size: 1.1rem; font-weight: 750; line-height: 1.15; }
.result-card-person { grid-column: 2; grid-row: 1; min-width: 0; }
.result-card-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem .5rem; line-height: 1.3; }
.result-card-bib { font-size: .75rem; font-weight: 700; padding: .15rem .4rem; border: 1px solid #cedbe2; border-radius: .3rem; color: #48616e; white-space: nowrap; }
.result-card-subtitle { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .65rem; font-size: .8rem; color: #687c87; margin-top: .25rem; overflow-wrap: anywhere; }
.result-card-subtitle-separator { margin-inline-end: .65rem; }
.result-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .65rem; font-size: .72rem; color: #687c87; margin-top: .4rem; }
.result-card-meta .badge { font-weight: 600; font-size: .65rem; }
.result-card-facts { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: .3rem 1rem; grid-column: 1 / -1; grid-row: 2; min-width: 0; padding-top: .6rem; }
.result-card-facts::before { content: ""; position: absolute; top: 0; left: 1rem; right: 1rem; height: 1px; background: #e8edf1; }
.result-card-time, .result-card-positions { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; }
.result-card-time { grid-column: 2; grid-row: 1; flex-direction: column; align-items: flex-end; text-align:right; gap:.3rem; }
.result-card-duration { font-size: 1rem; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.result-card-checkpoint { grid-column: 1 / -1; grid-row: 2; color: #607784; overflow-wrap: anywhere; }
.result-card-positions { display:flex; grid-column:1; grid-row:1; flex-direction:column; align-items:flex-start; text-align:left; color:#607784; font-size:.78rem; }



.result-card-position-separator { display: none; margin-right: .6rem; color: #82939d; }
.result-card-entry .result-card-facts { display: block; }
.result-card-entry .result-card-positions { display: grid; gap: .3rem; text-align: left; }
.result-card-action { grid-column: 3; grid-row: 1; color: #7b909c; }
.result-card-detail .result-card-layout { grid-template-columns: 96px minmax(0, 1fr); }
.result-card-map .result-card-layout { grid-template-columns: 56px minmax(0, 1fr); }
.result-card-detail .result-card-team { align-self: center; }
@container (min-width: 620px) {
    .result-card-layout { grid-template-columns: 68px minmax(150px, .7fr) minmax(0, 1.5fr) 16px; column-gap: 1rem; }
    .result-card-facts { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.35rem 1rem; grid-column: 3; grid-row: 1; border-top: 0; border-left: 1px solid #e8edf1; padding: .25rem 0 .25rem 1.25rem; }
    .result-card-facts::before { display: none; }
    .result-card-time { align-items:flex-end; }
    .result-card-positions { align-items:flex-start; }
    .result-card-action { grid-column: 4; }
    .result-card-entry .result-card-positions { display: flex; gap: .35rem .8rem; }
    .result-card-position { font-size: 1.3rem; }
    .result-card-name { font-size: 1.05rem; }
    .result-card-detail .result-card-layout { grid-template-columns: 112px minmax(150px, .7fr) minmax(0, 1.5fr); }
    .result-card-map .result-card-layout { grid-template-columns: 68px minmax(150px, .7fr) minmax(0, 1.5fr); }
}

/* Separate athletes whose last recorded checkpoint differs. */
.result-checkpoint-separator.list-group-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem 1rem;
    border: 0;
    background: #fff;
    color: #48616e;
    font-size: .75rem;
    font-weight: 600;
}
.result-checkpoint-separator::before, .result-checkpoint-separator::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #b8c8d0;
}
.result-checkpoint-separator > span { min-width: 0; text-align: center; overflow-wrap: anywhere; }

.event-social-cover { position:relative; }
.event-social-cover.is-video { background-image:none; background-color:#193b43; }
.event-cover-video-host { position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;opacity:0; }
.event-cover-video-host.is-playing { opacity:1; }
.event-cover-video-host video { display:block;width:100%;height:100%;object-fit:cover; }
.event-cover-video-host iframe { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0; }
.event-cover-video-toggle { position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff9c;border-radius:50%;color:#fff;background:#173d57b8;font-size:20px;line-height:1; }
.event-cover-video-toggle[hidden] { display:none; }
.event-cover-video-toggle:hover { background:#173d57e8; }
.event-cover-video-toggle:focus-visible { outline:3px solid #64b5e1;outline-offset:3px; }

/* Separate athlete records from each other; preserve aligned checkpoint columns. */
.results-list > .result-card.list-group-item { border:0; border-bottom:1px solid #9eafb9; margin:0; }
.results-list > .result-card.list-group-item:last-child { border-bottom:0; }
.checkpoint-table tbody tr + tr td { border-top:1px solid #9eafb9; }
.event-header-compact .event-social-heading h1 { font-size:clamp(20px,2vw,28px); line-height:1.2; }
.event-social-header.event-header-compact .event-social-info { padding:.85rem 0; }
.results-control-label { display:block; width:100%; font-size:.8rem; font-weight:650; color:#405865; }
.results-control-label > span { display:block; margin-bottom:.35rem; }
.event-page-inner main:not(.map-page-shell) { padding-top:.75rem !important; }
.event-page-title { flex-shrink:0; margin:0 0 0 auto; color:#526875; font-size:1.1rem; font-weight:650; }
/* Controls stay outside the white result surface on every event page. */
.results-page .results-controls { padding:0; border:0; border-radius:0; background:transparent; }
.results-search-control { margin-bottom:.75rem; }
.results-search-control .form-control, .results-extra-controls .form-select { min-height:44px; background:#fff; border-color:#8ea9ba; }
.results-filter-bar { position:sticky; top:0; z-index:10; display:flex; align-items:center; gap:.5rem; min-width:0; padding:.5rem 0; background:var(--bs-light,#f8f9fa); }
.results-edit-filters { flex-shrink:0; display:inline-flex; gap:.35rem; align-items:center; min-height:40px; background:#fff; }
.results-filter-chevron { font-size:.65rem; transition:transform .15s; }
.results-edit-filters[aria-expanded="true"] .results-filter-chevron { transform:rotate(180deg); }
.results-filter-summary:not([hidden]) { flex:1; display:flex; align-items:center; flex-wrap:nowrap; gap:.35rem; min-width:0; overflow-x:auto; padding:.2rem 0; scrollbar-width:thin; }
.results-filter-chip, .results-distance-chip { display:inline-flex; flex:0 0 auto; align-items:center; gap:.3rem; max-width:240px; border:1px solid #b6cee2; border-radius:.4rem; padding:.25rem .45rem; background:#e3edf8; color:#194e66; font-size:.75rem; line-height:1.5; white-space:nowrap; cursor:pointer; }
.results-filter-chip > span, .results-distance-chip > span { overflow:hidden; text-overflow:ellipsis; }
.results-distance-chip { max-width:210px; }
.results-filter-chip:hover, .results-distance-chip:hover { background:#cddff0; }
.results-filter-chip > i, .results-distance-chip > i { flex-shrink:0; }
.results-extra-controls { padding:1rem; background:#f0f4f8; border:1px solid #dce5ec; border-radius:.75rem; }
.results-presets-label { font-size:.8rem; font-weight:650; color:#405865; margin-bottom:.5rem; }
.results-surface, .results-page [data-primary-controls] { scroll-margin-top:calc(var(--results-filter-bar-height,52px) + 8px); }
.results-search-toggle { display:none; }
.results-refresh, .results-search-toggle { flex-shrink:0; width:40px; height:40px; padding:.35rem; }
.offcanvas-body.results-offcanvas-body { padding-top:0; }
#raceEntriesCanvas [data-entry-counters] { padding-top:var(--bs-offcanvas-padding-y,1rem); }
.offcanvas .results-filter-bar { background:var(--bs-light,#f8f9fa); }
#searchCanvas .offcanvas-body { background:var(--bs-light,#f8f9fa); }
.results-comparison { margin-top:1rem; padding-top:.75rem; border-top:1px solid #d6e0e7; }
.results-comparison > summary { cursor:pointer; font-size:.85rem; color:#526875; }
.results-shortcuts:not([hidden]) { display:grid; gap:.85rem; padding-top:1rem; border-top:1px solid #d6e0e7; }
.results-shortcut-race > strong { display:block; font-size:.8rem; color:#526875; margin-bottom:.5rem; }
.results-race-heading { margin-bottom:1rem; }
.results-race-title { display:flex; align-items:center; gap:.65rem; }
[data-panel-status]:empty { display:none; }
.results-surface [data-ranking-progress] .progress-bar { background-color:var(--results-race-color,#194e66); }
.result-card-positions > span:first-child { font-weight:700; }
.result-card-gap { white-space:nowrap; font-size:.78rem; }
.event-distance-canvas { height:auto!important; max-height:min(75vh,650px); border-radius:1rem 1rem 0 0; }
.event-distance-canvas .offcanvas-body { overflow-y:auto; }
.event-distance-option { display:flex; align-items:center; gap:.85rem; padding:1rem; border:1px solid #d6e0e7; border-radius:.7rem; margin-bottom:.65rem; color:#223b46; text-decoration:none; background:#fff; }
.event-distance-option > span:nth-child(2) { flex:1; min-width:0; }
.event-distance-option strong { display:block; }
.event-distance-option.is-selected, .event-distance-option:hover { background:#eaf1f4; border-color:#8ea9ba; }
.event-distance-swatch { display:block; width:.45rem; height:2.5rem; border-radius:.3rem; background:var(--race,#194e66); flex-shrink:0; }
@media(max-width:767px) {
    .event-header-compact .event-social-meta { margin-top:.35rem; }
    .results-search-toggle { display:inline-flex; justify-content:center; align-items:center; }
    .results-search-control:not(.is-open) { display:none; }
    .results-search-control .form-control { min-height:48px; font-size:1rem; }
}
@media(max-width:575px) {
    .results-filter-bar { gap:.35rem; }
    .results-filter-chip, .results-distance-chip { max-width:160px; }
    .results-edit-filters { font-size:.75rem; gap:.25rem; padding-inline:.5rem; }
}

/* Quiet borders retain the hover, active and keyboard focus states. */
.race-progress-link, .race-progress-link:hover { text-decoration:none; }
.race-progress-link .bi { display:inline-block; font-size:1rem; vertical-align:middle; }
.race-counter, .raceBox .btnStats, [data-event-stats] {
    --bs-btn-color:#405865; --bs-btn-bg:#f8fafc; --bs-btn-border-color:#d8e3ea;
    --bs-btn-hover-color:#194e66; --bs-btn-hover-bg:#edf3f6; --bs-btn-hover-border-color:#aabfcd;
    --bs-btn-active-color:#194e66; --bs-btn-active-bg:#e3edf4; --bs-btn-active-border-color:#8ea9ba;
}
@media(max-width:575px) {
    .raceBox article.card, #eventResults > .results-surface, .athlete-result-card {
        margin-inline:-.75rem; --event-panel-radius:1rem; --event-panel-shadow:none;
        border-left:0!important; border-right:0!important;
    }
    #searchCanvas [data-results-panel] { margin-inline:-.5rem; --event-panel-radius:1rem; --event-panel-shadow:none; border-left:0!important; border-right:0!important; }
}

/* Match the colored top edge of the individual result share card. */
.raceBox article.card { border-top:6px solid var(--race,#194e66)!important; }
[data-results-panel][data-race-colored="true"] { border-top:6px solid var(--results-race-color,#194e66)!important; }

.event-home-link { color:inherit; text-decoration:none; }
.event-home-link:hover { color:inherit; text-decoration:underline; text-underline-offset:.15em; }
.event-home-link:focus-visible, .event-profile-logo:focus-visible { outline:3px solid #2478b3; outline-offset:4px; }
.results-sticky-distance { flex:1; min-width:0; max-width:420px; }
.results-sticky-distance .form-select { min-height:40px; font-size:.85rem; border-color:#8ea9ba; background-color:#fff; text-overflow:ellipsis; }
.results-search-control .results-filter-summary:not([hidden]) { margin-top:.5rem; flex-wrap:wrap; overflow:visible; }
.has-persistent-search .results-search-toggle { display:none; }
.results-race-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.65rem 1rem; }
.results-race-heading > .results-race-title { flex:1; min-width:0; overflow-wrap:anywhere; }
.results-race-heading > .race-metrics { margin-left:auto; justify-content:flex-end; }
.results-race-identity { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; }
.race-metrics { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; }
.race-metrics .race-badge { font-size:.75rem; }
.event-distance-identity { display:flex; flex:1; min-width:0; flex-direction:column; gap:.5rem; }
.event-distance-option > .race-metrics { flex-shrink:0; justify-content:flex-end; max-width:45%; }
.results-search-control { scroll-margin-top:calc(var(--results-filter-bar-height,52px) + 8px); }
@media(max-width:575px) { .results-sticky-distance .form-select { font-size:.8rem; } }
