/*
 * NC Olympia FIP — frontend 1.3
 * Regola principale: tutto ciò che sta su superficie bianca è blu Olympia;
 * titoli/metadata appoggiati direttamente sullo sfondo del tema restano chiari.
 * Le regole importanti servono a neutralizzare CSS aggressivi di tema/Elementor.
 */
.ncof-wrap{
    --ncof-accent:#ff7200;
    --ncof-text:#233262;
    --ncof-on-dark:#ffffff;
    --ncof-surface:#ffffff;
    --ncof-soft:#f5f7fb;
    --ncof-border:#dce2ee;
    --ncof-muted:#617096;
    --ncof-shadow:0 8px 24px rgba(10,27,70,.08);
    width:100%;
    color:var(--ncof-text) !important;
    font-family:inherit !important;
    box-sizing:border-box;
    isolation:isolate;
}
.ncof-wrap *,
.ncof-wrap *::before,
.ncof-wrap *::after{box-sizing:border-box}

/* Reset mirato contro colori/typography del tema */
.ncof-wrap p,
.ncof-wrap span,
.ncof-wrap small,
.ncof-wrap strong,
.ncof-wrap b,
.ncof-wrap td,
.ncof-wrap th,
.ncof-wrap button,
.ncof-wrap a{
    font-family:inherit !important;
}

/* ---------------- Prossima partita ---------------- */
.ncof-next{
    position:relative;
    overflow:hidden;
    border:1px solid var(--ncof-border) !important;
    border-radius:20px;
    padding:24px;
    background:var(--ncof-surface) !important;
    color:var(--ncof-text) !important;
    box-shadow:var(--ncof-shadow);
    margin-bottom:18px;
}
.ncof-next::before{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;
    width:4px;
    background:var(--ncof-accent);
}
.ncof-next-top,.ncof-next-main,.ncof-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.ncof-eyebrow{
    display:block;
    color:var(--ncof-accent) !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:1.7px !important;
    text-transform:uppercase;
}
.ncof-badge,.ncof-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    border:1px solid #cbd4e5 !important;
    background:#fff !important;
    color:var(--ncof-text) !important;
    border-radius:999px;
    padding:7px 12px;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.45px !important;
    text-transform:uppercase;
    white-space:nowrap;
    opacity:1 !important;
    text-shadow:none !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
}
.ncof-next-main{margin-top:18px}
.ncof-next-date{min-width:210px;color:var(--ncof-text) !important}
.ncof-next-date strong{
    display:block !important;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    font-size:19px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    opacity:1 !important;
}
.ncof-next-date span{
    display:block !important;
    margin-top:6px;
    font-size:13px !important;
    line-height:1.25 !important;
    color:var(--ncof-muted) !important;
    -webkit-text-fill-color:var(--ncof-muted) !important;
    opacity:1 !important;
}
.ncof-next-match{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:18px;
    flex:1;
    color:var(--ncof-text) !important;
    font-size:19px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    text-align:center;
}
.ncof-next-match>span{
    display:block !important;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:800 !important;
    opacity:1 !important;
    text-shadow:none !important;
}
.ncof-vs{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    min-height:38px;
    color:var(--ncof-accent) !important;
    -webkit-text-fill-color:var(--ncof-accent) !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:800 !important;
    border:1px solid var(--ncof-accent) !important;
    border-radius:999px;
    padding:7px;
    background:#fff7f0 !important;
}
.ncof-venue{
    margin-top:18px;
    font-size:12px !important;
    line-height:1.4 !important;
    color:var(--ncof-muted) !important;
    -webkit-text-fill-color:var(--ncof-muted) !important;
    opacity:1 !important;
}
.ncof-ticket{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    background:var(--ncof-accent) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-decoration:none !important;
    border:2px solid var(--ncof-accent) !important;
    border-radius:12px;
    padding:11px 18px;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    text-transform:uppercase;
    transition:.2s ease;
}
.ncof-ticket:hover{
    background:#fff !important;
    color:var(--ncof-accent) !important;
    -webkit-text-fill-color:var(--ncof-accent) !important;
    transform:translateY(-1px)
}

/* ---------------- Tabs ---------------- */
.ncof-tabs{
    display:flex;
    gap:6px;
    margin:14px 0 20px;
    padding:5px;
    border:1px solid var(--ncof-border) !important;
    background:#fff !important;
    border-radius:14px;
    width:max-content;
    max-width:100%;
    box-shadow:0 4px 14px rgba(10,27,70,.05);
}
.ncof-tab{
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    background:transparent !important;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    padding:11px 18px !important;
    border-radius:10px !important;
    font-family:inherit !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:800 !important;
    cursor:pointer;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:none !important;
    transition:.2s ease;
}
.ncof-tab:hover{background:var(--ncof-soft) !important;color:var(--ncof-text) !important}
.ncof-tab.is-active{
    background:var(--ncof-accent) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}
.ncof-panel{display:none}.ncof-panel.is-active{display:block}

/* ---------------- Testata sezione: appoggia sul blu del tema ---------------- */
.ncof-section-head{margin:14px 0 16px}
.ncof-section-head>div{min-width:0}
.ncof-section-head h3{
    display:block !important;
    margin:5px 0 0 !important;
    color:var(--ncof-on-dark) !important;
    -webkit-text-fill-color:var(--ncof-on-dark) !important;
    font-family:inherit !important;
    font-size:25px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    opacity:1 !important;
    text-shadow:none !important;
}
.ncof-section-head .ncof-eyebrow{
    color:var(--ncof-accent) !important;
    -webkit-text-fill-color:var(--ncof-accent) !important;
}
.ncof-section-head .ncof-count{
    background:#fff !important;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
}

/* ---------------- Calendario ---------------- */
.ncof-calendar{display:grid;gap:10px}
.ncof-game{
    position:relative;
    display:grid;
    grid-template-columns:120px minmax(0,1.5fr) minmax(180px,.8fr);
    align-items:center;
    gap:18px;
    min-height:92px;
    border:1px solid var(--ncof-border) !important;
    border-radius:16px;
    padding:16px;
    background:var(--ncof-surface) !important;
    color:var(--ncof-text) !important;
    box-shadow:0 5px 16px rgba(10,27,70,.05);
    transition:.2s ease;
}
.ncof-game:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(10,27,70,.08)}
.ncof-game-date{color:var(--ncof-text) !important}
.ncof-game-date span{
    display:block !important;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    opacity:1 !important;
}
.ncof-game-date small{
    display:block !important;
    font-size:12px !important;
    line-height:1.2 !important;
    margin-top:6px;
    color:var(--ncof-muted) !important;
    -webkit-text-fill-color:var(--ncof-muted) !important;
    opacity:1 !important;
}
.ncof-game-teams{display:grid;gap:8px;color:var(--ncof-text) !important}
.ncof-game-teams>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:var(--ncof-text) !important;
}
.ncof-game-teams>div>span{
    display:block !important;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    font-size:14px !important;
    line-height:1.28 !important;
    font-weight:500 !important;
    opacity:1 !important;
    text-shadow:none !important;
}
.ncof-game-teams>div.is-olympia>span,
.ncof-game-teams .is-olympia{
    color:var(--ncof-accent) !important;
    -webkit-text-fill-color:var(--ncof-accent) !important;
    font-weight:800 !important;
}
.ncof-game-teams strong{
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    font-size:17px !important;
    line-height:1 !important;
    font-weight:800 !important;
}
.ncof-game-teams .is-olympia strong{
    color:var(--ncof-accent) !important;
    -webkit-text-fill-color:var(--ncof-accent) !important;
}
.ncof-game-meta{
    text-align:right;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    color:var(--ncof-text) !important;
}
.ncof-game-meta small{
    display:block !important;
    font-size:11px !important;
    line-height:1.38 !important;
    color:var(--ncof-muted) !important;
    -webkit-text-fill-color:var(--ncof-muted) !important;
    opacity:1 !important;
    max-width:320px;
}

/* ---------------- Classifica ---------------- */
.ncof-table-wrap{
    width:100%;
    overflow-x:auto;
    border:1px solid var(--ncof-border) !important;
    border-radius:16px;
    background:var(--ncof-surface) !important;
    box-shadow:0 6px 18px rgba(10,27,70,.05);
}
.ncof-table{
    width:100%;
    border-collapse:collapse;
    min-width:680px;
    background:#fff !important;
    color:var(--ncof-text) !important;
}
.ncof-table th,.ncof-table td{
    padding:12px 13px !important;
    border-bottom:1px solid #e8ecf4 !important;
    background:transparent;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    font-family:inherit !important;
    font-size:13px !important;
    line-height:1.25 !important;
    text-align:center;
    opacity:1 !important;
    text-shadow:none !important;
}
.ncof-table th{
    background:#f6f8fc !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-transform:uppercase;
    letter-spacing:.7px !important;
    color:#68759a !important;
    -webkit-text-fill-color:#68759a !important;
}
.ncof-table th:nth-child(2),.ncof-table td:nth-child(2){text-align:left}
.ncof-table tbody tr:last-child td{border-bottom:0 !important}
.ncof-table tbody tr:not(.is-olympia):hover{background:#fafbfe !important}
.ncof-table tr.is-olympia{background:#fff3e9 !important}
.ncof-table tr.is-olympia td{font-weight:700 !important}
.ncof-table tr.is-olympia td:nth-child(2),
.ncof-table tr.is-olympia td:nth-child(2) strong,
.ncof-table tr.is-olympia td:nth-child(3),
.ncof-table tr.is-olympia td:nth-child(3) b{
    color:var(--ncof-accent) !important;
    -webkit-text-fill-color:var(--ncof-accent) !important;
}
.ncof-table td strong,.ncof-table td b{
    color:inherit !important;
    -webkit-text-fill-color:currentColor !important;
    font-weight:800 !important;
}

/* Footer fonte: è fuori dalle card, quindi deve essere leggibile sul blu */
.ncof-source{
    margin-top:12px;
    font-size:10px !important;
    line-height:1.3 !important;
    color:#d3d9ea !important;
    -webkit-text-fill-color:#d3d9ea !important;
    opacity:1 !important;
    text-align:right;
}
.ncof-source a{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-decoration:underline !important;
    text-underline-offset:2px;
}
.ncof-empty,.ncof-error{
    padding:18px;
    border:1px solid var(--ncof-border) !important;
    border-radius:14px;
    color:var(--ncof-text) !important;
    -webkit-text-fill-color:var(--ncof-text) !important;
    background:#fff !important;
    box-shadow:0 5px 16px rgba(10,27,70,.04);
}

@media(max-width:767px){
    .ncof-next{padding:18px;border-radius:16px}
    .ncof-next-top{align-items:flex-start}
    .ncof-next-main{align-items:flex-start;flex-direction:column;gap:16px}
    .ncof-next-date{min-width:0}
    .ncof-next-date strong{font-size:17px !important}
    .ncof-next-match{width:100%;grid-template-columns:1fr auto 1fr;gap:9px;font-size:14px !important}
    .ncof-next-match span:first-child{text-align:right}
    .ncof-next-match span:last-child{text-align:left}
    .ncof-ticket{width:100%;justify-content:center}
    .ncof-tabs{width:100%}
    .ncof-tab{flex:1;padding:11px 12px !important}
    .ncof-section-head{align-items:flex-end}
    .ncof-section-head h3{font-size:21px !important}
    .ncof-game{grid-template-columns:1fr;gap:12px;padding:15px;min-height:0}
    .ncof-game-date{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .ncof-game-date small{margin-top:0}
    .ncof-game-meta{align-items:flex-start;text-align:left}
    .ncof-game-meta small{max-width:none}
    .ncof-table-wrap{overflow:visible;border:0 !important;background:transparent !important;box-shadow:none}
    .ncof-table{min-width:0;background:transparent !important}
    .ncof-table thead{display:none}
    .ncof-table,.ncof-table tbody,.ncof-table tr,.ncof-table td{display:block;width:100%}
    .ncof-table tr{
        position:relative;
        margin-bottom:8px;
        padding:11px 12px 11px 58px;
        border:1px solid var(--ncof-border) !important;
        border-radius:14px;
        background:#fff !important;
        box-shadow:0 5px 16px rgba(10,27,70,.05);
    }
    .ncof-table tr.is-olympia{background:#fff3e9 !important;border-color:#ffd5b7 !important}
    .ncof-table td{border:0 !important;padding:3px 0 !important;text-align:left !important;background:transparent !important}
    .ncof-table td:first-child{
        position:absolute;left:14px;top:50%;transform:translateY(-50%);
        font-size:20px !important;font-weight:900 !important;
        color:var(--ncof-accent) !important;-webkit-text-fill-color:var(--ncof-accent) !important;width:auto
    }
    .ncof-table td:nth-child(2){font-size:13px !important;margin-bottom:3px}
    .ncof-table td:nth-child(n+3){display:inline-block;width:auto;margin-right:10px;font-size:11px !important;color:#42517b !important;-webkit-text-fill-color:#42517b !important}
    .ncof-table td:nth-child(n+3)::before{content:attr(data-label) " ";font-weight:700;color:#7480a1 !important;-webkit-text-fill-color:#7480a1 !important}
    .ncof-source{text-align:left}
    .ncof-count{font-size:10px !important;min-height:34px}
}


/* ================================================================
 * 1.3 — layout più sottile, centrato ed elegante
 * ================================================================ */
.ncof-next{
    padding:16px 22px 14px;
    border-radius:18px;
    text-align:center;
}
.ncof-next-top{
    position:relative;
    justify-content:center;
    min-height:30px;
}
.ncof-next-top .ncof-eyebrow{
    width:100%;
    text-align:center;
}
.ncof-next-top .ncof-badge{
    position:absolute;
    top:0;
    right:0;
}
.ncof-eyebrow{
    font-size:10.5px !important;
    line-height:1.2 !important;
    letter-spacing:1.45px !important;
}
.ncof-badge,.ncof-count{
    min-height:30px;
    padding:6px 10px;
    font-size:10px !important;
    letter-spacing:.35px !important;
}
.ncof-next-main{
    margin-top:8px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
}
.ncof-next-date{
    min-width:0;
    display:flex;
    align-items:baseline;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    text-align:center;
}
.ncof-next-date strong{
    font-size:15.5px !important;
    line-height:1.15 !important;
    font-weight:750 !important;
}
.ncof-next-date span{
    margin-top:0;
    font-size:11.5px !important;
    line-height:1.2 !important;
}
.ncof-next-match{
    width:min(760px,100%);
    gap:14px;
    font-size:16px !important;
    line-height:1.18 !important;
    font-weight:750 !important;
}
.ncof-next-match>span{
    min-width:0;
    font-weight:750 !important;
    text-align:center !important;
    overflow-wrap:anywhere;
}
.ncof-vs{
    min-width:32px;
    min-height:32px;
    padding:6px;
    font-size:10px !important;
}
.ncof-venue{
    margin-top:9px;
    text-align:center;
    font-size:10.5px !important;
    line-height:1.35 !important;
}
.ncof-ticket{
    margin-top:11px;
    padding:9px 16px;
    font-size:11.5px !important;
    border-radius:10px;
}

/* Tipografia generale leggermente più raffinata/compatta */
.ncof-tabs{margin:12px 0 17px;padding:4px}
.ncof-tab{padding:9px 15px !important;font-size:12px !important}
.ncof-section-head{margin:12px 0 14px}
.ncof-section-head h3{font-size:22px !important;line-height:1.12 !important;font-weight:750 !important}
.ncof-calendar{gap:9px}
.ncof-game{
    grid-template-columns:112px minmax(0,1.5fr) minmax(180px,.8fr);
    gap:15px;
    min-height:82px;
    padding:13px 15px;
}
.ncof-game-date span{font-size:12px !important}
.ncof-game-date small{font-size:11px !important;margin-top:5px}
.ncof-game-teams{gap:6px}
.ncof-game-teams>div>span{font-size:13px !important;line-height:1.24 !important}
.ncof-game-teams strong{font-size:16px !important}
.ncof-game-meta{gap:6px}
.ncof-game-meta small{font-size:10.5px !important;line-height:1.32 !important}
.ncof-table th,.ncof-table td{padding:10px 12px !important;font-size:12px !important}
.ncof-table th{font-size:10.5px !important}
.ncof-source{font-size:9.5px !important}

@media(max-width:767px){
    .ncof-next{
        padding:14px 14px 13px;
        border-radius:16px;
    }
    .ncof-next-top{
        min-height:28px;
        align-items:center;
        justify-content:center;
    }
    .ncof-next-main{
        margin-top:7px;
        align-items:center;
        gap:9px;
    }
    .ncof-next-date{
        width:100%;
        justify-content:center;
        gap:6px;
    }
    .ncof-next-date strong{font-size:14px !important}
    .ncof-next-date span{font-size:11px !important}
    .ncof-next-match{
        width:100%;
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
        gap:7px;
        font-size:13px !important;
    }
    .ncof-next-match span:first-child,
    .ncof-next-match span:last-child{
        text-align:center !important;
    }
    .ncof-vs{min-width:30px;min-height:30px;font-size:9.5px !important}
    .ncof-venue{margin-top:8px;font-size:10px !important}
    .ncof-ticket{width:auto;min-width:190px;margin-left:auto;margin-right:auto;padding:9px 14px}
    .ncof-section-head h3{font-size:19px !important}
    .ncof-game{gap:10px;padding:13px 14px}
    .ncof-game-date span{font-size:12px !important}
    .ncof-game-teams>div>span{font-size:12.5px !important}
}

@media(max-width:480px){
    .ncof-next-top{
        display:flex;
        flex-wrap:wrap;
        gap:7px 10px;
    }
    .ncof-next-top .ncof-eyebrow{width:auto}
    .ncof-next-top .ncof-badge{
        position:static;
    }
    .ncof-next-match{font-size:12px !important;gap:5px}
    .ncof-vs{min-width:28px;min-height:28px;padding:5px}
    .ncof-venue{font-size:9.8px !important}
}

/* ================================================================
 * 1.4 — mobile calendario/classifica compatti e senza sovrapposizioni
 * ================================================================ */
@media(max-width:767px){
    /* Testate più compatte su mobile */
    .ncof-section-head{
        gap:10px;
        margin:10px 0 12px;
    }
    .ncof-section-head h3{
        font-size:18px !important;
        line-height:1.1 !important;
    }
    .ncof-section-head .ncof-eyebrow{
        font-size:9.5px !important;
        letter-spacing:1.2px !important;
    }
    .ncof-count{
        min-height:28px;
        padding:5px 9px;
        font-size:9px !important;
    }

    /* Calendario: 3 aree reali (data / squadre / badge) + sede sotto.
       In questo modo nessun testo si sovrappone anche a 320px. */
    .ncof-calendar{
        gap:8px;
    }
    .ncof-game{
        display:grid !important;
        grid-template-columns:62px minmax(0,1fr) auto !important;
        grid-template-areas:
            "date teams badge"
            "date venue venue";
        column-gap:10px !important;
        row-gap:7px !important;
        align-items:center !important;
        min-height:0 !important;
        padding:11px 12px !important;
        border-radius:14px !important;
    }
    .ncof-game-date{
        grid-area:date;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:center !important;
        align-self:stretch;
        gap:4px !important;
        min-width:0;
        padding-right:8px;
        border-right:1px solid #e4e9f2;
    }
    .ncof-game-date span{
        font-size:11.5px !important;
        line-height:1.08 !important;
        font-weight:800 !important;
        overflow-wrap:anywhere;
    }
    .ncof-game-date small{
        margin:0 !important;
        font-size:9.5px !important;
        line-height:1 !important;
    }
    .ncof-game-teams{
        grid-area:teams;
        display:grid !important;
        gap:4px !important;
        min-width:0;
        align-self:center;
    }
    .ncof-game-teams>div{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center !important;
        gap:6px !important;
        min-width:0;
    }
    .ncof-game-teams>div>span{
        min-width:0;
        font-size:11.5px !important;
        line-height:1.16 !important;
        overflow-wrap:anywhere;
        word-break:normal;
    }
    .ncof-game-teams strong{
        font-size:13px !important;
        line-height:1 !important;
    }
    .ncof-game-meta{
        display:contents !important;
    }
    .ncof-game-meta .ncof-badge{
        grid-area:badge;
        justify-self:end;
        align-self:start;
        min-height:26px;
        padding:5px 8px;
        font-size:8.5px !important;
        letter-spacing:.25px !important;
    }
    .ncof-game-meta small{
        grid-area:venue;
        display:block !important;
        justify-self:start;
        align-self:start;
        max-width:none !important;
        margin:0 !important;
        text-align:left !important;
        font-size:9px !important;
        line-height:1.24 !important;
        overflow-wrap:anywhere;
    }

    /* Classifica: una card bassa per squadra.
       Riga 1 = posizione + squadra; riga 2 = statistiche compatte con separatori. */
    .ncof-table-wrap{
        overflow:visible !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }
    .ncof-table,
    .ncof-table tbody{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        background:transparent !important;
    }
    .ncof-table thead{
        display:none !important;
    }
    .ncof-table tr{
        display:grid !important;
        grid-template-columns:34px repeat(6,minmax(0,1fr));
        grid-template-rows:auto auto;
        align-items:center;
        column-gap:0;
        row-gap:7px;
        width:100% !important;
        min-height:0 !important;
        margin:0 0 7px !important;
        padding:9px 10px !important;
        border:1px solid var(--ncof-border) !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:0 4px 12px rgba(10,27,70,.045) !important;
    }
    .ncof-table tr.is-olympia{
        background:#fff3e9 !important;
        border-color:#ffd5b7 !important;
    }
    .ncof-table td{
        display:block !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        text-align:center !important;
        line-height:1.1 !important;
    }
    .ncof-table td:first-child{
        position:static !important;
        transform:none !important;
        grid-column:1;
        grid-row:1 / 3;
        align-self:stretch;
        display:flex !important;
        align-items:center;
        justify-content:flex-start;
        width:auto !important;
        padding-right:8px !important;
        border-right:1px solid #e1e6ef !important;
        color:var(--ncof-accent) !important;
        -webkit-text-fill-color:var(--ncof-accent) !important;
        font-size:17px !important;
        line-height:1 !important;
        font-weight:850 !important;
    }
    .ncof-table td:nth-child(2){
        grid-column:2 / 8;
        grid-row:1;
        padding-left:8px !important;
        text-align:left !important;
        font-size:11.5px !important;
        line-height:1.18 !important;
        font-weight:750 !important;
        overflow-wrap:anywhere;
    }
    .ncof-table td:nth-child(n+3){
        display:flex !important;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:2px;
        min-height:24px;
        font-size:10px !important;
        line-height:1 !important;
        color:#334572 !important;
        -webkit-text-fill-color:#334572 !important;
    }
    .ncof-table td:nth-child(3){grid-column:2;grid-row:2;padding-left:8px !important}
    .ncof-table td:nth-child(4){grid-column:3;grid-row:2}
    .ncof-table td:nth-child(5){grid-column:4;grid-row:2}
    .ncof-table td:nth-child(6){grid-column:5;grid-row:2}
    .ncof-table td:nth-child(7){grid-column:6;grid-row:2}
    .ncof-table td:nth-child(8){grid-column:7;grid-row:2}
    .ncof-table td:nth-child(n+4){
        border-left:1px solid #dfe5ef !important;
    }
    .ncof-table td:nth-child(n+3)::before{
        content:attr(data-label);
        display:block;
        margin:0;
        font-size:7.5px !important;
        line-height:1 !important;
        font-weight:800 !important;
        letter-spacing:.2px;
        color:#8490ad !important;
        -webkit-text-fill-color:#8490ad !important;
        text-transform:uppercase;
    }
    .ncof-table tr.is-olympia td:first-child,
    .ncof-table tr.is-olympia td:nth-child(2),
    .ncof-table tr.is-olympia td:nth-child(2) strong,
    .ncof-table tr.is-olympia td:nth-child(3),
    .ncof-table tr.is-olympia td:nth-child(3) b{
        color:var(--ncof-accent) !important;
        -webkit-text-fill-color:var(--ncof-accent) !important;
    }
}

@media(max-width:380px){
    .ncof-game{
        grid-template-columns:56px minmax(0,1fr) auto !important;
        column-gap:8px !important;
        padding:10px !important;
    }
    .ncof-game-date{padding-right:6px}
    .ncof-game-date span{font-size:10.8px !important}
    .ncof-game-teams>div>span{font-size:10.8px !important}
    .ncof-game-meta .ncof-badge{padding:5px 7px;font-size:8px !important}
    .ncof-game-meta small{font-size:8.5px !important}

    .ncof-table tr{
        grid-template-columns:31px repeat(6,minmax(0,1fr));
        padding:8px !important;
    }
    .ncof-table td:first-child{font-size:16px !important;padding-right:6px !important}
    .ncof-table td:nth-child(2){padding-left:6px !important;font-size:10.8px !important}
    .ncof-table td:nth-child(3){padding-left:6px !important}
    .ncof-table td:nth-child(n+3){font-size:9.5px !important}
    .ncof-table td:nth-child(n+3)::before{font-size:7px !important}
}
