/* 03 — Vibrant Modern: felnőtt színház és főoldal.
   Kortárs, elegáns színházi arculat visszafogott art deco részletekkel. */

.atelier03 { --bg:var(--cream-100); }

/* art deco segédelemek */
.deco-rule { display:flex; align-items:center; gap:.8rem; color:var(--gold-500); width:min(100%, 15rem); }
.deco-rule::before,.deco-rule::after { content:""; flex:1; height:5px; border-block:1px solid currentColor; }
.deco-rule span { width:.55rem; height:.55rem; background:currentColor; transform:rotate(45deg); }

/* fejléc — a 2026-10-18-ban jóváhagyott elrendezés: felül dupla aranyvonal, bal oldalon nagy embléma
   + wordmark, jobbra a „Színház mindenhol.” szignó és a jegygomb, alatta teljes szélességű menüsor. */
.atelier03 .header { background:var(--cream-50); color:var(--navy-900); }
.atelier03 .header-inner { position:relative; padding-top:18px; }
.atelier03 .header-inner::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; border-block:1px solid var(--gold-500); }
.atelier03 .brand-word strong { color:var(--navy-900); }
.atelier03 .brand-word span { color:var(--coral-700); }
.atelier03 .header-signature { grid-area:sig; justify-self:end; display:none; justify-items:end; gap:.4rem; text-align:right; padding:.35rem 1.3rem .3rem 1.2rem; border-left:1px solid var(--gold-400); }
.atelier03 .header-signature span { font:700 .66rem/1.1 var(--f-sans); letter-spacing:.22em; text-transform:uppercase; color:var(--gold-700); }
.atelier03 .header-signature strong { font:500 clamp(1.3rem, .9rem + .8vw, 1.85rem)/1 var(--f-display); letter-spacing:-.02em; color:var(--navy-900); white-space:nowrap; }
.atelier03 .header-signature em { color:var(--coral-600); font-weight:500; }
.atelier03 .header-signature small { font:700 .66rem/1.2 var(--f-sans); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.atelier03 .nav-ticket { background:var(--coral-600); border-color:var(--coral-600); color:#FFF8EE; }
.atelier03 .nav-ticket:hover { background:var(--navy-900); border-color:var(--navy-900); }
.atelier03 .search-toggle { border-color:transparent; }
.atelier03 .search-toggle:hover { border-color:var(--gold-400); }
@media (min-width:1181px) {
  .atelier03 .header-inner { grid-template-areas:"brand sig tools" "nav nav nav"; padding-top:22px; }
  .atelier03 .header-signature { display:grid; }
  .atelier03 #main-nav { justify-content:space-between; margin-top:16px; min-height:58px; border-top:1px solid var(--gold-line); }
  .atelier03 #main-nav a { font-size:clamp(.74rem, .55rem + .3vw, .9rem); }
  .atelier03 #main-nav a:hover,.atelier03 #main-nav a[aria-current="page"] { color:var(--coral-700); border-color:var(--coral-600); }
}
@media (min-width:1000px) and (max-width:1180px) {
  .atelier03 .header-inner { grid-template-areas:"brand sig tools"; padding-bottom:12px; }
  .atelier03 .header-signature { display:grid; }
}
@media (max-width:1180px) { .atelier03 #main-nav { background:var(--cream-50); border-top:1px solid var(--gold-line); } .atelier03 .header-inner { padding-bottom:10px; } }
@media (max-width:760px) { .atelier03 .header-inner { padding-top:14px; padding-bottom:8px; } .atelier03 .search-toggle { border-color:currentColor; } }

/* főoldali nyitány — világos színpad, meleg fényekkel; arcok és jegyútvonal az első képernyőn */
.home-hero { position:relative; overflow:hidden; color:var(--navy-900); padding-block:clamp(2rem, 1rem + 3vw, 4.25rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
  background:radial-gradient(55% 75% at 80% 35%, rgba(244,205,191,.7), transparent 70%), radial-gradient(35% 45% at 4% 0%, rgba(221,189,126,.35), transparent 72%), linear-gradient(180deg, var(--cream-50), var(--cream-100)); }
.home-hero::before { content:""; position:absolute; inset:0; background-image:repeating-conic-gradient(from -90deg at 72% 112%, rgba(181,133,58,.075) 0 1.1deg, transparent 1.1deg 5.5deg); pointer-events:none; }
.home-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg, var(--coral-500) 0 34%, var(--gold-300) 34% 68%, var(--coral-200) 68%); }
.home-hero__grid { position:relative; display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:center; gap:clamp(2rem, 1rem + 3vw, 4.5rem); }
.home-hero__copy { display:grid; gap:var(--s-5); justify-items:start; }
.home-hero .eyebrow { color:var(--coral-700); }
.home-hero h1 { font-size:clamp(2.6rem, 1rem + 5vw, 5.6rem); font-weight:600; line-height:.95; letter-spacing:-.02em; display:grid; color:var(--navy-900); }
.home-hero h1 .hero-accent { color:var(--coral-600); font-style:italic; font-weight:500; }
.home-hero__lead { font-size:var(--t-lead); line-height:1.55; color:var(--ink-soft); max-width:31rem; }

.home-hero__stage { position:relative; aspect-ratio:1/0.96; min-width:0; }
.hero-shot { position:absolute; margin:0; }
.hero-shot a { position:relative; display:block; height:100%; color:var(--navy-900); text-decoration:none; }
.hero-shot img { width:100%; height:100%; object-fit:cover; background:var(--cream-200); }
.hero-shot figcaption { position:absolute; left:12px; bottom:12px; display:inline-flex; gap:.45rem; padding:.45rem .75rem; background:rgba(255,252,246,.94); font:700 .68rem/1.2 var(--f-sans); letter-spacing:.1em; text-transform:uppercase; transition:background-color .2s, color .2s; }
.hero-shot a:hover figcaption,.hero-shot a:focus-visible figcaption { background:var(--coral-600); color:#FFF8EE; }
.hero-shot--main { top:0; right:0; width:84%; height:70%; padding:10px; background:var(--cream-50); border:1px solid var(--gold-400); box-shadow:var(--shadow); }
.hero-shot--main img { border-radius:48% 48% 0 0 / 30% 30% 0 0; object-position:50% 30%; }
.hero-shot--main::before { content:""; position:absolute; inset:4px; border:1px solid var(--gold-line); border-radius:49% 49% 0 0 / 31% 31% 0 0; pointer-events:none; }
.hero-shot--b { left:0; bottom:2%; width:50%; height:40%; border:8px solid var(--cream-50); box-shadow:var(--shadow); outline:1px solid var(--gold-400); }
.hero-shot--b img { object-position:50% 30%; }
.hero-shot--c { right:3%; bottom:0; width:44%; height:30%; border:8px solid var(--cream-50); box-shadow:var(--shadow); outline:1px solid var(--gold-400); }
.hero-shot--c img { object-position:50% 25%; }
.hero-seal { position:absolute; left:6%; top:8%; width:clamp(5.5rem, 4rem + 4vw, 8.5rem); aspect-ratio:1; border-radius:50%; display:grid; place-content:center; text-align:center; background:var(--gold-300); color:var(--navy-900); font:italic 500 clamp(.85rem, .7rem + .4vw, 1.15rem)/1.05 var(--f-display); box-shadow:0 0 0 6px var(--cream-50), 0 0 0 7px var(--gold-500); transform:rotate(-8deg); }
.hero-seal b { display:block; font:700 .58rem/1.4 var(--f-sans); font-style:normal; letter-spacing:.24em; text-transform:uppercase; color:var(--coral-700); }
@media (max-width:900px) {
  .home-hero__grid { grid-template-columns:1fr; }
  .home-hero__stage { aspect-ratio:1/0.92; max-width:640px; width:100%; justify-self:center; }
  
}
@media (max-width:560px) {
  .home-hero h1 { font-size:clamp(2.35rem, .9rem + 7.6vw, 3.4rem); }
  .hero-shot--main { width:90%; height:66%; padding:6px; }
  .hero-shot--b { width:54%; height:38%; border-width:5px; }
  .hero-shot--c { width:46%; height:30%; border-width:5px; right:0; }
  .hero-shot figcaption { left:6px; bottom:6px; padding:.35rem .5rem; font-size:.6rem; letter-spacing:.06em; }
  .hero-seal { top:4%; left:0; width:4.6rem; font-size:.78rem; }
  .hero-seal b { font-size:.5rem; }
}

/* repertoár-karusszel */
.repertoire { padding-block:var(--section); background:var(--cream-50); }
.repertoire .section-head h2 em { font-style:italic; color:var(--coral-700); font-weight:500; }
.carousel-controls { display:flex; gap:var(--s-2); }
.carousel-controls button { width:48px; height:48px; border:1px solid var(--navy-900); background:transparent; color:var(--navy-900); font-size:1.15rem; cursor:pointer; border-radius:50%; }
.carousel-controls button:hover { background:var(--coral-600); border-color:var(--coral-600); color:#FFF8EE; }
.atelier-carousel { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 3*var(--s-5))/4); align-items:start; gap:var(--s-5); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:0; padding:var(--s-2) 0 var(--s-4); scrollbar-width:thin; scrollbar-color:var(--gold-400) transparent; }
.atelier-carousel > .show-card { scroll-snap-align:start; }
.atelier-carousel:focus-visible { outline-offset:6px; }
@media (max-width:1100px) { .atelier-carousel { grid-auto-columns:calc((100% - 2*var(--s-5))/2.6); } }
@media (max-width:640px) { .atelier-carousel { grid-auto-columns:78%; gap:var(--s-4); } }

/* felnőtt kártya-változatok — világos plakátkeret, váltakozó korall/homok/krém címmezővel */
.adult-show-card .show-card__frame { background:var(--cream-50); color:var(--navy-900); box-shadow:0 22px 40px -28px rgba(15,29,56,.45); transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
.adult-show-card.has-poster .show-card__frame { padding:0; outline:1px solid var(--gold-line); }
.adult-show-card .show-card__frame::after { content:""; position:absolute; inset:7px; border:1px solid rgba(181,133,58,.55); pointer-events:none; z-index:3; }
.adult-show-card.has-poster .show-card__frame::after { display:none; }
.adult-show-card .show-card__meta .eyebrow { color:var(--coral-700); }
.adult-show-card > a:hover .show-card__frame { transform:translateY(-4px); box-shadow:0 30px 50px -28px rgba(15,29,56,.5); }
.adult-show-card .show-card__cta { color:var(--navy-900); }
.show-card__chips { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .6rem; }

.photo-poster { position:absolute; inset:0; display:grid; grid-template-rows:auto 1fr; }
.photo-poster__img { position:relative; aspect-ratio:3/2; overflow:hidden; }
.photo-poster__img img { position:absolute; inset:0; }
.poster-overlay { display:flex; flex-direction:column; justify-content:center; gap:.55rem; padding:var(--s-5) 1.4rem 1.6rem; background:var(--cream-50); position:relative; }
.poster-overlay::before { content:""; position:absolute; top:0; left:1.4rem; right:1.4rem; height:5px; border-block:1px solid var(--gold-500); }
.poster-theatre { font:700 .62rem/1.3 var(--f-sans); letter-spacing:.24em; color:var(--coral-700); text-transform:uppercase; }
.poster-overlay strong { font:600 clamp(1.35rem, 1rem + 1vw, 1.7rem)/1.12 var(--f-display); color:var(--navy-900); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.poster-type { font:500 .82rem/1.3 var(--f-display); font-style:italic; color:var(--gold-700); }
.adult-show-card:nth-child(3n+2) .poster-overlay { background:var(--coral-200); }
.adult-show-card:nth-child(3n+3) .poster-overlay { background:var(--cream-200); }
.adult-show-card:nth-child(3n+2) .poster-overlay::before { border-color:var(--coral-600); }
.adult-show-card:nth-child(3n+2) .poster-theatre,.adult-show-card:nth-child(3n+2) .poster-type { color:var(--navy-900); }

.editorial-poster { position:absolute; inset:0; display:grid; grid-template-rows:auto 1fr auto auto; justify-items:center; text-align:center; gap:.6rem; padding:2.2rem 1.5rem 2rem; background:radial-gradient(120% 70% at 50% 100%, var(--coral-200), var(--cream-50) 70%); color:var(--navy-900); }
.editorial-poster::before { content:""; position:absolute; inset:0; background-image:repeating-conic-gradient(from -90deg at 50% 100%, rgba(181,133,58,.12) 0 2deg, transparent 2deg 6deg); }
.editorial-poster > * { position:relative; }
.poster-emblem { font:700 .6rem/1.3 var(--f-sans); letter-spacing:.26em; color:var(--coral-700); text-transform:uppercase; }
.editorial-poster__art { align-self:center; width:58%; color:var(--gold-500); }
.editorial-poster-name { font:600 clamp(1.4rem, 1rem + 1.2vw, 1.9rem)/1.1 var(--f-display); color:var(--navy-900); text-wrap:balance; }
.poster-art-sub { font:italic 500 .9rem/1.3 var(--f-display); color:var(--gold-700); }

/* kétpaneles sáv: turné + gyermek */

/* térkép a főoldalon és a keresőoldalon */
.homepage-map-section { padding-block:var(--section); background:var(--cream-100); border-block:1px solid var(--gold-line); }
.nearby-intro { display:grid; gap:var(--s-3); margin-bottom:var(--s-6); max-width:52rem; }
.nearby-intro h1,.nearby-intro h2 { font-size:var(--t-h1); }
.nearby-intro h1 em,.nearby-intro h2 em { font-style:italic; font-weight:500; color:var(--coral-700); }
.nearby-intro > p:last-child { font-size:var(--t-lead); color:var(--text-soft); }
.nearby-layout { display:grid; grid-template-columns:minmax(280px, 34%) minmax(0,1fr); gap:var(--s-5); align-items:start; }
.postcode-form { display:grid; gap:var(--s-3); }
.postcode-form h2 { font-size:clamp(1.7rem, 1.2rem + 1.4vw, 2.4rem); margin-bottom:var(--s-2); }
.postcode-inline { display:flex; gap:var(--s-2); }
.postcode-inline input { flex:1; min-width:0; font-size:1.15rem; letter-spacing:.08em; }
.postcode-inline .button { flex-shrink:0; }
.postcode-options { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-3); }
.postcode-form #postcode-feedback { font-size:.88rem; padding:.75rem .9rem; min-height:3rem; }
.text-reset { justify-self:start; border:0; padding:.4rem 0; background:none; color:var(--navy-800); font-weight:700; font-size:.82rem; text-decoration:underline; cursor:pointer; }
.map-disclaimer { font-size:.78rem; line-height:1.55; }
.nearby-events-block { margin-top:var(--s-7); }
.nearby-results { list-style:none; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s-3); }
.nearby-result { display:grid; grid-template-columns:7rem minmax(0,1fr) auto; align-items:center; gap:var(--s-3); padding:var(--s-4); background:var(--cream-50); border:1px solid var(--gold-line); }
.nearby-date { font:700 .78rem/1.4 var(--f-sans); color:var(--coral-700); }
.nearby-result strong { display:block; font:600 1.08rem/1.25 var(--f-display); overflow-wrap:anywhere; }
.nearby-result span,.nearby-result small { display:block; font-size:.78rem; line-height:1.45; color:var(--text-soft); }
.nearby-ticket { white-space:nowrap; font:700 .72rem/1.2 var(--f-sans); letter-spacing:.1em; text-transform:uppercase; text-decoration:none; padding:.6rem .8rem; background:var(--coral-600); color:#FFF8EE; }
.nearby-ticket:hover { background:var(--navy-900); }
.nearby-empty { grid-column:1/-1; padding:var(--s-5); background:var(--cream-50); border:1px solid var(--gold-line); }
.homepage-map-section .nearby-results .nearby-result:nth-child(n+5) { display:none; }
#nearby-count { margin-bottom:var(--s-3); color:var(--text-soft); font-size:.92rem; }
@media (max-width:1100px) { .nearby-layout { grid-template-columns:1fr; } }
@media (max-width:760px) {
  .nearby-results { grid-template-columns:1fr; }
  .nearby-result { grid-template-columns:minmax(0,1fr) auto; }
  .nearby-date { grid-column:1/-1; }
  .homepage-map-section .nearby-results .nearby-result:nth-child(n+4) { display:none; }
}
@media (max-width:420px) { .postcode-inline { flex-wrap:wrap; } .postcode-inline .button { width:100%; } .postcode-options { grid-template-columns:1fr; } }

/* társulat-sáv a főoldalon — meleg homok felület, korall és arany részletek */
.company { background:var(--cream-200); color:var(--navy-900); padding-block:var(--section); position:relative; overflow:hidden; }
.company::before { content:""; position:absolute; inset:0; background-image:repeating-conic-gradient(from 90deg at -5% 50%, rgba(181,133,58,.07) 0 1.2deg, transparent 1.2deg 5deg); }
.company-grid { position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--s-7); align-items:center; }
.company-copy { display:grid; gap:var(--s-5); align-content:start; }
.company-copy .eyebrow { color:var(--coral-700); }
.company-copy h2 em { color:var(--coral-600); font-style:italic; font-weight:500; }
.company-copy p { color:var(--ink-soft); font-size:var(--t-lead); }
.ensemble-names { display:flex; flex-wrap:wrap; gap:.5rem; }
.ensemble-names span { padding:.4rem .8rem; background:var(--cream-50); border:1px solid var(--gold-line); font-size:.85rem; }
.ensemble-names span:nth-child(2n) { background:var(--coral-200); border-color:transparent; }
.company .outline-button { justify-self:start; color:var(--navy-900); }
.company-gallery { display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr 1fr; gap:var(--s-3); }
.company-gallery figure { margin:0; position:relative; overflow:hidden; border:6px solid var(--cream-50); box-shadow:0 20px 40px -28px rgba(15,29,56,.5); }
.company-gallery figure:first-child { grid-row:span 2; }
.company-gallery img { width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; }
.company-gallery figure:first-child img { aspect-ratio:auto; object-position:50% 30%; }
.company-gallery figcaption { position:absolute; left:0; bottom:0; padding:.4rem .7rem; font:700 .66rem/1.2 var(--f-sans); letter-spacing:.1em; text-transform:uppercase; background:var(--cream-50); color:var(--navy-900); }
@media (max-width:900px) { .company-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .company-gallery { grid-template-columns:1fr; grid-template-rows:none; } .company-gallery figure:first-child { grid-row:auto; } .company-gallery figure:first-child img { aspect-ratio:3/2; } }

/* sajtó-sáv */
.press-teaser { padding-block:var(--s-8); }
.press-teaser .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s-5); padding:clamp(1.5rem, 1rem + 2vw, 3rem); background:var(--coral-500); color:var(--navy-900); position:relative; }
.press-teaser .wrap::after { content:""; position:absolute; inset:8px; border:1px solid rgba(15,29,56,.35); pointer-events:none; }
.press-teaser .eyebrow { color:var(--navy-900); }
.press-teaser .lead { color:var(--navy-900); }
.press-teaser .outline-button { position:relative; z-index:1; }
.press-teaser .wrap > div { display:grid; gap:var(--s-3); max-width:42rem; }

/* belső oldalak fejléce */
.page-head { padding-block:clamp(2.5rem, 1.5rem + 3vw, 4.5rem) var(--s-6); display:grid; gap:var(--s-4); }
.page-head h1 em { font-style:italic; font-weight:500; color:var(--coral-700); }
.page-head .lead { max-width:44rem; }
.catalog-tools { display:flex; flex-wrap:wrap; align-items:end; gap:var(--s-4) var(--s-6); margin-bottom:var(--s-6); }
.catalog-tools > div { flex:1 1 18rem; max-width:28rem; }
#catalog-count { font-size:.92rem; color:var(--text-soft); }
.show-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--s-7) var(--s-5); padding-bottom:var(--section); }
@media (max-width:1100px) { .show-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:760px) { .show-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s-6) var(--s-4); } }
@media (max-width:520px) { .atelier03 .show-grid { grid-template-columns:1fr; } .atelier03 .show-grid .show-card { width:min(100%, 22rem); justify-self:center; } }

/* műsor */
.event-filters { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)) auto; gap:var(--s-4); align-items:end; padding:var(--s-5); background:var(--cream-50); border:1px solid var(--gold-line); margin-bottom:var(--s-5); }
.event-filters .outline-button { color:var(--navy-900); }
.event-type-tag { display:inline-flex; width:max-content; max-width:100%; padding:.18rem .55rem; margin-top:.35rem; border-radius:999px; border:1px solid var(--gold-line); background:var(--cream-100); color:var(--navy-900); font:700 .68rem/1.5 var(--f-sans); }
.event-type-tag.is-child { background:#FCE8DC; border-color:#E6AF98; color:#7F2634; }
#event-count { font-size:.92rem; color:var(--text-soft); margin-bottom:var(--s-3); }
.full-events { padding-bottom:var(--section); }
.full-events .event-row,.show-schedule .event-row { color:var(--navy-900); }
.empty-state { padding:var(--s-6); border:1px solid var(--gold-line); background:var(--cream-50); margin-bottom:var(--section); }
@media (max-width:900px) { .event-filters { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .event-filters { grid-template-columns:1fr; } }

/* előadásoldal */

.ticket-box { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:var(--s-4); padding:var(--s-4) var(--s-5); background:var(--coral-200); color:var(--navy-900); border-left:4px solid var(--coral-600); max-width:36rem; }
.ticket-box small { display:block; font:700 .66rem/1.3 var(--f-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--coral-700); }
.ticket-box strong { display:block; font:600 1.2rem/1.25 var(--f-display); margin-top:.15rem; }
.ticket-box span { display:block; font-size:.82rem; color:var(--ink-soft); }
.ticket-box .button { background:var(--navy-900); border-color:var(--navy-900); }
.ticket-box .button:hover { background:var(--coral-700); border-color:var(--coral-700); }
.ticket-box.is-empty { grid-template-columns:1fr; }

@media (max-width:480px) { .ticket-box { grid-template-columns:1fr; } .ticket-box .button { justify-self:start; } }

/* társulat oldal */
.artist-page { padding-bottom:var(--section); }
.editorial-page-head { padding-block:clamp(2.5rem, 1.5rem + 3vw, 4.5rem) var(--s-6); display:grid; gap:var(--s-4); }
.editorial-page-head h1 em { font-style:italic; font-weight:500; color:var(--coral-700); }
.editorial-page-head > p:last-child { font-size:var(--t-lead); color:var(--text-soft); max-width:46rem; }
.artist-section > h2 { margin-bottom:var(--s-5); }
.artist-section label { margin-top:var(--s-4); }
#artist-search { max-width:28rem; }
#artist-count { margin:var(--s-3) 0 var(--s-6); font-size:.92rem; color:var(--text-soft); }
.artist-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--s-5); }
.artist-card { display:grid; grid-template-rows:auto 1fr; background:var(--cream-50); border:1px solid var(--gold-line); }
.artist-card > img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; }
.artist-monogram { aspect-ratio:4/5; display:grid; place-items:center; background-color:var(--cream-200); color:var(--navy-900); font:600 3.4rem/1 var(--f-display); letter-spacing:.06em; background-image:repeating-conic-gradient(from -90deg at 50% 110%, rgba(181,133,58,.14) 0 2deg, transparent 2deg 6deg); }
.artist-card:nth-child(3n+2) .artist-monogram { background-color:var(--coral-200); }
.artist-content { display:grid; gap:var(--s-3); align-content:start; padding:var(--s-5); }
.artist-content h2 { font-size:1.5rem; }
.artist-content > p:not(.eyebrow) { font-size:.93rem; line-height:1.65; }
.artist-source-link { font-size:.8rem; font-weight:700; }
.artist-productions { display:flex; flex-wrap:wrap; gap:.4rem; }
.artist-productions a { font-size:.78rem; padding:.35rem .6rem; border:1px solid var(--gold-line); text-decoration:none; }
.artist-productions a:hover { background:var(--coral-600); border-color:var(--coral-600); color:#FFF8EE; }
.historical-troupe { margin-top:var(--section); padding:clamp(1.5rem, 1rem + 2vw, 3rem); background:var(--navy-900); color:var(--cream-50); display:grid; gap:var(--s-4); }
.historical-troupe p:not(.eyebrow) { color:#DDD7C9; max-width:48rem; }
.historical-troupe .eyebrow { color:var(--gold-300, #E2C47E); }
.historical-people { display:flex; flex-wrap:wrap; gap:.45rem; }
.historical-people span { padding:.35rem .7rem; border:1px solid var(--gold-line); font-size:.85rem; }
.historical-troupe a { color:var(--gold-300); font-weight:700; font-size:.88rem; }
@media (max-width:1000px) { .artist-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px) { .artist-grid { grid-template-columns:1fr; } }

/* sajtószoba */
.press-page { padding-bottom:var(--section); }
.press-controls { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:var(--s-6); }
.press-controls button { min-height:44px; padding:.5rem 1rem; border:1px solid var(--navy-900); background:transparent; font:700 .75rem/1.2 var(--f-sans); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:var(--radius); }
.press-controls button[aria-pressed="true"] { background:var(--navy-900); color:var(--cream-50); }
.press-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--s-5); }
.press-story { display:grid; grid-template-columns:9rem minmax(0,1fr); background:var(--cream-50); border:1px solid var(--gold-line); }
.press-art { display:grid; align-content:space-between; padding:var(--s-4); background-color:var(--coral-500); color:var(--navy-900); background-image:repeating-conic-gradient(from -90deg at 50% 110%, rgba(255,252,246,.16) 0 2deg, transparent 2deg 6deg); }
.press-story:nth-child(3n+2) .press-art { background-color:var(--gold-300); }
.press-story:nth-child(3n+3) .press-art { background-color:var(--cream-200); }
.press-art span { font:600 2rem/1 var(--f-display); color:var(--navy-900); }
.press-art b { font:700 .72rem/1.3 var(--f-sans); letter-spacing:.08em; text-transform:uppercase; overflow-wrap:anywhere; }
.press-art i { font-style:normal; color:var(--navy-900); }
.press-copy { display:grid; gap:var(--s-3); align-content:start; padding:var(--s-5); }
.press-copy h2 { font-size:1.35rem; line-height:1.2; }
.press-copy > p:not(.eyebrow) { font-size:.92rem; line-height:1.6; }
.press-copy .text-link { justify-self:start; }
#press-count { margin-top:var(--s-4); color:var(--text-soft); font-size:.9rem; }
@media (max-width:900px) { .press-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .press-story { grid-template-columns:1fr; } .press-art { grid-auto-flow:column; align-items:center; } }

/* lábléc — világos, a jóváhagyott emblémával */
.atelier03 footer { background:var(--cream-200); color:var(--navy-900); border-top:5px double var(--gold-500); }
.footer-intro { display:grid; gap:var(--s-4); align-content:start; }
.footer-intro .eyebrow { color:var(--coral-700); }
/* .footer-emblem mérete: base.css (2026-10-21 lábléc) */
.atelier03 .footer-contacts strong { color:var(--coral-700); }
.atelier03 .footer-bottom { border-color:var(--gold-line); }

/* 404 */
.not-found { padding-block:var(--section); display:grid; gap:var(--s-5); justify-items:start; }

/* időpont nélküli előadások: külön polc, jelölve */
.shelf-divider { display:grid; gap:.4rem; margin:var(--s-7) 0 var(--s-5); padding-top:var(--s-5); border-top:1px solid var(--gold-line); }
.shelf-divider h2 { font-size:clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); color:var(--ink-soft); }
.shelf-divider p { color:var(--ink-soft); max-width:42rem; }
.shelf-off .adult-show-card .show-card__frame { filter:grayscale(.7); }
.shelf-off .adult-show-card:hover .show-card__frame,.shelf-off .adult-show-card:focus-within .show-card__frame { filter:none; }
.show-card__next { flex-basis:100%; font:600 .78rem/1.35 var(--f-sans); color:var(--navy-900); }
.show-card__next b { color:var(--coral-700); font-weight:700; }
.show-card__next.is-off { color:var(--ink-soft); font-style:italic; }
.atelier-carousel .adult-show-card.is-unscheduled .show-card__frame { filter:grayscale(.6); }

/* ===== CSÓKOS ASSZONY — page-scoped, custom editorial/art-deco production identity ===== */
body.atelier03:has(.csokos-page) .header { background:#fffaf1; }
body.atelier03:has(.csokos-page) .header .brand-mark { width:68px; height:68px; }
body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.38rem; }
.csokos-page { --cp-paper:#fff9ee; --cp-ivory:#f8efde; --cp-coral:#ba4e3e; --cp-coral-dark:#953a2e; --cp-gold:#bc8f49; --cp-forest:#163e40; --cp-ink:#28352f; background:var(--cp-paper); color:var(--cp-ink); overflow:hidden; }
.csokos-page .csokos-label { color:var(--cp-coral-dark); letter-spacing:.24em; text-transform:uppercase; font:700 .73rem/1.4 var(--f-sans); }
.csokos-page h2 { font-size:clamp(2.35rem,4.6vw,5.15rem); line-height:1.05; letter-spacing:-.035em; font-weight:500; }
.csokos-page h2 em { font-weight:500; color:var(--cp-coral); }
.csokos-page .csokos-section { padding-block:clamp(4rem,7.5vw,8rem); }
.csokos-page .csokos-section-heading { margin-bottom:clamp(2rem,4vw,4rem); max-width:64rem; }
.csokos-page .csokos-section-heading h2 { margin-top:1.3rem; }
.csokos-page .csokos-section-heading--inverse em { color:#f4b3a1; }
.csokos-page .csokos-section-heading--inverse .csokos-label { color:#e6bc7a; }
.csokos-page .csokos-section-heading--inverse > p:last-child { margin-top:1rem; color:#f2e6d5; }

.csokos-hero { position:relative; isolation:isolate; background:radial-gradient(ellipse at 72% 45%,#f9e3cb 0,transparent 48%),linear-gradient(115deg,#fffcf5 5%,#f8efdf 62%,#f1e4ce 100%); }
.csokos-hero::before { content:""; position:absolute; inset:18px; border:1px solid rgba(188,143,73,.37); pointer-events:none; z-index:3; }
.csokos-hero::after { content:""; position:absolute; inset:30px 30px auto auto; width:18px; height:18px; border:1px solid var(--cp-gold); transform:rotate(45deg); opacity:.65; }

.csokos-hero__inner { position:relative; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:center; min-height:clamp(680px,calc(100svh - 84px),900px); gap:clamp(1rem,3vw,3rem); padding-block:4.25rem 2.5rem; }
.csokos-hero__copy { z-index:2; position:relative; align-self:center; padding-left:clamp(.25rem,1vw,1.1rem); }
.csokos-back { display:inline-flex; font:600 .75rem/1.4 var(--f-sans); text-decoration:none; padding-bottom:.25rem; border-bottom:1px solid rgba(149,58,46,.4); color:#755c4a; margin-bottom:clamp(2rem,5vh,4.2rem); letter-spacing:.04em; }
.csokos-back:hover { color:var(--cp-coral-dark); }
.csokos-hero__kicker { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; max-width:37rem; color:var(--cp-coral-dark); font:700 .66rem/1.4 var(--f-sans); letter-spacing:.18em; text-transform:uppercase; }

.csokos-hero h1 { position:relative; display:flex; flex-direction:column; align-items:flex-start; max-width:none; margin:1.65rem -5vw 1rem 0; font-weight:500; letter-spacing:-.065em; line-height:.89; font-size:clamp(5rem,9vw,10rem); text-shadow:0 2px 20px rgba(255,252,245,.55); }
.csokos-hero h1 span { color:var(--cp-ink); }
.csokos-hero h1 em { color:var(--cp-coral); font-style:italic; font-weight:500; padding:.08em .05em .16em 0; }

.csokos-hero__intro { font:400 clamp(1.05rem,1.4vw,1.3rem)/1.6 var(--f-sans); max-width:31rem; color:#565349; margin-top:1rem; }
.csokos-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.4rem; margin-top:2rem; }
.csokos-hero__actions .button, .csokos-encore .button { background:var(--cp-coral); border-color:var(--cp-coral); color:#fffdf6; min-height:54px; letter-spacing:.09em; }
.csokos-hero__actions .button:hover, .csokos-encore .button:hover { background:var(--cp-coral-dark); border-color:var(--cp-coral-dark); }
.csokos-hero__secondary { display:inline-flex; align-items:center; gap:.7rem; min-height:48px; border-bottom:1px solid var(--cp-gold); text-decoration:none; font:700 .78rem/1.3 var(--f-sans); letter-spacing:.09em; text-transform:uppercase; }
.csokos-hero__secondary:hover { color:var(--cp-coral-dark); }
.csokos-hero__signature { display:flex; align-items:center; gap:1rem; margin-top:clamp(2rem,5vh,4rem); color:#6d6254; font:.84rem/1.4 var(--f-display); letter-spacing:.03em; }
.csokos-hero__signature i { font-style:normal; color:var(--cp-coral); padding-inline:.25em; }

.csokos-hero__art { position:relative; margin:0; height:clamp(540px,58vw,800px); min-width:0; align-self:end; }
.csokos-hero__sunburst { position:absolute; inset:3% -10% 0 -12%; background:repeating-conic-gradient(from 248deg at 53% 87%,transparent 0deg 6deg,rgba(190,138,65,.15) 6deg 6.6deg,transparent 6.6deg 11deg); -webkit-mask-image:linear-gradient(to bottom,#000,transparent 99%); mask-image:linear-gradient(to bottom,#000,transparent 99%); }
.csokos-hero__arch { position:absolute; top:7%; left:7%; right:5%; bottom:0; overflow:hidden; border-radius:47% 47% 2px 2px / 30% 30% 2px 2px; background:#9c8073; box-shadow:20px 30px 60px -35px rgba(61,37,31,.45); -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 85%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 85%,transparent 100%); }
.csokos-hero__arch img { width:100%; height:100%; object-fit:cover; object-position:50% 32% !important; filter:saturate(.93) sepia(.1) contrast(1.04); }
.csokos-hero__arch::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(40,53,47,.1),transparent 60%),linear-gradient(0deg,rgba(250,232,199,.33),transparent 50%); }
.csokos-hero__archline { position:absolute; top:3%; left:3%; right:1%; bottom:0; border:2px solid rgba(188,143,73,.85); border-bottom:0; border-radius:48% 48% 0 0 / 31% 31% 0 0; pointer-events:none; }
.csokos-hero__archline::before { content:""; position:absolute; inset:10px; border:1px solid rgba(188,143,73,.5); border-bottom:0; border-radius:48% 48% 0 0 / 31% 31% 0 0; }

.csokos-hero__lower { position:relative; z-index:4; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:.85rem max(var(--gutter),calc((100% - var(--max))/2)); background:var(--cp-forest); color:#fcebd1; font:700 .67rem/1.5 var(--f-sans); text-transform:uppercase; letter-spacing:.19em; }
.csokos-hero__lower a { color:inherit; text-decoration:none; }

.csokos-story { background:var(--cp-paper); }
.csokos-story__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(2rem,7vw,9rem); align-items:center; }
.csokos-story__editorial h2 { margin-top:1.6rem; max-width:11ch; }

.csokos-story__standfirst { max-width:36rem; font:500 clamp(1.25rem,2vw,1.75rem)/1.5 var(--f-display); color:var(--cp-forest); }

.csokos-text-link { display:inline-flex; gap:.65rem; align-items:center; font:700 .8rem/1.4 var(--f-sans); letter-spacing:.08em; text-decoration:none; text-transform:uppercase; border-bottom:1px solid var(--cp-gold); padding-bottom:.35rem; margin-top:2rem; }
.csokos-text-link:hover { color:var(--cp-coral-dark); }

.csokos-cast { background:var(--cp-ivory); border-top:1px solid #dfcda9; }
.csokos-cast__columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,8rem); }
.csokos-cast__columns > div { border-top:2px solid var(--cp-forest); padding-top:1.4rem; min-width:0; }
.csokos-cast__columns h3 { margin-bottom:1.5rem; font-size:1.6rem; color:var(--cp-forest); }
.csokos-credit-list { margin:0; }
.csokos-credit { display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,1fr); gap:.7rem; border-bottom:1px solid rgba(188,143,73,.37); padding:.85rem 0; align-items:baseline; }
.csokos-credit dt { font:700 .76rem/1.5 var(--f-sans); color:#75644f; }
.csokos-credit dd { font:500 1rem/1.5 var(--f-display); margin:0; overflow-wrap:anywhere; }
.csokos-credit--featured dd { color:var(--cp-coral-dark); font-weight:700; }
.csokos-credit--full { grid-template-columns:1fr; gap:.35rem; }
.csokos-cast__authors { font:500 1.12rem/1.5 var(--f-display); color:var(--cp-coral-dark); padding-bottom:1.5rem; }
.csokos-cast__authors span { margin-inline:.4rem; color:var(--cp-gold); }
.csokos-cast__note { margin-top:2.5rem; font-size:.83rem; color:#6c665b; }

.csokos-gallery { background:var(--cp-forest); color:#fff9eb; position:relative; }
.csokos-gallery::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0 88px,rgba(246,219,169,.025) 89px 90px); pointer-events:none; }
.csokos-gallery .wrap { position:relative; }
.csokos-gallery__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1rem,3vw,3rem); align-items:center; }
.csokos-gallery__photo { margin:0; min-width:0; }
.csokos-gallery__photo--2 { margin-top:clamp(3rem,8vw,9rem); }
.csokos-gallery__frame { padding:clamp(7px,1vw,13px); border:1px solid rgba(232,190,120,.75); position:relative; }
.csokos-gallery__frame::after { content:""; position:absolute; inset:clamp(13px,1.5vw,20px); border:1px solid rgba(255,247,228,.37); pointer-events:none; }
.csokos-gallery__photo img { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:50% 30%; }
.csokos-gallery__photo--2 img { aspect-ratio:4/5; }
.csokos-gallery__photo figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-top:.9rem; font:700 .64rem/1.5 var(--f-sans); letter-spacing:.13em; text-transform:uppercase; color:#e1cba6; }

.csokos-dates { background:var(--cp-paper); }
.csokos-dates__events { max-width:1100px; }
.csokos-dates__events .event-row { color:var(--cp-ink); }
.csokos-dates__disclaimer { font-size:.82rem; margin-top:1.5rem; color:#786f60; }
.csokos-dates__empty { display:flex; align-items:center; gap:clamp(1rem,2vw,2.5rem); padding:clamp(1.5rem,4vw,3rem); background:#fff; border:1px solid rgba(188,143,73,.6); border-left:4px solid var(--cp-coral); }
.csokos-dates__empty > span { font:400 3.8rem/1 var(--f-display); color:var(--cp-gold); }
.csokos-dates__empty > div { flex:1; min-width:0; }
.csokos-dates__empty h3 { font-size:1.65rem; }
.csokos-dates__empty p { max-width:42rem; margin-top:.5rem; font-size:.94rem; color:#5d6058; }
.csokos-dates__empty .outline-button { color:var(--cp-coral-dark); border-color:var(--cp-coral-dark); }
.csokos-dates__empty .outline-button:hover { color:#fff; }

.csokos-encore { position:relative; background:var(--cp-coral); color:#fffaee; overflow:hidden; }
.csokos-encore::before { content:""; position:absolute; inset:-30% auto -30% -8%; width:40%; border:2px solid rgba(255,240,220,.15); border-radius:50%; }
.csokos-encore__inner { display:flex; gap:clamp(1rem,3vw,4rem); align-items:center; padding-block:clamp(3rem,5.5vw,6rem); position:relative; }

.csokos-encore__inner > div { flex:1; }
.csokos-encore .csokos-label { color:#f8d8b2; }
.csokos-encore h2 { margin-top:.75rem; font-size:clamp(1.9rem,3.7vw,3.7rem); }
.csokos-encore h2 em { color:#ffe1af; }
.csokos-encore .button { background:var(--cp-paper); border-color:var(--cp-paper); color:var(--cp-coral-dark); }
.csokos-encore .button:hover { background:var(--cp-forest); border-color:var(--cp-forest); color:#fff; }

.csokos-related { background:var(--cp-ivory); }
.csokos-related__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,3vw,3rem); }
.csokos-related__grid .show-card__frame { aspect-ratio:4/5; }
.csokos-related__grid .show-card__meta { flex-wrap:wrap; }
.csokos-related > .wrap > .csokos-text-link { margin-top:2rem; }

@media (min-width:1400px) {
 body.atelier03:has(.csokos-page) .header .brand-mark { width:76px; height:76px; }
 body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.5rem; }
}
@media (max-width:1180px) {
 body.atelier03:has(.csokos-page) .header .brand-mark { width:60px; height:60px; }
 body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.25rem; }
 .csokos-hero h1 { font-size:clamp(4.3rem,8.7vw,8rem); }
}
@media (max-width:850px) {
 .csokos-hero__inner { grid-template-columns:1fr; padding-top:2.1rem; padding-bottom:0; min-height:0; gap:1rem; }
 .csokos-back { margin-bottom:1.8rem; }
 .csokos-hero__copy { padding-left:.75rem; }
 .csokos-hero h1 { margin-right:0; font-size:clamp(4.7rem,13vw,8.2rem); }
 .csokos-hero__art { width:min(100%,640px); justify-self:center; height:clamp(450px,75vw,680px); margin-top:-1rem; }
 
 .csokos-hero__signature { margin-top:1.75rem; }
 .csokos-story__grid { grid-template-columns:1fr; gap:3rem; }
 .csokos-story__editorial h2 { max-width:15ch; }
 .csokos-cast__columns { gap:2rem; }
 .csokos-encore__inner { flex-wrap:wrap; }
 .csokos-encore__inner > div { flex-basis:70%; }
}
@media (max-width:620px) {
 body.atelier03:has(.csokos-page) .header .brand-mark { width:52px; height:52px; }
 body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.04rem; }
 .csokos-hero::before { inset:8px; }
 .csokos-hero::after { display:none; }
 .csokos-hero__inner { padding-top:1.9rem; }
 .csokos-hero__copy { padding-left:.15rem; }
 .csokos-hero__kicker { font-size:.57rem; gap:.45rem; letter-spacing:.11em; }
 
 .csokos-hero h1 { margin-block:1.55rem 1rem; font-size:clamp(3.7rem,14.5vw,5.8rem); letter-spacing:-.065em; }
 
 .csokos-hero__intro { font-size:1rem; }
 .csokos-hero__actions { gap:.8rem 1rem; }
 .csokos-hero__actions .button { width:100%; }
 .csokos-hero__secondary { margin-left:.15rem; font-size:.71rem; }
 .csokos-hero__signature { margin-top:1.4rem; font-size:.75rem; }
 .csokos-hero__art { width:100%; height:clamp(380px,105vw,570px); margin-top:.8rem; }
 .csokos-hero__arch { top:5%; left:4%; right:4%; }
 .csokos-hero__archline { top:1%; left:1%; right:1%; }
 
 
 .csokos-hero__lower { font-size:.55rem; letter-spacing:.08em; padding:.8rem var(--gutter); }
 .csokos-page .csokos-section { padding-block:3.7rem; }
 .csokos-page h2 { font-size:clamp(2.2rem,10vw,3.4rem); }
 
 .csokos-story__standfirst { font-size:1.3rem; }
 
 .csokos-cast__columns { grid-template-columns:1fr; gap:2.5rem; }
 .csokos-credit { grid-template-columns:minmax(0,.6fr) minmax(0,1fr); }
 .csokos-gallery__grid { grid-template-columns:1fr; gap:2.5rem; }
 .csokos-gallery__photo--2 { margin-top:0; }
 .csokos-gallery__photo--2 img { aspect-ratio:4/3; }
 .csokos-gallery__photo figcaption { font-size:.59rem; }
 .csokos-dates__empty { align-items:flex-start; flex-wrap:wrap; }
 .csokos-dates__empty > span { font-size:2.2rem; }
 .csokos-dates__empty > div { flex-basis:78%; }
 .csokos-dates__empty .outline-button { width:100%; }
 .csokos-encore__inner { display:grid; grid-template-columns:auto 1fr; gap:.7rem 1rem; }
 
 .csokos-encore .button { grid-column:1/-1; margin-top:1rem; white-space:normal; text-align:center; }
 .csokos-related__grid { grid-template-columns:1fr; gap:2.5rem; }
 .csokos-related__grid .show-card { width:min(100%,24rem); justify-self:center; }
}

/* CSÓKOS ASSZONY — reference-led editorial V2. Exclusive to the production page. */
body.atelier03:has(.csokos-page) .header { background:#fff9ed; box-shadow:0 1px #c99a4c,0 5px #fff9ed,0 6px #c99a4c; }
body.atelier03:has(.csokos-page) .header .brand-mark { width:76px; height:76px; }
body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.52rem; }
body.atelier03:has(.csokos-page) .header-inner { min-height:92px; }
body.atelier03:has(.csokos-page) .header .nav-ticket { background:#ae282b; border-color:#ae282b; border-radius:100px; font-family:var(--f-display); font-size:.9rem; letter-spacing:.04em; font-weight:600; padding-inline:1.7rem; }
body.atelier03:has(.csokos-page) .header .nav-ticket:hover { background:#731d21; border-color:#731d21; }
.csokos-page { --cp-paper:#fffbf1; --cp-ivory:#fcf1dd; --cp-coral:#b8242d; --cp-coral-dark:#99242b; --cp-gold:#c39b57; --cp-forest:#092f2e; --cp-ink:#092d2c; background:#fffaf0; }
.csokos-page .csokos-label { color:var(--cp-ink); font-size:.72rem; letter-spacing:.22em; }
.csokos-page .csokos-section { padding-block:clamp(2rem,5vw,5rem); }
.csokos-page .csokos-section-heading { max-width:none; margin-bottom:1.4rem; display:flex; align-items:baseline; gap:clamp(.9rem,2vw,2rem); flex-wrap:wrap; }
.csokos-page .csokos-section-heading h2 { margin-top:0; font-size:clamp(1.65rem,3vw,3.25rem); }
.csokos-page .csokos-section-heading--rule::after { content:""; height:1px; flex:1 1 200px; background:linear-gradient(90deg,#ba914a,#e4cf9e); }
.csokos-page h2 em { color:var(--cp-coral); }

.csokos-hero { background:linear-gradient(102deg,#fffcf6 0%,#fff3e2 42%,#ebd1b0 100%); position:relative; isolation:isolate; min-height:600px; }
.csokos-hero::before { inset:9px; border:1px solid #b99555; z-index:7; }
.csokos-hero::after { display:none; }
.csokos-hero__curtains { position:absolute; inset:0 0 0 44%; background:
 linear-gradient(0deg,rgba(30,2,4,.5),transparent 45%),
 repeating-linear-gradient(90deg,#4c0613 0%,#9b2028 7%,#691018 13%,#36040d 19%,#9b2028 25%); opacity:.95; z-index:0; }
.csokos-hero__curtains::before { content:""; position:absolute; inset:0 auto 0 -35%; width:68%; background:linear-gradient(90deg,#fffaf0 22%,rgba(255,250,240,.96) 55%,transparent); }
.csokos-hero__curtains::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 82%,#5c130e); opacity:.25; }
.csokos-hero__deco-corner { position:absolute; top:24px; left:24px; width:132px; height:132px; border-top:2px solid #bb8c46; border-left:2px solid #bb8c46; border-top-left-radius:44px; z-index:8; pointer-events:none; }
.csokos-hero__deco-corner--bottom { top:auto; left:auto; right:24px; bottom:20px; transform:rotate(180deg); }
.csokos-florals { position:absolute; width:clamp(140px,21vw,340px); height:auto; z-index:7; pointer-events:none; filter:drop-shadow(0 5px 3px rgba(30,25,12,.16)); }
.csokos-florals--left { left:-4vw; bottom:-23px; transform:rotate(6deg); }
.csokos-florals--right { right:-5vw; bottom:-38px; transform:scaleX(-1) rotate(5deg); }
.csokos-hero__inner { width:min(100% - 2*var(--gutter),1500px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:clamp(565px,56vw,740px); padding-block:2rem 0; gap:0; }
.csokos-hero__copy { z-index:5; padding-left:clamp(1rem,3vw,3rem); align-self:center; padding-block:1.2rem 2rem; }
.csokos-back { margin-bottom:clamp(.8rem,2vw,2rem); font:.69rem/1.5 var(--f-sans); }
.csokos-hero__kicker { display:block; font:700 clamp(.58rem,.75vw,.72rem)/1.7 var(--f-sans); color:#17413c; letter-spacing:.17em; margin-bottom:.65rem; max-width:unset; }
.csokos-hero__kicker span { color:var(--cp-gold); margin-inline:.35rem; font-size:.58rem; }
.csokos-hero h1 { z-index:6; position:relative; display:flex; flex-direction:column; align-items:start; margin:0 -8vw .2rem 0; padding:0; font-size:clamp(5rem,9.5vw,10.25rem); line-height:.82; letter-spacing:-.076em; text-shadow:0 2px 0 #fff3e7,0 6px 0 rgba(140,90,44,.06); }
.csokos-hero h1 span { color:#a91f24; }
.csokos-hero h1 em { font-weight:500; font-style:normal; color:#082d2d; text-transform:lowercase; padding:0 .1em .1em .35em; letter-spacing:-.065em; }
.csokos-hero__underline { display:block; width:min(60%,340px); height:28px; border-bottom:3px solid #b52b33; border-radius:0 0 60% 30%; margin:-1.2rem 0 .8rem 4rem; transform:rotate(-4deg); }
.csokos-hero__intro { max-width:28rem; margin-top:1rem; font:500 clamp(.95rem,1.2vw,1.18rem)/1.53 var(--f-display); color:#2b3d34; }
.csokos-hero__actions { margin-top:1.1rem; gap:.7rem 1rem; }
.csokos-hero__actions .button { background:linear-gradient(#ce3337,#a91e28); border:1px solid #ad2d2c; min-height:48px; border-radius:100px; box-shadow:inset 0 0 0 1px #f3a88c,0 4px 0 #c48c47; font:500 1rem/1.2 var(--f-display); letter-spacing:.02em; padding:.7rem 1.7rem; }
.csokos-hero__actions .button:hover { background:#831e22; }
.csokos-hero__secondary { color:#8b2925; min-height:44px; font:700 .67rem/1.3 var(--f-sans); letter-spacing:.08em; }
.csokos-hero__signature { margin-top:clamp(1rem,3vw,2rem); font:.82rem var(--f-display); color:#85664d; }
.csokos-hero__signature span { padding-inline:.5rem; color:var(--cp-gold); }
.csokos-hero__art { height:clamp(500px,50vw,740px); align-self:stretch; margin:0; }
.csokos-hero__sunburst { inset:6% 0 0 -17%; background:repeating-conic-gradient(from 253deg at 54% 78%,rgba(202,154,71,.12) 0 1deg,transparent 1deg 9deg); mask-image:linear-gradient(#000 50%,transparent); -webkit-mask-image:linear-gradient(#000 50%,transparent); }
.csokos-hero__arch { top:0; right:8%; bottom:-1px; left:0; border-radius:48% 48% 0 0 / 18% 18% 0 0; -webkit-mask-image:none; mask-image:none; border:5px solid #d2b37e; border-bottom:0; background:#2f1d22; box-shadow:0 12px 35px rgba(60,10,10,.2); }
.csokos-hero__arch img { object-fit:cover; object-position:51% 38% !important; width:100%; height:100%; filter:saturate(1.12) contrast(1.04); }
.csokos-hero__arch::after { background:linear-gradient(0deg,rgba(38,11,15,.37),transparent 42%),linear-gradient(90deg,transparent 67%,rgba(35,10,15,.25)); }
.csokos-hero__archline { top:9px; left:9px; right:calc(8% + 9px); bottom:0; border:1px solid rgba(250,204,125,.9); border-radius:48% 48% 0 0 / 18% 18% 0 0; }
.csokos-hero__archline::before { inset:8px; border-color:rgba(252,210,153,.45); }
.csokos-hero__quote { position:absolute; top:22%; right:-2%; z-index:5; color:#fff5dc; background:linear-gradient(90deg,transparent,rgba(1,37,34,.84) 20%); border-right:2px solid #c39449; margin:0; padding:1.6rem 1rem 1.6rem 2.5rem; font:italic 500 clamp(1.1rem,2vw,2rem)/1.18 var(--f-display); text-align:right; text-shadow:0 2px 12px #071e19; }
.csokos-hero__quote em { font-size:.78em; }
.csokos-hero__lower { background:#fff5e4; color:var(--cp-ink); border-top:3px double #b48b47; border-bottom:3px double #b48b47; font-size:.62rem; position:relative; z-index:8; }
.csokos-upcoming { background:#fff6e6; border-bottom:1px solid #d3ad71; position:relative; }
.csokos-upcoming__inner { display:flex; align-items:center; gap:1rem; padding-block:.9rem; min-height:84px; }
.csokos-upcoming__label { flex:none; text-transform:uppercase; letter-spacing:.13em; font:700 .79rem/1.28 var(--f-display); display:flex; gap:.6rem; align-items:center; color:#254040; border-right:1px solid #c5a878; padding-right:1rem; }
.csokos-upcoming__label i { color:var(--cp-gold); font-size:1.2rem; font-style:normal; }
.csokos-upcoming__none { display:flex; flex:1; flex-wrap:wrap; gap:.35rem 1rem; align-items:baseline; padding-inline:1.5rem; color:#46554a; }
.csokos-upcoming__none strong { font:600 1.2rem/1.25 var(--f-display); color:#a32e30; }
.csokos-upcoming__none span { font-size:.75rem; }
.csokos-upcoming__items { flex:1; display:flex; list-style:none; gap:0; min-width:0; }
.csokos-upcoming__items li { flex:1; min-width:0; display:flex; align-items:center; gap:.6rem; padding-inline:1rem; border-right:1px solid #cfb68e; }
.csokos-upcoming__items time { font:600 1rem/1 var(--f-display); white-space:nowrap; color:#a32e30; }
.csokos-upcoming__items li span { font-size:.75rem; }
.csokos-upcoming__items a { margin-left:auto; text-decoration:none; border:1px solid #c79f5f; border-radius:50%; width:28px; height:28px; display:grid; place-items:center; color:#a32e30; }
.csokos-upcoming__all { flex:none; color:#a32e30; white-space:nowrap; font:700 .68rem/1.3 var(--f-sans); text-transform:uppercase; letter-spacing:.08em; }

.csokos-story { background:#fffaf1; position:relative; padding-block:clamp(1rem,2vw,2rem) !important; }
.csokos-story::before,.csokos-story::after { content:""; position:absolute; width:150px; height:150px; border:1px solid #c69b57; opacity:.5; pointer-events:none; border-radius:50%; }
.csokos-story::before { top:-95px; left:-65px; }.csokos-story::after { bottom:-93px; right:-55px; }
.csokos-story__grid { display:grid; grid-template-columns:1.15fr .94fr 1.1fr; gap:clamp(.7rem,2vw,2rem); align-items:stretch; }
.csokos-story__photo { margin:0; position:relative; min-width:0; border:1px solid #c99b54; padding:5px; overflow:hidden; background:#f5e5cc; }
.csokos-story__photo img { width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; }
.csokos-story__photo--left img { object-position:50% 40%; }
.csokos-story__photo--right { border-radius:42% 42% 0 0 / 25% 25% 0 0; }
.csokos-story__photo--right img { border-radius:42% 42% 0 0 / 25% 25% 0 0; object-position:65% 40%; }
.csokos-story__photo figcaption { position:absolute; right:0; bottom:0; width:80%; border-top:1px solid #bd9455; border-left:1px solid #bd9455; background:#fff7e8; color:#163f3a; padding:1rem; text-align:center; font:italic 1rem/1.2 var(--f-display); }
.csokos-story__editorial { align-self:center; padding:1rem .45rem; }
.csokos-story__editorial h2 { margin:.6rem 0; font-size:clamp(1.9rem,3.15vw,3.7rem); color:#ad2529; max-width:14ch; }
.csokos-story__editorial h2 em { color:#0d4540; }
.csokos-story__standfirst { font:400 clamp(.86rem,1.03vw,1.04rem)/1.52 var(--f-display); color:#29483e; }
.csokos-story__details { margin-top:1rem; }
.csokos-story__details summary { cursor:pointer; width:max-content; max-width:100%; border:1px solid #c49b5b; border-radius:30px; color:#a72a2b; padding:.55rem 1.3rem; font:700 .73rem/1.5 var(--f-sans); letter-spacing:.02em; text-transform:uppercase; }
.csokos-story__details summary span { margin-left:1rem; }
.csokos-story__details p { padding-top:1rem; color:#344c42; font-size:.89rem; }
.csokos-story__editorial .csokos-text-link { margin-top:.85rem; font-size:.65rem; }

.csokos-cast { background:linear-gradient(#fff7e9,#f8ebd5); padding-top:clamp(2rem,3.7vw,4rem) !important; border-top:3px double #caab73; }
.csokos-cast .csokos-section-heading h2 { font-size:clamp(1.45rem,2.4vw,2.6rem); }

.csokos-gallery { background:var(--cp-paper); color:#18413c; border-top:1px solid #cfb588; padding-top:2rem !important; }
.csokos-gallery::before { background:none; }
.csokos-gallery .csokos-section-heading--inverse h2 { color:#ab222a; }
.csokos-gallery .csokos-section-heading--inverse h2 em { color:#104740; }
.csokos-gallery .csokos-section-heading--inverse .csokos-label { color:#13483f; }
.csokos-gallery .csokos-section-heading--inverse > p:last-child { margin:0; color:#53685b; }
.csokos-gallery__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(.7rem,1.6vw,1.8rem); align-items:stretch; }
.csokos-gallery__photo--2 { margin:0; }
.csokos-gallery__frame { padding:5px; border:1px solid #bb934e; background:#fff2dc; }
.csokos-gallery__frame::after { inset:10px; border:1px solid #fff8e7; }
.csokos-gallery__photo img,.csokos-gallery__photo--2 img { height:clamp(250px,30vw,410px); width:100%; aspect-ratio:5/3; object-fit:cover; }
.csokos-gallery__photo figcaption { margin-top:.5rem; color:#8e6c41; font-size:.62rem; }

.csokos-dates { background:#fff7e7; padding-block:3rem !important; }
.csokos-dates .csokos-section-heading h2 { font-size:clamp(1.8rem,3vw,3rem); }
.csokos-encore { color:#fff8e7; background:radial-gradient(ellipse at 50% 5%,#1c6554 0%,#092e2b 60%,#041f1e 100%); border-top:6px double #cb9d51; border-bottom:6px double #cb9d51; }
.csokos-encore::before { inset:15px; width:auto; border:1px solid rgba(211,169,98,.8); border-radius:0; }
.csokos-encore__inner { display:flex; flex-direction:column; text-align:center; gap:.5rem; padding:clamp(3.6rem,6vw,6.5rem) clamp(6rem,15vw,14rem); align-items:center; }
.csokos-encore__inner .csokos-label { color:#e5c186; font-size:.72rem; letter-spacing:.26em; }
.csokos-encore h2 { font-size:clamp(3rem,5vw,6rem); color:#fff8e7; }
.csokos-encore h2 em { color:#f4d6a8; }
.csokos-encore__lead { max-width:620px; font:400 clamp(.98rem,1.15vw,1.25rem)/1.53 var(--f-display); color:#f3e8d0; margin:1rem auto; }
.csokos-encore .button { color:#fffaf0; border:1px solid #df8d7b; background:linear-gradient(#c73e3e,#a8202a); border-radius:35px; padding:.7rem 1.7rem; min-height:48px; box-shadow:0 3px 0 #d39b56; font:500 1rem var(--f-display); }
.csokos-fan { width:min(240px,65%); height:auto; color:#c59a58; margin:-2.5rem auto .6rem; opacity:.9; }
.csokos-florals--encore-left { width:clamp(160px,24vw,350px); left:-2%; bottom:-50px; }
.csokos-florals--encore-right { width:clamp(160px,24vw,350px); right:-3%; bottom:-50px; transform:scaleX(-1); }
.csokos-related { padding-top:3rem !important; background:#fff5e3; }

@media(max-width:1150px) {
 body.atelier03:has(.csokos-page) .header .brand-mark { width:63px; height:63px; }
 body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.25rem; }
 .csokos-hero h1 { font-size:clamp(4.6rem,9.6vw,8.8rem); }
 .csokos-hero__quote { font-size:1.35rem; right:0; }
 .csokos-story__grid { grid-template-columns:1fr .94fr 1fr; gap:.75rem; }
 .csokos-encore__inner { padding-inline:clamp(5rem,13vw,10rem); }
}
@media(max-width:850px) {
 .csokos-hero__curtains { inset:45% 0 0 0; }
 .csokos-hero__curtains::before { inset:-1px 0 auto 0; width:100%; height:45%; background:linear-gradient(#fff9ed,transparent); }
 .csokos-hero__inner { grid-template-columns:1fr; min-height:0; padding-block:2rem 0; }
 .csokos-hero__copy { align-self:auto; padding:1rem 2rem 0; text-align:center; }
 .csokos-hero__kicker { font-size:.67rem; }
 .csokos-back { display:none; }
 .csokos-hero h1 { align-items:center; font-size:clamp(5rem,14vw,9rem); margin:0; }
 .csokos-hero h1 em { padding-left:.08em; }
 .csokos-hero__underline { margin:-.75rem auto .65rem; width:210px; }
 .csokos-hero__intro { margin:1rem auto; max-width:31rem; }
 .csokos-hero__actions { justify-content:center; }
 .csokos-hero__signature { margin:1rem auto 0; }
 .csokos-hero__art { height:clamp(400px,74vw,670px); width:100%; max-width:640px; margin:1rem auto 0; }
 .csokos-hero__arch { inset:0 8% 0; }
 .csokos-hero__archline { inset:9px calc(8% + 9px) 0; }
 .csokos-hero__quote { right:5%; top:14%; }
 .csokos-florals--left,.csokos-florals--right { bottom:0; width:clamp(110px,23vw,200px); }
 .csokos-story__grid { grid-template-columns:1fr 1fr; }
 .csokos-story__editorial { grid-column:1/-1; grid-row:1; text-align:center; padding:1rem .5rem; }
 .csokos-story__editorial h2 { margin:.5rem auto; max-width:20ch; }
 .csokos-story__standfirst { max-width:680px; margin:auto; }
 .csokos-story__photo--left { grid-column:1; grid-row:2; }
 .csokos-story__photo--right { grid-column:2; grid-row:2; }
 
 
 .csokos-upcoming__inner { flex-wrap:wrap; }
 .csokos-upcoming__items { flex:1 1 65%; }
 .csokos-upcoming__all { margin-left:auto; }
 .csokos-encore__inner { padding-inline:18vw; }
}
@media(max-width:620px) {
 body.atelier03:has(.csokos-page) .header-inner { min-height:72px; }
 body.atelier03:has(.csokos-page) .header .brand-mark { width:49px; height:49px; }
 body.atelier03:has(.csokos-page) .header .brand-word strong { font-size:1.03rem; }
 .csokos-hero::before { inset:7px; }
 .csokos-hero__deco-corner { width:45px; height:45px; top:12px; left:12px; border-radius:22px 0 0 0; }
 .csokos-hero__deco-corner--bottom { left:auto; top:auto; bottom:12px; right:12px; }
 .csokos-hero__inner { padding:1.6rem 0 0; }
 .csokos-hero__copy { padding:1rem 0 .25rem; }
 .csokos-hero__kicker { letter-spacing:.06em; font-size:.56rem; }
 .csokos-hero__kicker span { margin-inline:.1rem; }
 .csokos-hero h1 { font-size:clamp(4.4rem,19vw,7rem); }
 .csokos-hero h1 span { margin-left:-.1em; }
 .csokos-hero h1 em { margin-top:-.02em; }
 .csokos-hero__underline { margin-top:-.7rem; width:145px; }
 .csokos-hero__intro { font-size:1.03rem; max-width:22rem; }
 .csokos-hero__actions { gap:.65rem; margin-top:1.25rem; }
 .csokos-hero__actions .button { width:auto; min-height:47px; font-size:.95rem; }
 .csokos-hero__secondary { font-size:.67rem; }
 .csokos-hero__signature { font-size:.72rem; margin-top:1.1rem; }
 .csokos-hero__art { height:clamp(320px,96vw,490px); margin:0 auto; }
 .csokos-hero__arch { inset:7% 4% 0; }
 .csokos-hero__archline { inset:calc(7% + 7px) calc(4% + 7px) 0; }
 .csokos-hero__arch img { object-position:48% 30% !important; }
 .csokos-hero__quote { font-size:clamp(.75rem,3.2vw,1.1rem); top:19%; right:1%; padding:.7rem .5rem .7rem 1.25rem; }
 .csokos-florals--left,.csokos-florals--right { width:115px; bottom:-4px; opacity:.9; }
 .csokos-hero__lower { font-size:.53rem; padding-block:.65rem; }
 .csokos-upcoming__inner { gap:.7rem; min-height:70px; }
 .csokos-upcoming__label { font-size:.66rem; }
 .csokos-upcoming__none { padding-inline:0; flex:1 1 65%; }
 .csokos-upcoming__none strong { font-size:1rem; }
 .csokos-upcoming__none span { font-size:.67rem; }
 .csokos-upcoming__all { flex-basis:100%; border-top:1px solid #dfc698; padding-top:.6rem; text-align:right; }
 .csokos-upcoming__items { display:grid; grid-template-columns:1fr; gap:.5rem; }
 .csokos-upcoming__items li { padding:0; border:0; }
 .csokos-story { padding-top:2rem !important; }
 .csokos-story__grid { gap:.5rem; }
 .csokos-story__editorial { padding:.25rem; }
 .csokos-story__editorial h2 { font-size:clamp(2.2rem,9vw,3.15rem); }
 .csokos-story__photo img { aspect-ratio:3/4; height:auto; min-height:230px; }
 .csokos-story__photo figcaption { width:95%; font-size:.65rem; padding:.4rem; }
 
 
 
 
 
 
 .csokos-gallery__grid { grid-template-columns:1fr; }
 .csokos-gallery__photo img,.csokos-gallery__photo--2 img { height:auto; aspect-ratio:4/3; }
 .csokos-encore__inner { display:flex; flex-direction:column; padding:3.7rem 2rem; }
 .csokos-fan { width:180px; margin-top:-2rem; }
 .csokos-encore h2 { font-size:clamp(2.7rem,11vw,4rem); }
 .csokos-encore__lead { font-size:.93rem; }
 .csokos-florals--encore-left,.csokos-florals--encore-right { width:110px; bottom:-45px; opacity:.75; }
 .csokos-encore .button { grid-column:auto; width:auto; }
}

/* V2 visual-QA polish: flowers frame content instead of covering title or ticket CTA. */
@media (min-width:851px) {
 .csokos-hero .csokos-florals--left { width:160px; left:-106px; bottom:-26px; opacity:.83; }
 .csokos-hero .csokos-florals--right { width:185px; right:-105px; bottom:-25px; opacity:.9; }
}
@media (max-width:850px) {
 .csokos-hero .csokos-florals--left { width:115px; left:-60px; bottom:-5px; }
 .csokos-hero .csokos-florals--right { width:115px; right:-57px; bottom:-5px; }
}

/* Csókos V2 finish: authentic performer portraits and unobscured hero CTAs. */
.csokos-hero > .csokos-florals--left,
.csokos-hero > .csokos-florals--right {
  width:clamp(100px,10vw,160px);
  bottom:-14px;
  z-index:2;
  opacity:.91;
}
.csokos-hero > .csokos-florals--left { left:-3.3vw; }
.csokos-hero > .csokos-florals--right { right:-3.6vw; }
.csokos-hero__copy { isolation:isolate; }

@media (max-width:850px) {
 .csokos-hero > .csokos-florals--left,.csokos-hero > .csokos-florals--right { bottom:-11px; width:clamp(75px,13vw,105px); }
 .csokos-hero > .csokos-florals--left { left:-2.5vw; }
 .csokos-hero > .csokos-florals--right { right:-2.5vw; }
}
@media (max-width:620px) {
 .csokos-hero > .csokos-florals--left,.csokos-hero > .csokos-florals--right { width:80px; bottom:-9px; }
 .csokos-hero > .csokos-florals--left { left:-32px; }
 .csokos-hero > .csokos-florals--right { right:-32px; }
 
 
}

/* Real theatre-company portraits for the four featured roles (never synthetic actors). */

/* Specificity fix: the portrait index must not inherit the former large decorative numeral. */

/* ---------- felnőtt főoldal: a filmes belépő filmje fut tovább a nyitószekció hátterében ----------
   elmosva (~6 px) és sötétítve, hogy a cím, a navigáció és a jegyútvonal mindig olvasható maradjon */
@view-transition { navigation:auto; }
.home-hero.has-film { background:#0B1630; color:#FFF7EA; isolation:isolate; min-height:clamp(560px, 46vw, 760px); display:grid; align-items:center; }
.home-hero.has-film::before { display:none; }
.home-hero__film { position:absolute; inset:0; z-index:-1; overflow:hidden; background:#0B1630 url("/assets/intro/intro-poster-720.jpg") center / cover no-repeat; view-transition-name:pmsz-film; }
/* a háttérfilm felismerhető marad (arcok, mozdulatok, fények): csak leheletnyi lágyítás, a sötétítés célzottan a szöveg mögött */
.home-hero__film video { position:absolute; inset:-4px; width:calc(100% + 8px); height:calc(100% + 8px); object-fit:cover; filter:blur(1px) saturate(1.1); }
.home-hero__film::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,22,48,.8) 0%, rgba(11,22,48,.52) 32%, rgba(11,22,48,.08) 58%, rgba(11,22,48,0) 100%), linear-gradient(0deg, rgba(11,22,48,.4), transparent 28%); }
.home-hero.has-film .home-hero__grid { grid-template-columns:minmax(0, 46rem); }
.home-hero.has-film .home-hero__stage { display:none; }
.home-hero.has-film .eyebrow { color:#DDBD7E; }
.home-hero.has-film h1 { color:#FFF7EA; text-shadow:0 2px 30px rgba(0,0,0,.35); }
.home-hero.has-film h1 .hero-accent { color:#F4A08C; }
.home-hero.has-film .home-hero__lead { color:rgba(255,247,234,.9); }
.home-hero.has-film .deco-rule { color:#DDBD7E; }
.home-hero.has-film .text-link { color:#FFF7EA; border-color:rgba(255,247,234,.6); }
@media (max-width:900px) {
  .home-hero.has-film { min-height:0; }
  .home-hero__film::after { background:linear-gradient(180deg, rgba(11,22,48,.18) 0%, rgba(11,22,48,.46) 30%, rgba(11,22,48,.52) 60%, rgba(11,22,48,.68) 100%); }
  .home-hero.has-film h1,.home-hero.has-film .home-hero__lead,.home-hero.has-film .eyebrow { text-shadow:0 2px 18px rgba(0,0,0,.55); }
}

/* A közelgő előadások időpont-kártyái: színházi fotó elöl, jegyvásárlás a hátlapon.
   Kattintás/érintés fordít, swipe és nyilak lapoznak; reduced-motion mellett nincs forgó animáció. */

/* 2026-10-21 – homepage hierarchy: film → tickets → posters → children's world
   → postcode map → tour → performers. Existing ticket carousel/rotation untouched. */

/* The intro film carries a short location-first invitation, not a large
   events table obscuring the images. */
.home-hero.has-film .hero-proximity {
  display:grid;
  justify-items:start;
  gap:clamp(.35rem,.7vw,.6rem);
  width:min(100%,34rem);
  margin-top:clamp(.25rem,.8vw,.8rem);
  padding:.85rem 0 .15rem 1.3rem;
  border-left:3px solid #F4A08C;
  color:#FFF7EA;
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
.hero-proximity__eyebrow {
  margin:0;
  color:#E3C990;
  font:750 .68rem/1.35 var(--f-sans);
  letter-spacing:.19em;
  text-transform:uppercase;
}
.home-hero.has-film .hero-proximity h2 {
  margin:0;
  font:500 clamp(1.38rem,2.15vw,2.18rem)/1.12 var(--f-display);
  letter-spacing:-.015em;
  text-wrap:balance;
  color:#FFF9ED;
}
.home-hero.has-film .hero-proximity h2 em { color:#FFC7B5; font-style:italic; }
.home-hero.has-film .hero-proximity > p:not(.hero-proximity__eyebrow) {
  max-width:32rem;
  margin:0;
  font:.91rem/1.5 var(--f-sans);
  color:rgba(255,249,237,.89);
}
.home-hero.has-film .hero-proximity .cta-row {
  margin-top:.65rem;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.85rem 1.15rem;
}
.home-hero.has-film .hero-proximity__button {
  padding:.82rem 1.05rem;
  min-height:48px;
  font-weight:750;
  background:#F2A68F;
  border-color:#F2A68F;
  color:#14243C;
  text-shadow:none;
}
.home-hero.has-film .hero-proximity__button:hover {
  background:#FFF4E3;
  border-color:#FFF4E3;
}
.home-hero.has-film .hero-proximity .text-link {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  font-size:.8rem;
  text-shadow:none;
}

/* Edge-to-edge picture ribbon as the children's destination gateway:
   five verified production photos, luminous colour, one clear link. */
.children-feature {
  position:relative;
  isolation:isolate;
  min-height:clamp(480px,43vw,650px);
  overflow:hidden;
  background:#BEE1DC;
  border-block:6px solid #F7CD69;
}

.children-feature::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,247,225,.52) 0%,rgba(255,248,226,.2) 33%,transparent 74%),
    linear-gradient(0deg,rgba(8,58,62,.16),transparent 34%);
}
.children-feature__inner {
  position:relative;
  display:flex;
  align-items:center;
  min-height:inherit;
  padding-block:clamp(2.3rem,4vw,4.4rem);
}
.children-feature__copy {
  display:grid;
  justify-items:start;
  gap:clamp(.7rem,1vw,1.1rem);
  width:min(100%,35rem);
  padding:clamp(1.65rem,2.8vw,3.15rem);
  color:#123F48;
  background:rgba(255,251,238,.9);
  border:1px solid rgba(255,255,255,.75);
  border-left:5px solid #DE5368;
  border-radius:5px 19px 19px 5px;
  box-shadow:0 26px 90px rgba(7,41,48,.2);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.children-feature__copy .eyebrow {
  color:#AE3951;
  font-size:.73rem;
  letter-spacing:.2em;
}
.children-feature__copy h2 {
  display:grid;
  gap:0;
  margin:0;
  color:#114750;
  font:800 clamp(2.6rem,4.5vw,4.9rem)/.98 "PMSZ Kids",var(--f-display);
  letter-spacing:-.025em;
  text-wrap:balance;
}
.children-feature__copy h2 em {
  color:#D44D66;
  font-style:normal;
}
.children-feature__promise {
  margin:0;
  color:#0C6772;
  font:italic 600 clamp(1.3rem,2vw,1.72rem)/1.18 var(--f-display);
}
.children-feature__lead {
  margin:0;
  max-width:28rem;
  color:#315C5D;
  font:500 clamp(.98rem,1.2vw,1.12rem)/1.55 var(--f-sans);
}
.children-feature__cta {
  margin-top:.4rem;
  min-height:54px;
  padding:.8rem 1.3rem;
  border-radius:999px;
  background:#F0BF55;
  border-color:#F0BF55;
  color:#103E45;
  box-shadow:0 6px 0 rgba(13,65,73,.17);
  font-weight:800;
}
.children-feature__cta:hover { color:white; background:#145C65; border-color:#145C65; }
.children-feature__cta:focus-visible { outline:3px solid #D44D66; outline-offset:4px; }

/* Tour is a compact programme complement AFTER the interactive map. */
.tour-home {
  padding-block:clamp(2.3rem,4.5vw,4.7rem);
  background:#FFF9F0;
  color:var(--navy-900);
  border-bottom:1px solid var(--gold-line);
}
.tour-home__inner {
  display:grid;
  grid-template-columns:minmax(245px,.65fr) minmax(0,1.35fr);
  align-items:start;
  gap:clamp(2rem,5vw,5rem);
}
.tour-home__intro {
  display:grid;
  align-content:start;
  justify-items:start;
  gap:1.1rem;
  padding-top:.2rem;
}
.tour-home__intro .eyebrow { color:var(--coral-700); letter-spacing:.18em; }
.tour-home__intro h2 {
  margin:0;
  font:600 clamp(2.6rem,4.2vw,4rem)/1 var(--f-display);
  letter-spacing:-.025em;
}
.tour-home__intro > p:not(.eyebrow) {
  max-width:26rem;
  margin:0;
  color:var(--ink-soft);
  font-size:1.05rem;
  line-height:1.5;
}
.tour-home__intro .outline-button { min-height:46px; }
.tour-home__schedule {
  padding:clamp(.9rem,2vw,1.6rem) clamp(1rem,2.3vw,2rem);
  background:var(--cream-50);
  border:1px solid var(--gold-line);
  border-top:4px solid var(--coral-500);
  box-shadow:0 18px 45px -38px rgba(18,28,45,.3);
}
.tour-home__schedule .event-row:last-child { border-bottom:0; }
.tour-home__schedule .data-note { margin-top:.65rem; }
.tour-home .event-row { color:var(--navy-900); }

/* More authentic credited names without an overwhelming chip wall. */
.company .ensemble-names { gap:.45rem .5rem; max-width:42rem; }
.company .ensemble-names span {
  padding:.38rem .65rem;
  background:rgba(255,255,255,.65);
  border-color:rgba(175,132,76,.28);
  font-size:.78rem;
  line-height:1.35;
}
.company .ensemble-names span:nth-child(2n) { background:var(--coral-200); }

@media (max-width:960px) {
  
  
  .tour-home__inner { grid-template-columns:1fr; gap:1.4rem; }
  .tour-home__intro { max-width:40rem; }
  .home-hero.has-film .hero-proximity { width:min(100%,35rem); }
}
@media (max-width:640px) {
  .children-feature { min-height:690px; border-block-width:4px; }
  
  
  
  .children-feature::before {
    background:linear-gradient(0deg,rgba(255,248,230,.4) 0%,transparent 58%);
  }
  .children-feature__inner {
    min-height:inherit;
    align-items:flex-end;
    padding-block:12.5rem 1.35rem;
  }
  .children-feature__copy {
    width:100%;
    gap:.75rem;
    padding:1.3rem 1.25rem 1.5rem;
    border-left-width:4px;
    border-radius:4px 13px 13px 4px;
    background:rgba(255,251,240,.94);
  }
  .children-feature__copy h2 { font-size:clamp(2.45rem,10.5vw,3.55rem); }
  .children-feature__promise { font-size:1.23rem; }
  .children-feature__lead { font-size:.98rem; }
  .children-feature__cta { font-size:.84rem; text-align:center; justify-content:center; width:100%; }
  .home-hero.has-film .hero-proximity {
    margin-top:.1rem;
    padding-left:.9rem;
  }
  .home-hero.has-film .hero-proximity h2 { font-size:1.5rem; }
  .home-hero.has-film .hero-proximity > p:not(.hero-proximity__eyebrow) { font-size:.83rem; }
  .home-hero.has-film .hero-proximity .cta-row { gap:.6rem; }
  .home-hero.has-film .hero-proximity__button { font-size:.86rem; width:100%; justify-content:center; }
  .tour-home__schedule { padding:.9rem; }
  .tour-home .event-row { gap:.5rem; }
}
@media (prefers-reduced-motion:reduce) {
  .children-feature img { animation:none; transition:none; }
}

/* ═════════════════════════════════════════════════════════════════════════════════════════════
   2026-10-21 — Felnőtt arculat, második kör: tipográfia, arany, menügombok.
   • Betűk: Bodoni Moda (címek – színházi plakátok nagy kontrasztú didone-ja, optikai méretekkel)
     + Jost (szöveg, feliratok – a 20-as évek geometrikus groteszkjei nyomán). Mindkettő OFL,
     latin + latin-ext (ő, ű). A logó wordmarkja változatlanul a jóváhagyott betűvel marad.
   • Szín: a korall/narancs a felnőtt oldalon antik arany árnyalatokra cserélve (a jóváhagyott
     éjkék–krém–arany skálán belül); kitöltött arany felületen mindig éjkék szöveg.
   • Méret: nagyobb alapméret, a túl apró feliratok (<0,8rem) arányosan emelve.
   ═════════════════════════════════════════════════════════════════════════════════════════════ */
@font-face { font-family:"PMSZ Bodoni"; src:url("/assets/fonts/bodoni-italic-latinext.woff2") format("woff2"); font-weight:400 900; font-style:italic; font-display:swap; unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"PMSZ Bodoni"; src:url("/assets/fonts/bodoni-italic-latin.woff2") format("woff2"); font-weight:400 900; font-style:italic; font-display:swap; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:"PMSZ Bodoni"; src:url("/assets/fonts/bodoni-normal-latinext.woff2") format("woff2"); font-weight:400 900; font-style:normal; font-display:swap; unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"PMSZ Bodoni"; src:url("/assets/fonts/bodoni-normal-latin.woff2") format("woff2"); font-weight:400 900; font-style:normal; font-display:swap; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:"PMSZ Jost"; src:url("/assets/fonts/jost-italic-latinext.woff2") format("woff2"); font-weight:300 700; font-style:italic; font-display:swap; unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"PMSZ Jost"; src:url("/assets/fonts/jost-italic-latin.woff2") format("woff2"); font-weight:300 700; font-style:italic; font-display:swap; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:"PMSZ Jost"; src:url("/assets/fonts/jost-normal-latinext.woff2") format("woff2"); font-weight:300 700; font-style:normal; font-display:swap; unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"PMSZ Jost"; src:url("/assets/fonts/jost-normal-latin.woff2") format("woff2"); font-weight:300 700; font-style:normal; font-display:swap; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:"PMSZ Kids"; src:url("/assets/fonts/kids-display.woff2") format("woff2"); font-weight:400 800; font-style:normal; font-display:swap; }

.atelier03 {
  --f-display:"PMSZ Bodoni", "Bodoni Moda", "Didot", Georgia, serif;
  --f-sans:"PMSZ Jost", "Jost", "Futura", "Segoe UI", Arial, sans-serif;
  --serif:var(--f-display); --sans:var(--f-sans);
  /* korall → antik arany (szöveghez a sötétebb, felülethez a világosabb árnyalatok) */
  --coral-700:#7A5719; --coral-600:#A47A2E; --coral-500:#C9A55C; --coral-200:#EEE1C3;
  --gold-grad:linear-gradient(180deg, #E2C27E 0%, #C9A158 55%, #B68B3F 100%);
  --gold-grad-hover:linear-gradient(180deg, #EBD196 0%, #D4AE66 55%, #C09449 100%);
  --accent:#B88D42; --accent-text:var(--navy-950);
  --t-body:1.125rem; --t-small:.98rem; --t-micro:.82rem;
  --t-lead:clamp(1.2rem, 1.06rem + .5vw, 1.48rem);
  --t-h1:clamp(2.6rem, 1.4rem + 4.4vw, 5.2rem);
  --t-h2:clamp(2.15rem, 1.35rem + 2.8vw, 3.85rem);
  --t-h3:clamp(1.4rem, 1.15rem + .85vw, 1.85rem);
  font-feature-settings:"kern", "liga";
}
.atelier03 h1,.atelier03 h2,.atelier03 h3,.atelier03 h4 { font-weight:500; letter-spacing:-.012em; line-height:1.04; }
.atelier03 h1 em,.atelier03 h2 em,.atelier03 h3 em { font-weight:400; letter-spacing:-.005em; }
.atelier03 .eyebrow { font:600 var(--t-micro)/1.45 var(--f-sans); letter-spacing:.24em; }
.atelier03 .lead { line-height:1.6; }
/* a jóváhagyott logó-wordmark betűje marad */
.atelier03 .brand-word,.atelier03 .atelier-wordmark,.atelier03 .brand-word strong,.atelier03 .brand-word span { font-family:"PMSZ Display", "Playfair Display", Georgia, serif; }

/* gombok: arany, finom fémes átmenettel; kitöltött aranyon éjkék szöveg */
.atelier03 .button { background:var(--gold-grad); border:1px solid #A27A33; color:var(--navy-950); font:600 .9rem/1.2 var(--f-sans); letter-spacing:.16em; box-shadow:inset 0 1px 0 rgba(255,250,235,.55), 0 10px 22px -14px rgba(120,86,26,.65); }
.atelier03 .button:hover { background:var(--navy-900); border-color:var(--navy-900); color:#F3E3BC; }
.atelier03 .outline-button { font:600 .9rem/1.2 var(--f-sans); letter-spacing:.16em; border-color:#A27A33; color:var(--navy-900); }
.atelier03 .outline-button:hover { background:var(--navy-900); border-color:var(--navy-900); color:#F3E3BC; }
.atelier03 .text-link { font:600 .88rem/1.3 var(--f-sans); letter-spacing:.15em; border-bottom-color:#B88D42; }
.atelier03 .text-link:hover { color:#7A5719; }

/* fejléc: a menüpontok elegáns arany gombok (vékony aranyvonal, belső art deco keret), a Jegyek tömör arany */
.atelier03 .header-signature span,.atelier03 .header-signature small { font:600 .76rem/1.2 var(--f-sans); letter-spacing:.2em; }
.atelier03 .header-signature strong { font-family:var(--f-display); font-weight:500; }
.atelier03 .header-signature em { color:#9C7330; font-style:italic; font-weight:400; }
.atelier03 .nav-ticket { background:var(--gold-grad); border-color:#A27A33; color:var(--navy-950); }
.atelier03 .nav-ticket:hover { background:var(--navy-900); border-color:var(--navy-900); color:#F3E3BC; }
@media (min-width:1181px) {
  .atelier03 #main-nav { justify-content:center; gap:.7rem; padding-top:14px; min-height:0; }
  .atelier03 #main-nav a { position:relative; display:inline-flex; align-items:center; min-height:44px; padding:.62rem 1.05rem; border:1px solid rgba(162,122,51,.6); border-radius:2px;
    background:linear-gradient(180deg, #FFFDF8, #F6EBD3); color:var(--navy-900); font:600 .8rem/1 var(--f-sans); letter-spacing:.18em;
    box-shadow:inset 0 0 0 3px #FFFCF6, inset 0 0 0 4px rgba(181,133,58,.28); transition:background .25s, color .25s, box-shadow .25s; }
  .atelier03 #main-nav a:hover,.atelier03 #main-nav a:focus-visible { background:var(--gold-grad); color:var(--navy-950); border-color:#A27A33; box-shadow:inset 0 0 0 3px rgba(255,250,235,.35), inset 0 0 0 4px rgba(15,29,56,.18); }
  .atelier03 #main-nav a[aria-current="page"] { background:var(--navy-900); color:#F1DFB3; border-color:var(--navy-900); box-shadow:inset 0 0 0 3px var(--navy-900), inset 0 0 0 4px rgba(226,194,126,.55); }
}
@media (max-width:1180px) {
  .atelier03 #main-nav { gap:.5rem; padding-top:var(--s-4); }
  .atelier03 #main-nav a { padding:1rem 1.1rem; border:1px solid rgba(162,122,51,.5); border-radius:2px; background:linear-gradient(180deg, #FFFDF8, #F6EBD3); font:600 .92rem/1.2 var(--f-sans); letter-spacing:.16em; box-shadow:inset 0 0 0 3px #FFFCF6, inset 0 0 0 4px rgba(181,133,58,.25); }
  .atelier03 #main-nav a[aria-current="page"],.atelier03 #main-nav a:hover { background:var(--gold-grad); color:var(--navy-950); }
}

/* a korábbi korall felületek elegáns megfelelői */
.atelier03 .home-hero::after { background:linear-gradient(90deg, #B68B3F 0 34%, var(--gold-300) 34% 68%, #EEE1C3 68%); }
.home-hero.has-film h1 .hero-accent { color:#E6C886; }
.home-hero.has-film .hero-proximity { border-left-color:#D4B06A; }
.home-hero.has-film .hero-proximity h2 em { color:#EBCF92; }
.home-hero.has-film .hero-proximity__button { background:var(--gold-grad); border-color:#A27A33; color:var(--navy-950); }
.home-hero.has-film .hero-proximity__button:hover { background:#FFF4E3; border-color:#FFF4E3; }
.atelier03 .nearby-ticket,.atelier03 .hero-shot a:hover figcaption,.atelier03 .hero-shot a:focus-visible figcaption { background:var(--gold-grad); color:var(--navy-950); }
.atelier03 .carousel-controls button:hover,.atelier03 .artist-productions a:hover { background:var(--navy-900); border-color:var(--navy-900); color:#F3E3BC; }
.atelier03 .ticket-box .button:hover { background:#87621F; border-color:#87621F; color:#FFF8EE; }
.atelier03 .press-teaser .wrap { background:radial-gradient(120% 140% at 100% 0%, #22396A, var(--navy-900) 60%); color:#F8F0DF; }
.atelier03 .press-teaser .wrap::after { border-color:rgba(226,194,126,.55); }
.atelier03 .press-teaser .eyebrow { color:#E2C27E; }
.atelier03 .press-teaser .lead,.atelier03 .press-teaser h2 { color:#F8F0DF; }
.atelier03 .press-teaser .outline-button { color:#F1DFB3; border-color:#D4B06A; }
.atelier03 .press-teaser .outline-button:hover { background:var(--gold-grad); color:var(--navy-950); border-color:#D4B06A; }
.atelier03 .press-art { background-color:#B68B3F; }

/* a túl apró feliratok arányos emelése (automatikusan gyűjtve a 0,8rem alatti méretekből) */
.atelier03 .menu-toggle { font-size:0.9rem; }
.atelier03 .show-card__cta { font-size:0.9rem; }
.atelier03 .event-row time span { font-size:0.8rem; }
.atelier03 .ticket-link { font-size:0.9rem; }
.atelier03 label { font-size:0.936rem; }
.atelier03 .footer-contacts strong { font-size:0.864rem; }
.atelier03 .footer-authors { font-size:0.936rem; }
.atelier03 .flip-ticket__date time span { font-size:0.912rem; }
.atelier03 .flip-ticket__category { font-size:0.8rem; }

.atelier03 .flip-ticket__back-kicker { font-size:0.816rem; }
.atelier03 .header-signature span { font-size:0.8rem; }
.atelier03 .header-signature small { font-size:0.8rem; }

.atelier03 .hero-shot figcaption { font-size:0.816rem; }
.atelier03 .hero-seal { font-size:0.84rem; }
.atelier03 .hero-seal b { font-size:0.8rem; }
.atelier03 .poster-theatre { font-size:0.8rem; }
.atelier03 .poster-emblem { font-size:0.8rem; }
.atelier03 .map-disclaimer { font-size:0.936rem; }
.atelier03 .nearby-date { font-size:0.936rem; }
.atelier03 .nearby-result span, .atelier03 .nearby-result small { font-size:0.936rem; }
.atelier03 .nearby-ticket { font-size:0.864rem; }
.atelier03 .company-gallery figcaption { font-size:0.8rem; }
.atelier03 .event-type-tag { font-size:0.816rem; }
.atelier03 .ticket-box small { font-size:0.8rem; }

.atelier03 .artist-productions a { font-size:0.936rem; }
.atelier03 .press-controls button { font-size:0.9rem; }
.atelier03 .press-art b { font-size:0.864rem; }
.atelier03 .show-card__next { font-size:0.936rem; }
.atelier03 .hero-proximity__eyebrow { font-size:0.816rem; }
.atelier03 .children-feature__copy .eyebrow { font-size:0.876rem; }
.atelier03 .company .ensemble-names span { font-size:0.936rem; }

/* ═════════════════════════════════════════════════════════════════════════════════════════════
   2026-10-21 — Felnőtt arculat, harmadik kör: olvashatóság, wordmark, összefolyó sávok.
   ═════════════════════════════════════════════════════════════════════════════════════════════ */
/* Olvashatóság: a Jost kicsit teltebb (450), a másodlagos szöveg sötétebb éjkék-szürke. */
body.atelier03 { font-weight:450; color:var(--ink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.atelier03 { --ink-soft:#36415C; --ink-faint:#4F5872; --text-soft:var(--ink-soft); }
.atelier03 .lead,.atelier03 .home-hero__lead { font-weight:450; }
.atelier03 .eyebrow,.atelier03 .text-link,.atelier03 .button,.atelier03 .outline-button { font-weight:650; }
.atelier03 h3,.atelier03 h4 { font-weight:600; }
.atelier03 h2 { font-weight:520; }

/* Wordmark: a jóváhagyott éjkék + arany, Bodoni */
.atelier03 .brand-word,.atelier03 .atelier-wordmark,.atelier03 .brand-word strong,.atelier03 .brand-word span { font-family:var(--f-display); }
.atelier03 .brand-word strong { font-weight:600; letter-spacing:.035em; color:var(--navy-900); }
.atelier03 .brand-word span { font-family:var(--f-sans); font-weight:600; letter-spacing:.42em; color:#8A6420; }

/* Hero: a két fő gomb egymás mellett, azonos arany stílusban */
.home-hero.has-film .hero-proximity .cta-row { gap:.75rem; }
.home-hero.has-film .hero-proximity__button { font-weight:650; }

/* Sávok: kisebb térközök, egymásba futó háttérátmenetek, kemény elválasztó vonalak nélkül */
.atelier03 { --section:clamp(2.5rem, 1.4rem + 2.6vw, 4.4rem); }
.atelier03 .flip-schedule { background:linear-gradient(180deg, #F8F0E2 0%, #F3E5CF 55%, #FBF7EE 100%); }
.atelier03 .repertoire { background:linear-gradient(180deg, #FBF7EE 0%, #FFFCF6 22%, #FFFCF6 78%, #F8F2E7 100%); }
.atelier03 .children-feature { min-height:clamp(400px, 34vw, 540px); border-block-width:3px; }
.atelier03 .children-feature__inner { padding-block:clamp(1.8rem, 3vw, 3.2rem); }
.atelier03 .homepage-map-section { border-block:0; background:linear-gradient(180deg, #F8F2E7 0%, #FBF6EC 60%, #FFF9F0 100%); }
.atelier03 .tour-home { border-bottom:0; padding-block:clamp(1.5rem, 3vw, 3rem) var(--section); background:linear-gradient(180deg, #FFF9F0 0%, #FFF9F0 55%, #F0E6D3 100%); }
.atelier03 .company { background:linear-gradient(180deg, #F0E6D3 0%, #F0E6D3 72%, #F8F2E7 100%); }
.atelier03 .press-teaser { padding-block:clamp(1.25rem, 2.4vw, 2.25rem); }
/* sajtószoba: kompakt sáv */
.atelier03 .press-teaser .wrap { padding:clamp(1.25rem, 2.2vw, 2.1rem) clamp(1.5rem, 3vw, 2.75rem); }
.atelier03 .press-teaser h2 { font-size:clamp(1.8rem, 1.3rem + 1.6vw, 2.8rem); }

/* Lábléc: összefut a fölötte lévő sávval, arany keretes gombok */
.atelier03 footer { border-top:1px solid rgba(181,141,66,.4); background:linear-gradient(180deg, #F8F2E7 0%, #F0E6D3 140px); }
.atelier03 .footer-contacts strong { font-size:.82rem; color:#7A5719; }
.atelier03 .footer-links a { border-color:rgba(164,122,46,.7); color:var(--navy-900); background:rgba(255,252,246,.55); font-family:var(--f-sans); letter-spacing:.04em; box-shadow:inset 0 0 0 3px rgba(255,252,246,.9), inset 0 0 0 4px rgba(181,133,58,.22); }
.atelier03 .footer-links a span { color:#8A6420; }
.atelier03 .footer-links a:hover,.atelier03 .footer-links a:focus-visible { background:var(--gold-grad); color:var(--navy-950); border-color:#A27A33; }
.atelier03 .footer-links a:hover span { color:var(--navy-950); }
/* a még vékony, apró szövegek */
.atelier03 .flip-ticket__details { font-size:.86rem; font-weight:500; }
.atelier03 .flip-schedule__note { font-size:.9rem; font-weight:450; }
.home-hero.has-film .hero-proximity > p:not(.hero-proximity__eyebrow) { font-size:max(.95rem, 15px); font-weight:450; }
.atelier03 .footer-authors { font-weight:450; }
.atelier03 .csokos-back { font-weight:600; }
.atelier03 :is(.csokos-hero__signature,.csokos-story__standfirst,.csokos-story__photo figcaption,.csokos-encore__lead) { font-weight:500; }
.atelier03 .csokos-hero__signature { font-size:.95rem; }
.atelier03 .csokos-story__standfirst { font-size:1.05rem; }
/* a főoldali térképsáv címe a többi szakaszcímmel egy rangban */
.homepage-map-section .nearby-intro h2 { font-size:var(--t-h2); }
.homepage-map-section .nearby-intro { margin-bottom:var(--s-5); }

/* közösségi sáv – felnőtt: éjkék Facebook-fél, arany Instagram-fél, köztük vékony arany vonal */
.atelier03 .social-band { border-block:1px solid rgba(181,141,66,.55); }
.atelier03 .social-band__half--instagram { --bg:#F0E6D3; --fg:var(--navy-900); --accent:#7A5719; border-left:1px solid rgba(181,141,66,.55); }
.atelier03 .social-band__text strong { font-family:var(--f-display); font-weight:600; letter-spacing:.01em; }
.atelier03 .social-band__half--facebook:hover { background:#172B50; }
.atelier03 .social-band__half--instagram:hover { background:#EADCC2; }

/* ═════════════════════════════════════════════════════════════════════════════════════════════
   2026-10-21 — Főoldal: „Előadásaink” egységes kártyák, kisebb térköz a jegykártyák alatt
   ═════════════════════════════════════════════════════════════════════════════════════════════ */
.atelier03 .flip-schedule { padding-bottom:clamp(1rem, 1.6vw, 1.75rem); }
.atelier03 .repertoire { padding-top:clamp(1.5rem, 2.6vw, 2.75rem); }
/* minden kártya azonos keretben: a plakát egészben látszik, a maradék helyet a saját elmosott mása tölti ki */
.atelier-carousel { align-items:stretch; }
.atelier-carousel .show-card__frame { aspect-ratio:5 / 7 !important; position:relative; display:grid; place-items:center; overflow:hidden; background:#0F1D38; }
.atelier-carousel .adult-show-card.has-poster .show-card__frame::before { content:""; position:absolute; inset:-24px; background:var(--art) center / cover no-repeat; filter:blur(20px) brightness(.5) saturate(1.15); }
.atelier-carousel .adult-show-card .poster-image { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; }
.atelier-carousel .adult-show-card .photo-poster { position:absolute; inset:0; height:100%; }
/* alatta egy sorban: műfaj balra, „Részletek és jegyek” arany gomb jobbra; majd a legközelebbi időpont */
.atelier-carousel .adult-show-card .show-card__meta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.55rem .75rem; margin-top:.9rem; }
.atelier-carousel .adult-show-card .show-card__chips { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.atelier-carousel .adult-show-card .show-card__meta .eyebrow { font-size:.8rem; letter-spacing:.16em; }
.atelier-carousel .adult-show-card .show-card__cta { display:inline-flex; align-items:center; gap:.45rem; min-height:40px; padding:.5rem .95rem; border:1px solid #A27A33; border-radius:2px; background:var(--gold-grad); color:var(--navy-950); font:650 .88rem/1 var(--f-sans); letter-spacing:.02em; text-transform:none; white-space:nowrap; box-shadow:inset 0 1px 0 rgba(255,250,235,.55); transition:background .2s, color .2s; }
.atelier-carousel .adult-show-card > a:hover .show-card__cta,.atelier-carousel .adult-show-card > a:focus-visible .show-card__cta { background:var(--navy-900); border-color:var(--navy-900); color:#F3E3BC; }
.atelier-carousel .adult-show-card .show-card__next { grid-column:1 / -1; font-size:.95rem; }
@media (min-width:1101px) {
  .atelier-carousel .adult-show-card .show-card__meta .eyebrow { font-size:.86rem; }
  .atelier-carousel .adult-show-card .show-card__cta { font-size:.95rem; }
  .atelier-carousel .adult-show-card .show-card__next { font-size:1.02rem; }
}
.atelier-carousel .show-card > a { align-content:start; }
.atelier-carousel .adult-show-card .show-card__next { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* plakát nélküli előadás: a válogatott álló fotó tölti ki a keretet, a cím sötét átmeneten, plakátszerűen */
.atelier-carousel .adult-show-card.has-photo .photo-poster { display:block; }
.atelier-carousel .adult-show-card.has-photo .photo-poster__img { position:absolute; inset:0; aspect-ratio:auto; height:100%; }
.atelier-carousel .adult-show-card.has-photo .photo-poster__img img { width:100%; height:100%; object-fit:cover; }
.atelier-carousel .adult-show-card.has-photo .poster-overlay { position:absolute; left:0; right:0; bottom:0; padding:3rem 1.2rem 1.3rem; background:linear-gradient(0deg, rgba(11,22,48,.96) 0%, rgba(11,22,48,.8) 55%, rgba(11,22,48,0) 100%); }
.atelier-carousel .adult-show-card.has-photo .poster-overlay::before { display:none; }
.atelier-carousel .adult-show-card.has-photo .poster-theatre { color:#E6C886; }
.atelier-carousel .adult-show-card.has-photo .poster-overlay strong { color:#FFF8EE; }

/* ═════════════════════════════════════════════════════════════════════════════════════════════
   2026-10-21 — Gyerek-sáv a felnőtt főoldalon: a sávot teljesen kitölti a jobbról balra folyó
   fotófolyam (a képek egymásba úsznak, nincs keret és köz); középen a felirat doboza, amelynek
   háttere az elmosott, napos-váras mesevilág. A sáv csak olyan magas, amennyit a képek kérnek.
   ═════════════════════════════════════════════════════════════════════════════════════════════ */
.children-feature.has-ribbon { --rh:clamp(320px, 25vw, 380px); --rw:calc(var(--rh) * 1.5); --ro:calc(var(--rw) * .3);
  min-height:var(--rh); display:grid; align-items:center; padding:0; background:#0E3A40; border-block:3px solid #F7CD69; }
.children-feature.has-ribbon::before { display:none; }
.kids-ribbon { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.kids-ribbon__belt { display:flex; height:100%; width:max-content; }
.kids-ribbon__strip { display:block; flex:none; height:100%; width:auto; max-width:none; }
.children-feature.has-ribbon .children-feature__inner { min-height:auto; padding-block:clamp(.9rem, 1.6vw, 1.4rem); justify-content:center; }
.children-feature.has-ribbon .children-feature__copy { position:relative; isolation:isolate; justify-items:center; text-align:center; width:min(100%, 35rem); margin-inline:auto; gap:.55rem; padding:clamp(1.1rem, 1.8vw, 1.6rem) clamp(1.25rem, 2.6vw, 2.4rem); background:#FFF7E4; border:2px solid rgba(255,255,255,.95); border-radius:30px; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:0 24px 60px -18px rgba(4,30,35,.65); }
/* a doboz háttere: az elmosott mesevilág, világos fátyollal az olvashatóságért */
/* a háttérréteget külön vágjuk le a lekerekített formára (clip-path), így Safariban sem lóg ki
   téglalapként az elmosott kép a sarkoknál; a doboz árnyéka közben megmarad */
.kids-ribbon__scene { position:absolute; inset:0; z-index:-2; overflow:hidden; border-radius:inherit; -webkit-clip-path:inset(0 round var(--panel-r, 28px)); clip-path:inset(0 round var(--panel-r, 28px)); }
.kids-ribbon__sky { position:absolute; inset:-24px; display:block; width:calc(100% + 48px); height:calc(100% + 48px); filter:blur(7px) saturate(1.1); }
/* az elmosott háttérjelenet álló kép: az animációi itt nem futnak (különben a blur minden képkockán újraszámolódna) */
.kids-ribbon__sky,.kids-ribbon__sky * { animation:none !important; }
.children-feature.has-ribbon .children-feature__copy::after { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(ellipse 75% 70% at 50% 50%, rgba(255,251,240,.8), rgba(255,251,240,.45)); }
.children-feature.has-ribbon .children-feature__copy h2 { display:flex; flex-wrap:wrap; justify-content:center; column-gap:.3em; font-size:clamp(2.2rem, 1.4rem + 2.2vw, 3.3rem); line-height:1.02; }
.children-feature.has-ribbon .children-feature__promise { margin:0; }
.children-feature.has-ribbon .children-feature__lead { margin:0 0 .35rem; }
@media (prefers-reduced-motion:no-preference) {
  .kids-ribbon__belt { animation:kids-ribbon-run 120s linear infinite; }
  .children-feature.has-ribbon:hover .kids-ribbon__belt { animation-play-state:paused; }
}
@keyframes kids-ribbon-run { to { transform:translateX(-50%); } }
/* iPad álló / osztott képernyő: a doboz fölött-alatt is látszódjon a képfolyam */
@media (min-width:761px) and (max-width:1100px) {
  .children-feature.has-ribbon .children-feature__inner { padding-block:2.4rem; }
}
/* telefonon és keskeny iPad-ablakban is az asztali elrendezés: a képfolyam az egész sávot kitölti, a
   kisebb, tömör doboz középen ül rajta – fölötte, alatta és oldalt is látszanak a futó képek; a hosszabb
   leírás itt elmarad. A sávot arany szegély zárja, a térképes szekció tisztán elválik. */
@media (max-width:760px) {
  .children-feature.has-ribbon { --rh:clamp(340px, 96vw, 420px); }
  .children-feature.has-ribbon .children-feature__inner { padding-block:clamp(2.4rem, 10vw, 3.4rem); }
  .children-feature.has-ribbon .children-feature__copy { --panel-r:20px; width:min(84%, 23rem); gap:.35rem; padding:1.05rem 1.1rem 1.15rem; border-radius:22px; }
  .children-feature.has-ribbon .children-feature__copy .eyebrow { font-size:.62rem; letter-spacing:.18em; }
  .children-feature.has-ribbon .children-feature__copy h2 { font-size:clamp(1.5rem, 6.4vw, 2rem); }
  .children-feature.has-ribbon .children-feature__promise { font-size:1rem; }
  .children-feature.has-ribbon .children-feature__lead { display:none; }
  .children-feature.has-ribbon .children-feature__cta { width:100%; min-height:46px; margin-top:.35rem; padding:.6rem .8rem; font-size:.72rem; letter-spacing:.12em; }
  .atelier03 .children-feature.has-ribbon + .homepage-map-section { padding-top:2.5rem; }
}

/* térképes sáv a főoldalon: rövid forrásmegjelölés; a találati lista csak keresés után */
.nearby-events-block[hidden] { display:none !important; }
.map-credit { margin:.55rem 0 0; font-size:.78rem; color:var(--ink-faint); }
.map-credit a { color:inherit; }
.atelier03 .repertoire { padding-bottom:clamp(1.1rem, 2vw, 2rem); }
/* a gyerek-sáv után a térkép közelebb jön */
.atelier03 .children-feature.has-ribbon + .homepage-map-section { padding-top:clamp(1.6rem, 1rem + 1.8vw, 3rem); }
/* turné: a közelgő előadások száma nagy Bodoni számmal, arany jegygombok */
.tour-home__stat { display:flex; align-items:center; gap:.9rem; margin:.3rem 0 .1rem; }
.tour-home__stat strong { font:500 clamp(3rem, 2.2rem + 2.4vw, 4.4rem)/1 var(--f-display); color:#8A6420; letter-spacing:-.01em; }
.tour-home__stat span { font:650 .82rem/1.4 var(--f-sans); letter-spacing:.16em; text-transform:uppercase; color:var(--navy-900); }
.atelier03 .tour-home .ticket-link { background:var(--gold-grad); border-color:#A27A33; color:var(--navy-950); box-shadow:inset 0 1px 0 rgba(255,250,235,.55); }
.atelier03 .tour-home .ticket-link:hover,.atelier03 .tour-home .ticket-link:focus-visible { background:var(--navy-900); border-color:var(--navy-900); color:#F3E3BC; }

/* ═════════════════════════════════════════════════════════════════════════════════════════════
   2026-10-21 — Kitöltött fejléc: a „Színház mindenhol, mindenkinek.” szignó nagyobb teret kap
   (asztalon a logó és a gombok közti sáv közepén, iPaden külön vékony sávban a logósor alatt);
   a Jegyek után Műsor gomb, nagyobb kereső. Telefonon a logósor alatt Műsor | Jegyek gombpár.
   ═════════════════════════════════════════════════════════════════════════════════════════════ */
.atelier03 .header-cta { grid-area:cta; display:flex; align-items:center; gap:.6rem; }
/* egyetlen, nagy jegygomb tölti ki a fejléc jobb oldalát */
.atelier03 .header-cta .nav-ticket { display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:.9rem clamp(1.8rem, 1rem + 1.6vw, 2.9rem); font-size:clamp(1rem, .85rem + .3vw, 1.18rem); letter-spacing:.16em; }
body.atelier03:has(.csokos-page) .header .header-cta .nav-ticket { color:#fff; min-height:58px; font-size:clamp(1.05rem, .9rem + .3vw, 1.22rem); padding-inline:clamp(2rem, 1.2rem + 1.6vw, 3rem); }
.atelier03 .search-toggle { min-width:48px; min-height:48px; padding:0; border-radius:50%; }
.atelier03 .header-signature strong { display:flex; flex-wrap:wrap; justify-content:center; column-gap:.28em; }
.atelier03 .header-signature b { font-weight:inherit; white-space:nowrap; }
.atelier03 .header-signature em { color:#7E5B22; }
@media (min-width:1181px) {
  .atelier03 .header-inner { grid-template-columns:auto minmax(0,1fr) auto auto; grid-template-areas:"brand sig tools cta" "nav nav nav nav"; column-gap:clamp(1rem, .2rem + 1.4vw, 2rem); }
  .atelier03 .header-signature { justify-self:stretch; justify-items:center; text-align:center; border-left:0; padding:.2rem 0; gap:.5rem; }
  .atelier03 .header-signature span { display:flex; align-items:center; gap:.9rem; width:100%; justify-content:center; white-space:nowrap; }
  .atelier03 .header-signature span::before,.atelier03 .header-signature span::after { content:""; flex:0 1 4.5rem; height:1px; background:var(--gold-500); }
  .atelier03 .header-signature strong { font-size:clamp(1.6rem, .55rem + 1.5vw, 2.45rem); line-height:1.05; white-space:normal; }
}
@media (max-width:1180px) {
  .atelier03 .header-inner { grid-template-columns:auto minmax(0,1fr) auto auto; grid-template-areas:"brand . tools cta" "sig sig sig sig"; column-gap:.75rem; }
  .atelier03 .header-signature { display:flex; flex-wrap:wrap; justify-self:stretch; justify-content:center; align-items:baseline; column-gap:1.1rem; row-gap:.2rem; margin-top:12px; padding:.6rem 0 .1rem; border-left:0; border-top:1px solid var(--gold-line); text-align:center; }
  .atelier03 .header-signature strong { font-size:clamp(1.3rem, .8rem + 1vw, 1.7rem); }
}
@media (min-width:761px) and (max-width:999px) {
  .atelier03 .brand-mark { width:96px; }
  .atelier03 .menu-toggle .menu-label { display:none; }
  .atelier03 .menu-toggle,.atelier03 .search-toggle { min-width:48px; min-height:48px; padding:0; border:1px solid currentColor; border-radius:50%; }
  .atelier03 .header-signature small { display:none; }
}
@media (max-width:760px) {
  .atelier03 .header-inner { grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"brand . tools" "cta cta cta"; }
  .atelier03 .header-signature { display:none; }
  .atelier03 .search-toggle,.atelier03 .menu-toggle { min-width:46px; min-height:46px; padding:0; border:1px solid currentColor; border-radius:50%; }
  .atelier03 .header-cta { display:grid; margin-top:10px; padding-top:10px; border-top:1px solid var(--gold-line); }
  .atelier03 .header-cta .nav-ticket { display:inline-flex; width:100%; min-height:50px; padding:.7rem 1rem; font-size:1rem; }
  body.atelier03:has(.csokos-page) .header .header-cta .nav-ticket { min-height:50px; }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════
   2026-10-21 — Egységes arany gombok a felnőtt oldalakon (jegy, körvonalas, előadásoldali,
   jegyszalag, lábléc), nyíl nélkül, a szöveg középre igazítva. A szöveges linkek linkek maradnak.
   ═══════════════════════════════════════════════════════════════════════════════════════ */
body.atelier03 :is(.ticket-link, .outline-button, .sw-ticket, .flip-ticket__buy, .footer-links a, .show-card__cta, .nearby-ticket),
body.atelier03:has(.csokos-page) .header .nav-ticket,
body.atelier03:has(.csokos-page) :is(.button, .outline-button) {
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem; text-align:center; text-decoration:none;
  background:var(--gold-grad); border:1px solid #A27A33; color:var(--navy-950);
  box-shadow:inset 0 1px 0 rgba(255,250,235,.55), 0 8px 18px -12px rgba(70,48,12,.55);
}
body.atelier03 :is(.ticket-link, .outline-button, .sw-ticket, .flip-ticket__buy, .footer-links a, .show-card__cta, .nearby-ticket):is(:hover, :focus-visible),
body.atelier03:has(.csokos-page) .header .nav-ticket:hover,
body.atelier03:has(.csokos-page) :is(.button, .outline-button):hover {
  background:var(--gold-grad-hover); color:var(--navy-950); border-color:#A27A33;
}
body.atelier03 .flip-ticket__buy { justify-content:center; font-weight:700; }
body.atelier03 .footer-links a { min-height:50px; font-weight:600; letter-spacing:.05em; }

/* Műsor: a gyerekelőadások sora halványan a mesevilág színeiben (türkiz → napsárga), hogy egy
   pillantással elváljon, de ne üssön el a felnőtt arculattól. */
.event-row[data-category="Gyermek"] { margin-inline:-.85rem; padding-inline:.85rem; border-radius:12px; border-bottom-color:transparent;
  background:linear-gradient(95deg, rgba(47,179,174,.13), rgba(255,226,140,.16) 70%, rgba(255,236,190,.1)); }
.event-row[data-category="Gyermek"] + .event-row:not([data-category="Gyermek"]) { border-top:1px solid var(--line); }
.event-row[data-category="Gyermek"] time { border-color:rgba(13,138,144,.4); background:rgba(255,255,255,.55); }
.event-row[data-category="Gyermek"] + .event-row[data-category="Gyermek"] { margin-top:4px; }

/* Főoldali térképes kereső telefonon tömörebben: mező és gomb egy sorban, a két választó egymás mellett */
@media (max-width:760px) {
  .atelier03 .homepage-map-section .postcode-form { padding:18px 16px; gap:.5rem; }
  .atelier03 .homepage-map-section .postcode-form h2 { font-size:1.65rem; }
  .homepage-map-section .postcode-inline { flex-wrap:nowrap; }
  .homepage-map-section .postcode-inline .button { width:auto; padding-inline:1rem; }
  .homepage-map-section .postcode-options { grid-template-columns:1fr 1fr; gap:.6rem; }
  .homepage-map-section .postcode-options select { font-size:.95rem; padding-inline:.6rem; }
  .homepage-map-section .postcode-options label { font-size:.8rem; }
  .atelier03 .homepage-map-section .postcode-form #postcode-feedback { font-size:.8rem; padding:.55rem .7rem; }
}
@media (max-width:380px) { .homepage-map-section .postcode-options select { font-size:.86rem; padding-inline:.45rem; } }

/* ═══════════════════════════════════════════════════════════════════════════════════════
   2026-10-22 — Felnőtt előadáskártyák alja: egységes, keretes adatdoboz közvetlenül a plakát
   alatt. Felül a műfaj és az arany „Részletek” gomb, vékony elválasztó után a legközelebbi
   időpont: dátum, alatta a teljes városnév – minden kártyán azonos magasságban.
   ═══════════════════════════════════════════════════════════════════════════════════════ */
.adult-show-card .show-card__meta.show-card__box { display:grid; grid-template-columns:1fr; gap:.7rem; margin-top:0; padding:.95rem 1rem 1rem;
  background:linear-gradient(180deg, #FFFDF7, #FBF5E8); border:1px solid rgba(164,122,46,.45); border-top:0; box-shadow:inset 0 0 0 4px rgba(255,253,247,.9), 0 14px 26px -22px rgba(30,25,10,.55); }
.adult-show-card .show-card__row { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-width:0; }
.adult-show-card .show-card__row .eyebrow { margin:0; font:700 .78rem/1.2 var(--f-sans); letter-spacing:.16em; text-transform:uppercase; color:#8A6420; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.atelier03 .adult-show-card .show-card__box .show-card__cta { flex:none; min-height:40px; padding:.45rem 1.05rem; border-radius:2px; font:700 .86rem/1 var(--f-sans); letter-spacing:.06em; }
.adult-show-card .show-card__box .show-card__next { display:grid; gap:.2rem; padding-top:.65rem; border-top:1px solid rgba(164,122,46,.35); white-space:normal; overflow:visible; font:500 1rem/1.25 var(--f-sans); color:var(--navy-900); }
.adult-show-card .show-card__box .show-card__next b { font:700 .7rem/1.2 var(--f-sans); letter-spacing:.16em; text-transform:uppercase; color:#8A6420; }
.adult-show-card .show-card__box .show-card__when { display:grid; gap:.05rem; font:600 1.02rem/1.25 var(--f-sans); color:var(--navy-900); min-height:2.5em; }
.adult-show-card .show-card__box .show-card__city { font:500 1.18rem/1.15 var(--f-display); color:var(--navy-900); overflow-wrap:anywhere; }
.adult-show-card .show-card__box .show-card__next.is-off .show-card__when { font:italic 500 .95rem/1.3 var(--f-sans); color:var(--ink-soft); }
