/* MSZK 40 Jubileumi Gálaest: a programfüzet stílusa (krém, arany legyezős sarkok, vékony keretek, serif nagybetűk) + a honlap hangulata (navy, cián, üveg, mozgás). Csak a mszk40 oldal tölti be. */
@font-face{font-family:"G40 Lora";src:url(../fonts/lora.woff) format("woff");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"G40 Lora";src:url(../fonts/lora-italic.woff) format("woff");font-weight:400 700;font-style:italic;font-display:swap}
.g40{--serif:"G40 Lora",Georgia,"Times New Roman",serif;--bg:#f3eee2;--page:#faf7f0;--ink:#333b36;--mut:#6b6f66;--gold:#a8864a;--gold2:#c9ab6c;--gl:rgba(168,134,74,.45);--navy:#003366;--cy:#19b4d2;--shadow:0 30px 70px -34px rgba(0,30,60,.45);
  background:var(--bg);color:var(--ink);overflow-x:clip}
html[data-theme=dark] .g40{--bg:#09121f;--page:#0f1d31;--ink:#eee8da;--mut:#a9b2bd;--gold:#d3b676;--gold2:#e8d09a;--gl:rgba(211,182,118,.4);--shadow:0 30px 70px -34px #000}
.g40 *{box-sizing:border-box}
.g40 :where(h1,h2,h3,h4){font-family:var(--serif);font-weight:400;color:var(--ink);margin:0}
:where(.g40) :where(p){margin:0}
:where(.g40) :where(a){color:inherit}
.g40 svg{width:1.15em;height:1.15em;flex:none}
/* ---- díszek ---- */
.g40-fan{position:absolute;width:clamp(70px,10vw,112px);aspect-ratio:1;background:var(--page);pointer-events:none;z-index:2}
.g40-fan::after{content:"";position:absolute;inset:0;background:var(--gold);-webkit-mask:url(../img/g40-fan.svg) 0 0/contain no-repeat;mask:url(../img/g40-fan.svg) 0 0/contain no-repeat;animation:g40fan 1.4s var(--ease,ease) both}
.g40-fan--tl{top:-1px;left:-1px}
.g40-fan--br{bottom:-1px;right:-1px;transform:rotate(180deg)}
@keyframes g40fan{from{clip-path:circle(0 at 0 0);opacity:.2}to{clip-path:circle(150% at 0 0);opacity:1}}
.g40-swirl{display:block;width:clamp(120px,18vw,170px);aspect-ratio:8/1;margin:.9rem auto;background:var(--gold);-webkit-mask:url(../img/g40-swirl.svg) center/contain no-repeat;mask:url(../img/g40-swirl.svg) center/contain no-repeat}
.g40-dia{display:inline-block;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.g40-eyebrow{font:600 .72rem/1.4 system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);text-align:center}
.g40-h{font-size:clamp(1.55rem,3.6vw,2.5rem);letter-spacing:.16em;text-transform:uppercase;text-align:center;line-height:1.25;margin-top:.5rem}
.g40-lead{max-width:60ch;margin:.4rem auto 0;text-align:center;color:var(--mut);line-height:1.75;font-size:1.02rem}
.g40-center{text-align:center;margin-top:2rem}
.g40-fine{text-align:center;color:var(--mut);font-size:.84rem;margin-top:1.4rem;letter-spacing:.02em}
/* ---- oldalkártyák ---- */
.g40-sec{padding:clamp(1.2rem,3vw,2rem) var(--gutter,1.2rem)}
.g40-page{position:relative;max-width:1100px;margin:0 auto;background:var(--page);border:1px solid var(--gl);padding:clamp(4.6rem,7vw,5.5rem) clamp(1.3rem,5vw,4.5rem) clamp(4.6rem,10vw,6.5rem);box-shadow:var(--shadow)}
.g40-page--narrow{max-width:820px}
.g40-head{margin-bottom:2.2rem}
.g40-wrap{max-width:1100px;margin:0 auto;position:relative;z-index:1}
/* ---- gombok ---- */
.g40 .g40-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.5rem;font:600 .78rem/1 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold);cursor:pointer;transition:transform .35s var(--ease,ease),box-shadow .35s,background .3s,color .3s;background:none;color:var(--ink);border-radius:2px}
.g40 .g40-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px -14px rgba(0,30,60,.5)}
.g40 .g40-btn:focus-visible{outline:2px solid var(--cy);outline-offset:3px}
.g40 .g40-btn .arrow{transition:transform .3s}.g40-btn:hover .arrow{transform:translateX(4px)}
.g40 .g40-btn--solid{background:linear-gradient(135deg,#003366,#0b5c8e 60%,#19b4d2);border-color:transparent;color:#fff}
.g40 .g40-btn--gold{background:linear-gradient(135deg,#b89556,#e2c88c 50%,#b89556);border-color:transparent;color:#2b2a22}
.g40 .g40-btn--line:hover{background:var(--gold);color:#fff}
.g40-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.6rem}
/* ---- címlap ---- */
.g40-hero{position:relative;padding:clamp(5.5rem,11vw,8rem) var(--gutter,1.2rem) 3.2rem;background:linear-gradient(180deg,#e9e2d0,var(--bg));overflow:hidden}
html[data-theme=dark] .g40-hero{background:linear-gradient(180deg,#04101f,var(--bg))}
.g40-aurora{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.g40-aurora i{position:absolute;width:48vw;height:48vw;max-width:640px;max-height:640px;border-radius:50%;filter:blur(90px);opacity:.28;background:radial-gradient(circle,#19b4d2,transparent 65%);animation:g40float 18s ease-in-out infinite}
.g40-aurora i:nth-child(1){left:-12%;top:-20%}.g40-aurora i:nth-child(2){right:-14%;bottom:-25%;background:radial-gradient(circle,#003366,transparent 65%);opacity:.22;animation-delay:-8s}
@keyframes g40float{50%{transform:translate(5%,8%) scale(1.12)}}
.g40-dust{position:absolute;inset:0;pointer-events:none}
.g40-dust i{position:absolute;left:var(--x);bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:var(--gold2);opacity:0;animation:g40up var(--t) linear var(--dl) infinite}
@keyframes g40up{0%{opacity:0;transform:translateY(0)}15%{opacity:.8}100%{opacity:0;transform:translateY(-78vh) translateX(26px)}}
.g40-cover{position:relative;max-width:900px;margin:0 auto;background:var(--page);border:1px solid var(--gl);padding:clamp(4.6rem,8vw,6rem) clamp(1.2rem,5vw,4rem) clamp(4.6rem,10vw,6.5rem);box-shadow:var(--shadow);text-align:center}
.g40-big40{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);font:400 clamp(14rem,42vw,30rem)/1 var(--serif);color:transparent;-webkit-text-stroke:1px var(--gl);opacity:.55;pointer-events:none;user-select:none;letter-spacing:-.04em}
.g40-cover__in{position:relative;z-index:1}
.g40-title{margin:1rem 0 0;line-height:1.08}
.g40-title span{display:block;font-size:clamp(2.6rem,9vw,5.4rem);letter-spacing:.2em;margin-right:-.2em;text-transform:uppercase}
.g40-title em{display:block;font-style:normal;font-size:clamp(1.15rem,3.4vw,2rem);letter-spacing:.34em;margin-right:-.34em;text-transform:uppercase;margin-top:.5rem;color:var(--gold)}
.g40-when{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;font:600 .8rem/1.4 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.g40-when i{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.g40-count{display:inline-block;margin-top:1.8rem;padding:1rem 1.6rem 1.1rem;border:1px solid var(--gl);background:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px}
html[data-theme=dark] .g40-count{background:rgba(255,255,255,.05)}
.g40-cd{display:flex;gap:clamp(.8rem,3vw,1.8rem);justify-content:center}
.g40-cd div{min-width:3.2rem}
.g40-cd strong{display:block;font:400 clamp(1.9rem,6vw,2.9rem)/1 var(--serif);color:var(--gold);font-variant-numeric:tabular-nums}
.g40-cd span{display:block;font:600 .62rem/1 system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--mut);margin-top:.45rem;margin-right:-.28em}
.g40-count p{margin-top:.8rem;font-size:.8rem;color:var(--mut);letter-spacing:.06em}
.g40-count.is-over .g40-cd{display:none}.g40-count.is-over p{margin:0;font:400 1.15rem var(--serif);color:var(--ink)}
.g40-dress{margin-top:1.3rem;font:600 .68rem system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.g40-scroll{display:block;width:26px;height:42px;border:1px solid var(--gold);border-radius:14px;margin:2.2rem auto 0;position:relative}
.g40-scroll span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--gold);animation:g40sc 1.8s ease-in-out infinite}
@keyframes g40sc{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
/* ---- szalag ---- */
.g40-marq{overflow:hidden;border-block:1px solid var(--gl);background:var(--page);padding:.85rem 0}
.g40-marq__t{display:flex;gap:2.4rem;width:max-content;animation:g40m 38s linear infinite}
.g40-marq span{font:600 .75rem system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:2.4rem;white-space:nowrap}
.g40-marq span::after{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
@keyframes g40m{to{transform:translateX(-50%)}}
/* ---- tények, évek ---- */
.g40-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.g40-facts>div{text-align:center;padding:.4rem 1rem;border-left:1px solid var(--gl)}
.g40-facts>div:first-child{border-left:0}
.g40-facts dt{display:flex;flex-direction:column;align-items:center;gap:.6rem;font:600 .68rem system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.g40-facts dt svg{width:1.9rem;height:1.9rem;stroke-width:1.3}
.g40-facts dd{margin:.8rem 0 0;font:400 1.25rem/1.3 var(--serif);letter-spacing:.06em}
.g40-facts small{display:block;margin-top:.3rem;color:var(--mut);font-size:.82rem;letter-spacing:.08em}
.g40-years{list-style:none;display:flex;justify-content:space-between;margin:3.2rem 0 0;padding:0;position:relative}
.g40-years::before{content:"";position:absolute;left:5%;right:5%;top:.9rem;height:1px;background:var(--gl)}
.g40-years li{position:relative;text-align:center;flex:1}
.g40-years li::before{content:"";display:block;width:9px;height:9px;margin:calc(.9rem - 4px) auto .8rem;background:var(--page);border:1px solid var(--gold);transform:rotate(45deg);position:relative}
.g40-years li:last-child::before{background:var(--gold)}
.g40-years b{display:block;font:400 1.3rem var(--serif);letter-spacing:.1em}
.g40-years span{font-size:.78rem;color:var(--mut);letter-spacing:.06em}
/* ---- program ---- */
.g40-tl{list-style:none;margin:0 auto;padding:0;max-width:640px;position:relative}
.g40-tl::before{content:"";position:absolute;left:6.4rem;top:.6rem;bottom:.6rem;width:1px;background:var(--gl)}
.g40-tl li{display:grid;grid-template-columns:5.4rem 2rem 1fr;align-items:start;padding:.9rem 0}
.g40-tl time{font:400 1.45rem/1.2 var(--serif);color:var(--gold);text-align:right;font-variant-numeric:lining-nums}
.g40-tl .g40-dot{width:9px;height:9px;margin:.55rem auto 0;border:1px solid var(--gold);background:var(--page);transform:rotate(45deg);transition:background .5s,box-shadow .5s,transform .5s;position:relative;z-index:1}
.g40-tl li.on .g40-dot{background:var(--gold);box-shadow:0 0 0 5px rgba(168,134,74,.18)}
.g40-tl .tx b{display:block;font:400 1.02rem/1.45 var(--serif);letter-spacing:.12em;text-transform:uppercase}
.g40-tl .tx small{display:block;margin-top:.25rem;color:var(--mut);font:italic 400 .95rem/1.5 var(--serif)}
.g40-tl .is-hl .tx{border:1px solid var(--gold);padding:.7rem 1rem;background:linear-gradient(90deg,rgba(168,134,74,.12),transparent);margin-top:-.3rem}
.g40-tl .is-hl .tx b{color:var(--gold)}
/* ---- jellemzők ---- */
.g40-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:0;border-top:1px solid var(--gl);border-left:1px solid var(--gl)}
.g40-feat{position:relative;padding:2.1rem 1.7rem 1.9rem;border-right:1px solid var(--gl);border-bottom:1px solid var(--gl);transition:background .4s}
.g40-feat:hover{background:rgba(168,134,74,.08)}
.g40-feat .g40-rn{position:absolute;right:1.2rem;top:1rem;font:italic 400 .95rem var(--serif);color:var(--gold);opacity:.8}
.g40-ico{display:inline-flex;color:var(--gold)}.g40-ico svg{width:2rem;height:2rem;stroke-width:1.2}
.g40-feat h3{margin:1rem 0 .55rem;font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase}
.g40-feat p{color:var(--mut);line-height:1.7;font-size:.95rem}
/* ---- sötét blokk (füzet, étlap) ---- */
.g40-dark{position:relative;background:linear-gradient(160deg,#001d3a,#003366 55%,#0b4a73);padding-block:clamp(3.5rem,8vw,6rem);margin-block:clamp(1.2rem,3vw,2rem);overflow:hidden}
.g40-dark .g40-aurora i{opacity:.35}
.g40-dark .g40-h,.g40-dark .g40-menutitle{color:#f6f0df}
.g40-dark .g40-eyebrow{color:#e2c88c}.g40-dark .g40-lead{color:#c5d7e4}
.g40-dark .g40-swirl{background:#e2c88c}
/* ---- füzet ---- */
.g40-pages{list-style:none;display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.2rem .4rem 1.8rem;margin:0;-webkit-overflow-scrolling:touch;scrollbar-color:#e2c88c transparent}
.g40-pages li{flex:0 0 clamp(210px,26vw,290px);scroll-snap-align:center}
.g40-pages li:nth-child(odd){transform:rotate(-1.2deg)}.g40-pages li:nth-child(even){transform:rotate(1deg) translateY(8px)}
.g40-pages a{display:block;box-shadow:0 22px 44px -18px rgba(0,0,0,.65);transition:transform .45s var(--ease,ease)}
.g40-pages a:hover{transform:translateY(-8px) scale(1.03)}
.g40-pages img{display:block;width:100%;height:auto;background:#faf7f0}
.g40-pages:focus-visible{outline:2px solid #7adbeb;outline-offset:4px}
/* ---- tombola ---- */
.g40-prizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;margin-top:.6rem}
.g40-prize{text-align:center;padding:1.8rem 1.3rem;border:1px solid var(--gl);position:relative}
.g40-prize::before{content:"";position:absolute;inset:6px;border:1px solid var(--gl);opacity:.55;pointer-events:none}
.g40-prize h3{margin:.8rem 0 .4rem;font-size:1.02rem;letter-spacing:.16em;text-transform:uppercase}
.g40-prize p{color:var(--mut);font-size:.93rem;line-height:1.6}
.g40-prize em{display:inline-block;margin-top:.9rem;font:600 .62rem system-ui,sans-serif;font-style:normal;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
/* ---- kvíz QR ---- */
.g40-quiz[hidden]{display:none}
.g40-qr{text-align:center}
.g40-qr__box{display:inline-block;padding:14px;background:#fff;border:1px solid var(--gl);outline:6px solid var(--page);box-shadow:0 0 0 7px var(--gl);width:min(260px,72vw)}
.g40-qr__box svg{display:block;width:100%;height:auto}
.g40-qr__url{margin-top:1.5rem;font:400 1.15rem var(--serif);letter-spacing:.14em}
/* ---- jegyek ---- */
.g40-tix{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;max-width:760px;margin:0 auto}
.g40-t{position:relative;text-align:center;padding:2.2rem 1.4rem;border:1px solid var(--gl);background:var(--page);transition:transform .4s var(--ease,ease),box-shadow .4s}
.g40-t:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.g40-t::before,.g40-t::after{content:"";position:absolute;top:50%;width:18px;height:18px;border:1px solid var(--gl);border-radius:50%;background:var(--bg);margin-top:-9px}
.g40-t::before{left:-10px;clip-path:inset(0 0 0 50%)}.g40-t::after{right:-10px;clip-path:inset(0 50% 0 0)}
.g40-t .g40-tg{font:600 .62rem system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.g40-t h3{margin:.7rem 0 .2rem;font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase}
.g40-price{font:400 clamp(2.2rem,5vw,3rem)/1.1 var(--serif);color:var(--ink);margin:.4rem 0}
.g40-price small{font-size:.9rem;margin-left:.35rem;color:var(--gold);letter-spacing:.14em}
.g40-t .g40-td{color:var(--mut);font-size:.9rem;line-height:1.6}
.g40-t.is-main{border-color:var(--gold);background:linear-gradient(180deg,rgba(168,134,74,.14),var(--page))}
.g40-sup{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;max-width:760px;margin:1.6rem auto 0;padding:1.4rem 1.6rem;border:1px solid var(--gl)}
.g40-sup h3{font-size:.95rem;letter-spacing:.16em;text-transform:uppercase}
.g40-sup p{color:var(--mut);font-size:.9rem;margin-top:.3rem;max-width:34ch}
.g40-sup .amts{display:flex;gap:.6rem;flex-wrap:wrap}
.g40-sup .amts b{font:400 1.05rem var(--serif);padding:.45rem .9rem;border:1px solid var(--gold);letter-spacing:.06em}
.g40-incl{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.8rem;padding:0;margin:2rem 0 0;font-size:.9rem;letter-spacing:.04em}
.g40-incl li{display:flex;align-items:center;gap:.5rem}.g40-incl svg{color:var(--gold)}
/* ---- étlap ---- */
.g40-menucard{position:relative;max-width:900px;margin:0 auto;background:#faf7f0;color:#333b36;padding:clamp(4.6rem,7vw,5.5rem) clamp(1.3rem,5vw,4rem) clamp(4.6rem,9vw,5.5rem);box-shadow:0 40px 90px -30px rgba(0,0,0,.7);text-align:center;--page:#faf7f0;--gold:#a8864a;--gl:rgba(168,134,74,.5);--ink:#333b36;--mut:#6b6f66}
.g40-menucard .g40-inner{position:absolute;inset:10px;border:1px solid rgba(168,134,74,.5);pointer-events:none}
.g40-menucard h3,.g40-menucard h4{color:#333b36}
.g40-menucard .g40-eyebrow{color:#a8864a}
.g40-menutitle{display:flex;justify-content:center;gap:clamp(.7rem,3vw,1.6rem);font:400 clamp(2.4rem,8vw,4.2rem)/1 var(--serif);margin:.8rem 0 0;background:linear-gradient(100deg,#333b36 35%,#c9ab6c 50%,#333b36 65%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:g40sh 7s ease-in-out infinite}
.g40-dark .g40-menutitle{color:transparent}
@keyframes g40sh{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.g40-menucard .g40-swirl{background:#a8864a}
.g40-mcols{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(1rem,3vw,2.4rem);margin-top:1.4rem;text-align:center}
.g40-mdiv{position:relative;width:1px;background:linear-gradient(transparent,rgba(168,134,74,.6) 12%,rgba(168,134,74,.6) 88%,transparent)}
.g40-mdiv i{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4px 0 0 -4px;background:#a8864a;transform:rotate(45deg);box-shadow:0 0 0 4px #faf7f0}
.g40-mcol section+section{margin-top:2.2rem}
.g40-mcol h3{display:inline-block;font-size:1.12rem;letter-spacing:.4em;margin-right:-.4em;text-transform:uppercase;padding:0 .2em .7rem;background:linear-gradient(90deg,transparent,#c9ab6c,transparent) bottom/100% 1px no-repeat;margin-bottom:1rem}
.g40-dish{margin-bottom:1.2rem}
.g40-dish h4{font-size:.98rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.g40-dish .g40-dn,.g40-dish .g40-dt{font:400 .72rem/1.7 system-ui,sans-serif;letter-spacing:.2em;color:#6b6f66;margin-top:.3rem}
.g40-dish .g40-dt{color:#8b7440}
.g40 i.v{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-right:.5rem;border:1px solid #a8864a;border-radius:50%;font:600 .6rem system-ui,sans-serif;font-style:normal;letter-spacing:0;color:#a8864a;vertical-align:.1em}
.g40-dish .g40-drinks{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem .2rem;margin-top:.6rem;font:400 .74rem system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#6b6f66}
.g40-dish .g40-drinks span+span::before{content:"✦";margin:0 .6rem;color:#c9ab6c;letter-spacing:0}
.g40-mnote{margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid rgba(168,134,74,.4);font-size:.82rem;color:#6b6f66;letter-spacing:.04em;line-height:1.7}
.g40-mnote a{color:#8b6a2a}
/* ---- praktikus, GYIK ---- */
.g40-two{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.2rem;align-items:start}
.g40-loc{padding:1.8rem;border:1px solid var(--gl);position:relative}
.g40-loc h3{font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase}
.g40-loc>p{margin:.7rem 0 1.2rem;color:var(--mut);line-height:1.7;font-size:.95rem}
.g40-loc dl{margin:0}.g40-loc dl>div{padding:.7rem 0;border-top:1px solid var(--gl)}
.g40-loc dt{font:600 .62rem system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.g40-loc dd{margin:.2rem 0 0;font:400 1rem var(--serif)}.g40-loc dd a{text-underline-offset:3px}
.g40-q{border-bottom:1px solid var(--gl)}.g40-q:first-child{border-top:1px solid var(--gl)}
.g40-q summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem .2rem;cursor:pointer;list-style:none;font:400 1rem/1.4 var(--serif);letter-spacing:.05em}
.g40-q summary::-webkit-details-marker{display:none}
.g40-q .g40-pm{color:var(--gold);transition:transform .3s}.g40-q[open] .pm{transform:rotate(45deg)}
.g40-q summary:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
.g40-qa{padding:0 .2rem 1.2rem;color:var(--mut);line-height:1.75;font-size:.95rem}
/* ---- záró ---- */
.g40-last{padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.g40-ctapage{text-align:center}
/* ---- mozgáskorlátozás, kicsi kijelző, sötét ---- */
@media (max-width:899px){
  .g40-facts{grid-template-columns:repeat(2,1fr);gap:1.6rem 0}.g40-facts>div:nth-child(3){border-left:0}
  .g40-two{grid-template-columns:1fr}
  .g40-mcols{grid-template-columns:1fr}.g40-mdiv{display:none}
  .g40-mcol+.g40-mdiv+.g40-mcol{margin-top:2.2rem}
}
@media (max-width:640px){
  .g40-when i{display:none}.g40-when{flex-direction:column;gap:.35rem}
  .g40-tix{grid-template-columns:1fr}
  .g40-tl::before{left:4.6rem}.g40-tl li{grid-template-columns:3.6rem 2rem 1fr}.g40-tl time{font-size:1.15rem}
  .g40-years b{font-size:1rem}.g40-years span{font-size:.66rem;display:block}
  .g40-page{padding:4.4rem 1.1rem 4.2rem}.g40-menucard{padding-bottom:4.2rem}.g40-head{margin-bottom:1.6rem}
  .g40-feat{padding:1.5rem 1.2rem 1.4rem}.g40-feat h3{margin:.7rem 0 .4rem}.g40-ico svg{width:1.7rem;height:1.7rem}
  .g40-prize{padding:1.4rem 1rem}.g40-t{padding:1.7rem 1rem}
  .g40 .g40-btn{padding:.8rem 1.1rem;letter-spacing:.14em;font-size:.72rem}
  .g40-sup{justify-content:center;text-align:center}
}
html[data-theme=dark] .g40-qr__box{background:#fff}
html[data-theme=dark] .g40-fan{background:var(--page)}
@media (prefers-reduced-motion:reduce){
  .g40 *,.g40 *::before,.g40 *::after{animation:none!important;transition:none!important}
}
/* Mobilmenü: a fejléc (logó, név, bezáró gomb) a lenyíló menü fölött maradjon */
.nav-open .site-header{z-index:130}

/* ===================== Asztali nézet (900 px felett); a telefonos nézet változatlan ===================== */
@media (min-width:900px){
  .g40-head{margin-bottom:2.6rem}
  .g40-sec+.g40-sec:not(.g40-dark)::before,.g40-dark+.g40-sec::before{content:"";display:block;width:1px;height:46px;margin:-3.2rem auto 1.2rem;background:linear-gradient(transparent,var(--gold))}
  /* program: bal oldalon a cím és a gomb, jobb oldalon az idővonal */
  .g40-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"head tl" "btn tl";gap:0 4rem;max-width:1100px;align-items:start}
  .g40-split .g40-head{grid-area:head;text-align:left;position:sticky;top:7rem;margin:0}
  .g40-split .g40-head .g40-eyebrow,.g40-split .g40-head .g40-h,.g40-split .g40-head .g40-lead{text-align:left;margin-left:0}
  .g40-split .g40-head .g40-swirl{margin-left:0}
  .g40-split .g40-head{padding-top:2.6rem}
  .g40-split .g40-tl{grid-area:tl;max-width:none;margin:0}
  .g40-split .g40-center{grid-area:btn;text-align:left;align-self:start;margin-top:0;position:sticky;top:19rem}
  /* kártyák, jegyek, étlap nagyobb kijelzőre */
  .g40-feats{grid-template-columns:repeat(3,1fr)}
  .g40-two{gap:3.4rem}
  .g40-pages li{flex-basis:230px}
}
@media (min-width:1180px){
  .g40-pages{overflow:visible;padding-inline:0}.g40-pages li{flex:1 1 0;min-width:0}
}
