/*
Játékszín — új design system (navy / cream / gold / crimson).
Forrás: info/tokens/*.css + info/Jatekszin Homepage.dc.html.
Minden szelektor .jx- prefixű, hogy a még nem migrált (Tailwind-alapú) sablonokat ne érintse.
*/

/* ---------------------------------------------------------------------- */
/* Tokens (info/tokens/*)                                                  */
/* ---------------------------------------------------------------------- */
:root{
  --jx-navy-900:#0B1628;
  --jx-navy-800:#101E36;
  --jx-navy-700:#14213D;
  --jx-navy-600:#1E2F50;

  --jx-gold-500:#C5A84A;
  --jx-gold-300:#E8D5A3;
  --jx-gold-700:#8A7326;

  --jx-crimson-600:#8E1B2B;
  --jx-crimson-500:#A82334;

  --jx-cream-100:#FCFAF6;
  --jx-cream-200:#F7F3EC;
  --jx-cream-300:#EDE8DF;
  --jx-white:#FFFFFF;

  --jx-ink-900:#1C1A18;
  --jx-ink-500:#7A7570;

  --jx-tint-ember:#180A06;
  --jx-tint-amber:#1C1205;
  --jx-tint-teal:#061518;
  --jx-tint-plum:#160A14;
  --jx-tint-indigo:#0A1020;
  --jx-tint-moss:#0D1507;
  --jx-tint-violet:#160C1E;
  --jx-tint-slate:#101E36;

  --jx-surface-page:var(--jx-navy-900);
  --jx-surface-dark-alt:var(--jx-navy-700);
  --jx-surface-light:var(--jx-cream-200);
  --jx-surface-card:var(--jx-white);
  --jx-surface-card-quiet:var(--jx-cream-100);

  --jx-text-on-dark:var(--jx-white);
  --jx-text-on-dark-muted:rgba(255,255,255,.48);
  --jx-text-on-dark-quiet:rgba(255,255,255,.32);
  --jx-text-on-light:var(--jx-ink-900);
  --jx-text-on-light-muted:var(--jx-ink-500);
  --jx-text-heading-light:var(--jx-navy-900);

  --jx-accent:var(--jx-gold-500);
  --jx-accent-soft:var(--jx-gold-300);
  --jx-accent-on-light:var(--jx-gold-700);
  --jx-action:var(--jx-crimson-600);
  --jx-action-hover:var(--jx-crimson-500);
  --jx-action-text:var(--jx-white);

  --jx-gold-a10:rgba(197,168,74,.10);
  --jx-gold-a16:rgba(197,168,74,.16);
  --jx-gold-a22:rgba(197,168,74,.22);
  --jx-gold-a30:rgba(197,168,74,.30);
  --jx-gold-a45:rgba(197,168,74,.45);
  --jx-white-a07:rgba(255,255,255,.07);
  --jx-white-a16:rgba(255,255,255,.16);
  --jx-white-a22:rgba(255,255,255,.22);
  --jx-crimson-a24:rgba(142,27,43,.24);

  --jx-font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --jx-font-ui:'DM Sans',system-ui,-apple-system,sans-serif;

  --jx-size-hero:90px;
  --jx-size-display-2:74px;
  --jx-size-display-3:54px;
  --jx-size-display-4:38px;
  --jx-size-display-5:34px;
  --jx-size-display-7:23px;

  --jx-weight-display-light:300;
  --jx-weight-display-mid:500;
  --jx-weight-ui-light:300;
  --jx-weight-ui:400;
  --jx-weight-ui-mid:500;

  --jx-leading-display:1.06;
  --jx-leading-quote:1.52;

  /* Folyószöveg — PONTOSAN három szint van, minden törzsszöveg ezek
     egyikét használja. Korábban ugyanerre a szerepre 27 különböző
     méret/sorköz kombináció élt (12,5px/1,7 … 17px/1,85), ami oldalanként
     más ritmust adott. Új szövegblokknál ezek közül kell választani, ne
     szülessen negyedik érték:
       note — képaláírás, lábjegyzet, kártyán belüli apró magyarázat
       body — alapértelmezett törzsszöveg
       lead — bevezető/kiemelt bekezdés (hero-alcím, cikktörzs) */
  --jx-size-note:13px;
  --jx-leading-note:1.75;
  --jx-size-body:15px;
  --jx-leading-body:1.8;
  --jx-size-lead:17px;
  --jx-leading-lead:1.85;

  --jx-track-display:-0.01em;
  --jx-track-eyebrow:0.24em;
  --jx-track-kicker:0.22em;
  --jx-track-nav:0.16em;
  --jx-track-label:0.14em;
  --jx-track-button:0.13em;
  --jx-track-logo:0.14em;

  --jx-space-1:4px; --jx-space-2:8px; --jx-space-3:12px; --jx-space-4:16px;
  --jx-space-5:22px; --jx-space-6:26px; --jx-space-7:32px; --jx-space-8:40px;
  --jx-space-9:52px; --jx-space-10:60px; --jx-space-11:74px; --jx-space-12:88px;
  --jx-space-13:104px; --jx-space-14:120px;

  --jx-section-y-light:104px;
  --jx-section-y-dark:120px;
  --jx-section-y-tablet:72px;
  --jx-section-y-mobile:60px;

  --jx-container:1500px;
  --jx-gutter:88px;
  --jx-gutter-tablet:40px;
  --jx-gutter-mobile:24px;
  --jx-pad-inline:max(var(--jx-gutter),calc((100% - var(--jx-container)) / 2));

  --jx-line-gold:1px solid var(--jx-gold-a22);
  --jx-line-gold-faint:1px solid var(--jx-gold-a10);
  --jx-line-cream:1px solid var(--jx-cream-300);
  /* Arany hajszálvonal krém háttéren (chipkeret, link-aláhúzás). Korábban
     négy különböző alfa élt ugyanerre a szerepre: .28 / .3 / .34 / .4. */
  --jx-line-gold-on-light:1px solid rgba(138,115,38,.34);
  --jx-line-white-faint:1px solid var(--jx-white-a07);
  /* Szekció-elválasztó hajszálvonal (.jx-gold-rule). A korábbi
     "transparent → .38 → transparent" görbe középen túl halvány volt ahhoz, hogy
     aranynak látsszon — navy háttéren semleges, fehéres vonalként olvasódott —,
     a két vége felé viszont túl lassan fogyott el, ezért teljes szélességű
     válaszfalnak hatott. Az új görbe erősebb arany magot kap (.5), és a
     széleken jóval korábban nullázódik: nem elvágja a két szekciót, hanem
     középen felizzik és elhal. */
  --jx-rule-gold:linear-gradient(90deg,transparent 0%,rgba(197,168,74,.05) 14%,rgba(197,168,74,.5) 50%,rgba(197,168,74,.05) 86%,transparent 100%);

  --jx-shadow-card-hover:0 28px 72px rgba(11,22,40,.13);
  --jx-shadow-poster:0 32px 80px rgba(0,0,0,.5);

  /* --jx-blur-bar: a sticky/fixed sávok (.jx-nav.is-scrolled, .jx-tabs, .jx-ctrl,
     .jx-mctrl, .jx-tl-rail) háttere 98%-ban átlátszatlan (--jx-bar-bg), így a
     mögötte lévő blur vizuálisan alig érzékelhető (csak a maradék 3%-ot
     homályosítja) — miközben a backdrop-filter az egyik legdrágább CSS-hatás:
     minden egyes görgetési képkockán újra kell számolnia, amíg a sáv látszik
     (azaz gyakorlatilag a teljes görgetés alatt), és a költsége a sáv
     szélességével (viewport-szélesség) arányos. Ez okozott egy valós,
     felhasználó által jelzett akadozást nagy desktop-nézetben (sok pixel a
     blurhoz), ami mobil-nézetben nem volt észrevehető (kevesebb pixel) — a
     scroll-figyelők rAF-kötegelése (jatekszin-design-system.js) ezt nem tudta
     javítani, mert ez natív compositor-költség, nem JS. Kikapcsolva, mert a
     97%-os átlátszatlanság mellett a vizuális különbség elhanyagolható. */
  --jx-blur-bar:none;
  --jx-blur-overlay:blur(20px);
  --jx-bar-bg:rgba(11,22,40,.98);
  --jx-overlay-bg:rgba(11,22,40,.98);

  --jx-texture-curtain:repeating-linear-gradient(90deg,transparent 0,transparent 22px,rgba(197,168,74,.028) 22px,rgba(197,168,74,.028) 23px);
  --jx-texture-hatch:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 18px);
  --jx-glow-spotlight:radial-gradient(ellipse 60% 80% at 22% 0%,rgba(197,168,74,.10) 0%,transparent 62%);
  --jx-scrim-hero:linear-gradient(to top,rgba(11,22,40,.94) 0%,rgba(11,22,40,.25) 50%,rgba(11,22,40,.42) 100%);

  --jx-ease:ease;
  --jx-dur-fast:.25s;
  --jx-dur:.3s;
  --jx-dur-lift:.35s;
  --jx-dur-bar:.4s;
  --jx-dur-overlay:.38s;
  --jx-dur-reveal:.75s;
  --jx-reveal-offset:26px;
  --jx-reveal-stagger:.13s;
  /* A finomabb, „színpadi” feltárulásokhoz (lásd .jx-reveal-head és társai):
     expo-out görbe — gyorsan indul, hosszan, puhán áll meg. */
  --jx-ease-reveal:cubic-bezier(.16,1,.3,1);
  --jx-dur-reveal-text:1.15s;
  --jx-reveal-word-step:.055s;
}

/* ---------------------------------------------------------------------- */
/* Utilities                                                               */
/* ---------------------------------------------------------------------- */
.jx-gold-rule{ height:1px; background:var(--jx-rule-gold); border:0; }

.jx-reveal{ opacity:0; transform:translateY(var(--jx-reveal-offset)); transition:opacity var(--jx-dur-reveal) var(--jx-ease), transform var(--jx-dur-reveal) var(--jx-ease); }
.jx-reveal.is-in{ opacity:1; transform:none; }
.jx-reveal-d1{ transition-delay:.13s; --jx-d:.13s; }
.jx-reveal-d2{ transition-delay:.26s; --jx-d:.26s; }
.jx-reveal-d3{ transition-delay:.39s; --jx-d:.39s; }
.jx-reveal-d4{ transition-delay:.52s; --jx-d:.52s; }

/* --- Differenciált feltárulások (opt-in, jelenleg a főoldal használja) ---
   Mind ugyanarra az IntersectionObserverre épül, mint a .jx-reveal (az elem
   kapja az .is-in-t), csak más mozgással. Ahol az elemnek SAJÁT transition-je
   is van (kártya hover-árnyéka stb.), ott keyframe-animáció megy transition
   helyett: a sima .jx-reveal-nél a később deklarált saját transition felülírta
   az opacity/transform átmenetet, és az elem animáció nélkül ugrott be (így
   „csak megjelentek” pl. a hírkártyák). A fill-mode szándékosan backwards:
   a végén az elem a saját stílusára áll vissza, nem fagy be a hover alatt. */
@keyframes jx-rise{ from{ opacity:0; transform:translateY(22px); } }
/* A clip-path inset() és none között NEM interpolál (félúton ugrik), ezért
   kell a kifejezett to{inset(0)}; a backwards fill miatt a végén így is
   lekerül a vágás (fókuszkeret, árnyék nem marad levágva). */
@keyframes jx-wipe{ from{ clip-path:inset(0 100% 0 0); } to{ clip-path:inset(0); } }
@keyframes jx-curtain{ from{ clip-path:inset(100% 0 0 0); } to{ clip-path:inset(0); } }
@keyframes jx-settle{ from{ transform:scale(1.12); } }

/* Szekciófej: a konténer maga nem úszik, helyette a kicker balról jobbra
   kirajzolódik, a cím szavai egyenként emelkednek ki a sorvonal alól, a
   jobb oldali link pedig utolsóként húzódik be. */
.jx-reveal.jx-reveal-head{ opacity:1; transform:none; }
.jx-reveal-head:not(.is-in) .jx-kicker,
.jx-reveal-head:not(.is-in) > :last-child:not(:first-child){ clip-path:inset(0 100% 0 0); }
.jx-reveal-head.is-in .jx-kicker{ animation:jx-wipe 1.1s var(--jx-ease-reveal) backwards; }
.jx-reveal-head.is-in > :last-child:not(:first-child){ animation:jx-wipe 1.1s var(--jx-ease-reveal) .5s backwards; }
.jx-reveal-head .jx-section-title{ --jx-split-delay:.12s; }

/* Szavankénti / betűnkénti bontás (a JS végzi, data-jx-split alapján).
   "words": maszkolt emelkedés — a szó a saját sorvonala alól csúszik fel.
   A clip-path oldalt és felül túlnyúlik (dőlt betű kinyúlása, ékezetek),
   alul pedig a descenderek helyét hagyja meg.
   "words-soft" / "chars-soft": maszk nélkül, enyhe elmosásból élesedik ki —
   a szövegárnyékos címekhez (hero, Bemutató), mert a maszk az árnyékot is
   élesen levágná. */
.jx-reveal[data-jx-split]{ opacity:1; transform:none; }
.jx-sw{ white-space:nowrap; }
.jx-w{ display:inline-block; clip-path:inset(-.5em -.3em -.2em -.3em); }
/* text-indent:0 — öröklődne, és minden inline-block egység a saját „első
   sorában” újra megkapná (a hero-név .16em-es optikai behúzása így betűnként
   ismétlődött, és a szó jóval szélesebb lett). */
.jx-w, .jx-w-i, .jx-s{ text-indent:0; }
.jx-w-i, .jx-s{
  display:inline-block;
  transition-delay:calc(var(--jx-split-delay, var(--jx-d, 0s)) + var(--i, 0) * var(--jx-reveal-word-step));
}
.jx-w-i{ transform:translateY(125%); transition-property:transform; transition-duration:var(--jx-dur-reveal-text); transition-timing-function:var(--jx-ease-reveal); }
.jx-s{
  opacity:0; transform:translateY(.32em); filter:blur(8px);
  transition-property:opacity, transform, filter; transition-duration:1.4s; transition-timing-function:var(--jx-ease-reveal);
}
.is-in .jx-w-i, .is-in .jx-s{ opacity:1; transform:none; filter:none; }

/* FONTOS: az IntersectionObserver által figyelt (.jx-reveal) elemet SOSEM
   szabad levágni vagy nulla méretűre transzformálni — Chrome a megfigyelt
   elem saját clip-path-ját/transformját is beszámítja, így a látható terület
   0 marad, az .is-in sosem érkezik meg, és az elem örökre láthatatlan (így
   tűnt el desktopon a Büszkeség-videó). Ezért a vágás/rajzolás mindig a
   GYEREKEN vagy a háttéren történik, a megfigyelt doboz mérete érintetlen. */

/* Vékony aranyvonal: középről kifelé húzódik meg (a gradient háttér
   szélessége nő, nem az elemé). */
.jx-reveal.jx-reveal-rule{
  opacity:1; transform:none;
  background-repeat:no-repeat; background-position:center; background-size:0% 100%;
  transition:background-size 1.8s var(--jx-ease-reveal);
}
.jx-reveal.jx-reveal-rule.is-in{ background-size:100% 100%; }

/* Kép: „felmenő függöny” — alulról felfelé tárul fel, közben a kép finoman
   visszaáll a 112%-os nagyításból. Mindig egy feltáruló (.jx-reveal) kártya
   BELSEJÉBEN áll, annak késleltetését örökli egy kis eltolással — magát a
   megfigyelt elemet nem szabad vágni (lásd fent). */
.jx-reveal-media{ --jx-media-delay:calc(var(--jx-d, 0s) + .12s); }
.jx-reveal:not(.is-in) .jx-reveal-media{ clip-path:inset(100% 0 0 0); }
.is-in .jx-reveal-media{ animation:jx-curtain 1.5s var(--jx-ease-reveal) var(--jx-media-delay) backwards; }
.is-in .jx-reveal-media > img{ animation:jx-settle 2.2s var(--jx-ease-reveal) var(--jx-media-delay) backwards; }
/* <video>-ra SZÁNDÉKOSAN nincs: asztali Chrome-ban a hardveresen dekódolt
   videó külön rétegen fut, és clip-path/transform animáció alatt festés
   nélkül maradhatott (a Büszkeség-videó doboza üres volt, mobilon nem). A
   görgetésre tekert Büszkeség-videó amúgy sem kap feltárulást: azonnal
   látszania kell. */

/* Saját transition-nel bíró elemek (kártyák): ugyanaz az emelkedés, de
   keyframe-mel, hogy ne ütközzön a hover-átmenetekkel. */
.jx-reveal.jx-reveal-rise{ transform:none; }
.jx-reveal.jx-reveal-rise.is-in{ animation:jx-rise 1.1s var(--jx-ease-reveal) var(--jx-d, 0s) backwards; }

/* Csoport: a konténer áll, a gyerekei egymás után emelkednek be. Az --i
   nth-child alapú, így a később (AJAX-szal) beszúrt elemekre is érvényes —
   ha a konténer már .is-in, a beszúrt kártyák érkezéskor sorban úsznak be. */
.jx-reveal.jx-reveal-stagger{ opacity:1; transform:none; }
.jx-reveal-stagger:not(.is-in) > *{ opacity:0; }
.jx-reveal-stagger.is-in > *{ animation:jx-rise 1s var(--jx-ease-reveal) calc(var(--jx-d, 0s) + var(--i, 0) * .08s) backwards; }
.jx-reveal-stagger > :nth-child(2){ --i:1; }  .jx-reveal-stagger > :nth-child(3){ --i:2; }
.jx-reveal-stagger > :nth-child(4){ --i:3; }  .jx-reveal-stagger > :nth-child(5){ --i:4; }
.jx-reveal-stagger > :nth-child(6){ --i:5; }  .jx-reveal-stagger > :nth-child(7){ --i:6; }
.jx-reveal-stagger > :nth-child(8){ --i:7; }  .jx-reveal-stagger > :nth-child(n+9){ --i:8; }

@media(prefers-reduced-motion:reduce){
  .jx-reveal, .jx-reveal-rule, .jx-w-i, .jx-s{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
  .jx-reveal-head .jx-kicker, .jx-reveal-head > *, .jx-reveal-rise, .jx-reveal-stagger > *,
  .jx-reveal-media, .jx-reveal-media > img, .jx-reveal-media > video{ animation:none !important; clip-path:none !important; }
  .jx-reveal-stagger > *{ opacity:1 !important; }
  .jx-reveal-rule{ background-size:100% 100% !important; }
}

.jx-btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--jx-font-ui); font-weight:500; letter-spacing:var(--jx-track-button);
  text-transform:uppercase; text-decoration:none; border-radius:0; cursor:pointer;
  transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease), color var(--jx-dur) var(--jx-ease);
}
.jx-btn-solid{
  padding:17px 40px; background:var(--jx-action); color:var(--jx-action-text); border:1px solid var(--jx-action);
  font-size:11.5px;
}
.jx-btn-solid:hover{ background:var(--jx-action-hover); border-color:var(--jx-action-hover); }
.jx-btn-solid.jx-btn-sm{ padding:11px 28px; font-size:11px; }
.jx-btn-ghost{
  padding:17px 36px; border:1px solid var(--jx-white-a22); color:rgba(255,255,255,.7);
  background:none; font-size:11.5px; font-weight:400;
}
.jx-btn-ghost:hover{ border-color:rgba(255,255,255,.6); color:#fff; }
.jx-btn-ghost-light{
  padding:17px 36px; border:1px solid rgba(11,22,40,.22); color:var(--jx-navy-900);
  background:none; font-size:11.5px; font-weight:400;
}
.jx-btn-ghost-light:hover{ border-color:var(--jx-navy-900); background:rgba(11,22,40,.04); }

/* Rombusz alakú képhely-jelölés (placeholder). Közös alap: korábban négy
   leszármazott-szabály ismételte ugyanazt a méretet és transformot, egyenként
   eltérő kerettel — most csak a tényleges eltérés (méret / keretszín) marad. */
.jx-ph-mark{ width:52px; height:52px; border:1px solid var(--jx-gold-a45); transform:rotate(45deg); }

.jx-kicker{
  display:flex; align-items:center; gap:14px;
  font-family:var(--jx-font-ui); font-size:11px; font-weight:400;
  letter-spacing:var(--jx-track-kicker); text-transform:uppercase; color:var(--jx-accent);
}
.jx-kicker.jx-kicker-on-light{ color:var(--jx-accent-on-light); }

/* ---------------------------------------------------------------------- */
/* Nav                                                                     */
/* ---------------------------------------------------------------------- */
.jx-nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding-block:28px; padding-inline:var(--jx-pad-inline);
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; background:transparent; border-bottom:1px solid transparent;
  transition:padding var(--jx-dur-bar) var(--jx-ease), background var(--jx-dur-bar) var(--jx-ease), border-color var(--jx-dur-bar) var(--jx-ease);
}
.jx-nav.is-scrolled{
  background:var(--jx-bar-bg); backdrop-filter:var(--jx-blur-bar);
  padding-block:18px; border-bottom-color:var(--jx-gold-a16);
}
.jx-nav-logo{
  font-family:var(--jx-font-display); font-size:21px; font-weight:600;
  letter-spacing:var(--jx-track-logo); text-transform:uppercase; color:#fff; text-decoration:none;
  flex-shrink:0;
}
.jx-nav-links{ display:flex; align-items:center; gap:36px; flex:1; justify-content:center; }
.jx-nav-link{
  display:inline-block; position:relative; padding-bottom:4px; margin:0;
  font-family:var(--jx-font-ui); font-size:11px; line-height:15px; vertical-align:baseline;
  font-weight:400; letter-spacing:var(--jx-track-nav); text-transform:uppercase;
  color:rgba(255,255,255,.6); text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease);
  background:none; border:none; cursor:pointer;
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
}
.jx-nav-link::after{
  content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--jx-accent);
  transition:width var(--jx-dur) var(--jx-ease);
}
.jx-nav-link:hover{ color:#fff; }
.jx-nav-link:hover::after{ width:100%; }
.jx-nav-link.is-active{ color:#fff; }
.jx-nav-link.is-active::after{ width:100%; }

.jx-nav-dropdown-toggle{ position:relative; padding-right:16px; }
.jx-nav-caret-icon{
  /* a szöveg optikai közepéhez igazítva, nem a teljes (padding-bottom:4px-et is
     tartalmazó) doboz közepéhez — ezért -2px extra korrekció a naiv 50% felett */
  position:absolute; right:0; top:50%; transform:translateY(calc(-50% - 2px));
  pointer-events:none; color:currentColor;
}

.jx-nav-dropdown{ position:relative; display:flex; align-items:center; }
.jx-nav-dropdown-panel{
  margin:0; padding:0; position:absolute; left:0; top:100%;
  min-width:220px; background:var(--jx-navy-800); border:var(--jx-line-gold-faint);
  box-shadow:0 24px 48px rgba(0,0,0,.35); display:flex; flex-direction:column;
  opacity:0; pointer-events:none; transform:translateY(4px);
  transition:opacity var(--jx-dur) var(--jx-ease), transform var(--jx-dur) var(--jx-ease);
}
.jx-nav-dropdown:hover .jx-nav-dropdown-panel,
.jx-nav-dropdown:focus-within .jx-nav-dropdown-panel{ opacity:1; pointer-events:auto; transform:none; }
.jx-nav-dropdown-link{
  display:block; padding:10px 20px; font-family:var(--jx-font-ui); font-size:12px;
  letter-spacing:.04em; color:rgba(255,255,255,.68); text-decoration:none;
  border-bottom:1px solid var(--jx-white-a07);
  transition:color var(--jx-dur-fast) var(--jx-ease), background var(--jx-dur-fast) var(--jx-ease);
}
.jx-nav-dropdown-link:last-child{ border-bottom:0; }
.jx-nav-dropdown-link:hover{ color:#fff; background:var(--jx-gold-a10); }

.jx-nav-cta{
  padding:11px 28px; background:var(--jx-action); border:1px solid var(--jx-action); color:#fff;
  font-family:var(--jx-font-ui); font-size:11px; font-weight:500; letter-spacing:var(--jx-track-button);
  text-transform:uppercase; text-decoration:none; flex-shrink:0;
  transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease);
}
.jx-nav-cta:hover{ background:var(--jx-action-hover); border-color:var(--jx-action-hover); }

.jx-burger{
  display:none; flex-direction:column; justify-content:center; align-items:flex-end; gap:6px;
  width:44px; height:44px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0;
}
.jx-burger span{
  display:block; height:1px; background:#fff; transform:translateZ(0); will-change:transform, opacity;
  transition:transform var(--jx-dur-lift) var(--jx-ease), opacity var(--jx-dur-fast) var(--jx-ease);
}
.jx-burger span:nth-child(1){ width:26px; }
.jx-burger span:nth-child(2){ width:18px; }
.jx-burger span:nth-child(3){ width:26px; }
.jx-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.jx-burger.is-open span:nth-child(2){ opacity:0; }
.jx-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); width:26px; }

/* ---------------------------------------------------------------------- */
/* Mobile drawer                                                           */
/* ---------------------------------------------------------------------- */
.jx-drawer{
  position:fixed; inset:0; z-index:190; background:var(--jx-overlay-bg); backdrop-filter:var(--jx-blur-overlay);
  display:flex; flex-direction:column; justify-content:flex-start;
  padding:96px 28px 40px; overflow-y:auto;
  opacity:0; pointer-events:none; transition:opacity var(--jx-dur-overlay) var(--jx-ease);
}
.jx-drawer.is-open{ opacity:1; pointer-events:auto; }
.jx-drawer-links{ display:flex; flex-direction:column; gap:2px; border-top:var(--jx-line-gold); }
.jx-drawer-link{
  display:block; width:100%; text-align:left;
  font-family:var(--jx-font-display); font-size:23px; font-weight:300; color:#fff;
  padding:13px 0; border-bottom:var(--jx-line-gold); text-decoration:none;
  background:none; border-left:none; border-right:none; border-top:none; cursor:pointer;
  transition:color var(--jx-dur-fast) var(--jx-ease), padding-left var(--jx-dur) var(--jx-ease);
}
.jx-drawer-link:hover{ color:var(--jx-accent-soft); padding-left:8px; }
.jx-drawer-dropdown-toggle{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.jx-drawer-caret-icon{ flex-shrink:0; transition:transform var(--jx-dur) var(--jx-ease); }
.jx-drawer-dropdown.is-open .jx-drawer-caret-icon{ transform:rotate(180deg); }
.jx-drawer-dropdown .jx-drawer-link{ border-bottom:none; }
.jx-drawer-dropdown.is-open .jx-drawer-dropdown-toggle{ border-bottom:var(--jx-line-gold); }
.jx-drawer-sub{
  padding-left:14px; display:flex; flex-direction:column; gap:2px;
  max-height:0; overflow:hidden; border-bottom:var(--jx-line-gold);
  transition:max-height var(--jx-dur-bar) var(--jx-ease);
}
.jx-drawer-dropdown.is-open .jx-drawer-sub{ max-height:400px; }
.jx-drawer-sub-link{
  font-family:var(--jx-font-ui); font-size:13px; letter-spacing:.04em; color:rgba(255,255,255,.56);
  text-decoration:none; padding:8px 0; display:block;
}
.jx-drawer-sub-link:hover{ color:#fff; }
.jx-drawer-cta{ margin-top:28px; display:flex; }
.jx-drawer-cta .jx-btn{ flex:1; justify-content:center; }

/* Scroll-to-top (existing site feature) */
.jx-scroll-top{
  position:fixed; right:18px; bottom:18px; z-index:150; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center; background:var(--jx-navy-800);
  border:var(--jx-line-gold-faint); color:var(--jx-accent); cursor:pointer;
  opacity:0; pointer-events:none; transition:opacity var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease);
}
.jx-scroll-top.is-visible{ opacity:1; pointer-events:auto; }
.jx-scroll-top:hover{ border-color:var(--jx-gold-a45); }
.jx-scroll-top svg{ width:18px; height:18px; }

@media(max-width:1024px){
  .jx-nav-links, .jx-nav-cta{ display:none; }
  .jx-burger{ display:flex; }
  .jx-nav, .jx-nav.is-scrolled{ padding-inline:var(--jx-gutter-tablet); }
}

/* ---------------------------------------------------------------------- */
/* Hero                                                                    */
/* ---------------------------------------------------------------------- */
.jx-hero{ position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--jx-navy-900); }
.jx-hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.jx-hero-bg::after{ content:''; position:absolute; inset:0; background-image:var(--jx-scrim-hero); }
/* A videó a háttérkép fölé kerül, de a ::after scrim ALÁ: mindkettő pozicionált
   és z-index nélküli, így DOM-sorrendben festenek, a pszeudo-elem pedig az
   utolsó gyerek — a hero szövege alatt így ugyanaz a sötétítés marad.
   Szándékosan NINCS rajta beúszás/opacity-átmenet: az első képkocka azonnal
   megjelenik. Amíg nincs dekódolt képkocka, a <video> átlátszóként fest, tehát
   addig a mögötte lévő .jx-hero-bg háttérképe látszik — nem fekete téglalap. */
.jx-hero-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.jx-hero-texture{ position:absolute; inset:0; background-image:var(--jx-texture-curtain); pointer-events:none; }
.jx-hero-glow{
  position:absolute; top:-15%; left:50%; transform:translateX(-50%); width:900px; height:950px;
  background:var(--jx-glow-spotlight); pointer-events:none;
}
.jx-hero-content{ position:relative; z-index:2; padding-inline:var(--jx-pad-inline); padding-bottom:108px; width:100%; }
/* Felhasználói kérésre a felirat előtti 36px-es arany hajszálvonal (::before)
   törölve — minden hero/fejléc-szekcióban csak a szöveg marad. A flex-elrendezés
   megmarad, mert a .jx-premiere-hero-author variáns függőleges igazítására még
   kell; a gap viszont tárgytalan lett (egyetlen gyerek), ezért kivéve. */
.jx-hero-eyebrow{
  display:flex; align-items:center; margin-bottom:30px;
  font-family:var(--jx-font-ui); font-size:11px; font-weight:400; letter-spacing:var(--jx-track-eyebrow);
  text-transform:uppercase; color:var(--jx-accent);
}
.jx-hero-title{
  max-width:860px; margin:0 0 30px; font-family:var(--jx-font-display); font-size:var(--jx-size-hero);
  font-weight:var(--jx-weight-display-light); line-height:var(--jx-leading-display); color:#fff; letter-spacing:var(--jx-track-display);
}
.jx-hero-title em{ font-style:italic; color:var(--jx-gold-300); display:block; }
.jx-hero-sub{ max-width:500px; margin:0 0 52px; font-family:var(--jx-font-ui); font-size:var(--jx-size-lead); font-weight:300; line-height:var(--jx-leading-lead); color:rgba(255,255,255,.48); }
.jx-hero-btns{ display:flex; gap:16px; flex-wrap:wrap; }
.jx-hero-deco{ position:absolute; bottom:108px; right:80px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.jx-hero-deco-label{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:var(--jx-track-eyebrow); text-transform:uppercase; color:rgba(255,255,255,.28); writing-mode:vertical-rl; transform:rotate(180deg); }
.jx-hero-deco-bar{ position:relative; width:1px; height:60px; overflow:hidden; background:var(--jx-gold-a16); }
.jx-hero-deco-bar::after{
  content:''; position:absolute; left:0; top:0; width:100%; height:50%;
  background:linear-gradient(to bottom, transparent, var(--jx-gold-a45), transparent);
  animation:jx-scroll-travel 2.4s ease-in-out infinite;
}
@keyframes jx-scroll-travel{ 0%{ transform:translateY(-100%); } 100%{ transform:translateY(200%); } }

/* Hero — 2. VERZIÓ (A/B, a hero.php bal-igazított kompozíciója ellen).
   Csak az elrendezés és a tipográfia tér el: a háttérvideó, a scrim, a textúra,
   a glow és a görgetés-jelző mind a közös .jx-hero szabályokból jön. */
.jx-hero-v2{ align-items:center; text-align:center; }
/* A .jx-hero-content alapból alulra zárt (padding-bottom:108px); itt függőlegesen
   középre kerül, a padding-top pedig a fixen fölötte ülő navigáció magasságát
   ellensúlyozza, hogy a blokk a LÁTHATÓ sávban legyen optikailag középen. */
.jx-hero-v2 .jx-hero-content{
  display:flex; flex-direction:column; align-items:center;
  padding-block:var(--jx-nav-h-top,84px) 0;
  /* Ugyanaz a navy-alapú (nem fekete) szövegárnyék, amit a Bemutató-hero is
     használ mozgóképes háttér fölött — ott is a .jx-hero-content-en ül, hogy
     az alcímre és a gombok feliratára is vonatkozzon. */
  text-shadow:0 1px 14px rgba(11,22,40,.65), 0 0 3px rgba(11,22,40,.5);
}
/* Ugyanaz a védjegy-tipográfia, mint a lábléc .jx-footer-name-jén — szándékos
   ismétlés: a lap teteje és alja így ugyanazzal a jellel nyit és zár. A
   text-indent a ZÁRÓ betűköz optikai kompenzálása: letter-spacing nélkül az
   utolsó betű után is marad .16em, amitől a szó balra csúszottnak látszana.
   A felső korlát azért 176px, mert a .jx-hero-content 1500px-es konténerében
   ("Játékszín" ~6,9em széles a .16em betűközzel együtt) ennél nagyobb méret már
   kifutna — a .jx-hero overflow:hidden-je pedig levágná a szó szélét. */
.jx-hero-v2-name{
  margin:0; font-family:var(--jx-font-display); font-size:clamp(52px,10.5vw,176px);
  font-weight:var(--jx-weight-display-light); line-height:.98; letter-spacing:.16em;
  text-transform:uppercase; color:#fff; text-indent:.16em;
  /* A .jx-hero-content 14px-es szórása ekkora kijelzőméretnél elveszne, ezért
     itt ugyanaz a kétrétegű minta (tág, lágy vetődés + szűk holdudvar), csak a
     betűmérethez skálázva — így a videó világos képkockái fölött is megül. */
  text-shadow:0 2px 52px rgba(11,22,40,.72), 0 0 20px rgba(11,22,40,.45);
}
.jx-hero-v2-tag{
  margin:30px 0 0; font-family:var(--jx-font-display); font-style:italic;
  font-size:clamp(20px,2.4vw,32px); font-weight:300; line-height:1.5;
  color:var(--jx-gold-300);
}
.jx-hero-v2 .jx-hero-btns{ justify-content:center; margin-top:46px; }
/* A név betűnként élesedik ki (data-jx-split="chars-soft", ~1,8 s), ezért a
   tagline és a gombok csak utána, és ugyanazzal a puha görbével érkeznek. */
.jx-hero-v2 .jx-reveal{ transition-duration:1.2s; transition-timing-function:var(--jx-ease-reveal); }
.jx-hero-v2 .jx-hero-v2-tag.jx-reveal{ transition-delay:.7s; }
.jx-hero-v2 .jx-hero-btns.jx-reveal{ transition-delay:.95s; }

/* A szórás a betűmérettel együtt csökken: az 52px-es vetődés egy ~100px-es
   címen már szétkenné a vékony (300-as) szárakat, olvashatóbb helyett
   piszkosabb lenne. (A padding-block itt NEM ismétlődik: a .jx-hero-v2
   .jx-hero-content 0,2,0-s specificitása amúgy is veri a lentebbi
   .jx-hero-content{padding-bottom:88px}-et, sorrendtől függetlenül.) */
@media(max-width:1024px){
  .jx-hero-v2-name{ text-shadow:0 2px 34px rgba(11,22,40,.7), 0 0 14px rgba(11,22,40,.45); }
  .jx-hero-v2-tag{ margin-top:22px; }
  .jx-hero-v2 .jx-hero-btns{ margin-top:38px; }
}
@media(max-width:600px){
  /* A cím keskeny kijelzőn a .16em betűközzel könnyen kilógna, ezért ott
     valamivel szorosabb — a védjegy-jelleg így is megmarad. */
  .jx-hero-v2-name{
    letter-spacing:.1em; text-indent:.1em;
    text-shadow:0 1px 20px rgba(11,22,40,.68), 0 0 8px rgba(11,22,40,.45);
  }
  .jx-hero-v2-tag{ margin-top:18px; }
  .jx-hero-v2 .jx-hero-btns{ margin-top:32px; }
}

@media(max-width:1180px){ .jx-hero-deco{ bottom:88px; right:40px; } }
@media(max-width:1024px){
  .jx-hero-title{ font-size:60px; }
  .jx-hero-content{ padding-inline:var(--jx-gutter-tablet); padding-bottom:88px; }
}
@media(max-width:600px){
  .jx-hero-title{ font-size:42px; }
  .jx-hero-content{ padding-inline:var(--jx-gutter-mobile); padding-bottom:72px; }
  .jx-hero-deco{ display:none; }
}

/* ---------------------------------------------------------------------- */
/* Bemutató                                                                */
/* ---------------------------------------------------------------------- */
.jx-premiere-bg{
  position:absolute; inset:0; background-color:var(--jx-tint-ember); background-size:cover; background-position:center 32%;
  background-image:var(--jx-premiere-bg-desktop, var(--jx-texture-hatch));
}
.jx-premiere-bg::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(11,22,40,.5) 0%, transparent 24%),
    linear-gradient(to top, rgba(11,22,40,.68) 0%, transparent 40%),
    radial-gradient(ellipse 82% 78% at 50% 50%, rgba(11,22,40,.34) 0%, rgba(11,22,40,.42) 52%, rgba(11,22,40,.78) 84%, rgba(11,22,40,.94) 100%);
}
.jx-premiere-texture{
  position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(135deg, transparent 0, transparent 17px, rgba(255,255,255,.13) 17px, rgba(255,255,255,.13) 18px);
  -webkit-mask-image:radial-gradient(ellipse 78% 74% at 50% 50%, transparent 0%, transparent 58%, rgba(0,0,0,.5) 80%, #000 96%);
  mask-image:radial-gradient(ellipse 78% 74% at 50% 50%, transparent 0%, transparent 58%, rgba(0,0,0,.5) 80%, #000 96%);
}
.jx-premiere-bg.jx-reveal{ transform:scale(1.07); transition:opacity 1.6s ease, transform 2.6s ease; }
.jx-premiere-bg.jx-reveal.is-in{ transform:scale(1); }

.jx-premiere-hero{ position:relative; overflow:hidden; background:var(--jx-navy-900); min-height:100vh; display:flex; flex-direction:column; justify-content:space-between; }
.jx-premiere-hero-head{
  position:relative; z-index:2; padding:var(--jx-section-y-dark) var(--jx-pad-inline) 0;
  text-shadow:0 1px 14px rgba(11,22,40,.65), 0 0 3px rgba(11,22,40,.5);
}
/* A ::before-t elrejtő szabály feleslegessé vált — a vonal globálisan törölve. */
.jx-hero-eyebrow.jx-premiere-hero-author{ font-size:14px; margin-bottom:12px; }
.jx-hero-title.jx-premiere-hero-title{ max-width:none; }
.jx-hero-title.jx-premiere-hero-title em{ display:inline; color:var(--jx-accent); }
.jx-premiere-hero .jx-hero-content{ text-shadow:0 1px 14px rgba(11,22,40,.65), 0 0 3px rgba(11,22,40,.5); }

@media(max-width:1024px){
  .jx-premiere-bg{
    background-position:center top;
    background-image:var(--jx-premiere-bg-mobile, var(--jx-premiere-bg-desktop, var(--jx-texture-hatch)));
  }
  .jx-premiere-bg::after{
    background:
      linear-gradient(to bottom, rgba(11,22,40,.5) 0%, transparent 24%),
      linear-gradient(to top, rgba(11,22,40,.68) 0%, transparent 40%),
      radial-gradient(ellipse 90% 62% at 50% 42%, rgba(11,22,40,.4) 0%, rgba(11,22,40,.52) 52%, rgba(11,22,40,.86) 86%, rgba(11,22,40,.96) 100%);
  }
  .jx-premiere-hero-head{ padding-inline:var(--jx-gutter-tablet); }
}
@media(max-width:600px){
  .jx-premiere-hero-head{ padding-inline:var(--jx-gutter-mobile); }
  .jx-hero-eyebrow.jx-premiere-hero-author{ font-size:12px; }
}

/* ---------------------------------------------------------------------- */
/* Section head                                                            */
/* ---------------------------------------------------------------------- */
.jx-section-head{
  margin-bottom:52px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.jx-section-head .jx-kicker{ margin-bottom:12px; }
.jx-section-title{ margin:0; font-family:var(--jx-font-display); font-size:var(--jx-size-display-3); font-weight:400; line-height:var(--jx-leading-display); }
.jx-section-title.jx-on-light{ color:var(--jx-text-heading-light); }
.jx-section-title.jx-on-dark{ color:#fff; }
/* A dőlt kiemelt szó aranya MÉRET SZERINT tér el, nem ötletszerűen:
     - hero-/oldalcím-méret (.jx-hero-title, .jx-lhero-title, .jx-vip-title,
       .jx-tl-entry-title, .jx-ticket-t, .jx-kap-h.jx-on-dark) → gold-300,
       mert nagy méretben a világosabb arany tartja a kontrasztot a navyn;
     - szekciócím-méret (.jx-section-title) sötét háttéren → gold-500.
   Világos (krém) háttéren mindkettő helyett a gold-700 megy
   (--jx-accent-on-light), különben elveszik a kontraszt. */
.jx-section-title em{ font-style:italic; color:var(--jx-accent); }
/* Krémszínű háttéren a sötétebb arany kell, hogy a kiemelt szó ugyanazt a
   tónust vigye, mint a fölötte álló .jx-kicker-on-light. */
.jx-section-title.jx-on-light em{ color:var(--jx-accent-on-light); }
.jx-section-more{
  display:inline-flex; align-items:center; font-family:var(--jx-font-ui); font-size:11px;
  letter-spacing:var(--jx-track-nav); text-transform:uppercase; text-decoration:none; white-space:nowrap;
  padding:13px 28px; border:1px solid transparent;
  transition:opacity var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease), color var(--jx-dur) var(--jx-ease);
}
.jx-section-more.jx-on-light{ color:var(--jx-navy-900); opacity:.62; border-color:rgba(11,22,40,.2); }
.jx-section-more.jx-on-light:hover{ opacity:1; border-color:rgba(11,22,40,.45); }
.jx-section-more.jx-on-dark{ color:rgba(255,255,255,.7); opacity:1; border-color:var(--jx-white-a22); }
.jx-section-more.jx-on-dark:hover{ color:#fff; border-color:rgba(255,255,255,.6); }

.jx-section-tools{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.jx-car-nav{ display:flex; gap:10px; }
.jx-car-btn{
  width:46px; height:46px; border:1px solid var(--jx-gold-a30); background:none; color:var(--jx-gold-300);
  font-family:var(--jx-font-ui); font-size:15px; cursor:pointer;
  transition:background var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur-fast) var(--jx-ease), color var(--jx-dur-fast) var(--jx-ease);
}
.jx-car-btn:hover{ background:var(--jx-gold-a16); border-color:var(--jx-accent); color:#fff; }
.jx-on-light .jx-car-btn, .jx-section-tools.jx-on-light .jx-car-btn{ border-color:rgba(11,22,40,.2); color:var(--jx-navy-900); }
.jx-on-light .jx-car-btn:hover, .jx-section-tools.jx-on-light .jx-car-btn:hover{ background:rgba(11,22,40,.06); border-color:rgba(11,22,40,.45); color:var(--jx-navy-900); }

@media(max-width:600px){
  .jx-section-head{ flex-direction:column; align-items:flex-start; gap:18px; }
  .jx-section-title{ font-size:38px; }
}

/* ---------------------------------------------------------------------- */
/* Most műsoron — soron következő előadások, plakát-carousel               */
/* ---------------------------------------------------------------------- */
.jx-musor-placeholder-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline); }
/* A sáv vízszintesen görgethető (overflow-x:auto), ezért a böngésző a
   FÜGGŐLEGES túlcsordulást is levágja — a kártyák hover-árnyéka
   (--jx-shadow-card-hover: 0 28px 72px) csak akkor látszik teljes egészében,
   ha elfér a sáv saját paddingjében. A paddingot azonos méretű negatív margó
   ellensúlyozza, így a kártyák továbbra is pontosan a szekció szélénél
   kezdődnek, és nem keletkezik extra térköz a sáv alatt.
   A vízszintes érték SOSEM lehet nagyobb a szekció gutterénél (88/40/24px),
   különben az oldalon vízszintes görgetősáv jelenne meg.

   --jx-rail-count: hány kártya férjen ki egyszerre. A kártyaszélesség ebből
   számolódik, így a sáv szélén sosem lóg be félbevágott kártya.

   FONTOS geometriai megkötés: --jx-rail-pad SOSEM lehet nagyobb, mint
   --jx-rail-gap. A beragadt kártya a padding belső széléhez snappel
   (scroll-padding-inline), így a szomszédos kártya széle pontosan
   (gap - pad) távolságra van a látható területen kívül. Ha pad > gap, ez
   negatívba fordul → a szomszéd kártyából egy csík benyúlik a paddingba.

   A kettő NEM lehet pontosan egyenlő: a kártyaszélesség
   calc((100% - (n-1)*gap) / n) szinte sosem egész pixel, és a törtpixel
   kerekítése a "pontosan a szélén" állapotot könnyen "1px-nyire beljebb"-é
   teszi — nagy kijelzőn ezért villant fel egy hajszálvékony csík a sáv
   jobb szélén. A --jx-rail-safety adja a kerekítési tűréshatárt; ennyivel
   kevesebb hely marad az árnyéknak, cserébe a csík determinisztikusan
   eltűnik minden felbontáson és kijelző-skálázáson. */
.jx-poster-rail{
  --jx-rail-gap:36px;
  --jx-rail-safety:4px;
  --jx-rail-pad:calc(var(--jx-rail-gap) - var(--jx-rail-safety));
  --jx-rail-count:5;
  display:flex; gap:var(--jx-rail-gap); overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none;
  scroll-snap-type:x mandatory; scroll-padding-inline:var(--jx-rail-pad);
  padding:12px var(--jx-rail-pad) 64px;
  margin:-12px calc(-1 * var(--jx-rail-pad)) -64px;
  cursor:grab;
}
.jx-poster-rail:active{ cursor:grabbing; }
.jx-poster-rail::-webkit-scrollbar{ display:none; }
.jx-poster-card{
  flex:none;
  width:calc((100% - (var(--jx-rail-count) - 1) * var(--jx-rail-gap)) / var(--jx-rail-count));
  scroll-snap-align:start; background:var(--jx-surface-card); border:var(--jx-line-cream);
  text-decoration:none; color:inherit; display:block; overflow:hidden;
  transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease);
}
.jx-poster-card:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-poster-card:hover .jx-poster-card-title{ color:var(--jx-action); }
.jx-poster-card-media{ aspect-ratio:3/4; background-size:cover; background-position:center; background-color:var(--jx-navy-900); }
.jx-poster-card-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background-image:var(--jx-texture-hatch); }
.jx-poster-card-lbl{ font-family:var(--jx-font-ui); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.35); text-align:center; padding:0 18px; line-height:1.7; }
.jx-poster-card-body{ padding:20px 22px 24px; }
.jx-poster-card-author{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.08em; color:var(--jx-ink-500); margin-bottom:4px; }
.jx-poster-card-title{ font-family:var(--jx-font-display); font-size:23px; font-weight:500; color:var(--jx-text-heading-light); line-height:1.2; margin-bottom:6px; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-poster-card-dates{ font-family:var(--jx-font-ui); font-size:12px; color:var(--jx-ink-500); letter-spacing:.02em; margin-bottom:16px; }
.jx-poster-card-buy{
  font-family:var(--jx-font-ui); font-size:10.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  padding:10px 20px; background:var(--jx-action); color:#fff; display:inline-flex; align-items:center; cursor:pointer;
  transition:background var(--jx-dur) var(--jx-ease);
}
.jx-poster-card-buy:hover{ background:var(--jx-action-hover); }

/* A kártyaszám lépcsőzetesen csökken, hogy a kártya soha ne legyen olyan
   keskeny, amiben már nem fér el a "Jegyvásárlás" gomb. A --jx-rail-pad
   mindig legfeljebb az adott töréspont guttere (40px / 24px). */
@media(max-width:1180px){ .jx-poster-rail{ --jx-rail-count:4; } }
@media(max-width:1024px){
  .jx-musor-placeholder-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); }
  .jx-poster-rail{ --jx-rail-count:3; }
}
@media(max-width:600px){
  .jx-musor-placeholder-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); }
  /* Mobilon 2 kártya: egy teljes szélességű kártya aránytalanul nagy lenne.
     A rés/padding 24px-re csökken, mert a mobil gutter is ennyi — a negatív
     margó nem lóghat ki a képernyőről. A kártya belseje ilyen szélességnél
     már szűk, ezért a törzs paddingja, a cím és a gomb is kisebb, különben
     a "Jegyvásárlás" gomb kilógna a kártyából. */
  .jx-poster-rail{ --jx-rail-count:2; --jx-rail-gap:24px; }
  .jx-poster-card-body{ padding:16px 14px 18px; }
  .jx-poster-card-title{ font-size:19px; }
  .jx-poster-card-author, .jx-poster-card-dates{ font-size:10.5px; }
  .jx-poster-card-buy{ font-size:9px; letter-spacing:.08em; padding:9px 12px; }
}

/* ---------------------------------------------------------------------- */
/* Kiemelt előadásaink — interaktív szalagsor (kattintásra/Enterre nyílik) */
/* ---------------------------------------------------------------------- */
.jx-highlights-section{ background:var(--jx-navy-700); padding:var(--jx-section-y-dark) var(--jx-pad-inline); border-top:var(--jx-line-gold-faint); }
.jx-slats{
  display:flex; height:600px;
  border-top:1px solid var(--jx-gold-a30); border-bottom:1px solid var(--jx-gold-a30);
}
.jx-slat{
  position:relative; flex:1 1 0; min-width:0; cursor:pointer; overflow:hidden;
  border-left:1px solid var(--jx-gold-a22);
  transition:flex-grow 1.1s cubic-bezier(.22,.8,.24,1);
}
.jx-slat:first-child{ border-left:0; }
.jx-slat.is-on{ flex-grow:5.6; cursor:default; }
.jx-slat-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  filter:saturate(.55); opacity:.55; transform:scale(1.05);
  transition:opacity 1.1s, filter 1.1s, transform 1.6s cubic-bezier(.22,.8,.24,1);
}
.jx-slat.is-on .jx-slat-bg{ opacity:1; filter:saturate(1); transform:scale(1); }
.jx-slat-veil{
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(11,22,40,.95) 4%, rgba(11,22,40,.55) 42%, rgba(11,22,40,.35) 100%);
  transition:background 1s;
}
.jx-slat.is-on .jx-slat-veil{ background:linear-gradient(to top, rgba(11,22,40,.93) 8%, rgba(11,22,40,.3) 58%, rgba(11,22,40,.15) 100%); }
/* Második, olvashatóságot segítő réteg — CSAK a nyitott (.is-on) szalagon: alul erős, felfelé teljesen kifutó
   sötétítés a szövegek mögött. A zárt szalag változatlan. */
.jx-slat.is-on .jx-slat-veil::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(6,12,24,.9) 0%, rgba(6,12,24,.70) 45%, rgba(6,12,24,0) 62%);
}
.jx-slat-spine{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2; transition:opacity .45s; }
.jx-slat-spine span{
  writing-mode:vertical-rl; transform:rotate(180deg); font-family:var(--jx-font-display); font-size:26px;
  color:rgba(255,255,255,.72); letter-spacing:.02em; white-space:nowrap; transition:color .4s;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.jx-slat:hover .jx-slat-spine span{ color:#fff; }
.jx-slat.is-on .jx-slat-spine{ opacity:0; pointer-events:none; }
.jx-slat-open{
  position:absolute; left:44px; right:auto; bottom:44px; width:560px; max-width:calc(100vw - 120px); z-index:2;
  opacity:0; transform:translateY(14px); transition:opacity .3s, transform .3s; pointer-events:none;
}
.jx-slat.is-on .jx-slat-open{ opacity:1; transform:none; pointer-events:auto; transition:opacity .55s .5s, transform .7s .5s; }
.jx-slat-kicker{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--jx-accent); margin-bottom:16px; white-space:nowrap; text-shadow:0 2px 4px rgba(0,0,0,.75), 0 0 14px rgba(0,0,0,.6); }
.jx-slat-title{ margin:0; font-family:var(--jx-font-display); font-size:46px; font-weight:400; color:#fff; line-height:1.06; white-space:nowrap; text-shadow:0 4px 18px rgba(0,0,0,.5); }
.jx-slat-desc{ font-family:var(--jx-font-ui); font-size:var(--jx-size-body); font-weight:300; line-height:var(--jx-leading-body); color:rgba(255,255,255,.56); width:440px; max-width:100%; margin-top:16px; text-shadow:0 2px 10px rgba(0,0,0,.45); }
.jx-slat-links{ display:flex; align-items:center; gap:22px; margin-top:26px; white-space:nowrap; }
.jx-slat-cta{
  font-family:var(--jx-font-ui); font-size:10.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  padding:13px 24px; background:var(--jx-action); color:#fff; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center;
  transition:background var(--jx-dur) var(--jx-ease);
}
.jx-slat-cta:hover{ background:var(--jx-action-hover); }
.jx-slat-alt{
  font-family:var(--jx-font-ui); font-size:10.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  color:var(--jx-gold-300); display:inline-flex; align-items:center; border:1px solid var(--jx-gold-a30);
  padding:12px 16px; text-decoration:none;
  transition:border-color var(--jx-dur) var(--jx-ease), background var(--jx-dur) var(--jx-ease), color var(--jx-dur) var(--jx-ease);
}
.jx-slat-alt:hover{ border-color:var(--jx-accent); background:var(--jx-gold-a10); color:#fff; }

@media(max-width:1024px){
  .jx-highlights-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); }
  .jx-slats{ flex-direction:column; height:auto; }
  .jx-slat{ border-left:0; border-top:1px solid var(--jx-gold-a22); height:96px; flex:none; transition:height 1s cubic-bezier(.22,.8,.24,1); }
  .jx-slat:first-child{ border-top:0; }
  .jx-slat.is-on{ height:480px; }
  .jx-slat-spine span{ writing-mode:horizontal-tb; transform:none; font-size:24px; }
  .jx-slat-open{ left:28px; bottom:28px; width:auto; right:28px; }
  .jx-slat-title{ font-size:32px; white-space:normal; }
}
@media(max-width:600px){
  .jx-highlights-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); }
}

/* ---------------------------------------------------------------------- */
/* Hírek — news cards                                                      */
/* ---------------------------------------------------------------------- */
.jx-news-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline); }
.jx-news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.jx-news-card{
  display:flex; flex-direction:column; background:var(--jx-surface-card); border:var(--jx-line-cream);
  text-decoration:none; transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease);
}
.jx-news-card:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-news-card:hover .jx-news-title{ color:var(--jx-action); }
.jx-news-thumb{ aspect-ratio:3/2; background:var(--jx-cream-300); overflow:hidden; }
.jx-news-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.jx-news-body{ padding:28px 30px 32px; display:flex; flex-direction:column; flex:1; gap:12px; }
.jx-news-date{ font-family:var(--jx-font-ui); font-size:12px; letter-spacing:.06em; color:var(--jx-ink-500); }
.jx-news-title{
  font-family:var(--jx-font-display); font-size:31px; font-weight:400; color:var(--jx-text-heading-light);
  line-height:1.16; margin:0; transition:color var(--jx-dur-fast) var(--jx-ease);
}
.jx-news-excerpt{ font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-ink-500); font-weight:300; margin:0; }
.jx-news-links{ margin-top:auto; padding-top:20px; display:flex; align-items:center; }
/* "Aranykeretes chip" a kártyák alján (Részletek / Tovább olvasom). Korábban
   három külön, egymással bitre azonos szabály volt rá (.jx-news-alt,
   .jx-pcard-link, .jx-lead-link) — most egy közös alap, és csak a .jx-lead-link
   tér el, mérete miatt (kiemelt hír, nagyobb kártya). A hover minden hordozón
   ugyanaz volt, ezért az is egyetlen szabály. */
.jx-news-alt, .jx-pcard-link, .jx-lead-link{
  font-family:var(--jx-font-ui); font-size:10.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--jx-accent-on-light); display:inline-flex; align-items:center; border:var(--jx-line-gold-on-light);
  padding:9px 16px; text-decoration:none; transition:border-color var(--jx-dur) var(--jx-ease), background var(--jx-dur) var(--jx-ease);
}
.jx-news-card:hover .jx-news-alt,
.jx-pcard:hover .jx-pcard-link,
.jx-404-card:hover .jx-pcard-link,
.jx-lead:hover .jx-lead-link{ border-color:var(--jx-accent-on-light); background:var(--jx-gold-a10); }

/* Egy oszlopra váltva a 3:2-es kép túl laposnak hat, ezért 4:3 — ugyanaz az
   arány, mint a hírarchívum kártyáin (lásd a .jx-plist-section szabályát). */
@media(max-width:1024px){ .jx-news-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } .jx-news-grid{ grid-template-columns:1fr; gap:32px; } .jx-news-thumb{ aspect-ratio:4/3; } }
@media(max-width:600px){ .jx-news-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); } .jx-news-title{ font-size:27px; } }

/* A Hírek lista rácsán (nem a főoldali "Aktuális híreink" csíkon) a fenti fix
   180px magasság telefonon túl laposnak hatott — itt arányosan magasabbra állítjuk. */

/* ---------------------------------------------------------------------- */
/* Nézőink mondták — végtelen, két sorban ellentétes irányba futó marquee  */
/* ---------------------------------------------------------------------- */
.jx-testimonials-section{ background:var(--jx-navy-900); padding:var(--jx-section-y-dark) var(--jx-pad-inline); border-top:var(--jx-line-gold-faint); overflow-x:clip; }
.jx-testi-marquee{
  position:relative; width:auto; margin-inline:calc(50% - 50vw);
  display:flex; flex-direction:column; gap:22px; padding:6px 0 10px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, rgba(0,0,0,.15) 8%, #000 26%, #000 74%, rgba(0,0,0,.15) 92%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, rgba(0,0,0,.15) 8%, #000 26%, #000 74%, rgba(0,0,0,.15) 92%, transparent 100%);
}
.jx-testi-row{ display:flex; overflow-x:hidden; overflow-y:visible; padding:3px 0 4px; }
.jx-testi-track{
  display:flex; gap:22px; padding-right:22px; flex-shrink:0; will-change:transform;
  animation:jx-marq-left 46s linear infinite;
}
.jx-testi-row.jx-testi-row-rev .jx-testi-track{ animation-name:jx-marq-right; }
.jx-testi-marquee:hover .jx-testi-track{ animation-play-state:paused; }
@keyframes jx-marq-left{ from{ transform:translateX(0); } to{ transform:translateX(-100%); } }
@keyframes jx-marq-right{ from{ transform:translateX(-100%); } to{ transform:translateX(0); } }

.jx-testimonial-card{
  position:relative; flex:0 0 auto; width:392px; min-height:212px;
  border:1px solid var(--jx-gold-a16); background:linear-gradient(180deg, rgba(197,168,74,.06), rgba(197,168,74,.012));
  padding:34px 32px 26px; display:flex; flex-direction:column; gap:20px; overflow:hidden;
  transition:border-color var(--jx-dur) var(--jx-ease), background var(--jx-dur) var(--jx-ease);
}
.jx-testimonial-card.jx-testimonial-wide{ width:520px; }
.jx-testimonial-card:hover{ border-color:var(--jx-gold-a45); background:linear-gradient(180deg, rgba(197,168,74,.11), rgba(197,168,74,.02)); }
.jx-testimonial-mark{
  position:absolute; left:-6px; top:-26px; font-family:var(--jx-font-display); font-style:italic; font-size:170px;
  line-height:1; color:var(--jx-accent); opacity:.12; pointer-events:none; user-select:none;
}
.jx-testimonial-text{ position:relative; margin:0; font-family:var(--jx-font-display); font-size:21px; font-weight:300; font-style:italic; line-height:1.5; color:rgba(255,255,255,.92); }
.jx-testimonial-stars{ display:flex; gap:.1em; color:var(--jx-accent); font-size:22px; line-height:1; margin-top:auto; }

@media(max-width:1024px){ .jx-testimonials-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } }
@media(max-width:600px){
  .jx-testimonials-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); }
  .jx-testimonial-card, .jx-testimonial-card.jx-testimonial-wide{ width:308px; min-height:196px; padding:28px 24px 22px; }
  .jx-testimonial-mark{ font-size:130px; top:-18px; left:-4px; }
  .jx-testimonial-text{ font-size:19px; }
  .jx-testi-track{ animation-duration:34s; }
}

/* ---------------------------------------------------------------------- */
/* Amire büszkék vagyunk — stats (krém alapon)                             */
/* ---------------------------------------------------------------------- */
.jx-stats-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline); }
/* Két-oszlopos elrendezés (fotóhely + számok), hogy a szekció ne egy sablonos,
   ikon nélküli 3-oszlopos "SaaS-mutatószám" sávnak tűnjön — a bal oldali
   .jx-tl-closing-media (ugyanaz a komponens, mint Történetünk záró CTA-ján)
   konkrét helyhez köti a számokat ahelyett, hogy önmagukban lebegnének. */
.jx-stats-layout{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.jx-stats-grid{ display:grid; grid-template-columns:1fr; border-top:1px solid rgba(11,22,40,.16); }
.jx-stat{ padding:22px 0; }
.jx-stat + .jx-stat{ border-top:1px solid rgba(11,22,40,.09); }
.jx-stat-num{ font-family:var(--jx-font-display); font-size:52px; font-weight:300; color:var(--jx-text-heading-light); line-height:1; }
.jx-stat-label{ margin-top:10px; font-family:var(--jx-font-ui); font-size:13.5px; color:var(--jx-ink-500); line-height:1.5; }
.jx-stats-body{
  font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-ink-500); font-weight:300;
  max-width:640px; margin:32px 0 0;
}

@media(max-width:1024px){
  .jx-stats-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); }
  .jx-stats-layout{ grid-template-columns:1fr; gap:40px; }
}
@media(max-width:600px){
  .jx-stats-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); }
  .jx-stat-num{ font-size:46px; }
}

/* ---------------------------------------------------------------------- */
/* VIP este — exkluzív jegycsomag                                          */
/* ---------------------------------------------------------------------- */
.jx-vip-section{
  background:var(--jx-navy-900); position:relative; overflow:hidden;
  padding:112px var(--jx-pad-inline);
  background-image:repeating-linear-gradient(135deg, var(--jx-gold-a10) 0, var(--jx-gold-a10) 1px, transparent 1px, transparent 9px);
}
.jx-vip-section::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 22% 30%, var(--jx-gold-a16), transparent 68%);
}
.jx-vip-inner{ position:relative; display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:center; }
.jx-vip-badge{
  display:inline-flex; align-items:center; padding:9px 18px; border:1px solid var(--jx-gold-a45);
  color:var(--jx-gold-300); font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  margin-bottom:28px;
}
.jx-vip-title{ font-family:var(--jx-font-display); font-size:60px; font-weight:400; color:#fff; line-height:1.06; margin:0; }
.jx-vip-title em{ font-style:italic; color:var(--jx-gold-300); }
.jx-vip-lead{
  font-family:var(--jx-font-ui); font-size:var(--jx-size-lead); font-weight:300; line-height:var(--jx-leading-lead); color:rgba(255,255,255,.5);
  max-width:520px; margin:24px 0 0;
}
.jx-vip-cta{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:40px; }
.jx-vip-note{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(232,213,163,.6); }
.jx-vip-list{ display:flex; flex-direction:column; border-top:var(--jx-line-gold); }
.jx-vip-item{
  display:grid; grid-template-columns:52px 1fr; gap:20px; padding:24px 4px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.jx-vip-num{ font-family:var(--jx-font-display); font-size:20px; font-style:italic; color:var(--jx-accent); line-height:1.5; }
.jx-vip-item-title{ font-family:var(--jx-font-ui); font-size:14.5px; letter-spacing:.02em; color:#fff; margin-bottom:7px; }
.jx-vip-item-desc{ font-family:var(--jx-font-ui); font-size:var(--jx-size-note); font-weight:300; line-height:var(--jx-leading-note); color:rgba(255,255,255,.45); }

@media(max-width:1024px){
  .jx-vip-section{ padding:88px var(--jx-gutter-tablet); }
  .jx-vip-inner{ grid-template-columns:1fr; gap:52px; }
  .jx-vip-title{ font-size:48px; }
}
@media(max-width:600px){ .jx-vip-section{ padding:64px var(--jx-gutter-mobile); } .jx-vip-title{ font-size:38px; } }

/* ---------------------------------------------------------------------- */
/* Partnereink és támogatóink — statikus rács (navy alapon, fehér logók)   */
/* ---------------------------------------------------------------------- */
.jx-partners-section{ background:var(--jx-navy-700); padding:88px var(--jx-pad-inline); border-top:var(--jx-line-gold-faint); }
.jx-partners-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:24px; }
.jx-partner-item{
  min-width:0; aspect-ratio:3/2; display:flex; align-items:center; justify-content:center;
  padding:12px; overflow:hidden; transition:background var(--jx-dur-fast) var(--jx-ease);
}
.jx-partner-item img{
  display:block; max-width:100%; max-height:60%; width:auto; height:auto; object-fit:contain;
  opacity:.6; transition:opacity var(--jx-dur-fast) var(--jx-ease);
}
.jx-partner-item:hover{ background:var(--jx-gold-a10); }
.jx-partner-item:hover img{ opacity:1; }

@media(max-width:1180px){ .jx-partners-grid{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:1024px){ .jx-partners-grid{ grid-template-columns:repeat(3,1fr); gap:16px; } }
@media(max-width:600px){
  .jx-partners-section{ padding:40px var(--jx-gutter-mobile); }
  .jx-partners-grid{ grid-template-columns:repeat(4,1fr); gap:6px; }
  .jx-partner-item{ padding:2px; aspect-ratio:1/1; }
  .jx-partner-item img{ max-height:42%; }
}

/* ---------------------------------------------------------------------- */
/* Generikus helykitöltő szekció (krém alapon)                             */
/* ---------------------------------------------------------------------- */
.jx-placeholder-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline); }
.jx-placeholder-box{
  border:1px dashed var(--jx-cream-300); background:var(--jx-cream-100);
  padding:96px 40px; display:flex; align-items:center; justify-content:center; text-align:center;
}
.jx-placeholder-box span{
  font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--jx-ink-500);
}

@media(max-width:1024px){ .jx-placeholder-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } }
@media(max-width:600px){ .jx-placeholder-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); } .jx-placeholder-box{ padding:64px 24px; } }

/* ---------------------------------------------------------------------- */
/* Előadás oldal (single-eloadasok) — hero                                 */
/* Forrás: info/A Da Vinci-kod.dc.html. A #musor szekció belseje (naptár)  */
/* külön komponens (layout/musor.php), ide csak a keretét adjuk.           */
/* ---------------------------------------------------------------------- */
.jx-phero{ position:relative; padding:calc(var(--jx-nav-h-top,84px) + 180px) var(--jx-pad-inline) 100px; overflow:hidden; background:var(--jx-navy-900); }
.jx-phero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.jx-phero-bg::after{
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(to right,rgba(11,22,40,.88) 0%,rgba(11,22,40,.6) 45%,rgba(11,22,40,.2) 100%),
                   linear-gradient(to bottom,rgba(11,22,40,.5) 0%,rgba(11,22,40,.12) 40%,rgba(11,22,40,.88) 100%);
}
.jx-phero-texture{ position:absolute; inset:0; background-image:var(--jx-texture-curtain); pointer-events:none; }
.jx-phero-inner{ position:relative; z-index:2; }
.jx-phero .jx-hero-eyebrow{ margin-bottom:16px; }
.jx-phero-inner::before{
  content:''; position:absolute; z-index:-1; pointer-events:none;
  inset:-40px -60px -20px -80px;
  background:linear-gradient(115deg, rgba(11,22,40,.62) 0%, rgba(11,22,40,.42) 32%, rgba(11,22,40,.16) 58%, transparent 78%);
  filter:blur(46px);
}
.jx-ph1{ font-family:var(--jx-font-display); font-size:var(--jx-size-display-2); font-weight:300; line-height:var(--jx-leading-display); color:#fff; letter-spacing:var(--jx-track-display); max-width:900px; margin:0 0 26px; }
.jx-pquickmeta{
  display:inline-flex; flex-wrap:wrap; gap:0; margin-bottom:34px;
  border-top:var(--jx-line-gold); border-bottom:var(--jx-line-gold);
}
.jx-pqm{ padding:18px 32px 18px 0; margin-right:32px; border-right:var(--jx-line-white-faint); padding-right:32px; }
.jx-pqm:last-child{ border-right:none; margin-right:0; padding-right:0; }
.jx-pqm-lbl{ font-family:var(--jx-font-ui); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:7px; }
.jx-pqm-val{ font-family:var(--jx-font-display); font-size:22px; font-weight:400; color:#fff; }
.jx-plead{ font-family:var(--jx-font-ui); font-size:var(--jx-size-lead); line-height:var(--jx-leading-lead); color:rgba(255,255,255,.62); font-weight:300; margin:0 0 34px; max-width:660px; }
.jx-phero-btns{ display:flex; gap:16px; flex-wrap:wrap; }

@media(max-width:1024px){
  .jx-phero{ padding:270px var(--jx-gutter-tablet) 76px; }
  .jx-ph1{ font-size:52px; }
}
@media(max-width:600px){
  .jx-phero{ padding:220px var(--jx-gutter-mobile) 56px; }
  .jx-ph1{ font-size:38px; }
  .jx-pqm{ padding-right:22px; margin-right:22px; }
  .jx-pqm-val{ font-size:18px; }
}

/* ---------------------------------------------------------------------- */
/* Előadás oldal — sticky tab-sáv (színlap / szereplők / trailer / …)      */
/* A pozíció és a horgony-eltolás a nav tényleges magasságából számolódik, */
/* ld. jatekszin-design-system.js updateStickyOffsets().                  */
/* ---------------------------------------------------------------------- */
.jx-tabs{
  position:sticky; top:var(--jx-nav-h,84px); z-index:150;
  background:var(--jx-bar-bg); backdrop-filter:var(--jx-blur-bar);
  border-top:var(--jx-line-gold-faint); border-bottom:var(--jx-line-gold-faint);
  padding-inline:var(--jx-pad-inline);
  display:flex; gap:6px; overflow-x:auto; scrollbar-width:none;
}
.jx-tabs::-webkit-scrollbar{ display:none; }
.jx-tab{
  flex:none; font-family:var(--jx-font-ui); font-size:11px; letter-spacing:var(--jx-track-nav);
  text-transform:uppercase; color:rgba(255,255,255,.42); text-decoration:none;
  padding:22px 26px; border-bottom:2px solid transparent;
  transition:color var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur-fast) var(--jx-ease);
}
.jx-tab:hover{ color:#fff; }
.jx-tab.is-active{ color:var(--jx-accent); border-bottom-color:var(--jx-accent); }

#szinlap,#szereplok,#trailer,#musor,#galeria{ scroll-margin-top:var(--jx-anchor-offset,140px); }

@media(max-width:1024px){ .jx-tabs{ padding-inline:var(--jx-gutter-tablet); } }
@media(max-width:600px){ .jx-tabs{ padding-inline:var(--jx-gutter-mobile); } .jx-tab{ padding:18px 18px; } }

/* ---------------------------------------------------------------------- */
/* Színlap — szerepkör/név hitelesítő lista                                */
/* ---------------------------------------------------------------------- */
.jx-szinlap-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline); }
.jx-credits{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 72px; }
.jx-cred{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:17px 0; border-bottom:var(--jx-line-cream); }
.jx-cred-role{ font-family:var(--jx-font-ui); font-size:12px; letter-spacing:var(--jx-track-button); text-transform:uppercase; color:var(--jx-text-on-light-muted); flex-shrink:0; }
.jx-cred-name{ font-family:var(--jx-font-display); font-size:21px; font-weight:500; color:var(--jx-text-heading-light); text-align:right; }
.jx-cred.jx-cred-hi{ border-bottom-color:var(--jx-crimson-a24); }
.jx-cred.jx-cred-hi .jx-cred-name{ color:var(--jx-action); font-size:24px; }

@media(max-width:1024px){ .jx-szinlap-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } .jx-credits{ grid-template-columns:1fr; gap:0; } }
@media(max-width:600px){ .jx-szinlap-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); } }

/* ---------------------------------------------------------------------- */
/* Szereplők — szereposztás rács                                           */
/* ---------------------------------------------------------------------- */
.jx-szereplok-section{ background:var(--jx-navy-900); padding:var(--jx-section-y-dark) var(--jx-pad-inline); }
.jx-cast{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.jx-cmem{ cursor:pointer; text-decoration:none; display:block; }
.jx-cmem-img{ aspect-ratio:3/4; background-color:var(--jx-navy-800); background-size:cover; background-position:center; margin-bottom:18px; overflow:hidden; }
.jx-cmem-img-inner{ width:100%; height:100%; transition:transform .5s var(--jx-ease); background-size:cover; background-position:center; }
.jx-cmem:hover .jx-cmem-img-inner{ transform:scale(1.04); }
.jx-cmem-role{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:var(--jx-track-label); text-transform:uppercase; color:var(--jx-accent); margin-bottom:8px; line-height:1.6; }
.jx-cmem-name{ font-family:var(--jx-font-display); font-size:24px; font-weight:500; color:#fff; line-height:1.2; transition:color var(--jx-dur-fast) var(--jx-ease); }

/* Előadás-oldal: "További szereplők" (a Szereplők sötét szekcióban, a kártyarács alatt) */
.jx-cast-more-sep{ margin-top:72px; padding-top:48px; border-top:var(--jx-line-gold-faint); }
.jx-cast-more-title{ margin:0 0 32px; font-family:var(--jx-font-display); font-size:32px; font-weight:400; line-height:1.15; color:#fff; }
.jx-cast-more-groups{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:40px 64px; align-items:start; }
.jx-cm-group-wide{ grid-column:1 / -1; }
.jx-cm-group-cols{ grid-column:1 / -1; column-width:300px; column-gap:64px; }
.jx-cm-group-cols .jx-cm-row{ break-inside:avoid; }
.jx-cm-group-cols .jx-cm-head{ break-inside:avoid; break-after:avoid; }
.jx-cm-head{ margin:0 0 6px; padding-bottom:12px; font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.19em; text-transform:uppercase; color:var(--jx-accent); line-height:1.6; border-bottom:var(--jx-line-gold-faint); }
.jx-cm-group > * + .jx-cm-head{ margin-top:30px; }
.jx-cm-row{ display:flex; flex-direction:column; gap:2px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.jx-cm-name{ font-family:var(--jx-font-display); font-size:21px; font-weight:400; color:#fff; line-height:1.25; }
.jx-cm-role{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.jx-cm-names{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr)); gap:0 40px; }
@media(max-width:600px){ .jx-cast-more-sep{ margin-top:48px; padding-top:36px; } .jx-cast-more-title{ font-size:27px; } }
.jx-cmem:hover .jx-cmem-name{ color:var(--jx-gold-300); }

@media(max-width:1180px){ .jx-cast{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:1024px){ .jx-szereplok-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } .jx-cast{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .jx-szereplok-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); } .jx-cast{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------------- */
/* Trailer                                                                  */
/* ---------------------------------------------------------------------- */
.jx-trailer-section{ background:var(--jx-navy-700); padding:var(--jx-section-y-dark) var(--jx-pad-inline); }
.jx-trailer-frame{ position:relative; aspect-ratio:16/9; background:var(--jx-tint-indigo); overflow:hidden; border:var(--jx-line-gold-faint); }
.jx-trailer-frame video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.jx-play-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2;
  width:82px; height:82px; border:1px solid var(--jx-gold-a45);
  background:rgba(11,22,40,.4); display:flex; align-items:center; justify-content:center;
  transition:background var(--jx-dur) var(--jx-ease), transform var(--jx-dur) var(--jx-ease); cursor:pointer;
}
.jx-play-btn:hover{ background:var(--jx-gold-a16); transform:translate(-50%,-50%) scale(1.06); }
.jx-play-tri{ width:0; height:0; border-left:20px solid var(--jx-accent); border-top:12px solid transparent; border-bottom:12px solid transparent; margin-left:6px; }
.jx-trailer-lbl{ position:absolute; left:20px; bottom:16px; z-index:2; font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55); }

@media(max-width:1024px){ .jx-trailer-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } }
@media(max-width:600px){ .jx-trailer-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); } .jx-play-btn{ width:64px; height:64px; } }

/* ---------------------------------------------------------------------- */
/* Az adott előadás műsora — csak keret a layout/musor.php köré            */
/* ---------------------------------------------------------------------- */
.jx-musor-embed-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline) 40px; }

@media(max-width:1024px){ .jx-musor-embed-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet) 40px; } }
@media(max-width:600px){ .jx-musor-embed-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile) 32px; } }

/* ---------------------------------------------------------------------- */
/* Galéria — előadásfotók rácsa (lightbox: functions.php-beli meglévő JS)  */
/* ---------------------------------------------------------------------- */
.jx-galeria-section{ background:var(--jx-navy-900); padding:var(--jx-section-y-dark) var(--jx-pad-inline); }
/* Masonry oszlopokkal: minden kép a saját eredeti képarányát tartja meg, nincs kényszerített vágás. */
.jx-gal{ column-count:4; column-gap:14px; }
.jx-gcell{ position:relative; overflow:hidden; background-color:var(--jx-navy-800); cursor:pointer; break-inside:avoid; margin-bottom:14px; }
.jx-gcell-inner{ display:block; width:100%; height:auto; transition:transform .55s var(--jx-ease); }
.jx-gcell:hover .jx-gcell-inner{ transform:scale(1.06); }

@media(max-width:1180px){ .jx-gal{ column-count:3; } }
@media(max-width:1024px){ .jx-galeria-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); } .jx-gal{ column-count:2; } }
@media(max-width:600px){ .jx-galeria-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); } .jx-gal{ column-count:1; } }

/* ---------------------------------------------------------------------- */
/* Záró jegyvásárlás CTA — a főoldal utolsó szekciója a lábléc előtt        */
/* ---------------------------------------------------------------------- */
.jx-finale-section{
  background:var(--jx-surface-light); position:relative; overflow:hidden; text-align:center;
  padding:132px var(--jx-pad-inline);
  background-image:
    repeating-linear-gradient(45deg, rgba(11,22,40,.022) 0, rgba(11,22,40,.022) 1px, transparent 1px, transparent 7px),
    radial-gradient(circle at 1px 1px, rgba(11,22,40,.05) 1px, transparent 0);
  background-size:auto, 4px 4px;
}
.jx-finale-section::before{
  content:''; position:absolute; inset:-20%; pointer-events:none;
  background:radial-gradient(ellipse 46% 44% at 50% 42%, rgba(255,255,255,.95), rgba(247,243,236,.4) 55%, transparent 72%);
}
.jx-finale-inner{ position:relative; max-width:920px; margin:0 auto; display:flex; flex-direction:column; align-items:center; }
.jx-finale-orn{ display:flex; align-items:center; gap:16px; margin-bottom:30px; }
.jx-finale-orn i{ display:block; width:0; height:1px; background:linear-gradient(90deg, transparent, rgba(197,168,74,.75)); transition:width 1.5s cubic-bezier(.22,.8,.28,1) .25s; }
.jx-finale-orn i + i{ background:linear-gradient(90deg, rgba(197,168,74,.75), transparent); }
.jx-finale-orn.is-in i{ width:78px; }
.jx-finale-orn span{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--jx-accent); }
.jx-finale-title{
  font-family:var(--jx-font-display); font-size:74px; font-weight:400; color:var(--jx-text-heading-light);
  line-height:1.04; letter-spacing:-.01em; margin:0;
}
.jx-finale-title em{ font-style:italic; color:var(--jx-accent-on-light); position:relative; display:inline-block; }
.jx-finale-title em::after{
  content:''; position:absolute; left:0; bottom:.06em; height:1px; width:0; background:var(--jx-gold-a45);
  transition:width 1.8s cubic-bezier(.22,.8,.28,1) .9s;
}
.jx-finale-title.is-in em::after{ width:100%; }
.jx-finale-sub{
  font-family:var(--jx-font-ui); font-size:var(--jx-size-lead); font-weight:300; line-height:var(--jx-leading-lead); color:var(--jx-ink-500);
  max-width:560px; margin:26px 0 0;
}
.jx-finale-btns{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:46px; }

@media(max-width:1024px){ .jx-finale-section{ padding:104px var(--jx-gutter-tablet); } }
@media(max-width:600px){
  .jx-finale-section{ padding:96px var(--jx-gutter-mobile); }
  .jx-finale-title{ font-size:42px; }
}

/* ---------------------------------------------------------------------- */
/* Footer                                                                   */
/* ---------------------------------------------------------------------- */
.jx-footer{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--jx-navy-800) 0%, var(--jx-navy-900) 46%, #070F1C 100%);
  border-top:var(--jx-line-gold);
  padding:0 var(--jx-pad-inline) 42px;
}
.jx-footer-glow{
  position:absolute; top:-320px; left:50%; transform:translateX(-50%); width:1180px; height:700px;
  background:radial-gradient(ellipse at 50% 0%, rgba(197,168,74,.15) 0%, transparent 62%); pointer-events:none;
}
.jx-footer-texture{
  position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(197,168,74,.03) 22px, rgba(197,168,74,.03) 23px);
}
.jx-footer-crown{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; text-align:center; padding:96px 0 84px; }
.jx-footer-name{
  font-family:var(--jx-font-display); font-size:clamp(46px,7.2vw,104px); font-weight:300; line-height:.98;
  letter-spacing:.16em; text-transform:uppercase; color:#fff; text-indent:.16em; margin:0;
}
.jx-footer-tag{
  font-family:var(--jx-font-display); font-style:italic; font-size:20px; font-weight:300; line-height:1.6;
  color:rgba(232,213,163,.62); max-width:560px; margin:26px 0 0;
}
.jx-footer-health{
  display:inline-block; font-family:var(--jx-font-ui); font-size:12px; font-weight:300; letter-spacing:.03em;
  color:rgba(255,255,255,.34); text-decoration:none; margin-top:18px;
  transition:color var(--jx-dur-fast) var(--jx-ease);
}
.jx-footer-health:hover{ color:rgba(255,255,255,.62); }
.jx-footer-rule{ display:flex; align-items:center; gap:18px; width:min(100%,760px); margin-top:52px; }
.jx-footer-rule-top{ width:min(100%,420px); margin-top:0; margin-bottom:44px; }
.jx-footer-rule::before,.jx-footer-rule::after{ content:''; flex:1; height:1px; background:linear-gradient(90deg, transparent, rgba(197,168,74,.42), transparent); }
.jx-footer-rule i{ width:6px; height:6px; background:var(--jx-accent); transform:rotate(45deg); flex-shrink:0; opacity:.8; }
.jx-footer-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:64px; padding-bottom:64px; }
.jx-footer-house{ font-family:var(--jx-font-display); font-size:30px; font-weight:300; font-style:italic; line-height:1.3; color:rgba(255,255,255,.9); margin:0; }
.jx-footer-house-sub{ font-family:var(--jx-font-ui); font-size:13px; font-weight:300; letter-spacing:.02em; line-height:1.9; color:rgba(255,255,255,.4); margin-top:18px; }
.jx-footer-house-sub b{ display:block; font-weight:400; color:var(--jx-accent-soft); letter-spacing:.16em; text-transform:uppercase; font-size:10px; margin-bottom:8px; }
.jx-footer-col-title{
  font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--jx-accent);
  margin:0 0 26px; padding-bottom:14px; border-bottom:var(--jx-line-gold-faint);
}
.jx-footer-links{ display:flex; flex-direction:column; gap:13px; align-items:flex-start; }
.jx-footer-link{
  font-family:var(--jx-font-ui); font-size:14px; font-weight:300; color:rgba(255,255,255,.5); text-decoration:none;
  position:relative; padding-bottom:3px; transition:color var(--jx-dur-fast) var(--jx-ease);
}
a.jx-footer-link::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--jx-accent); transition:width var(--jx-dur) var(--jx-ease); }
a.jx-footer-link:hover{ color:#fff; }
a.jx-footer-link:hover::after{ width:100%; }
span.jx-footer-link{ display:block; }
.jx-footer-bottom{
  position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:24px;
  flex-wrap:wrap; padding-top:34px; border-top:var(--jx-line-gold-faint);
}
.jx-footer-copy{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.26); }
.jx-footer-socials{ display:flex; gap:26px; flex-wrap:wrap; }
.jx-footer-social-link{
  font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.4);
  text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease);
}
.jx-footer-social-link:hover{ color:var(--jx-accent); }

@media(max-width:1024px){
  .jx-footer{ padding:0 var(--jx-gutter-tablet) 36px; }
  .jx-footer-crown{ padding:72px 0 60px; }
  .jx-footer-grid{ grid-template-columns:1fr 1fr; gap:48px; }
}
@media(max-width:600px){
  .jx-footer{ padding:0 var(--jx-gutter-mobile) 104px; } /* a fix cookie- és vissza-a-tetejére gomb ne takarjon ki linket */
  .jx-footer-crown{ padding:56px 0 48px; }
  .jx-footer-tag{ font-size:17px; }
  .jx-footer-grid{ grid-template-columns:1fr; gap:40px; }
  .jx-footer-bottom{ flex-direction:column; align-items:flex-start; gap:18px; }
}

/* ---------------------------------------------------------------------- */
/* Előadások — repertoár lista (archive-eloadasok)                         */
/* Forrás: info/Eloadasok.html                                             */
/* ---------------------------------------------------------------------- */
.jx-lhero{ position:relative; padding:calc(var(--jx-nav-h-top,84px) + 126px) var(--jx-pad-inline) 64px; overflow:hidden; background:var(--jx-navy-900); }
.jx-lhero-bg{ position:absolute; inset:0; background-image:var(--jx-glow-spotlight), linear-gradient(to bottom, var(--jx-navy-800) 0%, var(--jx-navy-900) 100%); }
.jx-lhero-texture{ position:absolute; inset:0; background-image:var(--jx-texture-curtain); pointer-events:none; }
.jx-lhero-in{ position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.jx-lhero-title{ margin:0; font-family:var(--jx-font-display); font-size:74px; font-weight:300; line-height:var(--jx-leading-display); color:#fff; letter-spacing:var(--jx-track-display); }
/* Kiemelt szó a címben — a .jx-mhero mellett a Bemutatkozás és a Történetünk
   oldal is használja, ezért nem hero-típusra szűkítve. */
.jx-lhero-title em{ font-style:italic; color:var(--jx-gold-300); }
.jx-lhero-sub{ margin:18px 0 0; font-family:var(--jx-font-ui); font-size:var(--jx-size-lead); line-height:var(--jx-leading-lead); color:rgba(255,255,255,.5); font-weight:300; max-width:430px; }

@media(max-width:1024px){ .jx-lhero{ padding:168px var(--jx-gutter-tablet) 52px; } .jx-lhero-title{ font-size:52px; } }
@media(max-width:600px){ .jx-lhero{ padding:140px var(--jx-gutter-mobile) 40px; } .jx-lhero-title{ font-size:38px; } }

/* Sticky szűrősáv — a nav aktuális magasságához igazodik (--jx-nav-h, ld. jatekszin-design-system.js) */
.jx-ctrl{
  position:sticky; top:var(--jx-nav-h,84px); z-index:150;
  background:var(--jx-bar-bg); backdrop-filter:var(--jx-blur-bar);
  border-top:var(--jx-line-gold-faint); border-bottom:var(--jx-line-gold-faint);
  padding:16px var(--jx-pad-inline);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.jx-ctrl-left{ display:flex; align-items:center; gap:18px; flex:1; min-width:280px; }
/* A flex-basis NEM lehet 0 (a korábbi `flex:1`), mert a .jx-ctrl-right a
   tartalmához igazodik: nulla alapszélességgel a mező összecsuklott, és a
   leghosszabb placeholder ("Keresés cím vagy szerző szerint") kilógott belőle.
   Ezért az alapszélesség a kívánt méret, a min-width pedig a leghosszabb
   placeholder helyigénye — eddig zsugorodhat, tovább nem. */
.jx-search{ position:relative; display:flex; align-items:center; flex:1 1 340px; max-width:340px; min-width:280px; border:1px solid rgba(255,255,255,.16); transition:border-color var(--jx-dur) var(--jx-ease); }
.jx-search:focus-within{ border-color:var(--jx-gold-a45); }
.jx-search input{ flex:1; min-width:0; background:none; border:none; outline:none; font-family:var(--jx-font-ui); font-size:12.5px; font-weight:300; letter-spacing:.04em; color:#fff; padding:12px 14px; -webkit-appearance:none; appearance:none; }
.jx-search input::placeholder{ color:rgba(255,255,255,.34); letter-spacing:.09em; text-transform:uppercase; font-size:10.5px; }
/* A böngésző natív törlés-ikonja input[type=search]-ön a sajátunkkal (.jx-search-clear) duplikálódna. */
.jx-search input::-webkit-search-cancel-button,
.jx-search input::-webkit-search-decoration{ -webkit-appearance:none; appearance:none; display:none; }
.jx-search-clear{ background:none; border:none; color:rgba(255,255,255,.4); font-size:15px; line-height:1; cursor:pointer; padding:0 12px; font-family:var(--jx-font-ui); transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-search-clear:hover{ color:#fff; }
.jx-search-clear[hidden]{ display:none; }
.jx-ctrl-right{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.jx-filters{ display:flex; gap:7px; flex-wrap:wrap; }
.jx-fchip{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.14em; text-transform:uppercase; padding:9px 16px; border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.5); background:none; cursor:pointer; transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease), color var(--jx-dur) var(--jx-ease); }
.jx-fchip:hover{ color:#fff; border-color:rgba(255,255,255,.4); }
.jx-fchip.is-on{ background:var(--jx-accent); border-color:var(--jx-accent); color:var(--jx-navy-900); font-weight:500; }

@media(max-width:1024px){ .jx-ctrl{ padding:14px var(--jx-gutter-tablet); } }
@media(max-width:600px){
  /* Mobilon a szűrősáv a lapos hamburger-navval együtt már túl sok helyet venne
     el fixen a képernyő tetején — itt inkább a tartalommal együtt görgethető. */
  .jx-ctrl{ position:static; padding:14px var(--jx-gutter-mobile); gap:12px; flex-direction:column; align-items:stretch; }
  .jx-ctrl-left{ min-width:0; gap:12px; }
  /* Mobilon a sáv oszlopos, a mező teljes szélességű — a min-width itt csak
     vízszintes túlcsordulást okozna a legkeskenyebb készülékeken. */
  .jx-search{ max-width:none; min-width:0; }
  .jx-ctrl-right{ gap:12px; width:100%; }
  .jx-filters{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; width:100%; }
  .jx-fchip{ padding:10px 6px; font-size:9.5px; text-align:center; letter-spacing:.09em; }
}

/* Előadás-rács */
.jx-plist-section{ background:var(--jx-surface-light); padding:76px var(--jx-pad-inline) 100px; }
.jx-pgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.jx-pcard{ position:relative; background:var(--jx-surface-card); border:var(--jx-line-cream); display:flex; flex-direction:column; transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
.jx-pcard:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-pcard[hidden]{ display:none; }
.jx-pcard-img{ display:block; aspect-ratio:16/11; position:relative; overflow:hidden; background-color:var(--jx-navy-900); background-image:linear-gradient(to bottom, var(--jx-navy-800), var(--jx-navy-900)); background-size:cover; background-position:center; }
.jx-pcard-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.jx-pcard-img-placeholder{ position:absolute; inset:0; background-image:var(--jx-texture-hatch); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; }

.jx-pcard-img-lbl{ font-family:var(--jx-font-ui); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); text-align:center; padding:0 18px; line-height:1.7; }
.jx-pcard-body{ padding:22px 24px 26px; display:flex; flex-direction:column; flex:1; gap:9px; }
.jx-pcard-author{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-accent-on-light); }
.jx-pcard-title{ display:block; font-family:var(--jx-font-display); font-size:25px; font-weight:500; color:var(--jx-text-heading-light); line-height:1.16; text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-pcard-title:hover{ color:var(--jx-action); }
/* "Stretched link" minta: a cím-link kiterjed a teljes kártyára (::after,      */
/* a legközelebbi position:relative ős a .jx-pcard), így az egész kártya       */
/* az előadásra mutat — kivéve a .jx-pcard-buy jegyvásárlás-gombot, ami        */
/* magasabb z-index-szel a kiterjesztett link fölött marad kattintható.        */
.jx-pcard-title::after{ content:''; position:absolute; inset:0; z-index:1; }
.jx-pcard-teaser{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-note); line-height:var(--jx-leading-note); color:var(--jx-text-on-light-muted); font-weight:300; }
.jx-pcard-foot{ margin-top:auto; padding-top:18px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.jx-pcard-buy{ position:relative; z-index:2; font-family:var(--jx-font-ui); font-size:10px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:#fff; background:var(--jx-action); padding:9px 16px; text-decoration:none; transition:background var(--jx-dur) var(--jx-ease); }
.jx-pcard-buy:hover{ background:var(--jx-action-hover); }

.jx-empty-note{ padding:78px 0; text-align:center; font-family:var(--jx-font-display); font-size:26px; font-weight:300; color:var(--jx-text-on-light-muted); font-style:italic; }
.jx-empty-note[hidden]{ display:none; }
.jx-empty-note button{ margin-top:20px; display:block; margin-inline:auto; font-family:var(--jx-font-ui); font-style:normal; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; background:none; border:1px solid var(--jx-cream-300); color:var(--jx-navy-900); padding:12px 24px; cursor:pointer; transition:border-color var(--jx-dur) var(--jx-ease); }
.jx-empty-note button:hover{ border-color:var(--jx-accent-on-light); }

@media(max-width:1180px){ .jx-pgrid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:1024px){ .jx-plist-section{ padding:60px var(--jx-gutter-tablet) 80px; } .jx-pgrid{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media(max-width:600px){ .jx-plist-section{ padding:48px var(--jx-gutter-mobile) 64px; } .jx-pgrid{ grid-template-columns:1fr; gap:22px; } }

/* Repertoár infósáv */
.jx-info-section{ background:var(--jx-navy-900); padding:88px var(--jx-pad-inline); }
/* Világosabb navy változat — CSAK akkor, ha az info-sáv közvetlenül egy másik
   navy-900 szekciót követ (hírlevél a hírarchívumon, letöltések a Műsor
   oldalon): enélkül a két sötét blokk egyetlen tömbbé folyna össze. Krém
   szekció után mindig az alap navy-900 a helyes (ld. archive-eloadasok). */
.jx-info-section-alt{ background:var(--jx-navy-700); }
.jx-info-band{ display:grid; grid-template-columns:repeat(3,1fr); gap:56px; }
.jx-info-title{ font-family:var(--jx-font-display); font-size:25px; font-weight:500; color:#fff; margin:0 0 12px; }
.jx-info-body{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:rgba(255,255,255,.45); font-weight:300; }
.jx-info-body a{ color:var(--jx-accent); text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-info-body a:hover{ color:var(--jx-gold-300); }

@media(max-width:1024px){ .jx-info-section{ padding:72px var(--jx-gutter-tablet); } .jx-info-band{ grid-template-columns:1fr; gap:36px; } }
@media(max-width:600px){ .jx-info-section{ padding:48px var(--jx-gutter-mobile); } }

/* ---------------------------------------------------------------------- */
/* Hírek — híratchívum lista (index.php, is_home)                          */
/* Forrás: info/Hirek.dc.html                                              */
/* ---------------------------------------------------------------------- */
.jx-lead{ display:grid; grid-template-columns:1fr 1fr; gap:0; background:var(--jx-surface-card); border:var(--jx-line-cream); margin-bottom:56px; text-decoration:none; color:inherit; transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
.jx-lead:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-lead-img{ position:relative; overflow:hidden; background-color:var(--jx-navy-900); min-height:400px; }
.jx-lead-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.jx-lead-badge{ position:absolute; top:14px; left:14px; z-index:2; font-family:var(--jx-font-ui); font-size:9px; letter-spacing:.16em; text-transform:uppercase; padding:5px 11px; background:var(--jx-accent); color:var(--jx-navy-900); font-weight:500; }
.jx-lead-body{ padding:52px 54px; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.jx-lead-meta{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-accent-on-light); }
.jx-lead-title{ display:block; font-family:var(--jx-font-display); font-size:44px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.08; letter-spacing:-.01em; text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-lead:hover .jx-lead-title{ color:var(--jx-action); }
.jx-lead-teaser{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-text-on-light-muted); font-weight:300; max-width:440px; }
.jx-lead-link{ margin-top:8px; padding:13px 22px; align-self:flex-start; }

/* min-height helyett a .jx-news-thumb-bal azonos aspect-ratio:4/3 — fix
   pixelmagasságnál a kép a kártya szélességétől függetlenül laposabbnak
   hatott, mint a rács kártyáin lévő, arányosan skálázódó képek. */
@media(max-width:1024px){ .jx-lead{ grid-template-columns:1fr; } .jx-lead-img{ min-height:0; aspect-ratio:4/3; } .jx-lead-body{ padding:36px 32px 40px; } .jx-lead-title{ font-size:34px; } }
@media(max-width:600px){ .jx-lead-title{ font-size:29px; } .jx-lead-body{ padding:30px 24px 34px; } }

/* Lapozó — a valós WP the_posts_pagination() kimenetét címkézi át
   (.page-numbers/.current/.dots). A régi css/pagination.css már nincs betöltve:
   az egyetlen lapozó a hírarchívum (index.php), az pedig ezt a stílust kapja. */
.jx-pager{ margin-top:66px; }
.jx-pager .screen-reader-text{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.jx-pager .nav-links{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; list-style:none; }
.jx-pager .page-numbers{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.14em; text-transform:uppercase; background:none; border:1px solid var(--jx-cream-300); color:var(--jx-text-on-light-muted); padding:12px 17px; min-width:44px; text-align:center; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; border-radius:0; transition:border-color var(--jx-dur) var(--jx-ease), color var(--jx-dur) var(--jx-ease), background var(--jx-dur) var(--jx-ease); }
.jx-pager a.page-numbers:hover{ color:var(--jx-text-heading-light); border-color:var(--jx-accent-on-light); }
.jx-pager .page-numbers.current{ background:var(--jx-navy-900); border-color:var(--jx-navy-900); color:#fff; font-weight:500; }
.jx-pager .page-numbers.dots{ border-color:transparent; cursor:default; }

@media(max-width:600px){ .jx-pager{ margin-top:48px; } }

/* Hírlevél */
.jx-nl-section{ background:var(--jx-navy-900); padding:88px var(--jx-pad-inline); }
.jx-nl{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:end; }
.jx-nl-body{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:rgba(255,255,255,.45); font-weight:300; max-width:440px; }
.jx-nl-form{ display:flex; gap:0; border:1px solid rgba(255,255,255,.16); transition:border-color var(--jx-dur) var(--jx-ease); }
.jx-nl-form:focus-within{ border-color:var(--jx-gold-a45); }
.jx-nl-form input{ flex:1; min-width:0; background:none; border:none; outline:none; font-family:var(--jx-font-ui); font-size:13px; font-weight:300; color:#fff; padding:16px 18px; }
.jx-nl-form input::placeholder{ color:rgba(255,255,255,.34); letter-spacing:.09em; text-transform:uppercase; font-size:10.5px; }
.jx-nl-form button{ font-family:var(--jx-font-ui); font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; background:var(--jx-action); border:none; color:#fff; padding:16px 30px; cursor:pointer; transition:background var(--jx-dur) var(--jx-ease); }
.jx-nl-form button:hover{ background:var(--jx-action-hover); }

@media(max-width:1024px){ .jx-nl-section{ padding:72px var(--jx-gutter-tablet); } .jx-nl{ grid-template-columns:1fr; gap:28px; align-items:stretch; } }
@media(max-width:600px){ .jx-nl-section{ padding:60px var(--jx-gutter-mobile); } .jx-nl-form{ flex-direction:column; } }

/* ---------------------------------------------------------------------- */
/* Műsor — hónapnaptár + listanézet (layout/musor.php)                     */
/* Forrás: info/Musor.dc.html. Ugyanez a partial fut a Műsor oldalon        */
/* (teljes, sticky vezérlővel) és az előadás-oldalba ágyazva is             */
/* (.jx-mctrl-embedded módosítóval: nem sticky, mindig lista nézet).        */
/* A .jx-musor-sticky-wrap (a .jx-mctrl és a .jx-plist-section közös        */
/* szülője) nem kap saját stílust — pusztán azért létezik, hogy a sticky    */
/* sávnak legyen egy véges magasságú konténere: enélkül a sticky elem a     */
/* teljes oldal hátralévő részén (letölthető dokumentumok, jegypénztár-sáv, */
/* lábléc) átragadt volna, ahelyett hogy a naptár/lista szekció aljával     */
/* együtt görgetne el.                                                      */
/* ---------------------------------------------------------------------- */
.jx-mctrl{
  position:sticky; top:var(--jx-nav-h,84px); z-index:150;
  background:var(--jx-bar-bg); backdrop-filter:var(--jx-blur-bar);
  border-top:var(--jx-line-gold-faint); border-bottom:var(--jx-line-gold-faint);
  padding:16px var(--jx-pad-inline);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.jx-mctrl.jx-mctrl-embedded{ position:static; padding:0 0 28px; background:none; backdrop-filter:none; border:none; }
.jx-month-nav{ display:flex; align-items:center; gap:8px; }
.jx-mbtn{ width:42px; height:42px; border:1px solid var(--jx-gold-a30); background:none; color:var(--jx-accent); font-family:var(--jx-font-ui); font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease), opacity var(--jx-dur) var(--jx-ease); }
.jx-mbtn:hover{ background:var(--jx-gold-a16); border-color:var(--jx-accent); }
.jx-mbtn:disabled{ opacity:.22; cursor:default; }
.jx-mbtn:disabled:hover{ background:none; border-color:var(--jx-gold-a30); }
.jx-month-label{ font-family:var(--jx-font-display); font-size:29px; font-weight:400; color:#fff; min-width:212px; text-align:center; letter-spacing:.01em; }
.jx-mctrl-embedded .jx-month-label{ color:var(--jx-text-heading-light); }
.jx-mctrl-embedded .jx-mbtn{ color:var(--jx-accent-on-light); border-color:rgba(138,115,38,.34); }
.jx-mctrl-embedded .jx-mbtn:hover{ background:var(--jx-gold-a10); border-color:var(--jx-accent-on-light); }
.jx-viewtog{ display:flex; border:1px solid rgba(255,255,255,.16); }
.jx-vbtn{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.14em; text-transform:uppercase; padding:10px 18px; background:none; border:none; color:rgba(255,255,255,.5); cursor:pointer; transition:background var(--jx-dur-fast) var(--jx-ease), color var(--jx-dur-fast) var(--jx-ease); }
.jx-vbtn:hover{ color:#fff; }
.jx-vbtn.is-on{ background:var(--jx-gold-a16); color:var(--jx-accent); }

@media(max-width:1024px){ .jx-mctrl{ padding:14px var(--jx-gutter-tablet); } .jx-viewtog{ display:none; } }
@media(max-width:600px){
  .jx-mctrl{ padding:14px var(--jx-gutter-mobile); gap:12px; flex-direction:column; align-items:stretch; }
  .jx-month-nav{ width:100%; justify-content:space-between; gap:12px; }
  .jx-month-label{ font-size:25px; min-width:0; flex:1; }
}

#jxMusorCalWrap.is-loading, #jxMusorListWrap.is-loading{ opacity:.4; pointer-events:none; transition:opacity var(--jx-dur) var(--jx-ease); }

/* Naptár-rács */
.jx-cal-head{ display:grid; grid-template-columns:repeat(7,1fr); gap:10px; margin-bottom:12px; }
.jx-cal-hcell{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--jx-text-on-light-muted); padding-bottom:12px; border-bottom:var(--jx-line-cream); }
.jx-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:10px; }
.jx-cell{ min-height:132px; background:var(--jx-surface-card); border:var(--jx-line-cream); padding:12px 11px; display:flex; flex-direction:column; gap:8px; transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
.jx-cell:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-cell.is-empty{ background:transparent; border-color:transparent; min-height:0; pointer-events:none; }
.jx-cell.is-empty:hover{ box-shadow:none; }
.jx-cell.is-weekend{ background:var(--jx-cream-100); }
.jx-cell-num{ font-family:var(--jx-font-display); font-size:22px; font-weight:500; color:var(--jx-text-heading-light); line-height:1; display:flex; align-items:baseline; gap:7px; }
.jx-cell-dow{ font-family:var(--jx-font-ui); font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--jx-text-on-light-muted); }
.jx-cell.is-today .jx-cell-num{ color:var(--jx-action); }
.jx-cell.is-today{ border-color:var(--jx-crimson-a24); }
.jx-cell.is-past{ opacity:.55; }
.jx-cell.is-past:hover{ box-shadow:none; }
.jx-ev{ display:block; border-left:2px solid var(--jx-accent); padding:5px 0 5px 8px; text-decoration:none; transition:border-color var(--jx-dur-fast) var(--jx-ease), background var(--jx-dur-fast) var(--jx-ease); }
.jx-ev:hover{ border-left-color:var(--jx-action); background:rgba(142,27,43,.045); }
.jx-ev.jx-ev-static{ cursor:default; }
.jx-ev.jx-ev-static:hover{ border-left-color:var(--jx-accent); background:none; }
.jx-ev-time{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.09em; color:var(--jx-text-on-light-muted); margin-bottom:2px; }
.jx-ev-title{ font-family:var(--jx-font-display); font-size:15px; font-weight:500; color:var(--jx-text-heading-light); line-height:1.24; }
.jx-ev-tag{ font-family:var(--jx-font-ui); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--jx-text-on-light-muted); margin-top:2px; }
.jx-ev-tag-alert{ font-family:var(--jx-font-ui); font-size:9px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--jx-action); margin-top:2px; }

/* Bemutató / Jubileumi előadás — kitöltött "jelvény", nem csak színes szöveg,   */
/* hogy a naptárban és a listában is azonnal kiugorjon a többi típus közül.     */
.jx-ev-badge-premiere, .jx-ev-badge-jubilee{ font-family:var(--jx-font-ui); font-size:9px; font-weight:500; letter-spacing:.09em; text-transform:uppercase; display:inline-block; margin-top:4px; padding:3px 7px; max-width:100%; }
.jx-ev-badge-premiere{ background:var(--jx-action); color:#fff; box-shadow:0 3px 10px rgba(142,27,43,.28); }
.jx-ev-badge-jubilee{ background:var(--jx-gold-500); color:var(--jx-navy-900); box-shadow:0 3px 10px rgba(197,168,74,.32); }
.jx-ev.jx-ev-premiere{ border-left-width:3px; border-left-color:var(--jx-action); padding-left:7px; background:rgba(142,27,43,.045); }
.jx-ev.jx-ev-premiere:hover{ background:rgba(142,27,43,.09); }
.jx-ev.jx-ev-jubilee{ border-left-width:3px; border-left-color:var(--jx-gold-500); padding-left:7px; background:var(--jx-gold-a10); }
.jx-ev.jx-ev-jubilee:hover{ background:var(--jx-gold-a16); }

@media(max-width:1180px){ .jx-cell{ min-height:118px; } .jx-ev-title{ font-size:14px; } }

/* Lista nézet */
.jx-mlist{ display:grid; grid-template-columns:1fr; gap:0; }
.jx-mrow{ display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center; padding:22px 20px; margin-inline:-20px; border-bottom:var(--jx-line-cream); text-decoration:none; color:inherit; transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
/* A hover-állapotok :not(.jx-mrow-static)-ra szűkítve: zártkörű / jegylink
   nélküli előadásnál a sor nem link, ezért nem is szabad kattinthatónak
   látszania (ugyanaz a megkülönböztetés, mint naptárban a .jx-ev-static).
   A kizárás mindegyik hover-szabályon szerepel, hogy a kiemelt (bemutató /
   jubileumi) sorok saját háttere se csússzon el a specificitás miatt. */
.jx-mrow:not(.jx-mrow-static):hover{ background:rgba(255,255,255,.62); border-bottom-color:var(--jx-crimson-a24); }
.jx-mrow.jx-mrow-static{ cursor:default; }
.jx-mrow-date{ display:flex; align-items:baseline; gap:11px; min-width:210px; }
.jx-mrow-day{ font-family:var(--jx-font-display); font-size:38px; font-weight:300; color:var(--jx-text-heading-light); line-height:1; transition:color var(--jx-dur) var(--jx-ease); }
.jx-mrow:not(.jx-mrow-static):hover .jx-mrow-day{ color:var(--jx-action); }
.jx-mrow-dow{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--jx-text-on-light-muted); }
.jx-mrow-title{ font-family:var(--jx-font-display); font-size:27px; font-weight:500; color:var(--jx-text-heading-light); line-height:1.2; }
.jx-mrow .jx-ev-tag, .jx-mrow .jx-ev-tag-alert{ font-size:11px; margin-top:5px; }
.jx-mrow .jx-ev-badge-premiere, .jx-mrow .jx-ev-badge-jubilee{ font-size:10px; margin-top:6px; padding:4px 10px; }
.jx-mrow-buy{ font-family:var(--jx-font-ui); font-size:10.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--jx-action); padding:11px 22px; text-decoration:none; white-space:nowrap; transition:background var(--jx-dur) var(--jx-ease); }
.jx-mrow-buy:hover{ background:var(--jx-action-hover); }
.jx-mrow.jx-mrow-premiere{ border-left:3px solid var(--jx-action); padding-left:17px; background:rgba(142,27,43,.035); }
.jx-mrow.jx-mrow-premiere:not(.jx-mrow-static):hover{ background:rgba(142,27,43,.07); }
.jx-mrow.jx-mrow-jubilee{ border-left:3px solid var(--jx-gold-500); padding-left:17px; background:var(--jx-gold-a10); }
.jx-mrow.jx-mrow-jubilee:not(.jx-mrow-static):hover{ background:var(--jx-gold-a16); }

@media(max-width:600px){
  .jx-mrow{ grid-template-columns:1fr; gap:8px; padding:20px; align-items:start; }
  .jx-mrow-date{ min-width:0; flex-wrap:wrap; gap:3px 10px; }
  .jx-mrow-day{ font-size:32px; }
  .jx-mrow-title{ font-size:23px; }
  .jx-mrow-buy{ justify-self:end; margin-top:4px; }
}

/* Letölthető dokumentumok */
.jx-dl-section{ background:var(--jx-navy-900); padding:88px var(--jx-pad-inline); }
.jx-dl-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.jx-dl{ display:flex; align-items:center; justify-content:space-between; gap:22px; padding:26px 28px; border:1px solid var(--jx-gold-a22); background:rgba(255,255,255,.014); text-decoration:none; transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
.jx-dl:hover{ background:var(--jx-gold-a10); border-color:var(--jx-gold-a45); }
.jx-dl-title{ font-family:var(--jx-font-display); font-size:22px; font-weight:400; color:#fff; line-height:1.28; margin-bottom:6px; }
.jx-dl-meta{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.32); }
.jx-dl-arrow{ font-size:19px; color:var(--jx-accent); transition:transform var(--jx-dur) var(--jx-ease); flex-shrink:0; }
.jx-dl:hover .jx-dl-arrow{ transform:translateY(3px); }

@media(max-width:1024px){ .jx-dl-section{ padding:72px var(--jx-gutter-tablet); } .jx-dl-grid{ grid-template-columns:1fr; } }
@media(max-width:600px){ .jx-dl-section{ padding:60px var(--jx-gutter-mobile); } }

/* ---------------------------------------------------------------------- */
/* Hír cikkoldal (single-post)                                             */
/* Forrás: info/Hir - cikkoldal.dc.html. A mini-hero a .jx-lhero-t hasz-    */
/* nálja újra (ugyanaz, mint a Hírek lista tetején), a hírlevél szekció    */
/* pedig szó szerint ugyanaz, mint az index.php-ban (is_home ág).          */
/* ---------------------------------------------------------------------- */
.jx-prog{ position:fixed; top:0; left:0; height:2px; background:var(--jx-accent); z-index:210; width:0; opacity:0; transition:width .12s linear, opacity var(--jx-dur-fast) var(--jx-ease); }

.jx-article-head{ background:var(--jx-surface-light); padding:72px var(--jx-pad-inline) 0; }
.jx-article-head-in{ display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; }
.jx-a-meta{ display:flex; align-items:center; gap:10px; font-family:var(--jx-font-ui); font-size:11px; letter-spacing:var(--jx-track-kicker); text-transform:uppercase; color:var(--jx-accent-on-light); margin-bottom:20px; }
.jx-ah1{ margin:0; font-family:var(--jx-font-display); font-size:56px; font-weight:400; line-height:1.08; color:var(--jx-text-heading-light); letter-spacing:-.01em; max-width:20ch; }
.jx-a-lede{ margin:20px 0 0; font-family:var(--jx-font-display); font-size:23px; font-weight:300; font-style:italic; line-height:1.55; color:var(--jx-accent-on-light); max-width:520px; }
.jx-a-fig-frame{ aspect-ratio:4/3; background:var(--jx-cream-300); border:var(--jx-line-cream); overflow:hidden; }
.jx-a-fig-frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.jx-a-fig-cap{ padding-top:13px; font-family:var(--jx-font-ui); font-size:var(--jx-size-note); font-weight:300; color:var(--jx-ink-500); line-height:var(--jx-leading-note); }

@media(max-width:1024px){
  .jx-article-head{ padding:54px var(--jx-gutter-tablet) 0; }
  .jx-article-head-in{ gap:40px; grid-template-columns:1fr 1fr; }
  .jx-ah1{ font-size:42px; }
  .jx-a-lede{ font-size:20px; }
}
@media(max-width:600px){
  .jx-article-head{ padding:40px var(--jx-gutter-mobile) 0; }
  .jx-article-head-in{ grid-template-columns:1fr; gap:30px; }
  .jx-ah1{ font-size:34px; }
  .jx-a-lede{ font-size:19px; margin-top:16px; }
  .jx-a-fig-frame{ aspect-ratio:3/2; }
}

/* Törzsszöveg — a WP szerkesztőből (the_content()) jövő nyers p/h2/ul/blockquote/img
   elemeket stílusozza, nem kézzel írt osztályokat: a hír tartalma szabadon szerkeszthető
   marad az adminban, a design mégis konzisztens a tervvel. */
.jx-article-body-section{ background:var(--jx-surface-light); padding:58px var(--jx-pad-inline) 88px; }
/* overflow-wrap: a the_content()-ben előfordulnak nyers URL-ek linkszövegként
   (pl. az Adatkezelési tájékoztatóban), amik szóköz nélküli, hosszú, egybefüggő
   karakterláncok — enélkül ezek mobilon a konténernél szélesebbre feszítették
   a dobozt, vízszintes görgetést okozva az egész oldalon. */
/* min-width:0 — a .jx-doc-grid rácsban ez a "1fr" oszlop rácseleme; rács-
   (és flex-) elemeknek alapból min-width:auto-juk van, ami azt jelenti, hogy
   a böngésző NEM zsugorítja az elemet a tartalom "min-content" szélessége
   alá — hosszú, törés nélküli szöveg (pl. URL linkszövegként) esetén ez az
   egész oszlopot (és vele a teljes rácsot) kiszélesítette a viewportnál is
   szélesebbre, függetlenül az overflow-wrap-től, ami csak azután lép
   érvénybe, ha a doboz szélessége már véglegesen meg van határozva. */
.jx-article-body{ max-width:740px; margin-inline:auto; min-width:0; font-family:var(--jx-font-ui); overflow-wrap:break-word; }
/* Nullázott specificitású reset :where()-rel, hogy SOHA ne versenyezzen a
   lenti "> * + *" ritmus-szabályokkal — enélkül pl. a ".jx-article-body p"
   (osztály+elem, 0,1,1) magasabb specificitású, mint a ".jx-article-body > *
   + *" (osztály+univerzális, 0,1,0), és némán lenullázza a margin-topot
   minden bekezdésen/címsoron/idézeten/listán, forrás-sorrendtől függetlenül
   (ez okozott egy valós regressziót: a frontend teljesen tömör, sortávolság
   nélküli szöveggé esett össze a szerkesztőben látott blokk-közti térközhöz
   képest — javítva). */
.jx-article-body :where(p, h2, h3, h4, ul, ol, blockquote){ margin:0; }
.jx-article-body > * + *{ margin-top:26px; }
.jx-article-body > * + h2, .jx-article-body > * + h3, .jx-article-body > * + h4{ margin-top:46px; }
.jx-article-body > * + blockquote{ margin-top:34px; }
.jx-article-body p{ font-size:var(--jx-size-lead); line-height:var(--jx-leading-lead); font-weight:300; color:var(--jx-text-on-light); }
.jx-article-body > p:first-of-type{ font-size:19px; line-height:1.75; font-weight:400; }
.jx-article-body strong, .jx-article-body b{ font-weight:500; }
.jx-article-body h2, .jx-article-body h3, .jx-article-body h4{ font-family:var(--jx-font-display); font-weight:500; color:var(--jx-text-heading-light); line-height:1.15; }
.jx-article-body h2{ font-size:32px; }
.jx-article-body h3{ font-size:27px; }
.jx-article-body h4{ font-size:22px; }
.jx-article-body blockquote{ border-left:var(--jx-line-gold); padding:6px 0 6px 30px; }
.jx-article-body blockquote p{ font-family:var(--jx-font-display); font-size:30px; font-weight:300; font-style:italic; line-height:1.45; color:var(--jx-text-heading-light); }
.jx-article-body blockquote cite{ display:block; margin-top:14px; font-family:var(--jx-font-ui); font-size:10.5px; font-style:normal; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-ink-500); }
.jx-article-body ul, .jx-article-body ol{ display:flex; flex-direction:column; gap:12px; padding-left:2px; list-style:none; }
.jx-article-body ul li, .jx-article-body ol li{ position:relative; padding-left:22px; font-size:17px; line-height:1.8; font-weight:300; }
.jx-article-body ul li::before{ content:''; position:absolute; left:0; top:10px; width:6px; height:6px; border:1px solid var(--jx-gold-700); transform:rotate(45deg); }
.jx-article-body ol{ counter-reset:jx-ol; }
.jx-article-body ol li::before{ counter-increment:jx-ol; content:counter(jx-ol) '.'; position:absolute; left:0; top:0; font-family:var(--jx-font-ui); font-size:14px; color:var(--jx-accent-on-light); }
.jx-article-body a{ color:var(--jx-action); text-decoration:underline; text-underline-offset:3px; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-article-body a:hover{ color:var(--jx-crimson-500); }
.jx-article-body img{ width:100%; height:auto; display:block; border:var(--jx-line-cream); }
.jx-article-body figcaption{ padding-top:11px; font-family:var(--jx-font-ui); font-size:var(--jx-size-note); font-weight:300; color:var(--jx-ink-500); line-height:var(--jx-leading-note); }
.jx-article-body table{ width:100%; border-collapse:collapse; font-family:var(--jx-font-ui); font-size:15px; font-weight:300; color:var(--jx-text-on-light); }
.jx-article-body th, .jx-article-body td{ padding:12px 14px; border-bottom:var(--jx-line-cream); text-align:left; }
.jx-article-body th{ font-weight:500; color:var(--jx-text-heading-light); }
.jx-article-body .wp-block-buttons{ display:flex; gap:16px; flex-wrap:wrap; }
.jx-article-body .wp-block-button__link{
  display:inline-flex; align-items:center; gap:10px; padding:17px 40px; background:var(--jx-action); color:#fff;
  font-family:var(--jx-font-ui); font-size:11.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  text-decoration:none; border:none; border-radius:0; box-shadow:none;
  transition:background var(--jx-dur) var(--jx-ease);
}
.jx-article-body .wp-block-button__link:hover{ background:var(--jx-action-hover); }
/* Ugyanaz a kártya-nyelv, mint a Műsor oldal alján a .jx-dl letöltés-rács
   (page-musor.php: cím + kisbetűs uppercase felirat + nyíl-jel, szögletes
   kártya, hoverre árnyék), csak világos alapon — mivel a .jx-article-body
   mindig krém háttéren (.jx-article-body-section) jelenik meg, ez a szabály
   minden the_content()-et használó oldalon (Hír cikk, page.php, Karrier
   leírás stb.) automatikusan egységesen érvényesül, nincs oldalspecifikus
   duplikátum. A WP natív "Fájl" blokk `.wp-block-file__button` linkje a
   WordPress core blokk-stílusából örököl kerekített, hátteres gomb-kinézetet
   — a design rendszer szabálya szerint SEHOL nincs lekerekített gomb, ezért
   `all:unset`-tel teljesen nullázva épül újra, hogy semmilyen külső stílus
   ne szivároghasson át. */
.jx-article-body .wp-block-file{
  position:relative; display:flex; flex-wrap:wrap; align-items:flex-start; row-gap:4px;
  padding:26px 64px 26px 28px; border:var(--jx-line-cream); background:var(--jx-surface-card);
  transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease);
}
.jx-article-body .wp-block-file:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-article-body .wp-block-file > a:first-child{
  flex:1 0 100%; font-family:var(--jx-font-display); font-size:22px; font-weight:400; color:var(--jx-text-heading-light);
  line-height:1.28; text-decoration:none;
}
.jx-article-body .wp-block-file > a:first-child:hover{ color:var(--jx-action); }
.jx-article-body .wp-block-file__button{
  all:unset; cursor:pointer; font-family:var(--jx-font-ui); font-size:10.5px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--jx-text-on-light-muted);
}
.jx-article-body .wp-block-file::after{
  content:'↓'; position:absolute; right:28px; top:50%; transform:translateY(-50%);
  font-size:19px; color:var(--jx-accent-on-light); transition:transform var(--jx-dur) var(--jx-ease);
}
.jx-article-body .wp-block-file:hover::after{ transform:translateY(calc(-50% + 3px)); }

.jx-article-foot{ max-width:740px; margin:56px auto 0; padding-top:30px; border-top:var(--jx-line-cream); display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; align-items:flex-start; }
.jx-share{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.jx-share-k{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-ink-500); }
.jx-share-links{ display:flex; gap:18px; flex-wrap:wrap; }
.jx-share-links a, .jx-share-links button{
  font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--jx-accent-on-light); text-decoration:none; background:none; border:none; padding:0; cursor:pointer;
  transition:color var(--jx-dur-fast) var(--jx-ease);
}
.jx-share-links a:hover, .jx-share-links button:hover{ color:var(--jx-action); }

@media(max-width:1024px){ .jx-article-body-section{ padding:44px var(--jx-gutter-tablet) 64px; } }
@media(max-width:600px){
  .jx-article-body-section{ padding:34px var(--jx-gutter-mobile) 46px; }
  .jx-article-body p{ font-size:16px; }
  .jx-article-body > p:first-of-type{ font-size:17.5px; }
  .jx-article-body blockquote p{ font-size:24px; }
  .jx-article-body blockquote{ padding-left:22px; }
  .jx-article-body h2{ font-size:26px; }
  .jx-article-foot{ flex-direction:column; gap:22px; }
}

/* ---------------------------------------------------------------------- */
/* Kép- és hangfelvétel oldal (page-kep-es-hangfelvetel)                   */
/* Forrás: info/Kep- es hangfelvetel v2.dc.html. A törzsszöveg maga a már  */
/* meglévő .jx-article-body (ld. fent), csak egy sticky tartalomjegyzék    */
/* oszloppal kiegészítve — a TOC a the_content()-ben ténylegesen szereplő  */
/* h2-kből épül fel JS-sel (jatekszin-design-system.js), nincs kézzel      */
/* felvitt menüpont. A záró "Kérdése van?" navy szekció a Kapcsolat        */
/* oldalról ismert .jx-kap-section/.jx-kap-facts komponenseket használja   */
/* újra, nem duplikálja azokat.                                            */
/* ---------------------------------------------------------------------- */
.jx-doc-section{ background:var(--jx-surface-light); padding:var(--jx-section-y-light) var(--jx-pad-inline) 100px; }
.jx-doc-grid{ display:grid; grid-template-columns:264px 1fr; gap:80px; align-items:start; }
.jx-doc-grid .jx-article-body{ margin-inline:0; counter-reset:jx-sec; }
.jx-doc-grid .jx-article-body > h2{ scroll-margin-top:calc(var(--jx-nav-h,84px) + 24px); }
.jx-doc-grid .jx-article-body > h2::before{
  counter-increment:jx-sec; content:counter(jx-sec,decimal-leading-zero); display:block;
  font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.2em; color:var(--jx-accent-on-light); margin-bottom:12px;
}

/* max-height + overflow-y: sok (10+) h2-t tartalmazó dokumentumoknál (pl.
   Adatkezelési tájékoztató, 17 szakasz) enélkül a sticky doboz egyszerűen
   kilógott a viewportból, és az alsó pontok elérhetetlenek voltak — nincs
   saját scroll egy position:sticky elemnek, ha magasabb a látható területnél. */
.jx-toc{ position:sticky; top:calc(var(--jx-nav-h,84px) + 28px); max-height:calc(100vh - var(--jx-nav-h,84px) - 56px); overflow-y:auto; min-width:0; display:flex; flex-direction:column; border-top:var(--jx-line-cream); }
.jx-toc[hidden]{ display:none; }
.jx-toc-title{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:var(--jx-track-kicker); text-transform:uppercase; color:var(--jx-accent-on-light); padding:16px 0; }
.jx-toc-a{
  display:flex; gap:14px; align-items:baseline; padding:10px 0; border-bottom:var(--jx-line-cream);
  font-family:var(--jx-font-ui); font-size:13.5px; line-height:1.5; color:var(--jx-text-on-light-muted); font-weight:300;
  text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease), padding-left var(--jx-dur) var(--jx-ease);
}
.jx-toc-a:hover{ color:var(--jx-text-heading-light); padding-left:5px; }
.jx-toc-a.is-active{ color:var(--jx-text-heading-light); font-weight:400; }
.jx-toc-n{ font-size:9.5px; letter-spacing:.12em; color:var(--jx-accent-on-light); flex-shrink:0; width:16px; }
.jx-toc-a.is-active .jx-toc-n{ color:var(--jx-action); }

.jx-kap-cta{ display:flex; gap:16px; flex-wrap:wrap; margin-top:34px; }

@media(max-width:1180px){ .jx-doc-grid{ grid-template-columns:214px 1fr; gap:56px; } }
@media(max-width:1024px){
  .jx-doc-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet) 76px; }
  .jx-doc-grid{ grid-template-columns:1fr; gap:0; }
  /* max-height/overflow-y csak a sticky (desktop) esethez kell, hogy a hosszú
     lista ne lógjon ki a viewportból — statikus (mobil) elhelyezésnél nincs
     ilyen korlát, itt csak simán, teljes magasságban kell folynia a tartalom
     részeként. Enélkül a lista bezárt, alig-látható belső-scroll dobozként
     jelent meg a cikktörzs teteje fölött, csak az utolsó pontot mutatva. */
  .jx-toc{ position:static; max-height:none; overflow-y:visible; margin-bottom:46px; }
}
@media(max-width:600px){ .jx-doc-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile) 60px; } }

/* ---------------------------------------------------------------------- */
/* Társulat oldal (archive-tarsulat)                                       */
/* Forrás: info/Tarsulat.dc.html. A sticky vezérlősáv a tabokhoz és a       */
/* kereséshez a már meglévő .jx-ctrl/.jx-filters/.jx-fchip/.jx-search       */
/* komponenseket használja újra (ld. Előadások lista),                     */
/* a fő tartalmi szekció maga is a .jx-plist-section-t. Az öt tab-panel     */
/* egyszerre van a DOM-ban, JS-sel váltogatva (archive-tarsulat.php alján). */
/* ---------------------------------------------------------------------- */
.jx-tarsulat-panel[hidden]{ display:none; }
.jx-section-sub{ margin:16px 0 0; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-text-on-light-muted); font-weight:300; max-width:520px; }

.jx-people-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:26px; }
.jx-person{ display:flex; flex-direction:column; background:var(--jx-surface-card); border:var(--jx-line-cream); text-decoration:none; color:inherit; transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
.jx-person[hidden]{ display:none; }
.jx-person:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-person-portrait{ aspect-ratio:3/4; position:relative; overflow:hidden; background-color:var(--jx-navy-900); background-image:linear-gradient(to bottom, var(--jx-navy-800), var(--jx-navy-900)); background-size:cover; background-position:center; }
.jx-person-portrait-placeholder{ position:absolute; inset:0; background-image:var(--jx-texture-hatch); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
.jx-person-portrait-placeholder .jx-ph-mark{ width:44px; height:44px; }
.jx-person-portrait-lbl{ font-family:var(--jx-font-ui); font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.3); text-align:center; padding:0 14px; line-height:1.7; }
.jx-person-body{ padding:18px 20px 22px; }
.jx-person-name{ font-family:var(--jx-font-display); font-size:22px; font-weight:500; color:var(--jx-text-heading-light); line-height:1.2; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-person:hover .jx-person-name{ color:var(--jx-action); }

.jx-tarsulat-further{ margin-top:34px; padding-top:26px; border-top:var(--jx-line-cream); font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-text-on-light-muted); font-weight:300; }
.jx-tarsulat-further[hidden]{ display:none; }
.jx-tarsulat-further strong{ color:var(--jx-text-heading-light); font-weight:500; margin-right:6px; }
.jx-tarsulat-further-link{ color:var(--jx-text-heading-light); text-decoration:none; border-bottom:1px solid var(--jx-cream-300); transition:color var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur-fast) var(--jx-ease); }
.jx-tarsulat-further-link:hover{ color:var(--jx-action); border-color:var(--jx-action); }

.jx-namelist{ display:grid; grid-template-columns:repeat(4,1fr); gap:0 40px; border-top:var(--jx-line-cream); }
.jx-nrow{ font-family:var(--jx-font-display); font-size:20px; font-weight:400; color:var(--jx-text-heading-light); padding:13px 0; border-bottom:var(--jx-line-cream); }
.jx-nrow[hidden]{ display:none; }

.jx-groups{ display:grid; grid-template-columns:repeat(3,1fr); gap:52px 46px; }
.jx-group[hidden]{ display:none; }
.jx-group-title{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.19em; text-transform:uppercase; color:var(--jx-accent-on-light); padding-bottom:12px; border-bottom:var(--jx-line-gold-on-light); margin-bottom:6px; }
.jx-grow{ display:flex; flex-direction:column; gap:2px; padding:13px 0; border-bottom:var(--jx-line-cream); }
.jx-grow[hidden]{ display:none; }
.jx-gname{ font-family:var(--jx-font-display); font-size:21px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.25; }
.jx-grole{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.1em; color:var(--jx-text-on-light-muted); }

.jx-leaders-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.jx-leader{ background:var(--jx-surface-card); border:var(--jx-line-cream); border-top:2px solid var(--jx-gold-700); display:flex; flex-direction:column; transition:box-shadow var(--jx-dur-lift) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease); }
.jx-leader[hidden]{ display:none; }
.jx-leader:hover{ box-shadow:var(--jx-shadow-card-hover); border-color:var(--jx-gold-a45); }
.jx-leader-body{ padding:26px 28px 30px; display:flex; flex-direction:column; gap:9px; }
.jx-leader-role{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-accent-on-light); }
.jx-leader-name{ font-family:var(--jx-font-display); font-size:29px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.15; }

/* Ugyanaz a sorelválasztó ritmus, mint a "Korábbi előadásokban játszott
   színművészek" .jx-namelist-jénél — csak sötét háttérre: a krém vonal
   helyett a halvány fehér változat. */
.jx-memoriam-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0 44px; border-top:var(--jx-line-white-faint); }
.jx-memoriam-name{ font-family:var(--jx-font-display); font-size:21px; font-weight:300; font-style:italic; color:rgba(255,255,255,.62); padding:13px 0; border-bottom:var(--jx-line-white-faint); }

@media(max-width:1180px){
  .jx-people-grid{ grid-template-columns:repeat(4,1fr); }
  .jx-namelist, .jx-memoriam-grid{ grid-template-columns:repeat(3,1fr); }
  .jx-groups{ grid-template-columns:repeat(2,1fr); }
  .jx-leaders-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:1024px){
  .jx-people-grid{ grid-template-columns:repeat(3,1fr); gap:20px; }
  .jx-namelist, .jx-memoriam-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px){
  .jx-people-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .jx-person-name{ font-size:19px; }
  .jx-person-body{ padding:14px 15px 18px; }
  .jx-namelist, .jx-memoriam-grid, .jx-groups{ grid-template-columns:1fr; }
  .jx-groups{ gap:40px; }
  .jx-leaders-grid{ grid-template-columns:1fr; }
}

/* ---------------------------------------------------------------------- */
/* Egyedi tagprofil (single-tarsulat — csak színművészeknek jelenik meg,    */
/* ld. functions.php template_redirect)                                    */
/* Forrás: info/Szinmuvesz page.dc.html. A terv saját .bio/.facts/.past/   */
/* .gal/.quote szekciói a terv saját markupjában sincsenek ténylegesen     */
/* használva (csak a <style>-jában definiáltak, holt CSS — ugyanaz a       */
/* minta, mint a Történetünk/Bemutatkozás terveknél), ezért itt sem        */
/* valósultak meg. A Leírás (ACF "leiras") a hero lead sorában, a Díjak    */
/* (ACF "dijak" repeater: nev + ev) külön sötét sávban jelenik meg —       */
/* mindkettő csak akkor, ha van tartalma. A "szuletesi_datum" és a terv    */
/* fiktív idézete felhasználói döntés alapján kimaradt.                    */
/* A produkciós kártyarács a meglévő .jx-pgrid/.jx-pcard-ot (Előadások     */
/* lista) használja újra, nincs hozzá külön komponens.                     */
/* ---------------------------------------------------------------------- */
.jx-mhero{ position:relative; padding:calc(var(--jx-nav-h-top,84px) + 126px) var(--jx-pad-inline) 88px; overflow:hidden; background:var(--jx-navy-900); }
.jx-mhero-bg{ position:absolute; inset:0; background-image:var(--jx-glow-spotlight), linear-gradient(to bottom, var(--jx-navy-800) 0%, var(--jx-navy-900) 100%); }
.jx-mhero-texture{ position:absolute; inset:0; background-image:var(--jx-texture-curtain); pointer-events:none; }
/* minmax(0,…) a puszta fr helyett: enélkül egy hosszú, tördeletlen név a szűkebb
   tabletsávban szétfeszítené a rácsot (a fr alapmérete auto = min-content). */
.jx-mhero-in{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:70px; align-items:end; }
.jx-mhero-portrait .jx-person-portrait{ aspect-ratio:1/1; }
/* A .jx-lhero-sub alap max-width-je (430px) rövid, 1-2 mondatos oldal-leadhez
   van méretezve — itt viszont ez a színművész teljes bemutatkozó szövege, azaz
   az oldal fő szövegtörzse, amit 430px fölöslegesen keskeny csíkká szűkített a
   ~750px-es hasábban. Csak .jx-mhero-re szűkítve, hogy a többi oldal (Előadások,
   Hírek, Jegyek… .jx-lhero-je) változatlan maradjon. Külön felső korlát nem kell:
   a hasáb szélességét már a 1500px-es konténer megfogja (max ~750px). */
.jx-mhero .jx-lhero-sub{ max-width:none; }

@media(max-width:1180px){ .jx-mhero-in{ gap:48px; } .jx-mhero .jx-lhero-title{ font-size:60px; } }
/* Táblagépen a portré és a név MARAD egymás mellett. A korábbi verzió itt már
   egyhasábosra váltott (portré order:-1), ami a képet jóval a név és a leírás
   fölé dobta, pedig 1024px-en még kényelmesen elfér a két hasáb (2×~450px).
   Az egyhasábos, képpel kezdődő elrendezés csak a mobil sávban indokolt. */
@media(max-width:1024px){
  .jx-mhero{ padding:150px var(--jx-gutter-tablet) 64px; }
  .jx-mhero-in{ gap:40px; }
  .jx-mhero .jx-lhero-title{ font-size:52px; }
}
/* A rendszer szokásos 600px-es mobil határa helyett itt 760px a váltás — ez az
   egyetlen hely, ahol ez indokolt: 760px alatt a szövegoszlop ~250px-re szűkül
   (14 soros bekezdés egy 228px-es portré mellett), ott már tényleg a képpel
   kezdődő, teljes szélességű elrendezés a jobb. Fölötte viszont marad a két
   hasáb, 1024px-en is (2×~450px). */
@media(max-width:760px){
  .jx-mhero-in{ grid-template-columns:1fr; gap:32px; align-items:start; }
  .jx-mhero-portrait{ order:-1; max-width:420px; }
}
@media(max-width:600px){
  .jx-mhero{ padding:130px var(--jx-gutter-mobile) 52px; }
  .jx-mhero .jx-lhero-title{ font-size:44px; }
}

/* Díjak és elismerések (ACF "dijak" repeater). A terv holt .past/.prow
   sorritmusát veszi át — 64px-es arany évszám-oszlop + serif díjnév —,
   sötét sávban a hero és a világos előadás-lista között, ugyanazzal a
   navy-700 + arany hajszálvonal recepttel, mint a .jx-highlights-section. */
.jx-awards-section{ background:var(--jx-navy-700); padding:var(--jx-section-y-dark) var(--jx-pad-inline); border-top:var(--jx-line-gold-faint); }
.jx-awards-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 64px; border-top:var(--jx-line-gold); }
.jx-award-row{ display:grid; grid-template-columns:64px 1fr; gap:18px; align-items:baseline; padding:16px 0; border-bottom:var(--jx-line-white-faint); }
.jx-award-row-noyear{ grid-template-columns:1fr; }
.jx-award-year{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.12em; color:var(--jx-accent); }
.jx-award-name{ font-family:var(--jx-font-display); font-size:22px; font-weight:400; line-height:1.3; color:rgba(255,255,255,.9); }

@media(max-width:1024px){
  .jx-awards-section{ padding:var(--jx-section-y-tablet) var(--jx-gutter-tablet); }
  .jx-awards-list{ gap:0 40px; }
}
@media(max-width:600px){
  .jx-awards-section{ padding:var(--jx-section-y-mobile) var(--jx-gutter-mobile); }
  .jx-awards-list{ grid-template-columns:1fr; }
  .jx-award-name{ font-size:19px; }
}

/* ---------------------------------------------------------------------- */
/* Karrier oldal (archive-karrier / single-karrier)                        */
/* Forrás: info/Karrier.dc.html és info/Karrier - Single.dc.html. A mini-  */
/* hero mindkét oldalon a .jx-lhero-t, a hirdetés-tartalmi szekció kerete  */
/* a .jx-plist-section-t használja újra; a single oldal hero tényadat-     */
/* sávja a .jx-pquickmeta-t (ld. Előadás oldal), a leírás pedig a          */
/* .jx-article-body-t (ld. Hír cikkoldal / page.php). A karrier CPT-n      */
/* nincs a tervben szereplő strukturált "Feladatok/Elvárások" repeater és  */
/* pozíciónkénti jelentkezési e-mail sem — a leírás szabad the_content()-  */
/* ként jelenik meg, a jelentkezés pedig mindig a muszakivezeto@jatekszin.hu */
/* címre megy (felhasználói döntés, nem a terv szerinti pozíciónkénti      */
/* cím). A "Jelentkezési határidő" viszont valós ACF mező                  */
/* (jelentkezesi_hatarido), azt a terv szerint jelenítjük meg.             */
/* ---------------------------------------------------------------------- */
.jx-joblist{ display:flex; flex-direction:column; border-top:var(--jx-line-cream); }
.jx-jobrow{ display:block; text-decoration:none; color:inherit; border-bottom:var(--jx-line-cream); }
.jx-jobrow-head{ display:flex; align-items:center; gap:32px; padding:28px 0; transition:background var(--jx-dur-fast) var(--jx-ease), padding-inline var(--jx-dur-fast) var(--jx-ease), margin var(--jx-dur-fast) var(--jx-ease); }
.jx-jobrow:hover .jx-jobrow-head{ background:var(--jx-gold-a10); margin-inline:-20px; padding-inline:20px; }
.jx-job-date{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--jx-accent-on-light); width:150px; flex-shrink:0; }
.jx-job-main{ display:flex; flex-direction:column; gap:8px; flex:1; min-width:0; }
.jx-job-title{ font-family:var(--jx-font-display); font-size:32px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.15; transition:color var(--jx-dur) var(--jx-ease); }
.jx-jobrow:hover .jx-job-title{ color:var(--jx-action); }
.jx-job-lede{ font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-text-on-light-muted); font-weight:300; max-width:560px; }
.jx-job-meta{ display:flex; gap:10px; flex-wrap:wrap; flex-shrink:0; max-width:280px; justify-content:flex-end; }
.jx-job-tag{ font-family:var(--jx-font-ui); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-text-on-light-muted); border:var(--jx-line-cream); padding:7px 13px; }
.jx-job-tag.jx-gold{ color:var(--jx-accent-on-light); border-color:var(--jx-gold-a30); }
.jx-job-toggle{ font-family:var(--jx-font-ui); font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--jx-text-heading-light); white-space:nowrap; flex-shrink:0; text-align:center; border:1px solid rgba(28,26,24,.2); padding:15px 30px; transition:border-color var(--jx-dur) var(--jx-ease), background var(--jx-dur) var(--jx-ease); }
.jx-jobrow:hover .jx-job-toggle{ border-color:var(--jx-gold-700); background:var(--jx-gold-a10); }

.jx-job-empty{ padding:70px 0; border-top:var(--jx-line-cream); border-bottom:var(--jx-line-cream); font-family:var(--jx-font-display); font-size:29px; font-weight:300; font-style:italic; color:var(--jx-text-heading-light); display:flex; flex-direction:column; align-items:flex-start; }
.jx-job-empty-sub{ font-family:var(--jx-font-ui); font-style:normal; font-size:15px; line-height:1.8; color:var(--jx-text-on-light-muted); font-weight:300; max-width:520px; margin-top:16px; }

.jx-apply-section{ background:var(--jx-cream-300); padding:96px var(--jx-pad-inline); }
.jx-apply-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; }
.jx-apply-h{ margin:14px 0 0; font-family:var(--jx-font-display); font-size:38px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.1; }
.jx-apply-h em{ font-style:italic; color:var(--jx-accent-on-light); }
.jx-apply-body{ font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-text-on-light-muted); font-weight:300; margin-top:18px; max-width:520px; }
.jx-apply-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.jx-apply-contacts{ display:flex; flex-direction:column; border-top:var(--jx-line-cream); }
.jx-apply-crow{ display:flex; justify-content:space-between; gap:24px; padding:18px 0; border-bottom:var(--jx-line-cream); flex-wrap:wrap; }
.jx-apply-crow-l{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-text-on-light-muted); }
.jx-apply-crow-v{ font-family:var(--jx-font-display); font-size:20px; color:var(--jx-text-heading-light); }
.jx-apply-crow-v a{ text-decoration:none; color:inherit; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-apply-crow-v a:hover{ color:var(--jx-action); }

/* Single álláshirdetés oldal — a hero tényadat-sáv itt saját, dedikált       */
/* komponens (nem a .jx-pquickmeta újrahasznosítása), mert a terv            */
/* (info/Karrier - Single.dc.html) szerint teljes szélességű, csak felső      */
/* vonallal határolt sáv, arany (nem fehér) értékszínnel — szándékosan eltér  */
/* az Előadás oldal .jx-phero-beli .jx-pquickmeta-jától.                      */
.jx-job-facts{ position:relative; z-index:2; display:flex; gap:64px; margin-top:52px; padding-top:30px; border-top:1px solid rgba(197,168,74,.18); flex-wrap:wrap; }
.jx-job-fact-l{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.38); }
.jx-job-fact-v{ font-family:var(--jx-font-display); font-size:24px; font-weight:400; color:var(--jx-gold-300); margin-top:9px; }
.jx-job-layout{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:72px; align-items:start; }
.jx-job-apply{ position:sticky; top:calc(var(--jx-nav-h,84px) + 34px); background:var(--jx-surface-card); border:var(--jx-line-cream); border-top:2px solid var(--jx-action); padding:32px 32px 36px; display:flex; flex-direction:column; gap:16px; }
.jx-job-apply .jx-btn{ justify-content:center; }
.jx-job-apply-t{ font-family:var(--jx-font-display); font-size:27px; font-weight:500; color:var(--jx-text-heading-light); line-height:1.2; }
.jx-job-apply-b{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-note); line-height:var(--jx-leading-note); color:var(--jx-text-on-light-muted); font-weight:300; }
.jx-job-apply-b a{ color:var(--jx-action); border-bottom:1px solid rgba(142,27,43,.3); text-decoration:none; }
.jx-job-apply-b a:hover{ color:var(--jx-action-hover); }
.jx-job-apply-dl{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-accent-on-light); padding-top:16px; border-top:var(--jx-line-cream); }

.jx-job-back-section{ background:var(--jx-cream-300); padding:56px var(--jx-pad-inline); display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.jx-job-back-t{ font-family:var(--jx-font-display); font-size:30px; font-weight:400; color:var(--jx-text-heading-light); }
.jx-job-back-t em{ font-style:italic; color:var(--jx-accent-on-light); }

@media(max-width:1180px){
  .jx-jobrow-head{ gap:24px; }
  .jx-job-date{ width:118px; }
  .jx-job-layout{ grid-template-columns:minmax(0,1fr) 300px; gap:48px; }
}
@media(max-width:1024px){
  .jx-jobrow-head{ flex-wrap:wrap; gap:14px 24px; }
  .jx-job-date{ width:auto; order:-1; flex-basis:100%; }
  .jx-job-main{ flex-basis:100%; }
  .jx-job-title{ font-size:27px; }
  .jx-job-meta{ max-width:none; width:100%; flex-basis:100%; flex-shrink:1; justify-content:flex-start; }
  .jx-apply-section{ padding:72px var(--jx-gutter-tablet); }
  .jx-apply-grid{ grid-template-columns:1fr; gap:44px; }
  .jx-apply-h{ font-size:31px; }
  .jx-job-facts{ gap:40px; margin-top:40px; }
  .jx-job-layout{ grid-template-columns:1fr; gap:44px; }
  .jx-job-apply{ position:static; }
  .jx-job-back-section{ padding:44px var(--jx-gutter-tablet); }
  .jx-job-back-t{ font-size:26px; }
}
@media(max-width:600px){
  .jx-job-title{ font-size:24px; }
  .jx-apply-section{ padding:56px var(--jx-gutter-mobile); }
  .jx-job-facts{ gap:26px; }
  .jx-job-fact-v{ font-size:20px; }
  .jx-job-apply{ padding:24px; }
  .jx-job-back-section{ padding:38px var(--jx-gutter-mobile); }
  .jx-job-back-t{ font-size:23px; }
}

/* Védőszabály: ha egy oldalvégi plugin/stílus ::before/::after-rel ikont     */
/* fűzne a mailto-linkekhez (pl. külső-link jelölő), ezen a gombon ne         */
/* jelenjen meg — a tervben itt nincs ikon, csak szöveg.                     */
.jx-job-apply a.jx-btn::before, .jx-job-apply a.jx-btn::after{ content:none !important; }

/* ---------------------------------------------------------------------- */
/* Kapcsolat (page-kapcsolat.php)                                          */
/* Forrás: info/Kapcsolat.dc.html. A hero tényadat-sávja a Karrier single    */
/* oldalról ismert .jx-job-facts-t használja újra (teljes szélességű, csak   */
/* felső vonallal határolt, arany értékszínű sáv — vizuálisan azonos).       */
/* ---------------------------------------------------------------------- */
.jx-dir-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; background:var(--jx-surface-light); border-top:var(--jx-line-cream); border-left:var(--jx-line-cream); }
.jx-dept{ background:var(--jx-surface-card); padding:30px 30px 32px; display:flex; flex-direction:column; gap:20px; border-right:var(--jx-line-cream); border-bottom:var(--jx-line-cream); transition:box-shadow var(--jx-dur-lift) var(--jx-ease); }
.jx-dept:hover{ box-shadow:var(--jx-shadow-card-hover); position:relative; z-index:2; }
.jx-dept-head{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.jx-dept-name{ font-family:var(--jx-font-display); font-size:26px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.14; }
.jx-dept-note{ font-family:var(--jx-font-ui); font-size:var(--jx-size-note); line-height:var(--jx-leading-note); color:var(--jx-text-on-light-muted); font-weight:300; }
.jx-dept-rows{ display:flex; flex-direction:column; gap:13px; flex:1; min-width:0; }
.jx-drow{ display:flex; flex-direction:column; gap:5px; }
.jx-drow-l{ font-family:var(--jx-font-ui); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--jx-text-on-light-muted); }
.jx-drow-v{ font-family:var(--jx-font-ui); font-size:15px; line-height:1.55; color:var(--jx-text-on-light); font-weight:300; }
.jx-drow-v a{ color:inherit; text-decoration:none; border-bottom:var(--jx-line-gold-on-light); transition:color var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur-fast) var(--jx-ease); }
.jx-drow-v a:hover{ color:var(--jx-action); border-color:var(--jx-action); }

.jx-kap-section{ background:var(--jx-cream-300); padding:92px var(--jx-pad-inline); }
.jx-kap-section.jx-on-dark{ background:var(--jx-navy-900); }
.jx-kap-grid{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.jx-kap-h{ margin:14px 0 0; font-family:var(--jx-font-display); font-size:38px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.1; }
.jx-kap-h em{ font-style:italic; color:var(--jx-accent-on-light); }
.jx-kap-h.jx-on-dark{ color:#fff; }
.jx-kap-h.jx-on-dark em{ color:var(--jx-gold-300); }
.jx-kap-b{ margin-top:20px; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:var(--jx-text-on-light-muted); font-weight:300; max-width:560px; }
.jx-kap-b + .jx-kap-b{ margin-top:14px; }
.jx-kap-b.jx-on-dark{ color:rgba(255,255,255,.5); }
.jx-kap-note{ margin-top:26px; padding-top:22px; border-top:var(--jx-line-cream); font-family:var(--jx-font-ui); font-size:var(--jx-size-note); line-height:var(--jx-leading-note); color:var(--jx-text-on-light-muted); font-weight:300; max-width:560px; }
.jx-kap-note a{ color:var(--jx-accent-on-light); border-bottom:var(--jx-line-gold-on-light); text-decoration:none; transition:color var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur-fast) var(--jx-ease); }
.jx-kap-note a:hover{ color:var(--jx-action); border-color:var(--jx-action); }

.jx-kap-facts{ display:flex; flex-direction:column; border-top:var(--jx-line-cream); margin-top:26px; }
.jx-kap-fact{ display:flex; justify-content:space-between; gap:24px; padding:16px 0; border-bottom:var(--jx-line-cream); flex-wrap:wrap; }
.jx-kap-fact-l{ padding-top:5px; font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--jx-text-on-light-muted); }
.jx-kap-fact-v{ font-family:var(--jx-font-display); font-size:19px; color:var(--jx-text-heading-light); text-align:right; line-height:1.4; max-width:340px; }
.jx-kap-fact-v a{ color:inherit; text-decoration:none; border-bottom:var(--jx-line-gold-on-light); transition:color var(--jx-dur-fast) var(--jx-ease), border-color var(--jx-dur-fast) var(--jx-ease); }
.jx-kap-fact-v a:hover{ color:var(--jx-action); border-color:var(--jx-action); }
.jx-kap-facts.jx-on-dark{ border-top-color:rgba(255,255,255,.12); }
.jx-kap-facts.jx-on-dark .jx-kap-fact{ border-bottom-color:rgba(255,255,255,.09); }
.jx-kap-facts.jx-on-dark .jx-kap-fact-l{ color:rgba(255,255,255,.4); }
.jx-kap-facts.jx-on-dark .jx-kap-fact-v{ color:var(--jx-gold-300); }

.jx-kap-map{ border:var(--jx-line-cream); background:var(--jx-navy-800); min-height:340px; position:relative; overflow:hidden; }
.jx-kap-map-frame{ position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(65%) brightness(.92) contrast(1.05); transition:filter var(--jx-dur) var(--jx-ease); }
.jx-kap-map-frame:hover, .jx-kap-map-frame:focus{ filter:none; }

@media(max-width:1180px){ .jx-dir-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:1024px){
  .jx-kap-section{ padding:72px var(--jx-gutter-tablet); }
  .jx-kap-grid{ grid-template-columns:1fr; gap:44px; }
  .jx-kap-h{ font-size:31px; }
}
@media(max-width:600px){
  .jx-dir-grid{ grid-template-columns:1fr; }
  .jx-dept{ padding:26px 22px; }
  .jx-kap-section{ padding:56px var(--jx-gutter-mobile); }
  .jx-kap-fact{ flex-direction:column; gap:6px; }
  .jx-kap-fact-v{ text-align:left; max-width:none; }
}

/* ---------------------------------------------------------------------- */
/* Történetünk oldal (page-tortenetunk)                                    */
/* Forrás: info/Tortenetunk.dc.html. A hero maga a már meglévő .jx-lhero,  */
/* egy alatta futó számsávval kiegészítve. A záró CTA szekció a Kapcsolat  */
/* oldalról ismert .jx-kap-section/.jx-kap-grid-et használja újra (szöveg  */
/* + kép, ugyanaz a mintázat, mint ott szöveg + térkép-iframe). Az         */
/* időrendi tartalom (évek/nevek/idézetek) valós, már publikált the_content()   */
/* szöveg — csak kézzel struktúrált bejegyzésekké bontva (nincs hozzá ACF  */
/* repeater), ugyanaz a minta, mint az "Amire büszkék vagyunk" vagy a      */
/* Karrier statikus Alkotók/Munkatársak listái. A bejegyzések fade-up      */
/* animációja a meglévő .jx-reveal/IntersectionObserver rendszert         */
/* használja (jatekszin-design-system.js), nincs hozzá külön scroll-logika */
/* — csak a rail év/korszak-váltás és a spine/progress-sáv kitöltése új,   */
/* mert az folyamatos scroll-pozícióhoz kötött, nem egyszeri belépés.      */
/* ---------------------------------------------------------------------- */
.jx-hero-stats{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); gap:44px; margin-top:60px; padding-top:30px; border-top:var(--jx-line-gold-faint); }
.jx-hero-stat-v{ font-family:var(--jx-font-display); font-size:42px; font-weight:300; color:var(--jx-gold-300); line-height:1; }
.jx-hero-stat-l{ margin-top:11px; font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.17em; text-transform:uppercase; color:rgba(255,255,255,.42); }

.jx-tl-section{ position:relative; background:var(--jx-navy-900); background-image:radial-gradient(ellipse 46% 520px at 18% 0%, rgba(197,168,74,.09) 0%, transparent 66%); background-repeat:no-repeat; padding:100px var(--jx-pad-inline) 116px; }
.jx-tl-grid{ position:relative; display:grid; grid-template-columns:280px 1fr; gap:80px; align-items:start; }

.jx-tl-rail{ position:sticky; top:0; height:100vh; display:flex; flex-direction:column; justify-content:center; gap:24px; }
.jx-tl-rail-k{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.35); }
.jx-tl-rail-year{ font-family:var(--jx-font-display); font-size:96px; font-weight:300; line-height:.9; color:var(--jx-gold-300); letter-spacing:-.02em; }
.jx-tl-rail-era{ font-family:var(--jx-font-display); font-size:22px; font-weight:400; font-style:italic; color:rgba(255,255,255,.62); line-height:1.3; min-height:30px; }
.jx-tl-progress{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.jx-tl-progress-track{ position:relative; height:1px; background:rgba(255,255,255,.14); }
.jx-tl-progress-fill{ position:absolute; left:0; top:0; height:1px; width:0; background:var(--jx-accent); transition:width .18s linear; }
.jx-tl-progress-fill::after{ content:''; position:absolute; right:-2px; top:-2px; width:5px; height:5px; background:var(--jx-accent); box-shadow:0 0 12px 3px rgba(197,168,74,.5); }
.jx-tl-progress-labels{ display:flex; justify-content:space-between; font-family:var(--jx-font-ui); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.32); }

.jx-tl-track{ position:relative; padding-left:58px; display:flex; flex-direction:column; gap:104px; }
.jx-tl-spine{ position:absolute; left:0; top:6px; bottom:0; width:1px; background:var(--jx-gold-a16); }
.jx-tl-spine-fill{ position:absolute; left:0; top:0; width:1px; height:0; background:linear-gradient(to bottom, rgba(197,168,74,.35), var(--jx-accent)); box-shadow:0 0 18px 1px rgba(197,168,74,.32); }

.jx-tl-entry{ position:relative; max-width:800px; }
.jx-tl-entry > * + *{ margin-top:20px; }
.jx-tl-entry-dot{ position:absolute; left:-62px; top:4px; width:9px; height:9px; border:1px solid var(--jx-gold-a45); background:var(--jx-navy-900); transform:rotate(45deg); transition:background .5s var(--jx-ease), border-color .5s var(--jx-ease), box-shadow .5s var(--jx-ease); }
.jx-tl-entry.is-lit .jx-tl-entry-dot{ background:var(--jx-accent); border-color:var(--jx-accent); box-shadow:0 0 16px 3px rgba(197,168,74,.35); }
.jx-tl-entry-date{ margin-top:0; display:flex; align-items:center; gap:14px; font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--jx-accent); }
.jx-tl-entry-date span{ color:rgba(255,255,255,.34); letter-spacing:.16em; }
.jx-tl-entry-title{ font-family:var(--jx-font-display); font-size:38px; font-weight:300; color:#fff; line-height:1.1; letter-spacing:-.01em; max-width:640px; }
.jx-tl-entry-title em{ font-style:italic; color:var(--jx-gold-300); }
.jx-tl-entry-body{ font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); color:rgba(255,255,255,.52); font-weight:300; max-width:600px; }
.jx-tl-entry-body + .jx-tl-entry-body{ margin-top:-8px; }
.jx-tl-entry-names{ display:flex; flex-wrap:wrap; gap:10px; }
.jx-tl-tag{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--jx-gold-300); border:1px solid var(--jx-gold-a30); padding:8px 14px; }
.jx-tl-quote{ font-family:var(--jx-font-display); font-size:24px; font-weight:300; font-style:italic; line-height:1.5; color:var(--jx-gold-300); border-left:var(--jx-line-gold); padding-left:24px; max-width:580px; }

.jx-tl-media{ position:relative; margin-top:4px; }
.jx-tl-frame{ overflow:hidden; height:400px; }
.jx-tl-frame img{ display:block; width:100%; height:100%; object-fit:cover; }
.jx-tl-media-placeholder{ height:320px; background-color:var(--jx-navy-800); background-image:var(--jx-texture-hatch); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; border:var(--jx-line-gold-faint); }
.jx-tl-media-img{ display:block; width:100%; height:auto; border:var(--jx-line-gold-faint); }
.jx-tl-media-img.is-portrait{ width:auto; max-width:100%; max-height:560px; }
.jx-tl-media-placeholder .jx-ph-mark{ border-color:var(--jx-accent); }
.jx-tl-media-cap{ font-family:var(--jx-font-ui); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(232,213,163,.55); text-align:center; line-height:1.9; padding:0 20px; }
.jx-tl-media-figcap{ margin-top:12px; font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.32); }

.jx-tl-closing-media{ width:100%; height:520px; position:relative; overflow:hidden; background-color:var(--jx-navy-800); }
.jx-tl-closing-media:not(.is-placeholder){ height:auto; align-self:center; }
.jx-tl-closing-media:not(.is-placeholder) img{ height:auto; object-fit:contain; }
.jx-tl-closing-media img,
.jx-tl-closing-media video{ display:block; width:100%; height:100%; object-fit:cover; }
.jx-tl-closing-media.is-placeholder{ background-image:var(--jx-texture-hatch); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; }
.jx-tl-closing-media.is-placeholder .jx-ph-mark{ border-color:var(--jx-gold-700); }
.jx-tl-closing-media.is-placeholder .jx-tl-media-cap{ color:var(--jx-text-on-light-muted); }

@media(max-width:1180px){
  .jx-tl-grid{ grid-template-columns:230px 1fr; gap:56px; }
  .jx-tl-rail-year{ font-size:74px; }
  .jx-tl-entry-title{ font-size:32px; }
}
@media(max-width:1024px){
  .jx-hero-stats{ grid-template-columns:repeat(2,1fr); gap:32px; margin-top:44px; }
  .jx-tl-section{ padding:0 var(--jx-gutter-tablet) 80px; }
  .jx-tl-grid{ grid-template-columns:1fr; gap:0; }
  .jx-tl-rail{
    position:sticky; top:var(--jx-nav-h,84px); height:auto; z-index:20; flex-direction:row; align-items:baseline; gap:16px;
    padding:16px 0 14px; background:var(--jx-bar-bg); backdrop-filter:var(--jx-blur-bar);
    border-bottom:var(--jx-line-gold-faint); margin:0 calc(var(--jx-gutter-tablet) * -1); padding-inline:var(--jx-gutter-tablet);
  }
  .jx-tl-rail-k, .jx-tl-progress{ display:none; }
  .jx-tl-rail-year{ font-size:36px; }
  .jx-tl-rail-era{ font-size:16px; min-height:0; }
  .jx-tl-track{ padding-left:36px; gap:76px; padding-top:52px; }
  .jx-tl-entry-dot{ left:-40px; }
  .jx-tl-entry-title{ font-size:28px; }
  .jx-tl-frame{ height:280px; }
  .jx-tl-media-placeholder{ height:230px; }
  .jx-tl-closing-media{ height:360px; }
}
@media(max-width:600px){
  .jx-hero-stats{ gap:26px; }
  .jx-hero-stat-v{ font-size:32px; }
  .jx-tl-section{ padding:0 var(--jx-gutter-mobile) 60px; }
  .jx-tl-rail{ margin:0 calc(var(--jx-gutter-mobile) * -1); padding-inline:var(--jx-gutter-mobile); top:var(--jx-nav-h,54px); }
  .jx-tl-rail-year{ font-size:30px; }
  .jx-tl-rail-era{ font-size:14px; }
  .jx-tl-track{ padding-left:26px; gap:60px; }
  .jx-tl-entry-dot{ left:-30px; }
  .jx-tl-entry-title{ font-size:24px; }
  .jx-tl-quote{ font-size:19px; padding-left:16px; }
  .jx-tl-frame{ height:220px; }
  .jx-tl-media-placeholder{ height:190px; }
  .jx-tl-closing-media{ height:280px; }
}
@media(prefers-reduced-motion:reduce){ .jx-tl-entry-dot{ transition:none; } }

/* ---------------------------------------------------------------------- */
/* Bemutatkozás oldal (page-rolunk)                                        */
/* Forrás: info/Bemutatkozas.dc.html. Az igazgatói köszöntő maga a már     */
/* meglévő .jx-article-body (the_content(), szabadon szerkeszthető marad   */
/* az adminban) — nincs kézzel bemásolt levélszöveg, nincs iniciálé/       */
/* dropcap sem, mert egyetlen más the_content()-es oldalnak sincs (Hír     */
/* cikkoldal, page.php, Karrier leírás, dokumentum-oldalak) — ez törné a   */
/* konzisztenciát. Az oldalsáv a .jx-doc-grid/.jx-toc már meglévő          */
/* mintáját bővíti egy portréval: .jx-person-portrait/-placeholder (ld.    */
/* Társulat oldal) a valós tarsulat-CPT "Bank Tamás" bejegyzéséből, ha     */
/* létezik, egyébként a megszokott hatch-placeholder — soha nincs kitalált */
/* fotó. A záró szekció a Kapcsolat/Kép- és hangfelvétel oldalról ismert   */
/* .jx-kap-section/.jx-kap-facts-et használja újra.                        */
/* ---------------------------------------------------------------------- */
.jx-rolunk-aside{ position:sticky; top:calc(var(--jx-nav-h,84px) + 28px); display:flex; flex-direction:column; gap:22px; }
.jx-rolunk-who{ display:flex; flex-direction:column; gap:6px; }
.jx-rolunk-aside .jx-toc{ position:static; }
/* Az igazgató díjai az aside-ban: pontosan a .jx-toc / .jx-toc-a ritmusa és betűtípusa (nem link, ezért hover nélkül), hogy a két lista egy rendszernek hasson. */
.jx-rolunk-awards{ display:flex; flex-direction:column; border-top:var(--jx-line-cream); }
.jx-rolunk-award{ display:flex; gap:14px; align-items:baseline; padding:10px 0; border-bottom:var(--jx-line-cream); font-family:var(--jx-font-ui); font-size:13.5px; line-height:1.5; color:var(--jx-text-on-light-muted); font-weight:300; }
.jx-rolunk-award-year{ font-size:9.5px; letter-spacing:.12em; color:var(--jx-accent-on-light); flex-shrink:0; }
@media(max-width:1024px){ .jx-rolunk-aside{ position:static; } }

/* A levél törzse the_content()-ből jön (a keret — üdvözlés + aláírás —      */
/* kézzel van a sablonba írva), de a .jx-article-body osztályon marad, hogy  */
/* a bekezdés/idézet tipográfia és ritmus megegyezzen a többi prózaoldallal. */
/* Az üdvözlés + aláírás ezt a személyes-levél jelleget adja hozzá,          */
/* kizárólag a .jx-rolunk-letter kontextusban — nem szivárog át egy másik    */
/* the_content()-es oldalra sem. (Az iniciálé/dropcap kipróbálva, majd       */
/* felhasználói kérésre eltávolítva — furán nézett ki.)                      */
.jx-rolunk-salut{ font-family:var(--jx-font-display); font-size:36px; font-weight:300; line-height:1.22; color:var(--jx-text-heading-light); letter-spacing:var(--jx-track-display); }
.jx-rolunk-salut em{ font-style:italic; color:var(--jx-accent-on-light); }
/* Felhasználói kérésre: az első bekezdés ne térjen el semmiben a többitől  */
/* (a .jx-article-body megosztott szabálya a lede-bekezdésnek nagyobb        */
/* méretet/félkövér súlyt ad) — csak ezen az oldalon, a többi the_content()- */
/* es oldal (Hír cikk, Karrier, jogi oldalak) változatlan.                   */
.jx-rolunk-letter > p:first-of-type{ font-size:var(--jx-size-lead); line-height:var(--jx-leading-lead); font-weight:300; }
.jx-rolunk-sign{ display:flex; flex-direction:column; gap:7px; padding-top:24px; border-top:var(--jx-line-gold-faint); }
.jx-rolunk-sign .jx-leader-name{ font-size:34px; font-style:italic; }
@media(max-width:600px){
  .jx-rolunk-salut{ font-size:29px; }
  .jx-rolunk-sign .jx-leader-name{ font-size:28px; }
}

/* ---------------------------------------------------------------------- */
/* 404 oldal                                                               */
/* Forrás: info/404.dc.html. A nav/lábléc a megszokott globális             */
/* komponens (navigation.php/footer.php), nincs újraírva. A hero a         */
/* meglévő .jx-hero-eyebrow/.jx-hero-title/.jx-hero-sub/.jx-hero-btns       */
/* tipográfiát használja újra (mint a főoldal hero-ja), a tényadat-sáv a    */
/* Kapcsolat/Karrier oldalról ismert .jx-job-facts — csak a page-specifikus */
/* teljes-viewport elrendezés (.jx-404-stage) és a háttérbeli óriás "404"   */
/* szám (.jx-404-ghost) új, mert egyetlen más oldalnak sincs ilyen          */
/* elrendezése. A "Talán ezt keresi" kártyák (.jx-404-card) a .jx-dept/     */
/* .jx-pcard bordázott rács-mintáját követik, a "Megnyitás" címke maga a    */
/* már meglévő .jx-pcard-link.                                             */
/* ---------------------------------------------------------------------- */
.jx-404-stage{
  position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  overflow:hidden; background:var(--jx-navy-900);
  padding:calc(var(--jx-nav-h-top,84px) + 96px) var(--jx-pad-inline) 96px;
}
.jx-404-bg{
  position:absolute; inset:0;
  background-image:var(--jx-glow-spotlight), linear-gradient(to bottom, var(--jx-navy-800) 0%, var(--jx-navy-900) 62%, #080F1D 100%);
}
.jx-404-ghost{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-54%); z-index:1;
  font-family:var(--jx-font-display); font-size:clamp(260px,34vw,560px); font-weight:300; line-height:.8;
  letter-spacing:.02em; color:rgba(197,168,74,.055); pointer-events:none; user-select:none; white-space:nowrap;
}
.jx-404-in{ position:relative; z-index:2; max-width:820px; }

@media(max-width:1024px){
  .jx-404-stage{ padding:calc(var(--jx-nav-h-top,84px) + 64px) var(--jx-gutter-tablet) 72px; }
}
@media(max-width:600px){
  .jx-404-stage{ padding:calc(var(--jx-nav-h-top,54px) + 56px) var(--jx-gutter-mobile) 56px; min-height:auto; }
  .jx-404-ghost{ font-size:clamp(170px,58vw,300px); }
  .jx-404-facts{ flex-direction:column; gap:22px; }
}

.jx-404-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--jx-surface-light); border-top:var(--jx-line-cream); border-left:var(--jx-line-cream); }
.jx-404-card{
  background:var(--jx-surface-card); padding:32px 28px 30px; min-height:224px;
  display:flex; flex-direction:column; gap:14px; text-decoration:none; color:inherit;
  border-right:var(--jx-line-cream); border-bottom:var(--jx-line-cream);
  transition:box-shadow var(--jx-dur-lift) var(--jx-ease);
}
.jx-404-card:hover{ box-shadow:var(--jx-shadow-card-hover); position:relative; z-index:2; }
.jx-404-card-l{ font-family:var(--jx-font-ui); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--jx-text-on-light-muted); }
.jx-404-card-t{ font-family:var(--jx-font-display); font-size:27px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.18; }
.jx-404-card-b{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-note); line-height:var(--jx-leading-note); color:var(--jx-text-on-light-muted); font-weight:300; flex:1; }
.jx-404-card .jx-pcard-link{ align-self:flex-start; margin-top:auto; }

@media(max-width:1180px){ .jx-404-cards{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .jx-404-cards{ grid-template-columns:1fr; } .jx-404-card{ min-height:0; padding:26px 22px 28px; } }

/* ---------------------------------------------------------------------- */
/* Jegyek oldal (page-jegyek)                                              */
/* Forrás: info/Jegyek v2.dc.html. A hero a megszokott .jx-lhero, a törzs   */
/* a Kép- és hangfelvétel/Bemutatkozás oldalról ismert .jx-doc-grid/        */
/* .jx-article-body-t használja újra (a jobb oldali TOC helyén itt egy      */
/* oldal-specifikus "jegy" oldalsáv fut, ld. lent), a GYIK a Kapcsolat      */
/* oldalról ismert .jx-plist-section/.jx-section-head-et, a záró CTA pedig  */
/* a Bemutatkozás/Történetünk oldalról ismert .jx-kap-section.jx-on-dark-ot */
/* — nincs ismét felépítve egyik meglévő komponens sem. Tudatos eltérés a   */
/* tervtől: a tervben szereplő, de a terv saját markupjában sosem használt  */
/* .facts/.fact ("tényadat-sáv" a hero alatt) itt sem valósult meg, ugyanaz */
/* a "holt CSS a tervben" minta, mint több korábbi oldalnál (ld. README).   */
/* ---------------------------------------------------------------------- */
.jx-notice-band{
  position:relative; z-index:5; background:var(--jx-action);
  padding:26px var(--jx-pad-inline); display:flex; align-items:center; gap:28px; flex-wrap:wrap;
}
.jx-notice-k{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:var(--jx-track-kicker); text-transform:uppercase; color:rgba(255,255,255,.72); flex-shrink:0; }
.jx-notice-t{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); font-weight:300; line-height:var(--jx-leading-body); color:#fff; flex:1; min-width:260px; }
.jx-notice-t b{ font-weight:500; }
.jx-notice-link{
  flex-shrink:0; font-family:var(--jx-font-ui); font-size:11px; font-weight:500; letter-spacing:var(--jx-track-label); text-transform:uppercase;
  padding:10px 20px; border:1px solid rgba(255,255,255,.34); color:#fff; text-decoration:none;
  transition:background var(--jx-dur) var(--jx-ease), border-color var(--jx-dur) var(--jx-ease), color var(--jx-dur) var(--jx-ease);
}
.jx-notice-link:hover{ background:#fff; border-color:#fff; color:var(--jx-action); }

/* A törzs a .jx-doc-grid-et használja változatlanul (264px oldalsáv + 80px
   gap + 1fr törzs), ugyanúgy, ahogy a Kép- és hangfelvétel/Bemutatkozás
   oldalon — a felhasználó kérésére szó szerint ugyanabban a pozícióban/
   arányban fusson a törzs, mint azokon az oldalakon, nem egy eltérő
   középre-igazítási logikával (pl. a törzs+oldalsáv páros önálló
   középre-igazítása más x-pozíciót adott volna a törzsnek). Az oldalsáv
   tartalma ("jegy-oldalsáv") page-specifikus, csak a TOC helyére kerül be. */
.jx-jegyek-aside{ position:sticky; top:calc(var(--jx-nav-h,84px) + 28px); display:flex; flex-direction:column; gap:20px; }

/* A .jx-doc-grid alap-CSS-e a h2-k elé sorszámot (01/02/...) tesz — ez a
   jogi/dokumentum-jellegű oldalaknál (Adatkezelési tájékoztató stb.) helyes,
   ahol a h2-k valóban különálló, számozott szakaszok. A Jegyek oldal törzse
   viszont egyetlen, folyamatos levél — egy esetleges the_content()-beli
   alcím itt nem egy "3. szakaszt" jelent, ezért a felhasználó kérésére a
   sorszámozás ki van kapcsolva erre az oldalra (a h2 stílusa egyébként
   változatlan marad, csak a számozott ::before tűnik el). */
.jx-jegyek-doc .jx-article-body > h2::before{ content:none; }

.jx-ticket-stub{ background:var(--jx-navy-900); }
/* padding-top kicsi (nem a szokásos ~26px), hogy a "Jegypénztár" felirat
   nagyjából egy magasságban induljon a törzs első sorával — a Bemutatkozás
   oldalon a portré/köszöntés is padding nélkül, az oszlop tetejétől indul
   (a .jx-doc-grid align-items:start-ja mindkét oszlopot ugyanoda igazítja,
   csak a doboz belső paddingje tolta el korábban vizuálisan a feliratot). */
.jx-ticket-top{ padding:8px 28px 22px; border-bottom:1px dashed var(--jx-gold-a30); }
.jx-ticket-k{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:var(--jx-track-kicker); text-transform:uppercase; color:var(--jx-accent); margin-bottom:10px; }
.jx-ticket-t{ font-family:var(--jx-font-display); font-size:24px; font-weight:400; color:#fff; line-height:1.2; margin-top:26px;}
.jx-ticket-t em{ font-style:italic; color:var(--jx-gold-300); display:block; }
.jx-ticket-rows{ padding:6px 28px 2px; }
.jx-ticket-row{ display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding:14px 0; border-bottom:var(--jx-line-white-faint); flex-wrap:wrap; }
.jx-ticket-row:last-child{ border-bottom:none; }
.jx-ticket-rk{ font-family:var(--jx-font-ui); font-size:10px; letter-spacing:var(--jx-track-nav); text-transform:uppercase; color:rgba(255,255,255,.38); flex-shrink:0; }
.jx-ticket-rv{ font-family:var(--jx-font-ui); font-size:14px; font-weight:300; color:rgba(255,255,255,.88); text-align:right; line-height:1.6; }
.jx-ticket-rv b{ font-weight:500; color:#fff; }
.jx-ticket-rv a{ color:var(--jx-gold-300); text-decoration:none; }
.jx-ticket-rv a:hover{ color:#fff; }
.jx-ticket-foot{ padding:20px 28px 26px; display:flex; flex-direction:column; gap:10px; border-top:1px dashed var(--jx-gold-a30); }
.jx-ticket-foot .jx-btn{ justify-content:center; }

.jx-pay-card{ background:var(--jx-surface-card); border:var(--jx-line-cream); padding:24px 26px; display:flex; flex-direction:column; gap:14px; }
.jx-pay-k{ font-family:var(--jx-font-ui); font-size:10.5px; letter-spacing:var(--jx-track-kicker); text-transform:uppercase; color:var(--jx-accent-on-light); }
.jx-pay-list{ display:flex; flex-wrap:wrap; gap:7px; }
.jx-chip{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:.08em; padding:8px 13px; border:var(--jx-line-cream); color:var(--jx-navy-900); }
.jx-pay-note{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-note); line-height:var(--jx-leading-note); font-weight:300; color:var(--jx-text-on-light-muted); }
.jx-pay-note b{ font-weight:500; color:var(--jx-text-on-light); }

/* A köszöntés (mint a Bemutatkozás .jx-rolunk-salut-ja) kódba égetve, hogy a
   törzs induló magassága ne a WP-szerkesztőből jövő, kiszámíthatatlan
   heading-markup (pl. blokk-szerkesztői inline spacing) függvénye legyen,
   hanem megbízhatóan ugyanott kezdődjön, mint a bal oldali jegy-oldalsáv
   teteje — a the_content() innentől a köszöntés utáni bekezdésekkel indul. */
.jx-jegyek-salut{ font-family:var(--jx-font-display); font-size:36px; font-weight:300; line-height:1.22; color:var(--jx-text-heading-light); letter-spacing:var(--jx-track-display); }
.jx-jegyek-salut em{ font-style:italic; color:var(--jx-accent-on-light); }
@media(max-width:600px){ .jx-jegyek-salut{ font-size:29px; } }

.jx-jegyek-sign{ margin-top:46px; padding-top:24px; border-top:var(--jx-line-cream); display:flex; flex-direction:column; gap:5px; }

.jx-faq-acc{ display:flex; flex-direction:column; border-top:var(--jx-line-cream); }
.jx-faq-item{ border-bottom:var(--jx-line-cream); transition:background var(--jx-dur) var(--jx-ease); }
.jx-faq-item.is-open{ background:var(--jx-surface-card); }
.jx-faq-q{
  width:100%; background:none; border:none; cursor:pointer; text-align:left; padding:24px 30px 24px 0;
  display:grid; grid-template-columns:60px minmax(0,1fr) 26px; gap:18px; align-items:baseline;
  transition:padding-left var(--jx-dur) var(--jx-ease);
}
.jx-faq-item.is-open .jx-faq-q, .jx-faq-q:hover{ padding-left:20px; }
.jx-faq-n{ font-family:var(--jx-font-ui); font-size:11px; letter-spacing:var(--jx-track-nav); color:var(--jx-accent-on-light); }
.jx-faq-t{ font-family:var(--jx-font-display); font-size:24px; font-weight:400; color:var(--jx-text-heading-light); line-height:1.2; transition:color var(--jx-dur-fast) var(--jx-ease); }
.jx-faq-q:hover .jx-faq-t{ color:var(--jx-action); }
.jx-faq-s{ font-family:var(--jx-font-ui); font-size:18px; font-weight:300; color:var(--jx-accent-on-light); justify-self:end; transition:transform var(--jx-dur-lift) var(--jx-ease); }
.jx-faq-item.is-open .jx-faq-s{ transform:rotate(45deg); }
.jx-faq-a{ overflow:hidden; max-height:0; transition:max-height var(--jx-dur-bar) ease; }
.jx-faq-item.is-open .jx-faq-a{ max-height:400px; }
.jx-faq-a-in{ padding:0 36px 28px 108px; }
.jx-faq-a-in p{ margin:0; font-family:var(--jx-font-ui); font-size:var(--jx-size-body); line-height:var(--jx-leading-body); font-weight:300; color:var(--jx-text-on-light); max-width:64ch; }

@media(max-width:1024px){
  /* ugyanaz a minta, mint a .jx-toc-nál (Kép- és hangfelvétel/Bemutatkozás):
     a .jx-doc-grid egy oszlopossá esik, a sticky oldalsávnak itt nincs
     értelme, statikusan a törzs elé kerül. */
  .jx-jegyek-aside{ position:static; max-width:520px; margin-bottom:46px; }
}
@media(max-width:600px){
  .jx-notice-band{ padding:20px var(--jx-gutter-mobile); gap:16px; }
  .jx-ticket-top, .jx-ticket-rows, .jx-ticket-foot{ padding-inline:22px; }
  .jx-ticket-row{ flex-direction:column; gap:4px; align-items:flex-start; }
  .jx-ticket-rv{ text-align:left; }
  .jx-faq-q{ grid-template-columns:minmax(0,1fr) 24px; gap:14px; padding-right:0; }
  .jx-faq-n{ display:none; }
  .jx-faq-t{ font-size:19px; }
  .jx-faq-a-in{ padding:0 0 24px; }
}
