.ccr-wrap{max-width:1050px;margin:16px auto;font-family:inherit}.ccr-head{text-align:center;margin-bottom:18px}.ccr-head h2{font-size:2rem;margin:0 0 5px}.ccr-head p{margin:0;color:#68707a}.ccr-toolbar{display:flex;gap:6px;margin:0 0 12px}.ccr-toolbar input{flex:1;min-width:0;padding:7px 10px;border:1px solid #d7dce1;border-radius:6px;font:inherit}.ccr-toolbar button{padding:7px 13px;border:0;border-radius:6px;background:#e31b23;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ccr-toolbar a{padding:9px 4px;text-decoration:none}.ccr-month-heading{font-size:1rem;margin:14px 0 6px;padding-bottom:6px;border-bottom:2px solid #e7e7e7}.ccr-event-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;text-decoration:none;color:inherit;background:#fff;border:1px solid #e3e5e8;border-radius:7px;padding:7px 11px;margin-bottom:5px;box-shadow:0 1px 4px rgba(0,0,0,.035);transition:border-color .12s,transform .12s}.ccr-event-card:hover{border-color:#cfd4d9;transform:translateY(-1px)}.ccr-event-date{text-align:center;border-right:1px solid #e5e7e9;padding-right:12px;line-height:1}.ccr-event-day{display:block;font-size:21px;font-weight:800}.ccr-event-month{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;margin-top:3px}.ccr-event-year{display:block;font-size:10px;color:#8a9198;margin-top:3px}.ccr-event-main{min-width:0}.ccr-event-topline{margin-bottom:2px}.ccr-event-type{font-size:9px;font-weight:800;letter-spacing:.08em;color:#e31b23}.ccr-event-main h3{font-size:.96rem;line-height:1.2;font-weight:700;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccr-event-venue{font-size:.82rem;color:#5f6770;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccr-event-meta{font-size:.72rem;color:#8a9198;margin-top:2px}.ccr-event-action{font-size:.84rem;font-weight:700;color:#333;white-space:nowrap}.ccr-event-action span{font-size:16px;margin-left:4px;color:#e31b23}.ccr-empty{text-align:center;padding:35px;color:#777}.ccr-pagination{text-align:center;margin:20px 0}.ccr-pagination .page-numbers{display:inline-block;padding:6px 9px;margin:2px;border-radius:5px;text-decoration:none}.ccr-pagination .current{background:#e31b23;color:#fff;font-weight:700}.ccr-single{max-width:1050px;margin:28px auto}.ccr-back{display:inline-block;margin-bottom:12px;font-size:.9rem;text-decoration:none}.ccr-single-head{padding:22px 24px;border-radius:8px;background:#f5f6f7;border-left:4px solid #e31b23;margin-bottom:15px}.ccr-kicker{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.07em}.ccr-single-head h1{font-size:1.8rem;margin:4px 0}.ccr-single-head p{margin:0;color:#68707a}.ccr-event-description{margin:0 0 15px}.ccr-race-switcher{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.ccr-race-switcher a{padding:7px 10px;border-radius:5px;background:#f0f2f4;text-decoration:none;font-size:.86rem;font-weight:650}.ccr-race-switcher a.active{background:#e31b23;color:#fff}.ccr-race-title{font-size:1.2rem;margin:0 0 9px}.ccr-table-wrap{overflow-x:auto}.ccr-public-table{width:100%;border-collapse:collapse}.ccr-public-table th,.ccr-public-table td{padding:10px 11px;border-bottom:1px solid #e5e7e9;text-align:left}.ccr-public-table th{background:#f6f7f8;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}@media(max-width:650px){.ccr-event-card{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:9px}.ccr-event-date{padding-right:9px}.ccr-event-day{font-size:20px}.ccr-event-action{grid-column:2;font-size:.78rem;margin-top:-4px}.ccr-toolbar{flex-wrap:wrap}.ccr-toolbar input{flex-basis:100%}.ccr-single-head h1{font-size:1.45rem}}

/* v1.5: hide duplicate WordPress theme title/author/date on single result pages. */
body.single-ccr_event .entry-header .entry-meta,
body.single-ccr_event .entry-header .posted-on,
body.single-ccr_event .entry-header .byline,
body.single-ccr_event .entry-header .author,
body.single-ccr_event .entry-header .entry-title,
body.single-ccr_event .post-header .entry-meta,
body.single-ccr_event .post-header .posted-on,
body.single-ccr_event .post-header .byline,
body.single-ccr_event .post-header .author,
body.single-ccr_event .post-header .entry-title,
body.single-ccr_event .page-header,
body.single-ccr_event .page-title {display:none}
.ccr-single{margin:16px auto}
.ccr-race-switcher{margin-bottom:10px}

/* v1.6: JNews single-event header cleanup. */
body.single-ccr_event .jeg_post_title,
body.single-ccr_event .jeg_meta_container,
body.single-ccr_event .jeg_meta,
body.single-ccr_event .jeg_meta_author,
body.single-ccr_event .jeg_meta_date {
    display:none !important;
}

.ccr-event-main h3 {
    font-weight:700;
}

/* v1.7: use the full available page/content width for the main results archive. */
.ccr-wrap--archive {
    width:100%;
    max-width:none;
}

.ccr-event-main h3 {
    font-weight:800 !important;
    color:#111 !important;
}

.ccr-event-title {
    margin:0 0 14px;
    font-size:1.8rem;
    line-height:1.15;
    font-weight:800 !important;
    color:#111;
}

@media(max-width:650px){
    .ccr-event-title {
        font-size:1.45rem;
        margin-bottom:12px;
    }
}

/* v1.8: tighten the gap above individual event results. */
body.single-ccr_event .jeg_main_content,
body.single-ccr_event .jeg_main .container,
body.single-ccr_event .jeg_main_content .container,
body.single-ccr_event .jeg_content,
body.single-ccr_event .jeg_post,
body.single-ccr_event .entry-content,
body.single-ccr_event .jeg_post_content {
    padding-top:0 !important;
    margin-top:0 !important;
}

.ccr-single {
    margin-top:0 !important;
    padding-top:0 !important;
}

/* v1.9: JNews applies its remaining top gap to the outer main wrapper. */
body.single-ccr_event .jeg_main {
    padding-top:28px !important;
}

/* v2.0: remove JNews's empty header-bottom advert reservation. */
body.single-ccr_event .jnews_header_bottom_ads,
body.single-ccr_event .jeg_ad.jeg_ad_top {
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
}

body.single-ccr_event .jeg_main {
    padding-top:28px !important;
    margin-top:0 !important;
}

/* v2.2: measured JNews spacer adjustment for individual result pages only. */
body.single-ccr_event .ccr-single {
    margin-top:-120px !important;
}

@media(max-width:650px){
    body.single-ccr_event .ccr-single {
        margin-top:-80px !important;
    }
}

/* v2.3: match the event-title typography used by CXHUB Events. */
.ccr-event-main h3 {
    margin:0 0 2px !important;
    color:#111318 !important;
    font-family:inherit !important;
    font-size:17px !important;
    line-height:1.16 !important;
    font-weight:900 !important;
    letter-spacing:-.025em !important;
}

.ccr-event-title {
    color:#111318 !important;
    font-family:inherit !important;
    line-height:1.16 !important;
    font-weight:900 !important;
    letter-spacing:-.025em !important;
}

/* v2.4: match the black date boxes used by CXHUB Events. */
.ccr-event-card {
    grid-template-columns:72px minmax(0,1fr) auto;
    gap:13px;
    padding:10px 13px;
}

.ccr-event-date {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:62px;
    padding:0;
    border:0;
    border-radius:8px;
    background:#111318;
    color:#fff;
    text-transform:uppercase;
}

.ccr-event-day {
    font-size:26px;
    line-height:.95;
    font-weight:900;
    letter-spacing:-.04em;
}

.ccr-event-month {
    margin-top:5px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
}

.ccr-event-year {
    margin-top:3px;
    font-size:8px;
    font-weight:700;
    letter-spacing:.1em;
    color:inherit;
    opacity:.65;
}

@media(max-width:650px){
    .ccr-event-card {
        grid-template-columns:60px minmax(0,1fr);
        gap:10px;
        padding:9px 10px;
    }

    .ccr-event-date {
        min-height:62px;
        padding:0;
    }

    .ccr-event-day {
        font-size:23px;
    }
}

/* v2.4: optically centre and evenly space date-box text. */
.ccr-event-date {
    box-sizing:border-box;
    gap:3px;
    padding:4px;
    text-align:center;
}

.ccr-event-day,
.ccr-event-month,
.ccr-event-year {
    display:block;
    width:100%;
    margin-top:0;
    line-height:1;
    text-align:center;
}

.ccr-event-month { text-indent:.14em; }
.ccr-event-year { text-indent:.1em; }

@media(max-width:650px){
    .ccr-event-date { padding:4px; }
}

/* v2.5: compact three-line card structure. */
.ccr-event-card {
    margin-bottom:8px;
    border-color:#e7e9ed;
    border-radius:12px;
    box-shadow:0 5px 18px rgba(17,19,24,.055);
}

.ccr-event-topline {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:4px;
    line-height:1;
}

.ccr-event-type,
.ccr-event-meta {
    font-size:9px;
    line-height:1;
}

.ccr-event-meta {
    margin:0;
    color:#8a9198;
    font-weight:700;
}

.ccr-event-venue {
    margin-top:4px;
    font-size:12px;
    line-height:1.2;
    font-weight:600;
}

/* v2.6-v2.8: match the listing page's header gap to the CXHUB home page. */
body.ccr-results-listing-page .jeg_main {
    margin-top:0 !important;
    padding-top:0 !important;
}

body.ccr-results-listing-page .jeg_content {
    margin-top:0 !important;
    padding-top:10px !important;
}

.jeg_main:has(.ccr-wrap--archive) {
    margin-top:-35px !important;
    padding-top:0 !important;
}

.jeg_content:has(.ccr-wrap--archive) {
    margin-top:0 !important;
    padding-top:10px !important;
}

/* v2.11: decorative red left-edge stripe. */
.ccr-event-card {
    position:relative;
    overflow:hidden;
}

.ccr-event-card::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#e31b23;
}

/* v2.12: bold month-and-year headings. */
.ccr-month-heading {
    font-weight:900 !important;
}

/* v2.15: compact flag after recognised country codes in legacy tables. */
.ccr-country-flag {
    display:inline-block;
    margin-left:4px;
    font-size:1.1em;
    line-height:1;
    vertical-align:-.08em;
}

/* v2.16: tighten the space between category buttons and the table. */
.ccr-race-switcher {
    margin-bottom:5px;
}

/* v2.17: keep optional finish times together on one line. */
.ccr-public-table .ccr-time-column {
    white-space:nowrap;
}

/* v2.18: fit multi-day date ranges inside the archive date box. */
.ccr-event-date--range .ccr-event-day {
    font-size:18px;
    letter-spacing:-.06em;
}

.ccr-event-date--range .ccr-event-month {
    font-size:8px;
    letter-spacing:.06em;
}

.ccr-event-date--range .ccr-event-year {
    font-size:7px;
    letter-spacing:.04em;
}

/* v2.19: red action button used on CXHUB Events listings. */
.ccr-event-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:end;
    white-space:nowrap;
    background:#e31b23;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    padding:9px 11px;
    border-radius:5px;
    transition:filter .18s ease,transform .18s ease;
}

.ccr-event-action span {
    color:#fff;
    font-size:inherit;
    margin-left:3px;
}

.ccr-event-card:hover .ccr-event-action {
    filter:brightness(.92);
    transform:translateX(1px);
}

@media(max-width:650px) {
    .ccr-event-action {
        grid-column:1/-1;
        justify-self:stretch;
        width:100%;
        box-sizing:border-box;
        margin-top:0;
    }
}

/* v2.20: TablePress replaces the legacy result table once assigned. */
.ccr-tablepress-wrap {
    width:100%;
    overflow-x:auto;
}

.ccr-tablepress-wrap .tablepress,
.ccr-tablepress-wrap .dt-container {
    width:100%;
    margin-top:0;
}

.ccr-tablepress-wrap .tablepress {
    font-family:inherit;
}
