:root{
  --lp-color-bg:#2A1721; --lp-color-surface:#3A2330;
  --lp-color-text:#F3E7DC; --lp-color-on-dark:#F6EDE3;
  --lp-color-text-muted:#D8C2B0; --lp-color-border:rgba(255,255,255,.18);
  --lp-color-text-accent:#E9B44C; --lp-color-fill:#E9B44C; --lp-color-fill-dark:#CF9A35;
  --lp-color-on-fill:#2A1721;
  --lp-font-display:"Fraunces",Georgia,serif; --lp-font-body:"Inter",system-ui,sans-serif; --lp-font-mono:"JetBrains Mono",ui-monospace,monospace;
  --lp-text-base:1.6rem; --lp-text-lg:1.8rem; --lp-text-xl:2rem;
  --lp-text-h2:clamp(2.6rem,4vw,4rem); --lp-text-hero:clamp(3.4rem,6vw,6.4rem);
  --lp-radius-md:14px; --ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:62.5%;scroll-behavior:smooth}
body{font-family:var(--lp-font-body);font-size:1.7rem;line-height:1.6;color:var(--lp-color-text);background:var(--lp-color-bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--lp-font-display);font-weight:600;line-height:1.05;letter-spacing:-0.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
:where(a,button):focus-visible{outline:3px solid var(--lp-color-text-accent);outline-offset:3px;border-radius:6px}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;font-family:var(--lp-font-display);font-weight:600;font-size:var(--lp-text-base);padding:1.3rem 2.4rem;border-radius:100px;border:1.5px solid transparent;transition:transform .2s var(--ease-out),box-shadow .2s,border-color .2s}
.lp-btn--primary{background:var(--lp-color-fill);color:var(--lp-color-on-fill);border-color:var(--lp-color-fill)}
.lp-btn--primary:hover{transform:translateY(-2px);box-shadow:0 0 28px rgba(233,180,76,.4)}
.lp-btn--ghost{background:transparent;color:var(--lp-color-on-dark);border-color:var(--lp-color-border)}
.lp-btn--ghost:hover{border-color:var(--lp-color-on-dark)}

.lp-brand{position:fixed;top:2rem;left:2.4rem;z-index:40;font-family:var(--lp-font-display);font-weight:600;font-size:2.2rem;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.lp-brand small{display:block;font-family:var(--lp-font-mono);font-size:1.1rem;letter-spacing:.3em;text-transform:uppercase;color:var(--lp-color-text-muted)}
.lp-book{position:fixed;top:1.8rem;right:2.4rem;z-index:40}

.lp-track{display:flex;height:100svh;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.lp-track::-webkit-scrollbar{display:none}
.lp-panel{flex:0 0 100vw;height:100svh;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(2.4rem,8vw,12rem) clamp(10rem,16vh,16rem);overflow:hidden}
.lp-panel__bg{position:absolute;inset:0;z-index:0}
.lp-panel__bg img{width:100%;height:100%;object-fit:cover}
.lp-panel__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,9,15,.92) 0%,rgba(20,9,15,.55) 45%,rgba(20,9,15,.22) 100%),linear-gradient(0deg,rgba(20,9,15,.85),transparent 55%)}
.lp-panel>*:not(.lp-panel__bg){position:relative;z-index:1}
.lp-panel__no{font-family:var(--lp-font-mono);font-size:1.5rem;color:var(--lp-color-text-accent);letter-spacing:.1em}
.lp-panel__title{font-size:var(--lp-text-hero);color:var(--lp-color-on-dark);max-width:18ch;margin:1.2rem 0 2rem;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.lp-panel__title em{font-style:italic;color:var(--lp-color-text-accent)}
.lp-panel__p{font-size:var(--lp-text-xl);line-height:1.55;color:var(--lp-color-on-dark);max-width:46ch;text-shadow:0 1px 16px rgba(0,0,0,.6)}
.lp-actions{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:2.4rem}

.lp-route{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:1.6rem clamp(2.4rem,8vw,12rem) 2rem;background:linear-gradient(0deg,var(--lp-color-bg) 30%,transparent)}
.lp-route__line{position:relative;height:2px;background:var(--lp-color-border);margin-top:2.4rem}
.lp-route__prog{position:absolute;left:0;top:0;height:2px;background:var(--lp-color-text-accent);width:10%}
.lp-route__marker{position:absolute;top:50%;left:10%;transform:translate(-50%,-50%);color:var(--lp-color-text-accent);filter:drop-shadow(0 0 8px rgba(233,180,76,.7))}
.lp-route__marker svg{width:3.4rem;height:auto;display:block}
.lp-route__stops{display:flex;justify-content:space-between;margin-top:1.2rem;font-family:var(--lp-font-mono);font-size:1.2rem;color:var(--lp-color-text-muted);letter-spacing:.05em}
.lp-route__stops button{background:none;border:0;color:inherit;font:inherit;transition:color .2s}
.lp-route__stops button.is-active{color:var(--lp-color-text-accent)}
.lp-hint{position:fixed;bottom:11rem;right:clamp(2.4rem,8vw,12rem);z-index:40;font-size:1.3rem;color:var(--lp-color-text-muted);letter-spacing:.1em}
@media(prefers-reduced-motion:no-preference){
  .lp-route__prog,.lp-route__marker{transition:width .25s var(--ease-out),left .25s var(--ease-out)}
  .lp-hint{animation:lp-sway 2.4s ease-in-out infinite}
}
@keyframes lp-sway{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@media(max-width:860px){
  .lp-track{flex-direction:column;height:auto;overflow:visible;scroll-snap-type:none}
  .lp-panel{flex:none;height:auto;min-height:88svh;padding:12rem 2.4rem 6rem}
  .lp-route,.lp-hint{display:none}
}
@media(prefers-reduced-motion:reduce){.lp-track{scroll-behavior:auto}.lp-route__prog,.lp-route__marker{transition:none}.lp-hint{animation:none}}

/* --- ALASTIC WordPress integratie-fixes --- */
body { background-color: var(--night, #ffffff) !important; }
h1, h2, h3, h4, h5, h6 { text-transform: none !important; }
.wp-site-blocks, .is-root-container, .entry-content,
.wp-block-post-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
