/* Reisplanner (alleen /reisplanner/). Bouwt op de tokens uit style.css. */
.rp-band{background:var(--night);color:var(--on-night)}
.rp-band>.wrap{padding-top:clamp(28px,5vw,64px);padding-bottom:clamp(36px,6vw,72px)}
.rp-band h1{font-size:clamp(2rem,4.6vw,3.4rem);max-width:20ch}
.rp-intro{color:var(--on-night-2);max-width:62ch;font-size:1.125rem;margin-bottom:2rem}
.rp-app{max-width:none;margin:0;background:var(--night-2)}
.rp-app label{display:block;font:600 .9rem var(--f-body);color:var(--on-night-2);margin-bottom:.35rem}
.rp-app label small{font-weight:400}
.rp-app input:not([type=checkbox]),.rp-app select{width:100%;font:500 1rem var(--f-body);padding:.7rem .8rem;border-radius:8px;border:1px solid var(--night-line);background:var(--night);color:var(--on-night);min-height:46px}
.rp-app input:focus-visible,.rp-app select:focus-visible,.rp-app button:focus-visible{outline:2px solid var(--route);outline-offset:2px}
.rp-app input[type=date]{color-scheme:dark}
.rp-reis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem 1.2rem;padding:clamp(1rem,3vw,1.8rem)}
.rp-reis>div{grid-column:span 2;min-width:0}
.rp-reis>.rp-plaats{grid-column:span 3;position:relative}
.rp-reis>.rp-check{display:flex;align-items:flex-end;padding-bottom:.7rem}
.rp-check label{display:flex;gap:.5rem;align-items:center;color:var(--on-night);font-weight:400;margin:0}
.rp-reis>.rp-knop{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
@media (max-width:760px){.rp-reis{grid-template-columns:1fr 1fr}.rp-reis>div,.rp-reis>.rp-plaats{grid-column:1/-1}.rp-reis>div:nth-child(3),.rp-reis>div:nth-child(4){grid-column:span 1}}
.rp-sug{position:absolute;z-index:5;left:0;right:0;top:100%;margin:.25rem 0 0;padding:.3rem 0;list-style:none;background:var(--night);border:1px solid var(--night-line);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.rp-sug li{padding:.55rem .8rem;cursor:pointer;display:flex;flex-direction:column}
.rp-sug li span{font-size:.85rem;color:var(--on-night-2)}
.rp-sug li:hover,.rp-sug li[aria-selected=true]{background:rgba(126,168,232,.16)}
.rp-err{color:var(--signal-bright);font-weight:600;margin:0;min-height:1.4em}

.rp-uit{border-top:1px solid var(--night-line);padding:clamp(1rem,3vw,1.8rem)}
.rp-kop{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;align-items:baseline;margin-bottom:1rem}
.rp-kop h2{margin:0;font-size:clamp(1.3rem,2.6vw,1.8rem)}
.rp-kop span{color:var(--on-night-2)}
.rp-lint{display:flex;gap:3px;height:3.4rem;border-radius:6px;overflow:hidden}
.rp-seg{flex:1 1 0;min-width:2.6rem;display:flex;flex-direction:column;justify-content:center;padding:0 .6rem;background:#33404f;color:#e6ecf2;overflow:hidden;white-space:nowrap}
.rp-seg b{font:700 1rem/1.1 var(--f-head)}
.rp-seg span{font-size:.75rem;color:#c3ccd7}
.rp-seg.moet{background:#1f4fa3;color:#fff}
.rp-seg.moet span{color:#dbe6fa}
@media (max-width:520px){.rp-seg span{display:none}.rp-seg{padding:0 .35rem;min-width:2.1rem}}
/* het lint loopt op in rijrichting: elk land komt na het vorige */
@media (prefers-reduced-motion:no-preference){
  .rp-lint.rij .rp-seg{animation:rp-rij .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*90ms);transform-origin:left center}
  @keyframes rp-rij{from{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:none}}
}
.rp-auto{margin:.9rem 0 0;color:var(--on-night-2);font-size:.95rem;max-width:none}
.rp-waarschuw{list-style:none;margin:1rem 0 0;padding:0}
.rp-waarschuw li{border-left:3px solid var(--signal-bright);padding:.35rem 0 .35rem .8rem;margin:.5rem 0;max-width:72ch}

.rp-delen{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.2rem,4vw,3rem);margin-top:1.6rem}
@media (max-width:860px){.rp-delen{grid-template-columns:1fr}}
.rp-delen h3{font:700 .85rem var(--f-head);letter-spacing:.1em;text-transform:uppercase;color:var(--on-night-2);margin:0 0 .6rem}
.rp-mand{list-style:none;margin:0;padding:0}
.rp-item{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;padding:.8rem 0;border-top:1px solid var(--night-line)}
.rp-item>label{display:flex;gap:.6rem;align-items:center;margin:0;color:var(--on-night);font:600 1.05rem var(--f-body)}
.rp-prijs{font:700 1.05rem var(--f-head);font-variant-numeric:tabular-nums}
.rp-item.optie>label,.rp-item.optie .rp-prijs{color:var(--on-night-2)}
.rp-meer{grid-column:1/-1;padding-left:1.75rem;color:var(--on-night-2);font-size:.92rem}
.rp-ctl{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.rp-ctl select{width:auto;min-height:40px;padding:.4rem .6rem}
.rp-ctl input[type=date]{width:auto;min-height:40px;padding:.4rem .6rem;display:inline-block}
.rp-zones{list-style:none;margin:.2rem 0 0;padding:0}
.rp-zones li{margin:.25rem 0}
.rp-zones li b{color:var(--on-night);font-weight:600}
.rp-zones li.langs{opacity:.85}
.rp-optie{margin:.35rem 0 0;font-size:.88rem}
.rp-leeg{color:var(--on-night-2)}
.rp-info{list-style:none;margin:0;padding:0}
.rp-info li{padding:.6rem 0;border-top:1px solid var(--night-line);font-size:.95rem;color:var(--on-night-2)}
.rp-info li b{color:var(--on-night);font-weight:600}
.rp-info a{color:#9fc0f0}

.rp-bestel{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--night-line)}
.rp-bestel h3{font-size:1.3rem}
.rp-velden{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;max-width:760px}
.rp-velden .rp-breed{grid-column:1/-1}
@media (max-width:600px){.rp-velden{grid-template-columns:1fr}}
.rp-noot{font-size:.88rem;color:var(--on-night-2);margin:.8rem 0}
.rp-noot a{color:#9fc0f0}
.rp-ok{display:flex!important;gap:.6rem;align-items:flex-start;color:var(--on-night)!important;font-weight:400!important;font-size:1rem!important;max-width:62ch;margin:1rem 0!important}
.rp-ok input{margin-top:.2rem}
.rp-totaal{display:flex;align-items:baseline;gap:1rem;margin:1.2rem 0 .8rem;flex-wrap:wrap}
.rp-totaal span{color:var(--on-night-2)}
.rp-totaal b{font:800 clamp(1.8rem,4vw,2.4rem)/1 var(--f-head);font-variant-numeric:tabular-nums}
.rp-bestel .btn:disabled{opacity:.6;cursor:not-allowed}
.rp-bron{font-size:.82rem;color:var(--on-night-2);margin:1rem 0 0;max-width:none}

.rp-tabelwrap{margin:1.4rem 0 .6rem}
.rp-regels td:first-child{font-weight:600;white-space:nowrap}
.rp-regels td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:560px){.rp-regels td:last-child,.rp-regels td:first-child{white-space:normal}}
.rp-voorbeeld{list-style:none;margin:0;padding:0}
.rp-voorbeeld li{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line)}
.rp-voorbeeld li:last-child{border-bottom:1px solid var(--line)}
.rp-voorbeeld b{font-weight:600}
.rp-voorbeeld span{font:700 1rem var(--f-head);color:var(--route);text-align:right}
@media (max-width:480px){.rp-voorbeeld li{grid-template-columns:1fr}.rp-voorbeeld span{text-align:left}}
.rp-alt{padding:.8rem 0;border-top:1px solid var(--night-line);color:var(--on-night-2);font-size:.92rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.rp-alt span{flex:1 1 22rem}
.rp-wissel{font:600 .92rem var(--f-body);color:var(--on-night);background:transparent;border:1px solid var(--night-line);border-radius:8px;padding:.55rem .8rem;min-height:44px;cursor:pointer}
.rp-wissel:hover{border-color:var(--route)}
