/* Cameraknop over de app-beelden op cirqo.nl: dezelfde animatie als in de app
   (app.cirqo.nl/static/camknop.css), maar in em, zodat hij meeschaalt met het beeld.
   1em = 1 ontwerppixel; de wrapper (.ckw) zet de maat via containerbreedte.
   Per beeld: --cx/--cy = midden van de knop in het beeld, --d = knopdiameter in % van de beeldbreedte. */
.ckw{position:relative;display:block;width:100%;height:100%;container-type:inline-size}
.ckw > img{display:block}
.ckw .ck-gloed{opacity:.32!important}   /* op de site ingetogener dan in de app: multiply maakt hem voller (Joran 24-9) */
.ckw > .ck{position:absolute;left:var(--cx);top:var(--cy);font-size:calc(var(--d) * 1cqw / 136);
           transform:translate(-50%,-50%);mix-blend-mode:multiply}   /* multiply: tekst in het beeld blijft donker onder de gloed */
.ck{--ck:var(--orange,#86bc97);--ck-golf:cubic-bezier(.45,0,.55,1);
    position:relative;display:grid;place-items:center;width:136em;height:136em;pointer-events:none}
.ck-gloed{position:absolute;left:50%;top:50%;width:300em;height:300em;margin:-150em 0 0 -150em;z-index:-1;opacity:.78}   
.ck-blob{position:absolute;inset:0;border-radius:50%;filter:blur(20em);will-change:transform}
.ck-b1{background:radial-gradient(circle at 42% 40%,color-mix(in srgb,var(--ck) 55%,transparent) 0%,transparent 62%);
       animation:ck-drijf1 9s ease-in-out infinite alternate}
.ck-b2{background:radial-gradient(circle at 60% 62%,color-mix(in srgb,var(--ck) 38%,#fff) 0%,transparent 58%);
       animation:ck-drijf2 11.5s ease-in-out infinite alternate}
@keyframes ck-drijf1{0%{transform:translate(-16em,8em) scale(1) rotate(0deg)}100%{transform:translate(14em,-12em) scale(1.14) rotate(40deg)}}
@keyframes ck-drijf2{0%{transform:translate(14em,10em) scale(1.08) rotate(0deg)}100%{transform:translate(-12em,-8em) scale(.94) rotate(-50deg)}}

.ck-knop{position:relative;display:flex;align-items:center;justify-content:center;width:136em;height:136em;border-radius:50%;
         background:var(--ck);color:#fff;will-change:transform;animation:ck-klik 4.2s var(--ck-golf) infinite;
         box-shadow:0 20em 38em -16em color-mix(in srgb,var(--ck) 80%,transparent),inset 0 1em 0 rgba(255,255,255,.25)}
.ck-knop::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;
                 background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 62%);animation:ck-glim 4.2s linear infinite}
.ck-cam{position:relative;z-index:1;width:58em;height:58em}
.ck-lens{transform-box:fill-box;transform-origin:center;animation:ck-sluiter 4.2s var(--ck-golf) infinite}
.ck-plus{position:absolute;left:calc(50% + 22em);top:calc(50% - 34em);z-index:2;width:17em;height:17em;opacity:.95;
         animation:ck-plusje 4.2s var(--ck-golf) infinite}
.ck-plus svg{display:block;width:100%;height:100%}
.ck-golf{position:absolute;inset:0;border-radius:50%;border:2em solid color-mix(in srgb,var(--ck) 70%,#fff);opacity:0;
         will-change:transform,opacity;animation:ck-golf 4.2s cubic-bezier(.2,.7,.2,1) infinite}
.ck-golf.ck-twee{animation-delay:.3s}
@keyframes ck-klik{0%,100%{transform:scale(1)}16%{transform:scale(1.035)}22%{transform:scale(.94)}30%{transform:scale(1.02)}37%{transform:scale(1)}}
@keyframes ck-sluiter{0%,18%,31%,100%{transform:scale(1)}22.5%{transform:scale(.52)}}
@keyframes ck-glim{0%,21%{opacity:0}23%{opacity:.6}33%,100%{opacity:0}}
@keyframes ck-plusje{0%,24%,40%,100%{transform:scale(1)}30%{transform:scale(1.18)}}
@keyframes ck-golf{0%,23%{opacity:0;transform:scale(1)}28%{opacity:.5}72%,100%{opacity:0;transform:scale(1.5)}}

@media (prefers-reduced-motion:reduce){
  .ck *,.ck *::before{animation:none!important}
}
