*{box-sizing:border-box} :root{color-scheme:dark;--bg:#080914;--panel:#111329;--line:#34345f;--purple:#a855f7;--blue:#38bdf8;--text:#f3f2ff;--muted:#b8b7d4}body{margin:0;background:radial-gradient(ellipse at top,#1b1640 0,#080914 58%);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}a{color:#8bdcff;text-decoration:none}a:hover{color:#e9c5ff}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(20px,calc((100% - 1120px)/2));border-bottom:1px solid #34345f;background:#080914eF;position:sticky;top:0;z-index:5}.brand{font-size:1.3rem;font-weight:900;color:#fff;text-shadow:0 0 12px var(--purple),0 0 22px var(--blue)}nav{display:flex;flex-wrap:wrap;gap:16px}.container{width:min(1120px,calc(100% - 32px));margin:28px auto 60px}.hero{padding:42px 26px;border:1px solid #5c4a9a;border-radius:22px;background:linear-gradient(135deg,#20133c,#111a38 65%,#101124);box-shadow:0 0 32px #8b5cf633;margin-bottom:24px}.hero h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.08;margin:0 0 12px}.glow{background:linear-gradient(90deg,#d8a4ff,#68d5ff);background-clip:text;color:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.panel,.card{background:linear-gradient(145deg,#15162e,#0e1022);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 28px #0003}.panel h2,.card h2{margin-top:0}.btn,button{display:inline-block;background:linear-gradient(100deg,#9333ea,#2563eb);border:0;border-radius:9px;color:white;font-weight:750;padding:11px 16px;cursor:pointer;font-size:1rem}.btn.secondary,button.secondary{background:#242646;border:1px solid #51517e}.btn.danger,button.danger{background:#8f234f}input,textarea,select{width:100%;padding:11px 12px;border-radius:8px;border:1px solid #47476d;background:#090b1a;color:#fff;font:inherit;margin:5px 0 14px}textarea{min-height:95px;resize:vertical}label{display:block;font-weight:650}table{width:100%;border-collapse:collapse;background:#111329;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:11px;border-bottom:1px solid #303153;vertical-align:top}th{color:#d9c7ff;background:#1c1b3a}.table-wrap{overflow:auto}.muted{color:var(--muted)}.status{display:inline-block;padding:3px 9px;border-radius:99px;background:#29284c;font-size:.85rem}.status.live{background:#123c40;color:#91fff1}.flash{padding:12px 15px;border-radius:10px;margin:0 0 18px;background:#123c40;border:1px solid #2b8b89}.flash.error{background:#451b34;border-color:#a34274}.player{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.player audio{width:min(100%,480px)}.cover{width:88px;height:88px;border-radius:15px;background:linear-gradient(135deg,#9333ea,#0ea5e9);display:grid;place-items:center;font-size:2rem;box-shadow:0 0 22px #9333ea55}.chat-log{height:280px;overflow:auto;background:#080a18;border:1px solid #36365c;border-radius:10px;padding:12px;margin-bottom:12px}.chat-line{padding:7px 0;border-bottom:1px solid #232440;overflow-wrap:anywhere}.chat-line strong{color:#d5aaff}.footer-note{font-size:.9rem;color:var(--muted)}footer{text-align:center;padding:28px;color:#9695b8;border-top:1px solid #282849}.inline-form{display:inline-flex;gap:8px;align-items:center}.inline-form button{padding:7px 10px;font-size:.9rem}.stats{font-size:2rem;font-weight:850;color:#bca2ff}.login{max-width:480px;margin:50px auto}.pill{border:1px solid #4a4777;border-radius:100px;padding:5px 10px;font-size:.85rem}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column;position:static}nav{gap:10px}.hero{padding:28px 20px}th,td{padding:8px;font-size:.92rem}}
.portal-header{width:min(1400px,calc(100% - 28px));margin:14px auto 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 18px;border:1px solid #3e3970;border-radius:18px;background:#080914ee;box-shadow:0 0 24px #8b5cf622;position:relative;z-index:5}.header-image-link{display:block;max-width:420px}.portal-header-image{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;border-radius:12px}.portal-header-copy{min-width:180px}.header-subtitle{color:var(--muted);font-size:.86rem}.portal-header nav{margin-left:auto}.portal-layout{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr) minmax(180px,250px);gap:18px;align-items:start}.portal-sidebar{display:flex;flex-direction:column;gap:18px}.portal-main{min-width:0}.portal-block{margin-bottom:18px}.portal-block-image{display:block;width:100%;height:auto;max-height:500px;object-fit:cover;border-radius:12px}.portal-block-iframe{padding:0!important;margin-bottom:18px;background:transparent;border:0!important;box-shadow:none!important;overflow:hidden;border-radius:0!important}.portal-block-iframe h2{margin:0 0 8px}.portal-iframe{display:block;width:100%;min-height:120px;border:0!important;border-radius:0!important;background:transparent!important;color-scheme:normal;overflow:hidden}.portal-text{overflow-wrap:anywhere}.portal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.portal-footer-image{display:block;width:100%;height:auto;max-width:1000px;max-height:none;margin:0 auto 14px;border-radius:0;object-fit:contain}@media(max-width:950px){.portal-layout{grid-template-columns:minmax(150px,210px) minmax(0,1fr)}.right-sidebar{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:720px){.portal-layout{display:flex;flex-direction:column}.portal-sidebar,.portal-main{width:100%}.left-sidebar,.right-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.portal-header{margin-top:8px}.portal-header nav{width:100%;margin-left:0}.portal-header-image{max-width:100%;max-height:90px}}

/* Portal image motion and responsive header/footer */
.site-banner,.site-footer-image{height:auto!important;max-height:none!important;object-fit:contain!important;visibility:visible!important;opacity:1!important}
/* Afbeeldingsblokken: vaste kijkvensterhoogte zodat de beweging zichtbaar is. */
.portal-image-window{position:relative;display:block;width:100%;height:240px;overflow:hidden;min-width:0;border-radius:12px;background:transparent;isolation:isolate}
.portal-image-window .portal-block-image{position:absolute;display:block;width:120%!important;height:140%!important;max-width:none!important;max-height:none!important;left:-10%;top:-20%;object-fit:cover;border-radius:0;will-change:transform;animation-duration:8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.portal-image-window.motion-none{height:auto;min-height:0;overflow:visible}
.portal-image-window.motion-none .portal-block-image{position:static;width:100%!important;height:auto!important;max-width:100%!important;max-height:500px!important;object-fit:contain;animation:none}
.portal-image-window.motion-up .portal-block-image{animation-name:portal-image-up}
.portal-image-window.motion-down .portal-block-image{animation-name:portal-image-down}
.portal-image-window.motion-left .portal-block-image{animation-name:portal-image-left}
.portal-image-window.motion-right .portal-block-image{animation-name:portal-image-right}
@keyframes portal-image-up{from{transform:translate3d(0,12%,0)}to{transform:translate3d(0,-12%,0)}}
@keyframes portal-image-down{from{transform:translate3d(0,-12%,0)}to{transform:translate3d(0,12%,0)}}
@keyframes portal-image-left{from{transform:translate3d(12%,0,0)}to{transform:translate3d(-12%,0,0)}}
@keyframes portal-image-right{from{transform:translate3d(-12%,0,0)}to{transform:translate3d(12%,0,0)}}
@media(max-width:720px){.portal-image-window{height:190px}}
@media(prefers-reduced-motion:reduce){.portal-image-window .portal-block-image{animation:none!important}}

/* Header/footer en achtergrond: zichtbaarheid en schaal */
.site-banner,.site-footer-image{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.portal-block-iframe{background:transparent;border:0!important;box-shadow:none!important;padding:0!important}
.portal-block-iframe .portal-iframe{width:100%;border:0!important;background:transparent!important}

.site-banner-wrap,.site-footer-image-wrap{display:block!important;width:100%;clear:both;overflow:visible}
.site-banner-wrap img,.site-footer-image-wrap img{visibility:visible!important;opacity:1!important}

/* Meerdere foto's in één automatisch schuivend portalblok */
.portal-photo-marquee{width:100%;overflow:hidden;position:relative;border-radius:12px;border:1px solid #6d54ad;background:transparent;box-shadow:0 0 18px #8b5cf622;}
.portal-photo-track{display:flex;align-items:stretch;width:max-content;gap:12px;padding:8px;animation:portal-photo-scroll-left 28s linear infinite;will-change:transform;}
.portal-photo-marquee.marquee-right .portal-photo-track{animation-name:portal-photo-scroll-right;}
.portal-photo-marquee:hover .portal-photo-track{animation-play-state:paused;}
.portal-photo-item{display:block;width:clamp(115px,18vw,210px);height:150px;object-fit:cover;border-radius:9px;border:1px solid #454075;box-shadow:0 0 12px #38bdf833;}
@keyframes portal-photo-scroll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes portal-photo-scroll-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:720px){.portal-photo-item{width:130px;height:115px}.portal-photo-track{gap:8px;padding:6px}}
@media(prefers-reduced-motion:reduce){.portal-photo-track{animation:none!important}}

/* Navigation background is controlled by Admin > Instellingen. */
.topbar{background:var(--nav-background,#080914)!important;border-bottom-color:var(--nav-border,#34345f)!important}
