/* Het parkverhaal als scroll (13 okt 2026), bij template-parts/sections/parkscroll.php en assets/js/parkscroll.js.
   Alles in de buhne is in pixels van een beeld van 1920x1080; het script schaalt de buhne mee met het venster. */
.ps{position:relative;height:720vh;background:#ECE8F7;font-family:'Poppins',sans-serif;color:#1F1B2E}
.ps:not(.ps--aan){display:none}
.ps-vast{position:sticky;top:var(--ps-top,0px);height:calc(100vh - var(--ps-top,0px));height:calc(100svh - var(--ps-top,0px));overflow:hidden}
.ps-balk{position:absolute;left:0;top:0;height:3px;width:0;background:#5A4AB8;z-index:5}
.ps-buhne{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden}
.ps-buhne *{box-sizing:border-box;margin:0;padding:0;font-family:inherit}
.ps-bg{position:absolute;inset:0;background:radial-gradient(1400px 900px at 70% 35%,#FFFFFF 0%,#F6F3FD 45%,#E9E4F7 100%)}
.ps-vloer{position:absolute;left:1250px;top:880px;width:1100px;height:120px;margin-left:-550px;border-radius:50%;background:radial-gradient(closest-side,rgba(60,40,120,.22),rgba(60,40,120,0));filter:blur(8px)}
.ps-stage{position:absolute;inset:0;perspective:2400px;perspective-origin:1250px 260px}
.ps-cam{position:absolute;left:1250px;top:520px;transform-style:preserve-3d}
.ps-g{position:absolute;left:-700px;top:-420px;width:1400px;height:840px;transform-style:preserve-3d}
.ps-rij{position:absolute;left:0;top:0;width:1400px;height:280px;transform-style:preserve-3d;transform-origin:50% 0}
.ps-col{position:absolute;top:0;width:200px;height:280px;transform-style:preserve-3d;transform-origin:100% 50%}
.ps-f,.ps-b{position:absolute;left:-.8px;top:-.8px;width:201.6px;height:281.6px;backface-visibility:hidden;background-size:1400px 840px;background-repeat:no-repeat}
.ps-f{background-image:var(--ps-kaart,none);background-color:#DDEBCB}
.ps-b{background-image:var(--ps-binnen,none);background-color:#F4F1FB;transform:rotateY(180deg)}
.ps-f::after,.ps-b::after{content:"";position:absolute;inset:0;background:rgba(40,25,90,var(--sh,0));pointer-events:none}
.ps-anker{position:absolute;width:0;height:0}
.ps-anker0{position:absolute;top:0;left:0}
/* de omslag heeft licht ronde hoeken, zoals het echte product (13 okt) */
#ps-c0_0>.ps-f,#ps-c0_0>.ps-b{border-radius:5px;overflow:hidden}
.ps-pop{position:absolute;left:0;top:0;width:1400px;height:840px;transform-style:preserve-3d;transform:translateZ(1px);pointer-events:none}
.ps-ride{position:absolute;width:0;height:0;transform-style:preserve-3d}
.ps-stand{position:absolute;left:0;top:0;transform-origin:50% 100%}
.ps-stand img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 6px 8px rgba(30,20,70,.22))}
.ps-golf{position:absolute;border-radius:50%;border:3px solid rgba(255,255,255,.95);box-shadow:0 0 0 2px rgba(90,74,184,.35),inset 0 0 0 2px rgba(90,74,184,.25)}
.ps-schaduw{position:absolute;border-radius:50%;background:rgba(30,40,20,.32);filter:blur(5px)}
.ps-nr{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:#5A4AB8;color:#fff;font-weight:700;font-size:21px;
  display:grid;place-items:center;box-shadow:0 3px 8px rgba(30,20,70,.3);border:3px solid #fff}
.ps-nr.ps-lab{width:auto;height:30px;border-radius:15px;padding:0 13px;background:#fff;color:#1F1B2E;font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;border:2px solid #5A4AB8;white-space:nowrap}
/* de tekstkolom links */
.ps-tk{position:absolute;left:130px;top:0;width:540px}
.ps-tk small{display:block;font-weight:600;font-size:17px;letter-spacing:.18em;text-transform:uppercase;color:#5A4AB8;margin-bottom:14px}
.ps-tk h3{display:block;font-weight:700;font-size:40px;line-height:1.16;letter-spacing:.02em;text-transform:uppercase;color:#1F1B2E}
.ps-tk p{display:block;font-size:23px;line-height:1.55;margin-top:20px;color:rgba(31,27,46,.78)}
.ps-pl{display:flex;gap:18px;align-items:baseline;margin-top:22px}
.ps-pl i{font-style:normal;font-weight:700;font-size:24px;color:#5A4AB8;width:30px}
.ps-pl em{font-style:normal;font-weight:600;font-size:21px;letter-spacing:.06em;text-transform:uppercase}
.ps-pl em span{display:block;margin-top:5px;font-weight:400;font-size:19px;letter-spacing:0;text-transform:none;color:rgba(31,27,46,.7)}
/* vouchers, achterkant en telefoon */
.ps-bon{position:absolute;left:0;top:0;width:290px;height:400px;border-radius:12px;overflow:hidden;box-shadow:0 22px 44px rgba(40,25,90,.22)}
.ps-bf{height:180px;background-size:cover;background-position:center}
.ps-bt{padding:20px 22px}
.ps-bk{font-weight:600;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:#5A4AB8}
.ps-bh{font-weight:700;font-size:23px;letter-spacing:.02em;text-transform:uppercase;line-height:1.08;margin-top:6px}
.ps-bs{font-size:17px;margin-top:8px;opacity:.8}
.ps-bon::after{content:"";position:absolute;inset:8px;border:2px dashed rgba(31,27,46,.45);border-radius:8px;pointer-events:none}
.ps-achter{position:absolute;left:0;top:0;width:420px;height:582px;border-radius:12px;background-size:cover;box-shadow:0 30px 60px rgba(40,25,90,.25)}
.ps-tel{position:absolute;left:0;top:0;width:390px;height:800px;border-radius:60px;background:#17141f;padding:15px;box-shadow:0 40px 80px rgba(40,25,90,.3)}
.ps-scr{position:relative;width:100%;height:100%;border-radius:46px;overflow:hidden;background:#fff}
.ps-scr>img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ps-eiland{position:absolute;left:50%;top:25px;width:112px;height:32px;margin-left:-56px;border-radius:17px;background:#000;z-index:5}
.ps-camv{position:absolute;inset:0;background:#0d0b16;display:grid;place-items:center;z-index:6}
.ps-qrb{width:250px;height:250px;background:#fff;border-radius:14px;padding:16px}
.ps-qrb img{display:block;width:100%;height:100%}
.ps-straal{position:absolute;left:30px;right:30px;height:3px;border-radius:2px;background:#fff;box-shadow:0 0 22px 6px rgba(255,255,255,.55)}
.ps-flits{position:absolute;inset:0;background:#fff;z-index:7}
.ps-tik{position:absolute;left:0;top:0;width:54px;height:54px;border-radius:50%;background:rgba(90,74,184,.28);border:3px solid rgba(90,74,184,.6);z-index:8}
/* aanwijzers */
.ps-lijnen{position:absolute;left:0;top:0;width:1920px;height:1080px;pointer-events:none;overflow:visible}
.ps-lijnen line{stroke:#5A4AB8;stroke-width:2.2;stroke-dasharray:1 7;stroke-linecap:round}
.ps-lijnen .ps-d{fill:#fff;stroke:#5A4AB8;stroke-width:3}
.ps-lijnen .ps-h{fill:none;stroke:#5A4AB8;stroke-width:1.5}
.ps-lab8{position:absolute;left:0;top:0;white-space:nowrap}
.ps-lab8 small{display:block;font-weight:600;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#5A4AB8;margin-bottom:5px}
.ps-lab8 b{display:block;font-weight:700;font-size:19px;letter-spacing:.1em;text-transform:uppercase;color:#1F1B2E}
.ps-lab8 span{display:block;width:330px;white-space:normal;font-size:17px;line-height:1.45;margin-top:5px;color:rgba(31,27,46,.74)}
.ps-lab8.kl{text-align:right}.ps-lab8.kl span{margin-left:auto}
.ps-lab8.kb,.ps-lab8.ko{text-align:center}.ps-lab8.kb span,.ps-lab8.ko span{margin:5px auto 0}
.ps-onder{display:none}
/* smal scherm: het script snijdt het beeld bij tot het object, de tekst staat eronder */
.ps--smal .ps-tk,.ps--smal .ps-lab8,.ps--smal .ps-lijnen{display:none}
.ps--smal .ps-onder{display:block;position:absolute;left:20px;right:20px;top:var(--ps-onder,60%)}
/* 14 okt (Nout: "op mobiel scrollt hij te ver en kan hij buiten zijn kaders"): op een telefoon korter scrollen, en de
   Stay connected-kaartjes naast de telefoon weg: in het bijgesneden beeld vielen ze over de rechterrand en zijn ze te klein */
.ps.ps--smal{height:480vh}
.ps--smal .ps-sc{display:none !important}
/* 14 okt (Nout: "de scroll naar beneden gaat te ver door"): op een telefoon klikt de scroll vast bij elke stap van het
   verhaal, zodat een veeg niet langs drie stappen schiet. Proximity: buiten het verhaal scrol je vrij. */
html.ps-snap-aan{scroll-snap-type:y proximity !important}   /* v3.css zet snappen overal uit met !important */
.ps-snap{position:absolute;left:0;width:1px;height:1px;pointer-events:none;scroll-snap-align:start;scroll-snap-stop:always}
.ps-onder *{font-family:inherit}
.ps-onder small{display:block;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#5A4AB8;margin-bottom:8px}
.ps-onder h3{font-weight:700;font-size:22px;line-height:1.2;text-transform:uppercase;letter-spacing:.02em;margin:0;color:#1F1B2E}
.ps-onder p{font-size:15px;line-height:1.5;margin:10px 0 0;color:rgba(31,27,46,.78)}
.ps-onder .ps-pl{margin-top:10px;gap:12px}
.ps-onder .ps-pl i{font-size:15px;width:16px}.ps-onder .ps-pl em{font-size:13px}.ps-onder .ps-pl em span{font-size:13px;margin-top:2px}
@media (prefers-reduced-motion:reduce){.ps{height:520vh}}

/* ---- museum (13 okt 2026): stoffig museumblauw, grote stukken zonder nummer, het kaartje in de slit van de achterkant.
   Alleen voor .ps--museum; themepark blijft zoals hij is. */
.ps--museum{background:#F1F2F4;color:#232A36}
.ps--museum .ps-bg{background:radial-gradient(1400px 900px at 70% 35%,#FFFFFF 0%,#F3F4F6 45%,#E3E5E9 100%)}
.ps--museum .ps-balk,.ps--museum .ps-tk small,.ps--museum .ps-lab8 small,.ps--museum .ps-bk,.ps--museum .ps-onder small{background:none;color:#3E5373}
.ps--museum .ps-balk{background:#3E5373}
.ps--museum .ps-pl i{color:#3E5373}
.ps--museum .ps-tk h3,.ps--museum .ps-lab8 b,.ps--museum .ps-onder h3{color:#232A36}
.ps--museum .ps-lijnen line{stroke:#3E5373}.ps--museum .ps-lijnen .ps-d,.ps--museum .ps-lijnen .ps-h{stroke:#3E5373}
.ps--museum .ps-f{background-color:#FFFFFF}.ps--museum .ps-b{background-color:#F1F2F4}
.ps--museum .ps-f::after,.ps--museum .ps-b::after{background:rgba(30,35,50,var(--sh,0))}
.ps--museum .ps-vloer{background:radial-gradient(closest-side,rgba(30,35,50,.22),rgba(30,35,50,0))}
.ps--museum #ps-c2_5>.ps-f,.ps--museum #ps-c2_5>.ps-b{border-radius:5px;overflow:hidden}   /* ook de achterkant heeft ronde hoeken */
.ps--museum .ps-schaduw{background:radial-gradient(closest-side,rgba(20,24,34,.55),rgba(20,24,34,0));filter:blur(2px)}
.ps--museum .ps-stand img{filter:drop-shadow(0 3px 4px rgba(20,25,40,.25))}
.ps--museum .ps-bon{box-shadow:0 22px 44px rgba(30,35,50,.22)}
.ps--museum .ps-achter{border-radius:14px;box-shadow:0 30px 60px rgba(30,35,50,.25)}
.ps--museum .ps-tik{background:rgba(62,83,115,.25);border-color:rgba(62,83,115,.6)}
.ps-slit{position:absolute;left:470px;top:81px;width:300px;height:420px;border-radius:4px;background:#fff;padding:20px 18px 14px 26px;visibility:hidden;
  box-shadow:0 10px 22px rgba(20,25,40,.35);display:flex;flex-direction:column;color:#232A36}
.ps-slit small{font-weight:700;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:#7A5A1C}
.ps-slit h4{margin:4px 0 10px;font-weight:800;font-size:25px;line-height:1.05}
.ps-slr{display:flex;gap:9px;padding:7px 0;border-top:1px solid #E6E2D8}
.ps-slr b{flex:none;width:70px;font-weight:700;font-size:13px;color:#3E5373}
.ps-slr span{font-weight:700;font-size:13px;line-height:1.25}
.ps-slr em{display:block;font-style:normal;font-weight:400;font-size:11.5px;color:rgba(35,42,54,.7)}
.ps-slp{margin-top:auto;display:flex;gap:6px;align-items:baseline;font-weight:700;font-size:11px;line-height:1.3;color:#7A5A1C}
.ps-slp i{flex:none;width:7px;height:7px;border-radius:50%;background:#7A5A1C}

/* Stay connected (hotel v6, 13 okt): sterren in de app, een glans, kaartjes naast de telefoon. Alleen als de config "connect" heeft. */
.ps-sterren{position:absolute;inset:0;pointer-events:none;z-index:6}
.ps-sterren span{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;display:grid;place-items:center;font-size:24px;line-height:1;color:#D9A92E;visibility:hidden;
  text-shadow:0 0 10px rgba(255,200,80,.9),0 0 22px rgba(255,190,60,.55)}
.ps-glans{position:absolute;border-radius:19px;pointer-events:none;z-index:7;visibility:hidden;
  background:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.85) 50%,rgba(255,255,255,0) 70%);background-size:300% 100%}
.ps-sc{position:absolute;left:0;top:0;height:184px;background:#fff;border-radius:14px;padding:20px 24px 18px;box-shadow:0 20px 44px rgba(40,30,70,.16);visibility:hidden;color:#1F1B2E}
.ps-sc small{display:block;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#5A4AB8}
.ps-sc b{display:block;font-weight:700;font-size:24px;line-height:1.1;margin:6px 0 6px}
.ps-sc span{display:block;font-size:15px;line-height:1.45;color:rgba(31,27,46,.78)}
.ps-sc i{display:block;font-style:normal;color:#D9A92E;font-size:20px;letter-spacing:3px;margin-top:6px;text-shadow:0 0 8px rgba(255,200,80,.6)}
/* museum: schreefkoppen (Cormorant Garamond, OFL) en vouchers zoals de dummies (volwassen markten) */
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond.woff2') format('woff2');font-weight:300 700;font-display:swap}
.ps--museum .ps-sc small{color:#3E5373}
.ps--museum .ps-sc b{font-family:'Cormorant Garamond',serif;font-variant-numeric:lining-nums;font-weight:600;font-size:30px;line-height:1.05}
.ps--museum .ps-sc{box-shadow:0 20px 44px rgba(30,35,50,.16);color:#232A36}
.ps--museum .ps-bon{background:#fff !important;border-radius:0;padding:40px 26px 24px;height:410px;display:flex;flex-direction:column}
.ps--museum .ps-bon::after{inset:auto 18px auto 18px;top:17px;border:0;border-top:1.6px dashed #B4B9C4;border-radius:0}
.ps--museum .ps-bf{display:none}
.ps--museum .ps-bt{padding:0;display:flex;flex-direction:column;flex:1}
.ps--museum .ps-bk{align-self:flex-start;background:#D8C9A0;color:#232A36;font-size:13px;letter-spacing:.16em;padding:4px 10px 3.5px;margin-bottom:16px}
.ps--museum .ps-bh{font-family:'Cormorant Garamond',serif;font-variant-numeric:lining-nums;font-weight:600;font-size:36px;line-height:1.0;text-transform:none;letter-spacing:0;margin-bottom:14px;color:#232A36}
.ps--museum .ps-bs{font-size:16px;line-height:1.45;color:rgba(35,42,54,.84);opacity:1}
