/* =========================================================
   CamoGun – lasergraveren (pagina + blok op de homepage)
   Bouwt voort op style.css (kleuren, knoppen, .media, .reveal)
   ========================================================= */

/* ---------- menu: "nieuw"-label ---------- */
.menu a.is-new{display:inline-flex;align-items:center;gap:8px}
.menu a.is-new::before{content:"Nieuw";order:2;font:700 .62rem/1 Barlow,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:var(--o);color:var(--g-dd);padding:4px 6px;border-radius:2px}
.menu a.current::after{transform:scaleX(1)}

/* ---------- hero ---------- */
.lz-hero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--g-ddd);color:var(--w);overflow:hidden;isolation:isolate}
.lz-hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:radial-gradient(60% 70% at 78% 45%,rgba(254,155,40,.16),transparent 60%),
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/100% 46px,
  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/46px 100%}
.lz-hero .grain{z-index:-1}
.lz-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,90px);align-items:center;padding-top:140px;padding-bottom:110px;width:100%}
.lz-hero h1{font-size:clamp(3.2rem,7.6vw,7.4rem);font-weight:800;line-height:.9}
.lz-hero h1 .line{display:block;overflow:hidden;padding-bottom:.04em}
.lz-hero h1 .line>*{display:block}
.lz-hero h1 em{font-style:normal;color:var(--o)}
.lz-hero .lead{max-width:540px}

/* videokader met scanlijn */
.lz-frame{position:relative;width:100%;max-width:420px;margin-left:auto;aspect-ratio:9/14;border-radius:var(--r);overflow:hidden;background:#0d0e0b;
  box-shadow:0 0 0 1px rgba(254,155,40,.35),0 40px 90px -30px rgba(0,0,0,.8),22px 22px 0 var(--o)}
.lz-frame video,.lz-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lz-frame::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:2;background:var(--o);
  box-shadow:0 0 14px 3px rgba(254,155,40,.75),0 0 40px 8px rgba(254,155,40,.35);animation:scan 4.5s var(--ease) infinite}
.lz-frame::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,14,11,.35),transparent 25%,transparent 70%,rgba(13,14,11,.55))}
@keyframes scan{0%{top:-2%;opacity:0}8%{opacity:1}50%{top:100%;opacity:1}58%,100%{top:100%;opacity:0}}
.lz-tag{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(20,21,18,.78);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:10px 14px;border-left:4px solid var(--o);
  font:700 1rem/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em}
.lz-tag i{width:8px;height:8px;border-radius:50%;background:#ff3b2f;box-shadow:0 0 0 0 rgba(255,59,47,.6);animation:rec 1.6s infinite}
@keyframes rec{70%{box-shadow:0 0 0 9px rgba(255,59,47,0)}100%{box-shadow:0 0 0 0 rgba(255,59,47,0)}}
@media(max-width:900px){.lz-grid{grid-template-columns:1fr;padding-top:120px;padding-bottom:80px}
  .lz-frame{margin:0 auto;max-width:340px;box-shadow:0 0 0 1px rgba(254,155,40,.35),12px 12px 0 var(--o)}}

/* ---------- specs-strook ---------- */
.lz-specs{background:var(--o);color:var(--g-dd)}
.lz-specs .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.lz-specs div{padding:26px 22px;border-left:1px solid rgba(29,31,26,.18)}
.lz-specs div:first-child{border-left:0;padding-left:0}
.lz-specs b{display:block;font:800 clamp(1.7rem,3vw,2.4rem)/1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.lz-specs span{font-weight:600;font-size:.92rem}
@media(max-width:800px){.lz-specs .wrap{grid-template-columns:1fr 1fr}.lz-specs div{padding:20px 16px}
  .lz-specs div:nth-child(3){border-left:0;padding-left:0}.lz-specs div:nth-child(n+3){border-top:1px solid rgba(29,31,26,.18)}}

/* ---------- toepassingen ---------- */
.lz-uses{padding:var(--sec) 0}
.uses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ucard{position:relative;background:var(--sand);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.ucard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(29,31,26,.45)}
.ucard .media{aspect-ratio:4/3;border-radius:0}
.ucard .media img{transition:transform .9s var(--ease-out)}
.ucard:hover .media img{transform:scale(1.05)}
.ucard-body{padding:24px 24px 28px;display:grid;gap:8px}
.ucard-body b{font:800 .9rem 'Barlow Condensed',sans-serif;letter-spacing:.14em;color:var(--o-d)}
.ucard-body h3{font-size:1.6rem}
.ucard-body p{color:var(--muted);font-size:.98rem}
.ucard::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.ucard:hover::after{transform:scaleX(1)}
@media(max-width:960px){.uses-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.uses-grid{grid-template-columns:1fr}}

/* ---------- cerakote + laser (video) ---------- */
.lz-combo{padding:var(--sec) 0;background:var(--g);color:var(--w);overflow:hidden;isolation:isolate}
.lz-combo .camo{opacity:.35}
.combo-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);align-items:center}
.combo-grid .lz-frame{margin:0;max-width:380px}
.combo-txt .kicker{color:var(--o)}
.combo-txt p:not(.kicker){color:var(--txt-dk);margin-top:22px;max-width:52ch;font-size:1.08rem}
.combo-list{list-style:none;margin-top:34px;display:grid;gap:0;border-top:1px solid var(--line-dk)}
.combo-list li{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-dk)}
.combo-list span{font:800 1rem 'Barlow Condensed',sans-serif;color:var(--o);letter-spacing:.1em;padding-top:2px}
.combo-list strong{display:block;font:700 1.25rem/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-bottom:4px}
.combo-list p{color:var(--muted-dk);font-size:.96rem}
.play{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:transparent;cursor:pointer}
.play span{width:84px;height:84px;border-radius:50%;background:var(--o);display:grid;place-items:center;box-shadow:0 0 0 0 rgba(254,155,40,.55);animation:pulse 2.2s infinite;transition:transform .3s var(--ease)}
.play span::before{content:"";margin-left:6px;border-left:22px solid var(--g-dd);border-top:14px solid transparent;border-bottom:14px solid transparent}
.play:hover span{transform:scale(1.08)}
@keyframes pulse{70%{box-shadow:0 0 0 22px rgba(254,155,40,0)}100%{box-shadow:0 0 0 0 rgba(254,155,40,0)}}
.lz-frame.playing .play,.lz-frame.playing::after{display:none}
@media(max-width:900px){.combo-grid{grid-template-columns:1fr}.combo-grid .lz-frame{margin:0 auto}}

/* ---------- waarom MOPA ---------- */
.lz-tech{padding:var(--sec) 0;background:var(--sand)}
.tech-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,80px);align-items:start}
.tech-media{position:sticky;top:110px}
.tech-media .media{aspect-ratio:4/5}
.tech-note{margin-top:14px;font-size:.88rem;color:var(--muted)}
@media(max-width:900px){.tech-grid{grid-template-columns:1fr}.tech-media{position:relative;top:0}}

/* ---------- werkwijze (laser) ---------- */
.lz-process .step-img{display:none}

/* ---------- bestanden ---------- */
.files{margin-top:56px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:28px 32px;background:rgba(255,255,255,.04);border:1px solid var(--line-dk);border-left:5px solid var(--o);border-radius:var(--r)}
.files ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.files li{font:700 .95rem 'Barlow Condensed',sans-serif;letter-spacing:.08em;padding:6px 12px;border:1px solid var(--line-dk);border-radius:2px;color:var(--w)}
.files p{color:var(--txt-dk)}
@media(max-width:700px){.files{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.lz-cta{background:var(--o);color:var(--g-dd);padding:clamp(70px,9vw,110px) 0;position:relative;overflow:hidden}
.lz-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.lz-cta h2{max-width:13ch}
.lz-cta p{max-width:46ch;margin-top:14px;font-weight:500;font-size:1.08rem}
.lz-cta .btn{background:var(--g-dd);color:var(--w);min-height:60px;padding:18px 34px;font-size:1.08rem}
.lz-cta .btn:hover{background:var(--g)}

/* ---------- blok op de homepage ---------- */
.laser-teaser{background:var(--g-ddd);color:var(--w);padding:var(--sec) 0;overflow:hidden;isolation:isolate;position:relative}
.laser-teaser::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 20% 50%,rgba(254,155,40,.14),transparent 60%)}
.teaser-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);align-items:center}
.teaser-grid .lz-frame{margin:0;max-width:360px}
.teaser-txt .kicker{color:var(--o)}
.teaser-txt p:not(.kicker){color:var(--txt-dk);margin-top:22px;max-width:50ch;font-size:1.08rem}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 36px}
.chips li{padding:8px 14px;border:1px solid var(--line-dk);border-radius:40px;font-weight:600;font-size:.92rem;color:var(--txt-dk)}
.badge-new{display:inline-block;background:var(--o);color:var(--g-dd);font:700 .75rem/1 Barlow,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;border-radius:2px;margin-bottom:18px}
@media(max-width:900px){.teaser-grid{grid-template-columns:1fr}.teaser-grid .lz-frame{margin:0 auto;order:2}}

@media(prefers-reduced-motion:reduce){.lz-frame::after{display:none}.play span,.lz-tag i{animation:none}}
/* contrast op lichte achtergrond */
.lz-uses .o,.lz-tech .o{color:#e07f0c}

/* ---- v3 (25-10-2026) ---- */
/* kaart zonder foto: strak vlak met laserlijn in plaats van een lege plek */
.ucard .media.empty::after{content:"";border:0;border-radius:0;
  background:radial-gradient(circle at 50% 50%,transparent 0 26px,rgba(254,155,40,.9) 27px 29px,transparent 30px),
  linear-gradient(var(--o),var(--o)) 50% 50%/2px 84px no-repeat,linear-gradient(var(--o),var(--o)) 50% 50%/84px 2px no-repeat,
  linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/100% 22px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/22px 100%,
  linear-gradient(135deg,#2b2e26,#141512)}
.ucard .media.empty{background:#141512}
/* techniek: groot kengetal in plaats van foto */
.tech-stat{position:sticky;top:110px;background:var(--g-dd);color:var(--w);border-radius:var(--r);padding:clamp(28px,4vw,48px);overflow:hidden;isolation:isolate}
.tech-stat::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 60% at 85% 10%,rgba(254,155,40,.22),transparent 60%),
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/100% 34px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/34px 100%}
.tech-stat b{display:block;font:800 clamp(5rem,11vw,8.5rem)/.85 'Barlow Condensed',sans-serif;color:var(--o)}
.tech-stat b small{font-size:.38em;color:var(--w);margin-left:6px}
.tech-stat p{margin-top:18px;color:var(--txt-dk);max-width:40ch}
.tech-stat ul{list-style:none;margin-top:26px;border-top:1px solid var(--line-dk)}
.tech-stat li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-dk);font-size:.95rem}
.tech-stat li span{color:var(--muted-dk)}
@media(max-width:900px){.tech-stat{position:relative;top:0}}
.combo-grid .lz-frame::after{display:none}
