/**
 * wezunu · Reise-Plan v2 — CLEANES HELLES Design (dunkel auf hell, coral als einziger Akzent).
 * Kein Dark-Glass, nichts Verspieltes. Modus-first. Developed by Toni Sciacca - mail@tonisciacca.com
 */
:root{
  --co:#17171b; --co-d:#000000; --co-tint:#f2f2f4;
  --ink:#17171b; --ink2:#5c5c69; --ink3:#9a9aa6;
  --bg:#f6f7f9; --card:#ffffff; --line:#e9e9ef; --line2:#f0f0f4;
  --shadow:0 1px 2px rgba(20,20,30,.05), 0 1px 3px rgba(20,20,30,.05);
  --shadow-h:0 8px 24px rgba(20,20,40,.10);
  --r:14px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'Outfit',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;}
a{color:inherit;text-decoration:none;}

/* ── Kopf (fest / sticky) ── */
.rp-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:saturate(1.2) blur(8px);}
.rp-logo img{height:26px;width:auto;display:block;}
.rp-nav{display:flex;align-items:center;gap:4px;}
.rp-nav a{padding:8px 13px;border-radius:999px;font:700 13.5px Outfit,sans-serif;color:var(--ink2);transition:.13s;white-space:nowrap;}
.rp-nav a:hover{color:var(--co);background:var(--co-tint);}
.rp-nav .rp-nav-cur{color:var(--ink);}
.rp-nav .rp-nav-me{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);color:var(--ink);}
.rp-nav .rp-nav-me:hover{border-color:var(--co);color:var(--co);background:transparent;}
.rp-nav .rp-nav-me [data-lucide]{width:16px;height:16px;}
.rp-burger{display:none;width:40px;height:40px;border-radius:11px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);place-items:center;cursor:pointer;transition:.13s;}
.rp-burger:hover{border-color:var(--co);color:var(--co);}
.rp-burger [data-lucide]{width:21px;height:21px;}
@media(max-width:760px){
  .rp-burger{display:grid;}
  .rp-nav{position:absolute;top:calc(100% + 8px);right:14px;left:14px;flex-direction:column;align-items:stretch;gap:3px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow-h);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .16s,transform .16s,visibility .16s;}
  .rp-nav.open{opacity:1;visibility:visible;transform:none;}
  .rp-nav a{padding:13px 15px;font-size:15.5px;border-radius:11px;}
  .rp-nav .rp-nav-me{border:0;justify-content:flex-start;background:var(--co-tint);color:var(--co);}
}

.rp-main{max-width:1120px;margin:0 auto;padding:34px 22px 90px;}

/* ── Fortschritt / zurück ── */
.rp-crumbs{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--ink3);font:600 13px Outfit,sans-serif;}
.rp-back{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 13px;transition:.14s;}
.rp-back:hover{border-color:var(--co);color:var(--co);}
.rp-back [data-lucide]{width:15px;height:15px;}
.rp-crumb{opacity:.7;}
.rp-crumb.on{color:var(--ink);opacity:1;font-weight:800;}
.rp-crumb-sep{color:var(--ink3);}

/* ── Überschriften ── */
.rp-h1{font:800 30px/1.15 Outfit,sans-serif;letter-spacing:-.02em;margin:0 0 8px;color:var(--ink);text-wrap:balance;}
.rp-sub{font-size:15.5px;color:var(--ink2);margin:0 0 26px;max-width:60ch;line-height:1.5;}

/* ══ Screen 1: Modus wählen ══ */
.rp-modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}
.rp-mode{display:flex;gap:14px;align-items:flex-start;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .12s;font-family:Outfit,sans-serif;}
.rp-mode:hover{border-color:var(--co);box-shadow:var(--shadow-h);transform:translateY(-2px);}
.rp-mode-ic{width:46px;height:46px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:var(--co-tint);color:var(--co);}
.rp-mode-ic [data-lucide]{width:23px;height:23px;}
.rp-mode-tx b{display:block;font:800 16.5px Outfit,sans-serif;color:var(--ink);margin-bottom:3px;}
.rp-mode-tx span{font-size:13px;color:var(--ink2);line-height:1.45;}

/* ══ Screen 2: Essentials (schrittweise) ══ */
.rp-steps{max-width:660px;display:flex;flex-direction:column;gap:10px;}
.rp-step{border:1.5px solid var(--line);border-radius:15px;background:var(--card);transition:border-color .16s,box-shadow .16s,opacity .16s;}
.rp-step.active{border-color:var(--co);box-shadow:0 6px 22px rgba(23,23,27,.10);animation:rpStepIn .24s cubic-bezier(.2,.8,.2,1);}
@keyframes rpStepIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.rp-step.locked{opacity:.45;}
/* Kompakt-Zeile (erledigt / gesperrt) */
.rp-step.done{cursor:pointer;text-align:left;width:100%;font-family:Outfit,sans-serif;}
.rp-step.done:hover{border-color:var(--co);}
.rp-step.done:hover .rp-step-edit{color:var(--co);}
.rp-step-row{display:flex;align-items:center;gap:12px;padding:12px 15px;}
.rp-step-ic{width:32px;height:32px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:var(--co-tint);color:var(--co);}
.rp-step-ic [data-lucide]{width:16px;height:16px;}
.rp-step.locked .rp-step-ic{background:var(--line2);color:var(--ink3);}
.rp-step-txt{display:flex;flex-direction:column;gap:1px;min-width:0;}
.rp-step-lab{font:800 10.5px Outfit,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);}
.rp-step-val{font:700 14.5px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-step-edit{margin-left:auto;flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;color:var(--ink3);font:700 12.5px Outfit,sans-serif;transition:.14s;}
.rp-step-edit [data-lucide]{width:14px;height:14px;}
/* Aktiver Schritt */
.rp-step-body{padding:15px 17px 17px;}
.rp-step-eye{display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.rp-step-eye .rp-step-lab{font-size:11px;}
.rp-step-count{margin-left:auto;font:800 11px Outfit,sans-serif;color:var(--ink3);letter-spacing:.3px;}
.rp-step-q{font:800 18px Outfit,sans-serif;color:var(--ink);margin:0 0 3px;letter-spacing:-.01em;}
.rp-step-hint{font-size:12.5px;color:var(--ink3);margin-bottom:13px;}
.rp-step-foot{display:flex;justify-content:flex-end;margin-top:15px;}
.rp-step-foot .rp-btn{padding:12px 22px;}

.rp-form{max-width:680px;}
.rp-field{margin-bottom:26px;}
.rp-label{display:block;font:800 13px Outfit,sans-serif;letter-spacing:.2px;color:var(--ink);margin-bottom:4px;}
.rp-hint{font-size:12.5px;color:var(--ink3);margin-bottom:11px;}
.rp-input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;font:500 15.5px Outfit,sans-serif;color:var(--ink);background:var(--card);outline:none;transition:border-color .14s,box-shadow .14s;}
.rp-input:focus{border-color:var(--co);box-shadow:0 0 0 3px var(--co-tint);}
.rp-input::placeholder{color:var(--ink3);}

/* Autocomplete (hell) */
.rp-acw{position:relative;}
.rp-ac{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden auto;max-height:300px;box-shadow:var(--shadow-h);}
.rp-ac-it{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line2);padding:11px 14px;cursor:pointer;color:var(--ink);font-family:Outfit,sans-serif;}
.rp-ac-it:last-child{border-bottom:0;}
.rp-ac-it:hover{background:var(--co-tint);}
.rp-ac-flag{font-size:15px;flex:0 0 auto;margin-left:auto;opacity:.9;}
.rp-ac-ic{width:32px;height:32px;border-radius:10px;background:#f2f2f4;display:grid;place-items:center;flex:0 0 auto;color:var(--ink2);}
.rp-ac-ic [data-lucide]{width:16px;height:16px;}
.rp-ac-tx b{display:block;font:700 14px Outfit,sans-serif;}
.rp-ac-tx small{font-size:11.5px;color:var(--ink3);}

/* Chips (Auswahl) */
.rp-chips{display:flex;flex-wrap:wrap;gap:9px;}
.rp-chip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:10px 15px;font:700 13.5px Outfit,sans-serif;color:var(--ink);cursor:pointer;transition:.13s;}
.rp-chip:hover{border-color:var(--co);}
.rp-chip [data-lucide]{width:16px;height:16px;color:var(--ink2);}
.rp-chip.on{background:var(--co);border-color:var(--co);color:#fff;}
.rp-chip.on [data-lucide]{color:#fff;}

/* Segmented (Strecke/Umgebung, Sportlichkeit) */
.rp-seg{display:inline-flex;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);}
.rp-seg button{border:0;background:transparent;padding:11px 18px;font:700 13.5px Outfit,sans-serif;color:var(--ink2);cursor:pointer;border-right:1px solid var(--line);transition:.12s;}
.rp-seg button:last-child{border-right:0;}
.rp-seg button.on{background:var(--co);color:#fff;}

/* Buttons */
.rp-actions{display:flex;gap:12px;align-items:center;margin-top:30px;}
.rp-btn{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:12px;padding:14px 26px;font:800 15px Outfit,sans-serif;cursor:pointer;background:var(--co);color:#fff;transition:filter .13s,transform .1s;box-shadow:0 6px 18px rgba(23,23,27,.24);}
.rp-btn:hover{filter:brightness(.97);}
.rp-btn:active{transform:scale(.98);}
.rp-btn[disabled]{opacity:.45;cursor:default;box-shadow:none;}
.rp-btn-ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);box-shadow:none;}
.rp-btn-ghost:hover{border-color:var(--co);color:var(--co);filter:none;}
.rp-btn [data-lucide]{width:18px;height:18px;}

/* ══ Screen 3: Ergebnis (Baukasten light) ══ */
.rp-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
/* Auswahl-Pille schwebt unten mittig — immer erreichbar beim Scrollen */
.rp-pick-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:2500; /* Tonis Regel: „Reise erstellen“ über ALLEN Divs und Karten */display:flex;align-items:center;gap:11px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:9px 11px 9px 20px;box-shadow:var(--shadow-h);animation:rpPop .18s ease;}
.rp-pick-bar[hidden]{display:none!important;}
@keyframes rpPop{from{transform:translate(-50%,10px);opacity:0;}to{transform:translate(-50%,0);opacity:1;}}
.rp-pick-bar b{font:800 15px Outfit,sans-serif;}
.rp-pick-bar span{color:var(--ink2);font-size:13px;}
/* Filterleiste bleibt fest unter dem Kopf */
.rp-filters{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:56px;z-index:30;background:var(--bg);padding:12px 0 12px;margin:0 0 12px;border-bottom:1px solid var(--line2);}
.rp-filter{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;font:700 12.5px Outfit,sans-serif;color:var(--ink2);cursor:pointer;transition:.12s;}
.rp-filter:hover{border-color:var(--co);}
.rp-filter.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.rp-filter [data-lucide]{width:14px;height:14px;}
.rp-filter b{opacity:.55;font-size:11px;}
/* Ansicht-Umschalter Entdecken / Tagesplan */
.rp-viewtabs:empty{display:none;}
.rp-viewtabs{display:inline-flex;background:var(--line2);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px;margin-bottom:14px;}
.rp-viewtabs button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink2);font:800 13px Outfit,sans-serif;padding:8px 16px;border-radius:9px;cursor:pointer;transition:.13s;}
.rp-viewtabs button [data-lucide]{width:16px;height:16px;}
.rp-viewtabs button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow);}
.rp-viewtabs button:not(.on):hover{color:var(--co);}
.rp-filters[hidden]{display:none!important;}

/* Karten-erste Explore-Ansicht */
.rp-bigmap-wrap{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);}
.rp-bigmap{height:66vh;min-height:440px;width:100%;background:#e6ebf0;}
.rp-bigmap .leaflet-container{height:100%;width:100%;background:#e6ebf0;font-family:Outfit,sans-serif;}
.rp-bigmap .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.75);}
.rp-map-hud{position:absolute;top:12px;left:12px;right:12px;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;}
.rp-map-hud-l{background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:12px;padding:9px 14px;box-shadow:var(--shadow);max-width:75%;}
.rp-map-hud-t{display:flex;align-items:center;gap:8px;font:800 14px Outfit,sans-serif;color:var(--ink);}
.rp-map-hud-t [data-lucide]{width:16px;height:16px;color:var(--co);}
.rp-map-hud-h{display:block;font:600 11.5px Outfit,sans-serif;color:var(--ink3);margin-top:2px;}
.rp-map-hud-c{background:var(--ink);color:#fff;border-radius:999px;padding:6px 12px;font:800 12px Outfit,sans-serif;box-shadow:var(--shadow);white-space:nowrap;}
@media(max-width:640px){ .rp-bigmap{height:72vh;} .rp-map-hud-h{display:none;} .rp-map-hud-l{max-width:64%;} }
/* Karten-Filter-Chips */
.rp-map-filters{position:absolute;left:12px;bottom:12px;z-index:500;display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:12px;padding:9px 11px;box-shadow:var(--shadow-h);max-width:calc(100% - 24px);}
.rp-mf-grp{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.rp-mf-lab{font:800 10px Outfit,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--ink3);width:82px;flex:0 0 auto;}
.rp-mf{border:1.5px solid var(--line);background:var(--card);color:var(--ink2);border-radius:999px;padding:5px 11px;font:700 12px Outfit,sans-serif;cursor:pointer;transition:.12s;}
.rp-mf:hover{border-color:var(--co);color:var(--co);}
.rp-mf.on{background:var(--co);border-color:var(--co);color:#fff;}
/* Route-Info-Panel (Klick-Highlight) */
.rp-map-info{position:absolute;right:12px;bottom:12px;z-index:500;width:300px;max-width:calc(100% - 24px);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow-h);animation:rpPop .16s ease;}
.rp-map-info[hidden]{display:none!important;}
.rp-mi-top{display:flex;align-items:center;gap:10px;margin-bottom:11px;}
.rp-mi-ic{width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:var(--co-tint);color:var(--co);display:grid;place-items:center;}
.rp-mi-ic [data-lucide]{width:17px;height:17px;}
.rp-mi-tx{flex:1;min-width:0;}
.rp-mi-tx b{display:block;font:800 14.5px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-mi-tx small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-mi-x{width:28px;height:28px;flex:0 0 auto;border:1px solid var(--line);background:var(--card);border-radius:8px;color:var(--ink3);display:grid;place-items:center;cursor:pointer;}
.rp-mi-x:hover{border-color:var(--co);color:var(--co);}
.rp-mi-ax{display:flex;gap:8px;}
.rp-mi-ax .rp-btn,.rp-mi-ax .rp-btn-ghost{flex:1;justify-content:center;padding:9px 12px!important;font-size:12.5px!important;min-width:0;}
/* POI-Cluster-Bubble (on-brand) */
.rp-cl-wrap{background:transparent!important;border:0!important;}
.rp-cl{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:var(--co);color:#fff;border:2.5px solid #fff;box-shadow:0 2px 8px rgba(23,23,27,.45);font:800 13px Outfit,sans-serif;}
/* Unterkunfts-Marker (Bett-Pin) */
.rp-stay-wrap{background:transparent!important;border:0!important;}
.rp-stay-pin{display:grid;place-items:center;width:24px;height:24px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#3b3b45;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.28);} /* Unterkuenfte gedaempft (Ink) - Coral bleibt Route/Orten vorbehalten */
.rp-stay-pin [data-lucide],.rp-stay-pin svg{width:12px;height:12px;color:#fff;transform:rotate(45deg);}
.rp-mf-stay [data-lucide]{width:14px;height:14px;vertical-align:-2px;margin-right:3px;}
.rp-mf-stay.on{background:var(--co)!important;border-color:var(--co)!important;color:#fff!important;}
@media(max-width:640px){ .rp-map-filters{left:8px;right:8px;bottom:8px;} .rp-mf-lab{width:100%;} .rp-map-info{display:none;} }

/* Tour-Übersicht (Strecke vorab) */
.rp-tour-map{height:440px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#e6ebf0;margin-bottom:14px;box-shadow:var(--shadow);}
.rp-tour-map .leaflet-container{height:100%;width:100%;background:#e6ebf0;font-family:Outfit,sans-serif;}
.rp-tour-map .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.7);}
.rp-tour-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 16px;margin-bottom:12px;box-shadow:var(--shadow);}
.rp-tour-stats{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.rp-tour-stats span{display:inline-flex;align-items:center;gap:7px;font:700 13.5px Outfit,sans-serif;color:var(--ink);}
.rp-tour-stats [data-lucide]{width:16px;height:16px;color:var(--co);}
.rp-tour-ax{display:flex;align-items:center;gap:9px;}
.rp-tour-note{display:flex;align-items:center;gap:9px;font:600 13px Outfit,sans-serif;color:var(--ink2);margin-bottom:16px;padding:0 2px;}
.rp-tour-note [data-lucide]{width:16px;height:16px;color:var(--co);flex:0 0 auto;}
.rp-tour-eta{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;}
.rp-tour-et{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;font-family:Outfit,sans-serif;transition:border-color .13s,box-shadow .13s,transform .1s;}
.rp-tour-et:hover{border-color:var(--co);box-shadow:var(--shadow-h);transform:translateY(-1px);}
.rp-tour-etn{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--co);color:#fff;display:grid;place-items:center;font:800 13px Outfit,sans-serif;}
.rp-tour-ettx{flex:1;min-width:0;}
.rp-tour-ettx b{display:block;font:800 14.5px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-tour-ettx small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-tour-et>[data-lucide]{width:18px;height:18px;color:var(--ink3);flex:0 0 auto;}
@media(max-width:640px){ .rp-tour-map{height:320px;} .rp-tour-eta{grid-template-columns:1fr;} }

/* Tagesplan */
.rp-plan-note{display:flex;align-items:center;gap:9px;color:var(--ink2);font:600 13px Outfit,sans-serif;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 15px;margin-bottom:16px;}
.rp-plan-note [data-lucide]{width:17px;height:17px;color:var(--co);flex:0 0 auto;}
.rp-day{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow);}
.rp-day-head{display:flex;align-items:baseline;gap:12px;margin-bottom:13px;}
.rp-day-n{font:800 18px Outfit,sans-serif;color:var(--ink);letter-spacing:-.01em;}
.rp-day-meta{font:700 12.5px Outfit,sans-serif;color:var(--ink3);}
.rp-day-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
.rp-day-grid.nomap{grid-template-columns:1fr;}
.rp-day-list{list-style:none;counter-reset:d;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.rp-day-item{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:10px;cursor:pointer;counter-increment:d;transition:.12s;}
.rp-day-item:hover{background:var(--co-tint);}
.rp-day-list .rp-day-dot{position:relative;width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--co-tint);color:var(--co);display:grid;place-items:center;}
.rp-day-list .rp-day-dot::before{content:counter(d);position:absolute;top:-5px;left:-5px;width:18px;height:18px;border-radius:50%;background:var(--co);color:#fff;font:800 10px Outfit,sans-serif;display:grid;place-items:center;border:2px solid var(--card);}
.rp-day-list .rp-day-dot [data-lucide]{width:15px;height:15px;}
.rp-day-tx{display:flex;flex-direction:column;gap:1px;min-width:0;}
.rp-day-tx b{font:700 14.5px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-day-tx small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-day-map{height:100%;min-height:220px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#e6ebf0;}
.rp-day-map .leaflet-container{height:100%;width:100%;background:#e6ebf0;font-family:Outfit,sans-serif;}
.rp-day-map .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.7);}
.rp-numic span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--co);color:#fff;font:800 12px Outfit,sans-serif;border:2.5px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.3);}
.rp-plan-cta{display:flex;justify-content:center;margin-top:6px;padding-bottom:10px;}
@media(max-width:640px){ .rp-day-grid{grid-template-columns:1fr;} .rp-day-map{min-height:180px;} }

/* Modus-Hinweis-Banner */
.rp-hint-banner{display:flex;align-items:center;gap:10px;background:var(--co-tint);border:1px solid #f2f2f4;color:#000000;border-radius:12px;padding:11px 15px;margin-bottom:14px;font:600 13.5px Outfit,sans-serif;line-height:1.4;}
.rp-hint-banner[hidden]{display:none!important;}
.rp-hint-banner [data-lucide]{width:17px;height:17px;flex:0 0 auto;color:var(--co);}
.rp-price{color:var(--co);font-weight:800;}
/* KI-Tipps immer coral hervorgehoben */
.rp-filter[data-f="ai"]{color:var(--co);border-color:var(--co);}
.rp-filter[data-f="ai"] [data-lucide]{color:var(--co);}
.rp-filter[data-f="ai"].on{background:var(--co);border-color:var(--co);color:#fff;}
.rp-filter[data-f="ai"].on [data-lucide]{color:#fff;}

.rp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:max-content;gap:16px;}
.rp-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .14s,border-color .14s,transform .12s;cursor:pointer;}
.rp-card:hover{box-shadow:var(--shadow-h);transform:translateY(-2px);border-color:var(--co);}
.rp-card.in{border-color:var(--co);box-shadow:0 0 0 1.5px var(--co) inset;}
.rp-card-img{position:relative;height:132px;background:#eef0f3 center/cover no-repeat;flex:0 0 132px;}
.rp-card-img.noimg{display:grid;place-items:center;color:var(--ink3);}
.rp-card-img.noimg [data-lucide]{width:30px;height:30px;}
.rp-typ{position:absolute;top:9px;left:9px;background:rgba(255,255,255,.92);color:var(--ink);border-radius:8px;padding:4px 9px;font:800 10.5px Outfit,sans-serif;display:inline-flex;align-items:center;gap:5px;box-shadow:var(--shadow);}
.rp-typ [data-lucide]{width:13px;height:13px;color:var(--co);}
.rp-add{position:absolute;top:9px;right:9px;width:34px;height:34px;border-radius:50%;border:0;background:var(--co);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 10px rgba(23,23,27,.4);transition:transform .1s;}
.rp-add:hover{transform:scale(1.1);}
.rp-add.in{background:#16a34a;}
.rp-add [data-lucide]{width:18px;height:18px;}
.rp-card-body{padding:13px 14px;display:flex;flex-direction:column;gap:5px;}
.rp-card-t{font:800 15px Outfit,sans-serif;color:var(--ink);line-height:1.22;}
.rp-card-m{font-size:12px;color:var(--ink3);}
.rp-card-d{font-size:12.5px;color:var(--ink2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rp-card-buch{font-size:11.5px;color:var(--ink2);line-height:1.4;border-left:2px solid var(--co);padding-left:8px;font-style:italic;margin-top:2px;}
.rp-card-buch em{display:block;font-style:normal;font-weight:700;color:var(--ink3);font-size:10.5px;margin-top:1px;}
.rp-match{position:absolute;bottom:9px;right:9px;background:var(--ink);color:#fff;font:800 10.5px Outfit,sans-serif;padding:3px 8px;border-radius:999px;opacity:.9;}

/* Ladezustand / leer */
.rp-load,.rp-empty{padding:60px 20px;text-align:center;color:var(--ink2);}
.rp-load [data-lucide]{width:26px;height:26px;color:var(--co);animation:rpspin .9s linear infinite;}
@keyframes rpspin{to{transform:rotate(360deg);}}
.rp-empty [data-lucide]{width:34px;height:34px;color:var(--ink3);margin-bottom:8px;}

@media(max-width:640px){ .rp-main{padding:24px 16px 80px;} .rp-h1{font-size:25px;} }

/* Trenner + einzelne Karte (spontan) */
.rp-or{display:flex;align-items:center;gap:14px;color:var(--ink3);font:700 11.5px Outfit,sans-serif;text-transform:uppercase;letter-spacing:1.2px;margin:26px 2px 14px;}
.rp-or::before,.rp-or::after{content:'';flex:1;height:1px;background:var(--line);}
.rp-modes-one{grid-template-columns:1fr;}
.rp-modes-one .rp-mode{max-width:440px;}

/* Vorlieben-Button: coral umrandet (nicht gefüllt) */
.rp-tunebtn{color:var(--co)!important;border-color:var(--co)!important;background:var(--card)!important;}
.rp-tunebtn [data-lucide]{color:var(--co);}
.rp-tunebtn.on{background:var(--co-tint)!important;border-color:var(--co)!important;color:var(--co)!important;box-shadow:0 0 0 1px var(--co) inset;}
.rp-tunebtn.on [data-lucide]{color:var(--co);}
.rp-tune{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:18px;box-shadow:var(--shadow);}
.rp-tune-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px 24px;}
.rp-sl-top{display:flex;align-items:center;gap:8px;margin-bottom:7px;font:700 13px Outfit,sans-serif;color:var(--ink);}
.rp-sl-top [data-lucide]{width:15px;height:15px;}
.rp-sl-top b{margin-left:auto;color:var(--ink2);font-size:12px;font-weight:800;}
.rp-sl input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:#e9e9ef;outline:none;cursor:pointer;}
.rp-sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--c,#17171b);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.28);cursor:pointer;}
.rp-sl input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--c,#17171b);border:3px solid #fff;cursor:pointer;}

/* ── Detail-Sheet (Karte anklickbar) ── */
body.rp-noscroll{overflow:hidden;}
.rp-modal{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-end;justify-content:center;} /* über Leaflet (~1000) */
.rp-modal-bg{position:absolute;inset:0;background:rgba(20,20,32,.42);backdrop-filter:blur(2px);animation:rpFade .18s ease;}
@keyframes rpFade{from{opacity:0;}to{opacity:1;}}
.rp-sheet{position:relative;background:var(--card);width:100%;max-width:560px;max-height:92vh;border-radius:20px 20px 0 0;overflow:auto;box-shadow:0 -12px 44px rgba(0,0,0,.24);animation:rpUp .22s cubic-bezier(.2,.8,.2,1);}
@keyframes rpUp{from{transform:translateY(40px);}to{transform:none;}}
@media(min-width:640px){ .rp-modal{align-items:center;padding:24px;} .rp-sheet{border-radius:20px;animation:rpIn .18s ease;} }
@keyframes rpIn{from{transform:scale(.96);opacity:0;}to{transform:none;opacity:1;}}
.rp-sheet-img{height:214px;background:#eef0f3 center/cover no-repeat;position:relative;}
.rp-sheet-img.noimg{display:grid;place-items:center;color:var(--ink3);}
.rp-sheet-img.noimg>[data-lucide]{width:46px;height:46px;}
.rp-sheet-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);}
.rp-sheet-close [data-lucide]{width:20px;height:20px;}
.rp-sheet-typ{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);color:var(--ink);border-radius:9px;padding:6px 11px;font:800 12px Outfit,sans-serif;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow);}
.rp-sheet-typ [data-lucide]{width:15px;height:15px;color:var(--co);}
.rp-sheet-body{padding:20px 22px 24px;}
.rp-sheet-t{font:800 22px/1.2 Outfit,sans-serif;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink);text-wrap:balance;}
.rp-sheet-m{font-size:13px;color:var(--ink3);margin-bottom:15px;display:flex;flex-wrap:wrap;gap:6px 14px;}
.rp-sheet-m span{display:inline-flex;align-items:center;gap:5px;}
.rp-sheet-m [data-lucide]{width:14px;height:14px;}
.rp-sheet-map{height:180px;border-radius:13px;overflow:hidden;border:1px solid var(--line);margin-bottom:16px;background:#e6ebf0;position:relative;}
.rp-sheet-map .leaflet-container{height:100%;width:100%;font-family:Outfit,sans-serif;background:#e6ebf0;}
.rp-sheet-map .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.7);}
.rp-sheet-d{font-size:14.5px;color:var(--ink2);line-height:1.6;margin-bottom:18px;}
.rp-sheet-scores{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px 20px;margin-bottom:18px;}
.rp-scrow-top{display:flex;align-items:center;gap:7px;font:700 12px Outfit,sans-serif;color:var(--ink);margin-bottom:5px;}
.rp-scrow-top [data-lucide]{width:14px;height:14px;}
.rp-scrow-top b{margin-left:auto;color:var(--ink3);font-weight:800;}
.rp-scrow-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden;}
.rp-scrow-bar>i{display:block;height:100%;border-radius:999px;}
.rp-sheet-buch{font-size:13px;color:var(--ink2);line-height:1.5;border-left:3px solid var(--co);padding:2px 0 2px 12px;font-style:italic;margin-bottom:18px;}
.rp-sheet-buch em{display:block;font-style:normal;font-weight:700;color:var(--ink3);font-size:11.5px;margin-top:3px;}
.rp-sheet-actions{display:flex;gap:10px;flex-wrap:wrap;}
.rp-sheet-actions .rp-btn{flex:1;justify-content:center;min-width:150px;}

/* ══ Reise-Studio (interaktiver Tages-Editor) ══ */
.rp-studio-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 16px;margin-bottom:14px;box-shadow:var(--shadow);}
.rp-studio-prog{flex:1;min-width:220px;}
.rp-studio-prog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.rp-studio-prog-top b{display:inline-flex;align-items:center;gap:7px;font:800 14px Outfit,sans-serif;color:var(--ink);}
.rp-studio-prog-top b [data-lucide]{width:16px;height:16px;color:var(--co);}
.rp-studio-prog-top span{font:700 12.5px Outfit,sans-serif;color:var(--ink3);}
.rp-studio-track{height:8px;border-radius:999px;background:var(--line);overflow:hidden;}
.rp-studio-track>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#17171b,var(--co));transition:width .35s cubic-bezier(.2,.8,.2,1);}
.rp-studio-actions{display:flex;align-items:center;gap:9px;}
.rp-mini{padding:9px 15px!important;font-size:13px!important;}
.rp-studio-done{display:flex;align-items:center;gap:9px;background:linear-gradient(90deg,var(--co-tint),#fff);border:1px solid #f2f2f4;color:#000000;border-radius:12px;padding:12px 16px;margin-bottom:14px;font:800 14px Outfit,sans-serif;animation:rpPop .3s ease;}
.rp-studio-done [data-lucide]{width:18px;height:18px;color:var(--co);}

.rp-day.studio{padding:0;overflow:hidden;}
.rp-day.studio .rp-day-head{padding:15px 18px 0;margin-bottom:0;}
.rp-day.studio .rp-day-grid{padding:14px 18px 18px;}
.rp-day.studio.rund{border-color:#16a34a33;box-shadow:0 0 0 1.5px #16a34a22 inset, var(--shadow);}
.rp-day-badge{display:inline-flex;align-items:center;gap:4px;margin-left:auto;background:#dcfce7;color:#15803d;font:800 11px Outfit,sans-serif;padding:4px 9px;border-radius:999px;}
.rp-day-badge [data-lucide]{width:13px;height:13px;}
.rp-day.studio.rund .rp-day-badge{animation:rpBadge .4s ease;}
@keyframes rpBadge{0%{transform:scale(.6);opacity:0;}60%{transform:scale(1.12);}100%{transform:scale(1);opacity:1;}}
.rp-day-gpx{margin-left:8px;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:9px;border:1.5px solid var(--line);background:var(--card);color:var(--ink2);font:800 12px Outfit,sans-serif;cursor:pointer;transition:.13s;}
.rp-day-gpx:hover{border-color:var(--co);color:var(--co);}
.rp-day-gpx [data-lucide]{width:15px;height:15px;}
.rp-day-gpx+.rp-day-dice{margin-left:6px;}
.rp-day-dice{margin-left:8px;width:32px;height:32px;border-radius:9px;border:1.5px solid var(--line);background:var(--card);color:var(--ink2);display:grid;place-items:center;cursor:pointer;transition:.13s;}
.rp-day-dice:hover{border-color:var(--co);color:var(--co);transform:rotate(-8deg);}
.rp-day-dice [data-lucide]{width:17px;height:17px;}
.rp-day.studio.rund .rp-day-dice{margin-left:8px;}

.rp-day-col{display:flex;flex-direction:column;gap:10px;}
.rp-lane{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.rp-lane-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--card);cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .05s;}
.rp-lane-item:hover{border-color:var(--co);box-shadow:var(--shadow);}
.rp-lane-item.dragging{opacity:.4;}
.rp-lane-item.drop-hover{border-color:var(--co);box-shadow:0 -2px 0 var(--co) inset;}
.rp-li-h{color:var(--ink3);cursor:grab;flex:0 0 auto;display:grid;place-items:center;}
.rp-li-h [data-lucide]{width:15px;height:15px;}
.rp-day-dot{position:relative;width:32px;height:32px;flex:0 0 auto;border-radius:9px;background:var(--co-tint);color:var(--co);display:grid;place-items:center;}
.rp-day-dot.stay{background:#eef2ff;color:#4f46e5;}
.rp-day-dot [data-lucide]{width:16px;height:16px;}
.rp-lane-item .rp-day-tx{flex:1;min-width:0;}
.rp-lane-item .rp-day-tx b{font:700 14px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-lane-item .rp-day-tx small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-slot{font-style:normal;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--co);background:var(--co-tint);padding:1px 6px;border-radius:5px;margin-left:5px;vertical-align:middle;}
.rp-li-ctrls{display:flex;align-items:center;gap:2px;flex:0 0 auto;}
.rp-li-ctrls button{width:26px;height:26px;border-radius:7px;border:0;background:transparent;color:var(--ink3);display:grid;place-items:center;cursor:pointer;transition:.12s;}
.rp-li-ctrls button:hover{background:var(--co-tint);color:var(--co);}
.rp-li-ctrls [data-lucide]{width:15px;height:15px;}
.rp-lane-empty{list-style:none;padding:16px;border:1.5px dashed var(--line);border-radius:11px;color:var(--ink3);font:600 13px Outfit,sans-serif;text-align:center;}

.rp-stay-slot{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;border:1.5px dashed var(--line);background:var(--line2);}
.rp-stay-slot.filled{border-style:solid;border-color:#e0e4f7;background:#fbfbff;}
.rp-stay-slot .rp-day-tx{flex:1;min-width:0;}
.rp-stay-slot .rp-day-tx b{font:700 14px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-stay-slot .rp-day-tx small{font-size:11.5px;color:var(--ink3);}
.rp-stay-add{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink2);font:800 13px Outfit,sans-serif;cursor:pointer;padding:6px 2px;width:100%;}
.rp-stay-add:hover{color:#4f46e5;}
.rp-stay-add [data-lucide]{width:17px;height:17px;}

.rp-add-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:3px;}
.rp-add-lab{font:800 11px Outfit,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:var(--ink3);margin-right:2px;}
.rp-add-row button{display:inline-flex;align-items:center;gap:6px;border:1.5px dashed var(--line);background:var(--card);color:var(--ink2);border-radius:999px;padding:7px 13px;font:700 12.5px Outfit,sans-serif;cursor:pointer;transition:.12s;}
.rp-add-row button:hover{border-color:var(--co);border-style:solid;color:var(--co);}
.rp-add-row button [data-lucide]{width:14px;height:14px;}

/* Picker-Sheet */
.rp-picker{max-width:520px;}
.rp-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2;}
.rp-picker-head b{display:inline-flex;align-items:center;gap:8px;font:800 16px Outfit,sans-serif;color:var(--ink);}
.rp-picker-head b [data-lucide]{width:17px;height:17px;color:var(--co);}
.rp-picker-head .rp-sheet-close{position:static;box-shadow:none;border:1px solid var(--line);background:var(--card);width:34px;height:34px;}
.rp-picker-list{padding:8px;display:flex;flex-direction:column;gap:5px;}
.rp-pick-it{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:9px 11px;cursor:pointer;font-family:Outfit,sans-serif;transition:.12s;}
.rp-pick-it:hover{border-color:var(--co);background:var(--co-tint);}
.rp-pick-it .rp-day-tx{flex:1;min-width:0;}
.rp-pick-it .rp-day-tx b{font:700 14px Outfit,sans-serif;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-pick-it .rp-day-tx small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.rp-pick-add{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--co);color:#fff;display:grid;place-items:center;box-shadow:0 2px 8px rgba(23,23,27,.35);}
.rp-pick-add [data-lucide]{width:17px;height:17px;}
@media(max-width:640px){ .rp-li-ctrls button{width:30px;height:30px;} .rp-add-row{gap:6px;} }

/* Tagesplan-Leerzustand */
.rp-plan-empty{max-width:520px;margin:30px auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 26px;box-shadow:var(--shadow);}
.rp-plan-empty-ic{width:58px;height:58px;margin:0 auto 14px;border-radius:16px;background:var(--co-tint);color:var(--co);display:grid;place-items:center;}
.rp-plan-empty-ic [data-lucide]{width:28px;height:28px;}
.rp-plan-empty h3{font:800 20px Outfit,sans-serif;color:var(--ink);margin:0 0 8px;}
.rp-plan-empty p{font-size:14.5px;color:var(--ink2);line-height:1.6;margin:0 auto 20px;max-width:44ch;}
.rp-inlineplus{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--co);color:#fff;vertical-align:-4px;}
.rp-inlineplus [data-lucide]{width:12px;height:12px;}
.rp-plan-empty-ax{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.rp-map-cap{font-size:11.5px;color:var(--ink3);text-align:center;margin:-8px 0 14px;font-weight:600;}
.rp-map-cap[hidden]{display:none!important;}
.leaflet-tooltip.rp-tt{background:var(--ink);color:#fff;border:0;border-radius:6px;font:700 11px Outfit,sans-serif;padding:3px 7px;box-shadow:var(--shadow);}
.leaflet-tooltip.rp-tt::before{border-top-color:var(--ink);}
.leaflet-tooltip.rp-tt-rich{padding:6px 10px;font-weight:600;}
.leaflet-tooltip.rp-tt-rich b{font-weight:800;}
/* „In diesem Bereich suchen"-Button */
.rp-map-search{position:absolute;top:66px;left:50%;transform:translateX(-50%);z-index:600;display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:9px 16px;font:800 13px Outfit,sans-serif;cursor:pointer;box-shadow:var(--shadow-h);animation:rpPop .16s ease;}
.rp-map-search[hidden]{display:none!important;}
.rp-map-search:hover{background:#000;}
.rp-map-search [data-lucide]{width:15px;height:15px;}
/* Höhenprofil im Detail-Sheet */
.rp-sheet-ele{margin-bottom:16px;}
.rp-sheet-ele[hidden]{display:none!important;}
.rp-ele-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;}
.rp-ele-head span{display:inline-flex;align-items:center;gap:6px;font:800 12px Outfit,sans-serif;color:var(--ink);}
.rp-ele-head [data-lucide]{width:14px;height:14px;color:var(--co);}
.rp-ele-head b{font:800 11.5px Outfit,sans-serif;color:var(--ink2);}
.rp-ele-svg{display:block;width:100%;height:92px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,var(--co-tint));}

/* ── Abhol-Schicht: Startscreen (Absicht → Ausgangslage) ── */
.rp-start{max-width:860px;}
.rp-intent-box{border:1.5px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow);padding:6px;transition:border-color .14s,box-shadow .14s;}
.rp-intent-box:focus-within{border-color:var(--co);box-shadow:0 0 0 4px var(--co-tint);}
.rp-intent{width:100%;border:0;outline:none;resize:none;background:transparent;padding:14px 16px 6px;font:500 18px/1.45 Outfit,sans-serif;color:var(--ink);min-height:74px;}
.rp-intent::placeholder{color:var(--ink3);}
.rp-intent-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 8px 16px;flex-wrap:wrap;}
.rp-intent-ex{font-size:12.5px;color:var(--ink3);min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rp-intent-foot .rp-btn{padding:11px 20px;}
.rp-lagen{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.rp-lage{padding:16px;border-radius:15px;}
.rp-lage .rp-mode-ic{width:42px;height:42px;}
.rp-lage .rp-mode-tx b{font-size:15.5px;}
.rp-lage-resume{border-style:dashed;}
.rp-lage-resume .rp-mode-ic{background:var(--line2);color:var(--ink2);}
.rp-start-alt{margin-top:22px;}
.rp-linkbtn{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:6px 2px;color:var(--ink2);font:700 13.5px Outfit,sans-serif;cursor:pointer;border-radius:8px;transition:color .13s;}
.rp-linkbtn:hover{color:var(--co);}
.rp-linkbtn [data-lucide]{width:15px;height:15px;}
.rp-shake{animation:rpShake .42s cubic-bezier(.36,.07,.19,.97);}
@keyframes rpShake{10%,90%{transform:translateX(-1px);}20%,80%{transform:translateX(2px);}30%,50%,70%{transform:translateX(-4px);}40%,60%{transform:translateX(4px);}}

/* Verstanden-Box (Absicht wurde erkannt) */
.rp-understood{display:flex;align-items:flex-start;gap:11px;max-width:660px;background:var(--card);border:1.5px solid var(--line);border-left:4px solid var(--co);border-radius:13px;padding:12px 14px;margin:-8px 0 20px;}
.rp-understood > [data-lucide]{width:18px;height:18px;flex:0 0 auto;color:var(--co);margin-top:2px;}
.rp-understood-t{flex:1;min-width:0;font-size:13.5px;color:var(--ink2);line-height:1.45;}
.rp-understood-t b{display:block;color:var(--ink);font-weight:800;margin-bottom:2px;}
.rp-understood-t q{quotes:'„' '“';color:var(--ink3);font-style:italic;}
.rp-understood .rp-linkbtn{flex:0 0 auto;padding:2px 4px;font-size:12.5px;}

/* Chips mit Zusatzzeile (Budget) und Inline-„oder" */
.rp-chip-d{display:block;width:100%;font:500 11px Outfit,sans-serif;color:var(--ink3);margin-top:-2px;}
.rp-chip.on .rp-chip-d{color:rgba(255,255,255,.85);}
.rp-chip:has(.rp-chip-d){flex-direction:column;align-items:flex-start;gap:1px;padding:9px 16px;border-radius:14px;}
.rp-or-inline{font:700 11px Outfit,sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--ink3);margin:14px 0 9px;}
.rp-geo-btn{display:inline-flex;align-items:center;gap:8px;margin-top:10px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:10px 16px;font:700 13.5px Outfit,sans-serif;color:var(--ink);cursor:pointer;transition:.13s;}
.rp-geo-btn:hover{border-color:var(--co);color:var(--co);}
.rp-geo-btn[disabled]{opacity:.6;cursor:default;}
.rp-geo-btn [data-lucide]{width:16px;height:16px;color:var(--co);}

/* „Warum passt das" */
.rp-why{display:flex;align-items:center;gap:6px;margin-top:6px;font:700 12px Outfit,sans-serif;color:#0f766e;}
.rp-why [data-lucide]{width:13px;height:13px;flex:0 0 auto;}
.rp-why-sheet{font-size:13px;margin:-6px 0 14px;}

/* Reiseprofil-Zeile im Ergebnis */
.rp-profile{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;}
.rp-pf-lab{font:800 10.5px Outfit,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);margin-right:2px;}
.rp-pf-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 11px;background:var(--co-tint);color:#000000;font:700 12.5px Outfit,sans-serif;}
.rp-pf-chip [data-lucide]{width:14px;height:14px;color:var(--co);}
.rp-profile .rp-linkbtn{margin-left:auto;font-size:12.5px;padding:4px 6px;}
@media(max-width:760px){
  .rp-intent{font-size:16px;}
  .rp-intent-ex{display:none;}
  .rp-intent-foot{justify-content:flex-end;}
  .rp-lagen{grid-template-columns:1fr;}
  .rp-profile .rp-linkbtn{margin-left:0;}
}

/* ── Mobilität: Anreise + vor Ort + Startort ── */
.rp-mob-lab{font:800 10.5px Outfit,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);margin:14px 0 8px;}
.rp-mob-lab:first-child{margin-top:0;}
.rp-mob-lab small{font:500 11px Outfit,sans-serif;text-transform:none;letter-spacing:0;color:var(--ink3);margin-left:6px;}
.rp-start-row{display:flex;gap:8px;align-items:stretch;}
.rp-start-row .rp-input{flex:1;min-width:0;}
.rp-geo-inline{margin:0;padding:0 14px;border-radius:12px;flex:0 0 auto;}
.rp-start-row .rp-ac{right:auto;width:min(100%,520px);}

/* Vorauswahl-Hinweis im Ergebnis */
.rp-autonote{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--card);border:1.5px solid var(--co);border-radius:13px;padding:12px 14px;margin:0 0 14px;font:600 13.5px Outfit,sans-serif;color:var(--ink);}
.rp-autonote[hidden]{display:none!important;}
.rp-autonote > [data-lucide]{width:19px;height:19px;color:var(--co);flex:0 0 auto;}
.rp-autonote .rp-an-tx{flex:1;min-width:220px;line-height:1.45;}
.rp-autonote .rp-an-tx b{font-weight:800;}
.rp-autonote .rp-an-ax{display:flex;gap:6px;flex-wrap:wrap;}
.rp-autonote .rp-an-ax button{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:7px 12px;font:700 12.5px Outfit,sans-serif;color:var(--ink);cursor:pointer;transition:.13s;}
.rp-autonote .rp-an-ax button:hover{border-color:var(--co);color:var(--co);}
.rp-autonote .rp-an-ax button.pri{background:var(--co);border-color:var(--co);color:#fff;}
.rp-autonote .rp-an-ax button [data-lucide]{width:14px;height:14px;}

/* Anreise-Infos */
.rp-anreise{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin:0 0 14px;}
.rp-anreise[hidden]{display:none!important;}
.rp-anr-head{display:flex;align-items:center;gap:9px;font:800 13.5px Outfit,sans-serif;color:var(--ink);margin-bottom:8px;}
.rp-anr-head [data-lucide]{width:17px;height:17px;color:var(--co);}
.rp-anr-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 18px;}
.rp-anr-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink2);line-height:1.4;min-width:0;}
.rp-anr-row [data-lucide]{width:15px;height:15px;flex:0 0 auto;color:var(--ink3);margin-top:2px;}
.rp-anr-row b{color:var(--ink);font-weight:800;}
.rp-anr-row a{color:var(--co);font-weight:700;text-decoration:none;}
.rp-anr-row a:hover{text-decoration:underline;}
.rp-anr-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--ink3);}
.rp-anr-foot .rp-input{flex:1;min-width:160px;max-width:300px;padding:9px 12px;font-size:13.5px;}
.rp-anr-foot .rp-btn{padding:9px 14px;font-size:13px;}

/* Picker: freie Suche */
.rp-picker-search{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--line2);background:var(--bg);position:sticky;top:0;z-index:2;}
.rp-picker-search [data-lucide]{width:16px;height:16px;color:var(--ink3);flex:0 0 auto;}
.rp-picker-search .rp-input{padding:9px 12px;font-size:14px;}
.rp-picker-note{padding:8px 14px 4px;font:700 10.5px Outfit,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);}
.rp-pick-it .rp-pick-src{display:inline-block;margin-left:6px;font:700 10px Outfit,sans-serif;letter-spacing:.4px;color:var(--co);text-transform:uppercase;}

/* Ziel-Vorschläge („Wohin genau?") */
.rp-zw{margin-bottom:4px;}
.rp-zw-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));}
.rp-zw-card{padding:15px;border-radius:15px;}
.rp-zw-card .rp-mode-tx b{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rp-zw-land{font:700 10.5px Outfit,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:var(--ink3);background:var(--line2);border-radius:999px;padding:3px 8px;}
.rp-zw-stats{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font:700 11.5px Outfit,sans-serif;color:var(--co);}
.rp-zw-stats [data-lucide]{width:12px;height:12px;}

/* Karte: Leaflet-Attribution dezent, Tiles leicht entsaettigt */
.leaflet-container{background:#f7f7f6;font-family:Outfit,sans-serif;}
.leaflet-control-attribution{font-size:9.5px;color:#999;background:rgba(255,255,255,.7)!important;}

/* Mikrofon im Startscreen (Spracheingabe) */
.rp-mic{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:0 0 auto;margin-right:8px;transition:.13s;}
.rp-mic:hover{border-color:var(--co);color:var(--co);}
.rp-mic[hidden]{display:none!important;}
.rp-mic.rec{background:var(--co);border-color:var(--co);color:#fff;animation:rpMicPulse 1.2s ease-in-out infinite;}
@keyframes rpMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(23,23,27,.45)}50%{box-shadow:0 0 0 9px rgba(23,23,27,0)}}
.rp-mic [data-lucide]{width:18px;height:18px;}

/* Gegend mit Logik: gedämpfte Chips (schwache Passung) + Hinweis, Ausgeblendet-Notiz */
.rp-chip-weak{opacity:.6;}
.rp-chip-weak:hover,.rp-chip-weak.on{opacity:1;}
.rp-chip-why{font:500 11px Outfit,sans-serif;color:var(--ink3);padding-left:8px;border-left:1px solid var(--line);white-space:nowrap;}
.rp-chip.on .rp-chip-why{color:rgba(255,255,255,.8);border-left-color:rgba(255,255,255,.35);}
.rp-fit-note{font:500 12px Outfit,sans-serif;color:var(--ink3);margin-top:10px;line-height:1.5;}
.rp-fit-note button{font:inherit;font-weight:700;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:600px){ .rp-chip-why{white-space:normal;} }

/* Tages-Stimmung im Studio: „Heute lieber …“ */
.rp-day-vibes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 18px 0;}
.rp-dv-lab{font:800 10.5px Outfit,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);margin-right:4px;}
.rp-day-vibes .rp-chip{padding:6px 10px;font-size:12px;gap:6px;}
.rp-day-vibes .rp-chip [data-lucide]{width:13px;height:13px;}
.rp-dv-note{font:600 12px Outfit,sans-serif;color:var(--ink2);margin-left:6px;animation:rpFade .3s ease;}
.rp-day.busy{opacity:.55;pointer-events:none;}
@keyframes rpFade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
@media(max-width:600px){ .rp-day-vibes{padding:10px 14px 0;} .rp-dv-lab{width:100%;} }

/* Lange Tour A→B: Kilometer + Etappen-Empfehlung */
.rp-tour-info{margin-top:10px;font:600 13px Outfit,sans-serif;color:var(--ink2);display:flex;align-items:center;gap:8px;min-height:18px;}
.rp-tour-info [data-lucide]{width:15px;height:15px;color:var(--ink2);}
.rp-nah-row{margin-top:8px;max-width:440px;}
.rp-nah-hint{font:500 12px Outfit,sans-serif;color:#b42318;margin-top:6px;}

/* Vorlieben je Tag: Regler-Panel unter dem Tageskopf */
.rp-day-prefs.on{border-color:var(--co);color:var(--co);background:var(--co-tint);}
.rp-day-tune{margin:10px 18px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fafafb;}
.rp-day-tune .rp-tune-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;}
.rp-day-tune-ax{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap;}
@media(max-width:600px){ .rp-day-tune{margin:10px 14px 0;} }

/* Ergebnis: mehr Breite für Karte/Plan; Zoom-Control rechts, HUD links frei */
body[data-rp-step="result"] .rp-main{max-width:1320px;}
.rp-map-hud{right:58px;}
