/* ==========================================================================
   lezerharc.css — a Lézerharc program-oldal szakaszai. base.css mellé töltődik.
   (Ez a "gazdag" program-oldal sablon: pályák, kiemelt helyszín, árazás.)
   ========================================================================== */

/* ---------- Oldal-hero ---------- */
.phero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:clamp(3rem,6vw,5rem) 0}
.phero .bg{position:absolute;inset:0;opacity:.4}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,12,10,.95) 30%,rgba(16,12,10,.4)),radial-gradient(80% 90% at 90% 10%,rgba(255,122,24,.25),transparent 55%)}
.phero .wrap{position:relative;z-index:2}
.crumb{font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:#bdb0a2;margin-bottom:1.1rem}
.crumb a{color:var(--o-yellow)}
.phero h1{font-size:clamp(2.8rem,6vw,5.2rem);max-width:18ch}
.phero h1 .fl{color:transparent;background:var(--flame);-webkit-background-clip:text;background-clip:text}
.phero p.lead{font-size:1.15rem;line-height:1.6;color:#d9ccbe;max-width:60ch;margin:1.5rem 0 2rem}
.phero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.facts{display:flex;gap:2.4rem;margin-top:2.6rem;flex-wrap:wrap}
.facts .f b{display:block;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:2.4rem;line-height:1;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent}
.facts .f span{font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:#bdb0a2}

/* ---------- Szakaszfejléc (aloldali, blokk változat) ---------- */
.sec-head{margin-bottom:2.6rem}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.sec-head p{color:var(--muted);max-width:60ch;margin-top:.6rem;line-height:1.55}

/* ---------- Pálya-kártyák ---------- */
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.prog{position:relative;height:340px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);cursor:pointer}
.prog .photo{position:absolute;inset:0;transition:transform .5s}
.prog::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,10,.15) 30%,rgba(16,12,10,.9))}
.prog:hover .photo{transform:scale(1.07)}
.prog.hl::after{background:linear-gradient(180deg,rgba(226,36,20,.35) 0%,rgba(16,12,10,.85))}
.prog .bd{position:relative;z-index:2;padding:1.5rem}
.prog .tag{font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--o-yellow)}
.prog h3{font-size:1.9rem;margin:.2rem 0 .4rem;letter-spacing:.03em}
.prog p{font-size:.92rem;color:#e2d7c9;line-height:1.45}
.prog .more{margin-top:.9rem;display:inline-flex;align-items:center;gap:.4em;font-family:'Saira Condensed',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.06em;color:#fff;font-size:.9rem}
.prog .more .a{transition:transform .18s}
.prog:hover .more .a{transform:translateX(4px)}
.prog .badge{position:absolute;top:0;right:0;z-index:3;background:var(--flame-h);color:#1a0e00;font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:.74rem;letter-spacing:.08em;padding:.35em 1em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% 100%,16px 100%)}

/* ---------- Előny-sáv ---------- */
.fl-band{background:var(--ink);color:#fff;padding:3rem 0}
.fl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08)}
.fl-card{background:var(--ink);padding:1.6rem;display:flex;gap:1.1rem;align-items:flex-start}
.fl-card .ic{width:48px;height:48px;flex:0 0 auto;background:var(--flame-h);display:grid;place-items:center;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.fl-card .ic svg{width:24px;height:24px;stroke:#1a0e00;fill:none;stroke-width:2}
.fl-card h4{font-size:1.3rem;margin-bottom:.25rem}
.fl-card p{color:#bdb0a2;font-size:.9rem;line-height:1.45}

/* ---------- Kiemelt pálya ---------- */
.feat{background:var(--paper-2)}
.feat-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
.feat .imgs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.feat .imgs .a{grid-column:span 2;height:300px}
.feat .imgs .b{height:180px}
.feat .imgs .photo{width:100%;height:100%;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.feat-body .eyebrow{color:var(--o-red);margin-bottom:.5rem;display:block}
.feat-body h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:1rem}
.feat-body p{color:#5a4f45;line-height:1.6;margin-bottom:1rem}
.feat-pricing{background:var(--ink);color:#fff;padding:1.6rem;margin-top:1.5rem;clip-path:polygon(0 0,100% 0,100% 100%,18px 100%)}
.feat-pricing h3{font-size:1.4rem;color:var(--o-yellow);margin-bottom:1rem;font-style:italic;letter-spacing:.03em}
.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.1);gap:1rem}
.price-row:last-child{border-bottom:none}
.price-row .l{color:#d9ccbe;font-size:.95rem}
.price-row .l small{display:block;color:#8c7e70;font-size:.78rem}
.price-row .p{font-family:'Saira Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1.5rem;white-space:nowrap;background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent}
.note{font-size:.85rem;color:var(--muted);margin-top:1rem;font-style:italic}

/* ---------- Hol találsz minket ---------- */
.find{background:var(--ink);color:#fff}
.find-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.08);margin-top:2rem}
.find-card{background:var(--ink-2);padding:1.8rem;display:flex;gap:1.1rem;align-items:flex-start}
.find-card .ic{width:46px;height:46px;flex:0 0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center}
.find-card .ic svg{width:20px;height:20px;stroke:var(--o-orange);fill:none;stroke-width:2}
.find-card h4{font-size:1.15rem;font-style:italic;margin-bottom:.3rem}
.find-card p{color:#bdb0a2;font-size:.92rem;line-height:1.5}
.find-card a:hover{color:var(--o-yellow)}

/* ---------- CTA ---------- */
.cta{background:var(--ink);color:#fff;overflow:hidden;position:relative}
.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 .wrap{position:relative;z-index:2;text-align:center;padding:clamp(3rem,6vw,5rem) 0}
.cta h2{font-size:clamp(2.2rem,5vw,3.8rem);margin-bottom:1rem}
.cta p{color:#d9ccbe;font-size:1.1rem;max-width:50ch;margin:0 auto 2rem}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- Reszponzív ---------- */
@media(max-width:1080px){
  .prog-grid{grid-template-columns:repeat(2,1fr)}
  .fl-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .find-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
  .prog-grid{grid-template-columns:1fr}
}

/* ---------- Lézerharc helyszínek (dinamikus, app/data/laser_venues.php) ---------- */
.lv{padding:clamp(2.4rem,5vw,4rem) 0}
.lv.alt{background:var(--paper-2)}
.lv-head{margin-bottom:1.7rem}
.lv-head .eyebrow{color:var(--o-red);font-family:'Saira Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:.35rem}
.lv-head h2{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.12}
.lv-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:2.2rem;align-items:start}
.lv-media .photo{width:100%;height:100%;min-height:300px;background-size:cover;background-position:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.lv-text{color:#5a4f45;line-height:1.65}
.lv-prices{background:var(--ink);color:#fff;padding:1.3rem 1.5rem;margin-top:1.4rem;clip-path:polygon(0 0,100% 0,100% 100%,16px 100%)}
.lv-prices h3{font-size:1.2rem;color:var(--o-yellow);margin-bottom:.55rem;font-style:italic;letter-spacing:.03em}
.lv-prices p{line-height:1.6;white-space:pre-line;color:#efe6da;font-size:.94rem}
.lv-find{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2rem;align-items:stretch}
.lv-find-info h3{font-size:1.25rem;margin-bottom:.7rem;font-style:italic}
.lv-access{color:#5a4f45;line-height:1.6;margin-bottom:1rem;font-size:.94rem;white-space:pre-line}
.lv-contact{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.lv-contact li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink);font-size:.95rem}
.lv-contact a{color:var(--ink)}
.lv-contact a:hover{color:var(--o-orange)}
.lv-contact .ic{flex:0 0 auto;width:20px;height:20px;margin-top:1px}
.lv-contact .ic svg{width:20px;height:20px;stroke:var(--o-orange);fill:none;stroke-width:2}
.lv-map{min-height:260px}
.lv-map iframe{width:100%;height:100%;min-height:260px;border:0;display:block;border-radius:8px}
@media(max-width:820px){
  .lv-grid{grid-template-columns:1fr;gap:1.4rem}
  .lv-media .photo{min-height:210px}
  .lv-find{grid-template-columns:1fr;gap:1.2rem}
  .lv-map iframe{min-height:240px}
}
