/* ==========================================================
   KÁDÁR-KOCKÁK – fő stíluslap
   ========================================================== */

:root {
  --paper: #d8cba8;
  --paper-light: #eee4c7;
  --paper-dark: #c7b98f;
  --ink: #252b26;
  --ink-soft: #4a5048;
  --olive: #596451;
  --olive-dark: #313a32;
  --rust: #923a2d;
  --rust-dark: #6f281e;
  --mustard: #bd964e;
  --wood: #725235;
  --line: rgba(37, 43, 38, .28);
  --shadow: rgba(37, 43, 38, .85);
  --display: 'Roboto Slab', Georgia, serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --poster: 'Oswald', 'Arial Narrow', sans-serif;
  --wrap: 1460px;
  --gutter: 42px;
  --grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .18 0 0 0 0 .12 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}

/* Áramszünet – sötét mód */
:root[data-aram="ki"] {
  --paper: #1d221e;
  --paper-light: #2a312b;
  --paper-dark: #151915;
  --ink: #ebe1c2;
  --ink-soft: #b9b196;
  --olive: #8c9a82;
  --olive-dark: #0f120f;
  --rust: #d0644d;
  --rust-dark: #a84a37;
  --mustard: #d4ae63;
  --line: rgba(235, 225, 194, .2);
  --shadow: rgba(0, 0, 0, .7);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.22), transparent 28%),
    repeating-linear-gradient(0deg, rgba(57,52,39,.025) 0, rgba(57,52,39,.025) 1px, transparent 1px, transparent 4px),
    var(--paper);
  font-family: var(--display);
  font-size: 17px;
  line-height: 1.6;
  overflow-x: hidden;
  transition: background-color .4s, color .4s;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background-image: var(--grain);
  opacity: .28;
  mix-blend-mode: multiply;
}
:root[data-aram="ki"] body::before { mix-blend-mode: screen; opacity: .08; }
:root[data-aram="ki"] body { background: radial-gradient(circle at 50% -10%, rgba(212,174,99,.12), transparent 45%), var(--paper); }

img, svg, video { max-width: 100%; height: auto; }
.site-main { display: block; overflow-x: clip; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--rust); }
button { font: inherit; color: inherit; }
::selection { background: var(--rust); color: var(--paper-light); }
:focus-visible { outline: 3px solid var(--rust); outline-offset: 3px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 10000; padding: 10px 14px; background: var(--paper-light); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* ---------- Gombok ---------- */
.gomb {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 13px 18px;
  border: 2px solid var(--ink);
  background: var(--paper-light);
  color: var(--ink);
  font: 600 12px/1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 4px 4px 0 var(--ink);
  transition: transform .15s, box-shadow .15s, background .2s, color .2s;
}
.gomb:hover { color: var(--ink); transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--rust); }
.gomb:active { transform: translate(3px,3px); box-shadow: 1px 1px 0 var(--ink); }
.gomb--kicsi { padding: 9px 12px; font-size: 11px; box-shadow: 3px 3px 0 var(--ink); }
.gomb--pecset { background: var(--rust); color: var(--paper-light); border-color: var(--rust-dark); box-shadow: 4px 4px 0 var(--ink); }
.gomb--pecset:hover { color: var(--paper-light); background: var(--rust-dark); }
.gomb--szellem { background: transparent; }

.cta { display: inline-flex; gap: 38px; align-items: center; background: var(--ink); color: var(--paper-light); padding: 16px 20px; text-decoration: none; font: 600 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; box-shadow: 6px 6px 0 var(--rust); transition: transform .2s, box-shadow .2s; }
.cta:hover { color: var(--paper-light); transform: translate(3px,3px); box-shadow: 3px 3px 0 var(--rust); }

.eyebrow { margin: 0 0 22px; display: flex; align-items: center; gap: 10px; font: 600 11px/1.2 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.eyebrow span { width: 29px; height: 7px; background: var(--rust); display: inline-block; flex: none; }

/* ---------- Közlemény-sáv ---------- */
.kozlemeny { background: var(--ink); color: #eee4c7; font: 500 11px/1.3 var(--mono); letter-spacing: .06em; }
.kozlemeny-belso { max-width: var(--wrap); margin: 0 auto; padding: 8px var(--gutter); display: flex; gap: 24px; align-items: center; }
.kozlemeny-szoveg { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kozlemeny-szoveg b { color: var(--mustard); font-weight: 600; text-transform: uppercase; }
.kozlemeny-ora { font-variant-numeric: tabular-nums; padding: 2px 6px; border: 1px solid rgba(238,228,199,.35); }
:root[data-aram="ki"] .kozlemeny { background: #0b0d0b; }

/* ---------- Fejléc ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); }
.site-header-belso { max-width: var(--wrap); margin: 0 auto; min-height: 84px; display: flex; align-items: center; gap: 28px; padding: 14px var(--gutter); }
.wordmark { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font: 800 17px/1 var(--display); letter-spacing: .07em; flex: none; }
.wordmark:hover { color: inherit; }
.wordmark i { width: 17px; height: 17px; display: inline-block; background: var(--rust); transform: rotate(8deg); box-shadow: inset 0 0 0 3px var(--ink); transition: transform .4s cubic-bezier(.3,1.6,.5,1); }
.wordmark:hover i { transform: rotate(98deg); }
.custom-logo-link img { max-height: 54px; width: auto; }

.fomenu { margin-left: auto; }
.fomenu .menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 30px; align-items: center; }
.fomenu li { position: relative; }
.fomenu a { display: block; font: 600 12px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-bottom: 2px solid transparent; padding: 10px 0; }
.fomenu a:hover, .fomenu .current-menu-item > a, .fomenu .current_page_item > a, .fomenu .current-menu-ancestor > a { color: var(--ink); border-color: var(--rust); }
.fomenu .menu-item-has-children > a::after { content: ' ▾'; color: var(--rust); }
.fomenu .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; left: -16px; top: 100%; min-width: 250px; background: var(--paper-light); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; z-index: 5; }
.fomenu li:hover > .sub-menu, .fomenu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.fomenu .sub-menu a { padding: 10px 16px; border: 0; text-transform: none; letter-spacing: .02em; font-weight: 500; font-size: 13px; }
.fomenu .sub-menu a:hover { background: var(--ink); color: var(--paper-light); }

.fej-gombok { display: flex; gap: 8px; flex: none; }
.fej-gomb { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 2px solid var(--ink); background: transparent; cursor: pointer; transition: background .2s, transform .15s; }
.fej-gomb:hover { background: var(--ink); color: var(--paper-light); }
.fej-gomb svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.fej-gomb[data-power][aria-pressed="true"] { background: var(--mustard); color: #1d221e; border-color: var(--mustard); }
.menu-kapcsolo { display: none; }
.menu-kapcsolo span { display: block; width: 18px; height: 2px; background: currentColor; transition: .25s; }
.menu-kapcsolo { gap: 4px; align-content: center; }

/* ---------- Keresés (cédulakatalógus) ---------- */
.cedula { position: fixed; inset: 0; z-index: 100; display: grid; place-items: start center; padding: 12vh 18px 18px; background: rgba(20,24,20,.72); backdrop-filter: blur(3px); }
.cedula[hidden] { display: none; }
.cedula-lap { width: min(640px, 100%); padding: 26px 26px 20px; background: #efe6c9; color: #252b26; border: 2px solid #252b26; box-shadow: 10px 10px 0 #923a2d; background-image: repeating-linear-gradient(transparent 0 31px, rgba(146,58,45,.18) 31px 32px); animation: cedulaBe .35s cubic-bezier(.2,1.2,.4,1); position: relative; }
.cedula-lap::before { content: ''; position: absolute; left: 50%; top: -9px; width: 26px; height: 26px; margin-left: -13px; border-radius: 50%; background: #252b26; box-shadow: inset 0 0 0 7px #efe6c9; }
.cedula-fej { display: flex; justify-content: space-between; align-items: center; margin: 0 0 18px; font: 700 12px/1 var(--mono); letter-spacing: .15em; color: #923a2d; }
.cedula-zar { border: 0; background: none; font-size: 30px; line-height: 1; cursor: pointer; padding: 0 4px; color: #252b26; }
.cedula-tipp { margin: 14px 0 0; font: 500 12px/1.4 var(--mono); opacity: .7; }
@keyframes cedulaBe { from { transform: translateY(-30px) rotate(-2deg); opacity: 0; } }

.keresoform { display: flex; gap: 10px; }
.keresoform input { flex: 1; min-width: 0; padding: 13px 14px; border: 2px solid currentColor; background: rgba(255,255,255,.35); font: 500 15px/1 var(--mono); color: inherit; }
.keresoform input:focus { outline: none; border-color: var(--rust); background: rgba(255,255,255,.6); }

/* ---------- Hero / tévé ---------- */
.hero { max-width: var(--wrap); margin: 0 auto; min-height: 720px; padding: 64px var(--gutter) 42px; display: grid; grid-template-columns: minmax(300px, .78fr) minmax(600px, 1.35fr); gap: 68px; align-items: center; }
.hero-copy { padding-bottom: 80px; position: relative; z-index: 2; }
.hero h1 { margin: 0; max-width: 660px; font-size: clamp(62px, 7.1vw, 118px); line-height: .88; letter-spacing: -.065em; font-weight: 800; }
.hero h1 em { color: var(--rust); font-style: italic; font-weight: 600; }
.lede { font-size: clamp(17px, 1.5vw, 22px); line-height: 1.55; max-width: 510px; margin: 32px 0; }

.television-stage { position: relative; min-width: 0; padding-top: 26px; }
.instruction { position: absolute; right: 2%; top: -16px; margin: 0; font: 500 11px/1.2 var(--mono); letter-spacing: .1em; transform: rotate(2deg); text-transform: uppercase; z-index: 4; }
.instruction-em { color: var(--rust); font-weight: 700; }
.instruction::after { content: ''; display: block; width: 72px; height: 22px; margin-left: 45px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: skewX(-30deg); }
.tv { width: min(850px, 100%); margin: 0 auto; filter: drop-shadow(18px 26px 16px rgba(51,43,29,.28)); }
.tv-case { position: relative; aspect-ratio: 1.5; }
.tv-photo { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; border-radius: 6px; }
.screen-bezel { position: absolute; z-index: 2; left: 14.9%; top: 14.7%; width: 59.4%; height: 61%; background: #20251f; border-radius: 14% / 10%; box-shadow: inset 0 0 22px #050605; overflow: hidden; }
.screen { position: relative; height: 100%; overflow: hidden; border-radius: 12% / 10%; background: #1c241f; box-shadow: inset 0 0 40px #000; isolation: isolate; }
.screen::after { content: ''; position: absolute; inset: 0; z-index: 7; pointer-events: none; box-shadow: inset 0 0 48px 20px rgba(3,8,5,.56); border-radius: inherit; }
.screen-glass { position: absolute; inset: 0; z-index: 6; pointer-events: none; background: radial-gradient(ellipse at 36% 18%, rgba(255,255,255,.24), transparent 31%), linear-gradient(100deg, transparent 65%, rgba(255,255,255,.08)); mix-blend-mode: screen; }
.scanlines { position: absolute; inset: 0; z-index: 5; pointer-events: none; opacity: .2; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(12,18,13,.8) 4px 5px); animation: scanRoll 8s linear infinite; }
.noise { position: absolute; inset: -70%; z-index: 8; pointer-events: none; opacity: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.screen.switching .noise { animation: staticBurst .46s steps(2) both; }
.broadcast { position: absolute; inset: 0; opacity: 0; transform: scale(.96); transition: opacity .15s, transform .3s; overflow: hidden; pointer-events: none; }
.broadcast.is-active { opacity: 1; transform: scale(1); pointer-events: auto; }
.scene { width: 100%; height: 100%; display: block; filter: saturate(.75) contrast(1.03) sepia(.08); }
.scene--video, .scene--kep { object-fit: cover; filter: grayscale(.35) sepia(.25) contrast(1.08) brightness(.92); background: #1c241f; }
.hangszoro { position: absolute; left: 78.9%; top: 47.6%; width: 9.8%; height: 29.6%; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; pointer-events: auto; display: flex; align-items: center; justify-content: center; gap: 8%; }
.hangszoro:focus-visible { outline: 3px solid #eee4c7; outline-offset: 3px; }
.hangszoro i { display: block; width: 9%; height: 14%; background: #e1c27d; border-radius: 2px; opacity: 0; transition: opacity .3s; }
.hangszoro:hover { background: rgba(225,194,125,.14); }
.tv--hang .hangszoro i { opacity: .85; animation: hangoszlop .5s ease-in-out infinite alternate; }
.tv--hang .hangszoro i:nth-child(2) { animation-delay: .15s; } .tv--hang .hangszoro i:nth-child(3) { animation-delay: .3s; }
.hangszoro.is-nincs i { background: #8c8f86; }
@keyframes hangoszlop { from { transform: scaleY(.4); } to { transform: scaleY(2.2); } }
.channel-bug { position: absolute; top: 7.5%; left: 7%; color: #f3e9c7; font: 600 10px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; text-shadow: 1px 1px 2px #000; z-index: 3; }
.caption { position: absolute; left: 6.5%; right: 6.5%; bottom: 7%; padding: 12px 15px; background: rgba(37,43,38,.87); border-left: 7px solid #923a2d; color: #efe4c5; z-index: 3; text-decoration: none; display: block; transition: background .2s, padding .2s; }
a.caption::after { content: '↗'; position: absolute; right: 12px; top: 10px; font: 600 14px/1 var(--mono); color: #bd964e; }
a.caption:hover { color: #efe4c5; background: rgba(146,58,45,.92); padding-left: 20px; }
.caption strong { display: block; margin-bottom: 4px; font-size: clamp(15px, 1.7vw, 23px); line-height: 1.1; }
.caption > span { font: 500 clamp(8px, .8vw, 11px)/1.3 var(--mono); letter-spacing: .03em; }
.moving-train { animation: trainPass 7s linear infinite; }
.paper-feed { animation: paperFeed 5s linear infinite; }
.ringing-phone { transform-origin: 320px 365px; animation: phoneRing 4s ease-in-out infinite; }
.ring-line { animation: ringLines 4s ease-in-out infinite; }
.stamp { transform-origin: 458px 284px; animation: stamp 4.6s ease-in-out infinite; }

.screen-off { position: absolute; inset: 0; z-index: 9; background: #070907; pointer-events: none; opacity: 0; transition: opacity .2s .3s; }
.screen-off::before { content: ''; position: absolute; left: 50%; top: 50%; width: 0; height: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 30px 10px rgba(255,255,255,.7); transform: translate(-50%,-50%); opacity: 0; }
.tv.is-off .broadcast { animation: tvOff .45s ease-in forwards; }
.tv.is-off .screen-off { opacity: 1; }
.tv.is-off .screen-off::before { animation: tvDot 1.1s ease-out .25s; }
.tv.is-off .caption { pointer-events: none; }

.tv-controls { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.knob { position: absolute; padding: 0; border: 0; border-radius: 50%; cursor: pointer; pointer-events: auto; background: center / 100% 100% no-repeat; transition: transform .45s cubic-bezier(.22,.8,.3,1.25), filter .2s; }
.knob:hover { filter: brightness(1.12); }
.knob:focus-visible { outline: 4px solid #eee4c7; outline-offset: 3px; }
.knob--channel { left: 81.45%; top: 18.07%; width: 5.73%; aspect-ratio: 1; background-image: url(../img/knob-channel.png); transform: rotate(var(--angle, 0deg)); }
.knob--power { left: 81.09%; top: 33.74%; width: 6.12%; aspect-ratio: 1; background-image: url(../img/knob-power.png); transform: rotate(var(--angle, 0deg)); }

.channel-selector { display: grid; grid-template-columns: repeat(var(--db, 5), 1fr); gap: 5px; margin-top: 17px; position: relative; }
.channel-selector--sok { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(104px, 1fr); overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; }
.channel-uj { display: grid; place-items: center; min-width: 38px; border: 1px dashed var(--rust); color: var(--rust); text-decoration: none; font: 700 20px/1 var(--mono); }
.channel-uj:hover { background: var(--rust); color: var(--paper-light); }
.channel-selector button { min-width: 0; padding: 10px 5px; border: 1px solid var(--line); color: var(--ink); background: rgba(238,228,199,.22); cursor: pointer; font: 500 clamp(8px, .75vw, 10px)/1.2 var(--mono); text-transform: uppercase; transition: background .2s, color .2s, transform .2s; }
.channel-selector button b { display: block; margin-bottom: 4px; color: var(--rust); }
.channel-selector button:hover { transform: translateY(-2px); }
.channel-selector button.is-active { background: var(--ink); color: var(--paper-light); }

/* ---------- Hírszalag ---------- */
.ticker { overflow: hidden; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--rust); color: #eee4c7; transform: rotate(-.65deg) scale(1.02); position: relative; z-index: 3; }
.ticker-track { width: max-content; display: flex; align-items: center; padding: 13px 0; animation: ticker 40s linear infinite; font: 600 12px/1 var(--mono); letter-spacing: .15em; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker-track > *, .ticker-dup > * { margin-right: 28px; flex: none; }
.ticker-dup { display: flex; align-items: center; margin: 0 !important; }
.ticker a { text-decoration: none; color: inherit; }
.ticker a:hover { color: var(--mustard); }
.ticker i { font-style: normal; color: var(--mustard); }

/* ---------- Szakaszok ---------- */
.szakasz, .stories { max-width: var(--wrap); margin: 0 auto; padding: 110px var(--gutter); }
.szakasz-lab { margin: 44px 0 0; display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.section-heading { display: grid; grid-template-columns: 1fr 380px; gap: 50px; align-items: end; margin-bottom: 52px; }
.section-heading--egy { grid-template-columns: 1fr; }
.section-heading h2 { margin: 0; font-size: clamp(40px, 5vw, 80px); line-height: .95; letter-spacing: -.045em; }
.section-heading > p { font-size: 16px; line-height: 1.6; margin: 0; }

/* ---------- Kártyák ---------- */
.story-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 22px; }
.story-grid--lista { grid-template-columns: repeat(3, 1fr); }
.story-grid--lista .story-card.featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; }
.story-grid--lista .story-card.featured .card-visual { border-bottom: 0; border-right: 2px solid var(--ink); height: 100%; }
.story-card { display: flex; flex-direction: column; background: var(--paper-light); border: 2px solid var(--ink); box-shadow: 7px 7px 0 var(--shadow); transition: transform .25s, box-shadow .25s; min-width: 0; }
.story-card:hover { transform: translate(-3px,-3px); box-shadow: 11px 11px 0 var(--rust); }
.story-card.sticky { outline: 3px dashed var(--rust); outline-offset: 6px; }
.card-link { display: block; text-decoration: none; }
.card-visual { min-height: 245px; position: relative; overflow: hidden; border-bottom: 2px solid var(--ink); color: #252b26; }
.card-visual span { position: absolute; z-index: 2; font-weight: 800; }
.card-visual i { position: absolute; z-index: 2; font: 500 10px/1 var(--mono); }
.card-visual.has-photo { background: #46483f; }
.card-visual.has-photo img { width: 100%; height: 100%; min-height: 245px; object-fit: cover; display: block; filter: sepia(.25) saturate(.8) contrast(1.05); transition: filter .4s, transform .6s; }
.story-card:hover .card-visual.has-photo img { filter: none; transform: scale(1.04); }
.archive-visual { background: repeating-linear-gradient(90deg, transparent 0 48px, rgba(76,72,56,.16) 49px 50px), #b2aa87; }
.archive-visual::before { content: ''; position: absolute; width: 54%; height: 79%; left: 20%; top: 10%; background: #e5d9b5; border: 1px solid #5a594b; transform: rotate(-4deg); box-shadow: 8px 7px 0 rgba(40,40,33,.2); transition: transform .4s; }
.story-card:hover .archive-visual::before { transform: rotate(2deg); }
.archive-visual::after { content: 'SZIGORÚAN BIZALMAS'; position: absolute; left: 30%; top: 58%; padding: 7px; border: 4px double #923a2d; color: #923a2d; font: 700 clamp(11px,1.2vw,16px)/1 var(--mono); transform: rotate(-11deg); }
.archive-visual span { top: 28%; left: 28%; font-size: clamp(24px,3vw,44px); }
.archive-visual i { top: 48%; left: 29%; }
.rail-visual { background: linear-gradient(#a3ad99 0 58%, #696d59 58% 75%, #3f423a 75%); }
.rail-visual::before { content: ''; position: absolute; width: 74%; height: 36%; left: 13%; bottom: 23%; background: #923a2d; clip-path: polygon(0 23%, 12% 0, 87% 0, 100% 30%, 100% 100%, 0 100%); box-shadow: inset 0 -18px rgba(40,43,37,.25); transition: transform .8s cubic-bezier(.5,0,.3,1); }
.story-card:hover .rail-visual::before { transform: translateX(10%); }
.rail-visual::after { content: ''; position: absolute; left: 0; right: 0; bottom: 10%; height: 8px; background: #252b26; box-shadow: 0 18px 0 #252b26; }
.rail-visual span { left: 21%; bottom: 32%; color: #eee4c7; font-size: 38px; transition: transform .8s cubic-bezier(.5,0,.3,1); }
.story-card:hover .rail-visual span { transform: translateX(42%); }
.rail-visual i { right: 7%; top: 8%; }
.press-visual { background: #ded5b4; }
.press-visual::before { content: ''; position: absolute; inset: 28% 8% 8%; background: repeating-linear-gradient(0deg, #6e6a57 0 5px, transparent 5px 15px); }
.press-visual::after { content: ''; position: absolute; left: 8%; right: 8%; top: 23%; height: 5px; background: #252b26; }
.press-visual span { left: 8%; top: 7%; font-size: clamp(30px,3vw,48px); letter-spacing: -.04em; }
.press-visual i { right: 9%; top: 13%; }
.phone-visual { background: repeating-linear-gradient(45deg, rgba(156,123,67,.35) 0 6px, transparent 6px 26px), #c4a35f; }
.phone-visual::before { content: ''; position: absolute; width: 130px; height: 130px; left: 50%; top: 52%; margin: -65px 0 0 -65px; border-radius: 50%; background: radial-gradient(circle, #59654f 0 18%, #d2c69f 19% 64%, #3f493a 65% 72%, transparent 73%); box-shadow: 0 0 0 26px #59654f; transition: transform .7s cubic-bezier(.3,1.4,.5,1); }
.story-card:hover .phone-visual::before { transform: rotate(-160deg); }
.phone-visual span { left: 7%; top: 8%; font-size: 26px; }
.phone-visual i { right: 7%; bottom: 8%; }
.poster-visual { background: #923a2d; }
.poster-visual::before { content: ''; position: absolute; inset: 0; background: repeating-conic-gradient(from 0deg at 50% 120%, rgba(238,228,199,.16) 0 6deg, transparent 6deg 14deg); transition: transform 1s; }
.story-card:hover .poster-visual::before { transform: scale(1.15); }
.poster-visual span { left: 8%; bottom: 12%; font: 700 clamp(32px,3.2vw,52px)/.95 var(--poster); color: #eee4c7; text-transform: uppercase; letter-spacing: .01em; }
.poster-visual i { left: 8%; top: 9%; color: #e1c27d; }

.card-visual--hosszu span { font-size: clamp(18px, 2vw, 30px) !important; }
.card-visual--hosszu.archive-visual span { left: 24%; }
.card-body { padding: 25px 24px 22px; display: flex; flex-direction: column; flex: 1; }
.card-bug { margin: 0 0 15px; color: var(--rust); font: 600 10px/1.2 var(--mono); letter-spacing: .12em; }
.card-body h3 { margin: 0 0 14px; font-size: clamp(22px,2vw,30px); line-height: 1.08; letter-spacing: -.02em; }
.card-body h3 a { text-decoration: none; }
.card-excerpt { display: block; font-size: 14px; line-height: 1.55; flex: 1; }
.card-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; margin-top: 20px; padding-top: 14px; border-top: 1px dashed var(--line); font: 600 10px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.card-meta a { margin-left: auto; text-decoration: none; color: var(--rust); }

/* ---------- Statisztika ---------- */
.statisztika { background: var(--ink); color: var(--paper-light); border-block: 6px double var(--mustard); }
:root[data-aram="ki"] .statisztika { background: #0f120f; color: #ebe1c2; }
.statisztika-belso { max-width: var(--wrap); margin: 0 auto; padding: 56px var(--gutter); }
.statisztika h2 { margin: 0 0 30px; font: 600 12px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--mustard); text-align: center; }
.stat-sor { display: grid; grid-template-columns: repeat(6, 1fr); }
.stat { text-align: center; padding: 6px 12px; border-left: 1px solid rgba(238,228,199,.2); }
.stat:first-child { border-left: 0; }
.stat b { display: block; font: 700 clamp(36px, 4.4vw, 64px)/1 var(--poster); letter-spacing: .01em; font-variant-numeric: tabular-nums; }
.stat span { display: block; margin-top: 8px; font: 500 11px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.stat--terv b { color: var(--mustard); }
.stat-csik { display: block; height: 6px; margin: 10px auto 0; width: 70%; background: rgba(238,228,199,.15); }
.stat-csik em { display: block; height: 100%; width: 0; background: var(--rust); transition: width 2s cubic-bezier(.2,.8,.2,1); }
.statisztika.is-lathato .stat-csik em { width: 100%; }

/* ---------- Rovatok ---------- */
.rovat-racs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 0; border: 2px solid var(--ink); background: var(--paper-light); }
.rovat { position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 230px; padding: 24px; text-decoration: none; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; transition: background .25s, color .25s; }
.rovat::before { content: ''; position: absolute; inset: 0; background: var(--rust); transform: translateY(101%); transition: transform .35s cubic-bezier(.6,0,.2,1); z-index: 0; }
.rovat > * { position: relative; z-index: 1; }
.rovat:hover { color: #eee4c7; }
.rovat:hover::before { transform: none; }
.rovat-szam { font: 700 54px/1 var(--poster); color: var(--rust); transition: color .25s; }
.rovat:hover .rovat-szam { color: var(--mustard); }
.rovat-nev { font-size: 24px; line-height: 1.1; letter-spacing: -.02em; }
.rovat-leiras { font-size: 14px; line-height: 1.45; opacity: .85; }
.rovat-lab { margin-top: auto; display: flex; justify-content: space-between; font: 600 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.rovat-kapcsol { opacity: 0; transform: translateX(-8px); transition: .25s; }
.rovat:hover .rovat-kapcsol { opacity: 1; transform: none; }

/* ---------- Menetrend ---------- */
.menetrend { background: var(--olive-dark); color: #eee4c7; }
.menetrend-belso { max-width: var(--wrap); margin: 0 auto; padding: 110px var(--gutter); }
.menetrend .eyebrow span { background: var(--mustard); }
.palya { position: relative; margin: 10px 0 40px; overflow-x: auto; padding: 74px 4px 10px; scrollbar-width: thin; }
.palya-sin { position: absolute; left: 4px; right: 4px; top: 94px; height: 10px; min-width: max(900px, calc(var(--db, 12) * 62px)); background: repeating-linear-gradient(90deg, #8a7a5a 0 4px, transparent 4px 18px); border-block: 2px solid #c9bd99; }
.palya-vonat { position: absolute; top: -88px; left: 0; width: 182px; max-width: none; height: 60px; transition: left .7s cubic-bezier(.5,0,.25,1); transform: translateX(-50%); pointer-events: none; }
.allomasok { list-style: none; margin: 0; padding: 0; display: flex; justify-content: space-between; min-width: max(900px, calc(var(--db, 12) * 62px)); position: relative; }
.allomasok li[hidden] { display: none; }
.allomasok button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0 2px; border: 0; background: none; color: #eee4c7; cursor: pointer; font: 600 12px/1 var(--mono); letter-spacing: .04em; }
.allomasok button::before { content: ''; width: 18px; height: 18px; border-radius: 50%; background: var(--olive-dark); border: 3px solid #eee4c7; transition: .25s; }
.allomasok button:hover::before { background: var(--mustard); }
.allomasok button.is-active::before { background: #923a2d; border-color: var(--mustard); transform: scale(1.35); }
.allomasok button.is-active span { color: var(--mustard); }
.menetrend-tabla { background: #121612; border: 2px solid #4c5446; box-shadow: inset 0 0 40px rgba(0,0,0,.6); padding: 22px 26px; font-family: var(--mono); }
.tabla-fej { display: grid; grid-template-columns: 150px 180px 1fr; gap: 20px; font: 600 10px/1 var(--mono); letter-spacing: .15em; text-transform: uppercase; color: #8c9a82; padding-bottom: 12px; border-bottom: 1px dashed #4c5446; }
.tabla-sor { display: grid; grid-template-columns: 150px 180px 1fr; gap: 20px; align-items: center; padding: 22px 0; min-height: 140px; }
.tabla-korszak { display: block; margin-top: 8px; font-size: 10px; letter-spacing: .12em; color: #8c9a82; }
.tabla-cim { margin: 0 0 6px; font: 700 22px/1.2 var(--display); color: #f2c35e; }
.tabla-esemeny .tabla-szoveg { color: #eee4c7; }
.tabla-link { display: inline-block; margin-top: 10px; font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #f2c35e; }
.tabla-link[hidden] { display: none; }
.korszakok { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; }
.korszakok button { padding: 9px 13px; border: 1px solid #c9bd99; background: transparent; color: #eee4c7; cursor: pointer; font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }
.korszakok button:hover { border-color: #f2c35e; color: #f2c35e; }
.korszakok button.is-active { background: #f2c35e; color: #121612; border-color: #f2c35e; }
.tabla-ev { font: 700 58px/1 var(--poster); color: #f2c35e; letter-spacing: .04em; text-shadow: 0 0 14px rgba(242,195,94,.35); display: inline-block; }
.tabla-ev.flap { animation: flap .5s steps(4); }
.tabla-datum { font-size: 15px; color: #f2c35e; text-transform: uppercase; letter-spacing: .06em; }
.tabla-szoveg { margin: 0; font: 500 16px/1.5 var(--mono); color: #eee4c7; }
.tabla-gombok { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px dashed #4c5446; }
.tabla-gombok .gomb { background: transparent; color: #eee4c7; border-color: #eee4c7; box-shadow: 3px 3px 0 #923a2d; }
.tabla-szamlalo { font: 500 12px/1 var(--mono); color: #8c9a82; }
.tabla-szamlalo b { color: #f2c35e; }

/* ---------- Lábléc ---------- */
.lablec-widgetek { max-width: var(--wrap); margin: 0 auto; padding: 50px var(--gutter); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 30px; border-top: 1px solid var(--line); }
.widget-title { font: 600 12px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--rust); }
.site-footer { border-top: 2px solid var(--ink); }
.site-footer-belso { max-width: var(--wrap); margin: 0 auto; min-height: 150px; padding: 40px var(--gutter); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 20px; }
.lablec-szoveg { text-align: center; font-size: 14px; margin: 0; }
.vissza { justify-self: end; font: 600 10px/1 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.site-footer-also { max-width: var(--wrap); margin: 0 auto; padding: 18px var(--gutter) 30px; display: flex; flex-wrap: wrap; gap: 14px 30px; justify-content: space-between; align-items: center; border-top: 1px dashed var(--line); font: 500 11px/1.4 var(--mono); }
.lablec-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.lablec-menu a { text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.copyright { margin: 0; opacity: .7; }

/* ---------- Listaoldalak ---------- */
.lista-fej { max-width: var(--wrap); margin: 0 auto; padding: 80px var(--gutter) 40px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; border-bottom: 1px solid var(--line); }
.lista-fej h1 { margin: 0; font-size: clamp(48px, 7vw, 110px); line-height: .9; letter-spacing: -.055em; overflow-wrap: anywhere; }
.lista-leiras { max-width: 640px; margin-top: 22px; font-size: 18px; }
.lista-leiras p { margin: 0 0 .6em; }
.lista-kereso { max-width: 560px; margin-top: 26px; }
.lista-tagkonyv { width: 380px; }
.rovatszuro { max-width: var(--wrap); margin: 0 auto; padding: 26px var(--gutter) 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rovatszuro a { padding: 9px 13px; border: 1px solid var(--ink); text-decoration: none; font: 600 11px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; transition: background .2s, color .2s; }
.rovatszuro a small { color: var(--rust); margin-left: 4px; }
.rovatszuro a:hover, .rovatszuro a[aria-current] { background: var(--ink); color: var(--paper-light); }
.rovatszuro a[aria-current] small { color: var(--mustard); }
.stories--lista { padding-top: 46px; }

.pagination { margin-top: 60px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pagination .page-numbers { min-width: 44px; padding: 13px 14px; border: 2px solid var(--ink); text-align: center; text-decoration: none; font: 600 12px/1 var(--mono); background: var(--paper-light); }
.pagination .page-numbers.current { background: var(--rust); color: var(--paper-light); border-color: var(--rust); }
.pagination a.page-numbers:hover { background: var(--ink); color: var(--paper-light); }

.ures { max-width: 640px; margin: 0 auto; text-align: center; padding: 30px 0; }
.ures h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1; margin: 18px 0; letter-spacing: -.03em; }
.ures .keresoform { margin-top: 26px; }
.ures-pecset { display: inline-block; margin: 0; padding: 10px 16px; border: 5px double var(--rust); color: var(--rust); font: 700 20px/1 var(--mono); letter-spacing: .14em; transform: rotate(-6deg); }

/* ---------- Cikk ---------- */
.tervteljesites { position: fixed; left: 0; right: 0; top: 0; z-index: 60; height: 5px; background: transparent; pointer-events: none; }
.tervteljesites i { display: block; height: 100%; width: var(--p, 0%); background: var(--rust); box-shadow: 0 0 10px rgba(146,58,45,.5); }
.tervteljesites span { position: fixed; right: 14px; bottom: 14px; padding: 8px 11px; background: var(--ink); color: var(--paper-light); font: 600 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: .3s; }
.tervteljesites.is-aktiv span { opacity: 1; transform: none; }
.tervteljesites span b { color: var(--mustard); font-variant-numeric: tabular-nums; }
.admin-bar .tervteljesites { top: 32px; }

.cikk { max-width: 1100px; margin: 0 auto; padding: 70px var(--gutter) 30px; }
.cikk-fej { max-width: 860px; margin: 0 auto 46px; }
.cikk-bug { display: inline-block; margin-bottom: 26px; padding: 8px 12px; background: var(--ink); color: var(--paper-light); font: 600 11px/1 var(--mono); letter-spacing: .12em; text-decoration: none; box-shadow: 4px 4px 0 var(--rust); }
.cikk-bug:hover { color: var(--paper-light); background: var(--rust); }
.cikk-cim { margin: 0; font-size: clamp(40px, 6vw, 86px); line-height: .96; letter-spacing: -.05em; font-weight: 800; overflow-wrap: break-word; hyphens: auto; }
.cikk-lead { margin: 26px 0 0; font-size: clamp(19px, 1.8vw, 24px); line-height: 1.45; font-weight: 400; color: var(--ink-soft); }
.cikk-meta { display: flex; flex-wrap: wrap; gap: 0; margin: 34px 0 0; border-block: 2px solid var(--ink); }
.cikk-meta > div { padding: 12px 22px 12px 0; margin-right: 22px; border-right: 1px dashed var(--line); }
.cikk-meta > div:last-child { border-right: 0; }
.cikk-meta dt { font: 600 9px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--rust); margin-bottom: 6px; }
.cikk-meta dd { margin: 0; font: 500 14px/1.2 var(--mono); }
.cikk-meta a { text-decoration: none; }
.cikk-kep { margin: 0 auto 50px; padding: 14px 14px 10px; background: var(--paper-light); border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--shadow); transform: rotate(-.6deg); }
.cikk-kep img { display: block; width: 100%; }
.cikk-kep figcaption { margin-top: 10px; font: 500 12px/1.4 var(--mono); }

.entry-content { font-size: 19px; line-height: 1.72; }
.cikk-szoveg { max-width: 760px; margin: 0 auto; }
.entry-content > * { margin-block: 0 1.15em; }
.cikk-szoveg > p:first-of-type::first-letter { float: left; margin: .08em .1em 0 0; padding: .05em .12em; font: 800 4.1em/.8 var(--display); color: var(--paper-light); background: var(--rust); box-shadow: 4px 4px 0 var(--ink); }
.entry-content h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.05; letter-spacing: -.035em; margin: 1.8em 0 .6em; }
.entry-content h3 { font-size: 27px; line-height: 1.15; letter-spacing: -.02em; margin: 1.6em 0 .5em; }
.entry-content h4 { font: 600 14px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--rust); margin: 1.6em 0 .6em; }
.entry-content a { color: var(--rust); text-decoration-thickness: 2px; }
.entry-content a:hover { background: var(--rust); color: var(--paper-light); text-decoration: none; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content li { margin-bottom: .35em; }
.entry-content li::marker { color: var(--rust); font-weight: 700; }
.entry-content hr, .wp-block-separator { border: 0; height: 14px; margin: 2.4em auto; background: radial-gradient(circle, var(--rust) 0 3px, transparent 4px) center / 26px 14px repeat-x; max-width: 140px; opacity: 1; }
.entry-content blockquote, .wp-block-quote { margin: 2em 0; padding: 6px 0 6px 26px; border-left: 7px solid var(--rust); font-size: 1.15em; line-height: 1.5; font-style: italic; }
.entry-content blockquote cite, .wp-block-quote cite { display: block; margin-top: 10px; font: normal 500 12px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }
.wp-block-pullquote { border-block: 4px solid var(--ink); padding: 30px 0; text-align: center; }
.wp-block-pullquote blockquote { border: 0; padding: 0; font: 700 clamp(28px, 3vw, 40px)/1.25 var(--poster); text-transform: uppercase; font-style: normal; }
.entry-content figure { margin-inline: 0; }
.entry-content figcaption, .wp-element-caption { font: 500 12px/1.4 var(--mono); color: var(--ink-soft); margin-top: 8px; }
.entry-content img { display: block; }
.entry-content table { width: 100%; border-collapse: collapse; font: 500 14px/1.4 var(--mono); }
.entry-content th, .entry-content td { padding: 10px 12px; border: 1px solid var(--ink); text-align: left; }
.entry-content th { background: var(--ink); color: var(--paper-light); text-transform: uppercase; letter-spacing: .06em; font-size: 12px; }
.entry-content tr:nth-child(even) td { background: rgba(238,228,199,.45); }
.entry-content code, .entry-content pre { font-family: var(--mono); font-size: .85em; background: var(--paper-light); }
.entry-content pre { padding: 18px; border: 2px solid var(--ink); overflow-x: auto; }
.alignwide { width: min(1100px, calc(100vw - 2 * var(--gutter))); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignleft { float: left; margin: .3em 1.4em 1em 0; max-width: 50%; }
.alignright { float: right; margin: .3em 0 1em 1.4em; max-width: 50%; }
.aligncenter { margin-inline: auto; }
.wp-block-button__link { border-radius: 0; background: var(--ink); color: var(--paper-light); font: 600 13px/1 var(--mono); text-transform: uppercase; letter-spacing: .06em; padding: 15px 20px; box-shadow: 5px 5px 0 var(--rust); }
.entry-content .wp-block-button__link:hover { background: var(--rust); color: var(--paper-light); }

/* Blokkstílusok (a szerkesztőben választhatók) */
.is-style-pecset.wp-block-quote, blockquote.is-style-pecset { position: relative; padding: 34px 34px 30px; border: 2px solid #252b26; background: #efe6c9 repeating-linear-gradient(transparent 0 31px, rgba(37,43,38,.08) 31px 32px); color: #252b26; font: 500 17px/1.7 var(--mono); font-style: normal; box-shadow: 7px 7px 0 var(--shadow); }
.is-style-pecset.wp-block-quote::after, blockquote.is-style-pecset::after { content: 'IKTATVA'; position: absolute; right: 18px; bottom: -18px; padding: 8px 12px; border: 4px double #923a2d; color: #923a2d; background: rgba(239,230,201,.85); font: 700 15px/1 var(--mono); letter-spacing: .16em; transform: rotate(-8deg); }
.is-style-pecset cite { color: #4a5048 !important; }
.wp-block-group.is-style-akta { padding: 32px 34px; background: #efe6c9; color: #252b26; border: 1px solid #8f8566; box-shadow: 6px 6px 0 rgba(37,43,38,.25), 12px 12px 0 rgba(37,43,38,.12); transform: rotate(-.4deg); }
.wp-block-group.is-style-adatlap { padding: 26px 30px; background: #252b26; color: #eee4c7; border-left: 10px solid #923a2d; font-family: var(--mono); font-size: 15px; }
.wp-block-group.is-style-adatlap h4, .wp-block-group.is-style-adatlap h3 { color: #bd964e; margin-top: 0; }
.wp-block-group.is-style-adatlap a { color: #e1c27d; }
.wp-block-image.is-style-foto { padding: 12px 12px 8px; background: #f3ecd6; border: 1px solid rgba(37,43,38,.3); box-shadow: 6px 8px 14px rgba(37,43,38,.25); transform: rotate(-1.2deg); position: relative; }
.wp-block-image.is-style-foto::before, .wp-block-image.is-style-foto::after { content: ''; position: absolute; width: 90px; height: 26px; background: rgba(225,194,125,.65); top: -10px; z-index: 2; }
.wp-block-image.is-style-foto::before { left: -18px; transform: rotate(-35deg); }
.wp-block-image.is-style-foto::after { right: -18px; transform: rotate(35deg); }
.wp-block-image.is-style-foto img { filter: sepia(.2) contrast(1.05); }
.wp-block-image.is-style-foto figcaption { color: #4a5048; }
p.is-style-iroggep { font: 500 16px/1.75 var(--mono); padding: 18px 20px; background: rgba(238,228,199,.6); border: 1px dashed var(--line); }
ul.is-style-vallalas { list-style: none; padding-left: 0; }
ul.is-style-vallalas li { position: relative; padding-left: 38px; }
ul.is-style-vallalas li::before { content: '✓'; position: absolute; left: 0; top: .1em; width: 24px; height: 24px; display: grid; place-items: center; border: 2px solid currentColor; color: #923a2d; font: 700 14px/1 var(--mono); }
.is-style-pecset .wp-block-button__link { background: transparent; color: var(--rust); border: 4px double var(--rust); box-shadow: none; transform: rotate(-3deg); }
.is-style-pecset .wp-block-button__link:hover { transform: rotate(0); }

/* Cikk lábléc */
.cikk-lab { max-width: 760px; margin: 50px auto 0; display: grid; gap: 34px; }
.cedulak { display: flex; flex-wrap: wrap; gap: 8px; }
.cedulak a { position: relative; padding: 8px 12px 8px 22px; background: var(--paper-light); border: 1px solid var(--ink); text-decoration: none; font: 500 12px/1 var(--mono); transform: rotate(var(--r, -1deg)); transition: transform .2s, background .2s; }
.cedulak a:nth-child(even) { --r: 1.2deg; }
.cedulak a::before { content: ''; position: absolute; left: 8px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--paper); box-shadow: inset 0 0 0 1px var(--ink); }
.cedulak a small { color: var(--rust); }
.cedulak a:hover { transform: rotate(0) translateY(-2px); background: var(--mustard); color: #252b26; }

.taggyules { padding: 24px; border: 2px solid var(--ink); background: var(--paper-light); box-shadow: 7px 7px 0 var(--shadow); }
.taggyules-title { margin: 0 0 18px; font: 700 26px/1 var(--poster); text-transform: uppercase; letter-spacing: .02em; }
.taggyules-title small { display: block; margin-top: 6px; font: 500 11px/1 var(--mono); letter-spacing: .1em; color: var(--rust); }
.taggyules-gombok { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.kez { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px 14px 12px; border: 2px solid var(--ink); background: transparent; cursor: pointer; text-align: left; transition: background .2s, color .2s, transform .15s; overflow: hidden; }
.kez:hover { background: var(--ink); color: var(--paper-light); }
.kez-ikon { font-size: 26px; line-height: 1; display: inline-block; transform-origin: 50% 100%; transition: transform .3s; filter: grayscale(.6); }
.kez:hover .kez-ikon { transform: rotate(-12deg) translateY(-4px); }
.kez-label { font: 600 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.kez-szam { position: absolute; right: 12px; top: 10px; font: 700 26px/1 var(--poster); color: var(--rust); font-variant-numeric: tabular-nums; }
.kez:hover .kez-szam { color: var(--mustard); }
.kez.is-szavazott { background: var(--rust); color: var(--paper-light); border-color: var(--rust); }
.kez.is-szavazott .kez-szam { color: var(--paper-light); }
.kez.is-szavazott .kez-ikon { animation: kezfel .6s cubic-bezier(.3,1.6,.5,1); filter: none; }
.taggyules-uzenet { margin: 12px 0 0; min-height: 1.2em; font: 500 12px/1.3 var(--mono); color: var(--rust); }

.terjeszd { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.terjeszd-label { margin: 0 8px 0 0; font: 700 22px/1 var(--poster); text-transform: uppercase; color: var(--rust); }

.tagkonyv { position: relative; background: #8f2f24; color: #f3e9c7; padding: 0 0 18px; border-radius: 4px 10px 10px 4px; box-shadow: inset 8px 0 0 rgba(0,0,0,.18), 8px 8px 0 var(--shadow); font-family: var(--mono); overflow: hidden; }
.tagkonyv::before { content: ''; position: absolute; inset: 0; background-image: var(--grain); opacity: .45; mix-blend-mode: multiply; pointer-events: none; }
.tagkonyv-fej { display: flex; justify-content: space-between; padding: 12px 18px 12px 26px; border-bottom: 1px solid rgba(243,233,199,.3); font: 700 11px/1 var(--mono); letter-spacing: .2em; color: #e1c27d; }
.tagkonyv-test { display: flex; gap: 16px; padding: 18px 18px 0 26px; position: relative; }
.tagkonyv-foto { flex: none; width: 92px; padding: 5px; background: #f3e9c7; transform: rotate(-2deg); box-shadow: 2px 3px 6px rgba(0,0,0,.35); }
.tagkonyv-foto img { display: block; width: 100%; height: auto; filter: grayscale(1) sepia(.35) contrast(1.1); }
.tagkonyv-nev { margin: 0 0 10px; font: 700 21px/1.1 var(--display); color: #fff7dd; }
.tagkonyv dl { margin: 0; display: grid; gap: 5px; }
.tagkonyv dl div { display: flex; gap: 8px; font-size: 11px; }
.tagkonyv dt { color: #e1c27d; text-transform: uppercase; letter-spacing: .08em; }
.tagkonyv dt::after { content: ':'; }
.tagkonyv dd { margin: 0; }
.tagkonyv-bio { position: relative; margin: 14px 18px 0 26px; font: 400 14px/1.55 var(--display); }
.tagkonyv-link { position: relative; display: inline-block; margin: 14px 0 0 26px; font: 600 11px/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: #e1c27d; }
.tagkonyv-link:hover { color: #fff7dd; }
.tagkonyv-belyeg { position: absolute; right: 16px; bottom: 16px; padding: 6px 8px; border: 3px double rgba(243,233,199,.65); color: rgba(243,233,199,.75); font: 700 11px/1 var(--mono); letter-spacing: .16em; transform: rotate(-12deg); }
.tagkonyv--kicsi .tagkonyv-foto { width: 74px; }

.adasvaltas { max-width: 1100px; margin: 50px auto 0; padding: 0 var(--gutter); display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.adasvaltas a { display: block; padding: 22px; border: 2px solid var(--ink); text-decoration: none; background: var(--paper-light); transition: background .2s, color .2s; }
.adasvaltas a:hover { background: var(--ink); color: var(--paper-light); }
.adasvaltas-kovetkezo { text-align: right; grid-column: 2; }
.adasvaltas small { display: block; margin-bottom: 8px; font: 600 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--rust); }
.adasvaltas b { font-size: 20px; line-height: 1.2; }
.stories--kapcsolodo { padding-top: 90px; padding-bottom: 40px; }
.stories--kapcsolodo .story-grid { grid-template-columns: repeat(3, 1fr); }
.faliujsag { max-width: 760px; margin: 40px auto 0; padding: 0 var(--gutter); }

/* Felszólalások */
.felszolalasok { max-width: 760px; margin: 60px auto 0; padding: 0 var(--gutter) 90px; }
.felszolalasok-cim { display: flex; align-items: center; gap: 14px; font-size: 40px; letter-spacing: -.04em; margin: 0 0 28px; }
.felszolalasok-cim span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; background: var(--rust); color: var(--paper-light); font: 700 18px/1 var(--mono); }
.felszolalas-lista, .felszolalas-lista .children { list-style: none; margin: 0; padding: 0; }
.felszolalas-lista .children { margin-left: 34px; border-left: 2px dashed var(--line); padding-left: 20px; }
.felszolalas { margin-bottom: 18px; padding: 18px 20px; background: var(--paper-light); border: 1px solid var(--ink); }
.bypostauthor > .felszolalas { border: 2px solid var(--rust); box-shadow: 5px 5px 0 var(--rust); }
.felszolalas-fej { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; }
.felszolalas-fej img { border-radius: 50%; filter: grayscale(1) sepia(.3); }
.felszolalas-fej b { display: block; font-size: 16px; }
.felszolalas-fej b a { text-decoration: none; }
.felszolalas-fej time { font: 500 11px/1 var(--mono); opacity: .7; }
.felszolalas-szoveg { font-size: 16px; line-height: 1.6; }
.felszolalas-szoveg p { margin: 0 0 .6em; }
.felszolalas-valasz a { font: 600 11px/1 var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--rust); }
.felszolalas-var { font: 500 12px/1 var(--mono); color: var(--rust); }
.comment-respond { margin-top: 40px; padding: 28px; border: 2px solid var(--ink); background: var(--paper-light) repeating-linear-gradient(transparent 0 33px, rgba(37,43,38,.07) 33px 34px); box-shadow: 7px 7px 0 var(--shadow); }
.comment-reply-title { margin: 0 0 12px; font: 700 30px/1 var(--poster); text-transform: uppercase; }
.comment-reply-title small { margin-left: 10px; font: 500 12px/1 var(--mono); }
.comment-notes, .logged-in-as { font: 500 12px/1.5 var(--mono); opacity: .8; }
.comment-form label, .panasz-sor label, .panasz-sor legend { display: block; margin-bottom: 6px; font: 600 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea,
.panasz-urlap input[type="text"], .panasz-urlap input[type="email"], .panasz-urlap textarea { width: 100%; padding: 12px; border: 2px solid var(--ink); background: rgba(255,255,255,.4); font: 500 15px/1.5 var(--mono); color: var(--ink); }
:root[data-aram="ki"] .comment-form input, :root[data-aram="ki"] .comment-form textarea, :root[data-aram="ki"] .panasz-urlap input, :root[data-aram="ki"] .panasz-urlap textarea { background: rgba(0,0,0,.25); }
.comment-form input:focus, .comment-form textarea:focus, .panasz-urlap input:focus, .panasz-urlap textarea:focus { outline: none; border-color: var(--rust); }
.comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.comment-form-cookies-consent label { text-transform: none; letter-spacing: 0; font-weight: 500; }
.form-submit { margin: 18px 0 0; }
.felszolalas-zarva { font: 500 13px/1.4 var(--mono); }

/* ---------- Oldalsablonok ---------- */
.cikk--oldal .cikk-szoveg > p:first-of-type::first-letter { all: unset; }
.kezdolap-tartalom { max-width: 860px; }

.bizottsag-racs { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 420px)); gap: 40px; justify-content: center; }
.bizottsag-racs .tagkonyv:nth-child(odd) { transform: rotate(-1.5deg); }
.bizottsag-racs .tagkonyv:nth-child(even) { transform: rotate(1.2deg); }
.bizottsag { padding-top: 60px; }
.alapszabaly { padding-top: 40px; }
.alapszabaly-lista { list-style: none; margin: 0; padding: 0; max-width: 900px; border-top: 2px solid var(--ink); }
.alapszabaly-lista li { display: grid; grid-template-columns: 80px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px dashed var(--line); font-size: 19px; }
.alapszabaly-lista b { font: 700 22px/1.2 var(--poster); color: var(--rust); }

.panasz-oldal { max-width: var(--wrap); margin: 0 auto; padding: 80px var(--gutter) 110px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.panasz-bal h1 { margin: 0 0 24px; font-size: clamp(48px, 6vw, 96px); line-height: .9; letter-spacing: -.055em; }
.panasz-tudnivalok { list-style: none; margin: 34px 0 0; padding: 0; border-top: 2px solid var(--ink); }
.panasz-tudnivalok li { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px dashed var(--line); font-size: 15px; }
.panasz-tudnivalok b { font: 600 11px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--rust); }
.panaszkonyv { position: relative; padding: 0 30px 30px 54px; background: #efe6c9 repeating-linear-gradient(transparent 0 35px, rgba(37,43,38,.1) 35px 36px); color: #252b26; border: 2px solid #252b26; box-shadow: 10px 10px 0 var(--shadow); }
.panaszkonyv::before { content: ''; position: absolute; left: 34px; top: 0; bottom: 0; width: 2px; background: rgba(146,58,45,.45); }
.panaszkonyv::after { content: ''; position: absolute; left: 10px; top: 30px; bottom: 30px; width: 10px; background: radial-gradient(circle, #252b26 0 4px, transparent 5px) 0 0 / 10px 46px repeat-y; }
.panaszkonyv-fej { display: flex; justify-content: space-between; margin: 0 -30px 24px -54px; padding: 14px 30px 14px 54px; background: #252b26; color: #efe6c9; font: 700 12px/1 var(--mono); letter-spacing: .2em; }
.panasz-urlap { display: grid; gap: 18px; }
.panasz-urlap input[type="text"], .panasz-urlap input[type="email"], .panasz-urlap textarea { border-width: 0 0 2px; background: transparent; padding-inline: 0; color: #252b26; }
.panasz-urlap label { color: #252b26; }
.panasz-fax { position: absolute !important; left: -9999px; }
.panasz-targy { border: 0; margin: 0; padding: 0; }
.panasz-targy legend { margin-bottom: 10px; }
.panasz-chip { display: inline-block !important; margin: 0 6px 8px 0 !important; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; }
.panasz-chip input { position: absolute; opacity: 0; }
.panasz-chip span { display: inline-block; padding: 9px 12px; border: 1px solid #252b26; font: 500 12px/1 var(--mono); transition: .2s; }
.panasz-chip input:checked + span { background: #923a2d; color: #efe6c9; border-color: #923a2d; }
.panasz-chip input:focus-visible + span { outline: 3px solid #923a2d; outline-offset: 2px; }
.panasz-hozzajarulas { display: flex; gap: 10px; align-items: flex-start; font: 500 12px/1.5 var(--mono); }
.panasz-hozzajarulas input { margin-top: 3px; }
.panasz-allapot { margin: 0 0 18px; padding: 12px 14px; border: 3px double #923a2d; color: #923a2d; font: 600 13px/1.4 var(--mono); }
.panasz-allapot--ok { border-color: #596451; color: #313a32; }

.irattar { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; align-items: start; padding-top: 60px; }
.irattar-cim { margin: 0 0 18px; font: 700 26px/1 var(--poster); text-transform: uppercase; padding-bottom: 12px; border-bottom: 3px solid var(--ink); }
.fiok { margin-bottom: 10px; border: 2px solid var(--ink); background: var(--paper-light); box-shadow: 4px 4px 0 var(--shadow); }
.fiok summary { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; font: 600 12px/1 var(--mono); }
.fiok summary::-webkit-details-marker { display: none; }
.fiok summary b { font: 700 28px/1 var(--poster); }
.fiok summary::after { content: ''; width: 28px; height: 8px; margin-left: 12px; background: var(--ink); border-radius: 4px; box-shadow: inset 0 0 0 2px var(--paper-light); }
.fiok[open] summary { background: var(--ink); color: var(--paper-light); }
.fiok[open] summary::after { background: var(--mustard); }
.fiok ul { list-style: none; margin: 0; padding: 12px 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.fiok a, .irattar-lista a { text-decoration: none; font: 500 13px/1.4 var(--mono); }
.fiok small, .irattar-lista small { color: var(--rust); }
.irattar-lista { list-style: none; margin: 0; padding: 0; }
.irattar-lista li { border-bottom: 1px dashed var(--line); }
.irattar-lista a { display: flex; gap: 10px; padding: 11px 0; }
.irattar-lista a span { color: var(--rust); font-weight: 700; }
.irattar-lista a small { margin-left: auto; }

/* 404 */
.hianycikk { max-width: var(--wrap); margin: 0 auto; padding: 90px var(--gutter) 120px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.hianycikk-cetli { position: relative; }
.hianycikk-kod { margin: 0; font: 700 clamp(120px, 18vw, 260px)/.8 var(--poster); color: var(--rust); letter-spacing: -.02em; }
.hianycikk h1 { margin: 26px 0 16px; font-size: clamp(36px, 4.4vw, 64px); line-height: .98; letter-spacing: -.045em; }
.hianycikk .keresoform { margin: 26px 0 30px; max-width: 520px; }
.hianycikk .ures-pecset { position: absolute; left: 34%; top: 12%; background: color-mix(in srgb, var(--paper) 70%, transparent); }
.sor { list-style: none; margin: 0; padding: 0; display: flex; align-items: flex-end; gap: 10px; justify-content: center; height: 260px; }
.sor li { width: 34px; height: 150px; background: var(--ink); border-radius: 17px 17px 4px 4px; position: relative; animation: sorbanallas 3s ease-in-out infinite; animation-delay: calc(var(--i, 0) * .2s); }
.sor li::before { content: ''; position: absolute; left: 50%; top: -38px; width: 32px; height: 32px; margin-left: -16px; border-radius: 50%; background: var(--ink); }
.sor li:nth-child(2) { --i: 1; height: 165px; } .sor li:nth-child(3) { --i: 2; height: 140px; } .sor li:nth-child(4) { --i: 3; height: 160px; } .sor li:nth-child(5) { --i: 4; height: 135px; } .sor li:nth-child(6) { --i: 5; height: 155px; }
.sor .sor-te { --i: 6; background: var(--rust); color: var(--paper-light); font: 600 10px/1 var(--mono); text-align: center; padding-top: 14px; height: 145px; }
.sor .sor-te::before { background: var(--rust); }

/* Toast */
.toast { position: fixed; left: 50%; bottom: 24px; z-index: 200; padding: 12px 18px; background: var(--ink); color: var(--paper-light); font: 600 12px/1.2 var(--mono); letter-spacing: .05em; box-shadow: 5px 5px 0 var(--rust); transform: translate(-50%, 0); animation: toastBe .3s cubic-bezier(.2,1.3,.4,1); }

/* Belépő animáció */
.felbukkan { opacity: 0; transform: translateY(24px); transition: opacity .7s, transform .7s cubic-bezier(.2,.8,.2,1); }
.felbukkan.is-lathato { opacity: 1; transform: none; }

/* ---------- Szerkeszthető elemek (csak szerkesztőknek jelennek meg) ---------- */
.kk-ed.kk-ed { display: inline; width: auto; height: auto; min-width: 0; margin: 0; padding: 0; background: none; box-shadow: none; position: static; transform: none; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; opacity: 1; border-radius: 2px; }
div.kk-ed.kk-ed, p.kk-ed.kk-ed, h1.kk-ed, .tagkonyv-foto.kk-ed { display: block; }
[data-kk-type="hosszu"] { white-space: pre-line; }
.kk-ures.kk-ures { display: inline-block; min-width: 3.5em; min-height: .9em; outline: 2px dashed color-mix(in srgb, currentColor 45%, transparent); outline-offset: 2px; vertical-align: baseline; }
.kk-ures::before { content: attr(data-ph); opacity: .38; font-style: italic; pointer-events: none; }
[data-kk-edit], [data-kk-href] { cursor: pointer; }
.kk-szerkeszt [data-kk-edit]:hover, .kk-szerkeszt [data-kk-href]:hover, .kk-elonezet [data-kk-edit]:hover { outline: 2px solid var(--rust) !important; outline-offset: 3px; }
.kk-elonezet [data-kk-type="text"], .kk-elonezet [data-kk-type="hosszu"] { cursor: text; }
.kk-ed[contenteditable="true"] { outline: 2px solid var(--mustard) !important; outline-offset: 3px; background: color-mix(in srgb, var(--mustard) 14%, transparent); }
.kk-ed[contenteditable="true"].kk-ures::before { content: none; }
.kk-varakozik { animation: kkVar .6s ease-in-out infinite alternate; }
@keyframes kkVar { to { outline: 2px solid var(--mustard); outline-offset: 4px; } }
.kk-ures-blokk { position: relative; }
.kk-ures-blokk::after { content: '✎ ' attr(data-ph); position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 6; max-width: 90%; padding: 9px 13px; background: var(--ink); color: var(--paper-light); font: 600 11px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; text-align: center; box-shadow: 4px 4px 0 var(--rust); pointer-events: none; }
.vaz { display: block; height: 14px; margin: 6px 0; background: color-mix(in srgb, var(--ink) 16%, transparent); border-radius: 2px; }
.vaz--kozep { width: 70%; } .vaz--rovid { width: 40%; height: 9px; } .vaz--vekony { height: 8px; }
h3 .vaz { height: 22px; }
.story-card--ures .card-visual span, .story-card--ures .card-visual i { display: none; }
.kk-szerkeszto-gomb { position: fixed; left: 16px; bottom: 16px; z-index: 300; display: inline-flex; gap: 8px; align-items: center; padding: 11px 15px; border: 2px solid var(--ink); background: var(--mustard); color: #252b26; font: 700 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; box-shadow: 4px 4px 0 var(--ink); }
.kk-szerkeszt .kk-szerkeszto-gomb { background: var(--rust); color: #eee4c7; }
.kk-szerkeszt .kk-szerkeszto-gomb::after { content: ' – kattints egy elemre'; font-weight: 500; text-transform: none; letter-spacing: 0; }
@media print { .kk-szerkeszto-gomb, .kk-ures::before, .kk-ures-blokk::after { display: none !important; } }

/* ---------- Animációk ---------- */
@keyframes staticBurst { 0%{opacity:0; transform:translate(0)} 15%{opacity:.85} 30%{transform:translate(4%, -3%)} 55%{opacity:.55; transform:translate(-5%, 2%)} 100%{opacity:0; transform:translate(0)} }
@keyframes trainPass { from{transform:translateX(-28%)} to{transform:translateX(132%)} }
@keyframes paperFeed { from{transform:translateY(-12%)} to{transform:translateY(9%)} }
@keyframes phoneRing { 0%,72%,100%{transform:rotate(0)} 76%{transform:rotate(-3deg)} 80%{transform:rotate(3deg)} 84%{transform:rotate(-3deg)} 88%{transform:rotate(2deg)} }
@keyframes ringLines { 0%,72%,100%{opacity:0} 76%,88%{opacity:1} }
@keyframes stamp { 0%,63%,100%{transform:translateY(-55px) rotate(-9deg);opacity:0} 69%{transform:translateY(3px) rotate(-9deg);opacity:1} 74%,94%{transform:translateY(0) rotate(-9deg);opacity:1} }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes scanRoll { to { background-position: 0 40px; } }
@keyframes tvOff { 0% { transform: scale(1); filter: brightness(1); } 60% { transform: scale(1, .006); filter: brightness(3); } 100% { transform: scale(0, .006); filter: brightness(5); opacity: 0; } }
@keyframes tvDot { 0% { width: 10px; height: 10px; opacity: 1; } 100% { width: 0; height: 0; opacity: 0; } }
@keyframes flap { 0% { transform: rotateX(0); } 50% { transform: rotateX(90deg); opacity: .4; } 100% { transform: rotateX(0); } }
@keyframes nyomas { 0% { transform: scale(1.2); opacity: 0; filter: blur(4px); } 100% { transform: none; opacity: 1; } }
@keyframes kezfel { 0% { transform: translateY(0); } 50% { transform: translateY(-10px) rotate(-14deg); } 100% { transform: none; } }
@keyframes sorbanallas { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-4px); } }
@keyframes toastBe { from { transform: translate(-50%, 20px); opacity: 0; } }

/* ---------- Reszponzív ---------- */
@media (max-width: 1180px) {
  .fomenu .menu { gap: 20px; }
  .stat-sor { grid-template-columns: repeat(3, 1fr); row-gap: 30px; }
  .stat:nth-child(4) { border-left: 0; }
}
@media (max-width: 1050px) {
  :root { --gutter: 28px; }
  .menu-kapcsolo { display: grid; }
  .fomenu { position: fixed; inset: 0; z-index: 90; margin: 0; padding: 110px 28px 40px; background: var(--paper); overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform .35s cubic-bezier(.6,0,.2,1), visibility 0s .35s; }
  .menu-nyitva .fomenu { transform: none; visibility: visible; transition: transform .35s cubic-bezier(.6,0,.2,1); }
  .fomenu .menu { flex-direction: column; align-items: stretch; gap: 0; }
  .fomenu .menu > li { border-bottom: 1px solid var(--line); }
  .fomenu .menu > li > a { font: 800 clamp(28px, 7vw, 44px)/1.1 var(--display); text-transform: none; letter-spacing: -.03em; padding: 14px 0; border: 0; }
  .fomenu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; background: none; padding: 0 0 14px; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
  .fomenu .sub-menu a { padding: 8px 10px; border: 1px solid var(--ink); font: 600 12px/1 var(--mono); }
  .fomenu .menu-item-has-children > a::after { content: ''; }
  .fej-gombok { margin-left: auto; position: relative; z-index: 95; }
  .menu-nyitva .menu-kapcsolo span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-nyitva .menu-kapcsolo span:nth-child(2) { opacity: 0; }
  .menu-nyitva .menu-kapcsolo span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .menu-nyitva { overflow: hidden; }
  .site-header .wordmark { position: relative; z-index: 95; }

  .hero { grid-template-columns: 1fr; padding-top: 55px; min-height: 0; }
  .hero-copy { padding-bottom: 0; max-width: 750px; }
  .television-stage { width: min(820px, 100%); margin: 0 auto; }
  .story-grid, .story-grid--lista, .stories--kapcsolodo .story-grid { grid-template-columns: 1fr 1fr; }
  .story-card.featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr 1fr; }
  .story-card.featured .card-visual { border-bottom: 0; border-right: 2px solid var(--ink); }
  .lista-fej { grid-template-columns: 1fr; }
  .lista-tagkonyv { width: min(420px, 100%); }
  .panasz-oldal, .hianycikk { grid-template-columns: 1fr; gap: 50px; }
  .irattar { grid-template-columns: 1fr 1fr; }
  .irattar-cedulak { grid-column: 1 / -1; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 782px) {
  .admin-bar .tervteljesites { top: 46px; }
}
@media (max-width: 690px) {
  :root { --gutter: 16px; }
  body { font-size: 16px; }
  .kozlemeny-datum { display: none; }
  .site-header-belso { min-height: 66px; gap: 12px; }
  .wordmark { font-size: 13px; gap: 6px; }
  .wordmark i { width: 13px; height: 13px; }
  .fej-gomb { width: 38px; height: 38px; }
  .hero { padding: 40px var(--gutter) 26px; gap: 46px; }
  .hero h1 { font-size: clamp(54px, 18vw, 83px); }
  .lede { font-size: 17px; }
  .instruction { right: 3%; top: -8px; }
  .caption { padding: 7px 9px; border-left-width: 4px; }
  .caption strong { font-size: 13px; }
  .caption span { font-size: 7px; }
  a.caption::after { top: 6px; right: 7px; font-size: 11px; }
  .channel-bug { font-size: 7px; }
  .channel-selector button { font-size: 0; min-height: 40px; }
  .channel-selector button b { font-size: 10px; margin: 0; }
  .szakasz, .stories { padding: 80px var(--gutter); }
  .story-grid, .story-grid--lista, .stories--kapcsolodo .story-grid { grid-template-columns: 1fr; }
  .story-card.featured, .story-grid--lista .story-card.featured { grid-column: auto; display: flex; }
  .story-card.featured .card-visual, .story-grid--lista .story-card.featured .card-visual { border-right: 0; border-bottom: 2px solid var(--ink); }
  .card-visual, .card-visual.has-photo img { min-height: 200px; }
  .stat-sor { grid-template-columns: 1fr 1fr; }
  .stat { border-left: 0 !important; }
  .menetrend-belso { padding: 80px var(--gutter); }
  .tabla-fej { display: none; }
  .tabla-sor { grid-template-columns: 1fr; gap: 8px; }
  .tabla-gombok .gomb { font-size: 0; padding: 12px 14px; }
  .tabla-gombok .gomb::before { font-size: 14px; }
  .tabla-gombok [data-step="-1"]::before { content: '←'; }
  .tabla-gombok [data-step="1"]::before { content: '→'; }
  .rovat-racs { grid-template-columns: 1fr 1fr; }
  .rovat { min-height: 0; padding: 16px; gap: 6px; }
  .rovat-szam { font-size: 34px; }
  .rovat-nev { font-size: 18px; }
  .rovat-leiras { display: none; }
  .site-footer-belso { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .vissza { justify-self: center; }
  .site-footer-also { justify-content: center; text-align: center; }
  .lista-fej { padding: 56px var(--gutter) 30px; }
  .cikk { padding: 46px var(--gutter) 20px; }
  .entry-content { font-size: 17px; }
  .cikk-meta > div { padding-right: 14px; margin-right: 14px; }
  .adasvaltas { grid-template-columns: 1fr; }
  .adasvaltas-kovetkezo { grid-column: auto; }
  .irattar { grid-template-columns: 1fr; }
  .alapszabaly-lista li { grid-template-columns: 1fr; gap: 4px; }
  .panaszkonyv { padding: 0 18px 24px 40px; }
  .panaszkonyv::before { left: 28px; }
  .panaszkonyv::after { left: 8px; }
  .panaszkonyv-fej { margin: 0 -18px 20px -40px; padding-left: 40px; }
  .panasz-tudnivalok li { grid-template-columns: 1fr; gap: 4px; }
  .keresoform { flex-direction: column; }
  .alignleft, .alignright { float: none; max-width: 100%; margin: 1em 0; }
  .sor { height: 200px; }
  .sor li { width: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .felbukkan { opacity: 1; transform: none; }
}

/* ---------- Nyomtatás („Stencilezd ki”) ---------- */
@media print {
  body { background: #fff; color: #000; font-size: 12pt; }
  body::before, .kozlemeny, .site-header, .site-footer, .tervteljesites, .taggyules, .terjeszd, .adasvaltas, .stories--kapcsolodo, .felszolalasok, .faliujsag, .lablec-widgetek, .toast, .cedula { display: none !important; }
  .cikk { padding: 0; }
  .cikk-kep { box-shadow: none; transform: none; border: 1px solid #000; }
  .cikk-szoveg > p:first-of-type::first-letter { color: #000; background: none; box-shadow: none; }
  .entry-content a { color: #000; }
  .entry-content a[href^="http"]::after { content: ' (' attr(href) ')'; font-size: 9pt; }
  .tagkonyv { box-shadow: none; }
}
