/*
Theme Name: Új Színház
Theme URI: https://liti.hu
Author: Litauszki Ádám — liti.hu
Author URI: https://liti.hu
Description: Az Új Színház weboldal sablonja — a látványterv pixelpontos megjelenése. Az adat- és funkciórendszert az "Új Színház — Core" bővítmény adja (előadások, társulat, munkatársak, galéria, hírlevél, közérdekű adatok, importer). Világos, elegáns, zöld–piros márkavilág, videós előadás-adatlap, átlátszó→sticky fejléc.
Version: 1.0.19
Requires at least: 6.2
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: ujszinhaz
*/


:root{
  /* Egységes klasszikus szerif — a Times műfaja, de képernyőn sokkal szebb rajzolattal.
     Ha mégis a rendszer-Times kell, elég ezt az egy sort átírni. */
  --font:"Source Serif 4","Times New Roman",Times,Georgia,serif;
  --paper:#FFFFFF; --paper-2:#F7F7F5; --card:#FFFFFF;
  --ink:#1C1B19; --body:#3E3B37; --muted:#6E6B65; --line:rgba(28,27,25,.13);
  --green-deep:#063D22; --green:#0E8048; --green-bright:#23B468;
  --red-deep:#5E1216; --red:#C81F22; --red-bright:#D62220;
  --rad:14px;
  --shadow:0 26px 54px -32px rgba(95,52,26,.32);
  --shadow-sm:0 14px 30px -20px rgba(95,52,26,.24);
  --maxw:1240px; --hh:92px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--body);
  font-family:var(--font); font-size:18px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
  /* clip (nem hidden): megakadályozza a vízszintes görgetést, de nem tör el
     a ragadós oldalsáv — az overflow:hidden görgetési kontextust hozna létre. */
  overflow-x:clip}
h1,h2,h3,h4{font-family:var(--font); font-weight:500; line-height:1.12; margin:0; color:var(--ink); letter-spacing:-.01em}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
button{font-family:inherit; cursor:pointer}
svg{display:block}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
.section{padding:106px 0; position:relative; overflow:hidden}
.section--alt{background:var(--paper-2)}
.section--green{background:var(--green-deep)}
.section--green h2,.section--green p,.section--green .eyebrow{color:#fff}
.muted{color:var(--muted)}
.ico{width:1.2em;height:1.2em;display:inline-block;vertical-align:-.18em;line-height:0}
.ico svg{width:100%;height:100%;display:block}
.link-more svg,.btn svg,.mrow__when svg{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;flex:0 0 auto}

.eyebrow{font-weight:800; font-size:.74rem; letter-spacing:.28em; text-transform:uppercase; color:var(--red); display:inline-flex; align-items:center; gap:.7rem}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--red)}
.eyebrow--green{color:var(--green)} .eyebrow--green::before{background:var(--green)}

.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:46px; flex-wrap:wrap; position:relative; z-index:2}
.section-head h2{font-size:clamp(2.1rem,4vw,3.3rem); margin-top:16px}
.section-head .lead{max-width:540px; margin-top:10px; color:var(--body)}

.btn{display:inline-flex; align-items:center; gap:.5rem; font-weight:700; letter-spacing:.01em; font-size:.95rem;
  padding:.9em 1.6em; border:1px solid transparent; transition:transform .25s, background .25s, color .25s, border-color .25s, box-shadow .25s; border-radius:3px}
.btn .ico{width:1.05em;height:1.05em}
.btn--red{background:var(--red); color:#fff; box-shadow:0 12px 24px -16px rgba(200,31,34,.9)}
.btn--red:hover{background:var(--red-bright); transform:translateY(-2px)}
.btn--green{background:var(--green); color:#fff; box-shadow:0 12px 24px -16px rgba(14,128,72,.9)}
.btn--green:hover{background:#0C6E3E; transform:translateY(-2px)}
.btn--ghost{border-color:var(--line); color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink); transform:translateY(-2px)}
.btn--white{background:#fff; color:var(--green-deep)} .btn--white:hover{transform:translateY(-2px)}
.btn--outline-w{border-color:rgba(255,255,255,.5); color:#fff} .btn--outline-w:hover{border-color:#fff}
.btn--sm{padding:.58em 1.05em; font-size:.82rem}
.link-more{display:inline-flex; align-items:center; gap:.45rem; font-weight:700; font-size:.86rem; color:var(--red); transition:gap .2s}
.link-more:hover{gap:.75rem}
.link-more .ico{width:1.1em;height:1.1em}

/* gömb-blobok — kikapcsolva (kevesebb szín, tiszta fehér felület) */
.blobs{display:none; position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0}
.blob{position:absolute; border-radius:50%; filter:blur(48px)}
.blob--g{background:var(--green-bright)} .blob--r{background:var(--red-bright)}
.blob.anim-1{animation:drift1 17s ease-in-out infinite}
.blob.anim-2{animation:drift2 21s ease-in-out infinite}
.blob.anim-3{animation:drift3 26s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(50px,-36px) scale(1.12)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-46px,32px) scale(1.1)}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,40px) scale(1.08)}}

/* NEWS BAR */
.newsbar{background:var(--red); color:#fff; display:flex; align-items:center; height:42px; overflow:hidden; position:relative; z-index:60}
.newsbar[hidden]{display:none}
.newsbar__tag{flex:0 0 auto; background:rgba(0,0,0,.18); color:#fff; font-weight:800; letter-spacing:.16em; font-size:.7rem; padding:.45em 1em; margin-left:16px; text-transform:uppercase; display:flex; align-items:center; gap:.5rem; border-radius:3px}
.newsbar__tag .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.5s infinite}
@keyframes blink{50%{opacity:.3}}
.newsbar__track{flex:1; overflow:hidden; white-space:nowrap; margin:0 14px; mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.newsbar__move{display:inline-block; padding-left:100%; animation:ticker 32s linear infinite; font-weight:500; font-size:.92rem}
.newsbar__move a{margin:0 2.6rem} .newsbar__move a::before{content:"—"; margin-right:.7rem; opacity:.7}
.newsbar:hover .newsbar__move{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-100%)}}
.newsbar__close{flex:0 0 auto; margin-right:14px; background:none; border:0; color:#fff; width:28px;height:28px; font-size:1.1rem; opacity:.85}

/* HEADER — alapból átlátszó, zöld–piros fátyollal a hero képre lógva; görgetésre tömör */
.header{position:sticky; top:0; z-index:50; background:transparent; border-bottom:1px solid transparent; transition:background .3s, box-shadow .3s, border-color .3s}
.header::before{content:""; position:absolute; left:0; right:0; top:0; height:calc(100% + 50px); z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(16,14,12,.62), rgba(16,14,12,0));
  transition:opacity .35s}
.header__in{display:flex; align-items:center; justify-content:space-between; gap:18px; height:var(--hh)}
.brand{display:flex; align-items:center; gap:12px; color:#fff}
.brand__mark{width:52px; height:38px; flex:0 0 auto}
.brand__logo{height:70px; width:auto; max-width:320px; display:block; flex:0 0 auto; object-fit:contain}
.brand__wm b{font-weight:900; font-size:1.36rem; letter-spacing:-.012em; line-height:.92; display:block}
.brand__wm i{font-style:normal; font-weight:700; font-size:.58rem; letter-spacing:.3em; text-transform:lowercase; opacity:.78; display:block; margin-top:3px}
.nav{display:flex; align-items:center; gap:0}
.nav a{font-weight:600; font-size:1.1rem; padding:.5em .82em; position:relative; color:#fff; transition:color .2s}
.nav a span{position:relative; display:inline-block}
.nav a span::after{content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:#fff; transition:right .28s}
.nav a:hover span::after,.nav a.active span::after{right:0}
.header__cta{display:flex; align-items:center; gap:10px}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; padding:8px}
.burger span{width:26px;height:2px;background:#fff; transition:.3s}
.header.scrolled{background:rgba(255,255,255,.98); backdrop-filter:blur(14px); box-shadow:0 6px 24px -18px rgba(0,0,0,.35); border-bottom-color:var(--line)}
.header.scrolled::before{opacity:0}
.header.scrolled .brand{color:var(--ink)}
.header.scrolled .nav a{color:var(--ink)}
.header.scrolled .nav a:hover{color:var(--red)}
.header.scrolled .nav a span::after,.header.scrolled .nav a.active span::after{background:var(--red)}
.header.scrolled .nav a.active{color:var(--red)}
.header.scrolled .burger span{background:var(--ink)}
/* a hero/aloldal-hero a fejléc alá fut, hogy a menü rálógjon */
.hero,.phero,.vhero{margin-top:calc(-1 * var(--hh))}

/* HERO */
.hero{position:relative; height:min(90vh,800px); min-height:660px; overflow:hidden; background:#0c0a08}
.slide{position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease}
.slide.on{opacity:1}
.slide .scene{position:absolute; inset:0; transform:scale(1.05); transition:transform 8s ease}
.slide.on .scene{transform:scale(1.12)}
.hero__scrim{position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,rgba(12,10,8,.22) 0,transparent 24%,transparent 44%,rgba(12,10,8,.64) 100%),linear-gradient(90deg,rgba(12,10,8,.55),transparent 60%)}
.hero__inner{position:absolute; left:0; right:0; top:19%; z-index:3; max-width:var(--maxw); margin:0 auto; padding:0 28px}
.hero__inner>*{opacity:0; transform:translateY(22px); animation:rise .85s cubic-bezier(.2,.7,.2,1) forwards}
.hero__inner>*:nth-child(1){animation-delay:.1s}.hero__inner>*:nth-child(2){animation-delay:.22s}.hero__inner>*:nth-child(3){animation-delay:.34s}.hero__inner>*:nth-child(4){animation-delay:.46s}
@keyframes rise{to{opacity:1; transform:none}}
.hero__meta{display:flex; gap:10px; align-items:center; margin-bottom:16px}
.hero h1,.hero h2{font-size:clamp(2.9rem,6.8vw,5.7rem); color:#fff; font-weight:500; letter-spacing:-.018em; max-width:15ch; text-shadow:0 8px 44px rgba(0,0,0,.4)}
.hero .hero__title{text-transform:uppercase; letter-spacing:.015em; font-weight:600; font-size:clamp(2rem,4.4vw,3.5rem); line-height:1.08; max-width:18ch}
.hero h1 em,.hero h2 em{font-style:italic}
.hero .sub{font-size:clamp(1.05rem,1.5vw,1.3rem); color:#f3efe7; margin:18px 0 26px; max-width:540px; text-shadow:0 2px 18px rgba(0,0,0,.4)}
.hero .acts{display:flex; gap:14px; flex-wrap:wrap}
.tag{font-size:.71rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; padding:.5em .95em; border-radius:3px; line-height:1; border:1px solid currentColor}
.tag--fill-red{background:var(--red); color:#fff; border-color:var(--red)}
.tag--fill-green{background:var(--green); color:#fff; border-color:var(--green)}
.tag--red{color:var(--red)} .tag--green{color:var(--green)} .tag--n{color:#fff; opacity:.85}

/* hír-kártyák a HERO-n belül, képpel */
.hero__news{position:absolute; left:0; right:0; bottom:30px; z-index:5; max-width:var(--maxw); margin:0 auto; padding:0 28px; opacity:0; animation:rise .8s ease .6s forwards}
.hero__news .h{display:flex; align-items:center; gap:12px; margin-bottom:12px}
.hero__news .h .lbl{font-weight:900; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; background:var(--red); padding:.45em .95em; border-radius:3px}
.hero__news .h a{font-size:.82rem; font-weight:700; color:#fff; opacity:.9; margin-left:auto; display:inline-flex; align-items:center; gap:.4rem}
.hnewsgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.hnews{display:grid; grid-template-columns:72px 1fr; gap:12px; background:#fff; border-radius:12px; padding:10px; align-items:center; transition:.26s; cursor:pointer; box-shadow:var(--shadow-sm)}
.hnews:hover{transform:translateY(-5px); box-shadow:var(--shadow)}
.hnews__img{width:72px;height:72px;border-radius:9px; overflow:hidden; position:relative; flex:0 0 auto}
.hnews__img .scene{position:absolute; inset:0}
.hnews .k{font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--red)}
.hnews:nth-child(2n) .k{color:var(--green)}
.hnews .t{font-family:var(--font); font-size:1rem; line-height:1.16; color:var(--ink); margin-top:3px}

/* SCENE placeholderek (világos, élénk) */
.scene{position:relative; overflow:hidden; background:#eee}
.scene::after{content:""; position:absolute; inset:0; box-shadow:inset 0 -50px 90px -40px rgba(0,0,0,.42)}
.scene__fig{position:absolute; bottom:0; left:50%; transform:translateX(-50%); height:72%; opacity:.5; z-index:1; mix-blend-mode:soft-light}
.scene--green{background:radial-gradient(85% 75% at 36% 24%,#3fc97e 0%,#15924f 46%,#0a5e33 100%)}
.scene--red{background:radial-gradient(85% 75% at 60% 24%,#f4655c 0%,#d52a2b 46%,#9c1a1d 100%)}
.scene--mixed{background:radial-gradient(64% 88% at 24% 36%,#37c277 0%,transparent 58%),radial-gradient(64% 88% at 76% 40%,#ef5a52 0%,transparent 58%),linear-gradient(135deg,#0f7a47,#c0262a)}
.scene--warm{background:radial-gradient(85% 75% at 50% 22%,#5fae7d 0%,#2e7d54 48%,#1c5238 100%)}

/* ELŐADÁS-KÁRTYÁK */
.shows{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; position:relative; z-index:2}
.show{display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:var(--rad); overflow:hidden; transition:.3s; cursor:pointer; box-shadow:var(--shadow-sm)}
.show:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
.show__img{position:relative; aspect-ratio:16/10}
.show__img .scene{position:absolute; inset:0}
.show__date{position:absolute; top:0; left:0; z-index:3; background:var(--red); color:#fff; text-align:center; padding:12px 16px; line-height:1; border-bottom-right-radius:12px}
.show__date.is-green{background:var(--green)}
.show__date .d{font-family:var(--font); font-size:1.7rem} .show__date .m{font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; margin-top:4px}
.show__body{padding:24px 26px 26px; display:flex; flex-direction:column; flex:1}
.show__cat{align-self:flex-start; margin-bottom:14px}
.show h3{font-size:1.95rem; margin-bottom:6px}
.show .role{color:var(--muted); font-size:.92rem; margin-bottom:14px}
.show p{color:var(--body); font-size:1rem; margin:0 0 20px}
.show__foot{margin-top:auto; display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.show__foot .when{font-size:.82rem; color:var(--muted)}

/* MŰFAJOK / kategóriák */
.genres{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:2}
.genre{display:block; padding:28px 24px; border-radius:var(--rad); border:1px solid var(--line); background:#fff; transition:.28s; box-shadow:var(--shadow-sm); position:relative; overflow:hidden}
.genre::before{content:""; position:absolute; right:-40px; top:-40px; width:120px;height:120px;border-radius:50%; opacity:.14; transition:.3s}
.genre:hover{transform:translateY(-5px); box-shadow:var(--shadow)} .genre:hover::before{transform:scale(1.4)}
.genre .gi{width:46px;height:46px;border-radius:50%; display:grid; place-items:center; color:#fff; margin-bottom:16px}
.genre h3{font-size:1.35rem; margin-bottom:6px} .genre p{font-size:.9rem; color:var(--muted); margin:0}
.genre--r .gi,.genre--r::before{background:var(--red)} .genre--g .gi,.genre--g::before{background:var(--green)}
.genre--r2 .gi,.genre--r2::before{background:var(--red-bright)} .genre--g2 .gi,.genre--g2::before{background:var(--green-bright)}

/* A SZÍNHÁZRÓL */
.intro{display:grid; grid-template-columns:1fr 1.12fr; gap:56px; align-items:center; position:relative; z-index:2}
.intro__logo{background:var(--green-deep); border-radius:var(--rad); padding:64px 54px; display:grid; place-items:center; position:relative; overflow:hidden; box-shadow:var(--shadow)}
.intro__logo--photo{padding:0; background:#0c0a08; min-height:400px; align-self:stretch}
.intro__logo img{width:80%; position:relative; z-index:2}
.intro__tag{position:absolute; bottom:18px; left:0; right:0; text-align:center; z-index:2; font-family:var(--font); font-style:italic; color:#cfe9d8; font-size:.95rem}
.intro h2{font-size:clamp(2rem,3.4vw,2.8rem); margin:14px 0 18px}
.intro p{color:var(--body); font-size:1.06rem; margin:0 0 14px}
.facts{display:flex; gap:16px; margin-top:30px; flex-wrap:wrap}
.fact{flex:1 1 150px; min-width:140px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px 20px; position:relative; overflow:hidden; box-shadow:var(--shadow-sm)}
.fact::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--red)}
.fact b{display:block; font-family:var(--font); font-weight:600; font-size:2.2rem; line-height:1; color:var(--ink)}
.fact b{color:var(--ink)}
.fact span{display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:8px}

/* MŰSOR — lista nézet */
.viewtoggle{display:inline-flex; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#fff}
.viewtoggle button{padding:.6em 1.2em; border:0; background:#fff; color:var(--ink); font-weight:700; font-size:.9rem; display:flex; align-items:center; gap:.5rem}
.viewtoggle button.on{background:var(--red); color:#fff}
.mlist{display:grid; gap:16px}
.mrow{display:grid; grid-template-columns:250px 1fr auto; gap:28px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--rad); padding:18px; transition:.28s; box-shadow:var(--shadow-sm)}
.mrow:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:rgba(34,28,21,.2)}
.mrow__poster{aspect-ratio:16/10; border-radius:8px; overflow:hidden; position:relative; cursor:pointer}
.mrow__poster .scene{position:absolute; inset:0}
.mrow__info h3{font-size:1.6rem; margin:8px 0 4px; cursor:pointer}
.mrow__info .role{color:var(--muted); font-size:.88rem; margin-bottom:8px}
.mrow__info p{color:var(--body); font-size:.95rem; margin:0 0 10px; max-width:54ch}
.mrow__when{display:inline-flex; align-items:center; gap:.5rem; font-size:.96rem; font-weight:700; color:var(--green); background:rgba(14,128,72,.08); border:1px solid rgba(14,128,72,.22); padding:7px 13px; border-radius:9px}
.mrow__cta{display:flex; flex-direction:column; gap:10px; align-items:stretch; min-width:170px}

/* ÉVAD / BÉRLET */
.season .wrap{position:relative; z-index:3; text-align:center; max-width:760px}
.season h2{font-size:clamp(2.2rem,4vw,3.4rem); margin:16px 0 16px}
.season p{font-size:1.12rem; margin:0 auto 30px; max-width:560px; opacity:.95}
.season .acts{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

/* IDÉZET */
.quote{max-width:880px; margin:0 auto; text-align:center; position:relative; z-index:2}
.quote p{font-family:var(--font); font-style:italic; font-size:clamp(1.5rem,3vw,2.3rem); line-height:1.36; color:var(--ink)}
.quote .mark{font-family:var(--font); font-size:4rem; color:var(--red); line-height:0; display:block; margin-bottom:24px}
.quote cite{display:block; margin-top:24px; font-style:normal; font-weight:700; font-size:.9rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}

/* HÍREK grid */
.newsgrid,.articles{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:2}
/* A position:relative KÖTELEZŐ: a kártyát fedő hivatkozás enélkül a rácshoz
   igazodna, és minden kártyán ugyanaz a hír nyílna meg. */
.article{position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--rad); overflow:hidden; transition:.3s; display:flex; flex-direction:column; box-shadow:var(--shadow-sm)}
.article:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
.article__img{height:200px; position:relative}
.article__img .scene{position:absolute; inset:0}
.article__img .k{position:absolute; left:14px; top:14px; z-index:2; font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#fff; background:var(--red); padding:.4em .8em; border-radius:3px}
.article__img .k.is-green{background:var(--green)}
.article__body{padding:22px 24px 24px; display:flex; flex-direction:column; flex:1}
.article .date{font-size:.78rem; color:var(--muted); margin-bottom:8px; display:block}
.article h3{font-size:1.34rem; margin:0 0 10px; line-height:1.24}
.article p{color:var(--body); font-size:.94rem; margin:0 0 16px}
.article .link-more{margin-top:auto; cursor:pointer}

/* featured article */
.feature{display:grid; grid-template-columns:1.15fr 1fr; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--rad); overflow:hidden; box-shadow:var(--shadow-sm); margin-bottom:40px; cursor:pointer}
.feature__img{position:relative; min-height:340px}
.feature__img .scene{position:absolute; inset:0}
.feature__body{padding:42px}
.feature h2{font-size:clamp(1.8rem,2.6vw,2.4rem); margin:12px 0 14px}
.feature p{color:var(--body)}

/* LÁTOGATÓ INFÓ */
.infocards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:2}
.infocard{border:1px solid var(--line); border-radius:var(--rad); padding:32px; background:#fff; box-shadow:var(--shadow-sm)}
.infocard .ic{width:48px;height:48px; border-radius:50%; display:grid; place-items:center; margin-bottom:16px; color:#fff; background:var(--red)}
.infocard .ic .ico{width:24px;height:24px}
.infocard:nth-child(2) .ic{background:var(--green)} .infocard:nth-child(3) .ic{background:var(--green-bright)}
/* Látogatói infó-kártyák – nagyobb brand ikon-csempe */
.infocard{transition:.3s}
.infocard:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent}
.infocard .ii{width:62px; height:62px; border-radius:16px; display:grid; place-items:center; margin-bottom:20px; color:#fff; background:var(--green-deep)}
.infocard .ii .ico{width:30px; height:30px}
.infocard:nth-child(2) .ii{background:var(--red)}
.infocard:nth-child(3) .ii{background:var(--green-deep)}
.infocard:nth-child(4) .ii{background:var(--red)}
.infocard h4{font-size:1.32rem; margin-bottom:10px}
.infocard h3{font-size:1.4rem; margin-bottom:8px} .infocard p{color:var(--body); font-size:.96rem; margin:0}
.infocard a{color:var(--red); font-weight:700}

/* NEWSLETTER */
.nl{text-align:center; max-width:760px; margin:0 auto; position:relative; z-index:2}
.nl h2{font-size:clamp(1.7rem,3vw,2.4rem); margin:14px 0 12px; text-wrap:balance}
.nl p{color:var(--body); margin:0 auto 26px; max-width:520px}
.nl form{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}
.nl input{flex:1; min-width:200px; max-width:260px; padding:1em 1.2em; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:1rem; font-family:inherit; border-radius:3px}
.nl input:focus{outline:2px solid var(--red); border-color:var(--red)}

/* GALÉRIA */
.albums{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.album{display:block; text-decoration:none; color:inherit; border-radius:var(--rad); overflow:hidden; border:1px solid var(--line); background:#fff; cursor:pointer; transition:.3s; box-shadow:var(--shadow-sm)}
.album:hover{transform:translateY(-6px); box-shadow:var(--shadow)}
.album.on{outline:3px solid var(--red); outline-offset:2px}
.album__img{height:220px; position:relative}
.album__img .scene{position:absolute; inset:0}
.album__img .count{position:absolute; right:12px; bottom:12px; z-index:2; background:rgba(12,10,8,.7); color:#fff; font-size:.78rem; font-weight:600; padding:.35em .8em; border-radius:3px}
.album__body{padding:20px 22px} .album__body h3{font-size:1.4rem} .album__body p{color:var(--muted); font-size:.9rem; margin:6px 0 0}
.albumview{margin-top:44px}
.albumview__head{display:flex; align-items:baseline; gap:14px; margin-bottom:22px}
.albumview__head h2{font-size:2rem} .albumview__head span{color:var(--muted); font-size:.92rem}
.photogrid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:14px}
.photogrid a{position:relative; overflow:hidden; border-radius:10px; border:1px solid var(--line)}
.photogrid a:nth-child(5n+1){grid-column:span 2; grid-row:span 2}
.photogrid .scene{position:absolute; inset:0; transition:transform .5s} .photogrid a:hover .scene{transform:scale(1.08)}

/* FOOTER — brand-színű, lassan mozgó háttér; egységes betűk (a linkek sem térnek el) */
.footer{position:relative; overflow:hidden; padding:0 0 26px; color:#EDE7DF;
  background:linear-gradient(115deg,#063D22 0%,#0E8048 26%,#1a3a2a 50%,#8E1B1E 76%,#5E1216 100%);
  background-size:280% 280%; animation:ujsz-footerflow 34s ease-in-out infinite}
@keyframes ujsz-footerflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.footer::after{content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(130% 95% at 50% 0%, rgba(0,0,0,.3), rgba(0,0,0,.05) 45%, rgba(0,0,0,.4) 100%)}
.footer > *{position:relative; z-index:1}
.footer__accent{height:3px; background:rgba(255,255,255,.22)}
.footer__top{padding:66px 0 0}
.footer__grid{display:grid; grid-template-columns:1.5fr .85fr 1.05fr 1.05fr; gap:44px;
  padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.18)}
.footer__brand img{height:auto; max-width:132px; margin:0 0 16px; display:block}
.footer__tag{color:#fff; font-size:1.02rem; font-style:italic; margin:0 0 12px}
.footer__about{color:#fff; font-size:.9rem; line-height:1.65; margin:0; max-width:340px}
.footer__col h4{font-family:var(--font); font-weight:600; font-size:1.1rem; color:#fff; margin:0 0 18px; letter-spacing:.01em}

/* Minden láblécszöveg egyforma: a linkek sem nagyobbak/más színűek, csak aláhúzás jelzi őket hoverre */
.footer__nav a,.footer__line,.footer__line a,.footer__line .muted,.footer__legal a,.footer__bottom span{
  font-size:.95rem; font-weight:400; color:#fff; font-family:var(--font)}
.footer__nav{display:grid; gap:9px}
.footer__nav a{display:inline-block; text-decoration:none; transition:.18s}
.footer__nav a:hover,.footer__line a:hover,.footer__legal a:hover{color:#fff; text-decoration:underline; text-underline-offset:4px}
.footer__line{display:flex; gap:11px; align-items:flex-start; margin:0 0 11px; line-height:1.55; overflow-wrap:anywhere}
.footer__line .ico{width:15px; height:15px; flex:0 0 auto; margin-top:5px; color:rgba(255,255,255,.6)}
.footer__line a{text-decoration:none; transition:.18s}
.footer__owner{margin:0; color:#fff; font-size:.86rem; line-height:1.7}
.socials{display:flex; gap:9px; margin-top:20px}
.socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.32);border-radius:50%; display:grid; place-items:center; color:#fff; transition:.22s}
.socials a .ico{width:17px;height:17px}
.socials a:hover{background:#fff; border-color:#fff; color:var(--green-deep); transform:translateY(-3px)}
.footer__bottom{margin-top:24px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); color:#fff}
.footer__bottom .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px 26px; flex-wrap:wrap}
.footer__legal{display:flex; gap:20px; flex-wrap:wrap}
.footer__legal a{text-decoration:none; transition:.2s}
@media(max-width:1080px){.footer__grid{grid-template-columns:1fr 1fr; gap:36px}.footer__brand{grid-column:1/-1}}
@media(max-width:620px){.footer__grid{grid-template-columns:1fr}.footer__bottom .wrap{flex-direction:column; text-align:center; gap:10px}}
@media(prefers-reduced-motion:reduce){.footer{animation:none}}

/* PAGE / ROUTER */
main .page{display:none; animation:fade .5s ease}
main .page.active{display:block}
@keyframes fade{from{opacity:0; transform:translateY(10px)}to{opacity:1; transform:none}}

/* aloldal hero — KÉP + zöld/piros árnyalat, balra rendezve */
.phero{position:relative; min-height:440px; display:flex; align-items:flex-end; overflow:hidden; padding:140px 0 56px}
.phero .scene{position:absolute; inset:0; z-index:0}
.phero .scene .scene__fig{height:90%; opacity:.46}
.phero__tint{position:absolute; inset:0; z-index:1; mix-blend-mode:multiply; opacity:.3}
.phero__tint.t-green{background:linear-gradient(120deg,#0e8048,#063d22 70%)}
.phero__tint.t-red{background:linear-gradient(120deg,#c81f22,#5e1216 70%)}
.phero__tint.t-mixed{background:linear-gradient(120deg,#0e8048,#c81f22)}
.phero__scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(12,10,8,.6),transparent 65%),linear-gradient(180deg,transparent 40%,rgba(12,10,8,.55))}
.phero .wrap{position:relative; z-index:3; text-align:left; width:100%}
.phero h1{font-size:clamp(2.6rem,5.4vw,4.4rem); color:#fff; font-weight:500; margin:14px 0 14px; max-width:none; text-shadow:0 6px 36px rgba(0,0,0,.4); text-wrap:balance}
.phero p{color:#f3efe7; max-width:620px; font-size:1.08rem; margin:0}
.phero .eyebrow{color:#fff} .phero .eyebrow::before{background:#fff}
.crumb{font-size:.82rem; color:#e9e3d8; letter-spacing:.04em} .crumb a:hover{color:#fff}
.phero__note{position:absolute; right:20px; bottom:16px; z-index:3; font-size:.7rem; color:rgba(255,255,255,.5); letter-spacing:.05em}

/* repertoár */
.repintro{max-width:680px; margin:0 0 34px; color:var(--body)}
.filters{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:38px}
.repsearch{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 16px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.repsearch svg{width:20px;height:20px;color:var(--muted);flex:0 0 auto}
.repsearch input{flex:1;border:0;outline:0;background:transparent;padding:15px 2px;font-size:1rem;font-family:inherit;color:var(--ink)}
.repsearch input:focus{outline:0}
.repsearch:focus-within{border-color:var(--green)}
.repsearch__empty{color:var(--muted);padding:30px 0;text-align:center}
.chip{padding:.62em 1.25em; border:1px solid var(--line); background:#fff; color:var(--ink); font-weight:600; font-size:.92rem; border-radius:3px; transition:.22s}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--red); color:#fff; border-color:var(--red)}
.repsort{margin-left:auto; color:var(--muted); font-size:.9rem; display:flex; align-items:center; gap:10px}
.repsort select{background:#fff; color:var(--ink); border:1px solid var(--line); padding:.5em .8em; font-family:inherit; border-radius:3px}
.pager{display:flex; gap:8px; justify-content:center; margin-top:40px}
.pager button{width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:3px;font-weight:600}
.pager button.on{background:var(--red);color:#fff;border-color:var(--red)} .pager button:hover{border-color:var(--ink)}

/* előadás adatlap */
.detail__top{display:grid; grid-template-columns:1.55fr 1fr; gap:44px; align-items:start}
.video{position:relative; overflow:hidden; aspect-ratio:16/9; border-radius:var(--rad); border:1px solid var(--line); box-shadow:var(--shadow)}
.video .scene{position:absolute; inset:0}
.video__play{position:absolute; inset:0; display:grid; place-items:center; background:rgba(12,10,8,.18)}
.video__play button{width:88px;height:88px;border-radius:50%; border:0; background:var(--red); color:#fff; display:grid;place-items:center; animation:pulse 2.6s infinite}
.video__play button .ico{width:30px;height:30px;margin-left:4px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(236,53,48,.5)}70%{box-shadow:0 0 0 26px rgba(236,53,48,0)}100%{box-shadow:0 0 0 0 rgba(236,53,48,0)}}
.video__label{position:absolute; left:16px; bottom:14px; z-index:3; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(12,10,8,.55); padding:.4em .8em; border-radius:3px}
.thumbs{display:flex; gap:10px; margin-top:12px}
.thumb{flex:1; aspect-ratio:16/10; overflow:hidden; border-radius:8px; border:1px solid var(--line); position:relative; cursor:pointer; opacity:.65; transition:.2s}
.thumb.on,.thumb:hover{opacity:1; border-color:var(--red)}
.thumb .scene{position:absolute; inset:0}
.detailbox{background:#fff; border:1px solid var(--line); border-radius:var(--rad); padding:28px; box-shadow:var(--shadow-sm)}
.detailbox .price{font-family:var(--font); font-size:2rem; color:var(--ink)}
.agebadge{display:inline-flex; align-items:center; gap:.5rem; background:var(--green); color:#fff; font-weight:700; padding:.5em 1.1em; border-radius:3px; font-size:.92rem; margin-top:14px}
.agebadge b{font-family:var(--font); font-size:1.2rem}
.dlist{margin:18px 0; border-top:1px solid var(--line)}
.dlist div{display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--line)}
.dlist .lab{color:var(--muted); font-size:.92rem} .dlist .val{font-weight:600; text-align:right; color:var(--ink)}
.castgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.cast__ph{aspect-ratio:3/4; overflow:hidden; border-radius:var(--rad); border:1px solid var(--line); position:relative; margin-bottom:12px; transition:.3s}
.cast:hover .cast__ph{transform:translateY(-5px); box-shadow:var(--shadow-sm)}
.cast__ph .scene{position:absolute; inset:0}
.cast .n{font-family:var(--font); font-size:1.2rem; color:var(--ink)} .cast .r{color:var(--muted); font-size:.9rem}
.crew{display:grid; grid-template-columns:repeat(3,1fr); gap:0 34px}
.crew div{display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); padding:12px 0}
.crew .lab{color:var(--muted); font-size:.9rem} .crew .val{font-weight:600; color:var(--ink)}
.gallery{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:160px; gap:14px}
.gallery a{position:relative; overflow:hidden; border-radius:10px; border:1px solid var(--line)}
.gallery a:nth-child(1){grid-column:span 2; grid-row:span 2} .gallery a:nth-child(6){grid-column:span 2}
.gallery .scene{position:absolute; inset:0; transition:transform .5s} .gallery a:hover .scene{transform:scale(1.08)}
.dates{display:grid; gap:12px}
.daterow{display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px 24px; transition:.25s; box-shadow:var(--shadow-sm)}
.daterow:hover{border-color:var(--red)}
.daterow .dd{font-family:var(--font); font-size:1.18rem; color:var(--ink)} .daterow .meta{color:var(--muted); font-size:.9rem}
.related{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.relcard{background:#fff; border:1px solid var(--line); border-radius:var(--rad); overflow:hidden; cursor:pointer; transition:.3s; box-shadow:var(--shadow-sm)}
.relcard:hover{transform:translateY(-5px); box-shadow:var(--shadow)}
.relcard__img{height:160px; position:relative} .relcard__img .scene{position:absolute; inset:0}
.relcard__b{padding:18px 20px} .relcard h3{font-size:1.3rem; margin:8px 0 4px} .relcard .role{color:var(--muted); font-size:.85rem}
/* nagy videós fejléc (Erkel-szerű felépítés) */
.vhero{position:relative;width:100%;height:min(76vh,700px);min-height:460px;overflow:hidden;background:#0c0a08}
.vhero__media{position:absolute;inset:0}
.vhero__media .scene{position:absolute;inset:0}
.vhero__play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:4;width:104px;height:104px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;animation:pulse 2.6s infinite;cursor:pointer}
.vhero__play .ico{width:38px;height:38px;margin-left:5px}
.vhero__play:hover{background:var(--red-bright)}
.vhero__label{position:absolute;right:20px;top:calc(var(--hh) + 14px);z-index:4;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(12,10,8,.55);padding:.45em .9em;border-radius:3px}
.vhero__scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(12,10,8,.34),transparent 26%,transparent 46%,rgba(12,10,8,.86) 100%)}
.vhero__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 0 46px}
.vhero__yt{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.vhero__yt iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,177.78vh);height:max(56.25vw,100vh);border:0}
.vhero .phero__tint{z-index:2}
.vhero.has-video .vhero__play{left:auto;right:24px;top:auto;bottom:120px;transform:none;width:56px;height:56px;animation:none}
.vhero.has-video .vhero__play .ico,.vhero.has-video .vhero__play svg{width:22px;height:22px}
.vhero__cap .crumb{margin-bottom:16px}
.vmeta{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.vhero__cap h1{font-size:clamp(2.6rem,6vw,5rem);color:#fff;font-weight:500;letter-spacing:-.018em;text-shadow:0 8px 40px rgba(0,0,0,.45);max-width:20ch}
.vhero__by{color:#f3efe7;font-size:1.05rem;margin:12px 0 0;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.vthumbs{display:flex;gap:12px;margin:18px 0 0;flex-wrap:wrap}
.vthumb{width:140px;height:80px;border-radius:8px;border:1px solid var(--line);position:relative;overflow:hidden;cursor:pointer;opacity:.7;transition:.2s;background:#fff;padding:0}
.vthumb.on,.vthumb:hover{opacity:1;border-color:var(--red)}
.vthumb .scene{position:absolute;inset:0}
.vthumb .vtl{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#fff}
.vthumb .vtl .ico{width:24px;height:24px}
.vthumb .vtl span{position:absolute;bottom:6px;left:8px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.castlist{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:26px}
.castlist div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.castlist .role{color:var(--muted);font-size:.94rem}
.castlist .who{font-weight:600;color:var(--ink);text-align:right}
.crew .val.lead{color:var(--red);font-family:var(--font);font-size:1.08rem;letter-spacing:.01em}
.casttoggle{background:none;border:0;color:var(--green);font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap}
.casttoggle:hover{color:var(--green)}
.castnote{grid-column:1/-1;color:var(--muted);font-size:.9rem;padding:12px 0 2px;border-top:1px dashed var(--line);margin-top:8px}
@media(max-width:880px){.castlist{grid-template-columns:1fr}.daterow{grid-template-columns:1fr;gap:10px}.vhero{min-height:420px}.vthumb{width:108px;height:64px}}

/* társulat */
.troupe{display:grid; grid-template-columns:repeat(5,1fr); gap:20px}
.member{cursor:pointer}
.member__ph{aspect-ratio:3/4; overflow:hidden; border-radius:var(--rad); border:1px solid var(--line); position:relative; margin-bottom:14px; transition:.3s}
.member:hover .member__ph{transform:translateY(-6px); box-shadow:var(--shadow-sm)}
.member__ph .scene{position:absolute; inset:0}
.member__ph .role{position:absolute; left:0; right:0; bottom:0; padding:34px 14px 14px; z-index:2; background:linear-gradient(transparent,rgba(10,7,6,.85)); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; font-weight:700}
.member .n{font-family:var(--font); font-size:1.3rem; color:var(--ink)} .member .sub{color:var(--muted); font-size:.88rem}

/* kapcsolat */
.contact__grid{display:grid; grid-template-columns:1fr 1fr; gap:36px}
.cblock{background:#fff; border:1px solid var(--line); border-radius:var(--rad); padding:32px; box-shadow:var(--shadow-sm)}
.cblock--main{border-top:4px solid var(--red)}
.cblock h3{font-size:1.5rem; margin-bottom:18px}
.crow{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line)} .crow:last-child{border-bottom:0}
.crow .ic{width:40px;height:40px;flex:0 0 auto;border-radius:50%;background:rgba(200,31,34,.1);display:grid;place-items:center;color:var(--red)}
.crow .ic .ico{width:20px;height:20px}
.crow .lab{font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.crow .val{font-weight:600; font-size:1.02rem; color:var(--ink)} .crow .val a:hover{color:var(--red)} .crow .val small{display:block;font-weight:400;color:var(--muted);font-size:.82rem;margin-top:2px}
.depts{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.dept{background:#fff; border:1px solid var(--line); border-left:4px solid var(--green); border-radius:10px; padding:22px; box-shadow:var(--shadow-sm)}
.dept .t{font-weight:700; color:var(--ink); margin-bottom:6px} .dept .v{font-size:.92rem; color:var(--muted)} .dept .v b{color:var(--body)}
.mapwrap{position:relative; min-height:380px; border-radius:var(--rad); border:1px solid var(--line); overflow:hidden}
.mapwrap .scene{position:absolute; inset:0}
.mappin{position:absolute; left:50%; top:46%; transform:translate(-50%,-100%); z-index:3; text-align:center}
.mappin .p{width:38px;height:38px; background:var(--red); border:3px solid #fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); margin:0 auto 10px}
.mappin .lbl{background:rgba(12,10,8,.8); padding:.45em .9em; border-radius:3px; font-size:.82rem; color:#fff; white-space:nowrap}
.contactform{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:32px;box-shadow:var(--shadow-sm)}

/* form */
.bookform,.cform{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.bookform .full,.cform .full{grid-column:1/-1}
.field label{display:block; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:6px}
.field input,.field textarea,.field select{width:100%; padding:.85em 1em; border:1px solid var(--line); background:#fff; color:var(--ink); font-family:inherit; font-size:1rem; border-radius:3px}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--red); border-color:var(--red)}

/* reveal */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s, transform .7s}
.reveal.in{opacity:1; transform:none}

/* cookie banner */
.cookie{position:fixed; left:20px; right:20px; bottom:20px; z-index:120; max-width:640px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:var(--rad); box-shadow:var(--shadow); padding:22px 24px; display:flex; gap:18px; align-items:center; flex-wrap:wrap; transform:translateY(140%); transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cookie.is-open{transform:none; visibility:visible; pointer-events:auto}
/* A `hidden` attribútum önmagában nem hat, mert a szerzői `display:flex`
   erősebb a böngésző alap [hidden] szabályánál — ezért kell kimondani.
   Enélkül a bezárt sáv a lap alján helyet foglalt. */
/* A sáv állapot-osztálya szándékosan „is-open”, nem „show”: a .show az
   előadás-kártyáé, és annak position:relative szabálya felülírta a fixed-et,
   amitől a sáv beleült a lap aljába és 150 px üres helyet csinált. */
.cookie{position:fixed !important}
.cookie[hidden]{display:none}
.cookie:not(.is-open){visibility:hidden; pointer-events:none}
.cookie p{margin:0; font-size:.92rem; flex:1; min-width:240px; color:var(--body)} .cookie p b{color:var(--ink)}
.cookie .acts{display:flex; gap:10px}

/* responsive */
@media(max-width:1180px){
  .nav{display:none; position:fixed; inset:0 0 0 auto; width:min(82vw,360px); background:var(--paper); flex-direction:column; align-items:flex-start; padding:104px 30px; gap:4px; border-left:1px solid var(--line); z-index:55; transform:translateX(100%); transition:transform .35s; box-shadow:var(--shadow)}
  .nav.open{display:flex; transform:none}
  .nav a{font-size:1.2rem; width:100%; padding:.65em 0}
  .header .nav a,.header.scrolled .nav a{color:var(--ink)}
  .nav__has{flex-direction:column; align-items:flex-start; width:100%}
  .nav__top{width:100%; color:var(--ink)!important; font-size:1.2rem; padding:.65em 0}
  .nav__top .ico{display:none}
  .nav__sub{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; background:transparent; padding:0 0 8px 14px; min-width:0}
  .nav__sub a{padding:.45em 0; font-size:1.02rem; color:var(--muted)}
  .header .nav a span::after,.header.scrolled .nav a span::after{background:var(--red)}
  .header .nav a:hover,.header .nav a.active,.header.scrolled .nav a.active{color:var(--red)}
  .burger{display:flex}
}
@media(max-width:1080px){
  .footer__grid{grid-template-columns:1fr 1fr}
  .castgrid,.gallery,.photogrid,.genres,.shows{grid-template-columns:repeat(2,1fr)}
  .crew{grid-template-columns:1fr}
  .hnewsgrid{grid-template-columns:repeat(2,1fr)} .hnews:nth-child(n+3){display:none}
}
@media(max-width:880px){
  body{font-size:17px}
  .section{padding:72px 0}
  .shows{grid-template-columns:1fr}
  .newsgrid,.articles,.infocards,.albums,.related,.stafflist{grid-template-columns:1fr}
  .intro,.detail__top,.contact__grid,.bookform,.cform,.feature{grid-template-columns:1fr}
  .hero__inner{top:15%}
  .hero__news{bottom:22px} .hnewsgrid{grid-template-columns:1fr} .hnews:nth-child(n+2){display:none}
  .nl form{flex-direction:column; align-items:center} .nl input{max-width:none; width:100%}
  .depts,.genres{grid-template-columns:1fr}
  .mrow{grid-template-columns:120px 1fr} .mrow__cta{grid-column:1/-1; flex-direction:row}
}
@media(max-width:560px){
  .castgrid,.photogrid{grid-template-columns:1fr 1fr}
  .cal-cell{min-height:74px} .cal-cell .ev{font-size:0; padding:7px} .cal-cell .ev::before{content:"●"; font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important}
  .slide.on .scene{transform:none} .reveal{opacity:1; transform:none}
  .hero__inner>*,.hero__news{opacity:1; transform:none}
}

/* =========================================================================
   WP SABLON — kiegészítő stílusok (a látványterv nyelvén)
   ========================================================================= */

/* Világos gomb (a btn--white kiegészítője) */
.btn--light{background:#fff;color:var(--ink);border:1px solid transparent}
.btn--light:hover{background:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}

/* Hero gombsor + slide tint */
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero__tint{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.28;pointer-events:none}
.hero__tint.t-green{background:linear-gradient(120deg,rgba(14,128,72,.9),rgba(6,61,34,.5))}
.hero__tint.t-red{background:linear-gradient(120deg,rgba(200,31,34,.85),rgba(94,18,22,.5))}
.hero__tint.t-mixed{background:linear-gradient(120deg,rgba(14,128,72,.7),rgba(200,31,34,.6))}

/* Lapozó */
.pager{margin-top:40px;display:flex;justify-content:center}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;margin:0 4px;border-radius:10px;border:1px solid var(--line);color:var(--ink);font-weight:600;text-decoration:none}
.pager .page-numbers.current{background:var(--red);color:#fff;border-color:transparent}
.pager .page-numbers:hover{border-color:var(--red);color:var(--red)}
.pager .page-numbers.current:hover{color:#fff}

/* Naptár — képes eseménykártyákkal */
.calwrap{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.cal-title{font-family:var(--font);font-size:1.5rem;font-weight:600;color:var(--ink)}
.cal-nav{width:42px;height:42px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:1.3rem;line-height:1;color:var(--ink);cursor:pointer;transition:.2s}
.cal-nav:hover{border-color:var(--red);color:var(--red)}
.cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}
.cal-head div{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cal-cell{min-width:0;min-height:132px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;display:flex;flex-direction:column;gap:6px;overflow:hidden}
.cal-cell.dim{background:transparent;border-color:transparent}
.cal-cell.wknd{background:var(--paper-2)}
.cal-cell.today{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.cal-cell .dn{font-weight:700;font-size:.92rem;color:var(--ink);flex:0 0 auto}
/* eseménykártya: bélyegkép + időpont + cím, mindig a cellán belül marad */
.ev{display:flex;min-width:0;gap:8px;align-items:center;text-decoration:none;border-radius:6px;overflow:hidden;
    background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--green);padding:5px 7px 5px 5px;transition:.2s}
.ev:hover{background:#fff;border-color:var(--red);border-left-color:var(--red);transform:translateX(2px)}
.ev__img{width:34px;height:34px;flex:0 0 auto;border-radius:4px;background-size:cover;background-position:center;background-color:#e8e6e2}
.ev__b{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.ev__t{font-size:.68rem;font-weight:700;color:var(--red);letter-spacing:.03em}
.ev__n{font-size:.76rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev--bemutato{border-left-color:var(--red)}
.ev--rep{border-left-color:var(--green)}
.ev--ifi{border-left-color:var(--green-bright)}
.ev--solo{border-left-color:var(--ink)}
@media(max-width:1080px){.cal-cell{min-height:104px}.ev__img{display:none}}
@media(max-width:760px){
  .calwrap{padding:14px}
  .cal-cell{min-height:74px;padding:5px;gap:3px}
  .cal-head div{font-size:.6rem}
  .ev{padding:3px 4px;border-left-width:3px}
  .ev__t{display:none}
  .ev__n{font-size:.62rem}
}

/* Profil (színész / munkatárs) */
.profile{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}
.profile__ph{position:relative;aspect-ratio:4/5;border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow-sm)}
.profile__ph .scene{position:absolute;inset:0}
.profile__bio{color:var(--body);font-size:1.06rem;line-height:1.75}
.profile__bio p{margin:0 0 14px}
.rolelist{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.rolerow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;transition:.2s}
.rolerow:hover{border-color:var(--red);transform:translateX(3px)}
.rolerow .role{font-family:var(--font);font-size:1.15rem;color:var(--ink)}
.rolerow .in{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:600}
.catchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.catchip{display:inline-block;padding:.42em 1em;border-radius:999px;font-size:.82rem;font-weight:600;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);text-decoration:none;transition:.2s}
.catchip:hover{background:rgba(255,255,255,.3)}
.profile__role{color:var(--green);font-weight:700;font-size:1rem;margin:0 0 14px}
.troupe-group .tg-count{font-style:normal;font-weight:700;opacity:.45;font-size:.85em;margin-left:6px}
@media(max-width:820px){.profile{grid-template-columns:1fr;gap:24px}.profile__ph{max-width:320px}}

/* Munkatárs-lista (Kapcsolat) */
.stafflist{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.staffcard{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:.2s}
.staffcard:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.staffcard__ph{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;flex:0 0 auto}
.staffcard__ph .scene{position:absolute;inset:0}
.staffcard__b .n{font-family:var(--font);font-size:1.12rem;color:var(--ink)}
.staffcard__b .p{color:var(--green);font-weight:600;font-size:.86rem;margin-bottom:4px}
.staffcard__b{min-width:0}
.staffcard__b .c{color:var(--body);font-size:.85rem;display:flex;align-items:center;gap:6px;word-break:break-word;overflow-wrap:anywhere}
.staffcard__b .c svg{width:16px;height:16px;flex:0 0 auto}

/* Infó-rács (kezdőlap + kapcsolat) */
.infogrid,.contactgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}

/* Űrlapok */
.formcard{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--shadow-sm);padding:30px}
.formcard h2{margin:6px 0 18px}
.contactform input,.contactform textarea,.nlform input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink);margin-bottom:12px}
.contactform input:focus,.contactform textarea:focus,.nlform input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(14,128,72,.12)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:620px){.frow{grid-template-columns:1fr}}
.contactmsg,.nlmsg{margin:8px 0 0;color:var(--green);font-weight:600;min-height:1.2em}
.contactsplit{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:stretch}
.mapcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;min-height:360px;box-shadow:var(--shadow-sm)}
.mapcard__frame{flex:1 1 auto;width:100%;min-height:300px;border:0;display:block}
.mapcard__bar{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;color:var(--ink);border-top:1px solid var(--line)}
.mapcard__bar svg{width:18px;height:18px;flex:0 0 auto;color:var(--green)}
.mapcard__bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mapcard__bar a{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:600;text-decoration:none;flex:0 0 auto}
.mapcard__bar a svg{width:16px;height:16px}
@media(max-width:900px){.contactsplit{grid-template-columns:1fr}}

/* Hírlevél blokk */
.nlbox{position:relative;overflow:hidden;background:var(--green-deep);border-radius:24px;padding:54px 30px;text-align:center;color:#fff}
.nlbox h2{color:#fff;margin:6px 0 22px}
.nlbox .eyebrow{color:#fff;opacity:.9}
.nlform{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:12px;max-width:640px;margin:0 auto;justify-content:center}
.nlform input{flex:1 1 200px;margin-bottom:0}
.nlform .nlmsg{flex-basis:100%;color:#fff}

/* Bérlet sáv */
.band{position:relative;overflow:hidden;background:var(--green-deep);padding:54px 0}
.band__in{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.band__in h2{margin:6px 0 8px}

/* Hír-cikk törzs */
.post{max-width:760px;color:var(--body);font-size:1.1rem;line-height:1.8}
.post p{margin:0 0 18px}
.post h2,.post h3{color:var(--ink);margin:28px 0 12px}
.post img{max-width:100%;height:auto;border-radius:12px}

/* Előadás-leírás */
.detail__lead{color:var(--body);font-size:1.06rem;line-height:1.75}
.detail__lead p{margin:0 0 14px}

/* Közérdekű adatok */
.kozblock{margin:0 0 38px}
.kozblock__h{font-family:var(--font);font-size:1.5rem;color:var(--ink);padding-bottom:10px;border-bottom:2px solid var(--green);margin-bottom:6px}
.koztable{display:flex;flex-direction:column}
.kozrow{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;padding:16px 4px;border-bottom:1px solid var(--line);align-items:start}
.kozrow__cim{color:var(--ink);font-weight:600;line-height:1.5}
.kozrow__val{color:var(--body)}
.kozrow__txt{font-size:.96rem;line-height:1.6}
@media(max-width:720px){.kozrow{grid-template-columns:1fr;gap:8px}}

/* ===================== ÚJ: interakció + brand finomítások ===================== */
/* Fejléc közösségi ikonok */
.header__social{display:flex; gap:6px; align-items:center; margin-right:2px}
.header__social a{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.28); transition:.2s}
.header__social a .ico{display:grid; place-items:center; width:18px; height:18px}
.header__social a .ico svg{width:100%; height:100%; display:block}
.header__social a:hover{background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px)}
.header.scrolled .header__social a{color:var(--ink); border-color:var(--line)}
.header.scrolled .header__social a:hover{color:#fff; background:var(--red); border-color:var(--red)}
@media(max-width:980px){.header__social{display:none}}

/* Dátum-chip a repertoár-kártyákon */
.datechip{display:inline-flex; align-items:center; gap:7px; font-size:.92rem; font-weight:700; color:var(--green); background:rgba(14,128,72,.08); border:1px solid rgba(14,128,72,.22); padding:7px 12px; border-radius:8px; margin-bottom:14px; align-self:flex-start}
.datechip svg{width:1em; height:1em}

/* Teljes kártya / sor kattintható */
.show[data-href],.mrow[data-href]{cursor:pointer}

/* Aloldali hero: nagyon enyhe, folyamatos zoom */
@keyframes ujsz-kenburns{0%{transform:scale(1)}100%{transform:scale(1.12)}}
.phero .scene img{animation:ujsz-kenburns 22s ease-in-out infinite alternate; transform-origin:center}

/* Nincs jegy állapot */
.daterow__noticket{font-size:.86rem; color:var(--muted); font-style:italic}
.noticket-note{font-size:.9rem; color:var(--muted); background:var(--paper-2); border:1px dashed var(--line); border-radius:10px; padding:12px 14px; text-align:center}

/* Lightbox */
.lightbox{position:fixed; inset:0; z-index:200; background:rgba(8,6,4,.95); display:none; align-items:center; justify-content:center; padding:30px}
.lightbox.on{display:flex}
.lightbox img{max-width:92vw; max-height:86vh; border-radius:8px; box-shadow:0 30px 80px -20px rgba(0,0,0,.85)}
.lightbox__btn{position:absolute; background:rgba(255,255,255,.12); border:0; color:#fff; cursor:pointer; border-radius:50%; display:grid; place-items:center; transition:.2s; line-height:1}
.lightbox__btn:hover{background:var(--red)}
.lightbox__close{top:20px; right:24px; width:46px; height:46px; font-size:1.7rem}
.lightbox__nav{top:50%; transform:translateY(-50%); width:54px; height:54px; font-size:2rem}
.lightbox__prev{left:18px} .lightbox__next{right:18px}
.lightbox__count{position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.7); font-size:.85rem; letter-spacing:.05em}
@media(max-width:620px){.lightbox__nav{width:44px;height:44px;font-size:1.5rem}.lightbox__close{top:14px;right:16px}}

/* Brand zöld–piros akcentus néhány helyen */
.section-head h2{position:relative}
.band{background:var(--green-deep)}
.daterow{position:relative}
.daterow::before{content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:3px; background:var(--red); opacity:.5}

@media(prefers-reduced-motion:reduce){ .phero .scene img{animation:none} }

/* ===================== Felső infósáv (futó hír helyett) ===================== */
.topbar{background:var(--red); color:#fff; font-size:.9rem; position:relative; z-index:60}
.topbar__in{display:flex; align-items:center; justify-content:space-between; gap:6px 34px; min-height:42px; flex-wrap:wrap; padding-top:8px; padding-bottom:8px}
.topbar__lbl{font-weight:700; color:#fff; letter-spacing:.16em; text-transform:uppercase; font-size:.68rem}
.topbar__group{display:inline-flex; align-items:center; gap:14px; white-space:nowrap}
.topbar__group + .topbar__group{padding-left:34px; border-left:1px solid rgba(255,255,255,.28)}
.topbar__i{display:inline-flex; align-items:center; gap:7px; color:#fff; white-space:nowrap}
.topbar__i .ico{width:14px; height:14px; opacity:.8; flex:0 0 auto}
.topbar__addr{margin-right:auto; color:#fff}
.topbar__hours{color:#fff}
a.topbar__i{transition:color .2s} a.topbar__i:hover{color:#fff; text-decoration:underline; text-underline-offset:3px}
@media(max-width:1180px){.topbar__addr{width:100%}.topbar__group + .topbar__group{padding-left:0; border-left:0}}
@media(max-width:900px){.topbar{display:none}}

/* ===================== Legördülő menü ===================== */
.nav__has{position:relative; display:flex; align-items:center}
.nav__top{font-weight:600; font-size:1.1rem; padding:.5em .82em; color:#fff; display:flex; align-items:center; gap:5px; cursor:pointer; transition:color .2s}
.nav__top .ico{width:14px; height:14px; opacity:.75; transition:transform .25s}
.nav__has:hover .nav__top .ico{transform:rotate(180deg)}
.nav__sub{position:absolute; top:100%; left:0; min-width:238px; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:8px; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s; z-index:60}
.nav__has:hover .nav__sub{opacity:1; visibility:visible; transform:translateY(0)}
.nav__sub a{display:block; padding:11px 15px; border-radius:8px; color:var(--ink); font-size:1.02rem; font-weight:500; white-space:nowrap; transition:.16s}
.nav__sub a:hover{background:var(--paper-2); color:var(--red); padding-left:18px}
.nav__has.active > .nav__top{color:#fff}
.nav__has.active > .nav__top::after{content:""; position:absolute; left:.72em; right:.72em; bottom:-1px; height:2px; background:#fff}
.header.scrolled .nav__top{color:var(--ink)}
.header.scrolled .nav__has:hover .nav__top{color:var(--red)}
.header.scrolled .nav__has.active > .nav__top{color:var(--red)}
.header.scrolled .nav__has.active > .nav__top::after{background:var(--red)}

/* Aktuális előadások – ikonos meta (dátum/műfaj/hossz) */
.mrow__facts{display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:14px; align-items:center}
.mf{display:inline-flex; align-items:center; gap:7px; font-size:.92rem; color:var(--body); font-weight:600}
.mf .ico{width:16px; height:16px; color:var(--muted); flex:0 0 auto; display:grid; place-items:center}
.mf .ico svg{width:100%; height:100%; display:block}
.mf--date{color:var(--green); background:rgba(14,128,72,.08); border:1px solid rgba(14,128,72,.22); padding:6px 12px; border-radius:8px; font-weight:700}
.mf--date .ico{color:var(--green)}
@media(max-width:880px){.mrow{grid-template-columns:1fr} .mrow__poster{aspect-ratio:16/9}}

/* Adatlap oldalsáv – plakát */
.detailbox__poster{border-radius:10px; overflow:hidden; margin-bottom:18px; box-shadow:var(--shadow-sm); border:1px solid var(--line)}
.detailbox__poster img{display:block; width:100%; height:auto}
/* Színészek/alkotók linkek az adatlapon */
.castlist .who a{color:var(--ink); text-decoration:none; border-bottom:1px solid transparent; transition:.18s}
.castlist .who a:hover{color:var(--red); border-bottom-color:var(--red)}
.crew .val a{color:inherit; text-decoration:none; border-bottom:1px solid rgba(0,0,0,.18); transition:.18s}
.crew .val a:hover{color:var(--red); border-bottom-color:var(--red)}

/* Hero – hír-slider, középre igazított felirat */
.hero--center .hero__scrim{background:linear-gradient(180deg,rgba(12,10,8,.42),rgba(12,10,8,.2) 45%,rgba(12,10,8,.72))}
.hero__cap{position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:100px 24px 30px; gap:16px}
.hero__cap .tag{margin:0}
.hero__cap .hero__title{max-width:22ch; text-shadow:0 8px 44px rgba(0,0,0,.55)}
.hero__cap .hero__btns{margin-top:8px; display:flex; justify-content:center}
.hero__cap>*{opacity:0; transform:translateY(18px)}
.slide.on .hero__cap>*{animation:rise .85s cubic-bezier(.2,.7,.2,1) forwards}
.slide.on .hero__cap>*:nth-child(1){animation-delay:.12s}
.slide.on .hero__cap>*:nth-child(2){animation-delay:.24s}
.slide.on .hero__cap>*:nth-child(3){animation-delay:.36s}

/* Kép nélküli előadás – elegáns, statikus placeholder (nem "vibrál") */
.scene--ph{background:linear-gradient(140deg,#17121b 0%,#2a1c1e 55%,#3b2519 100%); display:grid; place-items:center}
.scene--ph .ico{width:58px; height:58px; color:rgba(255,255,255,.17)}
.scene--ph .ico svg{width:100%; height:100%; display:block}

/* Hero – kép nélküli slide: sima, semleges szürke (nem vibrál) */
.scene--plain{background:#3d3a36}

/* ===================== Videó-galéria + sajtóvisszhang ===================== */
.videogrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.videobox{position:relative;aspect-ratio:16/9;border-radius:var(--rad);overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:var(--shadow-sm)}
.videobox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:760px){.videogrid{grid-template-columns:1fr}}
.presslist{display:grid;gap:14px}
.pressquote{margin:0;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:10px;padding:20px 24px}
.pressquote p{margin:0;font-style:italic;font-size:1.08rem;line-height:1.6;color:var(--ink)}
.pressquote cite{display:block;margin-top:10px;font-style:normal;font-size:.9rem;color:var(--muted)}
.pressquote cite a{color:var(--red);font-weight:600}

/* ===================== Tagolt aloldalak: szöveg + oldalsáv ===================== */
.proselayout{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr); gap:56px; align-items:start}
.proselayout__main{color:var(--body); font-size:1.09rem; line-height:1.8; min-width:0}
.proselayout__main > p:first-of-type{font-size:1.22rem; line-height:1.7; color:var(--ink)}
.proselayout__main p{margin:0 0 20px}
.proselayout__main a{color:var(--red); border-bottom:1px solid rgba(200,31,34,.35)}
.proselayout__main a:hover{border-bottom-color:var(--red)}
.prose__h{font-size:1.42rem; color:var(--ink); margin:38px 0 12px; padding-top:24px; border-top:1px solid var(--line); font-weight:600}
.proselayout__main > .prose__h:first-child{margin-top:0; padding-top:0; border-top:0}
.proselayout__side{display:grid; gap:18px}
.sidecard{background:var(--card); border:1px solid var(--line); border-radius:var(--rad); padding:26px 26px 22px; box-shadow:var(--shadow-sm)}
.sidecard--accent{border-top:3px solid var(--red)}
.sidecard h4{font-size:1.24rem; margin:0 0 14px; color:var(--ink)}
.sidecard .dlist{margin:0 0 18px; border-top:0}
.sidecard .dlist div{padding:11px 0; gap:14px}
.sidecard .dlist div:first-child{padding-top:0}
.sidecard .dlist .val{font-size:.96rem; font-weight:600}
.sidecard .dlist .val a:hover{color:var(--red)}
.sidecard__p{color:var(--body); font-size:.98rem; margin:0 0 14px; line-height:1.6}
.sidecard__note{display:flex; gap:9px; align-items:flex-start; margin:16px 0 0; font-size:.88rem; color:var(--muted); line-height:1.55}
.sidecard__note .ico{width:16px; height:16px; flex:0 0 auto; margin-top:3px; color:var(--green)}
@media(max-width:980px){
  .proselayout{grid-template-columns:1fr; gap:38px}
}

/* Idővonal */
.timeline{list-style:none; margin:0; padding:0; border-left:2px solid var(--line); position:relative}
.timeline__item{display:grid; grid-template-columns:120px 1fr; gap:26px; padding:0 0 30px 32px; position:relative; align-items:baseline}
.timeline__item::before{content:""; position:absolute; left:-7px; top:9px; width:12px; height:12px; border-radius:50%; background:var(--red); border:3px solid #fff; box-shadow:0 0 0 1px var(--line)}
.timeline__y{font-size:1.6rem; color:var(--ink); font-weight:600; line-height:1.1}
.timeline__t{color:var(--body); font-size:1.04rem; line-height:1.65}
@media(max-width:680px){.timeline__item{grid-template-columns:1fr; gap:4px; padding-left:26px}.timeline__y{font-size:1.3rem}}

/* Bérlet-kártyák */
.berletgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.berlet{background:var(--card); border:1px solid var(--line); border-radius:var(--rad); padding:30px 28px; transition:.28s; box-shadow:var(--shadow-sm)}
.berlet:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:rgba(28,27,25,.24)}
.berlet__db{display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:12px}
.berlet h3{font-size:1.5rem; margin:0 0 10px}
.berlet p{color:var(--body); font-size:.98rem; margin:0; line-height:1.65}
.berlet__note{max-width:760px; margin:26px 0 0; color:var(--muted); font-size:.95rem; line-height:1.7}
@media(max-width:900px){.berletgrid{grid-template-columns:1fr}}

/* Fejléc-videó hangkapcsoló */
.vhero__sound{position:absolute; right:24px; bottom:26px; z-index:5; display:inline-flex; align-items:center; gap:9px;
  background:rgba(12,10,8,.55); border:1px solid rgba(255,255,255,.3); color:#fff; border-radius:999px;
  padding:.62em 1.15em; font-family:inherit; font-size:.92rem; font-weight:600; backdrop-filter:blur(6px); transition:.22s}
.vhero__sound:hover{background:var(--red); border-color:var(--red)}
.vhero__sound.on{background:var(--red); border-color:var(--red)}
.vhero__sound .ico{width:18px; height:18px; display:grid; place-items:center}
.vhero__sound .ico svg{width:100%; height:100%}
.vhero__sound .snd-on{display:none}
.vhero__sound.on .snd-off{display:none}
.vhero__sound.on .snd-on{display:block}
@media(max-width:620px){.vhero__sound{right:14px; bottom:16px; padding:.55em .8em}.vhero__sound-txt{display:none}}

/* ===================== Elrendezés-finomítás (minimalista) ===================== */
/* Szekciócím: finomabb kísérőszöveg, nagyobb főcím, halk elválasztó */
.section-head{align-items:flex-end; margin-bottom:40px}
.eyebrow{font-weight:700; font-size:.72rem; letter-spacing:.22em}
.eyebrow::before{width:22px}
.section-head h2{letter-spacing:-.015em; margin-top:14px}
.section-head::after{content:""; position:absolute; left:0; right:0; bottom:-18px; height:1px; background:var(--line)}
.section-head + *{margin-top:34px}

/* Kártyák: halkabb árnyék, tisztább keret */
.show,.article,.berlet,.relcard,.mrow,.infocard,.sidecard,.staffcard,.formcard,.calwrap,.daterow{box-shadow:none}
.show:hover,.article:hover,.relcard:hover{box-shadow:0 18px 40px -30px rgba(0,0,0,.5)}
.show,.article{border-radius:4px}
.show__img{aspect-ratio:3/4}
.show h3{font-size:1.7rem; letter-spacing:-.01em}

/* Nagy terek: kicsit levegősebb ritmus */
.section{padding:96px 0}
@media(max-width:880px){.section{padding:64px 0}}

/* Térkép-keret */
.mapframe{border-radius:var(--rad); overflow:hidden; border:1px solid var(--line)}
.mapframe iframe{width:100%; height:460px; border:0; display:block}
@media(max-width:680px){.mapframe iframe{height:320px}}

/* Aloldal-hero: visszafogottabb, letisztult */
.phero{min-height:380px; padding:150px 0 52px}
.phero h1{font-size:clamp(2.4rem,4.6vw,3.8rem)}
.phero__tint{opacity:.22}

/* Aktuális előadások: nagyobb kép, halkabb kiemelések */
.mrow{grid-template-columns:300px 1fr auto; gap:32px; padding:20px}
.mrow__poster{border-radius:4px}
.btn--red{box-shadow:none}
.btn--red:hover{box-shadow:0 10px 22px -18px rgba(0,0,0,.7)}
.mf--date{color:var(--ink); background:transparent; border-color:var(--line); font-weight:600}
.mf--date .ico{color:var(--muted)}
@media(max-width:1080px){.mrow{grid-template-columns:230px 1fr; gap:24px}}
@media(max-width:880px){.mrow{grid-template-columns:1fr}}

/* ===================== Szekciócímek: nagyobb, látványosabb ===================== */
.section-head h2{font-size:clamp(2.4rem,4.6vw,3.6rem); margin-top:0; letter-spacing:-.02em}
.section-head::after{bottom:-20px; height:1px; background:linear-gradient(90deg,var(--red) 0 72px, var(--line) 72px)}
.section-head + *{margin-top:42px}
.intro h2,.nlbox h2,.band__in h2{font-size:clamp(2.1rem,3.6vw,3rem)}

/* Slider: a cím kapjon szélesebb sort (ne törjön össze) */
.hero .hero__title{max-width:none; font-size:clamp(1.9rem,3.6vw,3.1rem); line-height:1.14; letter-spacing:.01em}
.hero__cap{padding:100px 24px 30px; max-width:1180px; margin:0 auto}
.hero__cap .hero__title{max-width:26ch}
@media(min-width:1200px){.hero__cap .hero__title{max-width:34ch}}

/* Társulat: nagyobb, látványosabb csoportcímek; kisebb jelkép, ha nincs fotó */
.troupe-group{margin-bottom:8px}
.troupe-group h2{font-size:clamp(1.9rem,3.2vw,2.7rem); letter-spacing:-.015em; margin:0 0 6px; color:var(--ink)}
.troupe-group__head{position:relative; padding-bottom:14px; margin-bottom:26px; border-bottom:1px solid var(--line)}
.troupe-group__head::after{content:""; position:absolute; left:0; bottom:-1px; width:72px; height:2px; background:var(--red)}
.member__ph .scene--ph .ico{width:34px; height:34px; opacity:.75}
.cast__ph .scene--ph .ico{width:30px; height:30px}
.member__ph .scene--ph{background:#f2f0ed}
.member__ph .scene--ph .ico{color:rgba(28,27,25,.22)}

/* Hír-adatlap: szöveg + oldalsáv */
.post.proselayout__main{max-width:none; font-size:1.09rem}
.phero__meta{display:inline-block; margin-top:14px; color:#f0ece5; font-size:.9rem; letter-spacing:.04em}
.minilist{display:grid; gap:12px}
.minirow{display:flex; gap:12px; align-items:center; text-decoration:none}
.minirow__ph{position:relative; width:56px; height:56px; flex:0 0 auto; border-radius:6px; overflow:hidden; background:var(--paper-2)}
.minirow__ph .scene{position:absolute; inset:0}
.minirow__ph .scene--ph .ico{width:22px; height:22px}
.minirow__b{min-width:0; display:flex; flex-direction:column; gap:2px}
.minirow__n{font-size:.98rem; font-weight:600; color:var(--ink); line-height:1.25}
.minirow__d{font-size:.82rem; color:var(--muted)}
.minirow:hover .minirow__n{color:var(--red)}

/* ===================== Színpad foglalás ===================== */
.lead-intro{max-width:720px; font-size:1.18rem; line-height:1.7; color:var(--ink); margin:0 0 44px}
.spaces{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.space{border:1px solid var(--line); border-radius:var(--rad); overflow:hidden; background:var(--card); transition:.28s}
.space:hover{transform:translateY(-4px); box-shadow:0 18px 40px -30px rgba(0,0,0,.5)}
.space__img{position:relative; aspect-ratio:4/3; background:var(--paper-2)}
.space__img .scene{position:absolute; inset:0}
.space__b{padding:20px 22px 24px}
.space__b h3{font-size:1.34rem; margin:0 0 8px}
.space__b p{margin:0; color:var(--body); font-size:.95rem; line-height:1.6}
@media(max-width:1080px){.spaces{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.spaces{grid-template-columns:1fr}}

.bookgrid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr); gap:36px; align-items:start}
@media(max-width:980px){.bookgrid{grid-template-columns:1fr}}
.formcard--wide{padding:34px}
.bookform-modern{display:grid; grid-template-columns:1fr 1fr; gap:20px 22px}
.bookform-modern .field--full{grid-column:1/-1}
.bookform-modern label{display:block; font-size:.86rem; font-weight:600; letter-spacing:.02em; color:var(--ink); margin-bottom:7px; text-transform:none}
.bookform-modern input,.bookform-modern select,.bookform-modern textarea{
  width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:10px; background:#fff;
  font:inherit; font-size:1rem; color:var(--ink); margin:0; transition:.18s; appearance:none}
.bookform-modern select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2383807A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:18px; padding-right:44px; cursor:pointer}
.bookform-modern input:focus,.bookform-modern select:focus,.bookform-modern textarea:focus{
  outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(200,31,34,.1)}
.bookform-modern input::placeholder,.bookform-modern textarea::placeholder{color:#b3aea6}
.bookform-modern__foot{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px}
.bookform-modern__foot .contactmsg{margin:0}
@media(max-width:620px){.bookform-modern{grid-template-columns:1fr}}

/* ===================== Oldalsáv felülre igazítva ===================== */
/* Az oldalsáv mindig a tartalom tetejével egy vonalban (nem lebeg görgetéskor). */
.proselayout__side{align-self:start; position:static}
.sidenav{display:grid; gap:2px}
.sidenav a{display:flex; align-items:center; gap:10px; padding:11px 12px; margin:0 -12px; border-radius:8px;
  color:var(--body); font-size:.97rem; font-weight:500; transition:.18s}
.sidenav a:hover{background:var(--paper-2); color:var(--red); padding-left:16px}
.sidenav .ico{width:18px; height:18px; flex:0 0 auto; color:var(--muted)}
.sidenav a:hover .ico{color:var(--red)}

/* ===================== Előadás-kártyák: FEKVŐ képarány + karakteresebb hover ===================== */
.show__img{aspect-ratio:16/10; overflow:hidden}
.show__img .scene{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.show:hover .show__img .scene{transform:scale(1.06)}
.show__img::after{content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg,rgba(12,10,8,.18) 0,transparent 42%,rgba(12,10,8,.42) 100%)}
.show{position:relative; border-radius:6px}
.show::before{content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--red); z-index:4;
  transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.show:hover::before{transform:scaleX(1)}
.show:hover h3{color:var(--red)}
.show h3{transition:color .22s}
.show__cat{position:absolute; left:14px; bottom:14px; z-index:3; margin:0;
  background:rgba(255,255,255,.94); color:var(--ink); border-color:transparent; backdrop-filter:blur(4px)}
.mrow__poster .scene{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mrow:hover .mrow__poster .scene{transform:scale(1.05)}
.mrow__poster{aspect-ratio:16/10}
.relcard__img{height:auto; aspect-ratio:16/10}
.article__img{height:auto; aspect-ratio:16/10; overflow:hidden}
.article__img .scene{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.article:hover .article__img .scene{transform:scale(1.05)}
.feature__img{min-height:0; aspect-ratio:16/10}

/* Tények / számok: karakteresebb */
.fact{border-radius:6px; padding:22px 24px}
.fact b{font-size:2.6rem; letter-spacing:-.02em}
.fact span{letter-spacing:.12em; font-size:.72rem}

/* Idézet: nagy nyitó idézőjel */
.quote{position:relative; padding-top:46px}
.quote::before{content:"„"; position:absolute; top:-18px; left:50%; transform:translateX(-50%);
  font-family:var(--font); font-size:7rem; line-height:1; color:var(--red); opacity:.18}

/* Bérlet-kártya ikonnal */
.berlet{position:relative; border-radius:6px}
.berlet__ico{width:44px; height:44px; border-radius:50%; display:grid; place-items:center; margin-bottom:16px;
  background:rgba(200,31,34,.08); color:var(--red)}
.berlet__ico .ico{width:22px; height:22px}
.berlet::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--red);
  transform:scaleX(0); transform-origin:left; transition:transform .35s}
.berlet:hover::after{transform:scaleX(1)}

/* Terek kártyái: hover-nagyítás + ikon */
.space{border-radius:6px}
.space__img{overflow:hidden}
.space__img img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.space:hover .space__img img{transform:scale(1.06)}
.space__ico{position:absolute; left:14px; bottom:14px; z-index:3; width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center; background:rgba(255,255,255,.94); color:var(--red)}
.space__ico .ico{width:20px; height:20px}

/* Foglalási űrlap: számozott lépések + kiemelt dátumválasztó */
.fset{grid-column:1/-1; display:flex; align-items:center; gap:13px; margin:0}
.fset--sep{margin-top:14px; padding-top:26px; border-top:1px solid var(--line)}
.fset__n{width:30px; height:30px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center;
  background:var(--red); color:#fff; font-size:.9rem; font-weight:700; font-family:var(--font)}
.fset__t{margin:0; font-size:1.24rem; color:var(--ink); font-weight:600}
.datewrap{position:relative; display:block}
.datewrap .ico{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:19px; height:19px;
  color:var(--red); pointer-events:none; z-index:2}
.datewrap input[type=date]{padding-left:46px; cursor:pointer}
.datewrap input[type=date]::-webkit-calendar-picker-indicator{opacity:.55; cursor:pointer}
.bookform-modern{gap:18px 22px}

/* Hero slider vezérlők */
.herodots{position:absolute; left:0; right:0; bottom:26px; z-index:6; display:flex; justify-content:center; gap:9px}
.herodots button{width:34px; height:3px; border:0; padding:0; border-radius:2px; background:rgba(255,255,255,.34);
  cursor:pointer; transition:.25s}
.herodots button.on{background:#fff; width:50px}
.herodots button:hover{background:rgba(255,255,255,.7)}
.heroarrow{position:absolute; top:50%; transform:translateY(-50%); z-index:6; width:52px; height:52px; border-radius:50%;
  border:1px solid rgba(255,255,255,.32); background:rgba(12,10,8,.28); color:#fff; font-size:1.9rem; line-height:1;
  display:grid; place-items:center; cursor:pointer; transition:.22s; backdrop-filter:blur(4px); opacity:0}
.hero:hover .heroarrow{opacity:1}
.heroarrow:hover{background:var(--red); border-color:var(--red)}
.heroarrow--prev{left:26px} .heroarrow--next{right:26px}
@media(max-width:900px){.heroarrow{display:none} .herodots{bottom:18px}}
@media(prefers-reduced-motion:reduce){.heroarrow{opacity:1}}

/* ===================== Lebegő jegyvásárlás-sáv (előadás-adatlap) ===================== */
.tixbar{position:fixed; left:0; right:0; bottom:0; z-index:80; background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px); border-top:1px solid var(--line); box-shadow:0 -14px 34px -26px rgba(0,0,0,.55);
  transform:translateY(110%); transition:transform .45s cubic-bezier(.2,.7,.2,1); will-change:transform}
.tixbar.on{transform:none}
.tixbar::before{content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--red)}
.tixbar__in{display:flex; align-items:center; gap:28px; padding-top:13px; padding-bottom:13px}
.tixbar__id{display:flex; align-items:center; gap:14px; min-width:0; flex:0 1 auto}
.tixbar__ph{width:48px; height:48px; flex:0 0 auto; border-radius:5px; overflow:hidden; background:var(--paper-2)}
.tixbar__ph img{width:100%; height:100%; object-fit:cover; display:block}
.tixbar__t{display:flex; flex-direction:column; min-width:0; line-height:1.25}
.tixbar__n{font-size:1.12rem; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.tixbar__by{font-size:.84rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.tixbar__facts{display:flex; align-items:center; gap:8px 22px; flex:1 1 auto; flex-wrap:wrap; min-width:0}
.tixbar__f{display:inline-flex; align-items:center; gap:8px; font-size:.94rem; color:var(--body); white-space:nowrap}
.tixbar__f .ico{width:16px; height:16px; color:var(--muted); flex:0 0 auto}
.tixbar__f--date{font-weight:600; color:var(--ink)}
.tixbar__f--date .ico{color:var(--red)}
.tixbar__f--price{font-weight:600; color:var(--ink)}
.tixbar__cta{display:flex; align-items:center; gap:12px; flex:0 0 auto; margin-left:auto}
.tixbar__note{font-size:.88rem; color:var(--muted); font-style:italic}
@media(max-width:1080px){.tixbar__facts .tixbar__f:not(.tixbar__f--date):not(.tixbar__f--price){display:none}}
@media(max-width:760px){
  .tixbar__in{gap:14px; padding-top:10px; padding-bottom:10px}
  .tixbar__ph,.tixbar__by,.tixbar__facts{display:none}
  .tixbar__n{font-size:1rem; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical}
  .tixbar__cta .btn{padding:.75em 1.2em}
}
@media(prefers-reduced-motion:reduce){.tixbar{transition:none}}

/* Társulat: kisebb kártyák az 5 oszlopos rácshoz */
.member .n{font-size:1.08rem; line-height:1.3}
.member__ph{margin-bottom:11px; border-radius:5px}
.member__ph .role{padding:26px 11px 11px; font-size:.62rem; letter-spacing:.08em}
@media(max-width:1180px){.troupe{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.troupe{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.troupe{grid-template-columns:repeat(2,1fr); gap:16px}}

/* ===================== Közös, lassan vándorló márkaháttér =====================
   Ugyanaz a zöld→piros felület, ami a láblécen: felső sáv, bérletsáv, hírlevél. */
.topbar,.band,.nlbox{
  background:linear-gradient(115deg,#063D22 0%,#0E8048 26%,#1a3a2a 50%,#8E1B1E 76%,#5E1216 100%);
  background-size:280% 280%;
  animation:ujsz-footerflow 34s ease-in-out infinite;
  position:relative}
.band,.nlbox{overflow:hidden}
.band::after,.nlbox::after{content:""; position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(130% 95% at 50% 0%, rgba(0,0,0,.28), rgba(0,0,0,.04) 45%, rgba(0,0,0,.36) 100%)}
.band > *,.nlbox > *{position:relative; z-index:1}
.topbar__in{position:relative; z-index:1}
@media(prefers-reduced-motion:reduce){.topbar,.band,.nlbox{animation:none}}

/* A keskeny felső sávban vízszintesen fusson a színátmenet (több szín látszik egyszerre) */
.topbar{background-size:300% 100%; animation-duration:30s}

/* Fotó nélküli személy-kártya: halvány felület, kis logóval */
.scene--ph{background:#f4f2ef; display:grid; place-items:center}
.scene__logo{width:46%; max-width:104px; height:auto; opacity:.42; filter:grayscale(.15)}
.member__ph .scene__logo{width:52%; max-width:88px}
.cast__ph .scene__logo,.staffcard__ph .scene__logo,.minirow__ph .scene__logo{width:56%; max-width:60px; opacity:.4}

/* Fejléc-képek: a lényeg (arcok) jellemzően a kép felső harmadában van */
.phero .scene img,.vhero__media img{object-position:50% 34%}
.hero .slide .scene img{object-position:50% 32%}

/* Kapcsolat: adatsorok (általános adatok, tárhelyszolgáltató) */
.ctable{border-top:1px solid var(--line); max-width:860px}
.crow2{display:grid; grid-template-columns:minmax(12rem,18rem) 1fr; gap:.3rem 2rem;
  padding:14px 0; border-bottom:1px solid var(--line); align-items:baseline}
.crow2 .lab{color:var(--muted); font-size:.95rem}
.crow2 .val{color:var(--ink); font-weight:600; overflow-wrap:anywhere}
.crow2 .val a{color:var(--red)}
.crow2 .val a:hover{text-decoration:underline; text-underline-offset:3px}
@media(max-width:640px){.crow2{grid-template-columns:1fr; gap:.2rem}}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:18px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}

/* Kapcsolat: kereszthivatkozás, panaszkezelés-doboz, dokumentumlinkek */
.crosslink{display:flex; gap:11px; align-items:flex-start; margin:26px 0 0; padding:16px 18px;
  background:var(--paper-2); border-radius:6px; font-size:.98rem; color:var(--body); max-width:760px}
.crosslink .ico{width:20px; height:20px; flex:0 0 auto; margin-top:2px; color:var(--green)}
.crosslink a{color:var(--red); font-weight:600}
.crosslink a:hover{text-decoration:underline; text-underline-offset:3px}
.panelbox{max-width:76ch; font-size:1.02rem; line-height:1.7}
.panelbox a{color:var(--red)}
.panelbox a:hover{text-decoration:underline; text-underline-offset:3px}
.doclinks{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-width:860px}
.doclinks a{display:flex; align-items:center; gap:11px; padding:15px 18px; border:1px solid var(--line);
  border-radius:6px; background:var(--card); color:var(--ink); font-size:1rem; transition:.2s}
.doclinks a:hover{border-color:var(--red); color:var(--red); transform:translateY(-2px)}
.doclinks .ico{width:19px; height:19px; flex:0 0 auto; color:var(--muted)}
.doclinks a:hover .ico{color:var(--red)}
@media(max-width:700px){.doclinks{grid-template-columns:1fr}}

/* ===================== Kapcsolat: kétoszlopos elrendezés ===================== */
.kgrid{display:grid; grid-template-columns:1fr 1fr; gap:26px 56px; align-items:start}
.kcol{min-width:0}
.kcol__h{font-size:clamp(1.5rem,2.2vw,1.95rem); color:var(--ink); margin:0 0 16px;
  padding-bottom:11px; border-bottom:1px solid var(--line); position:relative}
.kcol__h::after{content:""; position:absolute; left:0; bottom:-1px; width:58px; height:2px; background:var(--red)}
.kcol__h + *{margin-top:0}
.kcol > .kcol__h:not(:first-child){margin-top:42px}
.kcol__p{color:var(--body); font-size:1rem; line-height:1.7; margin:0 0 14px}
.kcol__p strong{color:var(--ink)}
.kcol__p a{color:var(--red)}
.kcol__p a:hover{text-decoration:underline; text-underline-offset:3px}
.ctable--tight{max-width:none; border-top:0}
.ctable--tight .crow2{grid-template-columns:minmax(9rem,13rem) 1fr; gap:.3rem 1.4rem; padding:11px 0}
.ctable--tight .crow2:first-child{padding-top:0}
.ctable--tight .crow2 .lab{font-size:.9rem}
.ctable--tight .crow2 .val{font-size:.97rem}
.stafflist--col{grid-template-columns:1fr}
.doclinks--col{grid-template-columns:1fr; max-width:none}
.kcol .mapcard{min-height:0}
.kcol .mapcard__frame{min-height:280px}
@media(max-width:1080px){
  .kgrid{grid-template-columns:1fr; gap:44px}
  .kcol > .kcol__h:not(:first-child){margin-top:38px}
  .ctable--tight .crow2{grid-template-columns:minmax(11rem,16rem) 1fr}
}
@media(max-width:640px){.ctable--tight .crow2{grid-template-columns:1fr; gap:.2rem}}

/* Fotó nélküli személy: névkezdőbetűk visszafogott körben */
.avatar-ini{position:absolute; inset:0; display:grid; place-items:center;
  background:var(--paper-2); color:var(--green-deep)}
.avatar-ini span{font-family:var(--font); font-size:1.05rem; font-weight:600; letter-spacing:.02em; opacity:.72}
.minirow__ph .avatar-ini span{font-size:.9rem}

/* ── Korhatár-jelzés a listákban ─────────────────────────────────────────────
   Az ifjúsági és mesejátékoknál már a kártyán látszik, hány éves kortól
   ajánlott — a néző így nem az adatlapon szembesül vele. */
.show__age{position:absolute; right:14px; bottom:14px; z-index:3;
  display:inline-flex; align-items:center; gap:6px;
  background:var(--green); color:#fff; font-weight:700; font-size:.8rem;
  letter-spacing:.01em; padding:6px 11px; border-radius:999px;
  box-shadow:0 2px 10px rgba(0,0,0,.18)}
.show__age svg{width:14px; height:14px}
.mf--age{color:var(--green); background:rgba(14,128,72,.08);
  border:1px solid rgba(14,128,72,.22); padding:6px 12px; border-radius:8px; font-weight:700}
.mf--age .ico{color:var(--green)}
@media(max-width:520px){.show__age{font-size:.74rem; padding:5px 9px}}

/* ── OpenStreetMap-térkép (Megközelítés) ───────────────────────────────────
   Egyetlen térkép két jelölővel: piros = színház, zöld = iroda.
   Google helyett OSM, mert egy beágyazásra csak egy jelölő tehető,
   és az OSM nem állít sütit. */
.osmmap{border:1px solid var(--line); border-radius:var(--rad); overflow:hidden;
  background:#fff; box-shadow:var(--shadow-sm)}
.osmmap__canvas{width:100%; background:var(--paper-2)}
.osmmap__canvas .leaflet-container{font-family:inherit}
.osmmap__legend{list-style:none; margin:0; padding:0; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr))}
.osmmap__legend li{display:flex; align-items:flex-start; gap:10px; padding:14px 18px;
  font-size:.93rem; color:var(--body); min-width:0}
.osmmap__legend li + li{border-left:1px solid var(--line)}
.osmmap__legend li strong{color:var(--ink); font-weight:700}
.osmmap__legend li > span:nth-child(2){min-width:0; line-height:1.45}
.osmmap__dot{width:11px; height:11px; border-radius:50%; flex:0 0 auto; margin-top:5px}
.osmmap__legend a{margin-left:auto; display:inline-flex; align-items:center; gap:5px;
  color:var(--green); font-weight:600; text-decoration:none; flex:0 0 auto; white-space:nowrap}
.osmmap__legend a svg{width:15px; height:15px}
.osmmap__legend a:hover{color:var(--red)}

/* Saját jelölő a Leaflet alap-ikonja helyett — a színház arculatában. */
.osmpin{background:none; border:0}
.osmpin__b{display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50% 50% 50% 4px; transform:rotate(-45deg);
  box-shadow:0 3px 10px rgba(0,0,0,.3); border:2px solid #fff}
.osmpin__b svg{width:17px; height:17px; transform:rotate(45deg)}
.leaflet-popup-content{font-size:.93rem; line-height:1.5; margin:12px 16px}
.leaflet-popup-content a{color:var(--green); font-weight:600}

.mapduo__note{margin-top:18px; color:var(--muted); font-size:.95rem; line-height:1.6}
@media(max-width:760px){
  .osmmap__legend{grid-template-columns:1fr}
  .osmmap__legend li + li{border-left:0; border-top:1px solid var(--line)}
  .osmmap__legend li > span:nth-child(2){white-space:normal}
}

/* ── Egységes útvonaltervezés-gomb ────────────────────────────────────────────
   Mindenhol ugyanaz a kontúros megjelenés (jegypénztár, iroda, térkép-
   jelmagyarázat). A tömör piros gomb marad a jegyvásárlásé. */
.btn--wide{width:100%; justify-content:center}
.btn--route{background:#fff; color:var(--ink); border-color:var(--line)}
.btn--route:hover{background:var(--paper-2); border-color:var(--green); color:var(--green-deep)}
.btn--route .ico{color:var(--green)}
.sidecard .btn--route{margin-top:14px}
.sidecard .btn--red + .btn--route{margin-top:10px}
.osmmap__legend .btn--route{margin-left:auto; flex:0 0 auto}

/* ── Közérdekű adatok: fejadatok, kereső, dokumentumlista ────────────────────
   A közzétételi lista fölött a szervezeti alapadatok, alattuk a gyorskereső —
   a bürokratikus tartalom így is átlátható marad. */
.kozfej{background:var(--paper-2); border:1px solid var(--line); border-radius:var(--rad);
  padding:28px 30px; margin-bottom:38px}
.kozfej .kozblock__h{margin-top:0}
.kozfej__p{margin-top:16px; color:var(--body); font-size:.96rem; line-height:1.65}
.kozfej__links{display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:20px;
  padding-top:18px; border-top:1px solid var(--line)}
.kozfej__links a{display:inline-flex; align-items:center; gap:8px; color:var(--green);
  font-weight:600; font-size:.93rem; text-decoration:none}
.kozfej__links a:hover{color:var(--red)}
.kozfej__links svg{width:17px; height:17px}
@media(max-width:640px){.kozfej{padding:22px 20px}}

.kozsearch{display:flex; align-items:center; gap:12px; background:#fff;
  border:1px solid var(--line); border-radius:var(--rad); padding:4px 18px; margin-bottom:20px;
  box-shadow:var(--shadow-sm)}
.kozsearch svg{width:20px; height:20px; color:var(--green); flex:0 0 auto}
.kozsearch input{flex:1; border:0; outline:0; background:none; font-family:var(--font);
  font-size:1rem; color:var(--ink); padding:14px 0}
.kozsearch input::placeholder{color:var(--muted)}
.kozsearch__empty{color:var(--muted); padding:18px 2px}

.dokcount{color:var(--muted); font-size:.9rem; margin:18px 0 12px}
.doklist{display:grid; gap:8px}
.dokrow{display:flex; align-items:center; gap:14px; padding:14px 18px; text-decoration:none;
  background:#fff; border:1px solid var(--line); border-radius:var(--rad);
  transition:border-color .2s, transform .2s, box-shadow .2s}
.dokrow:hover{border-color:var(--green); transform:translateX(3px); box-shadow:var(--shadow-sm)}
.dokrow__ico{flex:0 0 auto; display:flex; color:var(--green)}
.dokrow__ico svg{width:20px; height:20px}
.dokrow__b{min-width:0; display:flex; flex-direction:column; gap:3px}
.dokrow__n{color:var(--ink); font-weight:600; font-size:.98rem; line-height:1.35}
.dokrow__m{color:var(--muted); font-size:.83rem; line-height:1.4}
.dokrow__go{margin-left:auto; flex:0 0 auto; color:var(--muted); display:flex}
.dokrow__go svg{width:17px; height:17px}
.dokrow:hover .dokrow__go{color:var(--green)}
.dokhint{margin-top:26px; color:var(--muted); font-size:.92rem; line-height:1.65}
#dokFilters .chip{font-family:var(--font); cursor:pointer}

.footer__h--sub{margin-top:26px}

/* ═══════════════════════════════════════════════════════════════════════════
   AKADÁLYMENTESSÉG (WCAG 2.1 AA)
   A DMÜ 2025.10.02-i ellenőrzésén feltárt hiányosságok javítása.
   ═════════════════════════════════════════════════════════════════════════ */

/* Csak képernyőolvasónak szánt szöveg (címkék, oldalcím). */
.visually-hidden{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0}

/* Ugrólink: a tabulátor első eleme, fókuszban láthatóvá válik. */
.skiplink{position:absolute; left:16px; top:-100px; z-index:9999;
  background:var(--ink); color:#fff; padding:14px 22px; border-radius:0 0 6px 6px;
  font-weight:700; font-size:1rem; text-decoration:none;
  transition:top .18s ease}
.skiplink:focus{top:0; outline:3px solid #fff; outline-offset:-6px}

/* ── Fókuszjelzés ──────────────────────────────────────────────────────────
   Egyetlen szabály minden háttérre: sötét vonal + fehér külső gyűrű.
   A sötét vonal a világos felületeken, a fehér gyűrű a fotókon és a színes
   sávokon ad legalább 3:1 kontrasztot (WCAG 2.4.7 / 1.4.11).
   Elemszelektorral (nem :where-rel), hogy a gombok saját árnyékát is felülírja. */
:focus:not(:focus-visible){outline:none}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--ink);
  outline-offset:2px;
  box-shadow:0 0 0 6px #fff;
  border-radius:3px}

/* Képes kártyák: a keret a kártya köré kerüljön, ne vágja le a kép. */
.show:focus-within{outline:3px solid var(--ink); outline-offset:3px; border-radius:4px}
.show__img{overflow:hidden}

/* Űrlapmezők látható fókusza a saját színükön felül is megmaradjon. */
.contactform input:focus-visible, .contactform textarea:focus-visible,
.nlform input:focus-visible, .bookform-modern :focus-visible,
.kozsearch input:focus-visible, .repsearch input:focus-visible{
  outline:3px solid var(--ink); outline-offset:2px}

/* Címkézett kapcsolat-űrlap */
.ffield{display:flex; flex-direction:column; gap:7px; margin-bottom:16px; flex:1 1 220px}
.ffield label{font-size:.9rem; font-weight:600; color:var(--ink)}
.contactform .frow{display:flex; gap:16px; flex-wrap:wrap}
.nlform label.visually-hidden + input{margin:0}

/* Slider szüneteltető gomb */
.heropause{position:absolute; right:22px; bottom:26px; z-index:6;
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.55);
  background:rgba(0,0,0,.42); color:#fff; font-size:15px; line-height:1;
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(3px)}
.heropause:hover{background:rgba(0,0,0,.65)}
@media(max-width:640px){.heropause{right:14px; bottom:18px; width:38px; height:38px}}

/* Mozgásérzékenység: aki kéri, ne kapjon animációt. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important}
}

/* ── Lábléc: az oldaltérkép és a jogi sor tisztább elválasztása ───────────── */
.footer__legal{display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center}
.footer__legal a{position:relative}
.footer__legal a:hover{color:#fff; text-decoration:underline}
@media(max-width:760px){.footer__legal{gap:8px 16px}}

/* Akadálymentesítési nyilatkozat oldal */
.amlead{font-size:1.12rem; line-height:1.7; color:var(--ink); margin-bottom:22px}
.prose__h2{font-size:1.5rem; margin:36px 0 12px; color:var(--ink)}
.amjelzes{background:var(--paper-2); border-left:3px solid var(--green); padding:16px 20px; margin:14px 0;
  border-radius:0 6px 6px 0}
.amjelzes p{margin:0; font-size:.97rem; line-height:1.6}
.amlist{margin:14px 0 0; padding-left:1.2em; line-height:1.75}
.amlist li{margin-bottom:8px}
.amsidelist{margin:0; padding-left:1.1em; font-size:.9rem; line-height:1.55; color:var(--body)}
.amsidelist li{margin-bottom:9px}

/* ═══════════════════════════════════════════════════════════════════════════
   AKADÁLYMENTESSÉGI PANEL (kényelmi beállítások az alapból megfelelő oldalon)
   ═════════════════════════════════════════════════════════════════════════ */
/* A --ujsz-alsosav értékét a site.js állítja: a látható alsó sáv (jegyvásárlás,
   süti) magassága. Így a gomb mobilon sem takarja a Jegyvásárlás gombot. */
.a11y-nyito{position:fixed; right:20px; bottom:calc(20px + var(--ujsz-alsosav,0px)); z-index:900;
  width:52px; height:52px; border-radius:50%; border:2px solid #fff;
  background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.45); transition:background .2s, transform .2s, bottom .3s ease}
.a11y-nyito svg{width:26px; height:26px}
.a11y-nyito:hover{background:var(--green-deep); transform:translateY(-2px)}
@media(max-width:640px){.a11y-nyito{right:14px; bottom:calc(14px + var(--ujsz-alsosav,0px)); width:46px; height:46px}
  .a11y-nyito svg{width:23px; height:23px}}

.a11y-panel{position:fixed; right:20px; bottom:calc(84px + var(--ujsz-alsosav,0px)); z-index:901; width:330px; max-width:calc(100vw - 32px);
  background:#fff; border:1px solid var(--line); border-radius:var(--rad); padding:20px 22px 18px;
  box-shadow:0 28px 60px -24px rgba(0,0,0,.45)}
.a11y-panel[hidden]{display:none}
.a11y-panel__fej{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px}
.a11y-panel__fej h2{font-size:1.2rem; margin:0}
.a11y-zar{width:30px; height:30px; border:0; background:none; color:var(--muted); font-size:22px; line-height:1;
  border-radius:5px; display:flex; align-items:center; justify-content:center}
.a11y-zar:hover{background:var(--paper-2); color:var(--ink)}
.a11y-panel__bev{font-size:.83rem; line-height:1.5; color:var(--muted); margin:0 0 14px}
.a11y-sor{display:flex; align-items:flex-start; gap:11px; padding:10px 0; cursor:pointer;
  border-top:1px solid var(--line)}
.a11y-sor input{margin:3px 0 0; width:18px; height:18px; accent-color:var(--green); flex:0 0 auto}
.a11y-sor__b{display:flex; flex-direction:column; gap:2px; min-width:0}
.a11y-sor__c{font-size:.95rem; font-weight:600; color:var(--ink); line-height:1.3}
.a11y-sor__l{font-size:.8rem; color:var(--muted); line-height:1.45}
.a11y-vissza{margin-top:14px; width:100%; justify-content:center}
.a11y-panel__lab{margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); font-size:.82rem}
.a11y-panel__lab a{color:var(--green); font-weight:600; text-decoration:underline}
@media(max-width:640px){.a11y-panel{right:14px; bottom:70px}}

/* ── A panel beállításai ─────────────────────────────────────────────────── */
/* A gyökér méretét emeljük: a rem-alapú méretek mind vele nőnek.
   A body-t is rem-re váltjuk, különben a 18px fix érték megfogná. */
.a11y-nagybetu{font-size:115%}
.a11y-nagybetu body{font-size:1.125rem}

.a11y-alahuzas .proselayout__main a:not(.btn):not(.link-more),
.a11y-alahuzas .post a:not(.btn),
.a11y-alahuzas .kozrow a:not(.btn),
.a11y-alahuzas .footer a:not(.btn){text-decoration:underline; text-underline-offset:3px}

.a11y-kontraszt{--muted:#2F2D2A; --body:#1C1B19; --line:rgba(28,27,25,.45)}
.a11y-kontraszt .btn--ghost{border-color:var(--ink); color:var(--ink); border-width:2px}
.a11y-kontraszt .tag,.a11y-kontraszt .chip{border-color:var(--ink)}
.a11y-kontraszt .footer__about,.a11y-kontraszt .footer__owner,
.a11y-kontraszt .footer__bottom,.a11y-kontraszt .footer__nav a{color:#fff}
.a11y-kontraszt .hero__scrim,.a11y-kontraszt .phero__scrim,.a11y-kontraszt .vhero__scrim{
  background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.72) 100%)}
.a11y-kontraszt .sidecard,.a11y-kontraszt .osmmap,.a11y-kontraszt .dokrow,
.a11y-kontraszt .show,.a11y-kontraszt .mrow{border-color:rgba(28,27,25,.45)}

.a11y-nyugalom *,.a11y-nyugalom *::before,.a11y-nyugalom *::after{
  animation:none !important; transition:none !important; scroll-behavior:auto !important}
.a11y-nyugalom .reveal{opacity:1 !important; transform:none !important}

/* ── Időpont-megjegyzés (nyilvános főpróba, zártkörű előadás…) ────────────── */
.datemegj{display:inline-block; margin-left:10px; vertical-align:2px;
  background:var(--green); color:#fff; font-weight:700; font-size:.72rem;
  letter-spacing:.04em; text-transform:uppercase; padding:4px 9px; border-radius:999px}
.ev__m{display:block; font-size:.68rem; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase; color:var(--green); margin-top:1px}
.ev--bemutato .ev__m{color:var(--red)}
@media(max-width:640px){.datemegj{margin-left:0; margin-top:6px; display:block; width:fit-content}}

/* ── Játékrend (Műsor oldal): előadásonként egy sor ──────────────────────── */
.jr__honap{font-size:clamp(1.5rem,2.6vw,2.1rem); margin:44px 0 16px; padding-bottom:10px;
  border-bottom:2px solid var(--line); text-transform:capitalize}
.jr__honap:first-child{margin-top:0}
.jr{display:grid; gap:12px}
.jrrow{display:grid; grid-template-columns:78px 150px 1fr auto; gap:20px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--rad); padding:14px 18px;
  transition:border-color .2s, box-shadow .2s, transform .2s}
.jrrow:hover{border-color:var(--green); box-shadow:var(--shadow-sm); transform:translateY(-2px)}
.jrrow__nap{display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:6px 0; border-right:1px solid var(--line)}
.jrrow__nap .d{font-size:1.9rem; line-height:1; font-weight:600; color:var(--ink)}
.jrrow__nap .w{font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; margin-top:3px}
.jrrow__nap .t{font-size:.92rem; font-weight:700; color:var(--green); margin-top:6px}
.jrrow__kep{position:relative; aspect-ratio:16/10; border-radius:8px; overflow:hidden; display:block}
.jrrow__info h3{font-size:1.24rem; margin:6px 0 4px; line-height:1.25}
.jrrow__info .role{color:var(--muted); font-size:.88rem}
.jrrow__info .mrow__facts{margin-top:9px; gap:8px 14px}
.jrrow__cta{display:flex; flex-direction:column; gap:8px; align-items:stretch; min-width:150px}
.mf--megj{color:var(--green); background:rgba(14,128,72,.08); border:1px solid rgba(14,128,72,.22);
  padding:5px 11px; border-radius:8px; font-weight:700; text-transform:uppercase;
  font-size:.76rem; letter-spacing:.03em}
@media(max-width:980px){
  .jrrow{grid-template-columns:66px 1fr; gap:14px}
  .jrrow__kep{display:none}
  .jrrow__cta{grid-column:1/-1; flex-direction:row; flex-wrap:wrap; min-width:0}
}

/* ── Lábléc záró sora: panaszkezelés | fenntartó ─────────────────────────── */
/* Nincs saját felső szegély: a fölötte lévő .footer__grid alsó vonala már
   elválasztja — két vonal egymás alatt zavaró lenne. */
.footer__zaro{display:grid; grid-template-columns:1.35fr 1fr; gap:34px 48px;
  margin-top:38px; align-items:start}
.footer__panasz h4{font-family:var(--font); font-weight:600; font-size:1rem; color:#fff;
  margin:0 0 8px; letter-spacing:.01em}
.footer__panasz p{margin:0; color:#fff; font-size:.86rem; line-height:1.7}
.footer__panasz a{color:#fff; text-decoration:underline; text-underline-offset:3px}
.footer__panasz a:hover{text-decoration:none}
.footer__panaszlink{display:inline-flex; align-items:center; gap:7px; margin-top:12px;
  font-size:.86rem; font-weight:700; text-decoration:none !important}
.footer__panaszlink:hover{text-decoration:underline !important}
.footer__panaszlink svg{width:15px; height:15px}
@media(max-width:900px){
  .footer__zaro{grid-template-columns:1fr; gap:24px}
}

/* ── 404 oldal ───────────────────────────────────────────────────────────── */
.phero--sm{min-height:340px}
.hiba404{max-width:760px}
.hiba404__lead{font-size:1.1rem; color:var(--ink); margin:0 0 18px}
.hiba404__gombok{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:44px}
.hiba404__h{font-size:1.5rem; margin:0 0 16px}
.minilist--wide{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.hiba404__note{margin-top:34px; padding-top:20px; border-top:1px solid var(--line);
  color:var(--muted); font-size:.95rem}
.hiba404__note a{color:var(--green); font-weight:600; text-decoration:underline}
@media(max-width:680px){.minilist--wide{grid-template-columns:1fr}}

/* =========================================================================
   HERO-MAGASSÁGOK MOBILON
   -------------------------------------------------------------------------
   Szándékosan a stíluslap végén: fentebb több helyen is szerepel sima
   `.phero{…}` és `.hero__cap{…}` szabály, azonos specifikussággal. Ha ezek a
   töréspontok korábban állnának, a későbbi szabályok írnák felül őket.
   Cél: telefonon a fejléckép ne foglalja el a képernyő 90%-át — a kép alatti
   tartalom legyen látható görgetés nélkül.
   ========================================================================= */
@media(max-width:880px){
  .hero{height:min(62vh,560px); min-height:430px}
  .vhero{height:min(60vh,520px); min-height:380px}
  .phero{min-height:340px; padding:128px 0 44px}
}
@media(max-width:560px){
  .hero{height:min(56vh,460px); min-height:360px}
  .hero__cap{padding:92px 20px 46px; gap:12px}
  .vhero{height:min(54vh,430px); min-height:330px}
  .phero{min-height:300px; padding:116px 0 38px}
  .phero h1{font-size:clamp(1.9rem,7.4vw,2.6rem)}
}
