/* KCFC Football Sync v0.4.0: scoped styles for Elementor shortcodes. */
.kcfc-page,.kcfc-widget{--kcfc-bg:#07132c;--kcfc-panel:#08152c;--kcfc-ink:#f8f9ff;--kcfc-muted:#91a0b7;--kcfc-line:#233a60;--kcfc-red:#f0273f;--kcfc-gold:#ffc83d;box-sizing:border-box;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--kcfc-ink)}
.kcfc-page *,.kcfc-widget *{box-sizing:border-box}
.kcfc-page{background:linear-gradient(128deg,#051735,#071b41 52%,#051329);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,28%);gap:18px;padding:20px 10px 46px;border-radius:8px;width:100%;max-width:100%}
.kcfc-main-col,.kcfc-side-col{min-width:0}
.kcfc-main-col>section{margin:0 0 44px}
.kcfc-side-col{display:flex;flex-direction:column;gap:14px}
.kcfc-widget{background:rgba(5,17,38,.96);border:1px solid var(--kcfc-line);border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.12);margin:0;width:100%;max-width:100%}
.kcfc-heading{margin-bottom:17px}
.kcfc-overline{color:var(--kcfc-gold);font-size:10px;font-weight:800;letter-spacing:1.15px;display:block;text-transform:uppercase;margin:0 0 4px}
.kcfc-overline:before{content:"";display:inline-block;width:17px;height:2px;background:var(--kcfc-red);vertical-align:middle;margin-right:8px}
.kcfc-heading h2{font-size:clamp(20px,2vw,29px);line-height:1.18;margin:0;font-weight:850;letter-spacing:-.7px;color:var(--kcfc-ink)}
.kcfc-panel-title{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.3px;padding:17px 18px;border-bottom:1px solid var(--kcfc-line);color:var(--kcfc-ink);display:flex;align-items:center;justify-content:space-between;gap:8px}
.kcfc-panel-title:before{content:"";width:3px;height:17px;background:var(--kcfc-red);border-radius:4px;display:inline-block;flex-shrink:0;margin-right:5px}
.kcfc-panel-title span{color:var(--kcfc-muted);font-weight:650;font-size:10px;letter-spacing:.1px;margin-left:auto}
.kcfc-table-scroll{overflow-x:auto;scrollbar-color:#405c86 #091b37}
.kcfc-match-table,.kcfc-standing-table{border-collapse:collapse;border-spacing:0;width:100%;color:var(--kcfc-ink);background:transparent;margin:0;text-align:left;table-layout:auto}
.kcfc-match-table{min-width:780px}
.kcfc-standing-table{min-width:540px}
.kcfc-match-table th,.kcfc-standing-table th{font-size:9px;font-weight:850;letter-spacing:1px;color:#9bafc9;text-transform:uppercase;background:rgba(3,13,30,.65);padding:13px 10px;white-space:nowrap}
.kcfc-match-table td,.kcfc-standing-table td{font-size:11px;font-weight:550;color:#b3c0d0;border-top:1px solid rgba(41,61,96,.63);padding:15px 10px;vertical-align:middle}
.kcfc-match-table td:first-child{color:#f4f7ff;white-space:nowrap}
.kcfc-match-table td:nth-child(4){max-width:155px}
.kcfc-match-table td:nth-child(7){max-width:165px}
.kcfc-match-table tr:hover td,.kcfc-standing-table tr:hover td{background:rgba(23,48,89,.45)}
.kcfc-match-table tr.kcfc-featured td:first-child,.kcfc-standing-table tr.kcfc-featured td:first-child{border-left:3px solid var(--kcfc-red)}
.kcfc-match-table tr.kcfc-featured td,.kcfc-standing-table tr.kcfc-featured td{background:rgba(12,34,74,.72)}
.kcfc-pair{display:flex;flex-direction:column;gap:2px;text-align:center;min-width:125px}
.kcfc-pair strong{font-size:10px;color:#fff;line-height:1.3;text-transform:uppercase}
.kcfc-pair small{color:var(--kcfc-muted);font-size:9px;font-style:normal;font-weight:700}
.kcfc-pair small em{color:var(--kcfc-gold);font-style:normal}
.kcfc-match-table td.kcfc-time{color:var(--kcfc-gold);font-weight:800}
.kcfc-status{font-size:9px;font-weight:850;letter-spacing:.3px;text-transform:uppercase;border:1px solid #3e5576;border-radius:3px;padding:5px 6px;white-space:nowrap;color:#b6c6dc}
.kcfc-status-scheduled{background:#0d2d58;color:#aed0ff;border-color:#215596}
.kcfc-status-finished{background:#133f34;color:#8be8ba;border-color:#23634b}
.kcfc-status-unverified,.kcfc-status-postponed{background:#382812;color:#ffd28b;border-color:#67502f}
.kcfc-status-cancelled{background:#3e1c2b;color:#ffb0c1;border-color:#804354}
.kcfc-footnote{margin:0;border-top:1px solid var(--kcfc-line);padding:12px 15px;font-size:10px;color:var(--kcfc-muted)}
.kcfc-next-body{text-align:center;padding:24px 14px 23px}
.kcfc-next-competition{font-weight:850;letter-spacing:.6px;text-transform:uppercase;font-size:11px}
.kcfc-next-date{color:#d3deec;font-size:12px;font-weight:650;margin-top:6px;font-variant-numeric:tabular-nums}
.kcfc-versus{display:grid;grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);align-items:center;gap:5px;margin:26px 0 18px}
.kcfc-versus>div{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.kcfc-versus>div span:last-child{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.25px;text-align:center;overflow-wrap:anywhere}
.kcfc-versus>strong{font-size:30px;font-weight:900;color:white;line-height:1}
.kcfc-club-logo{height:44px!important;width:44px!important;object-fit:contain;display:inline-block;flex-shrink:0;background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;vertical-align:middle}
.kcfc-logo-fallback{width:39px;height:39px;border:1px solid #496087;border-radius:50%;background:#172849;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}
.kcfc-next-venue{color:#b5c4dc;text-transform:uppercase;font-size:11px;letter-spacing:.4px}
.kcfc-result-row{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(92px,23%);gap:12px;align-items:center;border-top:1px solid var(--kcfc-line);padding:20px 15px;min-height:88px}
.kcfc-result-row:first-of-type{border-top:0}
.kcfc-result-date strong{font-size:11px;display:block;color:#fff}
.kcfc-result-date small{font-size:9px;color:#89a0be;text-transform:uppercase}
.kcfc-result-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:9px;align-items:center;text-align:center;min-width:0}
.kcfc-result-teams>span{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;text-transform:uppercase;font-weight:800;font-size:11px;min-width:0;overflow-wrap:anywhere}
.kcfc-result-teams>span .kcfc-club-logo{height:31px!important;width:31px!important}
.kcfc-result-teams>span .kcfc-logo-fallback{height:27px;width:27px;font-size:9px}
.kcfc-score{font-size:21px;font-weight:900;color:white;white-space:nowrap;font-variant-numeric:tabular-nums}
.kcfc-result-extra{color:#9aadc7;text-transform:uppercase;font-size:9px;line-height:1.4}
.kcfc-result-extra small{font-size:9px;color:#899bb4;display:block;margin-top:5px}
.kcfc-standing-table td:first-child{width:44px;color:white;font-weight:900}
.kcfc-standing-table th:not(:nth-child(2)),.kcfc-standing-table td:not(:nth-child(2)){text-align:center;white-space:nowrap}
.kcfc-standing-table th:nth-child(2),.kcfc-standing-table td:nth-child(2){min-width:155px;text-align:left}
.kcfc-standing-club{display:flex;align-items:center;gap:9px;font-weight:850;color:white;text-transform:uppercase;font-size:10px}
.kcfc-standing-club .kcfc-club-logo{width:23px!important;height:23px!important}
.kcfc-standing-club .kcfc-logo-fallback{width:22px;height:22px;font-size:8px}
.kcfc-standing-table td.kcfc-points{color:var(--kcfc-gold);font-weight:900}
.kcfc-side-col .kcfc-standing-table{min-width:300px}
.kcfc-side-col .kcfc-standing-table th,.kcfc-side-col .kcfc-standing-table td{padding:11px 6px}
.kcfc-side-col .kcfc-standing-table th:nth-child(2),.kcfc-side-col .kcfc-standing-table td:nth-child(2){min-width:100px}
.kcfc-side-col .kcfc-standing-club{gap:5px;font-size:9px}
.kcfc-side-col .kcfc-standing-club .kcfc-club-logo{height:17px!important;width:17px!important}
.kcfc-no-data{color:var(--kcfc-muted);font-size:12px;line-height:1.6;padding:20px 17px}
.kcfc-empty{padding:22px;color:#c6d4e6}
@media(max-width:850px){.kcfc-page{grid-template-columns:1fr}.kcfc-side-col{display:grid;grid-template-columns:1fr 1fr;align-items:start}.kcfc-result-row{grid-template-columns:80px minmax(0,1fr)}.kcfc-result-extra{grid-column:1/-1}}
@media(max-width:580px){.kcfc-page{padding:14px 0 35px;gap:12px}.kcfc-side-col{grid-template-columns:1fr}.kcfc-panel-title{padding:14px}.kcfc-result-row{display:block;padding:15px 12px}.kcfc-result-date{margin-bottom:12px}.kcfc-result-teams>span{font-size:10px}.kcfc-score{font-size:19px}.kcfc-result-extra{margin-top:12px}.kcfc-heading{padding:0 10px}.kcfc-heading h2{font-size:22px}}

/* v0.7.1: distinct league tables and format-aware cup cards. */
.kcfc-competition-blocks{display:flex;flex-direction:column;gap:16px;min-width:0}
.kcfc-competition-blocks>.kcfc-widget{flex:0 0 auto}
.kcfc-competition-label{color:#f4f6fb;font-weight:750;white-space:nowrap}
.kcfc-cup-body{padding:18px}
.kcfc-cup-label{font-size:11px;color:#c2cce0;margin:0 0 14px;text-transform:uppercase;letter-spacing:.4px}
.kcfc-cup-stats{display:flex;gap:9px;flex-wrap:wrap}
.kcfc-cup-stat{background:#0c2244;border:1px solid #243e63;border-radius:6px;padding:11px 14px;min-width:65px;display:flex;flex-direction:column;gap:3px;text-align:center}
.kcfc-cup-stat strong{color:#fff;font-size:20px;line-height:1.2;font-weight:900}
.kcfc-cup-stat span{font-size:10px;text-transform:uppercase;color:#afbfda}
.kcfc-cup-last{font-size:11px;line-height:1.7;color:#aebed8;margin:18px 0 10px}
.kcfc-cup-last strong{color:#fff;font-size:12px}
.kcfc-cup-note{border-top:1px solid #243e63;margin:14px 0 0;padding-top:12px;color:#95a9c4;font-size:11px;line-height:1.55}
.kcfc-side-col .kcfc-cup-body{padding:12px}
.kcfc-side-col .kcfc-cup-stat{min-width:45px;padding:7px}
.kcfc-side-col .kcfc-cup-stat strong{font-size:16px}
.kcfc-side-col .kcfc-cup-stat span{font-size:9px}
.kcfc-compact-tables>.kcfc-widget{margin-bottom:0}
@media(max-width:580px){.kcfc-cup-body{padding:13px}.kcfc-cup-stat{min-width:55px;padding:8px 10px}}

/* v0.7.2: Elementor-friendly controls without mandatory shortcode headings. */
.kcfc-filter-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;font-family:Inter,system-ui,sans-serif;width:100%}
.kcfc-filter-form label{display:flex;flex-direction:column;gap:7px;flex:1 1 190px;min-width:0;color:#bacbe2;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.4px}
.kcfc-filter-form .kcfc-filter-select{appearance:auto!important;width:100%;min-width:0;min-height:42px;padding:10px 12px;background:#0b1c38!important;border:1px solid #304b75!important;border-radius:6px!important;color:#f5f8ff!important;font-family:inherit;font-size:12px!important;text-transform:none;letter-spacing:0}
.kcfc-filter-form .kcfc-filter-submit{border:1px solid #39577d;background:#122a4b;color:#fff;min-height:42px;padding:10px 16px;font-size:11px;font-weight:800;border-radius:6px;cursor:pointer}
.kcfc-filter-form .kcfc-filter-select:focus-visible,.kcfc-filter-form .kcfc-filter-submit:focus-visible,.kcfc-pagination a:focus-visible{outline:2px solid #ffc83d;outline-offset:2px}
.kcfc-pagination{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #233a60;padding:13px 16px;color:#aebfd7;font-size:11px}
.kcfc-pagination-links{display:flex;gap:6px;align-items:center}
.kcfc-pagination a,.kcfc-page-current{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border:1px solid #2d466b;border-radius:5px;padding:0 7px;color:#edf4ff;text-decoration:none;font-size:11px}
.kcfc-pagination a:hover,.kcfc-page-current{background:#bd1e39;color:#fff;border-color:#bd1e39}
.kcfc-ellipsis{padding:0 2px}
.kcfc-countdown{display:flex;gap:7px;justify-content:center;margin:18px auto 0;max-width:370px}
.kcfc-countdown-part{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0c2347;border:1px solid #253e66;border-radius:6px;padding:9px 6px;min-width:0;flex:1}
.kcfc-countdown-part strong{color:#fff;font-size:clamp(16px,2.2vw,25px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1.2}
.kcfc-countdown-part small{color:#99abc5;font-size:9px;letter-spacing:.3px;margin-top:3px}
.kcfc-cup-fixtures{margin-top:17px;display:flex;flex-direction:column;gap:10px}
.kcfc-cup-fixture{border:1px solid #294267;border-radius:7px;padding:13px;background:#091d3a}
.kcfc-cup-fixture-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.kcfc-cup-fixture-top strong{color:#f1f5ff;font-size:10px;letter-spacing:.45px}
.kcfc-cup-fixture-top time{color:#a5bad5;font-size:10px;font-variant-numeric:tabular-nums}
.kcfc-cup-fixture-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}
.kcfc-cup-team{display:flex;align-items:center;gap:8px;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;overflow-wrap:anywhere;min-width:0}
.kcfc-cup-team:last-child{flex-direction:row-reverse;text-align:right}
.kcfc-cup-team .kcfc-club-logo{height:30px!important;width:30px!important}
.kcfc-cup-team .kcfc-logo-fallback{height:29px;width:29px;font-size:10px}
.kcfc-cup-score{color:#fff;font-size:18px;font-weight:900;white-space:nowrap}
.kcfc-cup-venue,.kcfc-cup-fixture-empty{color:#9cb2d1;font-size:10px;margin-top:9px}
.kcfc-cup-fixture-empty{margin:0}
@media(max-width:580px){.kcfc-filter-form{gap:10px}.kcfc-cup-team{font-size:9px}.kcfc-cup-team .kcfc-club-logo{height:23px!important;width:23px!important}}

/* v0.7.3: standalone compact league and cup shortcodes (not tied to the all-in-one sidebar). */
.kcfc-compact-tables{width:100%;min-width:0}
.kcfc-compact-tables .kcfc-standing-table{min-width:300px}
.kcfc-compact-tables .kcfc-standing-table th,.kcfc-compact-tables .kcfc-standing-table td{padding:11px 6px}
.kcfc-compact-tables .kcfc-standing-table th:nth-child(2),.kcfc-compact-tables .kcfc-standing-table td:nth-child(2){min-width:100px}
.kcfc-compact-tables .kcfc-standing-club{gap:5px;font-size:9px}
.kcfc-compact-tables .kcfc-standing-club .kcfc-club-logo{height:17px!important;width:17px!important}
.kcfc-compact-tables .kcfc-standing-club .kcfc-logo-fallback{height:17px;width:17px;font-size:7px}
.kcfc-compact-tables .kcfc-cup-body{padding:12px}
.kcfc-compact-tables .kcfc-cup-stats{gap:6px}
.kcfc-compact-tables .kcfc-cup-stat{flex:1 0 44px;min-width:44px;padding:7px 6px}
.kcfc-compact-tables .kcfc-cup-stat strong{font-size:16px}
.kcfc-compact-tables .kcfc-cup-stat span{font-size:9px}
.kcfc-compact-tables .kcfc-cup-fixtures{gap:8px;margin-top:12px}
.kcfc-compact-tables .kcfc-cup-fixture{padding:10px}
.kcfc-compact-tables .kcfc-cup-team{font-size:10px;gap:5px}
.kcfc-compact-tables .kcfc-cup-team .kcfc-club-logo{width:23px!important;height:23px!important}
.kcfc-compact-tables .kcfc-cup-team .kcfc-logo-fallback{width:23px;height:23px;font-size:8px}
@media(max-width:420px){.kcfc-compact-tables .kcfc-cup-fixture-main{gap:5px}.kcfc-compact-tables .kcfc-cup-team{font-size:9px}}

/* v0.7.4: fixture readability, KCFC score accents, compact results and partial reloads. */
.kcfc-match-table tr.kcfc-featured td:first-child{border-left:0!important}
.kcfc-pair{min-width:220px;gap:6px}
.kcfc-pair-clubs{display:grid;grid-template-columns:minmax(0,1fr) 23px minmax(0,1fr);align-items:center;column-gap:7px}
.kcfc-pair-clubs strong{font-size:10px;overflow-wrap:anywhere}
.kcfc-pair-clubs strong:first-child{text-align:right}
.kcfc-pair-clubs strong:last-child{text-align:left}
.kcfc-pair-clubs small{font-size:9px;font-weight:800;color:#8297b7}
.kcfc-pair-result{display:block;font-size:14px;line-height:1.2;color:var(--kcfc-gold);font-weight:900;letter-spacing:.3px;font-variant-numeric:tabular-nums}
.kcfc-result-teams{gap:5px}
.kcfc-result-teams>span.kcfc-result-home{justify-content:flex-end;text-align:right}
.kcfc-result-teams>span.kcfc-result-away{justify-content:flex-start;text-align:left}
.kcfc-score,.kcfc-cup-score,.kcfc-compact-score{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kcfc-score-number.kcfc-score-kcfc{color:var(--kcfc-gold)}
.kcfc-score-separator{color:#9babc4;font-weight:750}
.kcfc-competition-heading{padding:14px 17px;border-bottom:1px solid var(--kcfc-line);font-size:12px;font-weight:850;color:#f8f9ff;letter-spacing:.35px;text-transform:uppercase}
.kcfc-cup-team-label{color:#f5f7ff;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.6px;margin:0 0 13px}
.kcfc-cup-score{font-size:clamp(21px,2.2vw,27px);line-height:1.1;gap:3px}
.kcfc-compact-tables .kcfc-cup-score{font-size:21px}
.kcfc-ajax-target[aria-busy="true"]{opacity:.6;transition:opacity .15s ease}
.kcfc-ajax-target[data-kcfc-error="true"]{outline:1px dashed #e89c48;outline-offset:-1px}

/* Vertical previous-match cards inspired by the supplied screenshot; no header. */
.kcfc-compact-recent{border-radius:8px}
.kcfc-compact-match{padding:24px 12px 16px;text-align:center;border-top:1px solid var(--kcfc-line)}
.kcfc-compact-match:first-child{border-top:0}
.kcfc-compact-competition{font-size:12px;color:#fff;font-weight:800;letter-spacing:.4px;text-transform:uppercase;line-height:1.35}
.kcfc-compact-date{display:block;margin:9px auto 13px;color:#d2d9e7;font-size:12px;letter-spacing:.2px;font-variant-numeric:tabular-nums}
.kcfc-compact-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(95px,34%) minmax(0,1fr);align-items:center;gap:7px}
.kcfc-compact-team{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0}
.kcfc-compact-team .kcfc-club-logo{height:61px!important;width:61px!important}
.kcfc-compact-team .kcfc-logo-fallback{height:50px;width:50px}
.kcfc-compact-team strong{color:#fff;text-transform:uppercase;font-size:10px;letter-spacing:.55px;line-height:1.3;font-weight:850;overflow-wrap:anywhere}
.kcfc-compact-center{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.kcfc-compact-score{font-size:clamp(22px,3vw,31px);font-weight:900;line-height:1.1;color:#eff2f8;gap:7px}
.kcfc-compact-center small{color:#aab7cb;font-size:10px;letter-spacing:1.25px}
@media(max-width:440px){
 .kcfc-compact-match{padding:20px 8px 16px}
 .kcfc-compact-scoreboard{grid-template-columns:minmax(0,1fr) minmax(80px,33%) minmax(0,1fr);gap:3px}
 .kcfc-compact-team .kcfc-club-logo{height:46px!important;width:46px!important}
 .kcfc-compact-team strong{font-size:9px;letter-spacing:.2px}
 .kcfc-compact-score{font-size:24px;gap:4px}
 .kcfc-result-teams>span{font-size:9px;gap:4px}
}

/* v0.7.5: streamlined auto-submit filters and highlighted league table. */
.kcfc-filter-form .kcfc-season-select option:disabled{display:none}
.kcfc-standing-break td{padding:3px 12px!important;text-align:center!important;background:rgba(9,27,53,.8)!important;color:#869cbd!important;font-weight:900;letter-spacing:5px}

/* v0.7.6: restrained fixture table with SportsPress crest thumbnails. */
.kcfc-fixture-table{min-width:600px}
.kcfc-fixture-table th,.kcfc-fixture-table td{padding:13px 12px}
.kcfc-fixture-table td:nth-child(3){max-width:175px}
.kcfc-fixture-table td:nth-child(4){max-width:190px}
.kcfc-fixture-table tr.kcfc-featured td:first-child{border-left:0!important}
.kcfc-fixture-kickoff{display:block;color:var(--kcfc-gold);font-size:11px;font-weight:800;margin-top:5px}
.kcfc-fixture-table .kcfc-pair{min-width:240px;gap:5px}
.kcfc-fixture-table .kcfc-pair-clubs{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);gap:5px}
.kcfc-fixture-side{display:flex;gap:7px;align-items:center;min-width:0}
.kcfc-fixture-side strong{font-size:10px;line-height:1.45;overflow-wrap:anywhere;min-width:0}
.kcfc-fixture-home{justify-content:flex-end;text-align:right}
.kcfc-fixture-away{justify-content:flex-start;text-align:left}
.kcfc-fixture-table .kcfc-club-logo{width:29px!important;height:29px!important}
.kcfc-fixture-table .kcfc-logo-fallback{width:27px;height:27px;font-size:8px}
.kcfc-fixture-venue{font-size:11px;line-height:1.4}
.kcfc-selection-label{display:inline;color:inherit;font:inherit}
@media(max-width:600px){
 .kcfc-fixture-table{min-width:540px}
 .kcfc-fixture-table th,.kcfc-fixture-table td{padding:11px 7px}
 .kcfc-fixture-table .kcfc-pair{min-width:220px}
 .kcfc-fixture-table .kcfc-club-logo{width:25px!important;height:25px!important}
 .kcfc-fixture-side strong{font-size:9px}
}

/* v0.7.7 — more legible, responsive type scale aligned to KCFC's Inter / navy / gold presentation.
   All selectors remain inside KCFC shortcode widgets so they do not restyle Elementor. */
.kcfc-widget{font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5;container-type:inline-size}
.kcfc-competition-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;max-width:100%;min-width:0;text-align:center}
.kcfc-competition-stack strong{display:block;color:#f6f8ff;font-size:clamp(13px,1.3vw,16px);line-height:1.35;font-weight:850;letter-spacing:.55px;text-transform:uppercase;overflow-wrap:anywhere}
.kcfc-competition-stack span{display:block;color:#b3c3dc;font-size:clamp(12px,1.1vw,14px);line-height:1.4;font-weight:650;letter-spacing:.3px}
.kcfc-next-body{padding:27px clamp(13px,3vw,24px) 26px}
.kcfc-next-competition{gap:3px}
.kcfc-versus{margin:24px 0 19px;grid-template-columns:minmax(0,1fr) 45px minmax(0,1fr);gap:9px}
.kcfc-versus>div{gap:11px}
.kcfc-versus>div span:last-child{font-size:clamp(11px,1.05vw,13px);line-height:1.35;letter-spacing:.3px}
.kcfc-versus>strong{font-size:clamp(23px,2.5vw,34px)}
.kcfc-next .kcfc-versus .kcfc-club-logo{height:clamp(42px,4.1vw,66px)!important;width:clamp(42px,4.1vw,66px)!important}
.kcfc-next-venue{font-size:clamp(11px,1vw,13px);line-height:1.45;letter-spacing:.4px}
.kcfc-countdown{max-width:440px;gap:9px;margin:18px auto 0}
.kcfc-countdown-part{padding:12px 6px;border-radius:7px}
.kcfc-countdown-part strong{font-size:clamp(22px,2.2vw,32px);line-height:1.15}
.kcfc-countdown-part small{font-size:11px;margin-top:5px;letter-spacing:.6px;font-weight:700}
.kcfc-next-date{display:block;color:#ecf2fc;font-size:clamp(13px,1.25vw,15px);font-weight:750;letter-spacing:.35px;margin:15px auto 0;line-height:1.5}
.kcfc-compact-match{padding:25px clamp(10px,2vw,22px) 20px}
.kcfc-compact-competition{font-size:inherit;letter-spacing:normal}
.kcfc-compact-competition.kcfc-competition-stack{gap:3px;margin:0 auto 19px}
.kcfc-compact-scoreboard{gap:9px;grid-template-columns:minmax(0,1fr) minmax(105px,34%) minmax(0,1fr)}
.kcfc-compact-team{gap:12px}
.kcfc-compact-team .kcfc-club-logo{height:clamp(48px,5vw,70px)!important;width:clamp(48px,5vw,70px)!important}
.kcfc-compact-team strong{font-size:clamp(11px,1.1vw,13px);font-weight:850;letter-spacing:.4px;line-height:1.4}
.kcfc-compact-center{gap:9px}
.kcfc-compact-score{font-size:clamp(27px,3vw,37px);line-height:1.15}
.kcfc-compact-score-date{display:block;color:#bacce4;font-size:clamp(11px,1.1vw,13px);line-height:1.45;font-weight:600;letter-spacing:.1px;font-variant-numeric:tabular-nums;white-space:normal}
.kcfc-competition-heading{font-size:clamp(13px,1.15vw,15px);padding:16px 18px;line-height:1.35}
.kcfc-match-table th,.kcfc-standing-table th{font-size:11px;letter-spacing:.7px;padding:14px 12px}
.kcfc-match-table td,.kcfc-standing-table td{font-size:13px;line-height:1.45;padding:16px 12px}
.kcfc-fixture-side strong,.kcfc-pair-clubs strong{font-size:12px;line-height:1.4}
.kcfc-fixture-kickoff{font-size:12px}
.kcfc-fixture-venue{font-size:12px}
.kcfc-standing-club{font-size:12px;line-height:1.35}
.kcfc-standing-club .kcfc-club-logo{width:26px!important;height:26px!important}
.kcfc-result-date strong{font-size:13px}
.kcfc-result-date small{font-size:11px}
.kcfc-result-teams>span{font-size:12px;line-height:1.4}
.kcfc-score{font-size:clamp(23px,2.15vw,28px)}
.kcfc-result-extra,.kcfc-result-extra small{font-size:11px;line-height:1.45}
.kcfc-cup-team-label{font-size:14px}
.kcfc-cup-label,.kcfc-cup-last,.kcfc-cup-note{font-size:12px}
.kcfc-cup-stat span,.kcfc-cup-fixture-top strong,.kcfc-cup-fixture-top time{font-size:11px}
.kcfc-cup-team{font-size:12px}
.kcfc-cup-venue,.kcfc-cup-fixture-empty{font-size:12px}
.kcfc-compact-tables .kcfc-standing-table th{font-size:10px;padding:12px 7px}
.kcfc-compact-tables .kcfc-standing-table td{font-size:12px;padding:12px 7px}
.kcfc-compact-tables .kcfc-standing-club{font-size:11px;line-height:1.3}
.kcfc-compact-tables .kcfc-cup-stat span{font-size:10px}
.kcfc-compact-tables .kcfc-cup-team{font-size:11px}
.kcfc-filter-form .kcfc-filter-select{font-size:13px!important;min-height:44px}
.kcfc-filter-form label{font-size:12px}
.kcfc-pagination,.kcfc-pagination a,.kcfc-page-current{font-size:12px}
.kcfc-no-data,.kcfc-empty,.kcfc-footnote{font-size:13px;line-height:1.6}
@container(max-width:380px){
  .kcfc-next-body{padding:23px 12px}
  .kcfc-versus{gap:4px;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)}
  .kcfc-versus>div span:last-child{font-size:11px}
  .kcfc-next .kcfc-versus .kcfc-club-logo{height:43px!important;width:43px!important}
  .kcfc-countdown{gap:5px}
  .kcfc-countdown-part{padding:10px 3px}
  .kcfc-countdown-part strong{font-size:22px}
  .kcfc-countdown-part small{font-size:10px}
  .kcfc-compact-scoreboard{grid-template-columns:minmax(0,1fr) minmax(82px,32%) minmax(0,1fr);gap:4px}
  .kcfc-compact-match{padding:21px 9px 18px}
  .kcfc-compact-team .kcfc-club-logo{height:42px!important;width:42px!important}
  .kcfc-compact-team strong{font-size:10px;letter-spacing:0}
  .kcfc-compact-score{font-size:26px;gap:4px}
  .kcfc-compact-score-date{font-size:10px}
  .kcfc-compact-tables .kcfc-standing-table th,.kcfc-compact-tables .kcfc-standing-table td{padding:10px 5px}
  .kcfc-compact-tables .kcfc-standing-club{font-size:10px}
}
@media(max-width:600px){
  .kcfc-widget{font-size:13px}
  .kcfc-fixture-table th,.kcfc-fixture-table td{padding:12px 8px}
  .kcfc-fixture-side strong{font-size:11px}
  .kcfc-result-row{padding:18px 13px}
  .kcfc-result-teams>span{font-size:11px}
  .kcfc-cup-team{font-size:11px}
}
