
:root{--bg:#090611;--panel:#151020;--panel2:#0f0a16;--pink:#ff3fb4;--purple:#7c3cff;--cyan:#20e3ff;--text:#fff;--muted:#bbb2c9;--line:rgba(255,255,255,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 0,#281044 0,transparent 25%),radial-gradient(circle at 90% 15%,#321038 0,transparent 24%),var(--bg);color:#fff;font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,92%);margin:auto}.topbar{background:#050308;border-bottom:1px solid var(--line);padding:8px 0;color:#d8d0e3;font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.nav{position:sticky;top:0;z-index:50;background:rgba(9,6,17,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.navin{height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo img{width:178px;max-height:72px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(255,63,180,.25))}.menu{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:800}.menu a:hover,.menu a.active{color:var(--pink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.25s}.btn-primary{background:linear-gradient(90deg,var(--pink),var(--purple));box-shadow:0 0 30px rgba(255,63,180,.27)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 42px rgba(255,63,180,.42)}.btn-ghost{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.05)}.hero{min-height:660px;display:grid;place-items:center;position:relative;background:linear-gradient(90deg,rgba(5,3,10,.94),rgba(5,3,10,.55)),var(--hero,linear-gradient(135deg,#30114b,#0c2039));background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,var(--bg))}.hero .wrap{position:relative;z-index:2}.hero-content{max-width:800px;padding:80px 0}.eyebrow{display:inline-block;padding:8px 14px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(0,0,0,.28);color:#f6b5e3;font-size:13px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.hero h1{font-size:clamp(44px,7vw,82px);line-height:.96;letter-spacing:-.05em;margin:18px 0}.gradient{background:linear-gradient(90deg,#fff,#ff8ad1 45%,#9f76ff 75%,#61edff);-webkit-background-clip:text;color:transparent}.hero p,.lead{font-size:19px;line-height:1.75;color:#ddd4e5}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.stats{position:relative;z-index:3;margin-top:-48px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(20,14,31,.92);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}.stat{padding:25px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{display:block;font-size:28px}.stat span{color:var(--muted);font-size:13px}.section{padding:95px 0}.section.alt{background:rgba(255,255,255,.018);border-block:1px solid rgba(255,255,255,.04)}.head{text-align:center;max-width:780px;margin:0 auto 48px}.head h2,.content h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;margin:12px 0}.head p,.content p{color:var(--muted);line-height:1.75}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:linear-gradient(150deg,#171020,#0e0a14);border:1px solid var(--line);border-radius:24px;overflow:hidden}.card .pic{height:245px;overflow:hidden}.card .pic img{width:100%;height:100%;object-fit:cover;transition:.4s}.card:hover .pic img{transform:scale(1.05)}.cardbody{padding:25px}.card h3{font-size:25px;margin:0 0 10px}.card p{color:var(--muted);line-height:1.65}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{border-radius:26px;box-shadow:0 28px 70px rgba(0,0,0,.4)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.check{border:1px solid var(--line);background:rgba(255,255,255,.035);padding:15px 16px;border-radius:14px;font-weight:800}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:280px;object-fit:cover;border-radius:20px;border:1px solid var(--line);transition:.25s}.gallery img:hover{transform:translateY(-3px);filter:saturate(1.1)}.pricebox{padding:30px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,63,180,.08),rgba(124,60,255,.08))}.price{font-size:38px;font-weight:950;background:linear-gradient(90deg,var(--pink),var(--cyan));-webkit-background-clip:text;color:transparent}.cta{padding:68px 0}.ctabox{padding:50px;border-radius:30px;background:radial-gradient(circle at 90% 20%,rgba(32,227,255,.16),transparent 36%),linear-gradient(120deg,#391148,#1f1146 55%,#0c1e35);border:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center}.ctabox h2{font-size:clamp(32px,4vw,48px);margin:8px 0}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}.form{background:#130e1b;border:1px solid var(--line);padding:30px;border-radius:24px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:#d9cfdf;margin-bottom:7px}input,select,textarea{width:100%;background:#0b0810;border:1px solid #2c2438;color:#fff;border-radius:12px;padding:14px 15px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,63,180,.08)}textarea{min-height:145px;resize:vertical}.notice{font-size:12px;color:#8f839d;margin-top:10px}.footer{border-top:1px solid var(--line);padding:45px 0 30px;color:#a99fb5}.foot{display:grid;grid-template-columns:1fr auto;gap:30px}.footlinks{display:grid;grid-template-columns:repeat(2,auto);gap:10px 25px}.foot img{width:145px;margin-bottom:12px}.mail{color:#fff;font-weight:800}.mobile{display:none}.tag{display:inline-block;margin:4px 5px 4px 0;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#d8cfdf;font-size:13px}.artist{display:flex;gap:18px;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025)}.artisticon{font-size:38px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:900;font-size:18px}.faq p{color:var(--muted);line-height:1.7}@media(max-width:980px){.menu{display:none}.mobile{display:inline-flex}.cards{grid-template-columns:1fr 1fr}.split,.contact{grid-template-columns:1fr}.statgrid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.gallery{grid-template-columns:1fr 1fr}.ctabox{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.navin{height:72px}.logo img{width:145px}.hero{min-height:590px}.hero h1{font-size:47px}.hero p,.lead{font-size:17px}.section{padding:72px 0}.cards,.gallery,.grid2,.checks{grid-template-columns:1fr}.stat{padding:18px 8px}.gallery img{height:240px}.ctabox{padding:32px}.foot{grid-template-columns:1fr}.footlinks{grid-template-columns:1fr 1fr}}

img{max-width:100%;height:auto} .brand img,.logo img{object-fit:contain} img[src$=".svg"]{display:block}

/* Logo + fotografie update */
.logo img{width:150px;max-height:92px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}
.footer img{width:190px;max-height:145px;object-fit:contain;background:#fff;border-radius:12px;padding:6px}
.split img{width:100%;height:440px;object-fit:cover;border-radius:22px;box-shadow:0 20px 55px rgba(0,0,0,.35)}
.hero{background-image:linear-gradient(90deg,rgba(9,5,16,.94) 0%,rgba(9,5,16,.70) 52%,rgba(9,5,16,.28) 100%),var(--hero);background-size:cover;background-position:center}
@media(max-width:760px){.logo img{width:105px;max-height:70px}.split img{height:300px}}

/* Professionele fotoalbum-pagina */
.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.album-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(155deg,#171020,#0c0911);box-shadow:0 14px 40px rgba(0,0,0,.22);transition:.28s}
.album-card:hover{transform:translateY(-6px);border-color:rgba(255,63,180,.42);box-shadow:0 20px 55px rgba(0,0,0,.34),0 0 28px rgba(255,63,180,.09)}
.album-pic{height:230px;display:block;position:relative;overflow:hidden}
.album-pic img{width:100%;height:100%;object-fit:cover;transition:.45s}
.album-card:hover .album-pic img{transform:scale(1.07)}
.album-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:16px;background:linear-gradient(transparent 45%,rgba(7,3,12,.82))}
.album-overlay span{background:linear-gradient(90deg,var(--pink),var(--purple));padding:9px 13px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 0 25px rgba(255,63,180,.22)}
.album-body{padding:22px}
.album-kicker{color:#f49cd7;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900}
.album-body h3{font-size:24px;margin:8px 0 9px}
.album-body p{color:var(--muted);line-height:1.6;min-height:76px;margin:0 0 16px}
.album-link{font-weight:900;color:#fff}
.album-link:hover{color:var(--pink)}
@media(max-width:1080px){.album-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.album-grid{grid-template-columns:1fr}.album-pic{height:245px}.album-body p{min-height:0}}

/* Definitieve handmatig gesorteerde fotoalbums */
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.album-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(155deg,#171020,#0c0911);box-shadow:0 14px 40px rgba(0,0,0,.22);transition:.28s}.album-card:hover{transform:translateY(-5px);border-color:rgba(255,63,180,.42)}.album-pic{height:240px;display:block;position:relative;overflow:hidden}.album-pic img{width:100%;height:100%;object-fit:cover;transition:.4s}.album-card:hover .album-pic img{transform:scale(1.05)}.album-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:15px;background:linear-gradient(transparent 45%,rgba(7,3,12,.82))}.album-overlay span{background:linear-gradient(90deg,var(--pink),var(--purple));padding:9px 13px;border-radius:999px;font-size:12px;font-weight:900}.album-body{padding:20px}.album-kicker{color:#f49cd7;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.1em}.album-body h3{font-size:24px;margin:8px 0}.album-body p{color:var(--muted);line-height:1.6}.album-count{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:999px;background:rgba(32,227,255,.08);border:1px solid rgba(32,227,255,.2);color:#baf7ff;font-size:12px;font-weight:900}.album-link{font-weight:900;color:#fff}.local-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo-tile{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:#100b17}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:.35s}.photo-tile:hover img{transform:scale(1.045)}.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(2,1,5,.94);align-items:center;justify-content:center;padding:55px 70px}.lightbox.open{display:flex}.lightbox-img{max-width:90vw;max-height:86vh;object-fit:contain;border-radius:12px}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;border:1px solid rgba(255,255,255,.18);background:rgba(17,10,25,.78);color:#fff;cursor:pointer;border-radius:999px;display:grid;place-items:center;font-size:24px}.lightbox-close{right:24px;top:22px;width:48px;height:48px}.lightbox-prev,.lightbox-next{top:50%;width:52px;height:52px;transform:translateY(-50%)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-counter{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 13px;border-radius:999px;background:rgba(17,10,25,.78);border:1px solid rgba(255,255,255,.15);font-size:12px;font-weight:900}.logo img{width:150px;max-height:92px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.footer img{width:190px;max-height:145px;object-fit:contain;background:#fff;border-radius:12px;padding:6px}@media(max-width:1000px){.album-grid{grid-template-columns:repeat(2,1fr)}.local-gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.album-grid{grid-template-columns:1fr}.local-gallery{grid-template-columns:repeat(2,1fr);gap:9px}.album-pic{height:230px}.lightbox{padding:55px 8px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.logo img{width:105px;max-height:70px}}

/* HOMEPAGE WEDDING HEADER */
.home-wedding-hero{
  min-height:0;
  aspect-ratio:1536/489;
  background-image:var(--hero);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.home-wedding-hero:after{display:none}
.home-wedding-hero .wrap{width:100%;height:100%}
.home-header-content{padding:0;min-height:100%;max-width:none}

/* DEFINITIEVE HOMEPAGE HEADER - echte afbeelding, geen CSS-background */
.homepage-photo-header{
  width:100%;
  margin:0;
  padding:0;
  background:#08050d;
  overflow:hidden;
}
.homepage-photo-link{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  line-height:0;
}
.homepage-header-image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain;
}
@media(max-width:760px){
  .homepage-header-image{
    width:100% !important;
    height:auto !important;
  }
}

/* Homepage card images: verschillende passende foto's */
.cards .pic{overflow:hidden}
.cards .pic img{width:100%;height:230px;object-fit:cover;display:block}

/* Spam-proof contact form */
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.form-status{
  margin:0 0 18px;
  padding:14px 16px;
  border-radius:12px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.15);
}
.form-status.success{background:rgba(51,200,120,.12);border-color:rgba(51,200,120,.35)}
.form-status.error{background:rgba(255,80,110,.12);border-color:rgba(255,80,110,.35)}
