/* FACR WEB v1 — fully standalone */
:root{
  --navy:#071725;
  --navy2:#0c2235;
  --panel:#0b1d2c;
  --panel2:#11283c;
  --red:#ff263d;
  --red2:#dc1530;
  --blue:#2e5bff;
  --gold:#f0b429;
  --white:#fff;
  --bg:#f1f4f7;
  --text:#15202a;
  --muted:#6c7a88;
  --line:#dfe5ea;
  --shadow:0 14px 38px rgba(5,21,35,.10);
  --radius:18px;
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;
}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.hidden{display:none!important}

/* header */
.site-header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(4,17,29,.97);
  color:#fff;
  box-shadow:0 8px 26px rgba(0,0,0,.18);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}
.header-main{min-height:88px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand-logo-wrap{position:relative;flex:0 0 auto}
.brand-logo{width:68px;height:68px;object-fit:contain;display:block;filter:drop-shadow(0 5px 10px rgba(0,0,0,.22))}
.logo-placeholder{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e7edf2;color:#51616f;font-size:.62rem;font-weight:950;flex:0 0 auto}
.club-side .logo-placeholder{width:58px;height:58px;margin:0 auto}
.table-team .logo-placeholder{width:30px;height:30px}
.modal-club .logo-placeholder{width:82px;height:82px;margin:0 auto 10px}
.logo-fallback{
  width:60px;height:60px;border-radius:50%;
  display:none;place-items:center;background:var(--red);color:#fff;font-weight:950;
}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{font-size:clamp(1rem,1.6vw,1.55rem);font-weight:950;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-copy small{color:#bdc9d3;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:750;margin-top:3px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.main-nav a{padding:12px 13px;border-radius:9px;font-size:.9rem;font-weight:850;color:#eaf0f5}
.main-nav a:hover,.main-nav a.active{background:var(--red);color:#fff}
.nav-toggle{display:none;margin-left:auto;width:46px;height:42px;border:1px solid rgba(255,255,255,.25);background:transparent;border-radius:9px}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px auto}

/* hero */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:
    linear-gradient(112deg,#071725 0%,#0c2235 58%,#071725 100%);
  min-height:430px;
}
.hero:before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to right,#000,transparent 78%);
}
.hero-glow{position:absolute;border-radius:50%;filter:blur(10px);opacity:.35}
.hero-glow-a{width:480px;height:480px;background:var(--blue);right:7%;top:-210px}
.hero-glow-b{width:420px;height:420px;background:var(--red);right:24%;bottom:-340px}
.hero-inner{position:relative;z-index:2;min-height:430px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px}
.eyebrow,.section-kicker{font-size:.72rem;letter-spacing:.21em;text-transform:uppercase;font-weight:900;color:var(--red)}
.hero h1{font-size:clamp(2.4rem,5.1vw,5rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:10px 0 16px;max-width:850px}
.hero p{font-size:1.08rem;color:#d9e1e8;max-width:720px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.button{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:.82rem;font-weight:900;text-transform:uppercase}
.button-primary{background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(255,38,61,.27)}
.button-primary:hover{background:var(--red2)}
.button-ghost{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.04)}
.button-ghost:hover{background:#fff;color:var(--navy)}
.sync-line{display:flex;align-items:center;gap:9px;margin-top:24px;color:#aebdca;font-size:.84rem}
.health-dot{width:9px;height:9px;border-radius:50%;background:#84919d;box-shadow:0 0 0 4px rgba(132,145,157,.12)}
.health-dot.ok{background:#28c76f;box-shadow:0 0 0 4px rgba(40,199,111,.13)}
.health-dot.warn{background:#f5a623}
.hero-crest{position:relative;justify-self:center;display:grid;place-items:center;width:min(350px,33vw);aspect-ratio:1}
.hero-crest img{position:relative;z-index:2;width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.38))}
.crest-halo{position:absolute;inset:3%;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 0 70px rgba(255,255,255,.05)}
.hero-logo-fallback{display:none;width:70%;height:70%;place-items:center;border-radius:50%;background:var(--red);font-weight:950;font-size:4rem}

/* dashboard */
.dashboard{
  position:relative;z-index:5;margin-top:-42px;
  display:grid;grid-template-columns:1fr 1fr .95fr 1fr;gap:14px;
}
.score-card{
  min-width:0;background:linear-gradient(150deg,var(--panel),var(--panel2));
  color:#fff;border:1px solid rgba(255,255,255,.09);border-radius:15px;box-shadow:0 16px 34px rgba(4,17,29,.18);
  overflow:hidden;
}
.card-heading{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 17px;border-bottom:1px solid rgba(255,255,255,.09);font-size:.84rem;font-weight:900;text-transform:uppercase}
.card-heading a{color:#a9c0d4;font-size:.72rem}
.badge{padding:5px 8px;border-radius:6px;background:#168b4d;color:#fff;font-size:.63rem}
.badge-blue{background:var(--blue)}
.match-large{padding:18px;min-height:196px}
.match-meta{color:#a9b7c3;font-size:.75rem;text-transform:uppercase;font-weight:750;margin-bottom:15px}
.match-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.club-side{text-align:center;min-width:0}
.club-side img,.fixture-logo{width:58px;height:58px;object-fit:contain}
.club-name{font-size:.8rem;font-weight:850;line-height:1.15;margin-top:8px}
.score{font-size:2.15rem;font-weight:950;letter-spacing:-.05em;white-space:nowrap}
.score.pending{font-size:1.4rem;color:#aebac5}
.match-bottom{text-align:center;color:#a9b7c3;font-size:.72rem;margin-top:14px}
.skeleton-box:empty:before{content:"";display:block;height:110px;margin:20px;border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.10),rgba(255,255,255,.05));background-size:200% 100%;animation:shimmer 1.2s infinite}
@keyframes shimmer{to{background-position:-200% 0}}

.mini-table{padding:8px 12px 12px}
.mini-row{display:grid;grid-template-columns:28px 28px 1fr 38px;gap:7px;align-items:center;padding:8px 5px;border-bottom:1px solid rgba(255,255,255,.07);font-size:.74rem}
.mini-row:last-child{border-bottom:0}
.mini-row.own{background:rgba(255,38,61,.17);border-left:3px solid var(--red);padding-left:6px}
.mini-row img{width:24px;height:24px;object-fit:contain}
.mini-row strong{text-align:right}
.fixture-list{padding:8px 14px 14px}
.fixture{display:grid;grid-template-columns:48px 1fr 52px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.fixture:last-child{border-bottom:0}
.fixture-date{font-size:.69rem;font-weight:900;color:#d7e0e7}
.fixture-teams{font-size:.72rem;line-height:1.25}
.fixture-time{text-align:right;font-size:.75rem;font-weight:900}

/* sections */
.section{padding-top:42px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}
.section-heading h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.04em;margin:3px 0 0}
.text-link{font-size:.82rem;font-weight:900;color:var(--blue)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.team-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;
  box-shadow:var(--shadow);transition:.18s ease;overflow:hidden
}
.team-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(5,21,35,.14)}
.team-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-45px;bottom:-45px;background:rgba(46,91,255,.07)}
.team-card .team-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--navy);color:#fff;font-weight:950;margin-bottom:16px}
.team-card h3{margin:0 0 7px;font-size:1.05rem}
.team-card p{margin:0;color:var(--muted);font-size:.78rem;min-height:2.3em}
.team-card span{display:block;margin-top:15px;color:var(--red);font-size:.75rem;font-weight:900;text-transform:uppercase}
.match-list{display:grid;gap:10px}
.match-row{
  background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 22px rgba(5,21,35,.06);
  display:grid;grid-template-columns:120px minmax(0,1fr) 110px;align-items:center;gap:15px;padding:14px 16px;cursor:pointer;
}
.match-row:hover{border-color:#bbc8d3}
.match-row-date{font-size:.75rem;color:var(--muted);font-weight:800}
.match-row-main{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:12px;align-items:center}
.match-row-team{display:flex;gap:8px;align-items:center;min-width:0;font-size:.82rem;font-weight:850}
.match-row-team:last-child{justify-content:flex-end;text-align:right}
.match-row-team img{width:32px;height:32px;object-fit:contain;flex:0 0 auto}
.match-row-score{text-align:center;font-weight:950;font-size:1rem}
.match-row-comp{text-align:right;color:var(--muted);font-size:.69rem}

/* page views */
.page-hero{background:linear-gradient(115deg,var(--navy),var(--navy2));color:#fff;padding:42px 0 36px;border-bottom:4px solid var(--red)}
.page-hero h1{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.05em;text-transform:uppercase;margin:4px 0 7px}
.page-hero p{margin:0;color:#b9c6d0}
.back-link{display:block;color:#b9c6d0;margin-bottom:14px;font-size:.82rem;font-weight:800}
.page-body{padding:28px 0 48px}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.filter-button{border:1px solid #ccd6dd;background:#fff;color:var(--text);padding:9px 13px;border-radius:9px;font-size:.77rem;font-weight:850;cursor:pointer}
.filter-button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.content-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.content-card-title{padding:16px 19px;background:var(--navy);color:#fff;font-size:.87rem;text-transform:uppercase;font-weight:900}
.team-detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}
.team-detail-grid .match-list{padding:16px}
.players-grid{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.player{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px}
.player-avatar{width:34px;height:34px;border-radius:50%;background:#e8edf1;display:grid;place-items:center;color:#607080;font-weight:900;overflow:hidden}
.player-avatar img{width:100%;height:100%;object-fit:cover}
.player strong{font-size:.76rem}

/* full table */
.table-wrap{overflow-x:auto}
.full-table{width:100%;border-collapse:collapse;min-width:680px}
.full-table th{background:#f7f9fb;color:#6f7e8b;text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}
.full-table td{padding:11px 12px;border-bottom:1px solid #edf0f2;font-size:.8rem}
.full-table tr:last-child td{border-bottom:0}
.full-table tr.own{background:rgba(255,38,61,.08)}
.table-team{display:flex;align-items:center;gap:9px;font-weight:850}
.table-team img{width:30px;height:30px;object-fit:contain}
.num{text-align:center!important}

/* modal */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,8,15,.78);backdrop-filter:blur(5px)}
.modal-dialog{position:relative;z-index:2;width:min(850px,100%);max-height:min(88vh,900px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.modal-close{position:absolute;right:12px;top:10px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#eef2f5;font-size:1.6rem;cursor:pointer}
.modal-head{padding:25px 25px 20px;background:linear-gradient(115deg,var(--navy),var(--navy2));color:#fff}
.modal-head small{color:#aebdca}
.modal-match{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;padding-top:20px}
.modal-club{text-align:center;font-weight:900}
.modal-club img{display:block;width:82px;height:82px;object-fit:contain;margin:0 auto 10px}
.modal-score{font-size:2.7rem;font-weight:950}
.modal-body{padding:22px}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.modal-section h3{font-size:.88rem;text-transform:uppercase;margin:0 0 10px}
.event{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:.78rem}
.event-minute{font-weight:950;min-width:34px}
.player-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:.78rem}
.modal-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.modal-link{display:inline-flex;padding:9px 12px;background:var(--navy);color:#fff;border-radius:8px;font-size:.74rem;font-weight:850}

/* footer & errors */
.site-footer{margin-top:50px;background:#06131f;color:#c6d1da;border-top:4px solid var(--red)}
.footer-inner{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-brand{display:flex;align-items:center;gap:11px}
.footer-brand img{width:55px;height:55px;object-fit:contain}
.footer-brand strong{display:block;color:#fff;text-transform:uppercase}
.footer-brand small,.footer-status{font-size:.75rem;color:#92a2b0}
.fatal{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;background:#931c2b;color:#fff;border-radius:12px;padding:13px 16px;box-shadow:0 15px 40px rgba(0,0,0,.25)}
.fatal strong{margin-right:8px}
.empty{padding:28px;text-align:center;color:var(--muted);background:#fff;border-radius:13px;border:1px dashed #cfd8df}

/* responsive */
@media(max-width:1220px){
  .dashboard{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .wrap{width:calc(100% - 28px)}
  .header-main{min-height:75px}
  .brand-logo{width:56px;height:56px}
  .brand-copy strong{font-size:1rem}
  .brand-copy small{font-size:.57rem}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:#071725;padding:10px 14px 16px;border-bottom:3px solid var(--red)}
  .main-nav.open{display:block}
  .main-nav a{display:block}
  .hero-inner{grid-template-columns:1fr}
  .hero-crest{display:none}
  .team-grid{grid-template-columns:1fr 1fr}
  .team-detail-grid{grid-template-columns:1fr}
  .match-row{grid-template-columns:90px minmax(0,1fr)}
  .match-row-comp{display:none}
}
@media(max-width:650px){
  .wrap{width:calc(100% - 18px)}
  .hero{min-height:390px}
  .hero-inner{min-height:390px}
  .hero h1{font-size:2.45rem}
  .dashboard{grid-template-columns:1fr;margin-top:-24px}
  .team-grid{grid-template-columns:1fr}
  .section{padding-top:28px}
  .section-heading{align-items:start}
  .match-row{grid-template-columns:1fr;gap:7px;padding:12px}
  .match-row-main{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}
  .match-row-date{font-size:.68rem}
  .match-row-team{font-size:.72rem}
  .match-row-team img{width:27px;height:27px}
  .players-grid{grid-template-columns:1fr}
  .modal{padding:8px}
  .modal-dialog{border-radius:15px}
  .modal-match{gap:8px}
  .modal-club img{width:58px;height:58px}
  .modal-club{font-size:.76rem}
  .modal-score{font-size:2rem}
  .modal-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start;padding:24px 0}
}


/* player cards */
.player-clickable{cursor:pointer;color:inherit;transition:.16s ease}
.player-clickable:hover{border-color:#aebbc5;background:#f8fafb;transform:translateY(-1px)}
.player-name-wrap{display:flex;flex-direction:column;min-width:0}
.player-name-wrap small{margin-top:2px;color:var(--red);font-size:.64rem;font-weight:850;text-transform:uppercase}
.modal-player-link{color:var(--navy);font-weight:850;text-decoration:underline;text-decoration-color:#c7d1d9;text-underline-offset:3px}
.player-profile-card{display:flex;align-items:center;gap:24px;background:linear-gradient(115deg,#fff,#f7f9fb);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px}
.player-profile-photo{width:128px;height:128px;flex:0 0 128px;border-radius:18px;overflow:hidden;background:#e7edf2;border:1px solid #d8e0e6}
.player-profile-photo img{width:100%;height:100%;object-fit:cover}
.player-profile-fallback{width:100%;height:100%;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;font-size:2rem;font-weight:950}
.player-profile-copy h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.045em;margin:4px 0 5px;color:var(--navy)}
.player-profile-copy p{margin:0;color:var(--muted)}
.player-team-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.player-team-chips a{padding:7px 10px;border-radius:999px;background:#e9eef3;color:var(--navy);font-size:.72rem;font-weight:850}
.player-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.player-stat-card{background:var(--navy);color:#fff;border-radius:14px;padding:17px;box-shadow:0 10px 25px rgba(7,23,37,.12)}
.player-stat-card>span{display:block;color:#a9b9c6;font-size:.68rem;font-weight:900}
.player-stat-card strong{display:block;font-size:1.75rem;line-height:1.05;margin:7px 0 2px}
.player-stat-card small{color:#aebdca;font-size:.7rem;text-transform:uppercase;font-weight:800}
.player-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}
.player-side-stack{display:grid;gap:20px;align-content:start}
.player-match-list{padding:14px}
.player-match-list .match-row{position:relative;grid-template-columns:105px minmax(0,1fr) 95px;padding-right:115px}
.player-match-stats{position:absolute;right:13px;top:50%;transform:translateY(-50%);display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:90px}
.player-match-stats span{padding:4px 6px;border-radius:6px;background:#edf2f5;color:#41515f;font-size:.62rem;font-weight:900}
.player-competition-list,.player-transfer-list{padding:14px}
.player-competition-row,.player-transfer-row{padding:12px 2px;border-bottom:1px solid #edf0f2}
.player-competition-row:last-child,.player-transfer-row:last-child{border-bottom:0}
.player-competition-row>div:first-child{display:flex;flex-direction:column}
.player-competition-row small,.player-transfer-row small,.player-transfer-row time{color:var(--muted);font-size:.68rem}
.player-comp-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}
.player-comp-numbers span{background:#f1f4f6;border-radius:7px;padding:7px 4px;text-align:center;font-size:.63rem;color:#61707d}
.player-comp-numbers b{display:block;color:var(--navy);font-size:.9rem}
.player-transfer-row{display:flex;flex-direction:column;gap:3px}
.player-transfer-row strong{font-size:.77rem}
@media(max-width:900px){
  .player-stat-grid{grid-template-columns:repeat(3,1fr)}
  .player-detail-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .player-profile-card{align-items:flex-start;padding:16px;gap:14px}
  .player-profile-photo{width:82px;height:82px;flex-basis:82px;border-radius:13px}
  .player-profile-copy h2{font-size:1.45rem}
  .player-stat-grid{grid-template-columns:repeat(2,1fr)}
  .player-match-list .match-row{padding-right:12px}
  .player-match-stats{position:static;transform:none;grid-column:1/-1;max-width:none;justify-content:flex-start}
}

/* ===== FACR WEB 2.0 COMPLETE: functional views ===== */
.logo-placeholder{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#dfe6ec;color:#455868;font-size:.62rem;font-weight:950;flex:0 0 auto}
.club-side .logo-placeholder{width:58px;height:58px;margin:0 auto}
.match-large-link{display:block;color:inherit}
.fixture{color:inherit;text-decoration:none}
.dark-empty{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#a9b7c3}
.card-list-pad{padding:16px}
.button-dark{background:var(--navy);color:#fff;margin-top:16px}.button-dark:hover{background:var(--navy2)}
.competition-actions{display:flex;justify-content:flex-end}
.compact-filter{margin-top:-8px}
.filters-stack{margin-bottom:18px}.filters-stack .filter-bar{margin-bottom:8px}
.toolbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.toolbar-row .filter-bar{margin-bottom:0}
.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #ccd6dd;border-radius:10px;padding:7px 10px;min-width:260px}.search-box span{font-size:.68rem;text-transform:uppercase;color:var(--muted);font-weight:850}.search-box input{border:0;outline:0;min-width:0;width:100%;background:transparent}
.players-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.directory-player{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 7px 20px rgba(5,21,35,.05);transition:.16s ease}.directory-player:hover{transform:translateY(-2px);border-color:#b9c7d2}.directory-photo{width:54px;height:54px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:#e9eef2}.directory-photo img,.directory-photo .player-photo-placeholder{width:100%;height:100%;object-fit:cover}.directory-player strong{display:block;font-size:.84rem}.directory-player small{display:block;color:var(--muted);font-size:.67rem;margin-top:3px}
.player-photo-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;font-weight:950;width:100%;height:100%}
.player-profile-photo>.player-photo-placeholder{font-size:2rem}
.player-comp-numbers.five{grid-template-columns:repeat(5,1fr)}
.player-season-list,.player-career-list{padding:14px}.player-season-block{padding:11px 2px;border-bottom:1px solid #edf0f2}.player-season-block:last-child{border-bottom:0}.player-season-block>strong{display:block;margin-bottom:6px}.career-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f0f2f4;font-size:.73rem}.career-line:last-child{border-bottom:0}.career-line>div{display:flex;flex-direction:column}.career-line small{color:var(--muted)}
.competition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.competition-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow);transition:.16s ease}.competition-card:hover{transform:translateY(-2px)}.competition-card h3{margin:5px 0 8px;color:var(--navy);font-size:1.05rem}.competition-card p{color:var(--muted);font-size:.76rem;min-height:1.2em}.competition-card>span:last-child{display:block;margin-top:14px;color:var(--red);font-size:.72rem;font-weight:900;text-transform:uppercase}
.section-tight{padding-top:28px}
.data-note{background:#fff8df;border:1px solid #f0d47b;border-radius:12px;padding:13px 15px;color:#6c5712;font-size:.78rem;margin-bottom:16px}
.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.history-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.history-season{display:block;font-size:1.4rem;font-weight:950;color:var(--navy);margin-bottom:13px}.history-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.history-stats span{padding:8px 4px;background:#f0f4f7;border-radius:8px;text-align:center;font-size:.62rem;color:var(--muted)}.history-stats b{display:block;color:var(--navy);font-size:.93rem}.history-card small{display:block;color:var(--muted);font-size:.67rem;margin-top:12px}
.season-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:6px}.summary-stat{background:var(--navy);color:#fff;border-radius:13px;padding:16px}.summary-stat b{display:block;font-size:1.5rem}.summary-stat span{font-size:.68rem;text-transform:uppercase;color:#acbbc7;font-weight:800}
.match-detail-card{background:linear-gradient(130deg,var(--navy),var(--navy2));color:#fff;border-radius:18px;padding:25px;box-shadow:0 15px 35px rgba(5,21,35,.16);margin-bottom:18px}.match-detail-score{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.match-detail-score>div{text-align:center;font-weight:900}.match-detail-score img,.match-detail-score .logo-placeholder{width:88px;height:88px;object-fit:contain;margin:0 auto 10px}.match-detail-score>span{font-size:3rem;font-weight:950;white-space:nowrap}.match-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.match-facts span{display:flex;flex-direction:column;background:rgba(255,255,255,.07);border-radius:9px;padding:8px 11px;min-width:110px;font-size:.72rem}.match-facts b{font-size:.62rem;text-transform:uppercase;color:#9fb1bf;margin-bottom:2px}.match-detail-card .modal-links{justify-content:center}.match-detail-card .modal-link{background:#fff;color:var(--navy)}.match-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-list{padding:14px}.player-line-link{color:inherit;text-decoration:none}
.data-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.data-status-card{background:var(--navy);color:#fff;border-radius:13px;padding:17px}.data-status-card small{display:block;color:#9fb1bf;text-transform:uppercase;font-size:.65rem;font-weight:850}.data-status-card strong{display:block;font-size:1.5rem;margin-top:5px}.data-warnings{grid-column:1/-1}.warning-line,.ok-line{padding:9px 2px;border-bottom:1px solid #edf0f2;font-size:.78rem}.ok-line{color:#187b45}
.footer-status a{color:#cbd8e2;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1220px){.players-directory{grid-template-columns:repeat(3,1fr)}.competition-grid,.history-grid{grid-template-columns:1fr 1fr}.data-status-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.players-directory{grid-template-columns:1fr 1fr}.toolbar-row{flex-direction:column}.search-box{width:100%;min-width:0}.match-detail-grid{grid-template-columns:1fr}.season-summary{grid-template-columns:repeat(3,1fr)}.data-status-grid{grid-template-columns:repeat(2,1fr)}.main-nav a{padding:10px 12px}}
@media(max-width:650px){.players-directory,.competition-grid,.history-grid{grid-template-columns:1fr}.season-summary{grid-template-columns:repeat(2,1fr)}.history-stats{grid-template-columns:repeat(3,1fr)}.match-detail-score{gap:7px}.match-detail-score img,.match-detail-score .logo-placeholder{width:58px;height:58px}.match-detail-score>span{font-size:2rem}.match-detail-score>div{font-size:.74rem}.data-status-grid{grid-template-columns:1fr 1fr}.player-comp-numbers.five{grid-template-columns:repeat(3,1fr)}}


/* ==========================================================
   FACR WEB 3.0 — PROFESSIONAL CLUB DESIGN FOUNDATION
   ========================================================== */
:root{
  --pro-navy:#061521;--pro-navy-2:#0a2235;--pro-navy-3:#102b42;
  --pro-red:#ef233c;--pro-red-dark:#ca1730;--pro-blue:#315dff;
  --pro-paper:#f4f6f8;--pro-ink:#13202a;--pro-muted:#687887;
  --pro-border:#dce3e8;--pro-white:#fff;--pro-radius:18px;
  --pro-shadow:0 16px 44px rgba(6,21,33,.10);--pro-max:1540px;
}
body{background:var(--pro-paper);color:var(--pro-ink)}
.wrap{width:min(var(--pro-max),calc(100% - 48px))}
.utility-bar{background:#020a11;color:#9eafbd;border-bottom:1px solid rgba(255,255,255,.06);font-size:.72rem}
.utility-inner{height:32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.utility-left,.utility-right{display:flex;align-items:center;gap:12px}.utility-right a{color:#d6e0e8;font-weight:800}
.live-pip{width:7px;height:7px;border-radius:50%;background:#25c66b;box-shadow:0 0 0 4px rgba(37,198,107,.12)}
.site-header{top:0;background:rgba(6,21,33,.97);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 32px rgba(0,0,0,.18)}
.header-main{min-height:86px}.brand-logo{width:70px;height:70px}.brand-copy strong{letter-spacing:-.025em}.brand-copy small{color:#93a8b8;letter-spacing:.17em}
.main-nav{gap:2px}.main-nav>a,.nav-group>summary{padding:12px 13px;border-radius:9px;color:#eef4f8;font-size:.86rem;font-weight:900;cursor:pointer;list-style:none;transition:.16s ease}
.nav-group>summary::-webkit-details-marker{display:none}.nav-group{position:relative}.nav-group>summary:after{content:'⌄';margin-left:6px;color:#8ca0af;font-size:.75rem}
.main-nav>a:hover,.main-nav>a.active,.nav-group:hover>summary,.nav-group[open]>summary,.nav-group.group-active>summary{background:rgba(255,255,255,.08);color:#fff}.main-nav>a.active,.nav-group.group-active>summary{box-shadow:inset 0 -3px 0 var(--pro-red)}
.nav-dropdown{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:220px;padding:8px;background:#0a1b2a;border:1px solid rgba(255,255,255,.10);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.30)}
.nav-group[open] .nav-dropdown{display:grid}.nav-dropdown a{padding:10px 11px;border-radius:8px;color:#d9e4eb;font-size:.78rem;font-weight:800}.nav-dropdown a:hover,.nav-dropdown a.active{background:var(--pro-red);color:#fff}
.match-ticker-shell{background:#fff;border-bottom:1px solid var(--pro-border);position:relative;z-index:20}.match-ticker{min-height:54px;display:flex;align-items:stretch;overflow:auto;scrollbar-width:none}.match-ticker::-webkit-scrollbar{display:none}.ticker-loading{display:flex;align-items:center;color:var(--pro-muted);font-size:.75rem}
.ticker-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-width:270px;padding:8px 16px;border-right:1px solid var(--pro-border);color:var(--pro-ink)}.ticker-item:first-child{border-left:1px solid var(--pro-border)}.ticker-date{font-size:.64rem;color:var(--pro-muted);font-weight:900;text-transform:uppercase}.ticker-teams{font-size:.68rem;font-weight:850;line-height:1.2;min-width:0}.ticker-score{font-weight:950;font-size:.9rem}.ticker-item.next{background:#f8fafb}.ticker-item.next .ticker-score{color:var(--pro-red)}
.hero-pro{min-height:520px;background:linear-gradient(118deg,#061521 0%,#09243a 56%,#061521 100%)}.hero-noise{position:absolute;inset:0;opacity:.13;background-image:radial-gradient(rgba(255,255,255,.5) .6px,transparent .6px);background-size:7px 7px;mask-image:linear-gradient(90deg,#000,transparent 72%)}.hero-stripe{position:absolute;right:-8%;top:-40%;width:46%;height:180%;transform:rotate(17deg);background:linear-gradient(90deg,transparent,rgba(49,93,255,.16),rgba(239,35,60,.18),transparent)}
.hero-inner{min-height:520px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:54px}.hero-copy{padding:48px 0}.hero-copy h1{font-size:clamp(3rem,5.4vw,5.8rem);max-width:920px}.hero-tagline{font-size:clamp(1.15rem,2vw,1.7rem);font-weight:850;color:#fff;margin:-4px 0 12px;letter-spacing:-.025em}.hero-copy p{max-width:720px;color:#b9c8d4}.hero-side{align-self:stretch;display:grid;grid-template-columns:1fr;align-content:center;gap:12px;position:relative}.hero-crest{position:absolute;right:0;top:32px;width:255px;opacity:.18;filter:saturate(.8)}.hero-crest img{width:100%;height:100%}.hero-match-spotlight{position:relative;z-index:3;margin-top:92px;background:rgba(3,13,22,.70);border:1px solid rgba(255,255,255,.13);border-radius:18px;backdrop-filter:blur(12px);box-shadow:0 25px 65px rgba(0,0,0,.28);overflow:hidden}.spotlight-top{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.10);font-size:.72rem;font-weight:900;text-transform:uppercase;color:#b8c6d1}.spotlight-top b{color:var(--pro-red)}.spotlight-match{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:22px 18px}.spotlight-club{text-align:center;font-size:.75rem;font-weight:850;line-height:1.2}.spotlight-club img,.spotlight-club .logo-placeholder{width:68px;height:68px;object-fit:contain;margin:0 auto 9px}.spotlight-vs{text-align:center}.spotlight-vs strong{display:block;font-size:1.7rem;letter-spacing:-.04em}.spotlight-vs small{color:#94a6b5}.spotlight-bottom{display:flex;justify-content:center;padding:0 16px 16px}.spotlight-bottom a{font-size:.72rem;font-weight:900;color:#fff;background:var(--pro-red);padding:9px 13px;border-radius:8px}
.home-sport{position:relative;z-index:8;margin-top:-58px;display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:14px}.sport-feature-card{background:linear-gradient(145deg,#081a29,#102a40);color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 42px rgba(3,16,27,.20);border:1px solid rgba(255,255,255,.08)}.sport-card-top{height:52px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);font-size:.78rem;font-weight:950;text-transform:uppercase}.sport-card-top a{font-size:.67rem;color:#a9c0d1}.status-chip{padding:5px 8px;border-radius:999px;background:var(--pro-red);font-size:.58rem}.status-finished{background:#168b4d}.sport-feature-card .match-large{min-height:205px}.sport-feature-card .mini-table{min-height:205px}
.home-quick-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;padding-top:34px}.home-upcoming-panel,.home-club-stats{background:#fff;border:1px solid var(--pro-border);border-radius:16px;box-shadow:var(--pro-shadow);padding:20px}.compact-heading{margin-bottom:10px}.compact-heading h2{font-size:1.55rem}.light-fixtures{padding:0}.light-fixtures .fixture{border-bottom:1px solid #edf1f4;color:var(--pro-ink)}.light-fixtures .fixture-date,.light-fixtures .fixture-time{color:var(--pro-ink)}.light-fixtures .fixture-teams{color:#50606d}.club-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:100%}.club-stat{display:flex;flex-direction:column;justify-content:flex-end;min-height:110px;padding:15px;border-radius:13px;background:#f1f4f7;border:1px solid #e2e8ec}.club-stat:nth-child(1){background:var(--pro-navy);color:#fff}.club-stat:nth-child(2){background:#eaf0ff}.club-stat:nth-child(3){background:#fff0f2}.club-stat b{font-size:2rem;line-height:1;font-weight:950}.club-stat span{margin-top:5px;font-size:.68rem;text-transform:uppercase;font-weight:900;color:#748390}.club-stat:nth-child(1) span{color:#9eb1bf}
.section{padding-top:46px}.section-heading h2{font-size:clamp(1.7rem,3vw,2.6rem)}.section-kicker{color:var(--pro-red)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-card{background:#fff;border:1px solid var(--pro-border);border-radius:16px;overflow:hidden;box-shadow:var(--pro-shadow);transition:.18s ease}.news-card:hover{transform:translateY(-3px)}.news-image{aspect-ratio:16/9;background:linear-gradient(135deg,#0b2235,#173f5e);overflow:hidden}.news-image img{width:100%;height:100%;object-fit:cover}.news-body{padding:18px}.news-date{font-size:.66rem;color:var(--pro-red);font-weight:900;text-transform:uppercase}.news-card h3{font-size:1.05rem;line-height:1.25;margin:7px 0 8px}.news-card p{font-size:.78rem;color:var(--pro-muted);margin:0}.news-empty{grid-column:1/-1;background:#fff;border:1px dashed #cbd6dd;border-radius:16px;padding:28px;text-align:center;color:var(--pro-muted)}
.team-card{border-radius:16px;border-color:var(--pro-border);box-shadow:var(--pro-shadow)}.team-card .team-icon{background:linear-gradient(135deg,var(--pro-navy),var(--pro-navy-3))}.team-card>span{color:var(--pro-red)}
.match-row{border-radius:13px;box-shadow:0 7px 20px rgba(6,21,33,.055)}
.page-hero{background:linear-gradient(118deg,#061521,#0b2a42);border-bottom:4px solid var(--pro-red);padding:46px 0 39px}.page-hero h1{font-size:clamp(2.35rem,4.3vw,4.3rem)}
.content-card,.player-profile-card,.competition-card,.history-card{border-color:var(--pro-border);box-shadow:var(--pro-shadow)}.content-card-title{background:linear-gradient(115deg,var(--pro-navy),var(--pro-navy-3))}
.filter-button.active{background:var(--pro-navy);border-color:var(--pro-navy)}.button-dark{background:var(--pro-navy)}
.club-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.club-overview-card{background:#fff;border:1px solid var(--pro-border);border-radius:14px;padding:18px;box-shadow:var(--pro-shadow)}.club-overview-card b{display:block;font-size:1.8rem;color:var(--pro-navy)}.club-overview-card span{font-size:.68rem;text-transform:uppercase;color:var(--pro-muted);font-weight:900}.article-page{padding:28px;max-width:980px}.article-page p{font-size:1rem;line-height:1.75;color:#3f4d59}.article-page h2{margin-top:0}.article-meta{font-size:.75rem;color:var(--pro-muted);margin-bottom:18px}.article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:12px;margin-bottom:22px}.sponsor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sponsor-card{min-height:150px;background:#fff;border:1px solid var(--pro-border);border-radius:15px;box-shadow:var(--pro-shadow);padding:20px;display:grid;place-items:center;text-align:center}.sponsor-card img{max-width:150px;max-height:75px;object-fit:contain}.sponsor-card strong{display:block}.sponsor-card small{color:var(--pro-muted)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-card{background:#fff;border:1px solid var(--pro-border);border-radius:15px;box-shadow:var(--pro-shadow);padding:22px}.contact-card small{display:block;color:var(--pro-red);font-weight:900;text-transform:uppercase}.contact-card strong{display:block;margin-top:7px;font-size:1.05rem}.contact-card a{color:var(--pro-blue)}
.site-footer{margin-top:60px;background:#03101a;border-top:4px solid var(--pro-red)}.footer-main{min-height:155px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.footer-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.footer-links a{font-size:.72rem;color:#c1ced7;font-weight:850}.footer-status{text-align:right;display:flex;flex-direction:column;gap:4px}.footer-status a{color:#8196a7;font-size:.67rem}.mobile-dock{display:none}
@media(max-width:1180px){.main-nav>a,.nav-group>summary{padding:11px 9px}.home-sport{grid-template-columns:1fr 1fr}.table-feature-card{grid-column:1/-1}.news-grid{grid-template-columns:1fr 1fr}.sponsor-grid{grid-template-columns:repeat(3,1fr)}.club-overview{grid-template-columns:1fr 1fr}}
@media(max-width:900px){body{padding-bottom:70px}.utility-bar{display:none}.site-header{top:0}.header-main{min-height:72px}.brand-logo{width:54px;height:54px}.main-nav{top:100%;max-height:calc(100vh - 72px);overflow:auto}.main-nav>a,.nav-group>summary{display:block;padding:12px 14px}.nav-group{position:static}.nav-dropdown{position:static;display:grid!important;box-shadow:none;border:0;border-radius:0;background:rgba(255,255,255,.035);padding:3px 10px 8px;margin:0 8px 5px}.nav-group:not([open]) .nav-dropdown{display:none!important}.hero-pro,.hero-inner{min-height:455px}.hero-inner{grid-template-columns:1fr}.hero-copy{padding:42px 0 32px}.hero-side{display:none}.home-sport{margin-top:-28px}.home-quick-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-status{text-align:left}.mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:120;background:rgba(5,18,29,.97);border-top:1px solid rgba(255,255,255,.10);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 30px rgba(0,0,0,.18)}.mobile-dock a{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#91a4b3;gap:2px}.mobile-dock a span{font-size:1rem}.mobile-dock a b{font-size:.58rem;text-transform:uppercase}.mobile-dock a.active{color:#fff;background:rgba(239,35,60,.14);box-shadow:inset 0 3px 0 var(--pro-red)}.match-ticker-shell{position:relative}.match-ticker{width:100%;padding-left:14px}.ticker-item{min-width:235px}.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.wrap{width:calc(100% - 18px)}.brand-copy small{display:none}.hero-pro,.hero-inner{min-height:405px}.hero-copy h1{font-size:2.65rem}.hero-tagline{font-size:1.12rem}.hero-copy p{font-size:.9rem}.home-sport{grid-template-columns:1fr;margin-top:-20px}.table-feature-card{grid-column:auto}.news-grid{grid-template-columns:1fr}.club-stat-grid{grid-template-columns:1fr 1fr}.contact-grid,.sponsor-grid,.club-overview{grid-template-columns:1fr}.section{padding-top:34px}.page-hero{padding:34px 0 29px}.page-hero h1{font-size:2.3rem}.article-page{padding:18px}.match-row{background:#fff}.footer-main{padding:26px 0}.footer-links{display:none}}


/* ==========================================================
   WEB 4.2 — VÝSLEDKOVÝ SERVIS / hierarchy polish
   ========================================================== */
.hero-pro{min-height:455px}
.hero-inner{min-height:455px;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:42px}
.hero-copy{padding:38px 0 58px}
.hero-copy h1{font-size:clamp(2.8rem,4.65vw,4.95rem);line-height:.93;max-width:850px}
.hero-side{padding-bottom:36px}
.hero-crest{top:24px;width:220px;opacity:.14}
.hero-match-spotlight{margin-top:70px}
.home-sport{margin-top:-50px}

.home-team-switch{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:5px 6px;
  margin-bottom:-3px;
  background:rgba(3,14,23,.94);
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  box-shadow:0 14px 34px rgba(3,16,27,.18);
}
.home-team-switch::-webkit-scrollbar{display:none}
.home-team-switch:before{
  content:"VÝSLEDKOVÝ SERVIS";
  flex:0 0 auto;
  padding:0 10px 0 8px;
  color:#8fa3b2;
  font-size:.61rem;
  font-weight:950;
  letter-spacing:.13em;
}
.home-team-button{
  appearance:none;
  flex:0 0 auto;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#c8d4dd;
  padding:8px 12px;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
  transition:.15s ease;
}
.home-team-button:hover{background:rgba(255,255,255,.08);color:#fff}
.home-team-button.active{background:var(--pro-red);color:#fff;box-shadow:0 6px 16px rgba(239,35,60,.25)}

.ticker-item{position:relative;padding-top:14px}
.ticker-team-chip{
  position:absolute;
  left:15px;
  top:3px;
  color:#7a8b98;
  font-size:.52rem;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ticker-item.next .ticker-team-chip{color:var(--pro-red)}

.sport-feature-card{min-height:0}
.sport-feature-card .match-large{min-height:188px}
.sport-feature-card .mini-table{min-height:188px}
.match-large-link{display:block;height:100%}
.home-sport .club-side img,.home-sport .club-side .logo-placeholder{width:54px;height:54px}
.home-sport .score{font-size:1.95rem}

.home-quick-grid{padding-top:28px}
.section{padding-top:40px}

@media(max-width:1180px){
  .hero-pro,.hero-inner{min-height:430px}
  .hero-copy h1{font-size:clamp(2.7rem,5.1vw,4.5rem)}
}
@media(max-width:900px){
  .hero-pro,.hero-inner{min-height:390px}
  .hero-copy{padding:34px 0 50px}
  .home-sport{margin-top:-22px}
  .home-team-switch{grid-column:1/-1;position:relative;z-index:3}
}
@media(max-width:650px){
  .hero-pro,.hero-inner{min-height:355px}
  .hero-copy h1{font-size:2.35rem;line-height:.96}
  .hero-tagline{font-size:1.02rem}
  .home-team-switch{border-radius:11px;margin-inline:0;padding:4px}
  .home-team-switch:before{display:none}
  .home-team-button{padding:8px 10px;font-size:.68rem}
  .ticker-item{min-width:225px}
}


/* 3.2 — desktop navigation discipline */
@media(min-width:901px){
  .nav-group>summary{user-select:none}
  .nav-group[open]{z-index:210}
  .nav-group[open]>.nav-dropdown{z-index:220}
  .nav-group:nth-last-child(-n+2)>.nav-dropdown{left:auto;right:0}
}

/* ==========================================================
   FACR WEB 4.0 — JESTŘABÍ LHOTA CLUB IDENTITY
   Design language: premium European club website, inspired by
   FC Barcelona's sports-first hierarchy and bold club-colour use.
   STRUCTURE/FUNCTIONS UNCHANGED — visual layer only.
   Logo palette sampled from supplied crest:
   red #ff263d · royal blue #365aff · black #000000
   ========================================================== */
:root{
  --jl-red:#ff263d;
  --jl-red-deep:#d8132e;
  --jl-blue:#365aff;
  --jl-blue-deep:#1f3fd8;
  --jl-black:#000000;
  --jl-ink:#07111f;
  --jl-navy:#081525;
  --jl-navy-2:#0d2037;
  --jl-navy-3:#142b48;
  --jl-paper:#f4f6f9;
  --jl-card:#ffffff;
  --jl-soft:#e9eef5;
  --jl-muted:#6f7d8e;
  --jl-border:#dfe5ec;
  --jl-shadow:0 16px 45px rgba(7,17,31,.10);
  --jl-shadow-strong:0 26px 70px rgba(0,0,0,.24);
  --jl-radius:14px;
  --pro-navy:var(--jl-navy);
  --pro-navy-2:var(--jl-navy-2);
  --pro-navy-3:var(--jl-navy-3);
  --pro-red:var(--jl-red);
  --pro-red-dark:var(--jl-red-deep);
  --pro-blue:var(--jl-blue);
  --pro-paper:var(--jl-paper);
  --pro-ink:var(--jl-ink);
  --pro-muted:var(--jl-muted);
  --pro-border:var(--jl-border);
  --pro-radius:var(--jl-radius);
  --pro-shadow:var(--jl-shadow);
  --navy:var(--jl-navy);
  --navy2:var(--jl-navy-2);
  --red:var(--jl-red);
  --blue:var(--jl-blue);
  --bg:var(--jl-paper);
  --text:var(--jl-ink);
  --muted:var(--jl-muted);
  --line:var(--jl-border);
}

html{background:var(--jl-black)}
body{
  background:
    linear-gradient(180deg,#eef2f6 0,#f7f8fa 520px,#f4f6f9 100%);
  color:var(--jl-ink);
  font-feature-settings:"kern" 1,"liga" 1;
}
.wrap{width:min(1580px,calc(100% - 52px))}

/* ----- top utility / brand header ----- */
.utility-bar{
  position:relative;
  background:#02060c;
  color:#9aa9b9;
  border:0;
}
.utility-bar:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50% 100%);
  opacity:.9;
}
.utility-inner{height:31px}
.live-pip{background:#35d57a;box-shadow:0 0 0 4px rgba(53,213,122,.12)}
.utility-right a{color:#fff}

.site-header{
  top:0;
  background:rgba(6,14,25,.975);
  border:0;
  box-shadow:0 12px 34px rgba(0,0,0,.26);
  backdrop-filter:blur(18px) saturate(130%);
}
.site-header:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;
  background:linear-gradient(90deg,var(--jl-red) 0 18%,var(--jl-blue) 18% 36%,transparent 36% 100%);
}
.header-main{min-height:91px;gap:30px}
.brand{gap:16px}
.brand-logo-wrap{isolation:isolate}
.brand-logo{
  width:74px;height:74px;object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
  transition:transform .2s ease;
}
.brand:hover .brand-logo{transform:scale(1.035)}
.brand-copy strong{
  color:#fff;font-size:clamp(1.05rem,1.65vw,1.62rem);font-weight:950;
  letter-spacing:-.035em;text-transform:uppercase;
}
.brand-copy small{color:#9aaabd;font-size:.64rem;letter-spacing:.20em;font-weight:900}

.main-nav{gap:5px}
.main-nav>a,.nav-group>summary{
  position:relative;padding:13px 14px;border-radius:8px;
  color:#eef3f8;font-size:.81rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.015em;
  background:transparent;
}
.main-nav>a:after,.nav-group>summary:before{
  content:"";position:absolute;left:13px;right:13px;bottom:6px;height:3px;
  border-radius:3px;transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
  background:linear-gradient(90deg,var(--jl-red) 0 48%,var(--jl-blue) 48% 100%);
}
.main-nav>a:hover,.main-nav>a.active,.nav-group:hover>summary,.nav-group[open]>summary,.nav-group.group-active>summary{
  background:rgba(255,255,255,.055);color:#fff;box-shadow:none;
}
.main-nav>a:hover:after,.main-nav>a.active:after,.nav-group:hover>summary:before,.nav-group[open]>summary:before,.nav-group.group-active>summary:before{transform:scaleX(1)}
.nav-group>summary:after{color:#8296a9}
.nav-dropdown{
  top:calc(100% + 13px);min-width:232px;padding:8px;
  background:rgba(7,18,31,.985);border:1px solid rgba(255,255,255,.11);
  border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.38);backdrop-filter:blur(18px);
}
.nav-dropdown:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:12px 12px 0 0;
  background:linear-gradient(90deg,var(--jl-red),var(--jl-blue));
}
.nav-dropdown a{padding:11px 12px;border-radius:7px;color:#dce5ed;font-size:.75rem;text-transform:none}
.nav-dropdown a:hover,.nav-dropdown a.active{background:linear-gradient(90deg,rgba(255,38,61,.20),rgba(54,90,255,.16));color:#fff}

/* ----- match ticker: compact sports information ribbon ----- */
.match-ticker-shell{
  z-index:19;background:#fff;border:0;
  box-shadow:0 6px 20px rgba(7,17,31,.07);
}
.match-ticker{min-height:62px}
.ticker-item{
  min-width:280px;padding:18px 17px 9px;
  border-right:1px solid #e2e7ed;background:#fff;
  transition:background .15s ease,transform .15s ease;
}
.ticker-item:first-child{border-left:1px solid #e2e7ed}
.ticker-item:hover{background:#f6f8fb}
.ticker-item.next{background:linear-gradient(180deg,#fbfcfe,#f4f7fb)}
.ticker-team-chip{top:5px;color:#7c8998;font-size:.49rem;letter-spacing:.11em}
.ticker-item.next .ticker-team-chip{color:var(--jl-blue)}
.ticker-date{color:#748293}
.ticker-teams{font-size:.68rem;color:#152130}
.ticker-score{color:#050a11;font-size:1rem}
.ticker-item.next .ticker-score{color:var(--jl-red);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}

/* ----- home hero: strong club identity, no structural changes ----- */
.hero-pro{
  min-height:475px;
  background:
    radial-gradient(circle at 74% 42%,rgba(54,90,255,.24),transparent 29%),
    radial-gradient(circle at 88% 84%,rgba(255,38,61,.18),transparent 31%),
    linear-gradient(112deg,#06101d 0%,#09182a 45%,#0c2040 100%);
  border-bottom:0;
}
.hero-pro:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(120deg,transparent 0 67%,rgba(255,38,61,.16) 67% 71%,transparent 71% 75%,rgba(54,90,255,.18) 75% 82%,transparent 82%),
    linear-gradient(rgba(255,255,255,.020) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.020) 1px,transparent 1px);
  background-size:auto,42px 42px,42px 42px;
}
.hero-noise{opacity:.07}
.hero-stripe{
  right:-4%;top:-50%;width:31%;height:210%;transform:rotate(16deg);
  background:linear-gradient(90deg,transparent,rgba(54,90,255,.30),rgba(255,38,61,.27),transparent);
  filter:blur(1px);
}
.hero-inner{min-height:475px;grid-template-columns:minmax(0,1.03fr) minmax(390px,.77fr);gap:46px}
.hero-copy{padding:54px 0 82px}
.eyebrow,.section-kicker{
  color:var(--jl-red);font-size:.65rem;letter-spacing:.23em;font-weight:950;
}
.hero-copy h1{
  max-width:900px;margin:11px 0 14px;
  color:#fff;font-size:clamp(3rem,4.9vw,5.3rem);line-height:.91;
  letter-spacing:-.058em;font-weight:950;text-transform:uppercase;
  text-wrap:balance;
}
.hero-tagline{font-size:1.35rem;font-weight:900;letter-spacing:-.025em;color:#fff}
.hero-copy p{max-width:690px;margin-top:10px;color:#aebdca;font-size:.91rem}
.hero-actions{margin-top:24px}
.button{border-radius:7px;min-height:45px;font-size:.72rem;letter-spacing:.04em}
.button-primary{
  background:var(--jl-red);box-shadow:0 10px 28px rgba(255,38,61,.27);
}
.button-primary:hover{background:#e81734;transform:translateY(-1px)}
.button-ghost{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.035)}
.button-ghost:hover{background:#fff;color:var(--jl-navy)}
.sync-line{margin-top:20px;color:#8fa0af}
.hero-side{padding:35px 0 46px;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
.hero-crest{
  position:absolute;right:2%;top:13px;width:255px;height:255px;opacity:.18;
  filter:saturate(115%);
}
.crest-halo{inset:-3%;border-color:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(54,90,255,.08),inset 0 0 80px rgba(54,90,255,.12)}
.hero-match-spotlight{
  position:relative;margin-top:auto;width:100%;max-width:580px;align-self:flex-end;
  border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;
  background:rgba(3,12,22,.83);box-shadow:var(--jl-shadow-strong);backdrop-filter:blur(14px);
}
.hero-match-spotlight:before{
  content:"";position:absolute;left:0;top:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50%);
}
.spotlight-top{padding:17px 18px 12px;border-bottom-color:rgba(255,255,255,.10)}
.spotlight-top span{font-size:.65rem;letter-spacing:.08em}
.spotlight-top b{color:#fff;background:var(--jl-red);padding:4px 7px;border-radius:5px;font-size:.58rem;text-transform:uppercase}
.spotlight-match{padding:19px 20px 13px}
.spotlight-club img,.spotlight-club .logo-placeholder{width:62px;height:62px}
.spotlight-club span{font-size:.70rem}
.spotlight-vs strong{font-size:1.65rem}
.spotlight-vs small{color:#9aacbb}
.spotlight-bottom{border-top-color:rgba(255,255,255,.09);padding:10px 16px 13px}
.spotlight-bottom a{background:var(--jl-blue);color:#fff;border-radius:6px;padding:8px 12px;font-size:.65rem;font-weight:900;text-transform:uppercase}

/* ----- Výsledkový servis: sports-first hierarchy ----- */
.home-sport{margin-top:-60px;gap:16px}
.home-team-switch{
  min-height:47px;padding:5px 7px;margin-bottom:0;border-radius:10px;
  background:#050d18;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 46px rgba(3,12,22,.24);
}
.home-team-switch:before{color:#8798a8;letter-spacing:.16em}
.home-team-button{border-radius:6px;padding:9px 13px;color:#c6d1dc}
.home-team-button:hover{background:rgba(54,90,255,.14)}
.home-team-button.active{
  background:linear-gradient(105deg,var(--jl-red) 0 74%,var(--jl-blue) 74% 100%);
  box-shadow:0 8px 20px rgba(255,38,61,.22);
}
.sport-feature-card{
  position:relative;border-radius:13px;border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(150deg,#071525,#10253a);box-shadow:0 20px 50px rgba(5,16,29,.18);
}
.sport-feature-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--jl-red);z-index:2}
.next-match-card:before{background:var(--jl-blue)}
.table-feature-card:before{background:linear-gradient(90deg,var(--jl-red),var(--jl-blue))}
.sport-card-top{height:50px;padding-inline:16px;font-size:.70rem;letter-spacing:.04em}
.status-chip{border-radius:5px;background:var(--jl-blue);letter-spacing:.04em}
.status-finished{background:#20a461}
.sport-feature-card .match-large{min-height:200px}
.home-sport .club-side img,.home-sport .club-side .logo-placeholder{width:60px;height:60px}
.home-sport .club-name{font-size:.73rem}
.home-sport .score{font-size:2.15rem}
.home-sport .match-meta{color:#9cafbf}
.home-sport .match-bottom{color:#8fa2b2}
.mini-row{grid-template-columns:26px 28px 1fr 38px;padding:7px 5px}
.mini-row.own{
  background:linear-gradient(90deg,rgba(255,38,61,.22),rgba(54,90,255,.12));
  border-left:3px solid var(--jl-red);
}

/* ----- content rhythm / cards ----- */
.home-quick-grid{padding-top:34px;gap:18px}
.home-upcoming-panel,.home-club-stats{border-radius:15px;border-color:var(--jl-border);box-shadow:var(--jl-shadow)}
.section{padding-top:48px}
.section-heading{margin-bottom:20px}
.section-heading h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.045em;color:#07111f}
.text-link{color:var(--jl-blue);font-size:.73rem;text-transform:uppercase;letter-spacing:.05em}

/* news cards */
.news-grid{gap:18px}
.news-card{
  position:relative;border:1px solid var(--jl-border);border-radius:13px;
  box-shadow:0 12px 34px rgba(7,17,31,.08);background:#fff;
}
.news-card:before{
  content:"";position:absolute;top:0;left:0;width:72px;height:4px;z-index:2;
  background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50%);
}
.news-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(7,17,31,.13)}
.news-image{background:linear-gradient(135deg,#081525,#15345a)}
.news-body{padding:19px 20px 21px}
.news-date{color:var(--jl-red);letter-spacing:.08em}
.news-card h3{font-size:1.08rem;letter-spacing:-.018em}

/* team cards */
.team-grid{gap:15px}
.team-card{
  border-radius:13px;border:1px solid var(--jl-border);box-shadow:0 10px 30px rgba(7,17,31,.075);
  padding:21px;overflow:hidden;background:#fff;
}
.team-card:before{
  content:"";position:absolute;inset:0 auto 0 0;width:4px;
  background:linear-gradient(180deg,var(--jl-red),var(--jl-blue));
}
.team-card:after{width:120px;height:120px;right:-58px;bottom:-58px;background:rgba(54,90,255,.065)}
.team-card:hover{transform:translateY(-4px);box-shadow:0 17px 42px rgba(7,17,31,.12);border-color:#ccd5df}
.team-card .team-icon{
  width:46px;height:46px;border-radius:10px;
  background:linear-gradient(135deg,#071525,#0e2b4a);box-shadow:inset 0 -3px 0 var(--jl-blue);
}
.team-card h3{font-size:1.08rem;letter-spacing:-.02em}
.team-card>span{color:var(--jl-red)}

/* match lists */
.match-row{
  border-radius:11px;border:1px solid var(--jl-border);box-shadow:0 6px 17px rgba(7,17,31,.045);
  background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.match-row:hover{border-color:#bcc8d5;box-shadow:0 10px 25px rgba(7,17,31,.08);transform:translateY(-1px)}
.match-row-score{color:#07111f}

/* ----- all inner-page heroes ----- */
.page-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 88% 0,rgba(54,90,255,.20),transparent 28%),
    linear-gradient(112deg,#06101d,#0b1d34 64%,#102a4f);
  border:0;padding:50px 0 43px;
}
.page-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--jl-red) 0 46%,var(--jl-blue) 46% 100%);
}
.page-hero:before{
  content:"";position:absolute;right:-70px;top:-180px;width:480px;height:480px;border-radius:50%;
  border:78px solid rgba(255,255,255,.024);pointer-events:none;
}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:.93;letter-spacing:-.055em;color:#fff}
.page-hero p{color:#a9b8c5}
.back-link{color:#d1dbe4}

/* ----- generic content cards ----- */
.content-card,.player-profile-card,.competition-card,.history-card,.club-overview-card,.contact-card,.sponsor-card{
  border-radius:13px;border-color:var(--jl-border);box-shadow:var(--jl-shadow);background:#fff;
}
.content-card-title{
  position:relative;background:#071525;padding:17px 19px;font-size:.77rem;letter-spacing:.045em;
}
.content-card-title:after{
  content:"";position:absolute;left:0;bottom:0;width:72px;height:3px;
  background:linear-gradient(90deg,var(--jl-red),var(--jl-blue));
}

/* player directory/profile */
.directory-player{border-radius:11px;border-color:var(--jl-border);box-shadow:0 7px 20px rgba(7,17,31,.05)}
.directory-player:hover{border-color:#becad7;box-shadow:0 12px 28px rgba(7,17,31,.09)}
.directory-photo{border-radius:10px}
.player-profile-card{
  position:relative;overflow:hidden;background:#fff;padding:27px;
}
.player-profile-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--jl-red),var(--jl-blue))}
.player-profile-photo{border-radius:13px}
.player-profile-copy h2{color:#07111f}
.player-team-chips a{border-radius:6px;background:#edf1f6;color:#0b1a2a}
.player-stat-card{position:relative;border-radius:12px;background:#071525;overflow:hidden}
.player-stat-card:nth-child(2):before,.player-stat-card:nth-child(5):before{background:var(--jl-blue)}
.player-stat-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--jl-red)}
.player-comp-numbers span{border-radius:6px}

/* competition/history */
.competition-card{position:relative;overflow:hidden}
.competition-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--jl-red),var(--jl-blue))}
.competition-card h3{color:#07111f}
.history-card{position:relative;overflow:hidden}
.history-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--jl-blue)}
.history-season{color:#07111f}
.summary-stat{border-radius:11px;background:#071525}

/* tables */
.table-wrap{border-radius:13px}
.full-table th{background:#071525;color:#aebcca;border-bottom:0;padding-top:13px;padding-bottom:13px}
.full-table td{padding-top:12px;padding-bottom:12px}
.full-table tr.own{
  background:linear-gradient(90deg,rgba(255,38,61,.10),rgba(54,90,255,.065));
  box-shadow:inset 4px 0 0 var(--jl-red);
}

/* match detail */
.match-detail-card{
  position:relative;overflow:hidden;border-radius:14px;
  background:
    radial-gradient(circle at 50% 0,rgba(54,90,255,.18),transparent 34%),
    linear-gradient(120deg,#06111e,#0b2037);
  box-shadow:0 22px 55px rgba(7,17,31,.18);
}
.match-detail-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50%)}
.match-facts span{border-radius:7px;background:rgba(255,255,255,.065)}
.match-detail-card .modal-link{border-radius:6px}

/* filters / controls */
.filter-button{border-radius:7px;border-color:#ccd5df;background:#fff}
.filter-button:hover{border-color:#aebdcb}
.filter-button.active{background:#071525;border-color:#071525;box-shadow:inset 0 -3px 0 var(--jl-blue)}
.search-box{border-radius:8px}

/* footer */
.site-footer{
  position:relative;margin-top:64px;background:#030810;border:0;color:#b4c0cc;
}
.site-footer:before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50%);
}
.footer-main{min-height:165px}
.footer-brand img{width:64px;height:64px;filter:drop-shadow(0 7px 14px rgba(0,0,0,.35))}
.footer-brand strong{letter-spacing:-.02em}
.footer-links a:hover{color:#fff}

/* mobile: app-like, calm and readable */
.mobile-dock{
  background:rgba(3,9,16,.985);border-top:1px solid rgba(255,255,255,.10);
}
.mobile-dock:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--jl-red),var(--jl-blue))}
.mobile-dock a.active{background:rgba(54,90,255,.09);box-shadow:none;color:#fff}
.mobile-dock a.active span{color:var(--jl-red)}

@media(max-width:1180px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(335px,.68fr)}
  .hero-copy h1{font-size:clamp(2.8rem,5.2vw,4.65rem)}
}
@media(max-width:900px){
  .wrap{width:calc(100% - 30px)}
  .site-header:after{background:linear-gradient(90deg,var(--jl-red),var(--jl-blue))}
  .header-main{min-height:74px}
  .brand-logo{width:57px;height:57px}
  .main-nav{background:rgba(4,12,22,.995);border-bottom:3px solid var(--jl-red)}
  .main-nav>a,.nav-group>summary{font-size:.78rem;border-radius:6px}
  .nav-dropdown{background:rgba(255,255,255,.035)}
  .hero-pro,.hero-inner{min-height:405px}
  .hero-copy{padding:42px 0 64px}
  .hero-copy h1{font-size:clamp(2.65rem,9vw,4.25rem)}
  .home-sport{margin-top:-28px}
  .page-hero{padding:39px 0 34px}
}
@media(max-width:650px){
  .wrap{width:calc(100% - 20px)}
  .brand{gap:10px}.brand-logo{width:50px;height:50px}
  .brand-copy strong{font-size:.92rem;max-width:230px}
  .match-ticker{padding-left:10px}.ticker-item{min-width:225px}
  .hero-pro,.hero-inner{min-height:365px}
  .hero-copy{padding:34px 0 50px}
  .hero-copy h1{font-size:2.42rem;line-height:.94}
  .hero-tagline{font-size:1.04rem}
  .hero-actions{gap:8px}.button{padding-inline:14px;min-height:43px}
  .home-team-switch{border-radius:8px}
  .sport-feature-card{border-radius:11px}
  .section{padding-top:36px}
  .section-heading h2{font-size:2rem}
  .news-card,.team-card,.content-card,.player-profile-card,.competition-card,.history-card{border-radius:11px}
  .page-hero h1{font-size:2.4rem}
  .footer-main{min-height:auto;padding:29px 0}
}

/* ==========================================================
   WEB 4.1 — FINAL HOMEPAGE VISUAL SYSTEM
   Structure and data bindings unchanged. Pure presentation layer.
   Identity: red + royal blue + black/navy derived from TJ Sokol crest.
   ========================================================== */

:root{
  --jl-red:#ff263d;
  --jl-red-deep:#e41831;
  --jl-blue:#365aff;
  --jl-blue-deep:#2345d8;
  --jl-black:#03070d;
  --jl-navy:#07111f;
  --jl-navy-2:#0b1b2d;
  --jl-paper:#f5f7fa;
  --jl-border:#dce3ea;
  --jl-muted:#71808f;
  --jl-shadow:0 14px 38px rgba(7,17,31,.09);
  --jl-shadow-strong:0 26px 70px rgba(2,10,18,.26);
}

/* Header: tighter and more premium */
.utility-bar{min-height:25px;background:#02070d;border-bottom:1px solid rgba(255,255,255,.06)}
.utility-inner{min-height:25px;font-size:.64rem;letter-spacing:.02em}
.site-header{background:rgba(5,14,25,.985)}
.site-header:after{height:2px;background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50%)}
.header-main{min-height:82px}
.brand-logo{width:62px;height:62px}
.brand-copy strong{font-size:clamp(1rem,1.55vw,1.45rem);letter-spacing:-.025em}
.brand-copy small{font-size:.57rem;letter-spacing:.18em;color:#91a2b1}
.main-nav>a,.nav-group>summary{font-size:.72rem;letter-spacing:.015em}

/* Ticker: information ribbon, not another visual block */
.match-ticker{min-height:54px}
.ticker-item{min-width:255px;padding:16px 15px 7px}
.ticker-team-chip{top:4px}

/* HERO — identity first, match data starts immediately below */
.hero-pro,
.hero-inner{min-height:395px}
.hero-pro{
  background:
    radial-gradient(circle at 79% 48%,rgba(54,90,255,.28),transparent 28%),
    radial-gradient(circle at 92% 92%,rgba(255,38,61,.20),transparent 29%),
    linear-gradient(116deg,#050c16 0%,#081626 47%,#0c2140 100%);
}
.hero-pro:before{
  background:
    linear-gradient(124deg,transparent 0 69%,rgba(255,38,61,.18) 69% 72%,transparent 72% 76%,rgba(54,90,255,.18) 76% 82%,transparent 82%),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:auto,46px 46px,46px 46px;
}
.hero-stripe{right:-7%;top:-75%;width:29%;height:255%;opacity:.78}
.hero-inner{grid-template-columns:minmax(0,1.2fr) minmax(300px,.52fr);gap:30px}
.hero-copy{padding:35px 0 58px}
.hero-copy h1{
  max-width:800px;
  margin:9px 0 11px;
  font-size:clamp(2.65rem,4.25vw,4.55rem);
  line-height:.91;
  letter-spacing:-.058em;
}
.hero-tagline{font-size:clamp(1rem,1.45vw,1.28rem);margin:0 0 7px}
.hero-copy p{font-size:.82rem;margin-top:7px;max-width:630px}
.hero-actions{margin-top:20px}
.sync-line{margin-top:17px;font-size:.69rem}

/* The right side is now a pure crest/identity composition.
   The duplicated next-match card is intentionally hidden; the real Výsledkový servis
   directly below remains the single source for current match information. */
.hero-side{
  position:relative;
  padding:25px 0 45px;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.hero-side:before{
  content:"";
  position:absolute;
  width:330px;height:330px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 0 0 22px rgba(54,90,255,.035),
    0 0 0 46px rgba(255,38,61,.025),
    inset 0 0 70px rgba(54,90,255,.09);
}
.hero-side:after{
  content:"";
  position:absolute;
  width:82%;height:3px;
  bottom:43px;right:0;
  background:linear-gradient(90deg,transparent,var(--jl-red) 20% 50%,var(--jl-blue) 50% 80%,transparent);
  opacity:.85;
}
.hero-crest{
  position:relative;
  right:auto;top:auto;
  width:275px;height:275px;
  opacity:.82;
  filter:saturate(105%) drop-shadow(0 25px 45px rgba(0,0,0,.30));
  z-index:2;
}
.crest-halo{display:none}
.hero-match-spotlight{display:none!important}

/* Výsledkový servis — the strongest sports module on the homepage */
.home-sport{margin-top:-37px;gap:15px}
.home-team-switch{
  min-height:52px;
  padding:6px 8px;
  border-radius:12px 12px 8px 8px;
  background:linear-gradient(105deg,#030912,#071422);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 20px 52px rgba(3,12,22,.24);
}
.home-team-switch:before{font-size:.58rem;color:#98a9b7}
.home-team-button{padding:10px 14px;border-radius:7px;font-size:.66rem}
.home-team-button.active{
  background:linear-gradient(105deg,var(--jl-red) 0 73%,var(--jl-blue) 73% 100%);
  box-shadow:0 8px 24px rgba(255,38,61,.25);
}
.sport-feature-card{
  border-radius:12px;
  background:linear-gradient(150deg,#061321,#0d2236);
  box-shadow:0 18px 46px rgba(5,16,29,.17);
}
.sport-card-top{height:47px;font-size:.66rem}
.sport-feature-card .match-large,.sport-feature-card .mini-table{min-height:178px}
.home-sport .club-side img,.home-sport .club-side .logo-placeholder{width:56px;height:56px}
.home-sport .score{font-size:2rem}
.home-sport .match-meta{font-size:.66rem}
.home-sport .match-bottom{font-size:.63rem}
.mini-row{padding:6px 5px;font-size:.68rem}

/* White content area gets club DNA instead of generic CMS cards */
body{background:linear-gradient(180deg,#f3f6f9 0%,#f8f9fb 38%,#f1f4f7 100%)}
.home-quick-grid{padding-top:28px;gap:16px}
.home-upcoming-panel,.home-club-stats{
  position:relative;
  overflow:hidden;
  border-radius:13px;
  background:#fff;
  border:1px solid var(--jl-border);
  box-shadow:var(--jl-shadow);
}
.home-upcoming-panel:before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--jl-red) 0 42%,var(--jl-blue) 42% 100%);
}
.home-club-stats:before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--jl-blue),var(--jl-red));
}
.compact-heading{padding-top:3px}
.compact-heading h2{font-size:1.75rem;letter-spacing:-.045em}
.light-fixtures .fixture{padding:10px 0}
.light-fixtures .fixture-date,.light-fixtures .fixture-time{font-weight:900}
.club-stat-grid{gap:9px}
.club-stat{min-height:102px;border-radius:10px;border:1px solid #e1e7ed}
.club-stat:nth-child(1){background:linear-gradient(145deg,#061321,#0c253d)}
.club-stat:nth-child(2){background:linear-gradient(145deg,#eef2ff,#e5ebff);box-shadow:inset 0 -3px 0 rgba(54,90,255,.42)}
.club-stat:nth-child(3){background:linear-gradient(145deg,#fff2f4,#ffe8ec);box-shadow:inset 0 -3px 0 rgba(255,38,61,.36)}
.club-stat:nth-child(4){background:#f1f4f7;box-shadow:inset 0 -3px 0 #c6d0da}
.club-stat b{font-size:1.75rem}

/* Editorial section rhythm */
.section{padding-top:42px}
.section-heading{margin-bottom:17px}
.section-heading h2{font-size:clamp(1.75rem,2.7vw,2.45rem)}
#homeNewsSection{
  position:relative;
  margin-top:36px;
  padding:28px 28px 30px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(246,249,252,.95));
  border:1px solid #e0e6ec;
  box-shadow:0 12px 36px rgba(7,17,31,.055);
}
#homeNewsSection:before{
  content:"";position:absolute;left:28px;top:0;width:120px;height:4px;
  background:linear-gradient(90deg,var(--jl-red) 0 50%,var(--jl-blue) 50%);
}
.news-empty{
  background:linear-gradient(135deg,#fff,#f7f9fc);
  border-style:solid;
  border-color:#e0e6ec;
  color:#71808f;
}
.news-card,.team-card{border-radius:12px}
.team-card{padding:19px}
.team-card .team-icon{width:42px;height:42px}

/* Better visual hierarchy for result lists */
.match-row{border-radius:10px;padding-top:12px;padding-bottom:12px}
.match-row-date{font-size:.68rem}
.match-row-team{font-size:.76rem}
.match-row-comp{font-size:.62rem}

/* Keep inner pages aligned with the new homepage language */
.page-hero{padding:43px 0 37px}
.page-hero h1{font-size:clamp(2.35rem,4vw,4.1rem)}
.content-card-title{padding-top:15px;padding-bottom:15px}

/* Responsive refinement */
@media(max-width:1180px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(260px,.48fr)}
  .hero-crest{width:235px;height:235px}
  .hero-side:before{width:285px;height:285px}
}
@media(max-width:900px){
  .hero-pro,.hero-inner{min-height:365px}
  .hero-copy{padding:34px 0 54px}
  .hero-side{display:none}
  .home-sport{margin-top:-23px}
  #homeNewsSection{margin-inline:15px;width:auto;padding:23px 20px 25px}
  #homeNewsSection:before{left:20px}
}
@media(max-width:650px){
  .header-main{min-height:68px}
  .brand-logo{width:48px;height:48px}
  .match-ticker{min-height:50px}
  .ticker-item{min-width:215px;padding-top:15px}
  .hero-pro,.hero-inner{min-height:330px}
  .hero-copy{padding:29px 0 46px}
  .hero-copy h1{font-size:2.22rem;max-width:96%}
  .hero-tagline{font-size:.98rem}
  .hero-copy p{font-size:.78rem}
  .sync-line{display:none}
  .home-sport{margin-top:-17px}
  .home-team-switch{min-height:48px;padding:5px}
  .sport-feature-card .match-large,.sport-feature-card .mini-table{min-height:170px}
  .home-quick-grid{padding-top:21px}
  #homeNewsSection{margin-top:28px;margin-inline:10px}
  .section{padding-top:32px}
}


/* 4.3 — CLUB TEAM CARDS
   Výrazná identifikace družstva + znak klubu v pravém horním rohu */
.team-card.team-card-club{
  position:relative;
  min-height:235px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 92% 10%,rgba(54,90,255,.10),transparent 32%),
    linear-gradient(145deg,#ffffff 0%,#f8fafc 100%);
}
.team-card.team-card-club:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--jl-red) 0 52%,var(--jl-blue) 52% 100%);
  z-index:3;
}
.team-card.team-card-club:after{
  content:"";
  position:absolute;
  width:185px;height:185px;
  right:-82px;top:-78px;
  border-radius:50%;
  border:1px solid rgba(54,90,255,.12);
  background:rgba(54,90,255,.035);
  z-index:0;
}
.team-card-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  min-height:112px;
  padding:20px 20px 8px 24px;
}
.team-code-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.team-code{
  display:block;
  font-size:clamp(2.75rem,4.2vw,4.4rem);
  line-height:.82;
  letter-spacing:-.075em;
  font-weight:1000;
  color:var(--jl-navy,#07111f);
  text-transform:uppercase;
}
.team-code-block small{
  display:block;
  margin-top:11px;
  color:var(--jl-red);
  font-size:.64rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
}
.team-card-club-logo{
  position:relative;
  z-index:3;
  width:82px;
  height:82px;
  display:grid;
  place-items:center;
  flex:0 0 82px;
}
.team-card-club-logo img.team-card-logo,
.team-card-club-logo .logo-placeholder.team-card-logo{
  width:76px;
  height:76px;
  object-fit:contain;
}
.team-card-club-logo img.team-card-logo{
  filter:drop-shadow(0 7px 12px rgba(7,17,31,.13));
}
.team-card-club-logo .logo-placeholder.team-card-logo{
  border-radius:50%;
  place-items:center;
  background:linear-gradient(135deg,var(--jl-red),#cf1731);
  color:#fff;
  font-size:1.05rem;
  font-weight:950;
}
.team-card-copy{
  position:relative;
  z-index:2;
  padding:4px 24px 0;
}
.team-card.team-card-club h3{
  margin:0 0 8px;
  font-size:1.22rem;
  line-height:1.1;
  letter-spacing:-.035em;
  color:#07111f;
}
.team-card.team-card-club p{
  min-height:2.45em;
  margin:0;
  color:#657484;
  font-size:.76rem;
  line-height:1.42;
}
.team-card-detail{
  position:relative;
  z-index:2;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:18px 24px 0!important;
  padding-top:13px;
  border-top:1px solid #e2e8ee;
  color:#07111f!important;
  font-size:.69rem!important;
  font-weight:950!important;
  letter-spacing:.08em;
  text-transform:uppercase!important;
}
.team-card-detail b{
  color:var(--jl-red);
  font-size:1.05rem;
}
.team-card.team-card-club:hover .team-code{
  color:var(--jl-red);
}
.team-card.team-card-club:hover .team-card-club-logo{
  transform:translateY(-2px) scale(1.04);
}
.team-card-club-logo{transition:transform .18s ease}
.team-code{transition:color .18s ease}

@media(max-width:650px){
  .team-card.team-card-club{min-height:205px}
  .team-card-top{min-height:96px;padding:18px 18px 6px 22px}
  .team-code{font-size:3.2rem}
  .team-card-club-logo{width:70px;height:70px;flex-basis:70px}
  .team-card-club-logo img.team-card-logo,
  .team-card-club-logo .logo-placeholder.team-card-logo{width:64px;height:64px}
  .team-card-copy{padding-left:22px;padding-right:22px}
  .team-card-detail{margin-left:22px!important;margin-right:22px!important}
}


/* 4.4 — výrazné označení družstva
   Vyšší specificity záměrně přepisuje staré obecné .team-card span pravidlo. */
.team-card.team-card-club .team-code{
  display:block;
  margin:0!important;
  color:#07111f!important;
  font-size:clamp(3.15rem,4.8vw,5rem)!important;
  line-height:.78!important;
  letter-spacing:-.085em!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
}
.team-card.team-card-club .team-code-block small{
  display:block;
  margin:13px 0 0!important;
  color:var(--jl-red)!important;
  font-size:.66rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.team-card.team-card-club:hover .team-code{
  color:var(--jl-blue,#365aff)!important;
}
@media(max-width:650px){
  .team-card.team-card-club .team-code{
    font-size:3.55rem!important;
  }
}


/* 4.5 — odstraněn horní bílý výsledkový ticker.
   Výsledky/program patří do Výsledkového servisu. */
.match-ticker,
.score-ticker,
.top-match-strip,
.fixture-ticker,
#matchTicker,
#ticker{
  display:none!important;
}

.site-header{
  margin-bottom:0!important;
}
.hero,
.page-hero{
  border-top:0!important;
}
