/* CLUB Team Hub — self-contained front-end styles (no UIkit dependency).
 * --club-red is set inline per department (primary_color). */
.club-hub{--club-red:#E30613;--club-ink:#16181d;--club-bg:#ffffff;--club-grey:#f1f2f4;--club-muted:#6b7280;--club-hero-from:#121212;--club-hero-to:#780000;--club-hero-text:#ffffff;--club-card-bg:#ffffff;--club-card-border:#e6e7ea;--club-card-text:#16181d;--club-nav-bg:#ffffff;--club-nav-text:#16181d;--club-grey:#f1f2f4;font-family:"Roboto",system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--club-ink);line-height:1.5}
.club-hub *,.club-hub *::before,.club-hub *::after{box-sizing:border-box}
.club-wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* Hero */
.club-hero{position:relative;overflow:hidden;background-color:var(--club-hero-from);background-size:cover;background-position:center top;color:var(--club-hero-text)}
.club-hero-gradient{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.82),color-mix(in srgb,var(--club-red) 72%,#000) 60%,rgba(0,0,0,.72));pointer-events:none;z-index:1}
.club-hero-inner{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding:54px 20px;flex-wrap:wrap}
.club-hero-logo img{width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.club-hero-title{font-size:clamp(28px,5vw,52px);font-weight:900;margin:0;line-height:1.05;text-transform:uppercase;letter-spacing:.01em}
.club-hero-subtitle{margin:.4em 0 0;font-size:18px;opacity:.9}
.club-badges{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.club-badge{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:13px;font-weight:700;letter-spacing:.03em}
.club-badge-season{background:#fff;color:var(--club-red)}

/* Nav tabs */
.club-nav{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e6e7ea;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.club-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;overflow-x:auto}
.club-nav li{flex:0 0 auto}
.club-nav a{display:block;padding:16px 16px;font-weight:800;font-size:14px;letter-spacing:.03em;color:var(--club-nav-text);text-decoration:none;border-bottom:3px solid transparent;text-transform:uppercase}
.club-nav a:hover{color:var(--club-red);border-bottom-color:var(--club-red)}

/* Sections */
.club-section{padding:48px 0;scroll-margin-top:64px}
.club-section-grey{background:var(--club-grey)}
.club-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}
.club-section-title-centered{justify-content:center;text-align:center}
.club-kicker{color:var(--club-red);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:6px}
.club-section-title h2{margin:0;font-size:clamp(22px,3.5vw,34px);font-weight:900;letter-spacing:.01em}
.club-section-meta{color:#6b7280;font-size:14px;margin-top:6px}
.club-muted{color:var(--club-muted)}
.club-prose{max-width:820px;font-size:17px}

/* Buttons */
.club-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--club-red);color:#fff;font-weight:800;text-decoration:none;border-radius:8px;padding:10px 16px;border:0;cursor:pointer}
.club-btn:hover{filter:brightness(.92);color:#fff}
.club-btn-sm{padding:7px 12px;font-size:13px}

/* News grid */
.club-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.club-news-card{background:#fff;border:1px solid #e6e7ea;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.club-news-thumb{display:block;aspect-ratio:16/9;overflow:hidden}
.club-news-thumb img{width:100%;height:100%;object-fit:cover}
.club-news-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.club-news-date{font-size:12px;font-weight:700;color:var(--club-red);text-transform:uppercase;letter-spacing:.05em}
.club-news-title{margin:0;font-size:18px;line-height:1.25}
.club-news-title a{color:var(--club-card-text);text-decoration:none}
.club-news-title a:hover{color:var(--club-red)}
.club-news-excerpt{margin:0;color:#4b5563;font-size:14px}
.club-news-body .club-btn{margin-top:auto;align-self:flex-start}

/* Roster — SHARP corners (design decision) */
.club-roster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.club-roster-card{background:var(--club-card-bg);background:#fff;border:1px solid #e6e7ea;border-radius:0;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.club-player-photo{position:relative;aspect-ratio:3/4;background:#e9eaed;border-radius:0;overflow:hidden}
.club-player-photo img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.club-player-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:34px;color:#c7c9cf;letter-spacing:.1em}
.club-player-number{position:absolute;top:10px;left:10px;background:var(--club-red);color:#fff;font-weight:900;padding:4px 9px;font-size:14px}
.club-player-captain{position:absolute;top:10px;right:10px;background:#111;color:#fff;font-weight:800;padding:3px 8px;font-size:11px;letter-spacing:.06em}
.club-player-body{padding:14px}
.club-player-name{margin:0;font-size:17px;font-weight:800;line-height:1.2}
.club-player-position{color:var(--club-red);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-top:3px}
.club-player-meta{margin-top:8px;display:flex;gap:12px;color:#6b7280;font-size:13px}

/* Matches */
.club-matches{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.club-match-card{background:#fff;border:1px solid #e6e7ea;border-top:5px solid var(--club-red);border-radius:14px;padding:18px;box-shadow:0 14px 35px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:10px}
.club-match-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#6b7280}
.club-match-comp{font-weight:700;color:var(--club-ink);text-align:right}
.club-match-matchday{font-weight:900;color:var(--club-red);text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.club-match-teams{display:flex;align-items:center;justify-content:space-between;gap:10px}
.club-match-team{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.club-match-team:last-child{flex-direction:row-reverse;text-align:right}
.club-match-team img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.club-match-team span{font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis}
.club-match-score{font-weight:900;font-size:24px;flex:0 0 auto;padding:0 8px}
.club-match-details{text-align:center;color:#374151;font-size:13px;background:#f1f2f4;border-radius:6px;padding:5px 8px}
.club-match-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eee;padding-top:10px}
.club-match-info{font-size:13px;color:#6b7280}

/* Standings */
.club-standings-comp{font-size:18px;font-weight:800;margin:22px 0 10px}
.club-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e6e7ea;border-radius:10px}
.club-table{width:100%;border-collapse:collapse;min-width:640px}
.club-table th,.club-table td{padding:11px 12px;text-align:center;border-bottom:1px solid var(--club-card-border);font-size:14px}
.club-table th{background:#111;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.club-table th:nth-child(2),.club-table td:nth-child(2){text-align:left}
.club-team-cell{font-weight:700}
.club-team-logo{height:24px;width:auto;vertical-align:middle;margin-right:8px}
.club-standings-highlight{background:color-mix(in srgb,var(--club-red) 12%,#fff)}
.club-standings-highlight td{font-weight:800}
.club-standings-highlight td:first-child{box-shadow:inset 4px 0 0 var(--club-red)}

/* Titles */
.club-titles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.club-title-card{background:#fff;border:1px solid #e6e7ea;border-radius:12px;padding:22px;text-align:center}
.club-title-trophy img{height:84px;width:auto;object-fit:contain;margin-bottom:10px}
.club-title-count{font-size:40px;font-weight:900;color:var(--club-red);line-height:1}
.club-title-name{font-weight:800;margin-top:4px}
.club-title-years{color:#6b7280;font-size:13px;margin-top:4px}

/* Sponsors */
.club-sponsors-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.club-sponsor{background:#fff;border:1px solid #e6e7ea;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:18px;min-height:96px;text-decoration:none;color:var(--club-ink);font-weight:700}
.club-sponsor img{max-width:100%;max-height:60px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:.2s}
.club-sponsor:hover img{filter:none;opacity:1}

/* Responsive */
@media(max-width:1000px){
  .club-news-grid,.club-roster-grid,.club-titles-grid{grid-template-columns:repeat(2,1fr)}
  .club-sponsors-grid{grid-template-columns:repeat(3,1fr)}
  .club-matches{grid-template-columns:1fr}
}
@media(max-width:560px){
  .club-news-grid,.club-roster-grid,.club-titles-grid{grid-template-columns:1fr}
  .club-sponsors-grid{grid-template-columns:repeat(2,1fr)}
  .club-hero-inner{padding:36px 20px}
}

/* Match Page */
.club-mp-hero{background:linear-gradient(135deg,#121212,var(--club-red) 60%,#780000);color:#fff;padding:48px 0;text-align:center}
.club-mp-comp{font-weight:700;letter-spacing:.05em;opacity:.9}
.club-mp-matchday{font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.club-mp-teams{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:22px;flex-wrap:wrap}
.club-mp-team{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:160px}
.club-mp-team img{width:110px;height:110px;object-fit:contain}
.club-mp-team span{font-weight:900;font-size:20px}
.club-mp-score{font-size:56px;font-weight:900;line-height:1}
.club-mp-details{margin-top:18px;font-size:16px;background:rgba(255,255,255,.14);display:inline-block;padding:8px 16px;border-radius:8px}
.club-mp-info{width:100%;max-width:680px;border-collapse:collapse;background:#fff;border:1px solid #e6e7ea;border-radius:10px;overflow:hidden}
.club-mp-info th,.club-mp-info td{padding:13px 16px;text-align:left;border-bottom:1px solid #eef0f2;font-size:15px}
.club-mp-info th{width:200px;background:#f7f8f9;font-weight:800}
.club-mp-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:560px){.club-mp-team{min-width:120px}.club-mp-team img{width:80px;height:80px}.club-mp-score{font-size:40px}}

/* Roster card as link */
a.club-roster-card{text-decoration:none;color:inherit;display:block;transition:transform .15s,box-shadow .15s}
a.club-roster-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,0,0,.12)}

/* Athlete page */
.club-athlete-photo img{width:150px;height:200px;object-fit:cover;border:0}
.club-athlete-grid{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}
.club-athlete-socials{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.club-athlete-h2{font-size:22px;font-weight:900;margin:0 0 14px;text-transform:uppercase;letter-spacing:.01em}
.club-athlete-h2:not(:first-child){margin-top:28px}
@media(max-width:780px){.club-athlete-grid{grid-template-columns:1fr}}

/* ============ Matches table (schedule & results) ============ */
.club-matches-table{width:100%;border-collapse:collapse;min-width:920px}
.club-matches-table thead th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.06em;color:#9aa0a6;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #e6e7ea;white-space:nowrap}
.club-matches-table tbody td{padding:14px;border-bottom:1px solid var(--club-card-border);vertical-align:middle;font-size:15px;color:var(--club-card-text)}
.club-matches-table tbody tr:hover{background:var(--club-hub-bg-alt,var(--club-grey))}
.club-mt-date strong{font-weight:800;white-space:nowrap}
.club-mt-comp{color:#374151;white-space:nowrap}
.club-mt-match{min-width:300px}
.club-mt-teams{display:flex;align-items:center;gap:10px}
.club-mt-names{font-weight:700}
.club-mt-matchday{margin-top:5px;font-size:12px;font-weight:800;letter-spacing:.05em;color:#9aa0a6;text-transform:uppercase}
.club-mt-venue,.club-mt-tv{color:#4b5563;white-space:nowrap}
.club-mt-score-main{font-weight:900;font-size:18px;display:block}
.club-mt-score-detail{display:block;color:#9aa0a6;font-size:12px;font-weight:700;letter-spacing:.02em;margin-top:2px;white-space:nowrap}
.club-mt-action{text-align:right}

/* Side logo / abbreviation badge */
.club-side-logo,.club-side-abbr{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e6e7ea;background:#fff;overflow:hidden}
.club-side-logo img{width:100%;height:100%;object-fit:contain}
.club-side-abbr{font-size:11px;font-weight:900;color:var(--club-red);letter-spacing:.02em}

/* Status pills */
.club-status{display:inline-block;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.04em;color:#fff;text-transform:uppercase;white-space:nowrap}
.club-status-upcoming{background:var(--club-red)}
.club-status-live{background:#e11d48}
.club-status-finished{background:#1f2329}
.club-status-postponed{background:#b45309}
.club-status-cancelled{background:#6b7280}

/* ============ Next/Previous spotlight ============ */
.club-spotlight-section{padding-top:14px;padding-bottom:14px}
.club-spotlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.club-spot-card{position:relative;background:#fff;border:1px solid #e6e7ea;border-radius:14px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.06);text-align:center}
.club-spot-card.is-next{border-top:5px solid var(--club-red)}
.club-spot-card.is-result{border-top:5px solid #1f2329}
.club-spot-label{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--club-red);margin-bottom:6px}
.club-spot-card.is-result .club-spot-label{color:#1f2329}
.club-spot-meta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;color:#6b7280;font-size:13px;font-weight:700;margin-bottom:14px}
.club-spot-teams{display:flex;align-items:center;justify-content:center;gap:18px}
.club-spot-team{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:0}
.club-spot-team .club-side-logo,.club-spot-team .club-side-abbr{width:64px;height:64px}
.club-spot-team .club-side-abbr{font-size:16px}
.club-spot-team span{font-weight:800;font-size:15px}
.club-spot-center{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;min-width:90px}
.club-spot-score{font-size:34px;font-weight:900;line-height:1}
.club-spot-vs{font-size:18px;font-weight:900;color:#9aa0a6}
.club-spot-datetime{font-size:13px;color:#6b7280;margin-top:4px;font-weight:700}
.club-spot-detail{margin-top:12px;color:#374151;font-size:13px;background:#f1f2f4;border-radius:6px;padding:5px 10px;display:inline-block}
.club-spot-card .club-btn{margin-top:14px}

/* ============ Roster slider ============ */
.club-roster-slider{position:relative}
.club-slider-viewport{overflow:hidden}
.club-slider-track{display:flex;transition:transform .35s ease;will-change:transform}
.club-roster-page{flex:0 0 100%;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-content:start}
.club-slider-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border-radius:50%;border:0;background:var(--club-red);color:#fff;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.club-slider-arrow:hover{filter:brightness(.92)}
.club-slider-arrow:disabled{background:#c7c9cf;cursor:default;box-shadow:none}
.club-slider-prev{left:-18px}
.club-slider-next{right:-18px}
.club-slider-dots{display:flex;gap:8px;justify-content:center;margin-top:18px}
.club-slider-dot{width:10px;height:10px;border-radius:50%;border:0;background:#cdd0d5;cursor:pointer;padding:0}
.club-slider-dot.is-active{background:var(--club-red)}

@media(max-width:1000px){
  .club-roster-page{grid-template-columns:repeat(2,1fr)}
  .club-spotlight-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .club-slider-arrow{display:none}
}
@media(max-width:560px){
  .club-roster-page{grid-template-columns:1fr}
}

/* ============================================================
   Match Page v2 — modern broadcast scoreboard
   ============================================================ */
.club-mp2{--mp-ink:#15161a;font-family:"Archivo","Roboto",system-ui,sans-serif;color:var(--mp-ink)}
.club-mp2 *,.club-mp2 *::before,.club-mp2 *::after{box-sizing:border-box}

/* Hero */
.club-mp2-hero{position:relative;overflow:hidden;color:#fff;padding:46px 20px 56px;
  background:
    radial-gradient(120% 90% at 18% 12%, color-mix(in srgb,var(--mp-accent) 55%, transparent), transparent 46%),
    radial-gradient(120% 90% at 86% 26%, color-mix(in srgb,var(--mp-accent) 38%, transparent), transparent 52%),
    linear-gradient(135deg,#0b0b0e 0%, #1b0709 42%, color-mix(in srgb,var(--mp-accent) 90%, #000) 130%);
}
.club-mp2-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 6px);opacity:.5}
.club-mp2-wm{position:absolute;top:50%;transform:translateY(-50%);width:min(42vw,460px);opacity:.06;z-index:0;filter:grayscale(1) brightness(3)}
.club-mp2-wm img{width:100%;height:auto;display:block}
.club-mp2-wm-l{left:-7%}
.club-mp2-wm-r{right:-7%}
.club-mp2-hero-inner{position:relative;z-index:2;max-width:1080px;margin:0 auto;text-align:center}

.club-mp2-back{display:inline-block;color:rgba(255,255,255,.78);text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.04em;margin-bottom:18px;transition:color .2s}
.club-mp2-back:hover{color:#fff}
.club-mp2-kicker{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.club-mp2-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5)}
.club-mp2-status{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 16px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.1em;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(6px)}
.club-mp2-status-dot{width:8px;height:8px;border-radius:50%;background:var(--club-bg)}
.club-mp2-status-live .club-mp2-status{background:#e11d48;border-color:#e11d48}
.club-mp2-status-live .club-mp2-status-dot{background:#fff;animation:club-pulse 1.1s infinite}
@keyframes club-pulse{0%,100%{opacity:1}50%{opacity:.25}}

/* Scoreboard */
.club-mp2-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:30px}
.club-mp2-side{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0}
.club-mc-crest{width:124px;height:124px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(0,0,0,.4);overflow:hidden}
.club-mc-crest img{width:80%;height:80%;object-fit:contain}
.club-mc-abbr{font-family:"Anton",sans-serif;font-size:40px;color:var(--mp-accent);letter-spacing:.02em}
.club-mp2-team{font-family:"Anton",sans-serif;font-size:clamp(20px,3vw,30px);letter-spacing:.02em;text-transform:uppercase;line-height:1.05}
.club-mp2-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:150px}
.club-mp2-score{font-family:"Anton",sans-serif;display:flex;align-items:center;gap:14px;font-size:clamp(56px,11vw,116px);line-height:.9}
.club-mp2-score span{opacity:.55;transition:opacity .3s}
.club-mp2-score span.win{opacity:1}
.club-mp2-score i{font-style:normal;opacity:.4;font-size:.6em}
.club-mp2-vs{font-family:"Anton",sans-serif;font-size:clamp(40px,7vw,72px);opacity:.9}
.club-mp2-when{margin-top:6px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.85)}

/* Set-by-set chips */
.club-mp2-sets{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.club-mp2-set{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);border-radius:12px;padding:9px 16px;min-width:78px;text-align:center}
.club-mp2-set-label{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.62);margin-bottom:4px}
.club-mp2-set-score{font-family:"Anton",sans-serif;font-size:21px;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:6px}
.club-mp2-set-score b{opacity:.5;font-weight:400}
.club-mp2-set-score b.win{opacity:1;color:#fff}
.club-mp2-set-score i{font-style:normal;opacity:.35}

/* Countdown */
.club-mp2-countdown{display:flex;justify-content:center;gap:14px;margin-top:30px}
.club-cd-unit{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 8px;min-width:74px;backdrop-filter:blur(8px)}
.club-cd-unit b{font-family:"Anton",sans-serif;display:block;font-size:34px;line-height:1}
.club-cd-unit span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.66);margin-top:4px}

/* Body: info cards */
.club-mp2-body{max-width:1080px;margin:0 auto;padding:34px 20px 8px}
.club-mp2-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.club-mp2-card{background:#fff;border:1px solid #e9eaed;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 22px rgba(0,0,0,.04);transition:transform .18s,box-shadow .18s}
.club-mp2-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(0,0,0,.08)}
.club-mp2-card-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--mp-accent);background:color-mix(in srgb,var(--mp-accent) 12%, #fff)}
.club-mp2-card-ic svg{width:22px;height:22px}
.club-mp2-card-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9aa0a6}
.club-mp2-card-value{font-size:17px;font-weight:700;color:var(--mp-ink)}

/* Actions */
.club-mp2-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.club-mp2-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:999px;font-weight:800;letter-spacing:.02em;text-decoration:none;transition:transform .15s,filter .15s,background .15s,color .15s}
.club-mp2-btn:hover{transform:translateY(-2px)}
.club-mp2-btn.primary{background:var(--mp-accent);color:#fff}
.club-mp2-btn.primary:hover{filter:brightness(.92)}
.club-mp2-btn.dark{background:#15161a;color:#fff}
.club-mp2-btn.dark:hover{filter:brightness(1.25)}
.club-mp2-btn.ghost{background:transparent;color:var(--mp-accent);border:2px solid color-mix(in srgb,var(--mp-accent) 40%, #fff)}
.club-mp2-btn.ghost:hover{background:color-mix(in srgb,var(--mp-accent) 10%, #fff)}

/* Entrance animation (one orchestrated reveal) */
.club-mp2-hero-inner > *{animation:club-rise .6s cubic-bezier(.2,.7,.2,1) both}
.club-mp2-kicker{animation-delay:.05s}
.club-mp2-status{animation-delay:.1s}
.club-mp2-scoreboard{animation-delay:.16s}
.club-mp2-sets,.club-mp2-countdown{animation-delay:.26s}
.club-mp2-card{animation:club-rise .5s ease both}
@keyframes club-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.club-mp2-hero-inner>*,.club-mp2-card{animation:none}}

/* Responsive */
@media(max-width:680px){
  .club-mc-crest{width:84px;height:84px}
  .club-mc-abbr{font-size:28px}
  .club-mp2-scoreboard{gap:8px}
  .club-mp2-center{min-width:96px}
  .club-mp2-wm{display:none}
  .club-cd-unit{min-width:62px;padding:10px 6px}
}

/* ============================================================
   Athlete Page v2 — shares the match-page design language
   ============================================================ */
.club-ap2-hero{position:relative;overflow:hidden;color:#fff;padding:48px 20px 52px;
  background:
    radial-gradient(120% 90% at 18% 12%, color-mix(in srgb,var(--mp-accent) 55%, transparent), transparent 46%),
    radial-gradient(120% 90% at 86% 26%, color-mix(in srgb,var(--mp-accent) 38%, transparent), transparent 52%),
    linear-gradient(135deg,#0b0b0e 0%, #1b0709 42%, color-mix(in srgb,var(--mp-accent) 90%, #000) 130%);
}
.club-ap2-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 6px);opacity:.5}
.club-ap2-cover{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.16;filter:grayscale(1);z-index:0}
.club-ap2-wm{position:absolute;right:2%;top:50%;transform:translateY(-50%);font-family:"Anton",sans-serif;font-size:min(40vw,420px);line-height:1;color:#fff;opacity:.05;z-index:0;pointer-events:none}
.club-ap2-hero-inner{position:relative;z-index:2;max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:34px;flex-wrap:wrap}

.club-ap2-portrait{flex:0 0 auto;width:210px;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);box-shadow:0 22px 50px rgba(0,0,0,.45)}
.club-ap2-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.club-ap2-portrait-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:"Anton",sans-serif;font-size:46px;color:rgba(255,255,255,.4);letter-spacing:.1em}
.club-ap2-head{flex:1;min-width:260px}
.club-ap2-namerow{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:6px}
.club-ap2-number{font-family:"Anton",sans-serif;font-size:clamp(30px,5vw,52px);color:#fff;opacity:.45;line-height:1}
.club-ap2-name{font-family:"Anton",sans-serif;font-size:clamp(34px,6vw,68px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;margin:0}
.club-ap2-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.club-ap2-chip{display:inline-block;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.03em;background:#fff;color:var(--mp-accent)}
.club-ap2-chip.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22)}
.club-ap2-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.club-ap2-social{display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;font-weight:800;font-size:13px;text-decoration:none;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);transition:background .15s,transform .15s}
.club-ap2-social:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);color:#fff}

/* Body columns */
.club-ap2-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;margin-top:30px;align-items:start}
.club-ap2-h2{font-family:"Anton",sans-serif;font-size:24px;letter-spacing:.02em;text-transform:uppercase;margin:0 0 14px;position:relative;padding-bottom:10px}
.club-ap2-h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:4px;border-radius:2px;background:var(--mp-accent)}
.club-ap2-bio .club-prose{font-size:16px;color:#2b2f36}

/* Career timeline */
.club-ap2-timeline{display:flex;flex-direction:column}
.club-ap2-tl-item{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:14px 0;border-bottom:1px solid #eef0f2}
.club-ap2-tl-item:last-child{border-bottom:0}
.club-ap2-tl-season{font-weight:800;color:var(--mp-accent);font-size:14px;grid-column:1}
.club-ap2-tl-shirt{font-family:"Anton",sans-serif;font-size:20px;color:var(--club-ink);grid-row:1 / span 2;grid-column:2;align-self:center}
.club-ap2-tl-dept{grid-column:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.club-ap2-tl-dept a{color:#15161a;font-weight:700;text-decoration:none}
.club-ap2-tl-dept a:hover{color:var(--mp-accent)}
.club-ap2-tl-cap{font-size:10px;font-weight:900;letter-spacing:.08em;background:#15161a;color:#fff;padding:2px 7px;border-radius:5px}

/* Entrance + responsive */
.club-ap2-hero-inner > *{animation:club-rise .6s cubic-bezier(.2,.7,.2,1) both}
.club-ap2-head{animation-delay:.1s}
@media(prefers-reduced-motion:reduce){.club-ap2-hero-inner>*{animation:none}}
@media(max-width:820px){
  .club-ap2-columns{grid-template-columns:1fr}
}
@media(max-width:560px){
  .club-ap2-hero-inner{flex-direction:column;align-items:flex-start;text-align:left}
  .club-ap2-portrait{width:150px}
}

/* ============================================================
   Fixtures / results strip (shortcodes) — card carousel
   ============================================================ */
.club-fix-wrap{max-width:1180px;margin:0 auto;padding:24px 20px}
.club-fix-head{margin-bottom:16px}
.club-fix-title{margin:2px 0 0;font-size:clamp(20px,3vw,30px);font-weight:900;letter-spacing:.01em}
.club-fix{position:relative}
.club-fix-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 14px;-ms-overflow-style:none;scrollbar-width:none}
.club-fix-track::-webkit-scrollbar{display:none}
.club-fix-card{flex:0 0 300px;max-width:300px;scroll-snap-align:start;background:#fff;border:1px solid #e6e7ea;border-top:4px solid var(--mp-accent,#E30613);border-radius:16px;padding:18px 16px;box-shadow:0 12px 28px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:14px}
.club-fix-meta{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.club-fix-meta span{font-size:13px;font-weight:700;color:#4b5563}
.club-fix-md{font-size:11px!important;font-weight:800!important;letter-spacing:.06em;text-transform:uppercase;color:var(--mp-accent,#E30613)!important}
.club-fix-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.club-fix-team{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.club-fix-team span{font-weight:800;font-size:14px;text-align:center;line-height:1.2}
.club-fix-crest{width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid #eceef0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.club-fix-crest img{width:84%;height:84%;object-fit:contain}
.club-fix-abbr{font-family:"Anton","Archivo",sans-serif;font-size:18px;color:var(--mp-accent,#E30613)}
.club-fix-center{display:flex;flex-direction:column;align-items:center;min-width:78px}
.club-fix-score{font-family:"Anton","Archivo",sans-serif;font-size:30px;line-height:1;color:#15161a}
.club-fix-vs{font-weight:900;font-size:18px;color:#9aa0a6}
.club-fix-when{font-size:12px;color:#6b7280;margin-top:4px;font-weight:700;text-align:center}
.club-fix-foot{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:auto;border-top:1px solid #f0f1f3;padding-top:12px}
.club-fix-venue{font-size:12px;font-weight:700;color:#4b5563;background:#f1f2f4;border-radius:999px;padding:6px 12px}
.club-fix-btn{font-size:13px;font-weight:800;text-decoration:none;color:#fff;background:var(--mp-accent,#E30613);border-radius:999px;padding:7px 14px;transition:filter .15s}
.club-fix-btn:hover{filter:brightness(.92);color:#fff}
.club-fix-arrow{position:absolute;top:calc(50% + 4px);transform:translateY(-50%);z-index:6;width:40px;height:40px;border-radius:50%;border:0;background:#15161a;color:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.22);transition:opacity .15s}
.club-fix-arrow:hover{filter:brightness(1.3)}
.club-fix-arrow:disabled{opacity:0;pointer-events:none}
.club-fix-prev{left:-16px}
.club-fix-next{right:-16px}
@media(max-width:560px){
  .club-fix-card{flex-basis:84%;max-width:84%}
  .club-fix-arrow{display:none}
}

/* ============================================================
   Honours / Τίτλοι — full-page showcase
   ============================================================ */
.club-hon{--gold:#c8a24a;--gold-lt:#f1e2ad;font-family:"Archivo","Roboto",system-ui,sans-serif;color:#1a1a1d}
.club-hon *,.club-hon *::before,.club-hon *::after{box-sizing:border-box}

/* Hero */
.club-hon-hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding:74px 20px 70px;
  background:
    radial-gradient(60% 55% at 50% -5%, rgba(200,162,74,.15), transparent 60%),
    linear-gradient(160deg,#0a0a0c 0%, #190608 46%, #3a0a0d 100%);
}
.club-hon-laurel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(70vw,560px);color:var(--gold);opacity:.08;z-index:0}
.club-hon-laurel svg{width:100%;height:auto}
.club-hon-hero-inner{position:relative;z-index:2;max-width:1000px;margin:0 auto}
.club-hon-kicker{font-size:13px;font-weight:800;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.club-hon-title{font-family:"Anton",sans-serif;font-size:clamp(58px,12vw,130px);line-height:.92;margin:10px 0 0;letter-spacing:.02em;
  background:linear-gradient(180deg,#fff 0%,var(--gold-lt) 55%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 8px 30px rgba(200,162,74,.25))}
.club-hon-sub{margin:14px 0 0;color:rgba(255,255,255,.78);font-size:17px}
.club-hon-stats{display:flex;justify-content:center;gap:46px;margin-top:34px;flex-wrap:wrap}
.club-hon-stat b{display:block;font-family:"Anton",sans-serif;font-size:clamp(44px,7vw,76px);line-height:1;
  background:linear-gradient(180deg,var(--gold-lt),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.club-hon-stat span{display:block;margin-top:6px;font-size:11px;font-weight:800;letter-spacing:.18em;color:rgba(255,255,255,.6)}

/* Department bands */
.club-hon-band{padding:52px 20px;background:#fff}
.club-hon-band-alt{background:#faf7f1}
.club-hon-band-inner{max-width:1180px;margin:0 auto}
.club-hon-dept-head{display:flex;align-items:center;gap:18px;padding-left:18px;border-left:5px solid var(--dep,#E30613);margin-bottom:28px}
.club-hon-dept-logo{flex:0 0 auto;width:60px;height:60px;border-radius:50%;background:#fff;border:1px solid #e9eaed;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.06)}
.club-hon-dept-logo img{width:82%;height:82%;object-fit:contain}
.club-hon-dept-meta{display:flex;flex-direction:column;gap:6px}
.club-hon-dept-name{font-family:"Anton",sans-serif;font-size:clamp(26px,4vw,46px);line-height:1;letter-spacing:.02em;color:#15161a;text-decoration:none;text-transform:uppercase}
a.club-hon-dept-name:hover{color:var(--dep,#E30613)}
.club-hon-dept-total{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--dep,#E30613);background:color-mix(in srgb,var(--dep,#E30613) 12%, #fff);border-radius:999px;padding:4px 12px}

.club-hon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.club-hon-card{position:relative;text-align:center;background:#fff;border:1px solid #ece7db;border-radius:18px;padding:26px 18px 22px;box-shadow:0 10px 26px rgba(0,0,0,.05);transition:transform .18s,box-shadow .18s;overflow:hidden}
.club-hon-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-lt))}
.club-hon-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.1)}
.club-hon-card-trophy,.club-hon-card-img{display:inline-flex;align-items:center;justify-content:center;color:var(--gold);height:44px;margin-bottom:8px}
.club-hon-card-trophy svg{width:38px;height:38px}
.club-hon-card-img img{height:44px;width:auto;object-fit:contain}
.club-hon-card-count{display:block;font-family:"Anton",sans-serif;font-size:56px;line-height:.95;
  background:linear-gradient(180deg,var(--gold-lt),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.club-hon-card-name{display:block;margin-top:6px;font-size:16px;font-weight:800;color:#1a1a1d}
.club-hon-card-cat{display:block;margin-top:3px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9a8f78}
.club-hon-card-years{display:block;margin-top:8px;font-size:12px;color:#6b7280;line-height:1.5}
.club-hon-empty{max-width:1180px;margin:0 auto;padding:48px 20px;color:#6b7280}

@media(max-width:560px){
  .club-hon-stats{gap:30px}
  .club-hon-band{padding:38px 16px}
  .club-hon-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  .club-hon-card-count{font-size:46px}
}

/* ── color variable overrides (catch-all for remaining hardcoded values) ── */
.club-hub .club-section,.club-hub .club-wrap{background:var(--club-bg);color:var(--club-ink)}
.club-hub .club-section-grey,.club-hub .club-section-grey .club-wrap{background:var(--club-grey)}
.club-hub .club-section-title,.club-hub h2,.club-hub h3{color:var(--club-ink)}
.club-hub .club-prose,.club-hub .club-prose *{color:var(--club-ink)}
.club-hub .club-player-body{background:var(--club-card-bg)}
.club-hub .club-player-name,.club-hub .club-player-position{color:var(--club-card-text)}
.club-hub .club-roster-card{background:var(--club-card-bg);border-color:var(--club-card-border)}
.club-hub a.club-roster-card:hover{color:var(--club-card-text)}
.club-hub .club-nav{background:var(--club-nav-bg);border-color:var(--club-card-border)}
.club-hub .club-nav a{color:var(--club-nav-text)}
.club-hub .club-matches-table{color:var(--club-card-text)}
.club-hub .club-matches-table thead th{color:var(--club-muted)}
.club-hub .club-matches-table tbody{background:var(--club-card-bg)}
.club-hub .club-mt-venue,.club-hub .club-mt-tv,.club-hub .club-mt-comp{color:var(--club-ink)}
.club-hub .club-spot-card{background:var(--club-card-bg);border-color:var(--club-card-border)}
.club-hub .club-spot-team span{color:var(--club-card-text)}
.club-hub .club-spot-score{color:var(--club-ink)}
.club-hub .club-news-excerpt{color:var(--club-muted)}
.club-hub .club-mp-info th,.club-hub .club-mp-info td{color:var(--club-ink)}

/* Team photo in overview */
.club-team-photo{margin-top:24px;border-radius:14px;overflow:hidden;max-height:420px}
.club-team-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Honours: CSS variable overrides (from settings) */
.club-hon{--hon-from:#0a0a0c;--hon-to:#3a0a0d;--hon-band-bg:#ffffff;--hon-band-bg-alt:#faf7f1;--hon-band-text:#1a1a1d;--hon-card-bg:#ffffff;--hon-card-border:#ece7db;--hon-card-text:#1a1a1d}
.club-hon-hero{background:radial-gradient(60% 55% at 50% -5%,rgba(200,162,74,.15),transparent 60%),linear-gradient(160deg,var(--hon-from) 0%,var(--hon-from) 46%,var(--hon-to) 100%)}
.club-hon-band{background:var(--hon-band-bg);color:var(--hon-band-text)}
.club-hon-band-alt{background:var(--hon-band-bg-alt)}
.club-hon-dept-name,.club-hon-dept-name a{color:var(--hon-band-text)}
.club-hon-card{background:var(--hon-card-bg);border-color:var(--hon-card-border)}
.club-hon-card-name{color:var(--hon-card-text)}
.club-hon-card-years{color:var(--hon-card-text);opacity:.6}

/* Watermark image (replaces laurel SVG when set) */
.club-hon-wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(55vw,480px);opacity:.09;z-index:0;pointer-events:none;filter:grayscale(1) brightness(2)}
.club-hon-wm img{width:100%;height:auto;display:block}
