/* ============================================================
   Vernast Vochtbestrijding — Realisaties (case study)
   Foto-gerichte projectpagina. Bovenop kelder.css + verslag.css
   ============================================================ */

/* ---------- PROJECT HERO (rood, foto-gericht) ---------- */
.rz-hero{position:relative;background:var(--red);color:#fff;overflow:hidden;padding:132px 0 0;}
.rz-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.10),transparent 46%),linear-gradient(120deg,var(--red-dark) 0%,var(--red) 62%);}
/* Opt-in: branded rode achtergrond-graphic in de hero i.p.v. de vlakke kleur (behoudt leesbaarheid via translucente overlay). */
.rz-hero--brand-bg::before{background:linear-gradient(120deg,rgba(94,0,9,.80) 0%,rgba(158,0,15,.42) 62%),url("/assets/hero-bg-red.png");background-size:cover;background-position:center;}
.rz-hero .wrap{position:relative;z-index:2;}
.rz-crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.72);flex-wrap:wrap;}
.rz-crumb a{color:rgba(255,255,255,.72);}
.rz-crumb a:hover{color:#fff;}
.rz-crumb .sep{opacity:.5;}
.rz-crumb .cur{color:#fff;font-weight:600;}
.rz-head{display:grid;grid-template-columns:1.35fr .65fr;gap:44px;align-items:end;margin-top:26px;}
.rz-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px;}
.rz-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:9999px;padding:7px 15px;font-size:12.5px;font-weight:600;backdrop-filter:blur(6px);}
.rz-tag svg{width:14px;height:14px;}
.rz-head h1{font-size:clamp(36px,5vw,60px);line-height:1.02;color:#fff;text-wrap:balance;}
.rz-loc{display:inline-flex;align-items:center;gap:9px;margin-top:20px;font-size:16px;color:rgba(255,255,255,.85);}
.rz-loc svg{width:18px;height:18px;}
.rz-lede{font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.86);}
.rz-hero-media{margin-top:52px;position:relative;}
.rz-hero-media img.imgslot,.rz-hero-media img{display:block;width:100%;height:min(60vh,560px);object-fit:cover;border-radius:22px 22px 0 0;box-shadow:0 -10px 60px rgba(0,0,0,.35);}
/* facts strip that straddles hero/content */
.rz-facts{position:relative;z-index:3;margin-top:-1px;background:#fff;border-radius:0 0 22px 22px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);}
.rz-fact{padding:26px 30px;border-right:1px solid var(--line);}
.rz-fact:last-child{border-right:0;}
.rz-fact .k{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);}
.rz-fact .v{font-size:20px;font-weight:800;color:var(--ink);margin-top:7px;line-height:1.15;}
.rz-fact .v small{display:block;font-size:13px;font-weight:600;color:var(--text-mid);margin-top:3px;}

/* ---------- BEFORE / AFTER SLIDER ---------- */
.ba-wrap{margin-top:54px;}
.ba{position:relative;width:100%;height:min(64vh,600px);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);user-select:none;touch-action:pan-y;}
.ba .ba-layer{position:absolute;inset:0;}
.ba .ba-layer img{display:block;width:100%;height:100%;object-fit:cover;}
.ba .ba-after{clip-path:inset(0 0 0 var(--split,50%));}
.ba .ba-badge{position:absolute;top:16px;z-index:4;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:9999px;backdrop-filter:blur(6px);}
.ba .ba-badge.b{left:16px;background:rgba(10,10,12,.62);color:#fff;}
.ba .ba-badge.a{right:16px;background:var(--red);color:#fff;}
.ba .ba-handle{position:absolute;top:0;bottom:0;left:var(--split,50%);width:2px;background:#fff;z-index:5;box-shadow:0 0 0 1px rgba(0,0,0,.18);cursor:ew-resize;}
.ba .ba-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;gap:2px;}
.ba .ba-grip svg{width:16px;height:16px;color:var(--red);}
.ba-hint{text-align:center;font-size:13.5px;color:var(--text-dim);margin-top:16px;display:inline-flex;align-items:center;gap:8px;width:100%;justify-content:center;}
.ba-hint svg{width:15px;height:15px;}

/* ---------- CONTENT + STICKY META ---------- */
.rz-grid{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start;}
.rz-body h2{font-size:34px;margin:0 0 4px;}
.rz-body h3{font-size:22px;margin:34px 0 12px;}
.rz-body p{font-size:16.5px;line-height:1.75;color:var(--text-mid);margin:16px 0 0;}
.rz-body .lead{font-size:19px;line-height:1.7;color:var(--text);margin-top:0;}
.rz-problems{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px;}
.rz-problems li{display:flex;gap:13px;align-items:flex-start;font-size:15.5px;color:var(--text);}
.rz-problems .x{width:24px;height:24px;border-radius:50%;background:var(--red-soft);color:var(--red);display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px;}
.rz-problems .x svg{width:13px;height:13px;}
/* sticky project card */
.rz-meta{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 26px;box-shadow:var(--shadow-sm);}
.rz-meta h4{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);margin:0 0 6px;}
.rz-meta dl{margin:0;display:grid;gap:0;}
.rz-mrow{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.rz-mrow:last-of-type{border-bottom:0;}
.rz-mrow dt{font-size:13.5px;color:var(--text-mid);}
.rz-mrow dd{font-size:14px;font-weight:700;color:var(--ink);margin:0;text-align:right;}
.rz-meta .btn{width:100%;justify-content:center;margin-top:20px;}
.rz-meta .m-note{font-size:12.5px;color:var(--text-dim);text-align:center;margin-top:12px;line-height:1.5;}

/* ---------- LIGHTBOX ---------- */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,6,6,.92);display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lb-close{position:absolute;top:22px;right:26px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lb-close:hover{background:rgba(255,255,255,.22);}
.lb-cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:rgba(255,255,255,.85);font-size:14px;padding:0 80px;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lb-nav:hover{background:rgba(255,255,255,.22);}
.lb-nav svg{width:22px;height:22px;}
.lb-prev{left:22px;}.lb-next{right:22px;}

/* ---------- RELATED REALISATIES ---------- */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;}
.rel-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
.rel-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.rel-card img.imgslot,.rel-card img{display:block;width:100%;height:220px;object-fit:cover;border-radius:0;}
.rel-card .rc-body{padding:22px 24px 24px;}
.rel-card .rc-tag{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--red);}
.rel-card h3{font-size:20px;margin:9px 0 8px;}
.rel-card p{font-size:14.5px;color:var(--text-mid);line-height:1.55;margin:0;}
.rel-card .rc-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:700;color:var(--red);}
.rel-card .rc-more svg{width:16px;height:16px;transition:transform .2s;}
.rel-card:hover .rc-more svg{transform:translateX(4px);}

/* ---------- SERVICE CROSSLINK BAND ---------- */
.svc-link{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.svc-link a{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:9999px;padding:11px 20px;font-size:14.5px;font-weight:700;color:var(--ink);transition:border-color .2s,transform .2s;}
.svc-link a:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);}
.svc-link a svg{width:16px;height:16px;color:var(--red);}

/* ---------- FOTOALBUM CARROUSEL ---------- */
.album{margin-top:50px;}
.alb-stage{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35);background:var(--bg-soft);}
.alb-slide{display:none;margin:0;position:relative;}
.alb-slide.on{display:block;}
.alb-slide img.imgslot,.alb-slide img{display:block;width:100%;height:560px;object-fit:cover;border-radius:0;cursor:zoom-in;}
.alb-cap{position:absolute;left:0;right:0;bottom:0;padding:48px 26px 20px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:15px;font-weight:600;display:flex;align-items:baseline;gap:14px;pointer-events:none;}
.alb-count{flex:none;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.05em;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:4px 11px;border-radius:9999px;}
.alb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s,background .2s;z-index:3;}
.alb-nav:hover{background:var(--red);color:#fff;transform:translateY(-50%) scale(1.06);}
.alb-nav svg{width:24px;height:24px;}
.alb-prev{left:18px;}
.alb-next{right:18px;}
.alb-thumbs{display:flex;gap:10px;margin-top:16px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;}
.alb-thumb{flex:none;display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-family:var(--font);font-size:13px;font-weight:600;padding:10px 16px;border-radius:9999px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s;}
.alb-thumb:hover{background:rgba(255,255,255,.16);}
.alb-thumb.on{background:#fff;color:var(--ink);border-color:#fff;}
.alb-thumb .tno{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;font-size:11px;font-weight:800;}

@media (max-width:1000px){
  .rz-head{grid-template-columns:1fr;gap:24px;}
  .rz-grid{grid-template-columns:1fr;gap:40px;}
  .rz-meta{position:static;}
  .rz-facts{grid-template-columns:1fr 1fr;}
  .rz-fact:nth-child(2){border-right:0;}
  .rz-fact:nth-child(1),.rz-fact:nth-child(2){border-bottom:1px solid var(--line);}
  .rel-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .alb-slide img.imgslot,.alb-slide img{height:340px;}
  .alb-nav{width:42px;height:42px;}
  .alb-prev{left:10px;}
  .alb-next{right:10px;}
}
@media (max-width:640px){
  .rz-hero{padding-top:104px;}
  .rz-facts{grid-template-columns:1fr;}
  .rz-fact{border-right:0;border-bottom:1px solid var(--line);}
  .rz-fact:last-child{border-bottom:0;}
  .rel-grid{grid-template-columns:1fr;}
  .ba,.rz-hero-media img.imgslot,.rz-hero-media img{height:52vh;}
  .alb-cap{font-size:13.5px;padding:40px 16px 16px;gap:10px;}
  .lightbox{padding:16px;}
  .lb-cap{padding:0 20px;bottom:14px;}
}

/* imgslot: echte <img> ter vervanging van <image-slot> design-placeholder */
img.imgslot{object-fit:cover;object-position:50% 50%;display:block;max-width:100%;}
