/* Koncertplakát · grafitfekete klub, téglafal, kétszínű (korall és fekete) szitanyomat törtfehér papíron. */

@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/anton.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/barlow-400i.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-cond-600.woff2) format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/caveat-700.woff2) format('woff2')}

:root{
  --night:#121113;
  --night-2:#1b191c;
  --night-3:#0b0a0c;
  --paper:#ece4d3;
  --paper-2:#e2d8c4;
  --ink:#1c1a1d;
  --ink-soft:#4a454a;
  --coral:#f05842;
  --coral-2:#e14c37;
  --coral-hi:#ff7a63;
  --text:#ece5d6;
  --muted:#b5ad9f;
  --tape:#3b3a3d;
  --display:'Anton','Arial Narrow',Impact,sans-serif;
  --cond:'Barlow Condensed','Arial Narrow',sans-serif;
  --sans:'Barlow','Helvetica Neue',Arial,sans-serif;
  --hand:'Caveat','Segoe Print','Bradley Hand',cursive;
  --ease:cubic-bezier(.2,.7,.2,1);
  --bk-edit:rgba(240,88,66,.85);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--night)}
body{margin:0;min-height:100vh;color:var(--text);font:400 1.125rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;background:var(--night)}
body.locked{overflow:hidden;height:100svh;touch-action:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--coral-hi);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
::selection{background:rgba(240,88,66,.45);color:#fff}

/* ───────────── Fejléc: klub, téglafal ───────────── */
.club{--pw:min(92vw,calc((100svh - 130px) / 1.414),580px);--pt:24px;
  position:relative;height:100svh;min-height:500px;overflow:hidden;overflow:clip;isolation:isolate;touch-action:pan-y;background:var(--night-3)}
.scene{position:absolute;inset:-28px;will-change:transform;
  background:
    radial-gradient(120% 60% at 50% 110%,rgba(0,0,0,.65),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='640'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.6 1.05'/%3E%3C/filter%3E%3Crect width='640' height='640' fill='%23000' filter='url(%23b)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .07 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='176' height='56'%3E%3Crect width='176' height='56' fill='%23141214'/%3E%3Crect x='2' y='2' width='82' height='24' rx='1.6' fill='%233b2723'/%3E%3Crect x='90' y='2' width='82' height='24' rx='1.6' fill='%2333221f'/%3E%3Crect x='-42' y='30' width='82' height='24' rx='1.6' fill='%23412a24'/%3E%3Crect x='46' y='30' width='82' height='24' rx='1.6' fill='%232e1f1c'/%3E%3Crect x='134' y='30' width='82' height='24' rx='1.6' fill='%23412a24'/%3E%3Cpath d='M2 3.5h82M90 3.5h82M46 31.5h82M134 31.5h82M0 31.5h40' stroke='%23fff' stroke-opacity='.05'/%3E%3C/svg%3E") 0 0/132px 42px}
/* Régebbi, félig letépett plakátok a falon (csak széles képernyőn, a fényfolton kívül) */
.rem{position:absolute;display:none;pointer-events:none;width:var(--pw);height:calc(var(--pw) * 1.414);top:calc(var(--pt) + 28px);opacity:.3;filter:saturate(.7) brightness(.85)}
.rem-a{left:calc(50% - var(--pw) * 1.62);transform:rotate(1.4deg);
  background:
    radial-gradient(circle at 46% 40%,#cf972f 0 27%,transparent 27.4%),
    linear-gradient(transparent 76%,#1f1d20 76% 84%,transparent 84% 87%,#1f1d20 87% 91%,transparent 91%),
    linear-gradient(170deg,#d3c6aa,#bfae8d);
  clip-path:polygon(0 3%,100% 0,97% 14%,100% 22%,93% 31%,98% 43%,90% 50%,96% 63%,88% 72%,95% 84%,91% 100%,0 98%)}
.rem-a::after{content:"";position:absolute;inset:0;background:#7d3a2c;clip-path:polygon(62% 0,100% 0,97% 14%,100% 22%,93% 31%,84% 26%,88% 15%,76% 9%)}
.rem-b{left:calc(50% + var(--pw) * .64);transform:rotate(-1.1deg);
  background:
    linear-gradient(#232125 0 56%,transparent 56%),
    linear-gradient(190deg,#d9d1c0,#c4b9a3);
  clip-path:polygon(6% 0,100% 2%,100% 100%,9% 97%,3% 86%,8% 74%,1% 61%,7% 49%,2% 37%,9% 22%,3% 11%)}
.rem-b::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(#d8cdb6,#c9bb9e);clip-path:polygon(0 30%,24% 12%,47% 26%,71% 4%,100% 18%,100% 100%,0 100%)}
@media (min-width:900px){.rem{display:block}}

/* ───────────── A plakát ───────────── */
.poster-pos{position:absolute;left:calc(50% - var(--pw) / 2);top:calc(var(--pt) + 28px);width:var(--pw);height:calc(var(--pw) * 1.414)}
.poster{position:absolute;inset:0;transform:rotate(-.9deg);transform-origin:50% 40%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45)) drop-shadow(0 14px 22px rgba(0,0,0,.35))}
.js .club.is-opening .poster{will-change:transform}
.paper{--k:0;--j:0;position:absolute;inset:0;container-type:inline-size;overflow:hidden;color:var(--ink);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .24 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23p)'/%3E%3C/svg%3E"),
    radial-gradient(130% 90% at 40% 25%,var(--paper) 55%,var(--paper-2));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),inset 0 0 28px rgba(120,96,60,.18);
  clip-path:polygon(0 0,100% 0,100% 80.4%,63% 80.4%,63% 100%,0 100%)}
/* A színrétegek: korall (c) enyhén elcsúszik, a fekete (k) a helyén áll. */
.c{transform:translate(calc(.5cqw + var(--k) * 5.5cqw),calc(-.35cqw + var(--k) * 2.8cqw)) rotate(calc(var(--k) * -1.8deg))}
.j{transform:translateY(calc(var(--j) * 1.6cqw));opacity:calc(1 - var(--j) * .35)}

.spk{position:absolute;left:19cqw;top:10.5cqw;width:62cqw;height:62cqw}
.spk-l{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mem{position:absolute;inset:0;transform-origin:50% 50%}
.spk .k{mix-blend-mode:multiply}
.club.is-thump .mem{animation:thump .62s cubic-bezier(.2,.6,.3,1) 1}
.club.is-live .mem{animation:beat 1.04s ease-out .7s infinite}
.club.is-paused .mem{animation-play-state:paused}
@keyframes thump{0%{transform:scale(1)}10%{transform:scale(1.07)}24%{transform:scale(.97)}40%{transform:scale(1.035)}58%{transform:scale(.99)}78%{transform:scale(1.01)}100%{transform:scale(1)}}
@keyframes beat{0%,100%{transform:scale(1)}8%{transform:scale(1.016)}22%{transform:scale(.996)}}

.p-ink{position:absolute;inset:0;display:flex;flex-direction:column;padding:5.5cqw 6cqw 5.2cqw}
.p-ink p{margin:0}
.p-strip{display:flex;justify-content:space-between;gap:4cqw;font:600 max(12px,4.5cqw)/1 var(--cond);text-transform:uppercase;letter-spacing:.04em;position:relative;z-index:1}
.p-rule{display:block;height:1.3cqw;margin-top:2.2cqw;background:var(--coral);width:100%}
.p-names{margin:auto 0 0;padding-bottom:2.5cqw;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:var(--display);font-weight:400;line-height:.9;color:var(--ink);mix-blend-mode:multiply;position:relative}
.p-names .nm{display:block;font-size:22cqw;letter-spacing:.005em;max-width:100%;white-space:nowrap}
.p-names .nm.long{white-space:normal;overflow-wrap:anywhere;text-wrap:balance;line-height:.95}
.p-names .amp{display:block;font-size:10cqw;line-height:1;margin:.6cqw 0 .2cqw;color:var(--coral)}
.p-info{width:55cqw;min-height:24cqw;display:flex;flex-direction:column;justify-content:flex-end;gap:1.1cqw;position:relative}
.p-date{font:400 8.2cqw/1 var(--display);letter-spacing:.01em;white-space:nowrap;margin-bottom:.8cqw!important}
.p-line{font:600 max(12px,4.5cqw)/1.1 var(--cond);text-transform:uppercase;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-gate{position:relative;align-self:flex-start;margin-top:1.2cqw!important;padding:1.1cqw 2.2cqw .9cqw;font:600 max(12px,4.5cqw)/1.1 var(--cond);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.p-gate .band{position:absolute;inset:0;background:var(--coral);z-index:0}
.p-gate .gate-t{position:relative;z-index:1;mix-blend-mode:multiply}
/* A ragasztó gyűrődései és a papír fénye */
.wrinkle{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(101deg,transparent 31%,rgba(255,255,255,.16) 32.2%,rgba(60,40,20,.08) 33.4%,transparent 35%),
    linear-gradient(78deg,transparent 64%,rgba(60,40,20,.07) 65%,rgba(255,255,255,.13) 66.2%,transparent 68%),
    linear-gradient(172deg,transparent 14%,rgba(255,255,255,.12) 15%,rgba(60,40,20,.06) 16.3%,transparent 18%),
    linear-gradient(8deg,transparent 52%,rgba(255,255,255,.08) 53%,transparent 55%),
    radial-gradient(14% 9% at 78% 22%,rgba(255,255,255,.14),transparent 70%),
    radial-gradient(18% 10% at 22% 66%,rgba(60,40,20,.06),transparent 70%)}
/* A letépett jegy helye: perforáció-maradvány */
.notch{position:absolute;left:63%;top:80.4%;right:0;bottom:0;pointer-events:none;opacity:0;
  border-top:2px dotted rgba(28,26,29,.4);border-left:2px dotted rgba(28,26,29,.4)}
.club.is-torn .notch{opacity:1}

/* A belépőjegy a plakát sarkán */
.stub{position:absolute;left:63%;top:80.4%;width:37%;height:19.6%;transform-origin:0 0;container-type:inline-size;cursor:grab;touch-action:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .24 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23p)'/%3E%3C/svg%3E"),
    linear-gradient(160deg,var(--paper),var(--paper-2));
  box-shadow:inset 0 0 18px rgba(120,96,60,.16)}
.stub::before{content:"";position:absolute;inset:0;border-top:2px dotted rgba(28,26,29,.45);border-left:2px dotted rgba(28,26,29,.45);pointer-events:none}
.stub-in{position:absolute;inset:0;padding:7cqw 8cqw 6cqw 10cqw;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}
.stub-in p{margin:0;white-space:nowrap}
.s-k{font:400 max(13px,19cqw)/1 var(--display);color:var(--coral);text-transform:uppercase;letter-spacing:.02em}
.s-n{font:600 max(12px,11cqw)/1 var(--cond)}
.s-d{font:600 max(12px,9.5cqw)/1 var(--cond);letter-spacing:.02em}
.s-no{font:600 max(12px,8cqw)/1 var(--cond);color:var(--ink-soft);display:none}
.stub .bar{display:block;width:100%;height:13cqw;fill:var(--ink)}
.club.is-open .stub{display:none}
.club.is-opening .stub{cursor:grab}

/* Fény: nyaláb, por, sötét, villanás */
.beam,.dust,.dark,.night,.flash{position:absolute;pointer-events:none}
.beam{left:0;top:0;transform-origin:50% 0;opacity:0;z-index:2;
  clip-path:polygon(47.5% 0,52.5% 0,100% 100%,0 100%);
  background:linear-gradient(90deg,transparent 4%,rgba(255,236,214,.07) 30%,rgba(255,242,224,.15) 50%,rgba(255,236,214,.07) 70%,transparent 96%);
  -webkit-mask-image:linear-gradient(transparent 22%,#000 55%,#000 78%,transparent);mask-image:linear-gradient(transparent 22%,#000 55%,#000 78%,transparent)}
.dust{inset:0;width:100%;height:100%;z-index:3}
.dark{left:0;top:0;z-index:4;will-change:transform}
.night{inset:0;z-index:5;background:rgba(5,4,7,.55);opacity:0}
.flash{inset:0;z-index:5;opacity:0;mix-blend-mode:screen;background:radial-gradient(60% 50% at 50% 45%,rgba(240,88,66,.42),rgba(240,88,66,.12) 55%,transparent 80%)}

.cue{position:absolute;z-index:6;left:50%;bottom:14px;transform:translateX(-50%);font:600 1rem/1 var(--cond);letter-spacing:.03em;color:var(--muted);text-decoration:none;padding:10px 12px;white-space:nowrap;transition:opacity .6s ease}
.cue::after{content:"";display:block;width:2px;height:20px;margin:9px auto 0;background:linear-gradient(var(--coral),transparent)}
.club.is-opening .cue{opacity:0;pointer-events:none;transition:none}

/* ───────────── Nyitás: tipp, kihagyás ───────────── */
.scene-ui{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 20px calc(10px + env(safe-area-inset-bottom));pointer-events:none;text-align:center;opacity:0;transition:opacity .5s ease}
.scene-ui.is-on{opacity:1}
.scene-ui.is-gone{opacity:0}
.scene-ui.is-gone *{pointer-events:none!important}
.scene-hint{margin:0;max-width:30em;font:400 1rem/1.35 var(--sans);color:var(--text);text-shadow:0 1px 8px rgba(0,0,0,.8)}
.scene-skip{pointer-events:auto;min-height:44px;padding:10px 14px;border:0;background:none;font:600 1rem/1 var(--cond);letter-spacing:.02em;color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.scene-skip:hover{color:var(--text)}

/* ───────────── Oldal ───────────── */
.pages{position:relative;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E"),var(--night)}
.sec{max-width:760px;margin:0 auto;padding:clamp(64px,10vw,104px) 20px}
.sec p{margin:0 0 1em}
.h2{margin:0 0 .5em;font:400 clamp(2.4rem,9vw,3.6rem)/1 var(--display);letter-spacing:.005em;color:var(--text)}
.kicker{font:600 1.05rem/1.2 var(--cond);color:var(--coral-hi);letter-spacing:.03em}
.sec-intro{color:var(--muted)}
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border:2px solid var(--coral);border-radius:2px;background:var(--coral);color:var(--ink);font:600 1.15rem/1 var(--cond);letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.btn:hover{background:var(--coral-hi);border-color:var(--coral-hi)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--text);border-color:rgba(236,229,214,.55)}
.btn.ghost:hover{border-color:var(--text);background:rgba(236,229,214,.06)}
.btn.ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.ink:hover{background:#000;border-color:#000}
.btn:disabled{opacity:.6;cursor:progress}

/* Meghívás */
.invite{text-align:left}
.invite-text{font:400 clamp(1.4rem,5.4vw,2rem)/1.35 var(--sans);color:var(--text);max-width:30em;text-wrap:pretty}
.when{margin:2.2em 0 2em;padding-left:18px;border-left:4px solid var(--coral)}
.when p{margin:0}
.when-date{font:400 clamp(2.6rem,12vw,4.4rem)/1 var(--display);color:var(--text);white-space:nowrap}
.when-day{margin-top:.5em!important;font:600 1.2rem/1.3 var(--cond);color:var(--muted);letter-spacing:.02em}
.when-place{font:600 1.2rem/1.3 var(--cond);color:var(--text);letter-spacing:.02em}

/* Rólunk: a fotó kiragasztott szórólapként */
.story{display:grid;gap:44px;align-items:center}
.flyer{position:relative;margin:0 auto;width:min(calc(100% - 40px),380px);padding:10px 10px 28px;background:var(--paper);transform:rotate(-1.6deg);box-shadow:0 18px 34px -16px rgba(0,0,0,.8)}
.flyer.rv{transform:translateY(18px) rotate(-1.6deg)}
.flyer.rv.in{transform:rotate(-1.6deg)}
.flyer img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:url(#kp-duo) contrast(1.05)}
.tape{position:absolute;width:86px;height:26px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.08)),var(--tape);opacity:.94;z-index:2;
  -webkit-mask-image:linear-gradient(90deg,transparent 0 2px,#000 2px calc(100% - 2px),transparent calc(100% - 2px)),repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 4px);mask-image:linear-gradient(90deg,transparent 0 2px,#000 2px calc(100% - 2px),transparent calc(100% - 2px))}
.flyer .tape-a{left:-18px;top:14px;transform:rotate(-38deg)}
.flyer .tape-b{right:-20px;bottom:30px;transform:rotate(-34deg)}
.story-text{max-width:34em}
.story-text h3{font:600 1.35rem/1.25 var(--cond);color:var(--coral-hi);margin:1.2em 0 .4em;letter-spacing:.02em}
.story-text ul{padding-left:1.2em;margin:0 0 1em}
.story-text strong{color:#fff;font-weight:600}
@media (min-width:760px){.story{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}

/* Fellépési sorrend: kézzel írt lista a színpad szélén */
.setlist{position:relative;margin:28px auto 0;max-width:520px;padding:34px clamp(20px,6vw,40px) 30px;background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .24 0 0 0 .14 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23p)'/%3E%3C/svg%3E"),
    #f1ebdf;
  color:var(--ink);transform:rotate(.8deg);box-shadow:0 22px 40px -18px rgba(0,0,0,.85)}
.setlist.rv{transform:translateY(18px) rotate(.8deg)}
.setlist.rv.in{transform:rotate(.8deg)}
.setlist .tape{top:-12px;width:96px}
.setlist .tape-a{left:18px;transform:rotate(-4deg)}
.setlist .tape-b{right:18px;transform:rotate(5deg)}
.sl-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin:0 0 14px!important;padding-bottom:10px;border-bottom:2px solid var(--ink);font:600 1rem/1.2 var(--cond);letter-spacing:.03em;text-transform:uppercase}
.sl-list{list-style:none;margin:0;padding:0}
.sl-list li{display:grid;grid-template-columns:3.6em 1fr;gap:12px;align-items:baseline;padding:10px 0 9px;border-bottom:1px solid rgba(28,26,29,.14)}
.sl-list li:last-child{border-bottom:0}
.sl-time{font:600 1.05rem/1 var(--cond);color:var(--coral-2);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.sl-body{display:flex;flex-direction:column;min-width:0}
.sl-title{font:700 clamp(1.7rem,7vw,2.15rem)/1.05 var(--hand);color:var(--ink);overflow-wrap:anywhere}
.sl-desc{margin-top:3px;font:400 1rem/1.45 var(--sans);color:var(--ink-soft)}

/* Helyszín */
.venue{text-align:center}
.venue-name{margin:.1em 0 .25em;font:400 clamp(2.8rem,13vw,5rem)/.95 var(--display);color:var(--text);text-transform:uppercase;overflow-wrap:anywhere}
.venue-addr{color:var(--muted);font-size:1.1rem}
.venue-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}

/* Jó tudni */
.good-list{margin:12px 0 0}
.good-list>div{padding:20px 0;border-top:1px solid rgba(236,229,214,.16)}
.good-list>div:last-child{border-bottom:1px solid rgba(236,229,214,.16)}
.good-list dt{font:600 1.3rem/1.25 var(--cond);color:var(--coral-hi);letter-spacing:.02em;margin-bottom:6px}
.good-list dd{margin:0;color:var(--text)}
.good-list dd p{margin:0 0 .6em}
.good-list dd ul{margin:0;padding-left:1.2em}
.good-list dd li{margin:.25em 0}

/* Visszajelzés: belépőjegy */
.ticket{position:relative;display:grid;grid-template-columns:1fr;background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .24 0 0 0 .12 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23p)'/%3E%3C/svg%3E"),
    var(--paper);
  color:var(--ink);color-scheme:light;border-radius:6px;box-shadow:0 26px 50px -22px rgba(0,0,0,.9)}
.t-main{padding:clamp(24px,6vw,44px)}
.t-title{margin:0 0 .35em;font:400 clamp(2.1rem,9vw,3rem)/1 var(--display);color:var(--ink)}
.rsvp-intro{color:var(--ink-soft)}
.t-stub{position:relative;padding:26px clamp(24px,6vw,44px) 28px;border-top:2px dashed rgba(28,26,29,.35);display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:end}
.t-stub::before,.t-stub::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--night)}
.t-stub::before{left:-12px}.t-stub::after{right:-12px}
.t-stub p{margin:0}
.ts-k{grid-column:1/-1;font:400 2.4rem/1 var(--display);color:var(--coral-2);text-transform:uppercase}
.ts-n{font:600 1.25rem/1.2 var(--cond);letter-spacing:.02em}
.ts-d{grid-column:1;font:400 1rem/1.35 var(--sans);color:var(--ink-soft)}
.ts-who{grid-column:1;font:700 1.7rem/1.1 var(--hand);color:var(--ink);display:none}
.ts-who.on{display:block}
.t-stub .bar{grid-column:2;grid-row:2/span 3;width:96px;height:56px;fill:var(--ink)}
@media (min-width:760px){
  .ticket{grid-template-columns:minmax(0,1fr) 220px}
  .t-stub{border-top:0;border-left:2px dashed rgba(28,26,29,.35);grid-template-columns:1fr;align-content:start;align-items:start;gap:10px;padding:44px 26px}
  .t-stub::before,.t-stub::after{top:auto;left:-13px}
  .t-stub::before{top:-12px}.t-stub::after{bottom:-12px;right:auto}
  .t-stub .bar{grid-column:1;grid-row:auto;width:100%;height:64px;margin-top:12px}
  .ts-d,.ts-who{grid-column:1}
}

.field{display:flex;flex-direction:column;gap:6px;margin:0 0 20px;border:0;padding:0;min-width:0}
.field label,.field legend{font:600 1.1rem/1.3 var(--cond);letter-spacing:.02em;color:var(--ink);padding:0}
.field small{font-size:.95rem;color:var(--ink-soft)}
.input{width:100%;min-height:48px;padding:10px 12px;border:2px solid rgba(28,26,29,.55);border-radius:2px;background:rgba(255,255,255,.45);color:var(--ink);font:400 1.06rem/1.4 var(--sans)}
.input::placeholder{color:#6f6a69}
.input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(240,88,66,.45)}
textarea.input{resize:vertical;min-height:96px}
select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.choice{display:flex;flex-direction:column;gap:10px}
.choice label{display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 14px;border:2px solid rgba(28,26,29,.4);border-radius:2px;font:400 1.06rem/1.3 var(--sans);cursor:pointer;transition:background .2s ease,border-color .2s ease}
.choice label:has(input:checked){border-color:var(--ink);background:rgba(240,88,66,.16)}
.choice input{width:20px;height:20px;margin:0;accent-color:var(--coral-2);flex:none}
.cond{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.cond>div{overflow:hidden;min-height:0}
.cond.show{grid-template-rows:1fr}
.form-error{min-height:1.2em;margin:0 0 10px;color:#a3241a;font-weight:600}
.rsvp-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.demo-note{margin:0!important;font-size:.95rem;color:var(--ink-soft)}
.thanks:focus{outline:none}
.thanks-title{font:400 2.2rem/1 var(--display);margin:0 0 .4em}

/* Zárás */
.closing{padding:72px 20px calc(64px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid rgba(236,229,214,.1)}
.closing p{margin:0}
.closing-names{font:400 clamp(2.4rem,11vw,4.6rem)/1 var(--display);color:var(--text);text-transform:uppercase;overflow-wrap:anywhere}
.closing-names span{color:var(--coral)}
.closing-date{margin-top:12px!important;font:600 1.2rem/1 var(--cond);color:var(--muted);letter-spacing:.04em}
.replay{margin-top:26px;min-height:44px;padding:10px 16px;border:0;background:none;color:var(--muted);font:600 1rem/1 var(--cond);letter-spacing:.03em;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.replay:hover{color:var(--text)}

/* Belépőkód */
.gate{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:rgba(8,7,9,.94)}
.gate form{color-scheme:light;width:min(100%,420px);padding:30px 26px;background:var(--paper);color:var(--ink);border-radius:4px;text-align:center}
.gate p{margin:0 0 14px}
.gate-names{font:400 2.2rem/1 var(--display);text-transform:uppercase}
.gate-names span{color:var(--coral-2)}
.gate .input{text-align:center;font-size:1.3rem;letter-spacing:.2em}

/* Mozgás nélkül */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .flyer.rv,.flyer.rv.in{transform:rotate(-1.6deg)}
  .setlist.rv,.setlist.rv.in{transform:rotate(.8deg)}
  .club .mem{animation:none!important}
  .cond{transition:none}
}
