/* ==========================================================================
   Velence 1936 TC — dizájnrendszer
   Fontok: Oswald (címsor), Barlow (törzs), Libre Baskerville (kiemelés)
   ========================================================================== */

:root {
  --navy:#0a2342;
  --blue:#1a4d8f;
  --sky:#e9f0f8;
  --gold:#c39a3e;
  --cream:#f4f1e8;
  --ink:#182338;
  --line:#e2ddce;
  --muted:#5c6678;
  --card:#fff;
  --head:#0a2342;
  --hdr:rgba(244,241,232,0.92);
  --ph:repeating-linear-gradient(45deg,#d8e0ec 0 11px,#e6ebf3 11px 22px);
}

:root[data-theme="dark"] {
  --cream:#070f1d;
  --card:#0f1e37;
  --head:#e9f0f8;
  --ink:#dbe4f0;
  --muted:#8fa1bc;
  --line:#1e3355;
  --sky:#152b4d;
  --navy:#04101f;
  --blue:#153e73;
  --hdr:rgba(7,15,29,0.92);
  --ph:repeating-linear-gradient(45deg,#0f2440 0 11px,#152b4d 11px 22px);
}

* { box-sizing:border-box; margin:0; padding:0; }

/* A `hidden` attribútum a böngésző alapstílusában csak `display:none` — ezt
   minden erősebb szabály (pl. `.btn{display:inline-flex}`) felülüti, és az
   elrejtettnek szánt elem ott marad a képernyőn. A `!important` a rejtést
   szándéknyilvánítássá teszi: ami `hidden`, az ne látszódjon. */
[hidden] { display:none !important; }

/* A vízszintes túllógás levágása a GYÖKÉRELEMEN van, nem a body-n. A body-ra
   téve a Safari (és vele az iOS-es Brave, Chrome) a body dobozához köti a
   `position:fixed` elemeket: a lebegő gyűjtés-ablak és a hibabejelentő gomb
   görgetéskor a lap közepére ugrott, és onnantól a tartalommal együtt csúszott.
   A gyökérelem overflow-ja ezzel szemben a nézetablakra száll át — ott nincs
   mit a fixed elemekhez kötni. */
html { overflow-x:clip; }

body {
  font-family:'Barlow',system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  transition:background .4s ease,color .4s ease;
  min-height:100vh;
}

a { color:var(--blue); text-decoration:none; }
a:hover { color:var(--navy); }
::selection { background:var(--navy); color:#fff; }
img { max-width:100%; }

@keyframes vfade { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@keyframes vticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes vpulse { 0%,100%{opacity:1} 50%{opacity:.25} }

.fade { animation:vfade .4s ease both; }

/* ---- Layout ---- */
.wrap { max-width:1200px; margin:0 auto; padding:0 28px; }
.wrap-narrow { max-width:920px; margin:0 auto; padding:0 28px; }
.wrap-slim { max-width:760px; margin:0 auto; padding:0 28px; }

/* Betűtípus-segédek */
.oswald { font-family:'Oswald',sans-serif; }
.serif { font-family:'Libre Baskerville',serif; }
.eyebrow {
  font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:3px;
  color:var(--gold); text-transform:uppercase;
}

/* ---- Gombok ---- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; letter-spacing:1px;
  text-transform:uppercase; padding:14px 26px; border-radius:2px; border:none;
  cursor:pointer; transition:all .18s ease; white-space:nowrap;
}
.btn-sm { padding:11px 18px; font-size:12.5px; }
.btn-gold { background:var(--gold); color:#0a2342; }
.btn-gold:hover { background:#fff; color:#0a2342; }
.btn-navy { background:var(--navy); color:#fff; }
.btn-navy:hover { background:var(--blue); color:#fff; }
.btn-outline-light { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.4); }
.btn-outline-light:hover { border-color:var(--gold); color:var(--gold); }
.btn-outline-navy { background:transparent; color:var(--head); border:1.5px solid var(--navy); }
.btn-outline-navy:hover { background:var(--navy); color:#fff; }
.btn-ghost { background:none; border:none; color:var(--blue); }
.btn-ghost:hover { color:var(--head); }

/* ---- Ticker ---- */
.ticker {
  background:var(--navy); color:#fff; overflow:hidden; white-space:nowrap;
  border-bottom:2px solid var(--gold);
}
.ticker__track {
  display:inline-block; padding:7px 0; animation:vticker 26s linear infinite;
  font-family:'Oswald',sans-serif; font-weight:300; font-size:12.5px;
  letter-spacing:1.4px; text-transform:uppercase;
}
.ticker__dot { color:var(--gold); }

/* Horgonyra érkezés (értesítés, belső link): a két sticky sáv ne takarja el a
   célt — a görgetés eleve a fejléc alá álljon. A `.ugras-cel` egy villanás:
   megmutatja, hova érkezett a látogató, aztán eltűnik. */
html { scroll-padding-top:94px; }
@media (max-width:760px) { html { scroll-padding-top:80px; } }
.ugras-cel { animation:ugrasVillan 2.2s ease-out 1; }
@keyframes ugrasVillan {
  0%, 12% { box-shadow:0 0 0 3px var(--gold); }
  100%    { box-shadow:0 0 0 3px rgba(0,0,0,0); }
}
@media (prefers-reduced-motion:reduce) { .ugras-cel { animation:none; } }

/* ---- Live sáv ---- */
/* Átlépés más fiókjába — végig látható figyelmeztető sáv.
   Sticky, mert egy hosszú oldal aljáról is vissza kell találni a saját fiókba. */
.imp-bar {
  position:sticky; top:0; z-index:60; background:#7a4a12; color:#fff;
  border-bottom:2px solid var(--gold); display:flex; align-items:center; gap:12px;
  flex-wrap:wrap; padding:9px 20px; font-family:'Oswald',sans-serif; font-size:13px;
  letter-spacing:.5px;
}
.imp-bar__dot { width:9px; height:9px; border-radius:50%; background:var(--gold); flex-shrink:0; animation:vpulse 1.6s ease infinite; }
.imp-bar__text { flex:1; min-width:200px; text-transform:uppercase; }
.imp-bar__who { opacity:.75; text-transform:none; font-size:12.5px; }
.imp-bar__back {
  background:#fff; color:#7a4a12; border:none; border-radius:4px; cursor:pointer;
  font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:1px;
  text-transform:uppercase; padding:7px 14px;
}
.imp-bar__back:hover { background:var(--gold); color:#fff; }
/* Amíg a sáv látszik, ő ragad a tetején — az alatta lévő fejléc nem, különben
   a kettő egymásra csúszna (a sáv magassága a szöveg tördelésétől függ). */
.imp-bar + .site-header, .imp-bar + .live, .admin-main .imp-bar + .admin-topbar { position:static; }

.live { background:#7a1622; color:#fff; border-bottom:2px solid var(--gold); }
.live__row {
  max-width:1200px; margin:0 auto; padding:10px 28px; display:flex; align-items:center;
  gap:16px; flex-wrap:wrap; font-family:'Oswald',sans-serif;
}
/* Keskeny képernyőn a sáv három sorba tördelődik, és a jobbra tolt
   „Részletek" gomb miatt az egész jobbra húzott, tépett benyomást keltett.
   Telefonon ezért középre zárjuk, és a gomb sem tolja szét a sort. */
@media (max-width:760px) {
  .live__row { justify-content:center; text-align:center; gap:8px; padding:10px 16px; }
  .live__row > span { justify-content:center; width:100%; }
  .live__row > a { margin-left:0 !important; }
}
.live__pulse { width:9px; height:9px; border-radius:50%; background:#fff; animation:vpulse 1.2s ease infinite; }

/* ---- Fejléc ---- */
.site-header {
  position:sticky; top:0; z-index:50; background:var(--hdr);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
.site-header__inner {
  max-width:1200px; margin:0 auto; padding:0 28px; height:78px;
  display:flex; align-items:center; gap:16px;
}
.brand { display:flex; align-items:center; gap:13px; }
.brand__crest { width:46px; height:auto; flex-shrink:0; filter:drop-shadow(0 2px 6px rgba(10,35,66,.3)); }
.brand__name {
  font-family:'Oswald',sans-serif; font-weight:600; font-size:17px; letter-spacing:.6px;
  color:var(--head); line-height:1; text-transform:uppercase;
}
.brand__sub {
  font-family:'Oswald',sans-serif; font-weight:300; font-size:10.5px; letter-spacing:3px;
  color:var(--muted); text-transform:uppercase;
}
.nav { margin-left:auto; display:flex; align-items:center; gap:2px; flex-wrap:nowrap; }
.nav a {
  font-family:'Oswald',sans-serif; font-weight:400; font-size:14.5px; letter-spacing:.5px;
  /* A „Vezetőség és edzők" hosszabb, mint a többi pont — szűkebb belső margóval
     a teljes sor még befér az 1200px-es fejléc-konténerbe. */
  text-transform:uppercase; color:var(--muted); padding:10px 7px; white-space:nowrap;
  border-bottom:2px solid transparent;
}

.header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav a:hover { color:var(--head); }
.nav a.active { color:var(--head); font-weight:500; border-bottom-color:var(--gold); }

/* „Több ▾" lenyíló a fejlécben */
.nav-more { position:relative; display:flex; align-items:center; }
.nav-more__btn {
  font-family:'Oswald',sans-serif; font-weight:400; font-size:14.5px; letter-spacing:.5px;
  text-transform:uppercase; color:var(--muted); padding:10px 7px; white-space:nowrap;
  background:none; border:none; border-bottom:2px solid transparent; cursor:pointer;
}
.nav-more__btn span { font-size:11px; margin-left:2px; }
.nav-more__btn:hover { color:var(--head); }
.nav-more__btn.active { color:var(--head); font-weight:500; border-bottom-color:var(--gold); }
.nav-more__menu {
  position:absolute; top:100%; right:0; min-width:184px; display:none; flex-direction:column;
  background:var(--card); border:1px solid var(--line); border-radius:8px; padding:6px;
  box-shadow:0 14px 34px -12px rgba(10,35,66,.3); z-index:60;
}
.nav-more:hover .nav-more__menu, .nav-more:focus-within .nav-more__menu { display:flex; }
.nav-more__menu a {
  font-family:'Oswald',sans-serif; font-weight:400; font-size:14px; letter-spacing:.5px;
  text-transform:uppercase; color:var(--muted); padding:10px 13px; border-radius:6px; border-bottom:none;
}
.nav-more__menu a:hover, .nav-more__menu a.active { color:var(--head); background:var(--sky); }

/* Fiók-lenyíló a fejlécben: az emberalakos ikon alatt a fiók és a kilépés. */
.umenu { position:relative; display:flex; align-items:center; }
.umenu__btn { position:relative; }
.umenu__btn.active { border-color:var(--gold); color:var(--head); }
.umenu__menu {
  position:absolute; top:calc(100% + 8px); right:0; min-width:208px; display:none; flex-direction:column;
  background:var(--card); border:1px solid var(--line); border-radius:10px; padding:6px;
  box-shadow:0 14px 34px -12px rgba(10,35,66,.3); z-index:60;
}
.umenu:hover .umenu__menu, .umenu:focus-within .umenu__menu, .umenu.is-open .umenu__menu { display:flex; }
/* Az ikon és a panel közti rés ne szakítsa meg a hovert. */
.umenu__menu::before { content:""; position:absolute; top:-8px; left:0; right:0; height:8px; }
.umenu__who {
  display:flex; align-items:center; gap:9px; padding:8px 10px 10px;
  border-bottom:1px solid var(--line); margin-bottom:6px;
}
.umenu__avatar {
  width:32px; height:32px; border-radius:50%; flex-shrink:0; background:var(--navy); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
}
.umenu__who b { display:block; font-size:14px; color:var(--head); line-height:1.25;
  max-width:140px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.umenu__who small { display:block; font-size:11.5px; color:var(--muted); margin-top:1px; }
.umenu__item {
  font-family:'Oswald',sans-serif; font-weight:400; font-size:14px; letter-spacing:.5px;
  text-transform:uppercase; color:var(--muted); text-align:left; padding:10px 13px; border-radius:6px;
  background:none; border:none; cursor:pointer; width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
/* Olvasatlan üzenetek száma a menüpont jobb szélén. */
.umenu__badge {
  min-width:20px; padding:1px 6px; border-radius:20px; background:var(--gold); color:#0a2342;
  font-size:11px; font-weight:700; line-height:1.6; text-align:center;
}
.umenu__item:hover, .umenu__item.active { color:var(--head); background:var(--sky); }
.umenu__item--out { color:#7a1622; margin-top:2px; }
.umenu__item--out:hover { color:#fff; background:#7a1622; }
:root[data-theme="dark"] .umenu__item--out { color:#f0a9a9; }
.logout-form { margin:0; display:block; }

.icon-btn {
  background:none; border:1px solid var(--line); cursor:pointer; width:38px; height:38px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--head); flex-shrink:0;
}
.icon-btn:hover { border-color:var(--gold); }

/* ---- Kinyíló kereső a fejlécben ----
   Az ikon egy kattintásra keresőmezővé szélesedik (a rugós ütem miatt
   túllendül egy hajszálnyit), a találatok alatta nyílnak. --- */
.hsearch { position:relative; width:38px; height:38px; flex-shrink:0; }
.hsearch__bar {
  position:absolute; top:0; right:0; z-index:72;
  display:flex; align-items:center;
  width:38px; height:38px; overflow:hidden;
  border:1px solid var(--line); border-radius:999px;
  background:var(--card);
  transition:width .55s cubic-bezier(.68,-.35,.24,1.35),
             border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.hsearch:hover .hsearch__bar { border-color:var(--gold); }
.hsearch.is-open .hsearch__bar {
  width:min(340px, calc(100vw - 108px));
  border-color:var(--gold);
  box-shadow:0 14px 34px -14px rgba(10,35,66,.5), 0 0 0 3px rgba(195,154,62,.16);
}
.hsearch.is-active .hsearch__bar { border-color:var(--gold); }
/* Nyitott keresőnél a menü halkul, hogy a mező ne szövegre üljön rá. */
.site-header.is-searching .nav,
.site-header.is-searching #vtcNavApp { opacity:.22; transition:opacity .3s ease; }
.nav, #vtcNavApp { transition:opacity .3s ease; }
.hsearch__btn {
  flex-shrink:0; width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  color:var(--head); cursor:pointer;
}
.hsearch__input {
  flex:1; min-width:0; width:100%;
  border:0; outline:none; background:none;
  font-family:inherit; font-size:14.5px; color:var(--ink);
  padding:0 2px;
  opacity:0; transition:opacity .2s ease;
}
.hsearch.is-open .hsearch__input { opacity:1; transition-delay:.14s; }
.hsearch__input::placeholder { color:var(--muted); opacity:.8; }
.hsearch__input::-webkit-search-cancel-button { display:none; }
.hsearch__clear {
  flex-shrink:0; width:30px; height:30px; margin-right:4px;
  display:flex; align-items:center; justify-content:center;
  border:0; border-radius:50%; background:none; color:var(--muted); cursor:pointer;
  opacity:0; transform:scale(.5); pointer-events:none;
  transition:opacity .2s ease, transform .2s cubic-bezier(.2,.8,.2,1), color .15s, background .15s;
}
.hsearch.is-open .hsearch__clear {
  opacity:1; transform:none; pointer-events:auto; transition-delay:.18s;
}
.hsearch__clear:hover { background:var(--sky); color:var(--head); }
.hsearch__btn:focus-visible, .hsearch__clear:focus-visible {
  outline:2px solid var(--gold); outline-offset:2px;
}
.hsearch__panel {
  position:absolute; top:calc(100% + 14px); right:0; width:min(400px,calc(100vw - 24px));
  background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  box-shadow:0 26px 60px -18px rgba(10,35,66,.45), 0 0 0 1px rgba(10,35,66,.03);
  z-index:70; opacity:0; visibility:hidden; transform:translateY(-8px) scale(.98);
  transition:opacity .18s ease, transform .18s cubic-bezier(.2,.8,.2,1), visibility .18s;
}
.hsearch.is-open .hsearch__panel { opacity:1; visibility:visible; transform:none; }
/* arany csík a panel tetején */
.hsearch__panel::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);
}

.hsearch__results { max-height:min(58vh,400px); overflow-y:auto; padding:6px 8px; scrollbar-width:thin; }
.hsearch__group {
  display:flex; align-items:center; gap:7px; padding:12px 8px 6px;
  font-family:'Oswald',sans-serif; font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase;
  color:var(--gold);
}
.hsearch__group::after { content:""; flex:1; height:1px; background:var(--line); }

.hsearch__hit {
  display:flex; align-items:center; gap:11px; padding:9px 10px; border-radius:10px; color:var(--ink);
  transition:background .13s;
}
.hsearch__hit:hover, .hsearch__hit:focus-visible, .hsearch__hit.is-active {
  background:var(--sky); color:var(--head); outline:none;
}
.hsearch__ico {
  width:32px; height:32px; border-radius:9px; flex-shrink:0; background:var(--sky); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
}
.hsearch__hit:hover .hsearch__ico { background:var(--navy); color:var(--gold); }
.hsearch__txt { min-width:0; flex:1; }
.hsearch__txt b { display:block; font-size:14.5px; font-weight:600; color:var(--head); line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hsearch__txt b mark { background:rgba(195,154,62,.28); color:inherit; border-radius:3px; padding:0 2px; }
.hsearch__txt span { display:block; font-size:12px; color:var(--muted); margin-top:1px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.hsearch__note { padding:16px 12px 18px; color:var(--muted); font-size:13.5px; line-height:1.55; text-align:center; }
.hsearch__quick { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; padding:0 12px 14px; }
.hsearch__quick a {
  font-family:'Oswald',sans-serif; font-size:11.5px; letter-spacing:1.2px; text-transform:uppercase;
  background:var(--sky); color:var(--head); padding:7px 13px; border-radius:20px;
}
.hsearch__quick a:hover { background:var(--navy); color:#fff; }

.hsearch__foot { border-top:1px solid var(--line); background:var(--cream); }
.hsearch__all {
  display:flex; align-items:center; justify-content:center; gap:8px; padding:13px;
  font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--blue);
}
.hsearch__all:hover { color:var(--head); background:var(--sky); }
.hsearch__keys { display:flex; justify-content:center; gap:14px; padding:0 0 11px;
  font-size:11px; color:var(--muted); }
.hsearch__keys kbd {
  font-family:inherit; font-size:10.5px; background:var(--card); border:1px solid var(--line);
  border-bottom-width:2px; border-radius:5px; padding:1px 6px; margin-right:4px; color:var(--head);
}
/* Érintőképernyőn nincs hover: ott az ikon egyszerű link a keresőoldalra. */
/* Mobilon a panel nem az ikonhoz igazodik, hanem a képernyő két széléhez.
   Az ikon a fejléc jobb szélénél van, a panel viszont 400px széles: a jobb
   szélhez kötve a bal fele kilógott a képernyőről, és a body overflow-hidden
   miatt egyszerűen le is vágódott. A fejléc backdrop-filtere miatt a fixed
   pozíció ehhez a sávhoz igazodik, a top:auto pedig a helyén hagyja. */
/* Szűk és közepes kijelzőn a mező ÉS a panel is a képernyő két széléhez
   igazodik, nem az ikontól balra nyílik.

   Az ikonhoz kötött nyitás azt feltételezte, hogy a keresőtől jobbra csak a
   hamburger áll — belépve viszont ott az üzenet-, a téma- és a Facebook-ikon
   is, fekvő telefonon pedig a fejléc jobb oldala még beljebb kerül. Így a 340
   pixeles mező bal széle kilógott a képernyőről és levágódott. A határ azért
   1024px, mert efölött a fejléc jobb széle bőven a mező szélessége fölött van,
   és ott szebb az ikonból kinyíló mozdulat. */
@media (max-width:1024px){
  /* A margin-left:auto a jobb szélhez húzza őket: telefonon a teljes sávot
     kitöltik, tableten viszont nem nyúlnak át az egész fejlécen. */
  .hsearch__panel{
    position:fixed; left:10px; right:10px; width:auto; max-width:420px;
    margin-left:auto; top:auto; margin-top:46px;
  }
  .hsearch.is-open .hsearch__bar{
    position:fixed; left:10px; right:10px; width:auto; max-width:460px;
    margin-left:auto; top:auto;
  }
}
@media (prefers-reduced-motion: reduce) { .hsearch__bar { transition-duration:.01ms; } }

/* Üzenet-ikon a fejlécben, olvasatlan-jelzéssel (a kör sarkán ülő pötty). */
.icon-btn--inbox { position:relative; }
.icon-btn--inbox.active { border-color:var(--gold); color:var(--head); }
.icon-btn__badge {
  position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px;
  border-radius:20px; background:var(--gold); color:#0a2342; border:2px solid var(--hdr);
  font-family:'Oswald',sans-serif; font-weight:600; font-size:10.5px; line-height:1;
  display:flex; align-items:center; justify-content:center;
}

/* Facebook ikon a fejlécben */
a.icon-btn--fb { text-decoration:none; transition:color .18s ease, border-color .18s ease, background .18s ease; }
a.icon-btn--fb:hover { color:#fff; background:#1877f2; border-color:#1877f2; }
.mobile-nav__fb {
  display:flex; align-items:center; gap:8px;
}

/* ---- Page header (belső oldalak) ---- */
.page-head { background:var(--navy); color:#fff; padding:52px 0; }
.page-head h1 {
  font-family:'Oswald',sans-serif; font-weight:700; font-size:46px;
  text-transform:uppercase; letter-spacing:.5px;
}

/* ---- Szekció-cím ---- */
.section-title {
  font-family:'Oswald',sans-serif; font-weight:600; font-size:34px; color:var(--head);
  text-transform:uppercase; letter-spacing:.5px;
}

/* ---- Kártyák ---- */
.card { background:var(--card); border:1px solid var(--line); border-radius:3px; overflow:hidden; }

/* ---- Hírkártya ---- */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.news-card { display:flex; flex-direction:column; text-align:left; }
.news-card:hover { border-color:var(--gold); }
.news-card__img {
  height:180px; background:var(--ph); position:relative; display:flex; align-items:center; justify-content:center;
  background-size:cover; background-position:center;
}
/* Valódi fotónál a doboz a kép saját arányát veszi fel: így a teljes kép
   látszik (a cover levágta a plakátok szélét), torzítás és üres sávok nélkül.
   A max-height csak a szélsőségesen álló képeket fogja meg. */
.news-card__img--photo { height:auto; background:none; }
.news-card__photo {
  display:block; width:100%; height:auto; max-height:340px; object-fit:contain;
}
.news-card__tag {
  position:absolute; top:12px; left:12px; background:var(--navy); color:#fff;
  font-family:'Oswald',sans-serif; font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 9px; border-radius:2px;
}
.news-card__body { padding:20px; display:flex; flex-direction:column; flex:1; }
.news-card__date {
  font-size:12px; color:var(--muted); font-family:'Oswald',sans-serif; letter-spacing:1px;
  text-transform:uppercase; margin-bottom:8px;
}
.news-card__title { font-family:'Oswald',sans-serif; font-weight:600; font-size:20px; color:var(--head); line-height:1.15; }
.news-card__excerpt { margin-top:10px; font-size:14px; color:var(--muted); line-height:1.55; flex:1; }
/* Hanganyag-jelölés a hírkártyán: a dátum mellett álló apró címke. */
.news-card__audio, .news-card__video {
  font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1px; text-transform:uppercase;
  color:var(--gold); margin-left:8px; white-space:nowrap;
}

/* Lejátszó a hír tetején. A natív vezérlőt keretezzük, nem cseréljük le:
   így marad billentyűzet- és képernyőolvasó-barát. */
.news-audio {
  border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:6px;
  padding:14px 16px; margin-bottom:24px; background:var(--card);
}
.news-audio__head {
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted);
}
.news-audio__player { width:100%; display:block; }
.news-audio__note { margin:9px 0 0; font-size:12.5px; color:var(--muted); line-height:1.5; }
/* Képek a hír szövegéhez (borítón felül, legfeljebb három).

   Egy képnél a teljes szélesség jár, kettő-háromnál rács. Az arányt kötjük
   (4:3, `cover`), mert a telefonnal készült fotók fele álló, fele fekvő —
   vegyesen egymás mellett a sor széthullana. A teljes kép egy kattintásra
   megnyílik. */
.news-gal { display:grid; gap:12px; margin:8px 0 28px; }
.news-gal--2 { grid-template-columns:repeat(2, 1fr); }
.news-gal--3 { grid-template-columns:repeat(3, 1fr); }
.news-gal a { display:block; border-radius:4px; overflow:hidden; border:1px solid var(--line); }
.news-gal img { display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; transition:transform .25s ease; }
.news-gal--1 img { aspect-ratio:auto; }
.news-gal a:hover img { transform:scale(1.03); }
@media (max-width: 560px) {
  /* Telefonon a három hasáb bélyegkép lenne: inkább egymás alatt, nagyban. */
  .news-gal--2, .news-gal--3 { grid-template-columns:1fr; }
  .news-gal img { aspect-ratio:auto; }
}

/* Videó a hírben: a lejátszó maga a .stream-wrap 16:9 keretében ül */
.news-video { margin-bottom:24px; }
.news-video .stream-wrap { border-radius:4px; overflow:hidden; }

.ph-label { font-family:monospace; font-size:11px; color:var(--muted); }

/* ---- Táblázat ---- */
.tbl { width:100%; border-collapse:collapse; font-size:14.5px; }
.tbl thead tr { color:var(--muted); font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1px; text-transform:uppercase; }
.tbl thead.navy tr { background:var(--navy); color:#fff; }
.tbl th { font-weight:500; padding:13px 8px; }
.tbl th:first-child, .tbl td:first-child { padding-left:20px; }
.tbl th:last-child, .tbl td:last-child { padding-right:20px; }
.tbl td { padding:12px 8px; border-top:1px solid var(--line); color:var(--muted); }
.tbl tr.own { background:var(--sky); }
.tbl tr.own td { color:var(--muted); }
.tbl tr.own .pos { color:var(--gold); font-weight:700; }
/* Forma-jelölők + feljutó/kieső zónák */
.form-cell { white-space:nowrap; text-align:center; }
/* Következő ellenfél: csak a címer, ahogy az adatbankban is — névvel együtt
   a sorok ugrálnának, mert a kupa-ellenfeleknek nincs címerük a tabellánkban.
   Az idegenbeli meccs halványabb, a részleteket a cella címkéje mondja el. */
.next-cell { text-align:center; width:56px; }
.next-op { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; }
.next-op img { width:24px; height:24px; object-fit:contain; }
.next-op em { font-style:normal; font-family:'Oswald',sans-serif; font-weight:600; font-size:10px;
  letter-spacing:.3px; color:var(--muted); border:1px solid var(--line); border-radius:50%;
  width:24px; height:24px; display:flex; align-items:center; justify-content:center; }
.next-op.is-away { opacity:.55; }
.next-op--none { color:var(--muted); }
.form-dot { display:inline-block; min-width:22px; padding:2px 4px; border-radius:3px; font-family:'Oswald',sans-serif; font-weight:600; font-size:10px; letter-spacing:.5px; color:#fff; margin:0 1px; text-align:center; }
.form-w { background:#1f7a4d; }
.form-d { background:#b8860b; }
.form-l { background:#a33; }
.tbl tr.zone-promo { background:rgba(31,122,77,.12); }
.tbl tr.zone-promo td:first-child { box-shadow:inset 3px 0 0 #1f7a4d; }
.tbl tr.zone-promo .pos { color:#1f7a4d; font-weight:700; }
.tbl tr.zone-releg { background:rgba(163,51,51,.12); }
.tbl tr.zone-releg td:first-child { box-shadow:inset 3px 0 0 #a33; }
.tbl tr.zone-releg .pos { color:#a33; font-weight:700; }
/* Saját csapat kiemelése erősebb, mint a zóna-háttér. */
.tbl tr.own { background:var(--sky); }
.tbl tr.own .team { color:var(--head); font-weight:700; }
/* ---------- Tabella: címerek és saját-helyzet sáv ---------- */
.tbl-team { display:flex; align-items:center; gap:10px; min-width:0; }
/* A név tördelhető marad, ahogy a címer előtt is volt — keskeny kijelzőn a
   hosszú egyesületnevek így nem feszítik szét a táblázatot. */
.tbl-team__name { min-width:0; line-height:1.3; }
.tbl-badge { flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:#fff;
  border:1px solid var(--line); display:inline-flex; align-items:center; justify-content:center; overflow:hidden; }
.tbl-badge img { width:100%; height:100%; object-fit:contain; padding:2px; }
/* A saját címer nem kör alakú és sötét háttérre készült — nem vágjuk körbe. */
.tbl-badge--vtc { background:transparent; border-color:transparent; }
.tbl-badge--vtc img { padding:0; }
.tbl-badge i { font-family:'Oswald',sans-serif; font-style:normal; font-weight:600; font-size:12px; color:var(--muted); }

.tbl-hero { display:flex; align-items:center; gap:26px; flex-wrap:wrap;
  background:linear-gradient(135deg,#0d2a4d,#0a2342); border-radius:10px; padding:20px 24px; margin-bottom:18px;
  box-shadow:0 18px 40px -24px rgba(0,0,0,.6); }
.tbl-hero__rank { display:flex; align-items:baseline; gap:10px; padding-right:24px; border-right:1px solid rgba(255,255,255,.14); }
.tbl-hero__num { font-family:'Oswald',sans-serif; font-weight:700; font-size:42px; line-height:1; color:var(--gold); }
.tbl-hero__label { font-size:12px; letter-spacing:.6px; text-transform:uppercase; color:rgba(255,255,255,.6);
  font-family:'Oswald',sans-serif; }
.tbl-hero__stats { display:flex; gap:26px; flex-wrap:wrap; }
.tbl-hero__stat { display:flex; flex-direction:column; gap:3px; }
.tbl-hero__stat b { font-family:'Oswald',sans-serif; font-weight:600; font-size:19px; color:#fff; line-height:1; }
.tbl-hero__stat span { font-size:10.5px; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.5); }
.tbl-hero__form { margin-left:auto; display:flex; align-items:center; gap:10px; }
.tbl-hero__formlabel { font-family:'Oswald',sans-serif; font-size:10.5px; letter-spacing:1px;
  text-transform:uppercase; color:rgba(255,255,255,.5); }
@media (max-width:620px){
  .tbl-hero { gap:16px; padding:16px 18px; }
  .tbl-hero__rank { padding-right:16px; }
  .tbl-hero__num { font-size:34px; }
  .tbl-hero__stats { gap:18px; }
  .tbl-hero__form { margin-left:0; width:100%; }
}

.tbl .pos { font-family:'Oswald',sans-serif; }
.tbl .team { color:var(--ink); }
.tbl .pts { font-family:'Oswald',sans-serif; font-weight:700; color:var(--head); text-align:center; }
.tbl .num { text-align:center; }

/* ---- Grid segédek ---- */
.grid { display:grid; gap:22px; }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.grid-5 { grid-template-columns:repeat(5,1fr); }
.grid-6 { grid-template-columns:repeat(6,1fr); }

/* ---- Játékoskártya ---- */
.player-card { text-align:left; padding:0; background:var(--card); border:1px solid var(--line); border-radius:3px; overflow:hidden; cursor:pointer; display:block; width:100%; }
.player-card:hover { border-color:var(--gold); }
.player-card__img { height:150px; background:var(--ph); position:relative; display:flex; align-items:flex-end; }
.player-card__num { position:absolute; top:10px; right:12px; font-family:'Oswald',sans-serif; font-weight:700; font-size:30px; color:var(--head); opacity:.85; }
.player-card__body { padding:13px 14px; border-top:2px solid var(--gold); }
.player-card__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:15.5px; color:var(--head); line-height:1.1; }
.player-card__meta { font-size:12px; color:var(--muted); margin-top:2px; }

/* ---- Korosztály-fülek ---- */
.squad-tabs { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:30px; border-bottom:1px solid var(--line); }
.squad-tab { font-family:'Oswald',sans-serif; font-weight:600; font-size:13px; letter-spacing:.8px; text-transform:uppercase;
  color:var(--muted); background:none; border:none; cursor:pointer; padding:11px 18px; margin-bottom:-1px;
  border-bottom:2px solid transparent; transition:color .2s, border-color .2s; white-space:nowrap; }
.squad-tab:hover { color:var(--head); }
.squad-tab.active { color:var(--head); border-bottom-color:var(--gold); }
/* A mérkőzés-/tabella-oldal fülei linkek (szerver-oldali váltás), nem gombok:
   az <a> inline, ezért a gombra írt függőleges térköz magától nem érvényesül. */
a.squad-tab { display:inline-block; text-decoration:none; }

/* Edző a csapat-oldal fejlécében (név + arckép) */
.team-coach { display:flex; align-items:center; gap:14px; text-align:right; }
.team-coach > div { order:1 }
.team-coach__photo { order:2; width:62px; height:62px; border-radius:50%; object-fit:cover; flex-shrink:0;
  border:2px solid rgba(195,154,62,.55); box-shadow:0 6px 18px rgba(4,16,34,.35); }
/* Ugyanaz a hely, de a kivágott, átlátszó hátterű egészalakos figurával: az
   alak a navy sáv TETEJÉTŐL az ALJÁIG ér, mintha ott állna — teljes alakos
   marad, nem egy fejléc-magasságba zsúfolt kis figura. A sávon nem lóg túl: a
   világos háttéren a kilógó rész levágottnak látszott.

   Abszolút pozicionált, a fejléc belső dobozához (.page-head .wrap) igazítva:
   a -52px felül és alul a fejléc 52px-es függőleges paddingját fordítja vissza.
   A flow-ban maradva a magassága felnyomná az egész sávot. A helyét a
   .team-coach jobb oldali paddingja tartja fenn, hogy a név ne csússzon alá. */
.page-head .wrap { position:relative; }
.team-coach:has(.team-coach__clip:not([hidden])) { padding-right:150px; }
/* A színpad feszül ki a sáv tetejétől az aljáig (a -52/-80 a fejléc paddingját
   fordítja vissza), a videó pedig kitölti. Magára a videóra ez nem működne:
   csereelemként (replaced) az arányából számolná a magasságot, és a `bottom`-ot
   figyelmen kívül hagyná. */
.team-coach__stage { position:absolute; right:0; top:-52px; bottom:-52px;
  display:flex; align-items:flex-end; justify-content:flex-end; max-width:140px;
  pointer-events:none; }
.team-coach__stage:has(> .team-coach__clip[hidden]) { display:none; }
/* A MAGASSÁG a vezérelt méret: az alak a sáv teljes magasságát kitölti, a
   szélessége az arányából adódik (a max-width csak a szélsőséges arányt fogja meg). */
.team-coach__clip { height:100%; width:auto; max-width:100%; object-fit:contain;
  object-position:bottom center; display:block; pointer-events:auto; }
@media (max-width:560px){
  .team-coach{ gap:10px } .team-coach__photo{ width:50px; height:50px }
  .team-coach:has(.team-coach__clip:not([hidden])) { padding-right:130px; }
  .team-coach__stage{ max-width:120px }
}

/* Következő mérkőzés + legutóbbi eredmény a keret fülének tetején.
   Két egyenrangú cella; egy cella esetén is kitölti a sávot. */
.squad-matchbar { display:flex; flex-wrap:wrap; align-items:stretch; gap:1px; margin:0 0 26px;
  border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:10px;
  overflow:hidden; background:var(--line); }
.squad-matchbar__cell { flex:1 1 260px; display:flex; flex-direction:column; gap:3px;
  padding:14px 18px; background:var(--card); text-decoration:none; transition:background .18s ease; }
.squad-matchbar__cell:hover { background:var(--sky); }
.squad-matchbar__lbl { font-family:'Oswald',sans-serif; font-size:10.5px; font-weight:600;
  letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); }
.squad-matchbar__main { font-family:'Oswald',sans-serif; font-size:15px; font-weight:600;
  text-transform:uppercase; color:var(--head); line-height:1.3; }
.squad-matchbar__score { background:var(--navy); color:#fff; border-radius:3px; padding:1px 8px; margin:0 4px; }
.squad-matchbar__sub { font-size:12px; color:var(--muted); }
.squad-matchbar__more { display:flex; align-items:center; padding:14px 18px; background:var(--card);
  font-family:'Oswald',sans-serif; font-size:11px; font-weight:600; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--blue); text-decoration:none; white-space:nowrap; }
.squad-matchbar__more:hover { background:var(--sky); }
@media (max-width:620px){ .squad-matchbar__more{ flex:1 1 100%; justify-content:center } }

/* Korosztály csapatképe a fülön, a játékoskártyák fölött */
.squad-photo { margin:0 0 30px; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:10px;
  overflow:hidden; background:var(--card); box-shadow:0 10px 26px rgba(6,16,32,.08); }
/* A magas/nagy csoportképek ne nyomják le a keretet: fix maximum + kivágás */
.squad-photo img { display:block; width:100%; height:auto; max-height:460px; object-fit:cover; }
.squad-photo figcaption { font-family:'Oswald',sans-serif; font-weight:600; font-size:12px; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--muted); padding:11px 16px; border-top:1px solid var(--line); }

/* ---- FUT-stílusú játékoskártya ---- */
.fut-card { container-type:inline-size; position:relative; width:100%; max-width:300px; margin:0 auto; aspect-ratio:63/88; border:none; background:transparent; padding:0; cursor:pointer; perspective:900px; -webkit-tap-highlight-color:transparent; }
.fut-card__frame {
  --fut-clip:polygon(0 0,100% 0,100% 84%,83% 100%,17% 100%,0 84%);
  position:relative; width:100%; height:100%; padding:3px; box-sizing:border-box;
  clip-path:var(--fut-clip);
  background:linear-gradient(160deg,#e8c874,#c39a3e 50%,#8f6f28);
  box-shadow:0 10px 26px rgba(6,16,32,.30);
  transform-style:preserve-3d;
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s;
}
.fut-card:hover .fut-card__frame, .fut-card:focus-visible .fut-card__frame { transform:translateY(-6px) rotateX(6deg) rotateY(-4deg); box-shadow:0 22px 46px rgba(6,16,32,.45); }
.fut-card__frame::after { content:""; position:absolute; inset:0; z-index:5; pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.4) 47%,transparent 60%);
  transform:translateX(-130%); transition:transform .75s ease; }
.fut-card:hover .fut-card__frame::after { transform:translateX(130%); }
.fut-card__inner { position:relative; width:100%; height:100%; overflow:hidden; clip-path:var(--fut-clip);
  background:linear-gradient(158deg,#12325c 0%,#0a2342 55%,#081a34 100%);
  color:#fff; display:flex; flex-direction:column; justify-content:flex-end; }
/* A kép magasabb sávot kap, és a sötétítés lejjebb kezdődik: a kártyák
   jó részén az arc alsó fele a színátmenetbe esett, mert a klub fotói
   jellemzően félalakosak — a fej így a látható sáv közepére került. */
.fut-card__photo { position:absolute; top:0; left:0; right:0; height:74%; background:var(--ph); background-size:cover; background-position:center 30%; }
.fut-card__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 58%,rgba(8,20,40,.5) 82%,#0a2342 100%); }
.fut-card__photo--empty { display:flex; align-items:center; justify-content:center; }
/* Bemutató-klipes kártya: a kivágott alak a kártya aljára "áll", és nem a
   fotó tölti ki a sávot, hanem maga a játékos. A sáv ezért magasabb, és a
   sötétítés csak a legalján fog — különben a mez alja elmosódna. */
.fut-card__photo--clip { height:86%; background:transparent; overflow:hidden; }
.fut-card__photo--clip::after { background:linear-gradient(to bottom,transparent 74%,rgba(8,20,40,.55) 90%,#0a2342 100%); }
.fut-card--gold .fut-card__photo--clip::after { background:linear-gradient(to bottom,transparent 74%,rgba(217,176,82,.5) 90%,#d9b052 100%); }
.fut-card__clip {
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  height:100%; width:auto; max-width:none; display:block;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.45));
  transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
/* Rámutatásra közelebb lép egy hajszálnyit — a videót a szkript indítja. */
.fut-card:hover .fut-card__clip, .fut-card:focus-visible .fut-card__clip { transform:translateX(-50%) scale(1.045); }
.fut-card__silhouette { width:52%; height:auto; color:rgba(255,255,255,.28); position:relative; z-index:1; }
.fut-card__head { position:absolute; top:12px; left:15px; right:12px; z-index:3; display:flex; align-items:flex-start; justify-content:space-between; }
.fut-card__badge { display:flex; flex-direction:column; align-items:center; line-height:1; text-shadow:0 1px 5px rgba(0,0,0,.55); }
.fut-card__num { font-family:'Oswald',sans-serif; font-weight:700; font-size:30px; color:var(--gold); }
.fut-card__pos { font-family:'Oswald',sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; color:#fff; margin-top:3px; padding-top:3px; border-top:1px solid rgba(255,255,255,.35); }
.fut-card__pos:first-child { margin-top:0; padding-top:0; border-top:none; }
.fut-card__crest { width:30px; height:auto; filter:drop-shadow(0 2px 5px rgba(0,0,0,.45)); }
.fut-card__name { position:relative; z-index:3; text-align:center; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; letter-spacing:.4px; text-transform:uppercase; line-height:1.05; padding:0 8px 8px; }
.fut-card__cap { display:inline-block; font-size:9px; font-weight:700; background:var(--gold); color:#0a2342; border-radius:2px; padding:1px 4px; margin-left:5px; vertical-align:middle; }
.fut-card__div { position:relative; z-index:3; height:1px; margin:0 16px 8px; background:linear-gradient(to right,transparent,rgba(195,154,62,.65),transparent); }
/* A kártya alsó két sarka le van vágva (l. --fut-clip), ezért a statisztika-sáv
   szélső felirata („MÉRK", és a jobb szélső) a levágásba lógna. A sáv ezért a
   kártyaszélesség tizedét tartja oldalt, a betűméret pedig a kártyához igazodik
   (container query): keskeny kártyán sem feszíti szét a rácsot. */
.fut-card__stats { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 10% 15px; }
.fut-card__stats > div { text-align:center; min-width:0; }
.fut-card__stats b { display:block; font-family:'Oswald',sans-serif; font-weight:700; font-size:clamp(11px,5.4cqi,16px); color:#fff; line-height:1; }
.fut-card__stats i { display:block; font-style:normal; font-size:clamp(6px,2.9cqi,8.5px); letter-spacing:.3px; color:rgba(255,255,255,.6); margin-top:3px; white-space:nowrap; }
.fut-card__yc, .fut-card__rc { width:8px; height:11px; margin:5px auto 0; border-radius:1.5px; box-shadow:0 0 0 .5px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.35); }
.fut-card__yc { background:#f2c200; }
.fut-card__rc { background:#d21f3c; }
/* Kapitány — arany "special" kártya */
.fut-card--gold .fut-card__frame { background:linear-gradient(160deg,#fff0c8,#e8c874 48%,#c39a3e); }
.fut-card--gold .fut-card__inner { background:linear-gradient(158deg,#f2d788 0%,#d9b052 55%,#c39a3e 100%); color:#0a2342; }
.fut-card--gold .fut-card__photo::after { background:linear-gradient(to bottom,transparent 58%,rgba(217,176,82,.5) 82%,#d9b052 100%); }
.fut-card--gold .fut-card__pos { color:#0a2342; border-top-color:rgba(10,35,66,.4); }
.fut-card--gold .fut-card__num { color:#0a2342; }
.fut-card--gold .fut-card__silhouette { color:rgba(10,35,66,.25); }
.fut-card--gold .fut-card__name { color:#0a2342; }
.fut-card--gold .fut-card__cap { background:#0a2342; color:var(--gold); }
.fut-card--gold .fut-card__div { background:linear-gradient(to right,transparent,rgba(10,35,66,.5),transparent); }
.fut-card--gold .fut-card__stats b { color:#0a2342; }
.fut-card--gold .fut-card__stats i { color:rgba(10,35,66,.62); }

/* ---- Élő meccsközpont ---- */
.mc-hero { position:relative; border-radius:8px; overflow:hidden; margin-bottom:34px; color:#fff;
  background:linear-gradient(150deg,#12325c 0%,#0a2342 60%,#081a34 100%);
  border-top:4px solid var(--gold); box-shadow:0 16px 40px rgba(6,16,32,.28); padding:22px 26px 26px; }
.mc-hero--live { border-top-color:#e11d38; }
/* Közvetítés és gombok a mérkőzés-kártyában (partials/match-hero) */
.mc-hero__stream { margin-top:18px; border-radius:4px; overflow:hidden; }
.mc-hero__actions { display:flex; gap:10px; justify-content:center; margin-top:16px; flex-wrap:wrap; }
.mc-hero__top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.mc-hero__tag { font-family:'Oswald',sans-serif; font-weight:600; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.mc-hero__comp { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.55); }
/* Bal oldali blokk: állapot-címke + a csapat neve (Felnőtt / U15 / U13). */
.mc-hero__left { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mc-hero__squad { font-family:'Oswald',sans-serif; font-weight:600; font-size:11px; letter-spacing:1.4px;
  text-transform:uppercase; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
  border-radius:30px; padding:3px 10px; white-space:nowrap; }
.mc-live-badge { display:inline-flex; align-items:center; gap:7px; font-family:'Oswald',sans-serif; font-weight:700; font-size:12px; letter-spacing:2px; color:#fff; background:#e11d38; padding:4px 11px; border-radius:4px; }
.mc-live-dot { width:8px; height:8px; border-radius:50%; background:#fff; animation:mcPulse 1.1s ease-in-out infinite; }
@keyframes mcPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.7)} }

.mc-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; }
.mc-team { display:flex; flex-direction:column; align-items:center; gap:11px; text-align:center; }
.mc-badge { width:66px; height:66px; border-radius:50%; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); }
.mc-badge img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 2px 5px rgba(0,0,0,.4)); }
.mc-badge span { font-family:'Oswald',sans-serif; font-weight:700; font-size:26px; color:var(--gold); }
.mc-badge--vtc { background:rgba(195,154,62,.14); border-color:rgba(195,154,62,.4); }
.mc-badge--vtc img { padding:7px; }
.mc-badge--logo { background:#fff; border-color:rgba(0,0,0,.12); }
.mc-badge--logo img { padding:6px; }
.mc-team__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; letter-spacing:.5px; text-transform:uppercase; line-height:1.15; color:#fff; }

.mc-score__mid { text-align:center; min-width:96px; }
.mc-score__nums { font-family:'Oswald',sans-serif; font-weight:700; font-size:52px; line-height:1; color:#fff; letter-spacing:1px; }
.mc-score__nums i { font-style:normal; color:rgba(255,255,255,.4); margin:0 6px; }
.mc-minute { margin-top:8px; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; color:#ff8a95; letter-spacing:1px; }
.mc-score__vs { font-family:'Oswald',sans-serif; font-weight:700; font-size:30px; color:var(--gold); letter-spacing:2px; }
.mc-score__date { margin-top:6px; font-size:12px; color:rgba(255,255,255,.6); }
.mc-score__outcome { margin-top:9px; display:inline-block; font-family:'Oswald',sans-serif; font-weight:600; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; padding:3px 10px; border-radius:4px; }
.mc-outcome--gyozelem { background:rgba(31,122,77,.25); color:#5ee6a8; }
.mc-outcome--dontetlen { background:rgba(184,134,11,.25); color:#f2cf6b; }
.mc-outcome--vereseg { background:rgba(170,51,51,.25); color:#ff9a9a; }

/* Nincs magasság-korlát: a 260px-es belső görgetés telefonon láthatatlan volt,
   és úgy tűnt, hogy a krónika a 8. eseménynél véget ér. Inkább nőjön a kártya —
   a lap úgyis görgethető, és a meccs eseményei a lényeg. */
.mc-timeline { margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; gap:10px; }
.mc-ev { display:flex; align-items:center; gap:10px; font-size:14px; }
.mc-ev__min { font-family:'Oswald',sans-serif; font-weight:600; font-size:13px; color:var(--gold); min-width:34px; }
.mc-ev__icon { font-size:15px; line-height:1; }
.mc-ev__txt { color:rgba(255,255,255,.9); }
.mc-ev__txt em { font-style:normal; color:rgba(255,255,255,.55); }
/* Ugrás a közvetítés felvételére: az esemény pontos pillanatához */
.mc-ev__jump { margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:5px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:12px; letter-spacing:.06em;
  color:#e8c877; text-decoration:none; padding:4px 9px; border-radius:3px;
  background:rgba(195,154,62,.14); border:1px solid rgba(195,154,62,.34); white-space:nowrap; }
.mc-ev__jump:hover { background:rgba(195,154,62,.26); color:#fff; }
/* Ellenfél-oldali sor `row-reverse`: ott a szöveg rugalmas margója tolja a
   helyére a gombot. Ha a gomb is kérne magának, ketten osztoznának a szabad
   helyen, és a gomb félúton állna meg. */
.mc-ev--away .mc-ev__jump { margin-left:0; }
.mc-ev--away { flex-direction:row-reverse; text-align:right; }
.mc-ev--away .mc-ev__txt { margin-left:auto; }
.mc-ev--neutral { justify-content:center; opacity:.85; }

/* A bal/jobb tördelés azt kódolja, melyik csapaté az esemény — csakhogy egy
   féloldalas meccsen (minden gól a miénk) ettől az egész krónika a széléhez
   tapad, és tépettnek látszik. Az oldalt a gólszerző neve úgyis elárulja,
   ezért középre zárjuk: a perc–ikon–név hármas egy tengelyen fut, a sorok
   pedig egymás alatt rendezettek maradnak.
   A közvetítés-ugrás gombja marad a sor végén. */
.mc-timeline .mc-ev { justify-content:center; }
.mc-timeline .mc-ev--away { flex-direction:row; text-align:left; }
.mc-timeline .mc-ev--away .mc-ev__txt { margin-left:0; }
.mc-timeline .mc-ev__min { min-width:38px; text-align:right; }
.mc-timeline .mc-ev__txt { flex:0 1 auto; }
/* Melyik csapaté az esemény — halkan, a szöveg után. */
.mc-ev__team { display:inline-block; margin-left:7px; font-family:'Oswald',sans-serif; font-size:11px;
  letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.5); }

.mc-countdown { display:flex; justify-content:center; gap:14px; margin-top:22px; }
.mc-countdown > div { min-width:58px; text-align:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:6px; padding:10px 6px; }
.mc-countdown b { display:block; font-family:'Oswald',sans-serif; font-weight:700; font-size:28px; color:#fff; line-height:1; }
.mc-countdown i { display:block; font-style:normal; font-size:10px; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.55); margin-top:5px; }
/* Kezdés után a számlálók helyén álló felirat (partials/match-countdown). */
.mc-countdown--started { font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; letter-spacing:2px;
  text-transform:uppercase; color:var(--gold); }
/* Félidő-jelzés az óra mellett: az álló óra magában úgy néz ki, mint egy hiba. */
.mc-halftime { display:inline-block; margin-left:8px; font-family:'Oswald',sans-serif; font-weight:600;
  font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gold);
  border:1px solid rgba(195,154,62,.5); border-radius:4px; padding:2px 8px; vertical-align:middle; }
.mc-hero__when { text-align:center; margin-top:18px; font-size:13px; color:rgba(255,255,255,.6); }
.mc-opponent { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); }
.mc-opponent__label { font-family:'Oswald',sans-serif; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); text-align:center; margin-bottom:10px; }
.mc-opponent__row { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.mc-opponent__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; letter-spacing:.5px; text-transform:uppercase; color:#fff; }
.mc-opponent__meta { font-size:13px; color:rgba(255,255,255,.65); }
.mc-opponent__form { display:inline-flex; gap:2px; }
/* Videó-közvetítés (16:9 reszponzív) */
.stream-wrap { position:relative; width:100%; padding-top:56.25%; background:#000; }
.stream-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Sütidöntésig a lejátszó helyén álló kártya (partials/youtube-embed).
   A klubarculatot a betöltött lejátszó körül is megtartjuk: arany keret és
   navy alap — a YouTube saját felületébe nem tudunk belenyúlni, a keretbe igen. */
.yt-embed { background:#0a2342; border:1px solid rgba(195,154,62,.5);
  box-shadow:0 10px 34px rgba(10,35,66,.28); }
.yt-embed__gate { position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:12px; padding:24px; text-align:center;
  background:
    radial-gradient(680px 340px at 50% 0, rgba(195,154,62,.20), transparent 70%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.022) 0 2px, transparent 2px 22px),
    linear-gradient(#0d2a4f, #071a33 75%); }
.yt-embed__cimer { width:64px; height:auto; margin-bottom:2px;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.45)); }
.yt-embed__jel { font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:1.5px; text-transform:uppercase; color:#c39a3e; }
/* Arany elválasztó a jelölés alatt, ahogy a klub többi kártyáján */
.yt-embed__jel::after { content:''; display:block; width:60px; height:3px; margin:10px auto 0;
  background:#c39a3e; border-radius:2px; }
.yt-embed__info { margin:0; max-width:46ch; font-size:12.5px; line-height:1.5; color:rgba(255,255,255,.62); }
.yt-embed__info a { color:rgba(255,255,255,.82); }
@media (max-width:520px) {
  .yt-embed__cimer { width:46px; }
  .yt-embed__jel { font-size:12px; }
  .yt-embed__info { font-size:11.5px; }
}

/* Prémium arany-keretes támogató-kártya */
.sponsor-card { position:relative; display:flex; border-radius:14px; padding:2.5px; text-decoration:none; overflow:hidden;
  background:linear-gradient(140deg,#f6de92 0%,#c39a3e 46%,#9c7a2c 100%);
  box-shadow:0 8px 24px rgba(6,16,32,.14);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s; }
a.sponsor-card:hover, a.sponsor-card:focus-visible { transform:translateY(-5px); box-shadow:0 22px 46px rgba(195,154,62,.4); }
.sponsor-card__inner { position:relative; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px;
  background:var(--card); border-radius:11.5px; padding:24px 18px; min-height:118px; }
/* Főszponzor: ugyanakkora kártya, csak egy finom felirat különbözteti meg */
.sponsor-card__ribbon { order:-1; font-family:'Oswald',sans-serif; font-weight:600; font-size:9px; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--gold); }
.sponsor-card__inner img { max-height:70px; max-width:100%; width:auto; object-fit:contain; filter:drop-shadow(0 3px 8px rgba(6,16,32,.10)); }
.sponsor-card__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase; color:var(--gold); }
.sponsor-card__name-big { font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; letter-spacing:.5px; color:var(--head); text-align:center; }
/* Fény-sweep hoverre */
.sponsor-card::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:14px;
  background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.55) 48%,transparent 62%);
  transform:translateX(-135%); transition:transform .8s ease; }
.sponsor-card:hover::after { transform:translateX(135%); }


@media (max-width:560px) {
  .mc-score__nums { font-size:40px; }
  .mc-badge { width:52px; height:52px; }
  .mc-badge--vtc img { padding:5px; }
  .mc-team__name { font-size:13px; }
  .mc-countdown { gap:9px; }
  .mc-countdown > div { min-width:0; flex:1; }
}

/* ---- Footer ---- */
.site-footer { background:var(--navy); color:rgba(255,255,255,.75); border-top:3px solid var(--gold); margin-top:64px; }
.site-footer__cols { max-width:1200px; margin:0 auto; padding:52px 28px 30px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }
.site-footer h4 { font-family:'Oswald',sans-serif; font-weight:600; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:#fff; margin-bottom:14px; }
.site-footer a { color:rgba(255,255,255,.75); }
.site-footer a:hover { color:var(--gold); }
.site-footer__links { display:flex; flex-direction:column; gap:9px; font-size:14px; }
/* Fizetési emblémák a lábléc alján. Az embléma fix arányú SVG: a magasságot
   kötjük meg, a szélesség abból jön — így a Barion arculati útmutatója szerinti
   torzításmentes megjelenítést semmilyen töréspont nem tudja elrontani. */
.site-footer__pay { max-width:1200px; margin:0 auto; padding:0 28px 26px; text-align:center; }
.site-footer__pay img { height:34px; width:auto; max-width:100%; }
.site-footer__pay p { margin:10px auto 0; max-width:520px; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.5); }
.site-footer__pay a { color:rgba(255,255,255,.72); text-decoration:underline; }
/* Az „még nem éles" figyelmeztetés nem tűnhet el a lábléc szürkeségében:
   arany kerettel elválik a fizetési emblémák kísérőszövegétől. */
.site-footer__pay-note {
  margin:12px auto 0 !important; max-width:520px; padding:9px 14px;
  border:1px solid rgba(195,154,62,.45); border-radius:4px;
  background:rgba(195,154,62,.08); color:rgba(255,255,255,.78) !important;
}

.site-footer__bar { border-top:1px solid rgba(255,255,255,.12); }
.site-footer__bar-inner { max-width:1200px; margin:0 auto; padding:18px 28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12.5px; color:rgba(255,255,255,.5); }

/* ---- Űrlap ---- */
.field {
  padding:13px 15px; border:1px solid var(--line); border-radius:3px;
  font-family:'Barlow',sans-serif; font-size:15px; background:var(--card); color:var(--ink); width:100%;
}
.field:focus { outline:none; border-color:var(--gold); }
.label { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); }

/* ---- Születésnapi köszöntés (főoldal) ----
   Egyetlen keskeny sáv: a főoldalon már van két nagy kiemelt blokk, egy
   harmadik doboz szétverné a ritmust. A színei viszont azoké (navy alap,
   arany szegély), hogy ne lógjon ki a sorból. */
.bday { max-width:1200px; margin:36px auto 0; padding:0 28px; }
.bday__inner {
  background:linear-gradient(115deg,var(--navy) 55%,#12335c); border:1px solid var(--gold);
  border-radius:4px; padding:10px 24px; color:#fff;
  /* Egyetlen középre zárt sor: köszöntés, majd az ünnepelt(ek). Ami nem fér ki,
     az tördel, és a következő sor is középen marad. */
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px 20px; text-align:center;
}
.bday__greet { display:flex; align-items:center; gap:9px; }
.bday__cake { font-size:19px; line-height:1; }
.bday__title { font-family:'Oswald',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); white-space:nowrap; }
.bday__list { list-style:none; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px 20px; }
.bday__item { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 9px; }
.bday__photo { width:28px; height:28px; flex:none; border-radius:50%; background:var(--ph) center top/cover; box-shadow:0 0 0 1.5px var(--gold); }
.bday__photo--empty { display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.1); box-shadow:0 0 0 1.5px rgba(255,255,255,.3); }
.bday__photo--empty svg { width:52%; height:auto; color:rgba(255,255,255,.5); }
.bday__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:13.5px; letter-spacing:.4px; text-transform:uppercase; color:#fff; }
a.bday__name:hover { color:var(--gold); }
.bday__meta { font-size:12.5px; color:rgba(255,255,255,.6); }

@media (max-width:760px) {
  .bday { padding:0 18px; }
  .bday__inner { padding:11px 16px; }
}

/* ---- Modal ---- */
.modal-overlay { position:fixed; inset:0; background:rgba(6,16,32,.72); z-index:100; display:flex; align-items:flex-start; justify-content:center; padding:7vh 24px 24px; overflow-y:auto; }
.modal { background:var(--card); border-radius:6px; border-top:4px solid var(--gold); max-width:500px; width:100%; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.5); }

/* ---- Játékos-adatlap (a /csapat FUT-kártyáira) ----
   A fejléc az arcképre épül: élesben egy kör alakú portré, mögötte ugyanaz a
   kép elmosva adja a hátteret. A sötét fátyol tartja olvashatóan a nevet
   bármilyen fotó fölött. */
.pm { max-width:440px; }
.pm__head { position:relative; background:var(--navy); color:#fff; padding:24px 26px 22px; display:flex; align-items:center; gap:18px; overflow:hidden; }
.pm__bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 20%; opacity:.35; filter:blur(16px) saturate(.85); transform:scale(1.2); }
.pm__head::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(100deg,rgba(10,35,66,.95) 40%,rgba(10,35,66,.6)); }
.pm__photo, .pm__id, .pm__close { position:relative; z-index:2; }
.pm__photo {
  width:86px; height:86px; flex:none; border-radius:50%; background:var(--ph) center top/cover;
  box-shadow:0 0 0 2px var(--gold), 0 10px 24px rgba(0,0,0,.45);
}
.pm__photo svg { display:none; }
/* Modalban a kivágott alak a kör alakú arckép helyén: magasabb, a fejléc
   aljáról indul, tehát a névvel egy vonalban áll. */
.pm__klip { position:relative; z-index:2; flex:none; width:110px; align-self:flex-end; margin-bottom:-22px; }
.pm__klip video { display:block; width:100%; height:auto; filter:drop-shadow(0 10px 20px rgba(0,0,0,.5)); }
.pm__photo--empty { display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); }
.pm__photo--empty svg { display:block; width:46%; height:auto; color:rgba(255,255,255,.35); }
.pm__id { min-width:0; }
.pm__badges { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
.pm__num { font-family:'Oswald',sans-serif; font-weight:700; font-size:24px; color:var(--gold); line-height:1; }
.pm__pos { font-family:'Oswald',sans-serif; font-weight:600; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; padding:4px 8px; border:1px solid rgba(255,255,255,.4); border-radius:2px; }
.pm__cap { font-family:'Oswald',sans-serif; font-weight:600; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; padding:4px 8px; border-radius:2px; background:var(--gold); color:#0a2342; }
.pm__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:25px; text-transform:uppercase; line-height:1.05; }
.pm__meta { font-size:13px; color:rgba(255,255,255,.75); margin-top:6px; }
.pm__born { font-size:12.5px; color:rgba(255,255,255,.5); margin-top:2px; }
.pm__close {
  position:absolute; top:12px; right:12px; width:30px; height:30px; border:none; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; font-size:18px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s ease;
}
.pm__close:hover { background:rgba(255,255,255,.26); }
.pm__stats { display:grid; }
.pm__stat { position:relative; padding:20px 6px 18px; text-align:center; }
/* Hajszálvonal a cellák közt — a szélső oszlop mellé nem kell keret. */
.pm__stat + .pm__stat::before { content:""; position:absolute; left:0; top:24%; bottom:24%; width:1px; background:var(--line); }
.pm__stat b { display:block; font-family:'Oswald',sans-serif; font-weight:700; font-size:30px; color:var(--head); line-height:1; }
.pm__stat i { display:block; font-family:'Oswald',sans-serif; font-style:normal; font-size:9.5px; letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); margin-top:7px; }
.pm__stat--y b { color:#d4a017; }
.pm__stat--r b { color:#d21f3c; }
.pm__foot { border-top:1px solid var(--line); padding:14px 26px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:12.5px; color:var(--muted); }
.pm__link { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); }
.pm__link:hover { color:var(--gold); text-decoration:underline; }

@media (max-width:420px) {
  .pm__head { padding:20px 18px; gap:14px; }
  .pm__photo { width:64px; height:64px; }
  .pm__name { font-size:21px; }
  .pm__stat b { font-size:24px; }
  .pm__stat i { font-size:8.5px; letter-spacing:.9px; }
  .pm__foot { padding:12px 18px; }
}

/* ---- Mobil menü ----
   Rácsos, ikonos panel a fejléc alatt. Overlay: nem tolja lejjebb az oldalt,
   saját görgetése van, és a háttér elsötétül mögötte. */
.mnav {
  position:absolute; top:100%; left:0; right:0; display:none;
  /* A fejléc --hdr színe félig áttetsző; a menüpanel mögött a tartalom átütne,
     ezért itt tömör kártyaszín + blur megy. */
  background:var(--card); border-top:1px solid var(--line);
  backdrop-filter:blur(10px);
  box-shadow:0 22px 40px -18px rgba(10,35,66,.45);
  max-height:calc(100dvh - 78px); overflow-y:auto; overscroll-behavior:contain;
}
.mnav.is-open { display:block; animation:mnavIn .22s ease both; }
@keyframes mnavIn { from { opacity:0; transform:translateY(-10px) } to { opacity:1; transform:none } }
.mnav__panel { padding:14px 16px 20px; }

.mnav__grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mnav__item {
  display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px;
  background:var(--sky); border:1px solid transparent; border-radius:10px;
  font-family:'Oswald',sans-serif; font-weight:500; font-size:13px; letter-spacing:.6px;
  text-transform:uppercase; color:var(--head); line-height:1.15;
  transition:border-color .15s, background .15s, transform .12s;
}
.mnav__item:hover { border-color:var(--gold); }
.mnav__item:active { transform:scale(.98); }
.mnav__item.is-active { background:var(--navy); color:#fff; }
.mnav__ico { display:flex; flex-shrink:0; color:var(--gold); }
.mnav__item.is-active .mnav__ico { color:var(--gold); }

/* Fiók-blokk */
.mnav__account { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.mnav__who { display:flex; align-items:center; gap:11px; margin-bottom:11px; }
.mnav__avatar {
  width:38px; height:38px; border-radius:50%; flex-shrink:0; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:16px;
}
.mnav__who b { display:block; font-size:15px; color:var(--head); font-weight:600; }
.mnav__who small { display:block; font-size:11.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--gold); }
.mnav__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mnav__actions--guest { grid-template-columns:1fr 1fr; }
.mnav__act {
  display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 12px;
  border:1px solid var(--line); border-radius:10px; background:var(--card); cursor:pointer;
  font-family:'Oswald',sans-serif; font-weight:500; font-size:12.5px; letter-spacing:1px;
  text-transform:uppercase; color:var(--head); text-align:center;
}
.mnav__act:hover { border-color:var(--gold); color:var(--head); }
.mnav__act.is-active { border-color:var(--gold); background:var(--sky); }
.mnav__act--out { color:#7a1622; border-color:#e6c9c9; }
.mnav__act--out:hover { background:#7a1622; border-color:#7a1622; color:#fff; }
:root[data-theme="dark"] .mnav__act--out { color:#f0a9a9; border-color:#5a2630; }
.mnav__badge {
  min-width:20px; padding:1px 6px; border-radius:20px; background:var(--gold); color:#0a2342;
  font-size:11px; font-weight:700; line-height:1.6;
}
.mnav__cta {
  display:flex; align-items:center; justify-content:center; min-height:46px; border-radius:10px;
  background:var(--gold); color:#0a2342; font-family:'Oswald',sans-serif; font-weight:600;
  font-size:13px; letter-spacing:1.4px; text-transform:uppercase;
}
.mnav__cta--ghost { background:transparent; border:1.5px solid var(--navy); color:var(--head); }
.mnav__cta--ghost:hover { background:var(--navy); color:#fff; }

.mnav__fb {
  display:flex; align-items:center; justify-content:center; gap:9px; margin-top:12px; min-height:42px;
  border:1px solid var(--line); border-radius:10px; color:var(--muted);
  font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:1.2px; text-transform:uppercase;
}
.mnav__fb:hover { color:#fff; background:#1877f2; border-color:#1877f2; }

/* Sötétítés a menü mögött */
.mnav__backdrop {
  /* A fejléc z-indexe 50 — a sötétítés alá kell kerülnie, a tartalom fölé. */
  position:fixed; inset:0; background:rgba(6,16,32,.5); opacity:0; pointer-events:none;
  transition:opacity .22s ease; z-index:40;
}
.mnav__backdrop:not(.is-open) { visibility:hidden; }
/* A lebegő észrevétel-gomb ne lógjon rá a nyitott menüre. */
body.mnav-open .fbw { display:none; }
.mnav__backdrop.is-open { opacity:1; pointer-events:auto; }
body.mnav-open { overflow:hidden; }

@media (min-width:1025px) {
  .mnav, .mnav__backdrop { display:none !important; }
  /* Asztali nézetben a boríték a fiók-lenyílóba költözött. */
  .hide-desktop { display:none !important; }
}
@media (max-width:360px) {
  .mnav__grid { grid-template-columns:1fr; }
  .mnav__item { min-height:44px; }
}

/* ---- Reszponzív ---- */
@media (max-width:1024px) {
  .nav { display:none; }
  .hamburger { display:flex !important; }
  .hide-mobile { display:none !important; }
}
@media (max-width:900px) {
  .grid-3, .grid-4, .grid-5, .grid-6, .news-grid { grid-template-columns:repeat(2,1fr); }
  .site-footer__cols { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .grid-2, .grid-3, .grid-4, .grid-5, .grid-6, .news-grid { grid-template-columns:1fr; }
  .site-footer__cols { grid-template-columns:1fr; }
  .page-head h1 { font-size:34px; }
}

/* Fejléc keskeny kijelzőn: a klubnév és az ikonsor együtt nem fért ki 390px-en,
   ezért a név több sorba tört és kilógott a 78px-es fejlécből a tartalomra.
   Kisebb címer és ikonok, szűkebb belső margó — a név egy sorban marad.
   A Facebook-ikon elmarad: a mobil menü aljában úgyis ott a link. */
@media (max-width:560px) {
  .site-header__inner { padding:0 14px; height:64px; gap:10px; }
  .brand { gap:9px; min-width:0; }
  .brand__crest { width:38px; }
  /* A név-blokk zsugorodhat, és végszükségben levág — a fejlécből nem lóghat ki. */
  .brand > span { min-width:0; overflow:hidden; }
  .brand__name { font-size:15px; letter-spacing:.4px; white-space:nowrap; }
  .brand__sub { font-size:9px; letter-spacing:1.8px; white-space:nowrap; }
  /* Asztali nézetben a menüsor tolja jobbra az ikonokat — mobilon a menüsor
     rejtve van, ezért itt kell a jobb szélre húzni őket. */
  .header-actions { gap:6px; margin-left:auto; }
  .icon-btn { width:34px; height:34px; }
  .icon-btn--fb { display:none; }
}

/* Közösségi linkek a láblécben */
.footer-social { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.footer-social a { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1.2px; text-transform:uppercase;
  color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.22); border-radius:20px; padding:6px 13px;
  transition:border-color .2s, color .2s, background .2s; }
.footer-social a:hover { color:var(--gold); border-color:var(--gold); background:rgba(255,255,255,.05); }

/* Tabella keskeny kijelzőn: a pont-oszlop is férjen ki (390px-en 3px-et lógott).
   A kártya vízszintesen görgethető marad, de görgetés nélkül is olvasható. */
@media (max-width:430px) {
  .tbl { font-size:13.5px; }
  .tbl th { padding:11px 5px; }
  .tbl td { padding:10px 5px; }
  .tbl th:first-child, .tbl td:first-child { padding-left:10px; }
  .tbl th:last-child, .tbl td:last-child { padding-right:10px; }
}
@media (max-width:430px) {
  .table-section { padding-left:12px !important; padding-right:12px !important; }
}

/* ── Lapozó (paginate) ─────────────────────────────────────────────────── */
.pager { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.pager__info { font-size:12.5px; color:var(--muted); }
.pager__links { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.pager__btn, .pager__num {
  display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px;
  padding:0 10px; border:1px solid var(--line); border-radius:5px; background:var(--card);
  color:var(--head); font-size:13px; text-decoration:none; line-height:1;
}
.pager__btn:hover, .pager__num:hover { border-color:var(--blue); color:var(--blue); }
.pager__btn--off { color:var(--muted); opacity:.5; cursor:not-allowed; }
.pager__btn--off:hover { border-color:var(--line); color:var(--muted); }
.pager__num--on { background:var(--navy); border-color:var(--navy); color:#fff; cursor:default; }
.pager__num--on:hover { border-color:var(--navy); color:#fff; }
.pager__gap { display:inline-flex; align-items:center; justify-content:center; min-width:20px; color:var(--muted); font-size:13px; }
@media (max-width:480px) {
  .pager__info { order:2; width:100%; text-align:center; }
}

/* ---- Gyűjtések (célzott támogatás) ---- */
/* Haladásjelző. A csík aranyból, a teljesített gyűjtés zöldből — a szín
   önmagában nem hordozhatja az információt, ezért a százalék és a szöveg is
   kimondja, hol tartunk. */
.dp__nums { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.dp__raised { font-family:'Oswald',sans-serif; font-weight:700; font-size:22px; color:var(--head); }
.dp__goal { font-size:13.5px; color:var(--muted); }
.dp__pct { margin-left:auto; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; color:var(--gold); }
.dp__pct--done { color:#0f6e56; }
.dp__track { height:10px; border-radius:99px; background:var(--sky); overflow:hidden; }
.dp__fill { position:relative; height:100%; border-radius:99px;
  /* Színátmenet, nem lapos arany: a csík vége világosabb, ettől „világít". */
  background:linear-gradient(90deg,#a67c22 0%,var(--gold) 55%,#e8c466 100%);
  box-shadow:0 0 12px rgba(195,154,62,.5);
  /* Lassuló vég: a csík „megérkezik" a végállapotba, nem lefékez. */
  transition:width 1.8s cubic-bezier(.22,.61,.36,1); }
/* Csillanás fut végig a megtelt szakaszon — a gyűjtés él, nem egy állókép. */
.dp__fill::after { content:''; position:absolute; inset:0; border-radius:99px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);
  transform:translateX(-100%); animation:dpShine 5s ease-in-out 2s infinite; }
/* A csík hegyén lüktető pont: „itt tart most". Nulla százaléknál nincs mit
   jelölni, ott elrejtjük. */
.dp__fill::before { content:''; position:absolute; right:-1px; top:50%; width:10px; height:10px;
  margin-top:-5px; border-radius:50%; background:#fff3d3;
  box-shadow:0 0 10px 2px rgba(232,196,102,.95); animation:dpPulse 2.8s ease-in-out infinite; }
.dp__fill[data-dp-fill="0"]::before { display:none; }
@keyframes dpShine { 0% { transform:translateX(-100%); } 55%,100% { transform:translateX(100%); } }
@keyframes dpPulse { 0%,100% { transform:scale(1); opacity:.85; } 50% { transform:scale(1.4); opacity:1; } }
@media (prefers-reduced-motion: reduce) {
  .dp__fill { transition:none; }
  .dp__fill::after, .dp__fill::before { animation:none; }
  .dp__fill::before { display:none; }
}
.dp__fill--done { background:linear-gradient(90deg,#14603d 0%,#1f7a4d 55%,#36a06c 100%); box-shadow:0 0 12px rgba(31,122,77,.45); }
.dp__fill--done::before { background:#e6fff2; box-shadow:0 0 10px 2px rgba(54,160,108,.95); }
.dp__note { margin-top:9px; font-size:13px; color:var(--muted); line-height:1.5; }
.dp--compact .dp__raised { font-size:17px; }
.dp--compact .dp__track { height:7px; }

/* Gyűjtés-kártya a Támogatás oldalon */
.dc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:22px; }

/* Korábbi (lezárt) gyűjtések. Korábban összecsukva vártak, hogy az ÉLŐ gyűjtés
   kerüljön előre — de így a legerősebb érv maradt rejtve: hogy az előző
   gyűjtésekből tényleg lett valami. Most nyitva állnak, csak halkabban:
   kisebb cím, vékony elválasztó, a rács ugyanaz. */
.dc-korabbi { margin-top:34px; border-top:1px solid var(--line); padding-top:22px; }
.dc-korabbi__cim { font-family:'Oswald',sans-serif; font-size:17px; letter-spacing:.5px;
  text-transform:uppercase; color:var(--head); margin:0 0 4px; }
.dc-korabbi__sor { color:var(--muted); font-size:14px; margin:0 0 18px; }
.dc-korabbi__sor b { color:var(--head); font-weight:600; }
/* Egyetlen gyűjtésnél a rács a sor kétharmadát üresen hagyná, és a magányos
   kártya elveszik a lap bal szélén. Ilyenkor fekvő kártya: kép balra, a cím,
   a leírás és a haladásjelző jobbra, a teljes szélességben. */
.dc-grid--one { grid-template-columns:1fr; }
.dc-grid--one .dc-card { flex-direction:row; align-items:stretch; }
.dc-grid--one .dc-card__img, .dc-grid--one .dc-card__ph, .dc-grid--one .dc-card__shot { width:42%; max-width:430px; height:auto; aspect-ratio:auto; min-height:230px; flex-shrink:0; }
.dc-grid--one .dc-card__body { padding:26px 28px; justify-content:center; }
.dc-grid--one .dc-card__title { font-size:23px; }
.dc-grid--one .dc-card__sum { flex:0 0 auto; max-width:60ch; }
@media (max-width:700px) {
  .dc-grid--one .dc-card { flex-direction:column; }
  /* Egy gyűjtésnél mobilon nincs mit egymáshoz igazítani, ezért a kép a saját
     arányában megy végig a kártyán — így semmi nem vész el belőle. */
  .dc-grid--one .dc-card__img { width:100%; max-width:none; height:auto; aspect-ratio:auto; min-height:0; padding:0; }
  .dc-grid--one .dc-card__ph { width:100%; max-width:none; height:170px; aspect-ratio:auto; min-height:0; }
  .dc-grid--one .dc-card__shot { width:100%; max-width:none; aspect-ratio:16/10; min-height:0; }
  .dc-grid--one .dc-card__body { padding:18px 20px 20px; }
}
.dc-card { display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:10px; overflow:hidden; color:inherit; }
.dc-card:hover { border-color:var(--gold); }
/* A gyűjtések képe sokszor termékfotó (kompresszor, mezgarnitúra) fehér háttéren:
   a cover levágta a szélét — ezért contain, kártyaháttéren. A fix 170px magasság
   helyett arányos doboz, hogy a keskeny mobilkártyán is elférjen a teljes kép. */
.dc-card__img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:contain; background:var(--card); padding:8px; }
.dc-card__ph { height:auto; aspect-ratio:16/10; background:var(--ph); display:flex; align-items:center; justify-content:center; }
/* Lezárt gyűjtés: „ez lett belőle”. A beszámoló-fotó valódi fénykép, ezért
   cover (kitölti a dobozt), a bélyegben ülő borító viszont továbbra is
   termékfotó — az marad contain, világos háttéren. */
.dc-card__shot { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--ph); }
.dc-card__shotimg { display:block; width:100%; height:100%; object-fit:cover; }
.dc-card__thumb { position:absolute; right:10px; bottom:10px; width:84px; height:60px; object-fit:contain;
  background:#fff; padding:5px; border-radius:7px; border:1px solid rgba(255,255,255,.75);
  box-shadow:0 5px 16px rgba(10,35,66,.35); }
.dc-card__shotcap { position:absolute; left:0; right:0; bottom:0; padding:26px 106px 10px 14px;
  font-size:12.5px; line-height:1.4; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.5);
  background:linear-gradient(to top, rgba(10,35,66,.72), rgba(10,35,66,0));
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:700px) {
  .dc-card__thumb { width:64px; height:46px; right:8px; bottom:8px; }
  .dc-card__shotcap { padding-right:82px; }
}
.dc-card__body { padding:18px 20px 20px; display:flex; flex-direction:column; flex:1; }
.dc-card__title { font-family:'Oswald',sans-serif; font-weight:600; font-size:19px; color:var(--head); line-height:1.2; }
.dc-card__sum { margin:8px 0 14px; font-size:14px; color:var(--muted); line-height:1.55; flex:1; }
.dc-card__closed { display:inline-block; margin-bottom:8px; font-family:'Oswald',sans-serif; font-size:10.5px;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); border:1px solid var(--line);
  border-radius:99px; padding:3px 10px; }

/* Támogatói névsor */
.dw { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; }
.dw__item { border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:6px; padding:11px 14px; background:var(--card); }
.dw__name { font-weight:600; color:var(--head); font-size:14.5px; }
.dw__amount { font-family:'Oswald',sans-serif; color:var(--gold); font-size:13.5px; margin-left:6px; }
.dw__msg { margin-top:5px; font-size:13px; color:var(--muted); line-height:1.5; font-style:italic; }

/* Utalási adatok doboza */
.dt-box { border:1px solid var(--line); border-left:3px solid var(--navy); border-radius:8px; padding:18px 20px; background:var(--card); }
.dt-row { display:flex; gap:12px; padding:7px 0; border-bottom:1px solid var(--line); font-size:14.5px; flex-wrap:wrap; }
.dt-row:last-child { border-bottom:none; }
.dt-row .k { color:var(--muted); min-width:130px; }
.dt-row .v { color:var(--head); font-weight:600; }
.dt-code { font-family:'Oswald',sans-serif; font-size:21px; letter-spacing:2px; color:var(--head);
  background:rgba(195,154,62,.14); border:1px dashed var(--gold); border-radius:6px; padding:6px 12px; display:inline-block; }

/* Nagy köszönet a felajánlás végén. Nem díszítés: a támogató itt zárja le a
   folyamatot, és ez az egyetlen pillanat, amikor a klub személyesen szólhat
   hozzá — a levél csak később érkezik. */
.dt-thanks { text-align:center; border:1px solid var(--line); border-radius:12px; padding:34px 26px 28px;
  margin:8px 0 26px; background:linear-gradient(180deg,rgba(195,154,62,.10),transparent 62%); }
.dt-thanks__crest img { width:74px; height:auto; }
.dt-thanks__big { font-family:'Oswald',sans-serif; font-weight:700; font-size:40px; line-height:1;
  letter-spacing:1px; text-transform:uppercase; color:var(--head); margin:14px 0 12px; }
.dt-thanks__lead { font-size:16.5px; line-height:1.65; color:var(--ink); max-width:46ch; margin:0 auto 12px; }
.dt-thanks__small { font-size:14px; line-height:1.6; color:var(--muted); max-width:46ch; margin:0 auto; }
.dt-thanks__sign { font-family:'Libre Baskerville',serif; font-size:13.5px; color:var(--muted);
  margin-top:18px; font-style:italic; }
@media (max-width:520px) { .dt-thanks__big { font-size:32px; } .dt-thanks { padding:26px 18px 22px; } }

/* Gyűjtés: számsáv, támogatói hírfolyam, megosztás */
.dstat { display:flex; gap:26px; flex-wrap:wrap; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.dstat__n { font-family:'Oswald',sans-serif; font-weight:700; font-size:23px; color:var(--head); line-height:1; }
/* A közeli határidő kiemelése — a szín mellett a felirat is kimondja. */
.dstat__n--urgent { color:#a32d2d; }
.dstat__l { font-size:11.5px; letter-spacing:.6px; text-transform:uppercase; color:var(--muted); margin-top:5px; }

.dsort { font-family:'Oswald',sans-serif; font-size:11.5px; letter-spacing:1px; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--line); border-radius:99px; padding:5px 11px; }
.dsort:hover { border-color:var(--gold); color:var(--head); }
.dsort--on { background:var(--navy); border-color:var(--navy); color:#fff; }
.dsort--on:hover { color:#fff; }

.dfeed { border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--card); }
.dfeed__row { display:flex; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line); }
.dfeed__row:last-child { border-bottom:none; }
.dfeed__av { width:34px; height:34px; border-radius:50%; flex-shrink:0; display:flex; align-items:center;
  justify-content:center; background:linear-gradient(160deg,#12345c,#0a2342); color:rgba(255,255,255,.92);
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; }
.dfeed__main { flex:1; min-width:0; }
.dfeed__name { display:block; font-weight:600; color:var(--head); font-size:14.5px; }
.dfeed__msg { display:block; font-size:13px; color:var(--muted); font-style:italic; margin-top:3px; line-height:1.45; }
.dfeed__right { text-align:right; flex-shrink:0; }
.dfeed__amount { display:block; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; color:var(--gold); }
.dfeed__amount--hidden { color:var(--muted); font-weight:400; font-size:12.5px; font-family:'Barlow',system-ui,sans-serif; }
.dfeed__when { display:block; font-size:11.5px; color:var(--muted); margin-top:3px; }

.dshare { margin-top:30px; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:8px; padding:18px 20px; }
.dshare__t { font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; color:var(--head); }
.dshare__p { font-size:14px; color:var(--muted); line-height:1.6; margin:6px 0 14px; max-width:56ch; }
.dshare__row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.dshare__ok { font-size:13px; color:#0f6e56; font-weight:600; }
/* Táblázatba való haladásjelző: vékony csík + apró százalék, jobbra zárva.
   Az összeg ilyenkor a saját oszlopában áll, nem ismételjük meg. */
.dp--bare .dp__track { height:6px; }
.dp__barepct { margin-top:5px; text-align:right; font-family:'Oswald',sans-serif; font-size:12px; color:var(--muted); }

/* ===================== ELLENFÉL-BEMUTATÓ =====================
   A mérkőzés-adatlap „Az ellenfél" kártyája és a /ellenfelek/{slug} oldal
   ugyanezeket az osztályokat használja — a kártya a rövid, az oldal a
   teljes változat. */
.opp { margin-top:22px; padding:0; overflow:hidden; }
.opp__head { background:var(--navy); color:#fff; padding:14px 20px; display:flex; align-items:center;
  justify-content:space-between; gap:12px; flex-wrap:wrap; }
.opp__kicker { font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; text-transform:uppercase; letter-spacing:1px; }
.opp__more { font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:1px; text-transform:uppercase;
  color:rgba(255,255,255,.8); }
.opp__more:hover { color:#fff; }
.opp__body { padding:20px 24px 24px; }

.opp__ident { display:flex; align-items:center; gap:16px 20px; flex-wrap:wrap; }
.opp__logo { width:56px; height:56px; object-fit:contain; background:#fff; border:1px solid var(--line);
  border-radius:10px; padding:5px; flex-shrink:0; }
.opp__ident-main { flex:1 1 200px; min-width:180px; }
.opp__name { font-family:'Oswald',sans-serif; font-weight:600; font-size:22px; color:var(--head); line-height:1.15; }
.opp__place { font-size:13px; color:var(--muted); margin-top:3px; }

/* Adat-pirulák: táv, menetidő, lakosság, alapítás. A fejléc jobb oldalán
   állnak, a névvel egy sorban — a név melletti sáv különben üresen maradna. */
.opp__facts { display:flex; gap:9px; flex-wrap:wrap; justify-content:flex-end; flex:1 1 auto; }
.opp__fact { display:inline-flex; align-items:baseline; gap:7px; background:var(--sky); border-radius:99px;
  padding:7px 14px; font-size:13.5px; color:var(--ink); }
.opp__fact b { font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; color:var(--head); }
.opp__fact span { color:var(--muted); font-size:12px; }

.opp__text { font-size:14.5px; line-height:1.65; color:var(--ink); margin-top:16px; max-width:70ch; }
.opp__text p { margin-bottom:10px; }
.opp__text p:last-child { margin-bottom:0; }
.opp__src { font-size:12px; color:var(--muted); margin-top:8px; }

.opp__venue { margin-top:18px; padding:14px 16px; border:1px solid var(--line); border-left:3px solid var(--gold);
  border-radius:8px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.opp__venue-main { flex:1; min-width:200px; }
.opp__venue-label { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.opp__venue-name { font-weight:600; color:var(--head); font-size:15px; margin-top:3px; }
.opp__venue-addr { font-size:13px; color:var(--muted); margin-top:2px; }
.opp__nav { display:flex; gap:8px; flex-wrap:wrap; }

/* Egymás elleni mérleg: három szám egy sorban + a korábbi eredmények. */
.opp__h2h { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.opp__h2h-label { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase;
  color:var(--muted); margin-bottom:12px; }
.opp__bal { display:flex; gap:10px; flex-wrap:wrap; }
.opp__bal-item { flex:1; min-width:82px; text-align:center; background:var(--sky); border-radius:10px; padding:12px 8px; }
.opp__bal-num { font-family:'Oswald',sans-serif; font-weight:600; font-size:24px; line-height:1; color:var(--head); }
.opp__bal-cap { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); margin-top:5px; }
.opp__bal-item--w .opp__bal-num { color:#1f7a4d; }
.opp__bal-item--l .opp__bal-num { color:#a33; }

.opp__past { list-style:none; margin-top:14px; display:flex; flex-direction:column; gap:1px; }
.opp__past a { display:flex; align-items:center; gap:12px; padding:10px 14px; background:var(--sky); }
.opp__past a:hover { background:var(--line); }
.opp__past li:first-child a { border-radius:8px 8px 0 0; }
.opp__past li:last-child a { border-radius:0 0 8px 8px; }
.opp__past li:only-child a { border-radius:8px; }
.opp__past-date { font-family:'Oswald',sans-serif; font-size:12.5px; color:var(--muted); min-width:96px; }
.opp__past-pair { flex:1; min-width:0; font-size:13.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opp__past-score { font-family:'Oswald',sans-serif; font-weight:700; font-size:14px; color:#fff; background:var(--navy);
  border-radius:6px; padding:4px 10px; letter-spacing:1px; }
.opp__past-res { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1px; text-transform:uppercase;
  min-width:22px; text-align:right; }
.opp__past-res--w { color:#1f7a4d; }
.opp__past-res--l { color:#a33; }
.opp__past-res--d { color:var(--muted); }

/* Kapcsolat + a klub csapatai a bemutató oldalon. */
.opp__dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin-top:14px; }
.opp__dl div { background:var(--sky); border-radius:10px; padding:12px 16px; }
.opp__dl dt { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.opp__dl dd { font-size:14px; color:var(--head); margin-top:4px; word-break:break-word; }
.opp__tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.opp__tag { font-size:12.5px; color:var(--muted); border:1px solid var(--line); border-radius:99px; padding:5px 12px; }

@media (max-width:560px) {
  .opp__body { padding:16px 16px 20px; }
  .opp__name { font-size:19px; }
  /* Szűk kijelzőn a dátum a párosítás fölé kerül, nem mellé — a párosítás
     mondja meg, hazai vagy idegenbeli volt, azt nem szabad elrejteni. */
  .opp__past a { flex-wrap:wrap; gap:6px 10px; padding:11px 13px; }
  .opp__past-date { min-width:100%; }
  .opp__past-pair { font-size:13px; }
}

/* ===================== MÉRKŐZÉS-LISTA SORAI =====================
   A kiírt mérkőzések és az eredmények sora teljes egészében link a mérkőzés
   adatlapjára — korábban csak az eredményeknél volt egy apró „Részletek"
   hivatkozás, a kiírt meccsek sora sehova nem vitt. */
.mrow { display:flex; align-items:center; gap:18px; padding:16px 22px; border-bottom:1px solid var(--line);
  color:inherit; transition:background .15s ease; }
.mrow:last-child { border-bottom:none; }
.mrow:hover { background:var(--sky); }
/* 86px: a leghosszabb magyar rövidítés („szept. 20.") elfér egy sorban —
   74 pixelnél kettétört, és a sor magassága ugrált tőle. */
.mrow__date { width:86px; text-align:center; border-right:1px solid var(--line); padding-right:16px; flex-shrink:0; }
.mrow__day { font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; color:var(--head); }
.mrow__time { font-size:11px; color:var(--muted); }
.mrow__main { flex:1; display:flex; align-items:center; gap:12px; flex-wrap:wrap; min-width:0; }
.mrow__team { font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; color:var(--head); text-transform:uppercase; }
.mrow__dash { font-size:12px; color:var(--muted); }
.mrow__tag { font-family:'Oswald',sans-serif; font-size:10px; letter-spacing:1px; text-transform:uppercase;
  color:var(--blue); background:var(--sky); padding:2px 8px; border-radius:3px; }
.mrow:hover .mrow__tag { background:var(--card); }
.mrow__round { font-family:'Oswald',sans-serif; font-size:10px; letter-spacing:1px; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--line); padding:2px 8px; border-radius:3px; }
.mrow__side { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
.mrow__cta { font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:1px; text-transform:uppercase;
  color:var(--blue); border:1px solid var(--line); border-radius:99px; padding:6px 13px; white-space:nowrap; }
.mrow:hover .mrow__cta { border-color:var(--gold); color:var(--head); background:var(--card); }
.mrow__score { font-family:'Oswald',sans-serif; font-weight:700; font-size:16px; color:#fff; background:var(--navy);
  border-radius:3px; padding:3px 10px; white-space:nowrap; }

/* Az eredmény-sor középre rendezett, kétsoros: fölötte a dátum és a kiírás. */
.mrow--result { flex-direction:column; align-items:stretch; gap:8px; }
.mrow--result .mrow__meta { font-size:11.5px; color:var(--muted); text-align:center; }
.mrow--result .mrow__pair { display:flex; align-items:center; gap:12px; }
.mrow--result .mrow__pair .mrow__team { flex:1; }
.mrow--result .mrow__pair .mrow__team:last-child { text-align:right; }
.mrow--result .mrow__cta { align-self:center; }

@media (max-width:560px) {
  /* Szűk kijelzőn a sor tördel: a dátum és a párosítás marad egy sorban, a
     „Hazai/Idegenben" felirat és a gomb alá kerül. A gombot NEM rejtjük el —
     a puszta kattinthatóság nem látszik, a gomb mondja meg, hogy van hova
     menni. */
  .mrow { gap:10px 12px; padding:14px 15px; flex-wrap:wrap; }
  .mrow__date { width:58px; padding-right:11px; }
  .mrow__main { flex:1 1 60%; }
  .mrow__team { font-size:14.5px; }
  .mrow__side { order:2; }
  .mrow__cta { order:3; margin-left:auto; }
}

/* Szűk kijelzőn a pirulák a név ALÁ kerülnek, balra zárva: a jobbra zárás
   egyoszlopos elrendezésben csak töri a szemet. */
@media (max-width:720px) {
  .opp__facts { justify-content:flex-start; flex-basis:100%; }
}

/* Focis adatok az ellenfél-kártyán: edző + góllövőik egymás mellett. */
.opp__football { display:flex; gap:14px; flex-wrap:wrap; margin-top:18px; }
.opp__mini-label { font-family:'Oswald',sans-serif; font-size:10.5px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--muted); }
.opp__coach { flex:1 1 220px; display:flex; align-items:center; gap:12px;
  background:var(--sky); border-radius:10px; padding:13px 16px; }
.opp__coach-ico { font-size:20px; line-height:1; }
.opp__coach-name { font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; color:var(--head); margin-top:2px; }
.opp__scorers { flex:2 1 300px; background:var(--sky); border-radius:10px; padding:13px 16px; }
.opp__scorer-list { list-style:none; margin-top:8px; display:flex; flex-direction:column; gap:5px; }
.opp__scorer-list li { display:flex; align-items:baseline; gap:10px; font-size:14px; color:var(--ink); }
.opp__scorer-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opp__scorer-goals { font-family:'Oswald',sans-serif; font-weight:600; font-size:13.5px; color:var(--muted); }
/* A legeredményesebb emberüket kiemeljük — a szurkolói kérdés („ki a
   legveszélyesebb?") erre az egy névre keres választ. */
.opp__scorer-list li.is-top .opp__scorer-name { font-weight:600; color:var(--head); }
.opp__scorer-list li.is-top .opp__scorer-goals { color:var(--gold); }

/* Az ellenfél formája: legutóbbi mérkőzéseik saját szemszögből. */
.opp__form { margin-top:18px; }
.opp__form-list { list-style:none; margin-top:8px; display:flex; flex-direction:column; gap:1px; }
.opp__form-list li { display:flex; align-items:center; gap:12px; padding:10px 14px; background:var(--sky); font-size:13.5px; }
.opp__form-list li:first-child { border-radius:8px 8px 0 0; }
.opp__form-list li:last-child { border-radius:0 0 8px 8px; }
.opp__form-list li:only-child { border-radius:8px; }
.opp__form-flag { font-family:'Oswald',sans-serif; font-weight:600; font-size:11px; letter-spacing:1px;
  width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; color:#fff; }
.opp__form-flag--w { background:#1f7a4d; }
.opp__form-flag--d { background:var(--muted); }
.opp__form-flag--l { background:#a33; }
.opp__form-pair { flex:1; min-width:0; color:var(--head); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opp__form-score { font-family:'Oswald',sans-serif; font-weight:700; font-size:14px; color:#fff;
  background:var(--navy); border-radius:6px; padding:3px 9px; letter-spacing:1px; }
.opp__form-meta { font-size:11.5px; color:var(--muted); min-width:120px; text-align:right; }

@media (max-width:640px) {
  .opp__form-list li { flex-wrap:wrap; gap:8px 10px; }
  .opp__form-meta { min-width:0; margin-left:38px; text-align:left; flex-basis:100%; }
}

/* Arcképek az ellenfél-kártyán (MLSZ adatbank hotlink + feltöltött edzőkép). */
.opp__face { width:30px; height:30px; border-radius:50%; object-fit:cover; flex-shrink:0;
  background:var(--ph); border:1px solid var(--line); }
.opp__face--lg { width:46px; height:46px; }
.opp__face--empty { display:inline-flex; align-items:center; justify-content:center; font-size:14px; }
.opp__face--lg.opp__face--empty { font-size:20px; }

/* Hazai / idegenbeli mérleg — a minket érintő oldal aranykerettel kiemelve. */
.opp__ha { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.opp__ha-box { flex:1 1 200px; background:var(--sky); border-radius:10px; padding:13px 16px;
  border:1px solid transparent; }
.opp__ha-box.is-focus { border-color:var(--gold); background:rgba(195,154,62,.12); }
.opp__ha-rec { font-family:'Oswald',sans-serif; font-weight:600; font-size:22px; color:var(--head); margin-top:5px; }
.opp__ha-rec span { font-size:12px; color:var(--muted); font-weight:400; margin-right:6px; }
.opp__ha-sub { font-size:12.5px; color:var(--muted); margin-top:3px; }
.opp__ha-sub b { color:var(--head); }

/* Legidősebb / legfiatalabb játékosuk. */
.opp__ages { display:flex; gap:12px; flex-wrap:wrap; margin-top:14px; }
.opp__age-box { flex:1 1 220px; display:flex; align-items:center; gap:12px;
  background:var(--sky); border-radius:10px; padding:12px 16px; }
.opp__age-name { font-family:'Oswald',sans-serif; font-weight:600; font-size:15.5px; color:var(--head); margin-top:2px; }
.opp__age-num { font-size:12.5px; color:var(--muted); }

/* A mérkőzés egymondatos összefoglalója a kártya alatt. Nem díszítés: a lap
   számokból és gombokból áll, a kereső ebből nem tudott kivonatot készíteni. */
.mshow-lead { margin:16px 0 0; font-size:14.5px; line-height:1.6; color:var(--muted); }

/* A statisztika-csempe alcímkéje: a szám jelentése egy sorral lejjebb. */
.vs-hint { display:block; font-size:11px; opacity:.75; margin-top:1px; }
/* „Jelenleg az oldalon": lüktető pötty jelzi, hogy ez élő adat. */
.vs-live { border-color: rgba(31,122,77,.45); }
.vs-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#1f7a4d;
  margin-right:6px; vertical-align:middle; animation: vs-pulse 2s ease-in-out infinite; }
@keyframes vs-pulse { 0%,100% { opacity:1 } 50% { opacity:.35 } }
@media (prefers-reduced-motion: reduce) { .vs-dot { animation: none } }

/* ============================================================
   Oldalak közti átúszás (View Transitions)
   A fehér villanás helyett a régi lap átúszik az újba, a hírkártya
   képe pedig átnő a cikk fejlécébe. Csak ott fut, ahol a böngésző
   tudja (Chromium, Safari 18+) — máshol marad a mostani váltás.
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }

  /* A régi lap gyorsan halványul, az új lassabban és egy hajszálnyi
     felfelé mozgással érkezik — ettől lesz iránya a váltásnak. */
  ::view-transition-old(root) { animation: vtc-ki .16s cubic-bezier(.4,0,1,1) both; }
  ::view-transition-new(root) { animation: vtc-be .3s cubic-bezier(0,0,.2,1) both; }

  @keyframes vtc-ki { to { opacity:0 } }
  @keyframes vtc-be { from { opacity:0; transform:translateY(10px) } }

  /* A fejléc nem úszik át: a helyén marad, mint egy alkalmazásban.
     (Saját névvel kikerül a lap-szintű animációból.) */
  .site-header { view-transition-name: vtc-fejlec; }

  /* A sötét fejlécsáv minden oldalon ugyanaz az elem: nem újrarajzolódik,
     hanem átmozog és átméreteződik a következő lap fejlécébe. Oldalanként
     pontosan egy van belőle — kettő esetén a böngésző kihagyná az egészet. */
  .page-head { view-transition-name: vtc-fejlecsav; }
  ::view-transition-group(vtc-fejlecsav) { animation-duration: .4s; }

  /* Listáról részletre: a kattintott sor vagy kártya VESZI ÁT a fejlécsáv
     nevét (a JS adja rá), így ő maga nő szét a következő lap fejlécévé.
     A kiinduló lap fejléce ilyenkor lemond a névről. */
  ::view-transition-old(vtc-fejlecsav),
  ::view-transition-new(vtc-fejlecsav) {
    height: 100%;
    overflow: clip;
    animation-duration: .4s;
  }

  /* A hír borítóképe: a listán a kattintott kártya kapja meg a nevet
     (JS), a cikkoldalon pedig a nagy kép — így a kettő között a
     böngésző összeköti őket, és a kép átrepül a helyére. */
  .cikk-borito { view-transition-name: vtc-cikkkep; }
  ::view-transition-group(vtc-cikkkep) { animation-duration: .42s; }
  ::view-transition-old(vtc-cikkkep),
  ::view-transition-new(vtc-cikkkep) {
    /* A kártyakép kivágott, a cikké teljes: a keresztúszás elfedi az
       aránykülönbséget, amíg a keret a helyére mozog. */
    height: 100%;
    object-fit: cover;
    animation-duration: .42s;
  }
}

/* ── Edzésrend a keret fülén ──────────────────────────────────────────────
   A meccssáv testvére: ugyanaz a kártyaforma, de a hangsúly a HETI RENDEN
   van — a napok kis oszlopokban, a következő alkalom kiemelve mellettük. */
.squad-train { display:flex; flex-wrap:wrap; align-items:stretch; gap:1px; margin:-14px 0 26px;
  border:1px solid var(--line); border-top:3px solid var(--navy); border-radius:10px;
  overflow:hidden; background:var(--line); }
/* A heti sáv hét oszlopa egy sorban maradjon: ezért kap nagyobb alapszélességet
   és több növekedést, mint a mellette lévő „következő edzés" doboz. */
.squad-train__week { flex:2 1 440px; }
.squad-train__week, .squad-train__next { flex-basis:440px; display:flex; flex-direction:column; gap:8px;
  padding:14px 18px; background:var(--card); }
.squad-train__next { flex:1 1 260px; }
.squad-train__next { gap:3px; }
.squad-train__lbl { font-family:'Oswald',sans-serif; font-size:10.5px; font-weight:600;
  letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); }

.squad-train__days { display:flex; flex-wrap:wrap; gap:8px; }
/* Csak az edzésnapok szerepelnek, kiírt névvel — a hét többi napja nem hír. */
.squad-train__day { display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2px; min-height:58px; padding:8px 16px; border-radius:8px;
  background:var(--navy); border:1px solid var(--navy); box-shadow:0 6px 14px rgba(12,32,64,.22); }
.squad-train__day.is-today { outline:2px solid var(--gold); outline-offset:1px; }
.squad-train__dow { font-family:'Oswald',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1.2px; text-transform:uppercase; color:var(--gold); }
.squad-train__time { font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; color:#fff; }
.squad-train__time i { font-style:normal; font-size:11px; color:rgba(255,255,255,.62); }
.squad-train__place { font-size:10.5px; color:rgba(255,255,255,.7); }
.squad-train__rest { font-size:13px; color:var(--line); }

.squad-train__when { font-family:'Oswald',sans-serif; font-size:15px; font-weight:600;
  text-transform:uppercase; color:var(--head); line-height:1.3; }
.squad-train__when b { color:var(--blue); }
.squad-train__when i { font-style:normal; font-size:13px; color:var(--muted); }
.squad-train__sub { font-size:12px; color:var(--muted); }

/* Elmaradó alkalom: a hír maga az, hogy aznap nincs edzés. */
.squad-train.is-off { border-top-color:#b23b3b; }
.squad-train.is-off .squad-train__when { text-decoration:line-through; color:var(--muted); }
.squad-train.is-off .squad-train__lbl { color:#b23b3b; }

/* „Jön / nem jön" a következő alkalomra — ugyanaz a szabály, mint a naptárban:
   csak konkrét, jövőbeli, el nem maradó edzésre és csak a saját gyerekre. */
.squad-train__rsvp { position:relative; flex:1 1 260px; display:flex; flex-direction:column; gap:8px;
  padding:14px 18px; background:var(--card); }
.squad-train__kid { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.squad-train__kidname { flex:1; min-width:90px; font-size:14px; font-weight:600; color:var(--head); }
.squad-train__btn { font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:.6px;
  text-transform:uppercase; padding:6px 12px; border-radius:6px; cursor:pointer;
  border:1px solid var(--line); background:var(--cream); color:var(--muted);
  transition:background .15s ease, border-color .15s ease, color .15s ease; }
.squad-train__btn:hover { border-color:var(--gold); color:var(--head); }
.squad-train__btn.is-on[data-status="coming"] { background:#1f7a4d; border-color:#1f7a4d; color:#fff; }
.squad-train__btn.is-on[data-status="not_coming"] { background:#a33; border-color:#a33; color:#fff; }
.squad-train__btn[disabled] { opacity:.55; cursor:default; }
.squad-train__rsvp .btn { align-self:flex-start; }

/* Helyben nyíló belépő: a szülőnek nem kell másik oldalra mennie, hogy jelezni
   tudjon. Csak a mezők jelennek meg — a teljes belépőoldal (regisztráció,
   passkey, meghívó) továbbra is a /belepes. */
.squad-train__login { display:flex; flex-direction:column; gap:8px; }
/* A bezárás a doboz jobb felső sarkában, a „Jön az edzésre?" felirat sorában —
   ott keresi a szem, nem az első mező mellett. */
.squad-train__close { position:absolute; top:11px; right:12px; width:26px; height:26px;
  display:grid; place-items:center; padding:0; border:none; border-radius:6px;
  background:transparent; color:var(--muted); cursor:pointer; transition:background .15s ease, color .15s ease; }
.squad-train__close svg { width:13px; height:13px; }
.squad-train__close:hover { background:var(--cream); color:var(--head); }
.squad-train__field { display:flex; flex-direction:column; gap:3px; }
.squad-train__field span { font-family:'Oswald',sans-serif; font-size:10.5px; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--muted); }
.squad-train__field input { width:100%; padding:8px 10px; border:1px solid var(--line);
  border-radius:6px; background:var(--cream); font-size:14px; color:var(--head); }
.squad-train__field input:focus { outline:none; border-color:var(--gold); background:#fff; }
.squad-train__error { margin:0; font-size:12.5px; color:#a33; }
/* A gomb és a segédlink egy sorban, de nem egyenrangúan: a link a lap többi
   apró címkéjének formáját veszi fel (Oswald, ritkított nagybetű), és csak
   rámutatva kap arany aláhúzást. */
.squad-train__loginacts { display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; }
.squad-train__loginacts a { font-family:'Oswald',sans-serif; font-size:11px; font-weight:500;
  letter-spacing:1.1px; text-transform:uppercase; color:var(--muted); text-decoration:none;
  padding-bottom:2px; border-bottom:1px solid transparent;
  transition:color .15s ease, border-color .15s ease; }
.squad-train__loginacts a:hover,
.squad-train__loginacts a:focus-visible { color:var(--head); border-bottom-color:var(--gold); }

.squad-train__more { display:flex; align-items:center; padding:14px 18px; background:var(--card);
  font-family:'Oswald',sans-serif; font-size:11px; font-weight:600; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--blue); text-decoration:none; white-space:nowrap; }
.squad-train__more:hover { background:var(--sky); }
@media (max-width:620px){
  .squad-train__more{ flex:1 1 100%; justify-content:center }
  .squad-train__week, .squad-train__next{ flex-basis:100%; }
  .squad-train__days{ gap:4px }
  .squad-train__day{ padding:7px 12px; min-height:52px }
  .squad-train__dow{ font-size:11px; letter-spacing:.8px }
  .squad-train__time{ font-size:13px }
}

/* Tippjáték-blokk a főoldalon. Ugyanaz a sötét, aranyszegélyes hangulat, mint a
   kezdőrúgás-sávnál — a kettő ugyanarról szól (a tippelés esélyt ad a
   sorsoláson), ezért egymás alatt egy gondolatmenetet alkotnak. */
.tipp-home { max-width:1200px; margin:44px auto 0; padding:0 28px; }
.tipp-home__inner { background:linear-gradient(115deg,var(--navy) 58%,#12335c); border:1.5px solid var(--gold);
  border-radius:4px; padding:32px 36px; display:grid; grid-template-columns:1.5fr 1fr; gap:32px;
  align-items:center; color:#fff; }
.tipp-home__eyebrow { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.tipp-home__match { font-weight:600; font-size:26px; text-transform:uppercase; letter-spacing:.5px; line-height:1.15; }
.tipp-home__match span { color:var(--gold); margin:0 4px; }
.tipp-home__when { color:rgba(255,255,255,.72); font-size:14px; margin-top:6px; }
.tipp-home__lead { color:rgba(255,255,255,.78); font-size:14.5px; line-height:1.55; margin:12px 0 18px; max-width:560px; }
.tipp-home__actions { display:flex; gap:10px; flex-wrap:wrap; }
/* A ranglista-oszlop kártyaként ül a sötét háttéren: elválik, de nem világít. */
.tipp-home__board { background:rgba(255,255,255,.06); border:1px solid rgba(195,154,62,.35);
  border-radius:4px; padding:18px 20px; }
.tipp-home__boardcim { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.tipp-home__row { display:flex; align-items:baseline; gap:10px; padding:7px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.tipp-home__row:last-child { border-bottom:0; }
.tipp-home__rank { font-family:'Oswald',sans-serif; font-weight:600; color:var(--gold); width:18px; flex-shrink:0; }
.tipp-home__name { flex:1; font-size:15px; }
.tipp-home__pts { font-family:'Oswald',sans-serif; font-size:14px; color:rgba(255,255,255,.78); white-space:nowrap; }
.tipp-home__ures { color:rgba(255,255,255,.72); font-size:14px; line-height:1.5; margin:0; }
@media (max-width:860px) {
  .tipp-home__inner { grid-template-columns:1fr; padding:26px 22px; gap:22px; }
  .tipp-home__match { font-size:22px; }
}

/* ---- Széles kijelzők -------------------------------------------------
   Ultraszéles monitoron az 1200 px-es sáv keskeny csíknak látszik.
   A tartalomsáv ezért lépcsőzetesen szélesedik. A betűméretek ebben a
   fájlban px-ben vannak (nincs rem), ezért a gyökér font-size állítása
   itt nem érne semmit — a szöveg nagyítását a body zoom adja, ami a
   px-es értékeket is arányosan viszi.                                  */

@media (min-width: 1600px) {
  .wrap, .live__row { max-width: 1380px; }
  body { zoom: 1.06; }
}

@media (min-width: 1920px) {
  .wrap, .live__row { max-width: 1560px; }
  body { zoom: 1.12; }
}

@media (min-width: 2400px) {
  .wrap, .live__row { max-width: 1760px; }
  body { zoom: 1.18; }
}
