/* Bidon routemaker: naam en manieren bovenaan (nachtblauw), kaart, bedieningsblad.
   Gsm: onder elkaar. Vanaf 900px: links het blad, rechts de kaart. */
.pl-rm{
  --rm-navy:#0c1a30; --rm-navy-2:#13264a; --rm-gold:#f4b41a; --rm-gold-ink:#2b2100; --rm-garmin:#007cc3;
  --rm-paper:#ffffff; --rm-ink:#0c1a30; --rm-muted:#55617a; --rm-line:#dde2ee; --rm-danger:#c0392b; --rm-soft:#f3f5fa; --rm-hi:#fff4d6;
  --rm-disp:"Archivo",system-ui,sans-serif;
  position:relative; isolation:isolate; z-index:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto min(56vh,520px) auto auto auto;
  grid-template-areas:"top" "map" "bar" "card" "actie";
  border-radius:18px; overflow:hidden; background:var(--rm-paper); color:var(--rm-ink);
  font-family:"Atkinson Hyperlegible Next",system-ui,sans-serif; box-shadow:0 1px 0 var(--rm-line);
}
.pl-rm *{box-sizing:border-box}
.pl-rm ul,.pl-rm li{margin:0;padding:0}
.pl-rm li::before,.pl-rm li::marker{content:none}
.pl-rm p{max-width:none}
.pl-rm [hidden]{display:none!important}

/* bovenaan: naam en de vier manieren */
.pl-rm-top{grid-area:top;background:var(--rm-navy);color:#fff;padding:16px 16px 14px;display:grid;gap:12px}
.pl-rm-lbl{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9fb0cc}
.pl-rm .pl-rm-naam{width:100%;height:60px;border-radius:16px;border:2px solid var(--rm-gold);background:var(--rm-navy-2);color:#fff;padding:0 16px;margin-top:-6px;
  font-family:var(--rm-disp);font-weight:800;font-size:1.5rem;letter-spacing:.01em}
.pl-rm .pl-rm-naam:focus-visible{outline:3px solid #fff;outline-offset:2px}
.pl-rm-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pl-rm .pl-rm-tabs button{min-height:64px;border-radius:14px;border:0;background:rgba(255,255,255,.08);color:#d5deee;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  font-weight:700;font-size:.78rem;padding:6px 4px;line-height:1.1}
.pl-rm .pl-rm-tabs button[aria-selected="true"]{background:var(--rm-gold);color:var(--rm-gold-ink)}
.pl-rm .pl-rm-tabs button:hover:not([aria-selected="true"]){background:rgba(255,255,255,.14);color:#fff}

.pl-rm-map{grid-area:map;min-height:300px;height:100%}

/* balk met km, hm, profiel en uitleg; blad met de gekozen manier; Klaar */
.pl-rm-bar{grid-area:bar;display:grid;gap:8px;padding:16px 16px 4px;background:var(--rm-paper)}
.pl-rm-card{grid-area:card;display:flex;flex-direction:column;gap:12px;padding:12px 16px}
.pl-rm-actie{grid-area:actie;padding:4px 16px 16px}
.pl-rm-actie .pl-rm-klaar{width:100%}
.pl-rm-stats{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap}
.pl-rm-stats b{font-family:var(--rm-disp);font-stretch:118%;font-weight:900;font-size:1.75rem;font-variant-numeric:tabular-nums}
.pl-rm-stats small{color:var(--rm-muted);font-size:.8rem;margin-left:3px}
.pl-rm-profile{width:100%;height:44px;display:block}
.pl-rm-hint{color:var(--rm-muted);font-size:.9rem;margin:0;min-height:1.3em}
.pl-rm-hint.err{color:var(--rm-danger);font-weight:600}
.pl-rm-help{font-size:.82rem;color:var(--rm-muted);margin:0;line-height:1.45}
.pl-rm-help b{color:var(--rm-ink)}
.pl-rm-panel{display:grid;gap:12px}
.pl-rm-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pl-rm-row > select{flex:1;min-width:0}
.pl-rm-inl{font-weight:700;font-size:.9rem}
.pl-rm-confirm span{font-size:.9rem;color:var(--rm-muted)}
.pl-rm-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pl-rm button,.pl-rm select,.pl-rm input{font:inherit;font-size:.95rem;border-radius:12px;border:1px solid var(--rm-line);background:var(--rm-paper);color:var(--rm-ink);padding:10px 12px;min-height:44px;margin:0}
.pl-rm input[type=range]{border:0;padding:0;accent-color:var(--rm-gold);width:100%}
.pl-rm input[type=search]{width:100%}
.pl-rm button{cursor:pointer;font-weight:700}
.pl-rm button:disabled{opacity:.4;cursor:default}
.pl-rm button:focus-visible,.pl-rm select:focus-visible,.pl-rm input:focus-visible,.pl-rm a:focus-visible{outline:3px solid var(--rm-gold);outline-offset:1px}
.pl-rm-tools button{background:var(--rm-soft);font-size:.8rem;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.1}
.pl-rm-tools button span{font-size:1.15rem}
.pl-rm .pl-rm-donker{background:var(--rm-navy);border-color:var(--rm-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pl-rm .pl-rm-kies3{width:100%;min-height:48px}
.pl-rm-km{display:grid;gap:6px}

/* grote knoppen */
.pl-rm .pl-rm-maak,.pl-rm .pl-rm-klaar{height:56px;border-radius:16px;border:0;background:var(--rm-gold);color:var(--rm-gold-ink);display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--rm-disp);font-stretch:110%;font-weight:900;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.pl-rm .pl-rm-klaar{background:var(--rm-navy);color:#fff}
.pl-rm .pl-rm-klaar:not(:disabled){background:var(--rm-gold);color:var(--rm-gold-ink)}
.pl-rm.is-bezig .pl-rm-maak span::after{content:"…"}

/* willekeurig */
.pl-rm-kmrij{display:flex;justify-content:space-between;align-items:baseline}
.pl-rm-kmrij label{font-weight:700}
.pl-rm-kmrij b{font-family:var(--rm-disp);font-stretch:118%;font-weight:900;font-size:2rem}
.pl-rm-kmrij small{font-size:.9rem;color:var(--rm-muted);margin-left:4px;font-family:inherit;font-weight:700}
.pl-rm-chips{display:flex;gap:6px;flex-wrap:wrap}
.pl-rm .pl-rm-chips button{border-radius:999px;padding:0 16px}
.pl-rm .pl-rm-chips button[aria-pressed="true"]{background:var(--rm-navy);border-color:var(--rm-navy);color:#fff}
.pl-rm-richting{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center}
.pl-rm-richting p{margin:0;font-size:.9rem;line-height:1.45;color:#34405a}
.pl-rm-kompas{width:150px;height:150px;position:relative;border-radius:50%;background:var(--rm-soft)}
.pl-rm .pl-rm-kompas button{position:absolute;width:48px;height:48px;min-height:0;padding:0;border-radius:50%;border:0;background:#fff;box-shadow:0 1px 3px rgba(12,26,48,.2);font-family:var(--rm-disp);font-weight:900;font-size:1.05rem}
.pl-rm .pl-rm-kompas button[aria-pressed="true"]{background:var(--rm-gold);color:var(--rm-gold-ink);box-shadow:none}
.pl-rm-kompas .n{left:51px;top:4px}.pl-rm-kompas .z{left:51px;bottom:4px}.pl-rm-kompas .o{right:4px;top:51px}.pl-rm-kompas .w{left:4px;top:51px}
.pl-rm-kompas span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size: 0.75rem;font-weight:700;color:var(--rm-muted)}

/* lijsten: hellingen en ritten */
.pl-rm-lijst{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:300px;overflow:auto}
.pl-rm-lijst label{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;min-height:52px;padding:6px 12px;border-radius:14px;background:var(--rm-soft);border:2px solid transparent;cursor:pointer}
.pl-rm-lijst label.aan{background:var(--rm-hi);border-color:var(--rm-gold)}
.pl-rm-lijst label.uit{opacity:.55;cursor:default}
.pl-rm-lijst input[type=checkbox]{width:22px;height:22px;min-height:0;padding:0;accent-color:var(--rm-navy)}
.pl-rm-lijst b{display:block;font-family:var(--rm-disp);font-stretch:90%;font-weight:900;font-size:1rem;letter-spacing:.02em}
.pl-rm-lijst small{font-size:.8rem;color:var(--rm-muted)}
.pl-rm-leeg{padding:12px;color:var(--rm-muted);font-size:.9rem}
.pl-rm-telt{margin:0;font-size:.85rem;color:var(--rm-muted);text-align:center}
.pl-rm .pl-rm-rit{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;min-height:60px;border-radius:14px;padding:8px 12px}
.pl-rm .pl-rm-rit:hover{border-color:var(--rm-gold);background:var(--rm-hi)}
.pl-rm-rit b{display:block;font-size:.95rem}
.pl-rm-rit small{display:block;font-size:.8rem;color:var(--rm-muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-rm-badge{min-width:28px;padding:3px 7px;border-radius:7px;color:#fff;font-size: 0.75rem;font-weight:800;text-align:center}
.pl-rm-open{font-size:.85rem;font-weight:800}
.pl-rm-upload{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center;min-height:60px;padding:8px 14px;border-radius:14px;border:2px dashed #b9c3d6;cursor:pointer}
.pl-rm-upload:hover,.pl-rm-upload:focus-within{border-color:var(--rm-gold);background:var(--rm-hi)}
.pl-rm-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pl-rm-upload svg{grid-row:span 2}
.pl-rm-upload span{font-weight:800}
.pl-rm-upload small{font-size:.8rem;color:var(--rm-muted)}

/* kaart: punten en hellingen */
.pl-rm-wp{width:26px;height:26px;border-radius:50%;background:var(--rm-navy);color:#fff;border:3px solid var(--rm-gold);font:700 12px/20px system-ui,sans-serif;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.pl-rm-wp.start{background:var(--rm-gold);color:var(--rm-gold-ink);border-color:var(--rm-navy)}
.pl-rm-wp.bad{background:var(--rm-danger);border-color:#fff}
.pl-rm-wp.ghost{background:#fff;color:var(--rm-navy);border-style:dashed}
.pl-rm-hel{display:inline-block;white-space:nowrap;transform:translate(-50%,-130%);padding:4px 8px;border-radius:7px;background:#0c1a30;color:#fff;font:900 11px/1.2 "Archivo",system-ui,sans-serif;letter-spacing:.03em;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.pl-rm-line{cursor:grab}
.pl-rm-pop{display:grid;gap:6px}
.pl-rm-pop button{min-height:38px;font-size:.9rem;background:#fff;color:#0c1a30;border-color:#dde2ee}
.pl-rm-pop .del{color:#c0392b}

/* klaar: downloaden, Garmin, delen */
.pl-rm-done{position:absolute;inset:0;z-index:1200;background:rgba(12,26,48,.55);display:flex;align-items:flex-end;justify-content:center}
.pl-rm-done-in{width:100%;max-width:560px;max-height:100%;overflow:auto;background:var(--rm-navy);color:#fff;border-radius:22px 22px 0 0;padding:16px 16px 0;display:grid;gap:12px}
.pl-rm-done-kop{display:flex;align-items:center;gap:10px}
.pl-rm-done-kop p{margin:0;font-family:var(--rm-disp);font-stretch:112%;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rm-gold)}
.pl-rm .pl-rm-terug{width:44px;height:44px;padding:0;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center}
.pl-rm-done h2{margin:0;font-family:var(--rm-disp);font-stretch:85%;font-weight:900;font-size:2.3rem;line-height:.95;text-transform:uppercase;color:#fff;overflow-wrap:anywhere}
.pl-rm-done-stats{display:flex;gap:20px}
.pl-rm-done-stats b{font-family:var(--rm-disp);font-stretch:118%;font-weight:900;font-size:1.75rem;color:var(--rm-gold)}
.pl-rm-done-stats small{font-size:.8rem;color:#9fb0cc;margin-left:3px}
.pl-rm-done-prof{width:100%;height:48px;display:block}
.pl-rm-done-knoppen{background:#fff;color:var(--rm-ink);margin:0 -16px;border-radius:22px 22px 0 0;padding:18px 16px 22px;display:grid;gap:10px}
.pl-rm .pl-rm-done-knoppen > button{height:56px;border-radius:16px;border:0;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--rm-disp);font-stretch:110%;font-weight:900;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.pl-rm .pl-rm-k-gpx{background:var(--rm-gold);color:var(--rm-gold-ink)}
.pl-rm .pl-rm-k-garmin{background:var(--rm-garmin);color:#fff}
.pl-rm .pl-rm-k-deel{background:var(--rm-navy);color:#fff}
.pl-rm-done-klein{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pl-rm .pl-rm-done-klein a,.pl-rm .pl-rm-done-klein button{min-height:76px;border-radius:14px;border:1px solid var(--rm-line);background:#fff;color:var(--rm-ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:.8rem;font-weight:700;text-align:center;padding:6px}
.pl-rm-done-msg{margin:0;font-size:.85rem;line-height:1.45;color:var(--rm-muted);min-height:1.2em}
.pl-rm-done-msg.err{color:var(--rm-danger);font-weight:600}
.pl-rm-done-msg a{color:var(--rm-ink);font-weight:700}

/* de paginatitel klein houden: de routemaker zelf is de pagina */
.p-routemaker .page-title{font-size:clamp(1.5rem,1rem + 1.4vw,2.25rem);margin-bottom:.5rem}
@media (min-width:900px){
  /* zoals op het canvas: links een nachtblauwe kolom (naam, manieren, blad), rechts de kaart met onderaan de balk */
  .pl-rm{--rm-w:min(1640px,calc(100vw - 48px));width:var(--rm-w);max-width:none;position:relative;left:50%;margin-left:calc(var(--rm-w) / -2);
    background:var(--rm-navy);grid-template-columns:440px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:"top map" "card map";height:max(560px,calc(100dvh - 280px));margin-top:8px;margin-bottom:24px}
  .pl-rm-top{padding:20px 20px 14px}
  /* het blad scrolt als geheel; Maak een rit blijft onderaan in beeld */
  .pl-rm-card{margin:0 20px 20px;border-radius:18px;background:var(--rm-paper);padding:16px 16px 0;min-height:0;overflow:auto;display:block}
  .pl-rm-card > * + *{margin-top:12px}
  .pl-rm-panel:not([hidden]){display:flex;flex-direction:column;gap:12px}
  .pl-rm-panel .pl-rm-lijst{max-height:none;overflow:visible}
  .pl-rm .pl-rm-panel .pl-rm-maak{position:sticky;bottom:0;z-index:2;margin-bottom:16px;box-shadow:0 -16px 14px #fff}
  .pl-rm-panel > :last-child{margin-bottom:16px}
  .pl-rm-map{min-height:0}
  /* balk zweeft onderaan over de kaart; Klaar staat er vast rechts in */
  .pl-rm-bar{grid-area:map;align-self:end;z-index:500;margin:0 24px 24px;border-radius:20px;box-shadow:0 8px 30px rgba(12,26,48,.25);
    padding:12px 248px 10px 20px;grid-template-columns:auto minmax(0,1fr);column-gap:24px;row-gap:2px;align-items:center;height:96px;align-content:center}
  .pl-rm .leaflet-bottom{bottom:128px}
  .pl-rm-bar .pl-rm-stats{grid-row:1}
  .pl-rm-bar .pl-rm-profile{grid-row:1;height:48px}
  .pl-rm-bar .pl-rm-hint{grid-column:1 / -1;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pl-rm-actie{grid-area:map;align-self:end;justify-self:end;z-index:501;padding:0;margin:0 44px 44px 0;width:200px}
  .pl-rm .pl-rm-tabs button{font-size:.85rem}
  .pl-rm-done{align-items:center}
  .pl-rm-done-in{border-radius:22px;padding-bottom:0}
}
@media (max-width:380px){
  .pl-rm-richting{grid-template-columns:1fr;justify-items:center}
}

/* ritten die enkel in Garmin staan */
.pl-rm .pl-rm-open.pl-rm-garminlabel{background:#e6f2fa;color:#005a8e;padding:4px 8px;border-radius:8px}
.pl-rm-garmin{margin:6px 0 2px;padding:12px;border-radius:14px;background:#e6f2fa;color:#0c1a30}
.pl-rm-garmin p{margin:0 0 10px;font-size:.88rem;line-height:1.45}
.pl-rm-garminknoppen{display:flex;flex-wrap:wrap;gap:8px}
.pl-rm .pl-rm-gknop{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:12px;border:0;background:var(--rm-navy);color:#fff;font:inherit;font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer}
.pl-rm .pl-rm-gknop.pl-rm-gblauw{background:#007cc3;color:#fff}
/* uitgeschakelde knoppen: effen grijs, geen doorschijnendheid boven de lijst */
.pl-rm .pl-rm-maak:disabled,.pl-rm .pl-rm-klaar:disabled{opacity:1;background:#e4e8f0;color:#7a8499}

/* ================= Rit maken in stappen (evaluatie 19/10) ================= */
.pl-rm-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pl-rm-kop{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pl-rm-stappen{list-style:none;display:flex;gap:18px;flex-wrap:wrap;margin:0;padding:0}
.pl-rm-stappen li{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.95rem;color:#8fb0d8}
.pl-rm-stappen i{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.85rem}
.pl-rm-stappen li.is-nu{color:#fff}
.pl-rm-stappen li.is-nu i{background:var(--rm-gold);color:var(--rm-gold-ink)}
.pl-rm-stappen li.is-klaar{color:#fff}
.pl-rm-stappen li.is-klaar i{background:#1f7a4a;font-size:0}
.pl-rm-stappen li.is-klaar i::after{content:"✓";font-size:.85rem}
.pl-rm .pl-rm-opnieuw{margin-left:auto;background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff;min-height:44px}
.pl-rm .pl-rm-opnieuw:hover{border-color:#fff}
.pl-rm-top .pl-rm-confirm{color:#fff}
.pl-rm-top .pl-rm-confirm span{color:#d5deee}
.pl-rm-tabs[hidden]{display:none!important}

/* stap 1: vier keuzes en de clubritten als kaarten */
.pl-rm-start{grid-area:start;display:none;padding:20px 16px 24px;background:var(--rm-soft);overflow:auto}
.pl-rm[data-stap="1"] .pl-rm-start{display:block}
.pl-rm[data-stap="1"] .pl-rm-map,.pl-rm[data-stap="1"] .pl-rm-bar,.pl-rm[data-stap="1"] .pl-rm-card,.pl-rm[data-stap="1"] .pl-rm-actie,.pl-rm[data-stap="1"] .pl-rm-basis,.pl-rm[data-stap="1"] .pl-rm-opnieuw{display:none!important}
.pl-rm-start-h,.pl-rm-kiesrit h2{font-family:var(--rm-disp);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:2rem;line-height:1;margin:0 0 14px}
.pl-rm-keuzes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pl-rm .pl-rm-keuzes button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:20px;border-radius:18px;min-height:160px;background:#fff;border:1px solid var(--rm-line)}
.pl-rm .pl-rm-keuzes button:hover{border-color:var(--rm-navy)}
.pl-rm .pl-rm-keuzes button[aria-pressed="true"]{border:2px solid var(--rm-gold);background:var(--rm-hi)}
.pl-rm-keuzes b{font-size:1.15rem}
.pl-rm-keuzes small{color:var(--rm-muted);font-weight:400;font-size:.95rem;line-height:1.45}
.pl-rm-kic{width:48px;height:48px;border-radius:12px;background:var(--rm-navy);color:#fff;display:grid;place-items:center}
.pl-rm-kiesrit{margin-top:26px}
.pl-rm-kiesrit-kop{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pl-rm-kiesrit-kop h2{margin:0 auto 0 0}
.pl-rm .pl-rm-kiesrit-kop input[type=search]{width:min(340px,100%)}
.pl-rm .pl-rm-kiesrit .pl-rm-upload{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;border:1.5px dashed #c9a23a;background:var(--rm-hi);font-weight:800;cursor:pointer}
.pl-rm-kiesrit .pl-rm-upload input{position:absolute;opacity:0;width:1px;height:1px}
.pl-rm-filter{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.pl-rm .pl-rm-filter button{min-height:44px;padding:0 16px;background:#fff}
.pl-rm .pl-rm-filter button[aria-pressed="true"]{background:var(--rm-navy);border-color:var(--rm-navy);color:#fff}
.pl-rm-ritten{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.pl-rm-ritten.is-leeg{display:block}
.pl-rm .pl-rm-ritten .pl-rm-rit{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:16px;background:#fff;min-height:72px}
.pl-rm .pl-rm-ritten .pl-rm-rit:hover{border-color:var(--rm-navy)}
.pl-rm-ritten .pl-rm-rit > span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pl-rm-ritten .pl-rm-rit small{color:var(--rm-muted);font-weight:400;font-size:.88rem;line-height:1.35}
.pl-rm-ritten .pl-rm-badge{width:32px;height:32px;flex:none;border-radius:9px;color:#fff;display:grid;place-items:center;font-weight:900;font-size:.85rem}
.pl-rm-ritten .pl-rm-open{font-weight:800;white-space:nowrap}

/* stap 2: op basis van, kleine tussenpunten */
.pl-rm-basis{grid-area:map;align-self:start;z-index:600;margin:12px 60px 0 12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:rgba(255,248,228,.97);border:1px solid #f2dfa6;font-size:.92rem;box-shadow:0 4px 14px rgba(12,26,48,.12)}
.pl-rm .pl-rm-basis button{margin-left:auto;min-height:40px;background:transparent;border:0;color:#154fc2;font-weight:800;padding:0 4px}
.pl-rm-wp.mini{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--rm-navy);box-shadow:0 1px 3px rgba(0,0,0,.3);font-size:0}
.pl-rm-wp.mini.bad{border-color:var(--rm-danger);background:#fde4e1}
.pl-rm-wp.finish{background:var(--rm-navy);color:#fff}

/* stap 3: naam in het klaar-scherm */
.pl-rm-done .pl-rm-lbl{display:block;margin:6px 0 6px}
.pl-rm-done .pl-rm-naam{width:100%;height:52px;font-size:1.2rem;margin:0 0 10px;border-radius:14px;border:2px solid var(--rm-gold);background:#fff;color:var(--rm-ink);padding:0 14px;font-family:var(--rm-disp);font-weight:800}

/* gsm: rasters per stap */
.pl-rm{grid-template-areas:"top" "start" "map" "bar" "card" "actie";grid-template-rows:auto auto min(60vh,560px) auto auto auto}
.pl-rm[data-stap="1"]{grid-template-rows:auto auto}
@media (min-width:900px){
  .pl-rm{grid-template-columns:360px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top" "card map"}
  .pl-rm[data-stap="1"]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top" "start"}
  .pl-rm-top{padding:16px 24px}
  .pl-rm-start{padding:24px 28px 32px;border-radius:0 0 18px 18px}
  .pl-rm-card{margin:16px 0 20px 20px}
  .pl-rm[data-stap="2"] .pl-rm-card,.pl-rm[data-stap="3"] .pl-rm-card{margin-right:0}
  .pl-rm-map{margin:0}
}
@media (max-width:899px){
  .pl-rm-basis{grid-area:map;margin:10px 56px 0 10px}
}
@media (min-width:900px){
  /* tekenen: de kaart over de hele breedte, de knoppen in een klein zwevend blad */
  .pl-rm[data-stap="2"][data-tab="teken"],.pl-rm[data-stap="3"][data-tab="teken"]{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "map"}
  .pl-rm[data-tab="teken"] .pl-rm-card{grid-area:map;align-self:start;justify-self:start;width:300px;margin:72px 0 0 14px;z-index:550;box-shadow:0 8px 24px rgba(12,26,48,.2);padding-bottom:14px;overflow:visible}
  .pl-rm[data-tab="teken"] .pl-rm-basis{margin-left:14px}
  .pl-rm[data-tab="teken"] .leaflet-top.leaflet-left{left:auto;right:0;top:64px}
}
@media (min-width:900px){
  .pl-rm[data-tab="teken"] .pl-rm-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-rm[data-tab="teken"] .pl-rm-tools button{flex-direction:row;justify-content:center;gap:6px;font-size:.85rem;min-height:44px}
}
/* stap 1: geen eigen schuifbalk, de pagina scrolt */
.pl-rm[data-stap="1"]{height:auto!important}
.pl-rm[data-stap="1"] .pl-rm-start{overflow:visible}
.pl-rm-lijstkop{list-style:none;margin:10px 0 4px!important;font-size:.8125rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rm-muted)}
.pl-rm-sprint{display:inline-block;padding:2px 8px;border-radius:999px;background:#ffe7a3;color:#5c3d00;font-size:.75rem;font-weight:800;letter-spacing:.02em;vertical-align:middle}

/* kaart blijft onder de kop en de onderbalk */
.pl-rm .leaflet-container { z-index: 0; isolation: isolate; }
