/* Summer-camp concept: existing production block geometry and shared text axis. */
.ninja-camps-page { --color-gold:#d19333; --gutter:24px; color:#333; font-family:var(--font-body,"Nunito",sans-serif); }
.ninja-camps-page *, .ninja-camps-page *::before, .ninja-camps-page *::after { box-sizing:border-box; }
.ninja-camps-page.wp-block-group > .wp-block-group__inner-container,.ninja-camps-page .wp-block-group > .wp-block-group__inner-container { display:contents; }
.ninja-camps-page h1,.ninja-camps-page h2,.ninja-camps-page h3 { font-family:var(--font-display,"Poppins",sans-serif); font-weight:400; }
.ninja-camps-page :focus-visible { outline:3px solid #bf1e2d; outline-offset:4px; }
.ninja-camps-page .ninja-hero-block__grid,.ninja-camps-page .ninja-info-block__inner { width:min(calc(100% - 48px),1235px); }
.ninja-camps-hero .ninja-hero-block__grid { left:0; grid-template-columns:52% 48%; }
.ninja-camps-hero .ninja-hero-block,.ninja-camps-hero .ninja-hero-block__grid { min-height:900px; }
.ninja-camps-hero .ninja-hero-block__copy { width:100%; max-width:600px; padding:65px 0; }
.ninja-camps-hero .ninja-hero-block__title { font-size:clamp(42px,4.5vw,64px); max-width:610px; line-height:1.14; }
.ninja-camps-hero .ninja-hero-block__intro { font-size:18px; line-height:1.65; max-width:540px; }
.ninja-camps-hero .ninja-hero-block__points { max-width:520px; }
.ninja-camps-hero .ninja-hero-block__points li { font-size:17px; line-height:1.55; }
.ninja-camps-hero .ninja-hero-block__art { min-height:900px; }
.ninja-camps-hero .ninja-hero-block__foreground { width:640px; max-width:none; bottom:0; left:0; right:auto; }
.ninja-camps-hero .ninja-hero-block__story { width:1800px; height:auto; top:-940px; left:-20px; right:auto; }
.ninja-camps-hero .ninja-hero-block__decoration { width:130px; top:330px; left:20px; }
.ninja-camps-page .ninja-hero-block__actions .button { background:#bf1e2d; color:white; font-weight:600; }
.ninja-camps-page .ninja-hero-block__actions small { max-width:320px; color:#555; font-style:normal; }
.ninja-camps-page .ninja-info-block__title { font-size:clamp(34px,3.7vw,52px); line-height:1.2; }
.ninja-camps-page .ninja-info-block__intro,.ninja-camps-page .ninja-info-block__points li,.ninja-camps-page .ninja-info-block__body { font-size:18px; line-height:1.65; }
.ninja-camps-page .ninja-info-block__copy { padding-block:80px; }
.ninja-camps-page .ninja-info-block__quote { border:0; border-radius:30px; }
.ninja-camps-page .ninja-master-grid__profiles { padding-block:30px; }
.ninja-camps-page .ninja-master-card,.ninja-camps-page .ninja-master-dialog { border:0; border-radius:30px; }
.ninja-camps-page .ninja-program-block { padding:80px 0; }
.ninja-camps-page .ninja-program-block__unplanned { border:0; border-radius:30px; padding:42px; max-width:830px; margin:40px auto 0; background:#fff6e9; text-align:center; }
.ninja-camps-page .ninja-program-block__unplanned h3 { font-size:clamp(24px,2.5vw,32px); margin:0 0 16px; }
.ninja-camps-page .ninja-program-block__unplanned p { font-size:18px; line-height:1.65; margin:0; }
.ninja-camps-page .ninja-faq-block { padding-block:80px; }
.ninja-camps-page .ninja-cta-banner { border:0; border-radius:30px; }
@media(max-width:1100px) {
 .ninja-camps-hero .ninja-hero-block__title { font-size:48px; }
 .ninja-camps-hero .ninja-hero-block__foreground { width:570px; left:-30px; }
 .ninja-camps-page .ninja-info-block__copy { padding-block:60px; }
}
@media(max-width:800px) {
 .ninja-camps-hero .ninja-hero-block,.ninja-camps-hero .ninja-hero-block__grid { min-height:0; }
 .ninja-camps-hero .ninja-hero-block__grid { width:100%; display:flex; flex-direction:column; }
 .ninja-camps-hero .ninja-hero-block__copy { padding:28px 24px 40px; max-width:650px; margin:auto; }
 .ninja-camps-hero .ninja-hero-block__title { font-size:clamp(36px,6.7vw,52px); }
 .ninja-camps-hero .ninja-hero-block__art { min-height:510px; width:100%; }
 .ninja-camps-hero .ninja-hero-block__story { width:850px; height:850px; top:-450px; left:15%; }
 .ninja-camps-hero .ninja-hero-block__foreground { width:480px; bottom:0; left:calc(50% - 220px); }
 .ninja-camps-hero .ninja-hero-block__decoration { width:90px; left:15%; top:100px; }
 .ninja-camps-page .ninja-info-block__inner { width:calc(100% - 48px); }
 .ninja-camps-page .ninja-info-block__copy { width:100%; margin-inline:0; padding-block:48px; }
 .ninja-camps-page .ninja-info-block__title { font-size:38px; }
 .ninja-camps-page .ninja-program-block__unplanned { padding:32px 24px; }
}
@media(max-width:480px) {
 .ninja-camps-hero .ninja-hero-block__title { font-size:36px; letter-spacing:-.05em; }
 .ninja-camps-hero .ninja-hero-block__intro { font-size:17px; }
 .ninja-camps-hero .ninja-hero-block__art { min-height:400px; }
 .ninja-camps-hero .ninja-hero-block__foreground { width:380px; left:calc(50% - 175px); }
 .ninja-camps-hero .ninja-hero-block__story { width:700px; height:700px; top:-400px; left:12%; }
 .ninja-camps-hero .ninja-hero-block__decoration { width:75px; top:70px; left:8%; }
 .ninja-camps-page .ninja-info-block__title { font-size:34px; }
 .ninja-camps-page .ninja-program-block,.ninja-camps-page .ninja-faq-block { padding-block:55px; }
}
.ninja-camps-page .ninja-master-grid__arrow,.ninja-camps-page .ninja-master-dialog__close { border-radius:30px; }

.ninja-camps-page .eyebrow { color:#d19333; font-family:var(--font-display,"Poppins",sans-serif); font-weight:400; }
.ninja-camps-canvas { margin:0; background:#fff; }
.ninja-camps-canvas #inhoud { width:100%; max-width:none; margin:0; padding:0; }
.ninja-camps-page { --font-display:Poppins,Arial,sans-serif; --font-body:Nunito,Arial,sans-serif; --color-ink:#333; --color-paper:#fff; --color-cream:#fff6e9; --color-red:#bf1e2d; --color-red-dark:#981725; --color-highlight:#fecd7f; font-size:18px; line-height:1.65; overflow:clip; }
.ninja-camps-page .wp-block-group { margin-block:0; }
.ninja-camps-page .container { width:min(calc(100% - 48px),1235px); margin-inline:auto; }
.ninja-camps-page .ninja-hero-block__eyebrow,.ninja-camps-page .ninja-info-block__eyebrow,.ninja-camps-page .ninja-master-grid__eyebrow,.ninja-camps-page .ninja-cta-banner__eyebrow { color:#d19333; font-family:var(--font-display); font-weight:400; }
.ninja-camps-page .ninja-hero-block__actions .button,.ninja-camps-page .ninja-info-block__actions .button,.ninja-camps-page .ninja-cta-banner__button { display:inline-flex; align-items:center; justify-content:center; min-height:60px; padding:16px 30px; border:1px solid #bf1e2d; border-radius:30px; background:#bf1e2d; color:#fff; font:600 16px/1.5 var(--font-display); text-decoration:none; }
.ninja-camps-page .ninja-hero-block__actions .button:hover,.ninja-camps-page .ninja-info-block__actions .button:hover,.ninja-camps-page .ninja-cta-banner__button:hover { background:#981725; border-color:#981725; }
.ninja-camps-page .ninja-faq-block__item,.ninja-camps-page .ninja-master-card,.ninja-camps-page .ninja-master-dialog { border:0; border-radius:30px; }
.ninja-camps-page .ninja-program-block__heading { text-align:center; }
.ninja-camps-page .ninja-program-block__heading h2 { font:400 clamp(36px,5vw,64px)/1.1 var(--font-display); letter-spacing:-.04em; }
.ninja-camps-page .ninja-program-block__emphasis { position:relative; display:inline-block; white-space:nowrap; }
.ninja-camps-page .ninja-program-block__circle { position:absolute; z-index:0; top:50%; left:50%; width:calc(100% + 20px); height:calc(100% + 20px); max-width:none; overflow:visible; transform:translate(-50%,-50%); pointer-events:none; }
.ninja-camps-page .ninja-program-block__circle path { fill:none; stroke:#fecd7f; stroke-width:5px; stroke-linecap:round; opacity:1; stroke-dasharray:none; stroke-dashoffset:0; }
.ninja-camps-skip { position:fixed; z-index:100000; top:10px; left:10px; padding:12px 20px; border-radius:30px; background:#bf1e2d; color:#fff; transform:translateY(-160%); }
.ninja-camps-skip:focus { transform:none; }
.ninja-camps-footer { padding:24px; background:#fff6e9; font:400 14px/1.6 Nunito,Arial,sans-serif; color:#333; }
.ninja-camps-footer__inner { display:flex; flex-wrap:wrap; align-items:center; gap:16px; max-width:1235px; margin:auto; }
.ninja-camps-footer p { margin:0; }
.ninja-camps-footer img { display:block; width:48px; height:48px; border-radius:50%; }
.ninja-camps-footer nav { display:flex; flex-wrap:wrap; gap:16px; margin-left:auto; }
.ninja-camps-footer a { color:#333; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) { .ninja-camps-footer nav { margin-left:0; width:100%; } }
