:root{
  --green-950:#0C1D14;   /* mélyzöld — mint a logó lombozata */
  --green-900:#13291D;
  --green-800:#1A3626;
  --green-700:#234A32;
  --gold:#D9C56E;
  --gold-pale:#EFE7AE;
  --gold-deep:#B89B4E;
  --cream:#F2EFE2;
  --text:rgba(240,242,230,.68);
  --glass:rgba(255,255,255,.055);
  --glass-strong:rgba(255,255,255,.09);
  --glass-line:rgba(239,231,174,.16);
  --div-dark:rgba(239,231,174,.13);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;font-size:17px;color:var(--text);background:var(--green-950);line-height:1.7;letter-spacing:.01em}
h1,h2{font-family:'Josefin Sans',sans-serif;color:var(--gold-pale);font-weight:300;line-height:1.45;letter-spacing:.22em;text-transform:uppercase}
h3,h4{font-family:'Cormorant Garamond',serif;color:var(--cream);font-weight:500;line-height:1.15}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{max-width:1300px;margin:0 auto;padding:0 20px}

/* ---------- üveg (glass) alap ---------- */
.glass{
  background:var(--glass);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  border:1px solid var(--glass-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 24px 60px rgba(0,0,0,.4);
}

/* ---------- komponensek ---------- */
.badge{display:inline-flex;align-items:center;gap:10px;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-line);border-radius:100px;padding:9px 22px;font-size:13px;font-weight:400;color:var(--gold-pale);letter-spacing:.32em;text-transform:uppercase;text-indent:.32em}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:14px;background:var(--gold);border-radius:100px;padding:7px 26px 7px 7px;font-weight:500;color:var(--green-950);font-size:16px;letter-spacing:.02em;transition:transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(217,197,110,.3)}
.btn .ico{width:42px;height:42px;border-radius:50%;background:var(--green-950);color:var(--gold-pale);display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;font-variant-emoji:text}
.btn.ghost{background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-line);color:var(--cream)}
.btn.ghost .ico{background:var(--gold);color:var(--green-950)}
.sec{padding:120px 0;position:relative}
.sec-head{max-width:720px;margin-bottom:64px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(22px,3vw,38px);margin:26px 0 18px}
.sec-head p{font-size:17px}

/* finoman világosabb sáv-váltás */
.dark{background:linear-gradient(var(--green-900),var(--green-800) 50%,var(--green-900))}
.dark::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(239,231,174,.04) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.dark > *{position:relative}

/* ---------- logó ---------- */
.brand{display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--gold-pale);font-family:'Josefin Sans',sans-serif;font-weight:300;text-transform:uppercase}
.brand .top{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.5em;text-indent:.5em}
.brand .top::before,.brand .top::after{content:"";width:36px;height:1px;background:var(--gold-pale);opacity:.7}
.brand .main{font-size:24px;letter-spacing:.38em;margin-top:8px;text-indent:.38em}
.brand.big .top{font-size:clamp(12px,1.5vw,19px)}
.brand.big .main{font-size:clamp(34px,6.4vw,80px);font-weight:200;border-bottom:1px solid rgba(239,231,174,.8);padding-bottom:30px}
.brand.big .top::before,.brand.big .top::after{width:clamp(60px,8vw,130px)}
/* képes logó — automatikusan ugyanabban a méretben mint a szöveges */
.brand .brand-img{max-height:52px;width:auto;display:block}
.brand.big .brand-img{max-height:clamp(90px,16vw,200px);width:auto;margin:0 auto;padding-bottom:20px;border-bottom:1px solid rgba(239,231,174,.6)}

/* ---------- header: lebegő üveg pill ---------- */
header{position:fixed;inset:0 0 auto 0;z-index:50;padding:16px 20px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1300px;margin:0 auto;border-radius:100px;padding:10px 10px 10px 30px}
.nav.glass{box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 14px 40px rgba(0,0,0,.45)}
nav ul{display:flex;gap:34px;list-style:none}
nav a{color:var(--cream);font-weight:400;font-size:15px;letter-spacing:.06em;transition:color .2s}
nav a:hover{color:var(--gold)}

/* hamburger — csak mobilon */
.burger{display:none;width:46px;height:46px;border-radius:50%;background:var(--gold);border:0;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:70}
.burger span{display:block;width:20px;height:2px;background:var(--green-950);position:relative;transition:.25s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--green-950);transition:.25s}
.burger span::before{top:-7px}
.burger span::after{top:7px}
.burger.open span{background:transparent}
.burger.open span::before{top:0;transform:rotate(45deg)}
.burger.open span::after{top:0;transform:rotate(-45deg)}

/* mobil menü panel */
.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);z-index:60;padding:100px 34px 40px;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);background:rgba(12,29,20,.85);backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);border-left:1px solid var(--glass-line);box-shadow:-20px 0 60px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:24px;overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a.nav-link{color:var(--cream);font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:18px;letter-spacing:.22em;text-transform:uppercase;padding:14px 0;border-bottom:1px solid var(--div-dark);transition:color .2s}
.mobile-menu a.nav-link:hover{color:var(--gold)}
.mobile-menu .btn{margin-top:14px;justify-content:center;font-size:15px}
.mobile-scrim{position:fixed;inset:0;background:rgba(12,29,20,.55);z-index:55;display:none}
.mobile-scrim.open{display:block;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

@media(max-width:1020px){
  nav{display:none}
  .nav > .btn{display:none}
  .burger{display:flex}
  .nav{padding:10px 10px 10px 22px}
}

/* ---------- szekció-háttér (feltölthető képek, --bg URL + --overlay opacity 0..1) ---------- */
.sec,.hero,footer{position:relative}
.sec[style*="--bg"],footer[style*="--bg"]{
  background-image:
    linear-gradient(rgba(12,29,20,var(--overlay)),rgba(12,29,20,var(--overlay))),
    var(--bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;color:var(--cream);
  background:linear-gradient(rgba(12,29,20,.72),rgba(12,29,20,.5) 45%,var(--green-950)),
  url('https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat,var(--green-900)}
.hero[style*="--bg"]{
  background-image:
    linear-gradient(rgba(12,29,20,var(--overlay)),rgba(12,29,20,calc(var(--overlay) * .8)) 45%,var(--green-950)),
    var(--bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.hero-brand{flex:1;display:flex;align-items:center;justify-content:center;padding-top:130px}
.hero .container.bottom{display:flex;flex-wrap:wrap;align-items:flex-end;gap:50px;justify-content:space-between;padding-bottom:90px}
.hero h1{font-size:clamp(19px,2.4vw,30px);max-width:720px}
.hero h1 .gold{color:var(--gold)}
.hero p.lead{max-width:520px;font-size:18px;margin:18px 0 34px}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap}
.hours{border-radius:26px;padding:34px;min-width:310px}
.hours h4{color:var(--gold-pale);font-family:'Jost',sans-serif;font-weight:400;font-size:15px;margin-bottom:16px;letter-spacing:.28em;text-transform:uppercase;text-indent:.28em}
.hours li{display:flex;justify-content:space-between;gap:30px;list-style:none;padding:10px 0;border-bottom:1px dashed var(--div-dark);font-size:15.5px}
.hours li:last-child{border-bottom:0}
.hours li b{color:var(--gold);font-weight:500}

/* ---------- rólunk ---------- */
.about .container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:960px){.about .container{grid-template-columns:1fr}}
.about-img{border-radius:30px;overflow:hidden;padding:12px}
.about-img img{width:100%;height:560px;object-fit:cover;border-radius:20px}
.about h2{font-size:clamp(20px,2.6vw,32px);margin:24px 0 18px}
.ticks{margin:28px 0 40px}
.ticks li{list-style:none;display:flex;gap:14px;margin-bottom:13px;color:var(--cream);font-weight:400;letter-spacing:.02em}
.ticks li::before{content:"✦";color:var(--gold)}

/* ---------- árlista ---------- */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:900px){.price-grid{grid-template-columns:1fr}}
.pcard{border-radius:28px;padding:42px 38px}
.pcard h3{font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:17px;letter-spacing:.3em;text-indent:.3em;text-align:center;color:var(--gold-pale);margin-bottom:8px;text-transform:uppercase}
.pcard h3::after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:16px auto 20px}
.pcard li{list-style:none;display:flex;align-items:baseline;gap:14px;padding:10.5px 0;font-size:16px;color:var(--text)}
.pcard li .name{color:var(--cream);font-weight:300}
.pcard li .dots{flex:1;border-bottom:1px dotted rgba(239,231,174,.25);transform:translateY(-4px)}
.pcard li .pr{color:var(--gold);font-weight:400;letter-spacing:.04em;white-space:nowrap}
.price-note{text-align:center;margin-top:46px;font-size:14px;opacity:.55}

/* ---------- galéria ---------- */
.gtabs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:54px}
.gtab{border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:100px;padding:10px 26px;font-family:inherit;font-weight:400;font-size:14.5px;letter-spacing:.06em;color:var(--cream);cursor:pointer;transition:.25s}
.gtab.active,.gtab:hover{background:var(--gold);color:var(--green-950);border-color:var(--gold)}
/* ---------- fodrászaink ---------- */
.team-grid{display:flex;flex-direction:column;gap:26px;max-width:920px;margin:0 auto}
.team-card{border-radius:26px;padding:32px 36px;display:flex;gap:34px;align-items:center;transition:transform .25s}
.team-card:hover{transform:translateY(-2px)}
.team-photo{width:200px;height:200px;flex-shrink:0;border-radius:50%;overflow:hidden;border:2px solid var(--gold);padding:4px;background:var(--green-800)}
.team-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.team-photo--empty{display:flex;align-items:center;justify-content:center;font-family:'Josefin Sans',sans-serif;font-size:72px;font-weight:200;color:var(--green-950)}
.team-body{flex:1;text-align:left}
.team-body h3{color:var(--gold-pale);font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:22px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.team-body p{color:rgba(240,242,230,.72);font-size:15px;line-height:1.65;margin:0}
@media(max-width:720px){
  .team-card{flex-direction:column;text-align:center;padding:32px 24px 28px;gap:20px}
  .team-photo{width:160px;height:160px}
  .team-body{text-align:center}
  .team-body h3{font-size:19px}
}

/* ---------- termékek ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:1000px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.prod-grid{grid-template-columns:1fr}}
.pcard-prod{border-radius:26px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s}
.pcard-prod:hover{transform:translateY(-4px)}
.pcard-prod .prod-img{aspect-ratio:1/1;overflow:hidden;background:var(--green-800)}
.pcard-prod .prod-img img{width:100%;height:100%;object-fit:cover;display:block}
.pcard-prod .prod-body{padding:26px 26px 30px;text-align:center}
.pcard-prod .prod-body h3{color:var(--gold-pale);font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:16px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
.pcard-prod .prod-body p{color:rgba(240,242,230,.68);font-size:14.5px;line-height:1.55;margin:0}
.products-note{text-align:center;margin-top:44px;font-size:14px;opacity:.6;font-style:italic}

/* termékek lapozó */
.pager{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:44px}
.pager-arrow{width:48px;height:48px;border-radius:50%;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-line);color:var(--gold-pale);font-family:'Josefin Sans',sans-serif;font-size:26px;line-height:1;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;padding:0}
.pager-arrow:hover:not(:disabled){background:var(--gold);color:var(--green-950);border-color:var(--gold);transform:translateY(-2px)}
.pager-arrow:disabled{opacity:.3;cursor:not-allowed}
.pager-dots{display:flex;gap:10px;align-items:center}
.pager-dot{width:9px;height:9px;border-radius:50%;background:rgba(239,231,174,.28);border:0;cursor:pointer;padding:0;transition:.25s}
.pager-dot:hover{background:rgba(239,231,174,.55)}
.pager-dot.active{background:var(--gold);width:28px;border-radius:100px}

.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:1000px){.ggrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ggrid{grid-template-columns:1fr}}
.gitem{border-radius:26px;overflow:hidden;position:relative;background:var(--green-800);border:1px solid var(--div-dark);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.gitem img{width:100%;height:340px;object-fit:cover}
.gitem .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 20px 14px;background:linear-gradient(transparent,rgba(12,29,20,.9));color:var(--gold-pale);font-size:14px;letter-spacing:.04em}
/* előtte-utána csúszka */
.ba{position:relative;user-select:none}
.ba img{pointer-events:none}
.ba .after{position:absolute;inset:0;overflow:hidden}
.ba .after img{height:340px;width:100%;object-fit:cover}
.ba .handle{position:absolute;top:0;bottom:0;width:2px;background:var(--gold);cursor:ew-resize}
.ba .handle::after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(12,29,20,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--gold);color:var(--gold-pale);font-size:11px;padding:8px 10px;border-radius:100px;white-space:nowrap}
.ba .tag{position:absolute;top:14px;padding:5px 14px;border-radius:100px;font-size:11px;letter-spacing:.14em;z-index:2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ba .tag.e{left:14px;background:rgba(12,29,20,.55);border:1px solid var(--div-dark);color:var(--cream)}
.ba .tag.u{right:14px;background:rgba(217,197,110,.9);color:var(--green-950)}
.gempty{text-align:center;padding:70px 20px;border:1px dashed var(--glass-line);border-radius:26px}

/* ---------- GYIK ---------- */
.faq{max-width:900px;margin:0 auto}
.faq details{border-radius:20px;margin-bottom:14px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;color:var(--cream);font-weight:400;font-size:17.5px;letter-spacing:.02em}
.faq summary::after{content:"+";color:var(--gold);font-size:26px;font-weight:300}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 30px 26px;font-size:16px}

/* ---------- ticker (seamless marquee: két track egymás mellett, -100% loop) ---------- */
.ticker{overflow:hidden;background:var(--gold);padding:18px 0;display:flex;flex-wrap:nowrap;white-space:nowrap}
.ticker .track{display:flex;flex-shrink:0;align-items:center;min-width:100%;animation:tick 40s linear infinite;font-family:'Josefin Sans',sans-serif;font-size:19px;letter-spacing:.18em;color:var(--green-950)}
.ticker .track span{padding:0 28px;flex-shrink:0}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ---------- footer ---------- */
footer{padding-top:100px;background:linear-gradient(var(--green-950),var(--green-900))}
.f-top{display:flex;align-items:center;gap:20px;margin-bottom:70px}
.f-top::before,.f-top::after{content:"";flex:1;height:1px;background:var(--div-dark)}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding-bottom:70px}
@media(max-width:900px){.f-grid{grid-template-columns:1fr}}
.f-grid h4{color:var(--gold-pale);font-family:'Jost',sans-serif;font-weight:400;font-size:14px;letter-spacing:.28em;text-transform:uppercase;text-indent:.28em;margin-bottom:22px}
.f-grid li{list-style:none;margin-bottom:11px}
.f-grid a{color:var(--text);transition:color .2s}
.f-grid a:hover{color:var(--gold)}
.f-grid p{font-size:15.5px}
/* ─── Cookie banner — kompakt, finom ─── */
.ck-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;max-width:860px;margin:0 auto;background:rgba(12,29,20,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(217,197,110,.22);border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.4);color:var(--text-light,#F0F2E6);font-family:'Jost',sans-serif;animation:ck-slide-up .4s cubic-bezier(.2,.9,.3,1.2)}
@keyframes ck-slide-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.ck-row{display:flex;align-items:center;gap:14px;padding:12px 14px 12px 20px;flex-wrap:wrap}
.ck-text{flex:1;min-width:0;font-size:13px;line-height:1.5;color:rgba(240,242,230,.85)}
.ck-text a{color:var(--gold-pale,#EFE7AE);text-decoration:underline;text-underline-offset:3px}
.ck-text a:hover{color:var(--gold,#D9C56E)}
.ck-btns{display:flex;gap:6px;align-items:center;flex-shrink:0}
.ck-btn{font-family:'Jost',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.04em;padding:9px 16px;border-radius:8px;cursor:pointer;transition:all .18s;border:1px solid transparent;white-space:nowrap}
.ck-btn-settings{background:transparent;border-color:rgba(217,197,110,.3);color:var(--gold-pale,#EFE7AE);padding:9px 11px;font-size:15px}
.ck-btn-settings:hover{background:rgba(217,197,110,.1);border-color:rgba(217,197,110,.5)}
.ck-btn-min{background:transparent;border-color:rgba(240,242,230,.25);color:rgba(240,242,230,.85)}
.ck-btn-min:hover{background:rgba(255,255,255,.06);border-color:rgba(240,242,230,.4)}
.ck-btn-all{background:var(--gold,#D9C56E);border-color:var(--gold,#D9C56E);color:var(--green-950,#0C1D14);font-weight:600}
.ck-btn-all:hover{background:var(--gold-pale,#EFE7AE);border-color:var(--gold-pale,#EFE7AE);transform:translateY(-1px)}
@media(max-width:600px){
  .ck-banner{left:8px;right:8px;bottom:8px}
  .ck-row{padding:14px 16px;gap:10px}
  .ck-text{font-size:12.5px;width:100%}
  .ck-btns{width:100%;justify-content:flex-end}
  .ck-btn-min,.ck-btn-all{flex:1}
}

/* ─── Cookie banner — kibontott részletes beállítás (inline) ─── */
.ck-detail[hidden]{display:none !important}
.ck-detail{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 20px 14px;border-top:1px solid rgba(217,197,110,.15);animation:ck-expand .25s ease}
@keyframes ck-expand{from{opacity:0;max-height:0}to{opacity:1;max-height:200px}}
.ck-detail .ck-opt{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12.5px;color:rgba(240,242,230,.85);padding:4px 0}
.ck-detail .ck-opt input[type="checkbox"]{flex-shrink:0;accent-color:var(--gold,#D9C56E);width:14px;height:14px;cursor:pointer;margin:0}
.ck-detail .ck-opt input[disabled]{opacity:.5;cursor:not-allowed}
.ck-detail .ck-opt small{color:rgba(240,242,230,.5);font-size:11.5px;margin-left:3px}
.ck-detail .ck-save{margin-left:auto;padding:7px 14px;font-size:12px}
@media(max-width:600px){
  .ck-detail{padding:10px 16px 14px;gap:10px}
  .ck-detail .ck-save{width:100%;margin-left:0;margin-top:4px}
}

.copy{border-top:1px solid var(--div-dark);text-align:center;padding:28px 0;font-size:13.5px;letter-spacing:.06em;color:rgba(240,242,230,.5)}
.copy a{color:var(--gold-pale);text-decoration:none;transition:color .2s}
.copy a:hover{color:var(--gold)}
.copy .copy-sep{opacity:.4;margin:0 4px}
@media(max-width:600px){.copy{line-height:1.9;padding:24px 16px}.copy .copy-sep{display:none}.copy a{display:inline-block;margin:0 10px}}

/* ---------- galéria lightbox ---------- */
.gitem{cursor:zoom-in}
.gitem .expand{position:absolute;bottom:14px;right:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:rgba(12,29,20,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-line);color:var(--gold-pale);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:.2s}
.gitem .expand:hover{background:var(--gold);color:var(--green-950)}
.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:26px;background:rgba(12,29,20,.82);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
.lb.show{display:flex}
.lb-body{width:100%;max-width:960px}
.lb-frame{border-radius:26px;overflow:hidden;position:relative;border:1px solid var(--glass-line);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.lb-frame img{width:100%;height:min(74vh,720px);object-fit:cover;display:block}
.lb-frame .after{position:absolute;inset:0;overflow:hidden}
.lb-frame .after img{width:100%;height:min(74vh,720px);object-fit:cover}
.lb-cap{text-align:center;margin-top:18px;color:var(--gold-pale);letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.lb-close{position:absolute;top:22px;right:22px;z-index:210;width:46px;height:46px;border-radius:50%;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-line);color:var(--cream);font-size:19px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
.lb-close:hover{background:var(--gold);color:var(--green-950)}

/* ---------- kapcsolati form ---------- */
.contact-wrap{max-width:820px;margin:0 auto}
.contact-form{border-radius:28px;padding:36px 40px;position:relative}
.contact-form label{display:block;color:var(--gold-pale);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-weight:400}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;background:rgba(12,29,20,.5);border:1px solid var(--glass-line);border-radius:14px;
  color:var(--cream);padding:14px 18px;font-family:inherit;font-size:15px;font-weight:300;margin-top:8px;
  transition:border-color .2s,background .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:0;border-color:var(--gold);background:rgba(12,29,20,.75)}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(-45deg,transparent 50%,var(--gold) 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat}
.contact-form .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
@media(max-width:640px){.contact-form .cf-grid{grid-template-columns:1fr}}
.contact-form .cf-note{color:rgba(240,242,230,.5);font-size:13px;text-align:center;margin-top:14px}
.contact-form .cf-consent{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:14px 16px;background:rgba(217,197,110,.06);border:1px solid rgba(217,197,110,.15);border-radius:10px;cursor:pointer;font-size:13.5px;line-height:1.5;color:rgba(240,242,230,.85)}
.contact-form .cf-consent input[type="checkbox"]{margin-top:2px;flex-shrink:0;accent-color:var(--gold);width:16px;height:16px;cursor:pointer}
.contact-form .cf-consent a{color:var(--gold-pale);text-decoration:underline;text-underline-offset:3px}
.contact-form .cf-consent a:hover{color:var(--gold)}
.contact-form .cf-files{margin-top:20px}
.contact-form .cf-files-title{color:var(--gold-pale);font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;margin-bottom:14px}
.contact-form .cf-files-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:720px){.contact-form .cf-files-grid{grid-template-columns:1fr}}
.contact-form .cf-file{position:relative;padding:16px 18px 14px;border:1px dashed var(--glass-line);border-radius:14px;background:rgba(239,231,174,.03);cursor:pointer;transition:.2s;display:block;margin:0}
.contact-form .cf-file:hover{border-color:var(--gold);background:rgba(239,231,174,.06)}
.contact-form .cf-file .cf-file-num{position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--green-950);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}
.contact-form .cf-file .cf-file-label{display:block;color:var(--gold-pale);font-size:13.5px;letter-spacing:.04em;text-transform:none;font-weight:500;margin-bottom:6px;padding-right:30px}
.contact-form .cf-file input[type=file]{background:transparent;padding:6px 0;border:0;color:var(--cream);font-size:12.5px;width:100%}
.contact-form .cf-file input[type=file]::file-selector-button{background:var(--gold);color:var(--green-950);border:0;border-radius:100px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;margin-right:10px}
.contact-form .cf-file .cf-file-hint{display:block;color:rgba(240,242,230,.45);font-size:11.5px;letter-spacing:0;text-transform:none;font-weight:400;margin-top:6px;line-height:1.4}
.contact-form .cf-files-note{color:rgba(240,242,230,.45);font-size:12px;text-align:center;margin-top:14px}
.alert{padding:16px 22px;border-radius:16px;margin-bottom:22px;text-align:center;font-weight:500;letter-spacing:.02em}
.alert.ok{background:rgba(63,167,84,.15);border:1px solid rgba(63,167,84,.4);color:#8FD9A0}
.alert.err{background:rgba(230,75,60,.15);border:1px solid rgba(230,75,60,.4);color:#F1978C}
