/* ==========================================================================
   home.css — a főoldal (/) szakaszai. A base.css mellé töltődik be.
   ========================================================================== */

/* ---------- Hero ---------- */
.hero{background:var(--ink);color:#fff;overflow:hidden;padding:clamp(3rem,7vw,6rem) 0 0}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 80% -10%,rgba(255,122,24,.28),transparent 55%),radial-gradient(90% 70% at 0% 110%,rgba(226,36,20,.22),transparent 55%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none;mix-blend-mode:overlay}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center}
.hero-eyebrow{color:var(--o-yellow);margin-bottom:1.1rem;display:flex;align-items:center;gap:.7rem}
.hero-eyebrow::before{content:"";width:34px;height:3px;background:var(--flame-h)}
.hero h1{font-size:clamp(2.8rem,6.6vw,6rem);margin-bottom:.35em;line-height:.92;letter-spacing:-.01em}
.rotator{display:block;position:relative;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(2.2rem,4.8vw,3.7rem);line-height:1;min-height:1.1em;margin:.05em 0 .15em;white-space:nowrap;overflow:visible}
.rotator .word{position:absolute;left:0;top:0;opacity:0;transform:translateY(20px) skewX(-6deg);transition:opacity .45s,transform .45s;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;padding-right:.22em}
.rotator .word.on{opacity:1;transform:translateY(0) skewX(-6deg);position:relative}
.hero p.lead{font-size:1.18rem;line-height:1.55;color:#d9ccbe;max-width:46ch;margin:1.4rem 0 2rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2.2rem}
.hero-tags span{font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;padding:.35em .85em;border:1.5px solid rgba(255,255,255,.18);color:#e9ddcf}
.hero-visual{position:relative;aspect-ratio:4/4.4}
.hero-visual .photo{position:absolute;border:1px solid rgba(255,255,255,.14)}
.hv1{width:66%;height:62%;top:0;right:0;z-index:2;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}
.hv2{width:52%;height:46%;left:0;bottom:14%;z-index:3;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.hv-badge{position:absolute;right:2%;bottom:2%;z-index:4;background:var(--flame-h);color:#1a0e00;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;line-height:.9;transform:rotate(-8deg);box-shadow:0 12px 30px rgba(0,0,0,.4)}
.hv-badge b{font-size:2.4rem;display:block}
.hv-badge small{font-size:.62rem;letter-spacing:.1em}
.crosshair{position:absolute;width:280px;height:280px;border:2px dashed rgba(255,122,24,.35);border-radius:50%;top:-60px;left:-60px;z-index:1;animation:spin 30s linear infinite}
.crosshair::before,.crosshair::after{content:"";position:absolute;background:rgba(255,122,24,.35)}
.crosshair::before{left:50%;top:-10px;bottom:-10px;width:1px;transform:translateX(-50%)}
.crosshair::after{top:50%;left:-10px;right:-10px;height:1px;transform:translateY(-50%)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Marquee ---------- */
.marquee{background:var(--flame-h);color:#1a0e00;overflow:hidden;padding:.55rem 0;border-block:3px solid var(--ink)}
.marquee .track{display:flex;gap:2.5rem;width:max-content;animation:scrollx 26s linear infinite;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:1.05rem;letter-spacing:.04em}
.marquee .track span{display:inline-flex;align-items:center;gap:2.5rem}
.marquee .track span::after{content:"◆";font-size:.7em}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- Statisztikák ---------- */
.stats{background:var(--ink-2);color:#fff;padding:3.2rem 0}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08)}
.stat{background:var(--ink-2);padding:1.4rem 1.2rem;text-align:center}
.stat .num{font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:clamp(2.6rem,5vw,3.8rem);background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.stat .lbl{font-size:.84rem;color:#bdb0a2;text-transform:uppercase;letter-spacing:.1em;margin-top:.35rem;font-weight:600}

/* ---------- Szakaszfejléc (főoldali, soros változat) ---------- */
.sec{padding:clamp(3.5rem,7vw,6.5rem) 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.6rem;flex-wrap:wrap}
.sec-head h2{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:.01em}
.sec-head p{color:var(--muted);max-width:40ch}

/* ---------- Programok rács ---------- */
.prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.prog{position:relative;background:#fff;border:1px solid var(--line);overflow:hidden;cursor:pointer;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);transition:transform .25s ease,box-shadow .25s ease}
.prog:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(16,12,10,.16)}
.prog .ph-img{aspect-ratio:4/3;width:100%}
.prog .body{padding:1rem 1.1rem 1.2rem}
.prog .tag{font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--o-red)}
.prog h3{font-size:1.5rem;margin:.15rem 0 .35rem;letter-spacing:.035em}
.prog p{font-size:.9rem;color:var(--muted);line-height:1.45}
.prog .go{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;background:var(--ink);color:#fff;display:grid;place-items:center;transform:translateY(-6px) scale(.7);opacity:0;transition:.25s}
.prog:hover .go{transform:none;opacity:1;background:var(--o-orange);color:#1a0e00}
.prog.feat{grid-column:span 2;grid-row:span 2}
.prog.feat .ph-img{aspect-ratio:auto;height:62%}
.prog.feat h3{font-size:2.4rem}
.prog .new{position:absolute;top:.7rem;left:0;background:var(--o-red);color:#fff;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:.72rem;letter-spacing:.1em;padding:.25em .8em;text-transform:uppercase}

/* ---------- Helykitöltő kép ---------- */
.ph-img{position:relative;background:repeating-linear-gradient(45deg,rgba(16,12,10,.05) 0 11px,rgba(16,12,10,.085) 11px 22px),var(--paper-2);display:grid;place-items:center}
.ph-img::after{content:attr(data-ph);font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:rgba(16,12,10,.38);padding:.4em .9em;border:1.5px dashed rgba(16,12,10,.25);background:rgba(246,241,233,.7)}
/* A .ph-img background-rövidítése felülírná a coveret — itt visszaállítjuk, hogy a fotók ne nagyítsanak rá */
.photo{background-size:cover;background-position:center;background-repeat:no-repeat}
.photo::after{display:none}
/* Kártya-fotók: a fókuszt kicsit feljebb tartjuk, hogy a szereplők/arcok kilátszódjanak */
.prog .ph-img{background-position:center 32%}
.prog.feat .ph-img{background-position:center 30%}
.loc-card .ph-img{background-position:center 38%}

/* ---------- Célközönség ---------- */
.aud{background:var(--paper-2)}
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.aud-card{background:#fff;border:1px solid var(--line);padding:1.5rem 1.3rem;position:relative;overflow:hidden;transition:.22s}
.aud-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(16,12,10,.12)}
.aud-card .ic{width:46px;height:46px;display:grid;place-items:center;background:var(--flame-h);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);margin-bottom:1rem}
.aud-card .ic svg{width:24px;height:24px;stroke:#1a0e00;fill:none;stroke-width:2}
.aud-card h3{font-size:1.35rem;margin-bottom:.3rem;letter-spacing:.035em}
.aud-card p{font-size:.88rem;color:var(--muted);line-height:1.45}
.aud-card .no{position:absolute;right:.6rem;bottom:.2rem;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:4rem;color:rgba(16,12,10,.05);letter-spacing:.035em}

/* ---------- Helyszínek ---------- */
.loc{background:var(--ink);color:#fff;overflow:hidden}
.loc::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 100% 0%,rgba(255,122,24,.18),transparent 60%)}
.loc .sec-head .eyebrow{color:var(--o-yellow)}
.loc .sec-head .eyebrow::before{background:var(--flame-h)}
.loc .sec-head p{color:#bdb0a2}
.loc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.1);position:relative}
.loc-card{background:var(--ink-2);padding:1.6rem 1.3rem;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.25s}
.loc-card .ph-img{position:absolute;inset:0;opacity:.32;filter:grayscale(.3)}
.loc-card:hover{background:var(--ink-3)}
.loc-card:hover .ph-img{opacity:.5}
.loc-card .pin{position:relative;color:var(--o-yellow);font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.3rem}
.loc-card h3{position:relative;font-size:1.9rem;letter-spacing:.035em}
.loc-card span.cnt{position:relative;color:#bdb0a2;font-size:.84rem;margin-top:.3rem}

/* ---------- Galéria ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:130px;gap:.7rem}
.gal-grid img{width:100%;height:100%;object-fit:cover;display:block}
.g-a{grid-column:span 2;grid-row:span 2}
.g-b{grid-column:span 2}
.g-c{grid-column:span 2;grid-row:span 2}
.g-wide{grid-column:span 2}
/* Kattintható galéria-csempék + "Több" overlay */
.gal-item{position:relative;border:0;padding:0;margin:0;cursor:pointer;overflow:hidden;background:#0a0706;display:block;width:100%;height:100%}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gal-item:hover img{transform:scale(1.06)}
.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,12,10,.4),transparent 55%);opacity:0;transition:.25s}
.gal-item:hover::after{opacity:1}
.gal-more{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(16,12,10,.62);color:#fff;font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:2.3rem;line-height:1;transition:.25s}
.gal-more small{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.35rem;font-weight:700}
.gal-item:hover .gal-more{background:rgba(16,12,10,.76)}

/* Galéria lightbox */
.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(10,7,6,.94);backdrop-filter:blur(6px);padding:clamp(1rem,4vw,3rem)}
.lightbox.open{display:flex}
.lb-stage{margin:0;max-width:1100px;display:flex;flex-direction:column;align-items:center}
.lb-stage img{max-width:100%;max-height:78vh;object-fit:contain;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-stage figcaption{color:#cdbfb2;font-size:.92rem;margin-top:.9rem;display:flex;gap:1rem;align-items:center}
.lb-count{color:var(--o-yellow);font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;letter-spacing:.08em}
.lb-close{position:absolute;top:.8rem;right:1.2rem;background:none;border:0;color:#fff;font-size:2.8rem;line-height:1;cursor:pointer;opacity:.85;transition:.2s}
.lb-close:hover{opacity:1;color:var(--o-yellow)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;width:54px;height:54px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s}
.lb-nav:hover{background:var(--flame-h);color:#1a0e00;border-color:transparent}
.lb-prev{left:clamp(.6rem,3vw,2.2rem)}
.lb-next{right:clamp(.6rem,3vw,2.2rem)}
@media(max-width:600px){.lb-nav{width:44px;height:44px;font-size:1.5rem}}

/* Lézer Célkereszt promó szakasz */
.game-promo .gp-card{position:relative;overflow:hidden;border-radius:16px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1.4fr .6fr;gap:2rem;align-items:center;padding:clamp(2rem,4vw,3.4rem);box-shadow:0 22px 50px rgba(16,12,10,.22)}
.game-promo .gp-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 130% at 100% 0,rgba(255,122,24,.32),transparent 55%),radial-gradient(90% 90% at -10% 120%,rgba(226,36,20,.24),transparent 55%);pointer-events:none}
.game-promo .gp-card::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none;mix-blend-mode:overlay}
.game-promo .gp-copy{position:relative;z-index:2}
.game-promo .gp-copy .eyebrow{color:var(--o-yellow);margin-bottom:.7rem}
.game-promo .gp-copy h2{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.02;margin-bottom:.7rem}
.game-promo .gp-copy p{color:#d9ccbe;max-width:48ch;margin-bottom:1.5rem;line-height:1.55}
.game-promo .gp-visual{position:relative;z-index:2;display:grid;place-items:center;min-height:170px}
.game-promo .gp-target{position:relative;width:160px;height:160px;display:grid;place-items:center}
.game-promo .gp-target .ring{position:absolute;border-radius:50%}
.game-promo .gp-target .r1{inset:0;border:2px solid rgba(255,122,24,.45)}
.game-promo .gp-target .r2{inset:26px;border:2px solid rgba(255,194,51,.55)}
.game-promo .gp-target .r3{inset:52px;border:2px solid rgba(226,36,20,.6)}
.game-promo .gp-cross{position:relative;font-family:'Saira Condensed',sans-serif;font-weight:900;font-size:3.4rem;color:var(--o-yellow);line-height:1}
.game-promo .gp-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,122,24,.55);animation:gpPulse 2.4s ease-out infinite}
@keyframes gpPulse{0%{transform:scale(.55);opacity:.85}100%{transform:scale(1.3);opacity:0}}
@media(max-width:680px){.game-promo .gp-card{grid-template-columns:1fr}.game-promo .gp-visual{order:-1;min-height:140px}}
.video-bar{margin-top:1.4rem;background:var(--ink);color:#fff;padding:1.4rem 1.6rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;clip-path:polygon(0 0,100% 0,100% 100%,18px 100%)}
.video-bar .play{width:58px;height:58px;border-radius:50%;background:var(--flame-h);display:grid;place-items:center;flex:0 0 auto;cursor:pointer;transition:.2s}
.video-bar .play:hover{transform:scale(1.08)}
.video-bar .play svg{width:22px;height:22px;fill:#1a0e00;margin-left:3px}
.video-bar h3{font-size:1.4rem;letter-spacing:.035em}
.video-bar p{color:#bdb0a2;font-size:.9rem}

/* ---------- Vélemények ---------- */
.rev{background:var(--paper-2)}
.trust{display:flex;align-items:center;gap:1.2rem;background:#fff;border:1px solid var(--line);padding:1.1rem 1.4rem;margin-bottom:2rem;flex-wrap:wrap}
.trust .score{font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:3rem;color:var(--ink);line-height:1}
.trust .stars{color:var(--o-orange);font-size:1.3rem;letter-spacing:.1em}
.trust .meta{font-size:.86rem;color:var(--muted)}
.trust .badge{margin-left:auto;display:flex;align-items:center;gap:.6rem;background:var(--ink);color:#fff;padding:.6rem 1rem;font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em}
.trust .badge .ok{width:22px;height:22px;border-radius:50%;background:#19a463;display:grid;place-items:center}
.trust .badge .ok svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:3}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.rev-card{background:#fff;border:1px solid var(--line);padding:1.5rem;position:relative}
.rev-card .q{font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:3.5rem;color:var(--o-orange);line-height:.6;height:.4em}
.rev-card p{font-size:.96rem;line-height:1.55;margin:.6rem 0 1.1rem}
.rev-card .who{display:flex;align-items:center;gap:.7rem}
.rev-card .av{width:40px;height:40px;border-radius:50%;background:var(--flame-h);display:grid;place-items:center;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;color:#1a0e00}
.rev-card .who b{display:block;font-size:.92rem;letter-spacing:.035em}
.rev-card .who small{color:var(--muted);font-size:.78rem}
.rev-card .rstars{color:var(--o-orange);font-size:.95rem;margin-bottom:.4rem;letter-spacing:.08em}

/* ---------- CTA / kapcsolat ---------- */
.cta{background:var(--ink);color:#fff;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 50%,rgba(226,36,20,.25),transparent 60%),radial-gradient(60% 80% at 0% 0%,rgba(255,122,24,.2),transparent 55%)}
.cta-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.cta h2{font-size:clamp(2.4rem,5vw,4.2rem);margin-bottom:1rem}
.cta .lead{color:#d9ccbe;font-size:1.1rem;line-height:1.5;max-width:42ch;margin-bottom:1.8rem}
.cta .contact-list{margin-top:2rem}

/* ---------- Űrlap (főoldali CTA) ---------- */
.form{background:#fff;color:var(--ink);padding:2rem;clip-path:polygon(0 0,100% 0,100% 100%,20px 100%)}
.form h3{font-size:1.6rem;margin-bottom:1.2rem;font-style:italic}
.field{margin-bottom:1rem}
.field label{display:block;font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin-bottom:.35rem;color:#5a4f45}
.field input,.field select,.field textarea{width:100%;padding:.8rem .9rem;border:1.5px solid var(--line);background:var(--paper);font-family:'Barlow',sans-serif;font-size:.98rem;color:var(--ink);transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--o-orange);box-shadow:0 0 0 3px rgba(255,122,24,.15)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form .btn-flame{width:100%;justify-content:center;margin-top:.5rem}
.form .form-note{font-size:.82rem;color:var(--muted);margin-top:.8rem;text-align:center}
.form .alert{background:#fff3f1;border:1.5px solid var(--o-red);color:#a3160a;padding:.8rem 1rem;font-size:.9rem;margin-bottom:1rem;border-radius:4px}
.form .alert.ok{background:#eafaf1;border-color:#19a463;color:#0f7a45}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Reszponzív (főoldal) ---------- */
@media(max-width:1080px){
  .prog-grid{grid-template-columns:repeat(2,1fr)}
  .prog.feat{grid-column:span 2;grid-row:auto}
  .prog.feat .ph-img{aspect-ratio:16/7;height:auto}
  .aud-grid{grid-template-columns:repeat(2,1fr)}
  .loc-grid{grid-template-columns:repeat(2,1fr)}
  .rev-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{aspect-ratio:16/12;margin-top:1rem}
  .stats .grid{grid-template-columns:repeat(2,1fr)}
  .cta-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .g-a,.g-c{grid-column:span 2}
}
@media(max-width:560px){
  .aud-grid,.loc-grid{grid-template-columns:1fr}
}
