/* =========================================================
   SITE MOTION — "Floodlight Chalk" cinema layer
   Pitch-black night turf, chalk lines, floodlight lime.
   Progressive: everything visible without JS (html.cm-js gates hidden states).
   ========================================================= */
:root{
  --cm-ink:#0b1410;
  --cm-ink-2:#12201a;
  --cm-turf:#1e6a3a;
  --cm-turf-2:#2d7a2d;
  --cm-lime:#c9f23b;
  --cm-lime-soft:rgba(201,242,59,.16);
  --cm-chalk:#f4f2e8;
  --cm-chalk-2:#e9e6d6;
  --cm-ease:cubic-bezier(.16,1,.3,1);
  --cm-ease-io:cubic-bezier(.76,0,.24,1);
  --cm-display:'Bebas Neue','Arial Narrow',sans-serif;
}

/* ---------- base tint (no-JS safe) ---------- */
body.cinema-site{background:var(--cm-chalk);}
body.cinema-site section[style*="background:#fff"],
body.cinema-site section[style*="background: #fff"]{background:var(--cm-chalk)!important;}
body.cinema-site section[style*="background:var(--bg3)"]{background:var(--cm-chalk-2)!important;}
body.cinema-site ::selection{background:var(--cm-lime);color:var(--cm-ink);}
body.cinema-site a:focus-visible,body.cinema-site button:focus-visible{outline:2px solid var(--cm-lime);outline-offset:3px;box-shadow:0 0 0 5px var(--cm-ink);}

/* ---------- scroll progress line ---------- */
.cm-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1200;pointer-events:none;transform-origin:0 50%;transform:scaleX(var(--cm-scroll,0));background:linear-gradient(90deg,var(--cm-turf-2),var(--cm-lime));}

/* ---------- navbar ---------- */
body.cinema-site #navbar,body.cinema-site .event-nav{transition:transform .5s var(--cm-ease),box-shadow .4s,background-color .4s;}
body.cinema-site .nav-link{position:relative;}
body.cinema-site .nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--cm-lime);transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--cm-ease);}
body.cinema-site .nav-link:hover::after{transform:scaleX(1);transform-origin:0 50%;}
body.cinema-site .nav-link.active{border-bottom-color:transparent!important;}
body.cinema-site .nav-link.active::after{transform:scaleX(1);background:var(--cm-turf-2);}
html.cm-js body.cinema-site.cm-nav-hide #navbar{transform:translateY(-100%);}
html.cm-js body.cinema-site.cm-nav-hide #navbar:focus-within,html.motion-paused body.cinema-site.cm-nav-hide #navbar,html.cm-static body.cinema-site.cm-nav-hide #navbar{transform:none;}
body.cinema-site #navbar .btn-green{background:var(--cm-ink)!important;color:var(--cm-lime)!important;position:relative;overflow:hidden;isolation:isolate;}
body.cinema-site #navbar .btn-green::before{content:"";position:absolute;inset:0;background:var(--cm-lime);transform:translateY(101%);transition:transform .45s var(--cm-ease);z-index:-1;}
body.cinema-site #navbar .btn-green:hover{color:var(--cm-ink)!important;box-shadow:none!important;}
body.cinema-site #navbar .btn-green:hover::before{transform:none;}
body.cinema-site #mobile-menu{background:var(--cm-ink)!important;}
@media (max-width:600px){
  body.cinema-site #navbar{padding-left:.75rem!important;padding-right:.75rem!important;gap:.5rem!important;}
  body.cinema-site #navbar .btn-green{font-size:.8rem;padding-left:.85rem;padding-right:.85rem;}
  body.cinema-site #navbar #hamburger{flex-shrink:0;}
}
body.cinema-site #mobile-menu .m-link{color:var(--cm-chalk)!important;font-family:var(--cm-display);font-weight:400;font-size:2.4rem;letter-spacing:.04em;}
body.cinema-site #mobile-menu .m-link:hover{color:var(--cm-lime)!important;}
html.cm-js body.cinema-site #mobile-menu.open .m-link{animation:cmRise .6s var(--cm-ease) both;}
html.cm-js body.cinema-site #mobile-menu.open .m-link:nth-of-type(2){animation-delay:.04s}
html.cm-js body.cinema-site #mobile-menu.open .m-link:nth-of-type(3){animation-delay:.08s}
html.cm-js body.cinema-site #mobile-menu.open .m-link:nth-of-type(4){animation-delay:.12s}
html.cm-js body.cinema-site #mobile-menu.open .m-link:nth-of-type(5){animation-delay:.16s}
html.cm-js body.cinema-site #mobile-menu.open .m-link:nth-of-type(6){animation-delay:.2s}
html.cm-js body.cinema-site #mobile-menu.open .m-link:nth-of-type(7){animation-delay:.24s}
@keyframes cmRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ---------- inner page hero: chalk pitch + clipped film ---------- */
body.cinema-site .page-hero,body.cinema-site .events-hero{background:var(--cm-ink)!important;isolation:isolate;}
body.cinema-site .page-hero::after,body.cinema-site .events-hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.22;
  background:
    radial-gradient(circle at 50% 50%,transparent 0 118px,rgba(244,242,232,.9) 119px 120px,transparent 121px),
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(244,242,232,.9) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),
    repeating-linear-gradient(90deg,rgba(201,242,59,.05) 0 80px,transparent 80px 160px);
}
body.cinema-site .page-hero-overlay,body.cinema-site .events-hero-overlay{background:linear-gradient(180deg,rgba(11,20,16,.35),rgba(11,20,16,.88))!important;}
body.cinema-site .page-hero-bg,body.cinema-site .events-hero-bg{opacity:.55!important;will-change:transform;transform:translate3d(0,calc(var(--cm-hp,0)*80px),0) scale(calc(1.08 + var(--cm-hp,0)*.12));}
html.cm-js body.cinema-site .page-hero-bg,html.cm-js body.cinema-site .events-hero-bg{clip-path:inset(18% 22% round 28px);transition:clip-path 1.5s var(--cm-ease-io);}
html.cm-js body.cinema-site.cm-ready .page-hero-bg,html.cm-js body.cinema-site.cm-ready .events-hero-bg{clip-path:inset(0 0 round 0);}
body.cinema-site .page-hero .eyebrow,body.cinema-site .events-hero .eyebrow{color:var(--cm-lime)!important;}
body.cinema-site .page-hero-inner,body.cinema-site .events-hero-inner{transform:translate3d(0,calc(var(--cm-hp,0)*-40px),0);opacity:calc(1 - var(--cm-hp,0)*1.1);}
.cm-hero-film{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:.5;}
.cm-hero-film video,.cm-hero-film img{width:100%;height:100%;object-fit:cover;}

/* split headline */
.cm-split{display:inline-block;}
.cm-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;}
.cm-w>span{display:inline-block;}
html.cm-js .cm-split .cm-w>span{transform:translateY(110%) rotate(4deg);transition:transform 1.1s var(--cm-ease);transition-delay:calc(var(--i,0)*70ms + .35s);}
html.cm-js body.cm-ready .cm-split .cm-w>span{transform:none;}

/* ---------- ticker ---------- */
.cm-ticker{background:var(--cm-ink);color:var(--cm-chalk);overflow:hidden;border-top:1px solid rgba(201,242,59,.25);border-bottom:1px solid rgba(201,242,59,.25);position:relative;z-index:2;}
.cm-ticker-track{display:flex;width:max-content;animation:cmTick 38s linear infinite;}
.cm-ticker span{font-family:var(--cm-display);font-size:clamp(1.1rem,2.4vw,1.6rem);letter-spacing:.08em;padding:.55rem 1.4rem;white-space:nowrap;display:inline-flex;align-items:center;gap:1.4rem;}
.cm-ticker span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--cm-lime);}
@keyframes cmTick{to{transform:translateX(-50%)}}

/* ---------- section wipes & reveals ---------- */
html.cm-js .cm-sec{position:relative;}
html.cm-js .cm-sec::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--cm-lime),transparent 60%);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s var(--cm-ease);pointer-events:none;z-index:3;}
html.cm-js .cm-sec.cm-in::before{transform:scaleX(1);}
body.cinema-site .label{color:var(--cm-turf-2);display:inline-flex;align-items:center;gap:.6rem;}
body.cinema-site .label::before{content:"";width:22px;height:2px;background:var(--cm-lime);box-shadow:0 0 0 1px var(--cm-turf-2);}
html.cm-js body.cinema-site .aos{transform:translateY(46px) scale(.985);transition-duration:.95s;}
html.cm-js body.cinema-site .aos.visible{transform:none;}

/* image geometry reveals */
.cm-img{overflow:hidden;position:relative;}
.cm-img img,.cm-img video{will-change:transform;transform:translate3d(0,calc(var(--cm-ip,0)*-6%),0) scale(1.14);}
html.cm-js .cm-img{clip-path:polygon(0 18%,100% 0,100% 82%,0 100%);transition:clip-path 1.3s var(--cm-ease-io);}
html.cm-js .cm-img.cm-in{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}

/* ---------- cards: pointer spotlight + tilt ---------- */
.cm-card{position:relative;transform-style:preserve-3d;}
/* gallery (filter/lightbox untouched: visual only) */
body.cinema-site .gal-item{position:relative;overflow:hidden;}
body.cinema-site .gal-img{transition:transform .9s var(--cm-ease),filter .6s!important;}
body.cinema-site .gal-item:hover .gal-img{transform:scale(1.08);filter:saturate(1.15) contrast(1.05);}
body.cinema-site .gal-item::before{content:"";position:absolute;inset:10px;border:1px solid var(--cm-lime);border-radius:inherit;z-index:2;opacity:0;transform:scale(1.06);transition:opacity .4s,transform .6s var(--cm-ease);pointer-events:none;}
body.cinema-site .gal-item:hover::before{opacity:1;transform:none;}
html.cm-js .gal-item.cm-reveal{clip-path:inset(14% 10% round 18px);transition:clip-path 1.1s var(--cm-ease-io);}
html.cm-js .gal-item.cm-reveal.cm-in{clip-path:inset(0 round 0);}
body.cinema-site .price-card.featured{box-shadow:0 30px 60px -30px rgba(11,20,16,.5),0 0 0 2px var(--cm-lime)!important;}
body.cinema-site .price-card:hover,body.cinema-site .aud-card:hover,body.cinema-site .feier-card:hover{border-color:var(--cm-turf-2)!important;}
.cm-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--cm-lime-soft),transparent 45%);}
.cm-card:hover::after{opacity:1;}
@media (hover:hover){
  body.cinema-site .cm-card.cm-tilt{transition:transform .5s var(--cm-ease),box-shadow .5s!important;}
  body.cinema-site .cm-card.cm-tilt:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)!important;box-shadow:0 30px 60px -28px rgba(11,20,16,.45)!important;}
}
body.cinema-site .train-card:hover,body.cinema-site .ccard-wa:hover,body.cinema-site .ccard-ig:hover{border-color:var(--cm-turf-2)!important;}
body.cinema-site .ev-card{transition:box-shadow .5s,transform .6s var(--cm-ease);}
body.cinema-site .ev-card:hover{box-shadow:0 40px 80px -40px rgba(11,20,16,.5);}
body.cinema-site .ev-card:hover .ev-img img{transform:scale(1.07);}
body.cinema-site .filter-btn.active{background:var(--cm-ink)!important;border-color:var(--cm-ink)!important;color:var(--cm-lime)!important;}
body.cinema-site .ev-next-badge{background:var(--cm-lime)!important;color:var(--cm-ink)!important;box-shadow:none!important;}
body.cinema-site .cta-strip,body.cinema-site .quick-bar{background:var(--cm-ink)!important;}
body.cinema-site .cta-strip h2{color:var(--cm-lime)!important;}
body.cinema-site .cta-strip{position:relative;overflow:hidden;}
body.cinema-site .cta-strip::before{content:"";position:absolute;width:520px;height:520px;left:50%;top:50%;margin:-260px;border:1px solid rgba(201,242,59,.25);border-radius:50%;animation:cmPulse 6s var(--cm-ease) infinite;pointer-events:none;}
@keyframes cmPulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}

/* buttons shine */
body.cinema-site .btn-ev-primary,body.cinema-site .btn-ccard-g{position:relative;overflow:hidden;}
body.cinema-site .btn-ev-primary::after,body.cinema-site .btn-ccard-g::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(201,242,59,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--cm-ease);pointer-events:none;}
body.cinema-site .btn-ev-primary:hover::after,body.cinema-site .btn-ccard-g:hover::after{transform:translateX(120%);}

/* gallery */
body.cinema-site .gallery-cell{position:relative;}
body.cinema-site .gallery-cell::before{content:"";position:absolute;inset:10px;border:1px solid var(--cm-lime);border-radius:inherit;z-index:2;opacity:0;transform:scale(1.06);transition:opacity .4s,transform .6s var(--cm-ease);pointer-events:none;}
body.cinema-site .gallery-cell:hover::before{opacity:1;transform:none;}

/* video loop frame */
[data-cinema-loop]{position:relative;overflow:hidden;background:var(--cm-ink) center/cover no-repeat;}
[data-cinema-loop] video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s;z-index:1;}
[data-cinema-loop]>img,[data-cinema-loop]>picture{position:relative;z-index:0;}
[data-cinema-loop].cm-playing video{opacity:1;}
.cm-film-tag{position:absolute;left:1rem;bottom:1rem;z-index:3;font:600 .68rem/1 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--cm-ink);background:var(--cm-lime);padding:.45rem .7rem;border-radius:4px;display:inline-flex;gap:.5rem;align-items:center;}
.cm-film-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cm-ink);animation:cmBlink 1.4s infinite;}
@keyframes cmBlink{50%{opacity:.2}}

/* ---------- footer ---------- */
body.cinema-site footer{background:var(--cm-ink)!important;color:rgba(244,242,232,.7)!important;border-top:0!important;position:relative;overflow:hidden;}
body.cinema-site footer h4,body.cinema-site footer h3{color:var(--cm-lime)!important;}
body.cinema-site footer p{color:rgba(244,242,232,.5)!important;}
body.cinema-site footer a,body.cinema-site footer .footer-link{color:rgba(244,242,232,.72)!important;transition:color .25s,transform .35s var(--cm-ease);display:inline-block;}
body.cinema-site footer a:hover,body.cinema-site footer .footer-link:hover{color:var(--cm-lime)!important;transform:translateX(4px);}
body.cinema-site footer div[style*="border-top"]{border-top-color:rgba(244,242,232,.1)!important;}
.cm-footer-mark{font-family:var(--cm-display);font-size:clamp(4rem,17vw,15rem);line-height:.8;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(201,242,59,.35);white-space:nowrap;text-align:center;pointer-events:none;user-select:none;padding:2rem 0 .5rem;transform:translate3d(calc((var(--cm-fp,1) - 1)*18%),0,0);}
body.cinema-site #scroll-top{background:var(--cm-lime)!important;color:var(--cm-ink)!important;}

/* ---------- page curtain ---------- */
.cm-curtain{position:fixed;inset:0;z-index:5000;pointer-events:none;display:grid;grid-template-columns:repeat(5,1fr);}
.cm-curtain i{background:var(--cm-ink);transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--cm-ease-io);}
.cm-curtain i:nth-child(odd){background:var(--cm-ink-2);}
.cm-curtain i:nth-child(2){transition-delay:.04s}.cm-curtain i:nth-child(3){transition-delay:.08s}.cm-curtain i:nth-child(4){transition-delay:.12s}.cm-curtain i:nth-child(5){transition-delay:.16s}
.cm-curtain.cm-on i{transform:scaleY(1);}

/* ---------- motion toggle ---------- */
.cm-toggle{position:fixed;left:1rem;bottom:1rem;z-index:900;min-height:40px;min-width:40px;border-radius:999px;border:1px solid rgba(201,242,59,.4);background:rgba(11,20,16,.86);color:var(--cm-chalk);font:600 .7rem/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:0 .9rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;backdrop-filter:blur(8px);}
.cm-toggle svg{width:14px;height:14px;fill:var(--cm-lime);}
.cm-toggle:hover{border-color:var(--cm-lime);}
@media (max-width:600px){.cm-toggle .cm-toggle-t{display:none}.cm-toggle{padding:0;justify-content:center;bottom:5.2rem}}
body.herbstcamp-theme .cm-toggle,body.pt-theme .cm-toggle{bottom:1rem}
@media (max-width:768px){body.herbstcamp-theme .cm-toggle{bottom:5.5rem}}

/* ---------- calm pages (legal/feedback) ---------- */
body[data-cinema-calm] .cm-sec::before{display:none;}

/* ---------- paused / reduced: clear hidden states ---------- */
html.motion-paused .cm-ticker-track,html.motion-paused .cta-strip::before,html.motion-paused .cm-film-tag::before{animation-play-state:paused!important;}
html.motion-paused #mobile-menu .m-link{animation:none!important;opacity:1!important;transform:none!important;}
html:not(.cm-js) body.cinema-site .aos{opacity:1!important;transform:none!important;}
html.motion-paused .gal-item.cm-reveal,html.cm-static .gal-item.cm-reveal{clip-path:none!important;}
html.motion-paused .page-hero-inner,html.motion-paused .events-hero-inner,html.cm-static .page-hero-inner,html.cm-static .events-hero-inner{transform:none!important;opacity:1!important;}
html.motion-paused .page-hero-bg,html.motion-paused .events-hero-bg,html.cm-static .page-hero-bg,html.cm-static .events-hero-bg{transform:scale(1.04)!important;}
html.motion-paused .cm-img img,html.motion-paused .cm-img video,html.cm-static .cm-img img,html.cm-static .cm-img video{transform:scale(1.04)!important;}
html.motion-paused .cm-footer-mark,html.cm-static .cm-footer-mark{transform:none!important;}
html.cm-lite .cm-card.cm-tilt:hover{transform:translateY(-4px)!important;}
html.motion-paused .aos,html.cm-static .aos{opacity:1!important;transform:none!important;transition:none!important;}
html.motion-paused .cm-img,html.cm-static .cm-img,
html.motion-paused .page-hero-bg,html.cm-static .page-hero-bg,
html.motion-paused .events-hero-bg,html.cm-static .events-hero-bg{clip-path:none!important;}
html.motion-paused .cm-split .cm-w>span,html.cm-static .cm-split .cm-w>span{transform:none!important;}
html.motion-paused .cm-card.cm-tilt:hover{transform:translateY(-4px)!important;}
@media (prefers-reduced-motion:reduce){
  .cm-ticker-track,.cta-strip::before,.cm-film-tag::before{animation:none!important;}
  .aos{opacity:1!important;transform:none!important;}
  .cm-img,.page-hero-bg,.events-hero-bg{clip-path:none!important;}
  .cm-split .cm-w>span{transform:none!important;}
  .cm-img img,.page-hero-bg,.events-hero-bg,.page-hero-inner,.events-hero-inner,.cm-footer-mark{transform:none!important;opacity:1!important;}
  .cm-curtain{display:none;}
}
