/* ══════════════════════════════════════════
IDMCC Event Plugin — Frontend Styles
Author: Jay Miralles | Version: 1.2.1
══════════════════════════════════════════ */
:root {
    --pos1-color: #053245;
    --pos2-color: #062f4b;
    --pos3-color: #172556;
    --pos-color: #000000;
}

/* ── Frontend Calendar Wrapper ── */
.idmcc-fe-wrap {
    max-width: 100%;
    font-family: inherit;
}

/* ── Nav ── */
.idmcc-fe-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #1e3a5f;
    border-radius: 8px 8px 0 0;
    padding: 10px 20px;
    color: #fff;
}

.idmcc-fe-nav a {
    color: #fff;
    text-decoration: none;
    font-size: 2em;
    line-height: 1;
    padding: 0 10px;
    border-radius: 4px;
    transition: background .2s;
}

.idmcc-fe-nav a:hover {
    background: rgba(255, 255, 255, .2);
}

.idmcc-fe-nav h2 {
    margin: 0;
    font-size: 1.2em;
    color: #fff;
}

/* ── Table ── */
.idmcc-fe-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-top: none;
    /* CRITICAL: let tooltip overflow */
    overflow: visible;
}

.idmcc-fe-table thead,
.idmcc-fe-table tbody,
.idmcc-fe-table tr {
    overflow: visible;
}

.idmcc-fe-table th {
    background: #2c5282;
    color: #fff;
    padding: 8px;
    text-align: center;
    font-size: .82em;
    font-weight: 600;
    letter-spacing: .04em;
    width: calc(100% / 7);
}

.idmcc-fe-table td {
    border: 1px solid #e2e8f0;
    vertical-align: top;
    min-height: 80px;
    padding: 4px 5px;
    width: calc(100% / 7);
    /* allow tooltip to escape the cell */
    position: relative;
    overflow: visible;
}

.idmcc-fe-table td.empty {
    background: #fafafa;
}

.idmcc-fe-day-num {
    display: block;
    font-size: .78em;
    font-weight: 700;
    color: #4a5568;
    margin-bottom: 2px;
}

/* ── Event pill ── */
.idmcc-fe-event {
    display: block;
    background: #3182ce;
    color: #fff;
    font-size: .72em;
    border-radius: 4px;
    padding: 3px 6px;
    margin-top: 2px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: filter .15s;
}

.idmcc-fe-event:hover {
    filter: brightness(1.12);
}

/* ── Modal overlay ── */
.idmcc-fe-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    z-index: 99999;
    align-items: center;
    justify-content: center;
}

.idmcc-fe-modal.active {
    display: flex;
}

.idmcc-fe-modal-inner {
    background: #1a202c;
    color: #e2e8f0;
    border-radius: 12px;
    padding: 28px 32px;
    min-width: 300px;
    max-width: 480px;
    width: 90%;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .6);
    animation: idmcc-modal-in .18s ease;
}

@keyframes idmcc-modal-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.idmcc-fe-modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    font-size: 1.6em;
    cursor: pointer;
    color: #a0aec0;
    line-height: 1;
    transition: color .15s;
}

.idmcc-fe-modal-close:hover {
    color: #fc8181;
}

#idmcc-fe-modal-title {
    margin: 0 0 16px;
    font-size: 1.15em;
    font-weight: 700;
    color: #ebf8ff;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    padding-bottom: 12px;
}

/* ── Detail list inside modal ── */
.idmcc-fe-detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.idmcc-fe-detail-item {
    display: flex;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    font-size: 14px;
    line-height: 1.5;
}

.idmcc-fe-detail-item:last-child {
    border-bottom: none;
}

.idmcc-fe-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #90cdf4;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 68px;
    padding-top: 2px;
}

.idmcc-fe-val {
    color: #e2e8f0;
}

.idmcc-fe-val a {
    color: #68d391;
    text-decoration: underline;
}

/* Per-field label colours */
.fe-date .idmcc-fe-label {
    color: #fefcbf;
}

.fe-description .idmcc-fe-label {
    color: #c6f6d5;
}

.fe-club .idmcc-fe-label {
    color: #fed7aa;
}

.fe-venue .idmcc-fe-label {
    color: #e9d8fd;
}

.fe-club-type .idmcc-fe-label {
    color: #fbb6ce;
}

.fe-permit .idmcc-fe-label {
    color: #b2f5ea;
}

.fe-payment .idmcc-fe-val a {
    color: #68d391;
}

/* ── Shared table shortcode ── */
.idmcc-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: .9em;
}

.idmcc-tbl th,
.idmcc-tbl td {
    border: 1px solid #e2e8f0;
    padding: 8px 10px;
    text-align: left;
}

.idmcc-tbl th {
    background: #2c5282;
    color: #fff;
    font-weight: 600;
}

.idmcc-tbl tr:nth-child(even) td {
    background: #f7fafc;
}

/* ── Events list shortcode ── */
.idmcc-events-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.idmcc-events-list li {
    padding: 10px 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: .95em;
    line-height: 1.6;
}

.idmcc-events-list li:last-child {
    border-bottom: none;
}

/* ══════════════════════════════════════════
[idmcc_events_list] shortcode styles
Append to idmcc-frontend.css
══════════════════════════════════════════ */
/* ── Outer container ── */
.idmcc-events-list-container {
    width: 100%;
    font-family: inherit;
    margin-bottom: 24px;
}

/* ── Year filter bar ── */
.idmcc-year-filter {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 14px;
}

.idmcc-year-filter-select {
    cursor: pointer;
    background: #17171A;
    border: 1px solid #1d4ed8;
    border-radius: 4px;
    width: 200px;
    height: 40px;

    position: absolute;
    left: 0;
}

.idmcc-year-filter-select:hover {
    background: #17171A99;
}

.idmcc-year-filter-select-option {
    background: #17171A;
    border: 1px solid #1d4ed8;
    border-radius: 4px;

    padding: 10px 5px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 3px;

    position: absolute;
    left: 0;
    top: 60px;
    opacity: 0;

    display: none;

    transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
}

.idmcc-year-filter-select-option-active {
    top: 45px;
    opacity: 1;
    display: flex;
}

.idmcc-year-filter-select-option>button {
    width: 100%;

    background: #fff;
    border: 1px solid #1d4ed8;
    border-radius: 4px;
}

.idmcc-year-filter-select-option>button.active {
    background: #1d4ed8;
}

.idmcc-year-filter-select-text {
    position: absolute;
    left: 0;
    top: 0;
    width: 200px;
    height: 100%;

    color: #fff;

    display: flex;
    align-items: center;

    padding: 0 10px;
}

.idmcc-year-filter-select-icon {
    cursor: pointer;
    position: absolute;
    right: 5px;
    top: 4px;

    color: #fff;
    font-size: 16px;
    background: #1d4ed8;
    border: 1px solid #1d4ed8;
    border-radius: 6px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    pointer-events: none;
}

.idmcc-year-filter-select-icon:before {
    transition: transform .3s ease-in-out;
}

.idmcc-year-filter-select-icon-active:before {
    transform: rotate(180deg);
}

.idmcc-year-btn {
    display: inline-block;
    padding: 5px 16px;
    border: 2px solid #2c5282;
    border-radius: 20px;
    background: transparent;
    color: #2c5282 !important;
    font-size: 0.85em;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    line-height: 1.4;
    cursor: pointer;
    font-family: inherit;
}

.idmcc-year-btn:hover {
    background: #ebf4ff;
    color: #1e3a5f !important;
}

.idmcc-year-btn.active {
    background: #2c5282;
    color: #fff !important;
    pointer-events: none;
}

/* ── Scroll wrapper (enables horizontal scroll on small screens) ── */
.idmcc-events-list-wrap {
    width: 100%;
    overflow-x: auto;
    background: #353e6599;
    border-radius: 8px;
    border: 1px solid #fff;
    margin-bottom: 16px;
    transition: opacity 0.2s ease;
    padding: 3px;

    z-index: 0;
}

.idmcc-cal-events-table {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.idmcc-cal-events-head,
.idmcc-cal-events-body,
.idmcc-cal-events-row {
    display: contents;
}

.idmcc-cal-events-head {
    background: #1d4ed7;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}

.idmcc-cal-events-body {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.idmcc-cal-events-row {
    display: flex;
    background: #0f172a;
}

.idmcc-cal-events-row:last-child {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.idmcc-cal-events-row.is-past {
    background: #0f172a99;
}

/* ── Every cell (head + body) ── */
.idmcc-cal-events-head>div,
.idmcc-cal-events-row>div {
    padding: 10px 14px;
    border-right: 1px solid #f5f5f530;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
    min-width: 0;
    flex: 1;
}

/* Remove right border on last column */
.idmcc-cal-events-head>div:last-child,
.idmcc-cal-events-row>div:last-child {
    border-right: none;
}

/* ── Header cells ── */
.idmcc-cal-events-head>div {
    color: #fff;
    font-size: 0.76em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* ── Body cells ── */
.idmcc-cal-events-row>div {
    font-size: 0.88em;
    color: #fff;
    line-height: 1.5;

    transition: background 0.12s;
}


/* Hover — highlight all cells of the hovered row */
.idmcc-cal-events-row:hover>div {
    background: #1d4ed799;
}

/* ── Past events — subtle fade ── */
.idmcc-cal-events-row.is-past>div {
    color: #ffffff99;
}


/* ── Today's event — accent highlight ── */
/* .idmcc-cal-events-row.is-today>div {
  background: #ebfdf4 !important;
} */

.idmcc-cal-events-row.is-today>div:first-child {
    color: #276749;
    font-weight: 700;
}

/* Date column — always bold + dark */
.idmcc-cal-events-row:not(.is-past)>div:first-child {
    font-weight: 600;
    color: #fff;
}

/* Description badge — coloured background from event_description option */
.idmcc-desc-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 0.82em;
    font-weight: 600;
    line-height: 1.6;
    white-space: nowrap;
    letter-spacing: 0.01em;
}

/* Empty / dash placeholders */
.idmcc-empty-cell {
    color: #cbd5e0;
}

/* Pay Now link */
.idmcc-pay-btn {
    display: inline-block;
    background: #1d4ed7;
    color: #fff !important;
    font-size: 0.8em;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 4px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s;
}

.idmcc-pay-btn:hover {
    background: #171719;
    color: #fff !important;
}


/* ── No events message ── */
.idmcc-no-events {
    padding: 24px;
    text-align: center;
    color: #718096;
    font-size: 0.95em;
}

/* ══════════════════════════════════════════
PAGINATION
══════════════════════════════════════════ */
.idmcc-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 20px;
}

/* Prev / Next */
.idmcc-page-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #17171A;
    color: #fff !important;
    border: 1px solid #1d4ed7;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.85em;
    font-weight: 600;
    transition: background 0.15s;
    line-height: 1.4;
    cursor: pointer;
    font-family: inherit;
}

.idmcc-page-btn:hover:not(.disabled) {
    background: #1d398d;
    color: #fff !important;
}

.idmcc-page-btn.disabled {
    background: #ddd;
    color: #1d4ed7 !important;
    cursor: not-allowed;
    pointer-events: none;
}

/* Numbered page buttons */
.idmcc-page-numbers {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.idmcc-page-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 6px;
    border-radius: 5px;
    font-size: 0.85em;
    font-weight: 600;
    text-decoration: none;
    color: #fff !important;
    background: #17171A;
    border: 1px solid #1d4ed7;
    transition: background 0.15s, border-color 0.15s;
    cursor: pointer;
    font-family: inherit;
}

.idmcc-page-num:hover {
    background: #1d398d;
    border-color: #1d398d;
    color: #fff !important;
}

.idmcc-page-num.active {
    background: #1d4ed7;
    border-color: #1d4ed7;
    color: #fff !important;
    pointer-events: none;
}

.idmcc-page-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 32px;
    font-size: 0.85em;
    color: #a0aec0;
    letter-spacing: 1px;
}

/* ══════════════════════════════════════════
RESPONSIVE — stack to labelled card layout ≤ 640 px
display:contents rows cannot be used inside flex,
so we switch the table back to a normal block and
render each row as a card.
══════════════════════════════════════════ */
@media (max-width: 640px) {

    .idmcc-events-list-wrap {
        overflow-x: unset;
        border: none;
        background: transparent;
    }

    /* Switch grid off */
    .idmcc-cal-events-table {
        display: block;
        width: 100%;
        min-width: unset;
    }

    /* Body container becomes block too */
    .idmcc-cal-events-body {
        display: block;
    }

    /* Hide the heading row */
    .idmcc-cal-events-head {
        display: none;
    }

    /* Each data row becomes a card */
    .idmcc-cal-events-row {
        display: flex;
        flex-direction: column;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        margin-bottom: 12px;
        overflow: hidden;
        background: #fff;
    }

    /* Undo display:contents borders */
    .idmcc-cal-events-row>div {
        border-right: none;
        border-bottom: 1px solid #f0f4f8;
        padding: 8px 14px;
        white-space: normal;
        display: flex;
        align-items: baseline;
        gap: 8px;
    }

    .idmcc-cal-events-row>div:last-child {
        border-bottom: none;
    }

    /* Show the column label via data-label */
    .idmcc-cal-events-row>div::before {
        content: attr(data-label) ': ';
        font-weight: 700;
        font-size: 0.76em;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #2c5282;
        white-space: nowrap;
        flex-shrink: 0;
        min-width: 80px;
    }

    /* Zebra & hover don't apply the same way on mobile */
    .idmcc-cal-events-row:nth-child(even)>div {
        background: inherit;
    }

    .idmcc-cal-events-row.is-today {
        border-color: #68d391;
    }

    /* Pagination stacks */
    .idmcc-pagination {
        gap: 8px;
    }
}



















/* ── Rounds outer container ── */
#idmcc-rounds-outer,
[id$="-outer"]>[id$="-content"] {
    transition: opacity 0.2s ease;
}

/* ── Club Type filter buttons ── */
.idmcc-cr-ct-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.idmcc-cr-ct-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 18px;
    border-radius: 20px;
    border: 2px solid var(--ct-bg, #2c5282);
    background: transparent;
    color: var(--ct-bg, #2c5282);
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 1.4;
}

.idmcc-cr-ct-btn:hover {
    background: var(--ct-bg, #2c5282);
    color: var(--ct-fg, #fff);
}

.idmcc-cr-ct-btn.active {
    background: var(--ct-bg, #2c5282);
    color: var(--ct-fg, #fff);
    pointer-events: none;
}

/* ── Club Type sections (hidden until active) ── */
.idmcc-cr-ct-section {
    display: none;
}

.idmcc-cr-ct-section.active {
    display: block;
}

/* ── Round tabs bar ── */
.idmcc-cr-tabs {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 0;
    padding-bottom: 0;
    padding: 0 15px;
}

.idmcc-cr-tab {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 18px 10px;
    border: 1px solid #e2e8f0;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    background: #f7fafc;
    color: #4a5568;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    position: relative;
    bottom: -2px;
    line-height: 1.3;
}

.idmcc-cr-tab:hover {
    background: #ebf4ff;
    color: #2c5282;
}

.idmcc-cr-tab.active {
    background: #fff;
    color: #2b2b2b;
    border-color: var(--ct-bg, #1e3a5f);
    z-index: 1;
}

.idmcc-cr-tab-meta {
    font-size: 0.75em;
    font-weight: 400;
    opacity: 0.8;
    margin-top: 2px;
}

.idmcc-cr-tab.active .idmcc-cr-tab-meta {
    opacity: 0.85;
}

/* ── Round panels (hidden until active) ── */
.idmcc-cr-panel {
    display: none;
}

.idmcc-cr-panel.active {
    display: block;
}

/* ── Event heading inherits club type color ── */
.idmcc-cr-panel .idmcc-rounds-event-heading {
    background: #fff;
    border-radius: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    margin-bottom: 10px;
    padding: 20px;
    
    z-index: 10;
    width: 100%;

    display: flex;
    align-items: center;
    gap: 10px;
}

.idmcc-rounds-event-name,
.idmcc-rounds-event-meta {
    color: #2b2b2b;
    background: #fff;
    border-radius: 4px;
    padding: 5px 15px;
}

.idmcc-rounds-event-meta {}

/* ── Sticky column header (ul/li) ── */
.idmcc-rounds-tbl-head {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    display: flex;
    background: #1547e6;
    border-bottom: 2px solid #155dff;
    border-radius: 6px;
    position: sticky;
    top: 0;
    z-index: 9;
}

.idmcc-rounds-tbl-head .idmcc-rounds-tbl-col {
    color: #fff;
    font-size: 0.76em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

/* ── Scrollable content area inside panel ── */
.idmcc-cr-panel-scroll {
    max-height: 500px;
    overflow-y: auto;
    overflow-x: auto;
}

/* ── ul/li rows ── */
.idmcc-rounds-tbl {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 480px;
}

.idmcc-rounds-tbl-row {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #dddddd25;
    font-size: 0.88em;
    color: #fff;
    transition: background 0.12s;
    background: var(--pos-color);
    padding: 5px 0;
}

.idmcc-rounds-tbl-row:last-child {
    border-bottom: none;
}


/* Column widths — shared between header and rows */
.idmcc-rounds-tbl-head,
.idmcc-rounds-tbl-row {
    display: flex;
    align-items: center;
    min-width: 480px;
}

.idmcc-col-no {
    text-align: center;

    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 60px;
}

.idmcc-col-name {
    flex: 1;
    max-width: 300px;
}

.idmcc-col-route {
    flex: 1;
    max-width: 150px;
}

.idmcc-route-badge {
    border-radius: 3px;
    padding: 3px 15px;
}

.idmcc-col-class {
    flex: 1;
}

.idmcc-col-total {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    max-width: 150px;
}

.idmcc-col-pos {
    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    max-width: 100px;
}

.idmcc-col-pts {
    text-align: right;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 1;
    max-width: 100px;
}

/* Podium highlights */
.idmcc-rounds-tbl-row.idmcc-pos-1 {
    background: var(--pos1-color);
    font-weight: 600;
}

.idmcc-rounds-tbl-row.idmcc-pos-2 {
    background: var(--pos2-color);
    ;
}

.idmcc-rounds-tbl-row.idmcc-pos-3 {
    background: var(--pos3-color);
    ;
}

.idmcc-rounds-tbl-row.idmcc-pos-1 .idmcc-col-pos::after {
    content: ' 🥇';
}

.idmcc-rounds-tbl-row.idmcc-pos-2 .idmcc-col-pos::after {
    content: ' 🥈';
}

.idmcc-rounds-tbl-row.idmcc-pos-3 .idmcc-col-pos::after {
    content: ' 🥉';
}

/* ── First class block after heading, no top gap ── */
.idmcc-cr-panel .idmcc-rounds-class-block:first-child .idmcc-rounds-class-heading {
    border-radius: 0;
}

/* ── Last class block closes with rounded corners ── */
.idmcc-cr-panel .idmcc-rounds-class-block:last-child {
    border-bottom: 1px solid #e2e8f0;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
    margin-bottom: 24px;
}

.idmcc-rounds-table-wrap {
    margin-top: 10px;
    border-radius: 6px;
    overflow: hidden;
}


/* ── Responsive: stack tabs on small screens ── */
@media (max-width: 480px) {
    .idmcc-cr-tab {
        padding: 7px 12px 9px;
        font-size: 0.8em;
    }

    .idmcc-cr-tab-meta {
        display: none;
    }
}

/* ── Club Type colored badge in events table ── */
.idmcc-ct-fe-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 0.82em;
    font-weight: 600;
    line-height: 1.6;
    white-space: nowrap;
    letter-spacing: 0.01em;
}



.btn-animate {
    transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
}

.btn-animate:hover {
    transform: scale(1.05, 1.05);
}

/* ══════════════════════════════════════════
   FINAL TAB & STANDINGS
══════════════════════════════════════════ */

.idmcc-cr-tab-final::before {
    content: '🏆 ';
}

.idmcc-col-rnd-pts {
    flex: 1;
    max-width: 60px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82em;
}

.idmcc-rnd-pts-empty {
    opacity: 0.5;
}

.idmcc-final-tbl-head,
.idmcc-final-row {
    min-width: 560px;
}

.idmcc-rounds-route-heading {
    padding: 4px 16px;
    font-size: 0.82em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.idmcc-final-tbl-head .idmcc-col-name,
.idmcc-final-row .idmcc-col-name{
    padding-left: 20px;
}
/* ── Cancelled round — tab badge ── */
.idmcc-cr-tab-cancelled-badge {
    display: inline-block;
    margin-top: 3px;
    padding: 1px 7px;
    background: #e53e3e;
    color: #fff;
    font-size: 0.7em;
    font-weight: 700;
    border-radius: 3px;
    line-height: 1.6;
    letter-spacing: 0.03em;
}

/* Dim the cancelled tab slightly */
.idmcc-cr-tab-cancelled {
    opacity: 0.75;
}

.idmcc-cr-tab-cancelled.active {
    opacity: 1;
}

/* ── Cancelled round — heading badge ── */
.idmcc-rounds-cancelled-badge {
    padding: 5px 15px;
    background: #e53e3e;
    color: #fff;
    font-weight: 700;
    font-size: 0.85em;
    border-radius: 4px;
    white-space: nowrap;
}

/* ── Cancelled round — panel message ── */
.idmcc-cancelled-msg {
    padding: 20px 24px;
    color: #718096;
    font-style: italic;
    margin: 0;
}