/* VIENNA Route Studio V184
   Full redesign of the pre-navigation route customization panel.
   Loaded last on purpose: this file owns the visual layer of #routeState only.
*/

#routeState.vienna-route-studio{
  --vr-accent:#F59A62;
  --vr-accent-light:#FFC39B;
  --vr-accent-dark:#D9703F;
  --vr-text:#27231F;
  --vr-muted:#706861;
  --vr-faint:#9A8F87;
  --vr-surface:#FFFFFF;
  --vr-surface-2:#FFFDFB;
  --vr-soft:#FFF4EC;
  --vr-soft-2:#FFF8F2;
  --vr-line:#EDE3DC;
  --vr-line-strong:#E0D1C7;
  --vr-shadow:0 12px 30px rgba(71,46,29,.09);
  --vr-shadow-soft:0 6px 18px rgba(71,46,29,.055);
  --vr-radius-lg:22px;
  --vr-radius-md:16px;
  --vr-radius-sm:13px;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  color:var(--vr-text)!important;
  padding:2px 1px 8px!important;
  scrollbar-width:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#routeState.vienna-route-studio::-webkit-scrollbar{display:none!important}
#routeState.vienna-route-studio *,#routeState.vienna-route-studio *::before,#routeState.vienna-route-studio *::after{box-sizing:border-box}

/* Theme switch: no geometry changes, only semantic colors. */
html[data-rairo-theme="black"] #routeState.vienna-route-studio,
html[data-vaizo-theme="black"] #routeState.vienna-route-studio,
html[data-vienna-theme="black"] #routeState.vienna-route-studio{
  --vr-text:#FFF8F2;
  --vr-muted:#C7BBB3;
  --vr-faint:#91847C;
  --vr-surface:#171512;
  --vr-surface-2:#1D1A17;
  --vr-soft:#2B211B;
  --vr-soft-2:#211D1A;
  --vr-line:#332C27;
  --vr-line-strong:#443830;
  --vr-shadow:0 15px 36px rgba(0,0,0,.30);
  --vr-shadow-soft:0 8px 20px rgba(0,0,0,.20);
}

/* Route hero */
#routeState.vienna-route-studio .vr-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:13px 14px!important;
  margin:0 0 10px!important;
  border:1px solid var(--vr-line)!important;
  border-radius:var(--vr-radius-lg)!important;
  background:linear-gradient(145deg,var(--vr-surface) 0%,var(--vr-surface-2) 70%)!important;
  color:var(--vr-text)!important;
  box-shadow:var(--vr-shadow-soft)!important;
  overflow:hidden!important;
  position:relative!important;
}
#routeState.vienna-route-studio .vr-hero::after{
  content:"";
  position:absolute;
  width:120px;height:120px;
  right:-58px;top:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,154,98,.18),rgba(245,154,98,0) 68%);
  pointer-events:none;
}
#routeState.vienna-route-studio .vr-copy{min-width:0!important;position:relative;z-index:1}
#routeState.vienna-route-studio .vr-eyebrow{
  display:flex!important;align-items:center!important;gap:6px!important;
  margin:0 0 5px!important;color:var(--vr-accent-dark)!important;
  font-size:8px!important;line-height:1!important;font-weight:950!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
}
#routeState.vienna-route-studio .vr-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--vr-accent)!important;
  box-shadow:0 0 0 4px rgba(245,154,98,.13);
}
#routeState.vienna-route-studio .route-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;width:100%!important;position:relative!important;z-index:1!important}
#routeState.vienna-route-studio .route-head>div:first-child{min-width:0!important}
#routeState.vienna-route-studio .route-head h2{
  margin:0!important;color:var(--vr-text)!important;font-size:20px!important;line-height:1.08!important;
  font-weight:950!important;letter-spacing:-.65px!important;white-space:normal!important;
}
#routeState.vienna-route-studio .route-head p{
  margin:5px 0 0!important;color:var(--vr-muted)!important;font-size:10px!important;line-height:1.35!important;
  font-weight:650!important;max-width:30rem!important;
}
#routeState.vienna-route-studio .route-time{
  min-width:82px!important;text-align:right!important;position:relative;z-index:1;
  padding-left:8px!important;
}
#routeState.vienna-route-studio .route-time span{
  display:block!important;color:var(--vr-text)!important;font-size:25px!important;line-height:.95!important;
  font-weight:950!important;letter-spacing:-1px!important;white-space:nowrap!important;
}
#routeState.vienna-route-studio .route-time small{
  display:block!important;margin-top:5px!important;color:var(--vr-accent-dark)!important;font-size:9px!important;
  line-height:1!important;font-weight:900!important;white-space:nowrap!important;
}

/* Customization controls */
#routeState.vienna-route-studio .vr-customize{
  padding:12px!important;margin:0 0 10px!important;border:1px solid var(--vr-line)!important;
  border-radius:var(--vr-radius-lg)!important;background:var(--vr-surface)!important;color:var(--vr-text)!important;
  box-shadow:var(--vr-shadow-soft)!important;
}
#routeState.vienna-route-studio .customize-route-kicker{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;
  margin:0 1px 11px!important;padding:0!important;border:0!important;opacity:1!important;
}
#routeState.vienna-route-studio .customize-route-kicker span{
  color:var(--vr-text)!important;font-size:13px!important;line-height:1!important;font-weight:950!important;
  letter-spacing:-.2px!important;text-transform:none!important;
}
#routeState.vienna-route-studio .customize-route-kicker b{
  color:var(--vr-muted)!important;font-size:8px!important;line-height:1!important;font-weight:750!important;
  letter-spacing:0!important;text-transform:none!important;
}
#routeState.vienna-route-studio .vr-control-block + .vr-control-block{margin-top:10px!important}
#routeState.vienna-route-studio .route-choice-label{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  margin:0 2px 6px!important;color:var(--vr-muted)!important;font-size:8px!important;line-height:1!important;
  font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;
}
#routeState.vienna-route-studio .route-choice-label small{
  color:var(--vr-faint)!important;font-size:7px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;
}
#routeState.vienna-route-studio .segment,
#routeState.vienna-route-studio .travel{
  display:grid!important;gap:7px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;
}
#routeState.vienna-route-studio .segment{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#routeState.vienna-route-studio .travel{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#routeState.vienna-route-studio .segment button,
#routeState.vienna-route-studio .travel button{
  appearance:none!important;min-width:0!important;height:48px!important;padding:0 10px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  border:1px solid var(--vr-line)!important;border-radius:14px!important;background:var(--vr-surface-2)!important;
  color:var(--vr-muted)!important;box-shadow:none!important;font-size:10px!important;line-height:1!important;
  font-weight:900!important;white-space:nowrap!important;position:relative!important;overflow:hidden!important;
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  transition:transform .12s ease,background-color .14s ease,border-color .14s ease,color .14s ease!important;
}
#routeState.vienna-route-studio .segment button svg,
#routeState.vienna-route-studio .travel button svg{width:16px!important;height:16px!important;flex:0 0 auto!important;color:currentColor!important;stroke:currentColor!important}
#routeState.vienna-route-studio .travel .moto-ico{fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#routeState.vienna-route-studio .segment button.active,
#routeState.vienna-route-studio .travel button.active{
  border-color:rgba(245,154,98,.58)!important;background:var(--vr-soft)!important;color:var(--vr-accent-dark)!important;
  box-shadow:inset 0 0 0 1px rgba(245,154,98,.07)!important;
}
#routeState.vienna-route-studio .segment button.active::after,
#routeState.vienna-route-studio .travel button.active::after{
  content:"";position:absolute!important;right:8px!important;top:8px!important;width:6px!important;height:6px!important;
  border-radius:50%!important;background:var(--vr-accent)!important;box-shadow:0 0 0 3px rgba(245,154,98,.12)!important;
}
#routeState.vienna-route-studio .segment button:active,
#routeState.vienna-route-studio .travel button:active{transform:scale(.975)!important}

/* Alternatives */
#routeState.vienna-route-studio .vr-section-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  margin:0 2px 6px!important;
}
#routeState.vienna-route-studio .vr-section-head span{color:var(--vr-text)!important;font-size:11px!important;font-weight:950!important;letter-spacing:-.1px!important}
#routeState.vienna-route-studio .vr-section-head small{color:var(--vr-faint)!important;font-size:7.5px!important;font-weight:750!important}
#routeState.vienna-route-studio .route-variants{
  display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(126px,1fr)!important;
  gap:7px!important;margin:0 0 10px!important;padding:1px 1px 3px!important;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
}
#routeState.vienna-route-studio .route-variants::-webkit-scrollbar{display:none!important}
#routeState.vienna-route-studio .route-variants.route-alt-hidden{display:none!important}
#routeState.vienna-route-studio .route-variant{
  scroll-snap-align:start!important;min-width:126px!important;max-width:none!important;min-height:92px!important;padding:11px 11px!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
  border:1px solid var(--vr-line)!important;border-radius:16px!important;background:var(--vr-surface)!important;color:var(--vr-text)!important;
  box-shadow:var(--vr-shadow-soft)!important;text-align:left!important;position:relative!important;overflow:hidden!important;
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  transition:transform .12s ease,border-color .14s ease,background-color .14s ease!important;
}
#routeState.vienna-route-studio .route-variant::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;
}
#routeState.vienna-route-studio .route-variant.active{
  border-color:rgba(245,154,98,.66)!important;background:linear-gradient(145deg,var(--vr-soft),var(--vr-surface))!important;
  box-shadow:0 8px 22px rgba(217,112,63,.10)!important;
}
#routeState.vienna-route-studio .route-variant.active::before{background:var(--vr-accent)!important}
#routeState.vienna-route-studio .route-variant:active{transform:scale(.978)!important}
#routeState.vienna-route-studio .route-variant small{
  display:block!important;margin:0 0 5px!important;color:var(--vr-faint)!important;font-size:7px!important;line-height:1!important;
  font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important;
}
#routeState.vienna-route-studio .route-variant.active small{color:var(--vr-accent-dark)!important}
#routeState.vienna-route-studio .route-variant b{
  display:block!important;margin:0!important;color:var(--vr-text)!important;font-size:17px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.45px!important;
}
#routeState.vienna-route-studio .route-variant span{
  display:block!important;margin:6px 0 0!important;color:var(--vr-muted)!important;font-size:8.5px!important;line-height:1.1!important;font-weight:800!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;
}
#routeState.vienna-route-studio .route-variant em{
  display:block!important;margin:4px 0 0!important;color:var(--vr-accent-dark)!important;font-size:7px!important;line-height:1.1!important;font-style:normal!important;font-weight:850!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;
}

/* Route summary card */
#routeState.vienna-route-studio .vr-summary-head{margin-top:1px!important}
#routeState.vienna-route-studio .route-card{
  margin:0!important;padding:13px!important;border:1px solid var(--vr-line)!important;border-radius:var(--vr-radius-lg)!important;
  background:var(--vr-surface)!important;color:var(--vr-text)!important;box-shadow:var(--vr-shadow)!important;overflow:hidden!important;
}
#routeState.vienna-route-studio .route-card.fast-selected{border-color:rgba(245,154,98,.52)!important;background:linear-gradient(145deg,var(--vr-surface),var(--vr-soft-2))!important}
#routeState.vienna-route-studio .route-card-top{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:flex-start!important;
}
#routeState.vienna-route-studio .route-card-top>div:first-child{min-width:0!important}
#routeState.vienna-route-studio .route-card-top h3{
  margin:0!important;color:var(--vr-text)!important;font-size:13px!important;line-height:1.15!important;font-weight:950!important;letter-spacing:-.2px!important;
}
#routeState.vienna-route-studio .route-card .mins{
  color:var(--vr-accent-dark)!important;font-size:18px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.45px!important;white-space:nowrap!important;
}
#routeState.vienna-route-studio .safety-level{
  display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin-top:7px!important;min-width:0!important;
}
#routeState.vienna-route-studio .level-pill{
  min-height:24px!important;padding:0 8px!important;display:inline-flex!important;align-items:center!important;gap:4px!important;
  border:1px solid rgba(245,154,98,.38)!important;border-radius:999px!important;background:var(--vr-soft)!important;color:var(--vr-accent-dark)!important;
  font-size:8px!important;line-height:1!important;font-weight:950!important;
}
#routeState.vienna-route-studio .level-pill svg{width:11px!important;height:11px!important}
#routeState.vienna-route-studio .safety-level strong{color:var(--vr-muted)!important;font-size:8.5px!important;line-height:1.2!important;font-weight:760!important;min-width:0!important}
#routeState.vienna-route-studio .safety-dots{display:inline-flex!important;align-items:center!important;gap:3px!important}
#routeState.vienna-route-studio .safety-dots i{width:6px!important;height:6px!important;border-radius:50%!important;background:var(--vr-line-strong)!important}
#routeState.vienna-route-studio .safety-dots i.on{background:var(--vr-accent)!important}
#routeState.vienna-route-studio .route-card-meta{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:9px!important}
#routeState.vienna-route-studio .route-card-meta span{
  padding:5px 8px!important;border:1px solid var(--vr-line)!important;border-radius:999px!important;background:var(--vr-surface-2)!important;
  color:var(--vr-muted)!important;font-size:7.5px!important;font-weight:800!important;
}
#routeState.vienna-route-studio .traffic-line{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(72px,1fr) auto!important;gap:8px!important;align-items:center!important;
  margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--vr-line)!important;border-left:0!important;border-right:0!important;border-bottom:0!important;
  background:transparent!important;color:var(--vr-muted)!important;font-size:8px!important;font-weight:760!important;
}
#routeState.vienna-route-studio .traffic-bar{height:5px!important;border-radius:999px!important;background:var(--vr-line)!important;overflow:hidden!important}
#routeState.vienna-route-studio .traffic-bar i{display:block!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#78C896,#F1B95D,#D96E52)!important}
#routeState.vienna-route-studio .smart-note,
#routeState.vienna-route-studio .risk-note{
  margin-top:9px!important;padding:9px 10px!important;display:flex!important;align-items:flex-start!important;gap:7px!important;
  border:1px solid var(--vr-line)!important;border-radius:13px!important;background:var(--vr-surface-2)!important;color:var(--vr-muted)!important;
  font-size:8.5px!important;line-height:1.35!important;font-weight:680!important;
}
#routeState.vienna-route-studio .smart-note{border-color:rgba(245,154,98,.30)!important;background:var(--vr-soft-2)!important}
#routeState.vienna-route-studio .smart-note b{color:var(--vr-accent-dark)!important}
#routeState.vienna-route-studio .risk-note svg{flex:0 0 auto!important;color:var(--vr-accent-dark)!important;margin-top:1px!important}
#routeState.vienna-route-studio .live-dot{width:7px!important;height:7px!important;flex:0 0 auto!important;margin-top:2px!important;border-radius:50%!important;background:var(--vr-accent)!important;box-shadow:0 0 0 4px rgba(245,154,98,.11)!important}
#routeState.vienna-route-studio .route-ai{
  margin-top:9px!important;padding:10px!important;display:block!important;border:0!important;border-radius:13px!important;
  background:var(--vr-soft-2)!important;color:var(--vr-muted)!important;font-size:8.5px!important;line-height:1.42!important;font-weight:650!important;
}
#routeState.vienna-route-studio .route-ai .rairo-dot{display:none!important}
#routeState.vienna-route-studio .route-ai b{
  display:block!important;margin:0 0 3px!important;color:var(--vr-accent-dark)!important;font-size:7.5px!important;line-height:1!important;font-weight:950!important;
  text-transform:uppercase!important;letter-spacing:.08em!important;
}
#routeState.vienna-route-studio .route-ai span{color:var(--vr-muted)!important}

/* Parking */
#routeState.vienna-route-studio .parking-nearby{
  display:none!important;margin:0 0 10px!important;padding:11px!important;border:1px solid var(--vr-line)!important;
  border-radius:var(--vr-radius-md)!important;background:var(--vr-surface)!important;color:var(--vr-text)!important;box-shadow:var(--vr-shadow-soft)!important;
}
#routeState.vienna-route-studio .parking-nearby.show{display:block!important}
#routeState.vienna-route-studio .parking-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
#routeState.vienna-route-studio .parking-head small{display:block!important;color:var(--vr-accent-dark)!important;font-size:7px!important;font-weight:950!important;letter-spacing:.08em!important}
#routeState.vienna-route-studio .parking-head b{display:block!important;margin-top:2px!important;color:var(--vr-text)!important;font-size:10px!important;font-weight:900!important}
#routeState.vienna-route-studio .parking-head>span{color:var(--vr-faint)!important;font-size:7px!important;font-weight:700!important}
#routeState.vienna-route-studio .parking-list{display:grid!important;gap:6px!important;margin-top:8px!important}
#routeState.vienna-route-studio .parking-item{
  width:100%!important;min-height:46px!important;padding:8px 9px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;
  border:1px solid var(--vr-line)!important;border-radius:12px!important;background:var(--vr-surface-2)!important;color:var(--vr-text)!important;text-align:left!important;
}
#routeState.vienna-route-studio .parking-item b{color:var(--vr-text)!important;font-size:9px!important}
#routeState.vienna-route-studio .parking-item span{color:var(--vr-muted)!important;font-size:7px!important}
#routeState.vienna-route-studio .parking-item strong{color:var(--vr-accent-dark)!important;font-size:9px!important}
#routeState.vienna-route-studio .parking-empty{color:var(--vr-muted)!important;font-size:8px!important}

/* Main action */
#routeState.vienna-route-studio .start-trip-cta.primary{
  width:100%!important;min-height:58px!important;margin:10px 0 0!important;padding:9px 11px!important;
  display:grid!important;grid-template-columns:40px minmax(0,1fr) 24px!important;align-items:center!important;gap:10px!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;
  background:linear-gradient(135deg,var(--vr-accent-light) 0%,var(--vr-accent) 48%,var(--vr-accent-dark) 100%)!important;
  color:#FFFFFF!important;box-shadow:0 13px 28px rgba(217,112,63,.24)!important;text-align:left!important;
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  transition:transform .12s ease,filter .12s ease!important;
}
#routeState.vienna-route-studio .start-trip-cta.primary:active{transform:scale(.985)!important;filter:brightness(.98)!important}
#routeState.vienna-route-studio .start-trip-icon{
  width:40px!important;height:40px!important;display:grid!important;place-items:center!important;border-radius:13px!important;
  background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;
}
#routeState.vienna-route-studio .start-trip-icon svg{width:18px!important;height:18px!important;color:#fff!important;stroke:#fff!important}
#routeState.vienna-route-studio .start-trip-copy{min-width:0!important;color:#fff!important}
#routeState.vienna-route-studio .start-trip-copy b{display:block!important;color:#fff!important;font-size:13px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:-.15px!important}
#routeState.vienna-route-studio .start-trip-copy small{display:block!important;margin-top:3px!important;color:rgba(255,255,255,.80)!important;font-size:7.5px!important;line-height:1.1!important;font-weight:760!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#routeState.vienna-route-studio .start-trip-arrow{justify-self:end!important;color:#fff!important;font-size:25px!important;line-height:1!important;font-weight:500!important;opacity:.9!important}

/* Secondary actions */
#routeState.vienna-route-studio .preview-actions{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:7px 0 0!important;
}
#routeState.vienna-route-studio .preview-actions .sub-action{
  min-width:0!important;height:42px!important;padding:0 7px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  border:1px solid var(--vr-line)!important;border-radius:13px!important;background:var(--vr-surface)!important;color:var(--vr-muted)!important;
  box-shadow:none!important;font-size:8px!important;line-height:1!important;font-weight:850!important;white-space:nowrap!important;
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
}
#routeState.vienna-route-studio .preview-actions .sub-action svg{width:14px!important;height:14px!important;color:var(--vr-accent-dark)!important;stroke:var(--vr-accent-dark)!important;flex:0 0 auto!important}
#routeState.vienna-route-studio .preview-actions .sub-action:active{transform:scale(.975)!important;background:var(--vr-soft)!important;color:var(--vr-accent-dark)!important}
#routeState.vienna-route-studio>.disclaimer,
#routeState.vienna-route-studio .routeState-disclaimer{
  margin:8px 3px 0!important;color:var(--vr-faint)!important;font-size:7.5px!important;line-height:1.35!important;font-weight:650!important;text-align:center!important;
}

/* Hard contrast lock: nothing inside the route screen may inherit stale black/white legacy values. */
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-head h2,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-time span,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .customize-route-kicker span,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .vr-section-head span,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-variant b,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-card,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-card h3,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .parking-head b,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .parking-item b{color:#FFF8F2!important}
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-head p,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .customize-route-kicker b,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-choice-label,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-variant span,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .safety-level strong,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .traffic-line,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-ai,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .route-ai span,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .smart-note,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .risk-note,
html[data-rairo-theme="black"] #routeState.vienna-route-studio .preview-actions .sub-action{color:#C7BBB3!important}

/* Phones */
@media(max-width:899px){
  #planSheet:not(.sheet-collapsed) #routeState.vienna-route-studio{
    max-height:min(67dvh,650px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-bottom:7px!important;
  }
  #routeState.vienna-route-studio .vr-hero{padding:12px 12px!important;border-radius:19px!important}
  #routeState.vienna-route-studio .vr-customize{padding:11px!important;border-radius:19px!important}
  #routeState.vienna-route-studio .route-card{border-radius:19px!important}
}
@media(max-width:430px){
  #routeState.vienna-route-studio .route-head h2{font-size:18px!important}
  #routeState.vienna-route-studio .route-head p{font-size:9px!important}
  #routeState.vienna-route-studio .route-time{min-width:74px!important}
  #routeState.vienna-route-studio .route-time span{font-size:22px!important}
  #routeState.vienna-route-studio .route-time small{font-size:8px!important}
  #routeState.vienna-route-studio .segment button,#routeState.vienna-route-studio .travel button{height:46px!important;padding:0 7px!important;font-size:9px!important}
  #routeState.vienna-route-studio .route-variants{grid-auto-columns:122px!important}
  #routeState.vienna-route-studio .route-variant{min-width:122px!important;min-height:88px!important;padding:10px!important}
  #routeState.vienna-route-studio .preview-actions .sub-action{font-size:7.5px!important;gap:5px!important}
}
@media(max-width:360px){
  #routeState.vienna-route-studio .vr-hero{gap:8px!important;padding:11px!important}
  #routeState.vienna-route-studio .route-head h2{font-size:17px!important}
  #routeState.vienna-route-studio .route-head p{font-size:8.5px!important}
  #routeState.vienna-route-studio .route-time{min-width:66px!important;padding-left:4px!important}
  #routeState.vienna-route-studio .route-time span{font-size:20px!important}
  #routeState.vienna-route-studio .customize-route-kicker{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}
  #routeState.vienna-route-studio .travel button{font-size:8px!important;gap:4px!important}
  #routeState.vienna-route-studio .segment button{font-size:8.5px!important}
  #routeState.vienna-route-studio .segment button svg,#routeState.vienna-route-studio .travel button svg{width:14px!important;height:14px!important}
  #routeState.vienna-route-studio .route-variants{grid-auto-columns:116px!important}
  #routeState.vienna-route-studio .route-variant{min-width:116px!important}
  #routeState.vienna-route-studio .preview-actions{gap:5px!important}
  #routeState.vienna-route-studio .preview-actions .sub-action{height:40px!important;padding:0 4px!important;font-size:7px!important}
  #routeState.vienna-route-studio .preview-actions .sub-action svg{width:12px!important;height:12px!important}
}
@media(max-height:680px) and (max-width:899px){
  #planSheet:not(.sheet-collapsed) #routeState.vienna-route-studio{max-height:62dvh!important}
  #routeState.vienna-route-studio .vr-hero{margin-bottom:8px!important;padding-top:10px!important;padding-bottom:10px!important}
  #routeState.vienna-route-studio .vr-customize{margin-bottom:8px!important;padding:9px!important}
  #routeState.vienna-route-studio .segment button,#routeState.vienna-route-studio .travel button{height:42px!important}
  #routeState.vienna-route-studio .route-variant{min-height:82px!important}
  #routeState.vienna-route-studio .start-trip-cta.primary{min-height:54px!important}
}
@media(min-width:900px){
  #routeState.vienna-route-studio .route-variants{grid-auto-columns:minmax(132px,1fr)!important}
  #routeState.vienna-route-studio .vr-hero{padding:14px 15px!important}
  #routeState.vienna-route-studio .vr-customize{padding:13px!important}
}
@media(pointer:coarse){
  #routeState.vienna-route-studio .vr-hero,#routeState.vienna-route-studio .vr-customize,#routeState.vienna-route-studio .route-card,#routeState.vienna-route-studio .route-variant{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  #routeState.vienna-route-studio *,#routeState.vienna-route-studio *::before,#routeState.vienna-route-studio *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
