/* ==========================================================================
   A4SPORTSHUB — DESIGN SYSTEM
   Concept: "Matchday at night" — black, red & white, rendered as a live
   sports-ticker brand for global football coverage.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* -- Colour tokens ------------------------------------------------- */
  /* Palette: black / red / white — per brand direction. */
  --pitch-night:   #0A0A0A;   /* primary dark background (black)   */
  --pitch-night-2: #171717;   /* raised dark surface        */
  --pitch-night-3: #2B2B2B;   /* border / hairline on dark  */
  --floodlight:    #FFFFFF;   /* primary light background (white) */
  --paper:         #F2F2F2;   /* card surface on light bg   */
  --match-green:   #E4202D;   /* primary accent (brand red) */
  --match-green-dim:#A8151F;  /* accent hover / pressed (dark red) */
  --ticker-red:    #E4202D;   /* LIVE indicator — same red  */
  --ink:           #121212;   /* body text on light bg      */
  --mist:          #666666;   /* muted text on light bg     */
  --mist-on-dark:  #B3B3B3;   /* muted text on dark bg      */

  --font-display: 'Anton', sans-serif;
  --font-utility: 'Barlow Condensed', sans-serif;
  --font-body: 'Inter', sans-serif;

  --container: 1120px;
  --radius: 10px;
}

/* -- Reset ------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-body);
  background:var(--floodlight);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font:inherit; cursor:pointer; }
input,textarea,select{ font:inherit; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}

:focus-visible{
  outline:3px solid var(--match-green);
  outline-offset:2px;
}

.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:20px;
}

/* -- Typography ---------------------------------------------------------- */
h1,h2,h3{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:0.01em; line-height:0.98; font-weight:400; }
h1{ font-size:clamp(2.6rem, 7vw, 4.6rem); }
h2{ font-size:clamp(1.9rem, 4.4vw, 2.8rem); }
h3{ font-size:clamp(1.3rem, 2.6vw, 1.6rem); }
p{ color:var(--mist); max-width:60ch; }
.on-dark p{ color:var(--mist-on-dark); }

.eyebrow{
  font-family:var(--font-utility);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-weight:600;
  font-size:0.82rem;
  color:var(--match-green-dim);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.on-dark .eyebrow{ color:var(--match-green); }

/* -- Live dot ------------------------------------------------------------ */
.live-dot{
  width:9px; height:9px; border-radius:50%;
  background:var(--ticker-red);
  box-shadow:0 0 0 0 rgba(228,32,45,0.55);
  animation:pulse 1.8s infinite;
  flex-shrink:0;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(228,32,45,0.55); }
  70%{ box-shadow:0 0 0 8px rgba(228,32,45,0); }
  100%{ box-shadow:0 0 0 0 rgba(228,32,45,0); }
}

/* ==========================================================================
   TICKER BAR — signature site-wide element, like a live scoreline strip.
   ========================================================================== */
.ticker{
  background:var(--pitch-night);
  border-bottom:1px solid var(--pitch-night-3);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
}
.ticker__track{
  display:inline-flex;
  align-items:center;
  gap:48px;
  padding:9px 0;
  animation:ticker-scroll 26s linear infinite;
  font-family:var(--font-utility);
  font-weight:600;
  letter-spacing:0.05em;
  font-size:0.86rem;
  text-transform:uppercase;
  color:var(--floodlight);
}
.ticker__item{ display:inline-flex; align-items:center; gap:10px; }
.ticker__item strong{ color:var(--match-green); }
@keyframes ticker-scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .ticker__track{ animation:none; }
}

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.site-header{
  background:var(--pitch-night);
  position:sticky; top:0; z-index:50;
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:16px;
  max-width:1600px;
}
.nav__brand{
  font-family:var(--font-display);
  color:var(--floodlight);
  font-size:1.5rem;
  text-transform:uppercase;
  letter-spacing:0.02em;
  display:flex; align-items:center; gap:10px;
}
.nav__brand span{ color:var(--match-green); }
.nav__links{
  display:flex; align-items:center; gap:clamp(12px,1.25vw,20px);
  font-family:var(--font-utility);
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:600;
  font-size:clamp(0.78rem,0.82vw,0.9rem);
}
.nav__links a{
  color:var(--mist-on-dark);
  padding-block:6px;
  border-bottom:2px solid transparent;
  transition:color .18s ease, border-color .18s ease;
}
.nav__links a:hover,
.nav__links a[aria-current="page"]{
  color:var(--floodlight);
  border-color:var(--match-green);
}

.nav__dropdown{position:relative;display:flex;align-items:center;}
.nav__dropbtn{background:none;border:0;color:var(--mist-on-dark);font:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;padding:6px 0;border-bottom:2px solid transparent;cursor:pointer;transition:color .18s ease,border-color .18s ease;}
.nav__dropbtn:hover,.nav__dropdown.is-active .nav__dropbtn,.nav__dropdown.is-open .nav__dropbtn{color:var(--floodlight);border-color:var(--match-green);}
.nav__dropdown-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);min-width:210px;background:var(--pitch-night-2);border:1px solid var(--pitch-night-3);border-radius:10px;padding:8px;box-shadow:0 16px 35px rgba(0,0,0,.3);display:none;z-index:80;}
.nav__dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.nav__dropdown-menu a{display:block!important;width:100%;padding:11px 12px!important;border-bottom:1px solid var(--pitch-night-3)!important;white-space:nowrap;}
.nav__dropdown-menu a:last-child{border-bottom:0!important;}
.nav__dropdown:hover .nav__dropdown-menu,.nav__dropdown:focus-within .nav__dropdown-menu,.nav__dropdown.is-open .nav__dropdown-menu{display:block;}
.nav__ucl-short{display:none;}
.nav__search{display:grid;place-items:center;width:34px;height:34px;padding:0!important;border:1px solid var(--pitch-night-3)!important;border-radius:50%;flex:0 0 34px;}
.nav__search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.nav__cta{
  background:var(--match-green);
  color:var(--pitch-night) !important;
  padding:8px 16px !important;
  border-radius:100px;
  border-bottom:none !important;
}
.nav__cta:hover{ background:var(--floodlight) !important; }

.nav__toggle{
  display:none;
  background:none; border:none; color:var(--floodlight);
  font-size:1.6rem; line-height:1;
}

@media (max-width: 860px){
  .nav__toggle{ display:block; }
  .nav__links{
    position:absolute; top:100%; left:0; right:0;
    background:var(--pitch-night-2);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:8px 20px 18px;
    display:none;
    border-bottom:1px solid var(--pitch-night-3);
  }
  .nav__links.is-open{ display:flex; }
  .nav__links a{ width:100%; padding-block:12px; border-bottom:1px solid var(--pitch-night-3); }
  .nav__dropdown{width:100%;display:block;}
  .nav__dropbtn{width:100%;padding:12px 0;text-align:left;border-bottom:1px solid var(--pitch-night-3);display:flex;justify-content:space-between;align-items:center;}
  .nav__dropdown-menu{position:static;transform:none;min-width:0;width:100%;background:var(--pitch-night);box-shadow:none;border:0;border-radius:0;padding:0 0 0 14px;}
  .nav__dropdown:hover .nav__dropdown-menu:not(.force-open),.nav__dropdown:focus-within .nav__dropdown-menu:not(.force-open){display:none;}
  .nav__dropdown.is-open .nav__dropdown-menu{display:block!important;}
  .nav__dropdown-menu a{padding-left:10px!important;font-size:.86rem;}
  .nav__search{width:100%;height:auto;display:flex!important;justify-content:flex-start;gap:10px;border:0!important;border-bottom:1px solid var(--pitch-night-3)!important;border-radius:0;}
  .nav__search::after{content:"Search";}
  .nav__cta{ margin-top:8px; text-align:center; }
}

@media (max-width:1180px) and (min-width:861px){
  .nav__brand{font-size:1.28rem;gap:6px;}
  .nav__ucl-full{display:none;}
  .nav__ucl-short{display:inline;}
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-utility);
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:600;
  font-size:0.92rem;
  padding:14px 26px;
  border-radius:100px;
  border:2px solid transparent;
  transition:transform .15s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn--primary{ background:var(--match-green); color:var(--pitch-night); }
.btn--primary:hover{ background:var(--match-green-dim); }
.btn--ghost{ border-color:currentColor; color:var(--floodlight); }
.btn--ghost:hover{ background:rgba(255,255,255,0.1); }
.btn--dark{ background:var(--pitch-night); color:var(--floodlight); }
.btn--dark:hover{ background:var(--ink); }
.btn--gold{ background:var(--floodlight); color:var(--match-green); border-color:var(--match-green); }
.btn--gold:hover{ background:var(--match-green); color:var(--floodlight); transform:translateY(-2px); }
.btn--block{ width:100%; }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  background:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(228,32,45,0.20), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 0%, rgba(255,255,255,0.05), transparent 55%),
    var(--pitch-night);
  color:var(--floodlight);
  padding-block:72px 88px;
  position:relative;
  overflow:hidden;
}
.hero__grid{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:48px;
  align-items:center;
}
.hero h1{ color:var(--floodlight); margin-block:14px 18px; }
.hero h1 em{ font-style:normal; color:var(--match-green); }
.hero__sub{
  font-family:var(--font-utility);
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:600;
  color:var(--mist-on-dark);
  font-size:1.05rem;
  max-width:46ch;
  margin-bottom:30px;
}
.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; }

.hero__panel{
  background:var(--pitch-night-2);
  border:1px solid var(--pitch-night-3);
  border-radius:var(--radius);
  padding:22px;
}
.hero__panel-title{
  font-family:var(--font-utility);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
  color:var(--mist-on-dark);
  font-size:0.8rem;
  margin-bottom:12px;
  display:flex; align-items:center; gap:8px;
}
.hero__next{
  font-family:var(--font-display);
  font-size:1.9rem;
  color:var(--floodlight);
  text-transform:uppercase;
  margin-bottom:6px;
}
.hero__next-meta{
  font-family:var(--font-utility);
  color:var(--match-green);
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-size:0.95rem;
}

@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   SECTIONS / STAT STRIP
   ========================================================================== */
.section{ padding-block:72px; }
.section--spacious{ padding-block:104px; } /* opt-in — used on Live Hub for extra breathing room between sections */
.section--dark{ background:var(--pitch-night); color:var(--floodlight); }
.section--paper{ background:var(--paper); }
.section-head{ max-width:640px; margin-bottom:44px; }
.section-head h2{ margin-top:10px; }

.stat-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--pitch-night-3);
  border-bottom:1px solid var(--pitch-night-3);
}
.stat-strip__item{
  padding:26px 20px;
  border-left:1px solid var(--pitch-night-3);
  text-align:center;
}
.stat-strip__item:first-child{ border-left:none; }
.stat-strip__num{ font-family:var(--font-display); font-size:2.1rem; color:var(--match-green); }
.stat-strip__label{ font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.06em; font-size:0.8rem; color:var(--mist-on-dark); margin-top:4px; }

@media (max-width:700px){
  .stat-strip{ grid-template-columns:1fr; }
  .stat-strip__item{ border-left:none; border-top:1px solid var(--pitch-night-3); }
  .stat-strip__item:first-child{ border-top:none; }
}

/* ==========================================================================
   CARDS
   ========================================================================== */
.grid{ display:grid; gap:22px; }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--2{ grid-template-columns:repeat(2,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){
  .grid--4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px){
  .grid--3, .grid--2{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .grid--4{ grid-template-columns:1fr; }
}

.card{
  background:#fff;
  border:1px solid #E0E0E0;
  border-radius:var(--radius);
  padding:26px;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.card:hover{ transform:translateY(-3px); border-color:var(--match-green); box-shadow:0 10px 24px rgba(0,0,0,0.12); }
.card__icon{
  width:46px; height:46px; border-radius:10px;
  background:var(--pitch-night); color:var(--match-green);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.3rem;
  margin-bottom:16px;
}
.card h3{ margin-bottom:8px; text-transform:none; }
.card p{ max-width:none; }

/* -- Social / roster cards ------------------------------------------------ */
.social-card{
  background:var(--pitch-night-2);
  border:1px solid var(--pitch-night-3);
  border-radius:var(--radius);
  padding:24px;
  display:flex; align-items:center; gap:16px;
  transition:transform .18s ease, border-color .18s ease;
}
.social-card:hover{ transform:translateY(-3px); border-color:var(--match-green); }
.social-card__glyph{
  width:52px; height:52px; border-radius:50%;
  background:var(--pitch-night);
  border:1px solid var(--pitch-night-3);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.1rem; color:var(--match-green);
  flex-shrink:0;
}
.social-card__platform{ font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.06em; font-weight:600; color:var(--mist-on-dark); font-size:0.78rem; }
.social-card__handle{ font-family:var(--font-display); font-size:1.25rem; color:var(--floodlight); text-transform:none; letter-spacing:0.01em; }
.social-card__arrow{ margin-left:auto; color:var(--match-green); font-size:1.3rem; }

/* -- Pricing cards --------------------------------------------------------- */
.price-card{
  background:#fff; border:1px solid #E0E0E0; border-radius:var(--radius);
  padding:28px; display:flex; flex-direction:column; gap:14px;
  position:relative;
}
.price-card--featured{ border-color:var(--match-green); box-shadow:0 12px 28px rgba(228,32,45,0.18); }
.price-card__tag{
  position:absolute; top:-13px; right:24px;
  background:var(--match-green); color:var(--floodlight);
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.05em; font-weight:700;
  font-size:0.72rem; padding:5px 12px; border-radius:100px;
}
.price-card__name{ font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.06em; font-weight:600; color:var(--mist); font-size:0.85rem; }
.price-card__amount{ font-family:var(--font-display); font-size:2.4rem; color:var(--ink); }
.price-card__amount span{ font-family:var(--font-utility); font-size:1rem; color:var(--mist); text-transform:uppercase; }
.price-card ul{ display:flex; flex-direction:column; gap:9px; margin-block:4px 8px; }
.price-card li{ font-size:0.94rem; color:var(--ink); display:flex; gap:8px; }
.price-card li::before{ content:"✓"; color:var(--match-green-dim); font-weight:700; }

/* ==========================================================================
   LIVE SCHEDULE (Live Hub) — grouped by platform, daily recurring times.
   ========================================================================== */
.schedule-platform{ margin-bottom:44px; }
.schedule-platform:last-child{ margin-bottom:0; }
.schedule-platform__head{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.schedule-platform__icon{ font-size:1.8rem; line-height:1; }
.schedule-platform__name{ font-family:var(--font-display); font-size:1.5rem; text-transform:uppercase; }
.schedule-session{
  background:#fff; border:1px solid #E0E0E0; border-radius:var(--radius);
  padding:22px; margin-bottom:14px;
}
.schedule-session:last-child{ margin-bottom:0; }
.schedule-session__top{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:10px; margin-bottom:8px;
}
.schedule-session__name{
  font-family:var(--font-display); font-size:1.2rem; text-transform:none;
  display:flex; align-items:center; gap:8px;
}
.schedule-session__time{
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.05em;
  font-weight:700; font-size:0.78rem; color:var(--match-green-dim);
  background:rgba(228,32,45,0.08); padding:5px 12px; border-radius:100px; white-space:nowrap;
}
.schedule-session p{ max-width:none; }

/* ==========================================================================
   TIMELINE (kept for potential future dated one-off events)
   ========================================================================== */
.timeline{ position:relative; padding-left:28px; }
.timeline::before{
  content:""; position:absolute; left:6px; top:6px; bottom:6px; width:2px;
  background:var(--pitch-night-3);
}
.timeline__item{ position:relative; padding-bottom:36px; }
.timeline__item:last-child{ padding-bottom:0; }
.timeline__marker{
  position:absolute; left:-28px; top:2px;
  width:14px; height:14px; border-radius:50%;
  background:var(--match-green);
  border:3px solid var(--pitch-night);
  box-shadow:0 0 0 2px var(--match-green);
}
.timeline__item--upcoming .timeline__marker{ background:var(--ticker-red); box-shadow:0 0 0 2px var(--ticker-red); }
.timeline__when{ font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.06em; font-weight:600; color:var(--match-green); font-size:0.85rem; margin-bottom:4px; }
.timeline__item--upcoming .timeline__when{ color:var(--ticker-red); }
.timeline__title{ font-family:var(--font-display); font-size:1.3rem; text-transform:none; margin-bottom:4px; }
.timeline__platform{ font-family:var(--font-utility); font-size:0.82rem; color:var(--mist-on-dark); text-transform:uppercase; letter-spacing:0.05em; }

/* ==========================================================================
   FORMS
   ========================================================================== */
.form{ display:grid; gap:18px; }
.form__row{ display:grid; gap:18px; grid-template-columns:1fr 1fr; }
@media (max-width:700px){ .form__row{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:7px; }
.field label{
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.06em;
  font-weight:600; font-size:0.8rem; color:var(--mist);
}
.on-dark .field label{ color:var(--mist-on-dark); }
.field input, .field textarea, .field select{
  background:#fff; border:1.5px solid #D9D9D9; border-radius:8px;
  padding:12px 14px; color:var(--ink);
}
.on-dark .field input, .on-dark .field textarea, .on-dark .field select{
  background:var(--pitch-night-2); border-color:var(--pitch-night-3); color:var(--floodlight);
}
.field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--match-green); }
.field textarea{ resize:vertical; min-height:130px; }
.field--hp{ position:absolute; left:-9999px; }

.collab-fields{
  display:none; margin-top:4px; margin-bottom:2px;
  border:1.5px dashed #D9D9D9; border-radius:8px; padding:18px;
  background:var(--paper);
}
.collab-fields .form__row:last-child{ margin-bottom:0; }
.collab-fields__hint{ font-size:0.85rem; color:var(--mist); margin-bottom:16px; max-width:none; }

.alert{
  border-radius:8px; padding:14px 16px; font-family:var(--font-utility);
  font-weight:600; letter-spacing:0.02em; margin-bottom:22px;
  display:flex; gap:10px; align-items:flex-start;
}
.alert--success{ background:#E4F8EC; color:#146C39; border:1px solid #BCEBCD; }
.alert--error{ background:#FDECEC; color:#A4232B; border:1px solid #F5C6C6; }

/* ==========================================================================
   MISC — bank/donate panels, footer
   ========================================================================== */
.panel{
  background:#fff; border:1px solid #E0E0E0; border-radius:var(--radius); padding:26px;
}
.panel--dark{ background:var(--pitch-night-2); border-color:var(--pitch-night-3); color:var(--floodlight); }
.kv{ display:grid; grid-template-columns:auto 1fr; gap:6px 16px; font-size:0.96rem; }
.kv dt{ font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.05em; font-weight:600; color:var(--mist); font-size:0.8rem; align-self:center; }
.on-dark .kv dt{ color:var(--mist-on-dark); }
.kv dd{ font-weight:600; }

.copy-btn{
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.05em; font-weight:700;
  font-size:0.72rem; background:var(--paper); border:1px solid #D9D9D9; color:var(--ink);
  padding:5px 12px; border-radius:100px; margin-left:10px;
}
.on-dark .copy-btn{ background:var(--pitch-night); border-color:var(--pitch-night-3); color:var(--floodlight); }
.copy-btn:hover{ border-color:var(--match-green); color:var(--match-green-dim); }

.divider{ height:1px; background:#E0E0E0; margin-block:16px; border:none; }
.on-dark .divider{ background:var(--pitch-night-3); }

/* -- Crypto wallet panels --------------------------------------------------- */
.crypto-card__head{ display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.crypto-card__ticker{
  font-family:var(--font-display); font-size:0.72rem;
  background:var(--pitch-night); color:var(--match-green);
  padding:3px 9px; border-radius:5px; letter-spacing:0.03em;
}
.crypto-card__network{
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.05em;
  font-weight:600; font-size:0.75rem; color:var(--mist); margin-bottom:12px;
}
.addr{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  background:var(--paper); border:1px solid #E0E0E0; border-radius:8px;
  padding:10px 12px;
}
.addr__value{
  font-family:'Courier New', monospace; font-size:0.85rem;
  word-break:break-all; flex:1; min-width:0;
}

.badge{
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(228,32,45,0.12); color:var(--match-green-dim);
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.05em; font-weight:700;
  font-size:0.72rem; padding:5px 11px; border-radius:100px;
}

.site-footer{
  background:var(--pitch-night); color:var(--mist-on-dark);
  padding-block:48px 28px;
}
.footer__grid{
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:36px;
  padding-bottom:32px; border-bottom:1px solid var(--pitch-night-3);
}
.footer__brand{ font-family:var(--font-display); color:var(--floodlight); font-size:1.4rem; text-transform:uppercase; margin-bottom:10px; }
.footer__brand span{ color:var(--match-green); }
.footer h4{
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.06em;
  color:var(--floodlight); font-size:0.85rem; margin-bottom:14px; font-weight:600;
}
.footer__links li{ margin-bottom:9px; font-size:0.92rem; }
.footer__links a:hover{ color:var(--match-green); }
.footer__bottom{
  padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-family:var(--font-utility); text-transform:uppercase; letter-spacing:0.04em; font-size:0.78rem;
}
@media (max-width:760px){ .footer__grid{ grid-template-columns:1fr; } }

/* -- Utility --------------------------------------------------------------- */
.text-center{ text-align:center; margin-inline:auto; }
.mt-24{ margin-top:24px; } .mt-40{ margin-top:40px; } .mb-0{ margin-bottom:0; }
.max-620{ max-width:620px; }


/* ========================= A4SPORTSHUB NEWS CMS ========================= */
.home-front{background:var(--paper);padding:28px 0 34px}.home-front__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 16px;margin-bottom:18px;border-bottom:1px solid #d6d6d2;font-family:var(--font-utility);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.home-front__bar>div{display:flex;align-items:center;gap:8px}.home-front__bar a{font-weight:800;color:var(--match-green-dim)}.home-lead-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,.82fr);gap:18px;min-height:560px}.home-lead{position:relative;overflow:hidden;border-radius:14px;background:var(--pitch-night)}.home-lead>a,.home-lead img,.home-lead__shade{position:absolute;inset:0;width:100%;height:100%}.home-lead img{object-fit:cover}.home-lead__shade{background:linear-gradient(180deg,rgba(4,8,7,.04) 25%,rgba(4,8,7,.94) 100%)}.home-lead__content{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(24px,4vw,48px);color:#fff}.home-lead__content h1{max-width:850px;font-size:clamp(2.2rem,5vw,5rem);line-height:.92;margin:8px 0 14px;color:#fff}.home-lead__content p{color:#e5e8e6;font-size:1.05rem}.home-lead__meta{margin-top:18px;font:700 .72rem var(--font-utility);text-transform:uppercase;color:#c9cfcb}.home-side-stories{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}.home-side-story{background:#fff;border:1px solid #deded9;border-radius:12px;overflow:hidden}.home-side-story>a{height:100%;display:grid;grid-template-columns:42% 1fr;color:inherit}.home-side-story img{width:100%;height:100%;object-fit:cover;background:#111}.home-side-story a>div{padding:18px;align-self:center}.home-side-story h2{font-size:clamp(1.05rem,1.45vw,1.45rem);line-height:1.05}.home-empty{min-height:480px;border-radius:14px;padding:clamp(30px,6vw,80px);display:flex;flex-direction:column;justify-content:end;background:linear-gradient(135deg,var(--pitch-night),var(--pitch-night-2));color:#fff}.home-empty h1{font-size:clamp(3rem,8vw,7rem);line-height:.88;color:#fff}.home-empty p{color:var(--mist-on-dark)}.home-league-rail{display:flex;align-items:center;gap:8px;margin-top:18px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.home-league-rail a{white-space:nowrap;padding:9px 14px;border:1px solid #d2d2ce;border-radius:999px;background:#fff;color:var(--pitch-night);font:800 .7rem var(--font-utility);text-transform:uppercase}.home-league-rail a:first-child{background:var(--match-green);border-color:var(--match-green);color:#fff}
.hero--news{padding-block:64px 76px}.hero-news-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:18px}.hero-news-title{font-size:clamp(1.65rem,3vw,2.5rem);color:var(--floodlight);margin:8px 0 10px}.story-kicker{display:inline-block;font-family:var(--font-utility);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--match-green-dim);margin-bottom:8px}.story-meta{font-family:var(--font-utility);font-size:.78rem;color:var(--mist);margin-top:12px}.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.news-grid--3{grid-template-columns:repeat(3,1fr)}.news-card{background:#fff;border:1px solid #e2e2e2;border-radius:var(--radius);overflow:hidden;transition:.18s}.news-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.12);border-color:var(--match-green)}.news-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#101814}.news-card__body{padding:20px}.news-card h3{font-size:1.2rem;line-height:1.1;margin-bottom:8px}.news-card p{font-size:.92rem}.news-layout,.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:start}.news-list{display:grid;gap:0}.news-row{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:22px 0;border-top:1px solid #ddd}.news-row:first-child{border-top:0;padding-top:0}.news-row__image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px}.news-row h3{font-size:1.35rem;margin-bottom:7px}.news-sidebar{display:grid;gap:20px;position:sticky;top:95px}.page-hero{padding-block:54px}.article__head{padding:62px 0 36px;background:var(--paper)}.article__narrow{max-width:900px}.article__head h1{font-size:clamp(2.35rem,6vw,5.4rem);line-height:.94;margin:8px 0 22px}.article__dek{font-size:1.22rem;max-width:760px}.article__media{max-width:1080px;margin-top:34px}.article__media img{width:100%;max-height:650px;object-fit:cover;border-radius:var(--radius)}.article-layout{padding-block:48px 76px}.article__content{font-size:1.08rem;line-height:1.78;max-width:760px}.article__content p{margin:0 0 1.25em;max-width:none}.article__content h2,.article__content h3{margin:1.5em 0 .55em}.article__content blockquote{border-left:4px solid var(--match-green);padding:4px 0 4px 22px;margin:28px 0;font-size:1.2rem}.article__content img{max-width:100%;height:auto}.share-strip{border-top:1px solid #ddd;margin-top:36px;padding-top:20px;display:flex;gap:16px;flex-wrap:wrap}.share-strip a{color:var(--match-green-dim);font-weight:700}.ad-slot{max-width:1100px;margin:18px auto;padding:12px;text-align:center;background:#f3f3f3;border:1px dashed #c7c7c7}.ad-slot img{display:block;max-width:100%;max-height:180px;margin:auto;object-fit:contain}.news-sidebar .ad-slot{margin:0}.search-form{display:flex;gap:12px;max-width:760px}.search-form input{flex:1;padding:14px;border:1.5px solid #ccc;border-radius:100px}
.admin-body{background:#f3f3f0}.admin-bar{background:var(--pitch-night);min-height:72px;padding:16px clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-bar nav{display:flex;gap:18px;flex-wrap:wrap}.admin-bar nav a{color:var(--mist-on-dark);font-family:var(--font-utility);font-weight:700;font-size:.82rem;text-transform:uppercase}.admin-main{max-width:1400px;margin:auto;padding:40px clamp(18px,4vw,54px) 80px}.admin-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.admin-head h1{font-size:clamp(2.4rem,5vw,4.4rem)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.admin-stat,.admin-panel{background:#fff;border:1px solid #ddd;border-radius:var(--radius);padding:24px}.admin-stat strong{font-family:var(--font-display);display:block;font-size:2.3rem}.admin-stat span{font-family:var(--font-utility);color:var(--mist);text-transform:uppercase;font-size:.78rem}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:14px 10px;border-bottom:1px solid #e4e4e4}.admin-table th{font-family:var(--font-utility);font-size:.75rem;text-transform:uppercase;color:var(--mist)}.table-actions{display:flex;gap:12px;align-items:center}.table-actions form{display:inline}.table-actions button{background:none;border:0;color:#a4232b;padding:0}.status{padding:4px 9px;border-radius:50px;font-size:.72rem;text-transform:uppercase;font-weight:800}.status--published{background:#e4f8ec;color:#146c39}.status--draft{background:#eee;color:#555}.admin-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}.admin-stack{display:grid;gap:18px;align-content:start}.headline-input{font-size:1.3rem!important;font-weight:800}.story-editor{min-height:560px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.55}.check{display:flex;gap:9px;align-items:center;margin:15px 0;font-family:var(--font-utility);font-weight:700}.admin-thumb,.admin-ad-preview{width:100%;max-height:180px;object-fit:cover;border-radius:8px;margin-bottom:12px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.admin-note{margin:-10px 0 25px}.admin-login{min-height:100vh;background:var(--pitch-night);display:grid;place-items:center;padding:20px}.admin-login-card{width:min(440px,100%);background:#fff;border-radius:var(--radius);padding:34px;display:grid;gap:20px}.admin-login-card .nav__brand{color:var(--pitch-night)}
@media(max-width:1100px){.news-grid{grid-template-columns:repeat(2,1fr)}.news-layout,.article-layout{grid-template-columns:1fr}.news-sidebar{position:static;grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-editor{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.news-grid,.news-grid--3{grid-template-columns:1fr}.news-row{grid-template-columns:110px 1fr;gap:14px}.news-row p{display:none}.news-sidebar{grid-template-columns:1fr}.admin-bar{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:1fr 1fr}.admin-head{align-items:flex-start;flex-direction:column}.search-form{flex-direction:column}.article__head{padding-top:42px}}
@media(max-width:1000px){.home-lead-grid{grid-template-columns:1fr;min-height:0}.home-lead{min-height:520px}.home-side-stories{grid-template-columns:repeat(3,1fr);grid-template-rows:none}.home-side-story>a{grid-template-columns:1fr}.home-side-story img{height:150px}.home-side-story a>div{padding:15px}}@media(max-width:700px){.home-front{padding-top:18px}.home-front__bar>div{font-size:.68rem}.home-lead{min-height:460px}.home-lead__content h1{font-size:2.35rem}.home-lead__content p{display:none}.home-side-stories{display:grid;grid-template-columns:1fr}.home-side-story>a{grid-template-columns:120px 1fr}.home-side-story img{height:100%}.home-side-story .story-meta{display:none}.home-league-rail{margin-inline:-20px;padding-inline:20px}.home-matches{grid-template-columns:repeat(5,minmax(230px,1fr))}}

/* ========================= MATCH CENTER + TRANSFER HUB ========================= */
.section-head--split{display:flex;align-items:end;justify-content:space-between;gap:24px}.match-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.match-list{max-width:980px;margin:auto}.match-day{font-size:1rem;font-family:var(--font-utility);letter-spacing:.06em;text-transform:uppercase;margin:34px 0 12px;color:var(--mist)}.match-card{background:#fff;border:1px solid #ddd;border-left:5px solid #b9b9b9;border-radius:12px;padding:18px 22px;margin-bottom:12px;display:grid;grid-template-columns:180px 1fr auto;gap:20px;align-items:center}.match-card--live{border-left-color:var(--match-green);box-shadow:0 8px 24px rgba(0,0,0,.08)}.match-card__comp{font-family:var(--font-utility);font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--mist);display:flex;gap:10px;align-items:center}.match-card__teams{display:grid;grid-template-columns:1fr 160px 1fr;gap:15px;align-items:center;text-align:center}.match-card__teams strong:first-child{text-align:right}.match-card__teams strong:last-child{text-align:left}.match-card__score{font-family:var(--font-display);font-size:1.15rem}.match-live{display:inline-flex;align-items:center;gap:6px;color:var(--match-green-dim);font-family:var(--font-utility);font-size:.72rem;font-weight:900}.match-link{font-family:var(--font-utility);font-size:.78rem;font-weight:800;color:var(--match-green-dim)}.home-match-strip{overflow:hidden}.home-matches{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px}.home-match{min-width:190px;background:var(--pitch-night-2);border:1px solid var(--pitch-night-3);border-radius:12px;padding:18px;color:var(--floodlight)}.home-match small{font-family:var(--font-utility);color:var(--mist-on-dark);text-transform:uppercase}.home-match>div{display:grid;gap:8px;margin-top:14px}.home-match>div span{font-family:var(--font-display);color:var(--match-green)}.transfer-hero{background:linear-gradient(135deg,var(--pitch-night),#1c2c25);color:var(--floodlight);padding-block:62px}.transfer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.transfer-grid--home{grid-template-columns:repeat(3,1fr)}.transfer-card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:24px;position:relative;overflow:hidden}.transfer-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--match-green)}.transfer-card__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.transfer-card__top time{font-family:var(--font-utility);font-size:.75rem;color:var(--mist)}.transfer-status{font-family:var(--font-utility);font-size:.7rem;font-weight:900;letter-spacing:.06em;padding:5px 9px;border-radius:999px;background:#eee}.transfer-status--confirmed{background:#daf5e2;color:#136b38}.transfer-status--agreed{background:#fff0bf;color:#765700}.transfer-status--talks{background:#dfeeff;color:#245a91}.transfer-status--rumour{background:#f0e7ff;color:#65429a}.transfer-card h2,.transfer-card h3{margin-bottom:14px}.transfer-route{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;font-weight:800;margin:12px 0}.transfer-route b{color:var(--match-green-dim)}.transfer-fee{font-family:var(--font-display);font-size:1.2rem;margin:15px 0;color:var(--match-green-dim)}.ad-sponsor{display:block;font-family:var(--font-utility);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mist);margin-bottom:5px}.ad-admin-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:12px}.status--live{background:#ffe1e1;color:#a5121d}.status--scheduled{background:#e7eefb;color:#2d4f88}.status--finished{background:#e4f8ec;color:#146c39}.status--postponed{background:#eee;color:#555}
@media(max-width:1000px){.match-card{grid-template-columns:1fr}.match-card__comp{justify-content:space-between}.match-link{text-align:right}.transfer-grid,.transfer-grid--home{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.section-head--split{align-items:flex-start;flex-direction:column}.match-card{padding:16px}.match-card__teams{grid-template-columns:1fr 100px 1fr;font-size:.9rem}.match-card__score{font-size:.92rem}.transfer-grid,.transfer-grid--home{grid-template-columns:1fr}}
/* Transfer Hub media upgrade */
.transfer-card--media{padding:0}.transfer-card--media::before,.transfer-card--home-media::before{z-index:3}.transfer-card__content{padding:22px 24px 24px}.transfer-player{height:230px;background:#edf0ed;overflow:hidden}.transfer-player img{width:100%;height:100%;object-fit:cover;object-position:center top}.transfer-player--home{height:170px;margin:-24px -24px 20px}.transfer-route--logos{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);margin-top:18px}.transfer-club{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.transfer-club img,.club-fallback{width:54px;height:54px;border-radius:50%;object-fit:contain;background:#f5f5f3;border:1px solid #ddd;padding:6px}.club-fallback{display:grid;place-items:center;font-family:var(--font-display);font-size:1.25rem;color:var(--match-green-dim)}.transfer-club strong{font-size:.88rem;line-height:1.2;overflow-wrap:anywhere}.transfer-route--compact .transfer-club img,.transfer-route--compact .club-fallback{width:44px;height:44px}.transfer-route--compact .transfer-club strong{font-size:.78rem}.admin-transfer-player{width:110px;height:110px;object-fit:cover;object-position:center top;border-radius:12px;display:block;margin:0 0 10px}.admin-club-logo{width:70px;height:70px;object-fit:contain;border:1px solid #ddd;border-radius:12px;padding:7px;display:block;margin:0 0 10px;background:#fff}.admin-transfer-row{display:flex;align-items:center;gap:10px}.admin-transfer-row img{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:center top}.field small{display:block;margin-top:7px;color:var(--mist);font-size:.75rem}.transfer-card--home-media{overflow:hidden}
@media(max-width:900px){.transfer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.transfer-grid,.transfer-grid--home{grid-template-columns:1fr}.transfer-player{height:260px}.transfer-player--home{height:220px}.transfer-card__content{padding:20px}.transfer-route--logos{gap:7px}.transfer-club img,.club-fallback{width:50px;height:50px}}
/* ========================= MATCH PREDICTIONS ========================= */
.match-card--predict{border-left-color:#f5b800;background:linear-gradient(90deg,#fffdf2,#fff);box-shadow:0 10px 28px rgba(0,0,0,.07)}
.predict-badge{display:inline-flex;align-items:center;gap:5px;background:#fff0b3;color:#6f5200;border:1px solid #e9c44e;border-radius:999px;padding:5px 10px;font:800 .68rem/1 var(--font-utility);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.match-card__actions{display:grid;gap:8px;justify-items:end;min-width:150px}.prediction-meta{text-align:right}.prediction-meta strong{display:block;color:var(--match-green-dim);font-family:var(--font-utility);font-size:.78rem}.prediction-meta small{color:var(--mist);font-family:var(--font-utility);font-size:.72rem}.btn--small{padding:8px 12px;font-size:.75rem}
.prediction-page{max-width:860px}.prediction-card{background:#fff;border:1px solid #ddd;border-radius:16px;padding:clamp(20px,4vw,38px);box-shadow:0 18px 50px rgba(0,0,0,.08)}.prediction-card__head{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e5e5e5}.prediction-card__head h2{font-size:clamp(1.7rem,4vw,3rem);margin:16px 0 8px}.prediction-card__head h2 span{color:var(--mist);font-size:.7em}.prediction-prize{font-size:1.05rem;margin:10px 0;color:var(--match-green-dim)}.prediction-score{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:end;margin:26px 0}.prediction-score>div{text-align:center}.prediction-score label{display:block;font-weight:800;margin-bottom:8px}.prediction-score input{width:100%;max-width:120px;text-align:center;font-family:var(--font-display);font-size:2rem;padding:12px;border:2px solid #ccc;border-radius:10px}.prediction-score>span{font-family:var(--font-display);font-size:2rem;padding-bottom:13px}.prediction-note{margin-top:18px;font-size:.82rem;color:var(--mist)}
@media(max-width:1000px){.match-card__actions{justify-items:start}.prediction-meta{text-align:left}}
@media(max-width:700px){.match-card__actions{width:100%}.match-card__actions .btn{width:100%;text-align:center}.predict-badge{white-space:normal}.prediction-score{gap:8px}.prediction-score input{font-size:1.5rem}}
/* Predict & Win Plus */
.leaderboard-wrap{overflow-x:auto;background:#fff;border:1px solid #ddd;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.06)}
.leaderboard{width:100%;border-collapse:collapse;min-width:520px}.leaderboard th,.leaderboard td{padding:16px 18px;border-bottom:1px solid #ececec;text-align:left}.leaderboard th{font-family:var(--font-utility);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.leaderboard__top td{background:#fff9de}.winner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.winner-card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:20px}.winner-card__badge{display:inline-flex;background:#e8f7ec;color:#166534;border-radius:999px;padding:5px 9px;font:800 .68rem/1 var(--font-utility);text-transform:uppercase}.winner-card h3{margin:14px 0 8px}.winner-card__prize{margin-top:12px;font-weight:800;color:var(--match-green-dim)}
.prediction-result{text-align:center}.prediction-final-score{font-family:var(--font-display);font-size:clamp(3rem,9vw,6rem);line-height:1;margin:24px 0}.public-winners{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0}.public-winners span{background:#fff0b3;border:1px solid #e9c44e;border-radius:999px;padding:9px 14px;font-weight:800}.prediction-result__actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:800px){.winner-grid{grid-template-columns:1fr}}
/* ========================= VIDEO HUB + LIVE SCORES ========================= */
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.video-card{background:#fff;border:1px solid #ddd;border-radius:14px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.05)}.video-card__body{padding:20px}.video-card h3{font-size:1.25rem;margin:5px 0 10px}.video-embed{aspect-ratio:16/9;background:#000}.video-embed iframe{width:100%;height:100%;border:0}.video-thumb{display:block;aspect-ratio:16/9;position:relative;background:#111;overflow:hidden}.video-thumb img{width:100%;height:100%;object-fit:cover}.video-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(215,25,32,.92);color:#fff;font-size:1.3rem;padding-left:3px}.live-refresh{display:flex;align-items:center;gap:8px;font:800 .78rem var(--font-utility);text-transform:uppercase;color:var(--mist)}.live-score-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.live-score-card{background:#fff;border:1px solid #ddd;border-left:5px solid var(--match-green);border-radius:14px;padding:20px}.live-score-card__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid #eee}.live-score-card__head>div{display:grid;gap:2px}.live-score-card__head small{font-size:.72rem;color:var(--mist)}.live-score-team{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:11px 0}.live-score-team>div{display:flex;align-items:center;gap:11px}.live-score-team img{width:34px;height:34px;object-fit:contain}.live-score-team b{font-family:var(--font-display);font-size:1.8rem}.admin-grid--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:900px){.video-grid{grid-template-columns:repeat(2,1fr)}.live-score-list{grid-template-columns:1fr}.admin-grid--2{grid-template-columns:1fr}}@media(max-width:620px){.video-grid{grid-template-columns:1fr}}


/* Club Hub */
.club-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.club-card{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--paper,#fff);color:inherit;text-decoration:none}.club-card img,.club-hero__inner>img{width:64px;height:64px;object-fit:contain}.club-card h3{margin:0 0 4px}.club-card p{margin:0;opacity:.7}.club-fallback{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#111;color:#fff;font-weight:900}.club-hero{padding:44px 0;background:linear-gradient(135deg,#11151d,#1d222c);color:#fff}.club-hero__inner{display:flex;gap:24px;align-items:center}.article-clubs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.article-clubs a{padding:6px 10px;border-radius:999px;background:#f0f1f3;color:#15171b;text-decoration:none;font-size:.85rem;font-weight:800}.club-checks{max-height:230px;overflow:auto;padding-right:6px}.share-button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:12px;border-bottom:1px solid rgba(128,128,128,.2)}

/* Video Hub official-player upgrade */
.video-embed--youtube{aspect-ratio:16/9}
.video-embed--tiktok{aspect-ratio:9/16;max-height:620px;margin-inline:auto;background:#000}
.video-embed--tiktok iframe{display:block;width:100%;height:100%;border:0;background:#000}
.video-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
@media (max-width:700px){.video-embed--tiktok{max-height:560px}}

/* ========================= SITE-WIDE VISUAL CONSISTENCY ========================= */
:root{--container:1240px;--radius:14px;--line:#deded9;--soft-shadow:0 12px 34px rgba(10,10,10,.07);--lift-shadow:0 20px 44px rgba(10,10,10,.13)}
body{background:#f7f7f4}.section{padding-block:clamp(54px,7vw,88px)}.section--paper{background:#f0f0ed}.section--dark{background:radial-gradient(circle at 85% 10%,rgba(228,32,45,.13),transparent 32%),var(--pitch-night)}
.page-hero{position:relative;overflow:hidden;padding-block:clamp(58px,8vw,96px);border-bottom:4px solid var(--match-green)}.page-hero::after{content:"A4";position:absolute;right:clamp(20px,7vw,110px);bottom:-.2em;font-family:var(--font-display);font-size:clamp(8rem,22vw,20rem);line-height:1;color:rgba(255,255,255,.035);pointer-events:none}.page-hero .container{position:relative;z-index:1}.page-hero h1{max-width:12ch;font-size:clamp(3.3rem,8vw,7.2rem);line-height:.88}.page-hero p{font-size:clamp(1rem,1.5vw,1.18rem)}
.section-head{position:relative;margin-bottom:clamp(28px,4vw,46px);padding-left:18px}.section-head::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:5px;background:var(--match-green);border-radius:99px}.section-head h1,.section-head h2{margin-top:10px}.section-head p{margin-top:13px}
.panel,.news-card,.video-card,.transfer-card,.club-card,.live-score-card,.match-card{border-color:var(--line);box-shadow:var(--soft-shadow)}.panel{border-radius:18px;padding:clamp(22px,3vw,32px)}
.news-card,.video-card,.transfer-card,.club-card,.match-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.news-card:hover,.video-card:hover,.transfer-card:hover,.club-card:hover,.match-card:hover{transform:translateY(-5px);box-shadow:var(--lift-shadow);border-color:rgba(228,32,45,.45)}
.news-card{border-radius:16px}.news-card img{transition:transform .35s ease}.news-card:hover img{transform:scale(1.035)}.news-card__body{padding:22px}.news-card h3{font-size:clamp(1.25rem,2vw,1.65rem)}
.btn{min-height:42px;border-radius:999px;padding:10px 18px;box-shadow:none}.btn--primary{color:#fff}.btn:hover{transform:translateY(-2px)}
.match-filters{padding:7px;background:#e6e6e2;border-radius:999px;width:max-content;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.match-filters .btn{white-space:nowrap}
.match-card{border-left-width:5px;border-radius:16px;background:#fff}.transfer-card,.video-card{border-radius:18px}.club-card{background:#fff;border-radius:18px;padding:22px}.club-card img,.club-card .club-fallback{transition:transform .2s ease}.club-card:hover img,.club-card:hover .club-fallback{transform:scale(1.08)}
.story-kicker,.eyebrow{font-weight:800}.story-meta{letter-spacing:.02em}.news-row{padding-block:26px}.news-row__image{overflow:hidden;border-radius:12px}.news-row__image img{border-radius:12px;transition:transform .3s ease}.news-row:hover .news-row__image img{transform:scale(1.04)}
.site-footer{padding-block:0 28px;background:#080808}.footer__top{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:58px 0 44px;border-bottom:1px solid var(--pitch-night-3)}.footer__top h2{color:#fff;font-size:clamp(2.5rem,5vw,4.8rem);margin-top:14px}.footer__top-actions{display:flex;gap:10px;flex-wrap:wrap}.footer__grid{grid-template-columns:1.5fr repeat(3,1fr);padding-block:46px;gap:clamp(24px,4vw,54px)}.footer__brand{font-size:1.8rem}.footer__grid p{max-width:36ch}.footer__links a{display:inline-block;padding:2px 0;transition:color .18s ease,transform .18s ease}.footer__links a:hover{transform:translateX(3px)}.footer__socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.footer__socials a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--pitch-night-3);border-radius:50%;color:#fff;font:800 .72rem var(--font-utility)}.footer__socials a:hover{background:var(--match-green);border-color:var(--match-green)}
@media(max-width:900px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr}.footer__grid>div:last-child{grid-column:2/4}.footer__top{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.section{padding-block:48px}.page-hero{padding-block:58px}.page-hero h1{font-size:3.2rem}.section-head{padding-left:14px}.news-row{grid-template-columns:105px 1fr}.match-filters{width:calc(100vw - 40px);border-radius:14px}.footer__grid{grid-template-columns:1fr 1fr}.footer__grid>div:first-child,.footer__grid>div:last-child{grid-column:1/-1}.footer__top{padding-top:46px}.footer__top-actions .btn{width:100%}.footer__top-actions{width:100%}}

.pwa-install{background:transparent;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
