
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Caveat';src:url('fonts/caveat-latin-600-normal.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Nunito';src:url('fonts/nunito-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Nunito';src:url('fonts/nunito-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Nunito';src:url('fonts/nunito-latin-800-normal.woff2') format('woff2');font-weight:800;font-display:swap}
:root{
  --lila:#F1EBFC; --lila-mid:#D9CCF6; --kobalt:#2B2FC4; --inkt:#221E70;
  --fuchsia:#E5399E; --roze:#FFE1F1; --geel:#F9F871; --wit:#FFFDFB;
  --wa:#1EBE5D; --radius:26px; --shadow:0 14px 40px rgba(34,30,112,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;color:var(--inkt);background:var(--wit);line-height:1.65;font-size:17px}
img{display:block;max-width:100%;height:auto}
a{color:var(--kobalt)}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.25rem}
.script{font-family:'Caveat',cursive;font-size:1.55rem;color:var(--fuchsia);line-height:1.2}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.kicker{display:block;margin-bottom:.6rem}

/* announcement + header */
.bar{background:var(--kobalt);color:#fff;text-align:center;padding:9px 16px;font-size:.92rem}
.bar .s{color:var(--geel);font-family:'Caveat',cursive;font-size:1.15rem;margin:0 .35rem}
header{position:sticky;top:0;z-index:50;background:rgba(255,253,251,.94);backdrop-filter:blur(8px);border-bottom:1px solid #eee6fb}
.nav{display:flex;align-items:center;gap:28px;padding:14px 24px;max-width:1180px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--inkt)}
.logo-mark{width:38px;height:38px;flex:none}
.brand .t{line-height:1.05}
.brand .a{display:block;font-size:.62rem;letter-spacing:.42em;font-weight:700}
.brand .n{display:block;font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;letter-spacing:.06em}
nav.menu{margin-left:auto;display:flex;gap:26px;align-items:center}
nav.menu a{font-weight:700;font-size:.95rem;text-decoration:none;color:var(--inkt);padding:4px 0;border-bottom:2px solid transparent}
nav.menu a:hover{color:var(--fuchsia)}
nav.menu a.on{border-color:var(--fuchsia);color:var(--fuchsia)}
/* submenu onder Surprise bags */
.menu-groep{position:relative;display:flex;align-items:center;padding:12px 0;margin:-12px 0}
.menu-groep::after{content:'\25BE';font-size:.7rem;margin-left:5px;color:var(--kobalt)}
.submenu{position:absolute;top:100%;left:-14px;display:none;background:#fff;border-radius:16px;box-shadow:0 16px 34px rgba(34,30,112,.16);padding:8px;z-index:60}
.menu-groep:hover .submenu,.menu-groep:focus-within .submenu{display:block}
nav.menu .submenu a{display:block;padding:9px 14px;border-radius:12px;font-size:.92rem;white-space:nowrap;border-bottom:0 !important}
.submenu a:hover{background:var(--lila);color:var(--fuchsia)}
nav.menu .submenu a.on{color:var(--fuchsia);border-bottom:0 !important}

.burger{display:none;margin-left:auto;background:none;border:0;font-size:1.7rem;color:var(--inkt);cursor:pointer}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:999px;font-weight:800;font-size:.98rem;text-decoration:none;transition:.18s;border:2px solid transparent}
.btn-p{background:var(--kobalt);color:#fff}
.btn-p:hover{background:var(--inkt);transform:translateY(-2px)}
.btn-o{border-color:var(--kobalt);color:var(--kobalt);background:#fff}
.btn-o:hover{background:var(--lila)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{filter:brightness(1.07);transform:translateY(-2px)}
.wa-ico{width:20px;height:20px}

/* hero */
.hero{background:linear-gradient(180deg,var(--lila) 0%,var(--wit) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.hero-grid p.lead{font-size:1.13rem;margin:1.1rem 0 1.7rem;max-width:34rem}
.hero-img img,.hero-img video{border-radius:36px 120px 36px 36px;box-shadow:var(--shadow);width:100%;display:block}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}

/* strips & sections */
.trust{background:var(--inkt);color:#fff}
.trust .wrap{display:flex;justify-content:space-between;gap:18px;padding:16px 24px;flex-wrap:wrap;font-weight:700;font-size:.95rem}
.trust span b{color:var(--geel);margin-right:8px}
section.pad{padding:78px 0}
section.pad-s{padding:56px 0}
.center{text-align:center}
.sub{max-width:44rem;margin:0.8rem auto 0;font-size:1.05rem}
.tint{background:var(--lila)}
.tint-r{background:var(--roze)}
.pattern{height:104px;background-size:420px;background-repeat:repeat;border-top:4px solid #fff;border-bottom:4px solid #fff}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.cards-2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--inkt);transition:.2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px)}
.card img{aspect-ratio:4/4.4;object-fit:cover;width:100%}
.card .cb{padding:22px 24px 26px}
.card .cb p{font-size:.95rem;margin-top:.4rem;color:#4a4494}
.card .more{display:inline-block;margin-top:.8rem;font-weight:800;color:var(--fuchsia)}
.price-tag{display:inline-block;background:var(--geel);color:var(--inkt);font-weight:800;border-radius:999px;padding:3px 14px;font-size:.88rem;margin-top:.7rem}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split.rev .s-img{order:2}
.s-img img{border-radius:var(--radius);box-shadow:var(--shadow)}
.split h2{margin-bottom:.8rem}
.split ul{list-style:none;margin:1.1rem 0 1.4rem}
.split ul li{padding-left:1.7rem;position:relative;margin-bottom:.45rem}
.split ul li::before{content:"✦";position:absolute;left:0;color:var(--fuchsia)}
.price-line{font-size:1.15rem;margin-bottom:1.2rem}
.price-line b{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--kobalt)}
.price-line .w{display:block;font-size:.92rem;color:#4a4494}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.steps.vier{grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:1060px){.steps.vier{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.steps.vier{grid-template-columns:1fr}}
.step{background:#fff;border-radius:var(--radius);padding:38px 30px 34px;box-shadow:var(--shadow);text-align:center}
.step p{font-size:.97rem;margin-top:.5rem}
.step .stapnr{display:inline-block;font-family:'Caveat',cursive;font-size:1.25rem;color:var(--fuchsia);margin-bottom:.2rem}

/* geschilderde iconen */
.icoon{display:block;margin:0 auto 1.2rem;width:120px;height:120px;object-fit:contain;background:var(--lila);border-radius:50%;padding:17px}
.tint .icoon,.tint-r .icoon{background:#fff}
.icoon-vrij{display:block;margin:0 auto 1rem;width:86px;height:86px;object-fit:contain}
.icon-row{display:flex;justify-content:center;gap:44px;margin:34px 0 6px;flex-wrap:wrap}
.icon-row img{width:92px;height:92px;object-fit:contain}

/* gallery / insta */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.gal img{aspect-ratio:1;object-fit:cover;border-radius:20px;box-shadow:var(--shadow);transition:.2s}
.gal img:hover{transform:scale(1.03) rotate(-1deg)}

/* big cta */
.big-cta{position:relative;color:var(--inkt);text-align:center}
.big-cta .inner{background:rgba(255,253,251,.92);max-width:640px;margin:0 auto;border-radius:var(--radius);padding:52px 44px;box-shadow:var(--shadow)}
.big-cta{background-size:cover;background-position:center;padding:90px 24px}

/* page hero (subpages) */
.page-hero{background:linear-gradient(180deg,var(--lila),var(--wit));padding:64px 0 48px;text-align:center}
.page-hero .sub{font-size:1.1rem}
.banner{margin-top:-8px}
.banner img{width:100%;max-height:640px;object-fit:cover;object-position:center top;border-radius:var(--radius);box-shadow:var(--shadow)}

/* note strip */
.note{background:var(--roze);border-radius:var(--radius);padding:34px 40px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.note .script{font-size:1.9rem;flex:none}
.note p{flex:1;min-width:260px}

/* footer */
footer{background:var(--inkt);color:#CFC4F5;margin-top:90px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:44px;padding:64px 24px 40px;max-width:1180px;margin:0 auto}
.foot h4{color:#fff;font-family:'Fraunces',serif;margin-bottom:1rem;font-size:1.05rem}
.foot a{color:#CFC4F5;text-decoration:none;display:block;margin-bottom:.5rem}
.foot a:hover{color:var(--geel)}
.foot .brand{color:#fff;margin-bottom:1rem}
.foot .brand .a,.foot .brand .n{color:#fff}
.foot .tag{font-family:'Caveat',cursive;font-size:1.5rem;color:var(--geel)}
.copy{border-top:1px solid rgba(255,255,255,.14);text-align:center;padding:20px;font-size:.88rem}

/* floating whatsapp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:.2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px;color:#fff}

/* animaties */
@keyframes twinkle{0%,100%{opacity:.95;transform:scale(1) rotate(0)}50%{opacity:.35;transform:scale(.78) rotate(12deg)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}
@keyframes pulsewa{0%{box-shadow:0 10px 26px rgba(0,0,0,.25),0 0 0 0 rgba(30,190,93,.4)}70%{box-shadow:0 10px 26px rgba(0,0,0,.25),0 0 0 15px rgba(30,190,93,0)}100%{box-shadow:0 10px 26px rgba(0,0,0,.25),0 0 0 0 rgba(30,190,93,0)}}
.hero,.page-hero,.big-cta{position:relative;overflow:hidden}
.spark{position:absolute;pointer-events:none;line-height:1;animation:twinkle 3.2s ease-in-out infinite;user-select:none;z-index:1}
.hero .wrap,.page-hero .wrap,.big-cta .inner{position:relative;z-index:2}
.icoon-vrij{animation:floaty 4.5s ease-in-out infinite}
.step:hover .icoon,.icon-row img:hover{animation:wiggle .5s ease}
.logo-mark{transition:transform .3s}
.brand:hover .logo-mark{transform:rotate(18deg) scale(1.07)}
.wa-float{animation:pulsewa 3s infinite}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
/* merkband */
.merkband{background:#F9F871;overflow:hidden;padding:12px 0}
.merkband .track{display:flex;width:max-content;animation:marq 90s linear infinite}
.merkband .groep{display:flex;flex:none}
.merkband span{font-family:'Fraunces',serif;font-weight:600;font-size:1.08rem;color:var(--inkt);padding:0 16px;white-space:nowrap}
@keyframes marq{to{transform:translateX(-50%)}}
/* confetti */
.conf{position:fixed;width:9px;height:13px;border-radius:2px;z-index:99;pointer-events:none;animation:confval 1.4s ease-out forwards}
@keyframes confval{0%{transform:translate(0,0) rotate(0);opacity:1}30%{transform:translate(calc(var(--dx)*.55),var(--dy)) rotate(calc(var(--rr)*.4))}100%{transform:translate(var(--dx),290px) rotate(var(--rr));opacity:0}}
/* golvende onderstreping */
.golf{display:block;height:13px;width:150px;margin:10px 0 0}
.center .golf,.big-cta .golf{margin-left:auto;margin-right:auto}
.golf path{stroke-dasharray:190;stroke-dashoffset:190}
h2.in .golf path{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s ease .15s}
/* faq */
.faq{max-width:780px;margin:44px auto 0;text-align:left}
.faq details{background:#fff;border-radius:20px;box-shadow:var(--shadow);margin-bottom:14px;padding:20px 26px}
.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Fraunces',serif;font-size:1.5rem;color:var(--fuchsia);flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin-top:.8rem;color:#4a4494}
/* juridische pagina */
.jur{max-width:780px;margin:0 auto}
.jur h2{font-size:1.35rem;margin:2.2rem 0 .6rem}
.jur p{margin-bottom:.7rem}
@media(prefers-reduced-motion:reduce){
  .spark,.icoon-vrij,.wa-float,.merkband .track,.conf{animation:none}
  .rv{opacity:1;transform:none;transition:none}
}
@media(min-width:901px) and (max-width:1120px){
  .nav{gap:16px;padding:14px 16px}
  nav.menu{gap:16px}
  nav.menu a{font-size:.88rem;white-space:nowrap}
  nav.menu a.btn{padding:9px 14px !important;font-size:.85rem}
}
@media(max-width:900px){
  .bar{font-size:.82rem;padding:8px 14px}
  .bar .s{font-size:1rem;margin:0 .3rem}
  .bar-extra{display:none}
  .nav{padding:10px 16px;gap:14px}
  .logo-mark{width:32px;height:32px}
  .brand .a{font-size:.56rem;letter-spacing:.34em}
  .brand .n{font-size:1rem}
  .hero-grid{padding-top:40px;padding-bottom:52px}
  .page-hero{padding:44px 0 36px}
  .hero-grid,.split,.split.rev{grid-template-columns:1fr;gap:34px}
  .split.rev .s-img{order:0}
  .cards,.cards-2,.steps{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr}
  nav.menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:18px 24px;box-shadow:0 18px 30px rgba(34,30,112,.15);gap:16px}
  nav.menu.open{display:flex}
  .menu-groep{display:block;padding:0;margin:0}
  .menu-groep::after{display:none}
  .submenu{position:static;display:block;background:none;box-shadow:none;padding:8px 0 0 16px}
  .submenu a{padding:6px 0;font-size:.9rem;color:var(--fuchsia)}
  .burger{display:block}
  .trust .wrap{justify-content:center;text-align:center}
}


/* v15 - ruimte in de navigatie nu er een blogitem bij staat */
nav.menu>a,nav.menu .menu-groep>a{white-space:nowrap}
@media(min-width:901px) and (max-width:1600px){nav.menu{gap:18px}nav.menu a{font-size:.92rem}}
@media(min-width:901px) and (max-width:1250px){nav.menu{gap:14px}nav.menu a{font-size:.88rem}}
@media(min-width:901px) and (max-width:1080px){nav.menu{gap:12px}nav.menu a{font-size:.85rem}}

/* v15 - blogartikelen */
.post{max-width:740px;margin:0 auto;text-align:left}
.post h2{margin-top:2.3rem;margin-bottom:.5rem}
.post h3{margin-top:1.5rem;margin-bottom:.3rem}
.post p{font-size:1.05rem;line-height:1.78;margin-bottom:1rem}
.post ul,.post ol{margin:.4rem 0 1.4rem 1.25rem}
.post li{font-size:1.05rem;line-height:1.7;margin-bottom:.55rem}
.post a{color:var(--kobalt);text-decoration:underline;text-underline-offset:3px}
.post a:hover{color:var(--fuchsia)}
.meta{font-size:.9rem;opacity:.7;margin-top:.9rem}
.post-nav{margin-top:2.8rem;padding-top:1.3rem;border-top:2px dashed #D9CCF6}
.post-nav p{font-size:1rem}
@media(max-width:640px){.post p,.post li{font-size:1rem}}


/* v16 - geen witte knoppen meer, de tweede knop is nu lila gevuld */
.btn-o{border-color:transparent;color:var(--inkt);background:var(--lila-mid)}
.btn-o:hover{background:var(--kobalt);color:#fff;transform:translateY(-2px)}

/* v16 - geen kale strook meer tussen een gekleurd blok en de footer */
.tint+footer,.tint-r+footer,.big-cta+footer,.banner+footer{margin-top:0}

/* v16 - regel met blogverwijzingen */
.leesmeer{text-align:center;font-size:1rem;margin:0 auto;max-width:820px}
.leesmeer a{color:var(--kobalt);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.leesmeer a:hover{color:var(--fuchsia)}


/* Kralingen-kaarten tijdelijk offline: menu-item en webshopkaart verbergen. Verwijder dit blok om de pagina weer te tonen. */
a[href="/kralingen-kaarten"]{display:none !important}
