/* =========================================================
   WordPress + Elementor illesztések a Topolino dizájnhoz
   ========================================================= */

/* Elementor konténerek ne írják felül a saját szekció-ritmusunkat */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con-inner { max-width: none; }
.elementor-widget-container > .sec,
.elementor-widget-container > .mods,
.elementor-widget-container > .strip-wrap,
.elementor-widget-container > .hero,
.elementor-widget-container > .marq,
.elementor-widget-container > .stats { margin: 0; }

/* admin sáv ne takarja a fix fejlécet */
body.admin-bar .head { top: 32px; }
@media (max-width: 782px) { body.admin-bar .head { top: 46px; } }
body.admin-bar .mobile { padding-top: calc(var(--head-h) + 52px); }

/* a téma alap tipográfiája ne üsse a miénket */
.tkh-page h1, .tkh-page h2, .tkh-page h3 { font-family: var(--ff-head); }

/* Hello Elementor alap konténer kikapcsolása az egyedi sablonokon */
.page-content > .entry-content > .wrap { padding-top: 0; }

/* Elementor szerkesztőben a fix elemek ne lógjanak ki */
.elementor-editor-active .head { position: absolute; }
.elementor-editor-active .demo,
.elementor-editor-active .curtain,
.elementor-editor-active .cur { display: none !important; }

/* widget-előnézet az Elementor panelen */
.tkh-widget-empty {
    padding: 26px; border: 1px dashed rgba(20,20,20,.28); background: rgba(20,20,20,.03);
    font-family: var(--ff-head); font-size: .9rem; color: #6E6E6E; text-align: center;
}
.tkh-widget-empty b { display: block; color: var(--red); margin-bottom: .4em;
    font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; }

/* WP képaláírás */
.wp-caption { max-width: 100%; }
.wp-caption-text, .wp-element-caption {
    font-size: .83rem; color: var(--muted); margin-top: .85em; line-height: 1.55;
}

/* beágyazott videó */
.tkh-video { position: relative; aspect-ratio: 16/9; background: var(--moss-3); overflow: hidden; }
.tkh-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tkh-video__cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    cursor: pointer; transition: transform 1s var(--ease); }
.tkh-video:hover .tkh-video__cover { transform: scale(1.04); }
.tkh-video__btn {
    position: absolute; inset: 0; display: grid; place-items: center; background: rgba(13,13,13,.35);
    border: 0; cursor: pointer; color: #fff;
}
.tkh-video__btn i {
    width: 74px; height: 74px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%;
    display: grid; place-items: center; transition: background .4s;
}
.tkh-video__btn i::after {
    content: ""; width: 0; height: 0; border-left: 16px solid #fff;
    border-top: 10px solid transparent; border-bottom: 10px solid transparent; margin-left: 5px;
}
.tkh-video__btn:hover i { background: rgba(255,255,255,.2); }
.tkh-videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,300px), 1fr));
    gap: clamp(14px, 1.8vw, 24px); margin-top: clamp(18px, 2vw, 28px); }

/* járműkártya videó-jelölés */
.car__vid { position: absolute; left: 10px; bottom: 10px; display: flex; align-items: center; gap: .45em;
    background: rgba(159,45,45,.9); color: #fff; font-family: var(--ff-head); font-size: .62rem;
    letter-spacing: .12em; text-transform: uppercase; padding: .45em .65em; }

/* Járműkártya videó-gomb — a galériától függetlenül, kiemelt lejátszóban nyit */
.car{position:relative}
.car__play{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:.4em;
  background:var(--red);color:#fff;border:0;cursor:pointer;font-family:var(--ff-head);font-size:.66rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.5em .8em;
  box-shadow:0 8px 24px -8px rgba(13,13,13,.6);transition:background .3s,transform .3s}
.car__play svg{fill:currentColor;stroke:none}
.car__play:hover{background:var(--red-2);transform:translateY(-1px)}
@media (max-width:600px){.car__play{top:10px;right:10px;font-size:.6rem;padding:.45em .7em}}

/* egyoldalas (single) nézetek */
.tkh-single .prose { max-width: 74ch; }
.tkh-single__meta { display: flex; flex-wrap: wrap; gap: 10px 28px; padding: 18px 0;
    border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 2.4rem; }
.tkh-single__meta div { display: flex; flex-direction: column; gap: 3px; }
.tkh-single__meta b { font-family: var(--ff-head); font-size: .64rem; font-weight: 600;
    letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.tkh-single__meta span { font-family: var(--ff-head); font-size: 1.02rem; color: var(--moss); }

/* keresés / 404 */
.tkh-empty { padding: clamp(60px,10vw,140px) 0; text-align: center; }
.tkh-empty h1 { margin-bottom: 1rem; }

/* =========================================================
   Kapcsolatfelvételi felugró ablak (modal)
   ========================================================= */
.tkh-modal{position:fixed;inset:0;z-index:250;display:none;align-items:center;justify-content:center;padding:20px}
.tkh-modal.on{display:flex}
.tkh-modal__bg{position:absolute;inset:0;background:rgba(13,13,13,.72);backdrop-filter:blur(4px);
  animation:tkhFade .3s var(--ease)}
@keyframes tkhFade{from{opacity:0}to{opacity:1}}
.tkh-modal__box{position:relative;background:var(--cream);width:min(660px,100%);max-height:90vh;overflow-y:auto;
  padding:clamp(26px,4vw,48px);animation:tkhUp .4s var(--ease)}
@keyframes tkhUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.tkh-modal__x{position:absolute;top:14px;right:14px;width:42px;height:42px;display:grid;place-items:center;
  background:none;border:1px solid var(--line);color:var(--moss);cursor:pointer;transition:background .3s,color .3s}
.tkh-modal__x:hover{background:var(--moss);color:var(--cream)}
.tkh-modal h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.5rem}
.tkh-modal .lead{margin-bottom:1.8rem}
.tkh-modal .field{margin-bottom:16px}
.tkh-modal .cols-2{gap:0 18px}
.tkh-modal .btn{width:100%;justify-content:center}
.tkh-form__msg{display:none;padding:1em 1.2em;border-left:2px solid var(--moss);background:rgba(20,20,20,.05);
  font-size:.92rem;margin-top:16px;line-height:1.6}
.tkh-form__msg.on{display:block}
.tkh-form__msg.err{border-color:var(--red);background:rgba(159,45,45,.06);color:var(--red)}
.tkh-form__hp{position:absolute!important;left:-9999px}
body.tkh-modal-open{overflow:hidden}

/* típus-táblázat (5 adat) – a WP/Elementor alap táblázat-stílusát felülírjuk */
.tkh-spec,.tkh-spec tr,.tkh-spec th,.tkh-spec td{background:none!important;border:0}
.tkh-spec{width:100%;border-collapse:collapse;margin:1.8em 0 0;font-family:var(--ff-head)}
.tkh-spec tr{border-bottom:1px solid var(--line)!important}
.tkh-spec tr:first-child{border-top:1px solid var(--line)!important}
.tkh-spec th{text-align:left;padding:.85em 1em .85em 0;font-size:.68rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;vertical-align:top}
.tkh-spec td{padding:.85em 0;font-size:1.02rem;color:var(--moss)}
@media (max-width:520px){
  .tkh-spec th,.tkh-spec td{display:block;padding:.4em 0}
  .tkh-spec th{padding-top:.9em}
  .tkh-spec tr{padding-bottom:.6em}
}

/* lábléc – készítő kredit */
.foot__credit a{color:var(--cream);border-bottom:1px solid rgba(240,231,214,.3);transition:border-color .3s}
.foot__credit a:hover{border-color:var(--cream)}

/* =========================================================
   Mobil finomhangolás
   ========================================================= */
@media (max-width: 900px){
  /* hero: kisebb magasság, hogy a szöveg rögtön látszódjon */
  .hero{min-height:min(72vh,600px)}
  .hero__sub{font-size:1rem;max-width:100%}
  .hero__acts{gap:10px}
  .hero__acts .btn{padding:.95em 1.2em;font-size:.72rem}

  /* fejléc + mobilmenü */
  .head{height:66px}
  .head--solid{height:60px}
  .brand__mark{width:42px;height:42px}
  .head--solid .brand__mark{width:38px;height:38px}
  .brand__txt b{font-size:.78rem;letter-spacing:.1em}

  /* szekciók szellősebbek helyett tömörebbek */
  .sec{padding:56px 0}
  .sec--tight{padding:38px 0}
  .mods{padding:56px 0}

  /* galéria-rácsok mobilon 2 oszlop */
  .gal{grid-template-columns:repeat(2,1fr);gap:8px}
  .gal--lg{grid-template-columns:repeat(2,1fr)}
  .gal--mix>button:nth-child(7n+1){grid-column:span 2;grid-row:span 1;aspect-ratio:16/10}

  /* események: a bélyegképek ne szoruljanak */
  .evt{grid-template-columns:56px minmax(0,1fr);row-gap:10px}
  .evt__yr{font-size:1.4rem}
  .evt__act{grid-column:1/-1;flex-wrap:wrap;gap:10px}
  .evt__thumbs button{width:60px;height:46px}

  /* filmszalag kisebb kockákkal */
  .strip button{width:min(72vw,260px)}

  /* naptár: a napok ne legyenek túl magasak */
  .cal__d{min-height:58px;padding:5px;font-size:.8rem}
  .cal__ev{font-size:.58rem;padding:3px 4px}
  .cal__dow{font-size:.56rem;padding:8px 2px}

  /* típus-lapozó és split blokkok egymás alá */
  .type{gap:24px}
  .slider__arws button{width:34px;height:34px}

  /* lightbox: a bezáró és nyilak elérhetőbbek */
  .lb__arw{width:44px;height:44px}
  .lb__bar{padding:12px 14px}
  .lb__ttl{font-size:.66rem}

  /* modal */
  .tkh-modal{padding:0;align-items:flex-end}
  .tkh-modal__box{width:100%;max-height:92vh;border-radius:0}
  .tkh-modal .cols-2{grid-template-columns:1fr}

  /* futó szalag kisebb betűvel */
  .marq__t span{font-size:1.05rem}
  .marq__car .mini-car{width:34px}

  /* kiemelt adatok 2x2 */
  .stats>div{padding:22px 16px}
  .stats b{font-size:2.2rem}

  /* lábléc */
  .foot__bot{flex-direction:column;align-items:flex-start;gap:8px}
  .wordmark{display:none}
}

@media (max-width: 560px){
  .gal,.gal--lg{grid-template-columns:repeat(2,1fr)}
  .hls{grid-template-columns:1fr}
  .meet__stats{gap:12px 18px}
  .meet__logo-ph{width:72px;height:44px}
  .tkh-single__meta{gap:10px 18px}
  .crumbs{font-size:.7rem}
  /* a hosszú e-mail cím ne lógjon ki */
  .cta-red__a,.mailbox__a{font-size:1.05rem;word-break:break-all}
}

/* iOS: a fix fejléc alatt ne ugráljon a tartalom */
@supports (-webkit-touch-callout: none){
  .hero__media img{height:100%}
}

/* érintős eszközön ne legyen "ragadós" hover-nagyítás */
@media (hover: none){
  .zoom:hover .fig img,.fig.zoom:hover img,.car:hover .car__media img,
  .hl:hover .hl__media img{transform:none}
  .car:hover,.hl:hover,.pcard:hover{transform:none;box-shadow:none}
}

/* ---------- felsorolások a szövegtörzsben (visszajelzés 3.) ---------- */
.prose ul{list-style:none;margin:1.4em 0 1.8em;padding:0}
.prose ul li{position:relative;padding:0 0 0 1.9em;margin:0 0 .55em;font-size:1rem;line-height:1.7}
.prose ul li::before{
  content:"";position:absolute;left:.25em;top:.62em;width:8px;height:8px;border-radius:50%;
  background:var(--red);flex:none
}
.prose ul li:last-child{margin-bottom:0}
.prose ol{margin:1.4em 0 1.8em;padding-left:1.4em}
.prose ol li{margin-bottom:.55em;line-height:1.7}
.prose ol li::marker{color:var(--red);font-family:var(--ff-head)}
/* kiemelt, keretes felsorolás-változat */
.prose ul.tkh-list--box{background:var(--cream-3);border-left:2px solid var(--red);
  padding:1.3em 1.5em;margin:1.8em 0}
.prose ul.tkh-list--box li{margin-bottom:.5em}

/* ---------- ikonos gombok pontos középre igazítása ----------
   A Hello Elementor / Elementor alap gomb-stílusa 8px 16px belső margót
   és örökölt sormagasságot ad, ami elcsúsztatja a középre igazított ikont.
   Ezeknél a négyzetes ikongomboknál ezt nullázzuk. */
.tkh-modal__x,
.slider__arws button,
.strip-nav button,
.cal__nav button,
.lb__x,
.lb__arw,
.top,
.burger,
.gal button,
.evt__thumbs button,
.hl__media,
.car__media{
  padding:0!important;
  line-height:1!important;
  border-radius:0;
  -webkit-appearance:none;appearance:none;
}
.tkh-modal__x,
.slider__arws button,
.strip-nav button,
.cal__nav button,
.lb__x,
.lb__arw,
.top,
.burger{
  display:grid!important;
  place-items:center!important;
  text-align:center;
}
/* az ikon maga blokk elem legyen, hogy ne a szöveg alapvonalára üljön */
.tkh-modal__x svg,
.slider__arws button svg,
.strip-nav button svg,
.cal__nav button svg,
.lb__x svg,
.lb__arw svg,
.top svg{display:block;flex:none}

/* ============================================================
   4. visszajelzés javításai
   ============================================================ */

/* --- HERO: a fotó ne legyen sötétítve; a szöveg alatt lágy, helyi árnyék --- */
.hero__media::after{
  background:linear-gradient(to top,
    rgba(13,13,13,.72) 0%,
    rgba(13,13,13,.42) 22%,
    rgba(13,13,13,.10) 42%,
    rgba(13,13,13,0)   60%)!important;
}
/* a felső sáv csak a fejléc olvashatóságához, nagyon halványan */
.hero__media::before{
  content:"";position:absolute;inset:0 0 auto 0;height:190px;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(13,13,13,.45),rgba(13,13,13,0));
}
/* a szöveg kap saját olvashatóságot, hogy a képet ne kelljen sötétíteni */
.hero h1,.hero .display{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.hero__sub{text-shadow:0 1px 12px rgba(0,0,0,.6)}
.hero .eyebrow,.hero .crumbs{text-shadow:0 1px 10px rgba(0,0,0,.6)}

/* --- MENÜ: hoverre csak aláhúzás, ne legyen bordó háttér --- */
.head .nav__link,
.head .nav__item > a,
.head .nav__item > button{background:none!important}
.head .nav__link:hover,
.head .nav__link:focus,
.head .nav__item:hover > .nav__link{background:none!important;color:inherit}
.nav__sub a:hover{background:rgba(20,20,20,.05)!important;color:var(--moss)}
/* Elementor/téma link-hover felülírás a fejlécben */
.head a:hover,.head button:hover{background-color:transparent!important}

/* --- GALÉRIA: az eredeti képarány maradjon meg (ne vágjunk bele) --- */
.gal{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));align-items:start}
.gal button{aspect-ratio:auto!important;height:auto;background:none}
.gal button img{width:100%;height:auto!important;object-fit:contain!important;display:block}
.gal--lg button{aspect-ratio:auto!important}
/* a kiemelt kártyák borítója továbbra is egységes arányú marad */
.hl__media,.car__media,.meet__media .fig{aspect-ratio:4/3}
.hl__media img,.car__media img{height:100%!important;object-fit:cover!important}

/* --- a nagyítóban a kép sose legyen levágva --- */
/* a nagyított kép SOHA ne lógjon ki a képernyőből */
/* A korlátot nem fix vh-levonással adjuk meg (a hosszú képaláírás vagy a
   szalag miatt elcsúszott), hanem magához a színpadhoz kötjük: így a kép
   lapozáskor sem lehet nagyobb a rendelkezésre álló területnél. */
/* A képet abszolút pozicionáljuk a színpadon belül: így a százalékos
   korlát a színpad (definit) magasságához mérődik. Flex-gyerekként a
   max-height:100% egyes böngészőkben nem fogott, és a nagy fotók
   lapozáskor kilógtak a képernyőből. */
.lb{overflow:hidden}
.lb__stage{position:relative;flex:1 1 0%;min-height:0;overflow:hidden}
.lb__stage .lb__arw{z-index:5}
.lb__slot{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.lb__slot img{pointer-events:auto}
.lb__stage img{position:absolute!important;inset:0!important;margin:auto!important;
  width:auto!important;height:auto!important;
  max-width:calc(100% - 12px)!important;max-height:calc(100% - 12px)!important;
  object-fit:contain}
.lb__cap{max-height:3.2em;overflow:hidden}

/* bevezető szöveg a felirat alatt, balra rendezve */
.sec__head--balra{max-width:820px}
.sec__head--balra .lead{margin-top:1.2rem}

/* --- HERO képkivágás: a járművek jellemzően a kép közepén-alján vannak,
       ezért a kivágás a felső harmad helyett lejjebbre igazít --- */
.hero__media img{object-position:center 62%}
@media (max-width:900px){.hero__media img{object-position:center 58%}}
/* egyedi igazítás oldalanként a body-osztályból (ha kell, itt finomítható) */
body.page-hazai-kiallitasok-turak .hero__media img{object-position:center 72%}
/* a hero magassága kicsit alacsonyabb, így több fér a képből a látómezőbe */

/* --- Szöveg + fotó/galéria egymás mellett (Topolino története) --- */
.tkh-tk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(28px,4vw,68px);align-items:start;padding:clamp(34px,4.5vw,70px) 0;
  border-top:1px solid var(--line)}
.tkh-tk:first-of-type{border-top:0}
.tkh-tk--forditva .tkh-tk__media{order:-1}
@media (max-width:900px){.tkh-tk{grid-template-columns:1fr;gap:26px}
  .tkh-tk--forditva .tkh-tk__media{order:0}}
.tkh-tk__szoveg h2{margin-bottom:1.1rem;scroll-margin-top:110px}
.tkh-tk__media{position:sticky;top:calc(var(--head-h) + 24px)}
@media (max-width:900px){.tkh-tk__media{position:static}}
.tkh-tk__fo{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.tkh-tk__fo img{width:100%;height:auto;display:block;transition:transform 1s var(--ease)}
.tkh-tk__fo:hover img{transform:scale(1.03)}
.tkh-tk__cap{font-size:.83rem;color:var(--muted);margin:.8em 0 0;line-height:1.5}
.tkh-tk__sor{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.tkh-tk__sor button{padding:0;border:0;background:#e6ddc9;cursor:pointer;overflow:hidden;aspect-ratio:4/3}
.tkh-tk__sor button img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tkh-tk__sor button:hover img{transform:scale(1.08)}
.tkh-tk__media .btn{margin-top:12px}
/* egyetlen képnél ne legyen bélyegsor */
.tkh-tk__media > .tkh-tk__fo:only-child{margin:0}

/* tagklub webcíme a név alatt */
.logos__url{display:block;font-size:.72rem;color:var(--red);letter-spacing:.02em;margin-top:2px;word-break:break-all}
.logos>a:hover .logos__url{text-decoration:underline}
/* a szövetség logója a szöveg mellett */
.tkh-feftc{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:clamp(24px,3vw,56px);align-items:start}
@media (max-width:820px){.tkh-feftc{grid-template-columns:1fr}}
.tkh-feftc__logo img{width:100%;height:auto;display:block}

/* ---------- Európai Szövetség: rendezettebb bevezető blokk ---------- */
.tkh-feftc{display:grid;grid-template-columns:minmax(0,1fr) 260px;
  gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:860px){.tkh-feftc{grid-template-columns:1fr;gap:28px}}
.tkh-feftc__logo{background:var(--cream-3);border:1px solid var(--line);padding:26px;
  display:grid;place-items:center}
.tkh-feftc__logo img{max-width:100%;height:auto;display:block}
@media (max-width:860px){.tkh-feftc__logo{max-width:240px;margin:0 auto}}

/* a szövetségi felsorolások: évszámos, kártyás lista a pöttyök helyett */
.tkh-feftc ul{list-style:none;margin:1em 0 1.8em;padding:0;display:grid;gap:8px}
.tkh-feftc ul li{position:relative;padding:.72em 1em;margin:0;background:var(--cream-3);
  border-left:2px solid var(--red);font-size:.95rem;line-height:1.45}
.tkh-feftc ul li::before{display:none}
.tkh-feftc ul li a{color:var(--moss);border-bottom:1px solid transparent;transition:border-color .3s,color .3s}
.tkh-feftc ul li a:hover{color:var(--red);border-color:var(--red)}
.tkh-feftc > div > p:first-child{font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.62;color:#333}

/* a szövetségi blokk kapjon teljes szélességet (a prose 74ch korlátja szorítaná) */
.prose:has(> .tkh-feftc){max-width:1120px}
.tkh-feftc{max-width:none;width:100%}
/* két hasábban a klublisták, hogy ne legyen ilyen hosszú */
@media (min-width:700px){
  .tkh-feftc ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* =========================================================
   Görgetéskori pár pixeles rés a képernyő tetején — javítás
   ========================================================= */

/* 1) Rugalmas túlgörgetés (gumiszalag-effekt) ne villantsa fel a
      lapháttért a hero fölött. */
html{overscroll-behavior-y:none}

/* 2) Az olvasási folyamatjelző csík a fejléc ALSÓ éléhez kerül —
      eddig a képernyő legtetején, a hero fölött jelent meg
      görgetéskor egy pár pixeles sávként. */
/* A csík szélessége transformmal nő (nem width-tel), így görgetés közben
   nem kényszerít újratördelést minden képkockán. */
.prog{top:var(--head-h);width:100%;transform:scaleX(0);transform-origin:0 50%;
  transition:transform .12s linear,top .45s var(--ease)}
.head--solid ~ .prog{top:70px}
@media (max-width:760px){
  .prog{top:66px}
  .head--solid ~ .prog{top:60px}
}

/* 3) A hero fotója mindig legyen nagyobb a kereténél, hogy a parallax
      elmozdulás semmilyen görgetési állásban ne csússzon el a kép
      széléig (fent/lent nem keletkezhet üres sáv). */
.hero__media img{transform:scale(1.2)}
@keyframes heroIn{to{transform:scale(1.14)}}
@media (prefers-reduced-motion:reduce){
  .hero__media img{animation:none;transform:none}
}

/* =========================================================
   Hosszú szöveg tartalomjegyzékkel (Klubtörténet, A Topolino története)
   ========================================================= */
.doc__body > .doc__sec + .doc__sec{margin-top:clamp(38px,5vw,68px)}
/* cím nélküli szakasz: az előző folytatása, ezért szorosabban követi */
.doc__body > .doc__sec + .doc__sec--folyt{margin-top:clamp(16px,2vw,26px)}
.doc__sec > .h2{margin:0 0 .8em;scroll-margin-top:calc(var(--head-h) + 24px)}
.doc__sec{scroll-margin-top:calc(var(--head-h) + 24px)}

/* a képek a bekezdések KÖZÉ kerülnek, teljes szövegszélességben */
.doc__kepek{display:grid;gap:10px;margin:clamp(22px,3vw,34px) 0 0;
  /* auto-fit: kevés képnél is kitöltik a szöveg szélességét */
  grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.doc__kepek--egy{grid-template-columns:1fr}
.doc__kepek button{position:relative;padding:0;border:0;background:var(--cream-2);
  cursor:pointer;overflow:hidden;display:block;aspect-ratio:4/3}
/* egyetlen kép: teljes egészében látszik, nem vágjuk */
.doc__kepek--egy button{aspect-ratio:auto}
.doc__kepek img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease)}
.doc__kepek--egy img{height:auto;object-fit:contain}
.doc__kepek button:hover img{transform:scale(1.04)}
.doc__kepek button i{position:absolute;inset:0;background:rgba(13,13,13,0);
  transition:background .35s}
.doc__kepek button:hover i{background:rgba(13,13,13,.12)}
.doc__cap{margin:.6em 0 0;font-size:.86rem;color:var(--muted)}

/* =========================================================
   Aloldali HERO: FIX képarány
   Eddig a magasság az ablak magasságától függött (64vh), ezért minden
   látogatónál más sáv látszott a fotóból – egy laposabb laptopon levágta
   a fejeket. Fix aránnyal a kivágás mindenhol ugyanaz, így a beállított
   függőleges pozíció kiszámítható és pontos.
   ========================================================= */
@media (min-width:901px){
  .hero--short{aspect-ratio:23/10;min-height:0}
}
/* Mobilon a fix arány rövidebb lehet, mint a hero-szöveg → a cím kilógott és
   átfedte a következő szekciót. Ezért mobilon a magasságot a tartalom + egy
   minimum adja, a kép kivágását pedig az object-position kezeli (nem vág fejeket,
   mert a magasabb hero többet mutat a fotóból). */
@media (max-width:900px){
  .hero--short{aspect-ratio:auto;min-height:clamp(360px,60vh,520px)}
  .hero--short .hero__in{padding-bottom:clamp(30px,5vw,50px);padding-top:clamp(80px,16vw,120px)}
}
@media (max-width:600px){
  .hero--short{min-height:clamp(340px,56vh,460px)}
}

/* =========================================================
   Főoldal – futószalag illusztráció és érdekesség-képek
   ========================================================= */
/* Az Elementor „.elementor img{height:auto}” szabálya erősebb a puszta
   osztálynál, ezért kétosztályos szelektorral írjuk felül. */
.marq .marq__car .marq__illu{height:clamp(20px,1.9vw,30px);width:auto;display:block;max-width:none}
/* hosszabb szöveglista → lassabb futás, hogy el lehessen olvasni */
.marq__t{animation-duration:100s}
/* keskenyebb sáv: sok rövid típusnév, nem kell nagy betű és sok levegő */
.marq{padding:0}
.marq__t{gap:clamp(14px,2vw,30px);padding-right:clamp(14px,2vw,30px)}
.marq__t span{font-size:clamp(.88rem,1.15vw,1.12rem);letter-spacing:.01em;
  gap:clamp(14px,2vw,30px);padding:15px 0}
.marq__sep{display:inline-block;padding:0 clamp(12px,1.4vw,22px);opacity:.35;font-size:.7em;color:var(--red)}


/* az érdekességeknél a kép ovális kivágásban */
.fact__kep{display:block;margin:0 0 20px;width:clamp(150px,14vw,196px);aspect-ratio:5/4;
  border-radius:50%;overflow:hidden;background:rgba(240,231,214,.08);
  border:1px solid rgba(240,231,214,.16)}
.fact__kep img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:840px){.fact__kep{width:160px}}

/* egyetlen videó: korlátozott szélesség, hogy a YouTube-előnézet ne pixelesedjen */
.tkh-videos--egy{max-width:820px;grid-template-columns:1fr}

/* =========================================================
   Mobil optimalizálás (mérésekkel azonosított pontok)
   ========================================================= */

/* --- 1. NAPTÁR ---
   A hosszú programnevek min-content szélessége 590 px-re feszítette a
   hónaprácsot egy 335 px-es dobozban: a hét utolsó két napja levágódott és
   elérhetetlen volt. A sávok mostantól 0-ig zsugorodhatnak, a névcímke helyén
   pedig bordó pötty jelzi a programot – a részletek a nap megérintésekor és
   a „Közelgő programok” listában olvashatók. */
@media (max-width:640px){
  .cal__grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  .cal__d{min-width:0;min-height:52px;padding:5px 2px;font-size:.8rem;text-align:center}
  .cal__dow{padding:8px 1px;font-size:.54rem;letter-spacing:.04em}
  .cal__ev{
    width:9px;height:9px;min-height:0;padding:0;margin:4px auto 0;border-radius:50%;
    font-size:0;line-height:0;overflow:hidden;background:var(--red);color:transparent
  }
  .cal__ev--soft{background:rgba(159,45,45,.4)}
  .cal__ev+.cal__ev{margin-top:3px}
  .cal__head{padding:14px 16px}
  .cal__head b{font-size:1.02rem}
  .cal__nav button{width:34px;height:34px}
}
/* táblagépen elfér a név, de ne feszítse szét a rácsot */
@media (max-width:900px){
  /* a hosszú programnév semmiképp ne feszítse a rácsot: pötty jelöli, a részlet a listában */
  .cal{max-width:100%}
  .cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}
  .cal__d{min-width:0;overflow:hidden}
  .cal__ev{width:9px;height:9px;min-height:0;padding:0;margin:4px auto 0;border-radius:50%;
    font-size:0;line-height:0;overflow:hidden;background:var(--red);color:transparent;white-space:nowrap}
  .cal__ev--soft{background:rgba(159,45,45,.4)}
  .cal__ev+.cal__ev{margin-top:3px}
}

/* --- 2. Apró nagybetűs feliratok olvashatóbban ---
   A mért 10,9–11,2 px helyett legalább 12 px mobilon. */
@media (max-width:640px){
  .eyebrow{font-size:.75rem;letter-spacing:.16em}
  .stats>div>span{font-size:.78rem;letter-spacing:.1em}
  .tkh-spec th{font-size:.74rem;letter-spacing:.1em}
  .tkh-single__meta b,.meet__stats b{font-size:.76rem}
  .tag,.tag--plain{font-size:.7rem}
  .callist__d span{font-size:.76rem}
}

/* --- 3. Kényelmesebb érintőfelületek ---
   A mérés 22 db 30 px-nél alacsonyabb hivatkozást talált. */
@media (max-width:900px){
  .foot__top ul a,.foot__top li a{display:inline-block;padding:7px 0;line-height:1.3}
  .alink{padding:6px 0}
  .toc a{padding:.6em 0}
  .yearbar button{min-height:40px;padding:0 14px}
  .social a{width:44px;height:44px}
}

/* --- 4. „Kapcsolódó oldalak” mobilon két hasábban ---
   Négy egymás alá tett kártya 2178 px-t foglalt minden oldal alján. */
@media (max-width:640px){
  /* a látványtervből örökölt 1fr!important-ot kell felülírni */
  .mods__grid[data-n="3"],.mods__grid[data-n="4"]{grid-template-columns:repeat(2,1fr)!important;gap:16px}
  .mods__grid[data-n="3"] .mod .fig,.mods__grid[data-n="4"] .mod .fig{aspect-ratio:16/10}
  .mods__grid .mod .fig img{object-position:center}
  .mods__grid .mod{gap:12px}
  .mods__grid .mod p{font-size:.92rem;line-height:1.35}
  .mods__grid .alink{font-size:.8rem;letter-spacing:.1em}
}
@media (max-width:400px){
  .mods__grid[data-n="3"],.mods__grid[data-n="4"]{grid-template-columns:1fr!important}
  .mods__grid[data-n="3"] .mod .fig,.mods__grid[data-n="4"] .mod .fig{aspect-ratio:16/10}
}

/* --- 5. Kiemelt adatok 2×2-ben --- */
@media (max-width:640px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats b{font-size:clamp(2rem,9vw,2.6rem)}
}

/* =========================================================
   Videó kiemelése (V11) — play-gomb, overlay, feltűnőbb blokk
   ========================================================= */

/* lejátszás-gomb a többi gomb mellett */
.btn--play{display:inline-flex;align-items:center;gap:.5em;background:var(--red);color:#fff;border-color:var(--red)}
.btn--play:hover{background:var(--red-2);border-color:var(--red-2);color:#fff}
.btn--play svg{fill:currentColor;stroke:none}
.meet__acts,.tkh-single__acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* a beágyazott videók blokkja legyen hangsúlyosabb: bordó keret + „Videó” címke */
.tkh-videos{margin-top:clamp(20px,2.4vw,32px)}
.tkh-video{border:1px solid rgba(159,45,45,.35);box-shadow:0 20px 60px -30px rgba(13,13,13,.6)}
.tkh-video__btn{background:rgba(13,13,13,.28)}
.tkh-video__btn i{width:84px;height:84px;background:rgba(159,45,45,.9);border-color:transparent}
.tkh-video:hover .tkh-video__btn i{background:var(--red)}
.tkh-video__btn i::after{border-left-color:#fff}

/* teljes szélességű videóblokk (widget) – legyen látványos */
.tkh-videos--egy{max-width:900px}

/* =========================================================
   Videó-overlay (kiemelt lejátszó a „Videó megtekintése” gombhoz)
   ========================================================= */
.tkh-vov{position:fixed;inset:0;z-index:260;display:none;align-items:center;justify-content:center;padding:clamp(14px,3vw,40px)}
.tkh-vov.on{display:flex}
.tkh-vov__bg{position:absolute;inset:0;background:rgba(13,13,13,.86);backdrop-filter:blur(6px);animation:tkhFade .3s var(--ease)}
.tkh-vov__box{position:relative;width:min(1100px,100%);animation:tkhUp .4s var(--ease)}
.tkh-vov__frame{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;
  box-shadow:0 40px 120px -40px #000;border:1px solid rgba(240,231,214,.14)}
.tkh-vov__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tkh-vov__x{position:absolute;top:-52px;right:0;width:44px;height:44px;display:grid;place-items:center;
  background:none;border:1px solid rgba(240,231,214,.35);color:var(--cream);cursor:pointer;transition:background .3s,color .3s}
.tkh-vov__x:hover{background:var(--cream);color:var(--moss)}
.tkh-vov__cap{margin:16px 2px 0;color:rgba(240,231,214,.82);font-family:var(--ff-head);font-size:.94rem}
@media (max-width:600px){
  .tkh-vov__x{top:-46px;width:40px;height:40px}
  .tkh-vov__cap{font-size:.84rem}
}

/* ---------- nyelvválasztó (Google Fordító) ---------- */
.lang{position:relative;margin-left:14px}
.lang__btn{
  display:flex;align-items:center;gap:.4em;
  font-family:var(--ff-head);font-size:.76rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--moss);background:none;border:0;cursor:pointer;padding:10px 0;transition:color .3s
}
.lang__btn:hover{color:var(--red)}
.head .lang__btn{color:var(--cream);text-shadow:inherit}
.head .lang__btn:hover{color:#fff}
.lang__btn svg{display:block}
.lang__menu{
  position:absolute;top:100%;right:-8px;min-width:150px;background:var(--cream-3);
  border:1px solid var(--line);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
  box-shadow:0 26px 60px -30px rgba(16,16,16,.4);z-index:60
}
.lang--open .lang__menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang__menu button{
  display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;
  font-family:var(--ff-head);font-size:.8rem;letter-spacing:.06em;
  color:var(--ink);padding:9px 18px;transition:color .2s,background .2s
}
.lang__menu button:hover{background:rgba(159,45,45,.08);color:var(--red)}
.lang__menu button.is-act{color:var(--red);font-weight:700}
@media (max-width:1180px){.head__in > .lang{display:none}}

/* mobil: nyelvsor a menü aljában */
.lang--row{display:flex;gap:10px;margin:0 0 4px;align-self:stretch;max-width:420px}
.lang--row button{
  flex:1;background:none;border:1px solid rgba(240,231,214,.35);color:var(--cream);
  font-family:var(--ff-head);font-size:.78rem;font-weight:600;letter-spacing:.12em;
  padding:10px 0;cursor:pointer;transition:border-color .2s,color .2s
}
.lang--row button.is-act{border-color:var(--red);color:#fff;background:var(--red)}

/* a Google Fordító sávja/vezérlője rejtve — a fordítás sütiből indul */
.tkh-gt-host,#google_translate_element,.goog-te-banner-frame,#goog-gt-tt,
body > .skiptranslate{display:none!important}
body{top:0!important;position:static!important}
font[style]{background:transparent!important;box-shadow:none!important}

/* ---------- dokumentum-letöltő kártya (Éves beszámolók) ---------- */
.prose .tkh-dl{
  display:flex;align-items:center;gap:16px;max-width:560px;
  border:1px solid var(--line);border-left:3px solid var(--red);
  background:var(--cream-3);padding:16px 20px;margin:18px 0 30px;text-decoration:none;
  transition:box-shadow .3s var(--ease),transform .3s var(--ease)
}
.prose a.tkh-dl:hover{box-shadow:0 20px 44px -26px rgba(16,16,16,.45);transform:translateY(-2px)}
.tkh-dl__ico{
  flex:none;width:44px;height:44px;display:grid;place-items:center;
  background:var(--red);color:#fff;font-family:var(--ff-head);font-size:.62rem;
  font-weight:700;letter-spacing:.08em
}
.tkh-dl__txt b{display:block;font-family:var(--ff-head);font-size:.95rem;color:var(--ink)}
.tkh-dl__txt span{font-size:.8rem;color:var(--muted)}
.prose .tkh-dl--soon{opacity:.75}
.prose .tkh-dl--soon .tkh-dl__ico{background:var(--muted)}

/* felújítás-kártya: a fotószám ne törjön sorba */
.alink .muted{white-space:nowrap}

/* ---------- süti-beleegyezés sáv ---------- */
.tkh-consent{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:120;
  display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between;
  background:#0D0D0D;color:var(--cream);border:1px solid rgba(240,231,214,.18);
  padding:16px 20px;max-width:720px;margin:0 auto;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6)
}
.tkh-consent p{margin:0;font-size:.86rem;line-height:1.5;flex:1 1 320px}
.tkh-consent a{color:var(--cream);text-decoration:underline}
.tkh-consent__b{display:flex;gap:10px}
.tkh-consent button{
  font-family:var(--ff-head);font-size:.74rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;padding:10px 18px;cursor:pointer;transition:background .2s,color .2s
}
.tkh-consent__ok{background:var(--red);border:1px solid var(--red);color:#fff}
.tkh-consent__ok:hover{background:#7E2222}
.tkh-consent__no{background:none;border:1px solid rgba(240,231,214,.4);color:var(--cream)}
.tkh-consent__no:hover{border-color:var(--cream)}

/* görgetés-jelző: a fejléc aljához horgonyozva (a fix top értékek elavultak) */
.head .prog{position:absolute;top:auto;bottom:0;left:0}
