/* Doplnění utility tříd, které nejsou v dist/style.css (definovány inline na webu). */
.vg-max-height-1 {
  max-height: 45px;
  width: auto;
}
.vg-max-height-2 {
  max-height: 30px;
  width: auto;
}

/* SVG logo v hlavičce/patičce (sprite #svg--visiongame-beta) – rozměry */
.c-header__logo-svg {
  display: block;
  width: 168px;
  height: 22px;
}

/* Detail hry: náhledový hero nesmí zajíždět pod fixní hlavičku (.c-header).
   Desktop: c-header__main (64px). Mobile (<992px): hlavní pruh ~50px. */
.vg-below-header {
  padding-top: 4.625rem !important; /* 74px – s rezervou nad 64px hlavičkou */
}
@media (max-width: 991px) {
  .vg-below-header {
    padding-top: 4.5rem !important; /* 72px – nad mobilní hlavičkou */
  }
}

/* Scroll: is-scrolled musí přebít is-white-header (v CSS je později) – kompound selektor.
   Hlavička zšedne a text zesvětlí, výška ani poloha se nemění (base CSS ji posouval o 30 px). */
body.is-white-header.is-scrolled .c-header {
  background: #2d313a;
}
body.is-scrolled .c-header { transform: none; }
/* Okraj bílé hlavičky je uvnitř 64 px hlavního pruhu, aby výška seděla ve všech stavech. */
body.is-white-header .c-header { border-bottom: 0; }
body.is-white-header:not(.is-scrolled) .c-header__main { border-bottom-color: #D7DDE5; }

/* Průhledná tlačítka (Přihlásit se, lupa) byla na BÍLÉ hlavičce bílá na bílé
   → na světlých stránkách dostanou světle šedý podklad a tmavý text. */
body.is-white-header:not(.is-scrolled) .c-header .c-btn--transparent {
  background: #f1f4f8;
  color: #232328;
}
body.is-white-header:not(.is-scrolled) .c-header .c-btn--transparent:hover {
  background: #e4e9f0;
  color: #232328;
}
body.is-white-header.is-scrolled .c-header__main {
  color: rgba(255, 255, 255, 0.8);
}

/* Přepínání varianty loga podle stavu hlavičky.
   Výchozí (bílá hlavička) → tmavé logo; tmavá / scrollovaná hlavička → světlé logo. */
.c-header__logo-svg.vg-logo-light { display: none; }
.c-header__logo-svg.vg-logo-dark { display: block; }
body.is-dark-header .c-header__logo-svg.vg-logo-light,
body.is-white-header.is-scrolled .c-header__logo-svg.vg-logo-light { display: block; }
body.is-dark-header .c-header__logo-svg.vg-logo-dark,
body.is-white-header.is-scrolled .c-header__logo-svg.vg-logo-dark { display: none; }

/* Aktivní písmeno v A–Z filtru (kulaté tlačítko) */
.vg-alpha--active {
  background: #42dd70;
  border-color: #42dd70;
  color: #0F1115;
}
.vg-alpha--active:hover { background: #19c256; border-color: #19c256; }

/* Filtr her – jemný hover na řádky s checkboxem */
.vg-checkrow:hover { background: #F4F7FB; }

/* Přepínač taxonomií na homepage – hover položky */
.vg-tax-opt:hover { background: #F4F7FB; }

/* Aktivní položka menu – zelená + podtržení (jako na originálu) */
.c-header .c-header__link.vg-nav-active { color: #42dd70; position: relative; }
.c-header .c-header__link.vg-nav-active::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -9px;
  height: 2px; border-radius: 2px;
  background: #42dd70;
}
.c-header__link:hover:before { height: 2px; }
/* na bílé hlavičce tmavší zelená kvůli kontrastu, podtržení zůstává */
body.is-white-header:not(.is-scrolled) .c-header .c-header__link.vg-nav-active { color: #1a9a4a; }

/* Tělo krátké zprávy (detail) – čitelné formátování + funkční odkazy */
.vg-short-body a { color: #42dd70; text-decoration: underline; }
.vg-short-body a:hover { color: #2fb85a; }
.vg-short-body p { margin: 0 0 1rem; }
.vg-short-body ul, .vg-short-body ol { margin: 0 0 1rem 1.25rem; }
.vg-short-body img { max-width: 100%; height: auto; border-radius: 8px; }

/* ── Globální odsazení obsahu pod fixní hlavičkou ─────────────────────
   Světlé stránky (is-white-header) mají obsah od horního okraje → celý
   web posouváme pod 64px hlavičku. Tmavé stránky (is-dark-header) mají
   hero záměrně pod průhlednou hlavičkou, tam se nic neposouvá. */
body.is-white-header {
  padding-top: 64px;
}
@media (max-width: 991px) {
  body.is-white-header {
    padding-top: 72px;
  }
}

/* Posun tmavého hera pod neprůhlednou hlavičku (obrázek nesmí podjíždět menu). */
.vg-hero-below-header {
  margin-top: 64px;
}
@media (max-width: 991px) {
  .vg-hero-below-header {
    margin-top: 72px;
  }
}

/* Sociální ikony v patičce – hover zvýrazní zeleným zaobleným podkladem. */
.vg-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  color: rgba(255, 255, 255, 0.65);
  transition: background 140ms ease, color 140ms ease;
}
.vg-social:hover,
.vg-social:focus-visible {
  background: #42dd70;
  color: #0F1115;
}

/* ── Styleguide „ERA 5": font Roboto ─────────────────────────────────
   Theme má napevno "DM Sans" – pozdější @font-face se stejným názvem
   rodiny přesměruje všechna pravidla na soubory Roboto (self-host). */
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 300; font-display: swap; src: url("/fonts/roboto/roboto-300-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 300; font-display: swap; src: url("/fonts/roboto/roboto-300-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/roboto/roboto-400-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/roboto/roboto-400-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/roboto/roboto-400-italic-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/roboto/roboto-400-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/roboto/roboto-500-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/roboto/roboto-500-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/roboto/roboto-700-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/roboto/roboto-700-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Roboto i pod vlastním jménem pro nový kód. */
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 300; font-display: swap; src: url("/fonts/roboto/roboto-300-latin.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/roboto/roboto-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/roboto/roboto-500-latin.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/roboto/roboto-700-latin.woff2") format("woff2"); }

/* ── Hlavní menu: položky svisle na střed (i při zalomení na 2 řádky) ── */
.c-header__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
}
.c-header__item {
  height: auto !important;
}
.c-header__link {
  height: auto !important;
  padding-top: 6px;
  padding-bottom: 6px;
}

/* ── Kulaté akční tlačítko v hlavičce detailu (sledovat / sdílet) ────── */
.vg-circle-btn {
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.vg-circle-btn:hover,
.vg-circle-btn:focus-visible {
  background-color: rgba(255, 255, 255, 0.16) !important;
  border-color: #fff !important;
}

/* ── Menu na jeden řádek i na užších desktopech (992–1750 px) ──────────
   Devět položek se jinak nevejde a menu se zalomí na dva řádky → hlavička
   je vyšší než globální odsazení obsahu a překrývá stránky. */
@media (min-width: 992px) {
  .c-header__item { margin: 0 5px; }
  .c-header__link { font-size: 14px; white-space: nowrap; }
  .c-header__nav { flex-wrap: nowrap; }
}
@media (min-width: 992px) and (max-width: 1180px) {
  .c-header__item { margin: 0 4px; }
  .c-header__link { font-size: 13.5px; }
}

/* Popisek hero hry (Phonopolis – Amanita): odkazy musí být nad obsahovou
   vrstvou hera; pointer-events none na kontejneru, ať nic neblokuje. */
.s-hp-hero__auth { z-index: 6; pointer-events: none; }
.s-hp-hero__auth a { pointer-events: auto; }

/* ── Polička fyzické sbírky (/policka): hřbety krabic ── */
.vg-spine {
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  transform-origin: bottom center;
}
.vg-spine:hover {
  transform: translateY(-16px) scale(1.04);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.6), 0 0 0 2px #42dd70 !important;
  z-index: 5;
}

/* ── Vyladění hlavičky (kompozice tlačítek + responzivita) ────────────
   Přihlásit se = tichý textový odkaz vedle jediného CTA (Registrace). */
.vg-login-link {
  color: inherit;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: 0.3px;
  text-decoration: none;
  opacity: 0.85;
  white-space: nowrap;
  transition: color 0.15s ease, opacity 0.15s ease;
}
.vg-login-link:hover,
.vg-login-link:focus-visible {
  color: #42dd70;
  opacity: 1;
}

/* burger (mobilní menu) — hover zeleně */
.vg-burger:hover { color: #42dd70; }

/* panel mobilního menu pod hlavičkou (< 992 px neměl web ŽÁDNOU navigaci) */
.vg-mobile-panel {
  position: fixed; /* portál do body; top nastavuje komponenta dle výšky hlavičky */
  left: 0;
  right: 0;
  z-index: 98;
  background: #232328;
  padding: 10px 18px 16px;
  max-height: calc(100vh - 50px);
  overflow-y: auto;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.35);
}
.vg-mobile-link {
  display: block;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  padding: 9px 4px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.vg-mobile-link:hover { color: #42dd70; }
.vg-mobile-link--small {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  border-bottom: none;
  padding: 6px 4px;
}
.vg-mobile-link--icon {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 400;
  padding: 7px 4px;
  border-bottom: none;
}
.vg-archive-icon { flex: none; }
.vg-mobile-panel__group {
  margin-top: 10px;
}
.vg-mobile-panel__title {
  font-family: 'Iosevka Web', monospace;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  padding: 6px 4px;
}
.vg-mobile-panel__secondary {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}


/* Hero vyhledávání (index): šablonový input nemá vlastní `color` a v tmavém
   heru dědí bílou → bílé písmo na bílém poli. Vždy tmavé + viditelný kurzor. */
.c-input-box__input {
  color: #1a1c21;
  caret-color: #1a1c21;
  background: transparent;
}

/* ── Hlavní menu à la hazel.ai (10/2026): mono verzálky s prostrkáním ──
   Replika typografie lišty hazel.ai v barvách ERA 5 — Iosevka místo
   jejich Fragment Mono. Struktura, chování i stavy hlavičky beze změny. */
@media (min-width: 992px) {
  .c-header .c-header__link {
    font-family: 'Iosevka Web', monospace;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.06em;
    /* mono mezera je široká jako písmeno → víceslovné položky (Herní vzdělání,
       Top 100) by se rozpadaly; mezeru uvnitř zúžit, mezi položkami zvětšit */
    word-spacing: -0.3em;
    font-weight: 400;
    white-space: nowrap;
  }
  .c-header .c-header__item { margin: 0 12px; }
}
@media (min-width: 992px) and (max-width: 1280px) {
  .c-header .c-header__link { font-size: 12.8px; letter-spacing: 0.04em; }
  .c-header .c-header__item { margin: 0 10px; }
}
@media (min-width: 992px) and (max-width: 1100px) {
  .c-header .c-header__link { font-size: 12px; letter-spacing: 0.02em; }
  .c-header .c-header__item { margin: 0 9px; }
}
/* Stejně široké krajní sloupce by na užších šířkách mačkaly logo: logo má
   svou šířku a menu se vystředí ve zbylém místě. */
@media (min-width: 992px) and (max-width: 1180px) {
  .c-header__main > .l-container > .row { flex-wrap: nowrap; }
  .c-header__main > .l-container > .row > .col { flex: 0 0 auto; width: auto; }
  .c-header__main .c-header__mobile-wrap { margin-left: auto; margin-right: auto; }
}
/* Base CSS bere šířku do 1030 px jako mobil a menu skrývá, hamburger se ale
   ukazuje až pod 992 px. Mezi tím musí zůstat desktopové menu. */
@media (min-width: 992px) and (max-width: 1030px) {
  .c-header__mobile-wrap { display: flex; position: static; max-height: none; padding: 0; background: none; border-radius: 0; }
  .c-header__nav { width: auto; }
  .c-header .c-header__item { display: inline-flex; border-bottom: 0; }
  .c-header .c-header__link { display: flex; width: auto; padding: 6px 0; }
  body.is-dark-header .c-header__main,
  body.is-white-header.is-scrolled .c-header__main { color: rgba(255, 255, 255, 0.8) !important; }
  body.is-white-header:not(.is-scrolled) .c-header__main { color: #232323 !important; }
}

/* ── Položka Archiv s rozbalovacím panelem ──────────────────────────── */
.vg-archive { position: relative; }
.c-header .vg-archive__trigger {
  align-items: center;
  gap: 4px;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}
.c-header .vg-archive__trigger:hover { color: #42dd70; }
.vg-archive__chevron { flex: none; transition: transform 160ms ease; }
.vg-archive.is-open .vg-archive__chevron { transform: rotate(180deg); }
.vg-archive__panel {
  position: absolute;
  top: calc(50% + 38px); /* položka je svisle na středu 64px hlavičky → 6 px pod ní */
  left: 50%;
  width: 560px;
  padding: 18px 20px 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: #232328;
  color: #fff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
  font-family: Roboto, sans-serif;
  letter-spacing: 0;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -4px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
}
.vg-archive.is-open .vg-archive__panel {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s;
}
/* most přes mezeru mezi položkou a panelem, ať panel při přejezdu myší nezhasne */
.vg-archive__panel::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 26px;
}
.vg-archive__title {
  margin-bottom: 8px;
  padding: 0 10px;
  font-family: 'Iosevka Web', monospace;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.6;
}
.vg-archive__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.vg-archive__item--separated {
  grid-column: 1 / -1;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid rgba(128, 128, 128, 0.25);
}
.c-header .vg-archive__link,
.c-header .vg-archive__link:hover {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 6px;
  color: inherit;
  text-decoration: none;
}
.c-header .vg-archive__link:hover,
.c-header .vg-archive__link:focus-visible { background: rgba(255, 255, 255, 0.06); }
.vg-archive__name { display: block; font-size: 14.5px; font-weight: 500; line-height: 1.3; }
.vg-archive__desc { display: block; margin-top: 2px; font-size: 12px; line-height: 1.35; opacity: 0.6; }
/* bílá hlavička; po odscrollování a nad herem zůstává panel tmavý */
body.is-white-header:not(.is-scrolled) .vg-archive__panel {
  border-color: #e5e7eb;
  background: #fff;
  color: #232323;
}
body.is-white-header:not(.is-scrolled) .c-header .vg-archive__link:hover,
body.is-white-header:not(.is-scrolled) .c-header .vg-archive__link:focus-visible { background: #F1F4F8; }
@media (prefers-reduced-motion: reduce) {
  .vg-archive__chevron,
  .vg-archive__panel,
  .vg-archive.is-open .vg-archive__panel { transition: none; }
}

/* tichý odkaz Přihlásit se ve stejném mono rytmu */
.vg-login-link {
  font-family: 'Iosevka Web', monospace;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.08em;
}

/* CTA pill (Registrace) s mono verzálkami jako hazel „BOOK A DEMO" */
.vg-cta-mono .c-btn__text {
  font-family: 'Iosevka Web', monospace;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12.5px;
  font-weight: 500;
}

/* burger v orámovaném zakulaceném čtverečku (hazel mobilní lišta) */
.vg-burger {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(140, 145, 155, 0.45) !important;
  border-radius: 11px;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}
.vg-burger:hover { border-color: #42dd70 !important; }

/* ── Mezery v mřížce (gutters) ────────────────────────────────────────
   Šablona má vlastní BS4-styl mřížku (sloupce s paddingem 0.625rem =
   vodorovná mezera 20 px), BS5 třídy g-*, gx-*, gy-* v ní NEEXISTUJÍ —
   karty v řádcích se pak svisle slepovaly. Svislá mezera = vodorovná
   (g-3 = 20 px), takže rozestupy boxů jsou všude stejné. */
.row.g-1, .row.gy-1 { row-gap: 0.375rem; }
.row.g-2, .row.gy-2 { row-gap: 0.75rem; }
.row.g-3, .row.gy-3 { row-gap: 1.25rem; }
.row.g-4, .row.gy-4 { row-gap: 1.5rem; }
.row.g-5, .row.gy-5 { row-gap: 3rem; }

/* širší vodorovné mezery jen na desktopu — kontejner má na mobilu
   jen 10px okraj a záporný margin by stránku roztáhl do stran */
@media (min-width: 992px) {
  .row.gx-4 { margin-left: -0.75rem; margin-right: -0.75rem; }
  .row.gx-4 > * { padding-left: 0.75rem; padding-right: 0.75rem; }
  .row.gx-5 { margin-left: -1.5rem; margin-right: -1.5rem; }
  .row.gx-5 > * { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* ── Vodorovný karusel sekcí (karta studia: Související články, Krátké
   zprávy). Mezera mezi položkami = gutter mřížky (20 px). ── */
.vg-carousel {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px; /* stín c-boxu se neořízne */
}
.vg-carousel::-webkit-scrollbar { display: none; }
.vg-carousel__item {
  scroll-snap-align: start;
  flex: 0 0 85%;
  min-width: 0;
}
.vg-carousel__item > .c-box { margin-bottom: 0 !important; height: 100%; }
@media (min-width: 768px) {
  .vg-carousel__item { flex-basis: calc((100% - 1.25rem) / 2); }
}
@media (min-width: 992px) {
  .vg-carousel--3 .vg-carousel__item { flex-basis: calc((100% - 2 * 1.25rem) / 3); }
  .vg-carousel--4 .vg-carousel__item { flex-basis: calc((100% - 3 * 1.25rem) / 4); }
}
/* 2,5 položky na řádek — třetí vykukuje (krátké zprávy na kartě studia jako originál) */
@media (min-width: 992px) {
  .vg-carousel--25 .vg-carousel__item { flex-basis: calc((100% - 2 * 1.25rem) / 2.5); }
}

/* ── Index varianta A (10/2026) ───────────────────────────────────────
   .vg-strip: desktop = mřížka o --cols sloupcích, tablet 3 sloupce,
   mobil = vodorovně posouvatelný pás (scroll-snap), položka šířky --m. */
.vg-strip {
  display: grid;
  grid-template-columns: repeat(var(--cols, 6), minmax(0, 1fr));
  gap: 1.25rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .vg-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .vg-strip {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin: 0 -0.625rem;
    padding: 0 0.625rem 4px;
  }
  .vg-strip::-webkit-scrollbar { display: none; }
  .vg-strip > * { flex: 0 0 var(--m, 38%); scroll-snap-align: start; min-width: 0; }
}

/* žánry v heru: na desktopu se zalamují, na mobilu jedna posouvatelná řada */
.vg-hero-genres { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-hero-genre:hover { background: #42dd70 !important; color: #0f1115 !important; border-color: #42dd70 !important; }
@media (max-width: 767px) {
  .vg-hero-genres { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -0.625rem; padding-right: 0.625rem; }
  .vg-hero-genres::-webkit-scrollbar { display: none; }
}

/* sekce indexu: jednotný nadpis sekce */
.vg-hp-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1.5rem; }
.vg-hp-head h2 { margin: 0; }
/* karusel 5 na řádek (Kolekce na indexu): mobil 62 %, tablet 3, desktop 5 */
@media (max-width: 767px) { .vg-carousel--5 .vg-carousel__item { flex-basis: 62%; } }
@media (min-width: 768px) { .vg-carousel--5 .vg-carousel__item { flex-basis: calc((100% - 2 * 1.25rem) / 3); } }
@media (min-width: 992px) { .vg-carousel--5 .vg-carousel__item { flex-basis: calc((100% - 4 * 1.25rem) / 5); } }
/* mřížka dlaždic (stránka /vybery): 2 / 3 / 4 / 5 sloupců */
.vg-grid-tiles { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .vg-grid-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) { .vg-grid-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .vg-grid-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.vg-jobchip:hover { border-color: #232328 !important; }
/* Můj účet: svislá dělicí čára mezi přihlášením a registrací (desktop) */
@media (min-width: 768px) {
  .vg-account-split > div + div { border-left: 1px solid #e3e7ec; }
}

/* Ikony v hlavičce (lupa, uživatel) — holé ikony jako na původním webu */
.vg-header-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: inherit;
  border-radius: 50%;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.vg-header-icon .icon { width: 20px; height: 20px; margin: 0; }
.vg-header-icon:hover,
.vg-header-icon:focus-visible { color: #42dd70; }

/* Hero vyhledávání (vzor remotegamejobs.com): pole + samostatné tlačítko + „Populární" štítky */
.vg-hs__row { position: relative; display: flex; gap: 12px; }
@media (min-width: 768px) { .vg-hs__row { width: 80%; } }
.vg-hs__field { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; height: 56px; margin: 0; padding: 0 18px; background: #fff; border-radius: 8px; cursor: text; box-shadow: 0 0 0 0 rgba(66,221,112,0); transition: box-shadow .15s; }
.vg-hs__field:focus-within { box-shadow: 0 0 0 3px rgba(66,221,112,.45); }
.vg-hs__icon { flex-shrink: 0; color: #4b5563; }
.vg-hs__input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font-size: 16px; color: #1a1c21; }
.vg-hs__input::placeholder { color: #8a8f99; opacity: 1; }
.vg-hs__btn { flex-shrink: 0; height: 56px; padding: 0 28px; border: 0; border-radius: 8px; background: #42dd70; color: #16181d; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s, transform .15s; }
.vg-hs__btn:hover { background: #5be585; }
.vg-hs__btn:active { transform: translateY(1px); }
.vg-hs__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.vg-hs__tags-label { font-size: 13px; color: rgba(255,255,255,.5); margin-right: 4px; }
.vg-hs__tag { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(22,24,29,.35); color: #fff; font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; transition: border-color .15s, color .15s; }
.vg-hs__tag:hover { border-color: #42dd70; color: #42dd70; text-decoration: none; }
.vg-hs__sug { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 40; background: #fff; border-radius: 10px; box-shadow: 0 18px 44px rgba(0,0,0,.35); overflow: hidden; }
.vg-hs__sug-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 14px; border: 0; background: #fff; text-align: left; cursor: pointer; }
.vg-hs__sug-item.is-active { background: #F1F4F8; }
.vg-hs__sug-img { width: 38px; height: 38px; flex-shrink: 0; border-radius: 6px; background: #16181d; overflow: hidden; }
.vg-hs__sug-img img { width: 100%; height: 100%; object-fit: cover; }
.vg-hs__sug-title { display: block; font-size: 14px; font-weight: 600; color: #1a1c21; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vg-hs__sug-sub { display: block; font-size: 11.5px; color: #8a8f99; }
.vg-hs__sug-all { display: block; width: 100%; padding: 10px 14px; border: 0; border-top: 1px solid #EDF0F4; background: #fff; text-align: left; font-size: 13.5px; font-weight: 600; color: #2fb85a; cursor: pointer; }
@media (max-width: 575px) {
  .vg-hs__field, .vg-hs__btn { height: 50px; }
  .vg-hs__btn { padding: 0 18px; }
  .vg-hs__input { font-size: 15px; }
}
/* našeptávač v heru nesmí být oříznutý (hero má s-hp-hero--no-hidden) — ořez nese jen vrstva pozadí */
.s-hp-hero--no-hidden .s-hp-hero__bg { overflow: hidden; }
/* další sekce má také l-container z-index 2 — při psaní hero zvedni nad ni (bez trvalého překrytí odkazu na hru v rohu) */
.s-hp-hero--no-hidden .s-hp-hero__content > .l-container:focus-within { z-index: 8; }

/* Hero — karta rozhovoru ve stylu „Featured Content Card" (21st.dev) */
.vg-fc { position: relative; width: 100%; max-width: 512px; aspect-ratio: 16 / 9; margin-left: auto; border-radius: 16px; overflow: hidden; background: #16181d; box-shadow: 0 22px 50px rgba(0,0,0,.5); isolation: isolate; }
.vg-fc__link { position: absolute; inset: 0; display: block; color: #fff; text-decoration: none; }
.vg-fc__link:hover { color: #fff; text-decoration: none; }
.vg-fc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); animation: vg-fc-in .5s ease both; }
.vg-fc:hover .vg-fc__img { transform: scale(1.06); }
.vg-fc__blur { position: absolute; left: 0; right: 0; bottom: 0; height: 50%; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); -webkit-mask-image: linear-gradient(to top, #000 35%, transparent); mask-image: linear-gradient(to top, #000 35%, transparent); }
.vg-fc__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(19,74,43,.66) 0%, rgba(22,88,50,.5) 26%, rgba(26,100,57,.14) 44%, rgba(26,100,57,0) 54%), linear-gradient(to top, rgba(10,12,15,.55) 0%, rgba(10,12,15,.3) 35%, rgba(10,12,15,0) 58%); }
.vg-fc__badge { position: absolute; top: 12px; left: 12px; background: #42dd70; color: #16181d; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 5px; }
.vg-fc__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 15px 14px; display: flex; flex-direction: column; animation: vg-fc-up .45s ease both; }
.vg-fc__title { font-size: 19px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; text-shadow: 0 2px 14px rgba(0,0,0,.25); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vg-fc__meta { margin-top: 5px; font-size: 12.5px; font-weight: 500; color: rgba(255,255,255,.82); }
.vg-fc__cta { margin-top: 12px; height: 38px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border-radius: 9px; background: rgba(255,255,255,.13); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); font-size: 13px; font-weight: 700; transition: background .2s; }
.vg-fc__cta svg { transition: transform .2s; }
.vg-fc:hover .vg-fc__cta { background: rgba(255,255,255,.22); }
.vg-fc:hover .vg-fc__cta svg { transform: translateX(4px); }
.vg-fc__navs { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; z-index: 2; }
.vg-fc__nav { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: rgba(22,24,29,.45); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; cursor: pointer; transition: background .15s, opacity .15s; }
.vg-fc__nav:hover:not(:disabled) { background: rgba(66,221,112,.9); color: #16181d; }
.vg-fc__nav:disabled { opacity: .35; cursor: default; }
@keyframes vg-fc-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes vg-fc-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .vg-fc__img, .vg-fc__body { animation: none; transition: none; } }

/* ── Detail článku (10/2026) — podle původního webu + vylepšení ── */
.vg-article-meta a { color: inherit; }
.vg-article-meta__dot { margin: 0 .5em; opacity: .5; }
/* text vpravo od svislé lišty sdílení */
@media (min-width: 992px) {
  .vg-article { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 24px; }
  .vg-article__rail { position: relative; }
  .vg-article__rail .vg-share { position: sticky; top: 120px; }
}
/* perex = první odstavec, větší jako na originálu */
.vg-article__content > .c-content-block:first-child > :first-child,
.vg-article__content > .c-content-block:first-child p:first-of-type { font-size: 21px; line-height: 1.55; color: #232328; margin-bottom: 1.4rem; }
@media (max-width: 767px) {
  .vg-article__content > .c-content-block:first-child p:first-of-type { font-size: 18.5px; }
}
.vg-article__content img { border-radius: 10px; }
.vg-article__content blockquote { border-left: 3px solid #42dd70; padding-left: 1.1rem; font-style: italic; }

/* sdílení */
.vg-share { display: flex; gap: 10px; }
.vg-share--rail { flex-direction: column; align-items: center; }
.vg-share--row { align-items: center; flex-wrap: wrap; }
.vg-share__label { font-size: 14px; font-weight: 600; color: #6b7280; margin-right: 4px; }
.vg-share__btn { position: relative; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #E3E7EC; background: #fff; color: #6b7280; cursor: pointer; transition: color .15s, border-color .15s, background .15s; padding: 0; }
.vg-share__btn:hover { color: #16181d; border-color: #42dd70; background: #effcf3; }
.vg-share__tip { position: absolute; left: calc(100% + 8px); top: 50%; transform: translateY(-50%); white-space: nowrap; background: #232328; color: #fff; font-size: 12px; font-weight: 600; padding: 4px 9px; border-radius: 6px; }
.vg-share--row .vg-share__tip { left: 50%; top: auto; bottom: calc(100% + 6px); transform: translateX(-50%); }

/* autorský box */
.vg-author-box { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 18px; align-items: center; border: 1px solid #E6EAF0; border-radius: 16px; padding: 1.1rem 1.3rem; margin-top: 1rem; }
.vg-author-box__avatar { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: #2d313a; color: #42dd70; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 22px; text-decoration: none; }
.vg-author-box__avatar img { width: 100%; height: 100%; object-fit: cover; }
.vg-author-box__kicker { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #8a8f99; }
.vg-author-box__name { display: inline-block; font-size: 18px; font-weight: 700; color: #232328; margin: 2px 0 4px; }
.vg-author-box__name:hover { color: #2fb85a; text-decoration: none; }
.vg-author-box__bio { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4b5563; }
.vg-author-box__links { display: flex; gap: 12px; align-self: start; padding-top: 4px; }
.vg-author-box__links a { display: inline-flex; color: #9aa1ad; transition: color .15s, transform .15s; }
.vg-author-box__links a:hover { color: #2fb85a; transform: translateY(-1px); }
@media (max-width: 575px) {
  .vg-author-box { grid-template-columns: 52px minmax(0, 1fr); }
  .vg-author-box__avatar { width: 52px; height: 52px; }
  .vg-author-box__links { grid-column: 1 / -1; flex-wrap: wrap; gap: 16px; }
}

/* boční panel (sticky) */
.vg-aside { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 16px; }
.vg-aside__box { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 1.6rem 1.6rem 1.7rem; border-radius: 18px; text-decoration: none; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.vg-aside__box:hover { text-decoration: none; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(16,24,40,.14); }
.vg-aside__box--dark { background: radial-gradient(120% 90% at 0% 0%, #2f6b47 0%, #232328 60%); color: #fff; }
.vg-aside__box--green { background: #42dd70; color: #16181d; }
.vg-aside__title { font-size: 25px; font-weight: 800; line-height: 1.18; letter-spacing: -.01em; }
.vg-aside__btn { display: inline-flex; align-items: center; height: 42px; padding: 0 20px; border-radius: 999px; background: #42dd70; color: #16181d; font-size: 15px; font-weight: 700; }
.vg-aside__btn--dark { background: #16181d; color: #fff; }
.vg-aside__note { font-size: 13.5px; line-height: 1.45; opacity: .75; }
@media (max-width: 991px) { .vg-aside { position: static; margin-top: 1.5rem; } }

/* ukazatel průběhu čtení */
.vg-progress { position: fixed; left: 0; top: 0; width: 100%; height: 3px; background: #42dd70; transform-origin: 0 50%; z-index: 1000; pointer-events: none; transition: transform .08s linear; }
.vg-article-section { overflow: clip; }

/* ── Profil uživatele (10/2026) — vizuál indexu: tmavý pás, zelená čísla, karty ── */
.vg-pf-hero { background: radial-gradient(80% 140% at 0% 0%, rgba(66,221,112,.18) 0%, rgba(66,221,112,0) 55%), #232328; color: #fff; padding: 56px 0 0; margin-top: -1px; }
.vg-pf-hero__grid { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 32px; align-items: center; }
.vg-pf-avatar { position: relative; width: 132px; height: 132px; }
.vg-pf-avatar__img { width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: #2d313a; box-shadow: 0 0 0 4px #232328, 0 0 0 6px #42dd70, 0 0 28px rgba(66,221,112,.35); display: flex; align-items: center; justify-content: center; font-size: 48px; font-weight: 700; color: #42dd70; }
.vg-pf-avatar__img img { width: 100%; height: 100%; object-fit: cover; }
.vg-pf-avatar__lvl { position: absolute; left: 50%; bottom: -12px; transform: translateX(-50%); background: #42dd70; color: #16181d; font-family: 'Iosevka Web', monospace; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; padding: 3px 10px; border-radius: 999px; white-space: nowrap; box-shadow: 0 0 0 3px #232328; }
.vg-pf-hero__kicker { font-family: 'Iosevka Web', monospace; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 6px; }
.vg-pf-hero__name { color: #fff; margin: 0; font-size: 44px; line-height: 1.1; }
.vg-pf-hero__bio { margin: 10px 0 0; font-size: 16px; color: rgba(255,255,255,.75); max-width: 560px; }
.vg-pf-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.vg-pf-hero__chips .vg-hs__tag { cursor: default; }
.vg-pf-hero__chips .vg-hs__tag:hover { border-color: rgba(255,255,255,.22); color: #fff; }
.vg-pf-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.vg-pf-hero__links .vg-author-box__links { padding: 0; gap: 14px; margin-right: 6px; }
.vg-pf-hero__links .vg-author-box__links a { color: rgba(255,255,255,.6); }
.vg-pf-hero__links .vg-author-box__links a:hover { color: #42dd70; }
.vg-pf-stats { display: grid; grid-template-columns: repeat(2, auto); gap: 18px 36px; }
.vg-pf-stat { display: flex; flex-direction: column; }
.vg-pf-stat__num { font-family: 'Iosevka Web', monospace; font-weight: 300; font-size: 44px; line-height: 1; color: #42dd70; text-shadow: 0 0 8px rgba(66,221,112,.8); }
.vg-pf-stat__label { font-family: 'Iosevka Web', monospace; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-top: 6px; }
/* záložky na spodní hraně pásu */
.vg-pf-tabs { display: flex; gap: 6px; margin-top: 40px; overflow-x: auto; scrollbar-width: none; }
.vg-pf-tabs::-webkit-scrollbar { display: none; }
.vg-pf-tab { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; padding: 13px 16px 14px; background: none; border: 0; border-bottom: 3px solid transparent; color: rgba(255,255,255,.65); font-size: 15px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: color .15s, border-color .15s; }
.vg-pf-tab:hover { color: #fff; }
.vg-pf-tab.is-active { color: #fff; border-bottom-color: #42dd70; }
.vg-pf-tab__count { font-family: 'Iosevka Web', monospace; font-size: 12px; padding: 1px 7px; border-radius: 999px; background: rgba(255,255,255,.1); color: rgba(255,255,255,.75); }
.vg-pf-tab.is-active .vg-pf-tab__count { background: rgba(66,221,112,.2); color: #42dd70; }
.vg-pf-body { padding-top: 36px; padding-bottom: 24px; }
@media (max-width: 1199px) {
  .vg-pf-hero__grid { grid-template-columns: auto minmax(0, 1fr); }
  .vg-pf-stats { grid-column: 1 / -1; grid-template-columns: repeat(4, auto); justify-content: start; }
}
@media (max-width: 767px) {
  .vg-pf-hero { padding-top: 32px; }
  .vg-pf-hero__grid { grid-template-columns: 1fr; gap: 22px; }
  .vg-pf-avatar { width: 104px; height: 104px; }
  .vg-pf-hero__name { font-size: 32px; }
  .vg-pf-stats { grid-template-columns: repeat(2, auto); gap: 16px 32px; }
  .vg-pf-stat__num { font-size: 34px; }
  .vg-pf-tabs { margin-top: 26px; }
}

/* nadpisy sekcí + prázdné stavy */
.vg-pf-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 16px; }
.vg-pf-head h2 { margin: 0; font-size: 24px; display: flex; align-items: center; gap: 10px; }
.vg-pf-head__count { font-family: 'Iosevka Web', monospace; font-size: 13px; font-weight: 500; padding: 2px 9px; border-radius: 999px; background: #edefee; color: #6b7280; }
.vg-pf-body .vg-strip + .vg-pf-head, .vg-pf-feed + .vg-pf-head { margin-top: 36px; }
.vg-pf-empty { border: 1px dashed #d6dae0; border-radius: 14px; padding: 2.2rem 1.5rem; text-align: center; color: #6b7280; font-size: 15px; }

/* feed komentářů a recenzí */
.vg-pf-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 767px) { .vg-pf-feed { grid-template-columns: 1fr; } }
.vg-pf-feed__item { display: flex; flex-direction: column; border: 1px solid #E6EAF0; border-radius: 14px; padding: 14px 16px; background: #fff; transition: box-shadow .2s, border-color .2s; }
.vg-pf-feed__item:hover { border-color: #d3dae2; box-shadow: 0 10px 24px rgba(16,24,40,.07); }
.vg-pf-feed__top { display: flex; align-items: center; gap: 8px; min-width: 0; margin-bottom: 6px; }
.vg-pf-feed__kind { flex-shrink: 0; font-family: 'Iosevka Web', monospace; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8a8f99; }
.vg-pf-feed__title { min-width: 0; font-weight: 700; font-size: 15px; color: #2fb85a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.vg-pf-feed__title:hover { color: #232328; text-decoration: none; }
.vg-pf-feed__rating { margin-left: auto; flex-shrink: 0; font-family: 'Iosevka Web', monospace; font-size: 12.5px; font-weight: 700; background: #232328; color: #42dd70; padding: 2px 8px; border-radius: 6px; }
.vg-pf-feed__text { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: #374151; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vg-pf-feed__date { margin-top: auto; font-family: 'Iosevka Web', monospace; font-size: 12px; color: #9aa1ad; }

/* boční karty */
.vg-pf-side { display: flex; flex-direction: column; gap: 16px; }
.vg-pf-side > .c-box { margin-bottom: 0 !important; border-radius: 16px; }
.vg-pf-card { border: 1px solid #E6EAF0; border-radius: 16px; padding: 18px 20px; background: #fff; }
.vg-pf-card--dark { background: radial-gradient(120% 100% at 100% 0%, rgba(66,221,112,.22) 0%, rgba(66,221,112,0) 60%), #232328; border-color: #232328; color: #fff; }
.vg-pf-card__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-family: 'Iosevka Web', monospace; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; }
.vg-pf-card--dark .vg-pf-card__head { color: rgba(255,255,255,.55); }
.vg-pf-card__count { font-weight: 700; color: #2fb85a; }
.vg-pf-card__note { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: #6b7280; }
.vg-pf-card--dark .vg-pf-card__note { color: rgba(255,255,255,.6); }
.vg-pf-level { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.vg-pf-level__num { font-family: 'Iosevka Web', monospace; font-weight: 300; font-size: 56px; line-height: .9; color: #42dd70; text-shadow: 0 0 10px rgba(66,221,112,.8); }
.vg-pf-level__label { font-family: 'Iosevka Web', monospace; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: rgba(255,255,255,.6); }
.vg-pf-level__pts { margin-left: auto; font-weight: 700; font-size: 15px; }
.vg-pf-bar { height: 8px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
.vg-pf-bar--light { background: #EAEFF5; }
.vg-pf-bar span { display: block; height: 100%; border-radius: inherit; background: #42dd70; box-shadow: 0 0 10px rgba(66,221,112,.6); }
.vg-pf-more { display: inline-block; margin-top: 12px; font-size: 13.5px; font-weight: 700; color: #2fb85a; }
.vg-pf-karma { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vg-pf-karma__tile { background: #f5f7f9; border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; }
.vg-pf-karma__num { font-family: 'Iosevka Web', monospace; font-size: 28px; line-height: 1; font-weight: 500; color: #232328; }
.vg-pf-karma__label { font-size: 12.5px; color: #6b7280; margin-top: 6px; }
.vg-pf-ach { display: flex; flex-direction: column; gap: 10px; }
.vg-pf-ach__item { display: flex; align-items: center; gap: 12px; }
.vg-pf-ach__icon { width: 38px; height: 38px; flex-shrink: 0; border-radius: 10px; background: #f0faf3; display: flex; align-items: center; justify-content: center; font-size: 19px; }
.vg-pf-ach__text { min-width: 0; }
.vg-pf-ach__name { display: block; font-weight: 700; font-size: 14px; line-height: 1.25; }
.vg-pf-ach__desc { display: block; font-size: 12.5px; color: #6b7280; line-height: 1.35; }
.vg-pf-link { display: block; font-size: 14.5px; font-weight: 600; color: #2fb85a; margin-bottom: 6px; word-break: break-all; }

/* ── Inzerce /inzerce (10/2026) — styl sekce Práce na indexu, větší ── */
.vg-jobs-hero { background: radial-gradient(70% 140% at 100% 0%, rgba(66,221,112,.18) 0%, rgba(66,221,112,0) 55%), #232328; color: #fff; padding: 64px 0 56px; margin-top: -1px; }
.vg-jobs-hero__inner { max-width: 760px; }
.vg-jobs-hero__kicker { font-family: 'Iosevka Web', monospace; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #42dd70; margin-bottom: 10px; }
.vg-jobs-hero__title { color: #fff; font-size: 48px; line-height: 1.08; margin: 0 0 12px; }
.vg-jobs-hero__lead { font-size: 17px; color: rgba(255,255,255,.72); margin: 0 0 28px; max-width: 620px; }
.vg-jobs-hero__stats { display: flex; gap: 44px; margin-top: 30px; }
.vg-jobs-hero__stats > div { display: flex; align-items: center; gap: 12px; }
.vg-jobs-hero__num { font-family: 'Iosevka Web', monospace; font-weight: 300; font-size: 46px; line-height: 1; color: #42dd70; text-shadow: 0 0 8px rgba(66,221,112,.8); }
.vg-jobs-hero__label { font-family: 'Iosevka Web', monospace; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.65); max-width: 110px; line-height: 1.35; }
.vg-jobs-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.vg-jobs-select { position: relative; margin: 0; }
.vg-jobs-select select { appearance: none; -webkit-appearance: none; height: 40px; padding: 0 38px 0 14px; border-radius: 8px; border: 1px solid rgba(255,255,255,.22); background: rgba(22,24,29,.45); color: #fff; font-size: 14px; font-weight: 500; cursor: pointer; }
.vg-jobs-select select:focus { outline: 0; border-color: #42dd70; }
.vg-jobs-select select option { color: #232328; }
.vg-jobs-select::after { content: ''; position: absolute; right: 14px; top: 50%; width: 8px; height: 8px; border-right: 2px solid rgba(255,255,255,.7); border-bottom: 2px solid rgba(255,255,255,.7); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.vg-jobs-reset { height: 40px; padding: 0 12px; border: 0; background: none; color: rgba(255,255,255,.7); font-size: 14px; cursor: pointer; }
.vg-jobs-reset:hover { color: #42dd70; }
.vg-jobrow--lg { border-radius: 16px !important; }
.vg-jobrow--lg .vg-jobrow__go { transition: transform .2s, color .2s; }
.vg-jobrow--lg:hover .vg-jobrow__go { transform: translateX(4px); color: #2fb85a !important; }
.vg-jobs-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 40px; padding: 28px 32px; border-radius: 18px; background: radial-gradient(120% 100% at 0% 0%, #2f6b47 0%, #232328 60%); color: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.vg-jobs-cta:hover { color: #fff; text-decoration: none; transform: translateY(-2px); box-shadow: 0 16px 34px rgba(16,24,40,.2); }
.vg-jobs-cta__title { display: block; font-size: 26px; font-weight: 800; line-height: 1.2; }
.vg-jobs-cta__text { display: block; margin-top: 6px; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.72); max-width: 560px; }
@media (max-width: 767px) {
  .vg-jobs-hero { padding: 40px 0 36px; }
  .vg-jobs-hero__title { font-size: 34px; }
  .vg-jobs-hero__stats { gap: 28px; }
  .vg-jobs-hero__num { font-size: 36px; }
  .vg-jobs-cta { flex-direction: column; align-items: flex-start; padding: 22px; }
}
/* text inzerátu: nadpisy a odrážky jako v článku */
.vg-ad-body h3 { font-size: 22px; margin: 1.6rem 0 .6rem; }
.vg-ad-body h3:first-child { margin-top: 0; }
.vg-ad-body p { margin-bottom: 1rem; }
.vg-ad-body ul { padding-left: 1.3rem; margin-bottom: 1rem; }
.vg-ad-body li { margin-bottom: .35rem; }

/* ── Detail inzerátu (10/2026) — styl výpisu /inzerce ── */
.vg-ad-hero { padding: 36px 0 44px; }
.vg-ad-hero__crumbs { display: flex; gap: 8px; font-family: 'Iosevka Web', monospace; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 26px; }
.vg-ad-hero__crumbs a { color: #42dd70; }
.vg-ad-hero__grid { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; }
.vg-ad-hero__logo { position: relative; width: 104px; height: 104px; border-radius: 20px; background: #16181d; box-shadow: 0 0 0 1px rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; overflow: hidden; color: #42dd70; font-size: 40px; font-weight: 700; }
.vg-ad-hero__logo img { max-width: 80%; max-height: 80%; object-fit: contain; }
.vg-ad-hero__title { color: #fff; font-size: 40px; line-height: 1.12; margin: 0; }
.vg-ad-hero__company { margin-top: 8px; font-size: 16px; color: rgba(255,255,255,.65); }
.vg-ad-hero__company a { color: #fff; font-weight: 700; }
.vg-ad-hero__company a:hover { color: #42dd70; text-decoration: none; }
.vg-ad-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.vg-ad-hero__side { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.vg-ad-hero__cta { display: inline-flex; align-items: center; text-decoration: none; }
.vg-ad-hero__cta:hover { color: #16181d; text-decoration: none; }
.vg-ad-chip { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 14px; font-weight: 500; }
.vg-ad-chip--place { background: rgba(66,221,112,.16); border-color: transparent; color: #7ef0a0; }
.vg-ad-chip--place i { width: 7px; height: 7px; border-radius: 50%; background: #42dd70; }
.vg-ad-chip--muted { background: rgba(255,255,255,.08); border-color: transparent; color: rgba(255,255,255,.85); }
.vg-ad-badge { font-family: 'Iosevka Web', monospace; font-size: 12px; letter-spacing: .1em; padding: 3px 8px; border-radius: 5px; }
.vg-ad-badge--new { background: #16181d; color: #42dd70; box-shadow: 0 0 0 1px rgba(66,221,112,.4); }
.vg-ad-badge--hot { background: #ef4444; color: #fff; }
.vg-ad-salary { background: #f7c234; color: #232328; font-weight: 800; font-size: 17px; padding: 8px 14px; border-radius: 10px; white-space: nowrap; }
@media (max-width: 991px) {
  .vg-ad-hero__grid { grid-template-columns: auto minmax(0, 1fr); }
  .vg-ad-hero__side { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 575px) {
  .vg-ad-hero__grid { grid-template-columns: 1fr; gap: 18px; }
  .vg-ad-hero__logo { width: 76px; height: 76px; border-radius: 16px; font-size: 30px; }
  .vg-ad-hero__title { font-size: 30px; }
}
/* obsah */
.vg-ad-body { font-size: 16.5px; line-height: 1.65; }
.vg-ad-benefits { margin-top: 2rem; padding: 22px 24px; border-radius: 16px; background: #f5f7f9; }
.vg-ad-benefits h3 { font-size: 22px; margin: 0 0 14px; }
.vg-ad-benefits__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
@media (max-width: 575px) { .vg-ad-benefits__grid { grid-template-columns: 1fr; } }
.vg-ad-benefits__item { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.vg-ad-benefits__item i { width: 24px; height: 24px; flex-shrink: 0; border-radius: 50%; background: #42dd70; color: #16181d; font-style: normal; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
/* boční panel */
.vg-ad-side { position: sticky; top: 110px; }
@media (max-width: 991px) { .vg-ad-side { position: static; } }
.vg-ad-facts__salary { font-size: 20px; font-weight: 800; color: #2fb85a; margin-bottom: 12px; }
.vg-ad-facts__row { display: flex; justify-content: space-between; gap: 14px; padding: 8px 0; border-top: 1px solid #EEF1F4; font-size: 14px; }
.vg-ad-facts__row span { color: #6b7280; }
.vg-ad-facts__row strong { text-align: right; font-weight: 600; color: #232328; }
.vg-ad-contact { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; font-size: 13.5px; color: #6b7280; }
.vg-ad-studio__logo { position: relative; width: 52px; height: 52px; border-radius: 12px; background: #16181d; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.vg-ad-studio__logo img { max-width: 82%; max-height: 82%; object-fit: contain; }
.vg-ad-studio__web { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); color: #fff; font-size: 14px; font-weight: 600; }
.vg-ad-studio__web:hover { color: #42dd70; border-color: #42dd70; text-decoration: none; }

/* ── Odběr inzerátů e-mailem (JobAlertForm) — tmavá karta ve stylu webu ── */
.vg-alert { position: relative; display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 20px 36px; align-items: center; padding: 26px 30px; border-radius: 18px; color: #fff; background: radial-gradient(90% 160% at 0% 0%, rgba(66,221,112,.22) 0%, rgba(66,221,112,0) 55%), #232328; }
.vg-alert__intro { display: flex; gap: 14px; align-items: flex-start; }
.vg-alert__icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: #42dd70; color: #16181d; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 18px rgba(66,221,112,.45); }
.vg-alert__title { color: #fff; font-size: 21px; line-height: 1.2; margin: 2px 0 6px; }
.vg-alert__text { margin: 0; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.68); }
.vg-alert__form { min-width: 0; }
.vg-alert__row { display: flex; gap: 10px; }
.vg-alert__email { flex: 1 1 auto; height: 50px; }
.vg-alert__select select { height: 50px; min-width: 190px; }
.vg-alert__btn { height: 50px; }
.vg-alert__btn:disabled { opacity: .7; cursor: default; }
.vg-alert__opts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 12px; }
.vg-alert__seg { display: inline-flex; padding: 3px; border-radius: 999px; background: rgba(255,255,255,.08); }
.vg-alert__seg button { height: 30px; padding: 0 16px; border: 0; border-radius: 999px; background: none; color: rgba(255,255,255,.7); font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s; }
.vg-alert__seg button.is-on { background: #42dd70; color: #16181d; }
.vg-alert__consent { display: inline-flex; align-items: center; gap: 9px; margin: 0; font-size: 13px; color: rgba(255,255,255,.7); cursor: pointer; }
.vg-alert__consent input { width: 16px; height: 16px; accent-color: #42dd70; }
.vg-alert__consent a { color: #42dd70; text-decoration: underline; }
.vg-alert__ok { margin: 0; font-size: 16px; font-weight: 700; color: #42dd70; }
.vg-alert__err { margin: 8px 0 0; font-size: 13.5px; font-weight: 700; color: #ff8a8a; }
@media (max-width: 991px) {
  .vg-alert { grid-template-columns: 1fr; padding: 22px; }
}
@media (max-width: 575px) {
  .vg-alert__row { flex-wrap: wrap; }
  .vg-alert__email { flex-basis: 100%; }
  .vg-alert__select { flex: 1 1 auto; }
  .vg-alert__select select { min-width: 0; width: 100%; }
}

/* ── Taby zemí nad „Hledat hry podle…" (index) a „Přehled oborů a kurzů podle…" ── */
.vg-country-tabs { display: flex; justify-content: center; gap: 30px; margin-bottom: 10px; }
.vg-country-tabs > a, .vg-country-tabs > button { display: inline-flex; align-items: center; gap: 8px; padding: 0 0 6px; background: none; border: 0; border-bottom: 3px solid transparent; color: #8a9099; font-size: 19px; font-weight: 700; cursor: pointer; text-decoration: none; transition: color .15s, border-color .15s; }
.vg-country-tabs > a:hover, .vg-country-tabs > button:hover { color: #232328; text-decoration: none; }
.vg-country-tabs > .is-on { color: #232328; border-bottom-color: #42dd70; }
.vg-country-tabs span { font-family: 'Iosevka Web', monospace; font-size: 13px; font-weight: 500; color: #9aa1ad; }
.c-tag.vg-tag-on { background: #232328 !important; border-color: #232328 !important; }
.c-tag.vg-tag-on .c-tag__text, .c-tag.vg-tag-on .c-tag__append { color: #fff !important; }
/* segmentový přepínač (světlý) */
.vg-seg { display: inline-flex; padding: 4px; border-radius: 999px; background: #EEF1F4; gap: 2px; }
.vg-seg > button, .vg-seg > a { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 18px; border: 0; border-radius: 999px; background: none; color: #4b5563; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s, box-shadow .15s; }
.vg-seg > button:hover, .vg-seg > a:hover { color: #232328; text-decoration: none; }
.vg-seg > .is-on { background: #232328; color: #fff; box-shadow: 0 4px 12px rgba(16,24,40,.18); }
.vg-seg > .is-on:hover { color: #fff; }
.vg-seg__count { font-family: 'Iosevka Web', monospace; font-size: 12.5px; padding: 1px 7px; border-radius: 999px; background: rgba(35,35,40,.08); }
.vg-seg > .is-on .vg-seg__count { background: rgba(66,221,112,.22); color: #42dd70; }
.vg-seg--lg > button, .vg-seg--lg > a { height: 46px; padding: 0 22px; font-size: 17px; }
/* štítky měst / profesí */
.vg-edu-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.vg-edu-pill { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid #E3E7EC; background: #fff; color: #232328; font-size: 14.5px; font-weight: 500; white-space: nowrap; text-decoration: none; transition: border-color .15s, background .15s, color .15s; }
.vg-edu-pill:hover { border-color: #42dd70; color: #232328; text-decoration: none; background: #f3fcf6; }
.vg-edu-pill.is-on { background: #232328; border-color: #232328; color: #fff; }
.vg-edu-pill__n { font-family: 'Iosevka Web', monospace; font-size: 12px; color: #9aa1ad; }
.vg-edu-pill--sm { height: 34px; font-size: 14px; }
@media (max-width: 767px) {
  .vg-edu-panel { padding: 20px 16px; border-radius: 16px; }
  .vg-edu-panel__title { font-size: 26px; }
  .vg-seg--lg > button, .vg-seg--lg > a { height: 40px; padding: 0 14px; font-size: 15px; }
  .vg-edu-explorer .vg-seg > button { padding: 0 12px; font-size: 14px; }
}

/* ── /studuj hero (10/2026): tmavý pás jako inzerce/profil, živé počty ── */
.vg-edu-hero { position: relative; overflow: hidden; color: #fff; padding: 72px 0 76px; margin-top: -1px; background: radial-gradient(60% 120% at 100% 0%, rgba(66,221,112,.20) 0%, rgba(66,221,112,0) 60%), radial-gradient(50% 90% at 0% 100%, rgba(66,221,112,.10) 0%, rgba(66,221,112,0) 60%), #1b1d22; }
.vg-edu-hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.2px); background-size: 14px 14px; -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 85%); mask-image: linear-gradient(90deg, transparent 30%, #000 85%); pointer-events: none; }
.vg-edu-hero .l-container { position: relative; }
.vg-edu-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.vg-edu-hero__kicker { font-family: 'Iosevka Web', monospace; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #42dd70; margin-bottom: 14px; }
.vg-edu-hero__title { color: #fff; font-size: 54px; line-height: 1.06; letter-spacing: -.015em; margin: 0 0 18px; }
.vg-edu-hero__title span { color: #42dd70; }
.vg-edu-hero__lead { font-size: 17.5px; line-height: 1.6; color: rgba(255,255,255,.72); max-width: 560px; margin: 0 0 28px; }
.vg-edu-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.vg-edu-hero__btn { display: inline-flex; align-items: center; height: 52px; text-decoration: none; }
.vg-edu-hero__btn:hover { color: #16181d; text-decoration: none; }
.vg-edu-hero__ghost { display: inline-flex; align-items: center; height: 52px; padding: 0 22px; border-radius: 8px; border: 1px solid rgba(255,255,255,.25); color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; transition: border-color .15s, color .15s; }
.vg-edu-hero__ghost:hover { border-color: #42dd70; color: #42dd70; text-decoration: none; }
.vg-edu-hero__tags { margin-top: 26px; }
.vg-edu-hero__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vg-edu-hero__stat { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 20px; border-radius: 16px; background: rgba(255,255,255,.045); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff; text-decoration: none; transition: background .2s, box-shadow .2s, transform .2s; }
.vg-edu-hero__stat:hover { background: rgba(66,221,112,.08); box-shadow: inset 0 0 0 1px rgba(66,221,112,.45); transform: translateY(-2px); color: #fff; text-decoration: none; }
.vg-edu-hero__num { font-family: 'Iosevka Web', monospace; font-weight: 300; font-size: 58px; line-height: .95; color: #42dd70; text-shadow: 0 0 10px rgba(66,221,112,.7); }
.vg-edu-hero__label { font-family: 'Iosevka Web', monospace; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.65); line-height: 1.4; }
@media (max-width: 1199px) { .vg-edu-hero__title { font-size: 44px; } }
@media (max-width: 991px) {
  .vg-edu-hero { padding: 48px 0 52px; }
  .vg-edu-hero__grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 575px) {
  .vg-edu-hero__title { font-size: 34px; }
  .vg-edu-hero__num { font-size: 42px; }
  .vg-edu-hero__stat { padding: 16px; }
  .vg-edu-hero__btn, .vg-edu-hero__ghost { height: 46px; }
}
/* boční panel článku: Spotify přehrávač + banner */
.vg-aside__spotify { display: block; border: 0; border-radius: 12px; }
.vg-aside__banner { display: block; border-radius: 18px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.vg-aside__banner img { display: block; width: 100%; height: auto; }
.vg-aside__banner:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(16,24,40,.14); }
.vg-aside--static { position: static; margin-bottom: 16px; }

/* ── Výpis článků /clanky (10/2026) — podle původního webu ── */
.vg-catpill { display: inline-flex; align-items: center; gap: 10px; height: 40px; margin: 0 4px 8px; padding: 0 20px; border-radius: 999px; border: 1px solid #D9DEE4; background: #fff; color: #232328; font-size: 15px; font-weight: 500; text-decoration: none; white-space: nowrap; transition: border-color .15s, color .15s, background .15s; }
.vg-catpill svg { color: #8a8f99; }
.vg-catpill:hover { border-color: #42dd70; background: #f3fcf6; color: #232328; text-decoration: none; }
.vg-catpill:hover svg { color: #2fb85a; }
.vg-alist__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; color: rgba(35,35,40,.75); }
.vg-alist__avatar { width: 22px; height: 22px; border-radius: 50%; overflow: hidden; background: #edefee; flex-shrink: 0; }
.vg-alist__avatar img { width: 100%; height: 100%; object-fit: cover; }
/* položky vedle hlavního článku */
.vg-alist-side { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 20px; align-items: start; color: inherit; text-decoration: none; }
.vg-alist-side:hover { color: inherit; text-decoration: none; }
.vg-alist-side__img { position: relative; display: block; aspect-ratio: 3 / 2; border-radius: 10px; overflow: hidden; background: #2d313a; }
.vg-alist-side__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.vg-alist-side:hover .vg-alist-side__img img { transform: scale(1.04); }
.vg-alist-side__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.vg-alist-side__title { font-size: 19px; font-weight: 700; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vg-alist-side__excerpt { font-size: 15px; line-height: 1.5; color: rgba(35,35,40,.8); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* vodorovné karty Poslední články */
.vg-alist-row { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 20px; padding: 16px; border: 1px solid #E6EAF0; border-radius: 14px; background: #fff; color: inherit; text-decoration: none; transition: box-shadow .2s, border-color .2s; }
.vg-alist-row:hover { color: inherit; text-decoration: none; border-color: #d3dae2; box-shadow: 0 10px 26px rgba(16,24,40,.08); }
.vg-alist-row__img { position: relative; display: block; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: #2d313a; align-self: start; }
.vg-alist-row__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.vg-alist-row:hover .vg-alist-row__img img { transform: scale(1.04); }
.vg-alist-row__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.vg-alist-row__title { font-size: 20px; font-weight: 700; line-height: 1.3; }
.vg-alist-row__excerpt { font-size: 14.5px; line-height: 1.6; color: rgba(35,35,40,.8); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.vg-alist-row .vg-alist__meta { margin-top: auto; }
@media (max-width: 767px) {
  .vg-alist-side { grid-template-columns: 120px minmax(0, 1fr); gap: 14px; }
  .vg-alist-side__title { font-size: 16px; }
  .vg-alist-side__excerpt { display: none; }
  .vg-alist-row { grid-template-columns: 1fr; padding: 12px; }
  .vg-alist-row__title { font-size: 18px; }
}

/* ── Widget „VisionGame v číslech" (dle vg-stats-reference.html, zelená dle manuálu) ── */
.vg-stats { --vg-stats-bg: #0f1115; --vg-stats-line: #20252d; --vg-stats-text: #c9ced6; --vg-stats-muted: #9aa1ab; --vg-stats-accent: #42dd70; box-sizing: border-box; width: 100%; background: var(--vg-stats-bg); color: var(--vg-stats-text); border-radius: 16px; padding: 20px; }
.vg-stats__head { display: flex; justify-content: space-between; align-items: center; margin: 0 0 14px; }
.vg-stats__title { margin: 0; font-size: 15px; font-weight: 700; color: #fff; }
.vg-stats__more { font-size: 12px; font-weight: 500; color: var(--vg-stats-accent); text-decoration: none; }
.vg-stats__more:hover { color: var(--vg-stats-accent); text-decoration: underline; }
.vg-stats__label { font-size: 12px; color: var(--vg-stats-muted); margin-bottom: 4px; }
.vg-stats__hero { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 16px; text-decoration: none; }
.vg-stats__hero:hover { text-decoration: none; }
.vg-stats__hero-num { font-size: 34px; line-height: 1; color: var(--vg-stats-accent); }
.vg-stats__delta { font-size: 12px; color: var(--vg-stats-accent); }
.vg-stats__list { list-style: none; margin: 0; padding: 0; }
.vg-stats__row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--vg-stats-line); font-size: 14px; color: var(--vg-stats-text); text-decoration: none; }
a.vg-stats__row:hover { color: #fff; text-decoration: none; }
.vg-stats__icon { width: 16px; height: 16px; flex: none; color: var(--vg-stats-accent); }
.vg-stats__val { margin-left: auto; color: #fff; font-size: 15px; }
.vg-stats__num, .vg-stats__val { font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: -.01em; }
/* autoři hry: přezdívka / profil na itch.io */
.vg-credit-handle { font-size: 13px; font-weight: 600; color: #2fb85a; text-decoration: none; }
.vg-credit-handle:hover { color: #232328; text-decoration: none; }

/* ── Game jamy (/game-jamy, /game-jam/[slug]) ── */
.vg-jam-year { display: flex; align-items: center; gap: 14px; font-size: 26px; margin: 0 0 18px; }
.vg-jam-year::after { content: ''; flex: 1; height: 1px; background: #E6EAF0; }
.vg-jam-hero { padding: 36px 0 52px; }
.vg-jam-hero__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 36px; margin-top: 26px; }
.vg-jam-hero__fact { display: flex; flex-direction: column; gap: 4px; }
.vg-jam-hero__fact:first-child { flex-direction: row; align-items: center; gap: 12px; }
.vg-jam-hero__k { font-family: 'Iosevka Web', monospace; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.vg-jam-hero__v { font-size: 16px; font-weight: 600; color: #fff; }
.vg-jam-hero__v a { color: #42dd70; }

/* ── Profil školy /skola/[slug] (dle předlohy Detail vzdělání) ── */
.vg-school { padding: 28px 0 24px; }
.vg-school-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-family: 'Iosevka Web', monospace; font-size: 13.5px; color: #6b7280; margin-bottom: 28px; }
.vg-school-crumbs a { color: #6b7280; }
.vg-school-crumbs a:hover { color: #2fb85a; text-decoration: none; }
.vg-school-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: center; margin-bottom: 32px; }
.vg-school-head__logo { width: 90px; height: 90px; border-radius: 16px; border: 1px solid #E6EAF0; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 4px 14px rgba(16,24,40,.06); font-size: 36px; font-weight: 700; color: #2fb85a; }
.vg-school-head__logo img { max-width: 82%; max-height: 82%; object-fit: contain; }
.vg-school-head__title { margin: 0; font-size: 44px; line-height: 1.1; }
.vg-school-head__sub { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; font-family: 'Iosevka Web', monospace; font-size: 15px; color: #4b5563; }
.vg-school-badge { font-family: 'Roboto', sans-serif; background: #42dd70; color: #16181d; font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 6px; }
.vg-school-head__share .vg-share { gap: 8px; }
.vg-school-row { row-gap: 24px; margin-bottom: 40px; }
.vg-school-hero { position: relative; aspect-ratio: 16 / 7.5; border-radius: 16px; overflow: hidden; background: radial-gradient(120% 100% at 0% 0%, #2f6b47 0%, #232328 60%); }
.vg-school-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-school-hero__empty { height: 100%; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.75); font-size: 28px; font-weight: 700; padding: 24px; text-align: center; }
.vg-school-hero__pill { position: absolute; right: 18px; bottom: 18px; background: #fff; color: #232328; font-weight: 700; font-size: 15px; padding: 9px 18px; border-radius: 999px; box-shadow: 0 6px 18px rgba(0,0,0,.2); text-decoration: none; }
.vg-school-hero__pill:hover { color: #2fb85a; text-decoration: none; }
.vg-school-facts { height: 100%; display: flex; flex-direction: column; gap: 18px; padding: 24px 26px; }
.vg-school-fact { display: flex; gap: 14px; align-items: flex-start; }
.vg-school-fact__icon { width: 46px; height: 46px; flex-shrink: 0; border-radius: 10px; background: #f3f5f8; color: #6b7280; display: flex; align-items: center; justify-content: center; }
.vg-school-fact small { display: block; font-family: 'Iosevka Web', monospace; font-size: 14px; color: #6b7280; }
.vg-school-fact b { display: block; font-size: 17px; font-weight: 700; line-height: 1.3; color: #232328; }
.vg-school-cta { display: inline-flex; align-items: center; justify-content: center; height: 46px; margin-top: auto; text-decoration: none; border-radius: 999px; }
.vg-school-cta:hover { color: #16181d; text-decoration: none; }
.vg-school-h2 { display: flex; align-items: center; gap: 10px; font-size: 28px; margin: 0 0 18px; }
.vg-school-field { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; padding: 16px; border: 1px solid #E6EAF0; border-radius: 16px; background: #fff; }
.vg-school-field__img { aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #edefee; align-self: start; }
.vg-school-field__img img { width: 100%; height: 100%; object-fit: cover; }
.vg-school-field__body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.vg-school-field h3 { margin: 0; font-size: 20px; }
.vg-school-field__meta { font-family: 'Iosevka Web', monospace; font-size: 13.5px; color: #6b7280; }
.vg-school-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.vg-school-chips > span { background: #edeef2; color: #232328; font-size: 12.5px; font-weight: 600; padding: 3px 9px; border-radius: 6px; }
.vg-school-field__goal { margin: 0; font-size: 14.5px; line-height: 1.55; color: #4b5563; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vg-school-field__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 2px; }
.vg-school-deadline { background: #f2fbf5; color: #1c7c3f; font-size: 12.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.vg-school-link { font-size: 13.5px; font-weight: 600; color: #232328; border: 1px solid #D9DEE4; border-radius: 999px; padding: 5px 14px; text-decoration: none; }
.vg-school-link:hover { border-color: #42dd70; color: #232328; text-decoration: none; }
.vg-school-link--green { background: #42dd70; border-color: #42dd70; }
.vg-school-contact { padding: 14px 14px 22px; }
.vg-school-map { position: relative; border-radius: 10px; background: #16181d; padding: 14px 10px 30px; margin-bottom: 14px; }
.vg-school-minimap { display: block; width: 100%; height: auto; }
.vg-school-map__link { position: absolute; right: 12px; bottom: 8px; font-size: 12.5px; font-weight: 600; color: #42dd70; }
.vg-school-map__link:hover { color: #fff; text-decoration: none; }
.vg-school-contact__addr { margin: 0 6px 8px; font-weight: 700; font-size: 15px; }
.vg-school-contact__row { margin: 0 6px 4px; font-size: 15px; }
.vg-school-contact__row a { color: #232328; }
.vg-school-contact__facts { margin: 14px 6px 0; }
.vg-school-contact .vg-school-cta { display: flex; margin: 16px 6px 0; }
.vg-school-people { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.vg-school-person { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 22px 14px; border: 1px solid #E6EAF0; border-radius: 14px; color: #232328; text-decoration: none; transition: box-shadow .2s, border-color .2s; }
.vg-school-person:hover { color: #232328; text-decoration: none; border-color: #d3dae2; box-shadow: 0 10px 24px rgba(16,24,40,.07); }
.vg-school-person__photo { width: 58px; height: 58px; border-radius: 50%; overflow: hidden; background: #2d313a; color: #42dd70; font-weight: 700; font-size: 22px; display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.vg-school-person__photo img { width: 100%; height: 100%; object-fit: cover; }
.vg-school-person b { font-size: 16px; line-height: 1.25; }
.vg-school-person small { font-family: 'Iosevka Web', monospace; font-size: 13px; color: #6b7280; }
.vg-school-other__img { position: relative; aspect-ratio: 3 / 2; border-radius: 14px; overflow: hidden; background: #edefee; }
.vg-school-other__img > img { width: 100%; height: 100%; object-fit: cover; }
.vg-school-other__logo { position: absolute; top: 16px; left: 16px; width: 64px; height: 64px; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 4px 14px rgba(0,0,0,.18); font-size: 26px; }
.vg-school-other__logo img { max-width: 80%; max-height: 80%; object-fit: contain; }
.vg-school-other__title { margin: 14px 0 6px; font-size: 21px; line-height: 1.25; }
@media (max-width: 991px) {
  .vg-school-head { grid-template-columns: auto minmax(0, 1fr); }
  .vg-school-head__share { grid-column: 1 / -1; }
  .vg-school-people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .vg-school-head__logo { width: 64px; height: 64px; }
  .vg-school-head__title { font-size: 28px; }
  .vg-school-hero { aspect-ratio: 4 / 3; }
  .vg-school-field { grid-template-columns: 1fr; }
  .vg-school-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* detail oboru /obor/[slug] (sdílí styly profilu školy) */
.vg-school-badge--new { background: #ef4444; color: #fff; }
.vg-field-h3 { font-size: 21px; margin: 8px 0 12px; }
.vg-school-fact__link { color: #232328; }
.vg-school-fact__link:hover { color: #2fb85a; text-decoration: none; }
.vg-school-field__title { color: #232328; }
.vg-school-field__title:hover { color: #2fb85a; text-decoration: none; }
.vg-ad-facts__row .vg-school-chips { justify-content: flex-end; }

/* profil školy / detail oboru: fotka se přizpůsobí výšce karty faktů (žádné prázdno v kartě) */
@media (min-width: 992px) {
  /* fotka i karta faktů vždy stejně vysoké: řídí je obsah karty, fotka se jen ořízne */
  .vg-school-hero { aspect-ratio: auto; height: 100%; min-height: 260px; }
  .vg-school-hero > img, .vg-school-hero__empty { position: absolute; inset: 0; width: 100%; height: 100%; }
  .vg-school-facts { height: 100%; }
  .vg-school-facts .vg-school-cta, .vg-school-facts > .d-flex { margin-top: auto !important; }
}
.vg-field-sub { font-size: 17px; font-weight: 700; margin: 1.1rem 0 .4rem; }
.vg-field-sub + p { margin-top: 0; }

/* detail oboru: karta školy dole */
.vg-field-school { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 26px; align-items: center; padding: 28px 30px; border-radius: 18px; color: #fff; background: radial-gradient(90% 160% at 0% 0%, rgba(66,221,112,.22) 0%, rgba(66,221,112,0) 55%), #232328; }
.vg-field-school__logo { width: 96px; height: 96px; border-radius: 18px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 36px; font-weight: 700; color: #2fb85a; }
.vg-field-school__logo img { max-width: 82%; max-height: 82%; object-fit: contain; }
.vg-field-school__kicker { display: block; font-family: 'Iosevka Web', monospace; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: #42dd70; }
.vg-field-school__name { display: inline-block; font-size: 26px; font-weight: 800; line-height: 1.2; color: #fff; margin: 4px 0 8px; }
.vg-field-school__name:hover { color: #42dd70; text-decoration: none; }
.vg-field-school__text p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,.7); max-width: 720px; }
.vg-field-school__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-family: 'Iosevka Web', monospace; font-size: 13.5px; line-height: 1; color: rgba(255,255,255,.75); }
.vg-field-school__stats > span { display: inline-flex; align-items: baseline; gap: 5px; height: 28px; padding: 0 11px; align-items: center; border-radius: 999px; background: rgba(255,255,255,.08); }
.vg-field-school__stats b { color: #42dd70; font-size: 13.5px; font-weight: 700; }
.vg-field-school__siblings { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; font-size: 13.5px; color: rgba(255,255,255,.6); }
.vg-field-school__siblings a { padding: 3px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-weight: 600; text-decoration: none; }
.vg-field-school__siblings a:hover { border-color: #42dd70; color: #42dd70; text-decoration: none; }
.vg-field-school__cta { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.vg-field-school__cta .vg-school-cta { margin-top: 0; padding: 0 24px; white-space: nowrap; }
.vg-field-school__cta .vg-ad-studio__web { justify-content: center; }
@media (max-width: 991px) {
  .vg-field-school { grid-template-columns: auto minmax(0, 1fr); }
  .vg-field-school__cta { grid-column: 1 / -1; flex-direction: row; }
}
@media (max-width: 575px) {
  .vg-field-school { grid-template-columns: 1fr; padding: 22px; }
  .vg-field-school__logo { width: 72px; height: 72px; }
}

/* /studuj hero — zjednodušené: nadpis, věta, 2 tlačítka, 3 čísla v řádku */
.vg-edu-hero--simple { padding: 56px 0 52px; }
.vg-edu-hero--simple .vg-edu-hero__title { max-width: 820px; }
.vg-edu-hero--simple .vg-edu-hero__lead { margin-bottom: 24px; }
.vg-edu-hero__nums { display: flex; flex-wrap: wrap; gap: 18px 44px; margin-top: 34px; }
.vg-edu-hero__numitem { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.vg-edu-hero__numitem:hover { color: #fff; text-decoration: none; }
.vg-edu-hero__numitem:hover .vg-edu-hero__num { text-shadow: 0 0 16px rgba(66,221,112,1); }
.vg-edu-hero__nums .vg-edu-hero__num { font-size: 52px; }
@media (max-width: 575px) { .vg-edu-hero__nums { gap: 14px 26px; } .vg-edu-hero__nums .vg-edu-hero__num { font-size: 38px; } }

/* ── Autoři hry: „To jsem já" + úprava karty ─────────────────────────── */
.vg-credit-claim { display: block; margin-top: 4px; padding: 0; border: 0; background: none; font-size: 12px; font-weight: 600; color: rgba(35,35,40,.45); text-decoration: underline; text-decoration-color: rgba(35,35,40,.2); text-underline-offset: 3px; cursor: pointer; }
.vg-credit-claim:hover { color: #2fb85a; text-decoration-color: currentColor; }
.vg-credit-edit { font-size: 14px; font-weight: 700; color: #2fb85a; text-decoration: none; }
.vg-credit-edit:hover { color: #232328; text-decoration: none; }

/* ── Okno „To jsem já" ───────────────────────────────────────────────── */
.vg-claim { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20,21,25,.62); backdrop-filter: blur(2px); }
.vg-claim__box { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow: auto; background: #fff; color: #232328; border-radius: 18px; padding: 28px 28px 22px; box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.vg-claim__x { position: absolute; top: 12px; right: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f1f3f5; font-size: 22px; line-height: 1; cursor: pointer; color: #232328; }
.vg-claim__title { font-size: 24px; margin: 0 0 6px; }
.vg-claim__lead { font-size: 15px; color: rgba(35,35,40,.72); margin: 0 0 16px; }
.vg-claim__mut { color: rgba(35,35,40,.55); font-size: 13px; font-weight: 400; }
.vg-claim__list { list-style: none; margin: 0 0 16px; padding: 0; border: 1px solid #E6EAF0; border-radius: 12px; max-height: 260px; overflow: auto; }
.vg-claim__list li + li { border-top: 1px solid #EEF1F5; }
.vg-claim__item { display: flex; gap: 12px; align-items: flex-start; padding: 10px 14px; margin: 0; cursor: pointer; font-size: 15px; }
.vg-claim__item input, .vg-claim__method input { margin-top: 4px; width: 17px; height: 17px; accent-color: #42dd70; flex-shrink: 0; }
.vg-claim__field { display: block; margin: 0 0 16px; }
.vg-claim__field span { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.vg-claim__field input, .vg-claim__note { width: 100%; border: 1px solid #E1E6EE; border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 15px; }
.vg-claim__methods { display: grid; gap: 8px; margin-bottom: 8px; }
.vg-claim__method { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; margin: 0; border: 1.5px solid #E6EAF0; border-radius: 12px; cursor: pointer; font-size: 15px; }
.vg-claim__method.is-on { border-color: #42dd70; background: rgba(66,221,112,.06); }
.vg-claim__method select { font: inherit; font-weight: 700; border: 1px solid #E1E6EE; border-radius: 8px; padding: 1px 6px; }
.vg-claim__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.vg-claim__btn { border: 0; border-radius: 999px; background: #42dd70; color: #232328; font-weight: 700; font-size: 15px; padding: 10px 22px; cursor: pointer; }
.vg-claim__btn:disabled { opacity: .55; cursor: default; }
.vg-claim__ghost { border: 0; background: none; font-weight: 600; font-size: 15px; color: rgba(35,35,40,.6); cursor: pointer; padding: 10px 12px; }
.vg-claim__err { color: #d93f45; font-size: 14px; font-weight: 600; margin: 10px 0 0; }
.vg-claim__ok { color: #2fb85a; font-size: 16px; font-weight: 700; margin: 8px 0 0; }
.vg-claim__code { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: #232328; }
.vg-claim__code code { flex-grow: 1; font-family: Iosevka, ui-monospace, monospace; font-size: 22px; letter-spacing: .08em; color: #42dd70; background: none; }
.vg-claim__code button { border: 1px solid rgba(255,255,255,.25); background: none; color: #fff; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.vg-claim__steps { margin: 0; padding-left: 20px; font-size: 14.5px; color: rgba(35,35,40,.8); }
.vg-claim__steps li + li { margin-top: 6px; }
.vg-claim__steps a { color: #2fb85a; font-weight: 600; word-break: break-all; }
@media (max-width: 575px) { .vg-claim__box { padding: 22px 18px 18px; border-radius: 16px; } .vg-claim__title { font-size: 21px; } }

/* ── Profil tvůrce /vyvojar/… ────────────────────────────────────────── */
.vg-dev-hero__bg .o-bg__img { filter: blur(26px) saturate(1.1); transform: scale(1.15); opacity: .45; }
.vg-dev-hero .s-game-header__bg .o-bg { background: #232328; }
.vg-dev-hero__avatar { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; background: #2d313a; border: 4px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.vg-dev-hero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.vg-dev-hero__avatar span { font-size: 64px; font-weight: 700; color: #42dd70; }
.vg-dev-hero__aka { font-family: Iosevka, ui-monospace, monospace; font-size: 14px; color: rgba(255,255,255,.62); margin: 0 0 8px; }
.vg-dev-hero button.c-btn { border: 0; cursor: pointer; }
.vg-dev-bio { font-size: 17px; line-height: 1.65; color: rgba(35,35,40,.85); white-space: pre-line; margin: 0; }
.vg-dev-games { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 20px; }
.vg-dev-game__roles { margin-top: 6px; font-size: 12.5px; line-height: 1.35; color: rgba(35,35,40,.55); }
.vg-dev-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-dev-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: #edefee; color: #232328; font-size: 14px; font-weight: 600; text-decoration: none; }
a.vg-dev-chip:hover { background: #42dd70; color: #232328; text-decoration: none; }
.vg-dev-chip span { font-size: 12px; font-weight: 500; color: rgba(35,35,40,.55); }
.vg-dev-chip--plain { background: transparent; border: 1px solid #E6EAF0; font-weight: 500; }
.vg-dev-claimbox { border-radius: 16px; padding: 18px 20px; background: #232328; color: #fff; }
.vg-dev-claimbox b { font-size: 17px; }
.vg-dev-claimbox p { margin: 6px 0 12px; font-size: 14px; color: rgba(255,255,255,.7); }
.vg-dev-claimbox__btn { display: inline-block; border: 0; border-radius: 999px; background: #42dd70; color: #232328; font-weight: 700; font-size: 14px; padding: 8px 18px; cursor: pointer; text-decoration: none; }
.vg-dev-claimbox__btn:hover { color: #232328; text-decoration: none; filter: brightness(1.05); }
@media (max-width: 991px) { .vg-dev-games { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575px) { .vg-dev-games { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; } .vg-dev-hero__avatar { width: 120px; height: 120px; } .vg-dev-hero__avatar span { font-size: 48px; } }

/* ── Přehled tvůrců /tvurci ──────────────────────────────────────────── */
.vg-creators-search { display: flex; gap: 8px; }
.vg-creators-search input { width: 240px; max-width: 60vw; border: 1px solid #E1E6EE; border-radius: 999px; padding: 9px 16px; font: inherit; font-size: 15px; }
.vg-creators-search button { border: 0; border-radius: 999px; background: #232328; color: #fff; font-weight: 700; padding: 9px 18px; cursor: pointer; }
.vg-creators { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.vg-creator { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #E6EAF0; border-radius: 14px; color: #232328; text-decoration: none; background: #fff; transition: border-color .15s, box-shadow .15s; }
.vg-creator:hover { border-color: #42dd70; box-shadow: 0 6px 18px rgba(35,35,40,.06); color: #232328; text-decoration: none; }
.vg-creator__av { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #2d313a; color: #42dd70; font-weight: 700; font-size: 20px; display: flex; align-items: center; justify-content: center; }
.vg-creator__av img { width: 100%; height: 100%; object-fit: cover; }
.vg-creator__body { min-width: 0; }
.vg-creator__name { display: block; font-weight: 700; font-size: 15.5px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-creator__ok { color: #2fb85a; margin-left: 5px; font-size: 13px; }
.vg-creator__meta { display: block; font-size: 12.5px; color: rgba(35,35,40,.55); margin-top: 2px; }
@media (max-width: 1199px) { .vg-creators { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .vg-creators { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .vg-creators { grid-template-columns: 1fr; } }

/* ── Nastavení → Profil tvůrce: moje řádky autorů ───────────────────── */
.vg-my-credit { border: 1px solid #E6EAF0; border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.vg-my-credit__row { display: grid; grid-template-columns: 1.2fr 1fr 1.3fr auto; gap: 8px; margin-top: 8px; }
.vg-my-credit__row input { min-width: 0; border: 1px solid #E1E6EE; border-radius: 8px; padding: 7px 10px; font: inherit; font-size: 14px; }
.vg-my-credit__row button { border: 0; border-radius: 999px; background: #232328; color: #fff; font-weight: 700; font-size: 13px; padding: 0 14px; cursor: pointer; }
@media (max-width: 767px) { .vg-my-credit__row { grid-template-columns: 1fr 1fr; } }

/* ── Správa hry /spravovat-hru/… ─────────────────────────────────────── */
.vg-gm { color: #232328; }
.vg-gm__back { font-size: 14px; font-weight: 600; color: rgba(35,35,40,.55); text-decoration: none; }
.vg-gm__back:hover { color: #2fb85a; text-decoration: none; }
.vg-gm__title { font-size: 34px; margin: 6px 0 6px; }
.vg-gm__sub { font-size: 15px; color: rgba(35,35,40,.7); margin: 0 0 20px; max-width: 760px; }
.vg-gm-tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid #E6EAF0; margin-bottom: 20px; }
.vg-gm-tab { border: 0; background: none; padding: 10px 14px; font-size: 15px; font-weight: 600; color: rgba(35,35,40,.55); border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.vg-gm-tab.is-active { color: #232328; border-bottom-color: #42dd70; }
.vg-gm-tab__n { background: #42dd70; color: #232328; font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 1px 7px; }
.vg-gm-msg { border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; font-size: 14.5px; font-weight: 600; }
.vg-gm-msg--ok { background: rgba(66,221,112,.12); color: #1f8f47; }
.vg-gm-msg--err { background: #fdecec; color: #c0353b; }
.vg-gm-msg--warn { background: #fff6e0; color: #8a5a00; }
.vg-gm-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
.vg-gm-side { position: sticky; top: 90px; display: grid; gap: 14px; }
.vg-gm-card { background: #fff; border: 1px solid #E6EAF0; border-radius: 16px; padding: 20px 22px; margin-bottom: 16px; }
.vg-gm-side .vg-gm-card { margin-bottom: 0; }
.vg-gm-card h2 { font-size: 18px; margin: 0 0 14px; display: flex; align-items: center; gap: 8px; }
.vg-gm-count { font-size: 13px; font-weight: 500; color: rgba(35,35,40,.5); }
.vg-gm-field { display: block; margin: 0 0 14px; }
.vg-gm-label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.vg-gm-field input, .vg-gm-field textarea, .vg-gm-field select { width: 100%; border: 1px solid #E1E6EE; border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 15px; background: #fff; }
.vg-gm-field textarea { resize: vertical; line-height: 1.55; }
.vg-gm-field input:focus, .vg-gm-field textarea:focus, .vg-gm-field select:focus { outline: none; border-color: #42dd70; box-shadow: 0 0 0 3px rgba(66,221,112,.18); }
.vg-gm-hint { display: block; font-size: 12.5px; color: rgba(35,35,40,.55); margin-top: 4px; }
.vg-gm-hint a { color: #2fb85a; font-weight: 600; }
.vg-gm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vg-gm-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.vg-gm-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.vg-gm-chip { border: 0; background: #edefee; border-radius: 999px; padding: 5px 10px 5px 12px; font-size: 13.5px; font-weight: 600; cursor: pointer; color: #232328; }
.vg-gm-chip span { margin-left: 4px; color: rgba(35,35,40,.45); }
.vg-gm-chip:hover { background: #fdecec; }
.vg-gm-chipadd { position: relative; }
.vg-gm-chipadd input { width: 150px; border: 1px dashed #cfd6e0; border-radius: 999px; padding: 5px 12px; font-size: 13.5px; }
.vg-gm-hits { position: absolute; z-index: 5; top: calc(100% + 4px); left: 0; min-width: 220px; max-height: 280px; overflow-y: auto; background: #fff; border: 1px solid #E6EAF0; border-radius: 10px; box-shadow: 0 10px 24px rgba(0,0,0,.08); padding: 4px; display: grid; align-content: start; }
.vg-gm-hits button { border: 0; background: none; text-align: left; padding: 7px 10px; border-radius: 7px; font-size: 14px; cursor: pointer; }
.vg-gm-hits button:hover { background: rgba(66,221,112,.12); }
.vg-gm-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.vg-gm-shot { position: relative; margin: 0; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #2d313a; }
.vg-gm-shot img { width: 100%; height: 100%; object-fit: cover; }
.vg-gm-shot__tools { position: absolute; right: 6px; bottom: 6px; display: flex; gap: 4px; opacity: 0; transition: opacity .15s; }
.vg-gm-shot:hover .vg-gm-shot__tools, .vg-gm-shot:focus-within .vg-gm-shot__tools { opacity: 1; }
.vg-gm-shot__tools button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(20,21,25,.8); color: #fff; font-size: 14px; cursor: pointer; }
.vg-gm-shot__tools button:disabled { opacity: .35; }
.vg-gm-shot--add { display: flex; align-items: center; justify-content: center; background: #f6f7f9; border: 1.5px dashed #cfd6e0; cursor: pointer; font-weight: 700; color: rgba(35,35,40,.6); }
.vg-gm-shot--add:hover { border-color: #42dd70; color: #232328; }
.vg-gm-cover { aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; background: #2d313a; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.5); font-size: 14px; }
.vg-gm-cover img { width: 100%; height: 100%; object-fit: cover; }
.vg-gm-btn { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: #42dd70; color: #232328; font-weight: 700; font-size: 15px; padding: 11px 22px; cursor: pointer; width: 100%; }
.vg-gm-btn:disabled { opacity: .5; cursor: default; }
.vg-gm-btn--ghost { background: #fff; border: 1.5px solid #E1E6EE; }
.vg-gm-btn--ghost:hover { border-color: #42dd70; }
.vg-gm-btn--sm { width: auto; font-size: 13.5px; padding: 7px 16px; }
.vg-gm-savebar { display: grid; gap: 8px; justify-items: center; }
.vg-gm-link { border: 0; background: none; padding: 0; font-size: 14px; font-weight: 700; color: #2fb85a; cursor: pointer; }
.vg-gm-link--muted { color: rgba(35,35,40,.5); font-weight: 600; }
.vg-gm-link:disabled { opacity: .5; }
.vg-gm-item { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 12px 0; border-top: 1px solid #EEF1F5; font-size: 15px; }
.vg-gm-item:first-of-type { border-top: 0; }
.vg-gm-item.is-reverted { opacity: .55; }
.vg-gm-item__act { display: flex; gap: 14px; align-items: center; flex-shrink: 0; }
.vg-gm-when { display: block; font-size: 12.5px; color: rgba(35,35,40,.5); margin-top: 2px; }
.vg-gm-preview { margin: 6px 0 0; font-size: 13.5px; color: rgba(35,35,40,.7); white-space: pre-line; }
.vg-gm-empty { color: rgba(35,35,40,.55); margin: 0; }
.vg-gm-facts { display: grid; grid-template-columns: 200px 1fr; gap: 6px 16px; margin: 0; font-size: 15px; }
.vg-gm-facts dt { font-weight: 600; color: rgba(35,35,40,.6); }
.vg-gm-facts dd { margin: 0; font-weight: 700; }
.vg-gm-radio { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid #E6EAF0; border-radius: 12px; margin-bottom: 8px; cursor: pointer; font-size: 14.5px; }
.vg-gm-radio input { width: 17px; height: 17px; margin-top: 2px; accent-color: #42dd70; }
@media (max-width: 991px) { .vg-gm-grid { grid-template-columns: 1fr; } .vg-gm-side { position: static; } .vg-gm-cover { max-width: 180px; } .vg-gm { padding-bottom: 72px; } .vg-gm-savebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #E6EAF0; box-shadow: 0 -6px 18px rgba(0,0,0,.06); grid-auto-flow: column; justify-content: center; align-items: center; } .vg-gm-savebar .vg-gm-btn { width: auto; min-width: 200px; } }
@media (max-width: 575px) { .vg-gm__title { font-size: 26px; } .vg-gm-row, .vg-gm-links { grid-template-columns: 1fr; } .vg-gm-card { padding: 16px; } .vg-gm-item { flex-direction: column; gap: 8px; } .vg-gm-facts { grid-template-columns: 1fr; } }

/* ── Hlavička na mobilu: logo + ikony vždy v jednom řádku (i přihlášený) ── */
@media (max-width: 991px) {
  .c-header__main > .l-container > .row { flex-wrap: nowrap; }
  .c-header__main > .l-container > .row > .col { min-width: 0; }
}
@media (max-width: 479px) {
  .c-header__logo-svg { width: 136px; height: 18px; }
  .c-header__main .vg-header-icon { width: 34px; height: 34px; }
  .c-header__main .col.d-flex.justify-content-end > .d-flex { gap: 4px !important; }
  .c-header__main .vg-burger { width: 38px; height: 38px; }
}
@media (max-width: 359px) {
  .c-header__logo-svg { width: 116px; height: 15px; }
}

/* ── Hrát v prohlížeči (itch.io embed) ──────────────────────────────── */
.vg-play-btn { border: 0; cursor: pointer; }
.vg-play { position: fixed; inset: 0; z-index: 1000; background: rgba(12,13,16,.92); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 56px 16px 16px; }
.vg-play__bar { position: absolute; top: 0; left: 0; right: 0; height: 52px; display: flex; align-items: center; gap: 14px; padding: 0 16px; color: #fff; font-size: 15px; }
.vg-play__src { color: rgba(255,255,255,.55); font-size: 13px; flex-grow: 1; }
.vg-play__src a { color: #42dd70; }
.vg-play__x { width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.vg-play__x:hover { background: rgba(255,255,255,.22); }
.vg-play__stage { width: 100%; background: #000; border-radius: 10px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.vg-play__stage iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 575px) { .vg-play__src { display: none; } }

/* ── Přidat hru: itch.io ─────────────────────────────────────────────── */
.vg-itch-hint { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 18px; border-radius: 14px; background: #fff3f3; border: 1px solid #ffd6d6; font-size: 14.5px; }
.vg-itch-hint .mt-2 { margin-top: 0 !important; }
.vg-itch-chip { border: 1px solid #ffc9c9; background: #fff; color: #232328; border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 600; cursor: pointer; }
.vg-itch-chip:hover { border-color: #fa5c5c; background: #fff3f3; }

/* ── Hledám práci / stáž ─────────────────────────────────────────────── */
.vg-look { border: 1px solid #E6EAF0; border-radius: 14px; padding: 16px 18px; }
.vg-look-chip { border: 1.5px solid #E1E6EE; background: #fff; color: #232328; border-radius: 999px; padding: 7px 14px; font-size: 14px; font-weight: 600; cursor: pointer; }
.vg-look-chip--sm { padding: 4px 11px; font-size: 13px; }
.vg-look-chip.is-on { border-color: #42dd70; background: rgba(66,221,112,.12); }
.vg-seeking { display: inline-flex; align-items: center; gap: 6px; background: #42dd70; color: #232328; font-weight: 700; font-size: 12px; border-radius: 999px; padding: 2px 9px; }
.vg-seeking::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #232328; }
.vg-dev-seeking { border-radius: 16px; padding: 18px 20px; background: rgba(66,221,112,.1); border: 1px solid rgba(66,221,112,.45); }
.vg-dev-seeking b { font-size: 17px; }
.vg-dev-seeking p { margin: 6px 0 10px; font-size: 14.5px; color: rgba(35,35,40,.8); white-space: pre-line; }
.vg-dev-seeking__meta { font-size: 13.5px; color: rgba(35,35,40,.65); margin-bottom: 10px; }
.vg-dev-seeking a.vg-dev-claimbox__btn { color: #232328; }
.vg-catpill.is-active { border-color: #232328; background: #232328; color: #fff; }
.vg-catpill { margin-left: 0; }
.vg-creator .vg-seeking { display: inline-flex; margin-top: 3px; font-size: 11px; }
/* ── Inzerce: talenty, kteří hledají práci ─────────────────────────────── */
.vg-talents { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.vg-talent { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border: 1px solid #E6EAF0; border-radius: 14px; background: #fff; color: #232328; text-decoration: none; }
.vg-talent:hover { border-color: #42dd70; color: #232328; text-decoration: none; }
.vg-talent__top { display: flex; align-items: center; gap: 10px; }
.vg-talent__name { font-weight: 700; font-size: 15.5px; line-height: 1.25; }
.vg-talent__meta { font-size: 12.5px; color: rgba(35,35,40,.6); }
.vg-talent__note { font-size: 13.5px; color: rgba(35,35,40,.78); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 991px) { .vg-talents { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .vg-talents { grid-template-columns: 1fr; } }

/* ── Testeři a hodnocení profíků ─────────────────────────────────────── */
.vg-playtest { border-radius: 16px; padding: 20px 22px; background: #f2fbf5; border: 1px solid rgba(66,221,112,.4); }
.vg-playtest__head { display: flex; align-items: center; gap: 10px; }
.vg-playtest__note { font-size: 15px; color: rgba(35,35,40,.8); white-space: pre-line; margin-bottom: 14px; }
.vg-fb { display: grid; gap: 10px; }
.vg-fb-scales { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 4px; }
.vg-fb-scale { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.vg-fb-stars { display: inline-flex; gap: 4px; }
.vg-fb-stars button { width: 30px; height: 30px; border-radius: 8px; border: 1.5px solid #D7DDE5; background: #fff; font-weight: 700; font-size: 13px; cursor: pointer; color: rgba(35,35,40,.6); }
.vg-fb-stars button.is-on { background: #42dd70; border-color: #42dd70; color: #232328; }
.vg-fb-field { display: block; margin: 0; }
.vg-fb-field span { display: block; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.vg-fb-field textarea { width: 100%; border: 1px solid #D7DDE5; border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 15px; background: #fff; resize: vertical; }
.vg-fb .vg-claim__btn { justify-self: start; }
.vg-fb-ok { color: #2fb85a; font-weight: 700; margin: 0; }
.vg-fb-err { color: #d93f45; font-weight: 600; margin: 0; font-size: 14px; }
.vg-pro-badge { margin-left: 10px; background: #fff; color: #232328; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 3px 11px; white-space: nowrap; text-decoration: none; }
.vg-pro-badge:hover { color: #232328; text-decoration: none; background: #42dd70; }
.vg-pro-review { border: 1px solid #E6EAF0; border-radius: 16px; padding: 18px 20px; margin-bottom: 12px; background: #fff; }
.vg-pro-review header { font-size: 15.5px; margin-bottom: 6px; }
.vg-pro-review header a { color: #232328; }
.vg-pro-review__scores { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13.5px; color: rgba(35,35,40,.65); margin-bottom: 10px; }
.vg-pro-review__scores b { color: #232328; }
.vg-pro-review p { font-size: 15.5px; line-height: 1.6; white-space: pre-line; margin-bottom: 8px; }
.vg-pro-review__best { font-size: 14.5px !important; color: rgba(35,35,40,.8); }
.vg-test-hero { border-radius: 18px; padding: 28px 30px; background: #232328; color: #fff; }
.vg-test-hero p { color: rgba(255,255,255,.78); font-size: 16px; max-width: 760px; }
.vg-test-hero b { color: #42dd70; }

/* ── Jam pořádaný na VisionGame ──────────────────────────────────────── */
.vg-jam-phase { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; color: rgba(255,255,255,.75); font-size: 14.5px; }
.vg-jam-box { border-radius: 16px; padding: 18px 20px; background: #f2fbf5; border: 1px solid rgba(66,221,112,.4); margin-bottom: 28px; }
.vg-jam-box--org { background: #fff; border-color: #E6EAF0; }
.vg-jam-submit { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 8px; }
.vg-jam-submit input { min-width: 0; border: 1px solid #D7DDE5; border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 15px; background: #fff; }
.vg-jam-entries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vg-jam-entry { display: flex; gap: 14px; padding: 12px; border: 1px solid #E6EAF0; border-radius: 14px; background: #fff; }
.vg-jam-entry.is-rejected { opacity: .5; }
.vg-jam-entry__img { width: 128px; flex-shrink: 0; aspect-ratio: 630 / 500; border-radius: 10px; overflow: hidden; background: #2d313a; display: flex; align-items: center; justify-content: center; color: #42dd70; font-weight: 700; font-size: 28px; text-decoration: none; }
.vg-jam-entry__img img { width: 100%; height: 100%; object-fit: cover; }
.vg-jam-entry__body { min-width: 0; flex-grow: 1; }
.vg-jam-entry__body b a { color: #232328; }
.vg-jam-vote { display: grid; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #EEF1F5; }
.vg-jam-vote textarea { width: 100%; border: 1px solid #D7DDE5; border-radius: 10px; padding: 8px 10px; font: inherit; font-size: 14px; resize: vertical; }
.vg-jam-vote .vg-claim__btn { justify-self: start; padding: 8px 18px; font-size: 14px; }
.vg-jam-results { border: 1px solid #E6EAF0; border-radius: 16px; overflow: hidden; background: #fff; }
.vg-jam-results__row { display: grid; grid-template-columns: 44px minmax(0, 2.4fr) repeat(var(--crit, 4), minmax(0, .7fr)) minmax(0, .8fr); gap: 10px; align-items: center; padding: 12px 16px; border-top: 1px solid #EEF1F5; font-size: 14.5px; }
.vg-jam-results__head { border-top: 0; background: #f6f7f9; font-weight: 700; font-size: 12.5px; text-transform: uppercase; letter-spacing: .03em; color: rgba(35,35,40,.6); }
.vg-jam-results__rank { font-family: Iosevka, ui-monospace, monospace; font-size: 18px; font-weight: 700; color: rgba(35,35,40,.45); }
.vg-jam-results__row.is-top .vg-jam-results__rank { color: #2fb85a; }
.vg-jam-results__row.is-top-1 { background: rgba(66,221,112,.08); }
.vg-jam-results__total { font-weight: 800; font-size: 16px; }
.vg-jam-results__row a { color: #232328; }
.vg-jam-rules { border: 1px solid #E6EAF0; border-radius: 14px; padding: 12px 16px; background: #fff; }
.vg-jam-rules summary { font-weight: 700; cursor: pointer; }
.vg-jam-rules p { margin: 10px 0 0; white-space: pre-line; font-size: 15px; }
@media (max-width: 991px) { .vg-jam-entries { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .vg-jam-submit { grid-template-columns: 1fr; } .vg-jam-results__row { grid-template-columns: 34px minmax(0, 1fr) 64px; } }
@media (max-width: 479px) { .vg-jam-entry__img { width: 92px; } }
.vg-seeking--muted { background: #edefee; }
.vg-talent .vg-seeking { align-self: flex-start; }
.vg-dev-games--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1199px) { .vg-dev-games--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) { .vg-dev-games--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── Přihlášení (jako knihobot.cz): služby + e-mail bez hesla ─────────── */
.vg-login { max-width: 440px; margin: 0 auto; }
.vg-login__title { font-size: 40px; margin: 0 0 6px; }
.vg-login__lead { color: rgba(35,35,40,.65); font-size: 15.5px; margin: 0 0 22px; }
.vg-login__providers { display: grid; gap: 0; }
.vg-login__providers > a { padding-top: 13px !important; padding-bottom: 13px !important; font-size: 15.5px !important; }
.vg-login__or { display: flex; align-items: center; gap: 12px; margin: 22px 0 18px; color: rgba(35,35,40,.5); font-size: 13px; }
.vg-login__or::before, .vg-login__or::after { content: ''; flex-grow: 1; height: 1px; background: #E6EAF0; }
.vg-login-email { display: grid; gap: 10px; }
.vg-login-label { font-weight: 700; font-size: 14.5px; margin: 0; }
.vg-login-input { width: 100%; border: 1.5px solid #D7DDE5; border-radius: 12px; padding: 13px 16px; font: inherit; font-size: 16px; background: #fff; }
.vg-login-input:focus { outline: none; border-color: #42dd70; box-shadow: 0 0 0 3px rgba(66,221,112,.18); }
.vg-login-input--code { font-family: Iosevka, ui-monospace, monospace; font-size: 30px; letter-spacing: .45em; text-align: center; padding: 12px; }
.vg-login-btn { border: 0; border-radius: 999px; background: #232328; color: #fff; font-weight: 700; font-size: 15.5px; padding: 14px 20px; cursor: pointer; }
.vg-login-btn:hover:not(:disabled) { background: #42dd70; color: #232328; }
.vg-login-btn:disabled { opacity: .45; cursor: default; }
.vg-login-row { display: flex; justify-content: space-between; gap: 12px; }
.vg-login-link { border: 0; background: none; padding: 0; color: #2fb85a; font-weight: 700; font-size: 14px; cursor: pointer; }
.vg-login-link:disabled { color: rgba(35,35,40,.4); cursor: default; }
.vg-login-hint { margin: 0; font-size: 13px; color: rgba(35,35,40,.55); }
.vg-login-msg { margin: 0 0 4px; border-radius: 12px; padding: 11px 14px; font-size: 14.5px; font-weight: 600; }
.vg-login-msg--ok { background: rgba(66,221,112,.12); color: #1f8f47; }
.vg-login-msg--err { background: #fdecec; color: #c0353b; }
.vg-login__password { margin-top: 18px; border-top: 1px solid #E6EAF0; padding-top: 14px; }
.vg-login__password summary { cursor: pointer; font-weight: 600; font-size: 14.5px; color: rgba(35,35,40,.7); }
.vg-login__foot { margin: 22px 0 0; font-size: 12.5px; color: rgba(35,35,40,.55); text-align: center; }
.vg-login__foot a { color: #2fb85a; }
@media (max-width: 575px) { .vg-login__title { font-size: 32px; } }

/* ── Archiv plných verzí ─────────────────────────────────────────────── */
.vg-archive-itch { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 12px; background: #fff3f3; border: 1px solid #ffd6d6; margin-bottom: 14px; }
.vg-archive-itch a.vg-gm-btn { text-decoration: none; }
.vg-archive-upload { display: grid; grid-template-columns: minmax(0, 1.6fr) 140px minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.vg-archive-upload input, .vg-archive-upload select { min-width: 0; border: 1px solid #E1E6EE; border-radius: 10px; padding: 8px 10px; font: inherit; font-size: 14px; background: #fff; }
.vg-archive-progress { height: 6px; border-radius: 99px; background: #edefee; margin-top: 10px; overflow: hidden; }
.vg-archive-progress span { display: block; height: 100%; background: #42dd70; transition: width .2s; }
.vg-archive-scan { display: inline-block; margin-top: 4px; font-size: 11.5px; font-weight: 700; border-radius: 99px; padding: 1px 9px; }
.vg-archive-scan--ok { background: #d8f7e2; color: #1f7a42; }
.vg-archive-scan--warn { background: #fff1c2; color: #8a5a00; }
.vg-archive-scan--err { background: #fde2e2; color: #b42318; }
@media (max-width: 767px) { .vg-archive-upload { grid-template-columns: 1fr 1fr; } .vg-archive-upload input[type=file] { grid-column: 1 / -1; } }
.vg-archive-public { border: 1px solid #E6EAF0; border-radius: 16px; padding: 16px 18px; background: #fff; }
.vg-archive-public__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid #EEF1F5; font-size: 14.5px; }
.vg-archive-public__row:first-of-type { border-top: 0; }

/* ── Archiv her /hry — chytré hledání + filtry ───────────────────────── */
.vg-hx__head { margin-bottom: 18px; }
.vg-hx__title { font-size: 40px; margin: 0 0 4px; }
.vg-hx__count { font-family: Iosevka, ui-monospace, monospace; font-size: 20px; font-weight: 500; color: rgba(35,35,40,.5); margin-left: 8px; }
.vg-hx__lead { color: rgba(35,35,40,.65); font-size: 15.5px; margin: 0 0 16px; max-width: 760px; }
.vg-hx-search { position: relative; display: flex; align-items: center; background: #fff; border: 2px solid #232328; border-radius: 16px; padding: 4px 4px 4px 16px; box-shadow: 0 10px 30px rgba(16,24,40,.06); }
.vg-hx-search:focus-within { border-color: #42dd70; box-shadow: 0 0 0 4px rgba(66,221,112,.18); }
.vg-hx-search__icon { color: rgba(35,35,40,.5); flex-shrink: 0; }
.vg-hx-search__input { flex-grow: 1; min-width: 0; border: 0; background: none; font: inherit; font-size: 17px; padding: 12px 12px; outline: none; }
.vg-hx-search__input::-webkit-search-cancel-button { display: none; }
.vg-hx-search__clear { border: 0; background: #edefee; width: 28px; height: 28px; border-radius: 50%; font-size: 18px; line-height: 1; cursor: pointer; color: #232328; margin-right: 6px; }
.vg-hx-search__go { border: 0; border-radius: 12px; background: #232328; color: #fff; font-weight: 700; font-size: 15px; padding: 11px 22px; cursor: pointer; }
.vg-hx-search__go:hover { background: #42dd70; color: #232328; }
.vg-hx-suggest { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border: 1px solid #E6EAF0; border-radius: 14px; box-shadow: 0 16px 40px rgba(16,24,40,.14); overflow: hidden; }
.vg-hx-suggest__group + .vg-hx-suggest__group { border-top: 1px solid #EEF1F5; }
.vg-hx-suggest__row { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 8px 14px; border: 0; background: #fff; cursor: pointer; font: inherit; }
.vg-hx-suggest__row.is-active { background: #f2fbf5; }
.vg-hx-suggest__kind { flex-shrink: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #2fb85a; width: 64px; }
.vg-hx-suggest__cover { width: 34px; height: 44px; border-radius: 6px; background: #2d313a; overflow: hidden; flex-shrink: 0; }
.vg-hx-suggest__cover img { width: 100%; height: 100%; object-fit: cover; }
.vg-hx-suggest__title { font-weight: 600; font-size: 14.5px; color: #232328; min-width: 0; flex-grow: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vg-hx-suggest__meta { font-size: 12.5px; color: rgba(35,35,40,.5); white-space: nowrap; }
.vg-hx-suggest__all, .vg-hx-suggest__empty { display: block; width: 100%; text-align: left; padding: 10px 14px; border: 0; border-top: 1px solid #EEF1F5; background: #fff; font: inherit; font-size: 13.5px; font-weight: 700; color: #2fb85a; cursor: pointer; }
.vg-hx-suggest__empty { color: rgba(35,35,40,.5); font-weight: 500; border-top: 0; }
.vg-hx__presets { display: flex; gap: 8px; overflow-x: auto; padding: 14px 0 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.vg-hx__presets::-webkit-scrollbar { display: none; }
.vg-hx-preset { flex-shrink: 0; border: 1px solid #E1E6EE; background: #fff; border-radius: 999px; padding: 7px 14px; font-size: 13.5px; font-weight: 600; color: #232328; text-decoration: none; white-space: nowrap; }
.vg-hx-preset:hover { border-color: #42dd70; background: #f2fbf5; color: #232328; text-decoration: none; }
.vg-hx-preset.is-active { background: #232328; border-color: #232328; color: #fff; }
.vg-hx-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0 12px; }
.vg-hx-chip { display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 999px; background: #232328; color: #fff; font-size: 13.5px; font-weight: 600; padding: 6px 12px; cursor: pointer; }
.vg-hx-chip > span:last-child { opacity: .6; }
.vg-hx-chip:hover > span:last-child { opacity: 1; }
.vg-hx-chip--parsed { background: #e8fbee; color: #1f7a42; border: 1px solid rgba(66,221,112,.5); }
.vg-hx-chip__spark { color: #2fb85a; font-size: 11px; }
.vg-hx-chips__clear { border: 0; background: none; color: #2fb85a; font-weight: 700; font-size: 13.5px; cursor: pointer; padding: 6px 8px; }
.vg-hx-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 0; border-top: 1px solid #E6EAF0; border-bottom: 1px solid #E6EAF0; margin-bottom: 14px; }
.vg-hx-bar__total { font-weight: 700; font-size: 16px; }
.vg-hx-bar__tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.vg-hx-bar__filters { border: 1.5px solid #232328; background: #fff; border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.vg-hx-bar__n { background: #42dd70; color: #232328; font-size: 11.5px; border-radius: 999px; padding: 0 7px; line-height: 18px; }
.vg-hx-bar__sort { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: rgba(35,35,40,.6); margin: 0; }
.vg-hx-bar__sort select { border: 1px solid #E1E6EE; border-radius: 10px; padding: 7px 10px; font: inherit; font-size: 14px; background: #fff; color: #232328; max-width: 230px; }
.vg-hx-bar__view { display: inline-flex; border: 1px solid #E1E6EE; border-radius: 10px; overflow: hidden; }
.vg-hx-bar__view button { border: 0; background: #fff; width: 36px; height: 34px; cursor: pointer; font-size: 15px; color: rgba(35,35,40,.5); }
.vg-hx-bar__view button.is-on { background: #232328; color: #fff; }
.vg-hx-bar__save { border: 1px solid #E1E6EE; background: #fff; border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 13.5px; cursor: pointer; color: #232328; text-decoration: none; }
.vg-hx-bar__save.is-on { border-color: #42dd70; background: #f2fbf5; color: #1f7a42; }
.vg-hx-save { position: relative; }
.vg-hx-save__pop { position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; width: 280px; background: #fff; border: 1px solid #E6EAF0; border-radius: 14px; box-shadow: 0 14px 36px rgba(16,24,40,.14); padding: 14px; display: grid; gap: 10px; }
.vg-hx-save__pop input[type=text], .vg-hx-save__pop > input { border: 1px solid #E1E6EE; border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 14px; }
.vg-hx-save__pop label { display: flex; align-items: center; gap: 8px; font-size: 13.5px; margin: 0; }
.vg-hx-save__msg { font-size: 13px; font-weight: 600; color: #1f7a42; }
.vg-hx-alpha { gap: 4px; justify-content: space-between; margin-bottom: 16px; }
.vg-hx-alpha__l { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #E1E6EE; background: #fff; font-weight: 700; font-size: 12.5px; cursor: pointer; color: #232328; }
.vg-hx-alpha__l:hover { border-color: #42dd70; }
.vg-hx-alpha__l.is-on { background: #42dd70; border-color: #42dd70; }
.vg-hx-side { padding-right: 6px; }
.vg-hx-facets { background: #fff; border: 1px solid #E6EAF0; border-radius: 14px; padding: 6px 16px 14px; }
.vg-hx-group { padding: 14px 0 12px; border-bottom: 1px solid #EEF1F5; }
.vg-hx-group:last-of-type { border-bottom: 0; }
.vg-hx-group h3 { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.vg-hx-group__n { background: #42dd70; color: #232328; border-radius: 999px; font-size: 10.5px; padding: 0 6px; line-height: 16px; }
.vg-hx-group__search { width: 100%; border: 1px solid #E1E6EE; border-radius: 9px; padding: 6px 10px; font: inherit; font-size: 13.5px; margin-bottom: 6px; }
.vg-hx-opt { display: flex; align-items: center; gap: 8px; padding: 4px 6px; margin: 0 -6px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.vg-hx-opt:hover { background: #F4F7FB; }
.vg-hx-opt input { width: 16px; height: 16px; accent-color: #42dd70; flex-shrink: 0; }
.vg-hx-opt span { flex-grow: 1; min-width: 0; color: #374151; }
.vg-hx-opt.is-on span { color: #0f1115; font-weight: 600; }
.vg-hx-opt em { font-style: normal; font-size: 12px; color: #9ca3af; font-family: Iosevka, ui-monospace, monospace; }
.vg-hx-group__more { border: 0; background: none; color: #2fb85a; font-weight: 700; font-size: 13px; cursor: pointer; padding: 4px 0 0; }
.vg-hx-inline, .vg-hx-decades { display: flex; flex-wrap: wrap; gap: 6px; }
.vg-hx-pill { border: 1px solid #E1E6EE; background: #fff; border-radius: 999px; padding: 4px 10px; font-size: 13px; font-weight: 600; cursor: pointer; color: #232328; }
.vg-hx-pill span { font-weight: 400; color: #9ca3af; font-size: 11.5px; margin-left: 2px; }
.vg-hx-pill.is-on { background: #232328; border-color: #232328; color: #fff; }
.vg-hx-pill.is-on span { color: rgba(255,255,255,.6); }
.vg-hx-pill:disabled { opacity: .4; cursor: default; }
.vg-hx-years { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.vg-hx-year { width: 80px; border: 1px solid #E1E6EE; border-radius: 9px; padding: 6px 10px; font: inherit; font-size: 14px; }
.vg-hx-facets__note { font-size: 12.5px; color: rgba(35,35,40,.55); margin: 12px 0 0; }
.vg-hx-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px 16px; transition: opacity .15s; }
.vg-hx-grid.is-pending { opacity: .6; }
.vg-hx-card { display: block; color: #1a1c21; text-decoration: none; }
.vg-hx-card:hover { color: #1a1c21; text-decoration: none; }
.vg-hx-card__cover { display: block; position: relative; margin-bottom: 8px; }
.vg-hx-card__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 700; font-size: 15.5px; line-height: 1.25; }
.vg-hx-card__meta { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; color: rgba(35,35,40,.55); margin-top: 3px; }
.vg-hx-badges { position: absolute; left: 8px; bottom: 8px; display: flex; flex-wrap: wrap; gap: 4px; z-index: 2; }
.vg-hx-badge { background: rgba(20,21,25,.8); color: #fff; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 8px; backdrop-filter: blur(4px); }
.vg-hx-badge--play { background: #42dd70; color: #232328; }
.vg-hx-badge--sale { background: #fa5c5c; }
.vg-hx-badge--top { background: #e8c34a; color: #232328; }
.vg-hx-badge--gem { background: #e8c34a; color: #232328; }
.vg-hx-list { display: grid; gap: 10px; }
.vg-hx-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 12px; border: 1px solid #E6EAF0; border-radius: 14px; background: #fff; color: #232328; text-decoration: none; }
.vg-hx-row:hover { border-color: #42dd70; color: #232328; text-decoration: none; }
.vg-hx-row__cover { width: 72px; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: #2d313a; }
.vg-hx-row__cover img { width: 100%; height: 100%; object-fit: cover; }
.vg-hx-row__title { display: block; font-weight: 700; font-size: 16px; line-height: 1.25; }
.vg-hx-row__meta { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; color: rgba(35,35,40,.55); margin-top: 2px; }
.vg-hx-row__tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.vg-hx-tag { font-size: 11.5px; font-weight: 600; border-radius: 999px; padding: 2px 8px; background: #edefee; color: #232328; }
.vg-hx-tag--mut { background: transparent; border: 1px solid #E6EAF0; color: rgba(35,35,40,.6); }
.vg-hx-row__side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.vg-hx-row__side .vg-hx-badges { position: static; justify-content: flex-end; }
.vg-hx-row__side .vg-hx-badge { background: #edefee; color: #232328; }
.vg-hx-row__side .vg-hx-badge--play { background: #42dd70; }
.vg-hx-row__side .vg-hx-badge--sale { background: #fa5c5c; color: #fff; }
.vg-hx-row__score, .vg-hx-row__price { font-size: 12.5px; color: rgba(35,35,40,.6); }
.vg-hx-row__price { font-weight: 700; color: #232328; }
.vg-hx-pages { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; }
.vg-hx-empty { text-align: center; padding: 48px 16px; border: 1px dashed #D7DDE5; border-radius: 16px; }
.vg-hx-empty b { font-size: 18px; }
.vg-hx-empty p { color: rgba(35,35,40,.65); margin: 8px auto 16px; max-width: 460px; }
.vg-hx-empty a { color: #2fb85a; font-weight: 600; }
.vg-hx-drawer { position: fixed; inset: 0; z-index: 1000; background: #fff; display: flex; flex-direction: column; }
.vg-hx-drawer__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #E6EAF0; font-size: 17px; }
.vg-hx-drawer__head .vg-gm-link { margin-left: auto; }
.vg-hx-drawer__head .vg-claim__x { position: static; }
.vg-hx-drawer__body { flex-grow: 1; overflow: auto; padding: 10px 16px; }
.vg-hx-drawer__body .vg-hx-facets { border: 0; padding: 0; }
.vg-hx-drawer__foot { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #E6EAF0; }
@media (max-width: 1199px) { .vg-hx-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991px) { .vg-hx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .vg-hx__title { font-size: 32px; } }
@media (max-width: 767px) {
  .vg-hx-search { padding-left: 12px; border-radius: 14px; }
  .vg-hx-search__input { font-size: 15.5px; padding: 11px 8px; }
  .vg-hx-search__go { padding: 10px 14px; font-size: 14px; }
  .vg-hx-suggest__kind { width: auto; }
  .vg-hx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .vg-hx-row { grid-template-columns: 56px minmax(0, 1fr); }
  .vg-hx-row__cover { width: 56px; }
  .vg-hx-row__side { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
  .vg-hx-bar__sort select { max-width: 150px; }
  .vg-hx__lead { display: none; }
}

/* ── Fórum — feed „Co se děje", psaní, vlákna ─────────────────────────── */
.vg-fo { max-width: 1180px; margin: 0 auto; }
.vg-fo--thread { max-width: 860px; }
.vg-fo__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.vg-fo__title { font-size: 40px; margin: 0 0 4px; }
.vg-fo__count { font-family: Iosevka, ui-monospace, monospace; font-size: 20px; font-weight: 500; color: #42dd70; margin-left: 10px; }
.vg-fo-mono { font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; color: rgba(35,35,40,.55); letter-spacing: .01em; }
.vg-fo-mono--green { color: #2fb85a; text-transform: uppercase; font-size: 11.5px; letter-spacing: .06em; }
.vg-fo__lead { color: rgba(35,35,40,.65); font-size: 15.5px; margin: 0; max-width: 680px; }
.vg-fo__stats { font-family: Iosevka, ui-monospace, monospace; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: rgba(35,35,40,.55); margin: 0; }
.vg-fo__stats b { color: #42dd70; font-weight: 500; margin: 0 4px 0 10px; }
.vg-fo__stats b:first-child { margin-left: 0; }
.vg-fo__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.vg-fo__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.vg-fo__main { min-width: 0; }
.vg-fo__views { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 12px; }
.vg-fo__pager { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; }
.vg-fo__crumbs { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: rgba(35,35,40,.55); margin-bottom: 14px; flex-wrap: wrap; }
.vg-fo__crumbs a { color: inherit; text-decoration: none; }
.vg-fo__crumbs a:hover { color: #232328; }

.vg-fo-tag { display: inline-flex; align-items: center; gap: 6px; background: #edefee; color: #232328; border: 0; border-radius: 999px; padding: 4px 11px; font-family: Iosevka, ui-monospace, monospace; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; white-space: nowrap; line-height: 1.5; cursor: pointer; }
.vg-fo-tag small { font-size: 11px; color: rgba(35,35,40,.5); }
.vg-fo-tag:hover { background: #E1E6EE; }
.vg-fo-tag.is-active { background: #232328; color: #42dd70; }
.vg-fo-tag.is-active small { color: rgba(66,221,112,.7); }
.vg-fo-tag--lg { padding: 8px 16px; font-size: 13px; }
.vg-fo-kindtag { display: inline-flex; align-items: center; border: 1px solid #232328; color: #232328; border-radius: 999px; padding: 2px 9px; font-family: Iosevka, ui-monospace, monospace; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; line-height: 1.5; white-space: nowrap; }
.vg-fo-kindtag--ok { border-color: #42dd70; background: #42dd70; color: #232328; }
.vg-fo-pill { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #D7DDE5; background: #fff; color: #232328; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.4; }
.vg-fo-pill:hover { border-color: #232328; }
.vg-fo-pill.is-on { background: #232328; color: #42dd70; border-color: #232328; }
.vg-fo-badge { display: inline-flex; align-items: center; gap: 4px; background: #F1F4F8; color: rgba(35,35,40,.75); border-radius: 6px; padding: 2px 7px; font-size: 11.5px; font-weight: 700; line-height: 1.4; }
.vg-fo-badge--sys { background: #232328; color: #42dd70; }
.vg-fo-badge--ok { background: #E6F8EC; color: #1f9a46; }
.vg-fo-level { font-family: Iosevka, ui-monospace, monospace; font-size: 11px; color: #232328; background: #edefee; border-radius: 4px; padding: 1px 6px; font-weight: 500; letter-spacing: .04em; }
.vg-fo-avatar { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #edefee; overflow: hidden; font-weight: 700; color: #9aa2b1; font-size: 15px; }
.vg-fo-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-fo-avatar--lg { width: 44px; height: 44px; font-size: 18px; }
.vg-fo-user { font-weight: 700; color: #232328; text-decoration: none; }
.vg-fo-user:hover { color: #2fb85a; }
.vg-fo-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #42dd70; color: #232328; border: 0; border-radius: 999px; padding: 11px 24px; font-size: 14.5px; font-weight: 700; cursor: pointer; text-decoration: none; line-height: 1.3; white-space: nowrap; }
.vg-fo-btn:hover { background: #36cc62; }
.vg-fo-btn:disabled { opacity: .55; cursor: default; }
.vg-fo-btn--ghost { background: #fff; border: 1px solid #D7DDE5; }
.vg-fo-btn--ghost:hover { background: #F4F7FB; }
.vg-fo-btn--sm { padding: 8px 16px; font-size: 13.5px; }
.vg-fo-err { color: #e5484d; font-size: 13.5px; font-weight: 700; }
.vg-fo-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #42dd70; margin-left: 8px; vertical-align: middle; box-shadow: 0 0 0 3px rgba(66,221,112,.22); }

/* dnes na VisionGame */
.vg-fo-today { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; background: #2d313a; color: #fff; border-radius: 14px; padding: 11px 18px; font-size: 13.5px; margin-bottom: 14px; }
.vg-fo-today__label { font-family: Iosevka, ui-monospace, monospace; text-transform: uppercase; letter-spacing: .06em; font-size: 11.5px; color: #42dd70; }
.vg-fo-today__item { color: #fff; text-decoration: none; font-weight: 600; }
.vg-fo-today__item:hover { color: #42dd70; }
.vg-fo-today__item--quiet { font-weight: 400; color: rgba(255,255,255,.75); }
.vg-fo-today__week { color: rgba(255,255,255,.55); font-family: Iosevka, ui-monospace, monospace; font-size: 12px; margin-left: auto; }

/* psaní */
.vg-fo-compose { background: #fff; border: 2px solid #232328; border-radius: 16px; padding: 14px 16px; box-shadow: 0 10px 30px rgba(16,24,40,.06); margin-bottom: 8px; }
.vg-fo-compose:focus-within { border-color: #42dd70; box-shadow: 0 0 0 4px rgba(66,221,112,.18); }
.vg-fo-compose--closed { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 14px; cursor: text; }
.vg-fo-compose--guest { cursor: default; }
.vg-fo-compose__fake { flex-grow: 1; min-width: 0; text-align: left; background: none; border: 0; font: inherit; font-size: 15.5px; color: rgba(35,35,40,.5); padding: 8px 4px; cursor: text; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-fo-compose__kinds { display: flex; gap: 6px; }
.vg-fo-compose__kinds button { background: #F1F4F8; border: 0; border-radius: 999px; padding: 7px 12px; font-size: 13px; font-weight: 600; cursor: pointer; color: #232328; white-space: nowrap; }
.vg-fo-compose__kinds button:hover { background: #E6EAF0; }
.vg-fo-compose__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; flex-wrap: wrap; }
.vg-fo-compose__restored { font-size: 12px; color: rgba(35,35,40,.5); margin-left: auto; }
.vg-fo-kinds { display: flex; gap: 4px; background: #edefee; border-radius: 999px; padding: 3px; }
.vg-fo-kinds button { background: none; border: 0; border-radius: 999px; padding: 6px 13px; font-size: 13px; font-weight: 600; cursor: pointer; color: rgba(35,35,40,.65); }
.vg-fo-kinds button.is-active { background: #232328; color: #42dd70; }
.vg-fo-compose__ta { width: 100%; min-height: 120px; border: 1px solid #E1E6EE; border-radius: 12px; padding: 12px 14px; font: inherit; font-size: 15.5px; line-height: 1.55; color: #1a1c21; resize: vertical; background: #fff; outline: none; display: block; }
.vg-fo-compose__ta:focus { border-color: #42dd70; }
.vg-fo-compose__title { width: 100%; border: 1px solid #E1E6EE; border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 15px; font-weight: 700; margin-top: 8px; outline: none; }
.vg-fo-compose__title:focus { border-color: #42dd70; }
.vg-fo-compose__foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.vg-fo-compose__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.vg-fo-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.vg-fo-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 8px; position: relative; }
.vg-fo-toolbar > button { background: none; border: 1px solid transparent; border-radius: 8px; padding: 5px 9px; font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; color: rgba(35,35,40,.7); }
.vg-fo-toolbar > button:hover { background: #F1F4F8; color: #232328; }
.vg-fo-toolbar__hint { font-size: 12px; color: rgba(35,35,40,.45); margin-left: 6px; }
.vg-fo-gamepick { position: relative; }
.vg-fo-gamepick > button { background: none; border: 1px solid transparent; border-radius: 8px; padding: 5px 9px; font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; color: rgba(35,35,40,.7); }
.vg-fo-gamepick > button:hover { background: #F1F4F8; color: #232328; }
.vg-fo-gamepick__pop { position: absolute; top: 100%; left: 0; z-index: 40; width: 320px; max-width: 90vw; background: #fff; border: 1px solid #E6EAF0; border-radius: 12px; box-shadow: 0 14px 34px rgba(16,24,40,.14); padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.vg-fo-gamepick__pop input { width: 100%; border: 1px solid #E1E6EE; border-radius: 8px; padding: 8px 10px; font: inherit; font-size: 14px; margin-bottom: 4px; outline: none; }
.vg-fo-gamepick__pop input:focus { border-color: #42dd70; }
.vg-fo-gamepick__pop button { display: flex; align-items: center; gap: 10px; background: none; border: 0; text-align: left; padding: 6px 8px; border-radius: 8px; cursor: pointer; font-size: 14px; color: #232328; }
.vg-fo-gamepick__pop button:hover { background: #F4F7FB; }
.vg-fo-gamepick__pop button img, .vg-fo-gamepick__pop button i { width: 34px; height: 46px; object-fit: cover; border-radius: 4px; background: #edefee; flex-shrink: 0; display: block; }
.vg-fo-gamepick__empty { font-size: 13px; color: rgba(35,35,40,.5); padding: 6px 8px; }
.vg-fo-mention { display: block; width: 100%; text-align: left; background: none; border: 0; cursor: pointer; padding: .45rem .7rem; border-radius: 8px; font-size: 14.5px; }
.vg-fo-mention:hover { background: #F4F7FB; }
.vg-fo-chip { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #E6EAF0; border-radius: 10px; padding: 5px 12px 5px 5px; font-size: 13.5px; color: #232328; margin-top: 8px; max-width: 100%; text-decoration: none; }
.vg-fo-chip img, .vg-fo-chip i { width: 30px; height: 40px; object-fit: cover; border-radius: 4px; flex-shrink: 0; background: #edefee; display: block; }
.vg-fo-chip span { display: flex; flex-direction: column; min-width: 0; }
.vg-fo-chip b { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.25; }
.vg-fo-chip small { font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; color: rgba(35,35,40,.55); text-transform: uppercase; letter-spacing: .04em; }
.vg-fo-chip button { background: none; border: 0; font-size: 18px; line-height: 1; cursor: pointer; color: rgba(35,35,40,.5); padding: 0 4px; }
.vg-fo-chip--link { text-decoration: none; }
.vg-fo-chip--link:hover { border-color: #232328; }
.vg-fo-poll-edit { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.vg-fo-poll-edit__row { display: flex; gap: 6px; align-items: center; }
.vg-fo-poll-edit__row input { flex-grow: 1; border: 1px solid #E1E6EE; border-radius: 10px; padding: 8px 12px; font: inherit; font-size: 14.5px; outline: none; }
.vg-fo-poll-edit__row input:focus { border-color: #42dd70; }
.vg-fo-poll-edit__row button { background: #F1F4F8; border: 0; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; font-size: 16px; }
.vg-fo-poll-edit__add { align-self: flex-start; background: none; border: 1px dashed #C9D1DB; border-radius: 999px; padding: 6px 12px; font-size: 13px; cursor: pointer; color: rgba(35,35,40,.7); }

/* karty vláken */
.vg-fo-card { background: #fff; border: 1px solid #E6EAF0; border-radius: 16px; padding: 14px 18px 12px; margin-bottom: 10px; transition: box-shadow .15s, border-color .15s; }
.vg-fo-card:hover { box-shadow: 0 10px 28px rgba(16,24,40,.08); border-color: #D7DDE5; }
.vg-fo-card.is-pinned { border-color: #232328; }
.vg-fo-card.is-system { background: #2d313a; border-color: #2d313a; color: #fff; }
.vg-fo-card.is-system .vg-fo-card__link, .vg-fo-card.is-system .vg-fo-card__title { color: #fff; }
.vg-fo-card.is-system .vg-fo-card__link:hover .vg-fo-card__title { color: #42dd70; }
.vg-fo-card.is-system .vg-fo-card__excerpt { color: rgba(255,255,255,.7); }
.vg-fo-card.is-system .vg-fo-mono, .vg-fo-card.is-system .vg-fo-card__foot { color: rgba(255,255,255,.55); }
.vg-fo-card.is-system .vg-fo-tag { background: rgba(255,255,255,.1); color: #fff; }
.vg-fo-card.is-system .vg-fo-badge--sys { background: #42dd70; color: #232328; }
.vg-fo-card.is-system .vg-fo-mono--green { color: #42dd70; }
.vg-fo-card.is-system .vg-fo-chip { background: #232328; border-color: #232328; color: #fff; }
.vg-fo-card.is-system .vg-fo-chip small { color: rgba(255,255,255,.55); }
.vg-fo-card.is-system .vg-fo-card__stat { color: inherit; }
.vg-fo-card__top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.vg-fo-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-grow: 1; min-width: 0; font-size: 13.5px; flex-wrap: wrap; }
.vg-fo-card__who { display: inline-flex; align-items: center; gap: 8px; }
.vg-fo-card__tags { display: flex; gap: 6px; align-items: center; }
.vg-fo-card__link { display: block; text-decoration: none; color: #232328; }
.vg-fo-card__title { font-size: 18.5px; line-height: 1.3; margin: 0 0 4px; font-weight: 700; }
.vg-fo-card__link:hover .vg-fo-card__title { color: #2fb85a; }
.vg-fo-card__excerpt { font-size: 14.5px; line-height: 1.5; color: rgba(35,35,40,.72); margin: 0; }
.vg-fo-card__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 10px; font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; color: rgba(35,35,40,.6); }
.vg-fo-card__stat { display: inline-flex; align-items: center; gap: 5px; color: inherit; text-decoration: none; }
.vg-fo-card__stat svg, .vg-fo-post__actions svg { display: inline-block; vertical-align: middle; }
a.vg-fo-card__stat:hover { color: #2fb85a; }
.vg-fo-card__stat--right { margin-left: auto; font-size: 12.5px; }

/* dění (řádky) */
.vg-fo-row { display: flex; align-items: center; gap: 12px; padding: 9px 14px 9px 0; border-bottom: 1px solid #edefee; margin: 0 0 4px; font-size: 14px; }
.vg-fo-row__label { flex-shrink: 0; width: 76px; font-family: Iosevka, ui-monospace, monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #2fb85a; }
.vg-fo-row__body { flex: 1 1 0; min-width: 180px; display: flex; flex-direction: column; gap: 2px; }
.vg-fo-row__text { color: rgba(35,35,40,.8); line-height: 1.45; }
.vg-fo-row__text a { color: #232328; font-weight: 600; text-decoration: none; }
.vg-fo-row__text a:hover { color: #2fb85a; }
.vg-fo-row__sub { font-size: 13px; color: rgba(35,35,40,.55); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-fo-row__covers { display: flex; gap: 4px; flex-shrink: 0; }
.vg-fo-row__covers img { width: 34px; height: 46px; object-fit: cover; border-radius: 4px; display: block; }
.vg-fo-row__thumb { flex-shrink: 0; }
.vg-fo-row__thumb img { width: 36px; height: 48px; object-fit: cover; border-radius: 4px; display: block; }
.vg-fo-row__thumb--wide img { width: 64px; height: 40px; }
.vg-fo-row__time { flex-shrink: 0; font-family: Iosevka, ui-monospace, monospace; font-size: 12px; color: rgba(35,35,40,.45); white-space: nowrap; }
.vg-fo-empty { text-align: center; color: rgba(35,35,40,.6); padding: 2.5rem 1rem; border: 1px dashed #D7DDE5; border-radius: 16px; font-size: 15px; }

/* pravý sloupec */
.vg-fo-side { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 14px; }
.vg-fo-box { background: #fff; border: 1px solid #E6EAF0; border-radius: 16px; padding: 14px 16px; }
.vg-fo-box__h { display: flex; align-items: baseline; gap: 8px; font-family: Iosevka, ui-monospace, monospace; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 8px; color: #232328; }
.vg-fo-box__n { color: #42dd70; font-weight: 500; }
.vg-fo-box__lead { font-size: 12.5px; color: rgba(35,35,40,.55); margin: -4px 0 8px; }
.vg-fo-box--dark { background: #2d313a; border-color: #2d313a; color: #fff; }
.vg-fo-box--dark .vg-fo-box__h { color: #fff; }
.vg-fo-box--dark .vg-fo-box__lead { color: rgba(255,255,255,.6); }
.vg-fo-box--dark .vg-fo-box__row { color: #fff; border-color: rgba(255,255,255,.1); }
.vg-fo-box--dark .vg-fo-box__row:hover .vg-fo-box__title { color: #42dd70; }
.vg-fo-box--dark .vg-fo-box__sub { color: rgba(255,255,255,.55); }
.vg-fo-box--dark .vg-fo-box__more { color: #42dd70; }
.vg-fo-box__row { display: block; text-decoration: none; color: #232328; padding: 6px 0; border-top: 1px solid #EEF1F5; }
.vg-fo-box__row:first-of-type { border-top: 0; }
.vg-fo-box__row:hover .vg-fo-box__title { color: #2fb85a; }
.vg-fo-box__title { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.vg-fo-box__sub { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; color: rgba(35,35,40,.5); margin-top: 2px; }
.vg-fo-box__more { display: inline-block; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: #2fb85a; text-decoration: none; }
.vg-fo-box__tags { display: flex; flex-wrap: wrap; gap: 5px; }
.vg-fo-box--rules ul { margin: 0; padding-left: 18px; font-size: 12.5px; color: rgba(35,35,40,.65); line-height: 1.5; }
.vg-fo-box--rules li + li { margin-top: 3px; }
.vg-fo-people { display: flex; flex-direction: column; gap: 4px; }
.vg-fo-people__item { display: flex; align-items: center; gap: 8px; text-decoration: none; color: #232328; font-size: 13.5px; padding: 3px 0; }
.vg-fo-people__item .vg-fo-avatar { width: 28px; height: 28px; font-size: 12px; }
.vg-fo-people__name { font-weight: 600; flex-grow: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-fo-people__item:hover .vg-fo-people__name { color: #2fb85a; }
.vg-fo-fab { position: fixed; right: 18px; bottom: 86px; z-index: 900; width: 54px; height: 54px; border-radius: 50%; background: #42dd70; color: #232328; font-size: 30px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 10px 24px rgba(16,24,40,.22); }

/* vlákno */
.vg-fo-thread__head { margin-bottom: 16px; }
.vg-fo-thread__title { font-size: 30px; line-height: 1.25; margin: 0 0 10px; }
.vg-fo-thread__bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.vg-fo-thread__h2 { font-size: 18px; margin: 22px 0 10px; }
.vg-fo-thread__reply { margin-top: 26px; }
.vg-fo-post { display: flex; gap: 14px; border: 1px solid #E6EAF0; border-radius: 16px; padding: 16px 18px; background: #fff; margin-bottom: 10px; }
.vg-fo-post.is-first { border-color: #232328; }
.vg-fo-post.is-accepted { border-color: #42dd70; box-shadow: 0 0 0 3px rgba(66,221,112,.18); }
.vg-fo-post__head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; font-size: 13.5px; }
.vg-fo-post__name { font-weight: 700; color: #232328; text-decoration: none; font-size: 15px; }
a.vg-fo-post__name:hover { color: #2fb85a; }
.vg-fo-post__time { font-family: Iosevka, ui-monospace, monospace; color: rgba(35,35,40,.5); font-size: 12px; }
.vg-fo-post__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin: 10px 0 0 -8px; }
.vg-fo-post__actions button { display: inline-flex; align-items: center; gap: 5px; background: none; border: 0; cursor: pointer; padding: 4px 8px; font-size: 13px; color: rgba(35,35,40,.6); border-radius: 8px; }
.vg-fo-post__actions button:hover { background: #F1F4F8; color: #232328; }
.vg-fo-post__actions button.is-on { color: #2fb85a; font-weight: 700; }
.vg-fo-post__actions button.is-danger { color: #e5484d; }
.vg-fo-post__actions button:disabled { cursor: default; }
.vg-fo-accepted { margin: 4px 0 14px; }
.vg-fo-accepted__label { font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: #2fb85a; margin-bottom: 4px; }
.vg-fo-body { font-size: 15.5px; line-height: 1.65; overflow-wrap: break-word; }
.vg-fo-p { display: block; white-space: pre-wrap; }
.vg-fo-p + .vg-fo-p { margin-top: 8px; }
.vg-fo-quote { display: block; border-left: 3px solid #42dd70; background: #edefee; border-radius: 0 8px 8px 0; padding: .5rem .8rem; margin: .35rem 0; color: rgba(35,35,40,.75); white-space: pre-wrap; font-size: .94em; }
.vg-fo-list { margin: 4px 0 6px; padding-left: 22px; }
.vg-fo-link { color: #2fb85a; font-weight: 600; text-decoration: none; word-break: break-all; }
.vg-fo-link:hover { text-decoration: underline; }
.vg-fo-mention-link { color: #2fb85a; font-weight: 600; text-decoration: none; }
.vg-fo-code { font-family: Iosevka, ui-monospace, monospace; font-size: .92em; background: #F1F4F8; border-radius: 4px; padding: 1px 5px; }
.vg-fo-img { display: block; max-width: 100%; max-height: 520px; border-radius: 12px; margin: 8px 0; }
.vg-fo-gamecard { display: flex; align-items: center; gap: 12px; border: 1px solid #E6EAF0; border-radius: 12px; padding: 8px 12px 8px 8px; background: #fff; text-decoration: none; color: #232328; margin: 8px 0; max-width: 420px; }
.vg-fo-gamecard:hover { border-color: #42dd70; }
.vg-fo-gamecard img { width: 48px; height: 64px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.vg-fo-gamecard__noimg { width: 48px; height: 64px; display: inline-block; background: #edefee; border-radius: 6px; flex-shrink: 0; }
.vg-fo-gamecard b { display: block; font-size: 15px; line-height: 1.3; }
.vg-fo-gamecard small { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: rgba(35,35,40,.55); }
.vg-fo-poll { border: 1px solid #E6EAF0; border-radius: 16px; padding: 14px 16px; background: #fff; margin: -2px 0 12px; display: flex; flex-direction: column; gap: 6px; }
.vg-fo-poll__opt { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid #D7DDE5; border-radius: 10px; padding: 10px 14px; background: #fff; font: inherit; font-size: 14.5px; font-weight: 600; color: #232328; cursor: pointer; text-align: left; }
.vg-fo-poll__opt:hover:not(:disabled) { border-color: #42dd70; }
.vg-fo-poll__opt:disabled { cursor: default; }
.vg-fo-poll__opt.is-mine { border-color: #42dd70; }
.vg-fo-poll__bar { position: absolute; inset: 0 auto 0 0; background: #E6F8EC; z-index: 0; transition: width .3s; }
.vg-fo-poll__opt.is-mine .vg-fo-poll__bar { background: rgba(66,221,112,.35); }
.vg-fo-poll__label, .vg-fo-poll__pct { position: relative; z-index: 1; }
.vg-fo-poll__pct { font-family: Iosevka, ui-monospace, monospace; font-size: 13px; color: rgba(35,35,40,.65); }
.vg-fo-poll__foot { font-family: Iosevka, ui-monospace, monospace; font-size: 12px; color: rgba(35,35,40,.55); margin-top: 2px; }
.vg-fo-reply { margin-top: 4px; }

/* diskuze na kartě hry */
.vg-fo-game { }
.vg-fo-game__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.vg-fo-game__head a { font-size: 13.5px; font-weight: 600; color: #2fb85a; text-decoration: none; }

@media (max-width: 991px) {
  .vg-fo__grid { grid-template-columns: 1fr; }
  .vg-fo-side { position: static; }
  .vg-fo__title { font-size: 32px; }
}
@media (max-width: 767px) {
  .vg-fo__title { font-size: 28px; }
  .vg-fo__lead { display: none; }
  .vg-fo-compose { padding: 12px; }
  .vg-fo-compose__kinds { display: none; }
  .vg-fo-card { padding: 12px 14px 10px; }
  .vg-fo-card__title { font-size: 17px; }
  .vg-fo-card__tags .vg-fo-badge { display: none; }
  .vg-fo-row { flex-wrap: wrap; padding-right: 0; }
  .vg-fo-row__label { width: auto; }
  .vg-fo-row__time { width: 100%; text-align: right; margin-top: -4px; }
  .vg-fo-today { font-size: 13px; padding: 9px 12px; }
  .vg-fo-thread__title { font-size: 24px; }
  .vg-fo-post { padding: 12px; gap: 10px; }
  .vg-fo-avatar--lg { width: 36px; height: 36px; }
}

/* ── Archiv studií /studia — stejná kostra jako /hry (vg-hx), vlastní karty ── */
.vg-sx-card__logo { display: block; position: relative; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: #2d313a; margin-bottom: 8px; }
.vg-sx-card__logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-sx-card__logo svg { width: 100%; height: 100%; display: block; }
.vg-sx-row__logo { aspect-ratio: 1 / 1; }
.vg-sx-row__logo svg { width: 100%; height: 100%; display: block; }
.vg-sx-row__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; line-height: 1.45; color: rgba(35,35,40,.65); margin-top: 4px; }
.vg-hx-badge--ended { background: rgba(255,255,255,.18); color: #fff; backdrop-filter: blur(4px); }
.vg-hx-row__side .vg-hx-badge--ended { background: #edefee; color: rgba(35,35,40,.65); }
.vg-sx-suggest__logo { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; }
.vg-sx-suggest__logo i { font-style: normal; font-family: Iosevka, ui-monospace, monospace; font-weight: 700; color: #42dd70; font-size: 16px; }
@media (max-width: 767px) { .vg-sx .vg-hx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── Rozhovory — videotéka ───────────────────────────────────────────── */
.vg-iv__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 18px; }
.vg-iv__crumbs { font-family: Iosevka, ui-monospace, monospace; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: rgba(35,35,40,.5); margin-bottom: 8px; }
.vg-iv__crumbs a { color: inherit; text-decoration: none; }
.vg-iv__stats { display: flex; gap: 22px; flex-wrap: wrap; font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; color: rgba(35,35,40,.55); padding-bottom: 6px; }
.vg-iv__stats b { color: #42dd70; font-weight: 500; font-size: 18px; letter-spacing: 0; margin-right: 4px; }
.vg-iv-kicker { font-family: Iosevka, ui-monospace, monospace; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #42dd70; }
.vg-iv-kicker--muted { color: rgba(255,255,255,.55); display: flex; justify-content: space-between; gap: 10px; }
.vg-iv-kicker__link { color: #42dd70; text-decoration: none; }
.vg-iv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #42dd70; color: #232328; border: 0; border-radius: 999px; padding: 11px 22px; font-size: 14.5px; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.3; white-space: nowrap; }
.vg-iv-btn:hover { background: #36cc62; color: #232328; text-decoration: none; }
.vg-iv-btn__sub { font-family: Iosevka, ui-monospace, monospace; font-weight: 400; font-size: 12px; }
.vg-iv-btn--ghost { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.vg-iv-btn--ghost:hover { background: rgba(255,255,255,.18); color: #fff; }
.vg-iv-btn--ghost.is-on { background: #42dd70; color: #232328; border-color: #42dd70; }
.vg-iv-btn--light { background: #fff; color: #232328; border: 1px solid #D7DDE5; }
.vg-iv-btn--light:hover { background: #F4F7FB; color: #232328; }
.vg-iv-btn--light.is-on { background: #232328; color: #42dd70; border-color: #232328; }
.vg-iv-btn--sm { padding: 7px 13px; font-size: 12.5px; }

/* hero */
.vg-iv-hero { background: #232328; border-radius: 22px; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; color: #fff; margin-bottom: 8px; }
.vg-iv-hero__main { min-width: 0; }
.vg-iv-hero__text { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-top: 18px; flex-wrap: wrap; }
.vg-iv-hero__title { font-size: 26px; line-height: 1.2; margin: 6px 0 8px; }
.vg-iv-hero__title a { color: #fff; text-decoration: none; }
.vg-iv-hero__title a:hover { color: #42dd70; }
.vg-iv-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.vg-iv-chip { display: inline-flex; align-items: center; background: rgba(255,255,255,.12); color: #fff; border-radius: 999px; padding: 3px 10px; font-size: 12.5px; font-weight: 600; text-decoration: none; }
.vg-iv-chip:hover { background: rgba(255,255,255,.22); color: #fff; }
.vg-iv-chip--guest { background: #42dd70; color: #232328; }
.vg-iv-chip--guest:hover { background: #36cc62; color: #232328; }
.vg-iv-hero__actions { display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; align-items: flex-end; }
.vg-iv-hero__row { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.vg-iv-hero__row .vg-iv-btn { padding: 9px 14px; font-size: 13px; }
.vg-iv-hero__side { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.vg-iv-hero__subscribe { margin-top: auto; display: flex; gap: 6px; flex-wrap: wrap; padding-top: 6px; }
.vg-iv-player { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; }
.vg-iv-player__frame, .vg-iv-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vg-iv-player__poster { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; background: #000; cursor: pointer; display: block; }
.vg-iv-player__poster img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .9; }
.vg-iv-player__play { position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; background: #42dd70; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 40px rgba(0,0,0,.45); transition: transform .15s; }
.vg-iv-player__poster:hover .vg-iv-player__play { transform: scale(1.06); }
.vg-iv-player__resume { position: absolute; left: 12px; bottom: 12px; background: rgba(0,0,0,.7); color: #fff; font-family: Iosevka, ui-monospace, monospace; font-size: 12px; padding: 4px 10px; border-radius: 999px; }

/* karty */
.vg-iv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 20px; transition: opacity .15s; }
.vg-iv-grid.is-pending { opacity: .6; }
.vg-iv-card { display: block; color: #232328; text-decoration: none; min-width: 0; }
.vg-iv-card:hover { color: #232328; text-decoration: none; }
.vg-iv-thumb { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #2d313a; }
.vg-iv-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-iv-thumb__empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #42dd70; font-weight: 700; font-size: 28px; }
.vg-iv-dur { position: absolute; right: 8px; bottom: 8px; background: rgba(20,21,25,.85); color: #fff; font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; padding: 2px 7px; border-radius: 6px; }
.vg-iv-dur--text { background: rgba(255,255,255,.85); color: #232328; }
.vg-iv-ep { position: absolute; left: 8px; top: 8px; background: #42dd70; color: #232328; font-family: Iosevka, ui-monospace, monospace; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 999px; letter-spacing: .06em; text-transform: uppercase; }
.vg-iv-ep--dark { background: #232328; color: #42dd70; }
.vg-iv-thumb__play { position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: rgba(255,255,255,.92); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .15s; }
.vg-iv-card:hover .vg-iv-thumb__play, .vg-iv-row:hover .vg-iv-thumb__play, .vg-iv-mini:hover .vg-iv-thumb__play { opacity: 1; }
.vg-iv-thumb__done { position: absolute; left: 8px; bottom: 8px; background: rgba(66,221,112,.95); color: #232328; font-family: Iosevka, ui-monospace, monospace; font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; padding: 2px 7px; border-radius: 6px; }
.vg-iv-thumb__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.25); }
.vg-iv-thumb__bar span { display: block; height: 100%; background: #42dd70; }
.vg-iv-card__name { display: block; font-weight: 700; font-size: 16px; line-height: 1.3; margin-top: 10px; }
.vg-iv-card:hover .vg-iv-card__name { color: #2fb85a; }
.vg-iv-card__meta { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 12px; color: rgba(35,35,40,.55); margin-top: 3px; }
.vg-iv-card__chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.vg-iv-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 16px; align-items: start; padding: 12px; border: 1px solid #E6EAF0; border-radius: 14px; background: #fff; color: #232328; text-decoration: none; }
.vg-iv-row:hover { border-color: #42dd70; color: #232328; text-decoration: none; }
.vg-iv-row__title { display: block; font-weight: 700; font-size: 16.5px; line-height: 1.25; }
.vg-iv-row__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; line-height: 1.45; color: rgba(35,35,40,.65); margin-top: 4px; }
.vg-iv-mini { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 12px; align-items: center; color: #fff; text-decoration: none; }
.vg-iv-mini:hover { color: #fff; text-decoration: none; }
.vg-iv-mini:hover .vg-iv-mini__title { color: #42dd70; }
.vg-iv-mini__thumb { border-radius: 8px; }
.vg-iv-mini .vg-iv-ep { display: none; }
.vg-iv-mini__kicker { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11px; color: #42dd70; text-transform: uppercase; letter-spacing: .06em; }
.vg-iv-mini__title { display: block; font-weight: 700; font-size: 14.5px; line-height: 1.3; }

/* řady, hosté */
.vg-iv-rail { margin-top: 40px; }
.vg-iv-rail__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.vg-iv-rail__head h2 { font-size: 26px; margin: 0; }
.vg-iv-rail__sub { font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; font-weight: 400; color: rgba(35,35,40,.55); text-transform: uppercase; letter-spacing: .06em; margin-left: 10px; }
.vg-iv-rail__more { font-size: 13.5px; font-weight: 700; color: #2fb85a; white-space: nowrap; text-decoration: none; }
.vg-iv-guests { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.vg-iv-guests--all { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.vg-iv-guest { display: block; text-align: center; color: #232328; text-decoration: none; min-width: 0; }
.vg-iv-guest:hover { color: #232328; text-decoration: none; }
.vg-iv-guest__face { display: flex; align-items: center; justify-content: center; width: 112px; height: 112px; margin: 0 auto; border-radius: 50%; overflow: hidden; background: #2d313a; color: #42dd70; font-weight: 700; font-size: 34px; border: 3px solid transparent; transition: border-color .15s; }
.vg-iv-guest:hover .vg-iv-guest__face { border-color: #42dd70; }
.vg-iv-guest__face img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 25%; }
.vg-iv-guest__name { display: block; font-weight: 700; font-size: 15px; line-height: 1.3; margin-top: 10px; }
.vg-iv-guest__sub { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; color: rgba(35,35,40,.55); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-iv-guests__group { margin-top: 28px; }
.vg-iv-guests__letter { font-family: Iosevka, ui-monospace, monospace; font-size: 14px; letter-spacing: .1em; color: #42dd70; border-bottom: 1px solid #E6EAF0; padding-bottom: 6px; margin-bottom: 16px; }
.vg-iv-alpha { display: flex; flex-wrap: wrap; gap: 4px; margin: 14px 0 8px; }
.vg-iv-alpha .vg-hx-alpha__l { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }

/* zmínky v přepisech */
.vg-iv-mentions { margin-top: 24px; background: #2d313a; color: #fff; border-radius: 22px; padding: 26px 30px; display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 30px; align-items: start; }
.vg-iv-mentions__intro h2 { font-size: 24px; margin: 6px 0 8px; line-height: 1.2; }
.vg-iv-mentions__intro p { margin: 0; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.7); }
.vg-iv-mentions__list { display: flex; flex-direction: column; gap: 8px; }
.vg-iv-mention { background: #232328; border-radius: 12px; padding: 12px 14px; display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 14px; align-items: center; color: #fff; text-decoration: none; }
.vg-iv-mention:hover { color: #fff; text-decoration: none; outline: 1px solid #42dd70; }
.vg-iv-mention__thumb { display: block; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: #0f1115; }
.vg-iv-mention__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-iv-mention__kicker { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11px; color: #42dd70; text-transform: uppercase; letter-spacing: .06em; }
.vg-iv-mention__text { display: block; font-size: 14px; line-height: 1.5; margin-top: 2px; color: rgba(255,255,255,.88); }
.vg-iv-mention__text mark { background: #42dd70; color: #232328; padding: 0 3px; border-radius: 3px; }

/* spodní explorer */
.vg-iv-explorer { margin-top: 48px; padding-top: 8px; }
.vg-iv-explorer .vg-hx__head { margin-bottom: 12px; }
.vg-iv-explorer .vg-hx-search { margin-top: 10px; }

/* detail článku: lišta rozhovoru */
.vg-iv-article { background: #232328; color: #fff; border-radius: 22px; padding: 18px 20px 20px; margin-bottom: 24px; }
.vg-iv-article__bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.vg-iv-article__nav { display: flex; gap: 8px; flex-wrap: wrap; }
.vg-iv-article__nav .vg-iv-btn { padding: 8px 14px; font-size: 13px; }
.vg-iv-transcript-hit { background: #42dd70; color: #232328; padding: 0 3px; border-radius: 3px; }

/* box rozhovorů na kartě hry / studia / tvůrce */
.vg-iv-box { margin-bottom: 8px; }
.vg-iv-box__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }

@media (max-width: 1199px) { .vg-iv-guests { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991px) {
  .vg-iv-hero { grid-template-columns: 1fr; }
  .vg-iv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vg-iv-mentions { grid-template-columns: 1fr; }
  .vg-iv-guests, .vg-iv-guests--all { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vg-iv-box__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .vg-iv-hero { padding: 12px; border-radius: 16px; }
  .vg-iv-hero__title { font-size: 20px; }
  .vg-iv-hero__actions { align-items: flex-start; }
  .vg-iv-hero__row { justify-content: flex-start; }
  .vg-iv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .vg-iv-row { grid-template-columns: 120px minmax(0, 1fr); }
  .vg-iv-row__excerpt { display: none; }
  .vg-iv-mention { grid-template-columns: minmax(0, 1fr); }
  .vg-iv-mention__thumb { display: none; }
  .vg-iv-guests, .vg-iv-guests--all { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-iv-guest__face { width: 88px; height: 88px; }
  .vg-iv__stats { gap: 14px; }
  .vg-iv-rail__sub { display: none; }
  .vg-iv-box__grid { grid-template-columns: 1fr; }
}

/* ── Inzerce 2 — hlavička, hlídací pes, výpis, moje inzerce ─────────────── */
.vg-jobs-hero--v2 { padding: 44px 0 40px; }
.vg-jh { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 36px; align-items: stretch; }
.vg-jh__main { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.vg-jh__main .vg-jobs-hero__title { font-size: 44px; }
.vg-jh__main .vg-jobs-hero__lead { margin-bottom: 18px; }
.vg-jh__main .vg-jobs-hero__stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin-top: 36px; padding-top: 0; gap: 12px; }
.vg-jh__main .vg-jobs-hero__stats > div { gap: 10px; min-width: 0; }
.vg-jh__main .vg-jobs-hero__num { font-size: clamp(30px, 3.4vw, 50px); }
.vg-jh__main .vg-jobs-hero__label { font-size: 12px; max-width: none; line-height: 1.3; }
.vg-jh__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.vg-jh__chip { display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.22); color: #fff; border-radius: 999px; padding: 6px 13px; font-size: 13px; font-weight: 600; text-decoration: none; }
.vg-jh__chip:hover { border-color: #42dd70; color: #fff; text-decoration: none; }
.vg-jh__chip.is-on { background: #42dd70; border-color: #42dd70; color: #232328; }
.vg-hs__clear { border: 0; background: #edefee; width: 26px; height: 26px; border-radius: 50%; font-size: 17px; line-height: 1; cursor: pointer; color: #232328; flex-shrink: 0; }
.vg-jh-studios { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.vg-jh-studio { display: block; text-align: center; color: #232328; text-decoration: none; border: 1px solid #E6EAF0; border-radius: 14px; padding: 14px 10px; background: #fff; min-width: 0; }
.vg-jh-studio:hover { border-color: #42dd70; color: #232328; text-decoration: none; }
.vg-jh-studio__logo { position: relative; display: block; width: 64px; height: 64px; margin: 0 auto 8px; border-radius: 12px; overflow: hidden; background: #2d313a; }
.vg-jh-studio__logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.vg-jh-studio__name { display: block; font-weight: 700; font-size: 14px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-jh-studio__meta { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11.5px; color: rgba(35,35,40,.55); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* hlídací pes */
.vg-ja { position: relative; border-radius: 18px; padding: 20px 22px; background: #fff; border: 1px solid #E6EAF0; color: #232328; }
.vg-ja--dark { background: #2d313a; border-color: #2d313a; color: #fff; }
.vg-ja--compact { padding: 18px 20px; }
.vg-ja__head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.vg-ja__icon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; background: #42dd70; color: #232328; display: inline-flex; align-items: center; justify-content: center; }
.vg-ja__title { font-size: 18px; margin: 0 0 2px; display: flex; align-items: center; gap: 8px; }
.vg-ja__on { font-family: Iosevka, ui-monospace, monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #42dd70; border: 1px solid #42dd70; border-radius: 999px; padding: 1px 8px; }
.vg-ja__text { margin: 0; font-size: 13.5px; line-height: 1.5; color: rgba(35,35,40,.65); }
.vg-ja--dark .vg-ja__text { color: rgba(255,255,255,.65); }
.vg-ja__group { margin-top: 10px; }
.vg-ja__label { display: block; font-family: Iosevka, ui-monospace, monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: rgba(35,35,40,.5); margin-bottom: 5px; }
.vg-ja--dark .vg-ja__label { color: rgba(255,255,255,.5); }
.vg-ja__chips { display: flex; flex-wrap: wrap; gap: 5px; }
.vg-ja__chip { border: 1px solid #D7DDE5; background: #fff; color: #232328; border-radius: 999px; padding: 4px 11px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.vg-ja__chip--dark { border-color: rgba(255,255,255,.22); background: transparent; color: #fff; }
.vg-ja__chip.is-on { background: #42dd70; border-color: #42dd70; color: #232328; }
.vg-ja__more { background: none; border: 0; color: #2fb85a; font-size: 13px; font-weight: 700; cursor: pointer; padding: 8px 0 0; }
.vg-ja__input { width: 100%; border: 1px solid #D7DDE5; border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 14px; background: #fff; color: #232328; }
.vg-ja__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.vg-ja__email { flex: 1 1 180px; }
.vg-ja__seg { display: inline-flex; background: rgba(127,127,127,.15); border-radius: 999px; padding: 3px; }
.vg-ja__seg button { background: none; border: 0; border-radius: 999px; padding: 5px 11px; font-size: 12.5px; font-weight: 600; cursor: pointer; color: inherit; }
.vg-ja__seg button.is-on { background: #232328; color: #42dd70; }
.vg-ja--dark .vg-ja__seg button.is-on { background: #42dd70; color: #232328; }
.vg-ja__btn { padding: 9px 18px; font-size: 14px; }
.vg-ja__consent { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; margin: 10px 0 0; color: rgba(35,35,40,.65); }
.vg-ja--dark .vg-ja__consent { color: rgba(255,255,255,.65); }
.vg-ja__consent a { color: inherit; text-decoration: underline; }
.vg-ja__msg { margin: 10px 0 0; font-size: 13.5px; font-weight: 600; color: #2fb85a; }
.vg-ja__msg.is-err { color: #e5484d; }
.vg-ja__stop { background: none; border: 0; color: rgba(127,127,127,.8); font-size: 12.5px; cursor: pointer; padding: 8px 0 0; text-decoration: underline; }

/* řádky inzerátů */
.vg-jx__list { display: flex; flex-direction: column; gap: 12px; transition: opacity .15s; }
.vg-jx__list.is-pending { opacity: .6; }
.vg-jx .vg-hx-bar { border-top: 0; padding-top: 0; }
.vg-jrow { display: flex; align-items: center; gap: 18px; padding: 1rem 1.2rem; border: 1px solid #E6EAF0; border-radius: 16px; background: #fff; color: #232328; text-decoration: none; transition: box-shadow .15s, border-color .15s; }
.vg-jrow:hover { color: #232328; text-decoration: none; box-shadow: 0 10px 28px rgba(16,24,40,.08); border-color: #D7DDE5; }
.vg-jrow.is-featured { border-color: #42dd70; }
.vg-jrow--lg { padding: 1.25rem 1.5rem; gap: 22px; }
.vg-jrow__logo { width: 72px; height: 72px; flex-shrink: 0; border-radius: 14px; background: #232328; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #42dd70; font-weight: 700; font-size: 24px; }
.vg-jrow__logo img { max-width: 82%; max-height: 82%; object-fit: contain; }
.vg-jrow__body { min-width: 0; flex: 1; }
.vg-jrow__titlerow { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.vg-jrow__title { font-weight: 700; font-size: 19px; line-height: 1.3; }
.vg-jrow:hover .vg-jrow__title { color: #2fb85a; }
.vg-jrow__badge { background: #232328; color: #42dd70; font-family: Iosevka, ui-monospace, monospace; font-size: 10.5px; letter-spacing: .1em; padding: 2px 7px; border-radius: 4px; }
.vg-jrow__badge--hot { background: #F0454B; color: #fff; }
.vg-jrow__badge--ok { background: #E6F8EC; color: #1f9a46; }
.vg-jrow__company { display: block; font-size: 15px; color: rgba(35,35,40,.7); margin: 2px 0 10px; }
.vg-jrow__chips { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.vg-jrow__chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 6px; font-size: 13px; font-weight: 500; background: #edeef2; color: #3b3f47; white-space: nowrap; }
.vg-jrow__chip--place { background: rgba(66,221,112,.16); color: #1e7a3e; }
.vg-jrow__chip--place i { width: 6px; height: 6px; border-radius: 50%; background: #1e9e4c; }
.vg-jrow__chip--line { background: #fff; border: 1px solid #d6dae0; color: #232328; }
.vg-jrow__chip--team { background: #232328; color: #42dd70; }
.vg-jrow__side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex-shrink: 0; }
.vg-jrow__sidetop { display: flex; align-items: center; gap: 10px; }
.vg-jrow__salary { background: #f7c234; color: #232328; font-weight: 700; font-size: 14.5px; border-radius: 8px; padding: 6px 12px; white-space: nowrap; }
.vg-jrow__ends { font-family: Iosevka, ui-monospace, monospace; font-size: 12px; color: rgba(35,35,40,.5); }
.vg-jrow__ends.is-soon { color: #d9480f; }
.vg-jsave { display: inline-flex; align-items: center; gap: 6px; width: 34px; height: 34px; justify-content: center; border-radius: 50%; border: 1px solid #E1E6EE; background: #fff; color: rgba(35,35,40,.5); cursor: pointer; text-decoration: none; }
.vg-jsave:hover { border-color: #f7c234; color: #b8860b; }
.vg-jsave.is-on { color: #e0a800; border-color: #f7c234; background: #fff8e1; }
.vg-jsave--label { width: auto; border-radius: 999px; padding: 0 12px; font-size: 13px; font-weight: 600; }
.vg-ad-hero__side .vg-jsave { border-color: rgba(255,255,255,.3); background: transparent; color: #fff; }
.vg-ad-hero__side .vg-jsave.is-on { color: #f7c234; border-color: #f7c234; }
.vg-ad-hero__days { font-family: Iosevka, ui-monospace, monospace; font-size: 12px; color: rgba(255,255,255,.6); }
.vg-ad-badge--off { background: rgba(255,255,255,.15); color: #fff; padding: 8px 14px; border-radius: 999px; font-size: 13.5px; font-weight: 700; }
.vg-apply__cv { display: flex; align-items: center; gap: 8px; border: 1px dashed #C9D1DB; border-radius: 10px; padding: 9px 12px; font-size: 13.5px; color: rgba(35,35,40,.7); cursor: pointer; margin-bottom: 10px; }
.vg-apply__cv input { display: none; }
.vg-adtools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; background: #F4FBF6; border: 1px solid #cdeeda; border-radius: 14px; padding: 10px 14px; margin-bottom: 22px; }
.vg-adtools--compact { margin: 0; background: transparent; border: 0; padding: 0; }
.vg-adtools__state { font-family: Iosevka, ui-monospace, monospace; font-size: 12.5px; color: rgba(35,35,40,.6); margin-right: auto; }
.vg-adtools--compact .vg-adtools__state { margin-right: 4px; }

/* moje inzerce */
.vg-myad { border: 1px solid #E6EAF0; border-radius: 16px; padding: 14px 18px; background: #fff; }
.vg-myad__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.vg-myad__title { display: block; font-weight: 700; font-size: 18px; color: #232328; text-decoration: none; }
.vg-myad__title:hover { color: #2fb85a; }
.vg-resp { margin-top: 10px; }
.vg-resp__toggle { background: none; border: 0; color: #2fb85a; font-weight: 700; font-size: 13.5px; cursor: pointer; padding: 0; }
.vg-resp__item { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid #EEF1F5; }
.vg-resp__item.is-new { background: #F4FBF6; margin: 0 -18px; padding: 12px 18px; }
.vg-resp__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.vg-resp__msg { margin: 0; font-size: 14.5px; line-height: 1.55; white-space: pre-wrap; }
.vg-resp__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; font-size: 13px; }
.vg-resp__links a { color: #2fb85a; font-weight: 600; text-decoration: none; }

@media (max-width: 991px) {
  .vg-jh { grid-template-columns: 1fr; }
  .vg-jh-studios { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .vg-jobs-hero--v2 { padding: 28px 0 26px; }
  .vg-jh__main .vg-jobs-hero__title { font-size: 32px; }
  .vg-jh__main .vg-jobs-hero__stats { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 22px; gap: 14px 10px; }
  .vg-jh__main .vg-jobs-hero__num { font-size: 34px; }
  .vg-jrow { flex-wrap: wrap; gap: 12px; padding: 14px; }
  .vg-jrow__logo { width: 52px; height: 52px; font-size: 18px; }
  .vg-jrow__body { flex-basis: calc(100% - 64px); }
  .vg-jrow__title { font-size: 16.5px; }
  .vg-jrow__side { flex-direction: row; align-items: center; justify-content: space-between; width: 100%; }
  .vg-jh-studios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-ja__seg { width: 100%; }
  .vg-ja__seg button { flex: 1; }
}

/* ── Generátor obličejů (XichtEd) ── */
.vg-fl { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 32px; align-items: start; }
.vg-fl__head { margin-bottom: 20px; }
.vg-fl__lead { max-width: 760px; color: #4b5563; font-size: 15.5px; }
.vg-fl__stage { position: sticky; top: 90px; }
.vg-fl__canvas { background: #232328; border-radius: 10px; padding: 12px; }
.vg-fl__canvas canvas { width: 100%; height: auto; display: block; border-radius: 6px; image-rendering: auto; }
.vg-fl__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.vg-fl__msg { margin: 10px 0 0; font-size: 14px; color: #1f7a3a; }
.vg-fl__seed { margin: 8px 0 0; font-family: Iosevka, 'JetBrains Mono', monospace; font-size: 12px; color: #6b7280; letter-spacing: .04em; }
.vg-fl__panel { background: #2d313a; color: #e5e7eb; border-radius: 10px; padding: 18px 20px; }
.vg-fl__row--top { display: flex; flex-wrap: wrap; gap: 20px 32px; }
.vg-fl__label { display: block; font-family: Iosevka, 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #9ca3af; margin-bottom: 8px; }
.vg-fl__seg { display: inline-flex; border: 1px solid #4b5563; border-radius: 6px; overflow: hidden; }
.vg-fl__seg button { background: transparent; border: 0; color: #d1d5db; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.vg-fl__seg button + button { border-left: 1px solid #4b5563; }
.vg-fl__seg button.is-on { background: #42dd70; color: #111827; font-weight: 700; }
.vg-fl__parts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 6px 18px; }
.vg-fl__part, .vg-fl__color { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 4px 0; border-bottom: 1px solid #3b4049; }
.vg-fl__part.is-locked .vg-fl__part-name { color: #42dd70; }
.vg-fl__lock { background: none; border: 0; cursor: pointer; font-size: 13px; padding: 0 2px; opacity: .8; }
.vg-fl__part-name { width: 118px; flex-shrink: 0; font-size: 13px; color: #d1d5db; }
.vg-fl__arrow { background: #3b4049; border: 0; color: #fff; width: 26px; height: 26px; border-radius: 4px; cursor: pointer; font-size: 16px; line-height: 1; }
.vg-fl__arrow:hover { background: #42dd70; color: #111827; }
.vg-fl__value { flex: 1; min-width: 0; background: none; border: 0; color: #fff; text-align: left; font-family: Iosevka, 'JetBrains Mono', monospace; font-size: 13px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 4px; }
.vg-fl__value:hover { color: #42dd70; }
.vg-fl__count { color: #6b7280; font-size: 11px; }
.vg-fl__colors { display: grid; gap: 6px; }
.vg-fl__swatches { display: flex; flex-wrap: wrap; gap: 4px; }
.vg-fl__swatch { width: 20px; height: 20px; border-radius: 4px; border: 2px solid transparent; cursor: pointer; padding: 0; }
.vg-fl__swatch.is-on { border-color: #42dd70; box-shadow: 0 0 0 1px #111827 inset; }
@media (max-width: 900px) { .vg-fl { grid-template-columns: 1fr; } .vg-fl__stage { position: static; max-width: 360px; } }

/* ── Hero: dočasné video na pozadí (index-settings.heroVideo) ── */
.vg-hero-video .o-bg { position: relative; }
.vg-hero-video__v { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.vg-hero-video .o-bg::after { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(20,22,26,.55) 0%, rgba(20,22,26,.35) 40%, rgba(20,22,26,.75) 100%); pointer-events: none; }
@media (max-width: 767px), (prefers-reduced-motion: reduce) { .vg-hero-video__v { display: none; } }

/* ══ O projektu + Pro média (vg-ab-*) ══ */
.vg-ab { --ab-green: #42dd70; --ab-green-t: #22a04d; --ab-dark: #1c1f24; --ab-line: #e3e6ea; --ab-gray: #f1f3f6; --ab-text: #4b5260; color: #232328; }
.vg-ab-kicker { font-family: 'Iosevka Web', monospace; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ab-green-t); font-weight: 700; margin-bottom: 14px; }
.vg-ab-kicker--dark { color: var(--ab-green); }
.vg-ab-kicker--center { text-align: center; }
.vg-ab-h2 { font-size: clamp(26px, 3vw, 34px); line-height: 1.15; margin: 0 0 14px; letter-spacing: -.01em; }
.vg-ab-sub { color: var(--ab-text); font-size: 15.5px; max-width: 560px; margin: 0; }
.vg-ab-mono { font-family: 'Iosevka Web', monospace; font-size: .86em; color: #6b7280; }
.vg-ab-btn { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; font-size: 14.5px; font-weight: 700; text-decoration: none !important; cursor: pointer; border: 1px solid transparent; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
.vg-ab-btn--primary { background: var(--ab-green); color: #10241a !important; }
.vg-ab-btn--primary:hover { background: #5be585; }
.vg-ab-btn--outline { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.28); }
.vg-ab-btn--outline:hover { border-color: #fff; }
.vg-ab-btn--ghost { background: #fff; color: #232328 !important; border-color: var(--ab-line); }
.vg-ab-btn--ghost:hover { border-color: #232328; }
.vg-ab-btn--sm { height: 32px; padding: 0 12px; font-size: 13px; }

/* hlavička */
.vg-ab-hero { background: var(--ab-dark); color: #fff; padding: 28px 0 40px; }
.vg-ab-crumbs { font-size: 13px; color: rgba(255,255,255,.55); margin-bottom: 44px; }
.vg-ab-crumbs a { color: inherit; } .vg-ab-crumbs span { margin: 0 6px; }
.vg-ab-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.vg-ab-hero__title { color: #fff; font-size: clamp(34px, 4.6vw, 54px); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 20px; max-width: 560px; }
.vg-ab-hero__lead { color: rgba(255,255,255,.72); font-size: 16.5px; line-height: 1.6; max-width: 520px; margin: 0 0 28px; }
.vg-ab-hero__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.vg-ab-video { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #0f1114; border: 1px solid rgba(255,255,255,.1); }
.vg-ab-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vg-ab-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #0f1114; cursor: pointer; }
.vg-ab-video__poster img { width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: opacity .2s; }
.vg-ab-video__poster:hover img { opacity: 1; }
.vg-ab-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 50%; background: var(--ab-green); color: #10241a; display: flex; align-items: center; justify-content: center; padding-left: 4px; box-shadow: 0 10px 30px rgba(0,0,0,.45); transition: transform .15s; }
.vg-ab-video__poster:hover .vg-ab-video__play { transform: translate(-50%, -50%) scale(1.07); }
.vg-ab-video__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 16px 12px; text-align: left; font-size: 12.5px; color: rgba(255,255,255,.8); background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.vg-ab-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 44px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; }
.vg-ab-stats > div { padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vg-ab-stats > div + div { border-left: 1px solid rgba(255,255,255,.12); }
.vg-ab-stats__n { font-family: 'Iosevka Web', monospace; font-weight: 700; font-size: clamp(26px, 2.8vw, 36px); line-height: 1; color: #fff; letter-spacing: -.01em; }
.vg-ab-stats__n.is-accent { color: var(--ab-green); }
.vg-ab-stats__l { font-size: 12.5px; color: rgba(255,255,255,.6); }

/* podmenu */
.vg-ab-subnav { position: sticky; top: 65px; z-index: 20; background: #fff; border-bottom: 1px solid var(--ab-line); }
.vg-ab-subnav__in { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; }
.vg-ab-subnav__in::-webkit-scrollbar { display: none; }
.vg-ab-subnav__l { flex-shrink: 0; padding: 16px 0 14px; font-size: 14px; font-weight: 600; color: #5b6270 !important; text-decoration: none !important; border-bottom: 2px solid transparent; }
.vg-ab-subnav__l:hover { color: #232328 !important; }
.vg-ab-subnav__l.is-on { color: #232328 !important; border-bottom-color: var(--ab-green); }
.vg-ab-subnav__l.is-accent { color: var(--ab-green-t) !important; }
.vg-ab [id] { scroll-margin-top: 130px; }

/* sekce */
.vg-ab-sec { padding: 72px 0; }
.vg-ab-sec--tight { padding-top: 8px; }
.vg-ab-sec--gray { background: var(--ab-gray); }
.vg-ab-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; margin-bottom: 28px; }
.vg-ab-card { background: #fff; border: 1px solid var(--ab-line); border-radius: 12px; }
.vg-ab-ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: var(--ab-green); color: #10241a; flex-shrink: 0; }
.vg-ab-link { display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; font-weight: 700; color: var(--ab-green-t); }

.vg-ab-mission { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.vg-ab-mission p { color: var(--ab-text); font-size: 15.5px; line-height: 1.7; margin: 0 0 14px; }
.vg-ab-quote { margin: 0; background: var(--ab-gray); border-radius: 12px; padding: 30px 32px; }
.vg-ab-quote__mark { color: var(--ab-green); margin-bottom: 14px; }
.vg-ab-quote blockquote { margin: 0 0 18px; font-size: 20px; line-height: 1.45; font-weight: 700; color: #232328; }
.vg-ab-quote figcaption { font-size: 13px; color: #6b7280; }

.vg-ab-results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 10px; }
.vg-ab-result { display: flex; flex-direction: column; gap: 14px; padding: 22px; color: #232328 !important; text-decoration: none !important; transition: border-color .15s, transform .15s; }
.vg-ab-result:hover { border-color: var(--ab-green); transform: translateY(-2px); }
.vg-ab-result__t { font-weight: 700; font-size: 15.5px; line-height: 1.35; flex-grow: 1; }

.vg-ab-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-ab-chip { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--ab-line); font-size: 13.5px; color: #232328 !important; text-decoration: none !important; cursor: pointer; transition: border-color .15s; }
.vg-ab-chip:hover { border-color: #232328; }
.vg-ab-chip--more { background: #232328; border-color: #232328; color: #fff !important; font-weight: 700; }

.vg-ab-projects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 10px; }
.vg-ab-project { padding: 22px 24px; }
.vg-ab-project__head { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--ab-line); }
.vg-ab-project__head h3 { font-size: 17px; margin: 0; }
.vg-ab-project ul { list-style: none; padding: 0; margin: 0; }
.vg-ab-project li { position: relative; padding: 13px 0 13px 18px; font-size: 14px; line-height: 1.5; color: var(--ab-text); }
.vg-ab-project li + li { border-top: 1px solid #eef0f3; }
.vg-ab-project li::before { content: ''; position: absolute; left: 0; top: 20px; width: 7px; height: 7px; border-radius: 50%; background: var(--ab-green); }
.vg-ab-project li b { color: #232328; }
.vg-ab-project li a { color: inherit !important; text-decoration: none !important; }
.vg-ab-project li a:hover b { text-decoration: underline; }

.vg-ab-partners { margin-top: 64px; }
.vg-ab-partners__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.vg-ab-partner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; height: 76px; padding: 10px; border-radius: 10px; text-align: center; text-decoration: none !important; background: repeating-linear-gradient(-45deg, #eef0f3 0 8px, #e7eaee 8px 16px); }
.vg-ab-partner.has-logo { background: #f4f5f7; }
.vg-ab-partner { transition: background .2s; }
.vg-ab-partner img { max-width: 100%; max-height: 46px; object-fit: contain; filter: grayscale(1) brightness(0); opacity: .55; transition: filter .2s, opacity .2s; }
.vg-ab-partner.has-logo:hover { background: #fff; }
.vg-ab-partner.has-logo.is-light:hover { background: #232328; }
.vg-ab-partner.has-logo:hover img { filter: none; opacity: 1; }
.vg-ab-partner.is-light:hover .vg-ab-partner__note { color: rgba(255,255,255,.6); }
.vg-ab-partner__name { font-size: 13px; font-weight: 700; color: #3a3f48; }
.vg-ab-partner__note { font-size: 11px; color: #7a818c; }

/* pro média */
.vg-ab-press { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.vg-ab-pcard { padding: 22px 24px; }
.vg-ab-pcard--wide { grid-column: 1 / -1; }
.vg-ab-pcard h3 { font-size: 16.5px; margin: 0 0 16px; }
.vg-ab-pcard__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.vg-ab-pcard__head h3 { margin: 0; }
.vg-ab-logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.vg-ab-logo { display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none !important; }
.vg-ab-logo__box { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 16 / 10; border-radius: 8px; padding: 14px; border: 1px solid var(--ab-line); transition: border-color .15s; }
.vg-ab-logo:hover .vg-ab-logo__box { border-color: var(--ab-green); }
.vg-ab-logo__box img { max-width: 100%; max-height: 100%; }
.vg-ab-logo--light .vg-ab-logo__box { background: #fff; }
.vg-ab-logo--dark .vg-ab-logo__box { background: #1c1f24; border-color: #1c1f24; }
.vg-ab-logo--green .vg-ab-logo__box { background: var(--ab-green); border-color: var(--ab-green); }
.vg-ab-logo--green .vg-ab-logo__box img { max-height: 82%; }
.vg-ab-logo__l { font-size: 12px; color: #6b7280; }
.vg-ab-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-ab-pill { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--ab-line); background: #fff; font-size: 13.5px; font-weight: 600; color: #232328 !important; text-decoration: none !important; }
.vg-ab-pill:hover { border-color: #232328; }
.vg-ab-note { font-size: 12.5px; color: #6b7280; margin: 14px 0 0; }
.vg-ab-boiler { background: var(--ab-gray); border-radius: 8px; padding: 14px 16px; font-size: 14px; line-height: 1.65; color: #3a3f48; margin: 0 0 16px; }
.vg-ab-facts { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 0; font-size: 13.5px; }
.vg-ab-facts dt { color: #6b7280; font-weight: 400; }
.vg-ab-facts dd { margin: 0; color: #232328; }
.vg-ab-contact { display: flex; gap: 16px; padding: 22px 24px; }
.vg-ab-contact__av { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: #e7eaee; font-weight: 700; font-size: 15px; color: #4b5260; flex-shrink: 0; }
.vg-ab-contact__name { font-weight: 700; font-size: 16px; }
.vg-ab-contact__role { font-size: 13px; color: #6b7280; margin: 2px 0 12px; }
.vg-ab-mentions { list-style: none; padding: 0; margin: 0; }
.vg-ab-mentions li { display: flex; gap: 16px; padding: 11px 0; font-size: 14px; }
.vg-ab-mentions li + li { border-top: 1px solid #eef0f3; }
.vg-ab-mentions a, .vg-ab-mentions span { color: #232328 !important; text-decoration: none !important; }
.vg-ab-mentions a:hover { text-decoration: underline !important; }

/* newsletter – tmavý pruh */
.vg-nl-band { background: #1c1f24; color: #fff; padding: 48px 0; }
.vg-nl-band__in { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; }
.vg-nl-band__t { color: #fff; font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 6px; }
.vg-nl-band__s { color: rgba(255,255,255,.65); margin: 0; font-size: 14.5px; }
.vg-nl-band__f { flex: 0 1 440px; }
.vg-nl-band__row { display: flex; gap: 8px; }
.vg-nl-band__row input { flex: 1; min-width: 0; height: 44px; border-radius: 8px; border: 1px solid rgba(255,255,255,.18); background: #262a31; color: #fff; padding: 0 14px; font-size: 14.5px; outline: none; }
.vg-nl-band__row input:focus { border-color: var(--ab-green, #42dd70); }
.vg-nl-band__row button { height: 44px; padding: 0 20px; border-radius: 8px; border: 0; background: #42dd70; color: #10241a; font-weight: 700; font-size: 14.5px; cursor: pointer; }
.vg-nl-band__c { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 12.5px; color: rgba(255,255,255,.6); cursor: pointer; }
.vg-nl-band__c input { accent-color: #42dd70; }
.vg-nl-band__ok { font-weight: 700; margin: 0; }
.vg-nl-band__err { color: #fca5a5; font-size: 13px; margin: 6px 0 0; }

@media (max-width: 991px) {
  .vg-ab-subnav { top: 51px; }
  .vg-ab-hero { margin-top: -21px; padding-top: 49px; } /* body má 72px, mobilní hlavička 51px */
  .vg-ab-hero__grid, .vg-ab-mission { grid-template-columns: 1fr; gap: 32px; }
  .vg-ab-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-ab-projects { grid-template-columns: 1fr; }
  .vg-ab-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vg-ab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-ab-stats > div:nth-child(3) { border-left: 0; }
  .vg-ab-stats > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
}
@media (max-width: 767px) {
  .vg-ab-sec { padding: 52px 0; }
  .vg-ab-crumbs { margin-bottom: 28px; }
  .vg-ab-press { grid-template-columns: 1fr; }
  .vg-ab-results { grid-template-columns: 1fr; }
  .vg-ab-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-ab-subnav__in { gap: 20px; }
}
.vg-ab .l-container, .vg-nl-band .l-container { padding-left: 22px; padding-right: 22px; }
@media (max-width: 767px) { .vg-ab .l-container, .vg-nl-band .l-container { padding-left: 16px; padding-right: 16px; } }

/* ══ Patička (vg-ft-*) dle „Patička – moderní návrh" ══ */
.vg-ft { --ft-bg: #16191f; --ft-card: #1e2229; --ft-line: rgba(255,255,255,.08); --ft-text: rgba(255,255,255,.72); --ft-mute: rgba(255,255,255,.5); background: var(--ft-bg); color: #fff; border-radius: 28px 28px 0 0; margin-top: 64px; padding: 44px 0 26px; }
.vg-ft .l-container { padding-left: 22px; padding-right: 22px; }
.vg-ft a { text-decoration: none; }
.vg-ft-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 32px 56px; align-items: start; padding-bottom: 40px; border-bottom: 1px solid var(--ft-line); }
.vg-ft-brand__logo svg { display: block; width: 150px; height: 20px; }
.vg-ft-brand__claim { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; font-weight: 700; color: #fff; margin: 18px 0 22px; max-width: 460px; letter-spacing: -.01em; }
.vg-ft-brand__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.vg-ft-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; font-size: 14px; font-weight: 700; border: 1px solid transparent; white-space: nowrap; transition: background .15s, border-color .15s; }
.vg-ft-btn--light { background: #fff; color: #16191f !important; }
.vg-ft-btn--light:hover { background: #e7eaee; }
.vg-ft-btn--outline { color: #fff !important; border-color: rgba(255,255,255,.22); }
.vg-ft-btn--outline:hover { border-color: #fff; }
.vg-ft-btn--green { background: #42dd70; color: #10241a !important; }
.vg-ft-btn--green:hover { background: #5be585; }
.vg-ft-btn svg { width: 15px; height: 15px; fill: currentColor; }

.vg-ft-nl { background: var(--ft-card); border: 1px solid var(--ft-line); border-radius: 14px; padding: 22px 24px; }
.vg-ft-nl__t { color: #fff; font-size: 18px; margin: 0 0 8px; }
.vg-ft-nl__s { color: var(--ft-text); font-size: 13.5px; line-height: 1.55; margin: 0 0 16px; }
.vg-ft-nl__s a { color: #42dd70; }
.vg-ft-nl__row { display: flex; gap: 8px; }
.vg-ft-nl__row input { flex: 1; min-width: 0; height: 44px; border-radius: 8px; border: 1px solid rgba(255,255,255,.14); background: #16191f; color: #fff; padding: 0 14px; font-size: 14px; outline: none; }
.vg-ft-nl__row input:focus { border-color: #42dd70; }
.vg-ft-nl__row button { height: 44px; padding: 0 20px; border-radius: 8px; border: 0; background: #42dd70; color: #10241a; font-weight: 700; font-size: 14px; cursor: pointer; }
.vg-ft-nl__c { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 12px; color: var(--ft-mute); cursor: pointer; }
.vg-ft-nl__c input { accent-color: #42dd70; }
.vg-ft-nl__ok { font-weight: 700; margin: 0; }
.vg-ft-nl__err { color: #fca5a5; font-size: 13px; margin: 6px 0 0; }

.vg-ft-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding: 36px 0 40px; border-bottom: 1px solid var(--ft-line); }
.vg-ft-col__t { font-family: 'Iosevka Web', monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #42dd70; font-weight: 700; margin: 0 0 16px; }
.vg-ft-col__ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.vg-ft-col__ul a { color: var(--ft-text) !important; font-size: 13.5px; transition: color .15s; }
.vg-ft-col__ul a:hover { color: #fff !important; }
.vg-ft-col__extra { margin-top: 26px; }
.vg-ft-contact__name { font-weight: 700; font-size: 14px; color: #fff; }
.vg-ft-contact__role { font-size: 13px; color: var(--ft-mute); margin: 2px 0 8px; }
.vg-ft-contact__mail { display: inline-block; color: #42dd70 !important; font-weight: 700; font-size: 13.5px; margin-bottom: 18px; }
.vg-ft-contact__support { width: 100%; max-width: 260px; }
.vg-ft-contact__follow { font-size: 12.5px; color: var(--ft-mute); margin: 18px 0 10px; }
.vg-ft-socials { display: flex; flex-wrap: wrap; gap: 8px; max-width: 220px; }
.vg-ft-social { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: var(--ft-card); border: 1px solid var(--ft-line); color: rgba(255,255,255,.8); transition: background .15s, color .15s; }
.vg-ft-social:hover { background: #2a2f38; color: #fff; }
.vg-ft-social svg { width: 17px; height: 17px; fill: currentColor; }

.vg-ft-partners { display: grid; grid-template-columns: 1fr 1.6fr 2.4fr; gap: 24px; padding: 34px 0 36px; border-bottom: 1px solid var(--ft-line); }
.vg-ft-logos__t { font-size: 12.5px; color: var(--ft-mute); font-weight: 400; margin: 0 0 12px; }
.vg-ft-logos__grid { display: grid; gap: 8px; }
.vg-ft-logo { display: flex; align-items: center; justify-content: center; height: 64px; padding: 12px 16px; border-radius: 10px; background: var(--ft-card); border: 1px solid var(--ft-line); transition: background .15s, border-color .15s; }
.vg-ft-logo:hover { background: #262b33; border-color: rgba(255,255,255,.16); }
.vg-ft-logo img { max-width: 100%; max-height: 32px; object-fit: contain; opacity: .82; transition: opacity .15s; }
.vg-ft-logo:hover img { opacity: 1; }
.vg-ft-logo.is-big { padding: 6px; }
.vg-ft-logo.is-big img { max-height: 52px; }

.vg-ft-bottom { padding-top: 22px; display: grid; gap: 12px; font-size: 12.5px; color: var(--ft-mute); }
.vg-ft-bottom__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.vg-ft-bottom__strong { color: rgba(255,255,255,.85) !important; }
.vg-ft-bottom__strong:hover { color: #fff !important; text-decoration: underline !important; }
.vg-ft-cc { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; }
.vg-ft-cc__badge:hover { border-color: #42dd70; color: #42dd70 !important; }
.vg-ft-cc__badge { white-space: nowrap; flex-shrink: 0; font-family: 'Iosevka Web', monospace; font-size: 10.5px; letter-spacing: .04em; border: 1px solid rgba(255,255,255,.35); border-radius: 4px; padding: 1px 5px; color: rgba(255,255,255,.8); }
.vg-ft-top-btn { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: var(--ft-card); border: 1px solid var(--ft-line); color: #fff !important; font-size: 16px; }
.vg-ft-top-btn:hover { background: #2a2f38; }

@media (max-width: 991px) {
  .vg-ft-top { grid-template-columns: 1fr; }
  .vg-ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-ft-partners { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .vg-ft { border-radius: 20px 20px 0 0; padding-top: 34px; }
  .vg-ft .l-container { padding-left: 16px; padding-right: 16px; }
  .vg-ft-cols { gap: 28px 20px; }
  .vg-ft-contact { grid-column: 1 / -1; }
  .vg-ft-nl__row { flex-direction: column; }
  .vg-ft-nl__row input { flex: none; width: 100%; }
  .vg-ft-nl__row button { width: 100%; }
}

/* ══ Vyhledávání (vg-sr-*) ══ */
.vg-sr { background: #f4f6f8; min-height: 70vh; margin-bottom: -64px; padding-bottom: 64px; } /* šedá až pod zaoblené rohy patičky */
.vg-sr .l-container { padding-left: 22px; padding-right: 22px; }
.vg-sr-hero { position: relative; z-index: 20; /* našeptávač nad výsledky i newsletterem */ background: #1c1f24; padding: 86px 0 0; }
.vg-sr-kicker { text-align: center; font-family: 'Iosevka Web', monospace; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #42dd70; font-weight: 700; margin-bottom: 10px; }
.vg-sr-h1 { text-align: center; color: #fff; font-size: clamp(30px, 4vw, 44px); margin: 0 0 24px; letter-spacing: -.01em; }
.vg-sr-bar { max-width: 760px; margin: 0 auto; }
.vg-sr-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin-top: 28px; justify-content: center; }
.vg-sr-tabs::-webkit-scrollbar { display: none; }
.vg-sr-tab { flex-shrink: 0; display: inline-flex; align-items: center; gap: 7px; padding: 12px 14px 13px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.65) !important; text-decoration: none !important; border-bottom: 2px solid transparent; }
.vg-sr-tab span { font-family: 'Iosevka Web', monospace; font-size: 12px; color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); border-radius: 999px; padding: 1px 7px; }
.vg-sr-tab:hover { color: #fff !important; }
.vg-sr-tab.is-on { color: #fff !important; border-bottom-color: #42dd70; }
.vg-sr-tab.is-on span { background: #42dd70; color: #10241a; }
.vg-sr-tab.is-empty { color: rgba(255,255,255,.28) !important; }
.vg-sr-tab.is-empty span { color: rgba(255,255,255,.28); }
.vg-sr-main { padding-top: 28px; padding-bottom: 72px; }
.vg-sr-summary { font-size: 14px; color: #5b6270; margin: 0 0 14px; }
.vg-sr-summary a { color: #22a04d; font-weight: 600; }
.vg-sr mark { background: rgba(66,221,112,.28); color: inherit; border-radius: 3px; padding: 0 1px; }

.vg-sr-top { position: relative; display: flex; gap: 22px; align-items: center; padding: 22px; margin: 6px 0 30px; border-radius: 14px; overflow: hidden; background: #1c1f24; color: #fff !important; text-decoration: none !important; isolation: isolate; }
.vg-sr-top__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .22; filter: blur(2px); transform: scale(1.05); z-index: -1; }
.vg-sr-top::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(28,31,36,.92) 30%, rgba(28,31,36,.55)); z-index: -1; }
.vg-sr-top--plain { background: #fff; color: #232328 !important; border: 1px solid #e3e6ea; }
.vg-sr-top--plain::after { display: none; }
.vg-sr-top__cover { position: relative; flex-shrink: 0; width: 120px; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: #2a2e36; display: flex; align-items: center; justify-content: center; }
.vg-sr-top__cover img { width: 100%; height: 100%; object-fit: cover; }
.vg-sr-top__cover.is-logo { aspect-ratio: 1; background: #f4f6f8; padding: 10px; }
.vg-sr-top__cover.is-logo img { object-fit: contain; }
.vg-sr-top__cover.is-round { aspect-ratio: 1; border-radius: 50%; background: #e7eaee; }
.vg-sr-top__ini { font-size: 42px; font-weight: 700; color: #9aa2b1; }
.vg-sr-top__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vg-sr-top__kicker { font-family: 'Iosevka Web', monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #42dd70; font-weight: 700; }
.vg-sr-top--plain .vg-sr-top__kicker { color: #22a04d; }
.vg-sr-top__title { font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; line-height: 1.15; }
.vg-sr-top__meta { font-size: 14px; opacity: .75; }
.vg-sr-top__desc { font-size: 14px; line-height: 1.55; opacity: .8; max-width: 720px; }
.vg-sr-top__cta { margin-top: 4px; font-size: 14px; font-weight: 700; color: #42dd70; }
.vg-sr-top--plain .vg-sr-top__cta { color: #22a04d; }

.vg-sr-sec { margin-bottom: 34px; }
.vg-sr-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.vg-sr-sec__head h2 { font-size: 20px; margin: 0; }
.vg-sr-sec__head h2 span { font-family: 'Iosevka Web', monospace; font-size: 13px; font-weight: 400; color: #7a818c; margin-left: 6px; }
.vg-sr-sec__all { font-size: 14px; font-weight: 700; color: #22a04d !important; text-decoration: none !important; white-space: nowrap; }
.vg-sr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.vg-sr-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vg-sr-list { display: grid; gap: 10px; }
.vg-sr-row { display: flex; gap: 14px; align-items: flex-start; padding: 12px; background: #fff; border: 1px solid #e3e6ea; border-radius: 12px; color: #232328 !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; min-width: 0; }
a.vg-sr-row:hover { border-color: #42dd70; box-shadow: 0 6px 18px rgba(16,24,40,.06); }
.vg-sr-thumb { position: relative; flex-shrink: 0; width: 52px; height: 52px; border-radius: 8px; overflow: hidden; background: #eef0f3; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #9aa2b1; font-size: 18px; }
.vg-sr-thumb img { width: 100%; height: 100%; object-fit: cover; }
.vg-sr-thumb--cover { width: 52px; height: 68px; }
.vg-sr-thumb--logo img { object-fit: contain; padding: 4px; }
.vg-sr-thumb--round { border-radius: 50%; }
.vg-sr-thumb--wide { width: 132px; height: 76px; }
.vg-sr-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.vg-sr-title { font-weight: 700; font-size: 15.5px; line-height: 1.3; }
.vg-sr-meta { font-size: 12.5px; color: #6b7280; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.vg-sr-badge { transform: scale(.9); transform-origin: left center; }
.vg-sr-snip { font-size: 13px; line-height: 1.5; color: #4b5260; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vg-sr-snip--strong { color: #232328; font-size: 14px; -webkit-line-clamp: 3; }
.vg-sr-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 3px; }
.vg-sr-tags span { font-size: 11.5px; padding: 1px 8px; border-radius: 999px; background: #f1f3f6; color: #4b5260; }
.vg-sr-verified { color: #22a04d; margin-left: 6px; font-size: 13px; }
.vg-sr-date { flex-shrink: 0; width: 56px; height: 56px; border-radius: 10px; background: #1c1f24; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; }
.vg-sr-date b { font-size: 20px; }
.vg-sr-date span { font-size: 10.5px; color: rgba(255,255,255,.65); }

.vg-sr-empty { max-width: 640px; margin: 24px auto; text-align: center; background: #fff; border: 1px solid #e3e6ea; border-radius: 14px; padding: 32px 28px; }
.vg-sr-empty h2 { font-size: 22px; margin: 0 0 8px; }
.vg-sr-empty p { color: #5b6270; font-size: 14.5px; }
.vg-sr-empty__more a { color: #22a04d; font-weight: 600; }
.vg-sr-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 14px 0; }
.vg-sr-chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid #e3e6ea; font-size: 14px; font-weight: 600; color: #232328 !important; text-decoration: none !important; }
.vg-sr-chip:hover { border-color: #232328; }
.vg-sr-chip small { font-weight: 400; color: #7a818c; font-size: 11.5px; }
.vg-sr-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; }
.vg-sr-pager__info { font-family: 'Iosevka Web', monospace; font-size: 13px; color: #5b6270; }

@media (max-width: 991px) { .vg-sr-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vg-sr-tabs { justify-content: flex-start; } }
@media (max-width: 767px) {
  .vg-sr .l-container { padding-left: 16px; padding-right: 16px; }
  .vg-sr-hero { padding-top: 84px; }
  .vg-sr-grid, .vg-sr-grid--3 { grid-template-columns: 1fr; }
  .vg-sr-top { flex-direction: row; gap: 14px; padding: 16px; }
  .vg-sr-top__cover { width: 76px; }
  .vg-sr-top__desc { display: none; }
  .vg-sr-thumb--wide { width: 92px; height: 56px; }
}

/* ══ Statistiky (vg-st-*) ══ */
.vg-st { margin-bottom: -64px; padding-bottom: 64px; background: #1c1f24; } /* tmavá až pod zaoblenou patičku */
body:has(.vg-st) { background: #1c1f24; } /* zaoblené rohy patičky na tmavé stránce nesmí prosvítat bíle */
.vg-st .l-container { padding-left: 22px; padding-right: 22px; }
.vg-st-hero { padding: 104px 0 36px; background: radial-gradient(1200px 400px at 70% 0%, rgba(66,221,112,.08), transparent 60%), #1c1f24; }
.vg-st-kicker { font-family: 'Iosevka Web', monospace; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #42dd70; font-weight: 700; margin-bottom: 12px; }
.vg-st-h1 { color: #fff; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; letter-spacing: -.02em; max-width: 760px; margin: 0 0 14px; }
.vg-st-lead { color: rgba(255,255,255,.7); font-size: 16px; line-height: 1.6; max-width: 700px; margin: 0 0 28px; }
.vg-st-lead a { color: #42dd70; }
.vg-st-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid #2b3038; border-radius: 12px; overflow: hidden; }
.vg-st-kpi { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; text-decoration: none !important; transition: background .15s; }
.vg-st-kpi + .vg-st-kpi { border-left: 1px solid #2b3038; }
.vg-st-kpi:hover { background: rgba(255,255,255,.03); }
.vg-st-kpi__n { font-family: 'Iosevka Web', monospace; font-weight: 300; font-size: clamp(22px, 2.4vw, 32px); line-height: 1; color: #fff; }
.vg-st-kpi:first-child .vg-st-kpi__n { color: #42dd70; }
.vg-st-kpi__l { font-size: 12px; color: #8B93A1; }
.vg-st-nav { position: sticky; top: 65px; z-index: 20; background: #1c1f24; border-bottom: 1px solid #242A31; }
.vg-st-nav__in { display: flex; gap: 26px; overflow-x: auto; scrollbar-width: none; }
.vg-st-nav__in::-webkit-scrollbar { display: none; }
.vg-st-nav__l { flex-shrink: 0; padding: 15px 0 13px; font-size: 14px; font-weight: 600; color: #8B93A1 !important; text-decoration: none !important; border-bottom: 2px solid transparent; }
.vg-st-nav__l:hover { color: #fff !important; }
.vg-st-nav__l.is-on { color: #fff !important; border-bottom-color: #42dd70; }
.vg-st [id] { scroll-margin-top: 130px; }
.vg-st-sec { padding-top: 18px; margin-bottom: 26px; }
.vg-st-sec:last-child { margin-bottom: 0; }
.vg-st-sec:last-child > .card:last-child, .vg-st-sec:last-child > :last-child { margin-bottom: 0 !important; }
.vg-st-h2 { color: #fff; font-size: clamp(22px, 2.6vw, 30px); margin: 0 0 8px; }
.vg-st-sub { color: #8B93A1; font-size: 14px; max-width: 760px; margin: 0 0 20px; }
.vg-st-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.vg-st-mini--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }
.vg-st-mini__i { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 10px; background: #1b1f25; border: 1px solid #242A31; text-decoration: none !important; }
a.vg-st-mini__i:hover { border-color: #42dd70; }
.vg-st-mini__i b { font-family: 'Iosevka Web', monospace; font-weight: 300; color: #fff; font-size: 24px; line-height: 1; }
.vg-st-mini__i span { color: #8B93A1; font-size: 12px; }
.vg-st-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vg-st-fact { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 10px; background: #1b1f25; border: 1px solid #242A31; text-decoration: none !important; transition: border-color .15s; }
.vg-st-fact:hover { border-color: #42dd70; }
.vg-st-fact__l { font-family: 'Iosevka Web', monospace; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: #42dd70; }
.vg-st-fact__t { color: #fff; font-weight: 700; font-size: 15px; line-height: 1.3; }
.vg-st-fact__v { color: #8B93A1; font-size: 12.5px; }
.vg-st-help { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 12px; background: #1b1f25; border: 1px solid #242A31; }
.vg-st-help b { font-family: 'Iosevka Web', monospace; font-size: 44px; color: #42dd70; line-height: 1; }
.vg-st-help span { color: #fff; font-weight: 600; }
.vg-st-help p { color: #8B93A1; font-size: 13.5px; margin: 6px 0 14px; }
.vg-st-help__btn { margin-top: 4px; display: inline-flex; align-items: center; justify-content: center; height: 42px; border-radius: 8px; background: #42dd70; color: #10241a !important; font-weight: 700; font-size: 14px; text-decoration: none !important; }
@media (max-width: 991px) {
  .vg-st-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vg-st-kpi:nth-child(4) { border-left: 0; }
  .vg-st-kpi:nth-child(n+4) { border-top: 1px solid #2b3038; }
  .vg-st-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-st-nav { top: 51px; }
}
@media (max-width: 575px) {
  .vg-st .l-container { padding-left: 16px; padding-right: 16px; }
  .vg-st-hero { padding-top: 76px; }
  .vg-st-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-st-kpi:nth-child(odd) { border-left: 0; }
  .vg-st-kpi:nth-child(4) { border-left: 1px solid #2b3038; }
  .vg-st-kpi:nth-child(n+3) { border-top: 1px solid #2b3038; }
  .vg-st-facts { grid-template-columns: 1fr; }
  .vg-st-mini, .vg-st-mini--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .vg-st-mini--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vg-st-mini__i { padding: 12px; }
  .vg-st-mini__i b { font-size: 20px; }
  .vg-st-mini__i span { font-size: 11.5px; line-height: 1.3; }
  .vg-st-seg-s { display: none; }
}

/* ── Statistiky 3.0: příběh, výroky, bloky bez rámečků ── */
.vg-st-body { padding-top: 10px; padding-bottom: 40px; }
.vg-st-claim { color: #fff; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.2; letter-spacing: -.01em; max-width: 900px; margin: 0 0 10px; }
.vg-st-sec { padding-top: 34px; margin-bottom: 18px; }
.vg-st-sub { max-width: 820px; margin-bottom: 6px; line-height: 1.55; }
.vg-st-sub b, .vg-blk__p b { color: #fff; }
.vg-blk { padding: 22px 0 26px; border-top: 1px solid #262b33; margin-top: 10px; }
.vg-blk--tight { padding: 16px 0 10px; }
.vg-blk__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.vg-blk__t { font-family: 'Iosevka Web', monospace; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #fff; margin: 0; font-weight: 700; }
.vg-blk__aside { color: #8B93A1; font-size: 12px; }
.vg-blk__p { color: #8B93A1; font-size: 13.5px; line-height: 1.55; max-width: 820px; margin: 0 0 14px; }
.vg-st-sec > .row > [class*="col-"] > .vg-blk:first-child { margin-top: 10px; }

/* hero KPI bez rámečku */
.vg-st-kpis { border: 0; border-radius: 0; border-top: 1px solid #2b3038; border-bottom: 1px solid #2b3038; }
.vg-st-kpi { padding: 18px 20px 18px 0; }
.vg-st-kpi + .vg-st-kpi { border-left: 0; padding-left: 20px; }
.vg-st-kpi__n { font-size: clamp(26px, 2.8vw, 40px); }

/* příběh */
.vg-st-story { padding: 10px 0 20px; }
.vg-story { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; }
.vg-story__chart { position: sticky; top: 90px; padding: 18px 0 8px; }
.vg-story__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; min-height: 18px; color: #8B93A1; font-size: 12px; }
.vg-story__legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.vg-story__steps { padding: 8vh 0 0; }
.vg-story__step { min-height: 58vh; display: flex; flex-direction: column; justify-content: center; opacity: .3; transition: opacity .5s ease; padding: 0 0 0 22px; border-left: 2px solid transparent; }
.vg-story__step.is-on { opacity: 1; border-left-color: #42dd70; }
.vg-story__step:last-child { min-height: 40vh; }
.vg-story__kicker { font-family: 'Iosevka Web', monospace; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #42dd70; font-weight: 700; margin-bottom: 10px; }
.vg-story__claim { color: #fff; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -.015em; margin: 0 0 12px; }
.vg-story__text { color: rgba(255,255,255,.7); font-size: 15.5px; line-height: 1.6; }
.vg-story__text b { color: #fff; }
.vg-story__cta { display: inline-flex; align-self: flex-start; margin-top: 18px; height: 40px; align-items: center; padding: 0 16px; border-radius: 8px; background: #42dd70; color: #10241a !important; font-weight: 700; font-size: 14px; text-decoration: none !important; }

/* rozložení (záložky + pruhy) */
.vg-bd__tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.vg-bd__tab { height: 32px; padding: 0 14px; border-radius: 16px; border: 1px solid #2b3038; background: transparent; color: #c9ced6; font-size: 13px; font-weight: 600; cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
.vg-bd__tab:hover { color: #fff; border-color: #4b5260; }
.vg-bd__tab.is-on { border-color: #42dd70; background: rgba(66,221,112,.12); color: #42dd70; cursor: default; }
.vg-bd__body { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 36px; align-items: start; }
.vg-bd__big { font-family: 'Iosevka Web', monospace; font-size: 72px; font-weight: 700; color: #42dd70; line-height: .95; letter-spacing: -.03em; }
.vg-bd__big span { font-size: 36px; margin-left: 2px; }
.vg-bd__leadt { color: #fff; font-size: 18px; font-weight: 700; margin: 8px 0 10px; }
.vg-bd__note { color: #8B93A1; font-size: 12.5px; line-height: 1.5; margin: 0 0 12px; }
.vg-bd__all { color: #42dd70; font-size: 13px; font-weight: 600; }
.vg-bd__bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.vg-bd__row { display: grid; grid-template-columns: 150px minmax(0, 1fr) 96px; gap: 12px; align-items: center; animation: vgBdIn .4s ease both; }
@keyframes vgBdIn { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
.vg-bd__lbl { font-size: 13.5px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vg-bd__lbl a { color: #fff; text-decoration: none; }
.vg-bd__lbl a:hover { color: #42dd70; }
.vg-bd__track { height: 18px; border-radius: 4px; background: rgba(255,255,255,.04); overflow: hidden; }
.vg-bd__fill { height: 100%; border-radius: 4px; transition: width .5s cubic-bezier(.2,.7,.2,1); }
.vg-bd__val { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.vg-bd__val b { font-family: 'Iosevka Web', monospace; color: #fff; font-size: 14px; }
.vg-bd__val span { color: #8B93A1; font-size: 11px; }
.vg-bd__row--rest .vg-bd__lbl { color: #8B93A1; }

/* žebříčky */
.vg-rank { list-style: none; margin: 0; padding: 0; }
.vg-rank li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-top: 1px solid #262b33; min-width: 0; }
.vg-rank li:first-child { border-top: 0; }
.vg-rank__i { width: 20px; flex-shrink: 0; text-align: center; font-family: 'Iosevka Web', monospace; color: #8B93A1; font-size: 12px; font-weight: 700; }
.vg-rank__t { color: #fff !important; font-size: 13.5px; font-weight: 500; text-decoration: none !important; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 0 1 auto; }
.vg-rank__t:hover { color: #42dd70 !important; }
.vg-rank__bar { flex: 1 1 60px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.05); overflow: hidden; min-width: 40px; }
.vg-rank__bar i { display: block; height: 100%; background: #42dd70; border-radius: 999px; }
.vg-rank__y { color: #8B93A1; font-size: 11.5px; flex-shrink: 0; margin-left: auto; }
.vg-rank__v { color: #8B93A1; font-size: 12px; flex-shrink: 0; font-family: 'Iosevka Web', monospace; min-width: 54px; text-align: right; }
.vg-rank__y + .vg-rank__v, .vg-rank__y + .vg-mc { margin-left: 0; }
.vg-rank--plain .vg-rank__t { flex: 1 1 auto; }
.vg-rank--plain .vg-rank__v { margin-left: auto; }
.vg-rank__v--live { color: #42dd70; font-weight: 700; }
.vg-rank__v--live::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #42dd70; margin-right: 6px; vertical-align: middle; box-shadow: 0 0 6px #42dd70; }
.vg-rank--2col { column-count: 2; column-gap: 32px; }
.vg-rank--2col li { break-inside: avoid; }
.vg-mc { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 24px; border-radius: 6px; color: #10241a !important; font-weight: 700; font-size: 12.5px; flex-shrink: 0; text-decoration: none !important; font-family: 'Iosevka Web', monospace; margin-left: auto; }

/* rozptyl Steam × Metacritic */
.vg-sc__tip { position: absolute; transform: translate(-50%, calc(-100% - 14px)); background: #fff; color: #232328 !important; border-radius: 8px; padding: 8px 11px; box-shadow: 0 8px 24px rgba(0,0,0,.4); pointer-events: none; z-index: 5; font-size: 12.5px; line-height: 1.35; white-space: nowrap; text-decoration: none !important; }
.vg-sc__tip b { display: block; font-size: 13px; }
.vg-sc__tip span { color: rgba(35,35,40,.7); font-size: 11.5px; }

/* síť značek */
.vg-tn__info { margin-top: 8px; color: #8B93A1; font-size: 13px; min-height: 20px; }

/* generace studií */
.vg-cs__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; color: #c9ced6; font-size: 12px; }
.vg-cs__legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.vg-cs__legend em { font-style: normal; color: #8B93A1; font-family: 'Iosevka Web', monospace; margin-left: 6px; font-size: 11.5px; }

/* histogram cen */
.vg-hist { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; align-items: end; height: 190px; }
.vg-hist__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.vg-hist__bar { width: 100%; max-width: 72px; border-radius: 6px 6px 0 0; background: rgba(66,221,112,.45); transition: background .15s; }
.vg-hist__col.is-med .vg-hist__bar { background: #42dd70; box-shadow: 0 0 14px rgba(66,221,112,.35); }
.vg-hist__n { font-family: 'Iosevka Web', monospace; color: #fff; font-size: 13px; font-weight: 700; }
.vg-hist__l { color: #8B93A1; font-size: 11.5px; white-space: nowrap; }
.vg-hist__col.is-med .vg-hist__l { color: #42dd70; font-weight: 700; }

/* dlouhý ocas / pásma */
.vg-tail { display: grid; gap: 8px; }
.vg-tail__row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 92px; gap: 10px; align-items: center; }
.vg-tail__l { color: #fff; font-size: 13px; font-weight: 600; }
.vg-tail__track { height: 16px; border-radius: 4px; background: rgba(255,255,255,.04); overflow: hidden; }
.vg-tail__fill { height: 100%; background: #42dd70; border-radius: 4px; }
.vg-tail__v { color: #8B93A1; font-size: 11.5px; text-align: right; font-family: 'Iosevka Web', monospace; }
.vg-tail__v b { color: #fff; font-size: 13px; margin-right: 4px; }

.vg-st-mini--col { grid-template-columns: 1fr; }
.vg-st-mini__i { background: rgba(255,255,255,.03); border-color: #262b33; }

@media (max-width: 991px) {
  .vg-story { grid-template-columns: 1fr; gap: 0; }
  .vg-story__chart { top: 51px; background: #1c1f24; z-index: 3; padding: 10px 0 6px; margin: 0 -22px; padding-left: 22px; padding-right: 22px; }
  .vg-story__steps { padding: 2vh 0 4vh; }
  .vg-story__step { min-height: 46vh; padding-left: 16px; }
  .vg-bd__body { grid-template-columns: 1fr; gap: 20px; }
  .vg-bd__big { font-size: 56px; }
  .vg-rank--2col { column-count: 1; }
  .vg-st-kpi:nth-child(4) { padding-left: 0; }
}
@media (max-width: 575px) {
  .vg-story__chart { margin: 0 -16px; padding-left: 16px; padding-right: 16px; }
  .vg-story__claim { font-size: 22px; }
  .vg-bd__row { grid-template-columns: 96px minmax(0, 1fr) 76px; gap: 8px; }
  .vg-bd__lbl { font-size: 12.5px; }
  .vg-cal { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -16px; padding: 0 16px; }
  .vg-cal svg { min-width: 560px; }
  .vg-hist { gap: 4px; height: 150px; }
  .vg-hist__l { font-size: 9.5px; }
  .vg-tail__row { grid-template-columns: 52px minmax(0, 1fr) 78px; }
  .vg-st-kpi:nth-child(odd) { padding-left: 0; }
  .vg-st-kpi:nth-child(even) { padding-left: 16px; }
  .vg-st-kpi:nth-child(4) { padding-left: 16px; }
}

/* velikost souboru u tlačítek ke stažení */
.vg-fsize { margin-left: 8px; font-family: 'Iosevka Web', monospace; font-size: .82em; font-weight: 400; opacity: .6; white-space: nowrap; }

/* ── Karta hry: soubory ke stažení z našeho úložiště (game-files) ── */
.vg-dl-group { margin-top: 18px; }
.vg-dl-group__title { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: #8a8f99; margin: 0 0 6px; }
.vg-dl-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid rgba(127, 127, 127, .2); }
.vg-dl-row__main { display: grid; gap: 2px; min-width: 0; }
.vg-dl-row__main b { overflow-wrap: anywhere; }
.vg-dl-row__meta { font-size: 13px; color: #8a8f99; overflow-wrap: anywhere; }
.vg-dl-row__note { font-size: 13px; white-space: pre-line; opacity: .85; }
.vg-dl-row__btn { flex-shrink: 0; margin: 0 !important; }
.vg-dl-upload { margin-top: 14px; font-size: 14px; }
@media (max-width: 600px) { .vg-dl-row { flex-direction: column; align-items: stretch; } }

/* ── Přidat inzerát: typ inzerátu (pracovní nabídka / herní stáž / hledám kolegu) ── */
.vg-adkind { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.vg-adkind__opt { display: grid; gap: .25rem; text-align: left; padding: .85rem .9rem; border: 1px solid #D7DDE5; border-radius: 10px; background: #fff; cursor: pointer; color: #374151; font-size: 13px; line-height: 1.4; }
.vg-adkind__opt b { color: #111827; font-size: 15px; }
.vg-adkind__opt.is-on { border-color: #42dd70; box-shadow: 0 0 0 2px rgba(66, 221, 112, .35); background: #f3fdf6; }
.vg-adkind__icon { font-size: 20px; }
.vg-adkind__badge { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #2fb85a; margin-bottom: 2px; }
@media (max-width: 600px) { .vg-adkind { grid-template-columns: 1fr; } }
.vg-jobs-cta-kinds { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; font-size: 14px; }
.vg-jobs-cta-kinds a { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem 1rem; border: 1px solid #D7DDE5; border-radius: 999px; background: #fff; color: #111827; font-weight: 600; text-decoration: none; }
.vg-jobs-cta-kinds a:hover { border-color: #42dd70; color: #2fb85a; }

/* ── Písmo Geist Pixel Line (Vercel, SIL OFL 1.1 — public/fonts/geist-pixel/OFL.txt): slogan v heru, 404 ── */
@font-face { font-family: 'Geist Pixel Line'; src: url('/fonts/geist-pixel/GeistPixel-Line.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
.vg-pixel { font-family: 'Geist Pixel Line', ui-monospace, monospace; font-weight: 400; letter-spacing: 0; }
.s-hp-hero h1.vg-hero-slogan { font-family: 'Geist Pixel Line', ui-monospace, monospace; font-weight: 400; font-size: clamp(34px, 4.4vw, 62px); line-height: 1.06; letter-spacing: 0; color: #e8edef; text-shadow: 0 0 2px rgba(232, 237, 239, .35), 0 0 18px rgba(66, 221, 112, .14); max-width: 17ch; text-wrap: balance; }

/* ── Hero hledání s obíhajícím paprskem (vzor giga.ai): tmavé sklo, paprsek po okraji, zelená záře ── */
@property --vg-beam { syntax: '<angle>'; inherits: true; initial-value: 0deg; }
@keyframes vg-beam-spin { to { --vg-beam: 360deg; } }
.vg-hs__row--beam { --vg-beam: 0deg; --vg-beam-grad: conic-gradient(from var(--vg-beam), transparent 0%, transparent 56%, rgba(255,255,255,.04) 61%, rgba(120,240,160,.25) 65%, rgba(160,255,190,.7) 68.5%, #f2fff6 70%, rgba(160,255,190,.7) 71.5%, rgba(120,240,160,.25) 75%, rgba(255,255,255,.04) 79%, transparent 84%);
  isolation: isolate; z-index: 0; gap: 0; padding: 4px; border-radius: 13px; background: rgba(12, 14, 18, .72); border: 1px solid rgba(255, 255, 255, .13);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 14px 36px rgba(0, 0, 0, .4); transition: border-color .2s;
  animation: vg-beam-spin 4.2s linear infinite; }
.vg-hs__row--beam:hover { border-color: rgba(255, 255, 255, .22); }
.vg-hs__row--beam:focus-within { border-color: rgba(66, 221, 112, .55); animation-duration: 2.2s; }
.vg-hs__row--beam .vg-hs__field { height: 52px; padding: 0 12px 0 14px; background: transparent; box-shadow: none; }
.vg-hs__row--beam .vg-hs__field:focus-within { box-shadow: none; }
.vg-hs__row--beam .vg-hs__icon { color: rgba(232, 237, 239, .6); }
.vg-hs__row--beam .vg-hs__input { color: #eef1f3; caret-color: #42dd70; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 15px; }
.vg-hs__row--beam .vg-hs__input::placeholder { color: rgba(232, 237, 239, .45); }
.vg-hs__row--beam .vg-hs__btn { height: 52px; border-radius: 9px; border: 1px solid rgba(190, 255, 210, .55); background: linear-gradient(155deg, #5be585 10%, #2fb85a 90%); box-shadow: 3px 5px 12px rgba(0, 0, 0, .35), inset 1px 1px 0 rgba(255, 255, 255, .3); text-transform: uppercase; letter-spacing: .04em; font-size: 14px; }
.vg-hs__row--beam .vg-hs__btn:hover { filter: brightness(1.06); background: linear-gradient(155deg, #5be585 10%, #2fb85a 90%); }
.vg-hs__beam { position: absolute; inset: -1px; border-radius: 13px; pointer-events: none; z-index: 2; }
.vg-hs__beam > i, .vg-hs__beam::before { content: ''; position: absolute; inset: 0; box-sizing: border-box; border-radius: inherit; padding: 1.5px; background: var(--vg-beam-grad);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; }
.vg-hs__beam > i { filter: blur(.6px); opacity: .9; }
.vg-hs__beam::before { padding: 3px; filter: blur(7px) brightness(1.4); opacity: .95; }
.vg-hs__halo { position: absolute; inset: -40px -70px; z-index: -1; pointer-events: none; filter: blur(34px) brightness(1.25); opacity: .42; transition: opacity .4s; }
.vg-hs__halo > i { position: absolute; inset: 0; border-radius: 60px;
  background: radial-gradient(ellipse 230px 70px at 30% 100%, #42dd70, transparent), radial-gradient(ellipse 260px 60px at 72% 100%, #2bb6a3, transparent), radial-gradient(ellipse 170px 70px at 92% 0%, #7bd8ff, transparent), radial-gradient(ellipse 150px 80px at 8% 0%, #b6f36b, transparent);
  -webkit-mask-image: conic-gradient(from var(--vg-beam), transparent 0%, transparent 36%, rgba(255,255,255,.35) 52%, #fff 64%, #fff 74%, rgba(255,255,255,.3) 86%, transparent 96%); mask-image: conic-gradient(from var(--vg-beam), transparent 0%, transparent 36%, rgba(255,255,255,.35) 52%, #fff 64%, #fff 74%, rgba(255,255,255,.3) 86%, transparent 96%); }
.vg-hs__row--beam:focus-within .vg-hs__halo { opacity: .5; }
@media (prefers-reduced-motion: reduce) { .vg-hs__row--beam { animation: none; --vg-beam: 200deg; } }
@media (max-width: 575px) { .vg-hs__row--beam .vg-hs__field, .vg-hs__row--beam .vg-hs__btn { height: 46px; } .vg-hs__row--beam .vg-hs__btn { padding: 0 14px; } }

/* ── Vlastní stránka 404 (vzor iyo.ai/404): stopy disku s obíhajícími oblouky ── */
.vg-nf { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; min-height: max(620px, calc(100vh - 120px)); padding: 40px 16px 64px; background: #111214; color: #e8edef; overflow: hidden; text-align: center; }
.vg-nf__disc { position: absolute; left: 50%; top: 44%; width: min(1100px, 150vw); transform: translate(-50%, -50%); color: #8a8f99; -webkit-mask-image: radial-gradient(circle at center, #000 38%, transparent 70%); mask-image: radial-gradient(circle at center, #000 38%, transparent 70%); pointer-events: none; }
.vg-nf__ring { transform-origin: 617px 617px; transform-box: view-box; animation: vg-nf-spin 40s linear infinite; }
.vg-nf__track { stroke: currentColor; stroke-width: .75; opacity: .22; }
.vg-nf__arc { stroke: #c9ced6; stroke-width: 3.2; stroke-linecap: round; opacity: .5; }
.vg-nf__ring:nth-child(5n) .vg-nf__arc { stroke: #42dd70; opacity: .45; }
@keyframes vg-nf-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .vg-nf__ring { animation: none; } }
.vg-nf__body { position: relative; z-index: 1; max-width: 440px; }
.vg-nf__logo { display: inline-block; width: 150px; height: 30px; }
.vg-nf__logo svg { width: 100%; height: 100%; display: block; }
.vg-nf__code { margin: 18px 0 8px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #42dd70; }
.vg-nf__text { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(232, 237, 239, .62); }
.vg-nf__text a { color: #e8edef; text-decoration: underline; text-underline-offset: 3px; }
.vg-nf__text a:hover { color: #42dd70; }

/* ── Navrhnout úpravu (SuggestCorrection) — hra / studio / tvůrce ── */
.vg-sc { border: 1px solid rgba(127, 127, 127, .25); border-radius: 10px; background: rgba(127, 127, 127, .05); font-size: 14px; }
.vg-sc__teaser { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; flex-wrap: wrap; }
.vg-sc__teaser > div { display: grid; gap: 2px; min-width: 0; flex: 1 1 320px; }
.vg-sc__teaser span, .vg-sc__done span, .vg-sc__note { color: #8a8f99; font-size: 13px; }
.vg-sc__btn { flex-shrink: 0; border: 0; border-radius: 999px; padding: 9px 18px; background: #42dd70; color: #232328; font-weight: 700; font-size: 14px; cursor: pointer; }
.vg-sc__btn:hover { background: #2fb85a; }
.vg-sc__btn:disabled { opacity: .6; cursor: wait; }
.vg-sc__done { display: grid; gap: 4px; padding: 16px 18px; }
.vg-sc__form { display: grid; gap: 14px; padding: 16px 18px 18px; }
.vg-sc__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.vg-sc__x { border: 0; background: none; font-size: 24px; line-height: 1; color: #8a8f99; cursor: pointer; padding: 0 4px; }
.vg-sc__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-sc__chips button { border: 1px solid rgba(127, 127, 127, .35); background: transparent; color: inherit; border-radius: 999px; padding: 6px 14px; font-size: 13px; cursor: pointer; }
.vg-sc__chips button.is-on { border-color: #42dd70; background: rgba(66, 221, 112, .14); font-weight: 600; }
.vg-sc__form label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
.vg-sc__form textarea, .vg-sc__form input:not([type=checkbox]):not([type=file]), .vg-sc__form select { width: 100%; font: inherit; font-weight: 400; font-size: 14px; padding: 9px 12px; border: 1px solid rgba(127, 127, 127, .35); border-radius: 8px; background: rgba(255, 255, 255, .9); color: #232328; }
.vg-sc__form textarea { resize: vertical; }
.vg-sc__form textarea:focus, .vg-sc__form input:focus, .vg-sc__form select:focus { outline: 2px solid rgba(66, 221, 112, .5); border-color: #42dd70; }
.vg-sc__form input[type=file] { font-weight: 400; font-size: 13px; }
.vg-sc__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vg-sc__form .vg-sc__check { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; font-weight: 400; }
.vg-sc__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.vg-sc__err { margin: 0; color: #e5484d; font-size: 13px; }
.vg-sc__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
@media (max-width: 640px) { .vg-sc__row { grid-template-columns: 1fr; } }

/* ── Soubory ke stažení od komunity (CommunityFiles: návrh úpravy, přidat hru) ── */
.vg-sc__files { display: grid; gap: 6px; padding: 12px 14px; border: 1px dashed rgba(127, 127, 127, .4); border-radius: 10px; }
.vg-sc__files.is-on { border-color: #42dd70; background: rgba(66, 221, 112, .06); }
.vg-sc__files > span { color: #8a8f99; font-size: 13px; }
.vg-cf { display: grid; gap: 8px; }
.vg-cf__row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto 130px 28px; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid rgba(127, 127, 127, .25); border-radius: 8px; background: rgba(255, 255, 255, .6); }
.vg-cf__row:not(:has(select + select)) { grid-template-columns: minmax(0, 1fr) auto 130px 28px; }
.vg-cf__name { display: grid; min-width: 0; font-size: 14px; }
.vg-cf__name b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-cf__name span { font-size: 12px; color: #8a8f99; }
.vg-cf select, .vg-cf input:not([type=file]) { font: inherit; font-size: 13px; padding: 6px 8px; border: 1px solid rgba(127, 127, 127, .35); border-radius: 6px; background: #fff; color: #232328; max-width: 220px; min-width: 0; }
.vg-cf__x { border: 0; background: none; font-size: 20px; line-height: 1; color: #8a8f99; cursor: pointer; }
.vg-cf__pick { display: inline-flex; justify-self: start; cursor: pointer; }
.vg-cf__pick input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.vg-cf__pick span { display: inline-block; padding: 8px 14px; border-radius: 999px; border: 1px solid #42dd70; color: #1f9d48; font-weight: 600; font-size: 13px; }
.vg-cf__pick:hover span, .vg-cf__pick:focus-within span { background: rgba(66, 221, 112, .12); }
.vg-cf__jobs { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; text-align: left; }
.vg-cf__jobs li { display: grid; gap: 4px; font-size: 13px; }
.vg-cf__jobhead { display: flex; justify-content: space-between; gap: 10px; }
.vg-cf__jobhead b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-cf__jobhead span { flex-shrink: 0; color: #8a8f99; }
.vg-cf__bar { height: 6px; border-radius: 999px; background: rgba(127, 127, 127, .2); overflow: hidden; }
.vg-cf__bar i { display: block; height: 100%; background: #42dd70; transition: width .3s; }
.vg-cf__jobs li.is-error .vg-cf__bar i { background: #e5484d; }
.vg-cf__jobs li.is-error small { color: #e5484d; }
.vg-cf__jobs small { color: #8a8f99; }
@media (max-width: 640px) {
  .vg-cf__row, .vg-cf__row:not(:has(select + select)) { grid-template-columns: minmax(0, 1fr) 28px; }
  .vg-cf__row select, .vg-cf__row input:not([type=file]) { grid-column: 1 / -1; max-width: none; }
  .vg-cf__x { grid-row: 1; grid-column: 2; }
}

/* dlouhé odkazy (Odkazy u hry) nesmí na mobilu přetéct sloupec */
.d-flex.flex-wrap > .c-btn--fluid { max-width: 100%; }
.d-flex.flex-wrap > .c-btn--fluid .c-btn__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* správa hry: zaškrtávátko Online hra */
.vg-gm-check { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; font-weight: 600; font-size: 14px; cursor: pointer; }
.vg-gm-check .vg-gm-hint { display: inline; margin: 0; font-weight: 400; }

/* ── Časová osa (vzor eladiodieste.com „Obras“): černá plocha, tenká čára, schodovité obrázky, velká typografie ── */
.vg-to { --to-bg: #0b0b0c; --to-fg: #eeebe5; --to-mute: rgba(238, 235, 229, .5); --to-line: rgba(238, 235, 229, .22); background: var(--to-bg); color: var(--to-fg); padding-bottom: 5rem; overflow: hidden; }
.vg-to a { color: inherit; }
.vg-to-kicker { margin: 0 0 1.4rem; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #42dd70; }
.vg-to-hero { padding-top: 4.5rem; padding-bottom: 3rem; }
.vg-to-hero__title { margin: 0; max-width: 11.5em; font-size: clamp(44px, 8.4vw, 124px); line-height: .98; font-weight: 400; letter-spacing: -.035em; color: var(--to-fg); }
.vg-to-hero__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; margin-top: 4rem; }
.vg-to-hero__side { margin: 0; max-width: 300px; font-size: 14px; line-height: 1.45; color: var(--to-fg); }
.vg-to-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.vg-to-nav a { font-size: 15px; text-decoration: none; color: var(--to-mute); transition: color .2s; }
.vg-to-nav a:hover { color: #42dd70; }
.vg-to-rule { position: relative; height: 1px; background: var(--to-line); margin: 4.5rem 0 1.6rem; }
.vg-to-rule::after { content: ''; position: absolute; left: 50%; top: -3px; width: 7px; height: 7px; background: var(--to-fg); transform: translateX(-50%) rotate(45deg); }
.vg-to-era { scroll-margin-top: 80px; }
.vg-to-era__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; flex-wrap: wrap; }
.vg-to-era__title { margin: 0; font-size: clamp(48px, 9vw, 140px); line-height: .95; font-weight: 400; letter-spacing: -.04em; color: var(--to-fg); }
.vg-to-era__sub { margin: .6rem 0 0; max-width: 260px; font-size: 13.5px; line-height: 1.45; color: var(--to-mute); }
.vg-to-era__sub a { color: #42dd70; text-decoration: none; }
.vg-to-era__quote { margin: 3.2rem 0 4.5rem; max-width: 24em; font-size: clamp(22px, 2.6vw, 36px); line-height: 1.18; letter-spacing: -.015em; color: var(--to-fg); }
/* osa */
.vg-to-axis { position: relative; }
.vg-to-axis::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--to-line); }
.vg-to-year { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; scroll-margin-top: 120px; }
.vg-to-year__num { position: absolute; left: 50%; top: 18px; transform: translateX(-50%); z-index: 2; font-size: 17px; color: var(--to-mute); text-shadow: 0 0 12px rgba(0, 0, 0, .9); pointer-events: none; }
.vg-to-shot { position: relative; display: block; grid-row: 1; overflow: hidden; background: #1b1b1d; }
.vg-to-shot img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.9) brightness(.82); transition: filter .5s, transform .8s; }
.vg-to-shot:hover img { filter: none; transform: scale(1.03); }
.vg-to-shot__cap { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 2px; padding: 26px 14px 12px; background: linear-gradient(transparent, rgba(0, 0, 0, .78)); font-size: 13px; color: #fff; opacity: 0; transform: translateY(6px); transition: opacity .3s, transform .3s; }
.vg-to-shot__cap b { font-size: 15px; font-weight: 600; }
.vg-to-shot__cap span { color: rgba(255, 255, 255, .7); }
.vg-to-shot:hover .vg-to-shot__cap, .vg-to-shot:focus-visible .vg-to-shot__cap { opacity: 1; transform: none; }
.vg-to-shot--empty { height: 90px; background: none; }
.vg-to-year__text { grid-row: 1; display: grid; gap: 14px; align-content: start; padding: 54px 0 32px; }
.vg-to-year.is-left .vg-to-year__text { padding-left: 34px; }
.vg-to-year.is-right .vg-to-year__text { padding-right: 34px; text-align: right; justify-items: end; }
.vg-to-ms { margin: 0; display: grid; gap: 6px; max-width: 30em; }
.vg-to-ms b { font-size: clamp(19px, 1.7vw, 24px); font-weight: 400; line-height: 1.2; letter-spacing: -.01em; color: var(--to-fg); }
.vg-to-ms b a { text-decoration: none; background: linear-gradient(#42dd70, #42dd70) 0 100% / 0 1px no-repeat; transition: background-size .3s; }
.vg-to-ms b a:hover { background-size: 100% 1px; }
.vg-to-ms span { font-size: 14px; line-height: 1.55; color: var(--to-mute); }
.vg-to-more { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.vg-to-year.is-right .vg-to-more { justify-content: flex-end; }
.vg-to-more a img { display: block; width: 34px; height: 47px; object-fit: cover; filter: grayscale(.8); transition: filter .3s; }
.vg-to-more a:hover img { filter: none; }
.vg-to-count { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12.5px; text-decoration: none; color: var(--to-mute); padding: 0 6px; }
.vg-to-count:hover { color: #42dd70; }
.vg-to-world { margin: 0; max-width: 26em; font-size: 13px; line-height: 1.5; color: var(--to-mute); }
.vg-to-world span { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(238, 235, 229, .35); margin-right: 4px; }
.vg-to-end { margin: 0 auto; max-width: 30em; text-align: center; font-size: clamp(18px, 2vw, 24px); line-height: 1.3; }
.vg-to-end a { color: #42dd70; }
/* přilepený letopočet u čáry */
.vg-to-ticker { position: fixed; left: 50%; top: 50%; z-index: 30; display: flex; align-items: center; gap: 8px; transform: translate(-50%, -50%); padding: 5px 12px 5px 9px; border-radius: 999px; background: var(--to-fg, #eeebe5); color: #0b0b0c; font-size: 15px; font-weight: 600; letter-spacing: .02em; opacity: 0; pointer-events: none; transition: opacity .25s; }
.vg-to-ticker i { width: 7px; height: 7px; border-radius: 50%; background: #42dd70; }
.vg-to-ticker.is-on { opacity: 1; }
@media (max-width: 767px) {
  .vg-to-axis::before { left: 6px; }
  .vg-to-year { display: block; padding-left: 22px; margin-bottom: 2.2rem; min-height: 0 !important; }
  .vg-to-year__num { position: static; transform: none; display: block; margin: 0 0 8px; text-shadow: none; }
  .vg-to-shot { height: auto !important; aspect-ratio: 16 / 10; }
  .vg-to-shot--empty { display: none; }
  .vg-to-shot__cap { opacity: 1; transform: none; }
  .vg-to-year.is-left .vg-to-year__text, .vg-to-year.is-right .vg-to-year__text { padding: 14px 0 0; text-align: left; justify-items: start; }
  .vg-to-year.is-right .vg-to-more { justify-content: flex-start; }
  .vg-to-ticker { left: auto; right: 12px; top: auto; bottom: 16px; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .vg-to-shot img, .vg-to-shot__cap, .vg-to-ticker { transition: none; } }
.vg-to-main { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; letter-spacing: .04em; text-decoration: none; color: var(--to-fg); }
.vg-to-main span { color: var(--to-mute); }
.vg-to-main:hover { color: #42dd70; }
.vg-to-year.is-left .vg-to-main::before { content: '← '; color: var(--to-mute); }
.vg-to-year.is-right .vg-to-main::after { content: ' →'; color: var(--to-mute); }
@media (max-width: 767px) { .vg-to-main { display: none; } }

/* ── Přehrávač trailerů (TrailerPlayer) — video z našeho úložiště místo YouTube ── */
button.c-btn { border: 0; cursor: pointer; font: inherit; }
.vg-tp { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(8, 9, 11, .88); backdrop-filter: blur(4px); }
.vg-tp__box { position: relative; width: min(1180px, 100%); }
.vg-tp__video { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: calc(100vh - 170px); background: #000; border-radius: 10px; }
.vg-tp__x { position: absolute; top: 10px; right: 10px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .6); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.vg-tp__x:hover { background: #42dd70; color: #232328; }
.vg-tp__bar { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 12px; flex-wrap: wrap; }
.vg-tp__list { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; }
.vg-tp__list button { flex-shrink: 0; display: grid; gap: 5px; width: 150px; padding: 0; border: 2px solid transparent; border-radius: 8px; background: none; color: rgba(255, 255, 255, .75); font-size: 12px; text-align: left; cursor: pointer; }
.vg-tp__list button img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; }
.vg-tp__list button span { padding: 0 4px 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-tp__list button.is-on { border-color: #42dd70; color: #fff; }
.vg-tp__src { font-size: 12px; color: rgba(255, 255, 255, .5); }
@media (max-width: 640px) { .vg-tp { padding: 8px; } }

.vg-hx-preset.vg-hx-preset--finder { border-color: #42dd70; color: #1c7c3f; font-weight: 600; }

/* ── Podpora (Ko-fi): odznaky podporovatele ───────────────────────────────── */
.vg-sb { display: inline-grid; place-items: center; flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; font-size: 10px; font-weight: 900; line-height: 1; vertical-align: -2px; cursor: help; }
.vg-sb--supporter { background: #42dd70; color: #232328; }
.vg-sb--patron { background: #232328; color: #f3d27a; }
.vg-sb-chip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px 0 8px; border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: filter .15s; }
.vg-sb-chip:hover { text-decoration: none; filter: brightness(1.06); }
.vg-sb-chip i { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; font-size: 10px; font-style: normal; font-weight: 900; line-height: 1; }
.vg-sb-chip--supporter { background: #e9fbef; color: #1c7c3f; border: 1px solid #b9ecc9; }
.vg-sb-chip--supporter i { background: #42dd70; color: #232328; }
.vg-sb-chip--patron { background: #232328; color: #f3d27a; border: 1px solid #232328; }
.vg-sb-chip--patron i { background: #f3d27a; color: #232328; }
.vg-pf-hero .vg-sb-chip--supporter { background: rgba(66,221,112,.16); color: #42dd70; border-color: rgba(66,221,112,.45); }
.vg-pf-hero .vg-sb-chip--patron { background: rgba(243,210,122,.14); color: #f3d27a; border-color: rgba(243,210,122,.5); }

/* ── Podpořte nás (/podporte-nas) ─────────────────────────────────────────── */
.vg-sp { background: #f4f5f7; color: #232328; }
.vg-sp a { color: #1c7c3f; }
.vg-sp h1, .vg-sp h2, .vg-sp h3 { margin: 0; letter-spacing: -.01em; }
.vg-sp-mono { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12.5px; color: #55575e; }
.vg-sp-kicker { display: block; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: #1c7c3f; }
.vg-sp-kicker--light { color: #42dd70; }
.vg-sp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; box-sizing: border-box; transition: filter .15s, background .15s; white-space: nowrap; }
.vg-sp-btn:hover { text-decoration: none; filter: brightness(1.05); }
.vg-sp-btn small { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-weight: 500; font-size: 13px; opacity: .8; }
.vg-sp-btn--green { background: #42dd70; color: #232328 !important; }
.vg-sp-btn--dark { background: #232328; color: #fff !important; }
.vg-sp-btn--ghost { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.35); }
.vg-sp-btn--outline { background: #fff; color: #232328 !important; border: 2px solid #232328; }
.vg-sp-btn--block { width: 100%; margin-top: auto; }
.vg-sp-section { padding: 48px 0 8px; }
.vg-sp-head { display: flex; flex-direction: column; gap: 10px; max-width: 720px; margin-bottom: 28px; }
.vg-sp-head h2 { font-size: 34px; font-weight: 900; }
.vg-sp-head p { margin: 0; font-size: 16.5px; line-height: 1.55; color: #55575e; }
.vg-sp-head--row { max-width: none; flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.vg-sp-head--row > div { display: flex; flex-direction: column; gap: 8px; max-width: 680px; }
.vg-sp-more { font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.vg-sp-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.45; }
.vg-sp-list li { display: flex; gap: 10px; }
.vg-sp-list li > span:first-child { color: #1c7c3f; font-weight: 900; flex-shrink: 0; }
.vg-sp-list--tight { gap: 8px; }

/* záhlaví */
.vg-sp-hero { background: #232328; color: #fff; padding: 64px 0 56px; overflow: hidden; }
.vg-sp-hero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 32px; align-items: center; }
.vg-sp-hero__text { display: flex; flex-direction: column; gap: 22px; }
.vg-sp-hero__text h1 { font-size: 50px; line-height: 1.06; font-weight: 900; letter-spacing: -.015em; color: #fff; }
.vg-sp-hero__text h1 em { font-style: normal; color: #42dd70; }
.vg-sp-hero__text > p { margin: 0; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.72); max-width: 560px; }
.vg-sp-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.vg-sp-hero__note { margin: 4px 0 0 !important; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12.5px !important; color: rgba(255,255,255,.5) !important; }
.vg-sp-hero__art { position: relative; min-height: 440px; display: flex; align-items: center; justify-content: center; }
.vg-sp-mosaic { position: absolute; inset: -40px -60px -40px 0; display: grid; grid-template-columns: repeat(3, 118px); gap: 12px; justify-content: center; align-content: center; transform: rotate(-8deg); opacity: .92; }
.vg-sp-mosaic__img { width: 118px; height: 154px; object-fit: cover; border-radius: 6px; box-shadow: 0 12px 30px rgba(0,0,0,.45); background: #2d313a; }
.vg-sp-mosaic__img--0 { transform: translateY(26px); }
.vg-sp-mosaic__img--2 { transform: translateY(-18px); }
.vg-sp-promise { position: relative; width: 300px; max-width: 100%; background: rgba(35,35,40,.92); border: 1px solid rgba(66,221,112,.5); border-radius: 14px; padding: 18px 22px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 20px 50px rgba(0,0,0,.5); transform: translateY(120px); }
.vg-sp-promise .vg-sp-kicker { font-size: 11.5px; letter-spacing: .18em; }
.vg-sp-promise ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.9); }
.vg-sp-promise li { display: flex; gap: 10px; }
.vg-sp-promise li span { color: #42dd70; }

/* čísla */
.vg-sp-numbers { background: #2d313a; color: #fff; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.06); }
.vg-sp-numbers__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vg-sp-number { display: flex; align-items: baseline; gap: 10px; text-decoration: none; color: #fff !important; }
.vg-sp-number:hover { text-decoration: none; }
.vg-sp-number b { font-size: 28px; font-weight: 900; color: #42dd70; line-height: 1; }
.vg-sp-number span { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12px; color: rgba(255,255,255,.6); }

/* tarify */
.vg-sp-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.vg-sp-tier { position: relative; display: flex; flex-direction: column; gap: 16px; background: #fff; border: 1px solid #e3e6eb; border-radius: 16px; padding: 28px 26px; }
.vg-sp-tier--hot { border: 2px solid #42dd70; }
.vg-sp-tier__tag { position: absolute; top: -12px; left: 22px; background: #42dd70; color: #232328; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; font-weight: 500; }
.vg-sp-tier__title { display: flex; align-items: center; gap: 12px; }
.vg-sp-tier__title h3 { font-size: 22px; font-weight: 900; }
.vg-sp-tier__icon { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-style: normal; font-weight: 900; font-size: 16px; flex-shrink: 0; }
.vg-sp-tier__icon--green { background: #e9fbef; color: #1c7c3f; }
.vg-sp-tier__icon--dark { background: #232328; color: #42dd70; }
.vg-sp-tier__icon--grey { background: #eef0f3; color: #232328; }
.vg-sp-tier__price { display: flex; align-items: baseline; gap: 8px; }
.vg-sp-tier__price b { font-size: 40px; font-weight: 900; letter-spacing: -.02em; line-height: 1.1; }
.vg-sp-tier__price span { color: #55575e; font-size: 15px; }
.vg-sp-tier__alt { margin: -8px 0 0; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12.5px; color: #55575e; }
.vg-sp-amounts { display: flex; gap: 8px; flex-wrap: wrap; }
.vg-sp-amounts a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid #d7dbe2; border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: 14px; color: #232328; text-decoration: none; box-sizing: border-box; }
.vg-sp-amounts a:hover { border-color: #42dd70; text-decoration: none; }
.vg-sp-foot { margin: 24px 0 0; display: flex; align-items: center; gap: 10px; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 13px; color: #55575e; }
.vg-sp-foot i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #42dd70; flex-shrink: 0; }

/* patronství */
.vg-sp-patron { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.vg-sp-patron__text { display: flex; flex-direction: column; gap: 16px; }
.vg-sp-patron__text h2 { font-size: 34px; font-weight: 900; }
.vg-sp-patron__text > p { margin: 0; font-size: 16.5px; line-height: 1.55; color: #55575e; }
.vg-sp-patron__price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.vg-sp-patron__price b { font-size: 32px; font-weight: 900; }
.vg-sp-patron__price span { color: #55575e; }
.vg-sp-patron__cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.vg-sp-patron__cta > span { font-size: 13.5px; color: #55575e; line-height: 1.45; }
.vg-sp-patron__card { background: #fff; border: 1px solid #e3e6eb; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.vg-sp-patron__card .vg-sp-kicker { font-size: 11.5px; letter-spacing: .16em; color: #8a8f99; }
.vg-sp-patron__game { display: flex; gap: 16px; align-items: center; }
.vg-sp-patron__game img { width: 72px; height: 96px; border-radius: 8px; object-fit: cover; flex-shrink: 0; box-shadow: 0 6px 16px rgba(0,0,0,.25); }
.vg-sp-patron__game > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vg-sp-patron__game strong { font-size: 20px; font-weight: 900; line-height: 1.2; }
.vg-sp-patron__count { font-size: 13px; font-weight: 700; color: #1c7c3f; }
.vg-sp-goal { display: flex; flex-direction: column; gap: 6px; }
.vg-sp-goal > .vg-sp-mono { display: flex; justify-content: space-between; gap: 12px; }
.vg-sp-goal > .vg-sp-mono span:last-child { color: #1c7c3f; white-space: nowrap; }
.vg-sp-goal__next { color: #8a8f99; }
.vg-sp-bar { height: 8px; border-radius: 999px; background: #e9ecf0; overflow: hidden; }
.vg-sp-bar > div { height: 100%; background: #42dd70; border-radius: 999px; transition: width .4s; }
.vg-sp-bar--lg { height: 10px; background: rgba(255,255,255,.12); }
.vg-sp-memories { border-top: 1px solid #e9ecf0; padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.vg-sp-memories__empty { margin: 0; font-size: 13.5px; line-height: 1.45; color: #8a8f99; font-style: italic; }

/* obchod */
.vg-sp-shop { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.vg-sp-item { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e6eb; border-radius: 16px; overflow: hidden; text-decoration: none; color: #232328 !important; transition: transform .15s, box-shadow .15s; }
.vg-sp-item:hover { text-decoration: none; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.1); }
.vg-sp-item--members { border: 2px solid #42dd70; }
.vg-sp-item__tag { position: absolute; top: 12px; left: 12px; z-index: 1; background: #232328; color: #42dd70; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
.vg-sp-item img, .vg-sp-item__blank { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: #2d313a; }
.vg-sp-item__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.vg-sp-item__body strong { font-size: 16px; }
.vg-sp-item__body .is-soldout { color: #c0392b; }
.vg-sp-item__body em { font-style: normal; font-size: 13px; color: #1c7c3f; font-weight: 600; margin-top: 4px; }

/* kam jdou peníze */
.vg-sp-money { background: #232328; color: #fff; border-radius: 20px; padding: 44px 48px; display: grid; grid-template-columns: 5fr 7fr; gap: 32px; }
.vg-sp-money__text { display: flex; flex-direction: column; gap: 14px; }
.vg-sp-money__text h2 { font-size: 30px; font-weight: 900; color: #fff; }
.vg-sp-money__text p { margin: 0; font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,.7); }
.vg-sp-money__data { display: flex; flex-direction: column; gap: 18px; }
.vg-sp-goal--light > .vg-sp-mono { color: #fff; font-size: 14px; }
.vg-sp-goal--light .is-green { color: #42dd70; }
.vg-sp-costs { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; font-size: 14.5px; }
.vg-sp-costs li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: 8px; }
.vg-sp-costs .vg-sp-mono { color: rgba(255,255,255,.7); white-space: nowrap; }
.vg-sp-money__note { margin: 0; color: rgba(255,255,255,.5); }
.vg-sp-section .vg-sp-money__note { color: #8a8f99; }

/* pro studia */
.vg-sp-studios { background: #fff; border: 1px solid #e3e6eb; border-radius: 20px; padding: 36px 40px; display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.vg-sp-studios > div { display: flex; flex-direction: column; gap: 10px; max-width: 760px; }
.vg-sp-studios h2 { font-size: 28px; font-weight: 900; }
.vg-sp-studios p { margin: 0; font-size: 16px; line-height: 1.55; color: #55575e; }

/* podporovatelé */
.vg-sp-names { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-sp-names span { font-size: 13px; background: #fff; border: 1px solid #e3e6eb; border-radius: 999px; padding: 6px 12px; color: #232328; }
.vg-sp-names .is-more { background: #f2fbf5; color: #1c7c3f; border-color: #c9efd6; }
.vg-sp-sponsors { display: flex; flex-direction: column; gap: 14px; margin-top: 32px; }
.vg-sp-sponsors .vg-sp-kicker { font-size: 11.5px; letter-spacing: .18em; color: #8a8f99; }
.vg-sp-sponsors__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.vg-sp-sponsors__row a { display: inline-flex; align-items: center; background: #fff; border: 1px solid #e3e6eb; border-radius: 10px; padding: 10px 16px; }
.vg-sp-sponsors__row img { max-height: 44px; max-width: 150px; width: auto; height: auto; display: block; }

/* FAQ */
.vg-sp-faq { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 24px 0 72px; }
.vg-sp-faq > div { display: flex; flex-direction: column; gap: 8px; }
.vg-sp-faq h3 { font-size: 16px; font-weight: 900; }
.vg-sp-faq p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #55575e; }

@media (max-width: 991px) {
  .vg-sp-hero { padding: 48px 0 40px; }
  .vg-sp-hero__grid { grid-template-columns: 1fr; }
  .vg-sp-hero__text h1 { font-size: 36px; }
  .vg-sp-hero__art { min-height: 340px; margin-top: 20px; overflow: hidden; border-radius: 16px; }
  .vg-sp-mosaic { inset: -30px 0; }
  .vg-sp-promise { transform: translateY(60px); }
  .vg-sp-numbers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-sp-tiers, .vg-sp-shop, .vg-sp-faq { grid-template-columns: 1fr; }
  .vg-sp-tier { padding: 24px 20px; }
  .vg-sp-patron { grid-template-columns: 1fr; gap: 24px; }
  .vg-sp-patron__text h2, .vg-sp-head h2 { font-size: 28px; }
  .vg-sp-money { grid-template-columns: 1fr; padding: 28px 22px; }
  .vg-sp-costs { grid-template-columns: 1fr; }
  .vg-sp-studios { padding: 24px 22px; }
}
@media (max-width: 575px) {
  .vg-sp-hero__text h1 { font-size: 30px; }
  .vg-sp-hero__btns .vg-sp-btn { width: 100%; }
  .vg-sp-mosaic { grid-template-columns: repeat(3, 84px); gap: 8px; inset: -20px 0; }
  .vg-sp-mosaic__img { width: 84px; height: 110px; }
  .vg-sp-promise { transform: translateY(40px); padding: 14px 16px; }
  .vg-sp-hero__art { min-height: 300px; }
  .vg-sp-number b { font-size: 24px; }
  .vg-sp-patron__cta .vg-sp-btn { width: 100%; white-space: normal; }
}

/* ── Box „Podpořit archiv“ na kartě hry ───────────────────────────────────── */
.vg-sbox { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border: 1px solid #e3e6eb; border-radius: 12px; padding: 18px 22px; }
.vg-sbox__raven { width: 46px; height: auto; flex-shrink: 0; }
.vg-sbox__text { display: flex; flex-direction: column; gap: 3px; flex-grow: 1; min-width: 0; }
.vg-sbox__text strong { font-size: 15.5px; line-height: 1.35; }
.vg-sbox__text span { font-size: 13.5px; color: #55575e; line-height: 1.4; }
.vg-sbox__text span a { color: #1c7c3f; font-weight: 600; }
.vg-sbox__btn { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 11px 18px; border-radius: 999px; background: #42dd70; color: #232328 !important; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.vg-sbox__btn:hover { text-decoration: none; background: #36cc62; }
@media (max-width: 575px) {
  .vg-sbox { flex-wrap: wrap; padding: 16px; }
  .vg-sbox__btn { width: 100%; }
}

/* ── Patroni hry: sekce na kartě hry ──────────────────────────────────────── */
.vg-gp { background: #fff; border: 1px solid #e3e6eb; border-radius: 16px; padding: 24px 26px; display: flex; flex-direction: column; gap: 18px; margin-bottom: 2.5rem; }
.vg-gp__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.vg-gp__count { color: #1c7c3f; margin-left: 6px; }
.vg-gp__who { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: #55575e; flex-wrap: wrap; }
.vg-gp__avatars { display: inline-flex; }
.vg-gp__avatar { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #2d313a; color: #fff; font-size: 12px; font-weight: 700; border: 2px solid #fff; margin-left: -8px; overflow: hidden; flex-shrink: 0; }
.vg-gp__avatar:first-child { margin-left: 0; }
.vg-gp__avatar img { width: 100%; height: 100%; object-fit: cover; }
.vg-gp__avatar--more { background: #42dd70; color: #232328; font-size: 11px; }
.vg-gp__avatar--sm { width: 24px; height: 24px; font-size: 11px; margin-left: 0; border: 0; }
.vg-gp__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 999px; background: #232328; color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; flex-shrink: 0; }
.vg-gp__btn:hover { background: #42dd70; color: #232328 !important; text-decoration: none; }
.vg-gp__goal { display: flex; flex-direction: column; gap: 6px; }
.vg-gp__goal-row { display: flex; justify-content: space-between; gap: 12px; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12.5px; color: #55575e; }
.vg-gp__goal-n { color: #1c7c3f; white-space: nowrap; }
.vg-gp__goal-next { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12px; color: #8a8f99; }
.vg-gp__bar { height: 8px; border-radius: 999px; background: #e9ecf0; overflow: hidden; }
.vg-gp__bar > div { height: 100%; background: #42dd70; border-radius: 999px; }
.vg-gp__memories { border-top: 1px solid #e9ecf0; padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.vg-gp__kicker { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: #8a8f99; }
.vg-gp__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vg-gp__quote { margin: 0; background: #f4f5f7; border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.5; }
.vg-gp__quote footer { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #55575e; }
.vg-gp__quote footer a { color: inherit; text-decoration: none; }
.vg-gp__quote footer a:hover { color: #1c7c3f; }
.vg-gp__more { font-size: 13px; color: #8a8f99; }
@media (max-width: 575px) { .vg-gp { padding: 18px; } .vg-gp__grid { grid-template-columns: 1fr; } .vg-gp__btn { width: 100%; } }

/* ── Stránka Stát se patronem (/hra/<slug>/patron) ───────────────────────── */
.vg-pt { padding: 32px 0 72px; }
.vg-pt__back { margin: 0 0 14px; font-size: 14px; }
.vg-pt__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.vg-pt__title { margin: 8px 0 12px; font-size: 32px; font-weight: 900; letter-spacing: -.01em; }
.vg-pt__lead { font-size: 16px; line-height: 1.55; color: #55575e; margin: 0 0 12px; }
.vg-pt__price { font-size: 15px; margin: 0 0 22px; }
.vg-pt__price b { font-size: 28px; font-weight: 900; margin-right: 6px; }
.vg-pt__aside { background: #fff; border: 1px solid #e3e6eb; border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.vg-pt__cover { width: 100%; max-width: 220px; border-radius: 10px; box-shadow: 0 10px 24px rgba(0,0,0,.2); display: block; margin: 0 auto; }
.vg-pt-form { max-width: 560px; }
.vg-pt-done { max-width: 560px; display: flex; flex-direction: column; gap: 12px; }
.vg-pt-done p { margin: 0; font-size: 15px; line-height: 1.55; }
.vg-pt-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.55; }
.vg-pt-code { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 18px; font-weight: 700; letter-spacing: .1em; background: #232328; color: #42dd70; padding: 4px 10px; border-radius: 6px; }
.vg-pt-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
@media (max-width: 991px) { .vg-pt__grid { grid-template-columns: 1fr; } .vg-pt__aside { order: -1; } .vg-pt__cover { max-width: 140px; } }

/* ── Certifikát patrona ───────────────────────────────────────────────────── */
.vg-cert-page { background: #f4f5f7; padding: 32px 16px 64px; }
.vg-cert-tools { max-width: 860px; margin: 0 auto 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.vg-cert { max-width: 860px; margin: 0 auto; background: #fff; border: 1px solid #e3e6eb; border-radius: 18px; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,.08); }
.vg-cert__head { display: flex; align-items: center; gap: 12px; background: #232328; color: #fff; padding: 18px 36px; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.vg-cert__head img { width: 40px; height: auto; }
.vg-cert__body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 36px; padding: 40px 36px; align-items: center; }
.vg-cert__cover { width: 100%; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.vg-cert__kicker { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #1c7c3f; }
.vg-cert__game { margin: 8px 0 14px; font-size: 34px; font-weight: 900; letter-spacing: -.01em; }
.vg-cert__text { font-size: 16px; line-height: 1.6; margin: 0 0 14px; }
.vg-cert__memory { margin: 0 0 18px; padding: 12px 16px; border-left: 3px solid #42dd70; background: #f4f5f7; border-radius: 0 10px 10px 0; font-size: 15px; line-height: 1.5; font-style: italic; }
.vg-cert__meta { display: flex; gap: 28px; margin: 0; flex-wrap: wrap; }
.vg-cert__meta dt { font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8a8f99; }
.vg-cert__meta dd { margin: 2px 0 0; font-weight: 700; }
.vg-cert__foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 36px; border-top: 1px solid #e9ecf0; font-family: Iosevka, "Roboto Mono", ui-monospace, monospace; font-size: 12px; color: #8a8f99; }
@media (max-width: 767px) { .vg-cert__body { grid-template-columns: 1fr; padding: 24px 20px; } .vg-cert__cover { max-width: 160px; } .vg-cert__game { font-size: 26px; } }
@media print { body { background: #fff; } .vg-cert-page { padding: 0; background: #fff; } .vg-cert-tools, header, footer, .vg-cookie, [data-nosnippet] { display: none !important; } .vg-cert { box-shadow: none; border: 1px solid #ccc; } }

/* ── Profil: Patron her ───────────────────────────────────────────────────── */
.vg-pf-patrons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 8px; }
.vg-pf-patron { display: block; text-decoration: none; }
.vg-sp-memories__item { margin: 0; font-size: 13.5px; line-height: 1.45; }

/* ══ Detail článku v2 (10/2026): hero s obrázkem, V kostce, karta hry, pravý sloupec ══ */
.vg-ar { --ar-ink: #161920; --ar-text: #232328; --ar-muted: #5d6470; --ar-line: #e3e8ee; --ar-soft: #f2f5f8; --ar-green: #42dd70; --ar-green-ink: #1c7c3f; color: var(--ar-text); }
.vg-ar-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }
.vg-ar-kicker { display: block; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ar-green-ink); }
.vg-ar-kicker--muted { color: var(--ar-muted); }
.vg-ar-kicker--light { color: var(--ar-green); }
.vg-ar-kicker--ink { color: #06160e; }

/* tlačítka */
.vg-ar-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 10px; font: inherit; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer; border: 1px solid transparent; transition: background .15s, border-color .15s, color .15s; }
.vg-ar-btn:hover { text-decoration: none; }
.vg-ar-btn:disabled { cursor: default; opacity: .85; }
.vg-ar-btn--primary { background: var(--ar-green); color: #06160e; }
.vg-ar-btn--primary:hover { background: #36cc62; color: #06160e; }
.vg-ar-btn--ghost { background: #232832; border-color: #343a46; color: #fff; }
.vg-ar-btn--ghost:hover { border-color: var(--ar-green); color: #fff; }
.vg-ar-btn--line { background: transparent; border-color: #343a46; color: #fff; }
.vg-ar-btn--line:hover { border-color: var(--ar-green); color: #fff; }
.vg-ar-btn--line-dark { background: #fff; border-color: #d7dde5; color: var(--ar-text); }
.vg-ar-btn--line-dark:hover { border-color: var(--ar-green); color: var(--ar-text); }
.vg-ar-btn--dark { background: var(--ar-ink); color: #fff; }
.vg-ar-btn--dark:hover { background: #2d313a; color: #fff; }
.vg-ar-btn--outline-ink { background: transparent; border: 1.5px solid #06160e; color: #06160e; }
.vg-ar-btn--outline-ink:hover { background: rgba(6,22,14,.08); color: #06160e; }

/* hero */
.vg-ar-hero { position: relative; min-height: 600px; display: flex; align-items: flex-end; background: #0b0d11; color: #fff; overflow: hidden; }
.vg-ar-hero--plain { min-height: 0; background: var(--ar-ink); }
.vg-ar-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.vg-ar-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,13,17,.25) 0%, rgba(11,13,17,.5) 45%, rgba(11,13,17,.95) 100%); }
.vg-ar-hero--plain .vg-ar-hero__shade { display: none; }
.vg-ar-hero__in { position: relative; width: 100%; padding-top: 140px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 18px; }
.vg-ar-hero--plain .vg-ar-hero__in { padding-top: 56px; padding-bottom: 44px; }
.vg-ar-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12.5px; color: #aab2bf; }
.vg-ar-crumbs a { color: #aab2bf; text-decoration: none; }
.vg-ar-crumbs a:hover { color: #fff; }
.vg-ar-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-ar-chip { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #d5dae1; border: 1px solid rgba(255,255,255,.28); padding: 5px 10px; border-radius: 6px; text-decoration: none; }
.vg-ar-chip:hover { color: #fff; border-color: var(--ar-green); text-decoration: none; }
.vg-ar-chip--primary { background: var(--ar-green); border-color: var(--ar-green); color: #06160e; }
.vg-ar-chip--primary:hover { color: #06160e; }
.vg-ar-hero__title { margin: 0; max-width: 960px; font-size: 54px; line-height: 1.04; font-weight: 800; letter-spacing: -.025em; color: #fff; text-wrap: balance; }
.vg-ar-hero__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 28px; margin-top: 6px; }
.vg-ar-byline { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.vg-ar-byline:hover { color: #fff; text-decoration: none; }
.vg-ar-byline__text { display: flex; flex-direction: column; line-height: 1.25; }
.vg-ar-byline__text b { font-size: 15px; }
.vg-ar-byline__text span { font-size: 13px; color: #aab2bf; }
.vg-ar-avatar { flex: none; width: 42px; height: 42px; border-radius: 50%; overflow: hidden; background: var(--ar-green); color: #06160e; display: inline-grid; place-items: center; font-weight: 800; font-size: 16px; text-decoration: none; }
.vg-ar-avatar img { width: 100%; height: 100%; object-fit: cover; }
.vg-ar-avatar--lg { width: 64px; height: 64px; font-size: 22px; background: var(--ar-ink); color: var(--ar-green); }
.vg-ar-hero__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 13px; color: #aab2bf; }
.vg-ar-hero__facts a { color: #aab2bf; }
.vg-ar-hero__facts a:hover { color: #fff; }
.vg-ar-interview { padding-top: 32px; }

/* rozložení: lišta · text · sloupec */
.vg-ar-layout { display: grid; grid-template-columns: 44px minmax(0, 1fr) 320px; gap: 44px; align-items: start; padding-top: 48px; }
.vg-ar-rail { position: sticky; top: 120px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.vg-ar-rail__comments { color: #6b7280; text-decoration: none; }
.vg-ar-rail__count { margin-top: -6px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 11.5px; color: var(--ar-muted); }
.vg-ar-main { min-width: 0; max-width: 720px; }
.vg-ar-side { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* V kostce */
.vg-ar-facts { background: var(--ar-soft); border-radius: 16px; padding: 22px 26px; margin-bottom: 36px; display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 110px; }
.vg-ar-facts dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px 20px; font-size: 15.5px; line-height: 1.45; }
.vg-ar-facts dt { color: var(--ar-muted); font-weight: 400; }
.vg-ar-facts dd { margin: 0; }
.vg-ar-facts a { color: var(--ar-green-ink); font-weight: 700; }

/* tělo */
.vg-ar-body { font-size: 19px; line-height: 1.72; color: var(--ar-text); }
.vg-ar-body p { margin: 0 0 24px; }
.vg-ar-body h2 { margin: 44px 0 16px; font-size: 28px; line-height: 1.2; font-weight: 800; letter-spacing: -.01em; color: var(--ar-ink); scroll-margin-top: 110px; }
.vg-ar-body h3 { margin: 32px 0 12px; font-size: 22px; line-height: 1.25; font-weight: 800; color: var(--ar-ink); }
.vg-ar-body h4, .vg-ar-body h5 { margin: 24px 0 10px; font-size: 18px; font-weight: 700; color: var(--ar-ink); }
.vg-ar-body .c-content-block:first-child h2:first-child { margin-top: 0; }
.vg-ar-body ul { margin: 0 0 26px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 18px; line-height: 1.55; }
.vg-ar-body ul > li { position: relative; padding-left: 22px; margin: 0; }
.vg-ar-body ol > li { margin: 0 0 6px; }
.vg-ar-body ul > li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--ar-green); }
.vg-ar-body ol { margin: 0 0 26px; padding-left: 1.4em; font-size: 18px; line-height: 1.55; }
.vg-ar-body blockquote { margin: 36px 0; padding: 26px 30px 26px 28px; background: var(--ar-soft); border-left: 4px solid var(--ar-green); border-radius: 0 14px 14px 0; font-style: normal; font-size: 21px; line-height: 1.55; font-weight: 600; color: var(--ar-ink); }
.vg-ar-body blockquote p { margin: 0; }
/* podpis citace: „…“ ↵ — Jméno (kurzíva na konci za zalomením) */
.vg-ar-body blockquote br + em:last-child { display: inline-block; margin-top: 14px; font-size: 15px; line-height: 1.4; font-weight: 500; font-style: normal; color: var(--ar-muted); }
.vg-ar-body a { color: var(--ar-green-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.vg-ar-body a:hover { color: #06160e; }

/* karta hry v textu */
.vg-ar-game { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; align-items: center; background: var(--ar-ink); color: #fff; border-radius: 18px; padding: 20px; margin: 8px 0 36px; }
.vg-ar-game__cover { display: block; width: 112px; height: 168px; border-radius: 10px; overflow: hidden; background: #2d313a; }
.vg-ar-game__cover img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.vg-ar-game__cover span { display: grid; place-items: center; height: 100%; color: var(--ar-green); font-size: 36px; font-weight: 800; }
.vg-ar-game__body { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.vg-ar-game__title { font-size: 26px; font-weight: 800; line-height: 1.1; color: #fff !important; text-decoration: none !important; }
.vg-ar-game__title:hover { color: var(--ar-green) !important; }
.vg-ar-game__meta { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12.5px; color: #aab2bf; }
.vg-ar-game__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.vg-ar-game__btns a { text-decoration: none !important; }

/* pod článkem */
.vg-ar-sources { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--ar-line); display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; }
.vg-ar-sources a { color: var(--ar-green-ink); }
.vg-ar-endrow { margin-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 12px 20px; flex-wrap: wrap; }
.vg-ar-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-ar-tags a { padding: 8px 12px; border-radius: 999px; background: #f2f4f7; color: #4a515c; font-size: 14px; text-decoration: none; }
.vg-ar-tags a:hover { background: #e6f9ed; color: var(--ar-green-ink); text-decoration: none; }
.vg-ar-fix { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--ar-muted); }
.vg-ar-fix:hover { color: var(--ar-ink); }
.vg-ar-author { margin-top: 32px; border: 1px solid var(--ar-line); border-radius: 16px; padding: 22px; display: flex; gap: 18px; align-items: center; flex-wrap: wrap; scroll-margin-top: 110px; }
.vg-ar-author__text { flex: 1 1 260px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.vg-ar-author__name { font-size: 18px; font-weight: 800; color: var(--ar-ink); text-decoration: none; }
.vg-ar-author__name:hover { color: var(--ar-green-ink); text-decoration: none; }
.vg-ar-author__text p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4a515c; }
.vg-ar-nb { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vg-ar-nb__item { display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: 16px; border: 1px solid var(--ar-line); color: var(--ar-text); text-decoration: none; min-height: 120px; transition: border-color .15s; }
.vg-ar-nb__item:hover { border-color: var(--ar-green); color: var(--ar-text); text-decoration: none; }
.vg-ar-nb__item--next { background: var(--ar-ink); border-color: var(--ar-ink); color: #fff; }
.vg-ar-nb__item--next:hover { color: #fff; }
.vg-ar-nb__t { font-size: 16px; font-weight: 700; line-height: 1.3; }

/* pravý sloupec */
.vg-ar-card { display: block; background: #fff; border: 1px solid var(--ar-line); border-radius: 16px; padding: 18px 20px; color: var(--ar-text); text-decoration: none; }
a.vg-ar-card:hover { border-color: var(--ar-green); color: var(--ar-text); text-decoration: none; }
.vg-ar-toc .vg-ar-kicker { margin-bottom: 8px; }
.vg-ar-toc a { display: block; padding: 7px 0 7px 14px; border-left: 2px solid var(--ar-line); color: #4a515c; font-size: 14px; line-height: 1.35; text-decoration: none; }
.vg-ar-toc a:hover { color: var(--ar-ink); text-decoration: none; }
.vg-ar-toc a.is-on { border-left-color: var(--ar-green); color: var(--ar-ink); font-weight: 700; }
.vg-ar-entity { display: flex; gap: 14px; align-items: center; padding: 14px; }
.vg-ar-entity__logo { flex: none; width: 56px; height: 56px; border-radius: 12px; background: #2d313a; overflow: hidden; display: grid; place-items: center; }
.vg-ar-entity__logo img { max-width: 84%; max-height: 84%; object-fit: contain; }
.vg-ar-entity__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vg-ar-entity__text .vg-ar-kicker { font-size: 11px; }
.vg-ar-entity__text b { font-size: 16px; }
.vg-ar-entity__text span:last-child { font-size: 13px; color: var(--ar-muted); }
.vg-ar-support { position: relative; overflow: hidden; background: var(--ar-green); color: #06160e; border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.vg-ar-support__mark { position: absolute; right: -18px; bottom: -14px; color: #06160e; opacity: .12; pointer-events: none; }
.vg-ar-support .vg-ar-kicker { font-size: 11px; }
.vg-ar-support h3 { margin: 0; font-size: 18px; line-height: 1.25; font-weight: 800; color: #06160e; }
.vg-ar-support p { margin: 0 0 4px; font-size: 14px; line-height: 1.45; }
.vg-ar-support .vg-ar-btn { position: relative; width: 100%; }
.vg-ar-nl { display: flex; flex-direction: column; gap: 8px; background: var(--ar-soft); border-color: var(--ar-soft); }
.vg-ar-nl b { font-size: 16px; }
.vg-ar-nl span:not(.vg-ar-btn) { font-size: 14px; color: #4a515c; line-height: 1.45; }
.vg-ar-nl .vg-ar-btn { align-self: flex-start; margin-top: 4px; }

/* diskuze */
.vg-ar-discuss { margin-top: 64px; background: var(--ar-soft); padding: 52px 0 36px; scroll-margin-top: 90px; }
.vg-ar-discuss__in { max-width: 860px; margin: 0 auto; padding: 0 32px; }
.vg-ar-discuss .l-section { padding: 0; }
.vg-ar-discuss .l-container { max-width: none; padding: 0; }
.vg-ar-discuss .c-box--white-2 { background: #fff; }
.vg-cm-badge { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1c7c3f; background: #dff7e9; padding: 3px 6px; border-radius: 4px; }
.vg-cm-badge--dev { background: #42dd70; color: #06160e; }

/* čtěte dál */
.vg-ar-more { padding-top: 60px; padding-bottom: 80px; }
.vg-ar-more__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.vg-ar-more__head h2 { margin: 6px 0 0; font-size: 30px; font-weight: 800; letter-spacing: -.01em; }
.vg-ar-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vg-ar-tile { display: flex; flex-direction: column; gap: 10px; color: var(--ar-text); text-decoration: none; }
.vg-ar-tile:hover { color: var(--ar-text); text-decoration: none; }
.vg-ar-tile:hover .vg-ar-tile__t { color: var(--ar-green-ink); }
.vg-ar-tile__img { display: block; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: #2d313a; }
.vg-ar-tile__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.vg-ar-tile:hover .vg-ar-tile__img img { transform: scale(1.03); }
.vg-ar-tile .vg-ar-kicker { font-size: 11.5px; }
.vg-ar-tile__t { font-size: 17px; font-weight: 700; line-height: 1.3; }
.vg-ar-tile__d { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; color: var(--ar-muted); }

/* tablet a mobil: jeden sloupec, lišta vodorovně, obsah článku pryč */
@media (max-width: 1100px) {
  .vg-ar-layout { grid-template-columns: 44px minmax(0, 1fr) 280px; gap: 32px; }
}
@media (max-width: 991px) {
  .vg-ar-wrap { padding: 0 16px; }
  .vg-ar-hero { min-height: 520px; }
  .vg-ar-hero__in { padding-top: 120px; padding-bottom: 28px; gap: 14px; }
  .vg-ar-hero__title { font-size: 34px; line-height: 1.08; }
  .vg-ar-hero__meta { flex-direction: column; align-items: flex-start; gap: 10px; }
  .vg-ar-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 16px; }
  .vg-ar-rail { position: static; flex-direction: row; justify-content: flex-start; padding-bottom: 14px; border-bottom: 1px solid var(--ar-line); }
  .vg-ar-rail .vg-share--rail { flex-direction: row; }
  .vg-ar-rail__count { display: none; }
  .vg-ar-main { max-width: none; }
  .vg-ar-side { position: static; }
  .vg-ar-toc { display: none; }
  .vg-ar-body { font-size: 17px; line-height: 1.68; }
  .vg-ar-body h2 { font-size: 23px; margin-top: 36px; }
  .vg-ar-body ul { font-size: 16px; }
  .vg-ar-body blockquote { font-size: 18px; padding: 20px 20px 20px 20px; margin: 28px 0; }
  .vg-ar-facts { padding: 16px 18px; margin-bottom: 24px; }
  .vg-ar-facts dl { font-size: 14.5px; gap: 7px 14px; }
  .vg-ar-more__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .vg-ar-tile { display: grid; grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 12px; row-gap: 4px; align-items: start; }
  .vg-ar-tile__img { grid-row: 1 / span 3; aspect-ratio: auto; height: 72px; border-radius: 8px; }
  .vg-ar-tile__t { font-size: 15px; }
  .vg-ar-more__head h2 { font-size: 22px; }
  .vg-ar-discuss__in { padding: 0 16px; }
  .vg-ar-discuss { padding: 32px 0 20px; margin-top: 40px; }
}
@media (max-width: 575px) {
  .vg-ar-game { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 16px; }
  .vg-ar-game__cover { width: 72px; height: 108px; }
  .vg-ar-game__title { font-size: 21px; }
  .vg-ar-game__btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; }
  .vg-ar-game__btns > :first-child { grid-column: 1 / -1; }
  .vg-ar-nb { grid-template-columns: minmax(0, 1fr); }
  .vg-ar-nb__item:not(.vg-ar-nb__item--next) { display: none; }
  .vg-ar-author .vg-ar-btn { width: 100%; }
}
/* tlačítka karty hry uvnitř těla článku nesmí dědit barvu odkazů z textu */
.vg-ar-body .vg-ar-game a.vg-ar-btn--primary, .vg-ar-body .vg-ar-game a.vg-ar-btn--primary:hover { color: #06160e; }
.vg-ar-body .vg-ar-game a.vg-ar-btn--ghost, .vg-ar-body .vg-ar-game a.vg-ar-btn--line { color: #fff; }
.vg-ar-nl b, .vg-ar-entity__text b { font-weight: 800; }
/* boxy souvisejícího studia / hry v pravém sloupci (jako na původním webu) */
.vg-ar-rel { display: flex; flex-direction: column; gap: 12px; }
.vg-ar-rel__item { display: flex; align-items: center; gap: 16px; padding: 14px 16px; }
.vg-ar-rel__logo { position: relative; flex: none; width: 76px; height: 76px; border-radius: 14px; background: #2d313a; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.vg-ar-rel__logo img { max-width: 80%; max-height: 80%; object-fit: contain; }
.vg-ar-rel__cover { flex: none; width: 76px; height: 104px; border-radius: 10px; background: #2d313a; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.vg-ar-rel__cover img { width: 100%; height: 100%; object-fit: cover; }
.vg-ar-rel__cover span { color: #42dd70; font-weight: 800; font-size: 26px; }
.vg-ar-rel__text { display: flex; flex-direction: column; min-width: 0; }
.vg-ar-rel__cap { font-size: 13px; color: var(--ar-muted); }
.vg-ar-rel__cap--gap { margin-top: 8px; }
.vg-ar-rel__title { font-size: 18px; font-weight: 800; line-height: 1.25; color: var(--ar-ink); }
.vg-ar-rel__year { font-size: 16px; font-weight: 700; color: var(--ar-ink); }
/* rozhovor s videem: titulek a přehrávač v jednom tmavém bloku */
.vg-ar-hero--video { min-height: 0; background: var(--ar-ink); }
.vg-ar-hero--video .vg-ar-hero__shade { display: none; }
.vg-ar-hero--video .vg-ar-hero__in { padding-top: 48px; padding-bottom: 40px; }
.vg-ar-hero--video .vg-ar-hero__title { font-size: 46px; }
.vg-ar-hero__video { margin-top: 18px; scroll-margin-top: 100px; }
.vg-ar-hero__video .vg-iv-article { background: transparent; padding: 0; margin: 0; border-radius: 0; }
.vg-ar-hero__video .vg-iv-hero { gap: 28px; }
.vg-ar-hero__video .vg-iv-hero__side { padding-top: 2px; }
@media (max-width: 991px) {
  .vg-ar-hero--video .vg-ar-hero__in { padding-top: 28px; padding-bottom: 24px; }
  .vg-ar-hero--video .vg-ar-hero__title { font-size: 30px; }
}

/* ══ Najdi hru podle vzpomínek v2 (/najdi-hru): průvodce po otázkách ══ */
.vg-nh { --nh-ink: #161920; --nh-text: #232328; --nh-muted: #5d6470; --nh-line: #e3e8ee; --nh-soft: #f2f5f8; --nh-green: #42dd70; --nh-green-ink: #1c7c3f; background: var(--nh-soft); padding-bottom: 72px; color: var(--nh-text); }
.vg-nh-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }
.vg-nh-hero { position: relative; overflow: hidden; background: var(--nh-ink); color: #fff; padding: 64px 0 104px; }
.vg-nh-hero::after { content: ''; position: absolute; right: -80px; top: -60px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(66,221,112,.22), rgba(66,221,112,0) 65%); pointer-events: none; }
.vg-nh-hero__kicker { margin: 0 0 14px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--nh-green); }
.vg-nh-hero h1 { margin: 0 0 16px; max-width: 820px; font-size: 50px; line-height: 1.05; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.vg-nh-hero__lead { margin: 0; max-width: 680px; font-size: 18px; line-height: 1.55; color: #c9ced6; }
.vg-nh-main { position: relative; margin-top: -64px; display: flex; flex-direction: column; gap: 20px; }

/* přehled kroků */
.vg-nh-steps { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; background: #fff; border-radius: 16px; padding: 8px; box-shadow: 0 12px 32px rgba(22,25,32,.12); }
.vg-nh-step { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 6px 8px; border: 0; border-radius: 10px; background: transparent; color: var(--nh-muted); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s; white-space: nowrap; }
.vg-nh-step:hover { background: var(--nh-soft); color: var(--nh-text); }
.vg-nh-step__n { display: inline-grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--nh-soft); color: var(--nh-muted); font-size: 12px; font-weight: 800; }
.vg-nh-step.is-done { color: var(--nh-green-ink); }
.vg-nh-step.is-done .vg-nh-step__n { background: #dff7e9; color: var(--nh-green-ink); }
.vg-nh-step.is-on { background: var(--nh-ink); color: #fff; }
.vg-nh-step.is-on .vg-nh-step__n { background: var(--nh-green); color: #06160e; }

/* otázka */
.vg-nh-q { background: #fff; border-radius: 20px; padding: 32px 36px; box-shadow: 0 2px 10px rgba(22,25,32,.05); scroll-margin-top: 110px; }
.vg-nh-q__head { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.vg-nh-q__count { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--nh-green-ink); }
.vg-nh-q__head h2 { margin: 0; font-size: 32px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; color: var(--nh-ink); }
.vg-nh-q__head p { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--nh-muted); max-width: 720px; }
.vg-nh-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.vg-nh-tile { display: flex; flex-direction: column; padding: 0; border: 2px solid var(--nh-line); border-radius: 14px; background: #fff; text-align: left; cursor: pointer; overflow: hidden; font: inherit; color: inherit; transition: border-color .15s, transform .15s, box-shadow .15s; }
.vg-nh-tile:hover { border-color: #b9ecc9; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(22,25,32,.1); }
.vg-nh-tile.is-on { border-color: var(--nh-green); box-shadow: 0 0 0 3px rgba(66,221,112,.25); }
.vg-nh-tile__img { position: relative; display: block; aspect-ratio: 16 / 10; background: #2d313a; overflow: hidden; }
.vg-nh-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-nh-tile__ph { display: grid; place-items: center; height: 100%; color: var(--nh-green); font-size: 28px; font-weight: 800; }
.vg-nh-tile__check { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--nh-green); color: #06160e; font-size: 15px; font-weight: 900; opacity: 0; transform: scale(.6); transition: opacity .15s, transform .15s; }
.vg-nh-tile.is-on .vg-nh-tile__check { opacity: 1; transform: none; }
.vg-nh-tile__body { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px 14px; }
.vg-nh-tile__body b { font-size: 16px; font-weight: 800; color: var(--nh-ink); }
.vg-nh-tile__body small { font-size: 13px; line-height: 1.35; color: var(--nh-muted); }
.vg-nh-tile__body .vg-nh-tile__ex { margin-top: 2px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 11.5px; color: #8a8f99; }
.vg-nh-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.vg-nh-pill { min-height: 52px; padding: 0 22px; border: 2px solid var(--nh-line); border-radius: 999px; background: #fff; color: var(--nh-text); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.vg-nh-pill:hover { border-color: var(--nh-green); }
.vg-nh-pill.is-on { background: var(--nh-ink); border-color: var(--nh-ink); color: #fff; }
.vg-nh-pill.is-on span { color: var(--nh-green); }
.vg-nh-q__nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--nh-line); }
.vg-nh-q__navright { display: flex; gap: 10px; flex-wrap: wrap; }

/* tlačítka */
.vg-nh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 12px; border: 1px solid transparent; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s, color .15s, opacity .15s; }
.vg-nh-btn:disabled { opacity: .35; cursor: default; }
.vg-nh-btn--primary { background: var(--nh-green); color: #06160e; }
.vg-nh-btn--primary:hover { background: #36cc62; }
.vg-nh-btn--line { background: #fff; border-color: #d7dde5; color: var(--nh-text); }
.vg-nh-btn--line:hover:not(:disabled) { border-color: var(--nh-ink); }
.vg-nh-btn--ghost { background: transparent; color: var(--nh-muted); padding: 0 8px; }
.vg-nh-btn--ghost:hover:not(:disabled) { color: var(--nh-ink); }

/* výsledky */
.vg-nh-res { margin-top: 20px; scroll-margin-top: 100px; }
.vg-nh-res__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.vg-nh-res__bar h2 { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -.01em; color: var(--nh-ink); }
.vg-nh-res__bar h2 em { font-style: normal; color: var(--nh-green-ink); }
.vg-nh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.vg-nh-chips button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid #c9efd6; border-radius: 999px; background: #e9fbef; color: var(--nh-green-ink); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.vg-nh-chips button small { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5f9b75; }
.vg-nh-chips button span { opacity: .7; }
.vg-nh-chips button:hover { border-color: var(--nh-green-ink); }
.vg-nh-empty { background: #fff; border: 1px dashed #cfd6df; border-radius: 16px; padding: 40px 24px; text-align: center; color: var(--nh-muted); font-size: 16px; line-height: 1.6; }
.vg-nh-empty p { margin: 0 auto; max-width: 520px; }
.vg-nh-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; transition: opacity .2s; }
.vg-nh-grid.is-busy { opacity: .5; }
.vg-nh-card { display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 10px rgba(22,25,32,.06); transition: transform .15s, box-shadow .15s; }
.vg-nh-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(22,25,32,.12); }
.vg-nh-card__img { position: relative; display: block; aspect-ratio: 16 / 10; padding: 0; border: 0; background: #2d313a; cursor: zoom-in; overflow: hidden; }
.vg-nh-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.vg-nh-card__img:hover img { transform: scale(1.04); }
.vg-nh-card__noimg { display: grid; place-items: center; height: 100%; color: rgba(255,255,255,.45); font-size: 12px; }
.vg-nh-card__score { position: absolute; top: 10px; right: 10px; padding: 3px 9px; border-radius: 999px; background: var(--nh-green); color: #06160e; font-size: 12.5px; font-weight: 800; }
.vg-nh-card__shots { position: absolute; left: 10px; bottom: 10px; padding: 2px 8px; border-radius: 999px; background: rgba(0,0,0,.6); color: #fff; font-size: 11px; }
.vg-nh-card__body { display: flex; flex-direction: column; gap: 5px; padding: 12px 14px 14px; }
.vg-nh-card__title { font-size: 16px; font-weight: 800; line-height: 1.25; color: var(--nh-ink); text-decoration: none; }
.vg-nh-card__title:hover { color: var(--nh-green-ink); text-decoration: none; }
.vg-nh-card__meta { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; color: var(--nh-muted); }
.vg-nh-card__matched { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.vg-nh-card__matched i { font-style: normal; font-size: 11.5px; padding: 2px 8px; border-radius: 999px; background: #f2fbf5; color: var(--nh-green-ink); border: 1px solid #c9efd6; }
.vg-nh-more { display: flex; margin: 24px auto 0; }

/* náhled screenshotů */
.vg-nh-lb { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(8,9,11,.92); }
.vg-nh-lb__box { position: relative; width: min(1100px, 100%); }
.vg-nh-lb__box img { display: block; width: 100%; max-height: calc(100vh - 130px); object-fit: contain; background: #000; border-radius: 12px; }
.vg-nh-lb__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; color: #fff; font-size: 15px; }
.vg-nh-lb__bar span { display: flex; align-items: center; gap: 12px; }
.vg-nh-lb__bar button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 20px; cursor: pointer; }
.vg-nh-lb__bar a { color: var(--nh-green); font-weight: 700; }
.vg-nh-lb__x { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 24px; cursor: pointer; }

@media (max-width: 991px) {
  .vg-nh-wrap { padding: 0 16px; }
  .vg-nh-hero { padding: 40px 0 88px; }
  .vg-nh-hero h1 { font-size: 32px; }
  .vg-nh-hero__lead { font-size: 16px; }
  .vg-nh-steps { display: flex; overflow-x: auto; scrollbar-width: none; }
  .vg-nh-steps::-webkit-scrollbar { display: none; }
  .vg-nh-step { flex: none; padding: 6px 12px; }
  .vg-nh-q { padding: 22px 18px; border-radius: 16px; }
  .vg-nh-q__head h2 { font-size: 24px; }
  .vg-nh-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .vg-nh-tile__body { padding: 10px 10px 12px; }
  .vg-nh-tile__body b { font-size: 14.5px; }
  .vg-nh-tile__body small { font-size: 12px; }
  .vg-nh-tile__body .vg-nh-tile__ex { display: none; }
  .vg-nh-pill { min-height: 46px; padding: 0 16px; font-size: 15px; }
  .vg-nh-q__nav { position: sticky; bottom: 0; margin: 22px -18px -22px; padding: 12px 18px; background: rgba(255,255,255,.96); border-radius: 0 0 16px 16px; }
  .vg-nh-q__navright { flex: 1; justify-content: flex-end; }
  .vg-nh-q__navright .vg-nh-btn { padding: 0 14px; font-size: 14px; }
  .vg-nh-res__bar h2 { font-size: 22px; }
  .vg-nh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .vg-nh-card__body { padding: 10px; }
  .vg-nh-card__title { font-size: 14.5px; }
}
@media (prefers-reduced-motion: reduce) { .vg-nh-tile, .vg-nh-card, .vg-nh-card__img img { transition: none; } }
.vg-nh-q__navleft { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.vg-nh-q__live { border: 0; background: none; padding: 6px 0; font: inherit; font-size: 14px; color: var(--nh-muted); cursor: pointer; }
.vg-nh-q__live b { color: var(--nh-green-ink); }
.vg-nh-q__live:hover { color: var(--nh-ink); }
@media (max-width: 991px) { .vg-nh-q__live { display: none; } }
@media (max-width: 991px) {
  .vg-nh-q__nav { flex-wrap: nowrap; gap: 6px; background: #fff; box-shadow: 0 -8px 18px rgba(22,25,32,.08); }
  .vg-nh-q__navleft { flex: none; }
  .vg-nh-q__navleft .vg-nh-btn--ghost { padding: 0 4px; font-size: 14px; }
  .vg-nh-q__navright { flex-wrap: nowrap; gap: 6px; }
  .vg-nh-q__navright .vg-nh-btn { min-height: 44px; padding: 0 12px; font-size: 13.5px; }
}


/* ── Průhledná hlavička nad herem (úvodní stránka, vzor alcove.com.au, 2026-10-22) ──
   Hero sahá až k hornímu okraji; hlavička nahoře nemá plné pozadí, jen jemný tmavý
   přechod do 160 px kvůli čitelnosti menu na světlé fotce. Po odscrollování
   (is-scrolled) dostane plné tmavé pozadí s lehkým rozmazáním. */
body.is-hero-header .c-header {
  transition: background-color 300ms ease, transform 250ms ease-in-out, box-shadow 300ms ease;
}
body.is-hero-header:not(.is-scrolled) .c-header {
  background: transparent;
}
body.is-hero-header:not(.is-scrolled) .c-header::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 160px;
  z-index: -1;
  background: linear-gradient(180deg, rgba(20, 22, 26, 0.6) 0, rgba(20, 22, 26, 0.35) 64px, rgba(20, 22, 26, 0) 160px);
  pointer-events: none;
}
body.is-hero-header:not(.is-scrolled) .c-header__main {
  border-bottom-color: transparent;
}
body.is-hero-header.is-scrolled .c-header {
  background: rgba(35, 35, 40, 0.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Záře kolem vyhledávání v heru (inset -70px) přetékala do stran → na mobilu stránka širší
   než displej (bílý pruh vpravo). Vodorovně oříznout; svisle zůstává viditelné kvůli našeptávači. */
.s-hp-hero--no-hidden { overflow-x: clip; }

/* ── Karty her: animace po najetí + video ukázka (vzor „cinematic cards“, 2026-10-23) ──
   Tvar karet zůstává; přibývá zvednutí karty, pomalé přiblížení obalu a 8s video bez zvuku
   (src/components/theme/CoverPreview.tsx, náhledy /nahledy/<slug>.mp4). */
.c-game-article__label { z-index: 2; }
/* dlouhé jednoslovné názvy (Erdbebenblasenmuseum) přetékaly do vedlejší karty → zalomit kdekoli */
.c-game-article h4, .c-game-article .caption { overflow-wrap: anywhere; }
/* přiblížený obal (transform) se kreslil přes lesk šablony (.a-reflection .o-bg:before) → lesk zmizel; vrátit ho nad obrázek */
.a-reflection .o-bg:before { z-index: 2; pointer-events: none; }
.c-game-article__cover .o-bg__img { transition: transform 1.1s cubic-bezier(0.2, 0.75, 0.2, 1); }
@media (hover: hover) and (pointer: fine) {
  [data-vg-preview] { transition: transform 0.35s ease, box-shadow 0.35s ease; will-change: transform; }
  [data-vg-preview]:hover { transform: translateY(-4px); }
  [data-vg-preview]:hover .c-game-article__cover .o-bg__img { transform: scale(1.08); }
  [data-vg-preview].c-box:hover { box-shadow: 0 14px 34px rgba(35, 35, 40, 0.12), 0 0 0 1px rgba(66, 221, 112, 0.35); }
  [data-vg-preview]:not(.c-box):hover .c-game-article__cover { box-shadow: 0 14px 30px rgba(35, 35, 40, 0.18), 0 0 0 1px rgba(66, 221, 112, 0.45); }
}
.c-game-article__cover { transition: box-shadow 0.35s ease; }
.vg-cover-video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  z-index: 1; pointer-events: none; opacity: 0; transform: scale(1.08);
  transition: opacity 0.35s ease;
}
.is-previewing .vg-cover-video { opacity: 1; }
/* spodní ztmavení během ukázky, ať jsou štítky čitelné */
.is-previewing .c-game-article__cover::after {
  content: ""; position: absolute; inset: 45% 0 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(5, 8, 7, 0.55));
}
.vg-cover-live {
  position: absolute; top: 8px; right: 8px; z-index: 3;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 9px; border-radius: 999px;
  background: rgba(15, 17, 21, 0.78); color: #caffd4;
  font-family: Iosevka, ui-monospace, monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  opacity: 0; transform: translateY(-4px); transition: opacity 0.25s ease, transform 0.25s ease;
}
.vg-cover-live__dot { width: 6px; height: 6px; border-radius: 50%; background: #42dd70; box-shadow: 0 0 8px #42dd70; }
.is-previewing .vg-cover-live { opacity: 1; transform: none; }
.vg-cover-progress {
  position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 3;
  background: rgba(255, 255, 255, 0.22); opacity: 0; transition: opacity 0.25s ease;
}
.vg-cover-progress > span {
  display: block; height: 100%; background: #42dd70;
  transform: scaleX(var(--vg-pv, 0)); transform-origin: left; transition: transform 0.25s linear;
}
.is-previewing .vg-cover-progress { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  [data-vg-preview], [data-vg-preview]:hover, .c-game-article__cover .o-bg__img { transform: none !important; transition: none !important; }
}

/* ===================== Sjednocení nadpisů a tlačítek (audit 2026-10-23) =====================
   Nadpis stránky (H1) = stupnice šablony 50 / 38 / 36 px, tloušťka 700 (výjimka: časová osa, přihlášení v kartě).
   Tlačítka: samostatné tlačítko = pilulka (jako .c-btn), tlačítko přilepené k poli = 10 px a pole stejně. */
:root { --vg-r-pill: 999px; --vg-r-field: 10px; }

.vg-hx__title, .vg-fo__title, .vg-jobs-hero__title, .vg-jh__main .vg-jobs-hero__title, .vg-sr-h1, .vg-st-h1,
.vg-edu-hero__title, .vg-ab-hero__title, .vg-sp-hero__text h1, .vg-nh-hero h1, .vg-ad-hero__title { font-size: 50px; font-weight: 700; }
@media (max-width: 768px) {
  .vg-hx__title, .vg-fo__title, .vg-jobs-hero__title, .vg-jh__main .vg-jobs-hero__title, .vg-sr-h1, .vg-st-h1,
  .vg-edu-hero__title, .vg-ab-hero__title, .vg-sp-hero__text h1, .vg-nh-hero h1, .vg-ad-hero__title { font-size: 38px; }
}
@media (max-width: 480px) {
  .vg-hx__title, .vg-fo__title, .vg-jobs-hero__title, .vg-jh__main .vg-jobs-hero__title, .vg-sr-h1, .vg-st-h1,
  .vg-edu-hero__title, .vg-ab-hero__title, .vg-sp-hero__text h1, .vg-nh-hero h1, .vg-ad-hero__title { font-size: 36px; }
}
/* nadpisy sekcí: jedna tloušťka (Podpořte nás měla 900, Najdi hru 800) */
.vg-sp-head h2, .vg-sp-patron__text h2 { font-size: 37px; font-weight: 700; }
@media (max-width: 768px) { .vg-sp-head h2, .vg-sp-patron__text h2 { font-size: 28px; } }
.vg-sp-tier__title h3, .vg-sp-faq h3, .vg-sp-money__text h2, .vg-sp-studios h2, .vg-nh-q__head h2, .vg-nh-res__bar h2 { font-weight: 700; }

/* samostatná tlačítka → pilulka */
a.vg-hs__btn, .vg-ad-hero__cta, .vg-edu-hero__ghost, .vg-ab-btn, .vg-ab-pill, .vg-story__cta, .vg-st-help__btn,
.vg-nh-btn, .vg-ft-btn, .vg-ft-social, .vg-ft-top-btn { border-radius: var(--vg-r-pill); }

/* tlačítka u pole → 10 px, pole stejně (obal o 4 px víc, aby rohy lícovaly) */
button.vg-hs__btn, .vg-hs__field, .vg-hs__row--beam .vg-hs__field, .vg-hs__row--beam .vg-hs__btn,
.vg-hx-search__go, .vg-nl-band__row input, .vg-nl-band__row button, .vg-ft-nl__row input, .vg-ft-nl__row button,
.vg-creators-search input, .vg-creators-search button, .vg-ja__email ~ .vg-ja__btn, .vg-alert__row select { border-radius: var(--vg-r-field); }
.vg-hs__row--beam, .vg-hx-search { border-radius: 14px; }
/* hero „HLEDAT“ jako jediné tlačítko velkými písmeny → jako ostatní */
.vg-hs__row--beam .vg-hs__btn { text-transform: none; letter-spacing: 0; font-size: 16px; }

/* /skoly žebříček krajů: na mobilu bez vodicí čáry, ať se název kraje vejde (dřív přetékal o 9 px) */
@media (max-width: 575px) { .vg-kraj-row__dash { display: none; } .vg-kraj-row > span:first-child { flex: 1 1 auto; } .vg-kraj-row__k { min-width: 0 !important; } }

/* ===================== Index: víc vzduchu mezi rubrikami (2026-10-23) =====================
   Dřív 48 px mezi rubrikami a odstup nadpis → obsah 4–43 px. Teď jedna stupnice (8px mřížka):
   rubrika ↔ rubrika 96 / 72 / 56 px, nadpis rubriky → obsah 32 / 24 px. Jen index (.vg-home). */
.vg-home .l-section { padding-bottom: 96px; }
.vg-home .l-section:not(.pt-0) { padding-top: 96px; }
.vg-home .vg-hp-head, .vg-home .vg-sec-head { margin-bottom: 32px !important; }
@media (max-width: 991px) {
  .vg-home .l-section { padding-bottom: 72px; }
  .vg-home .l-section:not(.pt-0) { padding-top: 72px; }
}
@media (max-width: 575px) {
  .vg-home .l-section { padding-bottom: 56px; }
  .vg-home .l-section:not(.pt-0) { padding-top: 56px; }
  .vg-home .vg-hp-head, .vg-home .vg-sec-head { margin-bottom: 24px !important; }
}

/* Hlavička: ikona „+“ → nabídka Přidat hru / Přidat studio (src/Header/HeaderAdd.tsx) */
.vg-add-menu { position: absolute; right: 0; top: 46px; z-index: 50; min-width: 310px; padding: 6px; background: #fff; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.15); }
.vg-add-menu__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; color: #232328 !important; text-decoration: none !important; }
.vg-add-menu__item:hover { background: #edefee; }
.vg-add-menu__ico { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: rgba(66,221,112,.16); color: #1e7a3e; }
.vg-add-menu__t { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.vg-add-menu__h { display: block; font-size: 12.5px; color: #6b7280; line-height: 1.3; text-transform: none; letter-spacing: 0; }

/* ===================== Logo: znak havran (WebP) + nápis VISIONGAME (vektor) — 2026-10-29 =====================
   Nápis má poměr 103,1 : 21,75; havran (poměr 1,1 : 1) je o něco vyšší než nápis, aby kresba byla čitelná. */
.c-header__logo { gap: 6px; }
.c-header__logo-svg { width: 104px; height: 22px; }
.vg-logo-mark { display: block; flex: none; width: auto; height: 30px; }
@media (max-width: 479px) {
  .c-header__logo-svg { width: 85px; height: 18px; }
  .c-header__logo .vg-logo-mark { height: 25px; }
}
@media (max-width: 359px) {
  .c-header__logo-svg { width: 71px; height: 15px; }
  .c-header__logo { gap: 4px; }
  .c-header__logo .vg-logo-mark { height: 21px; }
}
.vg-ft-brand__logo { display: inline-flex; align-items: center; gap: 6px; }
.vg-ft-brand__logo svg { width: 95px; height: 20px; }
.vg-ft-brand__logo .vg-logo-mark { height: 27px; }
.vg-nf__logo { display: inline-flex; align-items: center; gap: 8px; width: auto; }
.vg-nf__logo svg { width: 142px; height: 30px; }
.vg-nf__logo .vg-logo-mark { height: 42px; }

/* Logo v hlavičce / 404: Chronohavranovi občas zeleně blikne oko (střed oka 76,5 % / 15,4 % obrázku havran-*.webp) */
.vg-logo-eye { position: relative; display: inline-flex; line-height: 0; flex-shrink: 0; }
.vg-logo-eye::after { content: ""; position: absolute; left: 76.5%; top: 15.4%; width: 30%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%) scale(.6); background: radial-gradient(circle, #f2fff5 0 10%, rgba(90,255,140,.95) 24%, rgba(66,221,112,.45) 46%, rgba(66,221,112,0) 70%); opacity: 0; pointer-events: none; animation: vg-raven-eye 7s ease-in-out 2s infinite; }
@media (prefers-reduced-motion: reduce) { .vg-logo-eye::after { animation: none; } }

/* Patička: Chronohavran s bublinou hlášek (varianta B, 2026-11-06) */
.vg-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.vg-ft-brand { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.vg-ft-brand__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.vg-raven { display: flex; align-items: flex-start; gap: 18px; min-height: 150px; }
.vg-raven__bird { position: relative; display: block; width: 150px; flex-shrink: 0; }
/* oko se zeleně zableskne jako u EONu (střed oka na 76,5 % / 11,7 % kresby) */
.vg-raven__bird::after { content: ""; position: absolute; left: 76.5%; top: 11.7%; width: 18%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%) scale(.6); background: radial-gradient(circle, #f2fff5 0 9%, rgba(90,255,140,.95) 20%, rgba(66,221,112,.5) 42%, rgba(66,221,112,0) 70%); mix-blend-mode: screen; opacity: 0; pointer-events: none; animation: vg-raven-eye 5s ease-in-out infinite; }
.vg-raven__bird.is-thinking::after { animation: vg-raven-eye-think .6s ease-in-out infinite alternate; }
.vg-raven__bird img { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 24px rgba(0,0,0,.5)); }
.vg-raven__bubble { position: relative; margin-top: 4px; max-width: 580px; min-height: 64px; padding: 16px 22px; border-radius: 20px; background: linear-gradient(115deg, #0f3b21 0%, #1c7a3d 55%, #3fd56b 100%); border: 1px solid rgba(66,221,112,.35); color: #fff; font-size: 21px; line-height: 1.4; font-weight: 500; animation: vg-raven-pop .45s cubic-bezier(.2,.9,.3,1.3); }
.vg-raven__bubble::before { content: ""; position: absolute; left: -12px; top: 22px; border: 12px solid transparent; border-right-color: #0f3b21; border-left: 0; }
.vg-raven__dots { display: inline-flex; gap: 7px; padding: 10px 0; }
.vg-raven__dots i { width: 9px; height: 9px; border-radius: 50%; background: #fff; animation: vg-raven-dot 1.2s infinite; }
.vg-raven__dots i:nth-child(2) { animation-delay: .2s; }
.vg-raven__dots i:nth-child(3) { animation-delay: .4s; }
@keyframes vg-raven-eye { 0%, 76%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(.6); } 82% { opacity: 1; transform: translate(-50%, -50%) scale(1.15); } 88% { opacity: .3; } 92% { opacity: .9; transform: translate(-50%, -50%) scale(1); } }
@keyframes vg-raven-eye-think { from { opacity: .35; transform: translate(-50%, -50%) scale(.85); } to { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } }
@keyframes vg-raven-pop { 0% { transform: scale(.6); opacity: 0; } 70% { transform: scale(1.04); opacity: 1; } 100% { transform: scale(1); } }
@keyframes vg-raven-dot { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .vg-raven__bird::after, .vg-raven__bubble, .vg-raven__dots i { animation: none; } }
/* havran s bublinou vždy na střed (tlačítka Přidat hru/studio jsou ve sloupci Kontakt) */
.vg-ft-top:not(:has(.vg-ft-nl)) { grid-template-columns: 1fr; }
.vg-ft-brand { justify-content: center; }
.vg-raven { justify-content: center; }
.vg-ft-contact__add { display: flex; flex-direction: column; gap: 10px; max-width: 260px; margin-top: 10px; }
.vg-ft-contact__add .vg-ft-btn { width: 100%; }
@media (max-width: 575px) {
  .vg-raven { gap: 12px; min-height: 0; }
  .vg-raven__bird { width: 96px; }
  .vg-raven__bubble { font-size: 17px; padding: 12px 15px; margin-top: 0; }
}

/* Seriál článků (pole „Seriál“): rámeček se všemi díly pod článkem */
.vg-ar-series { margin: 28px 0 8px; padding: 20px 22px; border: 1px solid var(--ar-line, #e3e7ec); border-radius: 16px; background: #f7f9fa; }
.vg-ar-series__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-bottom: 12px; }
.vg-ar-series__name { font-size: 18px; line-height: 1.3; }
.vg-ar-series__name a { color: inherit; text-decoration: none; }
.vg-ar-series__name a:hover { color: var(--ar-green-ink, #1e7a3e); }
.vg-ar-series__pos { margin-left: auto; font-size: 13px; color: #6b7280; }
.vg-ar-series__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.vg-ar-series__list li { display: flex; gap: 12px; align-items: baseline; padding: 7px 10px; border-radius: 10px; font-size: 15px; line-height: 1.4; }
.vg-ar-series__list li a { color: var(--ar-text, #232328); text-decoration: none; }
.vg-ar-series__list li a:hover { color: var(--ar-green-ink, #1e7a3e); text-decoration: underline; }
.vg-ar-series__list li.is-current { background: #232328; color: #fff; font-weight: 700; }
.vg-ar-series__num { flex: none; min-width: 22px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 13px; color: #42dd70; text-align: right; }
.vg-ar-series__list li:not(.is-current) .vg-ar-series__num { color: #2fb85a; }

/* ── Statistiky: Průmysl (GDA) – živé grafy ── */
.vg-ind__read { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; min-height: 34px; margin-bottom: 16px; }
.vg-ind__ry { font-family: 'Iosevka Web', monospace; color: #8B93A1; font-size: 13px; letter-spacing: .06em; }
.vg-ind__rv { font-family: 'Iosevka Web', monospace; color: #fff; font-size: 22px; font-weight: 700; line-height: 1; }
.vg-ind__rv small { font-size: 12px; color: #8B93A1; font-weight: 400; letter-spacing: 0; }
.vg-ind__rd { font-family: 'Iosevka Web', monospace; font-size: 12.5px; font-weight: 700; padding: 3px 9px; border-radius: 999px; animation: vgIndPop .35s cubic-bezier(.22,1,.36,1); }
.vg-ind__rd.is-up { color: #42dd70; background: rgba(66,221,112,.12); }
.vg-ind__rd.is-down { color: #ff7a6b; background: rgba(255,122,107,.12); }
.vg-ind__rn { color: #8B93A1; font-size: 12.5px; }
.vg-ind__rn a { color: #fff; text-decoration: underline; text-decoration-color: rgba(66,221,112,.6); }
.vg-ind__switch { margin-left: auto; display: inline-flex; border: 1px solid #2a2f37; border-radius: 999px; padding: 2px; }
.vg-ind__switch button { background: none; border: 0; color: #8B93A1; font-size: 12px; padding: 4px 11px; border-radius: 999px; cursor: pointer; transition: background .2s, color .2s; }
.vg-ind__switch button.is-on { background: rgba(66,221,112,.16); color: #42dd70; }
.vg-ind__col { background: none; border: 0; padding: 0; margin: 0; cursor: pointer; font: inherit; color: inherit; transition: opacity .25s; }
.vg-ind__col.is-dim { opacity: .42; }
.vg-ind__col.is-active .vg-hist__bar { background: #42dd70; box-shadow: 0 0 18px rgba(66,221,112,.45); }
.vg-ind__col.is-active .vg-hist__l { color: #fff; font-weight: 700; }
.vg-ind__col:focus-visible { outline: 2px solid #42dd70; outline-offset: 4px; border-radius: 6px; }
.vg-ind__bar { transition: height .9s cubic-bezier(.22,1,.36,1), background .2s, box-shadow .2s, filter .2s; }
.vg-ind__col a:hover .vg-ind__bar { filter: brightness(1.25); }
.vg-ind__bar.is-plan { background: repeating-linear-gradient(135deg, rgba(66,221,112,.5) 0 4px, transparent 4px 8px) !important; outline: 1px solid rgba(66,221,112,.5); box-shadow: none !important; }
.vg-ind__fill { transition: width 1s cubic-bezier(.22,1,.36,1), filter .2s; }
.vg-ind-rows__row { border-radius: 6px; padding: 3px 6px; margin: 0 -6px; transition: background .15s; text-decoration: none !important; }
.vg-ind-rows__row:hover { background: rgba(255,255,255,.035); }
.vg-ind-rows__row:hover .vg-ind__fill { filter: brightness(1.2); }
.vg-ind-rows__row.is-link:hover .vg-tail__l { color: #42dd70; }
.vg-ind-go { color: #42dd70 !important; opacity: 0; transition: opacity .15s; }
.is-link:hover .vg-ind-go, .is-link:focus-visible .vg-ind-go { opacity: 1; }
.vg-ind-tiles__i { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s cubic-bezier(.22,1,.36,1), border-color .2s, background .2s; }
.vg-ind-tiles.is-seen .vg-ind-tiles__i { opacity: 1; transform: none; }
.vg-ind-tiles.is-seen .vg-ind-tiles__i.is-link:hover { transform: translateY(-3px); background: #1f242b; }
@keyframes vgIndPop { from { opacity: 0; transform: translateY(4px) scale(.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .vg-ind__bar, .vg-ind__fill, .vg-ind-tiles__i, .vg-ind__rd { transition: none; animation: none; }
  .vg-ind-tiles__i { opacity: 1; transform: none; }
}

/* ===== Zásady ochrany soukromí (právní dokument s obsahem) ===== */
.vg-legal { --lg-ink: #232328; --lg-muted: #6b6f78; --lg-line: #e7e8ec; --lg-soft: #f5f6f8; --lg-green: #42dd70; --lg-green-ink: #1f9c47; padding-bottom: 5rem; }
.vg-legal__hero { background: linear-gradient(180deg, #232328 0%, #2d313a 100%); color: #fff; padding: 44px 0 40px; margin-bottom: 40px; }
.vg-legal__hero .c-breadcrumbs, .vg-legal__hero .c-breadcrumbs a { color: rgba(255,255,255,.55); }
.vg-legal__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lg-green); background: rgba(66,221,112,.12); border-radius: 999px; padding: 5px 12px; margin-bottom: 14px; }
.vg-legal__title { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.1; font-weight: 700; color: #fff; margin: 0 0 12px; }
.vg-legal__hero-in { max-width: 1180px; margin: 0 auto; }
.vg-legal__lead { font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.75); max-width: 640px; margin: 0 0 26px; }
.vg-legal__meta { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; }
.vg-legal__meta li { display: flex; flex-direction: column; gap: 2px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 10px 16px; }
.vg-legal__meta span { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.5); }
.vg-legal__meta strong, .vg-legal__meta a { font-size: 15px; font-weight: 600; color: #fff; }
.vg-legal__meta a:hover { color: var(--lg-green); }

.vg-legal__layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; align-items: start; max-width: 1180px; margin: 0 auto; }
.vg-legal__body { max-width: 820px; display: flex; flex-direction: column; gap: 18px; }

.vg-legal-toc { position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow-y: auto; }
.vg-legal-toc__head { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--lg-muted); margin: 0 0 10px 12px; }
.vg-legal-toc__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; border-left: 2px solid var(--lg-line); }
.vg-legal-toc__list a { display: flex; gap: 10px; align-items: baseline; padding: 7px 12px; margin-left: -2px; border-left: 2px solid transparent; font-size: 14.5px; line-height: 1.35; color: var(--lg-muted); text-decoration: none; transition: color .15s, border-color .15s, background .15s; }
.vg-legal-toc__list a:hover { color: var(--lg-ink); background: var(--lg-soft); }
.vg-legal-toc__list a.is-active { color: var(--lg-ink); font-weight: 600; border-left-color: var(--lg-green); }
.vg-legal-toc__num { min-width: 18px; font-variant-numeric: tabular-nums; font-size: 12.5px; color: #a3a7b0; }
.vg-legal-toc__list a.is-active .vg-legal-toc__num { color: var(--lg-green-ink); }
.vg-legal-toc__mob { display: none; }

.vg-legal__sec { background: #fff; border: 1px solid var(--lg-line); border-radius: 16px; padding: 28px 32px; scroll-margin-top: 110px; }
.vg-legal__sec--accent { background: var(--lg-soft); border-color: transparent; box-shadow: inset 4px 0 0 var(--lg-green); }
.vg-legal__h2 { display: flex; align-items: center; gap: 14px; font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--lg-ink); margin: 0 0 16px; }
.vg-legal__num { flex: 0 0 auto; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #232328; color: var(--lg-green); font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.vg-legal__text { font-size: 16.5px; line-height: 1.7; color: #3a3d45; }
.vg-legal__text > :last-child { margin-bottom: 0; }
.vg-legal__text p { margin: 0 0 14px; }
.vg-legal__text h3 { font-size: 18px; font-weight: 700; color: var(--lg-ink); margin: 26px 0 10px; scroll-margin-top: 110px; }
.vg-legal__text h3:first-child { margin-top: 4px; }
.vg-legal__text ul { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
.vg-legal__text ul li { position: relative; padding-left: 22px; }
.vg-legal__text ul li::before { content: ''; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--lg-green); }
.vg-legal__text a { color: var(--lg-green-ink); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

.vg-legal__table { overflow-x: auto; margin: 6px 0 18px; border: 1px solid var(--lg-line); border-radius: 12px; -webkit-overflow-scrolling: touch; }
.vg-legal__table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; margin: 0; }
.vg-legal__table th { background: #232328; color: #fff; font-weight: 600; font-size: 13.5px; text-align: left; padding: 11px 16px; white-space: nowrap; }
.vg-legal__table td { padding: 11px 16px; border-top: 1px solid var(--lg-line); vertical-align: top; color: #3a3d45; }
.vg-legal__table tbody tr:nth-child(even) td { background: #fafbfc; }
.vg-legal__table td:first-child { font-weight: 600; color: var(--lg-ink); }
.vg-legal__table--rights th:not(:first-child), .vg-legal__table--rights td:not(:first-child) { text-align: center; }
.vg-legal__table--rights td:first-child::first-letter { text-transform: uppercase; }
.vg-legal__table--rights td span { display: inline-block; min-width: 42px; border-radius: 999px; padding: 2px 10px; font-size: 13px; font-weight: 600; }
.vg-legal__table--rights td.is-yes span { background: rgba(66,221,112,.16); color: var(--lg-green-ink); }
.vg-legal__table--rights td.is-no span { background: #eef0f3; color: #8a8f99; }

@media (max-width: 991px) {
  .vg-legal__layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .vg-legal__body { max-width: none; }
  .vg-legal-toc { position: static; max-height: none; overflow: visible; }
  .vg-legal-toc__desk { display: none; }
  .vg-legal-toc__mob { display: block; background: var(--lg-soft); border-radius: 12px; }
  .vg-legal-toc__mob summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; font-weight: 600; color: var(--lg-ink); }
  .vg-legal-toc__mob summary::-webkit-details-marker { display: none; }
  .vg-legal-toc__mob summary span { font-weight: 400; font-size: 13.5px; color: var(--lg-muted); }
  .vg-legal-toc__mob summary::after { content: '▾'; margin-left: 10px; color: var(--lg-muted); transition: transform .2s; }
  .vg-legal-toc__mob[open] summary::after { transform: rotate(180deg); }
  .vg-legal-toc__mob .vg-legal-toc__list { margin: 0 18px 14px; }
}
@media (max-width: 575px) {
  .vg-legal__hero { padding: 30px 0 28px; margin-bottom: 24px; }
  .vg-legal__lead { font-size: 16.5px; }
  .vg-legal__meta { gap: 8px; }
  .vg-legal__meta li { padding: 8px 12px; }
  .vg-legal__meta strong, .vg-legal__meta a { font-size: 14px; }
  .vg-legal__sec { padding: 20px 18px; border-radius: 14px; }
  .vg-legal__h2 { font-size: 19px; gap: 12px; align-items: flex-start; }
  .vg-legal__num { width: 32px; height: 32px; font-size: 15px; }
  .vg-legal__text { font-size: 16px; }
  .vg-legal__table table { font-size: 14px; }
  .vg-legal__table th, .vg-legal__table td { padding: 9px 12px; }
}
@media (prefers-reduced-motion: reduce) { .vg-legal-toc__list a, .vg-legal-toc__mob summary::after { transition: none; } }

/* Demo na Steamu – štítek ve výpisu her a tlačítko na kartě hry */
.vg-hx-badge--demo { background: #1b2838; color: #66c0f4; }
.vg-steam-demo-btn { border-color: rgba(102,192,244,.55) !important; }
/* hover stejně jako tlačítko Steam vedle (bílé pozadí, černý text) */
.vg-steam-demo-btn:hover { background: #fff !important; border-color: #fff !important; color: #000 !important; }
.vg-steam-demo-btn:hover svg { color: #000 !important; }

/* Karta hry: vydání podle platforem (pod datem vydání v pravém sloupci) */
.vg-plat-rel { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.vg-plat-rel li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: baseline; padding-top: 6px; border-top: 1px solid rgba(35,35,40,.08); font-size: 14px; line-height: 1.35; }
.vg-plat-rel__p { color: rgba(35,35,40,.7); }
.vg-plat-rel__d { font-weight: 600; color: #232328; white-space: nowrap; font-variant-numeric: tabular-nums; }
.vg-plat-rel__n { grid-column: 1 / -1; font-size: 12.5px; color: rgba(35,35,40,.5); }
.vg-plat-rel li.is-future .vg-plat-rel__d { color: #1f9c47; }

/* Úvodní stránka: počty her a studií jako mechanické počítadlo (RollingNumber) */
.vg-roll { display: inline-flex; align-items: flex-start; line-height: 1; height: 1em; overflow: hidden; vertical-align: top; font-variant-numeric: tabular-nums; }
.vg-roll__digit { display: inline-block; height: 1em; overflow: hidden; }
.vg-roll__strip { display: flex; flex-direction: column; transition-property: transform; transition-timing-function: cubic-bezier(.16, .84, .24, 1); will-change: transform; }
.vg-roll__strip > span { display: block; height: 1em; line-height: 1; }
.vg-roll__gap { display: inline-block; width: .12em; }
.vg-roll.is-run { animation: vgRollGlow 2.4s ease-out .9s both; }
@keyframes vgRollGlow { 0%, 100% { text-shadow: none; } 55% { text-shadow: 0 0 .25em rgba(66,221,112,.45); } }
@media (prefers-reduced-motion: reduce) { .vg-roll__strip { transition: none; } .vg-roll.is-run { animation: none; } }

/* Časová osa: dobový kontext (mzda, domácnosti, události), vitríny dekád, hodiny práce za hru */
.vg-to-ctx { display: flex; flex-wrap: wrap; gap: 6px; max-width: 30em; }
.vg-to-year.is-right .vg-to-ctx { justify-content: flex-end; }
.vg-to-ctx__chip { display: inline-flex; align-items: baseline; gap: 6px; padding: 4px 10px; border: 1px solid var(--to-line); border-radius: 999px; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12.5px; color: var(--to-fg); text-decoration: none; transition: border-color .2s; }
.vg-to-ctx__chip i { font-style: normal; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--to-mute); }
.vg-to-ctx__chip:hover { border-color: #42dd70; }
.vg-to-period a { color: var(--to-mute); text-decoration: none; }
.vg-to-period a:hover { color: #42dd70; }
.vg-to-period span { color: #42dd70; opacity: .8; }

.vg-to-vitrine { margin: -2rem 0 4.5rem; }
.vg-to-vitrine__head { margin: 0 0 14px; font-size: 14px; color: var(--to-mute); }
.vg-to-vitrine__head span { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: #42dd70; margin-right: 10px; }
.vg-to-vitrine__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vg-to-vitrine__grid[data-n="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vg-to-tile { border: 1px solid var(--to-line); padding: 20px 20px 18px; display: flex; flex-direction: column; gap: 8px; }
.vg-to-tile__label { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--to-mute); }
.vg-to-tile__value { font-size: clamp(22px, 2vw, 28px); font-weight: 400; line-height: 1.15; letter-spacing: -.01em; color: var(--to-fg); }
.vg-to-tile__text { font-size: 13.5px; line-height: 1.5; color: rgba(238, 235, 229, .72); }
.vg-to-tile__src { margin-top: auto; padding-top: 6px; font-size: 11.5px; line-height: 1.4; color: rgba(238, 235, 229, .45); text-decoration: none; }
.vg-to-tile__src:hover { color: #42dd70; }

.vg-to-hours { padding-top: 1rem; padding-bottom: 3rem; }
.vg-to-hours__title { margin: 0 0 .8rem; font-size: clamp(30px, 4vw, 54px); font-weight: 400; line-height: 1.05; letter-spacing: -.02em; color: var(--to-fg); }
.vg-to-hours__lead { margin: 0 0 2.4rem; max-width: 40em; font-size: 15px; line-height: 1.55; color: var(--to-mute); }
.vg-to-hours__rows { display: grid; gap: 20px; }
.vg-to-hours__row { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(220px, 340px); gap: 20px; align-items: center; }
.vg-to-hours__y { font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 18px; color: var(--to-fg); }
.vg-to-hours__bar { height: 30px; background: rgba(238, 235, 229, .06); }
.vg-to-hours__bar i { display: block; height: 100%; background: #42dd70; transform-origin: left; animation: vgToBar 1.2s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes vgToBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.vg-to-hours__v { display: grid; gap: 2px; font-size: 14px; line-height: 1.4; color: rgba(238, 235, 229, .75); }
.vg-to-hours__v b { font-size: 20px; font-weight: 500; color: var(--to-fg); }
.vg-to-hours__v small { font-size: 12.5px; color: var(--to-mute); }
.vg-to-hours__v a { font-size: 11.5px; color: rgba(238, 235, 229, .45); text-decoration: none; }
.vg-to-hours__v a:hover { color: #42dd70; }
@media (max-width: 767px) {
  .vg-to-vitrine { margin: -2.5rem 0 3rem; }
  .vg-to-vitrine__grid, .vg-to-vitrine__grid[data-n="5"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .vg-to-tile { padding: 14px; }
  .vg-to-hours__row { grid-template-columns: 52px minmax(0, 1fr); }
  .vg-to-hours__v { grid-column: 1 / -1; }
  .vg-to-year.is-right .vg-to-ctx { justify-content: flex-start; }
}
@media (min-width: 768px) and (max-width: 1199px) { .vg-to-vitrine__grid[data-n="5"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .vg-to-hours__bar i { animation: none; } }

/* Časová osa: čísla dekád zeleně a s náběhem jako na úvodní stránce */
.vg-to-tile__value { color: #42dd70; }
.vg-to-tile__value .vg-roll, .vg-to-era__sub .vg-roll { vertical-align: -.12em; }
/* stejné písmo čísel jako počítadlo na úvodní stránce */
.vg-to-tile__value .vg-roll, .vg-to-era__sub .vg-roll { font-family: 'Iosevka Web', ui-monospace, monospace; font-weight: 300; }
.vg-roll__sep { display: inline-block; line-height: 1; margin: 0 -.18em; }

/* ── Události (/udalosti) – nová podoba 2026-10 ── */
.vg-akce-stat { font-family: 'Iosevka Web', ui-monospace, monospace; font-weight: 300; font-size: 44px; line-height: 1; color: #42dd70; }
.vg-akce-stat .vg-roll { vertical-align: -.12em; }
@media (max-width: 768px) { .vg-akce-stat { font-size: 34px; } }
.vg-akce-hero { padding-bottom: 2.5rem; }
.vg-akce-hero__head { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; margin-bottom: 28px; }
.vg-akce-hero__title { flex: 1 1 auto; min-width: 0; }
.vg-akce-hero__stats { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.vg-akce-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.vg-akce-next { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: stretch; }
.vg-akce-next__main { padding: 0 !important; overflow: hidden; display: flex; flex-direction: column; }
.vg-akce-next__img { display: block; position: relative; aspect-ratio: 2.2 / 1; overflow: hidden; background: #232328; }
.vg-akce-next__blur { position: absolute; inset: -24px; width: calc(100% + 48px); height: calc(100% + 48px); object-fit: cover; filter: blur(22px) brightness(.55); }
.vg-akce-next__pic { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.vg-akce-next__noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1rem; text-align: center; color: #42dd70; font-family: 'Iosevka Web', ui-monospace, monospace; font-size: 26px; font-weight: 300; }
.vg-akce-next__body { flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start; padding: 1.25rem 1.5rem 1.5rem; }
.vg-akce-next__status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: .6rem; }
.vg-akce-next__title { font-size: 26px; line-height: 1.22; margin: 0 0 .7rem; }
.vg-akce-next__aside { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.vg-akce-next__list:only-child { flex: 1 1 auto; }
.vg-akce-next__list { flex: 0 1 auto; padding: 1.25rem 1.4rem .6rem !important; display: flex; flex-direction: column; }
.vg-akce-next__item { display: flex; align-items: center; gap: 14px; padding: 11px 0; border-top: 1px solid #edefee; color: #232328 !important; text-decoration: none !important; }
.vg-akce-next__item-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vg-akce-next__item-title { font-size: 16px; font-weight: 700; line-height: 1.28; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.vg-akce-next__item .caption { font-size: 13px; line-height: 1.35; }
.vg-akce-date { flex: 0 0 52px; display: flex; flex-direction: column; align-items: center; line-height: 1; }
.vg-akce-date b { font-family: 'Iosevka Web', ui-monospace, monospace; font-weight: 300; font-size: 30px; color: #2fb85a; }
.vg-akce-date small { margin-top: 3px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: rgba(35,35,40,.65); }
.vg-akce-next__more { margin-top: auto; padding: 12px 0 8px; border-top: 1px solid #edefee; font-size: 14px; font-weight: 700; color: #2fb85a !important; text-decoration: none !important; }
.vg-akce-next__more:hover { text-decoration: underline !important; }
.vg-akce-next__add { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 18px 20px; border: 2px dashed #42dd70; border-radius: 12px; background: #fff; color: #232328 !important; text-decoration: none !important; font-size: 14px; }
.vg-akce-next__add span { color: rgba(35,35,40,.7); }
.vg-akce-next__add .vg-akce-next__add-cta { color: #2fb85a; font-weight: 700; }
@media (max-width: 991px) {
  .vg-akce-next { grid-template-columns: minmax(0, 1fr); }
  .vg-akce-hero__head { align-items: flex-start; }
  .vg-akce-hero__title { flex-basis: 100%; }
}
@media (max-width: 575px) {
  .vg-akce-next__title { font-size: 22px; }
  .vg-akce-next__body { padding: 1rem 1.1rem 1.25rem; }
  .vg-akce-next__list { padding: 1rem 1.1rem .4rem !important; }
  .vg-akce-hero__actions, .vg-akce-hero__actions .c-btn { width: 100%; }
}
.vg-akce-filters { background: #fff; border-bottom: 1px solid #E3E7EC; padding: 16px 0; }
.vg-akce-countries { display: inline-flex; gap: 18px; }
.vg-akce-countries a { font-size: 15px; font-weight: 600; color: #8a9099; text-decoration: none; padding: 6px 0 4px; border-bottom: 2px solid transparent; }
.vg-akce-countries a.is-active, .vg-akce-countries a:hover { color: #232328; border-bottom-color: #42dd70; }
.vg-akce-select { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: rgba(35,35,40,.7); }
.vg-akce-select select { height: 40px; padding: 0 12px; border: 1px solid #E1E6EE; border-radius: 10px; background: #fff; font-size: 14px; color: #232328; }
.vg-akce-search { flex: 1 1 220px; margin: 0; }
.vg-akce-search input { width: 100%; height: 40px; padding: 0 14px; border: 1px solid #E1E6EE; border-radius: 10px; font-size: 14px; color: #232328; }
.vg-akce-month { display: flex; align-items: baseline; gap: 10px; font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-bottom: 2px solid #42dd70; padding-bottom: 8px; margin: 0 0 14px; }
.vg-akce-month span { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: rgba(35,35,40,.6); }
.vg-akce-row { padding: 0 !important; display: flex; align-items: stretch; overflow: hidden; }
.vg-akce-row__img { flex: 0 0 168px; position: relative; background: #111; display: block; min-height: 118px; }
.vg-akce-row__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vg-akce-row__body { flex: 1 1 auto; min-width: 0; padding: 1rem 1.25rem; }
.vg-akce-row__title { font-size: 19px; line-height: 1.3; margin: 0 0 .45rem; }
.vg-akce-row__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: rgba(35,35,40,.8); }
.vg-akce-row__meta span { display: inline-flex; gap: 7px; align-items: flex-start; }
.vg-akce-row__meta svg { color: #2fb85a; }
.vg-akce-row__cta { flex: 0 0 auto; display: flex; align-items: center; padding: 1rem 1.25rem 1rem 0; }
@media (max-width: 768px) {
  .vg-akce-row__img { flex-basis: 104px; min-height: 104px; }
  .vg-akce-row__body { padding: .8rem .9rem; }
  .vg-akce-row__title { font-size: 16px; }
  .vg-akce-row__meta { font-size: 13px; }
  .vg-akce-row__cta { display: none; }

}
.vg-akce-side { padding: 1.25rem 1.4rem !important; }
.vg-akce-side__title { font-size: 19px; margin: 0 0 .9rem; }
.vg-akce-bar { display: grid; grid-template-columns: 110px 1fr 28px; align-items: center; gap: 10px; padding: 6px 0; color: #232328 !important; text-decoration: none !important; font-size: 14px; }
.vg-akce-bar b { text-align: right; font-family: 'Iosevka Web', monospace; color: #2fb85a; }
.vg-akce-bar__track { height: 8px; border-radius: 4px; background: #edefee; overflow: hidden; }
.vg-akce-bar__track span { display: block; height: 100%; background: #42dd70; border-radius: 4px; }
.vg-akce-bar:hover span:first-child { color: #2fb85a; }
.vg-akce-months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5px; height: 120px; }
.vg-akce-months > div { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; }
.vg-akce-months > div > span { width: 100%; background: #d5dbe1; border-radius: 3px 3px 0 0; }
.vg-akce-months > div > span.is-top { background: #42dd70; }
.vg-akce-months small { font-size: 10.5px; color: rgba(35,35,40,.6); }
.vg-akce-series { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 42px; border-top: 1px solid #edefee; color: #232328 !important; text-decoration: none !important; font-size: 15px; font-weight: 500; }
.vg-akce-series b { font-family: 'Iosevka Web', monospace; color: #2fb85a; font-weight: 500; }
.vg-akce-series:hover span { color: #2fb85a; }

/* ── Karta hry: vývoj ceny ze Steamu (box „Na Steamu“) – 2026-10 ── */
.vg-pricehist { margin: 4px 0 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); }
.vg-pricehist__head { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 6px; }
.vg-pricehist__chart { display: block; width: 100%; height: 64px; }
.vg-pricehist__axis { display: flex; justify-content: space-between; font-size: 11px; color: rgba(255,255,255,.45); margin-top: 2px; }
.vg-pricehist__stats { margin: 10px 0 0; display: flex; flex-direction: column; gap: 6px; }
.vg-pricehist__stats > div { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; font-size: 13.5px; }
.vg-pricehist__stats dt { font-weight: 400; color: rgba(255,255,255,.65); flex: none; }
.vg-pricehist__stats dd { margin: 0; text-align: right; color: #fff; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: 6px; }
.vg-pricehist__disc { background: #4c6b22; color: #a4d007; font-weight: 700; border-radius: 3px; padding: 1px 5px; font-size: 12px; }
.vg-pricehist__now { color: #42dd70; font-weight: 700; font-size: 12px; }
.vg-pricehist__muted { color: rgba(255,255,255,.5); font-size: 12px; }
.vg-pricehist__note { margin: 8px 0 0; font-size: 11.5px; color: rgba(255,255,255,.45); }

/* ── Materiály ke hrám (paratexty) – 2026-10 ── */
.vg-jobchip { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid #d6dae0; color: #232328; font-size: 14px; font-weight: 500; white-space: nowrap; text-decoration: none; }
.vg-jobchip.is-on { background: #232328; border-color: #232328; color: #fff; }
/* karty */
.vg-ptx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; align-items: start; }
.vg-ptx-card { display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid #e3e7ec; color: #232328; text-decoration: none; transition: border-color .2s, transform .2s; }
.vg-ptx-card:hover { border-color: #232328; color: #232328; text-decoration: none; transform: translateY(-2px); }
.vg-ptx-card__img { position: relative; display: block; aspect-ratio: 3 / 4; min-height: 0; overflow: hidden; background: #eef1f4; }
/* obrázek absolutně v rámečku 3:4 — vysoký náhled (rozložený přebal) jinak roztáhne kartu i celý řádek mřížky */
.vg-ptx-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.vg-ptx-card__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #6b7280; font-size: 15px; padding: 10px; text-align: center; }
.vg-ptx-card__count { position: absolute; right: 8px; bottom: 8px; background: rgba(35,35,40,.85); color: #fff; font-size: 11.5px; font-weight: 500; padding: 2px 8px; border-radius: 999px; }
.vg-ptx-card__body { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px 12px; }
.vg-ptx-card__type { font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #1a8a44; }
.vg-ptx-card__title { font-size: 14.5px; font-weight: 700; line-height: 1.3; }
.vg-ptx-card__meta { font-size: 12.5px; color: #6b7280; }
.vg-ptx-empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 24px; border-radius: 12px; border: 1px dashed #c9cfd8; background: #fff; }
.vg-ptx-empty p { margin: 0; max-width: 460px; font-size: 14.5px; color: #3b404c; }
/* detail */
.vg-ptx-chip { display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px; background: #232328; color: #fff; font-size: 12.5px; font-weight: 500; }
.vg-ptx-chip--light { background: #eef1f4; color: #232328; }
.vg-ptx-status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 12px 16px; margin-bottom: 20px; border-radius: 12px; background: #fff7e6; border: 1px solid #f3d9a4; color: #6b4a00; font-size: 14px; }
.vg-ptx-status.is-rejected { background: #fbeeec; border-color: #f1c9c1; color: #7a2a1d; }
.vg-ptx-viewer { border-radius: 12px; background: #1b1d22; overflow: hidden; outline: none; }
.vg-ptx-viewer:focus-visible { box-shadow: 0 0 0 3px #42dd70; }
.vg-ptx-viewer__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 320px; max-height: 80vh; }
.vg-ptx-viewer__stage img { display: block; max-width: 100%; max-height: 80vh; object-fit: contain; }
.vg-ptx-viewer__pdf { width: 100%; height: 80vh; border: 0; background: #fff; }
.vg-ptx-viewer__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); color: #232328; font-size: 26px; line-height: 1; cursor: pointer; }
.vg-ptx-viewer__nav.is-prev { left: 12px; }
.vg-ptx-viewer__nav.is-next { right: 12px; }
.vg-ptx-viewer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: #232328; color: rgba(255,255,255,.8); font-size: 13.5px; }
.vg-ptx-viewer__thumbs { display: flex; gap: 8px; padding: 10px 14px 14px; background: #232328; overflow-x: auto; }
.vg-ptx-viewer__thumb { flex: none; width: 56px; height: 74px; padding: 0; border-radius: 6px; border: 2px solid transparent; overflow: hidden; background: #3a3d45; color: #fff; cursor: pointer; }
.vg-ptx-viewer__thumb.is-on { border-color: #42dd70; }
.vg-ptx-viewer__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-ptx-meta { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.vg-ptx-meta > div { display: flex; flex-direction: column; gap: 2px; }
.vg-ptx-meta dt { font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #6b7280; }
.vg-ptx-meta dd { margin: 0; font-size: 14.5px; }
.vg-ptx-license { display: flex; gap: 12px; align-items: flex-start; }
.vg-ptx-license__badge { flex: none; width: 40px; height: 40px; border-radius: 50%; background: #232328; color: #42dd70; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
/* formulář */
.vg-ptx-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.vg-ptx-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 104px; padding: 12px; border-radius: 12px; border: 1px solid #d6dae0; background: #fff; color: #232328; font-weight: 500; font-size: 14px; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; }
.vg-ptx-tile:hover { border-color: #232328; }
.vg-ptx-tile.is-on { background: #232328; border-color: #232328; color: #fff; }
.vg-ptx-tile.is-on svg { color: #42dd70; }
.vg-ptx-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px 16px; border-radius: 12px; border: 2px dashed #c9cfd8; background: #fafbfc; text-align: center; color: #5b6170; transition: border-color .2s, background .2s; }
.vg-ptx-drop.is-over { border-color: #42dd70; background: #effaf2; }
.vg-ptx-files { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vg-ptx-file { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #e3e7ec; border-radius: 10px; background: #fff; cursor: grab; }
.vg-ptx-file.is-err { border-color: #f1c9c1; background: #fdf6f4; }
.vg-ptx-file__n { flex: none; width: 22px; text-align: center; font-weight: 700; color: #6b7280; font-size: 13px; }
.vg-ptx-file__img { flex: none; width: 44px; height: 58px; border-radius: 4px; overflow: hidden; background: #eef1f4; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #6b7280; }
.vg-ptx-file__img img { width: 100%; height: 100%; object-fit: cover; }
.vg-ptx-file__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.vg-ptx-file__name { font-size: 13.5px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-ptx-file__err { font-size: 12.5px; color: #b4321c; }
.vg-ptx-file__cap { width: 100%; padding: 4px 8px; border: 1px solid #e1e6ee; border-radius: 6px; font-size: 13px; }
.vg-ptx-file__bar { display: block; height: 6px; border-radius: 3px; background: #eef1f4; overflow: hidden; }
.vg-ptx-file__bar span { display: block; height: 100%; background: #42dd70; transition: width .2s; }
.vg-ptx-file__btns { flex: none; display: flex; gap: 4px; }
.vg-ptx-file__btns button { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #d6dae0; background: #fff; cursor: pointer; font-size: 13px; color: #232328; }
.vg-ptx-file__btns button:disabled { opacity: .35; cursor: default; }
.vg-ptx-radios { display: flex; flex-direction: column; gap: 8px; }
.vg-ptx-radio { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid #e3e7ec; border-radius: 10px; cursor: pointer; }
.vg-ptx-radio.is-on { border-color: #42dd70; background: #f3fcf6; }
.vg-ptx-radio input { margin-top: 4px; accent-color: #1fae54; }
.vg-ptx-note { padding: 10px 14px; border-radius: 10px; background: #f4f6f8; font-size: 13.5px; color: #3b404c; }
.vg-ptx-error { padding: 10px 14px; border-radius: 10px; background: #fbeeec; color: #7a2a1d; font-size: 14px; }
.vg-ptx-search { flex: 1 1 260px; height: 40px; padding: 0 14px; border: 1px solid #d7dde5; border-radius: 25px; font-size: 14px; }
/* profil */
.vg-ptx-badge { display: inline-flex; padding: 6px 12px; border-radius: 999px; background: #effaf2; color: #1a6b36; font-weight: 500; font-size: 13.5px; }
.vg-ptx-mine { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.vg-ptx-mine__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e3e7ec; border-radius: 12px; background: #fff; }
.vg-ptx-mine__img { flex: none; width: 44px; height: 58px; border-radius: 4px; overflow: hidden; background: #eef1f4; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #6b7280; }
.vg-ptx-mine__img img { width: 100%; height: 100%; object-fit: cover; }
.vg-ptx-mine__main { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.vg-ptx-mine__title { font-weight: 700; color: #232328; }
.vg-ptx-mine__meta { font-size: 12.5px; color: #6b7280; }
.vg-ptx-mine__note { font-size: 13px; color: #6b4a00; }
.vg-ptx-mine__note.is-err { color: #b4321c; }
.vg-ptx-mine__status { flex: none; height: 24px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 500; line-height: 24px; background: #fff3d6; color: #6b4a00; }
.vg-ptx-mine__status.is-approved { background: #42dd70; color: #000; }
.vg-ptx-mine__status.is-rejected { background: #fbeeec; color: #7a2a1d; }
.vg-ptx-total { font-family: 'Iosevka Web', monospace; font-weight: 300; font-size: 22px; color: #1fae54; }

/* ── Výchozí obálka hry bez coveru (MissingCover) ── */
.vg-nocover { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5%; padding: 10% 10% 24%; text-align: center; text-decoration: none !important;
  background:
    radial-gradient(120% 70% at 50% 30%, rgba(66,221,112,.10), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 14px),
    linear-gradient(170deg, #2d313a 0%, #232328 75%); }
.vg-nocover::after { content: ''; position: absolute; inset: 8px; border: 1.5px dashed rgba(66,221,112,.35); border-radius: 8px; pointer-events: none; transition: border-color .2s; }
.vg-nocover__raven { width: 62%; max-width: 220px; height: auto; filter: drop-shadow(0 6px 14px rgba(0,0,0,.45)); transition: transform .3s; }
.vg-nocover__title { color: rgba(255,255,255,.88); font-weight: 700; font-size: clamp(12px, 1.1vw + 6px, 17px); line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; word-break: break-word; }
.vg-nocover__cta { display: flex; flex-direction: column; align-items: center; gap: 3px; margin-top: 2%; padding-top: 7%; border-top: 1px solid rgba(255,255,255,.08); min-width: 55%; }
.vg-nocover__kicker { font-family: 'Iosevka Web', monospace; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #8B93A1; }
.vg-nocover__ask { color: #42dd70; font-weight: 700; font-size: 13px; }
.vg-nocover.is-link:hover::after, .a-reflection:hover .vg-nocover::after { border-color: #42dd70; }
.vg-nocover.is-link:hover .vg-nocover__raven, .a-reflection:hover .vg-nocover__raven { transform: translateY(-3px) rotate(-2deg); }

/* štítek BETA za nadpisem rozpracované stránky */
.vg-beta { display: inline-block; margin-left: .35em; padding: .22em .5em; border-radius: 6px; background: #42dd70; color: #10241a; font-family: 'Iosevka Web', monospace; font-size: .34em; font-weight: 700; line-height: 1; letter-spacing: .1em; vertical-align: .55em; }

/* hlavička stránky s 3D krabicí: odsazení podle výšky pevného menu */
.vg-box-head { gap: 8px; padding: 84px 26px 0; }
@media (min-width: 1031px) { .vg-box-head { padding-top: 114px; } }
@media (max-width: 575.98px) { .vg-box-head { padding-left: 16px; padding-right: 16px; } }

/* Krátké zprávy: filtry proudů a roků (tlačítka z úvodní stránky), na mobilu vodorovný posun */
.vg-short-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vg-short-filter .c-btn { width: auto; flex: 0 0 auto; }
.vg-short-head { flex-wrap: wrap; }
.vg-short-filter--compact .c-btn { min-width: 0; padding: 0 14px; }
.vg-short-select { height: 40px; padding: 0 12px; border: 1px solid #d9dce1; border-radius: 8px; background: #fff; color: #232328; font: 500 14px Roboto, sans-serif; }
@media (max-width: 767px) {
  .vg-short-filter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .vg-short-filter::-webkit-scrollbar { display: none; }
  .vg-short-select { flex: 0 0 auto; }
}

/* Archiv blogů vývojářů (/hledat/blogy) */
.vg-sr-blogform { display: flex; gap: 10px; align-items: center; max-width: 720px; margin: 20px auto 28px; }
.vg-sr-blogform input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 1px solid #3a3f4a; border-radius: 4px; background: #fff; color: #232328; font: inherit; }
.vg-sr-blogcta { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 18px 0; }

/* Archivní kopie oznámení (/hledat/blogy/[id]) */
.vg-blog-hero { padding-bottom: 32px; text-align: center; }
.vg-blog-hero__title { color: #fff; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.2; letter-spacing: -.01em; max-width: 860px; margin: 0 auto 12px; }
.vg-blog-hero__meta { color: #aeb4bf; font-size: 14px; margin: 0; }
.vg-blog-hero__meta a { color: #42dd70; font-weight: 600; }
.vg-blog { max-width: 820px; margin: 0 auto; background: #fff; border: 1px solid #e3e6ea; border-radius: 14px; padding: 36px 40px; overflow-wrap: anywhere; }
.vg-blog__body { color: #232328; font-size: 16px; line-height: 1.65; white-space: pre-line; }
.vg-blog__body > :first-child { margin-top: 0; }
.vg-blog__p { margin: 0 0 14px; }
.vg-blog__body h2 { font-size: 25px; line-height: 1.25; margin: 28px 0 12px; }
.vg-blog__body h3 { font-size: 21px; line-height: 1.3; margin: 24px 0 10px; }
.vg-blog__body h4 { font-size: 18px; line-height: 1.35; margin: 20px 0 8px; }
.vg-blog__body a { color: #1a9a4a; text-decoration: underline; }
.vg-blog__body img { display: block; max-width: 100%; height: auto; margin: 16px auto; border-radius: 6px; }
.vg-blog__body ul, .vg-blog__body ol { margin: 0 0 14px; padding-left: 24px; }
.vg-blog__body ul { list-style: disc; }
.vg-blog__body ol { list-style: decimal; }
.vg-blog__body li { margin: 3px 0; }
.vg-blog__body hr { border: 0; border-top: 1px solid #e3e6ea; margin: 24px 0; }
.vg-blog__body blockquote { margin: 0 0 14px; padding: 10px 16px; border-left: 3px solid #42dd70; background: #f5f6f8; }
.vg-blog__body pre { white-space: pre-wrap; margin: 0 0 14px; padding: 12px 14px; background: #f5f6f8; border-radius: 6px; font-size: 13.5px; }
.vg-blog__body details { margin: 0 0 14px; padding: 10px 14px; background: #f5f6f8; border-radius: 6px; }
.vg-blog__body summary { cursor: pointer; font-weight: 600; }
.vg-blog__table { overflow-x: auto; margin: 0 0 14px; }
.vg-blog__body table { border-collapse: collapse; font-size: 14.5px; }
.vg-blog__body th, .vg-blog__body td { padding: 6px 10px; border: 1px solid #e3e6ea; vertical-align: top; }
.vg-blog__body th { background: #f5f6f8; text-align: left; }
.vg-blog__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 0 0 14px; white-space: normal; }
.vg-blog__gallery img { margin: 0; }
.vg-blog__none { color: #5b6270; }
.vg-blog__foot { margin-top: 28px; padding-top: 18px; border-top: 1px solid #e3e6ea; font-size: 14px; color: #5b6270; }
.vg-blog__foot p { margin: 0 0 8px; }
.vg-blog__foot p:last-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin: 0; }
.vg-blog__foot a { color: #1a9a4a; font-weight: 600; }
@media (max-width: 767px) { .vg-blog { padding: 22px 18px; } }
