/* ============================================================
   CHA CHI VERSACI — homepage
   Overgenomen uit de sandbox (ccv-sandbox-logo (5).html).

   Alles is gescoped onder .ccv-home zodat de Elementor-header,
   de footer en de subpagina's hun eigen opmaak houden.
   De studio-, header- en footer-blokken uit de sandbox zijn
   bewust weggelaten: WordPress levert die zelf.
   ============================================================ */

/*
 * De basis (reset, wrap, koppen, eyebrow, squiggle, knoppen, de hero zelf,
 * de golven en de stickers) staat NIET meer hier maar in ccv-hero.css —
 * elke landingspagina gebruikt die component ook. De wrapper van de
 * homepage heeft daarom twee klassen: <div class="ccv-home ccv-hero">.
 *
 * Wat hieronder staat is wat alleen de homepage heeft: de secties.
 */

html{scroll-behavior:smooth}
.ccv-home{background:var(--bg)}
.ccv-home p,
.ccv-home a,
.ccv-home span,
.ccv-home div{font-family:'Nunito',sans-serif}
.ccv-home .btn,
.ccv-home .eyebrow,
.ccv-home .num,
.ccv-home .nn,
.ccv-home .kat,
.ccv-home .m-lbl,
.ccv-home .m-pill,
.ccv-home .m-amount,
.ccv-home .cnt,
.ccv-home .src,
.ccv-home .more,
.ccv-home .sticker,
.ccv-home .korting,
.ccv-home .date-box .d{font-family:'Fredoka',sans-serif}

.ccv-home .deep .eyebrow{color:var(--deep-bg);background:var(--deep-accent)}
.ccv-home .deep .squiggle{color:var(--deep-accent)}
.ccv-home .deep .squiggle::after{background:var(--pop);box-shadow:var(--glow-pop)}

/* ============ SECTIES ============ */
.ccv-home section{padding:80px 0}
.ccv-home .alt{background:var(--bg-alt)}
.ccv-home .section-head{text-align:center;max-width:700px;margin:0 auto 50px}
.ccv-home .section-head h2{font-size:clamp(31px,4.8vw,52px);font-weight:700;line-height:1.08;margin-bottom:14px}
.ccv-home .section-head p{font-size:17px;color:var(--muted);font-weight:600}

/* ============ OVER ============ */
.ccv-home .about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}
.ccv-home .about-img{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);transform:rotate(calc(var(--tilt) * .8));transition:transform .4s cubic-bezier(.2,.9,.3,1.3)}
.ccv-home .about-img:hover{transform:rotate(0deg)}
.ccv-home .about-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ccv-home .about h2{font-size:clamp(29px,4.4vw,48px);font-weight:700;line-height:1.1;margin-bottom:18px}
.ccv-home .about p{font-size:16.5px;margin-bottom:16px}
.ccv-home .roles{display:grid;gap:14px;margin-top:30px}
.ccv-home .role{display:flex;gap:18px;align-items:flex-start;background:var(--card);border-radius:var(--r-lg);padding:20px 24px;box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.2,.9,.3,1.35)}
.ccv-home .role:hover{transform:translateX(7px)}
.ccv-home .role .rn{flex:0 0 46px;height:46px;border-radius:16px;display:grid;place-items:center;font-family:'Fredoka',sans-serif;font-size:15px;font-weight:600;background:var(--accent);color:var(--on-accent);box-shadow:0 4px 0 var(--accent-deep)}
.ccv-home .role:nth-child(even) .rn{background:var(--pop);color:var(--on-pop);box-shadow:0 4px 0 var(--pop-deep)}
.ccv-home .role h4{font-family:'Fredoka',sans-serif;font-size:18px;font-weight:600;color:var(--ink);margin-bottom:3px}
.ccv-home .role p{font-size:15px;color:var(--muted);margin:0}

/* ============ ONDERNEMINGEN ============ */
.ccv-home .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.ccv-home .card{position:relative;background:var(--card);border-radius:var(--r-lg);padding:32px 30px;box-shadow:var(--shadow);transition:transform .34s cubic-bezier(.2,.9,.3,1.35),box-shadow .4s ease}
.ccv-home .card:hover{transform:translateY(calc(var(--lift) * -1)) rotate(var(--tilt));box-shadow:0 26px 44px -22px var(--accent)}
.ccv-home .card .num-lbl{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.ccv-home .card .nn{font-family:'Fredoka',sans-serif;font-size:13px;font-weight:600;color:var(--on-accent);background:var(--accent);padding:5px 12px;border-radius:var(--r-pill)}
.ccv-home .card:nth-child(even) .nn{background:var(--pop);color:var(--on-pop)}
.ccv-home .card .kat{font-family:'Fredoka',sans-serif;font-size:12.5px;font-weight:500;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.ccv-home .card .emo{font-size:36px;line-height:1;margin-bottom:14px;display:block}
.ccv-home .card h3{font-size:23px;font-weight:600;margin-bottom:9px}
.ccv-home .card p{font-size:15.5px;color:var(--text);margin-bottom:18px}
.ccv-home .card .korting{display:inline-block;font-family:'Fredoka',sans-serif;font-size:13px;font-weight:600;background:var(--pop);color:var(--on-pop);padding:6px 14px;border-radius:var(--r-pill);margin-bottom:14px;transform:rotate(-3deg);box-shadow:var(--glow-pop)}
.ccv-home .more{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:500;color:var(--accent-deep);display:inline-flex;align-items:center;gap:8px;transition:gap .3s ease}
.ccv-home .card:hover .more{gap:14px}

/* ============ DIENSTEN ============ */
.ccv-home .svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.ccv-home .svc{background:var(--card);border-radius:var(--r-lg);padding:30px 26px;text-align:center;box-shadow:var(--shadow);transition:transform .32s cubic-bezier(.2,.9,.3,1.4)}
.ccv-home .svc:hover{transform:translateY(-7px) rotate(calc(var(--tilt) * 1.2))}
.ccv-home .svc .sym{width:64px;height:64px;margin:0 auto 18px;border-radius:22px;display:grid;place-items:center;font-size:26px;color:var(--on-accent);background:var(--accent);box-shadow:0 5px 0 var(--accent-deep)}
.ccv-home .svc:nth-child(even) .sym{background:var(--pop);color:var(--on-pop);box-shadow:0 5px 0 var(--pop-deep)}
.ccv-home .svc:hover .sym{box-shadow:0 5px 0 var(--accent-deep),var(--glow-accent)}
.ccv-home .svc:nth-child(even):hover .sym{box-shadow:0 5px 0 var(--pop-deep),var(--glow-pop)}
.ccv-home .svc h3{font-size:20px;font-weight:600;margin-bottom:8px}
.ccv-home .svc p{font-size:15px;color:var(--muted)}

/* ============ MEDIA ============ */
.ccv-home .media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:20px}
.ccv-home .media{background:var(--card);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--shadow);transition:transform .32s cubic-bezier(.2,.9,.3,1.35);display:flex;flex-direction:column}
.ccv-home .media:hover{transform:translateY(-6px) rotate(var(--tilt))}
.ccv-home .media .src{align-self:flex-start;font-family:'Fredoka',sans-serif;font-size:12px;font-weight:500;color:var(--accent-deep);background:var(--pill);padding:5px 12px;border-radius:var(--r-pill);margin-bottom:12px}
.ccv-home .media h4{font-family:'Fredoka',sans-serif;font-size:18px;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:8px}
.ccv-home .media p{font-size:14.5px;color:var(--muted);margin-bottom:16px;flex:1}
.ccv-home .logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:46px}
.ccv-home .logos img{height:44px;width:auto;object-fit:contain;opacity:.6;filter:grayscale(1);transition:all .3s cubic-bezier(.2,.9,.3,1.3)}
.ccv-home .logos img:hover{opacity:1;filter:none;transform:translateY(-4px) rotate(-4deg)}

/* ============ YOUTUBE ============ */
.ccv-home .yt-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto}
.ccv-home .yt{background:var(--card);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .34s cubic-bezier(.2,.9,.3,1.35)}
.ccv-home .yt:hover{transform:translateY(-7px) rotate(calc(var(--tilt) * -1))}
.ccv-home .yt .yt-thumb{aspect-ratio:16/9;background:linear-gradient(140deg,var(--accent),var(--pop));display:grid;place-items:center}
.ccv-home .yt .yt-thumb i{font-size:52px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.ccv-home .yt .yt-body{padding:24px 26px;text-align:center}
.ccv-home .yt h3{font-size:20px;font-weight:600;margin-bottom:6px}
.ccv-home .yt p{font-size:14.5px;color:var(--muted);margin-bottom:16px}

/* ============ DIEPE SECTIE ============ */
.ccv-home .deep{background:var(--deep-bg);color:var(--deep-muted)}
.ccv-home .deep h2,.ccv-home .deep h3,.ccv-home .deep h4{color:var(--deep-text)}
.ccv-home .deep-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ccv-home .deep h2{font-size:clamp(31px,4.8vw,52px);font-weight:700;line-height:1.07;margin-bottom:18px}
.ccv-home .deep .lead{font-size:17.5px;color:var(--deep-muted);margin-bottom:26px;max-width:470px}
.ccv-home .deep .btn-outline{color:var(--deep-text);box-shadow:inset 0 0 0 3px var(--deep-border)}
.ccv-home .deep .btn-outline:hover{background:var(--deep-card)}
.ccv-home .deep .btn-solid{background:var(--deep-accent);color:#0f1a05;box-shadow:0 6px 0 rgba(0,0,0,.4)}
.ccv-home .deep .btn-solid:hover{box-shadow:0 3px 0 rgba(0,0,0,.4),0 0 24px -3px var(--deep-accent)}
.ccv-home .meter{background:var(--deep-card);border-radius:var(--r-xl);padding:32px 30px}
.ccv-home .m-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.ccv-home .m-lbl{font-family:'Fredoka',sans-serif;font-size:15px;font-weight:500;color:var(--deep-accent);display:flex;align-items:center;gap:9px}
.ccv-home .m-pill{font-family:'Fredoka',sans-serif;font-size:12.5px;font-weight:600;background:var(--deep-accent);color:#0f1a05;padding:6px 14px;border-radius:var(--r-pill);transform:rotate(3deg);box-shadow:0 0 16px -3px var(--deep-accent)}
.ccv-home .m-amount{font-family:'Fredoka',sans-serif;font-size:clamp(40px,5.8vw,56px);font-weight:700;color:var(--deep-text);line-height:1;margin-bottom:5px}
.ccv-home .m-sub{font-size:14.5px;color:var(--deep-muted);margin-bottom:20px}
.ccv-home .xp{height:22px;border-radius:var(--r-pill);background:rgba(0,0,0,.36);padding:4px;overflow:hidden;margin-bottom:11px}
.ccv-home .xp > span{display:block;height:100%;border-radius:var(--r-pill);background:repeating-linear-gradient(115deg,var(--deep-accent) 0 12px,var(--pop) 12px 24px);background-size:200% 100%;box-shadow:0 0 14px -2px var(--deep-accent);animation:ccv-slide 2.4s linear infinite}
@keyframes ccv-slide{to{background-position:-48px 0}}
.ccv-home .m-goal{display:flex;justify-content:space-between;font-size:13.5px;color:var(--deep-muted);font-weight:700}

/* ============ THEATERTOUR ============ */
.ccv-home .tour{display:grid;gap:12px;max-width:900px;margin:0 auto}
.ccv-home .date-row{
  display:grid;grid-template-columns:92px 1fr auto;gap:22px;align-items:center;
  background:var(--deep-card);border-radius:var(--r-lg);padding:16px 22px;
  transition:transform .3s cubic-bezier(.2,.9,.3,1.35),background-color .3s ease;
}
.ccv-home .date-row:hover{transform:translateX(8px) rotate(calc(var(--tilt) * .35));background:rgba(255,255,255,.13)}
.ccv-home .date-box{
  background:var(--deep-accent);color:#0f1a05;border-radius:var(--r-md);
  padding:10px 6px;text-align:center;box-shadow:0 4px 0 rgba(0,0,0,.35);
}
.ccv-home .date-box .dg{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.75;line-height:1}
.ccv-home .date-box .d{font-family:'Fredoka',sans-serif;font-size:25px;font-weight:600;line-height:1.1}
.ccv-home .date-box .m{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.ccv-home .date-info h4{font-family:'Fredoka',sans-serif;font-size:19px;font-weight:600;color:var(--deep-text);margin-bottom:2px}
.ccv-home .date-info span{font-size:14px;color:var(--deep-muted);font-weight:600}
.ccv-home .date-row .btn-pop{padding:10px 20px;font-size:14px;box-shadow:0 5px 0 var(--pop-deep)}
.ccv-home .tour-note{text-align:center;margin-top:26px;font-size:14.5px;color:var(--deep-muted)}
.ccv-home .show-tag{
  display:inline-flex;align-items:center;gap:8px;font-family:'Fredoka',sans-serif;
  font-size:13px;font-weight:600;background:var(--pop);color:var(--on-pop);
  padding:7px 16px;border-radius:var(--r-pill);transform:rotate(-2deg);
  box-shadow:var(--glow-pop);margin-bottom:16px;
}

/* ============ STAGE ============ */
.ccv-home .stage-cta{max-width:860px;margin:0 auto;background:var(--card);border-radius:var(--r-xl);padding:38px 40px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.ccv-home .stage-cta h3{font-size:26px;font-weight:600;margin-bottom:5px}
.ccv-home .stage-cta p{font-size:15.5px;color:var(--muted)}

/* ============ SOCIALS ============ */
.ccv-home .soc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:18px}
.ccv-home .soc{background:var(--card);border-radius:var(--r-lg);padding:28px 20px;text-align:center;box-shadow:var(--shadow);transition:transform .32s cubic-bezier(.2,.9,.3,1.4)}
.ccv-home .soc:hover{transform:translateY(-7px) rotate(calc(var(--tilt) * 1.4))}
.ccv-home .soc .si{width:56px;height:56px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center;font-size:24px;color:var(--on-accent);background:var(--accent);box-shadow:0 4px 0 var(--accent-deep)}
.ccv-home .soc:nth-child(even) .si{background:var(--pop);color:var(--on-pop);box-shadow:0 4px 0 var(--pop-deep)}
.ccv-home .soc:hover .si{box-shadow:0 4px 0 var(--accent-deep),var(--glow-accent)}
.ccv-home .soc:nth-child(even):hover .si{box-shadow:0 4px 0 var(--pop-deep),var(--glow-pop)}
.ccv-home .soc .cnt{font-family:'Fredoka',sans-serif;font-weight:600;font-size:24px;color:var(--ink)}
.ccv-home .soc .plat{font-size:13.5px;color:var(--muted);font-weight:700}

/* ============ INTERACTIE ============ */

/* Secties komen binnen bij het scrollen */
.ccv-home .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.3,1)}
.ccv-home .reveal.in{opacity:1;transform:none}

/* Balken vullen zich als ze in beeld komen */
.ccv-home .xp > span{width:0;transition:width 1.5s cubic-bezier(.25,.8,.3,1)}

/* Confetti hangt aan <body>, dus bewust buiten .ccv-home */
.confetti{position:fixed;width:9px;height:9px;border-radius:2px;pointer-events:none;z-index:400;will-change:transform,opacity}

@media(prefers-reduced-motion:reduce){
  .ccv-home .reveal{opacity:1;transform:none}
  .ccv-home .xp > span{transition:none}
}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .ccv-home .hero-grid,.ccv-home .deep-grid,.ccv-home .about-grid{grid-template-columns:1fr;gap:44px}
  .ccv-home .portrait-zone,.ccv-home .about-img{max-width:340px;margin:0 auto}
  .ccv-home .yt-grid{grid-template-columns:1fr}
  .ccv-home .date-row{grid-template-columns:80px 1fr;gap:16px}
  .ccv-home .date-row .btn-pop{grid-column:2;justify-self:start}
}
@media(max-width:640px){
  .ccv-home section{padding:58px 0}
  .ccv-home .st2{left:-2%}
  .ccv-home .stage-cta{padding:30px 26px}
}
@media(prefers-reduced-motion:reduce){
  .ccv-home *{animation:none!important;transition-duration:.01ms!important}
}
