/* Scoped to the intro only: no theme colors or styling will be changed. */
html.lp-lock, body.lp-lock { overflow: hidden !important; }
#lichtpuntjes-intro { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; isolation: isolate; color: #fff; font-family: 'Trebuchet MS', 'Arial Rounded MT Bold', Arial, sans-serif; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
#lichtpuntjes-intro *, #lichtpuntjes-intro *::before, #lichtpuntjes-intro *::after { box-sizing: border-box; }
#lichtpuntjes-intro button { cursor: pointer; font-family: inherit; }
.lp-screen { position: absolute; inset: 0; z-index: 0; background: #040404; opacity: 1; transition: opacity 1s ease; }
.lp-glow { position: absolute; top: 49%; left: 50%; height: min(80vmin,680px); width: min(80vmin,680px); border-radius: 50%; background: radial-gradient(circle, rgba(255,226,0,.2), rgba(255,216,0,.04) 50%, transparent 73%); transform: translate(-50%,-50%) scale(.5); opacity: 0; filter: blur(35px); pointer-events: none; z-index: 1; }
.lp-center { position: relative; z-index: 3; width: min(100% - 24px, 550px); display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 4vh; }
.lp-logo-wrap { width: clamp(175px, min(42vw, 49vh), 340px); aspect-ratio: 1203 / 1369; flex: none; position: relative; transform: scale(.80); transition: transform .15s linear, opacity .35s ease; transform-origin: 50% 57%; filter: drop-shadow(0 6px 18px #0008); will-change: transform; }
.lp-logo { display: block; width: 100%; height: 100%; object-fit: contain; filter: grayscale(1) brightness(.89); transition: filter .75s ease, transform .75s cubic-bezier(.19,1,.22,1); user-select: none; }
.lp-bulb-base,.lp-bulb-progress { position:absolute; inset:0; mask:var(--lp-lamp-mask) center / 100% 100% no-repeat; -webkit-mask:var(--lp-lamp-mask) center / 100% 100% no-repeat; pointer-events:none; transition:opacity .5s ease; }
.lp-bulb-base { background: rgba(13,13,13,.85); }
.lp-bulb-progress { background: linear-gradient(0deg, #e8e8e8 0%, #b5b5b5 62%, #fff 100%); clip-path: inset(100% 0 0 0); }
.lp-copy { width: min(100%, 410px); margin-top: -2px; position: relative; }
.lp-eyebrow { font-size: 11px; font-weight: 900; letter-spacing: .32em; color: #aaaaaa; margin: 0 0 8px; transition:color .6s ease; }
.lp-headline { font-size: clamp(19px, 4.2vw, 27px); font-weight: 900; line-height: 1.25; margin: 0 0 18px; color: #f7f7f7; text-wrap: balance; }
.lp-meter { height: 9px; width: min(100%,330px); background: #4b4b4b; border-radius: 50px; overflow: hidden; margin: 0 auto 7px; box-shadow: inset 0 1px 3px #000a; }
.lp-meter-fill { height:100%; width:0; background: linear-gradient(90deg,#a4a4a4,#f5f5f5); border-radius: inherit; display:block; transition: width .12s linear; }
.lp-percent { display:block; font-weight: 800; color:#b9b9b9; letter-spacing:.08em; font-size:13px; min-height:18px; font-variant-numeric:tabular-nums; }
.lp-actions { display:none; justify-content:center; flex-wrap:wrap; gap:12px; margin-top: 16px; opacity:0; }
.lp-intro.lp-ready:not(.lp-started) .lp-actions { display:flex; animation:lp-button-in .55s .08s ease both; }
@keyframes lp-button-in { from { opacity:0; transform:translateY(18px) scale(.93); } to { opacity:1; transform:translateY(0) scale(1); } }
.lp-intro.lp-ready:not(.lp-started) .lp-meter, .lp-intro.lp-ready:not(.lp-started) .lp-percent { visibility:hidden; }
.lp-start,.lp-silent { padding: 13px 20px; border-radius: 999px; font-size: 14px; font-weight: 900; line-height: 1.1; transition:transform .2s ease, filter .2s ease; min-width:min(92vw, 320px); }
.lp-btn-label{display:flex;flex-direction:column;align-items:center;gap:3px;}
.lp-btn-main{display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.lp-btn-sub{display:block;font-size:10px;font-weight:700;letter-spacing:.015em;line-height:1.2;text-transform:none;opacity:.92;}
.lp-start { letter-spacing:.02em; animation:lp-pulse 1.75s ease-in-out 1s infinite; }
@keyframes lp-pulse { 0%,100% { box-shadow: 0 3px 27px #ffdd0030; } 50% { box-shadow: 0 0 36px #ffdd0080,0 0 0 7px #ffdd001c; } }
.lp-start { background: #ffe500; color:#0d0d0d; border: 2px solid #ffe500; box-shadow: 0 3px 27px #ffdd0030; }
.lp-silent { color:#f9f9f9; background: transparent; border:2px solid #777; }
.lp-silent .lp-btn-main{letter-spacing:.03em;}
.lp-silent .lp-btn-sub{color:#d4d4d4;}
.lp-start .lp-btn-sub{color:#3c3000;}
.lp-start:hover,.lp-silent:hover { transform: translateY(-2px); filter: brightness(1.05); }
.lp-start:focus-visible,.lp-silent:focus-visible,.lp-skip:focus-visible { outline:3px solid #ffea00; outline-offset:4px; }
.lp-skip { position:absolute; top: max(19px,env(safe-area-inset-top)); right: max(19px,env(safe-area-inset-right)); z-index:12; font-size: 13px; border:1px solid #777; padding: 9px 14px; border-radius:30px; background:rgba(0,0,0,.34); color:#eee; }
.lp-intro.lp-started .lp-actions { display: none; }
.lp-intro.lp-started .lp-meter, .lp-intro.lp-started .lp-percent { visibility:hidden; }
.lp-intro.lp-colored .lp-eyebrow { color:#ffe500; }
.lp-intro.lp-started .lp-logo-wrap { filter: drop-shadow(0 12px 30px #0008); }
.lp-intro.lp-colored .lp-logo { filter:grayscale(0) brightness(1); }
.lp-intro.lp-colored .lp-bulb-base,.lp-intro.lp-colored .lp-bulb-progress { opacity:0; }
.lp-intro.lp-colored .lp-logo-wrap { transform:scale(var(--lp-logo-pop-scale, 1.19)) !important; }
.lp-intro.lp-colored .lp-glow { opacity: 1; transform:translate(-50%,-50%) scale(1.5); transition:transform .85s ease,opacity .4s ease; }
.lp-intro.lp-colored .lp-headline { color:#ffec00; }
.lp-intro.lp-banged .lp-burst { animation: lp-explode 1.0s cubic-bezier(0,.65,.22,1) forwards; }
.lp-burst { z-index:2; position:absolute; top:45%; left:50%; width: min(70vmin,600px); height:min(70vmin,600px); transform:translate(-50%,-50%) scale(0); opacity:0; border-radius:50%; background:radial-gradient(circle,#fff 0%,#fff2b5 8%,#ffe200 18%,rgba(255,0,0,.55) 40%,transparent 67%); pointer-events:none; mix-blend-mode:screen; }
@keyframes lp-explode { 0% { transform:translate(-50%,-50%) scale(.15); opacity:0; } 22% { opacity:1; } 100% { transform:translate(-50%,-50%) scale(3.8); opacity:0; } }
.lp-intro.lp-banged .lp-logo-wrap { animation:lp-logo-bang 1.2s cubic-bezier(.12,.75,.32,1) forwards; }
@keyframes lp-logo-bang { 0% { transform:scale(var(--lp-logo-pop-scale, 1.19)); opacity:1; } 28% { transform:scale(1.6) rotate(-4deg); opacity:1; } 70% { transform:scale(1.9) rotate(3deg); opacity:.18; } 100% { transform:scale(2.3); opacity:0; } }
.lp-intro.lp-banged .lp-copy { transition:opacity .18s ease; opacity:0; }
.lp-intro.lp-reveal .lp-screen { opacity:0; }
.lp-intro.lp-reveal .lp-glow { opacity:0; transition:opacity .7s ease; }
.lp-intro.lp-reveal { pointer-events:none; }
.lp-intro.lp-reveal .lp-skip { opacity:0; pointer-events:none; }
.lp-confetti { position:absolute; z-index:7; inset:0; width:100%;height:100%; pointer-events:none; }
.lp-bunting { position:absolute; top:-130px; width: 58vw; height: 200px; z-index:8; pointer-events:none; display:flex; align-items:flex-start; justify-content:space-between; padding:12px 16px 0; border-top:4px solid #dadada; border-radius: 0 0 50% 50%; transform:rotate(7deg) translateY(-200px); filter:drop-shadow(0 5px 3px #0005); }
.lp-bunting-left { left:-5vw; transform: rotate(8deg) translateY(-200px); }
.lp-bunting-right { right:-5vw; transform:rotate(-8deg) translateY(-200px); }
.lp-bunting i { width: clamp(18px,4vw,48px); height: clamp(36px,8vw,100px); clip-path: polygon(0 0,100% 0,50% 100%); display:block; margin-top:-1px; background:#ffe500; flex-shrink:0; }
.lp-bunting i:nth-child(4n + 2) { background:#090909; }
.lp-bunting i:nth-child(4n + 3) { background:#f03832; }
.lp-bunting i:nth-child(4n + 4) { background:#fff; }
.lp-intro.lp-banged .lp-bunting-left { animation:lp-pennants-left 1.15s cubic-bezier(.21,.89,.35,1.2) .12s both; }
.lp-intro.lp-banged .lp-bunting-right { animation:lp-pennants-right 1.15s cubic-bezier(.21,.89,.35,1.2) .22s both; }
@keyframes lp-pennants-left { from { transform:rotate(8deg) translateY(-200px); } to { transform:rotate(8deg) translateY(0px); } }
@keyframes lp-pennants-right { from { transform:rotate(-8deg) translateY(-200px); } to { transform:rotate(-8deg) translateY(0px); } }
@media (max-width:600px) { .lp-center { padding:4vh 15px 0; } .lp-logo-wrap { width:min(55vw,34vh,275px); } .lp-copy { margin-top:10px; } .lp-eyebrow { letter-spacing:.18em; } .lp-bunting { width:85vw;top:-90px;height:130px;padding-left:8px;padding-right:8px; } .lp-bunting-left{left:-35vw;} .lp-bunting-right{right:-35vw;} .lp-bunting i{width:32px;height:59px;} .lp-skip{font-size:12px;} }
@media (prefers-reduced-motion: reduce) { .lp-intro.lp-colored .lp-glow, .lp-intro.lp-banged .lp-logo-wrap,.lp-intro.lp-banged .lp-burst,.lp-intro.lp-banged .lp-bunting { animation:none!important; } }

/* Optional effects controlled by WordPress settings. */
.lp-intro.lp-no-bunting .lp-bunting, .lp-intro.lp-no-flash .lp-burst { display:none!important; }

/* v1.3: replay button persists over the WordPress page after the overlay has finished. */
#lichtpuntjes-intro[hidden], #lichtpuntjes-intro-replay[hidden], .lp-replay-manual[hidden] { display:none!important; }
#lichtpuntjes-intro:focus { outline:none; }
#lichtpuntjes-intro-replay.lp-replay-floating { position:fixed!important; z-index:2147482500!important; bottom:max(20px, env(safe-area-inset-bottom))!important; display:inline-flex!important; align-items:center; gap:8px; max-width:calc(100vw - 32px); padding:11px 18px!important; border:2px solid #f7d900!important; background:#0e0e0e!important; color:#ffe500!important; border-radius:999px!important; font:800 13px/1.2 'Trebuchet MS',Arial,sans-serif!important; letter-spacing:.02em; box-shadow:0 4px 18px #0007!important; cursor:pointer!important; opacity:.92; transition:transform .18s ease,opacity .18s ease; }
#lichtpuntjes-intro-replay.lp-replay-right { right:max(20px, env(safe-area-inset-right))!important; left:auto!important; }
#lichtpuntjes-intro-replay.lp-replay-left { left:max(20px, env(safe-area-inset-left))!important; right:auto!important; }
#lichtpuntjes-intro-replay.lp-replay-floating:hover { transform:translateY(-3px);opacity:1; }
#lichtpuntjes-intro-replay.lp-replay-floating:focus-visible, .lp-replay-manual:focus-visible { outline:3px solid #ffe500!important; outline-offset:3px!important; }
.lp-replay-manual { display:inline-flex; align-items:center; gap:8px; padding:12px 18px; background:#ffe500; color:#101010; border:2px solid #101010; border-radius:999px; font:800 14px/1.2 'Trebuchet MS',Arial,sans-serif; cursor:pointer; }
@media (max-width:500px) { #lichtpuntjes-intro-replay.lp-replay-floating { bottom:max(12px,env(safe-area-inset-bottom))!important; font-size:12px!important; padding:10px 13px!important; } #lichtpuntjes-intro-replay.lp-replay-right { right:12px!important; } #lichtpuntjes-intro-replay.lp-replay-left { left:12px!important; } }

/* Keep hidden buttons hidden even when their normal button styling uses !important. */
#lichtpuntjes-intro-replay.lp-replay-floating[hidden] { display:none!important; }

/* v1.5: persistent audio player outside the overlay. AJAX-compatible and
   shown after the intro until the entire uploaded MP3 has finished. */
#persistent-lichtpuntjes-player {
  position: fixed !important;
  left: 50% !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  z-index: 2147483003 !important;
  width: min(460px, calc(100vw - 32px));
  min-height: 86px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 18px 12px 12px;
  background: rgba(12,12,12,.92) !important;
  border: 2px solid rgba(255,230,0,.7);
  border-radius: 22px;
  color: #fff !important;
  box-shadow: 0 12px 42px #000b, 0 0 24px #ffde0021;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  pointer-events: auto !important;
  font-family: 'Trebuchet MS', Arial, sans-serif !important;
}
#persistent-lichtpuntjes-player .lp-mute {
  width: 66px;
  min-width: 66px;
  height: 66px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  border: 0;
  border-radius: 16px;
  background: #ffe500;
  color: #080808;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .08em;
  box-shadow: 0 3px 10px #0006;
  transition: background-color .16s ease, transform .16s ease;
  touch-action: manipulation;
  flex: none;
}
#persistent-lichtpuntjes-player .lp-mute:hover { transform: scale(1.035); }
#persistent-lichtpuntjes-player .lp-mute svg { width: 30px; height: 30px; display: block; }
#persistent-lichtpuntjes-player .lp-icon-muted { display:none !important; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-mute { background: #ef4444; color: white; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-icon-volume { display:none !important; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-icon-muted { display:block !important; }
#persistent-lichtpuntjes-player .lp-audio-slider-wrap { flex: 1; min-width: 0; }
#persistent-lichtpuntjes-player .lp-audio-topline { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
#persistent-lichtpuntjes-player .lp-audio-topline label { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .02em; }
#persistent-lichtpuntjes-player .lp-volume-output { color: #ffe500; font-size: 15px; font-weight: 900; font-variant-numeric: tabular-nums; }
#persistent-lichtpuntjes-player .lp-volume-slider {
  appearance: none; -webkit-appearance: none;
  width: 100%; height: 12px; margin: 0;
  display: block;
  border: 0;
  outline: 0;
  border-radius: 99px;
  cursor: pointer;
  background: linear-gradient(to right, #ffe500 0, #ffe500 var(--lp-volume-fill, 88%), #565656 var(--lp-volume-fill, 88%), #565656 100%);
  touch-action: auto;
}
#persistent-lichtpuntjes-player .lp-volume-slider::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 4px solid #ffe500; box-shadow: 0 1px 10px #0009; cursor: grab; }
#persistent-lichtpuntjes-player .lp-volume-slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 4px solid #ffe500; box-shadow: 0 1px 10px #0009; cursor: grab; }
#persistent-lichtpuntjes-player .lp-audio-hint { display: block; margin-top: 11px; color: #bdbdbd; font-size: 10px; line-height: 1.25; }
#persistent-lichtpuntjes-player.lp-music-started .lp-audio-hint { visibility: hidden; }
#persistent-lichtpuntjes-player { pointer-events: auto !important; }
#persistent-lichtpuntjes-player .lp-mute:focus-visible, #persistent-lichtpuntjes-player .lp-volume-slider:focus-visible { outline: 3px solid #fff !important; outline-offset: 4px !important; }
@media (max-width: 600px) {
  #persistent-lichtpuntjes-player { bottom:max(12px,env(safe-area-inset-bottom)) !important; width:calc(100vw - 24px); padding:10px 12px 10px 10px; gap:11px; min-height:76px; border-radius:18px; }
  #persistent-lichtpuntjes-player .lp-mute { width:58px; min-width:58px; height:58px; border-radius:13px; }
  #persistent-lichtpuntjes-player .lp-mute svg { width:27px; height:27px; }
  #persistent-lichtpuntjes-player .lp-audio-topline label, #persistent-lichtpuntjes-player .lp-volume-output { font-size:13px; }
  #persistent-lichtpuntjes-player .lp-audio-hint { font-size:9px; margin-top:8px; }
}
@media (max-height: 530px) and (min-width: 650px) {
  #persistent-lichtpuntjes-player { left:auto !important; right:15px !important; transform:none !important; bottom:max(12px,env(safe-area-inset-bottom)) !important; width:min(390px, 45vw); }
}
/* Reserve visual breathing room for the permanent audio bar, so the "KLIK HET
   LICHT AAN" button remains unobstructed above it. */
#lichtpuntjes-intro .lp-center { transform: translateY(-60px); }
@media (max-width: 600px) {
  #lichtpuntjes-intro .lp-center { transform: translateY(-18px); }
}

/* Keep the player touchable over the intro and over Avada after the visual ends. */
#persistent-lichtpuntjes-player[hidden] { display:none!important; }
#persistent-lichtpuntjes-player.lp-audio-after-intro { bottom: max(18px,env(safe-area-inset-bottom))!important; }
/* The replay button must not overlap the player while a full song is playing. */
body:has(#persistent-lichtpuntjes-player:not([hidden])) #lichtpuntjes-intro-replay.lp-replay-floating {
  bottom: max(125px,calc(env(safe-area-inset-bottom) + 125px))!important;
}
@media (max-width:600px) {
  body:has(#persistent-lichtpuntjes-player:not([hidden])) #lichtpuntjes-intro-replay.lp-replay-floating {
    bottom:max(103px,calc(env(safe-area-inset-bottom) + 103px))!important;
  }
}

/* v1.7: no audio controls during greyscale loading or waiting for the click.
   The PHP hidden attribute and the explicit CSS ensure there is no flash. */
#persistent-lichtpuntjes-player[hidden] { display: none !important; }

/* v1.8 — the user's three original SVG artworks, with correctly cropped
   Illustrator viewBoxes. The lighter artwork only fills the lamp silhouette. */
#lichtpuntjes-intro .lp-logo-wrap { aspect-ratio:492 / 562; width:clamp(180px,min(40vw,54vh),395px); }
#lichtpuntjes-intro .lp-svg-dark { position:relative; z-index:1; filter:none; }
#lichtpuntjes-intro .lp-logo-light-layer {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  clip-path:inset(100% 0 0 0);
  -webkit-mask:var(--lp-lamp-mask) center / 100% 100% no-repeat;
  mask:var(--lp-lamp-mask) center / 100% 100% no-repeat;
}
#lichtpuntjes-intro .lp-svg-light { filter:none; }
#lichtpuntjes-intro .lp-svg-color {
  position:absolute; inset:0; z-index:3; opacity:0; filter:none;
  transition:opacity .48s ease;
}
#lichtpuntjes-intro.lp-colored .lp-svg-color { opacity:1; filter:none; }
#lichtpuntjes-intro.lp-colored .lp-logo-light-layer { opacity:0; }
#lichtpuntjes-intro .lp-logo { object-fit:contain; }
#lichtpuntjes-intro .lp-hanging-streamers { position:absolute; inset:0; z-index:8; overflow:hidden; pointer-events:none; }
#lichtpuntjes-intro .lp-hanging-curl { position:absolute; top:0; width:52px; height:calc(170px * var(--lp-streamer-scale,1.4)); max-height:45vh; opacity:0; transform-origin:top center; transform:translate(-50%,-115%) rotate(var(--lp-curl-rotate,0deg)); filter:none; }
#lichtpuntjes-intro.lp-banged .lp-hanging-curl { animation:lp-hanging-curl-drop 1.2s cubic-bezier(.16,.86,.3,1.23) var(--lp-curl-delay,0s) both; }
@keyframes lp-hanging-curl-drop { from { opacity:0; transform:translate(-50%,-110%) rotate(var(--lp-curl-rotate,0deg)); } to { opacity:1; transform:translate(-50%,0%) rotate(var(--lp-curl-rotate,0deg)); } }
@keyframes lp-hanging-curl-sway { from { transform:translate(-50%,0%) rotate(calc(var(--lp-curl-rotate,0deg) - 6deg)); } to { transform:translate(-50%,0%) rotate(calc(var(--lp-curl-rotate,0deg) + 6deg)); } }
#lichtpuntjes-intro.lp-no-bunting .lp-hanging-streamers { display:none!important; }
#lichtpuntjes-intro .lp-bunting { width:63vw; height:220px; }
#lichtpuntjes-intro .lp-bunting i { transform:scale(var(--lp-bunting-scale,1.35)); transform-origin:top center; }

/* Two animated black cabinets with concentric gold and red bass rings.
   Their motion is driven from the real audio FFT where available. */
#lichtpuntjes-intro .lp-speakers {
  --lp-react:0; --lp-cone-scale:1; --lp-cabinet-y:0px;
  --lp-cabinet-angle:0deg; --lp-aura-opacity:0;
  position:absolute; inset:0; z-index:2; pointer-events:none;
  opacity:0; transition:opacity .22s ease;
}
#lichtpuntjes-intro.lp-banged .lp-speakers { opacity:1; }
#lichtpuntjes-intro .lp-speakers[hidden], #lichtpuntjes-intro.lp-no-speakers .lp-speakers { display:none!important; }
#lichtpuntjes-intro .lp-speakers.lp-speakers-front { z-index:6; }
#lichtpuntjes-intro .lp-speakers.lp-only-right .lp-speaker-left, #lichtpuntjes-intro .lp-speakers.lp-only-left .lp-speaker-right { display:none; }
#lichtpuntjes-intro .lp-speaker { position:absolute; top:var(--lp-speaker-top,49%); width:calc(135px * var(--lp-speaker-size,1.45)); aspect-ratio: .66; max-width:24vw; max-height:48vh; transform:translateY(calc(-50% + var(--lp-cabinet-y,0px))) rotate(var(--lp-cabinet-angle,0deg)); filter:drop-shadow(0 13px 17px rgba(0,0,0,.72)); }
#lichtpuntjes-intro .lp-speaker-left { left:var(--lp-speaker-offset,35px); }
#lichtpuntjes-intro .lp-speaker-right { right:var(--lp-speaker-offset,35px); }
#lichtpuntjes-intro .lp-speaker-body { position:absolute; inset:0; z-index:2; border-radius:18px 18px 13px 13px; border:5px solid #464646; background:linear-gradient(132deg,#383838,#0b0b0b 36%,#171717 80%,#080808); box-shadow:inset 2px 3px 8px #aaa3,inset -6px -6px 18px #000d,3px 6px 0 #0005; }
#lichtpuntjes-intro .lp-sp-top { position:absolute; top:8%; left:32%; width:36%; height:11%; border:3px solid #4f4f4f; background:radial-gradient(circle,#444 14%,#101010 60%); border-radius:50%; }
#lichtpuntjes-intro .lp-sp-cone { position:absolute; left:10%; width:80%; aspect-ratio:1; border-radius:50%; border:7px solid #202020; background:radial-gradient(circle at 47% 43%,#181818 0%,#2b2b2b 21%,#090909 23%,#1f1f1f 54%,#383838 57%,#060606 68%,#060606 73%,#737373 75%,#050505 80%); box-shadow:0 0 0 2px #0a0a0a,inset 0 2px 5px #fff3; transform:scale(var(--lp-cone-scale,1)); transform-origin:center; }
#lichtpuntjes-intro .lp-sp-cone-top { top:22%; }
#lichtpuntjes-intro .lp-sp-cone-bottom { bottom:5%; }
#lichtpuntjes-intro .lp-sp-reflection { position:absolute; left:6%; top:5%; bottom:5%; width:4%; background:linear-gradient(#fff5,#aaa1,transparent); border-radius:5px; }
#lichtpuntjes-intro .lp-sp-aura { position:absolute; z-index:1; inset:-22%; border-radius:30%; background:radial-gradient(circle,#ffe5006b 8%,#ef333345 33%,transparent 68%); opacity:var(--lp-aura-opacity,0); filter:blur(18px); }
#lichtpuntjes-intro .lp-speaker-no-glow .lp-sp-aura { display:none; }
#lichtpuntjes-intro .lp-speaker-no-shake .lp-speaker { --lp-cabinet-y:0px!important; --lp-cabinet-angle:0deg!important; }

/* Muting moves the range to 0 and overlays a clearly RED diagonal slash.
   Unmuting restores the exact previous volume level. */
#persistent-lichtpuntjes-player.lp-is-muted .lp-mute { background:#242424; color:#fff; border:2px solid #ff3434; }
#persistent-lichtpuntjes-player .lp-mute .lp-mute-red-slash { stroke:#ff3434!important; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-volume-output { color:#ff5a5a; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-volume-slider { background:#555; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-volume-slider::-webkit-slider-thumb { border-color:#ff3434; }
#persistent-lichtpuntjes-player.lp-is-muted .lp-volume-slider::-moz-range-thumb { border-color:#ff3434; }

@media (max-width:700px) {
  #lichtpuntjes-intro .lp-speaker { max-width:26vw; max-height:26vh; width:calc(100px * var(--lp-speaker-size,1.45)); opacity:.9; }
  #lichtpuntjes-intro .lp-speaker-left { left:max(-3vw,calc(var(--lp-speaker-offset,35px) / 4 - 12px)); }
  #lichtpuntjes-intro .lp-speaker-right { right:max(-3vw,calc(var(--lp-speaker-offset,35px) / 4 - 12px)); }
  #lichtpuntjes-intro .lp-logo-wrap { width:min(51vw,34vh,295px); }
  #lichtpuntjes-intro .lp-bunting i { transform:scale(min(var(--lp-bunting-scale,1.35),1.1)); }
  #lichtpuntjes-intro .lp-hanging-curl { width:34px; max-height:33vh; }
}
@media (prefers-reduced-motion:reduce) {
  #lichtpuntjes-intro .lp-speakers, #lichtpuntjes-intro .lp-hanging-streamers { display:none!important; }
}
/* v1.8 final layout tune: the pennants truly hang INTO the viewport. */
#lichtpuntjes-intro .lp-bunting { top:4px; border-top-width:5px; border-top-color:#f6f6f6; }
#lichtpuntjes-intro .lp-bunting-left { left:-4vw; }
#lichtpuntjes-intro .lp-bunting-right { right:-4vw; }
@media (max-width:700px) {
  #lichtpuntjes-intro .lp-bunting { top:1px; width:83vw; height:155px; }
  #lichtpuntjes-intro .lp-bunting-left { left:-34vw; }
  #lichtpuntjes-intro .lp-bunting-right { right:-34vw; }
}


/* v1.9 -- roped, draped, interactive garlands and persistent party controls. */
.lp-party-decor[hidden], .lp-party-actions[hidden], .lp-scissors-hint[hidden] { display:none!important; }
.lp-party-decor { position:fixed; inset:0; z-index:2147482000; pointer-events:none; isolation:isolate; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting {
  position:absolute!important; top:calc(var(--lp-upper-top,110px) + var(--lp-upper-width,5px) - 2px)!important;
  width:57vw!important; height:clamp(170px,23vw,340px)!important;
  padding:0!important; border:0!important; border-radius:0!important;
  pointer-events:none; display:block!important; overflow:visible;
  transform:none; filter:drop-shadow(0 3px 3px #0005);
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-left { left:-4vw!important; right:auto!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-right { right:-4vw!important; left:auto!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting[hidden] { display:none!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-garland-svg { width:100%;height:100%;overflow:visible;display:block; pointer-events:none; background:transparent!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-flag { filter:drop-shadow(1.2px 2px 1px #0005); }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-flag-hit { pointer-events:all; cursor:crosshair; outline:none; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-flag-hit:focus-visible { stroke:#ffe600;stroke-width:5px; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting.lp-cut-left, :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting.lp-cut-right { pointer-events:none!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting.lp-cut { pointer-events:none!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-left.lp-cut { animation:lp-rope-fall-left 1.95s cubic-bezier(.35,.02,.62,1) forwards!important; transform-origin:0 0!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-right.lp-cut { animation:lp-rope-fall-right 1.95s cubic-bezier(.35,.02,.62,1) forwards!important; transform-origin:100% 0!important; }
@keyframes lp-rope-fall-left { 0%{transform:translate(0,0) rotate(0deg);opacity:1} 23%{transform:translate(-2vw,25px) rotate(12deg);opacity:1} 100%{transform:translate(-112vw,90vh) rotate(73deg);opacity:0} }
@keyframes lp-rope-fall-right { 0%{transform:translate(0,0) rotate(0deg);opacity:1} 23%{transform:translate(2vw,25px) rotate(-12deg);opacity:1} 100%{transform:translate(112vw,90vh) rotate(-73deg);opacity:0} }
.lp-scissors-hint { position:fixed;z-index:2147483800;pointer-events:none;display:block;font-size:38px;line-height:1;filter:drop-shadow(0 2px 4px #222);background:#fff8cb;border:2px solid #171717;border-radius:50%;width:44px;height:44px;text-align:center; }
/* Retain the speaker visuals when their DOM moves out of the intro overlay. */
#lp-party-decor .lp-hanging-streamers { position:absolute; inset:0; z-index:8; overflow:hidden; pointer-events:none; }
#lp-party-decor .lp-hanging-curl { position:absolute; top:0; width:52px; height:calc(170px * var(--lp-streamer-scale,1.4)); max-height:45vh; opacity:0; transform-origin:top center; transform:translate(-50%,-115%) rotate(var(--lp-curl-rotate,0deg)); filter:none; }
#lp-party-decor .lp-speakers[hidden], #lichtpuntjes-intro.lp-no-speakers .lp-speakers { display:none!important; }
#lp-party-decor .lp-speakers.lp-speakers-front { z-index:6; }
#lp-party-decor .lp-speakers.lp-only-right .lp-speaker-left, #lp-party-decor .lp-speakers.lp-only-left .lp-speaker-right { display:none; }
#lp-party-decor .lp-speaker { position:absolute; top:var(--lp-speaker-top,49%); width:calc(135px * var(--lp-speaker-size,1.45)); aspect-ratio: .66; max-width:24vw; max-height:48vh; transform:translateY(calc(-50% + var(--lp-cabinet-y,0px))) rotate(var(--lp-cabinet-angle,0deg)); filter:drop-shadow(0 13px 17px rgba(0,0,0,.72)); }
#lp-party-decor .lp-speaker-left { left:var(--lp-speaker-offset,35px); }
#lp-party-decor .lp-speaker-right { right:var(--lp-speaker-offset,35px); }
#lp-party-decor .lp-speaker-body { position:absolute; inset:0; z-index:2; border-radius:18px 18px 13px 13px; border:5px solid #464646; background:linear-gradient(132deg,#383838,#0b0b0b 36%,#171717 80%,#080808); box-shadow:inset 2px 3px 8px #aaa3,inset -6px -6px 18px #000d,3px 6px 0 #0005; }
#lp-party-decor .lp-sp-top { position:absolute; top:8%; left:32%; width:36%; height:11%; border:3px solid #4f4f4f; background:radial-gradient(circle,#444 14%,#101010 60%); border-radius:50%; }
#lp-party-decor .lp-sp-cone { position:absolute; left:10%; width:80%; aspect-ratio:1; border-radius:50%; border:7px solid #202020; background:radial-gradient(circle at 47% 43%,#181818 0%,#2b2b2b 21%,#090909 23%,#1f1f1f 54%,#383838 57%,#060606 68%,#060606 73%,#737373 75%,#050505 80%); box-shadow:0 0 0 2px #0a0a0a,inset 0 2px 5px #fff3; transform:scale(var(--lp-cone-scale,1)); transform-origin:center; }
#lp-party-decor .lp-sp-cone-top { top:22%; }
#lp-party-decor .lp-sp-cone-bottom { bottom:5%; }
#lp-party-decor .lp-sp-reflection { position:absolute; left:6%; top:5%; bottom:5%; width:4%; background:linear-gradient(#fff5,#aaa1,transparent); border-radius:5px; }
#lp-party-decor .lp-sp-aura { position:absolute; z-index:1; inset:-22%; border-radius:30%; background:radial-gradient(circle,#ffe5006b 8%,#ef333345 33%,transparent 68%); opacity:var(--lp-aura-opacity,0); filter:blur(18px); }
#lp-party-decor .lp-speaker-no-glow .lp-sp-aura { display:none; }
#lp-party-decor .lp-speaker-no-shake .lp-speaker { --lp-cabinet-y:0px!important; --lp-cabinet-angle:0deg!important; }

#lp-party-decor .lp-speakers { position:absolute;inset:0;opacity:1;pointer-events:none;z-index:1; }
#lp-party-decor .lp-speakers[hidden], #lp-party-decor .lp-hanging-streamers[hidden] { display:none!important; }
#lp-party-decor .lp-hanging-streamers { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2; }
#lp-party-decor .lp-hanging-curl { opacity:1; transform:translate(-50%,0); }
#lp-party-decor .lp-bunting { z-index:6; }
.lp-party-actions { position:fixed!important;z-index:2147483500!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(var(--lp-toolbar-bottom,115px),env(safe-area-inset-bottom))!important;display:flex;flex-direction:column;align-items:stretch;gap:7px;max-width:min(92vw,320px);pointer-events:auto; }
.lp-party-actions button { background:rgba(12,12,12,.94)!important; color:#ffe500!important;border:1.5px solid #ffe500!important; border-radius:13px!important;box-shadow:0 5px 15px #0009!important; font:700 13px/1.2 'Trebuchet MS',Arial,sans-serif!important;padding:9px 15px!important;text-align:left!important;cursor:pointer!important;white-space:normal; }
.lp-party-actions button:hover, .lp-party-actions button:focus-visible { background:#28210a!important; outline:2px solid #fff; outline-offset:1px; }
.lp-party-actions button[aria-pressed="true"] { opacity:.65; border-color:#bbb!important;color:#ddd!important; }
.lp-party-actions .lp-action-stop { color:#fff!important;border-color:#ed4242!important;background:#491515!important; }
body:has(#lp-party-actions:not([hidden])) #lichtpuntjes-intro-replay.lp-replay-floating { display:none!important; }
@media(max-width:700px){
 :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting { width:84vw!important; height:clamp(170px,37vw,225px)!important;top:calc(var(--lp-upper-top,110px) + (var(--lp-upper-width,5px) / 2) - 3px)!important; filter:none!important; border:0!important; box-shadow:none!important; }
 :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-left { left:-35vw!important; }
 :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-right { right:-35vw!important; }
 .lp-party-actions { right:10px!important;max-width:min(57vw,235px);gap:5px; }
 .lp-party-actions button { font-size:11px!important; padding:8px 10px!important; }
}
@media(prefers-reduced-motion:reduce){ .lp-party-decor .lp-bunting.lp-cut { animation:none!important;display:none!important; } }

/* Version 1.9 refined reveal and sway: strings appear only at the confetti bang. */
#lichtpuntjes-intro:not(.lp-banged) .lp-bunting { opacity:0!important; visibility:hidden!important; }
#lichtpuntjes-intro.lp-banged .lp-bunting { opacity:1!important;visibility:visible!important; }
#lichtpuntjes-intro.lp-banged .lp-bunting-left { animation:lp-roped-appear-left 1.2s cubic-bezier(.17,.8,.3,1) .05s both!important; }
#lichtpuntjes-intro.lp-banged .lp-bunting-right { animation:lp-roped-appear-right 1.3s cubic-bezier(.17,.8,.3,1) .12s both!important; }
@keyframes lp-roped-appear-left { from { transform:translate(-20vw,-22vh) rotate(-13deg); opacity:0 } to { transform:none;opacity:1 } }
@keyframes lp-roped-appear-right { from { transform:translate(20vw,-22vh) rotate(13deg); opacity:0 } to { transform:none;opacity:1 } }
#lp-party-decor .lp-bunting-left.lp-garland-sway:not(.lp-cut) {animation:lp-sway-left 3.8s ease-in-out infinite alternate;transform-origin:50% 0;will-change:transform;backface-visibility:hidden;}
#lp-party-decor .lp-bunting-right.lp-garland-sway:not(.lp-cut) {animation:lp-sway-right 4.4s ease-in-out infinite alternate;transform-origin:50% 0;will-change:transform;backface-visibility:hidden;}
@keyframes lp-sway-left {from{transform:rotate(-.6deg)}to{transform:rotate(.8deg)}}
@keyframes lp-sway-right {from{transform:rotate(.7deg)}to{transform:rotate(-.6deg)}}
@media(prefers-reduced-motion:reduce){#lp-party-decor .lp-garland-sway{animation:none!important;}}
/* Position curled hanging ribbons below the reserved navigation/logo zone. */
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl {
  top:calc(var(--lp-upper-top,110px) + (var(--lp-upper-width,5px) / 2))!important;
}

/* v2.0: Separate persistent upper rope, varied snippable curls and actual SVG speakers. */
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-upper-line {position:absolute;left:0;right:0;top:var(--lp-upper-top,110px);height:var(--lp-upper-width,5px);background:var(--lp-upper-color,#080808);border-radius:12px;z-index:8;box-shadow:none;pointer-events:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-upper-line[hidden] {display:none!important;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl {height:calc(160px * var(--lp-streamer-scale,1.4) * var(--lp-curl-individual,1))!important;max-height:65vh;transition:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl.lp-curl-can-cut {pointer-events:auto!important;cursor:crosshair;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl.lp-curl-can-cut:hover {filter:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl.lp-curl-cut {pointer-events:none!important;animation:lp-curl-drop .95s ease-in forwards!important;}
@keyframes lp-curl-drop {0%{opacity:1;transform:translate(-50%,0) rotate(var(--lp-curl-rotate,0deg));}100%{opacity:0;transform:translate(calc(-50% + 110px),115vh) rotate(300deg);}}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speakers .lp-speaker {pointer-events:auto;cursor:pointer;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speakers {pointer-events:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-custom-art {border:0!important;background:none!important;box-shadow:none!important;overflow:visible;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-svg {width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-woofer {position:absolute;left:46%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 52% 45%,#242424 0%,#121212 31%,#494949 47%,#262626 59%,transparent 74%);box-shadow:inset 0 0 8px #000a;transform:rotate(-14deg) scale(var(--lp-cone-scale,1));transition:transform .05s linear;opacity:.82;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-woofer-small {top:27%;width:28%;height:14%;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-woofer-large {top:48%;width:37%;height:20%;left:43%;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-no-pulse .lp-speaker-woofer {display:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-right .lp-speaker-body {transform:scaleX(-1);}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-kick {position:absolute;z-index:10;bottom:-6px;right:-10px;border:0;background:transparent;box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) rotate(-10deg);transition:opacity .2s,transform .2s,visibility .2s;padding:0;width:76px;height:58px;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-kick .lp-clog-symbol {font-size:37px;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-kick span:first-child {display:none;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker:hover .lp-clog-kick,:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker:focus-within .lp-clog-kick,:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker.lp-clog-armed .lp-clog-kick {opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) rotate(-14deg);}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-kick-disabled .lp-clog-kick {display:none!important;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-left.lp-speaker-kicked {animation:lp-kick-left .98s cubic-bezier(.14,.5,.43,1) forwards!important;pointer-events:none!important;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-right.lp-speaker-kicked {animation:lp-kick-right .98s cubic-bezier(.14,.5,.43,1) forwards!important;pointer-events:none!important;}
@keyframes lp-kick-left{0%{opacity:1;transform:translateY(-50%) rotate(0)}25%{transform:translate(22px,-53%) rotate(18deg)}100%{opacity:0;transform:translate(calc(-1 * var(--lp-kick-distance,112vw)),-80%) rotate(-570deg)}}
@keyframes lp-kick-right{0%{opacity:1;transform:translateY(-50%) rotate(0)}25%{transform:translate(-22px,-53%) rotate(-18deg)}100%{opacity:0;transform:translate(var(--lp-kick-distance,112vw),-80%) rotate(570deg)}}
.lp-ambient-confetti {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:20;}
@media(max-width:700px){:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-kick {width:46px;height:46px;right:-10px;bottom:1px;}:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-symbol {font-size:28px!important;}}
@media(prefers-reduced-motion:reduce){:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-kicked,:is(#lichtpuntjes-intro,#lp-party-decor) .lp-curl-cut{display:none!important;animation:none!important;}}

/* Keep upper rail invisible during loader; reveal at confetti blast only. */
#lichtpuntjes-intro:not(.lp-banged) .lp-upper-line {opacity:0!important;visibility:hidden!important;}
#lichtpuntjes-intro.lp-banged .lp-upper-line {opacity:1;visibility:visible;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker {aspect-ratio:.84!important;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-woofer-small {left:47%;top:11%;width:29%;height:29%;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker-woofer-large {left:51%;top:47%;width:35%;height:29%;}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-kick .lp-clog-icon {width:72px;height:auto;display:block;filter:drop-shadow(0 1px 1px #0007);}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-clog-kick .lp-clog-symbol {display:none;}
@media(hover:none){:is(#lichtpuntjes-intro,#lp-party-decor) .lp-speaker.lp-clog-armed .lp-clog-kick{opacity:1;visibility:visible;pointer-events:auto;}}

/* Explicit state supports hover and focus on Avada themes with custom button rules. */
#lp-party-decor .lp-speaker.lp-clog-armed>.lp-clog-kick, #lp-party-decor .lp-speaker:hover>.lp-clog-kick, #lichtpuntjes-intro .lp-speaker.lp-clog-armed>.lp-clog-kick, #lichtpuntjes-intro .lp-speaker:hover>.lp-clog-kick {visibility:visible!important;opacity:1!important;pointer-events:auto!important;}


/* v2.1: minimal silent intro and 2-line action buttons. */
#lichtpuntjes-intro.lp-minimal-mode .lp-speakers,
#lichtpuntjes-intro.lp-minimal-mode .lp-bunting,
#lichtpuntjes-intro.lp-minimal-mode .lp-hanging-streamers,
#lichtpuntjes-intro.lp-minimal-mode .lp-upper-line { display:none !important; }
/* Silent introduction retains the visible flash and confetti burst. */
#lichtpuntjes-intro.lp-minimal-mode.lp-banged .lp-confetti,
#lichtpuntjes-intro.lp-minimal-mode.lp-banged .lp-burst { display:block !important; }
#lichtpuntjes-intro.lp-minimal-mode .lp-logo-wrap { filter: drop-shadow(0 10px 24px rgba(0,0,0,.42)); }
#lichtpuntjes-intro.lp-minimal-mode .lp-headline { color:#ffe500; }

/* Garland refinements requested by the user: grey rope, no rivet dots, and
   sharper pennants. */
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-flag-cloth { filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)); }


/* v2.1.2: ropes are anchored to the black top line and curls must fall cleanly. */
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting { z-index:4; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-garland-svg { overflow:visible!important; background:transparent!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl {
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl:focus,
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl:active,
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl:focus-visible {
  outline:none!important;
  box-shadow:none!important;
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl path { vector-effect:non-scaling-stroke; }


/* v2.1.3 graphic garlands */
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting .lp-flag,
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting .lp-flag-cloth,
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting .lp-flag-hit { filter:none!important; box-shadow:none!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging { z-index:4!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-hanging-curl { z-index:4!important; top:calc(var(--lp-upper-top,110px) + (var(--lp-upper-width,5px) / 2) - 1px)!important; transform-origin:50% 0!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting .lp-flag-cloth { stroke:none!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting svg path[opacity] { opacity:1!important; }


/* v2.1.4 layered crossing garlands */
#lichtpuntjes-intro .lp-hanging-streamers { z-index:7!important; }
#lichtpuntjes-intro .lp-bunting { z-index:9!important; }
#lp-party-decor .lp-hanging-streamers { z-index:4!important; }
#lp-party-decor .lp-bunting { z-index:7!important; }
#lichtpuntjes-intro .lp-hanging-curl,
#lp-party-decor .lp-hanging-curl {
  top:calc(var(--lp-upper-top,110px) + (var(--lp-upper-width,5px) / 2) + 4px)!important;
  transform-origin:50% 0!important;
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting {
  top:calc(var(--lp-upper-top,110px) + (var(--lp-upper-width,5px) / 2) - 2px)!important;
  width:58vw!important;
  height:230px!important;
  filter:none!important;
  box-shadow:none!important;
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-left { left:-4vw!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-right { right:-4vw!important; }
@media(max-width:700px){
  :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting { width:86vw!important; height:210px!important; }
  :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-left { left:-36vw!important; }
  :is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-right { right:-36vw!important; }
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-garland-svg { overflow:visible!important; background:transparent!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-flag { filter:none!important; }
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-flag-cloth { stroke:none!important; }
#lichtpuntjes-intro .lp-bunting-left.lp-garland-sway:not(.lp-cut),
#lp-party-decor .lp-bunting-left.lp-garland-sway:not(.lp-cut){
  animation:lp-sway-left-214 4.6s ease-in-out infinite alternate;
  transform-origin:6% 0!important;
  will-change:transform;
}
#lichtpuntjes-intro .lp-bunting-right.lp-garland-sway:not(.lp-cut),
#lp-party-decor .lp-bunting-right.lp-garland-sway:not(.lp-cut){
  animation:lp-sway-right-214 5s ease-in-out infinite alternate;
  transform-origin:94% 0!important;
  will-change:transform;
}
@keyframes lp-sway-left-214 { from { transform:rotate(-2.1deg) translateY(0px);} to { transform:rotate(2.2deg) translateY(1px);} }
@keyframes lp-sway-right-214 { from { transform:rotate(2deg) translateY(0px);} to { transform:rotate(-2.2deg) translateY(1px);} }


/* v2.1.5 - fixed visible hanging points on top line */
#lichtpuntjes-intro .lp-bunting-left.lp-garland-sway:not(.lp-cut),
#lp-party-decor .lp-bunting-left.lp-garland-sway:not(.lp-cut){
  transform-origin:76% 0 !important;
  animation:lp-sway-left-215 4.9s ease-in-out infinite alternate;
}
#lichtpuntjes-intro .lp-bunting-right.lp-garland-sway:not(.lp-cut),
#lp-party-decor .lp-bunting-right.lp-garland-sway:not(.lp-cut){
  transform-origin:24% 0 !important;
  animation:lp-sway-right-215 5.1s ease-in-out infinite alternate;
}
@keyframes lp-sway-left-215 { from { transform:rotate(-1.6deg) translateY(0px); } to { transform:rotate(1.9deg) translateY(1px); } }
@keyframes lp-sway-right-215 { from { transform:rotate(1.6deg) translateY(0px); } to { transform:rotate(-1.9deg) translateY(1px); } }


/* v2.1.6: only the SVG swings; its DOM parent NEVER starts a second sway
   animation after being moved from the intro to the persistent layer. */
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting.lp-garland-sway:not(.lp-cut) {
  animation:none!important;
  transform:none!important;
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-left .lp-garland-svg {
  transform-origin:76% 1.2%!important;
  will-change:transform;
}
:is(#lichtpuntjes-intro,#lp-party-decor) .lp-bunting-right .lp-garland-svg {
  transform-origin:24% 1.2%!important;
  will-change:transform;
}
/* The entrance is an opacity reveal, not a competing transform animation. */
#lichtpuntjes-intro.lp-banged .lp-bunting:not(.lp-cut) {opacity:1!important; visibility:visible!important;}

/* v2.2.0: Mobile is a minimal visual intro in BOTH audio modes.
   The confetti and flash remain; volume dock and floating replay remain. */
@media (max-width:767px) {
  #lichtpuntjes-intro .lp-speakers,
  #lichtpuntjes-intro .lp-bunting,
  #lichtpuntjes-intro .lp-hanging-streamers,
  #lichtpuntjes-intro .lp-upper-line,
  #lp-party-decor,
  #lp-party-actions {display:none!important;}
  #lichtpuntjes-intro-replay.lp-replay-floating:not([hidden]) {display:inline-flex!important;}
}
/* Nothing is snippable until the confetti blast actually begins. */
#lichtpuntjes-intro:not(.lp-banged) .lp-flag-hit,
#lichtpuntjes-intro:not(.lp-banged) .lp-hanging-curl {pointer-events:none!important;}

/* v2.2.2: mobile audio controls must receive pointer/touch gestures. */
@media(max-width:767px){
  #persistent-lichtpuntjes-player {touch-action:pan-x!important;pointer-events:auto!important;}
  #persistent-lichtpuntjes-player .lp-volume-slider {touch-action:none!important;pointer-events:auto!important;-webkit-user-select:none;user-select:none;}
  #persistent-lichtpuntjes-player .lp-mute {touch-action:manipulation!important;pointer-events:auto!important;}
}

/* v2.2.3: mobile confetti remains visible above the website, not over controls. */
@media(max-width:767px){#lp-party-decor .lp-ambient-confetti{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;pointer-events:none!important;z-index:20!important;}}
