/*
Theme Name: TW Nordic
Description: Nordic League Water Polo classic theme, integrated with Total Waterpolo 2.1.
Version: 2026.11.11.2
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: tw-nordic
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
@font-face{font-family:Anton;src:url('assets/fonts/anton-latin-ext-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Anton;src:url('assets/fonts/anton-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-latin-ext-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-latin-ext-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-latin-ext-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-latin-700-normal.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
body.tw-nordic{
 --twn-navy:#0b1f4d;--twn-deep:#081638;--twn-yellow:#ffc72c;--twn-muted:#526580;--twn-border:#d5ddeb;--twn-page:#eef1f6;
 --twn-stripes:repeating-linear-gradient(90deg,transparent 0,transparent 28px,rgba(255,255,255,.045) 28px,rgba(255,255,255,.045) 56px);
 --twn-bar:linear-gradient(90deg,#243f80 0 16.66%,#c8103d 16.66% 33.33%,#0073a7 33.33% 50%,#ffc72c 50% 66.66%,#ef303c 66.66% 83.33%,#243f80 83.33%);
 /* Plugin semantic tokens; ring text follows the theme surface. */
 --tw-chart-text:var(--twn-navy);--twn-fallback-color:var(--twn-navy);--twn-fallback-filter:none;
 --tw-muted:var(--twn-muted);--tw-cap-text:var(--twn-navy);--tw-cap-background:var(--twn-yellow);
 --tw-zone-playoff:var(--twn-yellow);--tw-zone-relegation:#c8103d;--tw-zone-neutral:#677c9e;
 --tw-form-win:#3f7d48;--tw-form-draw:#677c9e;--tw-form-loss:#c8103d;--tw-form-text:#fff;
 --tw-headers-bg:#0b1f4d;--tw-headers-text:#fff;--tw-headers-border:#d5ddeb;
 --tw-tabs-bg:#fff;--tw-tabs-bg-active:#ffc72c;--tw-tabs-text:#0b1f4d;--tw-tabs-text-active:#0b1f4d;--tw-tabs-border:#d5ddeb;
 --tw-surfaces-primary:#fff;--tw-surfaces-secondary:#f1f4f8;--tw-surfaces-hover:#e3ebf5;--tw-surfaces-gradient-start:#fff;--tw-surfaces-gradient-end:#eef1f6;
 --tw-text-on-dark-primary:#0b1f4d;--tw-text-on-dark-muted:#526580;--tw-text-on-dark-subtle:#526580;--tw-text-on-dark-placeholder:#526580;--tw-text-on-dark-meta:#526580;
 --tw-border-on-dark:#d5ddeb;--tw-border-on-light:#d5ddeb;--tw-cards-bg:#fff;--tw-cards-text:#0b1f4d;--tw-cards-text-muted:#526580;--tw-cards-border:#d5ddeb;--tw-cards-border-muted:#d5ddeb;
 --tw-panels-bg:#eef1f6;--tw-panels-bg-muted:#f5f7fb;--tw-text-on-light-primary:#0b1f4d;--tw-text-on-light-strong:#0b1f4d;
 --tw-inputs-bg:#fff;--tw-inputs-text:#0b1f4d;--tw-inputs-border:#b7c5db;--tw-inputs-placeholder:#526580;--tw-accent-link:#006492;--tw-accent-highlight:#ffc72c;
 margin:0;background:var(--twn-page);color:var(--twn-navy);font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.5;
}
.twn-header,.twn-main,.twn-footer,.twn-partners{font-family:Barlow,Arial,sans-serif;line-height:1.5}
.twn-header *,.twn-main *,.twn-footer *,.twn-partners *{box-sizing:border-box}
.twn-container{width:min(1200px,calc(100% - 32px));margin-inline:auto}
.twn-main{min-height:45vh}
.twn-main img,.twn-header img,.twn-footer img{max-width:100%;height:auto}
.twn-header a,.twn-footer a,.twn-post-card a,.twn-section-heading a,.twn-tab,.twn-filter-pills a{color:inherit;text-decoration:none}
.twn-header a:hover,.twn-footer a:hover,.twn-post-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.twn-header :focus-visible,.twn-main :focus-visible,.twn-footer :focus-visible,.twn-skip:focus{outline:3px solid #007caf;outline-offset:4px}
.twn-header :focus-visible,.twn-footer :focus-visible,.twn-standings-band :focus-visible{outline-color:var(--twn-yellow)}
.twn-sr-only,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.twn-skip{position:fixed;left:16px;top:-100px;z-index:99999;background:#fff;color:#0b1f4d;padding:12px 20px}
.twn-skip:focus{top:12px}
.twn-header{background:var(--twn-stripes),var(--twn-navy);color:#fff}
.twn-header::after,.twn-title-band::after,.twn-standings-band::after,.twn-footer::before{content:'';display:block;height:6px;background:var(--twn-bar)}
.twn-topbar{display:none;background:var(--twn-deep);font-size:12px;color:#b6c5de}
.twn-topbar .twn-container{display:flex;justify-content:space-between;gap:20px;padding-block:5px}
.twn-header-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding-block:16px}
.twn-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;flex-shrink:0;font:400 20px/1.15 Anton,Impact,sans-serif;text-transform:uppercase}
.twn-brand small{display:block;letter-spacing:4px;font:600 11px/1.5 Barlow,Arial,sans-serif}
.twn-shield{width:42px;height:54px;flex-shrink:0}
.twn-header .custom-logo,.twn-footer .custom-logo{display:block;width:auto;max-height:none;object-fit:contain;flex-shrink:0}
.twn-header .custom-logo{height:48px}
.twn-footer .custom-logo{height:72px}
.twn-menu-toggle{margin-left:auto;border:1px solid #8195b4;background:transparent;color:#fff;font:600 14px Barlow,Arial,sans-serif;padding:8px 10px;cursor:pointer}
.twn-menu-toggle[hidden]{display:none}
.twn-primary{width:100%}
.twn-primary.twn-nav-enhanced:not(.twn-nav-open){display:none}
.twn-menu,.twn-footer-menu{list-style:none;margin:0;padding:0}
.twn-menu{display:flex;flex-wrap:wrap;gap:4px 18px}
.twn-menu a{display:block;padding:8px 0;font:400 15px/1.5 Anton,Impact,sans-serif;letter-spacing:.4px;text-transform:uppercase}
.twn-menu a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--twn-yellow);text-decoration-thickness:3px;text-underline-offset:7px}
.twn-menu .sub-menu{list-style:none;padding-left:14px}
.twn-competition-picker{display:flex;gap:8px;width:100%;margin:0}
.twn-competition-picker select{width:100%;min-width:0;max-width:230px;background:var(--twn-navy);border:1px solid var(--twn-yellow);color:#fff;padding:10px;font:600 13px Barlow,Arial,sans-serif}
.twn-button{display:inline-block;border:0;background:var(--twn-yellow);color:var(--twn-navy);padding:12px 18px;font:400 14px/1.2 Anton,Impact,sans-serif;text-transform:uppercase;text-decoration:none;cursor:pointer}
.twn-button:hover{background:#ffe07a;color:var(--twn-deep);text-decoration:none}
.twn-title-band{background:var(--twn-stripes),linear-gradient(120deg,#102856,#1d3b7a);color:#fff}
.twn-title-band>.twn-container{padding-block:30px 36px}
.twn-title-band h1{font:400 clamp(34px,5vw,60px)/1.16 Anton,Impact,sans-serif;text-transform:uppercase;margin:0 0 8px;color:#fff;overflow-wrap:anywhere}
.twn-title-band p{margin:0;color:#bdcce6}
.twn-title-band .twn-breadcrumb{font-size:13px;margin-bottom:12px}
.twn-breadcrumb a{color:inherit}
.twn-section{margin-block:36px}
.twn-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.twn-section-heading h2{font:400 clamp(25px,3vw,32px)/1.2 Anton,Impact,sans-serif;text-transform:uppercase;color:inherit;margin:0}
.twn-section-heading h2::before{content:'';display:inline-block;width:28px;height:.8em;margin-right:10px;background:linear-gradient(90deg,#243f80 0 12%,transparent 12% 20%,#c8103d 20% 32%,transparent 32% 40%,#007caf 40% 52%,transparent 52% 60%,#ffc72c 60% 72%,transparent 72% 80%,#ef303c 80% 92%,transparent 92%)}
.twn-section-heading>a{font:700 12px Barlow,Arial,sans-serif;text-transform:uppercase;color:#006492;flex-shrink:0}
.twn-card,.twn-data-card{background:#fff;padding:22px;border-radius:3px;min-width:0}
.twn-card h2,.twn-card-title{font:400 23px/1.25 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--twn-navy);margin:0 0 18px}
.twn-card-title{border-left:5px solid var(--twn-yellow);padding-left:10px}
.twn-card p:last-child{margin-bottom:0}
.twn-two-column,.twn-standings-grid,.twn-article-grid{display:grid;gap:24px;align-items:start}
.twn-two-column>*{min-width:0}
.twn-data-scroll{overflow-x:auto;max-width:100%}
.twn-match-scroll{max-height:36rem;overflow:auto;min-height:0}
.twn-home-matches{align-items:stretch}
.twn-home-matches>.twn-data-card{display:flex;flex-direction:column}
.twn-home-matches .twn-match-scroll{max-height:26rem;flex:1}
.twn-home-matches>.twn-note{grid-column:1/-1}
.twn-credit{font:400 11px/1.4 Barlow,Arial,sans-serif;color:var(--twn-muted);margin:12px 0 0}
.twn-note{font:400 13px/1.5 Barlow,Arial,sans-serif;color:var(--twn-muted);padding-block:8px;margin:0}
.twn-sponsor-slot{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;margin-block:24px}
.twn-sponsor-slot--header{min-height:90px}
.twn-sponsor{box-sizing:border-box;display:flex;flex:0 0 auto;justify-content:center;align-items:center;width:150px;height:64px;max-width:100%;padding:12px;background:#fff;color:var(--twn-navy);font-weight:700;text-align:center}
.twn-sponsor img{display:block;width:100%;height:100%;max-height:100%;max-width:100%;object-fit:contain}
.twn-sponsor-slot--header .twn-sponsor{width:320px;height:90px}
.twn-sponsor-placeholder{display:grid;place-content:center;text-align:center;min-height:100px;width:100%;padding:24px;border:1px dashed #acbdd6;background:repeating-linear-gradient(45deg,#e6ecf4 0 9px,#edf2f8 9px 18px);color:#526580;font:700 11px/1.6 Barlow,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase}
.twn-sponsor-slot--sidebar .twn-sponsor-placeholder{min-height:250px}
.twn-sponsor-slot--sidebar{margin-top:0}
.twn-sponsor-slot--in-article .twn-sponsor-placeholder{min-height:120px}
.twn-home-hero{display:grid;gap:20px;margin-top:24px}
.twn-side-stories{display:grid;gap:14px}
.twn-post-card{background:#fff;border-radius:3px;overflow:hidden;min-width:0;box-shadow:0 2px 8px #0b1f4d06}
.twn-post-image{display:block;aspect-ratio:1.65;overflow:hidden;border-bottom:4px solid var(--twn-competition,#243f80)}
.twn-post-image img{width:100%;height:100%;object-fit:cover}
.twn-image-fallback{display:block;width:100%;height:100%;background:linear-gradient(135deg,#007ba3,#0b1f4d 70%)}
.twn-post-copy{padding:16px}
.twn-kicker{color:var(--twn-competition,#243f80);font:700 11px/1.3 Barlow,Arial,sans-serif;text-transform:uppercase;margin:0 0 8px;letter-spacing:.3px}
.twn-post-card h2{font:400 21px/1.12 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--twn-navy);margin:0 0 10px;overflow-wrap:anywhere}
.twn-meta{font:400 12px/1.4 Barlow,Arial,sans-serif;color:var(--twn-muted)}
.twn-excerpt{font-size:15px;line-height:1.4;margin:14px 0 20px}
.twn-home-hero .twn-featured{background:var(--twn-stripes),var(--twn-navy)}
.twn-home-hero .twn-featured h2{font-size:clamp(30px,3vw,42px);color:#fff}
.twn-home-hero .twn-featured .twn-post-copy{padding:24px;color:#d2def0}
.twn-home-hero .twn-featured .twn-kicker{display:inline-block;padding:10px;background:var(--twn-yellow);color:var(--twn-navy)}
.twn-home-hero .twn-featured .twn-meta{color:#c2cfe3}
.twn-featured .twn-button{background:#fff;color:var(--twn-navy)}
.twn-compact{display:grid;grid-template-columns:32% 1fr}
.twn-compact .twn-post-image{height:100%;aspect-ratio:auto;border:0}
.twn-compact h2{font-size:18px}
.twn-compact .twn-post-copy{padding:15px}
.twn-news-row{display:grid;gap:16px}
.twn-news-row .twn-post-card{display:grid;grid-template-columns:35% 1fr}
.twn-news-row .twn-post-image{height:100%;aspect-ratio:auto}
.twn-news-row h2{font-size:19px}
.twn-news-row .twn-post-copy{padding:12px}
.twn-welcome{padding:40px 26px;background:var(--twn-stripes),var(--twn-navy);color:#fff;min-height:300px;display:flex;flex-direction:column;justify-content:center}
.twn-welcome h2{font:400 44px/1.1 Anton,Impact,sans-serif;text-transform:uppercase;color:#fff}
.twn-welcome .twn-kicker{color:var(--twn-yellow)}
.twn-standings-band{background:var(--twn-stripes),linear-gradient(110deg,#0b1f4d,#1b3770);color:#fff;padding-top:36px}
.twn-standings-band>.twn-container{padding-bottom:36px}
.twn-standings-band .twn-section-heading>a{color:var(--twn-yellow)}
.twn-tablist{display:flex;overflow-x:auto;gap:6px;margin:22px 0 16px;padding:4px 3px 7px;scrollbar-width:thin}
.twn-tab{display:block;white-space:nowrap;border:1px solid #bccae0;padding:11px 14px;background:#fff;color:var(--twn-navy);font:400 13px/1.2 Anton,Impact,sans-serif;text-transform:uppercase}
.twn-tab[aria-selected="true"]{background:var(--twn-yellow);border-color:var(--twn-yellow);color:var(--twn-navy)}
.twn-tab:hover{color:var(--twn-navy);text-decoration:underline}
.twn-tabpanel{margin-block:20px}
.twn-tabpanel[hidden]{display:none}
.twn-panel-heading{font:400 23px/1.3 Anton,Impact,sans-serif;text-transform:uppercase;color:inherit;margin:16px 0}
.twn-tabs-enhanced .twn-panel-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.twn-standings-band .twn-note{color:inherit}
.twn-standings-band .twn-data-card .twn-note{color:var(--twn-muted)}
.twn-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.twn-media-grid>.twn-post-card:first-child{grid-column:1/-1}
.twn-gallery-link{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;min-height:180px;background:linear-gradient(130deg,#007caf,#0b1f4d);color:#fff;padding:24px;font:400 28px Anton,Impact,sans-serif;text-transform:uppercase}
.twn-gallery-link:hover{color:#fff}
.twn-news-filters{background:#fff;border-top:4px solid var(--twn-navy);padding:20px;margin-bottom:28px}
.twn-filter-pills{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding:3px}
.twn-filter-pills a{white-space:nowrap;padding:9px 12px;border:1px solid var(--twn-border);font:400 13px Anton,Impact,sans-serif;text-transform:uppercase}
.twn-filter-pills a[aria-current]{background:var(--twn-yellow);border-color:var(--twn-yellow)}
.twn-news-search{display:flex;flex-wrap:wrap;gap:10px}
.twn-news-search select,.twn-news-search input[type=search]{width:100%;padding:10px;border:1px solid var(--twn-border);background:#f3f6fa;color:var(--twn-navy);font:600 15px Barlow,Arial,sans-serif;min-width:0}
.twn-archive-grid{display:grid;gap:20px}
.twn-grid-banner{grid-column:1/-1}
.twn-main .navigation.pagination{margin:30px 0;text-align:center;display:block}
.twn-main .page-numbers{display:inline-block;padding:10px 16px;background:#fff;border:1px solid var(--twn-border);color:var(--twn-navy);font-weight:700}
.twn-main .page-numbers.current{background:var(--twn-yellow);border-color:var(--twn-yellow)}
.twn-prose{font:400 18px/1.7 Barlow,Arial,sans-serif;overflow-wrap:anywhere}
.twn-prose a{color:#006492;text-decoration:underline}
.twn-prose h2,.twn-prose h3,.twn-prose h4{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;color:var(--twn-navy);line-height:1.2;margin-block:1em .5em}
.twn-prose img,.twn-prose video,.twn-prose iframe{max-width:100%}
.twn-prose .alignwide{width:100%;margin-inline:0}
.twn-prose .alignfull{width:100%;margin-inline:0}
.twn-prose figure{margin:0 0 24px}
.twn-prose .wp-block-embed__wrapper{position:relative}
.twn-prose .wp-has-aspect-ratio .wp-block-embed__wrapper::before{content:'';display:block;padding-top:56.25%}
.twn-prose .wp-has-aspect-ratio iframe{position:absolute;inset:0;width:100%;height:100%}
.twn-article-image{display:block;width:100%;margin:20px 0}
.twn-article .nav-links{display:flex;justify-content:space-between;gap:24px;margin-top:30px;font-size:14px}
.twn-gallery>.wp-block-gallery{display:flex;gap:20px}
.twn-gallery>.wp-block-embed,.twn-gallery>.wp-block-group,.twn-gallery>.gallery{background:#fff;padding:20px;border-radius:3px}
.twn-gallery .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.twn-partners{background:var(--twn-deep);padding-block:1px;color:#fff}
.twn-partners .twn-sponsor-slot{gap:16px;justify-content:center;max-width:316px;margin-inline:auto}
.twn-partners .twn-sponsor{width:calc((100% - 16px)/2)}
.twn-partners .twn-sponsor-placeholder{max-width:220px;min-height:80px;background:transparent;border:1px solid #2b3c60;color:#b6c5de}
.twn-footer{background:var(--twn-deep);color:#b6c5de}
.twn-footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-block:40px}
.twn-footer-grid>div:first-child{grid-column:1/-1}
.twn-footer p{font-size:13px;margin:20px 0}
.twn-footer h2{font:400 18px Anton,Impact,sans-serif;text-transform:uppercase;color:#fff;margin:0 0 16px}
.twn-footer-menu{font-size:14px;line-height:1.9}
.twn-footer-bottom{text-align:center;border-top:1px solid #ffffff12;padding:20px 16px;font-size:12px}
/* TW plugin integration. No global Bootstrap grid overrides or chart layout changes. */
body.tw-nordic .tw_group_div{border-radius:3px;margin-block:12px;color:var(--twn-navy)}
body.tw-nordic .tw_group_title{background:var(--twn-navy);color:#fff;font-family:Barlow,Arial,sans-serif;padding:12px}
body.tw-nordic .twn-data-card .tw_group_title{display:none}
body.tw-nordic :is(.tw_group_table,.twn-stats-scroll table,.tw-roster-table){background:#fff;color:var(--twn-navy);width:100%;font-family:Barlow,Arial,sans-serif}
body.tw-nordic :is(.tw_group_table,.twn-stats-scroll table,.tw-roster-table) th{background:var(--twn-navy);color:#fff;padding:12px 8px}
body.tw-nordic :is(.tw_group_table,.twn-stats-scroll table,.tw-roster-table) td{border-bottom:1px solid var(--twn-border);padding:12px 8px}
body.tw-nordic .tw_group_table .name,body.tw-nordic .tw_group_table .player-link{font-weight:700}
/* Theme-owned stats wrapper supports newer renderers without rewriting their HTML. */
body.tw-nordic :is(.twn-stats-scroll table,.tw-roster-table){min-width:32rem;border-collapse:collapse;font-size:14px}
body.tw-nordic :is(.twn-stats-scroll table,.tw-roster-table) :is(th,td){text-align:right;font-variant-numeric:tabular-nums}
body.tw-nordic :is(.twn-stats-scroll table,.tw-roster-table) :is(.tw-col-player,.tw-col-team,[scope=row]),
body.tw-nordic :is(.twn-stats-scroll table,.tw-roster-table) :is(th,td):has(.name,.player-link,.team-link){text-align:left}
body.tw-nordic :is(.twn-stats-scroll table,.tw-roster-table) tbody tr{background:#fff}
body.tw-nordic :is(.twn-stats-scroll table,.tw-roster-table) tbody tr:nth-child(even){background:var(--tw-surfaces-secondary)}
body.tw-nordic .tw-roster{min-width:0;max-width:100%;overflow-x:auto;color:var(--twn-navy)}
body.tw-nordic .tw-roster-card{min-width:0;max-width:100%;overflow-x:auto;padding:16px;border:1px solid var(--twn-border);border-radius:3px;background:#fff;color:var(--twn-navy);overflow-wrap:anywhere}
body.tw-nordic .tw-roster-cap{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:4px 8px;border-radius:50%;background:var(--tw-cap-background);color:var(--tw-cap-text);font-weight:700}
body.tw-nordic .tw-roster-staff{color:var(--tw-muted);font-size:14px}
/* The theme owns this wrapper: the plugin replaces its shortcode element. */
body.tw-nordic .tw_standings .tw-standings{width:100%;border-collapse:collapse;text-align:center;font-size:14px}
body.tw-nordic .tw_standings .tw-standings th{font-size:11px;text-transform:uppercase;letter-spacing:.02em;text-align:center}
body.tw-nordic .tw_standings .tw-standings tbody tr{background:#fff}
body.tw-nordic .tw_standings .tw-standings td{color:var(--twn-muted);font-family:Barlow,Arial,sans-serif;font-size:14px;letter-spacing:normal}
body.tw-nordic .tw_standings .tw-standings .tw-col-team{text-align:left}
body.tw-nordic .tw_standings .tw-col-team .name{color:var(--twn-navy);font:700 14px/1.3 Barlow,Arial,sans-serif}
body.tw-nordic .tw_standings .tw-standings .tw-col-pts{color:var(--twn-navy);font:400 18px/1.3 Anton,Impact,sans-serif}
body.tw-nordic .tw_standings .tw-standings th.tw-col-pts{color:#fff;font:700 11px/1.5 Barlow,Arial,sans-serif}
body.tw-nordic .tw_standings .tw-col-form{white-space:nowrap}
body.tw-nordic .tw_standings .tw-form{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:16px;height:16px;padding:0;margin-inline:1px;border-radius:2px;color:var(--tw-form-text);font:700 11px/1 Barlow,Arial,sans-serif;vertical-align:middle}
body.tw-nordic .tw_standings .tw-form--w{background-color:var(--tw-form-win)}
body.tw-nordic .tw_standings .tw-form--d{background-color:var(--tw-form-draw)}
body.tw-nordic .tw_standings .tw-form--l{background-color:var(--tw-form-loss)}
body.tw-nordic .tw_standings .tw-zone{--tw-zone-color:var(--tw-zone-neutral)}
body.tw-nordic .tw_standings .tw-zone--playoff{--tw-zone-color:var(--tw-zone-playoff)}
body.tw-nordic .tw_standings .tw-zone--relegation{--tw-zone-color:var(--tw-zone-relegation)}
body.tw-nordic .tw_standings .tw-standings .tw-zone .tw-col-position{border-inline-start:3px solid var(--tw-zone-color)}
body.tw-nordic .tw_standings .tw-zone-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;padding:0;list-style:none;color:var(--twn-muted);font:400 12px/1.5 Barlow,Arial,sans-serif}
body.tw-nordic .tw_standings .tw-zone-legend-item{display:flex;align-items:center;gap:8px}
body.tw-nordic .tw_standings .tw-zone-legend-item::before{content:'';width:10px;height:10px;flex-shrink:0;margin:0;background:var(--tw-zone-color)}
/* A hide-only fallback also makes the static fixture work without plugin CSS. */
@media(max-width:768px){
 body.tw-nordic .tw_standings .tw-standings--full .tw-col-w,
 body.tw-nordic .tw_standings .tw-standings--full .tw-col-d,
 body.tw-nordic .tw_standings .tw-standings--full .tw-col-l,
 body.tw-nordic .tw_standings .tw-standings--full .tw-col-gf,
 body.tw-nordic .tw_standings .tw-standings--full .tw-col-ga,
 body.tw-nordic .tw_standings .tw-standings--full .tw-col-form{display:none}
}
body.tw-nordic .tw-unavailable{display:flex;align-items:center;gap:12px;box-sizing:border-box;max-width:100%;margin-block:12px;padding:18px 20px;border:1px solid var(--twn-border);border-inline-start:4px solid var(--twn-yellow);border-radius:3px;background:#fff;color:var(--twn-navy);font:400 15px/1.5 Barlow,Arial,sans-serif;overflow-wrap:anywhere}
body.tw-nordic .tw-unavailable::before{content:'';box-sizing:border-box;width:17px;height:17px;flex-shrink:0;border:1.5px solid currentColor;border-radius:50%;color:var(--twn-muted);background:linear-gradient(currentColor,currentColor) center 6px/2px 6px no-repeat,radial-gradient(circle,currentColor 1px,transparent 1.5px) center 2px/4px 4px no-repeat}
body.tw-nordic .tw_match_basic{border-bottom:1px solid var(--twn-border);border-radius:3px;margin-block:8px;font-family:Barlow,Arial,sans-serif}
body.tw-nordic .tw_match_basic .tw_name{color:var(--twn-navy);font-weight:700}
body.tw-nordic .tw_match_basic .tw_goals{font-family:Anton,Impact,sans-serif;color:var(--twn-navy)}
body.tw-nordic .tw_match_basic .tw_group{color:var(--twn-muted);font-size:12px}
body.tw-nordic .tw_team_head,body.tw-nordic .tw_player_head,body.tw-nordic .tw_match_head{background:var(--twn-stripes),var(--twn-navy);color:#fff;padding:24px}
body.tw-nordic .tw_team_filters,body.tw-nordic .tw_player_filters{background:#fff;padding:16px}
body.tw-nordic .tw_full_match,body.tw-nordic .tw_team,body.tw-nordic .tw_player{max-width:1200px;margin-inline:auto}
body.tw-nordic .tw_match_startlist_tabs,body.tw-nordic .tw_match_details_tabs{font-family:Barlow,Arial,sans-serif}
.twn-route-main{min-height:45vh}
.twn-route-main>.twn-credit{width:min(1200px,calc(100% - 32px));margin:24px auto}
@media(min-width:600px){
 .twn-sponsor{width:200px;height:80px}
 .twn-partners .twn-sponsor-slot{max-width:none}
 .twn-partners .twn-sponsor{width:200px}
 .twn-container{width:min(1200px,calc(100% - 64px))}
 .twn-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .twn-archive-grid>.twn-featured{grid-column:1/-1}
 .twn-news-search select,.twn-news-search input[type=search]{width:auto;max-width:270px}
 .twn-media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .twn-media-grid>.twn-post-card:first-child{grid-column:auto}
 .twn-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:900px){
 .twn-header .custom-logo{height:64px}
 .twn-topbar{display:block}
 .twn-menu-toggle{display:none}
 .twn-header-row{flex-wrap:nowrap;gap:24px}
 .twn-primary,.twn-primary.twn-nav-enhanced:not(.twn-nav-open){display:block;width:auto;flex:1}
 .twn-menu{gap:4px 14px}
 .twn-menu a{font-size:13px}
 .twn-menu>li{position:relative}
 .twn-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:190px;padding:12px;background:var(--twn-deep);z-index:10}
 .twn-menu li:hover>.sub-menu,.twn-menu li:focus-within>.sub-menu{display:block}
 .twn-competition-picker{width:auto;flex-shrink:0;gap:5px}
 .twn-competition-picker select{max-width:170px}
 .twn-competition-picker .twn-button{padding:10px}
 .twn-home-hero{grid-template-columns:2fr 1fr}
 .twn-home-hero .twn-featured{display:grid;grid-template-columns:38% 62%;min-height:440px}
 .twn-home-hero .twn-featured .twn-post-image{grid-column:2;grid-row:1;aspect-ratio:auto;height:100%;border:0}
 .twn-home-hero .twn-featured .twn-post-copy{grid-column:1;grid-row:1;padding:24px 18px}
 .twn-home-hero .twn-featured h2{font-size:34px}
 .twn-welcome{grid-column:1/-1}
 .twn-news-row{grid-template-columns:repeat(5,minmax(0,1fr))}
 .twn-news-row .twn-post-card{display:block}
 .twn-news-row .twn-post-image{height:auto;aspect-ratio:1.4}
 .twn-news-row h2{font-size:20px}
 .twn-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
 .twn-standings-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
 .twn-standings-grid>.twn-data-card:only-child{grid-column:1/-1}
 .twn-article-grid{grid-template-columns:minmax(0,1fr) 300px}
 .twn-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .twn-archive-grid>.twn-featured{grid-column:span 3;grid-row:span 2}
 .twn-archive-grid>.twn-featured .twn-post-image{aspect-ratio:1.95}
 .twn-archive-grid>.twn-featured h2{font-size:32px}
 .twn-footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:60px;padding-block:50px}
 .twn-footer-grid>div:first-child{grid-column:auto}
 .twn-section{margin-block:48px}
}
@media(prefers-reduced-motion:no-preference){.twn-post-image img{transition:transform .2s}.twn-post-card:hover .twn-post-image img{transform:scale(1.025)}}
/* Keep light text tokens local to dark plugin surfaces; light tables retain navy. */
body.tw-nordic .tw_team_head,body.tw-nordic .tw_player_head,body.tw-nordic .tw_match_head,body.tw-nordic .tw_group_wrap,body.tw-nordic .tw_group_title,
body.tw-nordic :is(.tw_team,.tw_player,.tw_full_match) .filters_head{
 --tw-text-on-dark-primary:#fff;--tw-text-on-dark-muted:#bdcce6;--tw-text-on-dark-subtle:#bdcce6;--tw-text-on-dark-placeholder:#bdcce6;--tw-text-on-dark-meta:#bdcce6;color:#fff;
}
body.tw-nordic .tw_team .nav-tabs .nav-link{color:var(--tw-tabs-text);background:var(--tw-tabs-bg)}
body.tw-nordic .tw_group_table thead td{background:var(--twn-navy);color:#fff;--tw-text-on-dark-primary:#fff}
/* Match the theme competition picker, including focus (plugin focus is light). */
body.tw-nordic .tw_team .tw_team_filters select,
body.tw-nordic .tw_player .tw_player_filters select,
body.tw-nordic :is(.tw_team,.tw_player,.tw_full_match) .filters_options>select,
body.tw-nordic .tw_competition_team_matches_preload .tw_team_dropdown{
 --tw-text-on-dark-primary:#fff;box-sizing:border-box;max-width:100%;min-width:0;width:100%;background-color:var(--twn-navy);border:1px solid var(--twn-yellow);border-radius:3px;color:#fff;padding:12px 35px 12px 12px;font:600 14px/1.5 Barlow,Arial,sans-serif;
}
body.tw-nordic .tw_team .tw_team_filters select:focus,
body.tw-nordic .tw_player .tw_player_filters select:focus,
body.tw-nordic :is(.tw_team,.tw_player,.tw_full_match) .filters_options>select:focus,
body.tw-nordic .tw_competition_team_matches_preload .tw_team_dropdown:focus{
 outline:3px solid #007caf;outline-offset:3px;
}
/* Goals rings stay on navy; other rings retain their light plugin surfaces. */
body.tw-nordic .player-goals-section{
 --tw-chart-text:#fff;--tw-text-on-dark-primary:#fff;--tw-text-on-dark-muted:#bdcce6;--tw-text-on-dark-subtle:#bdcce6;background-color:var(--twn-navy);border-radius:3px;color:#fff;
}
/* Surface tokens reach empty plugin icons without changing their content/boxes.
   Nested light cards and tabs reset the dark treatment at their own boundary. */
body.tw-nordic :where(.twn-header,.twn-footer,.twn-title-band,.twn-standings-band,.twn-welcome,.twn-partners,.twn-gallery-link,.twn-home-hero .twn-featured,
 .tw_team_head,.tw_player_head,.tw_match_head,.tw_group_wrap,.tw_group_title,.tw-header-bar,.tw_search_section_title,.player-goals-section,
 :is(.tw_team,.tw_player,.tw_full_match) .filters_head,.tw_group_table th,.tw_group_table thead td,.tw-val th){
 --tw-chart-text:#fff;--twn-fallback-color:#fff;--twn-fallback-filter:brightness(0) invert(1);
}
body.tw-nordic :where(.twn-data-card,.twn-sponsor,.tw_group_div,.tw_group_table,.tw_team_filters,.tw_player_filters,.tw-unavailable,.tw_search_results,
 .tw_match_basic,.tw_match_detailed,.nav-tabs,.nav-link,.tw-tab-button,.tw_match_startlist_tabs,.tw_match_details_tabs){
 --tw-chart-text:var(--twn-navy);--twn-fallback-color:var(--twn-navy);--twn-fallback-filter:none;
}
body.tw-nordic :where(:is([class^="tw_"],[class*=" tw_"],#twap_matches) :is(
 .fa-chevron-left,.fa-chevron-right,.fa-chevron-down,.fa-arrows-alt-v,.fa-times,.fa-crosshairs,.icon-dot-3,.icon-plus-circled,.icon-minus,.icon-cd,.icon-target,.icon-cancel-circled,
 .fa-birthday-cake,.fa-hand-paper,.fa-weight,.fa-link,.icon-chart-bar,.icon-users,.icon-doc-text,.icon-location-line,.icon-calendar,.match-link):empty){
 color:var(--twn-fallback-color);
}
body.tw-nordic :where(:is([class^="tw_"],[class*=" tw_"],#twap_matches) :is(
 .fa-birthday-cake,.fa-hand-paper,.fa-weight,.fa-link,.icon-chart-bar,.icon-users,.icon-doc-text,.icon-location-line,.icon-calendar):empty:not(.match-link))::before{
 filter:var(--twn-fallback-filter);
}

/* Player leaderboards: pair tables; only the placeholder spans both columns. */
.twn-player-stats-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.twn-player-stats-grid>.twn-stats-wide{grid-column:1/-1}
@media(min-width:1000px){
 .twn-player-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Match Center: federation-scoped seven-day widget, retaining plugin navigation. */
body.tw-nordic .twn-seven-days-card{
 --tw-font-heavy:Anton,Impact,sans-serif;--tw-font-book:Barlow,Arial,sans-serif;margin-block-start:24px;
}
body.tw-nordic .twn-seven-days-card .tw_seven_days_matches{min-width:0;max-width:100%;overflow-wrap:anywhere}
body.tw-nordic .twn-seven-days-card .tw_day_nav{
 --tw-surfaces-gradient-start:var(--tw-headers-bg);display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;
 background:var(--tw-surfaces-gradient-start);color:var(--tw-headers-text);border-bottom-color:var(--tw-accent-highlight);font:400 18px/1.4 var(--tw-font-heavy);
}
body.tw-nordic .twn-seven-days-card .tw_day_nav>div{min-width:0;max-width:none;width:auto;padding:12px 4px}
body.tw-nordic .twn-seven-days-card .tw_day_nav :is(.previousDay,.nextDay){display:flex;align-items:center;justify-content:center;color:var(--tw-headers-text)}
body.tw-nordic .twn-seven-days-card .tw_day_nav :is(.previousDay,.nextDay):is(:hover,:focus){
 --twn-fallback-color:var(--tw-accent-highlight);color:var(--tw-accent-highlight);
}
body.tw-nordic .twn-seven-days-card .tw_day_nav :is(.previousDay,.nextDay):focus{outline:3px solid var(--tw-accent-highlight);outline-offset:-3px}
body.tw-nordic .twn-seven-days-card .tw_competition_round_header{
 background:var(--tw-headers-bg);color:var(--tw-headers-text);font:400 18px/1.4 var(--tw-font-heavy);padding:10px;
}
body.tw-nordic .twn-seven-days-card .tw_info_text{
 background:var(--tw-panels-bg);color:var(--tw-muted);border:1px solid var(--tw-border-on-light);border-radius:3px;padding:20px;
 font:400 15px/1.6 var(--tw-font-book);text-transform:none;overflow-wrap:anywhere;
}

/* Preserve Nordic zebra rows when newer plugin tables set local surface tokens. */
body.tw-nordic .twn-stats-scroll .tw-statistics-table{--tw-stats-heading-background:#f1f4f8}

/* Competition teams (2026.10.30.3): the tw_teams grid/list plugin contract. */
body.tw-nordic .twn-data-scroll:has(.tw-teams){overflow:visible}
body.tw-nordic .tw-teams{
 --tw-teams-background:var(--twn-navy);--tw-teams-border:var(--twn-navy);--tw-teams-radius:3px;--tw-teams-text:#fff;--tw-teams-link:#fff;--tw-teams-focus:var(--twn-yellow);
 --tw-teams-gap:16px;--tw-teams-padding:20px 12px;--tw-teams-logo-size:80px;
 max-width:100%;margin:0;padding:0;
}
body.tw-nordic .tw-teams .tw-teams-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tw-teams-gap);max-width:100%;margin:0;padding:0;list-style:none}
body.tw-nordic .tw-teams .tw-teams-card{
 min-width:0;margin:0;padding:0;list-style:none;border:2px solid var(--tw-teams-border);border-radius:var(--tw-teams-radius);background:var(--tw-teams-background);color:var(--tw-teams-text);
}
body.tw-nordic .tw-teams .tw-teams-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;height:100%;padding:var(--tw-teams-padding);color:var(--tw-teams-link);text-align:center;text-decoration:none}
body.tw-nordic .tw-teams .tw-teams-logo{display:block;flex:0 0 var(--tw-teams-logo-size);width:var(--tw-teams-logo-size);height:var(--tw-teams-logo-size);max-width:100%;margin:0;padding:8px;border-radius:3px;object-fit:contain}
body.tw-nordic .tw-teams .tw-teams-name{min-width:0;max-width:100%;font:400 20px/1.3 Anton,Impact,sans-serif;text-transform:uppercase;overflow-wrap:anywhere}
body.tw-nordic .tw-teams .tw-teams-link:hover .tw-teams-name{text-decoration:none}
body.tw-nordic .tw-teams .tw-teams-card:hover,body.tw-nordic .tw-teams .tw-teams-card:focus-within{border-color:var(--tw-teams-focus)}
body.tw-nordic .tw-teams .tw-teams-link:focus-visible{outline:3px solid var(--tw-teams-focus);outline-offset:3px}
body.tw-nordic .tw-teams>.tw-unavailable{grid-column:1/-1}
@media(min-width:600px){body.tw-nordic .tw-teams .tw-teams-items{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){body.tw-nordic .tw-teams .tw-teams-items{grid-template-columns:repeat(4,minmax(0,1fr))}}
body.tw-nordic .tw-teams.tw-teams--list{--tw-teams-logo-size:56px}
body.tw-nordic .tw-teams--list .tw-teams-items{grid-template-columns:minmax(0,1fr)}
body.tw-nordic .tw-teams--list .tw-teams-link{flex-direction:row;justify-content:flex-start;text-align:start}

/* Keep theme-owned logo surfaces above important mobile image resets.
   Limit priority to the backdrop and inset edge; never recolour image content. */
body.tw-nordic :is(.tw-teams .tw-teams-logo,.twn-sponsor:has(img),.team-logo-standings,
 .tw-match-logo,.tw_team_logo,.tw_carousel_team_logo,.tw-feed .tw_logo,
 .teamlogo-placeholder img,.tw_pl_logo_wrap,
 .tw_search_result_logo_placeholder,.tw_search_result_logo_placeholder img,.tw_search_result_logo){
 background:#e9edf3 !important;box-shadow:inset 0 0 0 1px #d5dbe5 !important;
}

/* Server-rendered season links remain usable without JavaScript. */
.twn-season-switcher{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;margin-bottom:20px;padding:5px}
.twn-season-switcher a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;flex-shrink:0;border:1px solid var(--twn-border);border-radius:999px;background:#fff;color:var(--twn-navy);font-weight:600;white-space:nowrap;text-decoration:none}
.twn-season-switcher a:hover{background:var(--twn-page)}
.twn-season-switcher a[aria-current="true"]{background:var(--twn-navy);border-color:var(--twn-navy);color:#fff}
.twn-standings-band .twn-season-switcher a[aria-current="true"]{background:var(--twn-yellow);border-color:var(--twn-yellow);color:var(--twn-navy)}
@media(max-width:599px){.twn-season-switcher{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain}}

/* Official social links stay reachable in the footer on small screens. */
.twn-social-links{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px}
.twn-footer .twn-social-links a{display:inline-flex;align-items:center;min-height:44px}
.twn-footer .twn-watch-live{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--twn-navy)}
.twn-footer .twn-watch-live:hover{text-decoration:none}
.twn-watch-live svg{display:block;flex-shrink:0}

/* The complete sponsor directory is independent of banner placements. */
.twn-sponsors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;margin:24px 0 0;padding:0}
.twn-sponsors-grid>li{min-width:0}
.twn-sponsor-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%;min-height:170px;padding:16px;background:#e9edf3;box-shadow:inset 0 0 0 1px #d5dbe5;color:var(--twn-navy);text-decoration:none;text-align:center;overflow-wrap:anywhere}
.twn-sponsor-logo{display:flex;align-items:center;justify-content:center;width:100%;height:90px}
.twn-sponsor-logo img{display:block;width:100%;height:100%;max-height:90px;object-fit:contain}
.twn-sponsor-name{font-weight:700}
a.twn-sponsor-tile:hover,a.twn-sponsor-tile:focus-visible{color:var(--twn-navy);box-shadow:inset 0 0 0 2px var(--twn-yellow);text-decoration:none}
a.twn-sponsor-tile:focus-visible{outline-color:var(--twn-yellow)}
@media(min-width:600px){.twn-sponsors-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.twn-sponsors-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
