/* ==========================================================================
   Vaskakas Babszinhaz - fooldali/nyilvanos stilusok
   ========================================================================== */

:root {
	--vk-bg: #0b0b0d;
	--vk-bg-elevated: #17171a;
	--vk-bg-elevated-2: #1f1f24;
	--vk-text: #f4f4f2;
	--vk-text-muted: #b7b7bd;
	--vk-primary: #e2542a;
	--vk-primary-dark: #b53f1d;
	--vk-accent: #6fd6c4;
	--vk-accent-2: #8a6cf2;
	--vk-secondary: #2b2b31;
	--vk-border: #2c2c33;
	--vk-radius: 14px;
	--vk-radius-small: 8px;
	--vk-max-width: 1600px;
	--vk-header-height: 76px;
	--vk-section-gap: 56px;
	--vk-a11y-font-scale: 1;
	--vk-shadow-soft: 0 10px 30px rgba(0,0,0,0.35);
	--vk-shadow-strong: 0 18px 46px rgba(0,0,0,0.5);
	--vk-font: "Source Sans 3", "Source Sans Pro", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--vk-font-display: "Anton", "Source Sans 3", Impact, sans-serif;
}

/* Vilagos mod - alapertelmezetten sotet temaban futunk, de a data-theme
   attributum (lasd header.php inline scriptje + main.js valto gomb) atirja
   ezeket a valtozokat vilagos szinekre. */
html[data-theme="light"] {
	/* Enyhen (szandekosan csak minimalisan) sotetebb/telitettebb alap-
	   hatterszin, hogy vilagos modban jobban elkulonuljon a feher
	   kartyaktol/szekcioktol (--vk-bg-elevated: #fff) - korabban a ketto
	   szinte megkulonboztethetetlen volt. */
	--vk-bg: #f0ede5;
	--vk-bg-elevated: #ffffff;
	--vk-bg-elevated-2: #f0eee9;
	--vk-text: #1c1c1e;
	--vk-text-muted: #5c5c63;
	--vk-secondary: #e8e6e0;
	--vk-border: #ddd9d0;
	--vk-shadow-soft: 0 10px 30px rgba(20,15,10,0.12);
	--vk-shadow-strong: 0 18px 46px rgba(20,15,10,0.18);
}

html[data-theme="light"] .vk-nav-toggle span { background: #1c1c1e; }
html[data-theme="light"] .vk-site-header::before { background: linear-gradient(180deg, rgba(246,245,242,0.97), rgba(246,245,242,0.88)); }

* , *::before, *::after { box-sizing: border-box; }

/* FONTOS: overflow-x csak "clip", NEM "hidden" - a "hidden" ertek a CSS
   specifikacio szerint a masik tengelyt ("overflow-y") automatikusan
   "auto"-ra valtja, ami a body-t sajat gorgetheto dobozza teszi. Ez pontosan
   az, ami korabban megtorte a fejlec "position: sticky" viselkedeset (a
   bongeszo mar nem a viewportot, hanem ezt a body-dobozt hasznalta a sticky
   elem "gorgetesi ancestor"-akent) - a "clip" ugyanugy elvagja a
   hatterelemek (.vk-bg-blobs) tullogo reszet vizszintesen, de nem hoz letre
   uj gorgetesi kontextust. */
html, body {
	max-width: 100%;
	overflow-x: clip;
}

html {
	font-size: calc(16px * var(--vk-a11y-font-scale));
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: var(--vk-bg);
	position: relative;
	color: var(--vk-text);
	font-family: var(--vk-font);
	line-height: 1.5;
}
/* A szines "foltok" kulon, elmosott (blur) retegen ulnek, nem kozvetlenul
   a body hatterekent - igy tudunk ra blur() szurot tenni anelkul, hogy az
   oldal tartalma is elmosodna. Nem "fixed": a tartalommal egyutt gorget,
   es fuggolegesen ismetlodik, ugy uj foltok tunnek fel gorgetes kozben.
   A lassu, finom sodrodo animacio asztalin es mobilon is fut. */
.vk-bg-blobs {
	position: absolute;
	top: -120px; left: -120px; right: -120px; bottom: -120px;
	z-index: -1;
	pointer-events: none;
	background-image:
		radial-gradient(900px circle at 8% 0%, rgba(226,84,42,0.18), transparent 72%),
		radial-gradient(820px circle at 100% 30%, rgba(138,108,242,0.15), transparent 68%),
		radial-gradient(1000px circle at 45% 85%, rgba(111,214,196,0.13), transparent 72%);
	background-repeat: repeat-y;
	background-size: 100% 1500px;
	filter: blur(70px);
	animation: vkBgDrift 80s ease-in-out infinite alternate;
	will-change: transform;
}
html[data-theme="light"] .vk-bg-blobs {
	/* Vilagos hatteren a pasztell foltok sokkal kevesbe utnek at, mint
	   sotet hatteren - ezert itt eroteljesebb (nem gyengebb) opacitassal
	   dolgozunk, kulonben szinte semmi sem latszik beloluk. */
	background-image:
		radial-gradient(900px circle at 8% 0%, rgba(226,84,42,0.22), transparent 72%),
		radial-gradient(820px circle at 100% 30%, rgba(138,108,242,0.18), transparent 68%),
		radial-gradient(1000px circle at 45% 85%, rgba(111,214,196,0.16), transparent 72%);
}
@keyframes vkBgDrift {
	0%   { transform: translate3d(0, 0, 0) scale(1); }
	50%  { transform: translate3d(2%, -1.5%, 0) scale(1.04); }
	100% { transform: translate3d(-2%, 1.5%, 0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.vk-bg-blobs { animation: none; }
}

img { max-width: 100%; height: auto; display: block; }

/* Cimsor / display betutipus - hatasosabb, vastag megjelenes a cimeknek,
   a menu es a folyoszoveg viszont marad a konnyeben olvashato Source
   Sans-nal (a vastag+"sima" betutipus kombinacio olvashatatlan volt). */
h1, h2,
.vk-site-logo span,
.vk-hero-title,
.vk-section-title,
.vk-page-title,
.vk-eloadas-title,
.vk-poster-title,
.vk-actor-name,
.vk-gyorkoc-title,
.vk-404-code {
	font-family: var(--vk-font-display);
	font-weight: 400;
	letter-spacing: 0.01em;
}

.vk-icon { width: 20px; height: 20px; flex-shrink: 0; }
.vk-icon-small { width: 16px; height: 16px; }
.vk-icon-inline { width: 15px; height: 15px; vertical-align: -2px; margin-right: 2px; }

a { color: inherit; text-decoration: none; }

button { font-family: inherit; cursor: pointer; }

ul { list-style: none; margin: 0; padding: 0; }

.vk-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

.vk-skip-link {
	position: absolute;
	left: -999px;
	top: 0;
	background: var(--vk-primary);
	color: #fff;
	padding: 12px 20px;
	z-index: 10000;
}
.vk-skip-link:focus { left: 10px; top: 10px; }

/* Gombok
   ------------------------------------------------------------------------ */
.vk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: 0.95rem;
	font-weight: 700;
	background: var(--vk-secondary);
	color: var(--vk-text);
	line-height: 1.2;
	transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.vk-btn:hover { transform: translateY(-1px); }
.vk-btn-primary { background: linear-gradient(135deg, var(--vk-primary), var(--vk-primary-dark)); color: #fff; box-shadow: 0 8px 20px rgba(226,84,42,0.35); }
.vk-btn-primary:hover { box-shadow: 0 10px 26px rgba(226,84,42,0.5); }
.vk-btn-secondary { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.22); backdrop-filter: blur(6px); }
.vk-btn-secondary:hover { background: rgba(255,255,255,0.18); }
/* FONTOS: a .vk-btn-secondary altalanos szabalyat NEM irjuk at globalisan
   vilagos modra, mert a hero "További információk" gombja MINDIG egy sotet
   kep/gradiens felett ul (fuggetlenul a site sotet/vilagos temajatol), ott
   a feher szoveg helyes es szukseges. Csak a "Megosztás" gombot celozzuk,
   ami a sajat (vilagos modban vilagos) oldal-hatteren ul, es ott a feher
   szoveg/feher-atlatszo hatter miatt szinte lathatatlan volt. */
html[data-theme="light"] .vk-share-button {
	background: rgba(28,28,30,0.06);
	color: var(--vk-text);
	border-color: rgba(28,28,30,0.18);
}
html[data-theme="light"] .vk-share-button:hover { background: rgba(28,28,30,0.12); }
.vk-btn-text { background: transparent; padding: 6px 10px; border-radius: var(--vk-radius-small); }
.vk-btn-small { padding: 6px 14px; font-size: 0.85rem; }
.vk-btn-danger { background: #7a1f1f; color: #fff; }

/* Fejlec
   ------------------------------------------------------------------------ */
.vk-site-header {
	position: sticky;
	top: 0;
	z-index: 500;
	border-bottom: 1px solid var(--vk-border);
}
/* A hatter-szin + blur egy kulon ::before retegen van, NEM kozvetlenul a
   .vk-site-header-en: a backdrop-filter (tobbnyire minden bongeszoben, pl.
   Chrome) uj "containing block"-ot hoz letre a position:fixed
   leszarmazottaknak is - ez okozta, hogy a mobil hamburger-menu
   (.vk-primary-nav, position:fixed) a header sajat (alacsony) magassagahoz
   igazodott a teljes viewport helyett, ezert csak egy pici resze latszodott
   a header aljan. Igy a fejlec elemei kozott nincs tobbe backdrop-filter,
   a fixed menu ismet a viewporthoz igazodik. */
.vk-site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(11,11,13,0.96), rgba(11,11,13,0.85));
	backdrop-filter: blur(6px);
}
/* Ha be van jelentkezve a szervezo, a WP admin sav a valodi (fixed)
   viewport tetejere ragad 32px (mobilon 46px) magassagban, 99999-es
   z-indexszel - enelkul a sajat sticky fejlecunk "top:0"-nal mögé
   csuszna gorgetes kozben, ugy tunve mintha nem lenne sticky. */
body.admin-bar .vk-site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .vk-site-header { top: 46px; }
}
.vk-site-header-inner {
	max-width: var(--vk-max-width);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	padding: 6px 20px;
	/* FIX height, nem min-height - igy a nagy (nem-scrollozott) logo tenyleg
	   "kilog" a fejlecbol (overflow:visible), es nem novezi meg a fejlec
	   sajat magassagat, mint korabban a min-height miatt. */
	height: var(--vk-header-height);
	overflow: visible;
}
/* Logo kozepen, nagyobb meretben, alul szandekosan "kilogva" a fejlecbol -
   gorgetesnel a .is-scrolled modositoval visszazsugorodik, hogy ne takarja
   a tartalmat. */
.vk-site-logo {
	grid-column: 2;
	display: flex; align-items: flex-start; justify-content: center;
	align-self: flex-start;
	position: relative;
	z-index: 1;
	/* KULCS-SZABALY: a CSS Grid rács-soroknak van egy automatikus,
	   "min-height: auto" jellegu also korlatja minden racs-elemen, ami
	   MEG EGY EXPLICIT (fix meretu) soron IS at tudja novelni a sor
	   tenyleges magassagat, ha a benne levo elem tartalma (itt: a 108px
	   magas logo) ennel nagyobb - FUGGETLENUL az overflow:visible-tol
	   (az csak a KIRAJZOLAST engedi a dobozon tul, a racs SORMERETEZESET
	   nem befolyasolja). Emiatt a nav/jobb oldali gombok korabban nem a
	   76px-es fekete savhoz, hanem egy ennel magasabb, "lathatatlan"
	   sorhoz keozepre allitva jelentek meg (lejjebb csusztak). A
	   min-height:0 kikapcsolja ezt az automatikus also korlatot a logo
	   racs-elemen, igy a sor tenyleg pontosan --vk-header-height marad,
	   es minden BELE kozepre allitott elem (nav, jobb oldali gombok) a
	   valodi, lathato fekete sav kozepere kerul - a logo maga tovabbra is
	   szabadon "kilog" alul, hiszen az o SAJAT megjelenitett merete
	   (height:108px) valtozatlan, csak a racs-sormeretezesbe mar nem szol
	   bele. */
	min-height: 0;
}
.vk-site-logo a { display: flex; align-items: center; }
.vk-site-logo img { height: 108px; width: auto; max-width: none; transition: height 0.2s ease; }
.vk-site-logo span { font-weight: 800; font-size: 1.2rem; letter-spacing: 0.02em; }
.vk-site-header.is-scrolled .vk-site-logo img { height: 44px; }
.vk-site-header.is-scrolled .vk-site-logo { align-self: center; }

.vk-primary-nav { grid-column: 1; justify-self: start; }
.vk-primary-nav-search { display: none; }
/* Kozossegi media ikonok a mobil hamburger-menu kinyilo paneljeben - lasd
   header.php. Asztalon rejtve (ott a fooldali hero jobb oldalan latszanak,
   lasd .vk-hero-topbar lejjebb), csak a @media 780px blokkban jelenik meg. */
.vk-primary-nav-social { display: none; }
/* Csak mobilon latszo menupont (a "Műsor" gomb mobilon a hamburger-menuben van). */
.vk-primary-nav > ul > li.vk-nav-mobile-only { display: none; }
.vk-header-actions { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 4px; }
/* Fejlec CTA (jobb oldal) - a repertoárra vezet, a tobbi (kor)gomb elott
   all, hogy kituntetett figyelmet kapjon. */
.vk-header-cta { margin-right: 8px; white-space: nowrap; }
/* "Műsor" (secondary) gomb a fejlecben - a kozos .vk-btn-secondary fehér
   szovegu/atlatszo hatteru (a sotet hero kepekre keszult), a fejlec viszont
   vilagos modban vilagos, ezert itt tema-fuggo szint hasznalunk. */
.vk-header-cta-musor {
	background: transparent; color: var(--vk-text);
	border-color: rgba(128,128,128,0.55); backdrop-filter: none;
}
.vk-header-cta-musor:hover { background: var(--vk-secondary); }
@media (max-width: 780px) {
	/* Mobilon szukebb a hely (csak a hamburger all mellette) - kisebb
	   paddinges, hogy biztosan elferjen egy sorban. */
	.vk-header-cta { padding: 6px 12px; font-size: 0.8rem; margin-right: 6px; }
}
/* A menu/jobb oldali gombok kozepre allitasat a .vk-site-header-inner
   sajat "align-items: center"-je adja (lasd feljebb) - ez a 76px-es
   fekete savon BELUL matematikailag pontosan kozepre teszi oket (a sav
   6px fent/lent padding-el szimmetrikus). FONTOS: ez KORABBAN NEM volt
   fuggetlen attol, hogy a logo (nem-gorgetett allapotban, 108px,
   align-self:flex-start) kilog alola - a tulcsordulo logo a CSS Grid
   automatikus "min-height:auto" also korlatja miatt megmeretezte a sort
   a sajat (108px-es) tartalommeretehez, ami lentebb tolta a nav/gombok
   kozepre-allitasi kiindulopontjat, es csak gorgetes utan (amikor a logo
   mar kisebb, mint a 76px-es sav) allt helyre latszolag "magatol". A
   valodi javitas a .vk-site-logo szabalyanal van (min-height:0), lasd
   ott a reszletes magyarazatot - Playwright-tal merve igazoltuk, hogy
   ez utan a nav/gombok MINDIG pontosan a 76px-es sav kozepen allnak,
   gorgetestol fuggetlenul. Egy korabbi plusz translateY-nudge-ot mar
   korabban visszavettunk, mert a felhasznalo a fekete sav sajat
   kozepehez (nem a logohoz) kerte a kozepre allitast. */
.vk-primary-nav > ul { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.vk-primary-nav > ul > li { position: relative; display: flex; align-items: center; }
.vk-icon-nav { width: 17px; height: 17px; flex-shrink: 0; opacity: 0.85; }
.vk-primary-nav > ul > li > a,
.vk-submenu-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 10px;
	border-radius: var(--vk-radius-small);
	font-weight: 400;
	font-size: 0.92rem;
	line-height: 1;
	font-family: var(--vk-font);
	background: none;
	border: none;
	color: var(--vk-text);
	box-sizing: border-box;
	vertical-align: middle;
}
.vk-primary-nav > ul > li > a:hover,
.vk-submenu-toggle:hover { background: rgba(255,255,255,0.08); }

.vk-has-submenu .vk-submenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: var(--vk-bg-elevated);
	border: 1px solid var(--vk-border);
	border-radius: 8px;
	padding: 8px;
	box-shadow: 0 12px 32px rgba(0,0,0,0.45);
}
.vk-has-submenu:hover .vk-submenu,
.vk-has-submenu.is-open .vk-submenu { display: block; }
.vk-submenu li a { display: block; padding: 8px 12px; border-radius: 6px; font-size: 0.9rem; }
.vk-submenu li a:hover { background: rgba(255,255,255,0.08); }

.vk-nav-toggle {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	padding: 8px;
	border-radius: var(--vk-radius-small);
}
.vk-nav-toggle span { width: 22px; height: 2px; background: #fff; display: block; border-radius: 2px; }

.vk-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	color: var(--vk-text);
	border-radius: var(--vk-radius-small);
}
.vk-search-toggle:hover { background: rgba(255,255,255,0.08); }

.vk-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	color: var(--vk-text);
	border-radius: var(--vk-radius-small);
}
.vk-theme-toggle:hover { background: rgba(255,255,255,0.08); }
.vk-theme-toggle .vk-icon-theme-moon { display: none; }
html[data-theme="light"] .vk-theme-toggle .vk-icon-theme-sun { display: none; }
html[data-theme="light"] .vk-theme-toggle .vk-icon-theme-moon { display: block; }
html[data-theme="light"] .vk-theme-toggle:hover { background: rgba(0,0,0,0.06); }
/* FONTOS: ennek a szabalynak a ".vk-theme-toggle" alapszabaly UTAN kell
   allnia a fajlban - mindket kijelolo (".vk-theme-toggle-mobile" es
   ".vk-theme-toggle") azonos specificitasu egyetlen osztaly-szelektor,
   igy azonos specificitas eseten a KESOBBI szabaly nyer. Ha ez a sor
   korabban allt volna a fajlban (mint a ".vk-theme-toggle" elott), a
   ".vk-theme-toggle"-nak megadott "display: inline-flex" felulirta volna,
   es a mobil gomb asztalon is lathato maradt volna a deszktop gomb mellett
   egyszerre - ez okozta a "ket ikon egyszerre" hibat. */
.vk-theme-toggle-mobile { display: none; }

/* Kereso overlay
   ------------------------------------------------------------------------ */
.vk-search-overlay {
	position: fixed;
	inset: 0;
	background: rgba(5,5,6,0.96);
	z-index: 900;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 10vh 20px 20px;
}
.vk-search-overlay[hidden] { display: none; }
.vk-search-overlay-inner { width: 100%; max-width: 720px; position: relative; }
.vk-search-close { position: absolute; right: 0; top: -50px; background: none; border: none; color: #fff; display: inline-flex; }
.vk-search-close .vk-icon { width: 26px; height: 26px; }
.vk-search-label { display: block; margin-bottom: 10px; color: var(--vk-text-muted); }
.vk-search-input {
	width: 100%;
	padding: 16px 18px;
	font-size: 1.2rem;
	border-radius: 8px;
	border: 1px solid var(--vk-border);
	background: var(--vk-bg-elevated);
	color: #fff;
}
.vk-search-results { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; max-height: 60vh; overflow-y: auto; }
.vk-search-result-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--vk-bg-elevated);
}
.vk-search-result-item:hover { background: var(--vk-secondary); }
.vk-search-result-item img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.vk-search-result-type { font-size: 0.75rem; color: var(--vk-text-muted); text-transform: uppercase; }

/* Alfejlec: vissza gomb + breadcrumb
   ------------------------------------------------------------------------ */
.vk-subheader { background: linear-gradient(120deg, var(--vk-bg-elevated), var(--vk-bg) 70%); border-bottom: 1px solid var(--vk-border); }
.vk-subheader-inner {
	max-width: var(--vk-max-width);
	margin: 0 auto;
	padding: 12px 20px;
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.vk-back-button {
	background: none;
	border: 1px solid var(--vk-border);
	color: var(--vk-text);
	padding: 6px 14px;
	border-radius: 6px;
	font-weight: 600;
}
.vk-back-button:hover { background: var(--vk-secondary); }

/* list-style/margin/padding explicit nullazva - <ol> eleve szamozott
   lista, es enelkul (bongesztol fuggoen) "1. 2. 3." sorszamok is
   megjelenhetnek a "/" elvalasztok mellett/helyett. */
.vk-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 0.85rem; color: var(--vk-text-muted); list-style: none; margin: 0; padding: 0; }
.vk-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 10px; opacity: 0.5; }
.vk-breadcrumbs a { text-decoration: none; }
.vk-breadcrumbs a:hover { color: var(--vk-text); }

/* Fooldal altalanos
   ------------------------------------------------------------------------ */
.vk-site-main { display: block; }
.vk-section-title { max-width: var(--vk-max-width); margin: 48px auto 16px; padding: 0 20px; font-size: 1.5rem; font-weight: 800; position: relative; }
.vk-section-title-small { font-size: 1.15rem; margin: 24px 0 12px; }

/* Hero
   ------------------------------------------------------------------------ */
/* Kozossegi media sav a hero FELETT (csak a fooldalon, lasd
   template-parts/hero.php) - ez "tolja lejjebb" a hero-t a fejlectol.
   Csak asztalon latszik (mobilon a hamburger-menuben van, lasd feljebb) -
   korvonalas, hatter nelkuli, feher ikonok, a felhasznalo kifejezett
   kerese szerint. */
.vk-hero-topbar {
	max-width: var(--vk-max-width);
	margin: 0 auto;
	/* A felso paddinget noveljuk (nem az ikonok es a hero kozotti,
	   also reszt) - igy az ikonok+hero egyutt, valtozatlan egymashoz
	   viszonyitott tavolsaggal csusznak lejjebb a fejlectol. */
	padding: 34px 20px 0;
	display: flex;
	justify-content: flex-end;
}
.vk-hero-topbar-social { display: flex; align-items: center; gap: 18px; }
.vk-hero-topbar-social a { display: inline-flex; color: #fff; }
.vk-hero-topbar-social a:hover { opacity: 0.7; }
.vk-hero-topbar-social .vk-icon { width: 22px; height: 22px; }
@media (max-width: 780px) {
	.vk-hero-topbar { display: none; }
}
.vk-hero {
	position: relative;
	margin: 8px auto var(--vk-section-gap);
	max-width: var(--vk-max-width);
	padding: 0 20px;
}
.vk-hero-slider { position: relative; overflow: hidden; border-radius: var(--vk-radius); box-shadow: var(--vk-shadow-strong); }
/* A hero ket nyila egymas mellett all a jobb also sarokban (nem a slider
   ket szelen), hogy ne takarja a cimet/gombokat, es ne "lebegjenek" kulon
   a doboz ket oldalan. */
.vk-hero-slider .vk-slider-arrow-prev,
.vk-hero-slider .vk-slider-arrow-next {
	top: auto;
	bottom: 20px;
	transform: none;
	left: auto;
}
.vk-hero-slider .vk-slider-arrow-prev { right: 78px; }
.vk-hero-slider .vk-slider-arrow-next { right: 20px; }
@media (max-width: 780px) {
	.vk-hero { padding: 0; margin-bottom: var(--vk-section-gap); }
	.vk-hero-slider { border-radius: 0; }
	/* Mobilon a nyilak feljebb, a jobb felso sarokba kerulnek (nem a jobb
	   alsoba, mert ott a hangerő-gomb van) - az ujra-lejatszas gomb mar ott
	   all (right:20/top:20, 44x44), ezert a nyilak attol balra, kisebb
	   (36x36) meretben sorakoznak, hogy mind elferjen egy sorban. */
	.vk-hero-slider .vk-slider-arrow-prev,
	.vk-hero-slider .vk-slider-arrow-next {
		top: 24px;
		bottom: auto;
		width: 36px; height: 36px;
	}
	.vk-hero-slider .vk-slider-arrow-prev { right: 116px; }
	.vk-hero-slider .vk-slider-arrow-next { right: 72px; }
	.vk-hero-slider .vk-slider-arrow .vk-icon { width: 18px; height: 18px; }
}
.vk-hero-track { display: flex; align-items: stretch; transition: transform 0.5s ease; cursor: grab; }
.vk-hero-track:active { cursor: grabbing; }
.vk-hero-slide { min-width: 100%; position: relative; min-height: 62vh; display: flex; align-items: flex-end; }
.vk-hero-media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
/* A kep/poszter kozvetlenul "inset:0"-val toltodik ki, nem szazalekos
   width/height-vel - igy nem maradhat 1px-es csik a doboz sajat hatterszinebol
   kerekitesi hiba miatt (ez okozta korabban azt, hogy a hero also szelen
   "nem toltodott ki teljesen" a kep). */
.vk-hero-image, .vk-hero-video-poster {
	/* inset: -1px -> a doboznal 1px-el nagyobbra "lografik" minden iranyba,
	   amit a .vk-hero-media/.vk-hero-slider sajat overflow:hidden-je level ag;
	   igy a kerekitesi (subpixel) hibak miatti csik sem maradhat lathato. */
	position: absolute;
	inset: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	object-fit: cover;
}
.vk-hero-video { position: relative; width: 100%; height: 100%; overflow: hidden; }
.vk-hero-video-frame {
	/* A klasszikus "hatterkent kitoltott youtube video" trukk: a 16:9-es
	   videot mindig a nagyobbik (vw vagy vh alapu) meret szerint nagyitjuk
	   fel es kozepre igazitjuk, igy sose latszik keskenyen/kozepen, mindig
	   kitolti a konteneret, aranytorzitas nelkul. */
	position: absolute; top: 50%; left: 50%; border: 0; pointer-events: none;
	width: 100vw; height: 56.25vw; /* 16:9 */
	min-width: 178vh; min-height: 100%;
	transform: translate(-50%, -50%);
}
.vk-hero-sound-toggle,
.vk-hero-restart-toggle {
	position: absolute; z-index: 2;
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(11,11,13,0.55); border: 1.5px solid rgba(255,255,255,0.5); color: #fff;
	display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px);
}
.vk-hero-sound-toggle { right: 20px; bottom: 20px; }
.vk-hero-restart-toggle { right: 20px; top: 20px; }
.vk-hero-sound-toggle:hover, .vk-hero-restart-toggle:hover { background: rgba(11,11,13,0.8); }
.vk-hero-sound-toggle .vk-icon-unmuted { display: none; }
.vk-hero-sound-toggle[data-muted="0"] .vk-icon-muted { display: none; }
.vk-hero-sound-toggle[data-muted="0"] .vk-icon-unmuted { display: block; }
.vk-gallery-video-play,
.vk-hero-video-play {
	position: absolute; inset: 0; margin: auto; width: 84px; height: 84px; border-radius: 50%;
	background: rgba(0,0,0,0.5); border: 2px solid #fff; color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.vk-gallery-video-play .vk-icon, .vk-hero-video-play .vk-icon { width: 32px; height: 32px; }
.vk-hero-gradient {
	position: absolute; inset: 0;
	pointer-events: none; /* dekoracio - sose akadalyozza a mogotte/mellette levo gombok kattinthatosagat */
	background: linear-gradient(180deg,
		rgba(11,11,13,0) 0%,
		rgba(11,11,13,0.03) 25%,
		rgba(11,11,13,0.14) 45%,
		rgba(11,11,13,0.4) 65%,
		rgba(11,11,13,0.72) 82%,
		rgba(11,11,13,0.95) 100%);
}
/* A hero szovege MINDIG a kep/gradiens felett all, fuggetlenul a
   sotet/vilagos temavaltotol - ezert itt fix feher szinekkel dolgozunk,
   nem a temaval valto --vk-text/--vk-text-muted valtozokkal (azok
   vilagos modban sotetre valtanak, es a szoveg eltunt volna a kepen). */
.vk-hero-content { position: relative; z-index: 1; padding: 32px 20px 48px; max-width: var(--vk-max-width); margin: 0 auto; width: 100%; color: #fff; }
.vk-hero-meta { margin-bottom: 12px; }
.vk-hero-title { color: #fff; font-size: clamp(2.6rem, 4.2vw, 3.8rem); margin: 0 0 12px; text-shadow: 0 2px 16px rgba(0,0,0,0.65); }
@media (max-width: 780px) {
	.vk-hero-title { font-size: clamp(1.8rem, 7vw, 2.4rem); }
}
.vk-hero-description { max-width: 640px; color: rgba(255,255,255,0.85); margin-bottom: 16px; }
.vk-hero-idopontok-scroller {
	display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 16px;
	/* Sajat, sotet temahoz illo scrollbar - enelkul a bongeszo alapertelmezett,
	   vilagosszurke sav jelenik meg, amit "szurke csiknak" lattunk a hero aljan. */
	scrollbar-width: thin;
	scrollbar-color: var(--vk-border) transparent;
}
.vk-hero-idopontok-scroller::-webkit-scrollbar { height: 6px; }
.vk-hero-idopontok-scroller::-webkit-scrollbar-track { background: transparent; }
.vk-hero-idopontok-scroller::-webkit-scrollbar-thumb { background: var(--vk-border); border-radius: 4px; }
.vk-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Korosztaly badge (mint a regi TV korhatar-karika)
   ------------------------------------------------------------------------ */
.vk-korosztaly-badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--vk-badge-color, #666);
	color: #fff; font-weight: 800; font-size: 0.95rem;
	border: 2px solid rgba(255,255,255,0.85);
	box-shadow: 0 2px 8px rgba(0,0,0,0.5);
	/* Szoveg-korvonal, hogy vilagosabb szinu (pl. sarga) hatteren is
	   olvashato maradjon a feher felirat. */
	text-shadow: 0 0 3px rgba(0,0,0,0.85), 0 1px 2px rgba(0,0,0,0.85);
}
/* Poszter-kartyakon kisebb, kevesbe domi­nans jelzes. */
.vk-poster-badge .vk-korosztaly-badge { width: 28px; height: 28px; font-size: 0.65rem; border-width: 1.5px; }

/* Korosztaly-szuro sor (a cim es a poszterek kozott) - ugyanaz a
   korong-stilus, de gombkent kattinthato, aktiv allapotban kiemelve. */
.vk-korosztaly-szuro-sor { display: flex; flex-wrap: wrap; gap: 10px; max-width: var(--vk-max-width); margin: 0 auto 16px; padding: 0 20px; }
.vk-korosztaly-szuro-gomb {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--vk-badge-color, #666);
	color: #fff; font-weight: 800; font-size: 0.95rem;
	border: 2px solid rgba(255,255,255,0.85);
	box-shadow: 0 2px 8px rgba(0,0,0,0.5);
	text-shadow: 0 0 3px rgba(0,0,0,0.85), 0 1px 2px rgba(0,0,0,0.85);
	opacity: 0.55; transition: opacity 0.15s ease, transform 0.15s ease;
	cursor: pointer;
}
.vk-korosztaly-szuro-gomb:hover { opacity: 0.85; }
.vk-korosztaly-szuro-gomb[aria-pressed="true"] { opacity: 1; transform: scale(1.1); }
.vk-poster-card[data-vk-filtered-hidden] { display: none !important; }

/* A termeknek szandekosan nincs sajat szine - mindegyik ugyanazt a semleges
   jelvenyt kapja, hogy ne tunjon ugy, mintha a terem valamilyen kategoriat
   vagy allapotot jelezne. */
.vk-terem-badge {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 14px; border-radius: 20px; font-size: 0.85rem; font-weight: 600;
	background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
}
.vk-meta-chip {
	display: inline-flex; align-items: center;
	padding: 6px 14px; border-radius: 20px; font-size: 0.85rem;
	background: rgba(255,255,255,0.08);
}

/* Bemutato ("premier") cimke
   ------------------------------------------------------------------------ */
.vk-bemutato-cimke {
	display: inline-flex; align-items: center;
	padding: 6px 14px; border-radius: 20px; font-size: 0.8rem; font-weight: 700;
	background: linear-gradient(135deg, var(--vk-accent-2), var(--vk-accent));
	color: #0b0b0d;
}

.vk-idopont-cimke {
	display: inline-flex; align-items: center; white-space: nowrap;
	padding: 6px 12px; border-radius: 20px; font-size: 0.8rem; font-weight: 600;
	background: rgba(255,255,255,0.14);
}
.vk-idopont-cimke.is-elfogyott { background: rgba(255,255,255,0.05); color: var(--vk-text-muted); text-decoration: line-through; }
a.vk-idopont-cimke:not(.is-elfogyott):hover { background: rgba(255,255,255,0.28); }
.vk-idopont-cimke-kicsi { font-size: 0.72rem; padding: 4px 10px; }

/* Figyelemfelkelto sav
   ------------------------------------------------------------------------ */
.vk-figyelmezteto-sav {
	display: flex; align-items: center; gap: 10px;
	background: #7a1f1f; color: #fff; padding: 12px 16px; border-radius: var(--vk-radius-small);
	margin: 12px 0; font-weight: 600;
}
.vk-figyelmezteto-ikon { flex-shrink: 0; }
.vk-figyelmezteto-ikon .vk-icon { width: 22px; height: 22px; }

/* Poszter slider (repertoar, ovodasoknak, hasonlo, szinesz eloadasai)
   ------------------------------------------------------------------------ */
.vk-eloadas-slider-section { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px var(--vk-section-gap); }
.vk-poster-slider { position: relative; }
.vk-poster-track {
	display: flex; gap: 16px; overflow-x: auto; scroll-behavior: smooth;
	/* A poszter-kartyak hoverre mar nem nonek meg helyben (lasd
	   .vk-poster-card:hover lejjebb) - a "kinovo" hatast asztalon egy
	   kulon, position:fixed elonezeti kartya adja (#vk-poster-hover-card,
	   lasd lejjebb + assets/js/poster-hover.js), ami MINDIG kiszabadul
	   ebbol a (overflow-x:auto miatt automatikusan overflow-y:auto is)
	   gorgetheto sorbol, tehat itt mar nincs szukseg nagy extra paddingra.
	*/
	padding: 12px 4px 20px;
	cursor: grab; user-select: none;
}
/* A nyilak nem a slider ket szelen, hanem egymas mellett, a szekcio
   cimevel egy vonalban, jobb felul allnak (nem takarjak a kartyakat,
   es nem "lebegnek" kulon-kulon a doboz ket oldalan). */
.vk-poster-slider .vk-slider-arrow-prev,
.vk-poster-slider .vk-slider-arrow-next {
	top: -54px;
	transform: none;
	left: auto;
	width: 36px; height: 36px;
}
.vk-poster-slider .vk-slider-arrow-prev { right: 66px; }
.vk-poster-slider .vk-slider-arrow-next { right: 20px; }
.vk-poster-slider .vk-slider-arrow .vk-icon { width: 18px; height: 18px; }
.vk-poster-track.is-dragging, .vk-actors-track.is-dragging, .vk-press-track.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.vk-poster-track::-webkit-scrollbar { height: 8px; }
.vk-poster-track::-webkit-scrollbar-thumb { background: var(--vk-border); border-radius: 4px; }

/* !important: nem talaltunk a temaban semmit, ami ezt felulirhatna, de
   igy biztosan nem tudja megtenni egy masik plugin/cache altal beszurt,
   veletlenul azonos vagy nagyobb specificitasu szabaly sem. */
.vk-poster-card { flex: 0 0 200px !important; max-width: 200px !important; display: block; position: relative; transition: transform 0.2s ease; }
/* A tenyleges "Netflix-szeru" kinovest mostantol egy kulon, lebego kartya
   adja hoverre (lasd #vk-poster-hover-card + assets/js/poster-hover.js) -
   maga az eredeti, sorban allo kartya csak egy nagyon finom kiemelest kap,
   hogy latszodjon, melyiken all epp az eger, amig a lebego kartya
   (rovid keses utan) meg nem jelenik. */
@media (hover: hover) and (pointer: fine) {
	.vk-poster-card:hover { transform: translateY(-2px); z-index: 3; }
}

/* Lapozhato poszter-kartya: [borito (hover-videoval)] -> [leiras] -> [video]
   -> [tobbi galeria kep]. Minden "oldal" ugyanabban a 2:3 dobozban ul, csak
   a track translateX-szel lapoz kozottuk (ugyanaz a technika, mint a hero
   sliderben). */
/* A poszter-terulet sajat <a>-ja (a kartya mar nem maga a link, lasd
   repertoire-slider.php - az idopont-cimkek most sajat linkek). */
.vk-poster-card-link { display: block; color: inherit; text-decoration: none; }
.vk-poster-pages-viewport { position: relative; border-radius: var(--vk-radius); overflow: hidden; aspect-ratio: 2/3; background: var(--vk-secondary); box-shadow: var(--vk-shadow-soft); }
.vk-poster-pages-track { display: flex; height: 100%; transition: transform 0.35s ease; }
.vk-poster-page { position: relative; flex: 0 0 100%; width: 100%; height: 100%; }
.vk-poster-image, .vk-poster-page-galeria img { display: block; position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); object-fit: cover; }
.vk-poster-image-placeholder { width: 100%; height: 100%; background: var(--vk-secondary); }
.vk-poster-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.9) 100%); }
.vk-poster-badge { position: absolute; top: 10px; left: 10px; z-index: 1; }
.vk-poster-page .vk-bemutato-cimke { position: absolute; top: 10px; right: 10px; z-index: 1; }
.vk-poster-title { text-shadow: 0 2px 6px rgba(0,0,0,0.9), 0 0 4px rgba(0,0,0,0.85); position: absolute; left: 10px; right: 10px; bottom: 10px; font-weight: 700; z-index: 1; }
/* A cim a viewport-on belul, a lapozo-tracken KIVUL all (lasd repertoire-
   slider.php) - igy fuggetlen attol, melyik "oldal" aktiv eppen, es mindig
   lathato marad. Csak a leiras-oldalon (ahol mar ugyis ott a sajat cimsora)
   es hover-video lejatszasa alatt tunik el. */
.vk-poster-title-persistent { z-index: 2; transition: opacity 0.15s ease; }
.vk-poster-card[data-active-page="1"] .vk-poster-title-persistent,
.vk-poster-card.is-hover-video .vk-poster-title-persistent {
	opacity: 0;
	pointer-events: none;
}
.vk-poster-idopontok { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; }

/* Informacios sav a kartya alatt: helyszin + jatszoido chip-ek, alattuk a
   legkozelebbi idopontok cimkei. Erintos eszkozon (mobil) ez EGYSZERU,
   mindig lathato, normal dokumentum-folyasban levo blokk - ott ugyis
   nincs kulon "gyorsnezet" sem, a kartya sajat linkje egyenesen az
   aloldalra visz, tehat nincs is "hover", aminek a felfedeset animalni
   kellene. */
.vk-poster-hover-meta { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.vk-poster-hover-meta-chips { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 0.74rem; color: var(--vk-text-muted); line-height: 1.3; }
.vk-poster-hover-meta-chips .vk-icon { width: 12px; height: 12px; vertical-align: -1px; margin-right: 1px; }

/* Asztalon (hover-kepes eszkozon) ugyanezt az infot (helyszin/jatszoido/
   idopontok) mar a kulon lebego #vk-poster-hover-card jeleniti meg (lasd
   assets/js/poster-hover.js) - ez a mindig-lathato, normal-folyasbeli sav
   csak erintos/mobil eszkozon (nincs hover) marad megjelenitve. */
@media (hover: hover) and (pointer: fine) {
	.vk-poster-hover-meta { display: none; }
}

/* Borito oldal hover-video (asztalon, ha van elozetes) - a kep felett jelenik
   meg, hanggal, csak amig a eger a kartyan van; kilepeskor visszaall a kep. */
.vk-poster-hover-video, .vk-poster-video-slot { position: absolute; inset: 0; z-index: 2; background: #000; }
.vk-poster-hover-video:empty, .vk-poster-video-slot:empty { display: none; }
/* pointer-events:none a hover-videon (csak ezen, nem a galeria-lapozo
   sajat video-oldalan): a nezo egy dekorativ elonezetet lat, nem
   akarunk semmilyen YouTube-fele iranyitopultot/hover-overlayt tenni
   kattinthatova - es igy egy kattintas a video felett is at"esik" az
   alatta levo kartya-linkre, tovabb az eloadas oldalara, ahogy a kartya
   tobbi reszen is. */
.vk-poster-hover-video iframe { display: block; width: 100%; height: 100%; border: 0; pointer-events: none; }
.vk-poster-video-slot iframe { display: block; width: 100%; height: 100%; border: 0; }
/* A hover-video szep, fokozatos atmenettel jelenjen meg, ne hirtelen -
   lasd a JS-ben a kovetkezo animacios keretre halasztott osztaly-hozzaadast. */
.vk-poster-hover-video { opacity: 0; transition: opacity 0.35s ease; }
.vk-poster-page-cover.is-hover-video .vk-poster-hover-video { opacity: 1; }
.vk-poster-page-cover.is-hover-video .vk-poster-gradient,
.vk-poster-page-cover.is-hover-video .vk-poster-badge,
.vk-poster-page-cover.is-hover-video .vk-bemutato-cimke { opacity: 0; pointer-events: none; transition: opacity 0.15s ease; }

/* Leiras oldal */
.vk-poster-page-leiras {
	display: flex; flex-direction: column; padding: 14px;
	background: linear-gradient(160deg, var(--vk-bg-elevated), var(--vk-secondary));
}
.vk-poster-leiras-cim { font-family: var(--vk-font-display); font-size: 1rem; margin: 0 0 8px; }
.vk-poster-leiras-szoveg {
	flex: 1; overflow: hidden; color: var(--vk-text-muted); font-size: 0.82rem; line-height: 1.5;
	display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical;
}
.vk-poster-tovabb-btn { margin-top: 10px; align-self: flex-start; pointer-events: none; }

/* Lapozo nyilak + pontok - mindig lathatok erintos eszkozon (nincs hover),
   asztalon csak a kartya hoverelesekor jelennek meg. */
.vk-poster-page-nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
	width: 26px; height: 26px; border-radius: 50%; border: none; padding: 0;
	background: rgba(0,0,0,0.5); color: #fff; display: flex; align-items: center; justify-content: center;
	opacity: 0; transition: opacity 0.2s ease;
}
.vk-poster-page-nav svg { width: 15px; height: 15px; }
.vk-poster-page-prev { left: 6px; }
.vk-poster-page-next { right: 6px; }
.vk-poster-page-nav[disabled] { display: none; }
@media (hover: hover) and (pointer: fine) {
	.vk-poster-card:hover .vk-poster-page-nav,
	.vk-poster-card:focus-within .vk-poster-page-nav { opacity: 1; }
}
@media (hover: none) {
	.vk-poster-page-nav { opacity: 1; }
}
.vk-poster-page-dots { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); z-index: 4; display: flex; gap: 5px; }
.vk-poster-page-dot { width: 6px; height: 6px; border-radius: 50%; border: none; padding: 0; background: rgba(255,255,255,0.45); transition: background 0.2s ease, transform 0.2s ease; }
.vk-poster-page-dot.is-active { background: #fff; transform: scale(1.3); }

.vk-slider-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(0,0,0,0.55); color: #fff; border: 1px solid rgba(255,255,255,0.3);
	display: flex; align-items: center; justify-content: center; z-index: 2;
	transition: background 0.15s ease;
}
.vk-slider-arrow:hover { background: rgba(0,0,0,0.8); }
.vk-slider-arrow .vk-icon { width: 22px; height: 22px; }
/* Minden slidernel (hero, poszter, szinesz, galeria) ugyanaz a tavolsag a
   szel(ek)tol, hogy egyseges legyen a kinezetuk - korabban a hero
   nyilai 16px-re voltak beljebb, a tobbi slideré pedig szinte kilogott
   a kartya szelen (-6px), ezert nezett ki "másképp" mindegyik. */
.vk-slider-arrow-prev { left: 10px; }
.vk-slider-arrow-next { right: 10px; }
/* position:absolute (a kep FOLOTT ul, nem alatta a normal flow-ban) -
   igy nem novelte meg a .vk-hero-slider sajat magassagat a kep alatt,
   amitol egy sajat hatterszinu ("szurke") csik logott ki a lekerekitett
   doboz aljan pontosan a pottyok magassagaban. */
.vk-slider-dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; gap: 6px; justify-content: center; margin-top: 0; }
.vk-slider-dots button { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.35); border: none; padding: 0; }
.vk-slider-dots button.is-active { background: #fff; }

/* Szineszek szekcio
   ------------------------------------------------------------------------ */
.vk-actors-section { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px var(--vk-section-gap); position: relative; }
.vk-actors-track { display: flex; gap: 16px; overflow-x: auto; scroll-behavior: smooth; padding: 4px 4px 12px; cursor: grab; user-select: none; }
/* A nyilak itt is (mint az eloadas-sliderekben) egymas mellett, a szekcio
   cimevel egy vonalban, jobb felul allnak. */
.vk-actors-slider { position: relative; }
.vk-actors-slider .vk-slider-arrow-prev,
.vk-actors-slider .vk-slider-arrow-next {
	top: -54px;
	transform: none;
	left: auto;
	width: 36px; height: 36px;
}
.vk-actors-slider .vk-slider-arrow-prev { right: 66px; }
.vk-actors-slider .vk-slider-arrow-next { right: 20px; }
.vk-actors-slider .vk-slider-arrow .vk-icon { width: 18px; height: 18px; }
.vk-actor-card { flex: 0 0 260px; position: relative; border-radius: var(--vk-radius); overflow: hidden; aspect-ratio: 16/10; background: var(--vk-secondary); box-shadow: var(--vk-shadow-soft); transition: transform 0.2s ease; }
.vk-actor-card:hover { transform: translateY(-4px) scale(1.02); }
.vk-actor-image { width: 100%; height: 100%; object-fit: cover; }
.vk-actor-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.9) 100%); }
/* Fixen feher, fuggetlenul a vilagos/sotet modtol: a nev/titulus mindig a
   fenykep + sotet gradient felett all, ugyanaz az indok, mint a hero
   cimenel/leirasanal. */
.vk-actor-name { position: absolute; left: 12px; bottom: 30px; font-weight: 700; z-index: 1; color: #fff; }
.vk-actor-title { position: absolute; left: 12px; bottom: 10px; font-size: 0.8rem; color: rgba(255,255,255,0.85); z-index: 1; }
.vk-szinesz-grid { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px 40px; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 16px; }

/* Hirek
   ------------------------------------------------------------------------ */
.vk-news-section { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px var(--vk-section-gap); }
.vk-news-header { display: flex; justify-content: space-between; align-items: baseline; }
.vk-news-header .vk-section-title { margin: 0; padding: 0; }
.vk-news-all-link { color: var(--vk-primary); font-weight: 600; white-space: nowrap; }
/* Masonry-szeru elrendezes: kulonbozo magassagu kepekkel (nem egyseges,
   levagott meretaranyu kepekkel) "legoznak ossze" a kartyak - oszloponkent
   toltodnek fentrol lefele, az oszlopok also szele nem kell hogy egy
   vonalban vegzodjon. */
.vk-news-grid { column-count: 3; column-gap: 20px; margin-top: 20px; }
.vk-news-card { background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: var(--vk-radius); overflow: hidden; display: block; break-inside: avoid; margin-bottom: 20px; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.vk-news-card:hover { transform: translateY(-3px); box-shadow: var(--vk-shadow-soft); }
.vk-news-image { width: 100%; height: auto; display: block; }
.vk-news-body { padding: 16px; }
.vk-news-date { font-size: 0.8rem; color: var(--vk-text-muted); }
.vk-news-title { margin: 8px 0; font-size: 1.1rem; }
.vk-news-excerpt { color: var(--vk-text-muted); font-size: 0.9rem; }
.vk-news-grid-archive { column-count: 3; }

.vk-hir-cimkek { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.vk-hir-cimke { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--vk-secondary); color: var(--vk-text-muted); font-size: 0.75rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
a.vk-hir-cimke:hover { background: var(--vk-primary); color: #fff; }
.vk-hir-cimke-vtt { background: var(--vk-accent-2, #8a6cf2); color: #fff; }
a.vk-hir-cimke-vtt:hover { background: var(--vk-accent-2, #8a6cf2); opacity: 0.85; }
.vk-hir-szuro-sor { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.vk-hir-szuro-sor .vk-hir-cimke { font-size: 0.85rem; padding: 6px 14px; background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); }
.vk-hir-szuro-sor .vk-hir-cimke.is-active { background: var(--vk-primary); border-color: var(--vk-primary); color: #fff; }
.vk-hir-szuro-sor .vk-hir-cimke-vtt.is-active { background: var(--vk-accent-2, #8a6cf2); border-color: var(--vk-accent-2, #8a6cf2); }

.vk-vtt-section { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px var(--vk-section-gap); }
.vk-vtt-inner { position: relative; border-radius: var(--vk-radius); overflow: hidden; min-height: 340px; display: flex; align-items: flex-end; background: linear-gradient(135deg, #241b3d, #4a3782); }
.vk-vtt-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.vk-vtt-gradient { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,14,38,0.92) 10%, rgba(20,14,38,0.35) 65%, rgba(20,14,38,0.55) 100%); }
.vk-vtt-content { position: relative; z-index: 1; padding: 32px; color: #fff; max-width: 640px; }
.vk-vtt-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; font-weight: 700; color: var(--vk-accent, #6fd6c4); margin-bottom: 8px; }
.vk-vtt-cim { font-family: var(--vk-font-display); font-size: 2rem; margin: 0 0 12px; }
.vk-vtt-leiras { color: rgba(255,255,255,0.85); margin: 0 0 18px; line-height: 1.5; }
.vk-vtt-hirek { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.vk-vtt-hirek a { color: #fff; text-decoration: underline; font-size: 0.88rem; }
.vk-vtt-hirek a:hover { color: var(--vk-accent, #6fd6c4); }
@media (max-width: 640px) {
	.vk-vtt-cim { font-size: 1.5rem; }
	.vk-vtt-content { padding: 22px; }
}

/* Sajtofigyeles
   ------------------------------------------------------------------------ */
.vk-press-section { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px var(--vk-section-gap); }
/* padding: 4px 4px 12px (NEM 56px balra/jobbra) - a Sajtófigyelés sornak
   nincs sajat nyil-gombja, a korabbi 56px-es oldalso hely csak feleslegesen
   "beljebb" toldotta el az elso kartyat a szekcio bal szelehez kepest. */
.vk-press-track { display: flex; gap: 14px; overflow-x: auto; padding: 4px 4px 12px; margin-top: 8px; cursor: grab; user-select: none; }
/* Az eloadas aloldal "Sajtófigyelés" fuljeben nincs kulon nyil-gomb a
   track felett, ezert itt nem kell a jobb oldali extra hely. */
.vk-press-track-tab { padding: 4px 4px 12px; margin-top: 0; }
/* A kartya mar NEM maga a link (<div>), hogy a benne levo cimke sajat,
   masik celra mutato <a> lehessen - egy <a> nem agyazhato egy masikba. */
.vk-press-card {
	flex: 0 0 240px;
	display: flex; flex-direction: column; gap: 10px;
	padding: 16px; border-radius: var(--vk-radius); background: var(--vk-bg-elevated);
	border: 1px solid var(--vk-border);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.vk-press-card:hover { transform: translateY(-3px); box-shadow: var(--vk-shadow-soft); }
.vk-press-card-link { display: flex; flex-direction: column; gap: 10px; flex: 1; color: inherit; text-decoration: none; }
.vk-press-portal { display: flex; align-items: center; gap: 8px; }
.vk-press-portal-logo { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
.vk-press-portal-nev { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--vk-text-muted); }
.vk-press-cim { font-size: 0.98rem; line-height: 1.4; flex: 1; }
.vk-press-eloadas-tag { align-self: flex-start; display: inline-flex; padding: 3px 10px; border-radius: 999px; background: var(--vk-accent-2, #8a6cf2); color: #fff; font-size: 0.72rem; font-weight: 700; text-decoration: none; }
.vk-press-eloadas-tag:hover { opacity: 0.85; }
.vk-press-link-icon { color: var(--vk-accent); align-self: flex-end; }
.vk-eloadas-sajtofigyeles { max-width: var(--vk-max-width); margin: 0 auto 32px; }

/* Archiv eloadasok
   ------------------------------------------------------------------------ */
.vk-archive-eloadas-lead { color: var(--vk-text-muted); max-width: 60ch; margin-bottom: 12px; }
.vk-archive-eloadas-grid { grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); }
.vk-archive-eloadas-card.vk-poster-card { flex: unset !important; width: 100% !important; max-width: none !important; }
.vk-poster-image-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--vk-secondary), var(--vk-bg-elevated)); }
.vk-archive-eloadas-body { padding-top: 10px; }
.vk-archive-eloadas-cim { font-size: 1rem; margin: 0 0 4px; }
.vk-archive-eloadas-terem { display: inline-flex; align-items: center; gap: 4px; color: var(--vk-text-muted); font-size: 0.82rem; }

/* Gyorkocfesztival
   ------------------------------------------------------------------------ */
.vk-gyorkoc-section { max-width: var(--vk-max-width); margin: 0 auto var(--vk-section-gap); padding: 0 20px; }
.vk-gyorkoc-link { position: relative; display: block; border-radius: var(--vk-radius); overflow: hidden; aspect-ratio: 21/9; }
.vk-gyorkoc-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
/* A video a kep folott ul, automatikusan es vegtelenul ismetlodve, hang
   nelkul - iranyitopult nelkuli, tisztan dekorativ hatterkent. */
.vk-gyorkoc-video { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.vk-gyorkoc-gradient { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.75)); }
/* Ugyanaz az indok, mint a hero cimenel: ez is mindig kep/video felett
   all, ezert fix feher, nem a temaval valto szoveg-szin. */
.vk-gyorkoc-title { position: absolute; left: 24px; bottom: 24px; font-size: 1.6rem; font-weight: 800; z-index: 3; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,0.6); }

/* Hatterkent futo, iranyitopult nelkuli Youtube-videok (hero + Gyorkoc) -
   kozos alaposztaly, mindig a nagyobbik (vw/vh) meret szerint felnagyitva. */
.vk-yt-bg-frame {
	position: absolute; top: 50%; left: 50%; border: 0; pointer-events: none;
	width: 100vw; height: 56.25vw;
	min-width: 178vh; min-height: 100%;
	transform: translate(-50%, -50%);
}
.vk-sound-toggle {
	position: absolute; right: 20px; bottom: 20px; z-index: 4;
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(11,11,13,0.55); border: 1.5px solid rgba(255,255,255,0.5); color: #fff;
	display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px);
}
.vk-sound-toggle:hover { background: rgba(11,11,13,0.8); }
.vk-sound-toggle .vk-icon-unmuted { display: none; }
.vk-sound-toggle[data-muted="0"] .vk-icon-muted { display: none; }
.vk-sound-toggle[data-muted="0"] .vk-icon-unmuted { display: block; }

/* Elolas aloldal
   ------------------------------------------------------------------------ */
.vk-eloadas-single { max-width: var(--vk-max-width); margin: 0 auto; padding: 0 20px 60px; }
.vk-eloadas-media-gallery { position: relative; margin: 0 -20px 24px; border-radius: 0; overflow: hidden; }
.vk-gallery-viewport { position: relative; width: 100%; aspect-ratio: 16/9; max-height: 480px; background: var(--vk-secondary); overflow: hidden; border-radius: var(--vk-radius); }
.vk-gallery-item { position: absolute; inset: 0; opacity: 0; transition: opacity 0.4s ease; pointer-events: none; }
.vk-gallery-item.is-active { opacity: 1; pointer-events: auto; }
/* A kep kozvetlenul "inset:0"-val toltodik ki (nem szazalekos width/height-
   vel) - igy nem maradhat 1px-es csik a doboz sajat hatterszinebol (ez
   okozta korabban azt, hogy a kep "nem toltodott ki teljesen" alul). */
.vk-gallery-image, .vk-gallery-video-poster {
	display: block;
	position: absolute;
	inset: -1px;
	width: calc(100% + 2px); height: calc(100% + 2px);
	max-width: none;
	object-fit: cover;
	object-position: center;
	/* Kis tovabbi "belenagyitas" - a video-poszter kepek (foleg a most
	   hasznalt hqdefault.jpg, ami 4:3, nem 16:9) igy biztosan a teljes
	   dobozt kitoltik, semmi hatterszin/szel nem maradhat lathato. */
	transform: scale(1.03);
}
.vk-gallery-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(11,11,13,0.85) 100%); pointer-events: none; }
.vk-gallery-dots { position: absolute; bottom: 16px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; }

.vk-eloadas-header-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; flex-wrap: wrap; }
.vk-eloadas-title { font-size: 2rem; margin: 0; }
.vk-eloadas-header-logo { display: flex; align-items: center; }
.vk-eloadas-header-logo img { display: block; max-height: 40px; width: auto; }
.vk-eloadas-ar-kiemelt {
	display: inline-flex; align-items: baseline; gap: 8px;
	margin-left: auto;
	padding: 10px 18px; border-radius: 999px;
	background: linear-gradient(120deg, var(--vk-primary), var(--vk-accent-2));
	box-shadow: var(--vk-shadow-soft);
	white-space: nowrap;
}
.vk-eloadas-ar-cimke { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.85); }
.vk-eloadas-ar-ertek { font-family: var(--vk-font-display); font-size: 1.3rem; color: #fff; }

.vk-eloadas-meta-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 16px 0; }

.vk-eloadas-leiras { max-width: 780px; color: var(--vk-text-muted); margin-bottom: 20px; }

.vk-eloadas-alkotok p { margin: 4px 0; color: var(--vk-text-muted); }

.vk-eloadas-szereplok { margin: 28px 0; }
.vk-szereplok-list { display: flex; flex-wrap: wrap; gap: 10px; }
.vk-szereplo-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--vk-bg-elevated); border-radius: 30px; padding: 6px 14px 6px 6px; }
.vk-szereplo-chip-img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }

.vk-eloadas-megosztas { margin: 24px 0; }
.vk-eloadas-tamogatok { margin: 32px 0; }
/* Itt (a lablecel ellentetben) altalaban csak 1-2 tamogato van, ezert nem
   space-evenly-vel elszorva, hanem balrol sorban, egymas utan. */
.vk-eloadas-tamogatok .vk-footer-sponsors-list { justify-content: flex-start; margin-top: 12px; }

.vk-eloadas-tabs { margin-top: 32px; }
.vk-tabs-nav { display: flex; gap: 6px; border-bottom: 1px solid var(--vk-border); margin-bottom: 20px; }
.vk-tab-button { background: none; border: none; color: var(--vk-text-muted); padding: 12px 16px; font-weight: 700; border-bottom: 2px solid transparent; }
.vk-tab-button.is-active { color: var(--vk-text); border-bottom-color: var(--vk-primary); }
.vk-tab-panel[hidden] { display: none; }

.vk-idopontok-lista li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--vk-border); flex-wrap: wrap; }
.vk-idopontok-lista li.is-elfogyott { opacity: 0.55; }
.vk-idopontok-lista-elfogyott { font-weight: 700; color: #e2542a; }
.vk-berletes-info { margin-top: 16px; color: var(--vk-text-muted); font-size: 0.92rem; }

/* Szinesz aloldal
   ------------------------------------------------------------------------ */
.vk-szinesz-single { max-width: var(--vk-max-width); margin: 0 auto; padding: 32px 20px 60px; }
.vk-szinesz-header { display: flex; gap: 32px; flex-wrap: wrap; margin-bottom: 32px; }
.vk-szinesz-photo img { border-radius: var(--vk-radius); width: 320px; }
.vk-szinesz-intro { flex: 1; min-width: 260px; }
.vk-szinesz-titulus { color: var(--vk-text-muted); font-weight: 600; margin-top: -8px; }
.vk-szinesz-bemutatkozo { color: var(--vk-text-muted); margin-top: 16px; }
/* A "Előadásai a Vaskakas színpadán" slider itt egy MAR 20px-el "beljebb"
   allo (.vk-szinesz-single) konteneren belul van, de a kozos
   .vk-eloadas-slider-section sajat 20px oldalso padding-et is hoz magaval
   (a fooldalon ez helyes, ott nincs korulotte tovabbi padding) - a ketto
   osszeadva 40px-re "toldotta beljebb" a kartyakat a leirashoz kepest.
   Itt ezert visszaallitjuk 0-ra, hogy pontosan a leirassal egy vonalba essen. */
.vk-szinesz-single .vk-eloadas-slider-section {
	padding-left: 0;
	padding-right: 0;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
/* Vedelmi halo beillesztett (Word/Google Docs) tartalom ellen: barmilyen
   inline szin/hatterszin stilust vagy legacy <font color> attributumot
   felulirunk, hogy sose valhasson olvashatatlanna a szoveg. */
.vk-szinesz-bemutatkozo, .vk-szinesz-bemutatkozo *,
.vk-eloadas-leiras, .vk-eloadas-leiras *,
.vk-hir-tartalom, .vk-hir-tartalom *,
.vk-page-tartalom, .vk-page-tartalom * {
	color: inherit !important;
	background-color: transparent !important;
}


/* Hirek aloldal
   ------------------------------------------------------------------------ */
.vk-hir-single { max-width: 900px; margin: 0 auto; padding: 32px 20px 60px; }
.vk-hir-datum { color: var(--vk-text-muted); font-size: 0.9rem; }
.vk-hir-cimkep img { border-radius: var(--vk-radius); margin: 16px 0; width: 100%; height: auto; display: block; }
.vk-hir-tartalom { line-height: 1.7; }
/* Masonry-szeru galeria: a kepek eredeti meretaranyukban jelennek meg,
   oszloponkent toltodve - igy nem torzul/vagodik le furan egy kep sem, es
   nem kell hogy minden oszlop also szele egy vonalban vegzodjon. */
.vk-hir-galeria { column-count: 3; column-gap: 12px; margin-top: 24px; }
.vk-hir-galeria img { display: block; width: 100%; height: auto; border-radius: 8px; margin-bottom: 12px; break-inside: avoid; }
@media (max-width: 780px) {
	.vk-hir-galeria { column-count: 2; }
}
@media (max-width: 480px) {
	.vk-hir-galeria { column-count: 1; }
}
.vk-hir-dokumentumok { margin-top: 24px; }
.vk-dokumentum-lista { display: flex; flex-direction: column; gap: 8px; }
.vk-dokumentum-lista a {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 14px; background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-small);
}
.vk-dokumentum-lista a:hover { background: var(--vk-secondary); }

/* Altalanos tartalmi oldal
   ------------------------------------------------------------------------ */
/* EGYSEGES oldal-keret: MINDEN belso oldal (szoveges, rács-os, archivum,
   kereses) UGYANAZT a szelesseget es felso/oldalso paddinget kapja, es az
   oldalcim (.vk-page-title) sosem kap sajat szelesseget/paddinget/margot
   a keretbol - igy a cim pozicioja minden oldalon pontosan ugyanott van
   (korabban a .vk-page-title is ebben a listaban volt, ezert dupla
   paddinget kapott, a Szinmuveszek oldal pedig egyaltalan nem volt benne,
   ezert "ugralt" a cim a Szinmuveszek es a Tarsulat oldal kozott). */
.vk-content-page, .vk-berletvasarlas-oldal, .vk-kapcsolat-oldal, .vk-karrier-oldal, .vk-tarsulat-oldal, .vk-naptar-oldal, .vk-tortenetunk-oldal, .vk-arspoetica-oldal, .vk-dijak-oldal, .vk-szinmuveszek-oldal, .vk-velemenyek-oldal, .vk-archive-hir, .vk-archive-eloadas, .vk-search-results-page {
	max-width: var(--vk-max-width); margin: 0 auto; padding: 32px 20px 60px;
}
.vk-page-title { font-size: 2rem; line-height: 1.15; margin: 0 0 20px; padding: 0; max-width: none; }
/* A szoveges oldalak tartalma olvashato szelessegu (a cim viszont a keret
   bal szelen marad, mint a rács-os oldalakon). */
.vk-content-page > :not(.vk-page-title),
.vk-berletvasarlas-oldal > :not(.vk-page-title),
.vk-kapcsolat-oldal > :not(.vk-page-title),
.vk-karrier-oldal > :not(.vk-page-title),
.vk-tarsulat-oldal > :not(.vk-page-title),
.vk-tortenetunk-oldal > :not(.vk-page-title),
.vk-arspoetica-oldal > :not(.vk-page-title),
.vk-dijak-oldal > :not(.vk-page-title) { max-width: 980px; }
/* A Szinmuveszek racs mar a keretben van - ne kapjon sajat oldalso paddinget. */
.vk-szinmuveszek-oldal .vk-szinesz-grid { padding-left: 0; padding-right: 0; }
/* Allando fuggoleges gorgetosav-hely: a rovid (nem gorgetheto) es a hosszu
   oldalak kozott a kozepre igazitott tartalom ne csusszon el vizszintesen
   a gorgetosav megjelenesekor/eltunesekor. */
html { overflow-y: scroll; }
.vk-page-tartalom { line-height: 1.7; color: var(--vk-text-muted); }

/* "Történetünk" es "Ars Poetica" bemutatkozo oldalak - a szoveg (a fenti
   .vk-page-tartalommal ellentetben) direktben a sablonba van beegetve,
   lasd page-templates/template-tortenetunk.php es
   page-templates/template-ars-poetica.php. Ket keszlet osztaly ugyanazt
   a stilust adja, csak a HTML-ben az oldalhoz illo nevet hasznaljuk. */
.vk-tortenetunk-szoveg, .vk-arspoetica-szoveg { line-height: 1.75; color: var(--vk-text-muted); margin: 28px 0; }
.vk-tortenetunk-szoveg p, .vk-arspoetica-szoveg p { margin: 0 0 16px; }
.vk-tortenetunk-idezet, .vk-arspoetica-idezet {
	margin: 24px 0; padding: 0 0 0 20px; border-left: 3px solid var(--vk-primary);
	font-family: var(--vk-font-display); font-size: 1.3rem; line-height: 1.5; color: var(--vk-text);
}
.vk-tortenetunk-idezet-kicsi, .vk-arspoetica-idezet-kicsi { font-size: 1.05rem; font-family: inherit; font-weight: 600; }
.vk-tortenetunk-video { margin: 32px 0; }
.vk-tortenetunk-video-hianyzik { color: var(--vk-text-muted); font-style: italic; margin: 32px 0; }

/* "Díjak" oldal - a lista a "dij" egyedi tartalomtipus admin-szerkesztheto
   bejegyzeseibol epul fel, evek szerint csoportositva. Lasd
   page-templates/template-dijak.php, inc/post-types.php (CPT + kezdo
   adatfeltoltes) es inc/meta-boxes.php (Ev mezo). */
.vk-dijak-kepek-hamarosan {
	display: flex; align-items: center; gap: 10px; margin: 20px 0 8px;
	padding: 12px 16px; border-radius: var(--vk-radius-small);
	background: var(--vk-bg-elevated); color: var(--vk-text-muted); font-size: 0.92rem;
}
.vk-dijak-kepek-hamarosan .vk-icon { flex-shrink: 0; width: 20px; height: 20px; color: var(--vk-primary); }
.vk-dijak-ev-blokk { margin-top: 36px; }
.vk-dijak-ev-cim {
	font-family: var(--vk-font-display); font-size: 1.4rem; color: var(--vk-primary);
	border-bottom: 1px solid var(--vk-border); padding-bottom: 8px; margin-bottom: 16px;
}
.vk-dijak-kartyak { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); }
.vk-dijak-kartya {
	display: flex; gap: 12px; align-items: flex-start;
	background: var(--vk-bg-elevated); border-radius: var(--vk-radius); padding: 16px;
}
.vk-dijak-kartya-ikon {
	flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: rgba(226,84,42,0.14); color: var(--vk-primary);
}
.vk-dijak-kartya-ikon .vk-icon { width: 18px; height: 18px; }
.vk-dijak-kartya-szoveg h3 { font-size: 0.98rem; margin: 0 0 4px; line-height: 1.35; }
.vk-dijak-kartya-szoveg p { margin: 0; color: var(--vk-text-muted); font-size: 0.9rem; }
/* Oklevel-/fotokartya, ha van kiemelt kep a dij bejegyzesnel - a
   felhasznalo kifejezett kerese szerint, ha majd tobb ilyen kep lesz,
   azokat szandekosan "osszevissza", egymashoz kozel, enyhen elforgatva
   szeretne latni (nem rendezett racsban), de MINDEGYIKNEL AZONOS
   paddinggel. A padding-et ezert egy kozos valtozoban tartjuk, es minden
   kartyan (elforgatastol fuggetlenul) ugyanazt hasznaljuk. */
:root { --vk-dijak-oklevel-padding: 8px; }
.vk-dijak-kartya-kep {
	flex-shrink: 0; width: 64px; height: 96px; overflow: hidden;
	border-radius: 4px; background: #fff; padding: var(--vk-dijak-oklevel-padding);
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.vk-dijak-kartya-kep img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vk-dijak-kartyak .vk-dijak-kartya:nth-child(3n+1) .vk-dijak-kartya-kep { transform: rotate(-3deg); }
.vk-dijak-kartyak .vk-dijak-kartya:nth-child(3n+2) .vk-dijak-kartya-kep { transform: rotate(2deg); }
.vk-dijak-kartyak .vk-dijak-kartya:nth-child(3n+3) .vk-dijak-kartya-kep { transform: rotate(-1.5deg); }

.vk-berlet-grid, .vk-allas-lista { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); margin-top: 24px; }
.vk-berlet-card, .vk-allas-card { background: var(--vk-bg-elevated); border-radius: var(--vk-radius); padding: 20px; }
.vk-allas-jelentkezes { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.vk-allas-email { color: var(--vk-text-muted); text-decoration: underline; font-size: 0.9rem; }
.vk-allas-email:hover { color: var(--vk-text); }
.vk-allas-nincs { color: var(--vk-text-muted); margin-top: 20px; }
.vk-berlet-ar { font-weight: 800; font-size: 1.2rem; margin-top: 12px; }

.vk-munkatars-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); }
.vk-munkatars-card {
	position: relative;
	display: flex; align-items: center; gap: 16px; text-align: left;
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: var(--vk-radius);
	padding: 18px 20px 18px 24px;
	box-shadow: var(--vk-shadow-soft);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	overflow: hidden;
	/* nevjegykartya-arany (kb. 1.75:1), de novekedhet a tartalommal */
	min-height: 108px;
}
.vk-munkatars-card::before {
	content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 6px;
	background: linear-gradient(180deg, var(--vk-primary), var(--vk-accent-2));
}
.vk-munkatars-card:hover { transform: translateY(-3px); box-shadow: var(--vk-shadow-strong); }
.vk-munkatars-photo { width: 68px; height: 68px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid var(--vk-border); }
.vk-munkatars-photo-placeholder {
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--vk-primary), var(--vk-accent-2)); color: #fff; font-weight: 800; font-size: 1.5rem;
	font-family: var(--vk-font-display);
}
.vk-munkatars-info { min-width: 0; }
.vk-munkatars-info h3 { margin: 0 0 2px; font-size: 1.1rem; font-family: var(--vk-font-display); font-weight: 400; letter-spacing: 0.01em; }
.vk-munkatars-beosztas { margin: 0 0 8px; color: var(--vk-text-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; }
.vk-munkatars-elerhetoseg { display: flex; flex-direction: column; gap: 4px; font-size: 0.85rem; }
.vk-munkatars-elerhetoseg a { color: var(--vk-text-muted); }
.vk-munkatars-elerhetoseg a:hover { color: var(--vk-text); }

/* Naptar oldal
   ------------------------------------------------------------------------ */
/* Szurok - minden elem sajat UI-t kap (korosztaly-csuszka, kapcsolo,
   legordulo), nincs nativ select/checkbox. */
.vk-naptar-szurok {
	display: flex; align-items: flex-end; gap: 20px 36px; flex-wrap: wrap;
	margin: 20px 0 24px; padding: 18px 22px;
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: var(--vk-radius);
}
.vk-szuro-blokk { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.vk-szuro-kor { flex: 1 1 320px; max-width: 460px; }
.vk-szuro-fejlec { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.vk-szuro-cimke { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vk-text-muted); }
.vk-szuro-ertek { font-weight: 800; color: var(--vk-primary); font-size: 0.95rem; }

/* Ketfogantyus (min-max) csuszka: ket atlatszo <input type=range> egymasra
   teve, a sin + kitoltes sajat elem. */
.vk-range { position: relative; height: 28px; margin: 0 11px; }
.vk-range-sin { position: absolute; left: 0; right: 0; top: 50%; height: 6px; margin-top: -3px; border-radius: 3px; background: var(--vk-border); }
.vk-range-kitoltes { position: absolute; top: 0; bottom: 0; left: 0; right: 0; border-radius: 3px; background: var(--vk-primary); }
.vk-range-input {
	position: absolute; left: -11px; width: calc(100% + 22px); top: 0; height: 28px; margin: 0; padding: 0;
	background: none; pointer-events: none; -webkit-appearance: none; appearance: none;
}
.vk-range-input::-webkit-slider-runnable-track { background: transparent; height: 28px; }
.vk-range-input::-moz-range-track { background: transparent; height: 28px; }
.vk-range-input::-webkit-slider-thumb {
	-webkit-appearance: none; appearance: none; pointer-events: auto; cursor: grab;
	width: 22px; height: 22px; margin-top: 3px; border-radius: 50%;
	background: #fff; border: 3px solid var(--vk-primary); box-shadow: 0 2px 6px rgba(0,0,0,0.35);
}
.vk-range-input::-moz-range-thumb {
	pointer-events: auto; cursor: grab; box-sizing: border-box;
	width: 22px; height: 22px; border-radius: 50%;
	background: #fff; border: 3px solid var(--vk-primary); box-shadow: 0 2px 6px rgba(0,0,0,0.35);
}
.vk-range-input:active::-webkit-slider-thumb { cursor: grabbing; transform: scale(1.1); }
.vk-range-input:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--vk-text); outline-offset: 2px; }
.vk-range-input:focus-visible::-moz-range-thumb { outline: 2px solid var(--vk-text); outline-offset: 2px; }
.vk-range-input { outline: none; }
.vk-range-skala { display: flex; justify-content: space-between; margin: 0 4px; font-size: 0.68rem; color: var(--vk-text-muted); }

/* Kapcsolo ("Bérletesek kizárása") */
.vk-kapcsolo { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; user-select: none; }
.vk-kapcsolo-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.vk-kapcsolo-ui {
	position: relative; flex-shrink: 0; width: 46px; height: 26px; border-radius: 13px;
	background: rgba(128,128,128,0.45); transition: background 0.2s ease;
}
.vk-kapcsolo-ui::after {
	content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%;
	background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.35); transition: transform 0.2s ease;
}
.vk-kapcsolo-input:checked + .vk-kapcsolo-ui { background: var(--vk-primary); }
.vk-kapcsolo-input:checked + .vk-kapcsolo-ui::after { transform: translateX(20px); }
.vk-kapcsolo-input:focus-visible + .vk-kapcsolo-ui { outline: 2px solid var(--vk-text); outline-offset: 2px; }
.vk-kapcsolo-szoveg { font-weight: 600; }

.vk-szuro-torles {
	margin-left: auto; padding: 8px 14px; border-radius: 999px; font-size: 0.85rem; font-weight: 600;
	background: transparent; color: var(--vk-text-muted); border: 1px solid var(--vk-border); cursor: pointer;
}
.vk-szuro-torles:hover { color: var(--vk-text); border-color: var(--vk-text-muted); }
.vk-szuro-torles[hidden] { display: none; }

/* Sajat legordulo (lasd calendar.js sajatLegordulo()) */
.vk-dropdown { position: relative; flex: 1 1 auto; max-width: 260px; }
.vk-dropdown-nativ { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.vk-dropdown-gomb {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%;
	padding: 9px 14px; border-radius: 999px; cursor: pointer;
	background: var(--vk-bg-elevated); color: var(--vk-text); border: 1px solid var(--vk-border);
	font-weight: 700; text-transform: capitalize; font-size: 0.95rem;
}
.vk-dropdown-gomb:hover, .vk-dropdown.is-nyitva .vk-dropdown-gomb { border-color: var(--vk-primary); }
.vk-dropdown-gomb:focus-visible { outline: 2px solid var(--vk-text); outline-offset: 2px; }
.vk-dropdown-nyil { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 0.2s ease; }
.vk-dropdown.is-nyitva .vk-dropdown-nyil { transform: rotate(225deg) translateY(-2px); }
.vk-dropdown-lista {
	position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 6px);
	max-height: 280px; overflow-y: auto; margin: 0; padding: 6px; list-style: none;
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-small);
	box-shadow: var(--vk-shadow-strong);
}
.vk-dropdown-lista[hidden] { display: none; }
.vk-dropdown-elem { padding: 9px 12px; border-radius: 6px; cursor: pointer; text-transform: capitalize; font-size: 0.92rem; }
.vk-dropdown-elem:hover, .vk-dropdown-elem.is-aktiv { background: var(--vk-bg-elevated-2); }
.vk-dropdown-elem.is-kivalasztott { color: var(--vk-primary); font-weight: 800; }

/* Honap-valto sor (felül, a nap-sáv fölött) - egy <select> + elozo/kovetkezo
   honap gomb, hogy gyorsan lehessen ugrani egy tavolabbi honapra a sáv
   végigpörgetése nélkül. */
.vk-naptar-honapvalto { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.vk-naptar-honap-select {
	flex: 1 1 auto; max-width: 260px; text-align: center; text-transform: capitalize;
	padding: 8px 12px; border-radius: 6px; background: var(--vk-bg-elevated); color: var(--vk-text);
	border: 1px solid var(--vk-border); font-weight: 700;
}
.vk-naptar-honap-nyil {
	flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); color: var(--vk-text);
}
.vk-naptar-honap-nyil:hover { background: var(--vk-bg-elevated-2); }

/* A vizszintesen gorgetheto nap-sáv: minden nap egy önálló, elonezeti
   popovert is inditó gomb-cella (lasd assets/js/calendar.js + preview.js).
   A böngeszo natív, sima gorgetéssel (touch/trackpad) IS mukodik, a
   nyilak pedig JS-sel, "amennyi nap eppen lathato" egysegekkel lapoznak. */
.vk-naptar-sav-wrap { display: flex; align-items: stretch; gap: 8px; margin-bottom: 10px; }
.vk-naptar-sav {
	flex: 1 1 auto; display: flex; gap: 8px; overflow-x: auto; scroll-behavior: smooth;
	padding: 4px 2px 10px; scrollbar-width: thin;
}
.vk-naptar-sav-nyil {
	flex: 0 0 auto; width: 36px; border-radius: 8px;
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); color: var(--vk-text);
	display: flex; align-items: center; justify-content: center;
}
.vk-naptar-sav-nyil:hover { background: var(--vk-bg-elevated-2); }

.vk-naptar-nap-cella {
	position: relative;
	flex: 0 0 auto; width: 68px; min-height: 96px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	background: var(--vk-bg-elevated); border-radius: 10px; padding: 10px 6px;
	border: 2px solid transparent; cursor: pointer; color: var(--vk-text);
	scroll-snap-align: start;
	transition: background 0.15s ease, border-color 0.15s ease;
	/* A tul-tartalom (hover-info) sose logjon ki a sajat dobozabol - a
	   nap-sáv gorgetheto (overflow-x:auto -> a masik tengelyen is
	   automatikusan "auto" lesz), szoval barmi ami a cella dobozan TUL
	   novekedne, levagodna/eltunne. Ezert a hover-hatas szandekosan a
	   sajat dobozon BELUL marad (lasd .vk-naptar-nap-info). */
	overflow: hidden;
}
.vk-naptar-sav { scroll-snap-type: x proximity; }
.vk-naptar-nap-alap { display: flex; flex-direction: column; align-items: center; gap: 2px; }
/* A honap-nev csak az adott honap elso lathato napjan jelenik meg -
   szoveg-tartalma a tobbi cellan is megvan, csak visibility:hidden (nem
   display:none), hogy a helyfoglalasa allando maradjon, es a nap-szamok
   sorban egy magassagban all(hat)nak. Igy a sav vizualisan "honap-
   fejezetekre" bomlik, mint egy jegyertekesito naptar-sáv. */
.vk-naptar-nap-honapnev { font-size: 0.62rem; font-weight: 700; text-transform: uppercase; color: var(--vk-primary); letter-spacing: 0.04em; }
.vk-naptar-nap-cella:not(.is-honap-eleje) .vk-naptar-nap-honapnev { visibility: hidden; }
.vk-naptar-nap-napnev { font-size: 0.72rem; color: var(--vk-text-muted); }
.vk-naptar-nap-szam { font-size: 1.3rem; font-weight: 800; }
.vk-naptar-nap-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-top: 2px; }

.vk-naptar-nap-cella.is-today { border-color: var(--vk-primary); }
/* Van (nem berletes) eloadas aznap: feltuno, kiemelt jeloles - sajat
   (narancs) szinvilagunkkal, nem a semleges sotet-arnyalatos kiemeléssel,
   hogy a napok kozott azonnal, elsore lathato legyen, melyiken van
   eloadas (hasonloan a mutatott mintakep beige-es kiemeleséhez). */
.vk-naptar-nap-cella.has-esemeny { background: rgba(226,84,42,0.16); box-shadow: 0 0 0 1px rgba(226,84,42,0.35) inset; }
/* Csak berletes eloadas van aznap: halványabb, visszafogottabb jeloles. */
.vk-naptar-nap-cella.is-csak-berletes { opacity: 0.55; }
.vk-naptar-nap-cella.is-csak-berletes:hover { opacity: 0.85; }

/* Hover eseten (csak egeres/hover-kepes eszkozon) a cella SAJAT dobozan
   BELUL valt at egy tomor info-szovegre ("kiemelodik, es megjelenik rajta
   par info") - NINCS tobbe kulon lebego ablak hoverre (az korabban "rossz
   helyen" jelent meg a szuk nap-savban). A teljes, reszletes elonezeti
   ablak (assets/js/preview.js) csak kattintasra/tappolasra nyilik meg -
   lasd a cella data-vk-preview-tap attributumat. */
.vk-naptar-nap-info {
	display: none;
	position: absolute; inset: 0;
	align-items: center; justify-content: center; text-align: center;
	padding: 6px; font-size: 0.66rem; font-weight: 700; line-height: 1.25;
	background: var(--vk-primary);
	color: #fff;
}
@media (hover: hover) and (pointer: fine) {
	.vk-naptar-nap-cella.has-esemeny:hover,
	.vk-naptar-nap-cella.is-csak-berletes:hover {
		border-color: var(--vk-primary);
	}
	/* Csak akkor valtunk info-nezetre, ha a cellanak van egyaltalan mit
	   mutatnia (van .vk-naptar-nap-info tartalma) - ures napok hoverre
	   valtozatlanok maradnak, nem "urulnek ki". */
	.vk-naptar-nap-cella:hover .vk-naptar-nap-info { display: flex; }
	.vk-naptar-nap-cella.has-esemeny:hover .vk-naptar-nap-alap,
	.vk-naptar-nap-cella.is-csak-berletes:hover .vk-naptar-nap-alap { display: none; }
}

.vk-naptar-jelmagyarazat { display: flex; align-items: center; gap: 8px 18px; flex-wrap: wrap; font-size: 0.82rem; color: var(--vk-text-muted); margin: 0 0 24px; }
.vk-naptar-jel { display: inline-block; width: 14px; height: 14px; border-radius: 4px; margin-right: -10px; }
.vk-naptar-jel-esemeny { background: rgba(226,84,42,0.16); box-shadow: 0 0 0 1px rgba(226,84,42,0.35) inset; }
.vk-naptar-jel-berletes { background: var(--vk-bg-elevated); opacity: 0.55; }

/* Eredmeny-racs (a szurt idopontok poszter-kartyakent, nem szoveges
   listasorkent) - lasd assets/js/calendar.js renderLista(). Ugyanazt a
   kep+korosztaly-jelveny nyelvet hasznalja, mint a fooldali poszter-
   kartyak, csak fix (nem lapozhato) racs-elrendezesben. */
.vk-naptar-eredmeny-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px 16px; margin-top: 8px; }
.vk-naptar-eredmeny-card { display: block; color: inherit; text-decoration: none; border-radius: var(--vk-radius); overflow: hidden; background: var(--vk-secondary); box-shadow: var(--vk-shadow-soft); transition: transform 0.2s ease; }
.vk-naptar-eredmeny-card:hover { transform: translateY(-4px); }
.vk-naptar-eredmeny-media { position: relative; aspect-ratio: 2/3; background: var(--vk-bg-elevated); overflow: hidden; }
.vk-naptar-eredmeny-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vk-naptar-eredmeny-placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--vk-secondary), var(--vk-bg-elevated)); }
.vk-naptar-eredmeny-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.85) 100%); }
.vk-naptar-eredmeny-badge { position: absolute; top: 8px; left: 8px; width: 30px; height: 30px; font-size: 0.62rem; border-width: 1.5px; }
.vk-naptar-eredmeny-allapot {
	position: absolute; top: 8px; right: 8px; z-index: 1;
	padding: 3px 8px; border-radius: 20px; font-size: 0.66rem; font-weight: 700;
	background: rgba(226,84,42,0.9); color: #fff;
}
.vk-naptar-eredmeny-allapot.is-elfogyott { background: rgba(0,0,0,0.6); }
.vk-naptar-eredmeny-body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 3px; }
.vk-naptar-eredmeny-datum { font-size: 0.74rem; font-weight: 700; color: var(--vk-primary); }
.vk-naptar-eredmeny-cim { font-size: 0.88rem; font-weight: 600; line-height: 1.3; }

/* Cookie banner
   ------------------------------------------------------------------------ */
.vk-cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; background: var(--vk-bg-elevated); border-top: 1px solid var(--vk-border); }
.vk-cookie-banner[hidden] { display: none; }
.vk-cookie-banner-inner { max-width: var(--vk-max-width); margin: 0 auto; padding: 18px 20px; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.vk-cookie-banner-inner p { flex: 1; min-width: 240px; margin: 0; color: var(--vk-text-muted); font-size: 0.9rem; }
.vk-cookie-banner-inner a { color: var(--vk-primary); text-decoration: underline; }
.vk-cookie-banner-actions { display: flex; gap: 10px; }

/* Akadalymentesitesi widget
   ------------------------------------------------------------------------ */
/* z-index 810 (NEM 700): a suti-elfogadó sáv (.vk-cookie-banner) z-indexe
   800, es also-teljes-szelesseben, opak hatterrel fedi a viewport aljat -
   ez korabban teljesen elfedte a jobb-alul allo akadalymentesitesi gombot,
   amig a latogato el nem fogadta/zarta be a sutikat (foleg mobilon tunt fel,
   ahol a sav tobb sorra torik es igy magasabb). Igy a gomb mindig a savon
   "felett lebegve" lathato marad. */
.vk-a11y-widget { position: fixed; right: 20px; bottom: 20px; z-index: 810; }
.vk-a11y-toggle {
	width: 54px; height: 54px; border-radius: 50%;
	background: linear-gradient(135deg, var(--vk-primary), var(--vk-primary-dark)); color: #fff; border: none;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}
.vk-a11y-toggle .vk-icon { width: 26px; height: 26px; }
.vk-a11y-panel { position: absolute; right: 0; bottom: 66px; width: 260px; background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: 10px; padding: 14px; }
.vk-a11y-panel[hidden] { display: none; }
.vk-a11y-panel h2 { font-size: 1rem; margin: 0 0 10px; }
.vk-a11y-option { display: block; width: 100%; text-align: left; background: none; border: 1px solid var(--vk-border); border-radius: 6px; padding: 8px 10px; margin-bottom: 6px; color: var(--vk-text); }
.vk-a11y-option:hover { background: var(--vk-secondary); }
.vk-a11y-reset { color: var(--vk-primary); }

html.vk-a11y-contrast body { background: #000; color: #fff; }
html.vk-a11y-contrast .vk-btn-primary { background: #ffcc00; color: #000; }
html.vk-a11y-underline a { text-decoration: underline !important; }
html.vk-a11y-dyslexia body { font-family: "Comic Sans MS", "Comic Sans", cursive, sans-serif; letter-spacing: 0.02em; }
html.vk-a11y-reduce-motion *, html.vk-a11y-reduce-motion *::before, html.vk-a11y-reduce-motion *::after { animation: none !important; transition: none !important; }
html.vk-a11y-big-cursor, html.vk-a11y-big-cursor * { cursor: pointer !important; }

/* Beagyazas-facade (terkep, 3D setalink)
   ------------------------------------------------------------------------ */
.vk-embed-facade {
	position: relative; aspect-ratio: 16/9; border-radius: var(--vk-radius); overflow: hidden;
	background: var(--vk-secondary); display: flex; align-items: center; justify-content: center;
}
.vk-embed-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vk-embed-facade-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; }

/* Lablec
   ------------------------------------------------------------------------ */
.vk-site-footer { background: var(--vk-bg-elevated); border-top: 1px solid var(--vk-border); margin-top: 32px; padding: 36px 20px 20px; }
/* Egyenlo szelessegu oszlopok - igy a logo/ikonok oszlopa nem kap
   aranytalanul sok (es nagyreszt kihasznalatlan) helyet a tobbi mellett. */
/* Az oszlopok a sajat tartalmukhoz igazodo (max-content) szelesseguek,
   a fennmarado helyet pedig a "justify-content: space-between" osztja
   szet KOZTUK (a "gap" csak minimum) - igy a logo/ikon oszlop nem foglal
   le feleslegesen sok, kihasznalatlan helyet, es a tobbi blokk kozott
   mindig annyi ter van, amennyi a rendelkezesre allo szelessegbol kifer. */
.vk-footer-top { max-width: var(--vk-max-width); margin: 0 auto; display: grid; grid-template-columns: repeat(5, max-content); justify-content: space-between; align-items: start; gap: 24px; }
.vk-footer-col h3 { font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vk-text-muted); margin-bottom: 12px; }
.vk-footer-col ul li { margin-bottom: 8px; }
.vk-footer-col-logo img { height: 72px; width: auto; max-width: 100%; }
.vk-footer-social { display: flex; gap: 10px; margin-top: 16px; }
.vk-footer-social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 50%;
	background: rgba(255,255,255,0.08); color: var(--vk-text-muted);
}
.vk-footer-social a:hover { background: rgba(255,255,255,0.16); color: var(--vk-text); }
.vk-footer-social .vk-icon { width: 18px; height: 18px; }
.vk-footer-contact li { display: flex; align-items: center; gap: 6px; }
.vk-nyitvatartas-lista { display: flex; flex-direction: column; gap: 2px; margin: 0 0 6px; }
.vk-nyitvatartas-sor {
	display: flex; justify-content: space-between; gap: 12px;
	padding: 5px 0; border-bottom: 1px dashed rgba(255,255,255,0.08); font-size: 0.9rem;
}
.vk-nyitvatartas-sor:last-child { border-bottom: none; }
.vk-nyitvatartas-nap { color: var(--vk-text-muted); }
.vk-nyitvatartas-ido { font-weight: 600; }
.vk-nyitvatartas-kiegeszites { font-size: 0.85rem; color: var(--vk-text-muted); margin-top: 8px; }
/* A terkep a teljes (fooldalnyi) szelesseget vegye fel, a 3D setalink
   viszont marad a szukebb, kozepre igazitott dobozban. */
.vk-footer-map { max-width: var(--vk-max-width); margin: 20px auto 0; }
.vk-footer-3d-tour { max-width: 560px; margin: 20px auto 0; }
.vk-live-map { position: relative; width: 100%; height: 200px; border-radius: var(--vk-radius); overflow: hidden; }
.vk-live-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vk-kapcsolat-terkep { margin-top: 32px; }
/* A hirlevel mostantol a lablec-racs sajat oszlopa, nem kulon, teljes
   szelessegu blokk - igy a lablec nem "agazik szet" annyira. */
.vk-footer-col-newsletter {
	background: var(--vk-bg); border: 1px solid var(--vk-border);
	border-radius: var(--vk-radius); padding: 18px;
	align-self: start;
}
.vk-footer-col-newsletter h3 { margin-top: 0; }
.vk-newsletter-form { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.vk-newsletter-form input { padding: 12px 14px; border-radius: 6px; border: 1px solid var(--vk-border); background: var(--vk-bg-elevated); color: var(--vk-text); }
.vk-newsletter-message { margin-top: 8px; font-size: 0.9rem; color: var(--vk-text-muted); }

/* Tamogatoi logok - a fooldal aljan, nem a lablecben (lasd sponsors-section.php) */
.vk-sponsors-section { max-width: var(--vk-max-width); margin: 0 auto var(--vk-section-gap); padding: 0 20px; text-align: center; }
.vk-footer-sponsors-list { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; justify-content: space-evenly; margin-top: 16px; }
.vk-footer-sponsors-list img {
	height: 56px; width: auto; max-width: 160px;
	object-fit: contain; object-position: center;
	transition: transform 0.2s ease;
}
.vk-footer-sponsors-list a:hover img, .vk-footer-sponsors-list span:hover img,
.vk-footer-sponsors-list a:focus-visible img { transform: scale(1.12); }
.vk-footer-sponsors-list a, .vk-footer-sponsors-list span { display: inline-flex; align-items: center; }
.vk-footer-bottom {
	max-width: var(--vk-max-width); margin: 20px auto 0; padding-top: 12px; border-top: 1px solid var(--vk-border);
	font-size: 0.8rem; color: var(--vk-text-muted);
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px;
}
.vk-footer-organizer-link { color: var(--vk-text-muted); opacity: 0.35; padding: 0 6px; }
.vk-footer-organizer-link:hover { opacity: 1; }
/* Keszito-hivatkozas (Vespera) - a jogi/szervezoi sorral egy magassagban,
   annak jobb oldalan; sajat logokep + szoveg, kulso linkkent. */
.vk-footer-credit {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--vk-text-muted); text-decoration: none; font-size: 0.8rem;
	opacity: 0.7; transition: opacity 0.2s ease;
}
.vk-footer-credit:hover { opacity: 1; color: var(--vk-text); }
.vk-footer-credit-logo { height: 18px; width: auto; display: block; }

/* Reszponziv
   ------------------------------------------------------------------------ */
@media (max-width: 960px) {
	.vk-footer-top { grid-template-columns: 1fr 1fr; }
	.vk-news-grid, .vk-news-grid-archive { column-count: 2; }
}

@media (max-width: 780px) {
	:root { --vk-section-gap: 32px; }
	.vk-nav-toggle { display: flex; }
	.vk-site-logo img { height: 60px; }
	.vk-site-header.is-scrolled .vk-site-logo img { height: 40px; }
	.vk-theme-toggle-mobile { display: inline-flex; grid-column: 1; justify-self: start; }
	.vk-header-actions .vk-theme-toggle-desktop,
	.vk-header-actions .vk-search-toggle { display: none; }
	.vk-primary-nav {
		position: fixed; top: var(--vk-header-height); left: 0; right: 0; bottom: 0;
		background: var(--vk-bg);
		/* jobbrol csusszon be, ne balrol */
		transform: translateX(100%); transition: transform 0.25s ease;
		overflow-y: auto; padding: 20px;
		/* KRITIKUS: a .vk-primary-nav asztali alapszabalya "justify-self:start"
		   (grid-item igazitas), ami MEG AKKOR IS ervenyben marad, amikor a
		   nav mar position:fixed - a bongeszo emiatt a "left:0;right:0"-t
		   figyelmen kivul hagyva a TARTALOM sajat szelessegere zsugoritja
		   (shrink-to-fit), nem a teljes szelessegre nyujtja. Enelkul a
		   translateX(100%) csak a (jóval keskenyebb) sajat szelessegevel
		   tolodott el, ezert a menu "beragadt" felig lathatoan a kepernyo
		   kozepen, meg zart allapotban is. Ujra teljes szelessegure kell
		   nyujtani. */
		justify-self: stretch;
	}
	.vk-primary-nav-search { display: block; margin-bottom: 12px; }
	.vk-primary-nav-search .vk-search-toggle {
		display: flex; width: 100%; height: auto; justify-content: flex-start;
		gap: 10px; padding: 10px 12px; border-radius: var(--vk-radius-small);
		background: rgba(255,255,255,0.06); font-weight: 600; font-size: 0.95rem;
	}
	.vk-primary-nav.is-open { transform: translateX(0); }
	.vk-primary-nav > ul { flex-direction: column; }
	.vk-primary-nav > ul > li.vk-nav-mobile-only { display: flex; }
	.vk-header-cta-musor { display: none; }
	.vk-primary-nav-social {
		display: flex; gap: 20px; margin-top: 24px; padding-top: 18px;
		border-top: 1px solid var(--vk-border);
	}
	.vk-primary-nav-social a { display: inline-flex; color: var(--vk-text-muted); }
	.vk-primary-nav-social a:hover { color: var(--vk-text); }
	.vk-primary-nav-social .vk-icon { width: 24px; height: 24px; }
	.vk-has-submenu .vk-submenu { position: static; display: none; box-shadow: none; }
	.vk-has-submenu.is-open .vk-submenu { display: block; }
	.vk-footer-top { grid-template-columns: 1fr; }
	.vk-news-grid, .vk-news-grid-archive { column-count: 1; }
	.vk-szinesz-header { flex-direction: column; }
	.vk-szinesz-photo img { width: 100%; }
	.vk-naptar-nap-cella { width: 56px; min-height: 80px; padding: 8px 4px; }
	.vk-naptar-nap-szam { font-size: 1rem; }
	.vk-dropdown { max-width: 200px; }
	.vk-naptar-szurok { padding: 16px; }
	.vk-szuro-torles { margin-left: 0; }
	/* Ha van rovidebb mobil-cim megadva (lasd vk_render_eloadas_slider()
	   $cim_mobil parametere), mobilon azt mutatjuk, hogy a mellette allo
	   nyil-gombok elferjenek. */
	.vk-section-title-full { display: none; }
	.vk-section-title-mobil { display: inline; }
}
@media (min-width: 781px) {
	.vk-section-title-mobil { display: none; }
}

/* Sajat lightbox (tartalomba illesztett/galeria kepekhez) - a WP core
   sajat lightbox-a nem kapja meg a block-library stilusait ebben a temaban,
   ezert sajat, egyszeru valtozatot hasznalunk: nem teljes kepernyos, 50%-os
   elsotetitett hatterrel, es a hatterre kattintva bezarodik. */
.vk-lightbox-overlay {
	position: fixed; inset: 0; z-index: 950;
	background: rgba(0,0,0,0.5);
	display: flex; align-items: center; justify-content: center;
	padding: 40px;
}
.vk-lightbox-overlay[hidden] { display: none; }
.vk-lightbox-img { max-width: min(90vw, 1100px); max-height: 85vh; width: auto; height: auto; border-radius: var(--vk-radius); box-shadow: var(--vk-shadow-strong); }
.vk-lightbox-close {
	position: absolute; top: 20px; right: 20px; z-index: 1;
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(11,11,13,0.6); border: 1px solid rgba(255,255,255,0.3); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.vk-lightbox-close:hover { background: rgba(11,11,13,0.85); }
/* A galeria/tartalom-kepek kattinthatok legyenek (a JS ezekre figyel). */
.vk-hir-galeria img, .vk-hir-cimkep img,
.vk-page-tartalom img, .vk-hir-tartalom img,
.vk-szinesz-bemutatkozo img, .vk-eloadas-leiras img,
.vk-gallery-image {
	cursor: zoom-in;
}

/* "Netflix-szeru" elonezeti popover - kozos elem (footer.php), amit a
   assets/js/preview.js tolt fel es pozicionaz a hover/tap-elt kartya
   melle. Lasd meg .vk-naptar-* szabalyokat a naptar oldal uj, nap-savos
   megjeleniteséhez, ahol ugyanezt hasznaljuk.
   ------------------------------------------------------------------------ */
.vk-preview-popover {
	position: fixed; z-index: 920; width: 360px; max-width: calc(100vw - 24px);
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border); border-radius: var(--vk-radius);
	box-shadow: var(--vk-shadow-strong);
	opacity: 0; transform: translateY(6px) scale(0.98);
	transition: opacity 0.15s ease, transform 0.15s ease;
	pointer-events: none;
	overflow: hidden;
}
.vk-preview-popover[hidden] { display: none; }
.vk-preview-popover.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.vk-preview-media { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.vk-preview-image, .vk-preview-video-slot, .vk-preview-video-slot iframe {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0;
}
.vk-preview-korosztaly { position: absolute; top: 10px; left: 10px; width: 34px; height: 34px; font-size: 0.72rem; }
.vk-preview-bemutato { position: absolute; top: 10px; right: 10px; }
.vk-preview-body { padding: 14px 16px 16px; }
.vk-preview-title { font-family: var(--vk-font-display); font-size: 1.05rem; margin: 0 0 6px; }
.vk-preview-meta { font-size: 0.82rem; color: var(--vk-text-muted); margin-bottom: 8px; }
.vk-preview-leiras { font-size: 0.85rem; line-height: 1.5; margin: 0 0 10px; color: var(--vk-text); }
.vk-preview-idopontok { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.vk-preview-link { display: inline-block; }
.vk-preview-link[hidden] { display: none; }

/* Tobb, kulonbozo eloadashoz tartozo idopont ugyanazon a napon (naptar
   nap-cella) - ilyenkor a kep/video resz elrejtve, es a "Tovább" gomb
   helyett soronkent kattinthato mini-lista jelenik meg. */
.vk-preview-popover.is-multi .vk-preview-media { display: none; }
.vk-preview-idopontok-multi { display: flex; flex-direction: column; gap: 2px; margin-bottom: 0; }
.vk-preview-multi-item {
	display: flex; align-items: center; gap: 10px;
	padding: 8px 6px; border-radius: 6px; color: var(--vk-text);
	border-bottom: 1px solid var(--vk-border);
}
.vk-preview-multi-item:last-child { border-bottom: 0; }
.vk-preview-multi-item:hover { background: rgba(127,127,127,0.1); }
.vk-preview-multi-time {
	flex: 0 0 auto; font-weight: 700; font-size: 0.82rem; padding: 3px 8px; border-radius: 20px;
	background: var(--vk-badge-color, #666); color: #fff;
}
.vk-preview-multi-title { flex: 1 1 auto; font-size: 0.88rem; }
.vk-preview-multi-status { flex: 0 0 auto; font-size: 0.75rem; color: var(--vk-text-muted); }
.vk-preview-close {
	position: absolute; top: 8px; right: 8px; z-index: 3;
	width: 30px; height: 30px; border-radius: 50%;
	background: rgba(11,11,13,0.55); border: 1px solid rgba(255,255,255,0.3); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.vk-preview-close:hover { background: rgba(11,11,13,0.85); }
/* Erintheto/hover-kepes eszkoztol fuggetlenul a bezaro gomb mindig
   hasznalhato legyen, de asztalon (ahol egyszerű mouseleave-re is
   bezarodik) kevesbe van ra szukseg - kicsit halvanyabban jelenik meg,
   amig nem hoverelunk ra. */
@media (hover: hover) and (pointer: fine) {
	.vk-preview-close { opacity: 0.7; }
	.vk-preview-close:hover { opacity: 1; }
}

/* Poszter-kartya "gyorsnezet" modal (assets/js/quickview.js) - kattintasra
   nyilik meg, es AJAX-szal betoltott, a rendes eloadas-aloldallal
   MEGEGYEZO tartalmat (.vk-eloadas-single) jelenit meg egy kozepre
   igazitott, gorgethetó ablakban. Csak asztalon (hover-kepes eszkozon)
   hasznalt - lasd quickview.js.
   ------------------------------------------------------------------------ */
body.vk-quickview-open { overflow: hidden; }
.vk-quickview-modal {
	position: fixed; inset: 0; z-index: 930;
	display: flex; align-items: center; justify-content: center;
	padding: 4vh 16px;
}
.vk-quickview-modal[hidden] { display: none; }
.vk-quickview-backdrop { position: absolute; inset: 0; background: rgba(5,5,6,0.8); }
.vk-quickview-panel {
	position: relative; z-index: 1;
	width: 100%; max-width: 960px; max-height: 90vh;
	display: flex; flex-direction: column;
	background: var(--vk-bg-elevated); border-radius: var(--vk-radius);
	box-shadow: var(--vk-shadow-strong);
	overflow: hidden;
}
/* A bezaro gomb a (nem gorgo) panel-en all, igy a .vk-quickview-body
   belsejenek gorgetesekor is mindig a helyen marad. */
.vk-quickview-close {
	position: absolute; top: 14px; right: 14px; z-index: 5;
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(11,11,13,0.65); border: 1px solid rgba(255,255,255,0.3); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.vk-quickview-close:hover { background: rgba(11,11,13,0.9); }
.vk-quickview-loading { padding: 90px 20px; text-align: center; color: var(--vk-text-muted); }
.vk-quickview-loading[hidden] { display: none; }
.vk-quickview-body { overflow-y: auto; }
.vk-quickview-error { padding: 40px 24px; text-align: center; color: var(--vk-text-muted); }
/* A modalba toltott tartalom ugyanaz a .vk-eloadas-single markup, mint a
   rendes aloldalon - ott a max-width/margin:0 auto a teljes lapszelesseget
   feltetelezi; a modalban ehelyett a panel sajat szelessegét toltse ki, es
   ne kapjon felesleges also paddingot (azt a panel/body mar biztositja). */
.vk-quickview-body .vk-eloadas-single { max-width: none; padding: 56px 24px 32px; }
.vk-quickview-body .vk-eloadas-media-gallery { margin: 0 0 24px; border-radius: var(--vk-radius); }

/* Poszter-kartyakbol hoverre "kinovo" lebego elonezeti kartya
   (assets/js/poster-hover.js) - kifejezetten position:fixed, hogy
   SZABADON kinohessen a vizszintesen gorgetheto poszter-sorbol (es akar
   a felette allo szekcio-cim fole is), pontosan ugy, ahogy a felhasznalo
   altal mutatott Netflix-mintaban a kiemelt elem teszi. Csak asztalon
   (hover-kepes eszkozon) hozzuk letre/toltjuk fel - lasd poster-hover.js.
   z-index 600: a fejlec (500) fole kell kerulnie, de a naptar popover
   (920)/gyorsnezet modal (930)/lightbox (950) ala - azok kattintasra
   nyilnak, mar a lebego kartya elrejtese utan.
   ------------------------------------------------------------------------ */
.vk-poster-hover-card {
	position: fixed; z-index: 600; width: 260px;
	background: var(--vk-bg-elevated); border-radius: var(--vk-radius);
	box-shadow: var(--vk-shadow-strong);
	opacity: 0; transform: scale(0.94); pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease;
	overflow: hidden; cursor: pointer;
}
.vk-poster-hover-card[hidden] { display: none; }
.vk-poster-hover-card.is-visible { opacity: 1; transform: scale(1); pointer-events: auto; }
.vk-poster-hover-media { position: relative; width: 100%; aspect-ratio: 2/3; background: #000; overflow: hidden; }
.vk-poster-hover-image, .vk-poster-hover-video-slot, .vk-poster-hover-video-slot iframe {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; pointer-events: none;
}
.vk-poster-hover-video-slot:empty { display: none; }
.vk-poster-hover-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.88) 100%); pointer-events: none; }
.vk-poster-hover-badge { position: absolute; top: 10px; left: 10px; width: 30px; height: 30px; font-size: 0.65rem; border-width: 1.5px; }
.vk-poster-hover-bemutato { position: absolute; top: 10px; right: 10px; }
.vk-poster-hover-title-media {
	position: absolute; left: 12px; right: 12px; bottom: 10px; margin: 0;
	font-family: var(--vk-font-display); font-size: 1rem; font-weight: 700; color: #fff;
	text-shadow: 0 2px 6px rgba(0,0,0,0.9), 0 0 4px rgba(0,0,0,0.85);
}
.vk-poster-hover-body { padding: 12px 14px 14px; }
.vk-poster-hover-meta-chips-row { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 0.78rem; color: var(--vk-text-muted); margin-bottom: 8px; }
.vk-poster-hover-meta-chips-row[hidden] { display: none; }
.vk-poster-hover-meta-chips-row .vk-icon { width: 12px; height: 12px; vertical-align: -1px; margin-right: 1px; }
.vk-poster-hover-idopontok { display: flex; flex-wrap: wrap; gap: 6px; }

/* 404 oldal
   ------------------------------------------------------------------------ */
.vk-404 {
	max-width: 560px;
	margin: 10vh auto;
	padding: 48px 32px;
	text-align: center;
	background: var(--vk-bg-elevated);
	border-radius: var(--vk-radius);
	box-shadow: var(--vk-shadow-strong);
}
.vk-404-code {
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 8px;
	background: linear-gradient(120deg, var(--vk-primary), var(--vk-accent-2));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.vk-404 h1 { font-size: 1.4rem; margin: 0 0 12px; }
.vk-404 p { color: var(--vk-text-muted); margin: 0 0 28px; }
.vk-404 .vk-icon-404 { width: 56px; height: 56px; margin: 0 auto 16px; color: var(--vk-accent); }

/* Alapertelmezett (feltoltott) oldaltartalom: cimsorok, listak, linkek. */
.vk-page-tartalom h2 { font-size: 1.35rem; line-height: 1.25; margin: 32px 0 12px; color: var(--vk-text); }
.vk-page-tartalom h3 { font-size: 1.1rem; margin: 24px 0 8px; color: var(--vk-text); }
.vk-page-tartalom p { margin: 0 0 14px; }
.vk-page-tartalom ul { list-style: disc; padding-left: 1.4em; margin: 0 0 16px; }
.vk-page-tartalom li { margin-bottom: 6px; }
.vk-page-tartalom a { color: var(--vk-primary); text-decoration: underline; text-underline-offset: 2px; }
.vk-page-tartalom blockquote { margin: 16px 0; padding: 4px 0 4px 16px; border-left: 3px solid var(--vk-primary); }

/* "Nézőink írták" - vélemény-kártyák
   ------------------------------------------------------------------------ */
.vk-velemenyek-lead { color: var(--vk-text-muted); max-width: 720px; margin: 0 0 28px; line-height: 1.6; }
.vk-velemeny-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; align-items: stretch; }
.vk-velemeny-kartya {
	position: relative; display: flex; flex-direction: column; gap: 16px;
	background: var(--vk-bg-elevated); border: 1px solid var(--vk-border);
	border-radius: var(--vk-radius); padding: 24px 22px 20px;
	box-shadow: var(--vk-shadow-soft); transition: transform 0.2s ease, border-color 0.2s ease;
}
.vk-velemeny-kartya:hover { transform: translateY(-3px); border-color: var(--vk-primary); }
.vk-velemeny-idezet { display: inline-flex; width: 40px; height: 40px; border-radius: 50%; align-items: center; justify-content: center; background: rgba(226,84,42,0.14); color: var(--vk-primary); }
.vk-velemeny-idezet .vk-icon { width: 20px; height: 20px; }
.vk-velemeny-szoveg { flex: 1; line-height: 1.65; color: var(--vk-text); font-size: 0.97rem; }
.vk-velemeny-szoveg p { margin: 0 0 10px; }
.vk-velemeny-szoveg p:last-child { margin-bottom: 0; }
.vk-velemeny-lab { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--vk-border); }
.vk-velemeny-avatar {
	flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--vk-primary); color: #fff; font-weight: 800; font-size: 1.05rem;
}
.vk-velemeny-szerzo { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.vk-velemeny-nev { font-size: 0.95rem; }
.vk-velemeny-szerep, .vk-velemeny-meta { font-size: 0.8rem; color: var(--vk-text-muted); }
.vk-velemeny-meta a { color: var(--vk-primary); text-decoration: underline; text-underline-offset: 2px; }
.vk-velemenyek-cta { margin: 32px 0 0; color: var(--vk-text-muted); }
.vk-velemenyek-cta a { color: var(--vk-primary); text-decoration: underline; text-underline-offset: 2px; }
