/* RUN CITY – Creme-Editorial-Zone für RunClubs */
#runclubs.runclubs-editorial {
  background: #f6f1e8;
  color: #111;
  margin-inline: calc(50% - 50vw);
  padding-inline: max(18px, calc((100vw - 1180px) / 2));
  border-top: 1px solid rgba(0,0,0,.08);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

#runclubs.runclubs-editorial .section-head,
#runclubs.runclubs-editorial .section-head h2,
#runclubs.runclubs-editorial .section-head p {
  color: #111;
}

#runclubs.runclubs-editorial .eyebrow {
  color: #e84a1a;
}

#runclubs .club-list {
  display: grid;
  gap: 22px;
}

#runclubs .club-row {
  background: #fbf8f2;
  color: #111;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(0,0,0,.08);
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 28px;
  align-items: start;
}

#runclubs .club-main {
  min-width: 0;
}

#runclubs .club-row h3 {
  color: #111;
  margin: 0 0 12px;
}

#runclubs .club-row p {
  color: rgba(17,17,17,.74);
  margin: 0;
}

#runclubs .club-text-mobile {
  display: none;
}

#runclubs .club-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 18px;
}

#runclubs .club-side span {
  color: #9aad00;
  border: 1px solid #9aad00;
  background: rgba(154,176,0,.08);
  border-radius: 999px;
  padding: 8px 15px;
  font-weight: 800;
  white-space: nowrap;
}

#runclubs .external-club-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 10px;
  background: #050505;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}

@media (max-width: 720px) {
  #runclubs.runclubs-editorial {
    padding-top: 36px;
    padding-bottom: 46px;
  }

  #runclubs.runclubs-editorial .section-head {
    gap: 10px;
    margin-bottom: 24px;
  }

  #runclubs.runclubs-editorial .section-head p {
    max-width: 28ch;
  }

  #runclubs .club-list {
    gap: 16px;
  }

  #runclubs .club-row {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px 22px;
    border-radius: 22px;
  }

  #runclubs .club-row h3 {
    font-size: 28px;
    line-height: 1.05;
    margin-bottom: 0;
    letter-spacing: -0.04em;
  }

  #runclubs .club-side {
    display: contents;
  }

  #runclubs .club-side span {
    order: 2;
    align-self: flex-start;
    width: fit-content;
    font-size: 14px;
    line-height: 1;
    padding: 8px 13px;
    margin-top: 0;
  }

  #runclubs .club-main {
    display: contents;
  }

  #runclubs .club-main h3 {
    order: 1;
  }

  #runclubs .club-text-desktop {
    display: none;
  }

  #runclubs .club-text-mobile {
    display: block;
    order: 3;
    font-size: 17px;
    line-height: 1.42;
    max-width: 30ch;
  }

  #runclubs .external-club-link {
    order: 4;
    width: 100%;
    min-height: 48px;
    margin-top: 4px;
  }
}

/* RUN CITY Mobile Quick Nav + Route Finder Restore */
.mobile-quick-nav{display:none}
.route-finder{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:end;margin:0 0 28px;padding:22px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.055)}
.route-finder h3{font-size:32px;margin:0 0 10px}
.route-finder p{color:rgba(255,255,255,.68);line-height:1.45;margin:0}
.route-finder-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.route-finder-controls label{min-width:220px;flex:1}
.route-location-reset{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.07)!important;color:#fff!important}
.route-location-reset[hidden]{display:none!important}
.route-finder-status{grid-column:1/-1;color:rgba(255,255,255,.7);font-size:14px;margin-top:2px!important}
.route-bucket{display:inline-flex;width:max-content;margin:0 0 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 9px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.1em}
.user-distance{margin-top:14px;color:#fff;font-weight:900;font-size:13px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
@media(max-width:980px){
.site-header{position:sticky;top:0;z-index:40}
.mobile-quick-nav{position:sticky;top:77px;z-index:35;display:flex;gap:8px;justify-content:center;padding:10px 14px 12px;background:rgba(0,0,0,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.mobile-quick-nav a{flex:1;max-width:128px;text-align:center;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 12px;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.055)}
.mobile-quick-nav a:hover,.mobile-quick-nav a:focus,.mobile-quick-nav a:active{background:rgba(219,255,0,.96);color:#050505;border-color:rgba(219,255,0,.98);box-shadow:0 0 0 1px rgba(219,255,0,.18),0 0 18px rgba(219,255,0,.24)}
.mobile-quick-nav a:visited{color:#fff}
.mobile-quick-nav a{-webkit-tap-highlight-color:transparent}
}
@media(max-width:780px){.route-finder{grid-template-columns:1fr}.route-finder-controls .button{min-height:48px}.route-location-reset{width:auto}}
@media(max-width:420px){
.mobile-quick-nav{top:73px;padding-left:10px;padding-right:10px}
.mobile-quick-nav a{font-size:10px;padding:9px 8px;letter-spacing:.1em}
}

/* HERO mobile only: 2-line filled title + 1-line outline Hannover */
.hero-title-mobile{
  display:none;
}

@media (max-width:720px){
  .hero-title-desktop{
    display:none !important;
  }

  .hero-title-mobile{
    display:block !important;
    margin:0;
    font-size:clamp(56px, 15.8vw, 82px);
    line-height:.88;
    letter-spacing:-.07em;
  }

  .hero-title-mobile .hero-mobile-fill{
    display:block;
    white-space:nowrap;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    -webkit-text-stroke:0 !important;
    text-stroke:0 !important;
    font-size:1em;
    font-weight:inherit;
  }

  .hero-title-mobile .hero-mobile-outline{
    display:block;
    white-space:nowrap;
    color:transparent !important;
    -webkit-text-fill-color:transparent !important;
    -webkit-text-stroke:1.5px #fff !important;
    text-stroke:1.5px #fff !important;
    font-size:1em;
    font-weight:inherit;
  }
}


/* FINAL DESKTOP CLEANUP: fixed header, section-head layout, footer links */
@media (min-width:721px){

  html{
    scroll-padding-top:118px;
  }

  body{
    overflow-x:hidden;
  }

  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:99999 !important;
    background:rgba(0,0,0,.94) !important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  main#top{
    padding-top:108px;
  }

  .hero,
  .content-section,
  .cta{
    scroll-margin-top:118px;
  }

  .content-section .section-head{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }

  .content-section .section-head > div{
    display:block !important;
    width:100% !important;
  }

  .content-section .section-head > p{
    display:block !important;
    width:100% !important;
    max-width:760px !important;
    margin:22px 0 0 0 !important;
    clear:both !important;
  }

  .content-section .section-head h2{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    font-size:clamp(48px, 6.6vw, 86px) !important;
    line-height:.9 !important;
    letter-spacing:-.075em !important;
  }

  .cta h2{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    max-width:1000px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .cta .lead,
  .cta .small-lead{
    display:block !important;
    max-width:920px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

.site-footer{
  border-top:1px solid rgba(255,255,255,.14);
}

.site-footer a{
  color:inherit;
  text-decoration:none;
}

.site-footer a:hover{
  color:#d7ff00;
}

@media (max-width:720px){
  .site-footer{
    padding-bottom:90px;
  }

  .site-footer p:last-child{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
}


/* RUN CITY Route Track Map Integration */
.route-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.route-actions .route-map-button,
.route-map-actions .route-map-locate{
  appearance:none;
  border:0;
  cursor:pointer;
  font:inherit;
}
.route-actions .route-map-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:#d7ff00;
  color:#000;
  text-decoration:none;
  font-weight:950;
}
.route-card.has-track{
  position:relative;
}
.route-card.has-track::after{
  content:'GPX';
  position:absolute;
  top:18px;
  right:18px;
  border:1px solid rgba(215,255,0,.52);
  color:#d7ff00;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.11em;
}
.user-distance strong{
  color:#d7ff00;
}
.route-map-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.74);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.route-map-modal.is-open{
  display:flex;
}
.route-map-dialog{
  width:min(1060px, 100%);
  max-height:min(88vh, 880px);
  overflow:auto;
  background:#080808;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  padding:20px;
}
.route-map-header{
  display:flex;
  gap:18px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:16px;
}
.route-map-header h3{
  margin:2px 0 5px;
  font-size:clamp(28px,4vw,48px);
  line-height:.95;
  letter-spacing:-.055em;
}
.route-map-header p{
  margin:0;
  color:rgba(255,255,255,.68);
}
.route-map-close{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  font-size:28px;
  line-height:1;
}
.route-map-canvas-wrap{
  position:relative;
}
#routeMapCanvas{
  height:min(58vh, 560px);
  min-height:360px;
  border-radius:22px;
  overflow:hidden;
  background:#151515;
}
.route-map-status{
  margin:14px 0 0;
  color:rgba(255,255,255,.76);
  font-weight:800;
}
.route-map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}
.route-map-actions .button,
.route-map-actions .route-map-locate,
.route-map-actions .route-map-navigate,
.route-map-actions .route-map-live{
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.105em!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.route-map-locate{
  border:1px solid #d7ff00;
  background:#d7ff00;
  color:#000;
}
.route-map-navigate{
  border:1px solid rgba(255,255,255,.9)!important;
  background:#fff!important;
  color:#000!important;
}
.route-map-navigate[hidden]{
  display:none!important;
}

.route-map-live{
  border:1px solid rgba(215,255,0,.42)!important;
  background:rgba(215,255,0,.08)!important;
  color:#d7ff00!important;
  cursor:pointer;
}
.route-map-live.is-running{
  background:#d7ff00!important;
  border-color:#d7ff00!important;
  color:#000!important;
}
.route-live-panel{
  position:absolute;
  left:12px;
  right:auto;
  bottom:12px;
  z-index:720;
  display:none;
  max-width:calc(100% - 24px);
  flex-wrap:wrap;
  align-items:flex-end;
  gap:6px;
  pointer-events:none;
}
.route-live-panel.is-visible{
  display:flex;
}
.route-live-metric{
  width:auto;
  max-width:100%;
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  background:rgba(0,0,0,.54);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:7px 9px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.route-live-metric span{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1;
}
.route-live-metric strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:13px;
  line-height:1.12;
  white-space:nowrap;
}
.route-live-status-ok strong{
  color:#d7ff00;
}
.route-live-status-warn strong{
  color:#ff5c5c;
}
.route-live-entry-marker{
  border-radius:999px;
  box-shadow:0 0 0 6px rgba(215,255,0,.18);
}
@media(max-width:720px){
  .route-map-modal{
    align-items:stretch;
    padding:10px;
  }
  .route-map-dialog{
    border-radius:22px;
    padding:16px;
    max-height:calc(100vh - 20px);
  }
  #routeMapCanvas{
    height:52vh;
    min-height:320px;
  }
  .route-map-actions .button,
  .route-map-actions .route-map-locate,
  .route-map-actions .route-map-navigate,
  .route-map-actions .route-map-live{
    width:100%;
    justify-content:center!important;
    font-size:12px!important;
  }
  .route-live-panel{
    left:10px;
    right:auto;
    bottom:10px;
    max-width:calc(100% - 20px);
    gap:5px;
  }
  .route-live-metric{
    padding:6px 8px;
    border-radius:12px;
  }
  .route-live-metric span{
    font-size:7.5px;
  }
  .route-live-metric strong{
    font-size:12px;
  }
  .route-card.has-track::after{
    top:14px;
    right:14px;
  }
}


/* RUN CITY Layout Polish – 2026-05-29
   - einheitliche Hero-Navigation
   - bessere Anchor-Position auf Mobile
   - GPX-Badge überlappt Difficulty-Label nicht mehr auf kleinen Screens
*/
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.hero-actions .button,
.hero-actions .button.primary,
.hero-actions .button.ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  text-decoration:none;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:none !important;
}
.hero-actions .button:hover,
.hero-actions .button:focus{
  background:#d7ff00 !important;
  border-color:#d7ff00 !important;
  color:#000 !important;
}

@media(max-width:980px){
  html{
    scroll-padding-top:142px;
  }
  #events,
  #runclubs,
  #routes,
  .content-section,
  .cta{
    scroll-margin-top:142px;
  }
}

@media(max-width:720px){
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:22px;
  }
  .hero-actions .button,
  .hero-actions .button.primary,
  .hero-actions .button.ghost{
    width:100%;
    min-height:50px;
  }
  .route-card.has-track::after{
    display:none;
  }
}


/* RUN CITY Route Card Polish – 2026-05-29
   - luftigere Cards
   - bessere Fact-Abstände, besonders Highlights
   - weichere Schriftwirkung innerhalb der Streckenkarten
*/
.route-grid{
  gap:18px !important;
  align-items:stretch;
}
.route-card{
  display:flex !important;
  flex-direction:column !important;
  padding:30px 26px 26px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.038)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 22px 56px rgba(0,0,0,.22) !important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing:normal !important;
}
.route-card .route-top{
  margin-bottom:24px !important;
  padding-right:58px !important;
}
.route-card .route-top strong{
  font-weight:850 !important;
  letter-spacing:-.025em !important;
  line-height:.86 !important;
}
.route-card .route-top span{
  font-weight:800 !important;
  letter-spacing:.01em !important;
}
.route-card h3{
  margin:0 0 14px !important;
  font-weight:820 !important;
  letter-spacing:-.045em !important;
  line-height:1.02 !important;
}
.route-card > p{
  margin:0 0 24px !important;
  max-width:34rem;
  color:rgba(255,255,255,.78) !important;
  font-size:16px !important;
  line-height:1.48 !important;
  font-weight:450 !important;
}
.route-card .route-bucket{
  margin:0 0 18px !important;
}
.route-card .route-facts{
  display:grid !important;
  gap:13px !important;
  margin:0 0 26px !important;
}
.route-card .route-facts > div{
  display:grid !important;
  grid-template-columns:minmax(98px, max-content) minmax(0, 1fr) !important;
  column-gap:20px !important;
  align-items:start !important;
}
.route-card .route-facts dt{
  margin:0 !important;
  min-width:98px !important;
  color:#d7ff00 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
}
.route-card .route-facts dd{
  margin:0 !important;
  min-width:0 !important;
  color:rgba(255,255,255,.86) !important;
  font-size:16px !important;
  line-height:1.32 !important;
  font-weight:450 !important;
}
.route-card .route-actions{
  margin-top:auto !important;
  padding-top:6px !important;
  gap:12px !important;
}
.route-card .route-actions a{
  line-height:1.2 !important;
  font-weight:760 !important;
}
.route-actions .route-map-button{
  min-height:42px !important;
  padding:0 18px !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
}
.route-card.has-track::after{
  top:18px !important;
  right:22px !important;
}

@media(max-width:720px){
  .route-card{
    padding:26px 22px 24px !important;
    border-radius:24px !important;
  }
  .route-card .route-top{
    margin-bottom:22px !important;
    padding-right:0 !important;
  }
  .route-card > p{
    margin-bottom:22px !important;
    font-size:15.5px !important;
  }
  .route-card .route-facts{
    gap:12px !important;
    margin-bottom:24px !important;
  }
  .route-card .route-facts > div{
    grid-template-columns:92px minmax(0, 1fr) !important;
    column-gap:16px !important;
  }
  .route-card .route-facts dt{
    min-width:92px !important;
    font-size:10.5px !important;
    letter-spacing:.13em !important;
  }
  .route-card .route-facts dd{
    font-size:15.5px !important;
  }
  .route-card .route-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .route-actions .route-map-button,
  .route-card .route-actions a{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
}


/* RUN CITY Facelift – curated sections, softer overlays, visual cards */
.content-section{
  position:relative;
  overflow:hidden;
}
.content-section:not(.runclubs-editorial){
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 16% 0%, rgba(215,255,0,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.005));
}
.content-section .section-head{
  margin-bottom:28px !important;
}
.content-section .section-head h2{
  text-wrap:balance;
}
.rc-hero-visual{
  position:relative;
  overflow:hidden;
}
.rc-hero-visual::before{
  content:'';
  position:absolute;
  top:5%;
  right:-3%;
  width:min(46vw, 600px);
  height:72%;
  background-image:linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.14)), var(--rc-hero-image);
  background-size:cover;
  background-position:center;
  opacity:.34;
  filter:saturate(1.12) contrast(1.05);
  border-radius:38px;
  pointer-events:none;
  z-index:0;
}
.rc-hero-visual::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.84) 44%, rgba(0,0,0,.22) 100%);
  pointer-events:none;
  z-index:0;
}
.rc-hero-visual > *{
  position:relative;
  z-index:1;
}
.spotify-grid{
  gap:18px !important;
}
.spotify-card{
  position:relative;
  overflow:hidden;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032)) !important;
  box-shadow:0 24px 64px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.spotify-card .album-art{
  min-height:168px;
  border-radius:18px;
  overflow:hidden;
  margin-bottom:16px;
}
.event-visual{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:18px;
  background:
    radial-gradient(circle at 70% 18%, rgba(215,255,0,.22), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
}
.event-visual.has-image{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.42)),
    var(--event-image);
  background-size:cover;
  background-position:center;
}
.event-visual.has-image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.32), rgba(0,0,0,.10));
  pointer-events:none;
}
.event-visual span,
.event-visual .event-logo{
  position:relative;
  z-index:1;
}
.event-visual .event-logo{
  max-width:min(76%, 210px);
  max-height:82px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.65));
}
.event-visual span{
  font-weight:950;
  font-size:clamp(30px, 4vw, 52px);
  line-height:.9;
  letter-spacing:-.065em;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 10px 26px rgba(0,0,0,.72);
}
.route-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.21) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.route-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 72% 6%, rgba(215,255,0,.115), transparent 34%);
  pointer-events:none;
}
.route-card > *{
  position:relative;
  z-index:1;
}
.route-mini-map{
  margin:-8px -4px 22px;
  height:174px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.70)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 24px),
    #101310;
  box-shadow:inset 0 0 36px rgba(0,0,0,.52);
}
.route-preview-svg{
  display:block;
  width:100%;
  height:100%;
}
.route-preview-road{
  fill:none;
  stroke:rgba(255,255,255,.10);
  stroke-width:2.2;
  stroke-linecap:round;
}
.route-preview-line{
  fill:none;
  stroke:#d7ff00;
  stroke-width:4.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.route-preview-line-shadow{
  stroke:rgba(215,255,0,.18);
  stroke-width:14;
  filter:blur(3px);
}
.route-preview-start{
  fill:#d7ff00;
  stroke:#050505;
  stroke-width:2;
}
.route-card .route-top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding-right:0 !important;
}
.route-card.has-track::after{
  top:22px !important;
  right:24px !important;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(8px);
}
.route-card.has-route-preview::after{
  top:18px !important;
  right:20px !important;
}
.route-finder{
  box-shadow:0 22px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07);
}
.cta{
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  margin:40px auto;
  background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}
@media(max-width:820px){
  .spotify-grid,
  .route-grid{
    display:flex !important;
    gap:14px !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:2px 18px 20px !important;
    margin-inline:-18px;
    -webkit-overflow-scrolling:touch;
  }
  .spotify-grid::-webkit-scrollbar,
  .route-grid::-webkit-scrollbar{display:none;}
  .spotify-card,
  .route-card{
    min-width:84vw !important;
    scroll-snap-align:start;
  }
  .spotify-card .album-art{
    min-height:150px;
  }
  .route-mini-map{
    height:152px;
    margin-bottom:18px;
  }
  .content-section:not(.runclubs-editorial){
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
  .rc-hero-visual::before{
    width:66vw;
    height:42%;
    top:10%;
    right:-18%;
    opacity:.28;
  }
}
@media(max-width:520px){
  .spotify-card,
  .route-card{
    min-width:86vw !important;
  }
  .event-visual .event-logo{
    max-height:70px;
  }
}



/* RUN CITY Facelift Fine-Tuning – 2026-05-30
   - Route-Preview ohne überlagerndes GPX-Badge
   - Event-Logos kleiner, oben links und mit Rahmen
   - Hero-Bild rechts etwas sichtbarer, aber weiterhin soft
   - Cards prägnanter abgesetzt
*/
.rc-hero-visual::before{
  opacity:.46 !important;
  background-image:linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.08)), var(--rc-hero-image) !important;
  filter:saturate(1.18) contrast(1.04) brightness(.86) !important;
}
.rc-hero-visual::after{
  background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.78) 42%, rgba(0,0,0,.12) 100%) !important;
}

.spotify-card,
.route-card,
.club-row{
  border:1px solid rgba(255,255,255,.22) !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(215,255,0,.075), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.030)) !important;
  box-shadow:
    0 30px 82px rgba(0,0,0,.44),
    inset 0 1px 0 rgba(255,255,255,.105) !important;
}
.spotify-card:hover,
.route-card:hover,
.club-row:hover{
  border-color:rgba(215,255,0,.34) !important;
  box-shadow:
    0 34px 92px rgba(0,0,0,.50),
    0 0 0 1px rgba(215,255,0,.06),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.event-visual{
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding:14px !important;
}
.event-visual.has-image{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.34)),
    var(--event-image) !important;
}
.event-visual.has-image::after{
  background:linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,.04)) !important;
}
.event-visual .event-logo{
  max-width:min(48%, 136px) !important;
  max-height:56px !important;
  width:auto !important;
  height:auto !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(0,0,0,.38) !important;
  box-sizing:border-box !important;
  object-fit:contain !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.60)) !important;
}
.spotify-card.is-featured .event-visual .event-logo{
  max-width:min(52%, 158px) !important;
  max-height:62px !important;
}
.event-visual span{
  max-width:76%;
  font-size:clamp(26px, 3.4vw, 44px) !important;
}

.route-mini-map{
  position:relative;
  margin:-6px -2px 24px !important;
  border-color:rgba(215,255,0,.20) !important;
  background:
    radial-gradient(circle at 50% 34%, rgba(215,255,0,.10), transparent 42%),
    linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.72)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 24px),
    #0c100b !important;
  box-shadow:
    inset 0 0 42px rgba(0,0,0,.62),
    0 18px 42px rgba(0,0,0,.28) !important;
}
.route-mini-map::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.30));
  pointer-events:none;
}
.route-preview-line{
  stroke-width:3.8 !important;
}
.route-preview-line-shadow{
  stroke-width:12 !important;
  opacity:.86;
}
.route-card.has-route-preview::after{
  display:none !important;
}
.route-card.has-track:not(.has-route-preview)::after{
  top:22px !important;
  right:22px !important;
}
.route-card .route-top span{
  background:rgba(0,0,0,.46) !important;
  border-color:rgba(255,255,255,.18) !important;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}

@media(max-width:720px){
  .rc-hero-visual::before{
    opacity:.38 !important;
    width:72vw !important;
    right:-22% !important;
  }
  .event-visual .event-logo{
    max-width:min(54%, 124px) !important;
    max-height:52px !important;
    border-radius:13px !important;
    padding:7px 9px !important;
  }
  .route-mini-map{
    height:150px !important;
    margin-bottom:22px !important;
  }
}



/* RUN CITY Hotfix – 2026-05-30
   - Anthem/Now-Playing kollidiert nicht mit Desktop-Header
   - Route-Filter robust gegen Bucket-Formatierungen
   - Mobile Route-Carousel klarer, mit Swipe-Hinweis
   - GPX-Link ohne irritierenden Unterstrich/Strich
*/
.route-card.is-filter-hidden{
  display:none !important;
}

/* Now Playing sicher innerhalb des Heros halten */
.hero{
  position:relative !important;
  overflow:hidden !important;
}
.anthem-card{
  position:absolute !important;
  right:clamp(24px, 4vw, 64px) !important;
  bottom:clamp(26px, 4vw, 56px) !important;
  top:auto !important;
  z-index:3 !important;
  max-width:min(360px, 31vw) !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(0,0,0,.48) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  box-shadow:0 22px 56px rgba(0,0,0,.42) !important;
}
@media(max-width:980px){
  .anthem-card{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    max-width:none !important;
    margin-top:22px !important;
  }
}

.route-actions a{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.route-actions a:hover,
.route-actions a:focus{
  color:var(--accent) !important;
}

@media(max-width:720px){
  #routes .section-head{
    position:relative;
  }
  #routes .section-head::after{
    content:'Nach rechts swipen →';
    display:inline-flex;
    margin-top:16px;
    color:var(--accent);
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
    border:1px solid rgba(215,255,0,.25);
    border-radius:999px;
    padding:8px 12px;
    background:rgba(215,255,0,.06);
  }

  .route-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:16px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:0 22vw 18px 0 !important;
    margin-right:-18px !important;
    scrollbar-width:none;
  }
  .route-grid::-webkit-scrollbar{
    display:none;
  }
  .route-card{
    flex:0 0 min(84vw, 430px) !important;
    width:min(84vw, 430px) !important;
    max-width:min(84vw, 430px) !important;
    scroll-snap-align:start;
  }
  .route-card.is-filter-hidden{
    display:none !important;
  }
  .route-card .route-actions{
    align-items:center !important;
    gap:12px !important;
  }
  .route-card .route-actions a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:0 12px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }
  .route-mini-map{
    height:144px !important;
  }
}


/* RUN CITY Micro-Tuning – 2026-05-30
   - Swipe-Hinweis direkt unter Route-Finder
   - Hero-Bild ca. 10% weniger abgedunkelt
*/
.route-swipe-hint{
  display:none;
}
.rc-hero-visual::before{
  opacity:.54 !important;
  background-image:linear-gradient(90deg, rgba(0,0,0,.52), rgba(0,0,0,.05)), var(--rc-hero-image) !important;
  filter:saturate(1.22) contrast(1.04) brightness(.94) !important;
}
.rc-hero-visual::after{
  background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.70) 42%, rgba(0,0,0,.08) 100%) !important;
}
@media(max-width:720px){
  #routes .section-head::after{
    content:none !important;
    display:none !important;
  }
  .route-swipe-hint{
    display:flex;
    width:max-content;
    max-width:100%;
    margin:-8px 0 18px;
    color:var(--accent);
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
    border:1px solid rgba(215,255,0,.25);
    border-radius:999px;
    padding:8px 12px;
    background:rgba(215,255,0,.06);
  }
}



/* RUN CITY Clubs – cream iconic redesign v2
   Cremefläche, klarer Nike-/Editorial-Charakter, keine generischen Punkt-Logos.
*/
#runclubs.runclubs-editorial{
  background:#eee6d3 !important;
  color:#050505 !important;
  border-top:1px solid rgba(238,230,211,.52) !important;
  border-bottom:1px solid rgba(238,230,211,.35) !important;
  padding-top:76px !important;
  padding-bottom:82px !important;
}
#runclubs.runclubs-editorial .section-head{
  align-items:flex-end !important;
  margin-bottom:30px !important;
  border-bottom:1px solid rgba(0,0,0,.18) !important;
  padding-bottom:18px !important;
}
#runclubs.runclubs-editorial .section-head h2{
  color:#050505 !important;
  letter-spacing:-.065em !important;
  line-height:.88 !important;
  text-transform:uppercase !important;
}
#runclubs.runclubs-editorial .section-head p{
  color:rgba(0,0,0,.66) !important;
  max-width:48ch !important;
  font-weight:750 !important;
}
#runclubs.runclubs-editorial .eyebrow{
  color:#050505 !important;
  opacity:.62 !important;
}
#runclubs .club-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
#runclubs .club-row{
  position:relative !important;
  overflow:hidden !important;
  min-height:178px !important;
  display:grid !important;
  grid-template-columns:118px minmax(0,1fr) !important;
  grid-template-areas:
    "mark main"
    "mark side" !important;
  align-items:stretch !important;
  gap:16px 22px !important;
  padding:22px !important;
  border-radius:0 !important;
  background:#f7f1e4 !important;
  border:1px solid rgba(0,0,0,.18) !important;
  box-shadow:none !important;
}
#runclubs .club-row::before,
#runclubs .club-row::after{
  content:none !important;
  display:none !important;
}
#runclubs .club-row:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(0,0,0,.38) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.13) !important;
}
#runclubs .club-mark{
  grid-area:mark !important;
  width:100% !important;
  min-height:132px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#050505 !important;
  background:#050505 !important;
  border:1px solid rgba(0,0,0,.82) !important;
  position:relative !important;
}
#runclubs .club-mark::before{
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid rgba(215,255,0,.65);
}
#runclubs .club-mark span{
  color:var(--accent) !important;
  font-size:clamp(28px,4vw,52px) !important;
  line-height:.82 !important;
  letter-spacing:-.10em !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  font-family:Impact, 'Arial Black', system-ui, sans-serif !important;
  transform:skewX(-7deg) !important;
}
#runclubs .club-main{
  grid-area:main !important;
  display:block !important;
  min-width:0 !important;
  padding-top:2px !important;
}
#runclubs .club-row h3{
  color:#050505 !important;
  margin:0 0 10px !important;
  font-size:clamp(25px,2.55vw,38px) !important;
  line-height:.9 !important;
  letter-spacing:-.07em !important;
  text-transform:uppercase !important;
}
#runclubs .club-row p,
#runclubs .club-text-desktop,
#runclubs .club-text-mobile{
  color:rgba(0,0,0,.72) !important;
  font-size:16px !important;
  line-height:1.42 !important;
  margin:0 !important;
  font-weight:650 !important;
}
#runclubs .club-side{
  grid-area:side !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:4px !important;
  border-top:1px solid rgba(0,0,0,.15) !important;
  padding-top:14px !important;
}
#runclubs .club-side span{
  color:#050505 !important;
  border:1px solid rgba(0,0,0,.24) !important;
  background:transparent !important;
  border-radius:999px !important;
  padding:8px 12px !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  font-weight:950 !important;
}
#runclubs .external-club-link{
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:#050505 !important;
  border:1px solid #050505 !important;
  color:#fff !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-size:11px !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  font-weight:950 !important;
}
#runclubs .external-club-link:hover{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#050505 !important;
}
@media (max-width: 820px){
  #runclubs.runclubs-editorial{
    padding-top:50px !important;
    padding-bottom:58px !important;
  }
  #runclubs.runclubs-editorial .section-head{
    display:block !important;
    margin-bottom:18px !important;
    padding-bottom:16px !important;
  }
  #runclubs.runclubs-editorial .section-head p{
    display:block !important;
    max-width:32ch !important;
    margin-top:12px !important;
    font-size:16px !important;
    line-height:1.38 !important;
  }
  #runclubs .club-list{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #runclubs .club-row{
    min-height:0 !important;
    grid-template-columns:82px minmax(0,1fr) !important;
    grid-template-areas:
      "mark main"
      "side side" !important;
    gap:14px 14px !important;
    padding:16px !important;
  }
  #runclubs .club-mark{
    min-height:84px !important;
  }
  #runclubs .club-mark::before{
    inset:7px !important;
  }
  #runclubs .club-mark span{
    font-size:30px !important;
  }
  #runclubs .club-row h3{
    font-size:26px !important;
    margin:0 0 8px !important;
  }
  #runclubs .club-text-desktop{
    display:none !important;
  }
  #runclubs .club-text-mobile{
    display:block !important;
    color:rgba(0,0,0,.72) !important;
    font-size:15.5px !important;
    line-height:1.42 !important;
    max-width:none !important;
  }
  #runclubs .club-main{
    display:block !important;
    padding-top:0 !important;
  }
  #runclubs .club-side{
    display:flex !important;
    grid-area:side !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin-top:0 !important;
    padding-top:12px !important;
  }
  #runclubs .club-side span{
    width:auto !important;
    max-width:100% !important;
    font-size:10.5px !important;
  }
  #runclubs .external-club-link{
    width:auto !important;
    min-height:34px !important;
    margin-top:0 !important;
    padding:0 12px !important;
  }
}



/* RUN CITY micro-update: scrolled nav + iconic cream club cards */
.site-header{
  transition:background .22s ease, border-color .22s ease, backdrop-filter .22s ease, box-shadow .22s ease !important;
}
body.is-scrolled .site-header{
  background:rgba(0,0,0,.70) !important;
  border-color:rgba(255,255,255,.12) !important;
  backdrop-filter:blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08) !important;
  box-shadow:0 12px 40px rgba(0,0,0,.20) !important;
}

@media (max-width:980px){
  .mobile-quick-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:73px !important;
    transform:translateY(-128%) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:transform .22s ease, opacity .22s ease !important;
    background:rgba(0,0,0,.66) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }
  body.is-scrolled .mobile-quick-nav{
    transform:translateY(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

#runclubs .club-card-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
#runclubs .club-card-cream{
  position:relative !important;
  min-height:190px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  padding:22px !important;
  background:#f8f1df !important;
  border:1px solid rgba(0,0,0,.22) !important;
  color:#050505 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
#runclubs .club-card-cream::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:#050505;
}
#runclubs .club-card-cream::after{
  content:'RC';
  position:absolute;
  right:14px;
  bottom:-16px;
  color:rgba(0,0,0,.045);
  font-family:Impact,'Arial Black',system-ui,sans-serif;
  font-size:96px;
  line-height:.8;
  letter-spacing:-.08em;
  transform:skewX(-7deg);
  pointer-events:none;
}
#runclubs .club-card-kicker{
  position:relative;
  z-index:1;
  color:rgba(0,0,0,.58);
  font-size:11px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#runclubs .club-card-cream h3{
  position:relative !important;
  z-index:1 !important;
  color:#050505 !important;
  margin:22px 0 24px !important;
  font-size:clamp(28px,2.7vw,42px) !important;
  line-height:.88 !important;
  letter-spacing:-.075em !important;
  text-transform:uppercase !important;
}
#runclubs .club-card-footer{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid rgba(0,0,0,.16);
  padding-top:14px;
}
#runclubs .club-card-footer span{
  display:inline-flex;
  max-width:65%;
  color:#050505;
  border:1px solid rgba(0,0,0,.26);
  border-radius:999px;
  padding:8px 10px;
  font-size:10.5px;
  font-weight:950;
  line-height:1;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#runclubs .club-detail-button,
#runclubs .club-detail-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid #050505;
  background:#050505;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  cursor:pointer;
}
#runclubs .club-detail-button:hover,
#runclubs .club-detail-link:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:#050505;
}
.club-detail-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.club-detail-modal.is-open{
  display:flex;
}
.club-detail-dialog{
  position:relative;
  width:min(620px,100%);
  background:#f8f1df;
  color:#050505;
  border:1px solid rgba(0,0,0,.22);
  padding:34px;
  box-shadow:0 32px 90px rgba(0,0,0,.35);
}
.club-detail-dialog::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:#050505;
}
.club-detail-close{
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.22);
  background:transparent;
  color:#050505;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.club-detail-dialog .eyebrow{
  color:rgba(0,0,0,.58) !important;
}
.club-detail-dialog h3{
  margin:10px 48px 14px 0;
  color:#050505;
  font-size:clamp(36px,6vw,70px);
  line-height:.85;
  letter-spacing:-.08em;
  text-transform:uppercase;
}
.club-detail-meta{
  display:inline-flex;
  border:1px solid rgba(0,0,0,.26);
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.club-detail-dialog p:not(.eyebrow){
  margin:24px 0 26px;
  color:rgba(0,0,0,.72);
  font-size:18px;
  line-height:1.48;
  font-weight:650;
}
@media (max-width:980px){
  #runclubs .club-card-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:680px){
  #runclubs .club-card-list{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  #runclubs .club-card-cream{
    min-height:138px !important;
    padding:18px !important;
  }
  #runclubs .club-card-cream h3{
    font-size:32px !important;
    margin:18px 0 18px !important;
  }
  #runclubs .club-card-footer span{
    max-width:58%;
  }
  .club-detail-dialog{
    padding:30px 22px 24px;
  }
}



/* RUN CITY mobile hero gap fix – 2026-05-30
   Entfernt den zu großen Leerraum zwischen Header und Hero,
   ohne die Desktop-Navigation oder die Scroll-Quicknav zu verändern.
*/
@media (max-width:720px){
  html{
    scroll-padding-top:96px !important;
  }

  main#top{
    padding-top:0 !important;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    min-height:0 !important;
    padding-top:calc(env(safe-area-inset-top, 0px) + 22px) !important;
    padding-bottom:24px !important;
  }

  .site-header .brand{
    margin:0 !important;
  }

  .mobile-quick-nav{
    height:auto !important;
  }

  body:not(.is-scrolled) .mobile-quick-nav{
    display:flex !important;
    transform:translateY(-135%) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .hero{
    margin-top:0 !important;
    padding-top:26px !important;
    min-height:0 !important;
  }

  .hero .eyebrow{
    margin-top:0 !important;
  }
}

@media (max-width:420px){
  .hero{
    padding-top:22px !important;
  }
}


/* RUN CITY final mobile header + creme club cards tuning – 2026-05-30
   - Logo bleibt mobil sichtbar
   - Scroll-Quicknav dockt ohne Blitzer direkt unter dem Header an
   - RunClub-Cards behalten den reduzierten Inhalt, bekommen aber wieder Card-Charakter
*/
@media (max-width:720px){
  :root{
    --rc-mobile-header-h: 104px;
  }

  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    min-height:var(--rc-mobile-header-h) !important;
    height:var(--rc-mobile-header-h) !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    padding:calc(env(safe-area-inset-top, 0px) + 18px) 26px 18px !important;
    background:#000 !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
    z-index:100000 !important;
    overflow:visible !important;
  }

  .site-header .brand{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#fff !important;
    text-decoration:none !important;
    transform:none !important;
    position:relative !important;
    z-index:2 !important;
    margin:0 !important;
  }

  .site-header .brand span{
    display:block !important;
    color:rgba(255,255,255,.72) !important;
    font-size:14px !important;
    line-height:1 !important;
    letter-spacing:.34em !important;
    font-weight:950 !important;
  }

  .site-header .brand strong{
    display:block !important;
    color:#fff !important;
    font-size:40px !important;
    line-height:.88 !important;
    letter-spacing:-.06em !important;
    font-weight:1000 !important;
  }

  .site-header .main-nav{
    display:none !important;
  }

  body.is-scrolled .site-header{
    background:rgba(0,0,0,.72) !important;
    backdrop-filter:blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.08) !important;
  }

  .mobile-quick-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:calc(var(--rc-mobile-header-h) - 1px) !important;
    z-index:99999 !important;
    margin:0 !important;
    border-top:0 !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
    background:rgba(0,0,0,.72) !important;
    backdrop-filter:blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.08) !important;
  }

  body:not(.is-scrolled) .mobile-quick-nav{
    transform:translateY(-130%) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.is-scrolled .mobile-quick-nav{
    transform:translateY(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  main#top{
    padding-top:var(--rc-mobile-header-h) !important;
  }

  .hero{
    margin-top:0 !important;
    padding-top:28px !important;
  }
}

@media (max-width:420px){
  :root{
    --rc-mobile-header-h: 100px;
  }
  .site-header{
    padding-left:22px !important;
    padding-right:22px !important;
    padding-bottom:16px !important;
  }
  .site-header .brand span{
    font-size:13px !important;
  }
  .site-header .brand strong{
    font-size:36px !important;
  }
}

#runclubs .club-card-list{
  align-items:stretch !important;
}

#runclubs .club-card-cream{
  border-radius:30px !important;
  border:1px solid rgba(0,0,0,.18) !important;
  background:linear-gradient(145deg,#fbf4e3,#eee4cf) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

#runclubs .club-card-cream::before{
  height:0 !important;
  background:transparent !important;
}

#runclubs .club-card-cream::after{
  opacity:.75 !important;
}

#runclubs .club-card-kicker{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  border:1px solid rgba(0,0,0,.18) !important;
  border-radius:999px !important;
  padding:8px 11px !important;
  background:rgba(0,0,0,.045) !important;
}

#runclubs .club-card-footer{
  border-top:1px solid rgba(0,0,0,.13) !important;
}

@media (max-width:680px){
  #runclubs .club-card-list{
    gap:14px !important;
  }

  #runclubs .club-card-cream{
    min-height:158px !important;
    border-radius:28px !important;
    padding:20px !important;
  }

  #runclubs .club-card-cream h3{
    margin:18px 0 20px !important;
    font-size:34px !important;
    line-height:.9 !important;
  }

  #runclubs .club-card-footer{
    padding-top:13px !important;
  }
}



/* RUN CITY Micro Patch – Now Playing Neon + Flagship-Sortierung
   Flagships werden jetzt innerhalb ihrer Gruppe zuerst nach sort_order sortiert,
   danach nach Datum. Die Now-Playing-Card erhält einen dezenten animierten Neon-Glow.
*/
.anthem-card{
  overflow:hidden !important;
  isolation:isolate !important;
  border-color:rgba(219,255,0,.28) !important;
  box-shadow:
    0 22px 56px rgba(0,0,0,.44),
    0 0 0 1px rgba(219,255,0,.08),
    0 0 42px rgba(219,255,0,.12) !important;
}
.anthem-card::before{
  content:'';
  position:absolute;
  inset:-38%;
  z-index:-2;
  background:
    radial-gradient(circle at 24% 38%, rgba(219,255,0,.28), transparent 27%),
    radial-gradient(circle at 76% 62%, rgba(219,255,0,.16), transparent 31%);
  filter:blur(24px);
  opacity:.72;
  animation:rcAnthemGlow 5.8s ease-in-out infinite alternate;
}
.anthem-card::after{
  content:'';
  position:absolute;
  left:-42%;
  top:0;
  width:38%;
  height:100%;
  z-index:-1;
  background:linear-gradient(90deg, transparent, rgba(219,255,0,.16), transparent);
  transform:skewX(-18deg);
  animation:rcAnthemSweep 6.4s ease-in-out infinite;
}
.anthem-card span{
  color:var(--accent) !important;
  text-shadow:0 0 14px rgba(219,255,0,.42);
}
.anthem-card strong::after{
  content:'';
  display:inline-block;
  width:28px;
  height:14px;
  margin-left:12px;
  vertical-align:-2px;
  background:
    linear-gradient(90deg,
      transparent 0 7%, rgba(219,255,0,.9) 7% 12%, transparent 12% 18%,
      rgba(219,255,0,.55) 18% 23%, transparent 23% 32%,
      rgba(219,255,0,.95) 32% 38%, transparent 38% 47%,
      rgba(219,255,0,.45) 47% 52%, transparent 52% 60%,
      rgba(219,255,0,.85) 60% 66%, transparent 66% 74%,
      rgba(219,255,0,.6) 74% 80%, transparent 80% 100%);
  filter:drop-shadow(0 0 7px rgba(219,255,0,.55));
  animation:rcAnthemBars 1.2s steps(2,end) infinite;
}
@keyframes rcAnthemGlow{
  0%{transform:translate3d(-3%, -2%, 0) scale(1); opacity:.56;}
  100%{transform:translate3d(3%, 2%, 0) scale(1.08); opacity:.88;}
}
@keyframes rcAnthemSweep{
  0%, 38%{left:-48%; opacity:0;}
  55%{opacity:.9;}
  78%, 100%{left:112%; opacity:0;}
}
@keyframes rcAnthemBars{
  0%{transform:scaleY(.72); opacity:.78;}
  50%{transform:scaleY(1.08); opacity:1;}
  100%{transform:scaleY(.86); opacity:.86;}
}
@media (prefers-reduced-motion: reduce){
  .anthem-card::before,
  .anthem-card::after,
  .anthem-card strong::after{animation:none !important;}
}

.anthem-audio{
  width:100%;
  margin:16px 0 4px;
  display:block;
  accent-color:var(--accent);
  filter:drop-shadow(0 0 16px rgba(219,255,0,.16));
}
.anthem-audio::-webkit-media-controls-panel{
  background:rgba(255,255,255,.90);
}
.anthem-card .anthem-links{
  margin-top:12px;
}


/* RUN CITY FAQ – neon help trigger + route-finding explainer modal */
.rc-faq-trigger{
  --rc-faq-size:34px;
  width:var(--rc-faq-size);
  height:var(--rc-faq-size);
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:999px;
  border:1px solid rgba(219,255,0,.88);
  background:radial-gradient(circle at 35% 28%, #efff66 0 18%, #d7ff00 45%, #a7c400 100%);
  color:#050505;
  font-size:17px;
  font-weight:1000;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(219,255,0,.2), 0 0 22px rgba(219,255,0,.32);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.rc-faq-trigger:hover,
.rc-faq-trigger:focus-visible{
  transform:translateY(-1px) scale(1.04);
  box-shadow:0 0 0 1px rgba(219,255,0,.42), 0 0 30px rgba(219,255,0,.58);
  outline:none;
}
.main-nav .rc-faq-trigger{
  margin-left:8px;
}
.mobile-quick-nav .rc-faq-trigger{
  --rc-faq-size:39px;
  max-width:39px !important;
  min-width:39px;
  padding:0 !important;
  letter-spacing:0 !important;
  font-size:18px !important;
  text-transform:none !important;
  background:radial-gradient(circle at 35% 28%, #efff66 0 18%, #d7ff00 45%, #a7c400 100%) !important;
  color:#050505 !important;
  border-color:rgba(219,255,0,.88) !important;
}
.rc-faq-modal{
  position:fixed;
  inset:0;
  z-index:120000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.rc-faq-modal.is-open{
  display:flex;
}
.rc-faq-dialog{
  position:relative;
  width:min(820px,100%);
  max-height:min(86vh,840px);
  overflow:auto;
  border-radius:34px;
  border:1px solid rgba(219,255,0,.24);
  background:
    radial-gradient(circle at 88% 12%, rgba(219,255,0,.18), transparent 32%),
    linear-gradient(145deg, rgba(18,18,18,.98), rgba(3,3,3,.98));
  color:#fff;
  box-shadow:0 34px 110px rgba(0,0,0,.62), 0 0 54px rgba(219,255,0,.14);
  padding:34px;
}
.rc-faq-dialog::before{
  content:'?';
  position:absolute;
  right:30px;
  top:24px;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#d7ff00;
  color:#050505;
  font-size:30px;
  font-weight:1000;
  box-shadow:0 0 30px rgba(219,255,0,.44);
}
.rc-faq-close{
  position:absolute;
  top:20px;
  right:96px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.rc-faq-dialog .eyebrow{
  color:#d7ff00 !important;
}
.rc-faq-dialog h3{
  max-width:620px;
  margin:10px 110px 14px 0;
  font-size:clamp(42px,6vw,78px);
  line-height:.86;
  letter-spacing:-.075em;
  text-transform:uppercase;
}
.rc-faq-intro{
  max-width:650px;
  margin:0 0 26px;
  color:rgba(255,255,255,.74);
  font-size:18px;
  line-height:1.48;
  font-weight:650;
}
.rc-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:24px 0;
}
.rc-faq-card{
  min-height:156px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  padding:20px;
  background:rgba(255,255,255,.055);
}
.rc-faq-card strong{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:18px;
  letter-spacing:-.02em;
}
.rc-faq-card p{
  margin:0;
  color:rgba(255,255,255,.7);
  line-height:1.46;
  font-size:15px;
}
.rc-faq-steps{
  margin:24px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.rc-faq-steps li{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  border:1px solid rgba(219,255,0,.18);
  border-radius:20px;
  background:rgba(219,255,0,.045);
  color:rgba(255,255,255,.76);
}
.rc-faq-steps span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#d7ff00;
  color:#050505;
  font-size:13px;
  font-weight:1000;
}
.rc-faq-note{
  margin:22px 0 0;
  border-left:3px solid #d7ff00;
  padding:4px 0 4px 14px;
  color:rgba(255,255,255,.74);
  line-height:1.45;
}
@media(max-width:720px){
  .mobile-quick-nav{
    gap:6px !important;
  }
  .mobile-quick-nav a:not(.rc-faq-trigger){
    max-width:none !important;
  }
  .rc-faq-dialog{
    max-height:84vh;
    border-radius:28px;
    padding:26px 20px 22px;
  }
  .rc-faq-dialog::before{
    right:20px;
    top:20px;
    width:46px;
    height:46px;
    font-size:26px;
  }
  .rc-faq-close{
    right:74px;
    top:22px;
    width:38px;
    height:38px;
  }
  .rc-faq-dialog h3{
    margin-right:96px;
    font-size:clamp(38px,12vw,58px);
  }
  .rc-faq-intro{
    font-size:16px;
  }
  .rc-faq-grid{
    grid-template-columns:1fr;
  }
  .rc-faq-card{
    min-height:0;
  }
}



/* RUN CITY mobile quicknav polish: compact balanced FAQ pill */
@media (max-width:720px){
  .mobile-quick-nav{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 42px !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 18px 11px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .mobile-quick-nav a:not(.rc-faq-trigger){
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 8px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1 !important;
    letter-spacing:.16em !important;
    white-space:nowrap !important;
    background:rgba(255,255,255,.045) !important;
    border-color:rgba(255,255,255,.18) !important;
    color:#fff !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .mobile-quick-nav a:not(.rc-faq-trigger):hover,
  .mobile-quick-nav a:not(.rc-faq-trigger):focus,
  .mobile-quick-nav a:not(.rc-faq-trigger):active{
    background:rgba(219,255,0,.96) !important;
    border-color:rgba(219,255,0,.98) !important;
    color:#050505 !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.18), 0 0 18px rgba(219,255,0,.24) !important;
    outline:none !important;
  }

  .mobile-quick-nav .rc-faq-trigger{
    --rc-faq-size:42px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    padding:0 !important;
    margin:0 !important;
    justify-self:end !important;
    align-self:center !important;
    font-size:18px !important;
    border:1px solid rgba(219,255,0,.9) !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.18), 0 0 16px rgba(219,255,0,.28) !important;
    transform:none !important;
  }

  .mobile-quick-nav .rc-faq-trigger:hover,
  .mobile-quick-nav .rc-faq-trigger:focus-visible{
    transform:none !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.32), 0 0 20px rgba(219,255,0,.42) !important;
  }
}

@media (max-width:380px){
  .mobile-quick-nav{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 38px !important;
    gap:6px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .mobile-quick-nav a:not(.rc-faq-trigger){
    height:40px !important;
    font-size:10px !important;
    letter-spacing:.12em !important;
    padding:0 5px !important;
    color:#fff !important;
  }

  .mobile-quick-nav .rc-faq-trigger{
    --rc-faq-size:38px !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    font-size:17px !important;
  }
}


/* RUN CITY DESKTOP HERO SVG HEADLINE
   Desktop-Headline als isolierte SVG.
   HANNOVER.-Outline gezielt bereinigt: weniger aggressiver Stroke, ruhigeres Spacing, sauberere Joins. */
@media (min-width:721px){
  .hero .hero-title-mobile{
    display:none !important;
  }

  .hero .hero-title-svg-wrap{
    display:block !important;
    width:min(92vw, 1180px) !important;
    max-width:1180px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
    font-size:0 !important;
    letter-spacing:0 !important;
    position:relative !important;
    z-index:2 !important;
    overflow:visible !important;
  }

  .hero .hero-title-svg{
    display:block !important;
    width:100% !important;
    height:auto !important;
    overflow:visible !important;
  }

  .hero .hero-svg-fill{
    font-family:Inter, Arial, Helvetica, sans-serif !important;
    font-size:140px !important;
    font-weight:1000 !important;
    letter-spacing:-7px !important;
    fill:#fff !important;
    stroke:none !important;
    text-transform:uppercase !important;
  }

  .hero .hero-svg-outline{
    font-family:Inter, Arial, Helvetica, sans-serif !important;
    font-size:132px !important;
    font-weight:1000 !important;
    letter-spacing:1px !important;
    fill:#000 !important;
    stroke:rgba(255,255,255,.98) !important;
    stroke-width:2.45px !important;
    stroke-linejoin:round !important;
    stroke-linecap:round !important;
    paint-order:stroke fill !important;
    vector-effect:non-scaling-stroke !important;
    text-transform:uppercase !important;
  }

  .hero .lead{
    max-width:760px !important;
    margin-top:26px !important;
    position:relative !important;
    z-index:2 !important;
    font-size:clamp(22px, 2vw, 31px) !important;
    line-height:1.08 !important;
    font-weight:850 !important;
    letter-spacing:-.025em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
}

@media (min-width:721px) and (max-width:1180px){
  .hero .hero-title-svg-wrap{
    width:min(760px, calc(100vw - 36px)) !important;
  }
  .hero .hero-svg-outline{
    fill:#000 !important;
    stroke-width:2.1px !important;
    letter-spacing:1.2px !important;
  }
}


/* RUN CITY MOBILE HERO IMAGE POSITION FIX
   Nur mobile Hero-Bildposition. Desktop, Hero-Typo und Funktionen bleiben unangetastet. */
@media (max-width:720px){
  .rc-hero-visual::before{
    top:20px !important;
    right:-30vw !important;
    width:86vw !important;
    height:56% !important;
    background-position:center top !important;
    opacity:.42 !important;
    border-radius:28px !important;
  }

  .rc-hero-visual::after{
    background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.78) 44%, rgba(0,0,0,.24) 100%) !important;
  }
}

@media (max-width:420px){
  .rc-hero-visual::before{
    top:8px !important;
    right:-34vw !important;
    width:92vw !important;
    height:54% !important;
    background-position:center top !important;
  }
}


/* RUN CITY EVENT CARD EQUAL HEIGHT FIX
   Gleicht Event-Kacheln optisch an: gleiche Card-Höhe, gleiches Bildformat, CTA unten. */
.spotify-grid{
  align-items:stretch !important;
}

.spotify-card{
  height:100% !important;
  min-height:430px !important;
  display:flex !important;
  flex-direction:column !important;
}

.spotify-card.is-featured{
  grid-row:auto !important;
}

.spotify-card .album-art,
.spotify-card .event-visual{
  height:180px !important;
  min-height:180px !important;
  max-height:180px !important;
  flex:0 0 180px !important;
}

.spotify-card h3{
  min-height:2.1em !important;
}

.spotify-card p{
  flex:1 1 auto !important;
}

.spotify-card a{
  margin-top:auto !important;
  align-self:flex-start !important;
}

@media (min-width:981px){
  .spotify-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }

  #events .spotify-card{
    min-height:440px !important;
  }
}

@media (max-width:980px){
  .spotify-card{
    min-height:410px !important;
  }

  .spotify-card .album-art,
  .spotify-card .event-visual{
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    flex-basis:170px !important;
  }
}

@media (max-width:720px){
  .spotify-grid{
    align-items:stretch !important;
  }

  .spotify-card{
    min-height:390px !important;
  }

  .spotify-card h3{
    min-height:auto !important;
  }
}


/* RUN CITY HANNOVER OUTLINE FILL SAFETY
   Verhindert Tablet-/Zwischenbreiten-Artefakte in der SVG-Outline. */
@media (min-width:721px){
  .hero .hero-svg-outline{
    fill:#000 !important;
    -webkit-text-fill-color:#000 !important;
    stroke:rgba(255,255,255,.98) !important;
    paint-order:stroke fill !important;
  }
}

@media (min-width:721px) and (max-width:1180px){
  .hero .hero-svg-outline{
    fill:#000 !important;
    -webkit-text-fill-color:#000 !important;
    stroke:rgba(255,255,255,.98) !important;
    paint-order:stroke fill !important;
  }
}


/* RUN CITY TABLET SVG OUTLINE SAFETY
   iPad/Safari: presentation attributes + CSS fallback for HANNOVER outline. */
@media (min-width:721px){
  .hero svg.hero-title-svg text.hero-svg-outline{
    fill:#000 !important;
    stroke:#fff !important;
    stroke-opacity:.98 !important;
    paint-order:stroke fill !important;
  }
}
@media (min-width:721px) and (max-width:980px){
  .hero svg.hero-title-svg text.hero-svg-outline{
    fill:#000 !important;
    stroke:#fff !important;
    stroke-opacity:.98 !important;
    paint-order:stroke fill !important;
  }
}


/* RUN CITY language switch */
.lang-switch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  height:42px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(219,255,0,.88) !important;
  background:rgba(219,255,0,.12) !important;
  color:#dbff00 !important;
  text-decoration:none !important;
  font-size:12px !important;
  font-weight:1000 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  box-shadow:0 0 0 1px rgba(219,255,0,.18),0 0 16px rgba(219,255,0,.20) !important;
}
.lang-switch:hover,.lang-switch:focus-visible{
  background:#dbff00 !important;
  color:#050505 !important;
  outline:none !important;
}
.mobile-quick-nav .lang-switch{
  min-width:42px !important;
  max-width:42px !important;
  flex:0 0 42px !important;
  padding:0 !important;
}
@media(max-width:380px){
  .mobile-quick-nav .lang-switch{
    min-width:38px !important;
    max-width:38px !important;
    flex-basis:38px !important;
    height:38px !important;
    font-size:10px !important;
  }
}


/* RUN CITY mobile language switch in logo bar */
.lang-switch-mobile-header{
  display:none !important;
}
@media(max-width:980px){
  .site-header{
    position:relative;
  }
  .lang-switch-mobile-header{
    display:inline-flex !important;
    position:absolute !important;
    right:22px !important;
    bottom:18px !important;
    z-index:100002 !important;
    min-width:42px !important;
    height:42px !important;
    padding:0 11px !important;
    border-radius:999px !important;
    border:1px solid rgba(219,255,0,.88) !important;
    background:rgba(219,255,0,.14) !important;
    color:#dbff00 !important;
    font-size:12px !important;
    font-weight:1000 !important;
    letter-spacing:.12em !important;
    text-decoration:none !important;
  }
  .mobile-quick-nav{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media(min-width:981px){
  .main-nav .lang-switch{
    display:inline-flex !important;
  }
}


/* RUN CITY LANGUAGE BUTTON SIZE TUNING
   EN/DE auf Desktop/Tablet kompakter als die Hauptnavigation.
   Mobile Header-Position bleibt erhalten. */
@media (min-width:721px){
  .main-nav .lang-switch{
    min-width:34px !important;
    width:34px !important;
    height:34px !important;
    padding:0 !important;
    margin-left:2px !important;
    border-radius:999px !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.06em !important;
    flex:0 0 34px !important;
  }
}

@media (min-width:981px){
  .main-nav .lang-switch{
    min-width:36px !important;
    width:36px !important;
    height:36px !important;
    font-size:10px !important;
  }
}

@media (max-width:980px){
  .lang-switch-mobile-header{
    min-width:38px !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
}


/* RUN CITY MOBILE EVENT SWIPE CAROUSEL
   Mobil: Event-Cards gleich groß und horizontal swipebar wie Routes. */
@media (max-width:720px){
  #events .section-head{
    position:relative;
  }

  #events .section-head::after{
    content:'Nach rechts swipen →';
    display:inline-flex;
    margin-top:16px;
    color:var(--accent);
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
    border:1px solid rgba(215,255,0,.25);
    border-radius:999px;
    padding:8px 12px;
    background:rgba(215,255,0,.06);
  }

  #events .spotify-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:16px !important;
    align-items:stretch !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 22vw 18px 0 !important;
    margin-right:-16px !important;
  }

  #events .spotify-grid::-webkit-scrollbar{
    display:none;
  }

  #events .spotify-card,
  #events .spotify-card.is-featured{
    flex:0 0 min(82vw, 330px) !important;
    width:min(82vw, 330px) !important;
    min-width:min(82vw, 330px) !important;
    max-width:min(82vw, 330px) !important;
    height:430px !important;
    min-height:430px !important;
    max-height:430px !important;
    display:grid !important;
    grid-template-rows:146px 32px 58px 1fr auto !important;
    scroll-snap-align:start !important;
    padding:16px !important;
    border-radius:26px !important;
  }

  #events .spotify-card .album-art,
  #events .spotify-card .event-visual{
    width:100% !important;
    height:146px !important;
    min-height:146px !important;
    max-height:146px !important;
    flex:none !important;
    margin:0 0 14px !important;
  }

  #events .spotify-card .card-meta{
    min-height:32px !important;
    margin:0 0 10px !important;
    align-items:center !important;
  }

  #events .spotify-card h3{
    min-height:58px !important;
    max-height:58px !important;
    margin:0 0 10px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #events .spotify-card p{
    min-height:92px !important;
    max-height:92px !important;
    margin:0 0 16px !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
  }

  #events .spotify-card > a{
    margin-top:0 !important;
    align-self:end !important;
    justify-self:start !important;
  }
}

@media (max-width:420px){
  #events .spotify-card,
  #events .spotify-card.is-featured{
    flex-basis:84vw !important;
    width:84vw !important;
    min-width:84vw !important;
    max-width:84vw !important;
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
    grid-template-rows:138px 32px 54px 1fr auto !important;
    padding:15px !important;
  }

  #events .spotify-card .album-art,
  #events .spotify-card .event-visual{
    height:138px !important;
    min-height:138px !important;
    max-height:138px !important;
  }

  #events .spotify-card h3{
    min-height:54px !important;
    max-height:54px !important;
  }

  #events .spotify-card p{
    min-height:94px !important;
    max-height:94px !important;
  }
}


/* RUN CITY MOBILE EVENT TITLE OVERLAP FIX
   Zweizeilige Event-Titel bekommen mehr reservierten Raum, damit der Infotext nicht überlappt. */
@media (max-width:720px){
  #events .spotify-card,
  #events .spotify-card.is-featured{
    height:458px !important;
    min-height:458px !important;
    max-height:458px !important;
    grid-template-rows:146px 32px 76px 1fr auto !important;
  }

  #events .spotify-card h3{
    min-height:76px !important;
    max-height:76px !important;
    margin:0 0 12px !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #events .spotify-card p{
    min-height:96px !important;
    max-height:96px !important;
    margin:0 0 16px !important;
    line-height:1.32 !important;
  }
}

@media (max-width:420px){
  #events .spotify-card,
  #events .spotify-card.is-featured{
    height:446px !important;
    min-height:446px !important;
    max-height:446px !important;
    grid-template-rows:138px 32px 72px 1fr auto !important;
  }

  #events .spotify-card h3{
    min-height:72px !important;
    max-height:72px !important;
    line-height:1.03 !important;
    margin-bottom:12px !important;
  }

  #events .spotify-card p{
    min-height:96px !important;
    max-height:96px !important;
    line-height:1.33 !important;
  }
}


/* RUN CITY: kompaktere Route-Cards auf der Startseite.
   Startort ist aus der Card entfernt; Detail-/Modal- und Live-Funktionen bleiben unverändert. */
#routes .route-facts--compact{
  margin-bottom:20px !important;
}

@media (max-width:720px){
  #routes .route-grid{
    gap:12px !important;
  }
  #routes .route-card{
    flex:0 0 min(78vw, 360px) !important;
    width:min(78vw, 360px) !important;
    min-width:min(78vw, 360px) !important;
    max-width:min(78vw, 360px) !important;
    padding:17px 15px 16px !important;
    border-radius:21px !important;
  }
  #routes .route-mini-map{
    height:108px !important;
    margin:-3px -1px 13px !important;
    border-radius:17px !important;
  }
  #routes .route-card .route-top{
    margin-bottom:12px !important;
    gap:10px !important;
  }
  #routes .route-card .route-top strong{
    font-size:clamp(34px, 10.5vw, 46px) !important;
    line-height:.86 !important;
  }
  #routes .route-card .route-top span{
    font-size:11px !important;
    padding:6px 8px !important;
  }
  #routes .route-card .route-bucket{
    margin:0 0 10px !important;
    font-size:10.5px !important;
  }
  #routes .route-card h3{
    margin-bottom:9px !important;
    font-size:clamp(24px, 7.4vw, 32px) !important;
    line-height:.98 !important;
  }
  #routes .route-card > p{
    margin-bottom:13px !important;
    font-size:14px !important;
    line-height:1.36 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  #routes .route-card .route-facts{
    gap:8px !important;
    margin-bottom:14px !important;
  }
  #routes .route-card .route-facts > div{
    grid-template-columns:72px minmax(0, 1fr) !important;
    column-gap:10px !important;
  }
  #routes .route-card .route-facts dt{
    min-width:72px !important;
    font-size:9.5px !important;
    letter-spacing:.11em !important;
  }
  #routes .route-card .route-facts dd{
    font-size:13.5px !important;
    line-height:1.25 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  #routes .route-card .route-actions{
    gap:8px !important;
    padding-top:2px !important;
  }
  #routes .route-actions .route-map-button,
  #routes .route-card .route-actions a{
    min-height:38px !important;
    font-size:12px !important;
    padding:0 12px !important;
  }
  #routes .rc-share-btn--card{
    transform:scale(.86);
    transform-origin:top right;
  }
}

@media (max-width:390px){
  #routes .route-card{
    flex-basis:80vw !important;
    width:80vw !important;
    min-width:80vw !important;
    max-width:80vw !important;
  }
  #routes .route-mini-map{
    height:96px !important;
  }
}


.hero-action-cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px !important;
  align-items:stretch;
}
.hero-action-cards .hero-action-card,
.hero-actions.hero-action-cards .button,
.hero-actions.hero-action-cards .button.primary,
.hero-actions.hero-action-cards .button.ghost{
  min-height:82px;
  padding:16px 18px !important;
  border-radius:18px !important;
  background:rgba(246,238,220,.94) !important;
  color:#090909 !important;
  border:1px solid rgba(246,238,220,.95) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28) !important;
  display:flex !important;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  gap:14px;
  text-align:left;
  letter-spacing:0 !important;
  text-decoration:none;
  backdrop-filter:blur(14px);
}
.hero-action-cards .hero-action-card svg{
  width:32px;
  height:32px;
  flex:0 0 auto;
  color:#0d0d0d;
  filter:none;
}
.hero-action-cards .hero-action-card span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.hero-action-cards .hero-action-card strong{
  font-size:14px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#090909;
  white-space:nowrap;
}
.hero-action-cards .hero-action-card small{
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:none;
  color:rgba(10,10,10,.72);
  white-space:nowrap;
}
.hero-action-cards .hero-action-card:hover,
.hero-action-cards .hero-action-card:focus-visible{
  transform:translateY(-2px);
  border-color:#dbff00 !important;
  box-shadow:0 0 0 1px rgba(219,255,0,.55), 0 22px 52px rgba(0,0,0,.32) !important;
}
.rc-like-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(10,10,10,.58);
  color:#fff7e7;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:58px;
  height:34px;
  padding:0 10px;
  font:800 12px/1 var(--font, inherit);
  letter-spacing:.02em;
  cursor:pointer;
  z-index:8;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.rc-like-btn:hover,
.rc-like-btn:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(219,255,0,.9);
  box-shadow:0 0 0 1px rgba(219,255,0,.35), 0 12px 26px rgba(0,0,0,.24);
}
.rc-like-btn.is-liked{
  background:#dbff00;
  border-color:#dbff00;
  color:#080808;
}
.rc-like-heart{
  font-size:18px;
  line-height:1;
  transform:translateY(-1px);
}
.rc-like-count{
  min-width:1.3em;
  text-align:left;
}
.route-card > .rc-like-btn,
.spotify-card > .rc-like-btn,
.club-card-cream > .rc-like-btn{
  position:absolute;
  right:18px;
  bottom:18px;
}
.route-card .route-actions{
  padding-right:76px;
}
.spotify-card .external-open-link{
  margin-right:76px;
}
.club-card-cream .club-card-footer{
  padding-right:76px;
}
@media (max-width:760px){
  .hero-action-cards{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:18px;
  }
  .hero-action-cards .hero-action-card,
  .hero-actions.hero-action-cards .button,
  .hero-actions.hero-action-cards .button.primary,
  .hero-actions.hero-action-cards .button.ghost{
    min-height:64px;
    padding:12px 14px !important;
    border-radius:16px !important;
    gap:12px;
  }
  .hero-action-cards .hero-action-card svg{
    width:26px;
    height:26px;
  }
  .hero-action-cards .hero-action-card strong{
    font-size:13px;
    letter-spacing:.12em;
  }
  .hero-action-cards .hero-action-card small{
    font-size:11px;
  }
  .route-card > .rc-like-btn,
  .spotify-card > .rc-like-btn,
  .club-card-cream > .rc-like-btn{
    right:14px;
    bottom:14px;
    height:32px;
    min-width:54px;
  }
  .route-card .route-actions,
  .spotify-card .external-open-link,
  .club-card-cream .club-card-footer{
    padding-right:68px;
  }
}


/* RUN CITY: Feinschliff Like-Buttons + Hero-Action-Cards.
   - RunClub-Like sitzt oben neben Teilen, damit der Details-Button frei bleibt.
   - Desktop-Hero reserviert rechts Platz für den Music-Player.
   - Button-Unterschriften wurden im Markup entzerrt. */
@media (min-width:981px){
  .hero .hero-copy{
    position:relative !important;
    z-index:4 !important;
    max-width:calc(100% - min(410px, 34vw)) !important;
  }
  .hero .hero-action-cards{
    max-width:720px !important;
    grid-template-columns:repeat(3, minmax(138px, 1fr)) !important;
  }
  .hero .anthem-card{
    z-index:5 !important;
    max-width:min(360px, 30vw) !important;
    pointer-events:auto !important;
  }
}
#runclubs .club-card-cream > .rc-like-btn{
  position:absolute !important;
  top:13px !important;
  right:54px !important;
  bottom:auto !important;
  min-width:52px !important;
  height:32px !important;
  padding:0 9px !important;
  z-index:36 !important;
  background:rgba(255,255,255,.72) !important;
  color:#050505 !important;
  border-color:rgba(0,0,0,.12) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
#runclubs .club-card-cream > .rc-like-btn.is-liked{
  background:#dbff00 !important;
  border-color:#dbff00 !important;
  color:#050505 !important;
}
#runclubs .club-card-cream .club-card-footer{
  padding-right:0 !important;
}
@media (max-width:760px){
  #runclubs .club-card-cream > .rc-like-btn{
    top:12px !important;
    right:52px !important;
    bottom:auto !important;
    height:31px !important;
    min-width:50px !important;
  }
}
@media (max-width:1180px) and (min-width:981px){
  .hero .hero-copy{
    max-width:calc(100% - 380px) !important;
  }
  .hero .hero-action-cards{
    max-width:640px !important;
    gap:10px !important;
  }
  .hero-action-cards .hero-action-card,
  .hero-actions.hero-action-cards .button,
  .hero-actions.hero-action-cards .button.primary,
  .hero-actions.hero-action-cards .button.ghost{
    padding:14px 13px !important;
    gap:10px !important;
  }
  .hero-action-cards .hero-action-card svg{
    width:27px !important;
    height:27px !important;
  }
}


/* Targeted fix only:
   1) On mobile RunClub cards, move the Like button to bottom-right so it no longer covers the meta label.
   2) Prevent the three Hero action cards from overflowing at narrow desktop/tablet widths. */

/* Hero action cards: keep icons, creme style and black text, but prevent mid-width overflow. */
.hero-action-cards .hero-action-card,
.hero-actions.hero-action-cards .button,
.hero-actions.hero-action-cards .button.primary,
.hero-actions.hero-action-cards .button.ghost{
  min-width:0 !important;
  overflow:hidden !important;
}
.hero-action-cards .hero-action-card span{
  min-width:0 !important;
  overflow:hidden !important;
}
.hero-action-cards .hero-action-card strong,
.hero-action-cards .hero-action-card small{
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

@media (max-width:1220px) and (min-width:981px){
  .hero .hero-action-cards{
    grid-template-columns:1fr !important;
    max-width:min(430px, 100%) !important;
  }
  .hero-action-cards .hero-action-card,
  .hero-actions.hero-action-cards .button,
  .hero-actions.hero-action-cards .button.primary,
  .hero-actions.hero-action-cards .button.ghost{
    min-height:62px !important;
    padding:12px 14px !important;
  }
  .hero-action-cards .hero-action-card svg{
    width:26px !important;
    height:26px !important;
  }
}

@media (max-width:980px) and (min-width:761px){
  .hero .hero-action-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    max-width:100% !important;
    gap:10px !important;
  }
  .hero-action-cards .hero-action-card,
  .hero-actions.hero-action-cards .button,
  .hero-actions.hero-action-cards .button.primary,
  .hero-actions.hero-action-cards .button.ghost{
    min-height:68px !important;
    padding:12px 10px !important;
    gap:9px !important;
  }
  .hero-action-cards .hero-action-card svg{
    width:24px !important;
    height:24px !important;
  }
  .hero-action-cards .hero-action-card strong{
    font-size:12px !important;
    letter-spacing:.1em !important;
  }
  .hero-action-cards .hero-action-card small{
    font-size:10px !important;
  }
}

/* Mobile only: RunClub like button moves away from the upper label. */
@media (max-width:760px){
  #runclubs .club-card-cream{
    padding-bottom:54px !important;
  }
  #runclubs .club-card-cream > .rc-like-btn{
    top:auto !important;
    right:12px !important;
    bottom:12px !important;
    left:auto !important;
    height:31px !important;
    min-width:52px !important;
    padding:0 9px !important;
    z-index:36 !important;
  }
  #runclubs .club-card-cream .club-card-footer{
    padding-right:70px !important;
  }
}


/* RUN CITY Test – Maschsee Loop Gold Highlight
   Alle im Admin markierten Highlight-Routen bekommen den Gold-Akzent. Ohne DB-Spalte bleibt maschseerunde als sicherer Fallback aktiv.
   Andere neue Routen am Maschsee bleiben unangetastet.
*/
.route-card.route-card--gold-highlight{
  border-color:rgba(244, 196, 88, .48) !important;
  box-shadow:
    0 26px 72px rgba(0,0,0,.38),
    0 0 0 1px rgba(244,196,88,.16),
    0 0 46px rgba(244,196,88,.13),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.route-card.route-card--gold-highlight::before{
  background:
    radial-gradient(circle at 74% 8%, rgba(244,196,88,.20), transparent 35%),
    radial-gradient(circle at 12% 96%, rgba(255,231,156,.10), transparent 42%) !important;
}
.route-card.route-card--gold-highlight .route-preview-line{
  stroke:#f4c458 !important;
  filter:drop-shadow(0 0 8px rgba(244,196,88,.46));
}
.route-card.route-card--gold-highlight .route-preview-line-shadow{
  stroke:rgba(244,196,88,.24) !important;
  filter:blur(3.5px);
}
.route-card.route-card--gold-highlight .route-preview-start{
  fill:#f4c458 !important;
  stroke:#080705 !important;
}
.route-card.route-card--gold-highlight .route-community-pulse{
  border-color:rgba(244,196,88,.34) !important;
  background:rgba(244,196,88,.075) !important;
}
.route-card.route-card--gold-highlight .route-pulse-runner,
.route-card.route-card--gold-highlight .route-community-pulse strong{
  color:#f4c458 !important;
}
.route-card.route-card--gold-highlight .route-map-button{
  border-color:rgba(244,196,88,.54) !important;
  box-shadow:0 0 0 1px rgba(244,196,88,.12), 0 10px 24px rgba(0,0,0,.18) !important;
}


/* RUN CITY iOS PWA safe-area header fix – 2026-06-11
   Adds real breathing room below the iPhone status bar only in installed WebApp/standalone mode.
   Normal mobile Safari/desktop layout stays unchanged. */
@media (max-width:720px) and (display-mode: standalone){
  :root{
    --rc-mobile-header-h:126px !important;
  }
  .site-header{
    min-height:var(--rc-mobile-header-h) !important;
    height:var(--rc-mobile-header-h) !important;
    padding-top:max(env(safe-area-inset-top, 0px), 36px) !important;
    padding-bottom:18px !important;
  }
  .mobile-quick-nav{
    top:calc(var(--rc-mobile-header-h) - 1px) !important;
  }
  main#top{
    padding-top:var(--rc-mobile-header-h) !important;
  }
  .lang-switch-mobile-header{
    bottom:18px !important;
  }
}

@media (max-width:420px) and (display-mode: standalone){
  :root{
    --rc-mobile-header-h:122px !important;
  }
  .site-header{
    padding-top:max(env(safe-area-inset-top, 0px), 34px) !important;
    padding-bottom:16px !important;
  }
}


/* RUN CITY final RouteCard sponsor polish, 2026-06-11
   Logo: creamy badge, shifted further right, visually centered to the distance number.
   Like: vertically centered with the primary "Strecke anzeigen" action.
   iOS PWA header safe area stays preserved. */
#routes .route-card .route-top{
  align-items:center !important;
}
#routes .route-card.route-card--sponsored .route-top .route-distance-wrap{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-width:0 !important;
}
#routes .route-card.route-card--sponsored .route-top .route-distance-wrap > strong{
  flex:0 0 auto !important;
  line-height:.86 !important;
}
#routes .route-card.route-card--sponsored .route-top .route-distance-wrap .rc-sponsored-route-mini-logo{
  flex:0 0 auto !important;
  width:116px !important;
  height:44px !important;
  min-width:116px !important;
  max-width:116px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin-left:30px !important;
  margin-top:0 !important;
  border-radius:999px !important;
  background:#fffaf1 !important;
  background-image:linear-gradient(180deg,#ffffff 0%,#fffaf1 50%,#ece6dc 100%) !important;
  border:2px solid rgba(255,255,255,.94) !important;
  box-shadow:
    0 12px 26px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(0,0,0,.10),
    inset 0 9px 16px rgba(255,255,255,.72),
    0 0 18px rgba(255,255,255,.14) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  transform:translateY(2px) !important;
}
#routes .route-card.route-card--sponsored .route-top .route-distance-wrap .rc-sponsored-route-mini-logo img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:82% !important;
  max-height:60% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  transform:translateX(1px) !important;
}
#routes .route-card > .rc-like-btn{
  bottom:30px !important;
}
#routes .route-card .route-actions{
  padding-right:88px !important;
}
@media (max-width:760px){
  #routes .route-card.route-card--sponsored .route-top .route-distance-wrap .rc-sponsored-route-mini-logo{
    width:110px !important;
    height:42px !important;
    min-width:110px !important;
    max-width:110px !important;
    margin-left:28px !important;
    transform:translateY(2px) !important;
  }
  #routes .route-card.route-card--sponsored .route-top .route-distance-wrap .rc-sponsored-route-mini-logo img{
    max-width:82% !important;
    max-height:59% !important;
    transform:translateX(1px) !important;
  }
  #routes .route-card > .rc-like-btn{
    bottom:30px !important;
  }
  #routes .route-card .route-actions{
    padding-right:88px !important;
  }
}
@media (max-width:420px){
  #routes .route-card.route-card--sponsored .route-top .route-distance-wrap .rc-sponsored-route-mini-logo{
    width:106px !important;
    height:40px !important;
    min-width:106px !important;
    max-width:106px !important;
    margin-left:26px !important;
  }
}
@media (max-width:720px) and (display-mode: standalone){
  :root{ --rc-mobile-header-h:138px !important; }
  .site-header{
    min-height:var(--rc-mobile-header-h) !important;
    height:var(--rc-mobile-header-h) !important;
    padding-top:max(env(safe-area-inset-top, 0px), 48px) !important;
    padding-bottom:18px !important;
  }
  .mobile-quick-nav{ top:calc(var(--rc-mobile-header-h) - 1px) !important; }
  main#top{ padding-top:var(--rc-mobile-header-h) !important; }
  .lang-switch-mobile-header{ bottom:18px !important; }
}
@media (max-width:420px) and (display-mode: standalone){
  :root{ --rc-mobile-header-h:136px !important; }
  .site-header{
    padding-top:max(env(safe-area-inset-top, 0px), 46px) !important;
    padding-bottom:17px !important;
  }
}


/* RUN CITY final mobile correction, 2026-06-11
   - Desktop RouteCard layout remains unchanged.
   - Mobile Like button is vertically centered with "Strecke anzeigen".
   - iPhone installed WebApp gets reliable safe-area breathing room even when display-mode media query is ignored.
   - Sponsor logo is fetched eagerly in markup above; badge remains visible immediately. */
@media (max-width:760px){
  #routes .route-card > .rc-like-btn{
    bottom:20px !important;
  }
  #routes .route-card .route-actions{
    padding-right:88px !important;
  }
}
@media (max-width:420px){
  #routes .route-card > .rc-like-btn{
    bottom:19px !important;
  }
}
@media (max-width:720px){
  html.rc-ios-standalone{
    --rc-mobile-header-h:148px !important;
  }
  html.rc-ios-standalone .site-header{
    min-height:var(--rc-mobile-header-h) !important;
    height:var(--rc-mobile-header-h) !important;
    padding-top:max(env(safe-area-inset-top, 0px), 58px) !important;
    padding-bottom:18px !important;
    box-sizing:border-box !important;
  }
  html.rc-ios-standalone .mobile-quick-nav{
    top:calc(var(--rc-mobile-header-h) - 1px) !important;
  }
  html.rc-ios-standalone main#top{
    padding-top:var(--rc-mobile-header-h) !important;
  }
  html.rc-ios-standalone .lang-switch-mobile-header{
    bottom:18px !important;
  }
}
@media (max-width:420px){
  html.rc-ios-standalone{
    --rc-mobile-header-h:146px !important;
  }
  html.rc-ios-standalone .site-header{
    padding-top:max(env(safe-area-inset-top, 0px), 56px) !important;
  }
}


/* RUN CITY iOS WebApp route modal safe-area fix, 2026-06-11
   Keeps the modal header/close button away from the iPhone status bar after "Strecke anzeigen".
   Does not change desktop or normal mobile Safari. */
@media (max-width:720px){
  html.rc-ios-standalone .route-map-modal.is-open:not(.is-live-fullscreen){
    align-items:flex-start !important;
    padding-top:calc(env(safe-area-inset-top, 0px) + 26px) !important;
    padding-left:10px !important;
    padding-right:10px !important;
    padding-bottom:10px !important;
    box-sizing:border-box !important;
  }
  html.rc-ios-standalone .route-map-modal.is-open:not(.is-live-fullscreen) .route-map-dialog{
    max-height:calc(100vh - env(safe-area-inset-top, 0px) - 42px) !important;
    margin-top:0 !important;
  }
  html.rc-ios-standalone .route-map-modal.is-open:not(.is-live-fullscreen) .route-map-close{
    margin-top:0 !important;
  }
}
@media (max-width:420px){
  html.rc-ios-standalone .route-map-modal.is-open:not(.is-live-fullscreen){
    padding-top:calc(env(safe-area-inset-top, 0px) + 30px) !important;
  }
}


.route-community-pulse{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:8px 0 0;
  padding:6px 10px;
  border:1px solid rgba(190,255,0,.28);
  border-radius:999px;
  background:rgba(8,12,10,.48);
  color:rgba(255,255,255,.84);
  font-size:11px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.route-community-pulse strong{
  color:#d7ff00;
  font-weight:900;
  letter-spacing:.03em;
}
.route-community-pulse .route-pulse-runner{
  display:inline-block;
  transform-origin:50% 80%;
  filter:saturate(1.15);
}
.route-community-pulse.has-live{
  border-color:rgba(213,255,0,.78);
  box-shadow:0 0 0 1px rgba(213,255,0,.12), 0 0 18px rgba(213,255,0,.18);
}
.route-community-pulse.has-live .route-pulse-runner{
  animation:rcRunnerPulse .95s ease-in-out infinite;
}
.route-pulse-sep{opacity:.45;}
@keyframes rcRunnerPulse{
  0%,100%{transform:translateY(0) scale(1);}
  45%{transform:translateY(-2px) scale(1.08);}
}
@media (max-width:780px){
  #routes .route-community-pulse{
    margin-top:7px;
    padding:5px 9px;
    font-size:10px;
    gap:5px;
  }
}


/* RUN CITY MapLibre navigation integration: production UI, no test copy. */
.route-map-modal.rc-maplibre-nav-active #routeMapCanvas{
  background:#d8ded3 !important;
}
.route-map-modal.rc-maplibre-nav-active #routeMapCanvas .maplibregl-canvas{
  outline:none !important;
}
.route-map-modal.rc-maplibre-nav-active .maplibregl-ctrl-top-left{
  top:12px !important;
  left:12px !important;
}
.route-map-modal.rc-maplibre-nav-active .maplibregl-ctrl-bottom-right{
  bottom:8px !important;
}
.route-map-modal.rc-maplibre-nav-active .maplibregl-ctrl-attrib{
  font-size:10px !important;
}
.rc-maplibre-user-marker{
  width:38px;
  height:38px;
  border-radius:999px;
  background:#d7ff00;
  border:3px solid #050505;
  box-shadow:0 0 0 15px rgba(215,255,0,.22),0 10px 22px rgba(0,0,0,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
}
.rc-maplibre-user-marker::before{
  content:'🏃';
  transform:translateY(1px);
}
.rc-maplibre-entry-marker{
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(215,255,0,.9);
  border:3px solid #050505;
  box-shadow:0 0 0 10px rgba(215,255,0,.18),0 8px 18px rgba(0,0,0,.28);
}
.rc-maplibre-look-marker{
  display:none !important;
}
.route-map-modal.rc-maplibre-nav-active .route-live-panel.is-visible{
  display:flex !important;
}
.route-map-modal.rc-maplibre-nav-active .route-live-hint.is-hidden{
  display:none !important;
}
.route-map-modal.rc-maplibre-nav-active .route-map-actions [hidden]{
  display:none !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
  right:12px !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .maplibregl-ctrl-top-left{
  top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .maplibregl-ctrl-bottom-right{
  bottom:calc(env(safe-area-inset-bottom, 0px) + 82px) !important;
}
.route-map-modal.rc-maplibre-nav-active .route-live-hint .route-live-arrow svg{
  display:block;
}
.route-map-modal.rc-maplibre-nav-active .route-live-hint .route-live-arrow{
  transform-origin:50% 50%;
}

.route-map-modal.rc-maplibre-nav-active .route-map-dialog{
  position:relative;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-ready:not(.is-live-fullscreen) .route-map-status{
  position:absolute;
  left:50%;
  top:50%;
  z-index:28;
  width:min(86%, 430px);
  transform:translate(-50%,-72%);
  margin:0 !important;
  padding:22px 24px 112px;
  border:1px solid rgba(215,255,0,.55);
  border-radius:32px;
  background:rgba(18,22,18,.74);
  color:#fff;
  text-align:center;
  font-size:clamp(26px, 6.4vw, 38px);
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.035em;
  box-shadow:0 24px 60px rgba(0,0,0,.45), 0 0 34px rgba(215,255,0,.14);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  pointer-events:none;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-ready:not(.is-live-fullscreen) .route-map-actions{
  position:absolute;
  left:50%;
  top:50%;
  z-index:29;
  width:min(76%, 360px);
  transform:translate(-50%, 22px);
  margin:0 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-ready:not(.is-live-fullscreen) .route-map-actions .route-map-live{
  min-height:62px;
  border-color:#d7ff00 !important;
  background:#d7ff00 !important;
  color:#050505 !important;
  box-shadow:0 18px 42px rgba(215,255,0,.28);
}


/* RUN CITY final layout + route draw fix – code-only patch */
.content-section .section-head{
  margin-bottom:18px !important;
  padding-bottom:0 !important;
}
.content-section .section-head > p{
  margin:10px 0 0 0 !important;
  line-height:1.12 !important;
}
.content-section .section-head h2{
  margin-bottom:0 !important;
}
#events .section-head,
#routes .section-head{
  gap:0 !important;
}
#runclubs.runclubs-editorial .section-head{
  margin-bottom:26px !important;
  padding-bottom:14px !important;
}
#runclubs.runclubs-editorial .section-head > p{
  margin-top:14px !important;
  margin-bottom:6px !important;
  white-space:normal !important;
  max-width:none !important;
}
.route-card .route-mini-map{
  transform:translateZ(0);
  transition:transform .46s ease, border-color .46s ease, box-shadow .46s ease, filter .46s ease;
}
.route-card:hover .route-mini-map,
.route-card:focus-within .route-mini-map,
.route-card.is-route-active .route-mini-map{
  transform:scale(1.018);
  border-color:rgba(215,255,0,.46) !important;
  box-shadow:inset 0 0 44px rgba(0,0,0,.58), 0 20px 54px rgba(215,255,0,.10) !important;
}
.route-preview-line,
.route-preview-line-shadow{
  transition:stroke-dashoffset .95s cubic-bezier(.22,.74,.22,1), opacity .25s ease, filter .45s ease;
  will-change:stroke-dashoffset;
}
.route-preview-line.is-ready,
.route-preview-line-shadow.is-ready{
  opacity:.95;
}
.route-preview-line.is-drawing,
.route-preview-line-shadow.is-drawing{
  stroke-dashoffset:0 !important;
}
@media(max-width:720px){
  .content-section .section-head{
    margin-bottom:14px !important;
  }
  .content-section .section-head > p{
    margin-top:8px !important;
    line-height:1.08 !important;
  }
  #events .section-head::after,
  #routes .section-head::after{
    margin-top:10px !important;
  }
  #runclubs.runclubs-editorial .section-head{
    margin-bottom:22px !important;
    padding-bottom:16px !important;
  }
  #runclubs.runclubs-editorial .section-head > p{
    margin-top:12px !important;
    margin-bottom:10px !important;
  }
  .club-day-filter{
    margin-top:10px !important;
  }
  .route-swipe-hint{
    margin:4px 0 14px !important;
  }
}


/* RUN CITY mobile logo fine tuning – 2026-05-30
   - Logo auf Mobile etwas kleiner
   - Header-Höhe reduziert, Quicknav bleibt bündig
*/
@media (max-width:720px){
  :root{ --rc-mobile-header-h: 92px !important; }
  .site-header{
    min-height:var(--rc-mobile-header-h) !important;
    height:var(--rc-mobile-header-h) !important;
    padding:calc(env(safe-area-inset-top, 0px) + 15px) 24px 15px !important;
  }
  .site-header .brand span{
    font-size:11px !important;
    letter-spacing:.30em !important;
  }
  .site-header .brand strong{
    font-size:32px !important;
    line-height:.90 !important;
    letter-spacing:-.055em !important;
  }
  .mobile-quick-nav{
    top:calc(var(--rc-mobile-header-h) - 1px) !important;
  }
  main#top{ padding-top:var(--rc-mobile-header-h) !important; }
}
@media (max-width:420px){
  :root{ --rc-mobile-header-h: 88px !important; }
  .site-header{
    padding-left:22px !important;
    padding-right:22px !important;
    padding-bottom:14px !important;
  }
  .site-header .brand span{ font-size:10px !important; }
  .site-header .brand strong{ font-size:30px !important; }
}


/* RUN CITY desktop nav polish – mobile quicknav look for desktop header */
@media (min-width:981px){
  .site-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
  }

  .site-header .main-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
  }

  .site-header .main-nav a{
    min-width:112px !important;
    height:42px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 18px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:rgba(255,255,255,.045) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:12px !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    line-height:1 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 26px rgba(0,0,0,.16) !important;
    transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
  }

  .site-header .main-nav a:hover,
  .site-header .main-nav a:focus-visible{
    background:rgba(219,255,0,.92) !important;
    border-color:rgba(219,255,0,.98) !important;
    color:#050505 !important;
    transform:translateY(-1px) !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.20), 0 0 24px rgba(219,255,0,.30), 0 14px 28px rgba(0,0,0,.22) !important;
    outline:none !important;
  }

  .site-header .main-nav .rc-faq-trigger{
    --rc-faq-size:42px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    margin-left:2px !important;
    font-size:18px !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.18), 0 0 18px rgba(219,255,0,.28) !important;
  }

  body.is-scrolled .site-header .main-nav a{
    background:rgba(255,255,255,.06) !important;
    border-color:rgba(255,255,255,.20) !important;
  }

  body.is-scrolled .site-header .main-nav a:hover,
  body.is-scrolled .site-header .main-nav a:focus-visible{
    background:rgba(219,255,0,.92) !important;
    border-color:rgba(219,255,0,.98) !important;
  }
}


/* RUN CITY hotfix: Desktop header stays pill-style but becomes semi-transparent while scrolling */
@media (min-width:981px){
  body.is-scrolled .site-header{
    background:rgba(0,0,0,.56) !important;
    border-bottom-color:rgba(255,255,255,.14) !important;
    backdrop-filter:blur(22px) saturate(1.12) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.12) !important;
    box-shadow:0 10px 34px rgba(0,0,0,.22) !important;
  }

  body:not(.is-scrolled) .site-header{
    background:rgba(0,0,0,.94) !important;
  }
}


/* RUN CITY share controls – subtle, native-share first */
.rc-share-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(0,0,0,.22);
  color:#fff;
  border-radius:999px;
  min-height:36px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:inherit;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.rc-share-btn:hover,
.rc-share-btn:focus-visible{
  background:#d7ff00;
  border-color:#d7ff00;
  color:#050505;
  outline:none;
  transform:translateY(-1px);
}
.rc-share-btn--card{
  position:absolute;
  top:18px;
  right:18px;
  z-index:6;
}
.spotify-card,
.route-card,
.club-card-cream{
  position:relative;
}
.spotify-card .rc-share-btn--card span:last-child,
.route-card .rc-share-btn--card span:last-child{
  display:none;
}
.spotify-card .rc-share-btn--card,
.route-card .rc-share-btn--card{
  width:38px;
  min-width:38px;
  padding:0;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#runclubs .club-card-footer{
  gap:10px;
  flex-wrap:wrap;
}
#runclubs .rc-share-btn--inline{
  min-height:34px;
  padding:0 12px;
  background:rgba(0,0,0,.08);
  color:#050505;
  border-color:rgba(0,0,0,.18);
}
#runclubs .rc-share-btn--inline:hover,
#runclubs .rc-share-btn--inline:focus-visible{
  background:#050505;
  border-color:#050505;
  color:#fff;
}

.rc-share-btn--club{
  position:absolute;
  top:18px;
  right:18px;
  width:38px;
  min-width:38px;
  padding:0;
  z-index:6;
}
.rc-share-btn--club span{display:none;}
.rc-share-btn--club svg{display:block;}

.rc-footer-love{
  margin-top:16px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:12px!important;
  color:rgba(255,255,255,.72);
  font-size:13px;
}
.rc-share-btn--footer{
  min-height:34px;
  padding:0 12px;
  background:transparent;
}
@media (max-width:720px){
  .rc-share-btn--card{
    top:14px;
    right:14px;
    width:36px;
    min-width:36px;
    min-height:36px;
  }
  #runclubs .rc-share-btn--inline span:last-child{
    display:none;
  }
  #runclubs .rc-share-btn--inline{
    width:34px;
    min-width:34px;
    padding:0;
  }
  .rc-footer-love{
    justify-content:flex-start;
    text-align:left;
  }
}


/* RUN CITY share + RunClub mobile refinement – 2026-05-30 */
.rc-share-icon{
  width:16px;
  height:16px;
  display:block;
  flex:0 0 auto;
}
.rc-share-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:100001;
  transform:translate(-50%,12px);
  opacity:0;
  pointer-events:none;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(5,5,5,.92);
  color:#fff;
  box-shadow:0 14px 40px rgba(0,0,0,.35);
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  transition:opacity .18s ease, transform .18s ease;
}
.rc-share-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}
#runclubs .club-card-media{
  display:none;
}
#runclubs .rc-share-btn--club{
  top:12px;
  right:12px;
  width:34px;
  min-width:34px;
  min-height:34px;
  padding:0;
  border:0!important;
  background:transparent!important;
  color:#050505!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#runclubs .rc-share-btn--club:hover,
#runclubs .rc-share-btn--club:focus-visible{
  background:rgba(0,0,0,.08)!important;
  border:0!important;
  color:#050505!important;
  transform:none;
  outline:none;
}
#runclubs .rc-share-btn--club span:last-child{
  display:none!important;
}
#runclubs .rc-share-btn--club svg{
  display:block!important;
  width:21px;
  height:21px;
}
@media (max-width:680px){
  #runclubs.runclubs-editorial{
    background:#f8f1df!important;
    color:#050505!important;
    border-top:1px solid rgba(0,0,0,.16)!important;
    border-bottom:1px solid rgba(0,0,0,.16)!important;
  }
  #runclubs.runclubs-editorial .section-head,
  #runclubs.runclubs-editorial .section-head h2,
  #runclubs.runclubs-editorial .section-head p,
  #runclubs.runclubs-editorial .eyebrow{
    color:#050505!important;
  }
  #runclubs .club-card-list{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  #runclubs .club-card-cream{
    min-height:112px!important;
    display:block!important;
    padding:15px 46px 15px 124px!important;
    background:#fff7e6!important;
    border:1px solid rgba(0,0,0,.18)!important;
    border-radius:10px!important;
    color:#050505!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  #runclubs .club-card-cream::before,
  #runclubs .club-card-cream::after{
    display:none!important;
  }
  #runclubs .club-card-media{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:108px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    background:#111;
    color:#fff7e6;
    font-family:Impact,'Arial Black',system-ui,sans-serif;
    font-size:34px;
    line-height:1;
    letter-spacing:-.08em;
  }
  #runclubs .club-card-media.has-image{
    background-image:linear-gradient(0deg, rgba(0,0,0,.08), rgba(0,0,0,.08)), var(--club-image);
    background-size:cover;
    background-position:center;
  }
  #runclubs .club-card-media.has-image span{
    display:none;
  }
  #runclubs .club-card-kicker{
    display:none!important;
  }
  #runclubs .club-card-cream h3{
    margin:0 0 9px!important;
    color:#050505!important;
    font-size:17px!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
    padding-right:0!important;
  }
  #runclubs .club-card-footer{
    padding:0!important;
    border-top:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    flex-wrap:wrap!important;
  }
  #runclubs .club-card-footer span{
    max-width:100%!important;
    color:#050505!important;
    border:1px solid rgba(0,0,0,.22)!important;
    background:rgba(255,255,255,.35)!important;
    padding:6px 8px!important;
    font-size:9.5px!important;
  }
  #runclubs .club-detail-button,
  #runclubs .club-detail-link{
    min-height:27px!important;
    padding:0 9px!important;
    border-radius:999px!important;
    font-size:9.5px!important;
    background:#050505!important;
    border-color:#050505!important;
    color:#fff!important;
  }
  #runclubs .rc-share-btn--club{
    top:10px!important;
    right:10px!important;
    width:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    color:#050505!important;
  }
  #runclubs .rc-share-btn--club svg{
    width:19px!important;
    height:19px!important;
  }
}


/* RUN CITY share + external links final polish */
.spotify-card,
.route-card,
#runclubs .club-card-cream{
  position:relative;
}

.rc-share-btn{
  cursor:pointer;
  pointer-events:auto;
  z-index:30;
}

.spotify-card .rc-share-btn--card,
.route-card .rc-share-btn--card,
#runclubs .rc-share-btn--club{
  position:absolute;
  top:14px;
  right:14px;
  z-index:35;
}

.external-open-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.external-open-link__icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
}

@media (min-width:681px){
  #runclubs.runclubs-editorial{
    background:#f8f1df!important;
    color:#050505!important;
    border-top:1px solid rgba(0,0,0,.16)!important;
    border-bottom:1px solid rgba(0,0,0,.16)!important;
  }
  #runclubs.runclubs-editorial .section-head,
  #runclubs.runclubs-editorial .section-head h2,
  #runclubs.runclubs-editorial .section-head p,
  #runclubs.runclubs-editorial .eyebrow{
    color:#050505!important;
  }
  #runclubs .club-card-list{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:22px!important;
  }
  #runclubs .club-card-cream{
    display:flex!important;
    flex-direction:column!important;
    min-height:345px!important;
    padding:0 0 18px!important;
    background:#fff7e6!important;
    border:1px solid rgba(0,0,0,.18)!important;
    border-radius:14px!important;
    color:#050505!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }
  #runclubs .club-card-cream::before,
  #runclubs .club-card-cream::after{
    display:none!important;
  }
  #runclubs .club-card-media{
    display:block!important;
    width:100%;
    height:176px;
    background:#111;
    color:#fff7e6;
    background-size:cover;
    background-position:center;
    position:relative;
  }
  #runclubs .club-card-media span{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:Impact,'Arial Black',system-ui,sans-serif;
    font-size:52px;
    letter-spacing:-.08em;
  }
  #runclubs .club-card-media.has-image{
    background-image:linear-gradient(0deg, rgba(0,0,0,.10), rgba(0,0,0,.10)), var(--club-image);
  }
  #runclubs .club-card-media.has-image span{
    display:none;
  }
  #runclubs .club-card-kicker{
    margin:18px 20px 8px!important;
    color:rgba(0,0,0,.56)!important;
    font-size:10px!important;
    letter-spacing:.14em!important;
  }
  #runclubs .club-card-cream h3{
    margin:0 20px 12px!important;
    color:#050505!important;
    font-size:28px!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    padding-right:34px!important;
  }
  #runclubs .club-card-footer{
    margin-top:auto!important;
    padding:0 20px!important;
    border-top:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  #runclubs .club-card-footer span{
    color:#050505!important;
    border:1px solid rgba(0,0,0,.18)!important;
    background:rgba(255,255,255,.42)!important;
    padding:7px 10px!important;
    font-size:11px!important;
    border-radius:999px!important;
  }
  #runclubs .club-detail-button,
  #runclubs .club-detail-link{
    min-height:34px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    font-size:10px!important;
    background:#050505!important;
    border-color:#050505!important;
    color:#fff!important;
  }
  #runclubs .rc-share-btn--club{
    width:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
    border:1px solid rgba(0,0,0,.14)!important;
    background:rgba(255,247,230,.92)!important;
    color:#050505!important;
    box-shadow:none!important;
  }
  #runclubs .rc-share-btn--club:hover,
  #runclubs .rc-share-btn--club:focus-visible{
    background:#fff7e6!important;
    color:#050505!important;
    transform:none!important;
    outline:none!important;
  }
  #runclubs .rc-share-btn--club span:last-child{ display:none!important; }
  #runclubs .rc-share-btn--club svg{ display:block!important; width:20px!important; height:20px!important; }
}

@media (max-width:680px){
  #runclubs .club-card-media{
    display:block!important;
  }
}


/* RUN CITY RunClub final refinements: fixed desktop chip row, mobile meta order, urban photo fallback */
#runclubs .club-card-kicker{
  display:none!important;
}

/* Event logo: no outline frame, just rounded image/logo edges */
.event-visual .event-logo{
  padding:0!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-radius:16px!important;
}

/* Light but visible image overlay */
#runclubs .club-card-media.has-image{
  background-image:
    linear-gradient(0deg, rgba(0,0,0,.16), rgba(0,0,0,.16)),
    var(--club-image)!important;
  background-size:cover!important;
  background-position:center!important;
}
.event-visual.has-image{
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28)),
    var(--event-image)!important;
}
.event-visual.has-image::after{
  background:linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.03))!important;
}

/* Day filter */
.club-day-filter{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:22px 0 24px;
}
.club-day-filter button{
  appearance:none;
  border:1px solid rgba(0,0,0,.18);
  background:rgba(255,255,255,.38);
  color:#050505;
  border-radius:999px;
  min-height:36px;
  padding:0 13px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
.club-day-filter button.is-active{
  background:#050505;
  color:#fff7e6;
  border-color:#050505;
}
.club-day-filter button:focus-visible{
  outline:2px solid rgba(0,0,0,.45);
  outline-offset:2px;
}
#runclubs .club-card-cream.is-hidden-by-day{
  display:none!important;
}

/* Chips */
#runclubs .club-day-chips{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
#runclubs .club-day-chips span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:23px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.16);
  background:rgba(255,255,255,.40);
  color:#050505;
  font-size:9.5px;
  font-weight:950;
  letter-spacing:.13em;
  line-height:1;
}

#runclubs .club-mobile-meta-label{
  display:none;
}

/* Desktop: image -> title -> fixed spacer -> day chips -> label/details.
   This keeps all chips in one consistent row across cards. */
@media (min-width:681px){
  #runclubs .club-card-cream{
    display:flex!important;
    flex-direction:column!important;
    min-height:360px!important;
  }
  #runclubs .club-card-media{
    height:186px!important;
    flex:0 0 186px!important;
  }
  #runclubs .club-card-media.has-image{
    filter:saturate(1.04) contrast(1.04)!important;
  }
  #runclubs .club-card-cream h3{
    margin:22px 20px 0!important;
    min-height:58px!important;
    display:flex!important;
    align-items:flex-start!important;
    color:#050505!important;
  }
  #runclubs .club-day-chips{
    margin:auto 20px 12px!important;
    min-height:25px!important;
  }
  #runclubs .club-card-footer{
    margin-top:0!important;
    padding:0 20px!important;
  }
}

/* Mobile: meta label above title, compact rhythm */
@media (max-width:680px){
  .club-day-filter{
    display:grid;
    grid-template-columns:repeat(5, minmax(0,1fr));
    gap:8px;
    margin:18px 0 18px;
    padding:0;
  }
  .club-day-filter button{
    width:100%;
    min-height:34px;
    padding:0 6px;
    font-size:10px;
  }
  .club-day-filter__today{
    grid-column:span 2;
  }
  #runclubs .club-mobile-meta-label{
    display:inline-flex!important;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:22px;
    margin:0 0 7px!important;
    padding:0 8px;
    border-radius:999px;
    border:1px solid rgba(0,0,0,.16);
    background:rgba(255,255,255,.45);
    color:#050505;
    font-size:9px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
    line-height:1;
  }
  #runclubs .club-card-footer > span{
    display:none!important;
  }
  #runclubs .club-card-cream h3{
    margin-top:0!important;
    margin-bottom:7px!important;
  }
  #runclubs .club-day-chips{
    margin:0 0 9px!important;
    gap:5px!important;
  }
  #runclubs .club-day-chips span{
    min-height:21px!important;
    padding:0 7px!important;
    font-size:9px!important;
    background:rgba(255,255,255,.45)!important;
  }
}


.route-card.rc-deeplink-target{
    animation: rcRouteDeepPulse 1.35s ease 1;
    box-shadow: 0 0 0 2px rgba(213,255,0,.95), 0 0 38px rgba(213,255,0,.38), var(--card-shadow, none);
  }
  @keyframes rcRouteDeepPulse{
    0%{ transform: scale(.985); }
    45%{ transform: scale(1.01); }
    100%{ transform: scale(1); }
  }


/* RUN CITY final fixes: Event-Logo-Rahmen + Route-Draw stabil */
.event-visual .event-logo{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  z-index:3 !important;
  width:auto !important;
  height:auto !important;
  max-width:min(38%, 132px) !important;
  max-height:58px !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:10px 12px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(5,8,2,.62) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 14px 32px rgba(0,0,0,.34) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.44)) !important;
}
@media(max-width:720px){
  .event-visual .event-logo{
    left:14px !important;
    top:14px !important;
    max-width:120px !important;
    max-height:50px !important;
    padding:8px 10px !important;
    border-radius:16px !important;
  }
}
.route-preview-line,
.route-preview-line-shadow{
  stroke-dasharray:var(--rc-route-draw-length, 100) !important;
  stroke-dashoffset:var(--rc-route-draw-length, 100) !important;
  transition:stroke-dashoffset 1.05s cubic-bezier(.22,.74,.22,1), opacity .28s ease, filter .45s ease !important;
}
.route-card.is-route-drawing .route-preview-line,
.route-card.is-route-drawing .route-preview-line-shadow{
  stroke-dashoffset:0 !important;
}


/* RUN CITY precise fix: event logos, route draw, footer cleanup */
.event-visual .event-logo{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  z-index:5 !important;
  display:block !important;
  box-sizing:border-box !important;
  width:132px !important;
  height:64px !important;
  max-width:none !important;
  max-height:none !important;
  padding:10px 12px !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.34) !important;
  background:rgba(5,8,2,.74) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 14px 34px rgba(0,0,0,.38) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  filter:none !important;
}
.spotify-card.is-featured .event-visual .event-logo{
  width:148px !important;
  height:70px !important;
}
@media(max-width:720px){
  .event-visual .event-logo,
  .spotify-card.is-featured .event-visual .event-logo{
    left:14px !important;
    top:14px !important;
    width:118px !important;
    height:56px !important;
    padding:8px 10px !important;
    border-radius:16px !important;
  }
}

.route-card .route-preview-line,
.route-card .route-preview-line-shadow{
  stroke-dasharray:100 !important;
  stroke-dashoffset:100 !important;
  transition:stroke-dashoffset 1.05s cubic-bezier(.22,.74,.22,1), opacity .22s ease, filter .35s ease !important;
}
.route-card:hover .route-preview-line,
.route-card:hover .route-preview-line-shadow,
.route-card:focus-within .route-preview-line,
.route-card:focus-within .route-preview-line-shadow,
.route-card.is-route-active .route-preview-line,
.route-card.is-route-active .route-preview-line-shadow,
.route-card.is-route-drawing .route-preview-line,
.route-card.is-route-drawing .route-preview-line-shadow{
  stroke-dashoffset:0 !important;
}
.route-card:hover,
.route-card.is-route-active{
  border-color:rgba(215,255,0,.34) !important;
  box-shadow:0 28px 76px rgba(0,0,0,.42), 0 0 0 1px rgba(215,255,0,.18), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.site-footer{
  margin-top:clamp(56px, 7vw, 96px) !important;
  padding:34px clamp(22px, 5vw, 72px) 40px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.24)) !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:18px !important;
  color:rgba(255,255,255,.76) !important;
}
.site-footer p{
  margin:0 !important;
}
.site-footer p:first-child{
  justify-self:start !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:#fff !important;
}
.site-footer p:nth-child(2){
  justify-self:center !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px 14px !important;
  color:transparent !important;
}
.site-footer p:nth-child(2) a{
  color:rgba(255,255,255,.72) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  padding:9px 13px !important;
  background:rgba(255,255,255,.035) !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}
.site-footer p:nth-child(2) a:hover{
  color:#d7ff00 !important;
  border-color:rgba(215,255,0,.34) !important;
  background:rgba(215,255,0,.06) !important;
}
.site-footer .rc-footer-love{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  color:rgba(255,255,255,.58) !important;
  font-size:13px !important;
}
.site-footer .rc-share-btn--footer{
  margin:0 !important;
  flex:0 0 auto !important;
}
@media(max-width:900px){
  .site-footer{
    grid-template-columns:1fr !important;
    justify-items:start !important;
    padding-bottom:100px !important;
  }
  .site-footer p:first-child,
  .site-footer p:nth-child(2),
  .site-footer .rc-footer-love{
    justify-self:start !important;
    justify-content:flex-start !important;
  }
}


/* RUN CITY final hotfix: logo frame, route draw, cleaner footer */
.event-visual{position:relative!important;overflow:hidden!important;}
.event-visual .event-logo,
.spotify-card.is-featured .event-visual .event-logo{
  position:absolute!important;
  top:16px!important;
  left:16px!important;
  z-index:8!important;
  display:block!important;
  box-sizing:border-box!important;
  width:128px!important;
  height:62px!important;
  max-width:42%!important;
  max-height:72px!important;
  padding:10px 12px!important;
  object-fit:scale-down!important;
  object-position:center center!important;
  border:1px solid rgba(255,255,255,.36)!important;
  border-radius:18px!important;
  background:rgba(5,8,2,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.40)!important;
  filter:none!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.spotify-card.is-featured .event-visual .event-logo{width:140px!important;height:66px!important;max-width:38%!important;}
@media(max-width:720px){
  .event-visual .event-logo,
  .spotify-card.is-featured .event-visual .event-logo{
    top:14px!important;left:14px!important;width:112px!important;height:54px!important;max-width:46%!important;padding:8px 10px!important;border-radius:16px!important;
  }
}

@keyframes rcRouteLineDrawFinal{from{stroke-dashoffset:100;}to{stroke-dashoffset:0;}}
.route-card .route-preview-line,
.route-card .route-preview-line-shadow{
  stroke-dasharray:100!important;
  stroke-dashoffset:100!important;
  animation:none!important;
  transition:opacity .22s ease,filter .35s ease!important;
}
.route-card:hover .route-preview-line,
.route-card:hover .route-preview-line-shadow,
.route-card:focus-within .route-preview-line,
.route-card:focus-within .route-preview-line-shadow,
.route-card.is-route-active .route-preview-line,
.route-card.is-route-active .route-preview-line-shadow,
.route-card.is-route-animating .route-preview-line,
.route-card.is-route-animating .route-preview-line-shadow{
  animation:rcRouteLineDrawFinal 1.12s cubic-bezier(.22,.74,.22,1) forwards!important;
}
.route-card:hover,
.route-card.is-route-active,
.route-card.is-route-animating{
  border-color:rgba(215,255,0,.34)!important;
  box-shadow:0 28px 76px rgba(0,0,0,.42),0 0 0 1px rgba(215,255,0,.18),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.route-card:hover .route-mini-map,
.route-card:focus-within .route-mini-map,
.route-card.is-route-active .route-mini-map,
.route-card.is-route-animating .route-mini-map{
  transform:scale(1.018)!important;
  border-color:rgba(215,255,0,.28)!important;
}
.route-mini-map{transition:transform .45s ease,border-color .35s ease!important;}

.site-footer{
  margin-top:clamp(56px,7vw,96px)!important;
  padding:34px clamp(22px,5vw,72px) 38px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.22))!important;
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr)!important;
  align-items:center!important;
  gap:18px!important;
}
.site-footer p{margin:0!important;}
.site-footer p:first-child{justify-self:start!important;font-weight:950!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#fff!important;}
.site-footer p:nth-child(2){justify-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px 10px!important;flex-wrap:wrap!important;max-width:680px!important;text-align:center!important;}
.site-footer p:nth-child(2) a{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:0 12px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.045)!important;color:rgba(255,255,255,.82)!important;text-decoration:none!important;font-size:11px!important;font-weight:850!important;letter-spacing:.07em!important;text-transform:uppercase!important;}
.site-footer p:nth-child(2) a:hover{border-color:rgba(215,255,0,.36)!important;color:#d7ff00!important;}
.site-footer .rc-footer-love{justify-self:end!important;text-align:right!important;color:rgba(255,255,255,.58)!important;font-size:12px!important;}
@media(max-width:820px){
  .site-footer{grid-template-columns:1fr!important;text-align:left!important;align-items:start!important;}
  .site-footer p:first-child,.site-footer p:nth-child(2),.site-footer .rc-footer-love{justify-self:start!important;text-align:left!important;justify-content:flex-start!important;}
}


/* Event-Logos: kleine Logo-Box oben links, mit Outline, ohne Cropping */
.event-visual{position:relative!important;overflow:hidden!important;}
.event-visual img.event-logo,
.spotify-card .event-visual img.event-logo,
.spotify-card.is-featured .event-visual img.event-logo{
  position:absolute!important;
  top:16px!important;
  left:16px!important;
  z-index:20!important;
  display:block!important;
  width:126px!important;
  height:58px!important;
  max-width:42%!important;
  max-height:58px!important;
  min-width:0!important;
  min-height:0!important;
  padding:8px 10px!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center center!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:16px!important;
  background:rgba(4,6,3,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 30px rgba(0,0,0,.42)!important;
  filter:none!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
@media(max-width:720px){
  .event-visual img.event-logo,
  .spotify-card .event-visual img.event-logo,
  .spotify-card.is-featured .event-visual img.event-logo{
    top:14px!important;
    left:14px!important;
    width:112px!important;
    height:52px!important;
    max-width:48%!important;
    max-height:52px!important;
    padding:7px 9px!important;
    border-radius:15px!important;
  }
}

/* Routen: Grundzustand unsichtbar, JS zeichnet jede SVG-Linie neu */
.route-card .route-preview-line,
.route-card .route-preview-line-shadow{
  stroke-dasharray:100!important;
  stroke-dashoffset:100!important;
  transition:none!important;
}
.route-card.rc-route-draw-active{
  border-color:rgba(215,255,0,.38)!important;
  box-shadow:0 32px 86px rgba(0,0,0,.48),0 0 0 1px rgba(215,255,0,.18),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.route-card.rc-route-draw-active .route-mini-map{
  transform:scale(1.018)!important;
  border-color:rgba(215,255,0,.34)!important;
}
.route-mini-map{transition:transform .42s ease,border-color .32s ease!important;}


/* RUN CITY PATCH 2026-05-31: dynamic event-logo frame + smooth route draw */
.event-visual .event-logo,
.spotify-card.is-featured .event-visual .event-logo{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  z-index:8 !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:112px !important;
  max-height:44px !important;
  box-sizing:content-box !important;
  padding:7px 9px !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  outline:1px solid rgba(215,255,0,.10) !important;
  outline-offset:0 !important;
  background:rgba(5,8,2,.42) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 10px 24px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(9px) !important;
  -webkit-backdrop-filter:blur(9px) !important;
  filter:none !important;
}
@media(max-width:720px){
  .event-visual .event-logo,
  .spotify-card.is-featured .event-visual .event-logo{
    left:14px !important;
    top:14px !important;
    max-width:98px !important;
    max-height:38px !important;
    padding:6px 8px !important;
    border-radius:13px !important;
  }
}

.route-card .route-preview-line,
.route-card .route-preview-line-shadow{
  stroke-dasharray:100 !important;
  stroke-dashoffset:100 !important;
  transition:stroke-dashoffset 1.25s cubic-bezier(.18,.76,.18,1), opacity .24s ease, filter .36s ease !important;
  will-change:stroke-dashoffset !important;
}
.route-card:hover:not(.is-route-drawing) .route-preview-line,
.route-card:hover:not(.is-route-drawing) .route-preview-line-shadow,
.route-card:focus-within:not(.is-route-drawing) .route-preview-line,
.route-card:focus-within:not(.is-route-drawing) .route-preview-line-shadow,
.route-card.is-route-active:not(.is-route-drawing) .route-preview-line,
.route-card.is-route-active:not(.is-route-drawing) .route-preview-line-shadow{
  stroke-dashoffset:100 !important;
}
.route-card.is-route-drawing .route-preview-line,
.route-card.is-route-drawing .route-preview-line-shadow{
  stroke-dashoffset:0 !important;
}


/* Event-Logos: oben links, transparenter Outline-Rahmen, Box wächst nur so groß wie das Logo selbst */
.event-visual{
  position:relative !important;
  overflow:hidden !important;
}
.event-visual img.event-logo,
.spotify-card .event-visual img.event-logo,
.spotify-card.is-featured .event-visual img.event-logo{
  position:absolute !important;
  top:16px !important;
  left:16px !important;
  z-index:30 !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:min(34%, 116px) !important;
  max-height:50px !important;
  padding:6px 8px !important;
  box-sizing:content-box !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:13px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:rgba(6,8,4,.42) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  filter:none !important;
}
@media(max-width:720px){
  .event-visual img.event-logo,
  .spotify-card .event-visual img.event-logo,
  .spotify-card.is-featured .event-visual img.event-logo{
    top:13px !important;
    left:13px !important;
    max-width:min(38%, 104px) !important;
    max-height:44px !important;
    padding:5px 7px !important;
    border-radius:12px !important;
    background:rgba(6,8,4,.46) !important;
    border-color:rgba(255,255,255,.18) !important;
  }
}

/* Route-Draw: Hover darf NICHT direkt auf 0 springen; nur die JS-Klasse zeichnet smooth */
.route-card .route-preview-line,
.route-card .route-preview-line-shadow,
.route-card:hover .route-preview-line,
.route-card:hover .route-preview-line-shadow,
.route-card:focus-within .route-preview-line,
.route-card:focus-within .route-preview-line-shadow,
.route-card.is-route-active:not(.rc-route-smooth-drawing) .route-preview-line,
.route-card.is-route-active:not(.rc-route-smooth-drawing) .route-preview-line-shadow,
.route-card.is-route-drawing:not(.rc-route-smooth-drawing) .route-preview-line,
.route-card.is-route-drawing:not(.rc-route-smooth-drawing) .route-preview-line-shadow{
  stroke-dasharray:var(--rc-route-line-length, 100) !important;
  stroke-dashoffset:var(--rc-route-line-length, 100) !important;
  transition:none !important;
}
.route-card.rc-route-smooth-drawing .route-preview-line,
.route-card.rc-route-smooth-drawing .route-preview-line-shadow,
.route-card.rc-route-smooth-drawing:hover .route-preview-line,
.route-card.rc-route-smooth-drawing:hover .route-preview-line-shadow,
.route-card.rc-route-smooth-drawing:focus-within .route-preview-line,
.route-card.rc-route-smooth-drawing:focus-within .route-preview-line-shadow{
  stroke-dashoffset:0 !important;
  transition:stroke-dashoffset 1150ms cubic-bezier(.22,.74,.22,1), opacity .25s ease, filter .35s ease !important;
}
.route-card.rc-route-smooth-drawing,
.route-card:hover{
  border-color:rgba(215,255,0,.34) !important;
  box-shadow:0 28px 76px rgba(0,0,0,.42), 0 0 0 1px rgba(215,255,0,.16), inset 0 1px 0 rgba(255,255,255,.10) !important;
}


/* Bestehende Hover-Regeln dürfen die SVG-Linie nicht mehr sofort auf 0 setzen. */
.route-card .route-preview-line,
.route-card .route-preview-line-shadow,
.route-card:hover .route-preview-line,
.route-card:hover .route-preview-line-shadow,
.route-card:focus-within .route-preview-line,
.route-card:focus-within .route-preview-line-shadow,
.route-card.is-route-active .route-preview-line,
.route-card.is-route-active .route-preview-line-shadow,
.route-card.is-route-drawing .route-preview-line,
.route-card.is-route-drawing .route-preview-line-shadow,
.route-card.is-route-animating .route-preview-line,
.route-card.is-route-animating .route-preview-line-shadow,
.route-card.rc-route-smooth-drawing .route-preview-line,
.route-card.rc-route-smooth-drawing .route-preview-line-shadow{
  stroke-dasharray:var(--rc-v2-route-length, 100) !important;
  stroke-dashoffset:var(--rc-v2-route-offset, var(--rc-v2-route-length, 100)) !important;
  transition:none !important;
}
.route-card.rc-route-draw-visible .route-preview-line,
.route-card.rc-route-draw-visible .route-preview-line-shadow{
  filter:drop-shadow(0 0 8px rgba(215,255,0,.38));
}


/* V4: Schattenroute bleibt sichtbar; nur die helle Route wird langsam gezeichnet. */
.route-card .route-preview-line-shadow,
.route-card:hover .route-preview-line-shadow,
.route-card:focus-within .route-preview-line-shadow,
.route-card.is-route-active .route-preview-line-shadow,
.route-card.is-route-drawing .route-preview-line-shadow,
.route-card.rc-route-smooth-drawing .route-preview-line-shadow,
.route-card.rc-route-draw-visible .route-preview-line-shadow{
  stroke-dasharray:none !important;
  stroke-dashoffset:0 !important;
  opacity:.68 !important;
  filter:blur(3px) drop-shadow(0 0 10px rgba(215,255,0,.18)) !important;
  transition:none !important;
}
.route-card .route-preview-line,
.route-card:hover .route-preview-line,
.route-card:focus-within .route-preview-line,
.route-card.is-route-active .route-preview-line,
.route-card.is-route-drawing .route-preview-line,
.route-card.rc-route-smooth-drawing .route-preview-line,
.route-card.rc-route-draw-visible .route-preview-line{
  stroke-dasharray:100 !important;
  stroke-dashoffset:100 !important;
  opacity:.18 !important;
  transition:none !important;
  filter:drop-shadow(0 0 5px rgba(215,255,0,.18)) !important;
}
.route-card.rc-v4-route-glow,
.route-card.rc-v4-route-drawing,
.route-card:hover{
  border-color:rgba(215,255,0,.32) !important;
  box-shadow:0 28px 76px rgba(0,0,0,.42), 0 0 0 1px rgba(215,255,0,.15), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.route-card.rc-v4-route-drawn .route-preview-line{
  opacity:1 !important;
  filter:drop-shadow(0 0 12px rgba(215,255,0,.62)) !important;
}
.route-card.rc-v4-route-drawing .route-mini-map,
.route-card.rc-v4-route-glow .route-mini-map{
  border-color:rgba(215,255,0,.42) !important;
  box-shadow:inset 0 0 44px rgba(0,0,0,.58), 0 20px 54px rgba(215,255,0,.10) !important;
}


/* RUN CITY MICROFIX 2026-05-31-0412
   Gleiche Breite für mobile Swipe-Hinweise, ohne Route-Animation/Analytics/Logos anzufassen. */
@media (max-width:720px){
  .route-swipe-hint,
  #events .section-head::after{
    min-width: 188px !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}


/* RUN CITY footer cleanup + route swipe hint width */
@media (max-width:720px){
  #routes .route-swipe-hint,
  .route-swipe-hint,
  #routes .section-head::after{
    width: 188px !important;
    min-width: 188px !important;
    max-width: 188px !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    flex: 0 0 188px !important;
  }
}

.site-footer.rc-footer-final{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  padding:28px clamp(20px,4vw,56px) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  background:#050505 !important;
  color:rgba(255,255,255,.76) !important;
}
.site-footer.rc-footer-final .rc-footer-brand{
  flex:0 0 auto !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  white-space:nowrap !important;
}
.site-footer.rc-footer-final .rc-footer-nav,
.site-footer.rc-footer-final .rc-footer-community{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
}
.site-footer.rc-footer-final a,
.site-footer.rc-footer-final .rc-share-btn--footer{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:rgba(255,255,255,.78) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.095em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.site-footer.rc-footer-final a::after,
.site-footer.rc-footer-final .rc-share-btn--footer::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1px !important;
  background:currentColor !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:left center !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.site-footer.rc-footer-final a:hover,
.site-footer.rc-footer-final a:focus-visible,
.site-footer.rc-footer-final .rc-share-btn--footer:hover,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final a:hover::after,
.site-footer.rc-footer-final a:focus-visible::after,
.site-footer.rc-footer-final .rc-share-btn--footer:hover::after,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
.site-footer.rc-footer-final .rc-footer-report{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-footer-report-short{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-sep,
.site-footer.rc-footer-final .rc-footer-community-sep{
  color:rgba(255,255,255,.25) !important;
  font-size:11px !important;
}
.site-footer.rc-footer-final .rc-footer-heart{
  color:#ff3b30 !important;
  font-size:13px !important;
  line-height:1 !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  flex:0 1 auto !important;
  justify-content:flex-end !important;
  color:rgba(255,255,255,.58) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  white-space:nowrap !important;
}
.site-footer.rc-footer-final .rc-share-icon{
  width:13px !important;
  height:13px !important;
}
@media (min-width:721px){
  .site-footer.rc-footer-final .rc-footer-nav{
    flex:1 1 auto !important;
  }
}
@media (max-width:980px){
  .site-footer.rc-footer-final{
    gap:16px !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    white-space:normal !important;
  }
}
@media (max-width:720px){
  .site-footer.rc-footer-final{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:14px !important;
    padding:26px 18px 30px !important;
    text-align:left !important;
  }
  .site-footer.rc-footer-final .rc-footer-brand{
    width:100% !important;
    font-size:12px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
  }
  .site-footer.rc-footer-final .rc-footer-report{
    flex:0 0 auto !important;
    display:inline-flex !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:0 15px !important;
    border-radius:999px !important;
    background:#d7ff00 !important;
    color:#050505 !important;
    font-size:11px !important;
  }
  .site-footer.rc-footer-final .rc-footer-report::after{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-full{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-short{
    display:inline !important;
  }
  .site-footer.rc-footer-final .rc-footer-report + .rc-footer-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-imprint,
  .site-footer.rc-footer-final .rc-footer-imprint-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    white-space:normal !important;
    font-size:11px !important;
  }
}


/* RUN CITY DESKTOP LANGUAGE BUTTON MICROFIX 2026-05-31-0518
   EN/DE oben in der Desktop-Logo-Leiste bewusst kleiner als die Hauptnavigation. */
@media (min-width:981px){
  .site-header .main-nav > a.lang-switch{
    min-width:28px !important;
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    padding:0 !important;
    margin-left:4px !important;
    border-width:1px !important;
    font-size:9px !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.10), 0 0 10px rgba(219,255,0,.12) !important;
  }
}


/* RUN CITY MICROFIX 2026-05-31-0632: FAQ/help button exactly matches EN/DE size */
@media (min-width:721px){
  .site-header .main-nav .rc-faq-trigger,
  .main-nav .rc-faq-trigger{
    --rc-faq-size:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    padding:0 !important;
    margin-left:2px !important;
    border-radius:999px !important;
    font-size:13px !important;
    line-height:1 !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.12), 0 0 10px rgba(219,255,0,.14) !important;
  }
}
@media (min-width:981px){
  .site-header .main-nav .rc-faq-trigger,
  .main-nav .rc-faq-trigger{
    --rc-faq-size:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    padding:0 !important;
    margin-left:4px !important;
    font-size:12px !important;
    line-height:1 !important;
    box-shadow:0 0 0 1px rgba(219,255,0,.10), 0 0 10px rgba(219,255,0,.12) !important;
  }
}


/* RUN CITY Live Route Phase 2 – compact overlay, power mode, finish/share, button unification */
.route-map-modal .route-map-actions .button,
.route-map-modal .route-map-actions button,
.route-map-modal .route-map-actions a{
  min-height:46px !important;
  height:46px !important;
  padding:0 17px !important;
  border-radius:999px !important;
  font-family:inherit !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.route-map-power{
  border:1px solid rgba(255,255,255,.24) !important;
  background:rgba(255,255,255,.06) !important;
  color:rgba(255,255,255,.82) !important;
  cursor:pointer;
}
.route-map-power.is-active{
  border-color:rgba(215,255,0,.72) !important;
  background:rgba(215,255,0,.14) !important;
  color:#d7ff00 !important;
}
.route-live-panel{
  left:10px !important;
  right:10px !important;
  top:10px !important;
  bottom:auto !important;
  max-width:none !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:6px !important;
}
.route-live-pill,
.route-live-hint{
  pointer-events:none;
  width:auto;
  max-width:min(100%, 620px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(4,4,4,.54);
  color:#fff;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  padding:7px 10px;
  font-size:11px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:.015em;
}
.route-live-hint{
  color:#d7ff00;
  background:rgba(215,255,0,.10);
  border-color:rgba(215,255,0,.20);
}
.route-live-panel.is-warn .route-live-pill{
  border-color:rgba(255,92,92,.32);
}
.route-live-panel.is-ok .route-live-pill{
  border-color:rgba(215,255,0,.28);
}
.route-live-finish{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  z-index:730;
  width:min(310px, calc(100% - 42px));
  border:1px solid rgba(215,255,0,.35);
  border-radius:22px;
  background:rgba(5,5,5,.78);
  color:#fff;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 20px 60px rgba(0,0,0,.42), 0 0 42px rgba(215,255,0,.16);
  padding:18px 16px 16px;
  text-align:center;
  overflow:hidden;
  isolation:isolate;
}
.route-live-finish::before{
  content:"";
  position:absolute;
  inset:-35%;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 50%, rgba(215,255,0,.34), transparent 0 6%, transparent 7%),
    radial-gradient(circle at 30% 42%, rgba(255,255,255,.16), transparent 0 4%, transparent 5%),
    radial-gradient(circle at 70% 58%, rgba(215,255,0,.18), transparent 0 5%, transparent 6%);
  opacity:0;
  transform:scale(.62) rotate(0deg);
  animation:rcCityPulse .95s ease-out .05s both;
}
.route-live-finish::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:260px;
  height:260px;
  z-index:-1;
  border-radius:999px;
  border:1px solid rgba(215,255,0,.34);
  transform:translate(-50%, -50%) scale(.3);
  opacity:0;
  animation:rcRouteRing 1.25s ease-out .12s both;
}
.route-live-burst{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.route-live-burst i{
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:34px;
  border-radius:999px;
  background:linear-gradient(to top, transparent, #d7ff00 58%, #fff);
  transform-origin:50% 100%;
  opacity:0;
  filter:drop-shadow(0 0 8px rgba(215,255,0,.78));
  animation:rcSpark .9s cubic-bezier(.15,.8,.25,1) .18s both;
}
.route-live-burst i:nth-child(1){ transform:translate(-50%, -50%) rotate(0deg) translateY(-18px); }
.route-live-burst i:nth-child(2){ transform:translate(-50%, -50%) rotate(45deg) translateY(-18px); animation-delay:.22s; }
.route-live-burst i:nth-child(3){ transform:translate(-50%, -50%) rotate(90deg) translateY(-18px); animation-delay:.16s; }
.route-live-burst i:nth-child(4){ transform:translate(-50%, -50%) rotate(135deg) translateY(-18px); animation-delay:.24s; }
.route-live-burst i:nth-child(5){ transform:translate(-50%, -50%) rotate(180deg) translateY(-18px); animation-delay:.2s; }
.route-live-burst i:nth-child(6){ transform:translate(-50%, -50%) rotate(225deg) translateY(-18px); animation-delay:.26s; }
.route-live-burst i:nth-child(7){ transform:translate(-50%, -50%) rotate(270deg) translateY(-18px); animation-delay:.18s; }
.route-live-burst i:nth-child(8){ transform:translate(-50%, -50%) rotate(315deg) translateY(-18px); animation-delay:.28s; }
@keyframes rcCityPulse{
  0%{ opacity:0; transform:scale(.62) rotate(0deg); }
  38%{ opacity:1; }
  100%{ opacity:0; transform:scale(1.18) rotate(10deg); }
}
@keyframes rcRouteRing{
  0%{ opacity:0; transform:translate(-50%, -50%) scale(.28); }
  22%{ opacity:.8; }
  100%{ opacity:0; transform:translate(-50%, -50%) scale(1.1); }
}
@keyframes rcSpark{
  0%{ opacity:0; margin-top:0; height:12px; }
  18%{ opacity:1; }
  100%{ opacity:0; margin-top:-78px; height:42px; }
}
@media (prefers-reduced-motion: reduce){
  .route-live-finish::before,
  .route-live-finish::after,
  .route-live-burst i{
    animation:none!important;
  }
}
.route-live-finish strong{
  display:block;
  font-size:20px;
  line-height:1.05;
  letter-spacing:-.04em;
  margin-bottom:7px;
}
.route-live-finish span{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.35;
  margin-bottom:12px;
}
.route-live-share{
  min-height:38px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.9) !important;
  color:#050505 !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.route-live-highfive{
  appearance:none;
  border:0;
  border-radius:999px;
  background:#d7ff00;
  color:#050505;
  min-height:44px;
  padding:0 24px;
  margin:2px auto 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(215,255,0,.20);
  cursor:pointer;
}
.route-live-highfive:disabled{
  opacity:.78;
  cursor:default;
}
.route-live-finish.is-confirmed{
  border-color:rgba(215,255,0,.54);
  box-shadow:0 22px 70px rgba(0,0,0,.46), 0 0 52px rgba(215,255,0,.24);
}
.route-gpx-hint{
  margin:10px 0 0;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.35;
  font-weight:750;
}
.route-gpx-hint strong{
  color:#d7ff00;
  letter-spacing:.08em;
}
@media(max-width:720px){
  .route-map-modal .route-map-actions .button,
  .route-map-modal .route-map-actions button,
  .route-map-modal .route-map-actions a{
    width:100% !important;
    height:44px !important;
    min-height:44px !important;
    font-size:11px !important;
  }
  .route-live-panel{
    left:8px !important;
    right:8px !important;
    top:8px !important;
    gap:5px !important;
  }
  .route-live-pill,
  .route-live-hint{
    max-width:calc(100vw - 52px);
    padding:6px 9px;
    font-size:10.5px;
  }
  .route-live-finish{
    width:min(286px, calc(100% - 34px));
    padding:14px;
  }
}

/* RUN CITY Live Route Phase 2.1 – clearer direction pill + GPX action buttons */
.route-live-hint{
  background:#d7ff00 !important;
  border-color:#d7ff00 !important;
  color:#000 !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.18), 0 10px 28px rgba(215,255,0,.24) !important;
  font-weight:950 !important;
}
.route-live-panel.is-visible .route-live-hint::first-letter{
  font-size:1.18em;
}
.route-gpx-downloads{
  margin:12px 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.route-gpx-downloads[hidden]{
  display:none !important;
}
.route-gpx-label{
  color:rgba(255,255,255,.70);
  font-size:11px;
  line-height:1.25;
  font-weight:800;
}
.route-gpx-label strong{
  color:#d7ff00;
  letter-spacing:.08em;
}
.route-gpx-buttons{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.route-gpx-btn{
  width:58px;
  height:58px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  border:1px solid rgba(215,255,0,.42);
  background:rgba(215,255,0,.10);
  color:#d7ff00;
  font-size:9px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.045em;
  text-transform:uppercase;
  box-shadow:none;
}
.route-gpx-btn:hover,
.route-gpx-btn:focus-visible{
  background:#d7ff00;
  color:#000;
  outline:none;
}
@media(max-width:720px){
  .route-gpx-downloads{
    justify-content:center;
    text-align:center;
    gap:9px;
  }
  .route-gpx-label{
    width:100%;
  }
  .route-gpx-buttons{
    justify-content:center;
  }
  .route-gpx-btn{
    width:54px;
    height:54px;
    font-size:8.5px;
  }
}


/* RUN CITY restore: 01 Routes / 02 Clubs / 03 Events + calmer route tool + brighter event cards. */
@media (max-width:720px){
  .hero-title-mobile .hero-mobile-outline{
    color:#000 !important;
    -webkit-text-fill-color:#000 !important;
    -webkit-text-stroke:1.55px rgba(255,255,255,.98) !important;
    text-stroke:1.55px rgba(255,255,255,.98) !important;
    paint-order:stroke fill !important;
    text-shadow:none !important;
  }
}
.rc-hero-visual::before{
  top:0 !important;
  right:0 !important;
  height:100% !important;
  width:min(58vw, 760px) !important;
  border-radius:0 !important;
  opacity:.68 !important;
  background-image:
    linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.72) 24%, rgba(0,0,0,.24) 56%, rgba(0,0,0,0) 100%),
    var(--rc-hero-image) !important;
  background-size:cover !important;
  background-position:center center !important;
  filter:saturate(1.14) contrast(1.03) brightness(1.04) !important;
  box-shadow:none !important;
  animation:none !important;
  transform:none !important;
}
.rc-hero-visual::after{
  background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.78) 38%, rgba(0,0,0,.18) 72%, rgba(0,0,0,0) 100%) !important;
}
@media (max-width:720px){
  .rc-hero-visual::before{
    top:0 !important;
    right:0 !important;
    width:92vw !important;
    height:100% !important;
    opacity:.54 !important;
    background-position:center top !important;
    background-image:
      linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.70) 32%, rgba(0,0,0,.18) 68%, rgba(0,0,0,0) 100%),
      var(--rc-hero-image) !important;
  }
  .rc-hero-visual::after{
    background:linear-gradient(90deg, #000 0%, rgba(0,0,0,.76) 46%, rgba(0,0,0,.24) 100%) !important;
  }
}
#events .spotify-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.073), rgba(255,255,255,.035)),
    rgba(255,255,255,.033) !important;
  border-color:rgba(255,255,255,.25) !important;
  box-shadow:0 26px 72px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
#events .spotify-card:hover,
#events .spotify-card:focus-within{
  background:
    linear-gradient(180deg, rgba(255,255,255,.088), rgba(255,255,255,.044)),
    rgba(255,255,255,.042) !important;
  border-color:rgba(255,255,255,.30) !important;
}
.route-finder.route-finder--tool{
  align-items:start !important;
  background:#eee6d3 !important;
  color:#050505 !important;
  border:1px solid rgba(0,0,0,.14) !important;
  box-shadow:0 22px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.route-finder.route-finder--tool::before,
.route-finder.route-finder--tool::after{
  content:none !important;
  display:none !important;
}
.route-finder-intro{ min-width:0; }
.rc-route-tool-steps{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) auto !important;
  gap:14px !important;
  align-items:end !important;
}
.rc-route-tool-step{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
}
.route-finder.route-finder--tool .eyebrow{
  color:#050505 !important;
  opacity:.62 !important;
}
.route-finder.route-finder--tool h3,
.route-finder.route-finder--tool p,
.route-finder.route-finder--tool .rc-route-tool-label,
.route-finder.route-finder--tool .route-finder-status{
  color:#050505 !important;
}
.route-finder.route-finder--tool .route-finder-intro p:not(.eyebrow),
.route-finder.route-finder--tool .route-finder-status{
  color:rgba(5,5,5,.66) !important;
}
.route-finder.route-finder--tool .rc-route-tool-label{
  display:block !important;
  white-space:nowrap !important;
  opacity:.78 !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin:0 0 9px !important;
  line-height:1 !important;
}
.route-finder.route-finder--tool select{
  background:rgba(255,255,255,.58) !important;
  color:#050505 !important;
  border-color:rgba(0,0,0,.18) !important;
}
.route-finder.route-finder--tool #useLocationBtn{
  min-height:52px !important;
  height:52px !important;
  padding:0 26px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  background:#050505 !important;
  color:#fff !important;
  border:1px solid rgba(0,0,0,.92) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.route-finder.route-finder--tool #useLocationBtn:hover,
.route-finder.route-finder--tool #useLocationBtn:focus-visible{
  background:#111 !important;
  color:#dbff00 !important;
  border-color:#050505 !important;
  outline:none !important;
}
.route-finder.route-finder--tool .route-location-reset{
  min-height:44px !important;
  padding:0 18px !important;
  background:rgba(38,38,38,.92) !important;
  color:#fff !important;
  border:1px solid rgba(0,0,0,.42) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.16) !important;
  opacity:1 !important;
}
.route-finder.route-finder--tool .route-location-reset:hover,
.route-finder.route-finder--tool .route-location-reset:focus-visible{
  background:#1b1b1b !important;
  color:#dbff00 !important;
  outline:none !important;
}
@media (min-width:981px){
  #runclubs.runclubs-editorial .section-head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(280px,460px) !important;
    align-items:end !important;
    justify-items:start !important;
    text-align:left !important;
  }
  #runclubs.runclubs-editorial .section-head > div,
  #runclubs.runclubs-editorial .section-head h2,
  #runclubs.runclubs-editorial .section-head .eyebrow,
  #runclubs.runclubs-editorial .section-head p{
    text-align:left !important;
    justify-self:start !important;
    margin-left:0 !important;
    margin-right:auto !important;
  }
}
@media (max-width:720px){
  .route-finder.route-finder--tool{
    background:#f8f1df !important;
    border-color:rgba(0,0,0,.16) !important;
    display:block !important;
    padding:22px 20px !important;
    border-radius:26px !important;
  }
  .route-finder.route-finder--tool .route-finder-intro{ margin-bottom:18px !important; }
  .route-finder.route-finder--tool .route-finder-intro h3{
    color:#050505 !important;
    font-size:clamp(29px, 7.9vw, 42px) !important;
    line-height:1.02 !important;
    margin:0 0 8px !important;
    letter-spacing:-.055em !important;
  }
  .route-finder.route-finder--tool .route-finder-intro p:not(.eyebrow){
    font-size:16px !important;
    line-height:1.38 !important;
    max-width:31ch !important;
  }
  .route-finder.route-finder--tool .rc-route-tool-steps{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .route-finder.route-finder--tool .rc-route-tool-label{
    font-size:11px !important;
    letter-spacing:.09em !important;
  }
  .route-finder.route-finder--tool .rc-route-tool-step--distance select{
    min-height:52px !important;
  }
  .route-finder.route-finder--tool .rc-route-tool-step--location #useLocationBtn{
    width:auto !important;
    min-width:190px !important;
    max-width:100% !important;
    min-height:56px !important;
    height:56px !important;
    padding:0 26px !important;
    align-self:flex-start !important;
  }
  .route-finder.route-finder--tool .route-location-reset{
    margin-top:8px !important;
    min-height:46px !important;
  }
  .route-finder.route-finder--tool .route-finder-status{
    margin-top:16px !important;
    padding-top:10px !important;
    border-top:1px solid rgba(0,0,0,.12) !important;
    font-size:15px !important;
    line-height:1.35 !important;
  }
  .mobile-quick-nav a[data-rc-mobile-nav]{
    transition:background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  }
  .mobile-quick-nav a[data-rc-mobile-nav].is-active-section,
  .mobile-quick-nav a[data-rc-mobile-nav].is-active-section:visited{
    background:rgba(215,255,0,.95) !important;
    color:#050505 !important;
    border-color:rgba(215,255,0,.98) !important;
    box-shadow:0 0 0 1px rgba(215,255,0,.18), 0 0 18px rgba(215,255,0,.22) !important;
  }
}


/* RUN CITY: mobile route carousel alignment + clearer GPX wording.
   Keeps live navigation, route modal, tracking and audio untouched. */
@media (max-width:720px){
  #routes .route-grid{
    margin-left:0 !important;
    margin-right:-18px !important;
    padding-left:0 !important;
    scroll-padding-left:0 !important;
  }
}
.route-gpx-downloads{
  justify-content:flex-start !important;
  align-items:center !important;
}
.route-gpx-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  flex:1 1 220px;
}
.route-gpx-note{
  color:rgba(255,255,255,.56);
  font-size:10.5px;
  line-height:1.3;
  font-weight:650;
}
.route-gpx-btn.route-gpx-btn--single{
  width:auto !important;
  min-width:74px !important;
  height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:11px !important;
  letter-spacing:.08em !important;
}
@media (max-width:720px){
  .route-gpx-downloads{
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .route-gpx-copy{
    flex:0 0 100%;
    align-items:center;
  }
  .route-gpx-note{
    max-width:31ch;
  }
  .route-gpx-btn.route-gpx-btn--single{
    min-width:96px !important;
    height:44px !important;
  }
}


/* RUN CITY: keep the in-map "Zum Einstieg" live pill clear of Leaflet's map controls. */
.route-gpx-copy{
  gap:0 !important;
}
.route-gpx-note{
  display:none !important;
}
.route-map-canvas-wrap .route-live-panel{
  z-index:1300 !important;
  top:12px !important;
  left:58px !important;
  right:12px !important;
  bottom:auto !important;
  max-width:none !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
.route-map-canvas-wrap .route-live-pill,
.route-map-canvas-wrap .route-live-hint{
  max-width:100% !important;
}
@media (max-width:720px){
  .route-map-canvas-wrap .route-live-panel{
    top:10px !important;
    left:54px !important;
    right:8px !important;
    gap:5px !important;
  }
  .route-map-canvas-wrap .route-live-pill,
  .route-map-canvas-wrap .route-live-hint{
    max-width:100% !important;
    white-space:normal !important;
  }
}


/* RUN CITY: only the section detected by scroll may stay highlighted in the floating mobile navigation. */
.mobile-quick-nav a[data-rc-mobile-nav]:not(.is-active-section),
.mobile-quick-nav a[data-rc-mobile-nav]:not(.is-active-section):visited,
.mobile-quick-nav a[data-rc-mobile-nav]:not(.is-active-section):hover,
.mobile-quick-nav a[data-rc-mobile-nav]:not(.is-active-section):focus,
.mobile-quick-nav a[data-rc-mobile-nav]:not(.is-active-section):active{
  background:rgba(255,255,255,.055) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}
.mobile-quick-nav a[data-rc-mobile-nav]:not(.is-active-section):focus-visible{
  outline:2px solid rgba(215,255,0,.75) !important;
  outline-offset:3px !important;
}


/* RUN CITY: move only the live-status badge inside the map to the lower right so the entry label stays readable. */
.route-map-canvas-wrap .route-live-panel{
  left:58px !important;
  right:12px !important;
  top:12px !important;
  bottom:12px !important;
  max-width:none !important;
  display:none;
  pointer-events:none !important;
}
.route-map-canvas-wrap .route-live-panel.is-visible{
  display:block !important;
}
.route-map-canvas-wrap .route-live-pill{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:auto !important;
  max-width:min(100%, 520px) !important;
  white-space:normal !important;
}
.route-map-canvas-wrap .route-live-hint{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  top:auto !important;
  max-width:min(72%, 240px) !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.05 !important;
}
@media (max-width:720px){
  .route-map-canvas-wrap .route-live-panel{
    left:54px !important;
    right:10px !important;
    top:10px !important;
    bottom:10px !important;
  }
  .route-map-canvas-wrap .route-live-pill{
    max-width:min(100%, 365px) !important;
  }
  .route-map-canvas-wrap .route-live-hint{
    max-width:min(62%, 190px) !important;
    padding:7px 10px !important;
    font-size:10.5px !important;
  }
}


/* RUN CITY: contextual route-modal workflow. First find entry, then navigate/start live; if already at entry, start live first. */
.route-map-actions .route-map-locate{order:1;}
.route-map-actions .route-map-navigate{order:2;}
.route-map-actions .route-map-live{order:3;}
.route-map-actions .route-map-power{order:4;}
.route-map-actions.has-entry .route-map-navigate{order:1;}
.route-map-actions.has-entry .route-map-live{order:2;}
.route-map-actions.has-entry .route-map-locate{order:3;}
.route-map-actions.has-entry .route-map-power{order:4;}
.route-map-actions.has-entry.is-at-entry .route-map-live{order:1;}
.route-map-actions.has-entry.is-at-entry .route-map-locate{order:2;}
.route-map-actions.has-entry.is-at-entry .route-map-power{order:3;}
@media (max-width:720px){
  .route-map-actions{display:flex!important; flex-direction:column!important; align-items:stretch!important;}
  .route-map-actions .button,
  .route-map-actions button,
  .route-map-actions a{width:100%!important; flex:0 0 auto!important;}
}


/* RUN CITY: Live mode turns the route map into an immersive full-screen running view. */
body.route-live-fullscreen-active{
  overflow:hidden !important;
}
.route-map-modal.is-live-fullscreen{
  padding:0 !important;
  background:#000 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}
.route-map-modal.is-live-fullscreen .route-map-dialog{
  width:100vw !important;
  height:100dvh !important;
  max-height:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
  box-shadow:none !important;
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
}
.route-map-modal.is-live-fullscreen .route-map-header{
  position:absolute !important;
  top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
  left:10px !important;
  right:10px !important;
  z-index:900 !important;
  margin:0 !important;
  pointer-events:none !important;
}
.route-map-modal.is-live-fullscreen .route-map-header .eyebrow,
.route-map-modal.is-live-fullscreen .route-map-header h3,
.route-map-modal.is-live-fullscreen .route-map-header p{
  display:none !important;
}
.route-map-modal.is-live-fullscreen .route-map-close{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:42px !important;
  height:42px !important;
  z-index:920 !important;
  pointer-events:auto !important;
  background:rgba(0,0,0,.58) !important;
  border-color:rgba(255,255,255,.22) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
.route-map-modal.is-live-fullscreen #routeMapCanvas{
  width:100% !important;
  height:100dvh !important;
  min-height:0 !important;
  border-radius:0 !important;
}
.route-map-modal.is-live-fullscreen .route-map-status,
.route-map-modal.is-live-fullscreen .route-gpx-downloads{
  display:none !important;
}
.route-map-modal.is-live-fullscreen .route-map-actions{
  position:absolute !important;
  left:12px !important;
  right:12px !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 12px) !important;
  z-index:910 !important;
  display:flex !important;
  gap:8px !important;
  margin:0 !important;
  pointer-events:auto !important;
}
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-locate,
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-navigate{
  display:none !important;
}
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live,
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-power{
  flex:1 1 0 !important;
  min-width:0 !important;
  width:auto !important;
  height:44px !important;
  min-height:44px !important;
  background:rgba(0,0,0,.62) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live.is-running{
  background:#d7ff00 !important;
  color:#000 !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  left:12px !important;
  right:12px !important;
  top:calc(env(safe-area-inset-top, 0px) + 62px) !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 74px) !important;
  z-index:880 !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
  max-width:min(100%, 620px) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  right:0 !important;
  bottom:0 !important;
  max-width:min(72%, 260px) !important;
}
.route-map-modal.is-live-fullscreen .route-live-finish{
  z-index:930 !important;
}
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-actions{
    flex-direction:row !important;
    align-items:stretch !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-actions .route-map-live,
  .route-map-modal.is-live-fullscreen .route-map-actions .route-map-power{
    width:auto !important;
    font-size:10.5px !important;
    letter-spacing:.075em !important;
    padding:0 10px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:12px !important;
    right:12px !important;
    top:calc(env(safe-area-inset-top, 0px) + 62px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 76px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    max-width:calc(100vw - 24px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    max-width:min(68%, 210px) !important;
  }
}


/* RUN CITY: mobile floating navigation only appears while the user is actively scrolling. */
@media (max-width:980px){
  body.is-scrolled:not(.rc-user-scrolling) .mobile-quick-nav{
    transform:translateY(-130%) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  body.is-scrolled.rc-user-scrolling .mobile-quick-nav,
  body.rc-force-mobile-nav .mobile-quick-nav{
    transform:translateY(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}


/* RUN CITY field test polish: larger live overlays, no early completion, milestone toast. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  left:72px !important;
  right:72px !important;
  top:calc(env(safe-area-inset-top, 0px) + 72px) !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
  max-width:min(100%, 720px) !important;
  padding:10px 14px !important;
  font-size:15px !important;
  line-height:1.18 !important;
  letter-spacing:.005em !important;
  border-width:1.5px !important;
  background:rgba(18,25,23,.72) !important;
  box-shadow:0 10px 32px rgba(0,0,0,.28), 0 0 0 1px rgba(215,255,0,.18) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  max-width:min(72%, 320px) !important;
  padding:11px 16px !important;
  font-size:15px !important;
  line-height:1.12 !important;
  border-radius:999px !important;
}
.route-live-milestone-toast{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%) scale(.96);
  z-index:925;
  opacity:0;
  pointer-events:none;
  max-width:min(520px, calc(100% - 42px));
  padding:18px 22px;
  border-radius:24px;
  border:1px solid rgba(215,255,0,.42);
  background:rgba(9,15,13,.80);
  color:#fff;
  font-size:22px;
  line-height:1.08;
  font-weight:1000;
  letter-spacing:-.02em;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.38), 0 0 42px rgba(215,255,0,.16);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:opacity .22s ease, transform .22s ease;
}
.route-live-milestone-toast.is-visible{
  opacity:1;
  transform:translate(-50%, -50%) scale(1);
}
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-close{
    width:54px !important;
    height:54px !important;
    font-size:30px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:70px !important;
    right:12px !important;
    top:calc(env(safe-area-inset-top, 0px) + 70px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    max-width:calc(100vw - 92px) !important;
    padding:9px 12px !important;
    font-size:13.5px !important;
    line-height:1.16 !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    max-width:min(72%, 260px) !important;
    padding:10px 14px !important;
    font-size:14.5px !important;
  }
  .route-live-milestone-toast{
    width:min(340px, calc(100% - 34px));
    padding:16px 18px;
    font-size:20px;
  }
}


/* RUN CITY field test polish v2: finish-style milestones, calmer live stats, clean navigation arrow. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
  max-width:min(100%, 860px) !important;
  padding:15px 22px !important;
  font-size:23px !important;
  line-height:1.12 !important;
  font-weight:520 !important;
  letter-spacing:-.018em !important;
  background:rgba(28,36,34,.76) !important;
  border-color:rgba(215,255,0,.36) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.26), 0 0 0 1px rgba(215,255,0,.16) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:min(82%, 360px) !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  color:#111 !important;
  text-align:left !important;
  white-space:normal !important;
}
.route-live-arrow{
  flex:0 0 auto;
  display:inline-flex;
  width:76px;
  height:76px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background:#d7ff00;
  color:#050505;
  line-height:1;
  box-shadow:0 14px 34px rgba(0,0,0,.30), 0 0 0 1px rgba(0,0,0,.18) inset, 0 0 34px rgba(215,255,0,.42);
}
.route-live-arrow svg{
  width:50px;
  height:50px;
  display:block;
}
.route-live-arrow svg path{
  fill:none;
  stroke:#050505;
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.route-live-direction-label{
  display:inline-flex;
  align-items:center;
  min-height:52px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(215,255,0,.94);
  color:#050505;
  font-size:20px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.018em;
  box-shadow:0 10px 26px rgba(0,0,0,.20);
}
.route-live-milestone-toast{
  width:min(430px, calc(100% - 42px)) !important;
  padding:22px 20px 20px !important;
  border-radius:24px !important;
  background:rgba(5,5,5,.80) !important;
  border:1px solid rgba(215,255,0,.40) !important;
  box-shadow:0 20px 60px rgba(0,0,0,.42), 0 0 42px rgba(215,255,0,.16) !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
.route-live-milestone-toast::before{
  content:"";
  position:absolute;
  inset:-35%;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 50%, rgba(215,255,0,.34), transparent 0 6%, transparent 7%),
    radial-gradient(circle at 30% 42%, rgba(255,255,255,.16), transparent 0 4%, transparent 5%),
    radial-gradient(circle at 70% 58%, rgba(215,255,0,.18), transparent 0 5%, transparent 6%);
  opacity:0;
  transform:scale(.62) rotate(0deg);
  animation:rcCityPulse .95s ease-out .05s both;
}
.route-live-milestone-toast::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:260px;
  height:260px;
  z-index:-1;
  border-radius:999px;
  border:1px solid rgba(215,255,0,.34);
  transform:translate(-50%, -50%) scale(.3);
  opacity:0;
  animation:rcRouteRing 1.25s ease-out .12s both;
}
.route-live-milestone-toast strong{
  display:block;
  font-size:34px;
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.045em;
  color:#fff;
  margin-bottom:9px;
}
.route-live-milestone-toast span{
  display:block;
  color:rgba(255,255,255,.74);
  font-size:18px;
  line-height:1.25;
  font-weight:650;
  letter-spacing:-.015em;
}
.route-live-milestone-toast .route-live-burst{
  position:absolute;
  inset:0;
  pointer-events:none;
}
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:84px !important;
    right:12px !important;
    top:calc(env(safe-area-inset-top, 0px) + 76px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    max-width:calc(100vw - 108px) !important;
    padding:14px 18px !important;
    font-size:22px !important;
    line-height:1.12 !important;
    font-weight:520 !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    max-width:min(86%, 320px) !important;
    gap:8px !important;
  }
  .route-live-arrow{
    width:82px;
    height:82px;
  }
  .route-live-arrow svg{
    width:54px;
    height:54px;
  }
  .route-live-arrow svg path{
    stroke-width:7.5;
  }
  .route-live-direction-label{
    min-height:54px;
    padding:10px 15px;
    font-size:20px;
    font-weight:700;
  }
  .route-live-milestone-toast{
    width:min(350px, calc(100% - 34px)) !important;
    padding:22px 18px 20px !important;
  }
  .route-live-milestone-toast strong{
    font-size:31px;
  }
  .route-live-milestone-toast span{
    font-size:17px;
  }
}


/* RUN CITY: final live-map readability override. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
  font-size:23px !important;
  font-weight:520 !important;
}
.route-live-arrow{
  font-family:Arial, Helvetica, sans-serif !important;
}
.route-live-arrow svg{
  display:block !important;
}
.route-live-arrow svg path{
  fill:none !important;
  stroke:#050505 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:82px !important;
    right:12px !important;
    top:calc(env(safe-area-inset-top, 0px) + 78px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    max-width:calc(100vw - 106px) !important;
    font-size:22px !important;
    line-height:1.12 !important;
    font-weight:520 !important;
    padding:14px 18px !important;
    border-radius:26px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    gap:10px !important;
    max-width:min(92%, 390px) !important;
  }
  .route-live-arrow{
    width:82px !important;
    height:82px !important;
  }
  .route-live-arrow svg{
    width:55px !important;
    height:55px !important;
  }
  .route-live-arrow svg path{
    stroke-width:7.5 !important;
  }
  .route-live-direction-label{
    min-height:54px !important;
    padding:10px 16px !important;
    font-size:20px !important;
    font-weight:700 !important;
  }
}
@media (max-width:390px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    font-size:20px !important;
    padding:13px 15px !important;
  }
}


/* RUN CITY final: entry/start HUD must never clip text before Live Mode.
   The panel is full map; this styles only the actual HUD content. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  left:96px !important;
  right:18px !important;
  top:24px !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-areas:
    "kicker"
    "sub" !important;
  gap:9px !important;
  padding:14px 17px 15px !important;
  overflow:visible !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending .rc-live-hud-main{
  display:none !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending .rc-live-hud-sub{
  grid-area:sub !important;
  display:block !important;
  font-size:clamp(17px, 3.8vw, 24px) !important;
  line-height:1.16 !important;
  font-weight:520 !important;
  color:rgba(255,255,255,.88) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
  left:96px !important;
  right:18px !important;
  top:24px !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  grid-template-areas:
    "kicker main"
    "sub sub" !important;
  overflow:visible !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  justify-self:end !important;
  font-size:clamp(28px, 7.2vw, 44px) !important;
  max-width:100% !important;
  overflow:visible !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  grid-area:sub !important;
  white-space:normal !important;
  overflow:visible !important;
}
@media(max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending,
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:88px !important;
    right:12px !important;
    top:22px !important;
    border-radius:24px !important;
  }
}
@media(max-width:390px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending,
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:84px !important;
    right:10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:30px !important;
  }
}


/* RUN CITY v11 final overlay fixes
   - simulation arrow no longer clicks through to simulation buttons
   - entry/live direction hint is hidden until it is actually needed
   - entry overlay text keeps inside the HUD in pending and distance states */
.route-map-canvas-wrap .route-live-hint.is-hidden,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-hidden{
  display:none !important;
}
.route-map-canvas-wrap .route-live-hint,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  pointer-events:auto !important;
}
.route-map-canvas-wrap .route-live-hint *,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint *{
  pointer-events:none !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  left:94px !important;
  right:18px !important;
  top:24px !important;
  grid-template-columns:1fr !important;
  grid-template-areas:"kicker" "sub" !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending .rc-live-hud-kicker{
  justify-self:start !important;
  max-width:100% !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending .rc-live-hud-sub{
  grid-area:sub !important;
  display:block !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:normal !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) max-content !important;
  grid-template-areas:"kicker main" "sub sub" !important;
  align-items:center !important;
  left:84px !important;
  right:12px !important;
  max-width:none !important;
  width:auto !important;
  overflow:hidden !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  grid-area:kicker !important;
  justify-self:start !important;
  min-width:0 !important;
  max-width:100% !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  grid-area:main !important;
  justify-self:end !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  white-space:nowrap !important;
  font-size:clamp(28px, 7.9vw, 38px) !important;
  letter-spacing:-.055em !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  grid-area:sub !important;
  white-space:normal !important;
  overflow:visible !important;
}
@media(max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    left:86px !important;
    right:12px !important;
    top:22px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:80px !important;
    right:10px !important;
    column-gap:8px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    font-size:10.2px !important;
    letter-spacing:.135em !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:clamp(29px, 8vw, 35px) !important;
  }
}
@media(max-width:390px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    left:80px !important;
    right:8px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:76px !important;
    right:8px !important;
    column-gap:6px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:30px !important;
  }
}


/* RUN CITY v13: only final mobile polish.
   - make the pre-live entry km value a tick smaller so it always fits
   - keep the start HUD otherwise unchanged
   - make the direction arrow consume taps in simulation so taps do not hit the test buttons beneath
   - force straight direction to be icon-only */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  font-size:clamp(28px, 6.2vw, 38px) !important;
  letter-spacing:-.055em !important;
}
@media(max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:clamp(27px, 7.1vw, 35px) !important;
  }
}
@media(max-width:390px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:28px !important;
  }
}
.route-map-canvas-wrap #routeLiveDirection.route-live-hint,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
  pointer-events:auto !important;
  touch-action:manipulation !important;
}
.route-map-canvas-wrap #routeLiveDirection.route-live-hint *,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint *{
  pointer-events:none !important;
}
.route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-straight .route-live-direction-label,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-straight .route-live-direction-label{
  display:none !important;
}
.route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-straight,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-straight{
  gap:0 !important;
}


/* RUN CITY: RouteCards nach Live-Pulse bereinigen.
   - Distanz-Kategorie/Range-Chip in der Card entfernen, weil Live + Finisher sonst zu voll wirken.
   - Mobile Route-Carousel wieder full-bleed über die Viewportbreite, ohne dass die erste Card links ausbricht. */
.route-card .route-bucket,
#routes .route-card .route-bucket{
  display:none !important;
}
@media (max-width:720px){
  #routes .route-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:max(22px, env(safe-area-inset-left)) !important;
    padding-right:max(22vw, env(safe-area-inset-right)) !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-left:max(22px, env(safe-area-inset-left)) !important;
    -webkit-overflow-scrolling:touch !important;
    box-sizing:border-box !important;
    scrollbar-width:none !important;
  }
  #routes .route-grid::-webkit-scrollbar{display:none !important;}
  #routes .route-card{
    scroll-snap-align:start !important;
  }
}


/* RUN CITY: final visual lift for Locate result toast */
.route-locate-popup{
  border:2px solid rgba(255,255,255,.88) !important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.54),
    0 0 0 1px rgba(200,255,0,.42) inset,
    0 0 28px rgba(200,255,0,.16) !important;
}
.route-locate-popup.has-no-results{
  border-color:rgba(255,255,255,.88) !important;
}


/* RUN CITY: Off-route warning is separate from the top progress HUD. */
.route-map-canvas-wrap .route-live-offroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  top:auto !important;
  bottom:0 !important;
  z-index:8 !important;
  max-width:min(420px, calc(100% - 118px)) !important;
  min-width:0 !important;
  display:none !important;
  flex-direction:column !important;
  gap:4px !important;
  padding:10px 13px 11px !important;
  border-radius:18px !important;
  border:1.5px solid rgba(255,255,255,.72) !important;
  background:rgba(10,14,13,.78) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.36), 0 0 0 1px rgba(215,255,0,.20) inset !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  pointer-events:none !important;
}
.route-map-canvas-wrap .route-live-offroute.is-visible,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible{
  display:flex !important;
}
.route-live-offroute span{
  display:block !important;
  color:#d7ff00 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.route-live-offroute strong{
  display:block !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.08 !important;
  font-weight:720 !important;
  letter-spacing:-.015em !important;
}
@media(max-width:720px){
  .route-map-canvas-wrap .route-live-offroute,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
    left:0 !important;
    bottom:0 !important;
    max-width:calc(100% - 104px) !important;
    padding:9px 11px 10px !important;
    border-radius:16px !important;
  }
  .route-live-offroute span{
    font-size:10.5px !important;
    letter-spacing:.07em !important;
  }
  .route-live-offroute strong{
    font-size:13.5px !important;
  }
}
@media(max-width:390px){
  .route-map-canvas-wrap .route-live-offroute,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
    max-width:calc(100% - 96px) !important;
  }
  .route-live-offroute strong{
    font-size:12.8px !important;
  }
}


.route-entry-arrive-prompt{
  position:absolute !important;
  left:50% !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 122px) !important;
  transform:translateX(-50%) translateY(10px) !important;
  z-index:998 !important;
  width:min(92vw, 420px) !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-areas:"title button" "text button" !important;
  gap:3px 14px !important;
  align-items:center !important;
  padding:15px 16px !important;
  border-radius:24px !important;
  background:rgba(5,5,5,.88) !important;
  color:#fff !important;
  border:2px solid rgba(255,255,255,.92) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.38), 0 0 28px rgba(215,255,0,.18) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.route-entry-arrive-prompt.is-visible{
  opacity:1 !important;
  transform:translateX(-50%) translateY(0) !important;
  pointer-events:auto !important;
}
.route-entry-arrive-prompt strong{
  grid-area:title !important;
  font-size:18px !important;
  line-height:1.05 !important;
  font-weight:850 !important;
  letter-spacing:-.02em !important;
}
.route-entry-arrive-prompt span{
  grid-area:text !important;
  font-size:13px !important;
  line-height:1.2 !important;
  color:rgba(255,255,255,.78) !important;
}
.route-entry-arrive-prompt button{
  grid-area:button !important;
  min-height:48px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#050505 !important;
  font-size:17px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:0 10px 28px rgba(0,0,0,.34), 0 0 0 1px rgba(0,0,0,.18) inset !important;
}
.route-map-canvas-wrap .route-live-hint.is-to-route,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-to-route{
  flex-direction:row-reverse !important;
}
.route-live-arrow-to-route svg{
  transform:rotate(var(--rc-return-angle, 0deg)) !important;
  transform-origin:50% 50% !important;
}
.route-map-canvas-wrap .route-live-hint.is-to-route .route-live-direction-label,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-to-route .route-live-direction-label{
  display:inline-flex !important;
}
@media (max-width:720px){
  .route-entry-arrive-prompt{
    bottom:calc(env(safe-area-inset-bottom, 0px) + 112px) !important;
    width:calc(100vw - 28px) !important;
    padding:13px 14px !important;
    border-radius:22px !important;
  }
  .route-entry-arrive-prompt strong{font-size:17px !important;}
  .route-entry-arrive-prompt button{min-height:46px !important; padding:0 16px !important;}
}


/* RUN CITY – Highlight-Route: brighter gold + reveal animation
   Gesteuert über routes.is_highlight; Fallback für bestehende Maschsee-Route bleibt erhalten.
*/
@keyframes rcGoldRouteAura{
  0%,100%{ box-shadow:0 26px 72px rgba(0,0,0,.40),0 0 0 1px rgba(255,214,112,.34),0 0 34px rgba(255,198,64,.22),inset 0 1px 0 rgba(255,255,255,.14); }
  50%{ box-shadow:0 30px 86px rgba(0,0,0,.44),0 0 0 1px rgba(255,236,158,.62),0 0 62px rgba(255,199,57,.42),0 0 92px rgba(255,218,93,.18),inset 0 1px 0 rgba(255,255,255,.22); }
}
@keyframes rcGoldLinePulse{
  0%,100%{ filter:drop-shadow(0 0 8px rgba(255,209,77,.62)) drop-shadow(0 0 0 rgba(255,244,181,0)); }
  50%{ filter:drop-shadow(0 0 13px rgba(255,216,91,.90)) drop-shadow(0 0 24px rgba(255,211,70,.48)); }
}
@keyframes rcHighlightBadgeReveal{
  0%{ opacity:0; transform:translateY(-8px) scale(.96); filter:blur(2px); }
  18%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  78%{ opacity:1; transform:translateY(0) scale(1); }
  100%{ opacity:.88; transform:translateY(0) scale(1); }
}
.route-card.route-card--gold-highlight{
  border-color:rgba(255,214,92,.72) !important;
  animation:rcGoldRouteAura 3.4s ease-in-out infinite !important;
  background:
    radial-gradient(circle at 72% 8%, rgba(255,215,92,.18), transparent 34%),
    radial-gradient(circle at 12% 96%, rgba(255,241,185,.12), transparent 40%),
    linear-gradient(180deg, rgba(28,24,14,.92), rgba(9,9,8,.96)) !important;
}
.route-card.route-card--gold-highlight::before{
  background:
    radial-gradient(circle at 74% 8%, rgba(255,215,91,.34), transparent 34%),
    radial-gradient(circle at 12% 96%, rgba(255,244,190,.18), transparent 42%),
    linear-gradient(115deg, transparent 0%, rgba(255,226,132,.10) 48%, transparent 68%) !important;
}
.route-card.route-card--gold-highlight .route-preview-line{
  stroke:#ffd34f !important;
  stroke-width:5.2 !important;
  animation:rcGoldLinePulse 2.35s ease-in-out infinite !important;
}
.route-card.route-card--gold-highlight .route-preview-line-shadow{
  stroke:rgba(255,211,79,.38) !important;
  stroke-width:9.5 !important;
  filter:blur(4.5px) drop-shadow(0 0 18px rgba(255,205,64,.45)) !important;
}
.route-card.route-card--gold-highlight .route-preview-start{
  fill:#ffd34f !important;
  stroke:#0a0905 !important;
  filter:drop-shadow(0 0 12px rgba(255,211,79,.78)) !important;
}
.route-card.route-card--gold-highlight .route-community-pulse{
  border-color:rgba(255,211,79,.56) !important;
  background:linear-gradient(90deg, rgba(255,211,79,.16), rgba(255,211,79,.055)) !important;
  box-shadow:0 0 22px rgba(255,211,79,.14) !important;
}
.route-card.route-card--gold-highlight .route-pulse-runner,
.route-card.route-card--gold-highlight .route-community-pulse strong,
.route-card.route-card--gold-highlight .route-top strong{
  color:#ffd34f !important;
  text-shadow:0 0 16px rgba(255,211,79,.32) !important;
}
.route-card.route-card--gold-highlight .route-map-button{
  border-color:rgba(255,211,79,.72) !important;
  box-shadow:0 0 0 1px rgba(255,211,79,.20),0 12px 28px rgba(0,0,0,.22),0 0 26px rgba(255,211,79,.10) !important;
}
.route-card.route-card--gold-highlight .rc-highlight-route-badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:42;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px 6px;
  border-radius:999px;
  border:1px solid rgba(255,228,137,.74);
  background:rgba(18,15,8,.72);
  color:#ffe08a;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(0,0,0,.30),0 0 28px rgba(255,211,79,.20);
  backdrop-filter:blur(10px);
  opacity:0;
  transform:translateY(-8px) scale(.96);
  pointer-events:none;
}
.route-card.route-card--gold-highlight .rc-highlight-route-badge span{
  font-size:12px;
  color:#ffd34f;
  text-shadow:0 0 12px rgba(255,211,79,.75);
}
.route-card.route-card--gold-highlight.rc-gold-revealed .rc-highlight-route-badge,
.route-card.route-card--gold-highlight:hover .rc-highlight-route-badge,
.route-card.route-card--gold-highlight:focus-within .rc-highlight-route-badge{
  animation:rcHighlightBadgeReveal 2.8s cubic-bezier(.19,.8,.22,1) forwards;
}
@media (max-width:760px){
  .route-card.route-card--gold-highlight .rc-highlight-route-badge{
    top:10px;
    left:10px;
    padding:6px 9px 5px;
    font-size:9px;
  }
  .route-card.route-card--gold-highlight .route-preview-line{ stroke-width:4.8 !important; }
  .route-card.route-card--gold-highlight .route-preview-line-shadow{ stroke-width:8.7 !important; }
}
@media (prefers-reduced-motion: reduce){
  .route-card.route-card--gold-highlight,
  .route-card.route-card--gold-highlight .route-preview-line{
    animation:none !important;
  }
  .route-card.route-card--gold-highlight .rc-highlight-route-badge{
    opacity:.88;
    transform:none;
  }
}


/* RUN CITY: administrierbare Highlight-/Sponsored-Route-Farbwelten. */
.route-card.route-card--gold-highlight{
  border-color:rgba(var(--rc-highlight-rgb,255,211,79),.74) !important;
  background:
    radial-gradient(circle at 72% 8%, rgba(var(--rc-highlight-rgb,255,211,79),.22), transparent 34%),
    radial-gradient(circle at 14% 96%, rgba(var(--rc-highlight-2-rgb,255,240,168),.14), transparent 42%),
    linear-gradient(180deg, rgba(24,22,18,.94), rgba(8,8,7,.97)) !important;
}
.route-card.route-card--gold-highlight::before{
  background:
    radial-gradient(circle at 74% 8%, rgba(var(--rc-highlight-rgb,255,211,79),.38), transparent 34%),
    radial-gradient(circle at 14% 94%, rgba(var(--rc-highlight-2-rgb,255,240,168),.20), transparent 42%),
    linear-gradient(115deg, transparent 0%, rgba(var(--rc-highlight-rgb,255,211,79),.12) 48%, transparent 68%) !important;
}
.route-card.route-card--gold-highlight .route-preview-line{
  stroke:var(--rc-highlight,#ffd34f) !important;
  filter:drop-shadow(0 0 9px rgba(var(--rc-highlight-rgb,255,211,79),.72)) drop-shadow(0 0 22px rgba(var(--rc-highlight-2-rgb,255,240,168),.40)) !important;
}
.route-card.route-card--gold-highlight .route-preview-line-shadow{
  stroke:rgba(var(--rc-highlight-rgb,255,211,79),.42) !important;
  filter:blur(4.5px) drop-shadow(0 0 19px rgba(var(--rc-highlight-rgb,255,211,79),.50)) !important;
}
.route-card.route-card--gold-highlight .route-preview-start{
  fill:var(--rc-highlight,#ffd34f) !important;
  filter:drop-shadow(0 0 12px rgba(var(--rc-highlight-rgb,255,211,79),.84)) !important;
}
.route-card.route-card--gold-highlight .route-community-pulse{
  border-color:rgba(var(--rc-highlight-rgb,255,211,79),.58) !important;
  background:linear-gradient(90deg, rgba(var(--rc-highlight-rgb,255,211,79),.17), rgba(var(--rc-highlight-2-rgb,255,240,168),.06)) !important;
  box-shadow:0 0 22px rgba(var(--rc-highlight-rgb,255,211,79),.16) !important;
}
.route-card.route-card--gold-highlight .route-pulse-runner,
.route-card.route-card--gold-highlight .route-community-pulse strong,
.route-card.route-card--gold-highlight .route-top strong{
  color:var(--rc-highlight,#ffd34f) !important;
  text-shadow:0 0 16px rgba(var(--rc-highlight-rgb,255,211,79),.36) !important;
}
.route-card.route-card--gold-highlight .route-map-button{
  border-color:rgba(var(--rc-highlight-rgb,255,211,79),.74) !important;
  box-shadow:0 0 0 1px rgba(var(--rc-highlight-rgb,255,211,79),.22),0 12px 28px rgba(0,0,0,.22),0 0 26px rgba(var(--rc-highlight-rgb,255,211,79),.14) !important;
}
.route-card.route-card--gold-highlight .rc-highlight-route-badge,
.route-card.route-card--gold-highlight .rc-sponsored-route-badge{
  border-color:rgba(var(--rc-highlight-rgb,255,211,79),.76) !important;
  color:var(--rc-highlight-2,var(--rc-highlight,#ffe08a)) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.30),0 0 28px rgba(var(--rc-highlight-rgb,255,211,79),.22) !important;
}
.route-card.route-card--gold-highlight .rc-highlight-route-badge span{color:var(--rc-highlight,#ffd34f) !important;text-shadow:0 0 12px rgba(var(--rc-highlight-rgb,255,211,79),.75) !important;}
.route-card .rc-sponsored-route-badge{
  position:absolute;
  top:46px;
  left:12px;
  z-index:43;
  display:inline-flex;
  align-items:center;
  gap:7px;
  max-width:calc(100% - 84px);
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(12,12,10,.74);
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(0,0,0,.30);
  backdrop-filter:blur(10px);
  pointer-events:none;
}
.route-card .rc-sponsored-route-badge img{
  width:22px;
  height:22px;
  object-fit:contain;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  padding:2px;
}
.route-card .rc-sponsored-route-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:760px){
  .route-card .rc-sponsored-route-badge{top:40px;left:10px;max-width:calc(100% - 72px);font-size:8px;padding:5px 8px;}
  .route-card .rc-sponsored-route-badge img{width:20px;height:20px;}
}


/* RUN CITY: internal entry navigation line; no Google Maps jump needed. */
.route-entry-guide-line{
  stroke:#b7ff3c;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(183,255,60,.55));
}
.route-map-actions .route-map-navigate[href="#run-city-entry-navigation"]{
  position:relative;
}
.route-map-actions .route-map-navigate[href="#run-city-entry-navigation"]::after{
  content:'';
  display:none;
}


/* Precision update: final mobile HUD placement, route markers, route-card distance wrapping. */
.route-map-modal.is-live-fullscreen .route-live-panel{
  top:calc(env(safe-area-inset-top, 0px) + 54px)!important;
  left:clamp(14px,5vw,42px)!important;
  right:clamp(14px,5vw,42px)!important;
  bottom:auto!important;
  max-width:none!important;
  width:auto!important;
  justify-content:center!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  width:100%!important;
  max-width:760px!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
  right:clamp(18px,7vw,52px)!important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 116px)!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
  z-index:920!important;
  pointer-events:auto!important;
}
.route-map-modal.is-live-fullscreen .route-live-offroute{
  left:clamp(10px,4vw,28px)!important;
  right:auto!important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 22px)!important;
  max-width:min(52vw,360px)!important;
  white-space:normal!important;
}
.rc-runner-position-marker{
  width:34px!important;
  height:34px!important;
  border-radius:999px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:rgba(215,255,0,.96);
  border:2px solid rgba(5,5,5,.78);
  box-shadow:0 0 0 7px rgba(215,255,0,.18),0 10px 28px rgba(0,0,0,.32);
  color:#050505;
  font-size:18px;
  line-height:1;
}
.rc-runner-position-marker span{display:block;transform:translateY(1px)}
.route-card .user-distance{
  max-width:calc(100% - 96px)!important;
  white-space:normal!important;
  line-height:1.24!important;
  overflow-wrap:break-word!important;
}
@media(max-width:720px){
  .route-map-modal.is-live-fullscreen .route-live-panel{
    top:calc(env(safe-area-inset-top, 0px) + 48px)!important;
    left:16px!important;
    right:16px!important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    max-width:none!important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
    right:22px!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 118px)!important;
  }
  .route-card .user-distance{
    max-width:calc(100% - 86px)!important;
    padding-right:12px!important;
  }
}


/* RUN CITY Live Precision Final Test Fix — 2026-06-10
   Consolidated overrides only. Keeps the working navigation logic, fixes HUD placement and prevents older overlay rules from winning. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:100% !important;
  max-width:none !important;
  pointer-events:none !important;
  display:block !important;
  z-index:720 !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  position:absolute !important;
  top:calc(env(safe-area-inset-top, 0px) + 82px) !important;
  left:18px !important;
  right:18px !important;
  width:auto !important;
  max-width:none !important;
  min-height:112px !important;
  border-radius:24px !important;
  padding:22px 22px 20px !important;
  overflow:visible !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main{
  right:22px !important;
  max-width:58% !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-track{
  left:22px !important;
  right:22px !important;
  width:auto !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
  left:22px !important;
  right:auto !important;
  bottom:20px !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
  position:absolute !important;
  right:22px !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 128px) !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  pointer-events:auto !important;
  z-index:735 !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint .route-live-arrow{
  width:92px !important;
  height:92px !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-to-route .route-live-arrow svg{
  transform:rotate(var(--rc-return-angle, 0deg)) !important;
  transform-origin:50% 50% !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-straight .route-live-direction-label{
  display:none !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  left:14px !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 72px) !important;
  max-width:52vw !important;
  z-index:734 !important;
}
@media(max-width:420px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    top:calc(env(safe-area-inset-top, 0px) + 78px) !important;
    left:14px !important;
    right:14px !important;
    min-height:104px !important;
    padding:18px 18px 17px !important;
    border-radius:22px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
    right:18px !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 122px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint .route-live-arrow{
    width:84px !important;
    height:84px !important;
  }
}


/* RUN CITY: MapLibre navigation UI polish – centered HUD + one clear primary CTA. */
.route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap .route-live-panel{
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  max-width:none !important;
  width:100% !important;
  height:100% !important;
  display:none !important;
  pointer-events:none !important;
  z-index:1300 !important;
}
.route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap .route-live-panel.is-visible{
  display:block !important;
}
.route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap .route-live-pill{
  position:absolute !important;
  top:12px !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(72vw, 460px) !important;
  max-width:calc(100vw - 148px) !important;
  text-align:left !important;
  white-space:normal !important;
}
.route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap .route-live-hint{
  position:absolute !important;
  right:12px !important;
  bottom:12px !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  max-width:min(44vw, 220px) !important;
  text-align:center !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
  top:calc(env(safe-area-inset-top, 0px) + 58px) !important;
  width:min(76vw, 520px) !important;
  max-width:calc(100vw - 156px) !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  right:18px !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 104px) !important;
  max-width:min(42vw, 230px) !important;
}
.route-map-modal.rc-maplibre-nav-active .route-map-actions.is-entry-ready .route-map-navigate,
.route-map-modal.rc-maplibre-nav-active .route-map-navigate.is-ready-to-navigate{
  background:#d7ff00 !important;
  border-color:#d7ff00 !important;
  color:#050505 !important;
  box-shadow:0 0 34px rgba(215,255,0,.28), 0 12px 30px rgba(0,0,0,.22) !important;
}
@media (max-width:720px){
  .route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap .route-live-pill{
    top:10px !important;
    width:min(72vw, 390px) !important;
    max-width:calc(100vw - 138px) !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    top:calc(env(safe-area-inset-top, 0px) + 58px) !important;
    width:min(74vw, 410px) !important;
    max-width:calc(100vw - 148px) !important;
  }
  .route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap .route-live-hint{
    right:14px !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 104px) !important;
    max-width:min(42vw, 184px) !important;
  }
}


/* RUN CITY: großes Locate-Me Ergebnis-Overlay */
.route-locate-popup{
  top:50% !important;
  bottom:auto !important;
  left:50% !important;
  width:min(620px, calc(100vw - 34px)) !important;
  min-height:210px;
  grid-template-columns:1fr auto !important;
  align-items:start !important;
  padding:24px !important;
  border-radius:28px !important;
  background:linear-gradient(135deg, rgba(8,10,7,.90), rgba(21,32,19,.80)) !important;
  border:1px solid rgba(211,255,0,.72) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.56), 0 0 34px rgba(211,255,0,.18), 0 0 0 1px rgba(255,255,255,.06) inset !important;
  backdrop-filter:blur(20px) saturate(1.28) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.28) !important;
  transform:translate3d(-50%, -46%, 0) scale(.96) !important;
}
.route-locate-popup.is-visible{
  transform:translate3d(-50%, -50%, 0) scale(1) !important;
}
.route-locate-popup__shell{
  display:grid;
  gap:14px;
  min-width:0;
}
.route-locate-popup__kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:7px 13px;
  background:rgba(211,255,0,.18);
  color:#d7ff00;
  font-size:12px;
  font-weight:950;
  letter-spacing:.23em;
  text-transform:uppercase;
}
.route-locate-popup__text{
  display:grid;
  gap:5px;
  font-size:21px !important;
  line-height:1.08 !important;
  letter-spacing:-.02em !important;
}
.route-locate-popup__text strong{
  display:block;
  color:#f7f3e8 !important;
  font-size:clamp(42px, 11vw, 78px);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:1000;
}
.route-locate-popup.is-searching .route-locate-popup__text strong{
  font-size:clamp(28px, 7vw, 48px);
  letter-spacing:-.035em;
}
.route-locate-popup__text span{
  color:rgba(247,243,232,.86);
  font-weight:800;
}
.route-locate-popup__link{
  margin-top:8px;
  justify-self:stretch;
  width:100%;
  padding:17px 18px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#060806 !important;
  box-shadow:0 0 38px rgba(211,255,0,.34) !important;
  font-size:14px !important;
  letter-spacing:.16em !important;
}
.route-locate-popup__close{
  width:42px !important;
  height:42px !important;
  font-size:28px !important;
  background:rgba(255,255,255,.08) !important;
}
@media (max-width:720px){
  .route-locate-popup{
    width:calc(100vw - 28px) !important;
    min-height:240px;
    padding:22px !important;
    border-radius:26px !important;
    grid-template-columns:1fr auto !important;
  }
  .route-locate-popup__link{grid-column:1 / -1;}
  .route-locate-popup__text{font-size:20px !important;}
}


.route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap{position:relative;}
.rc-entry-ready-overlay{
  position:absolute;
  inset:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:radial-gradient(circle at center, rgba(211,255,0,.16), rgba(0,0,0,.10) 34%, rgba(0,0,0,.24));
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.rc-entry-ready-overlay.is-visible{
  opacity:1;
  pointer-events:auto;
}
.rc-entry-ready-overlay[hidden]{display:none !important;}
.rc-entry-ready-card{
  width:min(420px, calc(100vw - 56px));
  border-radius:30px;
  padding:24px 22px 22px;
  text-align:center;
  color:#f7f3e8;
  background:linear-gradient(135deg, rgba(11,15,10,.92), rgba(34,46,28,.82));
  border:1px solid rgba(211,255,0,.70);
  box-shadow:0 28px 90px rgba(0,0,0,.50), 0 0 46px rgba(211,255,0,.22), 0 0 0 1px rgba(255,255,255,.06) inset;
  backdrop-filter:blur(18px) saturate(1.25);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
}
.rc-entry-ready-kicker{
  display:inline-flex;
  border-radius:999px;
  padding:7px 13px;
  margin-bottom:12px;
  background:rgba(211,255,0,.18);
  color:#d7ff00;
  font-weight:950;
  font-size:12px;
  letter-spacing:.22em;
}
.rc-entry-ready-card strong{
  display:block;
  font-size:clamp(40px, 10vw, 66px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:1000;
}
.rc-entry-ready-card p{
  margin:12px 0 18px;
  color:rgba(247,243,232,.80);
  font-size:18px;
  line-height:1.22;
  font-weight:800;
}
.rc-entry-ready-card button{
  width:100%;
  border:0;
  border-radius:999px;
  padding:17px 18px;
  background:#d7ff00;
  color:#060806;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 0 38px rgba(211,255,0,.34);
}


/* RUN CITY: entry-ready state should be full-screen map with one clear start card. */
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-dialog{
  width:100vw !important;
  height:100dvh !important;
  max-height:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
  box-shadow:none !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-header,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-status,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-actions,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-gpx-downloads{
  display:none !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeMapCanvas{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100dvh !important;
  min-height:0 !important;
  border-radius:0 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
  right:12px !important;
  width:50px !important;
  height:50px !important;
  z-index:1500 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .maplibregl-ctrl-top-left{
  top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
  left:12px !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-live-panel{
  display:block !important;
  pointer-events:none !important;
  z-index:1320 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance{
  top:calc(env(safe-area-inset-top, 0px) + 64px) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(56vw, 340px) !important;
  max-width:calc(100vw - 156px) !important;
  min-height:0 !important;
  padding:14px 18px !important;
  border-radius:24px !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  font-size:11px !important;
  padding:5px 10px !important;
  letter-spacing:.20em !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  font-size:clamp(30px, 8vw, 46px) !important;
  line-height:.95 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  font-size:15px !important;
  line-height:1.1 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-overlay{
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 188px) !important;
  background:radial-gradient(circle at center, rgba(211,255,0,.12), rgba(0,0,0,.08) 34%, rgba(0,0,0,.18)) !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card{
  width:min(460px, calc(100vw - 44px)) !important;
  padding:26px 22px 24px !important;
  border-radius:30px !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card strong{
  font-size:clamp(46px, 13vw, 74px) !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card button{
  display:block !important;
  margin:18px auto 0 !important;
  max-width:360px !important;
  min-height:62px !important;
}
@media (max-height:760px){
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-overlay{
    padding-top:calc(env(safe-area-inset-top, 0px) + 160px) !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance{
    top:calc(env(safe-area-inset-top, 0px) + 54px) !important;
  }
}


/* RUN CITY: mobile event carousel alignment.
   Mirrors the route-card fix: prevents the first Event/Flagship card from starting outside the viewport. */
@media (max-width:720px){
  #events .spotify-grid{
    margin-left:0 !important;
    margin-right:-16px !important;
    padding-left:0 !important;
    scroll-padding-left:0 !important;
  }
  #events .spotify-grid .spotify-card:first-child{
    margin-left:0 !important;
  }
}


/* RUN CITY: Hero-Buttons dezent sichtbarer – Cremefläche, schwarze Schrift, ohne Farbverläufe. */
.hero .hero-actions .button,
.hero .hero-actions .button.primary,
.hero .hero-actions .button.ghost{
  background:#f5eede !important;
  color:#0b0b0b !important;
  border:1px solid rgba(245,238,222,.92) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.18) !important;
  text-shadow:none !important;
}
.hero .hero-actions .button:hover,
.hero .hero-actions .button:focus,
.hero .hero-actions .button:active{
  background:#f5eede !important;
  color:#0b0b0b !important;
  border-color:#d7ff00 !important;
  box-shadow:0 0 0 1px rgba(215,255,0,.85), 0 12px 28px rgba(0,0,0,.22) !important;
}
@media (max-width:720px){
  .hero .hero-actions .button,
  .hero .hero-actions .button.primary,
  .hero .hero-actions .button.ghost{
    min-height:48px !important;
    background:#f5eede !important;
    color:#0b0b0b !important;
    border-color:rgba(245,238,222,.96) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.16) !important;
  }
}


/* RUN CITY targeted polish based on current index_buttons status:
   1) Music player aligns with the lower Hero button edge at critical desktop widths.
   2) Hero action-card text is no longer ellipsized although icons stay.
   3) Share buttons are visually smaller than Like pills. */

/* Keep the Hero button labels readable instead of cutting them off. */
.hero-action-cards .hero-action-card strong,
.hero-action-cards .hero-action-card small,
.hero-actions.hero-action-cards .button strong,
.hero-actions.hero-action-cards .button small{
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
}
.hero-action-cards .hero-action-card strong,
.hero-actions.hero-action-cards .button strong{
  line-height:1.05 !important;
}
.hero-action-cards .hero-action-card small,
.hero-actions.hero-action-cards .button small{
  line-height:1.15 !important;
}

/* Critical desktop/tablet width: buttons remain side-by-side when there is enough space; text gets slightly calmer. */
@media (max-width:980px) and (min-width:761px){
  .hero .hero-action-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
  .hero-action-cards .hero-action-card,
  .hero-actions.hero-action-cards .button,
  .hero-actions.hero-action-cards .button.primary,
  .hero-actions.hero-action-cards .button.ghost{
    min-height:74px !important;
    padding:13px 14px !important;
    gap:11px !important;
  }
  .hero-action-cards .hero-action-card svg{
    width:25px !important;
    height:25px !important;
  }
  .hero-action-cards .hero-action-card strong{
    font-size:11.5px !important;
    letter-spacing:.075em !important;
  }
  .hero-action-cards .hero-action-card small{
    font-size:10.5px !important;
  }
}

/* Narrow desktop: when the player sits next to the stacked buttons, align its bottom with the button stack. */
@media (max-width:1220px) and (min-width:981px){
  .hero .hero-copy{
    max-width:calc(100% - 390px) !important;
  }
  .hero .hero-action-cards{
    grid-template-columns:1fr !important;
    max-width:min(430px, 100%) !important;
    gap:14px !important;
  }
  .hero-action-cards .hero-action-card,
  .hero-actions.hero-action-cards .button,
  .hero-actions.hero-action-cards .button.primary,
  .hero-actions.hero-action-cards .button.ghost{
    min-height:62px !important;
    padding:12px 16px !important;
    gap:12px !important;
  }
  .hero-action-cards .hero-action-card strong{
    font-size:13px !important;
    letter-spacing:.11em !important;
  }
  .hero-action-cards .hero-action-card small{
    font-size:11.5px !important;
  }
  .hero .anthem-card{
    bottom:clamp(68px, 7vw, 86px) !important;
  }
}

/* Share buttons: smaller icon button, intentionally less dominant than the Like pill. */
.spotify-card .rc-share-btn--card,
.route-card .rc-share-btn--card,
#runclubs .rc-share-btn--club,
.spotify-card .rc-share-btn--card:hover,
.route-card .rc-share-btn--card:hover,
#runclubs .rc-share-btn--club:hover,
.spotify-card .rc-share-btn--card:focus-visible,
.route-card .rc-share-btn--card:focus-visible,
#runclubs .rc-share-btn--club:focus-visible{
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 !important;
  border-radius:999px !important;
}
.spotify-card .rc-share-btn--card svg,
.route-card .rc-share-btn--card svg,
#runclubs .rc-share-btn--club svg{
  width:16px !important;
  height:16px !important;
}
@media (max-width:760px){
  .spotify-card .rc-share-btn--card,
  .route-card .rc-share-btn--card,
  #runclubs .rc-share-btn--club{
    width:28px !important;
    min-width:28px !important;
    height:28px !important;
    min-height:28px !important;
  }
  .spotify-card .rc-share-btn--card svg,
  .route-card .rc-share-btn--card svg,
  #runclubs .rc-share-btn--club svg{
    width:15px !important;
    height:15px !important;
  }
}


/* RUN CITY v10: hard reset for the live-map overlays.
   Problem fixed: older CSS moved the panel AND the pill, so offsets were added twice.
   This resets the panel to the full map and positions only the actual HUD/pointer. */
.route-map-canvas-wrap .route-live-panel,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  transform:none !important;
  display:none !important;
  z-index:990 !important;
  pointer-events:none !important;
  align-items:initial !important;
  justify-content:initial !important;
  gap:0 !important;
}
.route-map-canvas-wrap .route-live-panel.is-visible,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel.is-visible{
  display:block !important;
}

/* Compact map/modal HUD before fullscreen: leave room for Leaflet zoom, but use all remaining width. */
.route-map-canvas-wrap .route-live-pill{
  position:absolute !important;
  left:96px !important;
  right:18px !important;
  top:24px !important;
  bottom:auto !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  transform:none !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  grid-template-areas:
    "kicker main"
    "track track"
    "meta chips" !important;
  align-items:center !important;
  gap:8px 14px !important;
  padding:13px 16px 14px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:linear-gradient(135deg, rgba(14,20,17,.86), rgba(42,50,45,.78)) !important;
  border:1px solid rgba(215,255,0,.38) !important;
  box-shadow:0 16px 42px rgba(0,0,0,.30), 0 0 0 1px rgba(255,255,255,.05) inset !important;
  backdrop-filter:blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(120%) !important;
  color:#fff !important;
  text-align:left !important;
  white-space:normal !important;
  pointer-events:none !important;
}

/* Fullscreen/live HUD: real full-width HUD, placed lower and independent of Leaflet/close controls. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
  left:18px !important;
  right:18px !important;
  top:calc(env(safe-area-inset-top, 0px) + 118px) !important;
  bottom:auto !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  padding:14px 17px 15px !important;
  border-radius:26px !important;
  gap:9px 16px !important;
}

.route-map-canvas-wrap .rc-live-hud-kicker{
  grid-area:kicker !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:rgba(215,255,0,.18) !important;
  color:#d7ff00 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.route-map-canvas-wrap .rc-live-hud-main{
  grid-area:main !important;
  justify-self:end !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  color:#fff !important;
  font-size:32px !important;
  line-height:1 !important;
  font-weight:560 !important;
  letter-spacing:-.04em !important;
}
.route-map-canvas-wrap .rc-live-hud-main strong{
  font-weight:660 !important;
}
.route-map-canvas-wrap .rc-live-hud-main em{
  font-style:normal !important;
  color:rgba(255,255,255,.72) !important;
  font-weight:400 !important;
  margin-left:4px !important;
}
.route-map-canvas-wrap .rc-live-hud-sub{
  grid-column:1 / -1 !important;
  color:rgba(255,255,255,.78) !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:440 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
}
.route-map-canvas-wrap .rc-live-hud-track{
  grid-area:track !important;
  height:8px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.16) !important;
}
.route-map-canvas-wrap .rc-live-hud-track i{
  display:block !important;
  height:100% !important;
  background:#d7ff00 !important;
  border-radius:999px !important;
  box-shadow:0 0 18px rgba(215,255,0,.48) !important;
}
.route-map-canvas-wrap .rc-live-hud-meta{
  grid-area:meta !important;
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  color:rgba(255,255,255,.84) !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:420 !important;
  min-width:0 !important;
}
.route-map-canvas-wrap .rc-live-hud-chips{
  grid-area:chips !important;
  display:flex !important;
  gap:8px !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  min-width:0 !important;
}
.route-map-canvas-wrap .rc-live-hud-chip{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:650 !important;
  white-space:nowrap !important;
}
.route-map-canvas-wrap .rc-live-hud-chip-ok{background:rgba(215,255,0,.96) !important;color:#050505 !important;}
.route-map-canvas-wrap .rc-live-hud-chip-warn{background:rgba(255,200,64,.96) !important;color:#111 !important;}

/* Direction cue: always anchored bottom-right, above the lower action buttons. */
.route-map-canvas-wrap .route-live-hint,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  position:absolute !important;
  left:auto !important;
  top:auto !important;
  right:calc(env(safe-area-inset-right, 0px) + 20px) !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 124px) !important;
  transform:none !important;
  z-index:995 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:auto !important;
  min-width:0 !important;
  max-width:min(92vw, 430px) !important;
  gap:10px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#050505 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:none !important;
  text-align:left !important;
}
.route-map-canvas-wrap .route-live-hint.is-turn,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-turn{
  flex-direction:row-reverse !important; /* label left, arrow fixed at the right edge */
}
.route-map-canvas-wrap .route-live-hint.is-straight,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-straight{
  gap:0 !important;
  max-width:none !important;
}
.route-map-canvas-wrap .route-live-hint.is-straight .route-live-direction-label,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-straight .route-live-direction-label{
  display:none !important;
}
.route-live-arrow{
  flex:0 0 88px !important;
  width:88px !important;
  height:88px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#d7ff00 !important;
  color:#050505 !important;
  box-shadow:0 16px 38px rgba(0,0,0,.32), 0 0 0 1px rgba(0,0,0,.18) inset, 0 0 34px rgba(215,255,0,.42) !important;
}
.route-live-arrow svg{
  display:block !important;
  width:58px !important;
  height:58px !important;
}
.route-live-arrow svg path{
  fill:none !important;
  stroke:#050505 !important;
  stroke-width:7.5 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.route-live-direction-label{
  display:inline-flex !important;
  align-items:center !important;
  min-height:56px !important;
  padding:11px 17px !important;
  border-radius:999px !important;
  background:rgba(215,255,0,.96) !important;
  color:#050505 !important;
  font-size:20px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:-.018em !important;
  box-shadow:0 10px 26px rgba(0,0,0,.20) !important;
}

@media (max-width:720px){
  .route-map-canvas-wrap .route-live-pill{
    left:94px !important;
    right:14px !important;
    top:22px !important;
    padding:12px 14px 13px !important;
    border-radius:23px !important;
    gap:8px 12px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    left:18px !important;
    right:18px !important;
    top:calc(env(safe-area-inset-top, 0px) + 118px) !important;
    padding:14px 16px 15px !important;
    border-radius:26px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-kicker{
    font-size:11px !important;
    padding:7px 11px !important;
    letter-spacing:.17em !important;
  }
  .route-map-canvas-wrap .rc-live-hud-main{
    font-size:31px !important;
    font-weight:560 !important;
  }
  .route-map-canvas-wrap .rc-live-hud-sub{
    font-size:16px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-meta{
    font-size:17px !important;
    gap:10px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip{
    font-size:15px !important;
    min-height:33px !important;
    padding:8px 12px !important;
  }
  .route-map-canvas-wrap .route-live-hint,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    right:calc(env(safe-area-inset-right, 0px) + 18px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 118px) !important;
  }
  .route-live-arrow{
    width:86px !important;
    height:86px !important;
    flex-basis:86px !important;
  }
  .route-live-arrow svg{
    width:57px !important;
    height:57px !important;
  }
}
@media (max-width:390px){
  .route-map-canvas-wrap .route-live-pill{
    left:88px !important;
    right:10px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-pill{
    left:14px !important;
    right:14px !important;
    top:calc(env(safe-area-inset-top, 0px) + 116px) !important;
  }
  .route-map-canvas-wrap .rc-live-hud-kicker{
    font-size:10px !important;
    padding:7px 10px !important;
    letter-spacing:.15em !important;
  }
  .route-map-canvas-wrap .rc-live-hud-main{
    font-size:28px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-meta{
    font-size:16px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip{
    font-size:14px !important;
  }
  .route-map-canvas-wrap .route-live-hint,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    right:calc(env(safe-area-inset-right, 0px) + 14px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 112px) !important;
  }
  .route-live-arrow{
    width:82px !important;
    height:82px !important;
    flex-basis:82px !important;
  }
  .route-live-arrow svg{
    width:54px !important;
    height:54px !important;
  }
}


/* RUN CITY final micro-fix: keep the entry-distance value fully inside the start overlay.
   Scope is intentionally only the pre-live entry-distance HUD. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
  box-sizing:border-box !important;
  grid-template-columns:minmax(0, auto) max-content !important;
  column-gap:10px !important;
  overflow:hidden !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  min-width:0 !important;
  max-width:100% !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  justify-self:end !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:clamp(28px, 6.2vw, 38px) !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
}
@media(max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:84px !important;
    right:10px !important;
    column-gap:8px !important;
    padding:12px 12px 13px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    font-size:10.5px !important;
    letter-spacing:.145em !important;
    padding:7px 10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:clamp(28px, 8.4vw, 36px) !important;
  }
}
@media(max-width:390px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:80px !important;
    right:8px !important;
    column-gap:7px !important;
    padding-left:11px !important;
    padding-right:11px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    font-size:9.6px !important;
    letter-spacing:.13em !important;
    padding:7px 9px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:31px !important;
  }
}


/* RUN CITY v12: final containment for top HUDs.
   Fixes:
   1) pre-live / navigate-to-entry HUD leaves room for the close button and never clips the kicker text.
   2) fullscreen live HUD sits below the close button.
   3) direction arrow remains anchored bottom-right; straight state has no text label. */
.route-map-canvas-wrap .route-live-panel,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  transform:none !important;
  pointer-events:none !important;
  z-index:990 !important;
}

/* Default map HUD: keep Zoom left and Close right clear. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill{
  box-sizing:border-box !important;
  left:96px !important;
  right:92px !important;
  top:24px !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  transform:none !important;
  overflow:hidden !important;
}

/* Pending state: readable sentence, no giant clipped word. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-areas:"kicker" "sub" !important;
  gap:10px !important;
  padding:14px 18px 16px !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending .rc-live-hud-kicker{
  grid-area:kicker !important;
  justify-self:start !important;
  min-width:max-content !important;
  max-width:100% !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending .rc-live-hud-sub{
  grid-area:sub !important;
  display:block !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:normal !important;
}

/* Entry-distance state: keep ZUM EINSTIEG fully visible and the km value inside the HUD. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
  display:grid !important;
  grid-template-columns:max-content minmax(0,1fr) !important;
  grid-template-areas:"kicker main" "sub sub" !important;
  align-items:center !important;
  column-gap:14px !important;
  row-gap:10px !important;
  padding:14px 18px 16px !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  grid-area:kicker !important;
  justify-self:start !important;
  min-width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:nowrap !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  grid-area:main !important;
  justify-self:end !important;
  min-width:0 !important;
  max-width:100% !important;
  width:auto !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  font-size:clamp(32px, 7.3vw, 44px) !important;
  line-height:.98 !important;
  letter-spacing:-.052em !important;
}
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  grid-area:sub !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:normal !important;
}

/* Fullscreen live HUD: below close button, full usable width. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill{
  left:18px !important;
  right:18px !important;
  top:calc(env(safe-area-inset-top, 0px) + 132px) !important;
  width:auto !important;
  max-width:none !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  left:18px !important;
  right:92px !important; /* keep the top-right close button tappable in entry/navigation mode */
  top:calc(env(safe-area-inset-top, 0px) + 102px) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  left:18px !important;
  right:18px !important;
  top:calc(env(safe-area-inset-top, 0px) + 132px) !important;
}

/* Direction cue: locked bottom-right above action buttons. */
.route-map-canvas-wrap .route-live-hint,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  position:absolute !important;
  left:auto !important;
  top:auto !important;
  right:calc(env(safe-area-inset-right, 0px) + 20px) !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 124px) !important;
  transform:none !important;
  z-index:995 !important;
  pointer-events:none !important;
}
.route-map-canvas-wrap .route-live-hint.is-straight .route-live-direction-label,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-straight .route-live-direction-label{
  display:none !important;
}
.route-map-canvas-wrap .route-live-hint.is-turn,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint.is-turn{
  flex-direction:row-reverse !important;
}

@media(max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill{
    left:94px !important;
    right:86px !important;
    top:22px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    column-gap:12px !important;
    padding:13px 16px 15px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:clamp(31px, 8.2vw, 41px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    left:18px !important;
    right:18px !important;
    top:calc(env(safe-area-inset-top, 0px) + 132px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    left:18px !important;
    right:86px !important;
    top:calc(env(safe-area-inset-top, 0px) + 104px) !important;
  }
  .route-map-canvas-wrap .route-live-hint,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    right:calc(env(safe-area-inset-right, 0px) + 18px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 118px) !important;
  }
}
@media(max-width:390px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill{
    left:88px !important;
    right:78px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    column-gap:9px !important;
    padding-left:13px !important;
    padding-right:13px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    font-size:9.8px !important;
    letter-spacing:.13em !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:31px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    left:14px !important;
    right:82px !important;
    top:calc(env(safe-area-inset-top, 0px) + 104px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    left:14px !important;
    right:14px !important;
    top:calc(env(safe-area-inset-top, 0px) + 132px) !important;
  }
  .route-map-canvas-wrap .route-live-hint,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
    right:calc(env(safe-area-inset-right, 0px) + 14px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 112px) !important;
  }
}


/* RUN CITY v14: final mobile entry-HUD containment.
   The live/on-route HUD remains untouched. This only corrects the pre-live
   "ZUM EINSTIEG" distance card, where older right-offset rules made the card
   too narrow and forced the km value against the right edge. */
@media (max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:80px !important;
    right:12px !important;
    top:22px !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) max-content !important;
    grid-template-areas:"kicker main" "sub sub" !important;
    column-gap:10px !important;
    row-gap:9px !important;
    padding:12px 14px 14px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    grid-area:kicker !important;
    justify-self:start !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    white-space:nowrap !important;
    font-size:10.6px !important;
    line-height:1 !important;
    letter-spacing:.145em !important;
    padding:7px 11px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    grid-area:main !important;
    justify-self:end !important;
    max-width:none !important;
    min-width:max-content !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:clamp(30px, 7.4vw, 36px) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
    grid-area:sub !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
    white-space:normal !important;
    font-size:16px !important;
    line-height:1.16 !important;
  }

  /* In fullscreen entry-navigation mode the close button lives inside the map.
     Keep that right-side safety gap, but use the same compact grid so nothing clips. */
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    left:18px !important;
    right:92px !important;
    top:calc(env(safe-area-inset-top, 0px) + 104px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:clamp(30px, 7.2vw, 38px) !important;
  }
}
@media (max-width:390px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    left:76px !important;
    right:10px !important;
    column-gap:8px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    font-size:9.8px !important;
    letter-spacing:.13em !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:30px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    left:14px !important;
    right:84px !important;
  }
}


/* RUN CITY: final RouteCard cleanup after Live Runner Counter.
   1) Give the small live/finished pulse more breathing room before the title.
   2) Let the mobile route swipe area use the real viewport width again.
   This intentionally overrides older 188px swipe-hint and negative-carousel rules. */
#routes .route-card .route-community-pulse{
  margin-top:10px !important;
  margin-bottom:18px !important;
}
#routes .route-card .route-community-pulse + h3{
  margin-top:0 !important;
}

@media (max-width:720px){
  #routes .route-community-pulse{
    margin-top:8px !important;
    margin-bottom:16px !important;
  }

  #routes .route-swipe-hint,
  .route-swipe-hint,
  #routes .section-head::after{
    width:calc(100vw - 44px) !important;
    min-width:0 !important;
    max-width:none !important;
    flex:0 0 auto !important;
    display:flex !important;
    justify-content:center !important;
    text-align:center !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #routes .route-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:22px !important;
    padding-right:22vw !important;
    padding-bottom:20px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  #routes .route-grid::-webkit-scrollbar{display:none !important;}

  #routes .route-card{
    flex:0 0 min(82vw, 368px) !important;
    width:min(82vw, 368px) !important;
    min-width:min(82vw, 368px) !important;
    max-width:min(82vw, 368px) !important;
    scroll-snap-align:start !important;
  }
}


/* RUN CITY: Locate result toast. Real popup, not an inline duplicate below the filter buttons. */
.route-locate-popup{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
  z-index:2147482500 !important;
  display:grid !important;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:12px;
  width:min(560px, calc(100vw - 28px)) !important;
  max-width:calc(100vw - 28px) !important;
  box-sizing:border-box;
  margin:0 !important;
  padding:14px 16px;
  border:1px solid rgba(189,255,0,.42);
  border-radius:24px;
  background:rgba(8,10,7,.94);
  color:#f6f0df;
  box-shadow:0 22px 60px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.05) inset;
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  transform:translate3d(-50%, 18px, 0) scale(.98) !important;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.route-locate-popup[hidden]{display:none !important;}
.route-locate-popup.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translate3d(-50%, 0, 0) scale(1) !important;
}
.route-locate-popup__text{
  min-width:0;
  font-size:15px;
  line-height:1.25;
  letter-spacing:.01em;
}
.route-locate-popup__text strong{
  color:#c8ff00;
  font-weight:900;
}
.route-locate-popup__link{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#c8ff00;
  color:#050505;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
  font-size:12px;
}
.route-locate-popup__close{
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#f6f0df;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.route-locate-popup.has-no-results{
  border-color:rgba(255,194,64,.44);
}
@media (max-width:720px){
  .route-locate-popup{
    bottom:calc(env(safe-area-inset-bottom, 0px) + 84px) !important;
    grid-template-columns:1fr auto;
    padding:13px 13px 13px 15px;
    border-radius:22px;
    gap:9px;
  }
  .route-locate-popup__text{
    font-size:14px;
  }
  .route-locate-popup__link{
    grid-column:1 / -1;
    justify-self:stretch;
    padding:11px 12px;
    font-size:11px;
    letter-spacing:.06em;
  }
  .route-locate-popup__close{
    width:28px;
    height:28px;
    font-size:20px;
  }
}


/* RUN CITY precision v2: keep the live HUD full-width and higher, without shifting it to the right. */
.route-map-modal.is-live-fullscreen .route-live-panel{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  max-width:none!important;
  display:block!important;
  pointer-events:none!important;
  transform:none!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  top:calc(env(safe-area-inset-top, 0px) + 56px)!important;
  width:auto!important;
  max-width:none!important;
  transform:none!important;
  z-index:940!important;
  pointer-events:none!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main{
  min-width:0!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
  min-width:0!important;
  white-space:nowrap!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
  position:absolute!important;
  left:auto!important;
  top:auto!important;
  right:18px!important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 118px)!important;
  transform:none!important;
  z-index:945!important;
  pointer-events:auto!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint.is-to-route{
  right:18px!important;
}
.route-live-milestone-toast{
  z-index:980!important;
  pointer-events:none!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  z-index:946!important;
}
@media(max-width:390px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    left:10px!important;
    right:10px!important;
    top:calc(env(safe-area-inset-top, 0px) + 52px)!important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveDirection.route-live-hint{
    right:14px!important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 112px)!important;
  }
}


/* Final safety override: keep the live HUD inside the screen and centered; prevent the km value from escaping right. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  pointer-events:none!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  position:absolute!important;
  top:calc(env(safe-area-inset-top, 0px) + 76px)!important;
  left:14px!important;
  right:14px!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0, .9fr) minmax(116px, auto)!important;
  grid-template-areas:
    "kicker main"
    "track track"
    "meta chips"!important;
  align-items:center!important;
  gap:10px 12px!important;
  padding:16px 16px 15px!important;
  min-height:98px!important;
  overflow:hidden!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-kicker{
  grid-area:kicker!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main{
  grid-area:main!important;
  position:static!important;
  justify-self:end!important;
  right:auto!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  font-size:clamp(24px, 7.2vw, 32px)!important;
  line-height:1!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main em{
  font-size:.58em!important;
  margin-left:3px!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-track{
  grid-area:track!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
  grid-area:meta!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  font-size:clamp(14px, 4vw, 18px)!important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chips{
  grid-area:chips!important;
  min-width:0!important;
  justify-content:flex-end!important;
}
@media(max-width:390px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    left:10px!important;
    right:10px!important;
    top:calc(env(safe-area-inset-top, 0px) + 72px)!important;
    grid-template-columns:minmax(0, .85fr) minmax(102px, auto)!important;
    gap:8px 10px!important;
    padding:14px 14px 13px!important;
  }
}
/* Arrived-at-entry state: the GO prompt is enough; hide redundant entry buttons visually and keep layout calm. */
.route-map-actions.is-entry-arrived #routeMapLocateBtn,
.route-map-actions.is-entry-arrived #routeMapNavigateLink{
  display:none!important;
}


/* RUN CITY v7: final visual correction for the entry-ready fullscreen state.
   Keep the small distance HUD inside the viewport and move the "Lauf los" card slightly lower. */
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-pending,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  position:absolute !important;
  top:calc(env(safe-area-inset-top, 0px) + 74px) !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(380px, calc(100vw - 152px)) !important;
  max-width:calc(100vw - 152px) !important;
  min-width:0 !important;
  min-height:0 !important;
  box-sizing:border-box !important;
  z-index:1450 !important;
  padding:12px 16px !important;
  border-radius:24px !important;
  grid-template-columns:auto max-content !important;
  column-gap:12px !important;
  overflow:hidden !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  font-size:10px !important;
  letter-spacing:.16em !important;
  padding:5px 9px !important;
  white-space:nowrap !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  font-size:clamp(28px, 8vw, 42px) !important;
  line-height:.92 !important;
  white-space:nowrap !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  font-size:14px !important;
  line-height:1.08 !important;
  white-space:normal !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-overlay{
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 206px) !important;
  padding-left:22px !important;
  padding-right:22px !important;
}
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card{
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:390px){
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-pending,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    width:min(330px, calc(100vw - 134px)) !important;
    max-width:calc(100vw - 134px) !important;
    padding:11px 13px !important;
    column-gap:9px !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-overlay{
    padding-top:calc(env(safe-area-inset-top, 0px) + 200px) !important;
  }
}


/* RUN CITY v14: compact GPX download row in route modal */
.route-map-modal .route-gpx-downloads{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  margin-top:12px !important;
  text-align:left !important;
}
.route-map-modal .route-gpx-copy{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  align-items:center !important;
}
.route-map-modal .route-gpx-label{
  width:auto !important;
  white-space:nowrap !important;
  line-height:1 !important;
  font-size:12px !important;
}
.route-map-modal .route-gpx-buttons{
  flex:0 0 auto !important;
  justify-content:center !important;
}
.route-map-modal .route-gpx-btn.route-gpx-btn--single{
  min-width:74px !important;
  height:42px !important;
  padding:0 18px !important;
}
@media (max-width:720px){
  .route-map-modal .route-gpx-downloads{
    gap:12px !important;
    margin-top:10px !important;
  }
  .route-map-modal .route-gpx-label{
    font-size:12px !important;
  }
  .route-map-modal .route-gpx-btn.route-gpx-btn--single{
    min-width:72px !important;
    height:40px !important;
  }
}

/* RUN CITY PULSE — compact community signal before footer */
.rc-city-pulse{
  width:min(1180px, calc(100% - 40px));
  margin: clamp(70px, 9vw, 120px) auto clamp(46px, 7vw, 86px);
  position:relative;
}
.rc-city-pulse::before{
  content:"";
  position:absolute;
  inset:-34px 10% auto;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(218,255,47,.55), transparent);
  filter:drop-shadow(0 0 14px rgba(218,255,47,.35));
  opacity:.75;
  pointer-events:none;
}
.rc-city-pulse__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:20px;
}
.rc-city-pulse__head h2{
  margin:0;
  font-size:clamp(36px, 6vw, 82px);
  line-height:.88;
  letter-spacing:-.065em;
  text-transform:lowercase;
}
.rc-city-pulse__head p:last-child{
  max-width:340px;
  margin:0 0 8px;
  color:rgba(255,255,255,.62);
  font-size:15px;
  line-height:1.35;
  text-align:right;
}
.rc-city-pulse__card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(218,255,47,.28);
  border-radius:34px;
  padding:clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 18% 0%, rgba(218,255,47,.18), transparent 34%),
    radial-gradient(circle at 88% 90%, rgba(218,255,47,.12), transparent 28%),
    linear-gradient(135deg, rgba(20,24,21,.96), rgba(5,6,6,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.07);
}
.rc-city-pulse__card::after{
  content:"RUN CITY · HANNOVER · LIVE MOVEMENT ·";
  position:absolute;
  right:-22px;
  bottom:12px;
  color:rgba(255,255,255,.045);
  font-weight:900;
  font-size:clamp(42px, 8vw, 108px);
  letter-spacing:-.075em;
  white-space:nowrap;
  pointer-events:none;
}
.rc-city-pulse__graph{
  position:relative;
  height:clamp(120px, 16vw, 190px);
  margin-bottom:24px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  overflow:hidden;
}
.rc-city-pulse__graph svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
}
.rc-city-pulse__line{
  fill:none;
  stroke:url(#rcPulseGlow);
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.rc-city-pulse__line--glow{
  stroke:#d9ff35;
  stroke-width:9;
  opacity:.28;
  filter:blur(7px);
}
.rc-city-pulse__bars{
  position:absolute;
  inset:18px 18px 16px;
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  align-items:end;
  gap:10px;
  z-index:1;
}
.rc-city-pulse__bars span{
  height:100%;
  display:flex;
  align-items:end;
  justify-content:center;
}
.rc-city-pulse__bars i{
  display:block;
  width:100%;
  max-width:42px;
  border-radius:999px 999px 8px 8px;
  background:linear-gradient(180deg, rgba(218,255,47,.28), rgba(218,255,47,.055));
  box-shadow:0 0 24px rgba(218,255,47,.08);
}
.rc-city-pulse__stats{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.rc-city-pulse__stats div{
  border-radius:22px;
  padding:18px 18px 16px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.075);
}
.rc-city-pulse__stats strong{
  display:block;
  color:#d9ff35;
  font-size:clamp(30px, 5vw, 56px);
  line-height:.92;
  letter-spacing:-.055em;
}
.rc-city-pulse__stats span{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.66);
  font-weight:800;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rc-city-pulse__footer{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  font-weight:800;
  letter-spacing:.03em;
}
.rc-city-pulse__footer span:first-child{
  color:#fff;
}
@media (max-width: 760px){
  .rc-city-pulse{
    width:calc(100% - 28px);
    margin-top:72px;
  }
  .rc-city-pulse__head{
    display:block;
  }
  .rc-city-pulse__head p:last-child{
    text-align:left;
    margin-top:10px;
  }
  .rc-city-pulse__card{
    border-radius:28px;
    padding:20px;
  }
  .rc-city-pulse__graph{
    height:128px;
    border-radius:20px;
  }
  .rc-city-pulse__bars{
    gap:7px;
    inset:16px 14px 14px;
  }
  .rc-city-pulse__stats{
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
  }
  .rc-city-pulse__stats div{
    padding:14px 10px 12px;
    border-radius:18px;
  }
  .rc-city-pulse__stats strong{
    font-size:32px;
  }
  .rc-city-pulse__stats span{
    font-size:10px;
    letter-spacing:.08em;
  }
  .rc-city-pulse__footer{
    display:block;
    font-size:13px;
  }
  .rc-city-pulse__footer span{
    display:block;
  }
  .rc-city-pulse__footer span + span{
    margin-top:6px;
  }
}

/* RUN CITY PULSE v14 — red live pulse polish */
.rc-city-pulse::before{
  background:linear-gradient(90deg, transparent, rgba(255,23,68,.7), transparent);
  filter:drop-shadow(0 0 18px rgba(255,23,68,.55));
}
.rc-city-pulse__head{
  margin-bottom:18px;
}
.rc-city-pulse__graph{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 0 36px rgba(255,23,68,.12);
}
.rc-city-pulse__line{
  stroke:#ff1744;
  animation:rcPulseLine 2.4s ease-in-out infinite;
}
.rc-city-pulse__line--glow{
  stroke:#ff1744;
  opacity:.36;
  animation:rcPulseGlow 2.4s ease-in-out infinite;
}
.rc-city-pulse__bars i{
  background:linear-gradient(180deg, rgba(255,23,68,.34), rgba(255,23,68,.06));
  box-shadow:0 0 24px rgba(255,23,68,.12);
  animation:rcPulseBars 3.2s ease-in-out infinite;
}
@keyframes rcPulseLine{
  0%,100%{opacity:.72; filter:drop-shadow(0 0 6px rgba(255,23,68,.55));}
  45%{opacity:1; filter:drop-shadow(0 0 18px rgba(255,23,68,.95));}
}
@keyframes rcPulseGlow{
  0%,100%{opacity:.22; filter:blur(7px);}
  45%{opacity:.52; filter:blur(11px);}
}
@keyframes rcPulseBars{
  0%,100%{opacity:.58; box-shadow:0 0 18px rgba(255,23,68,.08);}
  50%{opacity:.9; box-shadow:0 0 30px rgba(255,23,68,.18);}
}
.rc-city-pulse__footer{display:none;}
@media (max-width: 760px){
  .rc-city-pulse__head{margin-bottom:18px;}
}


/* RUN CITY PULSE v17 — compact layout + stronger animated red pulse */
.rc-city-pulse{
  margin:clamp(56px, 8vw, 96px) auto clamp(42px, 6vw, 70px);
}
.rc-city-pulse__head{
  margin-bottom:14px;
}
.rc-city-pulse__card{
  border-radius:30px;
  padding:clamp(18px, 3vw, 24px);
}
.rc-city-pulse__card::after{
  right:-16px;
  bottom:8px;
  opacity:.72;
  font-size:clamp(34px, 7vw, 92px);
}
.rc-city-pulse__graph{
  height:clamp(92px, 11vw, 132px);
  margin-bottom:16px;
  border-radius:22px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 0 28px rgba(255,23,68,.14);
}
.rc-city-pulse__graph::after{
  content:"";
  position:absolute;
  inset:-10% -25%;
  background:radial-gradient(circle at 50% 50%, rgba(255,58,92,.18), transparent 32%);
  mix-blend-mode:screen;
  animation:rcPulseAmbient 2.8s ease-in-out infinite;
  pointer-events:none;
}
.rc-city-pulse__line{
  stroke:#ff3159;
  stroke-width:3.3;
  filter:drop-shadow(0 0 7px rgba(255,35,78,.62));
  animation:rcPulseLine 1.9s ease-in-out infinite;
}
.rc-city-pulse__line--glow{
  stroke:#ff1744;
  stroke-width:12;
  opacity:.44;
  filter:blur(10px);
  animation:rcPulseGlow 1.9s ease-in-out infinite;
}
.rc-city-pulse__line--spark{
  stroke:#ffd1db;
  stroke-width:2.2;
  opacity:.98;
  stroke-dasharray:14 86;
  stroke-dashoffset:120;
  filter:drop-shadow(0 0 10px rgba(255,200,210,.95));
  animation:rcPulseSpark 1.8s linear infinite;
}
.rc-city-pulse__bars{
  inset:14px 16px 12px;
  gap:8px;
}
.rc-city-pulse__bars i{
  max-width:34px;
  background:linear-gradient(180deg, rgba(255,42,84,.42), rgba(255,42,84,.07));
  box-shadow:0 0 18px rgba(255,23,68,.18);
  animation:rcPulseBars 2.2s ease-in-out infinite;
}
.rc-city-pulse__stats{
  gap:10px;
}
.rc-city-pulse__stats div{
  border-radius:20px;
  padding:14px 14px 12px;
}
.rc-city-pulse__stats strong{
  font-size:clamp(26px, 4vw, 48px);
}
.rc-city-pulse__stats span{
  margin-top:6px;
  font-size:11px;
  letter-spacing:.1em;
}
@keyframes rcPulseLine{
  0%,100%{opacity:.82; filter:drop-shadow(0 0 7px rgba(255,35,78,.56));}
  50%{opacity:1; filter:drop-shadow(0 0 18px rgba(255,61,92,.98));}
}
@keyframes rcPulseGlow{
  0%,100%{opacity:.24; filter:blur(8px);}
  50%{opacity:.64; filter:blur(13px);}
}
@keyframes rcPulseBars{
  0%,100%{opacity:.46; transform:scaleY(.94); box-shadow:0 0 16px rgba(255,23,68,.10);}
  50%{opacity:.96; transform:scaleY(1.05); box-shadow:0 0 28px rgba(255,23,68,.24);}
}
@keyframes rcPulseSpark{
  from{stroke-dashoffset:112;}
  to{stroke-dashoffset:0;}
}
@keyframes rcPulseAmbient{
  0%,100%{opacity:.24; transform:translateX(-3%) scaleX(.96);}
  50%{opacity:.58; transform:translateX(3%) scaleX(1.04);}
}
@media (prefers-reduced-motion: reduce){
  .rc-city-pulse__graph::after,
  .rc-city-pulse__line,
  .rc-city-pulse__line--glow,
  .rc-city-pulse__line--spark,
  .rc-city-pulse__bars i{
    animation:none !important;
  }
}
@media (max-width: 760px){
  .rc-city-pulse{
    width:calc(100% - 24px);
    margin-top:58px;
    margin-bottom:38px;
  }
  .rc-city-pulse__card{
    border-radius:26px;
    padding:16px;
  }
  .rc-city-pulse__graph{
    height:88px;
    border-radius:18px;
    margin-bottom:14px;
  }
  .rc-city-pulse__bars{
    inset:12px 12px 10px;
    gap:6px;
  }
  .rc-city-pulse__bars i{
    max-width:26px;
  }
  .rc-city-pulse__stats{
    gap:8px;
  }
  .rc-city-pulse__stats div{
    padding:12px 10px 10px;
    border-radius:16px;
  }
  .rc-city-pulse__stats strong{
    font-size:26px;
  }
  .rc-city-pulse__stats span{
    font-size:9px;
    letter-spacing:.07em;
  }
}


/* RUN CITY Footer v18 — minimalist embed link */
.rc-footer-embedline{
  width:100%;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.075);
  display:flex;
  justify-content:center;
}
.rc-footer-embedline a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .18s ease, text-shadow .18s ease, transform .18s ease;
}
.rc-footer-embedline a:hover,
.rc-footer-embedline a:focus-visible{
  color:var(--accent);
  text-shadow:0 0 16px rgba(219,255,0,.34);
  transform:translateY(-1px);
  outline:none;
}
.rc-footer-embedline span{
  color:var(--accent);
}
@media (max-width:760px){
  .rc-footer-embedline{
    justify-content:flex-start;
    margin-top:12px;
    padding-top:12px;
  }
  .rc-footer-embedline a{
    font-size:11px;
    letter-spacing:.12em;
  }
}

/* RUN CITY Footer v22 restore — centered final footer + pulse line */
.site-footer.rc-footer-final{
  position:relative !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:16px !important;
  padding:34px clamp(20px,4vw,56px) 36px !important;
  border-top:0 !important;
  background:#050505 !important;
  text-align:center !important;
  color:rgba(255,255,255,.76) !important;
  overflow:hidden !important;
}
.site-footer.rc-footer-final::before{
  content:"" !important;
  display:block !important;
  width:min(420px, calc(100vw - 56px)) !important;
  height:2px !important;
  margin:0 auto 2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,35,56,.22) 18%, rgba(255,35,56,1) 50%, rgba(255,35,56,.22) 82%, transparent 100%) !important;
  box-shadow:0 0 22px rgba(255,35,56,.42), 0 0 46px rgba(255,35,56,.18) !important;
  opacity:.95 !important;
}
.site-footer.rc-footer-final .rc-footer-brand{
  width:100% !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  white-space:normal !important;
}
.site-footer.rc-footer-final .rc-footer-nav,
.site-footer.rc-footer-final .rc-footer-community,
.site-footer.rc-footer-final .rc-footer-embedline{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 !important;
  text-align:center !important;
}
.site-footer.rc-footer-final .rc-footer-nav a,
.site-footer.rc-footer-final .rc-footer-community a,
.site-footer.rc-footer-final .rc-share-btn--footer,
.site-footer.rc-footer-final .rc-footer-embedline a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:rgba(255,255,255,.78) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.site-footer.rc-footer-final .rc-footer-nav a::after,
.site-footer.rc-footer-final .rc-share-btn--footer::after,
.site-footer.rc-footer-final .rc-footer-embedline a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1px !important;
  background:currentColor !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:center !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:hover,
.site-footer.rc-footer-final .rc-footer-nav a:focus-visible,
.site-footer.rc-footer-final .rc-share-btn--footer:hover,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible,
.site-footer.rc-footer-final .rc-footer-embedline a:hover,
.site-footer.rc-footer-final .rc-footer-embedline a:focus-visible{
  color:#d7ff00 !important;
  outline:none !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:hover::after,
.site-footer.rc-footer-final .rc-footer-nav a:focus-visible::after,
.site-footer.rc-footer-final .rc-share-btn--footer:hover::after,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible::after,
.site-footer.rc-footer-final .rc-footer-embedline a:hover::after,
.site-footer.rc-footer-final .rc-footer-embedline a:focus-visible::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
.site-footer.rc-footer-final .rc-footer-report{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-footer-report-full{
  display:inline !important;
}
.site-footer.rc-footer-final .rc-footer-report-short{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-sep,
.site-footer.rc-footer-final .rc-footer-community-sep{
  color:rgba(255,255,255,.26) !important;
  font-size:11px !important;
}
.site-footer.rc-footer-final .rc-footer-heart{
  color:#ff3b30 !important;
  font-size:13px !important;
  line-height:1 !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  color:rgba(255,255,255,.58) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
}
.site-footer.rc-footer-final .rc-footer-embedline{
  margin-top:2px !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.site-footer.rc-footer-final .rc-footer-embedline a{
  color:rgba(255,255,255,.66) !important;
}
.site-footer.rc-footer-final .rc-footer-embedline span{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-share-icon{
  width:13px !important;
  height:13px !important;
}
@media (max-width:720px){
  .site-footer.rc-footer-final{
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    padding:30px 18px 34px !important;
    text-align:center !important;
  }
  .site-footer.rc-footer-final::before{
    width:min(320px, calc(100vw - 44px)) !important;
    margin-bottom:0 !important;
  }
  .site-footer.rc-footer-final .rc-footer-brand{
    text-align:center !important;
    font-size:12px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .site-footer.rc-footer-final .rc-footer-report{
    flex:0 0 auto !important;
    width:auto !important;
    order:-1 !important;
    min-height:36px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    background:#d7ff00 !important;
    color:#050505 !important;
    font-size:11px !important;
    margin-bottom:2px !important;
  }
  .site-footer.rc-footer-final .rc-footer-report::after{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-full{
    display:inline !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-short{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-report + .rc-footer-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-imprint,
  .site-footer.rc-footer-final .rc-footer-imprint-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    justify-content:center !important;
    font-size:11px !important;
  }
  .site-footer.rc-footer-final .rc-footer-embedline{
    justify-content:center !important;
    margin-top:0 !important;
  }
  .site-footer.rc-footer-final .rc-footer-embedline a{
    font-size:11px !important;
    letter-spacing:.12em !important;
  }
}



/* RUN CITY Footer v23 — restore final split: centered pulse line, desktop text nav, mobile report pill row */
.site-footer.rc-footer-final{
  position:relative !important;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  padding:34px clamp(20px,4vw,56px) 36px !important;
  border-top:0 !important;
  background:#050505 !important;
  text-align:center !important;
  color:rgba(255,255,255,.76) !important;
  overflow:hidden !important;
}
.site-footer.rc-footer-final::before{
  content:"" !important;
  display:block !important;
  width:min(420px, calc(100vw - 56px)) !important;
  height:2px !important;
  margin:0 auto 2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,35,56,.22) 18%, rgba(255,35,56,1) 50%, rgba(255,35,56,.22) 82%, transparent 100%) !important;
  box-shadow:0 0 22px rgba(255,35,56,.42), 0 0 46px rgba(255,35,56,.18) !important;
  opacity:.95 !important;
}
.site-footer.rc-footer-final .rc-footer-brand,
.site-footer.rc-footer-final .rc-footer-nav,
.site-footer.rc-footer-final .rc-footer-community,
.site-footer.rc-footer-final .rc-footer-embedline{
  width:100% !important;
  text-align:center !important;
}
.site-footer.rc-footer-final .rc-footer-brand{
  order:1 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
}
.site-footer.rc-footer-final .rc-footer-nav{
  order:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  order:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 !important;
  color:rgba(255,255,255,.58) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
}
.site-footer.rc-footer-final .rc-footer-embedline{
  order:4 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  border-top:0 !important;
}
.site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-nav a,
.site-footer.rc-footer-final .rc-share-btn--footer,
.site-footer.rc-footer-final .rc-footer-embedline a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:rgba(255,255,255,.78) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.site-footer.rc-footer-final .rc-footer-nav a::after,
.site-footer.rc-footer-final .rc-share-btn--footer::after,
.site-footer.rc-footer-final .rc-footer-embedline a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1px !important;
  background:currentColor !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:center !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:hover,
.site-footer.rc-footer-final .rc-footer-nav a:focus-visible,
.site-footer.rc-footer-final .rc-share-btn--footer:hover,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible,
.site-footer.rc-footer-final .rc-footer-embedline a:hover,
.site-footer.rc-footer-final .rc-footer-embedline a:focus-visible{
  color:#d7ff00 !important;
  outline:none !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:hover::after,
.site-footer.rc-footer-final .rc-footer-nav a:focus-visible::after,
.site-footer.rc-footer-final .rc-share-btn--footer:hover::after,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible::after,
.site-footer.rc-footer-final .rc-footer-embedline a:hover::after,
.site-footer.rc-footer-final .rc-footer-embedline a:focus-visible::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
.site-footer.rc-footer-final .rc-footer-report{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-footer-report-full{
  display:inline !important;
}
.site-footer.rc-footer-final .rc-footer-report-short{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-sep,
.site-footer.rc-footer-final .rc-footer-community-sep{
  color:rgba(255,255,255,.26) !important;
  font-size:11px !important;
}
.site-footer.rc-footer-final .rc-footer-heart{
  color:#ff3b30 !important;
  font-size:13px !important;
  line-height:1 !important;
}
.site-footer.rc-footer-final .rc-footer-embedline a{
  color:rgba(255,255,255,.66) !important;
}
.site-footer.rc-footer-final .rc-footer-embedline span{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-share-icon{
  width:13px !important;
  height:13px !important;
}
@media (max-width:720px){
  .site-footer.rc-footer-final{
    gap:13px !important;
    padding:30px 18px 34px !important;
  }
  .site-footer.rc-footer-final::before{
    width:min(320px, calc(100vw - 44px)) !important;
    margin-bottom:0 !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    gap:9px !important;
  }
  .site-footer.rc-footer-final .rc-footer-report{
    order:1 !important;
    display:inline-flex !important;
    width:auto !important;
    min-height:36px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    background:#d7ff00 !important;
    color:#050505 !important;
    font-size:11px !important;
    margin:0 auto 2px !important;
  }
  .site-footer.rc-footer-final .rc-footer-report::after{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
    order:2 !important;
    display:block !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:0 !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav > a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-nav > .rc-footer-sep:not(.rc-footer-report-sep){
    order:3 !important;
  }
  .site-footer.rc-footer-final .rc-footer-imprint,
  .site-footer.rc-footer-final .rc-footer-imprint-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    font-size:11px !important;
  }
  .site-footer.rc-footer-final .rc-footer-embedline{
    margin-top:0 !important;
  }
  .site-footer.rc-footer-final .rc-footer-embedline a{
    font-size:11px !important;
    letter-spacing:.12em !important;
  }
}


/* RUN CITY Footer v24 — final centered split footer with mobile Route pill */
.site-footer.rc-footer-final{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
  padding:34px clamp(20px,4vw,56px) 36px !important;
  border-top:0 !important;
  background:#050505 !important;
  color:rgba(255,255,255,.76) !important;
  text-align:center !important;
  overflow:hidden !important;
}
.site-footer.rc-footer-final::before{
  content:"" !important;
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:2px !important;
  margin:0 auto 3px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,35,56,.20) 16%, rgba(255,35,56,1) 50%, rgba(255,35,56,.20) 84%, transparent 100%) !important;
  box-shadow:0 0 22px rgba(255,35,56,.46), 0 0 48px rgba(255,35,56,.18) !important;
  opacity:.96 !important;
}
.site-footer.rc-footer-final .rc-footer-brand{
  order:1 !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
}
.site-footer.rc-footer-final .rc-footer-nav{
  order:2 !important;
  width:100% !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  text-align:center !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  order:3 !important;
  width:100% !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  text-align:center !important;
  color:rgba(255,255,255,.62) !important;
  font-size:11px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
}
.site-footer.rc-footer-final .rc-footer-embedline{
  order:4 !important;
  width:100% !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  border-top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.site-footer.rc-footer-final .rc-footer-nav a,
.site-footer.rc-footer-final .rc-share-btn--footer,
.site-footer.rc-footer-final .rc-footer-embedline a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:rgba(255,255,255,.78) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.site-footer.rc-footer-final .rc-footer-report{
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-footer-report-short,
.site-footer.rc-footer-final .rc-footer-imprint-short{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-imprint-full{
  display:inline !important;
}
.site-footer.rc-footer-final .rc-footer-sep,
.site-footer.rc-footer-final .rc-footer-community-sep{
  display:inline !important;
  color:rgba(255,255,255,.28) !important;
  font-size:11px !important;
  line-height:1 !important;
}
.site-footer.rc-footer-final .rc-footer-heart{
  color:#ff2a3f !important;
  font-size:13px !important;
  line-height:1 !important;
  text-shadow:0 0 14px rgba(255,35,56,.28) !important;
}
.site-footer.rc-footer-final .rc-share-btn--footer{
  appearance:none !important;
}
.site-footer.rc-footer-final .rc-share-icon{
  width:13px !important;
  height:13px !important;
}
.site-footer.rc-footer-final .rc-footer-nav a::after,
.site-footer.rc-footer-final .rc-share-btn--footer::after,
.site-footer.rc-footer-final .rc-footer-embedline a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1px !important;
  background:currentColor !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:center !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:hover,
.site-footer.rc-footer-final .rc-footer-nav a:focus-visible,
.site-footer.rc-footer-final .rc-share-btn--footer:hover,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible,
.site-footer.rc-footer-final .rc-footer-embedline a:hover,
.site-footer.rc-footer-final .rc-footer-embedline a:focus-visible{
  color:#d7ff00 !important;
  outline:none !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:hover::after,
.site-footer.rc-footer-final .rc-footer-nav a:focus-visible::after,
.site-footer.rc-footer-final .rc-share-btn--footer:hover::after,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible::after,
.site-footer.rc-footer-final .rc-footer-embedline a:hover::after,
.site-footer.rc-footer-final .rc-footer-embedline a:focus-visible::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}
.site-footer.rc-footer-final .rc-footer-embedline a{
  color:rgba(255,255,255,.70) !important;
  letter-spacing:.13em !important;
}
.site-footer.rc-footer-final .rc-footer-embedline a span{
  color:#d7ff00 !important;
}

@media (max-width:720px){
  .site-footer.rc-footer-final{
    left:50% !important;
    width:100vw !important;
    margin-left:-50vw !important;
    align-items:center !important;
    justify-content:center !important;
    gap:13px !important;
    padding:30px 16px calc(34px + env(safe-area-inset-bottom,0px)) !important;
    text-align:center !important;
  }
  .site-footer.rc-footer-final::before{
    width:min(300px, calc(100vw - 44px)) !important;
    margin-bottom:2px !important;
  }
  .site-footer.rc-footer-final .rc-footer-brand{
    font-size:12px !important;
    letter-spacing:.16em !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    line-height:1.2 !important;
  }
  .site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
    display:block !important;
    flex-basis:100% !important;
    width:100% !important;
    height:0 !important;
    order:2 !important;
  }
  .site-footer.rc-footer-final .rc-footer-report{
    order:1 !important;
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:36px !important;
    padding:0 17px !important;
    border-radius:999px !important;
    background:#d7ff00 !important;
    color:#050505 !important;
    border:1px solid rgba(215,255,0,.96) !important;
    box-shadow:0 0 18px rgba(215,255,0,.20) !important;
    font-size:11px !important;
    letter-spacing:.075em !important;
    white-space:nowrap !important;
  }
  .site-footer.rc-footer-final .rc-footer-report::after{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-full{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-short{
    display:inline !important;
  }
  .site-footer.rc-footer-final .rc-footer-report-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav > a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-nav > .rc-footer-sep:not(.rc-footer-report-sep){
    order:3 !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report){
    font-size:11px !important;
    letter-spacing:.105em !important;
  }
  .site-footer.rc-footer-final .rc-footer-imprint-full{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-footer-imprint-short{
    display:inline !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    flex-direction:column !important;
    gap:7px !important;
    font-size:11px !important;
    line-height:1.28 !important;
  }
  .site-footer.rc-footer-final .rc-footer-community-sep{
    display:none !important;
  }
  .site-footer.rc-footer-final .rc-share-btn--footer{
    margin-top:0 !important;
    color:rgba(255,255,255,.82) !important;
  }
  .site-footer.rc-footer-final .rc-footer-embedline{
    margin-top:0 !important;
  }
  .site-footer.rc-footer-final .rc-footer-embedline a{
    font-size:11px !important;
    letter-spacing:.105em !important;
  }
}

@media (max-width:380px){
  .site-footer.rc-footer-final .rc-footer-report{
    font-size:10px !important;
    padding:0 14px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    gap:7px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-sep{
    font-size:10px !important;
  }
}


/* RUN CITY Footer v25 — final requested order, fully centered, no emoji arrows */
.site-footer.rc-footer-final{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
  padding:34px clamp(20px,4vw,56px) 38px !important;
  border-top:0 !important;
  background:#050505 !important;
  color:rgba(255,255,255,.76) !important;
  text-align:center !important;
  overflow:hidden !important;
}
.site-footer.rc-footer-final::before{
  content:"" !important;
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:2px !important;
  margin:0 auto 5px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,35,56,.20) 16%, rgba(255,35,56,1) 50%, rgba(255,35,56,.20) 84%, transparent 100%) !important;
  box-shadow:0 0 22px rgba(255,35,56,.46), 0 0 48px rgba(255,35,56,.18) !important;
  opacity:.96 !important;
}

/* Order */
.site-footer.rc-footer-final .rc-footer-community{order:1 !important;}
.site-footer.rc-footer-final .rc-footer-nav{order:2 !important;}
.site-footer.rc-footer-final .rc-footer-linkrow{order:3 !important;}
.site-footer.rc-footer-final .rc-footer-brand{order:4 !important;}

/* Rows */
.site-footer.rc-footer-final .rc-footer-community,
.site-footer.rc-footer-final .rc-footer-nav,
.site-footer.rc-footer-final .rc-footer-linkrow,
.site-footer.rc-footer-final .rc-footer-brand{
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  gap:7px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:820 !important;
  letter-spacing:.025em !important;
}
.site-footer.rc-footer-final .rc-footer-heart{
  color:#ff2a3f !important;
  font-size:14px !important;
  line-height:1 !important;
  text-shadow:0 0 14px rgba(255,35,56,.30) !important;
}
.site-footer.rc-footer-final .rc-footer-nav{
  gap:10px !important;
}
.site-footer.rc-footer-final .rc-footer-linkrow{
  gap:10px !important;
}
.site-footer.rc-footer-final .rc-footer-brand{
  color:rgba(255,255,255,.74) !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
}

/* Links/buttons */
.site-footer.rc-footer-final .rc-footer-nav a,
.site-footer.rc-footer-final .rc-footer-linkrow a,
.site-footer.rc-footer-final .rc-share-btn--footer{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:rgba(255,255,255,.80) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:920 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  appearance:none !important;
}
.site-footer.rc-footer-final .rc-footer-report{
  min-height:36px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#050505 !important;
  border:1px solid rgba(215,255,0,.96) !important;
  box-shadow:0 0 18px rgba(215,255,0,.20) !important;
  letter-spacing:.08em !important;
}
.site-footer.rc-footer-final .rc-footer-report::after{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-sep{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.28) !important;
  font-size:11px !important;
  line-height:1 !important;
}
.site-footer.rc-footer-final .rc-share-icon{
  width:13px !important;
  height:13px !important;
  flex:0 0 auto !important;
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report)::after,
.site-footer.rc-footer-final .rc-footer-linkrow a::after,
.site-footer.rc-footer-final .rc-share-btn--footer::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1px !important;
  background:currentColor !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:center !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):hover,
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):focus-visible,
.site-footer.rc-footer-final .rc-footer-linkrow a:hover,
.site-footer.rc-footer-final .rc-footer-linkrow a:focus-visible,
.site-footer.rc-footer-final .rc-share-btn--footer:hover,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible{
  color:#d7ff00 !important;
  outline:none !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):hover::after,
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):focus-visible::after,
.site-footer.rc-footer-final .rc-footer-linkrow a:hover::after,
.site-footer.rc-footer-final .rc-footer-linkrow a:focus-visible::after,
.site-footer.rc-footer-final .rc-share-btn--footer:hover::after,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}

/* Hide legacy helper spans if old CSS rules still exist in cache */
.site-footer.rc-footer-final .rc-footer-embedline,
.site-footer.rc-footer-final .rc-footer-report-full,
.site-footer.rc-footer-final .rc-footer-report-short,
.site-footer.rc-footer-final .rc-footer-imprint-full,
.site-footer.rc-footer-final .rc-footer-imprint-short,
.site-footer.rc-footer-final .rc-footer-community-sep{
  display:none !important;
}
.site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
  display:none !important;
}

@media (max-width:720px){
  .site-footer.rc-footer-final{
    gap:12px !important;
    padding:30px 16px calc(34px + env(safe-area-inset-bottom,0px)) !important;
  }
  .site-footer.rc-footer-final::before{
    width:min(300px, calc(100vw - 44px)) !important;
    margin-bottom:4px !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    font-size:11px !important;
    line-height:1.3 !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    gap:8px !important;
  }
  .site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
    display:block !important;
    flex-basis:100% !important;
    width:100% !important;
    height:0 !important;
    order:2 !important;
  }
  .site-footer.rc-footer-final .rc-footer-report{
    order:1 !important;
    flex:0 0 auto !important;
    min-height:36px !important;
    padding:0 17px !important;
    font-size:11px !important;
    letter-spacing:.075em !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav > a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-nav > .rc-footer-sep{
    order:3 !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-linkrow a,
  .site-footer.rc-footer-final .rc-share-btn--footer{
    font-size:11px !important;
    letter-spacing:.09em !important;
  }
  .site-footer.rc-footer-final .rc-footer-linkrow{
    gap:8px !important;
  }
  .site-footer.rc-footer-final .rc-footer-brand{
    font-size:11px !important;
    letter-spacing:.16em !important;
  }
}
@media (max-width:390px){
  .site-footer.rc-footer-final .rc-footer-report{
    font-size:10px !important;
    padding:0 14px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav,
  .site-footer.rc-footer-final .rc-footer-linkrow{
    gap:7px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-linkrow a,
  .site-footer.rc-footer-final .rc-share-btn--footer,
  .site-footer.rc-footer-final .rc-footer-sep{
    font-size:10px !important;
  }
}


/* RUN CITY Footer v26 — requested final order: community, pulse line, green pill, nav, link row, copyright */
.site-footer.rc-footer-final{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
  padding:34px clamp(20px,4vw,56px) 38px !important;
  border-top:0 !important;
  background:#050505 !important;
  color:rgba(255,255,255,.76) !important;
  text-align:center !important;
  overflow:hidden !important;
}
.site-footer.rc-footer-final::before{
  display:none !important;
  content:none !important;
}

/* Exact order, same on mobile and desktop */
.site-footer.rc-footer-final .rc-footer-community{order:1 !important;}
.site-footer.rc-footer-final .rc-footer-pulseline{order:2 !important;}
.site-footer.rc-footer-final .rc-footer-nav{order:3 !important;}
.site-footer.rc-footer-final .rc-footer-linkrow{order:4 !important;}
.site-footer.rc-footer-final .rc-footer-brand{order:5 !important;}

.site-footer.rc-footer-final .rc-footer-community,
.site-footer.rc-footer-final .rc-footer-nav,
.site-footer.rc-footer-final .rc-footer-linkrow,
.site-footer.rc-footer-final .rc-footer-brand{
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  gap:7px !important;
  color:rgba(255,255,255,.70) !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:820 !important;
  letter-spacing:.025em !important;
}
.site-footer.rc-footer-final .rc-footer-heart{
  color:#ff2a3f !important;
  font-size:14px !important;
  line-height:1 !important;
  text-shadow:0 0 14px rgba(255,35,56,.30) !important;
}
.site-footer.rc-footer-final .rc-footer-pulseline{
  width:min(430px, calc(100vw - 56px)) !important;
  height:1px !important;
  margin:0 auto 2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,35,56,.08) 14%, rgba(255,35,56,.90) 34%, rgba(255,35,56,1) 50%, rgba(255,35,56,.90) 66%, rgba(255,35,56,.08) 86%, transparent 100%) !important;
  background-size:220% 100% !important;
  box-shadow:0 0 14px rgba(255,35,56,.34), 0 0 30px rgba(255,35,56,.12) !important;
  opacity:.86 !important;
  flex:0 0 auto !important;
  animation:rcFooterPulseSweep 2.8s ease-in-out infinite !important;
}
.site-footer.rc-footer-final .rc-footer-nav{
  gap:10px !important;
}
.site-footer.rc-footer-final .rc-footer-linkrow{
  gap:10px !important;
}
.site-footer.rc-footer-final .rc-footer-brand{
  color:rgba(255,255,255,.74) !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
}

/* Links/buttons */
.site-footer.rc-footer-final .rc-footer-nav a,
.site-footer.rc-footer-final .rc-footer-linkrow a,
.site-footer.rc-footer-final .rc-share-btn--footer{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:rgba(255,255,255,.80) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:920 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  appearance:none !important;
}

/* Green pill on desktop AND mobile */
.site-footer.rc-footer-final .rc-footer-report,
.site-footer.rc-footer-final .rc-footer-nav a.rc-footer-report{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#050505 !important;
  border:1px solid rgba(215,255,0,.96) !important;
  box-shadow:0 0 18px rgba(215,255,0,.20) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
}
.site-footer.rc-footer-final .rc-footer-report::after{
  display:none !important;
  content:none !important;
}

.site-footer.rc-footer-final .rc-footer-sep{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.28) !important;
  font-size:11px !important;
  line-height:1 !important;
}
.site-footer.rc-footer-final .rc-share-icon{
  width:13px !important;
  height:13px !important;
  flex:0 0 auto !important;
  color:#d7ff00 !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report)::after,
.site-footer.rc-footer-final .rc-footer-linkrow a::after,
.site-footer.rc-footer-final .rc-share-btn--footer::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-5px !important;
  height:1px !important;
  background:currentColor !important;
  opacity:0 !important;
  transform:scaleX(.35) !important;
  transform-origin:center !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):hover,
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):focus-visible,
.site-footer.rc-footer-final .rc-footer-linkrow a:hover,
.site-footer.rc-footer-final .rc-footer-linkrow a:focus-visible,
.site-footer.rc-footer-final .rc-share-btn--footer:hover,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible{
  color:#d7ff00 !important;
  outline:none !important;
}
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):hover::after,
.site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report):focus-visible::after,
.site-footer.rc-footer-final .rc-footer-linkrow a:hover::after,
.site-footer.rc-footer-final .rc-footer-linkrow a:focus-visible::after,
.site-footer.rc-footer-final .rc-share-btn--footer:hover::after,
.site-footer.rc-footer-final .rc-share-btn--footer:focus-visible::after{
  opacity:1 !important;
  transform:scaleX(1) !important;
}

/* Hide obsolete helper spans from older footer variants */
.site-footer.rc-footer-final .rc-footer-embedline,
.site-footer.rc-footer-final .rc-footer-report-full,
.site-footer.rc-footer-final .rc-footer-report-short,
.site-footer.rc-footer-final .rc-footer-imprint-full,
.site-footer.rc-footer-final .rc-footer-imprint-short,
.site-footer.rc-footer-final .rc-footer-community-sep{
  display:none !important;
}

@media (max-width:720px){
  .site-footer.rc-footer-final{
    gap:12px !important;
    padding:30px 16px calc(34px + env(safe-area-inset-bottom,0px)) !important;
  }
  .site-footer.rc-footer-final .rc-footer-pulseline{
    width:min(300px, calc(100vw - 44px)) !important;
    margin-bottom:3px !important;
  }
  .site-footer.rc-footer-final .rc-footer-community{
    font-size:11px !important;
    line-height:1.3 !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav{
    gap:8px !important;
  }
  .site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
    display:block !important;
    flex-basis:100% !important;
    width:100% !important;
    height:0 !important;
    order:2 !important;
  }
  .site-footer.rc-footer-final .rc-footer-report{
    order:1 !important;
    min-height:36px !important;
    padding:0 17px !important;
    font-size:11px !important;
    letter-spacing:.075em !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav > a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-nav > .rc-footer-sep{
    order:3 !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-linkrow a,
  .site-footer.rc-footer-final .rc-share-btn--footer{
    font-size:11px !important;
    letter-spacing:.09em !important;
  }
  .site-footer.rc-footer-final .rc-footer-linkrow{
    gap:8px !important;
  }
  .site-footer.rc-footer-final .rc-footer-brand{
    font-size:11px !important;
    letter-spacing:.16em !important;
  }
}
@media (max-width:390px){
  .site-footer.rc-footer-final .rc-footer-report{
    font-size:10px !important;
    padding:0 14px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav,
  .site-footer.rc-footer-final .rc-footer-linkrow{
    gap:7px !important;
  }
  .site-footer.rc-footer-final .rc-footer-nav a:not(.rc-footer-report),
  .site-footer.rc-footer-final .rc-footer-linkrow a,
  .site-footer.rc-footer-final .rc-share-btn--footer,
  .site-footer.rc-footer-final .rc-footer-sep{
    font-size:10px !important;
  }
}


/* RUN CITY Footer v27 — break after report pill on desktop and mobile */
.site-footer.rc-footer-final .rc-footer-nav{
  row-gap:11px !important;
}
.site-footer.rc-footer-final .rc-footer-mobile-rowbreak{
  display:block !important;
  flex-basis:100% !important;
  width:100% !important;
  height:0 !important;
  order:2 !important;
}
.site-footer.rc-footer-final .rc-footer-report{
  order:1 !important;
}
.site-footer.rc-footer-final .rc-footer-nav > a:not(.rc-footer-report),
.site-footer.rc-footer-final .rc-footer-nav > .rc-footer-sep{
  order:3 !important;
}
@media (min-width:721px){
  .site-footer.rc-footer-final .rc-footer-nav{
    max-width:100% !important;
  }
}


/* RUN CITY Footer v28 — one clean blank line before copyright on desktop and mobile */
.site-footer.rc-footer-final .rc-footer-brand{
  margin-top:13px !important;
}
@media (max-width:720px){
  .site-footer.rc-footer-final .rc-footer-brand{
    margin-top:13px !important;
  }
}


/* RUN CITY Footer v29 — keep heart/community claim on one line on mobile */
@media (max-width:720px){
  .site-footer.rc-footer-final .rc-footer-community{
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    white-space:nowrap !important;
    width:100% !important;
    font-size:clamp(10px, 2.85vw, 11px) !important;
    line-height:1.2 !important;
  }
  .site-footer.rc-footer-final .rc-footer-community span{
    display:inline-flex !important;
    align-items:center !important;
    white-space:nowrap !important;
  }
  .site-footer.rc-footer-final .rc-footer-heart{
    flex:0 0 auto !important;
  }
}


/* RUN CITY v31 — SVG external link icons, no emoji arrows */
.anthem-links .rc-external-icon{
  width:14px;
  height:14px;
  flex:0 0 auto;
  color:currentColor;
  stroke:currentColor;
}


/* RUN CITY v35 — RunClubs section radius + desktop details inset */
#runclubs.runclubs-editorial{
  position:relative !important;
  overflow:hidden !important;
  border-top-left-radius:34px !important;
  border-top-right-radius:34px !important;
  border-bottom-left-radius:34px !important;
  border-bottom-right-radius:34px !important;
}
@media (min-width:721px){
  #runclubs.runclubs-editorial{
    margin-left:clamp(8px, .8vw, 14px) !important;
    margin-right:clamp(8px, .8vw, 14px) !important;
    width:auto !important;
  }
  #runclubs .club-card-footer{
    padding-right:12px !important;
  }
  #runclubs .club-detail-button{
    margin-right:8px !important;
    transform:translateX(-4px) !important;
  }
}
@media (max-width:720px){
  #runclubs.runclubs-editorial{
    border-top-left-radius:26px !important;
    border-top-right-radius:26px !important;
    border-bottom-left-radius:26px !important;
    border-bottom-right-radius:26px !important;
  }
}


/* RUN CITY v36 — HUD display polish only; navigation mechanics untouched */
.route-map-canvas-wrap .rc-live-hud-chip-offroute{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  min-width:0 !important;
  max-width:100% !important;
  text-align:center !important;
  line-height:1.02 !important;
}
.route-map-canvas-wrap .rc-live-hud-chip-offroute strong{
  display:block !important;
  font:inherit !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.route-map-canvas-wrap .rc-live-hud-chip-offroute small{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:clamp(11px, 1.55vw, 13px) !important;
  line-height:1.02 !important;
  font-weight:950 !important;
  letter-spacing:.075em !important;
}
.route-map-canvas-wrap .rc-live-hud-chips{
  min-width:0 !important;
}
@media (max-width:720px){
  .route-map-canvas-wrap .rc-live-hud-chip{
    padding:8px 11px !important;
    min-height:42px !important;
    max-width:100% !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip-offroute strong{
    font-size:clamp(17px, 4.7vw, 22px) !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip-offroute small{
    font-size:clamp(10px, 3.1vw, 12px) !important;
    letter-spacing:.055em !important;
  }
  .route-map-canvas-wrap .rc-live-hud-main{
    font-size:30px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-meta{
    font-size:16px !important;
  }
}
@media (max-width:390px){
  .route-map-canvas-wrap .rc-live-hud-chip-offroute strong{
    font-size:16px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip-offroute small{
    font-size:10px !important;
    letter-spacing:.035em !important;
  }
}

/* RUN CITY v36 — RunClubs section reads more like a card with a small side gap */
#runclubs.runclubs-editorial{
  box-sizing:border-box !important;
}
@media (min-width:721px){
  #runclubs.runclubs-editorial{
    margin-left:clamp(18px, 2.1vw, 34px) !important;
    margin-right:clamp(18px, 2.1vw, 34px) !important;
    width:auto !important;
  }
}
@media (max-width:720px){
  #runclubs.runclubs-editorial{
    margin-left:12px !important;
    margin-right:12px !important;
    width:auto !important;
  }
}


/* RUN CITY v38 — hide sponsor badge in entry/start overlay states.
   Sponsor logo remains in normal route modal/live contexts, but never inside
   "Du bist da / Lauf los" entry-start overlay. */
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-nav-sponsor-badge,
.route-map-modal.rc-maplibre-nav-active.is-entry-ready .rc-nav-sponsor-badge{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}


/* RUN CITY v39 — Entry-navigation HUD: centered, no longer shifted into map controls.
   Only affects "Zum Einstieg" navigation. Live HUD / route progress mechanics remain untouched. */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  left:50% !important;
  right:auto !important;
  top:calc(env(safe-area-inset-top, 0px) + 86px) !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(520px, calc(100vw - 154px)) !important;
  max-width:min(520px, calc(100vw - 154px)) !important;
  min-width:260px !important;
  box-sizing:border-box !important;
  z-index:910 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  justify-items:stretch !important;
  column-gap:14px !important;
  row-gap:6px !important;
  padding:13px 18px 14px !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  justify-self:end !important;
  text-align:right !important;
  font-size:clamp(36px, 7.4vw, 54px) !important;
  line-height:.92 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  grid-column:1 / -1 !important;
  text-align:left !important;
  font-size:clamp(17px, 3.8vw, 24px) !important;
  line-height:1.12 !important;
}
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  white-space:nowrap !important;
}

@media (max-width:720px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    top:calc(env(safe-area-inset-top, 0px) + 92px) !important;
    width:min(460px, calc(100vw - 128px)) !important;
    max-width:min(460px, calc(100vw - 128px)) !important;
    min-width:238px !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    padding:12px 14px 13px !important;
    column-gap:10px !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
    font-size:10.5px !important;
    letter-spacing:.15em !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:clamp(34px, 8.2vw, 48px) !important;
  }
}

@media (max-width:390px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    top:calc(env(safe-area-inset-top, 0px) + 96px) !important;
    width:calc(100vw - 112px) !important;
    max-width:calc(100vw - 112px) !important;
    min-width:224px !important;
  }
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:35px !important;
  }
}


/* RUN CITY v41 — close button further top-right in map fullscreen */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 4px) !important;
  right:6px !important;
  width:44px !important;
  height:44px !important;
  z-index:960 !important;
}
@media (max-width:720px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-close{
    top:calc(env(safe-area-inset-top, 0px) + 4px) !important;
    right:6px !important;
  }
}

/* RUN CITY v42 minimal live count pill – only the small top-center display, no HUD/navigation changes */
.route-map-modal.rc-maplibre-nav-active .route-map-canvas-wrap{
  position:relative;
}
.rc-route-live-count-pill{
  position:absolute;
  left:50%;
  top:calc(env(safe-area-inset-top, 0px) + 14px);
  z-index:760;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:max-content;
  max-width:calc(100% - 126px);
  min-height:44px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid rgba(215,255,0,.62);
  background:rgba(24,26,23,.86);
  color:rgba(255,255,255,.76);
  box-shadow:0 14px 34px rgba(0,0,0,.28), 0 0 24px rgba(215,255,0,.12);
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
  backdrop-filter:blur(14px) saturate(1.08);
  pointer-events:none;
  font-size:13px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
.rc-route-live-count-pill[hidden]{
  display:none!important;
}
.rc-route-live-count-pill strong{
  color:#d7ff00;
  font-weight:1000;
}
.rc-route-live-count-icon{
  position:relative;
  display:inline-block;
  width:20px;
  height:16px;
  overflow:hidden;
  color:#d7ff00;
  font-size:18px;
  line-height:12px;
  letter-spacing:-8px;
  transform:translateY(-1px);
  text-shadow:0 0 12px rgba(215,255,0,.38);
}
@media(max-width:720px){
  .rc-route-live-count-pill{
    top:calc(env(safe-area-inset-top, 0px) + 12px);
    max-width:calc(100% - 112px);
    min-height:40px;
    padding:0 16px;
    gap:10px;
    font-size:12px;
    letter-spacing:.11em;
  }
}
@media(max-width:390px){
  .rc-route-live-count-pill{
    max-width:calc(100% - 96px);
    padding:0 14px;
    gap:8px;
    font-size:11px;
    letter-spacing:.08em;
  }
}



/* RUN CITY Patch 1.1 – centered confirm before ending live route.
   Pure UI safety layer: no navigation/progress logic changes. */
.route-live-end-confirm[hidden]{
  display:none !important;
}
.route-live-end-confirm{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(env(safe-area-inset-bottom,0px) + 18px) !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
}
.route-live-end-confirm__backdrop{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.34) !important;
  -webkit-backdrop-filter:blur(5px) saturate(.92) !important;
  backdrop-filter:blur(5px) saturate(.92) !important;
}
.route-live-end-confirm__sheet{
  position:relative !important;
  z-index:1 !important;
  width:min(440px,100%) !important;
  max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 44px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:26px !important;
  background:rgba(6,6,6,.90) !important;
  color:#fff !important;
  box-shadow:0 24px 80px rgba(0,0,0,.54),0 0 42px rgba(215,255,0,.10) !important;
  padding:22px !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08) !important;
  backdrop-filter:blur(18px) saturate(1.08) !important;
}
.route-live-end-confirm__kicker{
  display:inline-flex;
  margin:0 0 10px;
  color:#d7ff00;
  font-size:11px;
  font-weight:950;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.route-live-end-confirm__sheet strong{
  display:block;
  margin:0;
  color:#fff;
  font-size:clamp(24px,5.8vw,34px);
  line-height:.95;
  font-weight:950;
  letter-spacing:-.045em;
}
.route-live-end-confirm__sheet p{
  margin:12px 0 18px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.38;
  font-weight:700;
}
.route-live-end-confirm__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.route-live-end-confirm__actions button{
  appearance:none;
  min-height:48px;
  border-radius:999px;
  padding:0 16px;
  font-family:inherit;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
  cursor:pointer;
}
.route-live-end-confirm__continue{
  border:1px solid #d7ff00;
  background:#d7ff00;
  color:#050505;
}
.route-live-end-confirm__end{
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.07);
  color:#fff;
}
.route-live-end-confirm__actions button:focus-visible{
  outline:2px solid rgba(215,255,0,.72);
  outline-offset:3px;
}
@media(max-width:720px){
  .route-live-end-confirm{
    padding:calc(env(safe-area-inset-top,0px) + 14px) 14px calc(env(safe-area-inset-bottom,0px) + 14px) !important;
  }
  .route-live-end-confirm__sheet{
    width:min(420px,100%) !important;
    border-radius:24px !important;
    padding:20px !important;
    transform:translateY(-4vh);
  }
  .route-live-end-confirm__actions{
    grid-template-columns:1fr;
  }
}
@media(max-height:680px){
  .route-live-end-confirm{
    align-items:center !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
  .route-live-end-confirm__sheet{
    transform:none !important;
    padding:18px !important;
  }
  .route-live-end-confirm__sheet p{
    margin:10px 0 14px !important;
  }
  .route-live-end-confirm__actions button{
    min-height:44px !important;
  }
}

/* RUN CITY Patch 3 – Route-Finder Suchanimation
   Nur Visualisierung während "Routen werden gesucht". Keine Navigation-/Track-/Live-Logik. */
.route-locate-popup.is-searching .route-locate-popup__text{
  gap:12px !important;
}
.rc-route-search-animation{
  position:relative;
  display:block;
  width:min(260px, 72vw);
  height:78px;
  margin:18px 0 2px;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 50%, rgba(215,255,0,.16), transparent 0 13%, transparent 14%),
    radial-gradient(circle at 64% 48%, rgba(215,255,0,.11), transparent 0 10%, transparent 11%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border:1px solid rgba(215,255,0,.18);
  box-shadow:inset 0 0 28px rgba(0,0,0,.32), 0 0 22px rgba(215,255,0,.08);
}
.rc-route-search-animation::before{
  content:'';
  position:absolute;
  inset:0;
  opacity:.38;
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:28px 28px;
  transform:rotate(-10deg) scale(1.25);
}
.rc-route-search-animation::after{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  top:38px;
  height:4px;
  border-radius:999px;
  background:rgba(215,255,0,.16);
  box-shadow:0 0 18px rgba(215,255,0,.22);
}
.rc-route-search-animation i,
.rc-route-search-animation b,
.rc-route-search-animation em{
  position:absolute;
  display:block;
  z-index:2;
  pointer-events:none;
}
.rc-route-search-animation i{
  left:18px;
  top:38px;
  width:calc(100% - 36px);
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0%, #d7ff00 42%, #f4ff8a 54%, #d7ff00 66%, transparent 100%);
  filter:drop-shadow(0 0 10px rgba(215,255,0,.72));
  transform:translateX(-100%);
  animation:rcRouteSearchSweep 1.35s ease-in-out infinite;
}
.rc-route-search-animation b{
  left:18px;
  top:30px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#d7ff00;
  box-shadow:0 0 0 8px rgba(215,255,0,.14), 0 0 24px rgba(215,255,0,.42);
  animation:rcRouteSearchDot 1.35s cubic-bezier(.4,0,.2,1) infinite;
}
.rc-route-search-animation em{
  right:18px;
  top:30px;
  width:20px;
  height:20px;
  border-radius:999px;
  border:2px solid rgba(215,255,0,.78);
  box-sizing:border-box;
  box-shadow:0 0 18px rgba(215,255,0,.22);
  opacity:.9;
}
@keyframes rcRouteSearchSweep{
  0%{ transform:translateX(-104%); opacity:0; }
  18%{ opacity:1; }
  78%{ opacity:1; }
  100%{ transform:translateX(104%); opacity:0; }
}
@keyframes rcRouteSearchDot{
  0%{ transform:translateX(0) scale(.86); }
  45%{ transform:translateX(calc(min(260px, 72vw) - 56px)) scale(1); }
  100%{ transform:translateX(calc(min(260px, 72vw) - 56px)) scale(.86); }
}
@media (max-width:720px){
  .route-locate-popup.is-searching .route-locate-popup__text strong{
    font-size:clamp(34px, 10vw, 52px) !important;
  }
  .rc-route-search-animation{
    width:min(238px, 70vw);
    height:70px;
    margin-top:14px;
    border-radius:22px;
  }
  .rc-route-search-animation::after,
  .rc-route-search-animation i{ top:34px; }
  .rc-route-search-animation b,
  .rc-route-search-animation em{ top:26px; }
}
@media (prefers-reduced-motion: reduce){
  .rc-route-search-animation i,
  .rc-route-search-animation b{
    animation:none !important;
  }
  .rc-route-search-animation i{
    transform:none !important;
    opacity:.82 !important;
  }
}

/* RUN CITY Patch 3.1 re-apply – Search animation cleanup
   Fix after remaining-distance patch: keep compact integrated animation.
   No navigation / route / tracking logic changes. */
.route-locate-popup.is-searching .route-locate-popup__text{
  gap:10px !important;
}
.route-locate-popup.is-searching .route-locate-popup__text span:last-child{
  display:block !important;
}
.rc-route-search-animation{
  position:relative !important;
  display:block !important;
  width:min(280px, 76vw) !important;
  height:28px !important;
  margin:14px 0 2px !important;
  border:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
}
.rc-route-search-animation::before{
  content:'' !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  height:2px !important;
  transform:translateY(-50%) !important;
  border-radius:999px !important;
  opacity:1 !important;
  background:linear-gradient(90deg, rgba(215,255,0,.08), rgba(215,255,0,.28) 20%, rgba(215,255,0,.16) 50%, rgba(215,255,0,.28) 80%, rgba(215,255,0,.08)) !important;
}
.rc-route-search-animation::after{
  content:'' !important;
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  margin-top:-5px !important;
  border-radius:50% !important;
  border:2px solid rgba(215,255,0,.78) !important;
  box-shadow:0 0 14px rgba(215,255,0,.18) !important;
  background:transparent !important;
}
.rc-route-search-animation i,
.rc-route-search-animation b,
.rc-route-search-animation em{
  position:absolute !important;
  display:block !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.rc-route-search-animation i{
  left:0 !important;
  top:50% !important;
  width:72px !important;
  height:2px !important;
  margin-top:-1px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(215,255,0,0), rgba(215,255,0,.95) 34%, rgba(255,255,255,.95) 58%, rgba(215,255,0,0)) !important;
  filter:drop-shadow(0 0 8px rgba(215,255,0,.52)) !important;
  animation:rcRouteSearchSweepClean 1.45s ease-in-out infinite !important;
}
.rc-route-search-animation b{
  left:0 !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
  margin-top:-6px !important;
  border-radius:50% !important;
  background:#d7ff00 !important;
  box-shadow:0 0 0 6px rgba(215,255,0,.10), 0 0 18px rgba(215,255,0,.34) !important;
  animation:rcRouteSearchDotClean 1.45s ease-in-out infinite !important;
}
.rc-route-search-animation em{
  display:none !important;
}
@keyframes rcRouteSearchSweepClean{
  0%{ transform:translateX(0); opacity:.2; }
  12%{ opacity:1; }
  78%{ opacity:1; }
  100%{ transform:translateX(calc(min(280px, 76vw) - 78px)); opacity:.18; }
}
@keyframes rcRouteSearchDotClean{
  0%{ transform:translateX(0) scale(.9); }
  50%{ transform:translateX(calc((min(280px, 76vw) - 12px) * .55)) scale(1.02); }
  100%{ transform:translateX(calc(min(280px, 76vw) - 12px)) scale(.92); }
}
@media (max-width:720px){
  .rc-route-search-animation{
    width:min(244px, 72vw) !important;
    height:24px !important;
    margin-top:12px !important;
  }
  .rc-route-search-animation i{
    width:58px !important;
  }
  @keyframes rcRouteSearchSweepClean{
    0%{ transform:translateX(0); opacity:.22; }
    12%{ opacity:1; }
    78%{ opacity:1; }
    100%{ transform:translateX(calc(min(244px, 72vw) - 62px)); opacity:.18; }
  }
  @keyframes rcRouteSearchDotClean{
    0%{ transform:translateX(0) scale(.9); }
    50%{ transform:translateX(calc((min(244px, 72vw) - 12px) * .55)) scale(1.02); }
    100%{ transform:translateX(calc(min(244px, 72vw) - 12px)) scale(.92); }
  }
}
@media (prefers-reduced-motion: reduce){
  .rc-route-search-animation i,
  .rc-route-search-animation b{
    animation:none !important;
  }
  .rc-route-search-animation i{
    opacity:.85 !important;
    transform:translateX(0) !important;
  }
}




/* RUN CITY Patch 2f – Community-KM als transparente Overlay-Anzeige im Pulse-Graphen */
.rc-city-pulse__graph{
  position:relative !important;
}
.rc-city-pulse__community-km{
  position:absolute;
  top:14px;
  right:16px;
  z-index:6;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:
    "label label"
    "value unit";
  align-items:end;
  column-gap:6px;
  row-gap:2px;
  min-width:112px;
  padding:10px 12px 9px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(10,12,11,.58), rgba(38,19,25,.34));
  color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.22), 0 0 24px rgba(255,23,68,.10), inset 0 0 0 1px rgba(255,255,255,.045);
  -webkit-backdrop-filter:blur(14px) saturate(1.16);
  backdrop-filter:blur(14px) saturate(1.16);
  pointer-events:none;
}
.rc-city-pulse__community-km span{
  grid-area:label;
  color:rgba(255,255,255,.64);
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.rc-city-pulse__community-km strong{
  grid-area:value;
  color:#f7f3e8;
  font-size:clamp(24px, 3.2vw, 42px);
  line-height:.86;
  font-weight:1000;
  letter-spacing:-.06em;
  text-shadow:0 0 20px rgba(255,49,89,.24);
}
.rc-city-pulse__community-km em{
  grid-area:unit;
  align-self:end;
  color:#ff3159;
  font-style:normal;
  font-size:11px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 0 14px rgba(255,49,89,.34);
  transform:translateY(-2px);
}
@media(max-width:760px){
  .rc-city-pulse__stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .rc-city-pulse__community-km{
    top:10px;
    right:10px;
    min-width:94px;
    padding:8px 9px 7px;
    border-radius:15px;
  }
  .rc-city-pulse__community-km span{
    font-size:8px;
    letter-spacing:.13em;
  }
  .rc-city-pulse__community-km strong{
    font-size:24px;
  }
  .rc-city-pulse__community-km em{
    font-size:9px;
  }
}


/* RUN CITY Patch 2g – Community-KM wie ghosted movement copy, oben rechts und breiter */
.rc-city-pulse__card{ position:relative; }
.rc-city-pulse__community-km{
  top:6px !important;
  right:12px !important;
  z-index:5 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-items:flex-end !important;
  gap:0 8px !important;
  min-width:188px !important;
  max-width:220px !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  text-align:right !important;
}
.rc-city-pulse__community-km::before{
  content:'';
  position:absolute;
  inset:-8px -12px -8px -20px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.03) 28%, rgba(255,255,255,.05) 68%, rgba(255,255,255,.03) 100%);
  border-radius:18px;
  opacity:.9;
  pointer-events:none;
}
.rc-city-pulse__community-km span,
.rc-city-pulse__community-km strong,
.rc-city-pulse__community-km em{
  position:relative;
  z-index:1;
}
.rc-city-pulse__community-km span{
  flex:0 0 100%;
  margin-bottom:1px;
  color:rgba(255,255,255,.22) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
}
.rc-city-pulse__community-km strong{
  color:rgba(255,255,255,.36) !important;
  font-size:clamp(36px, 4.5vw, 56px) !important;
  line-height:.84 !important;
  font-weight:1000 !important;
  letter-spacing:-.08em !important;
  text-shadow:none !important;
}
.rc-city-pulse__community-km em{
  color:rgba(255,255,255,.26) !important;
  font-style:normal !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  transform:translateY(-6px) !important;
  text-shadow:none !important;
}
@media(max-width:760px){
  .rc-city-pulse__community-km{
    top:4px !important;
    right:8px !important;
    min-width:146px !important;
    max-width:170px !important;
  }
  .rc-city-pulse__community-km::before{
    inset:-6px -8px -6px -16px;
    border-radius:14px;
  }
  .rc-city-pulse__community-km span{
    font-size:9px !important;
    letter-spacing:.18em !important;
  }
  .rc-city-pulse__community-km strong{
    font-size:28px !important;
  }
  .rc-city-pulse__community-km em{
    font-size:11px !important;
    transform:translateY(-4px) !important;
  }
}


/* RUN CITY Patch 2h – Community-KM neon green, less transparent, much wider */
.rc-city-pulse__community-km{
  top:2px !important;
  right:8px !important;
  min-width:260px !important;
  max-width:340px !important;
  gap:0 10px !important;
}
.rc-city-pulse__community-km::before{
  inset:-10px -16px -10px -26px !important;
  background:linear-gradient(90deg, rgba(218,255,47,0) 0%, rgba(218,255,47,.04) 20%, rgba(218,255,47,.10) 58%, rgba(218,255,47,.06) 100%) !important;
  border-radius:20px !important;
  opacity:1 !important;
}
.rc-city-pulse__community-km span{
  color:rgba(218,255,47,.46) !important;
  font-size:11px !important;
  letter-spacing:.28em !important;
}
.rc-city-pulse__community-km strong{
  color:rgba(218,255,47,.66) !important;
  font-size:clamp(42px, 5.1vw, 68px) !important;
  letter-spacing:-.085em !important;
  text-shadow:0 0 20px rgba(218,255,47,.10) !important;
}
.rc-city-pulse__community-km em{
  color:rgba(218,255,47,.54) !important;
  font-size:15px !important;
  letter-spacing:.18em !important;
  transform:translateY(-8px) !important;
}
@media(max-width:760px){
  .rc-city-pulse__community-km{
    top:2px !important;
    right:6px !important;
    min-width:176px !important;
    max-width:220px !important;
  }
  .rc-city-pulse__community-km::before{
    inset:-8px -10px -8px -16px !important;
  }
  .rc-city-pulse__community-km span{
    font-size:8px !important;
    letter-spacing:.22em !important;
  }
  .rc-city-pulse__community-km strong{
    font-size:32px !important;
  }
  .rc-city-pulse__community-km em{
    font-size:11px !important;
    transform:translateY(-5px) !important;
  }
}


/* RUN CITY Patch 2i – Community-KM spacing fix: no overlap, use the available width */
.rc-city-pulse__community-km{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    'label label'
    'value unit' !important;
  justify-items:end !important;
  align-items:end !important;
  row-gap:4px !important;
  column-gap:10px !important;
  min-width:300px !important;
  max-width:380px !important;
  padding:0 4px 0 0 !important;
}
.rc-city-pulse__community-km::before{
  inset:-12px -18px -10px -36px !important;
}
.rc-city-pulse__community-km span{
  grid-area:label !important;
  margin:0 0 2px 0 !important;
  display:block !important;
  width:100% !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.rc-city-pulse__community-km strong{
  grid-area:value !important;
  display:block !important;
  line-height:.78 !important;
  white-space:nowrap !important;
}
.rc-city-pulse__community-km em{
  grid-area:unit !important;
  display:block !important;
  align-self:end !important;
  white-space:nowrap !important;
  transform:translateY(-7px) !important;
}
@media(max-width:760px){
  .rc-city-pulse__community-km{
    min-width:205px !important;
    max-width:245px !important;
    row-gap:3px !important;
    column-gap:8px !important;
    padding-right:2px !important;
  }
  .rc-city-pulse__community-km::before{
    inset:-10px -10px -8px -20px !important;
  }
  .rc-city-pulse__community-km span{
    margin-bottom:1px !important;
  }
  .rc-city-pulse__community-km em{
    transform:translateY(-4px) !important;
  }
}


/* RUN CITY Patch 2j – Community-KM flacher Einzeiler + doppelte Laufweite */
.rc-city-pulse__community-km{
  top:8px !important;
  right:12px !important;
  width:min(58vw, 560px) !important;
  min-width:430px !important;
  max-width:560px !important;
  height:34px !important;
  min-height:34px !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  align-items:baseline !important;
  gap:14px !important;
  padding:0 8px !important;
  overflow:visible !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.rc-city-pulse__community-km::before{
  inset:-5px -10px -5px -44px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(218,255,47,0) 0%, rgba(218,255,47,.055) 34%, rgba(218,255,47,.13) 78%, rgba(218,255,47,.08) 100%) !important;
  opacity:1 !important;
}
.rc-city-pulse__community-km span{
  flex:0 0 auto !important;
  width:auto !important;
  display:inline-flex !important;
  margin:0 !important;
  color:rgba(218,255,47,.54) !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.34em !important;
  transform:translateY(-6px) !important;
}
.rc-city-pulse__community-km strong{
  flex:0 0 auto !important;
  display:inline-flex !important;
  color:rgba(218,255,47,.72) !important;
  font-size:clamp(34px, 4.1vw, 54px) !important;
  line-height:.72 !important;
  letter-spacing:-.09em !important;
  white-space:nowrap !important;
}
.rc-city-pulse__community-km em{
  flex:0 0 auto !important;
  display:inline-flex !important;
  color:rgba(218,255,47,.60) !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.2em !important;
  transform:translateY(-5px) !important;
  white-space:nowrap !important;
}
@media(max-width:760px){
  .rc-city-pulse__community-km{
    top:8px !important;
    right:8px !important;
    width:min(66vw, 320px) !important;
    min-width:248px !important;
    max-width:320px !important;
    height:26px !important;
    min-height:26px !important;
    gap:9px !important;
    padding-right:4px !important;
  }
  .rc-city-pulse__community-km::before{
    inset:-4px -6px -4px -24px !important;
  }
  .rc-city-pulse__community-km span{
    font-size:7px !important;
    letter-spacing:.26em !important;
    transform:translateY(-4px) !important;
  }
  .rc-city-pulse__community-km strong{
    font-size:26px !important;
    letter-spacing:-.08em !important;
  }
  .rc-city-pulse__community-km em{
    font-size:9px !important;
    letter-spacing:.16em !important;
    transform:translateY(-4px) !important;
  }
}
@media(max-width:390px){
  .rc-city-pulse__community-km{
    width:min(70vw, 292px) !important;
    min-width:220px !important;
    max-width:292px !important;
    gap:7px !important;
  }
  .rc-city-pulse__community-km span{
    font-size:6.5px !important;
    letter-spacing:.22em !important;
  }
  .rc-city-pulse__community-km strong{
    font-size:24px !important;
  }
}


/* RUN CITY Patch 2k – Community-KM als sauberer, flacher Einzeiler mit mehr Bold + Tracking */
.rc-city-pulse__community-km{
  top:10px !important;
  right:14px !important;
  width:min(64vw, 620px) !important;
  min-width:470px !important;
  max-width:620px !important;
  height:28px !important;
  min-height:28px !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  align-items:flex-end !important;
  gap:12px !important;
  padding:0 8px !important;
  overflow:visible !important;
  white-space:nowrap !important;
}
.rc-city-pulse__community-km::before{
  inset:-5px -12px -5px -54px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(218,255,47,0) 0%, rgba(218,255,47,.035) 25%, rgba(218,255,47,.11) 74%, rgba(218,255,47,.08) 100%) !important;
  opacity:1 !important;
}
.rc-city-pulse__community-km span{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:flex-end !important;
  width:auto !important;
  margin:0 !important;
  color:rgba(218,255,47,.66) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  transform:none !important;
}
.rc-city-pulse__community-km strong{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:flex-end !important;
  color:rgba(218,255,47,.86) !important;
  font-size:clamp(36px, 4.2vw, 56px) !important;
  line-height:.78 !important;
  font-weight:1000 !important;
  letter-spacing:-.08em !important;
  text-shadow:0 0 16px rgba(218,255,47,.12) !important;
  transform:none !important;
}
.rc-city-pulse__community-km em{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:flex-end !important;
  color:rgba(218,255,47,.74) !important;
  font-style:normal !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  transform:none !important;
}
@media(max-width:760px){
  .rc-city-pulse__community-km{
    top:8px !important;
    right:8px !important;
    width:min(74vw, 360px) !important;
    min-width:280px !important;
    max-width:360px !important;
    height:22px !important;
    min-height:22px !important;
    gap:10px !important;
    padding:0 4px !important;
  }
  .rc-city-pulse__community-km::before{
    inset:-4px -6px -4px -30px !important;
  }
  .rc-city-pulse__community-km span{
    font-size:9.5px !important;
    font-weight:1000 !important;
    letter-spacing:.28em !important;
  }
  .rc-city-pulse__community-km strong{
    font-size:32px !important;
    font-weight:1000 !important;
    letter-spacing:-.075em !important;
  }
  .rc-city-pulse__community-km em{
    font-size:11px !important;
    font-weight:1000 !important;
    letter-spacing:.18em !important;
  }
}
@media(max-width:390px){
  .rc-city-pulse__community-km{
    width:min(76vw, 320px) !important;
    min-width:250px !important;
    max-width:320px !important;
    gap:8px !important;
  }
  .rc-city-pulse__community-km span{
    font-size:8.5px !important;
    letter-spacing:.24em !important;
  }
  .rc-city-pulse__community-km strong{
    font-size:29px !important;
  }
  .rc-city-pulse__community-km em{
    font-size:10px !important;
  }
}


/* RUN CITY Patch 2l – curated start + footer pulse */
.rc-route-show-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:10px 0 0;
  padding:10px 16px;
  border:1px solid rgba(215,255,0,.42);
  border-radius:999px;
  background:rgba(215,255,0,.10);
  color:#10120d;
  font-family:inherit;
  font-size:11px;
  line-height:1;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 0 18px rgba(215,255,0,.10);
}
.rc-route-show-all[hidden]{
  display:none !important;
}
.route-finder--tool .rc-route-show-all{
  color:#111;
  background:rgba(215,255,0,.72);
}
.route-card.is-filter-hidden,
.club-card-cream.is-hidden-by-day{
  display:none !important;
}

.rc-footer-midpulse{
  order:3;
  width:min(420px, calc(100vw - 56px));
  height:10px;
  display:grid;
  gap:5px;
  place-items:center;
  margin:-2px auto 0;
  pointer-events:none;
}
.rc-footer-midpulse span{
  display:block;
  width:100%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,35,56,.20) 18%, rgba(255,35,56,.95) 50%, rgba(255,35,56,.20) 82%, transparent 100%);
  box-shadow:0 0 16px rgba(255,35,56,.40), 0 0 34px rgba(255,35,56,.18);
}
.rc-footer-midpulse span + span{
  width:72%;
  opacity:.52;
  transform:translateY(-2px);
}
.site-footer.rc-footer-final .rc-footer-linkrow{
  order:4;
}
@media(max-width:720px){
  .rc-route-show-all{
    width:100%;
    min-height:42px;
  }
  .rc-footer-midpulse{
    width:min(320px, calc(100vw - 48px));
    margin-top:0;
  }
}


/* === RUN CITY restore patch 2026-06-17: stable HUD polish, no logic changes === */
/* Moderater HUD-Feinschliff auf stabilem Patch-2l-CSS. Kein aufgeblasenes Grid, keine Startseitenlogik. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  border-radius:28px !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main strong{
  color:#d7ff00 !important;
  font-weight:1000 !important;
  letter-spacing:-.055em !important;
  text-shadow:0 0 18px rgba(215,255,0,.10) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main em{
  color:rgba(255,255,255,.90) !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
  align-items:flex-start !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1.5px solid rgba(215,255,0,.72) !important;
  color:#d7ff00 !important;
  background:rgba(5,9,5,.24) !important;
  font-size:18px !important;
  font-weight:1000 !important;
  letter-spacing:-.02em !important;
  box-shadow:0 0 0 1px rgba(215,255,0,.06) inset,0 0 18px rgba(215,255,0,.08) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child::after{
  content:'  ROUTE PROGRESS' !important;
  margin-left:8px !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  color:rgba(255,255,255,.78) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:nth-child(2){
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(215,255,0,.45) !important;
  color:#d7ff00 !important;
  background:rgba(0,0,0,.18) !important;
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.route-map-canvas-wrap .rc-live-hud-chip-offroute{
  min-height:58px !important;
  border-radius:999px !important;
  padding:10px 18px !important;
}
.route-map-canvas-wrap .rc-live-hud-chip-offroute strong{
  font-size:20px !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}
.route-map-canvas-wrap .rc-live-hud-chip-offroute small{
  font-size:13px !important;
  line-height:1.05 !important;
  letter-spacing:.05em !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
/* Defektes Swipe-Feld zurück auf sicheren Button + vorhandene Beenden-Bestätigung. */
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live.is-running{
  height:52px !important;
  min-height:52px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#000 !important;
  font-weight:1000 !important;
}
@media (max-width:560px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child{
    font-size:16px !important;
    padding:0 11px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child::after{
    content:'' !important;
    margin-left:0 !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:nth-child(2){
    font-size:13px !important;
    padding:0 11px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip-offroute strong{
    font-size:18px !important;
  }
  .route-map-canvas-wrap .rc-live-hud-chip-offroute small{
    font-size:12px !important;
  }
}


/* === RUN CITY HUD-only polish 2026-06-18 === */
/* Nur Optik/Lesbarkeit. Keine Navigation, keine Fortschrittslogik, kein Direction-Lock. */

/* Unteren linken Offroute-Doppler ausblenden; die Info bleibt im HUD-Chip sichtbar. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveOffroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  display:none !important;
}

/* Haupt-HUD näher am Mockup: kompakter, klarer, hochwertiger. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
  padding:22px 22px 20px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(35,42,37,.93),rgba(20,26,23,.89)) !important;
  border:1.5px solid rgba(215,255,0,.46) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.30),0 0 0 1px rgba(215,255,0,.07) inset !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-height:38px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:rgba(215,255,0,.18) !important;
  color:#d7ff00 !important;
}

/* Obere Distanzanzeige im Prozent-Style. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main{
  color:#d7ff00 !important;
  text-shadow:0 0 18px rgba(215,255,0,.12) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main strong{
  color:#d7ff00 !important;
  font-weight:1000 !important;
  letter-spacing:-.065em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-main em{
  color:rgba(255,255,255,.92) !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}

/* Progress-Bar edler. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-track{
  height:9px !important;
  margin-top:16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.20) !important;
  overflow:hidden !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-track i{
  background:#d7ff00 !important;
  box-shadow:0 0 18px rgba(215,255,0,.30) !important;
}

/* Linker Cluster: Prozent groß, Label darunter, Restdistanz als Pill. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
  display:grid !important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.44fr) !important;
  align-items:center !important;
  gap:18px !important;
  margin-top:18px !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  color:#d7ff00 !important;
  font-size:clamp(50px, 9vw, 82px) !important;
  line-height:.82 !important;
  font-weight:1000 !important;
  letter-spacing:-.07em !important;
  text-shadow:0 0 18px rgba(215,255,0,.14) !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child::after{
  content:'ROUTE PROGRESS' !important;
  display:block !important;
  margin-top:9px !important;
  color:rgba(255,255,255,.88) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
}

/* Restdistanz-Pill aus dem bestehenden "Noch x,x km"-Text. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:nth-child(2){
  justify-self:start !important;
  align-self:end !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  border:1.5px solid rgba(215,255,0,.72) !important;
  background:rgba(2,6,3,.20) !important;
  color:#d7ff00 !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  box-shadow:0 0 0 1px rgba(215,255,0,.06) inset !important;
}

/* Kleiner Pulse-Unterstrich als Akzent. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child::before{
  content:'' !important;
  order:3 !important;
  display:block !important;
  width:76% !important;
  height:12px !important;
  margin-top:12px !important;
  background:
    linear-gradient(90deg,rgba(215,255,0,.12),rgba(215,255,0,.80),rgba(215,255,0,.14)) center/100% 2px no-repeat;
  filter:drop-shadow(0 0 8px rgba(215,255,0,.22)) !important;
  opacity:.95 !important;
}

/* Rechter Chip höher/präsenter, aber ohne Text-Abschneiden. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chips{
  width:100% !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute{
  width:100% !important;
  min-height:108px !important;
  border-radius:34px !important;
  padding:18px 22px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:9px !important;
  overflow:hidden !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute strong{
  max-width:100% !important;
  font-size:clamp(24px,3.7vw,36px) !important;
  line-height:1.02 !important;
  font-weight:1000 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute small{
  max-width:100% !important;
  display:block !important;
  font-size:clamp(13px,2.1vw,19px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-warn{
  background:linear-gradient(135deg,#ffc943,#ffbd35) !important;
  color:#111 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06) inset !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-ok{
  background:#d7ff00 !important;
  color:#050505 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06) inset !important;
}

/* Kein Swipe: stabiler Beenden-Button + Sicherheitsabfrage bleibt aktiv. */
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live.is-running{
  height:54px !important;
  min-height:54px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#000 !important;
  font-weight:1000 !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress{
    padding:20px 18px 18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
    grid-template-columns:minmax(0,.80fr) minmax(0,1.38fr) !important;
    gap:14px !important;
    margin-top:16px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child{
    font-size:clamp(44px, 11vw, 70px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child::after{
    font-size:10px !important;
    letter-spacing:.19em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:nth-child(2){
    min-height:32px !important;
    padding:0 12px !important;
    font-size:13px !important;
    letter-spacing:.08em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute{
    min-height:96px !important;
    border-radius:28px !important;
    padding:16px 18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute strong{
    font-size:clamp(20px, 5vw, 28px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute small{
    font-size:clamp(11px, 3.1vw, 14px) !important;
  }
}

@media (max-width:480px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta{
    grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr) !important;
    gap:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:first-child{
    font-size:40px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-meta > span:nth-child(2){
    font-size:11px !important;
    padding:0 10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute{
    min-height:88px !important;
    padding:14px 15px !important;
    border-radius:24px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute strong{
    font-size:19px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress .rc-live-hud-chip-offroute small{
    font-size:11px !important;
  }
}


/* === RUN CITY HUD FINAL 2026-06-18 === */
/* Finaler HUD-Layer: nur Darstellung. Keine Navigation, keine Fortschrittsberechnung. */

/* Doppelten kleinen Offroute-Hinweis unten links ausblenden; die Info steht im gelben HUD-Chip. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveOffroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  display:none !important;
}

/* Bestehende Meta-/Chip-Regeln neutralisieren, sobald finaler HUD-Markup aktiv ist. */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-meta,
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-chips,
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-chip,
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-chip-offroute{
  all:unset !important;
  box-sizing:border-box !important;
}

/* Card */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final{
  width:min(100%, 760px) !important;
  max-width:min(100%, 760px) !important;
  padding:22px 22px 20px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(35,42,37,.94),rgba(19,25,22,.90)) !important;
  border:1.5px solid rgba(215,255,0,.46) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.30),0 0 0 1px rgba(215,255,0,.07) inset !important;
  overflow:hidden !important;
}

/* Top row */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-top{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:18px !important;
  width:100% !important;
  box-sizing:border-box !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-width:0 !important;
  min-height:38px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:rgba(215,255,0,.18) !important;
  color:#d7ff00 !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-main-final{
  display:flex !important;
  align-items:baseline !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-width:0 !important;
  color:#d7ff00 !important;
  text-shadow:0 0 18px rgba(215,255,0,.12) !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-main-final strong{
  display:block !important;
  color:#d7ff00 !important;
  font-size:clamp(46px, 7vw, 74px) !important;
  line-height:.9 !important;
  font-weight:1000 !important;
  letter-spacing:-.065em !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-main-final em{
  display:block !important;
  color:rgba(255,255,255,.92) !important;
  font-style:normal !important;
  font-size:clamp(19px, 3vw, 30px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  white-space:nowrap !important;
}

/* Bar */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-track-final{
  display:block !important;
  width:100% !important;
  height:9px !important;
  margin:18px 0 0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.20) !important;
  overflow:hidden !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-track-final i{
  display:block !important;
  height:100% !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  box-shadow:0 0 18px rgba(215,255,0,.30) !important;
}

/* Main grid */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-grid{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.48fr) !important;
  align-items:center !important;
  gap:18px !important;
  width:100% !important;
  margin-top:20px !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}

/* Progress cluster */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress strong{
  display:block !important;
  color:#d7ff00 !important;
  font-size:clamp(48px, 8.8vw, 78px) !important;
  line-height:.82 !important;
  font-weight:1000 !important;
  letter-spacing:-.07em !important;
  text-shadow:0 0 18px rgba(215,255,0,.14) !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress em{
  display:block !important;
  margin-top:9px !important;
  color:rgba(255,255,255,.88) !important;
  font-style:normal !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress b{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  max-width:100% !important;
  margin-top:10px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1.5px solid rgba(215,255,0,.72) !important;
  color:#d7ff00 !important;
  background:rgba(2,6,3,.20) !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-sizing:border-box !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress i{
  display:block !important;
  width:78% !important;
  height:13px !important;
  margin-top:11px !important;
  background:linear-gradient(90deg,rgba(215,255,0,.12),rgba(215,255,0,.80),rgba(215,255,0,.14)) center/100% 2px no-repeat !important;
  filter:drop-shadow(0 0 8px rgba(215,255,0,.22)) !important;
  opacity:.95 !important;
}

/* Right status chip */
.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:110px !important;
  padding:18px 22px !important;
  border-radius:34px !important;
  gap:9px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip.is-warning{
  background:linear-gradient(135deg,#ffc943,#ffbd35) !important;
  color:#111 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06) inset !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip.is-ok{
  background:#d7ff00 !important;
  color:#050505 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06) inset !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip strong{
  display:block !important;
  max-width:100% !important;
  font-size:clamp(24px,3.7vw,36px) !important;
  line-height:1.02 !important;
  font-weight:1000 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip small{
  display:block !important;
  max-width:100% !important;
  font-size:clamp(13px,2.1vw,19px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Beenden bleibt stabiler Button mit Sicherheitsabfrage. Kein Swipe. */
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live.is-running{
  height:54px !important;
  min-height:54px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#000 !important;
  font-weight:1000 !important;
}

/* Mobile tuning */
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final{
    padding:20px 18px 18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-top{
    gap:14px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-grid{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.38fr) !important;
    gap:14px !important;
    margin-top:18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress strong{
    font-size:clamp(44px, 10.8vw, 68px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress em{
    font-size:10px !important;
    letter-spacing:.19em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress b{
    min-height:32px !important;
    padding:0 12px !important;
    font-size:13px !important;
    letter-spacing:.08em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip{
    min-height:96px !important;
    border-radius:28px !important;
    padding:16px 18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip strong{
    font-size:clamp(20px, 5vw, 28px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip small{
    font-size:clamp(11px, 3.1vw, 14px) !important;
  }
}

@media (max-width:480px){
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-top{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-kicker{
    min-height:34px !important;
    padding:0 14px !important;
    font-size:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-main-final strong{
    font-size:44px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-main-final em{
    font-size:20px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-grid{
    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr) !important;
    gap:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress strong{
    font-size:38px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-progress b{
    font-size:11px !important;
    padding:0 10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip{
    min-height:88px !important;
    padding:14px 15px !important;
    border-radius:24px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip strong{
    font-size:19px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final .rc-live-hud-final-chip small{
    font-size:11px !important;
  }
}


/* === RUN CITY HUD FINAL V2 2026-06-18 ===
   Singuläres HUD-Markup ohne alte rc-live-hud-* Layout-Klassen.
   Nur Darstellung. Keine Navigation/Fortschrittslogik. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveOffroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-hint{
  display:none !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-v2{
  display:block !important;
  left:18px !important;
  right:18px !important;
  top:calc(env(safe-area-inset-top, 0px) + 92px) !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  padding:22px 22px 20px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(35,42,37,.94),rgba(19,25,22,.90)) !important;
  border:1.5px solid rgba(215,255,0,.46) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.30),0 0 0 1px rgba(215,255,0,.07) inset !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* Reset final HUD children completely so old grid/absolute rules cannot interfere. */
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-top,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-kicker,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance strong,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance em,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-bar,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-bar i,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress em,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress b,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress i,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong,
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small{
  all:unset !important;
  box-sizing:border-box !important;
}

/* Top: LIVE RUN links, Routenlänge rechts oben */
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-top{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-height:38px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:rgba(215,255,0,.18) !important;
  color:#d7ff00 !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance{
  display:flex !important;
  align-items:baseline !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-width:0 !important;
  white-space:nowrap !important;
  text-align:right !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance strong{
  display:block !important;
  color:#d7ff00 !important;
  font-size:clamp(44px, 7vw, 70px) !important;
  line-height:.9 !important;
  font-weight:1000 !important;
  letter-spacing:-.065em !important;
  text-shadow:0 0 18px rgba(215,255,0,.12) !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance em{
  display:block !important;
  color:rgba(255,255,255,.92) !important;
  font-style:normal !important;
  font-size:clamp(19px, 3vw, 30px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}

/* Bar klar getrennt */
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-bar{
  display:block !important;
  width:100% !important;
  height:9px !important;
  margin:18px 0 0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.20) !important;
  overflow:hidden !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-bar i{
  display:block !important;
  height:100% !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  box-shadow:0 0 18px rgba(215,255,0,.30) !important;
}

/* Body: links Progress, rechts Status */
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body{
  display:grid !important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.42fr) !important;
  align-items:center !important;
  gap:18px !important;
  width:100% !important;
  margin-top:20px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong{
  display:block !important;
  color:#d7ff00 !important;
  font-size:clamp(48px, 8.4vw, 76px) !important;
  line-height:.82 !important;
  font-weight:1000 !important;
  letter-spacing:-.07em !important;
  text-shadow:0 0 18px rgba(215,255,0,.14) !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress em{
  display:block !important;
  margin-top:9px !important;
  color:rgba(255,255,255,.88) !important;
  font-style:normal !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress b{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  max-width:100% !important;
  margin-top:10px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1.5px solid rgba(215,255,0,.72) !important;
  color:#d7ff00 !important;
  background:rgba(2,6,3,.20) !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress i{
  display:block !important;
  width:76% !important;
  height:13px !important;
  margin-top:11px !important;
  background:linear-gradient(90deg,rgba(215,255,0,.12),rgba(215,255,0,.80),rgba(215,255,0,.14)) center/100% 2px no-repeat !important;
  filter:drop-shadow(0 0 8px rgba(215,255,0,.22)) !important;
  opacity:.95 !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:108px !important;
  padding:18px 22px !important;
  border-radius:34px !important;
  gap:9px !important;
  overflow:hidden !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status.is-warning{
  background:linear-gradient(135deg,#ffc943,#ffbd35) !important;
  color:#111 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06) inset !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status.is-ok{
  background:#d7ff00 !important;
  color:#050505 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06) inset !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong{
  display:block !important;
  max-width:100% !important;
  font-size:clamp(24px,3.6vw,34px) !important;
  line-height:1.02 !important;
  font-weight:1000 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small{
  display:block !important;
  max-width:100% !important;
  font-size:clamp(13px,2vw,18px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Kein Swipe, stabiler Button mit bestehender Sicherheitsabfrage. */
.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live.is-running{
  height:54px !important;
  min-height:54px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#000 !important;
  font-weight:1000 !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-v2{
    padding:20px 18px 18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body{
    grid-template-columns:minmax(0,.80fr) minmax(0,1.36fr) !important;
    gap:14px !important;
    margin-top:18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong{
    font-size:clamp(44px, 10.5vw, 66px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress em{
    font-size:10px !important;
    letter-spacing:.19em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress b{
    min-height:32px !important;
    padding:0 12px !important;
    font-size:13px !important;
    letter-spacing:.08em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
    min-height:96px !important;
    border-radius:28px !important;
    padding:16px 18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong{
    font-size:clamp(20px, 5vw, 27px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small{
    font-size:clamp(11px, 3vw, 14px) !important;
  }
}

@media (max-width:480px){
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-top{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-kicker{
    min-height:34px !important;
    padding:0 14px !important;
    font-size:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance strong{
    font-size:42px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance em{
    font-size:19px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body{
    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr) !important;
    gap:12px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong{
    font-size:38px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress b{
    font-size:11px !important;
    padding:0 10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
    min-height:88px !important;
    padding:14px 15px !important;
    border-radius:24px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong{
    font-size:19px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small{
    font-size:11px !important;
  }
}


/* === RUN CITY HUD FINAL V3 2026-06-18: Status-Chip-Zeilenumbruch === */
/* Nur Anzeige im gelben/orangenen Status-Chip. Keine Navigation/Logik. */
.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
  gap:10px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:3px !important;
  max-width:100% !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small span{
  display:block !important;
  max-width:100% !important;
  color:inherit !important;
  font-size:clamp(14px,2.15vw,20px) !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

@media (max-width:720px){
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small span{
    font-size:clamp(12px,3.15vw,15px) !important;
  }
}

@media (max-width:480px){
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
    gap:8px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small{
    gap:2px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small span{
    font-size:12px !important;
    letter-spacing:.035em !important;
  }
}


/* === RUN CITY HUD FINAL V4 2026-06-18: kompakter + Entry-Linie bleibt JS-visuell dunkler === */
/* Nur Darstellung: HUD kleiner, kein Swipe, keine Navigations-/Progress-Logik. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-v2{
  left:20px !important;
  right:20px !important;
  top:calc(env(safe-area-inset-top, 0px) + 96px) !important;
  padding:18px 18px 16px !important;
  border-radius:28px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-top{
  gap:12px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-kicker{
  min-height:34px !important;
  padding:0 15px !important;
  font-size:13px !important;
  letter-spacing:.17em !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance strong{
  font-size:clamp(38px, 6.2vw, 60px) !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance em{
  font-size:clamp(17px, 2.55vw, 25px) !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-bar{
  height:8px !important;
  margin-top:14px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.36fr) !important;
  gap:14px !important;
  margin-top:15px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong{
  font-size:clamp(38px, 7.4vw, 62px) !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress em{
  margin-top:7px !important;
  font-size:10px !important;
  letter-spacing:.20em !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress b{
  min-height:30px !important;
  margin-top:8px !important;
  padding:0 12px !important;
  font-size:12px !important;
  letter-spacing:.10em !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress i{
  height:10px !important;
  margin-top:8px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
  min-height:88px !important;
  padding:15px 18px !important;
  border-radius:28px !important;
  gap:8px !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong{
  font-size:clamp(20px, 3.2vw, 30px) !important;
}

.route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small span{
  font-size:clamp(13px,1.95vw,18px) !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-v2{
    left:16px !important;
    right:16px !important;
    padding:17px 16px 15px !important;
    border-radius:26px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body{
    grid-template-columns:minmax(0,.74fr) minmax(0,1.30fr) !important;
    gap:12px !important;
    margin-top:14px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong{
    font-size:clamp(36px, 9vw, 54px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
    min-height:82px !important;
    padding:13px 16px !important;
    border-radius:24px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong{
    font-size:clamp(18px, 4.4vw, 24px) !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small span{
    font-size:clamp(11px, 2.8vw, 13px) !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-v2{
    left:14px !important;
    right:14px !important;
    padding:15px 14px 14px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-kicker{
    min-height:31px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance strong{
    font-size:38px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-distance em{
    font-size:18px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-body{
    grid-template-columns:minmax(0,.72fr) minmax(0,1.22fr) !important;
    gap:10px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress strong{
    font-size:34px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress em{
    font-size:8.5px !important;
    letter-spacing:.16em !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-progress b{
    min-height:27px !important;
    font-size:10px !important;
    padding:0 9px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status{
    min-height:76px !important;
    padding:12px 14px !important;
    border-radius:22px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status strong{
    font-size:17px !important;
  }
  .route-map-canvas-wrap #routeLiveMain.is-live-hud-v2 .rc-final-status small span{
    font-size:10.5px !important;
    letter-spacing:.03em !important;
  }
}


/* === RUN CITY HUD Layout B 2026-06-18 ===
   Clean standalone HUD layout: live pill above HUD, compact top card,
   bottom-left offroute chip, raised end button. Navigation logic unchanged. */
.route-map-modal.is-live-fullscreen .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
  right:8px !important;
  z-index:980 !important;
}

.route-map-modal.is-live-fullscreen .rc-route-live-count-pill{
  top:calc(env(safe-area-inset-top, 0px) + 26px) !important;
  z-index:760 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:calc(env(safe-area-inset-top, 0px) + 78px) !important;
  z-index:740 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:16px 18px 14px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(34,41,37,.94),rgba(20,25,22,.92)) !important;
  border:1.5px solid rgba(215,255,0,.44) !important;
  box-shadow:0 20px 46px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.08) !important;
  backdrop-filter:blur(14px) saturate(1.08) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb > *{
  box-sizing:border-box !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-top{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-height:40px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:rgba(215,255,0,.18) !important;
  color:#d7ff00 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance{
  display:flex !important;
  align-items:baseline !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-width:0 !important;
  white-space:nowrap !important;
  text-align:right !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
  color:#d7ff00 !important;
  font-size:clamp(42px, 9vw, 60px) !important;
  line-height:.86 !important;
  font-weight:1000 !important;
  letter-spacing:-.07em !important;
  text-shadow:0 0 16px rgba(215,255,0,.10) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
  color:#fff !important;
  font-style:normal !important;
  font-size:clamp(16px, 4vw, 24px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-bar{
  display:block !important;
  width:100% !important;
  height:8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.16) !important;
  overflow:hidden !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-bar i{
  display:block !important;
  width:0;
  height:100% !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  box-shadow:0 0 18px rgba(215,255,0,.32) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) 1px minmax(0,1.15fr) 1px minmax(0,1.05fr) 1px minmax(0,1fr) 1px minmax(0,1fr) !important;
  align-items:end !important;
  gap:14px !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-sep{
  display:block !important;
  align-self:stretch !important;
  background:rgba(255,255,255,.14) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
  color:#fff !important;
  font-size:clamp(17px, 3.5vw, 22px) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
  color:#d7ff00 !important;
  font-size:clamp(30px, 7vw, 42px) !important;
  letter-spacing:-.06em !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
  color:rgba(255,255,255,.72) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  left:18px !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 98px) !important;
  z-index:745 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  background:rgba(241,196,79,.96) !important;
  color:#111 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
  max-width:calc(100% - 100px) !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute .route-live-offroute__icon{
  color:#111 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:1000 !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute strong{
  color:#111 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute span{
  color:#111 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

.route-map-modal.is-live-fullscreen .route-map-actions .route-map-live.is-running{
  height:58px !important;
  min-height:58px !important;
  border-radius:999px !important;
  background:#d7ff00 !important;
  color:#000 !important;
  font-weight:1000 !important;
  box-shadow:0 14px 28px rgba(0,0,0,.16), 0 6px 16px rgba(215,255,0,.22) !important;
  border:1px solid rgba(0,0,0,.05) !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:14px !important;
    right:14px !important;
    top:calc(env(safe-area-inset-top, 0px) + 78px) !important;
    padding:14px 14px 12px !important;
    gap:12px !important;
    border-radius:26px !important;
  }
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill{
    top:calc(env(safe-area-inset-top, 0px) + 22px) !important;
    max-width:calc(100% - 120px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-top{
    gap:10px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-kicker{
    min-height:34px !important;
    padding:0 14px !important;
    font-size:12px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
    font-size:36px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
    font-size:14px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:10px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:14px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:28px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:9px !important;
    letter-spacing:.13em !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
    left:14px !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
    padding:9px 14px !important;
    gap:7px !important;
    max-width:calc(100% - 92px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute strong,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute span{
    font-size:14px !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    top:calc(env(safe-area-inset-top, 0px) + 74px) !important;
    padding:13px 12px 11px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-kicker{
    min-height:32px !important;
    padding:0 12px !important;
    font-size:11px !important;
    letter-spacing:.15em !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
    font-size:32px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
    font-size:13px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:8px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:12px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:24px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:8px !important;
    letter-spacing:.10em !important;
  }
}


/* === RUN CITY HUD Layout C 2026-06-18 ===
   Status aus HUD-Zeile entfernt und als separater Chip unten links.
   Nur Darstellung/Markup, keine Navigation- oder Trackinglogik. */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
  grid-template-columns:minmax(0,1.05fr) 1px minmax(0,1.18fr) 1px minmax(0,1.08fr) 1px minmax(0,1fr) !important;
  gap:16px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
  font-size:clamp(19px, 4vw, 26px) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
  font-size:clamp(34px, 7.6vw, 48px) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
  font-size:12px !important;
  letter-spacing:.17em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  left:18px !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 98px) !important;
  z-index:745 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  background:rgba(241,196,79,.96) !important;
  color:#111 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
  max-width:calc(100% - 100px) !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute strong,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute span{
  color:#111 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute__icon{
  color:#111 !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:1000 !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    grid-template-columns:minmax(0,1.02fr) 1px minmax(0,1.16fr) 1px minmax(0,1.04fr) 1px minmax(0,.92fr) !important;
    gap:12px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:16px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:32px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:9.5px !important;
    letter-spacing:.13em !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
    left:14px !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
    padding:9px 14px !important;
    gap:7px !important;
    max-width:calc(100% - 92px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute strong,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute span{
    font-size:14px !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:9px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:13px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:28px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:8px !important;
    letter-spacing:.10em !important;
  }
}


/* === RUN CITY Entry Navigation Dynamic v1 2026-06-18 === */
/* Darstellung des Status-Chips für Navigation zum Einstiegspunkt. Keine Live-Laufnavigation. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  background:rgba(241,196,79,.96) !important;
}


/* === RUN CITY HUD Layout E 2026-06-18 ===
   Ziel: HUD sauber zentriert, keine Überdeckung der MapLibre-Bedienelemente,
   größere zweite Zeile, Einstiegslinie optisch per JS verschlankt.
   Keine Änderung der Live-Laufnavigation. */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  top:calc(env(safe-area-inset-top, 0px) + 86px) !important;
  width:min(760px, calc(100vw - 116px)) !important;
  max-width:calc(100vw - 116px) !important;
  min-width:0 !important;
  z-index:740 !important;
  padding:14px 18px 13px !important;
  border-radius:28px !important;
}

/* Auf Mobile: links bewusst Abstand zur +-Navigation lassen. */
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:calc(50% + 26px) !important;
    width:calc(100vw - 112px) !important;
    max-width:calc(100vw - 112px) !important;
    top:calc(env(safe-area-inset-top, 0px) + 82px) !important;
    padding:13px 14px 12px !important;
    border-radius:25px !important;
  }
}

/* Close-Button sicher oberhalb/rechts neben HUD halten. */
.route-map-modal.is-live-fullscreen .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 58px) !important;
  right:8px !important;
  z-index:980 !important;
}

/* Live-Pill über dem HUD kompakt und nicht zu tief. */
.route-map-modal.is-live-fullscreen .rc-route-live-count-pill{
  top:calc(env(safe-area-inset-top, 0px) + 18px) !important;
  max-width:calc(100vw - 130px) !important;
  z-index:760 !important;
}

/* Top-Zeile kompakter, Distanz rechtsbündig. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-top{
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:12px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance{
  justify-content:flex-end !important;
  text-align:right !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
  font-size:clamp(34px, 7.8vw, 54px) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
  font-size:clamp(14px, 3.4vw, 22px) !important;
}

/* Zweite Zeile: weniger Spaltenstress, größer lesbar. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
  grid-template-columns:minmax(0,1.10fr) 1px minmax(0,1.12fr) 1px minmax(0,1.02fr) 1px minmax(0,.92fr) !important;
  gap:12px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
  font-size:clamp(17px, 3.8vw, 24px) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
  font-size:clamp(32px, 7.3vw, 44px) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
  font-size:10.5px !important;
  letter-spacing:.13em !important;
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:calc(50% + 24px) !important;
    width:calc(100vw - 106px) !important;
    max-width:calc(100vw - 106px) !important;
    top:calc(env(safe-area-inset-top, 0px) + 80px) !important;
    gap:10px !important;
    padding:12px 12px 11px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-kicker{
    min-height:30px !important;
    padding:0 11px !important;
    font-size:10px !important;
    letter-spacing:.13em !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
    font-size:30px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
    font-size:12px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:7px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:12.5px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:27px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:7.5px !important;
    letter-spacing:.08em !important;
  }
}

/* Status-Chip unten links nicht mit Endbutton kollidieren lassen. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  bottom:calc(env(safe-area-inset-bottom, 0px) + 96px) !important;
}


/* Layout F: Einstiegslinie wird ausschließlich per MapLibre-JS-Layer gestaltet, nicht per CSS. */


/* === RUN CITY Footer Pulse Fix 2026-06-18 === */
/* Single animated footer pulse. Duplicate rc-footer-midpulse removed from markup and hidden as fallback. */
@keyframes rcFooterPulseSweep{
  0%{background-position:110% 0; opacity:.46; transform:scaleX(.92);}
  42%{background-position:50% 0; opacity:.92; transform:scaleX(1);}
  100%{background-position:-10% 0; opacity:.50; transform:scaleX(.94);}
}

.site-footer.rc-footer-final .rc-footer-midpulse{
  display:none !important;
}

@media (prefers-reduced-motion: reduce){
  .site-footer.rc-footer-final .rc-footer-pulseline{
    animation:none !important;
  }
}


/* === RUN CITY Footer Pulse Center Fix 2026-06-18 === */
/* Feiner Puls oberhalb des Widgets wieder sichtbar, zentriert pulsierend.
   Unterer Doppler rc-footer-midpulse bleibt ausgeblendet. */

.site-footer.rc-footer-final .rc-footer-pulseline{
  position:relative !important;
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:1px !important;
  margin:0 auto 2px !important;
  overflow:visible !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,35,56,.10) 16%,
    rgba(255,35,56,.95) 50%,
    rgba(255,35,56,.10) 84%,
    transparent 100%
  ) !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  box-shadow:0 0 12px rgba(255,35,56,.34), 0 0 26px rgba(255,35,56,.12) !important;
  opacity:.84 !important;
  transform-origin:center center !important;
  animation:rcFooterPulseCenter 2.45s ease-in-out infinite !important;
}

.site-footer.rc-footer-final .rc-footer-pulseline::before{
  content:'' !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:34% !important;
  height:1px !important;
  transform:translate(-50%,-50%) scaleX(.45) !important;
  transform-origin:center center !important;
  border-radius:999px !important;
  background:rgba(255,35,56,.95) !important;
  box-shadow:0 0 14px rgba(255,35,56,.44), 0 0 34px rgba(255,35,56,.18) !important;
  opacity:.88 !important;
  animation:rcFooterPulseSpark 2.45s ease-in-out infinite !important;
}

@keyframes rcFooterPulseCenter{
  0%,100%{
    opacity:.48;
    transform:scaleX(.94);
    box-shadow:0 0 8px rgba(255,35,56,.22), 0 0 18px rgba(255,35,56,.08);
  }
  48%{
    opacity:.92;
    transform:scaleX(1);
    box-shadow:0 0 16px rgba(255,35,56,.44), 0 0 34px rgba(255,35,56,.16);
  }
}

@keyframes rcFooterPulseSpark{
  0%,100%{
    transform:translate(-50%,-50%) scaleX(.35);
    opacity:.20;
  }
  48%{
    transform:translate(-50%,-50%) scaleX(1);
    opacity:.95;
  }
}

.site-footer.rc-footer-final .rc-footer-midpulse{
  display:none !important;
}

@media (prefers-reduced-motion: reduce){
  .site-footer.rc-footer-final .rc-footer-pulseline,
  .site-footer.rc-footer-final .rc-footer-pulseline::before{
    animation:none !important;
  }
}


/* === RUN CITY Pulse Bars Fix 2026-06-18 === */
/* Zwei gewünschte feine, zentrierte Pulse-Lines:
   1) oberhalb des RUN CITY PULSE Widgets
   2) oberhalb der Footer-Navigation
   Keine doppelte untere Linie. */

.rc-section-pulseline,
.site-footer.rc-footer-final .rc-footer-pulseline{
  position:relative !important;
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:1px !important;
  margin:0 auto 26px !important;
  overflow:visible !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,35,56,.10) 16%,
    rgba(255,35,56,.90) 50%,
    rgba(255,35,56,.10) 84%,
    transparent 100%
  ) !important;
  background-position:center center !important;
  box-shadow:0 0 12px rgba(255,35,56,.32), 0 0 24px rgba(255,35,56,.11) !important;
  opacity:.84 !important;
  transform-origin:center center !important;
  animation:rcPulseBarCenter 2.45s ease-in-out infinite !important;
}

.rc-section-pulseline::before,
.site-footer.rc-footer-final .rc-footer-pulseline::before{
  content:'' !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:34% !important;
  height:1px !important;
  transform:translate(-50%,-50%) scaleX(.45) !important;
  transform-origin:center center !important;
  border-radius:999px !important;
  background:rgba(255,35,56,.95) !important;
  box-shadow:0 0 14px rgba(255,35,56,.42), 0 0 32px rgba(255,35,56,.16) !important;
  opacity:.88 !important;
  animation:rcPulseBarSpark 2.45s ease-in-out infinite !important;
}

/* Linie direkt über dem Widget etwas enger an die Section setzen */
.rc-section-pulseline--before-widget{
  margin-top:34px !important;
  margin-bottom:34px !important;
}

/* Footer-Linie zwischen Community-Claim und Navigation */
.site-footer.rc-footer-final .rc-footer-pulseline{
  margin-top:20px !important;
  margin-bottom:24px !important;
}

/* Alte/doppelte Footer-Pulse-Variante bleibt sicher ausgeblendet */
.site-footer.rc-footer-final .rc-footer-midpulse{
  display:none !important;
}

@keyframes rcPulseBarCenter{
  0%,100%{
    opacity:.42;
    transform:scaleX(.94);
    box-shadow:0 0 8px rgba(255,35,56,.20), 0 0 16px rgba(255,35,56,.07);
  }
  48%{
    opacity:.92;
    transform:scaleX(1);
    box-shadow:0 0 16px rgba(255,35,56,.42), 0 0 32px rgba(255,35,56,.15);
  }
}

@keyframes rcPulseBarSpark{
  0%,100%{
    transform:translate(-50%,-50%) scaleX(.35);
    opacity:.18;
  }
  48%{
    transform:translate(-50%,-50%) scaleX(1);
    opacity:.95;
  }
}

@media (prefers-reduced-motion: reduce){
  .rc-section-pulseline,
  .rc-section-pulseline::before,
  .site-footer.rc-footer-final .rc-footer-pulseline,
  .site-footer.rc-footer-final .rc-footer-pulseline::before{
    animation:none !important;
  }
}


/* === RUN CITY Clean Pulsebars FINAL 2026-06-18 ===
   Ziel: exakt drei feine Linien, keine Doppelungen:
   1) oberhalb RUN CITY PULSE Widget
   2) oberhalb Built-for-Community
   3) unterhalb Built-for-Community
*/

/* Alte Pulsebar-Varianten vollständig deaktivieren, falls durch Cache/Alt-Markup noch vorhanden. */
.rc-section-pulseline,
.rc-section-pulseline::before,
.site-footer.rc-footer-final .rc-footer-pulseline,
.site-footer.rc-footer-final .rc-footer-pulseline::before,
.site-footer.rc-footer-final .rc-footer-midpulse,
.site-footer.rc-footer-final .rc-footer-midpulse span{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  animation:none !important;
  box-shadow:none !important;
  background:none !important;
}

/* Neue eindeutige Linien */
.rc-clean-pulsebar{
  position:relative !important;
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:1px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,35,56,.10) 16%,
    rgba(255,35,56,.92) 50%,
    rgba(255,35,56,.10) 84%,
    transparent 100%
  ) !important;
  box-shadow:0 0 10px rgba(255,35,56,.28), 0 0 22px rgba(255,35,56,.10) !important;
  transform-origin:center center !important;
  opacity:.82 !important;
  animation:rcCleanPulsebar 2.6s ease-in-out infinite !important;
}

/* Wichtig: keine ::before-Linie mehr, damit keine breite/schmale Doppelung entsteht. */
.rc-clean-pulsebar::before,
.rc-clean-pulsebar::after{
  content:none !important;
  display:none !important;
}

/* Positionen */
.rc-clean-pulsebar--widget{
  margin-top:34px !important;
  margin-bottom:34px !important;
}

.site-footer.rc-footer-final .rc-clean-pulsebar--footer-before{
  margin-top:0 !important;
  margin-bottom:22px !important;
}

.site-footer.rc-footer-final .rc-clean-pulsebar--footer-after{
  margin-top:22px !important;
  margin-bottom:24px !important;
}

/* Claim sauber zwischen den Linien */
.site-footer.rc-footer-final .rc-footer-community{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@keyframes rcCleanPulsebar{
  0%,100%{
    opacity:.42;
    transform:scaleX(.82);
    box-shadow:0 0 6px rgba(255,35,56,.18), 0 0 14px rgba(255,35,56,.06);
  }
  50%{
    opacity:.92;
    transform:scaleX(1);
    box-shadow:0 0 14px rgba(255,35,56,.40), 0 0 30px rgba(255,35,56,.14);
  }
}

@media (max-width:720px){
  .rc-clean-pulsebar{
    width:min(300px, calc(100vw - 44px)) !important;
  }
  .rc-clean-pulsebar--widget{
    margin-top:28px !important;
    margin-bottom:28px !important;
  }
  .site-footer.rc-footer-final .rc-clean-pulsebar--footer-before{
    margin-bottom:18px !important;
  }
  .site-footer.rc-footer-final .rc-clean-pulsebar--footer-after{
    margin-top:18px !important;
    margin-bottom:20px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .rc-clean-pulsebar{
    animation:none !important;
  }
}


/* === RUN CITY Safe Navigation Layout K 2026-06-18 ===
   Rollback der Navigations-JS auf stabileren Layout-C-Stand.
   Diese CSS-Regeln richten nur Live-Pill/HUD aus und blenden den redundanten X-Button aus.
   Keine Live-Navigationslogik. */

/* X oben rechts im Live-Modus ausblenden: Beenden erfolgt über LIVE-MODUS BEENDEN. */
.route-map-modal.is-live-fullscreen .route-map-close{
  display:none !important;
}

/* Live-Pill und HUD sollen auf derselben linken Kante starten und rechts gleichmäßig enden. */
.route-map-modal.is-live-fullscreen .rc-route-live-count-pill{
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(760px, calc(100vw - 92px)) !important;
  max-width:calc(100vw - 92px) !important;
  top:calc(env(safe-area-inset-top, 0px) + 24px) !important;
  justify-content:center !important;
  z-index:760 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(760px, calc(100vw - 92px)) !important;
  max-width:calc(100vw - 92px) !important;
  top:calc(env(safe-area-inset-top, 0px) + 82px) !important;
  z-index:740 !important;
}

/* MapLibre Controls links bleiben frei. Etwas Abstand nach oben unterhalb HUD. */
.route-map-modal.is-live-fullscreen .maplibregl-ctrl-top-left{
  top:calc(env(safe-area-inset-top, 0px) + 142px) !important;
}

/* Richtungspfeil sicher sichtbar halten. */
.route-map-modal.is-live-fullscreen .route-live-direction,
.route-map-modal.is-live-fullscreen #routeLiveDirection{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:780 !important;
  pointer-events:none !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    width:calc(100vw - 88px) !important;
    max-width:calc(100vw - 88px) !important;
  }
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill{
    top:calc(env(safe-area-inset-top, 0px) + 22px) !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    top:calc(env(safe-area-inset-top, 0px) + 78px) !important;
  }
  .route-map-modal.is-live-fullscreen .maplibregl-ctrl-top-left{
    top:calc(env(safe-area-inset-top, 0px) + 136px) !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    width:calc(100vw - 76px) !important;
    max-width:calc(100vw - 76px) !important;
  }
}


/* === RUN CITY Layout L 2026-06-18 ===
   Feinschliff: Live-Pill und HUD gemeinsam leicht nach rechts.
   Keine Live-Navigationslogik. */

.route-map-modal.is-live-fullscreen .rc-route-live-count-pill{
  left:calc(50% + 12px) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  left:calc(50% + 12px) !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:calc(50% + 14px) !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:calc(50% + 16px) !important;
  }
}


/* === RUN CITY Layout M 2026-06-18: Live-Meldungen unten links ===
   Sichtbare Meldung für Richtungswechsel und Off-Route.
   Keine Änderung der Navigation/Progress-Logik. */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
  left:18px !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 96px) !important;
  z-index:790 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  max-width:calc(100vw - 112px) !important;
  min-height:36px !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  background:rgba(241,196,79,.96) !important;
  color:#111 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute .route-live-offroute__icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  color:#111 !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:1000 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute strong,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute span{
  min-width:0 !important;
  color:#111 !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute{
    left:14px !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
    max-width:calc(100vw - 98px) !important;
    min-height:34px !important;
    padding:8px 12px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute strong,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute span{
    font-size:13px !important;
  }
}


/* === RUN CITY FINAL SYNC 2026-06-18 ===
   Finaler Abgleich: saubere Pulsebar-Struktur + Entryline-Korrektur via JS.
   Navigation/HUD-Logik bleibt im JS erhalten. */

/* Alle alten Pulsebar-Varianten deaktivieren, damit keine Doppel-Linien entstehen. */
.rc-section-pulseline,
.rc-section-pulseline::before,
.rc-section-pulseline::after,
.site-footer.rc-footer-final .rc-footer-pulseline,
.site-footer.rc-footer-final .rc-footer-pulseline::before,
.site-footer.rc-footer-final .rc-footer-pulseline::after,
.site-footer.rc-footer-final .rc-footer-midpulse,
.site-footer.rc-footer-final .rc-footer-midpulse span,
.rc-clean-pulsebar,
.rc-clean-pulsebar::before,
.rc-clean-pulsebar::after{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  animation:none !important;
  box-shadow:none !important;
  background:none !important;
}

/* Genau diese drei neuen Linien sind aktiv. Keine Pseudo-Elemente, keine zweite Spur. */
.rc-final-pulsebar{
  display:block !important;
  width:min(390px, calc(100vw - 64px)) !important;
  height:1px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,35,56,.08) 14%,
    rgba(255,35,56,.80) 50%,
    rgba(255,35,56,.08) 86%,
    transparent 100%
  ) !important;
  box-shadow:0 0 8px rgba(255,35,56,.22), 0 0 18px rgba(255,35,56,.07) !important;
  opacity:.74 !important;
  transform-origin:center center !important;
  animation:rcFinalPulseLine 2.65s ease-in-out infinite !important;
}
.rc-final-pulsebar::before,
.rc-final-pulsebar::after{
  content:none !important;
  display:none !important;
}

.rc-final-pulsebar--before-widget{
  margin-top:30px !important;
  margin-bottom:30px !important;
}
.site-footer.rc-footer-final .rc-final-pulsebar--footer-before{
  margin-top:0 !important;
  margin-bottom:20px !important;
}
.site-footer.rc-footer-final .rc-final-pulsebar--footer-after{
  margin-top:20px !important;
  margin-bottom:22px !important;
}
.site-footer.rc-footer-final .rc-footer-community{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@keyframes rcFinalPulseLine{
  0%,100%{opacity:.36; transform:scaleX(.80);}
  50%{opacity:.86; transform:scaleX(1);}
}

/* Live-HUD Alignment: Stand aus Layout L/M beibehalten. */
.route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  left:calc(50% + 16px) !important;
}
@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:calc(50% + 18px) !important;
  }
  .rc-final-pulsebar{width:min(300px, calc(100vw - 44px)) !important;}
  .rc-final-pulsebar--before-widget{margin-top:28px !important; margin-bottom:28px !important;}
  .site-footer.rc-footer-final .rc-final-pulsebar--footer-before{margin-bottom:18px !important;}
  .site-footer.rc-footer-final .rc-final-pulsebar--footer-after{margin-top:18px !important; margin-bottom:20px !important;}
}
@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .rc-route-live-count-pill,
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    left:calc(50% + 18px) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .rc-final-pulsebar{animation:none !important;}
}


/* === RUN CITY Entry Close Fix 2026-06-18 ===
   X-Button nur bei Navigation zum Einstieg sichtbar.
   Im eigentlichen Live-Laufmodus bleibt er ausgeblendet, weil dort LIVE-MODUS BEENDEN zuständig ist. */

.route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  top:calc(env(safe-area-inset-top, 0px) + 16px) !important;
  right:12px !important;
  z-index:980 !important;
}

.route-map-modal.is-live-fullscreen.rc-mode-live .route-map-close{
  display:none !important;
}

/* Fallback: wenn noch keine Mode-Klasse gesetzt ist, Close sichtbar lassen.
   Verstecken nur explizit im Live-Modus. */
.route-map-modal.is-live-fullscreen:not(.rc-mode-live) .route-map-close{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}


/* === RUN CITY Pulse + Entry Close Visual FINAL 2026-06-18 ===
   Nur Design:
   - exakt eine rote Linie oberhalb RUN CITY PULSE / live movement
   - exakt eine rote Linie oberhalb Community-Satz
   - exakt eine rote Linie unterhalb Community-Satz
   - Close-Button optisch zentriert
   KEINE Navigation-/Entry-/Richtungslogik. */

/* Alte Pulse-Varianten komplett neutralisieren, falls alter Cache/Markup noch vorhanden ist. */
.rc-section-pulseline,
.rc-section-pulseline::before,
.rc-section-pulseline::after,
.site-footer.rc-footer-final .rc-footer-pulseline,
.site-footer.rc-footer-final .rc-footer-pulseline::before,
.site-footer.rc-footer-final .rc-footer-pulseline::after,
.site-footer.rc-footer-final .rc-footer-midpulse,
.site-footer.rc-footer-final .rc-footer-midpulse span,
.rc-clean-pulsebar,
.rc-clean-pulsebar::before,
.rc-clean-pulsebar::after,
.rc-final-pulsebar,
.rc-final-pulsebar::before,
.rc-final-pulsebar::after{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  animation:none !important;
  background:none !important;
  box-shadow:none !important;
}

/* Die einzige neue Pulse-Linie. Keine Pseudo-Elemente, damit keine Doppelung entstehen kann. */
.rc-pulse-final-line{
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:1px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,35,56,.10) 17%,
    rgba(255,35,56,.92) 50%,
    rgba(255,35,56,.10) 83%,
    transparent 100%
  ) !important;
  box-shadow:0 0 10px rgba(255,35,56,.30), 0 0 22px rgba(255,35,56,.10) !important;
  opacity:.82 !important;
  transform-origin:center center !important;
  animation:rcPulseFinalBreath 2.6s ease-in-out infinite !important;
}

.rc-pulse-final-line::before,
.rc-pulse-final-line::after{
  content:none !important;
  display:none !important;
}

/* Linie 1: direkt oberhalb RUN CITY PULSE / live movement. */
.rc-pulse-final-line--widget{
  margin-top:0 !important;
  margin-bottom:24px !important;
}

/* Linie 2 und 3: gleichmäßig um den Community-Satz. */
.site-footer.rc-footer-final .rc-pulse-final-line--footer-before{
  margin-top:0 !important;
  margin-bottom:18px !important;
}

.site-footer.rc-footer-final .rc-footer-community{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.site-footer.rc-footer-final .rc-pulse-final-line--footer-after{
  margin-top:18px !important;
  margin-bottom:22px !important;
}

@keyframes rcPulseFinalBreath{
  0%,100%{
    opacity:.38;
    transform:scaleX(.84);
    box-shadow:0 0 6px rgba(255,35,56,.18), 0 0 14px rgba(255,35,56,.06);
  }
  50%{
    opacity:.94;
    transform:scaleX(1);
    box-shadow:0 0 14px rgba(255,35,56,.42), 0 0 30px rgba(255,35,56,.14);
  }
}

/* Close-Button: Icon/X exakt zentrieren. Sichtbarkeit bleibt über rc-mode-entry-nav / rc-mode-live geregelt. */
.route-map-modal .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close,
.route-map-modal.is-live-fullscreen:not(.rc-mode-live) .route-map-close{
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:0 !important;
  line-height:1 !important;
}

.route-map-modal .route-map-close svg,
.route-map-modal .route-map-close img{
  display:block !important;
  margin:auto !important;
}

@media (max-width:720px){
  .rc-pulse-final-line{
    width:min(300px, calc(100vw - 44px)) !important;
  }

  .rc-pulse-final-line--widget{
    margin-bottom:22px !important;
  }

  .site-footer.rc-footer-final .rc-pulse-final-line--footer-before{
    margin-bottom:16px !important;
  }

  .site-footer.rc-footer-final .rc-pulse-final-line--footer-after{
    margin-top:16px !important;
    margin-bottom:20px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .rc-pulse-final-line{
    animation:none !important;
  }
}


/* === RUN CITY Pulse Position FINAL FIX 2026-06-18 ===
   Ursache der Doppellinien:
   - .rc-city-pulse::before war noch aktiv
   - ältere .site-footer.rc-footer-final::before-Regeln waren noch aktiv
   - Widget-Linie saß vor der Section und wurde vom Section-Abstand weggeschoben
   Fix:
   - alte Pseudo-Linien aus
   - Widget-Linie sitzt in der Pulse-Section
   - genau drei echte Linien per rc-pulse-final-line
*/

/* Alte Pseudo-Linien endgültig deaktivieren. */
.rc-city-pulse::before,
.rc-city-pulse::after,
.site-footer.rc-footer-final::before,
.site-footer.rc-footer-final::after{
  content:none !important;
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
  animation:none !important;
}

/* Die drei echten Linien. */
.rc-pulse-final-line{
  display:block !important;
  width:min(430px, calc(100vw - 56px)) !important;
  height:1px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,35,56,.10) 17%,
    rgba(255,35,56,.92) 50%,
    rgba(255,35,56,.10) 83%,
    transparent 100%
  ) !important;
  box-shadow:0 0 10px rgba(255,35,56,.30), 0 0 22px rgba(255,35,56,.10) !important;
  opacity:.82 !important;
  transform-origin:center center !important;
  animation:rcPulseFinalBreath 2.6s ease-in-out infinite !important;
}

/* Keine Pseudo-Linien an den neuen Linien. */
.rc-pulse-final-line::before,
.rc-pulse-final-line::after{
  content:none !important;
  display:none !important;
}

/* Linie 1: innerhalb der PULSE-Section direkt oberhalb RUN CITY PULSE / live movement. */
.rc-city-pulse > .rc-pulse-final-line--widget{
  margin-top:0 !important;
  margin-bottom:24px !important;
}

/* Sicherstellen, dass die Pulse-Headline nicht wieder durch alten Abstand getrennt wird. */
.rc-city-pulse .rc-city-pulse__head{
  margin-top:0 !important;
}

/* Linien 2 und 3: direkt um den Community-Satz. */
.site-footer.rc-footer-final .rc-pulse-final-line--footer-before{
  margin-top:0 !important;
  margin-bottom:18px !important;
  order:0 !important;
}

.site-footer.rc-footer-final .rc-footer-community{
  margin-top:0 !important;
  margin-bottom:0 !important;
  order:1 !important;
}

.site-footer.rc-footer-final .rc-pulse-final-line--footer-after{
  margin-top:18px !important;
  margin-bottom:22px !important;
  order:2 !important;
}

.site-footer.rc-footer-final .rc-footer-nav{
  order:3 !important;
}

.site-footer.rc-footer-final .rc-footer-linkrow{
  order:4 !important;
}

.site-footer.rc-footer-final .rc-footer-brand{
  order:5 !important;
}

/* Close-Button: X optisch exakt zentrieren. */
.route-map-modal .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close,
.route-map-modal.is-live-fullscreen:not(.rc-mode-live) .route-map-close{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:0 !important;
  line-height:1 !important;
}

.route-map-modal .route-map-close svg,
.route-map-modal .route-map-close img{
  display:block !important;
  margin:auto !important;
}

@media (max-width:720px){
  .rc-pulse-final-line{
    width:min(300px, calc(100vw - 44px)) !important;
  }
  .rc-city-pulse > .rc-pulse-final-line--widget{
    margin-bottom:22px !important;
  }
  .site-footer.rc-footer-final .rc-pulse-final-line--footer-before{
    margin-bottom:16px !important;
  }
  .site-footer.rc-footer-final .rc-pulse-final-line--footer-after{
    margin-top:16px !important;
    margin-bottom:20px !important;
  }
}


/* === RUN CITY HUD Distance + Offroute Fix 2026-06-18 ===
   Kleine Weiterentwicklung auf stabilem Stand:
   - zweite HUD-Zeile größer/lesbarer
   - MapLibre-Zoom-Controls im geführten Fullscreen ausblenden
   - Offroute-Chip unten links zuverlässig sichtbar
   Keine Navigations-/Progress-/Direction-Logik. */

/* MapLibre-Zoom/Compass im geführten Modus ausblenden:
   Die Auto-Kamera setzt Zoom/Position ohnehin bei Bewegung zurück. */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .maplibregl-ctrl-top-left,
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .maplibregl-ctrl-top-right{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Mehr Breite/Lesbarkeit für die zweite HUD-Zeile. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
  grid-template-columns:minmax(0,1.12fr) 1px minmax(0,1.15fr) 1px minmax(0,1.02fr) 1px minmax(0,.92fr) !important;
  gap:13px !important;
  align-items:end !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
  font-size:clamp(19px, 4.2vw, 27px) !important;
  line-height:1.03 !important;
  font-weight:1000 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
  font-size:clamp(36px, 8vw, 50px) !important;
  line-height:.88 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
  font-size:11px !important;
  letter-spacing:.135em !important;
}

/* Offroute-Chip unten links sicher über Karte/Button-Ebene anzeigen. */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  left:14px !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
  top:auto !important;
  z-index:860 !important;
  pointer-events:none !important;
  max-width:calc(100% - 104px) !important;
  min-height:38px !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding:9px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  background:rgba(241,196,79,.96) !important;
  color:#111 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.20), 0 0 18px rgba(241,196,79,.18) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible.is-back-to-route{
  background:rgba(241,196,79,.96) !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible .route-live-offroute__icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  color:#111 !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  flex:0 0 auto !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible strong,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible span{
  display:inline-flex !important;
  color:#111 !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:10px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:16px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:33px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:9px !important;
    letter-spacing:.105em !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:7px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:13px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:28px !important;
  }
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:7.5px !important;
    letter-spacing:.075em !important;
  }
}


/* === RUN CITY HUD Wide Fix 2026-06-18 ===
   Nur HUD-Design:
   - HUD nutzt jetzt fast die komplette Kartenbreite
   - zweite Zeile deutlich größer
   - MapLibre-Zoom ist bereits ausgeblendet
   Keine JS-/Navigations-/Entry-Logik. */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  left:12px !important;
  right:12px !important;
  max-width:none !important;
  width:auto !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  padding:20px 24px 22px !important;
  border-radius:32px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-top{
  gap:18px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-kicker{
  padding:11px 22px !important;
  font-size:15px !important;
  letter-spacing:.16em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
  font-size:clamp(44px, 9vw, 70px) !important;
  line-height:.86 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
  font-size:clamp(20px, 4.5vw, 34px) !important;
  line-height:1 !important;
}

/* zweite HUD-Zeile: Distanzen deutlich lesbarer */
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
  grid-template-columns:minmax(0,1.05fr) 1px minmax(0,1.05fr) 1px minmax(0,1.05fr) 1px minmax(0,.95fr) !important;
  gap:16px !important;
  align-items:end !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat{
  gap:6px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
  font-size:clamp(24px, 5.2vw, 38px) !important;
  line-height:.96 !important;
  font-weight:1000 !important;
  letter-spacing:-.045em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
  font-size:clamp(42px, 9vw, 64px) !important;
  line-height:.82 !important;
  letter-spacing:-.07em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
  font-size:12px !important;
  line-height:1.05 !important;
  letter-spacing:.14em !important;
}

@media (max-width:720px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:10px !important;
    right:10px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    padding:18px 19px 20px !important;
    border-radius:30px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
    font-size:48px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
    font-size:23px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:11px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:22px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:46px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:10px !important;
    letter-spacing:.105em !important;
  }
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:8px !important;
    right:8px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
    padding:16px 15px 18px !important;
    border-radius:28px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-top{
    gap:12px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-kicker{
    padding:9px 16px !important;
    font-size:12px !important;
    letter-spacing:.14em !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance strong{
    font-size:42px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-distance em{
    font-size:20px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    gap:8px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat{
    gap:5px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat strong{
    font-size:19px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    font-size:39px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat span{
    font-size:8.2px !important;
    letter-spacing:.06em !important;
  }
}


/* === RUN CITY Entry HUD Center Fix 2026-06-18 ===
   Gemeint war das Einstiegs-HUD, nicht der X-Button.
   Fix:
   - ZUM EINSTIEG / Distanz-HUD wird sauber horizontal zentriert
   - keine asymmetrischen left/right-Abstände mehr
   - Live-HUD-Wide bleibt unverändert
   - keine JS-/Navigation-/Entry-Logik */

/* Einstiegspunkt-HUD mittig setzen. Alte left/right-Regeln überschreiben. */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  top:calc(env(safe-area-inset-top, 0px) + 92px) !important;
  width:min(620px, calc(100vw - 64px)) !important;
  max-width:calc(100vw - 64px) !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Inhalt im Einstiegs-HUD bewusst mittig, damit es nicht nach rechts gedrückt wirkt. */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  padding:24px 26px 26px !important;
  text-align:center !important;
}

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  align-self:center !important;
  justify-self:center !important;
  text-align:center !important;
  white-space:nowrap !important;
}

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  align-self:center !important;
  justify-self:center !important;
  text-align:center !important;
  font-size:clamp(54px, 12vw, 82px) !important;
  line-height:.88 !important;
  max-width:none !important;
}

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  align-self:center !important;
  justify-self:center !important;
  text-align:center !important;
  grid-column:auto !important;
  font-size:clamp(24px, 5.4vw, 38px) !important;
  line-height:1.08 !important;
  white-space:normal !important;
}

/* Pending-HUD ebenfalls zentriert halten. */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  text-align:center !important;
}

/* X-Button bleibt oben rechts als Fenster-Schließen; er wird nicht mehr als HUD-Element behandelt. */
.route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close,
.route-map-modal.is-live-fullscreen:not(.rc-mode-live) .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 16px) !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.route-map-modal.is-live-fullscreen.rc-mode-live .route-map-close{
  display:none !important;
}

@media (max-width:720px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    top:calc(env(safe-area-inset-top, 0px) + 86px) !important;
    width:calc(100vw - 72px) !important;
    max-width:calc(100vw - 72px) !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance{
    padding:22px 22px 24px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:60px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
    font-size:28px !important;
  }
}

@media (max-width:390px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    width:calc(100vw - 64px) !important;
    max-width:calc(100vw - 64px) !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:54px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
    font-size:24px !important;
  }
}


/* === RUN CITY Presentation Fix 2026-06-19 ===
   Nur zwei Punkte:
   1) Fortschritts-Prozent wird nicht mehr als "1..." abgeschnitten.
   2) Offroute-Chip erscheint auch bei sichtbarer Abweichung innerhalb des Snap-in-/Korridors.
   Keine Änderung an Entry-Navigation, Richtungserkennung, Footer/Pulse oder Finish-Logik. */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
  grid-template-columns:minmax(82px, .82fr) 1px minmax(0, 1fr) 1px minmax(0, .98fr) 1px minmax(0, .88fr) !important;
  gap:12px !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary{
  min-width:82px !important;
  overflow:visible !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
  display:block !important;
  width:auto !important;
  min-width:70px !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  font-size:clamp(38px, 8vw, 56px) !important;
  letter-spacing:-.075em !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat:not(.is-primary) strong{
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  left:14px !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 118px) !important;
  top:auto !important;
  z-index:940 !important;
  max-width:calc(100% - 116px) !important;
  pointer-events:none !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible.is-back-to-route{
  background:rgba(241,196,79,.97) !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.10) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.24), 0 0 22px rgba(241,196,79,.18) !important;
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stats{
    grid-template-columns:minmax(74px, .9fr) 1px minmax(0, 1fr) 1px minmax(0, .92fr) 1px minmax(0, .82fr) !important;
    gap:7px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary{
    min-width:74px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb .rc-runhud-stat.is-primary strong{
    min-width:62px !important;
    font-size:40px !important;
  }
}


/* === RUN CITY Entry Ready Layout Fix 2026-06-19 ===
   Nur Darstellung beim erreichten Einstiegspunkt:
   - großes ZUM-EINSTIEG-HUD kleiner und höher
   - Start-/Jetzt-loslaufen-Button bekommt unten freien Raum
   - X-Close bleibt oben rechts unverändert
   Keine JS-/Navigationsänderung. */

/* Sobald der Einstieg erreicht ist, darf das Distanz-HUD nicht den Startbutton überdecken. */
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-pending,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  top:calc(env(safe-area-inset-top, 0px) + 58px) !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(430px, calc(100vw - 92px)) !important;
  max-width:calc(100vw - 92px) !important;
  min-width:0 !important;
  padding:12px 16px 14px !important;
  border-radius:24px !important;
  gap:6px !important;
  z-index:760 !important;
}

/* Inhalt im kompakten Ready-HUD. */
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  padding:8px 16px !important;
  font-size:12px !important;
  letter-spacing:.15em !important;
  line-height:1 !important;
}

.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  font-size:42px !important;
  line-height:.9 !important;
  margin:0 !important;
}

.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub,
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  font-size:18px !important;
  line-height:1.08 !important;
  margin:0 !important;
}

/* Start-Overlay weiter nach unten und mit genug Platz zum Button. */
.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-overlay{
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 188px) !important;
  padding-left:20px !important;
  padding-right:20px !important;
  box-sizing:border-box !important;
}

.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card{
  width:min(420px, calc(100vw - 44px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:22px 20px 22px !important;
  border-radius:28px !important;
}

.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card strong{
  font-size:clamp(38px, 10vw, 58px) !important;
  line-height:.9 !important;
}

.route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:18px auto 0 !important;
  width:min(360px, 100%) !important;
  max-width:360px !important;
  min-height:60px !important;
  border-radius:999px !important;
  z-index:780 !important;
  position:relative !important;
}

/* X-Close ausdrücklich unverändert oben rechts. */
.route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close,
.route-map-modal.is-live-fullscreen:not(.rc-mode-live) .route-map-close{
  top:calc(env(safe-area-inset-top, 0px) + 16px) !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.route-map-modal.is-live-fullscreen.rc-mode-live .route-map-close{
  display:none !important;
}

@media (max-height:760px){
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-pending,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    top:calc(env(safe-area-inset-top, 0px) + 50px) !important;
    padding:10px 14px 12px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-overlay{
    padding-top:calc(env(safe-area-inset-top, 0px) + 168px) !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card{
    padding:18px 18px 20px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card strong{
    font-size:clamp(34px, 9vw, 50px) !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .rc-entry-ready-card button{
    min-height:56px !important;
    margin-top:14px !important;
  }
}

@media (max-width:390px){
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-pending,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    width:calc(100vw - 108px) !important;
    max-width:calc(100vw - 108px) !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:36px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub,
  .route-map-modal.rc-maplibre-nav-active.is-entry-start-overlay .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
    font-size:16px !important;
  }
}


/* === RUN CITY Live HUD Center Safety Fix 2026-06-19 ===
   Nur Live-HUD-Position:
   - verhindert, dass das breite Live-HUD rechts aus dem Viewport läuft
   - links/rechts gleiche Safe-Abstände
   - Entry-HUD und Entry-Ready-Overlay bleiben unverändert
   - keine JS-/Navigationsänderung */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
  left:10px !important;
  right:10px !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  box-sizing:border-box !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-progress,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-final,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-live-hud-layoutb{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-count-pill{
  left:10px !important;
  right:10px !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  box-sizing:border-box !important;
}

/* Entry-Distanz-HUD bleibt von dieser Live-HUD-Korrektur ausgenommen. */
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-panel{
    left:8px !important;
    right:8px !important;
  }

  .route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-count-pill{
    left:8px !important;
    right:8px !important;
  }
}


/* === RUN CITY Finish Overlay Copy Fix 2026-06-19 ===
   Nur Finish-Overlay:
   - "Willkommen" entfernt
   - RUN CITY. FINISHER! neon
   - Gesamt auf eigener Zeile
   Keine Änderung an Navigation/HUD/Entry/Offroute. */

.route-live-finish #routeLiveFinishText{
  display:block !important;
  margin:14px 0 18px !important;
}

.route-live-finish #routeLiveFinishText .rc-finish-neon{
  display:block !important;
  color:#d7ff00 !important;
  font-size:20px !important;
  line-height:1.05 !important;
  font-weight:1000 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 12px rgba(215,255,0,.42), 0 0 26px rgba(215,255,0,.18) !important;
  margin:0 0 7px !important;
}

.route-live-finish #routeLiveFinishText .rc-finish-total{
  display:block !important;
  color:rgba(255,255,255,.78) !important;
  font-size:17px !important;
  line-height:1.22 !important;
  font-weight:850 !important;
  letter-spacing:-.015em !important;
  margin:0 !important;
}

@media (max-width:420px){
  .route-live-finish #routeLiveFinishText .rc-finish-neon{
    font-size:18px !important;
    letter-spacing:.06em !important;
  }
  .route-live-finish #routeLiveFinishText .rc-finish-total{
    font-size:16px !important;
  }
}


/* === RUN CITY Tablet Route Finder Fix 2026-06-19 ===
   Nur iPad-/Tablet-Breite:
   Der Route-Finder war zwischen Mobile und Desktop zu schmal für
   Distanz-Auswahl + Locate-Button nebeneinander.
   Desktop > 900px und Mobile <= 720px bleiben unverändert. */

@media (min-width:721px) and (max-width:900px){
  .route-finder.route-finder--tool{
    grid-template-columns:1fr !important;
  }

  .route-finder.route-finder--tool .route-finder-intro{
    max-width:560px !important;
  }

  .route-finder.route-finder--tool .route-finder-intro h3{
    max-width:16ch !important;
  }

  .route-finder.route-finder--tool .route-finder-controls.rc-route-tool-steps,
  .route-finder.route-finder--tool .rc-route-tool-steps{
    width:100% !important;
    grid-template-columns:minmax(260px, 1fr) minmax(168px, max-content) !important;
    align-items:end !important;
  }

  .route-finder.route-finder--tool .rc-route-tool-step--location{
    min-width:168px !important;
  }

  .route-finder.route-finder--tool .rc-route-tool-step--location .rc-route-tool-label{
    white-space:nowrap !important;
  }

  .route-finder.route-finder--tool .rc-route-tool-step--location #useLocationBtn{
    min-width:132px !important;
    width:auto !important;
    flex:0 0 auto !important;
    padding-left:22px !important;
    padding-right:22px !important;
    font-size:12px !important;
    letter-spacing:.04em !important;
  }
}


/* === RUN CITY Offroute Force Visibility 2026-06-19 ===
   Nur Offroute-Chip:
   - bei großem Umweg sichtbar, auch wenn Snap-in/Progress weiterläuft
   - liegt oberhalb des unteren LIVE-MODUS-BEENDEN Buttons
   Keine Änderung an HUD/Entry/Footer. */

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  left:14px !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 132px) !important;
  top:auto !important;
  z-index:980 !important;
  pointer-events:none !important;
  max-width:calc(100% - 112px) !important;
  min-height:40px !important;
  padding:10px 15px !important;
  border-radius:999px !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  background:rgba(241,196,79,.98) !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.12) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28), 0 0 24px rgba(241,196,79,.18) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible .route-live-offroute__icon,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible strong,
.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible span{
  color:#111 !important;
  opacity:1 !important;
  white-space:nowrap !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible strong{
  font-size:14px !important;
  line-height:1 !important;
  font-weight:1000 !important;
}

.route-map-modal.is-live-fullscreen .route-map-canvas-wrap .route-live-offroute.is-visible span{
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
}


/* === RUN CITY Entry Navigation HUD Compact 2026-06-20 ===
   Nur Navigation zum Einstiegspunkt:
   - ZUM EINSTIEG HUD kleiner und weiter oben
   - Karte/Strecke bleibt sichtbar
   - Live-HUD, Entry-Ready-Overlay, Offroute, Navigation bleiben unverändert. */

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
  top:calc(env(safe-area-inset-top, 0px) + 54px) !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(420px, calc(100vw - 132px)) !important;
  max-width:calc(100vw - 132px) !important;
  min-width:0 !important;
  padding:15px 18px 17px !important;
  border-radius:26px !important;
  gap:7px !important;
  box-sizing:border-box !important;
  text-align:center !important;
}

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-kicker{
  padding:7px 16px !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.15em !important;
  align-self:center !important;
}

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
  font-size:clamp(42px, 9.6vw, 62px) !important;
  line-height:.88 !important;
  margin:0 !important;
  align-self:center !important;
  text-align:center !important;
}

.route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
  .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
  font-size:clamp(18px, 4.2vw, 26px) !important;
  line-height:1.08 !important;
  margin:0 !important;
  align-self:center !important;
  text-align:center !important;
}

@media (max-width:480px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
    .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
    .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    top:calc(env(safe-area-inset-top, 0px) + 50px) !important;
    width:calc(100vw - 118px) !important;
    max-width:calc(100vw - 118px) !important;
    padding:13px 15px 15px !important;
    border-radius:24px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
    .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-main{
    font-size:44px !important;
  }

  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
    .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance .rc-live-hud-sub{
    font-size:18px !important;
  }
}

@media (max-width:390px){
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
    .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-distance,
  .route-map-modal.rc-maplibre-nav-active.is-live-fullscreen.rc-mode-entry-nav
    .route-map-canvas-wrap #routeLiveMain.route-live-pill.is-entry-pending{
    width:calc(100vw - 104px) !important;
    max-width:calc(100vw - 104px) !important;
  }
}


/* === RUN CITY Entry Navigation Close Corner Fix 2026-06-20 ===
   Nur Close-Button während der Navigation zum Einstiegspunkt:
   - weiter nach oben rechts
   - nicht mehr vom Entry-HUD verdeckt
   - Live-Laufmodus bleibt unverändert
   - keine JS-/Navigation-/HUD-Logik. */

.route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
.route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close{
  position:absolute !important;
  top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
  right:10px !important;
  left:auto !important;
  bottom:auto !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  z-index:995 !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
  text-align:center !important;
}

/* Nur im eigentlichen Live-Lauf bleibt das X ausgeblendet. */
.route-map-modal.is-live-fullscreen.rc-mode-live .route-map-close{
  display:none !important;
}

@media (max-width:480px){
  .route-map-modal.is-live-fullscreen.rc-mode-entry-nav .route-map-close,
  .route-map-modal.is-live-fullscreen.rc-mode-entry-ready .route-map-close{
    top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
    right:8px !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
  }
}


/* === RUN CITY Header Wide Logo Test 2026-06-20 ===
   Nur Header-Logo:
   - neues weißes Querformat-SVG
   - Header-Höhe bleibt unverändert
   - keine Navigation/HUD/Map/Route-Logik. */

.site-header .brand{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:auto !important;
  min-height:0 !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

.site-header .brand .brand-logo-svg--wide{
  display:block !important;
  width:auto !important;
  height:30px !important;
  max-height:30px !important;
  max-width:210px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

@media (max-width:720px){
  .site-header .brand .brand-logo-svg--wide{
    height:28px !important;
    max-height:28px !important;
    max-width:190px !important;
  }
}


/* === RUN CITY × enercity + WebApp Install Guide 2026-07-17 ===
   Nur Header-Partnerlogo, Sponsorblock unter Route-Finder und FAQ-Installationsanleitung.
   Bestehendes Layout, Navigation, Karten/HUD und Tracking bleiben unangetastet. */

.site-header .rc-header-partner{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:34px;
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.24);
  text-decoration:none;
  color:#fff;
  line-height:1;
  flex:0 0 auto;
}
.site-header .rc-header-partner span{
  display:block;
  font-size:8px;
  line-height:1;
  letter-spacing:.05em;
  color:rgba(255,255,255,.72);
  white-space:nowrap;
}
.site-header .rc-header-partner img{
  display:block;
  width:auto;
  height:25px;
  max-width:100px;
  object-fit:contain;
}

.rc-enercity-banner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:100%;
  margin:18px 0 22px;
  padding:18px 26px;
  border:1px solid rgba(226,56,181,.72);
  border-radius:12px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 30%, rgba(255,75,89,.34), transparent 36%),
    linear-gradient(110deg, rgba(68,11,88,.96) 0%, rgba(104,10,101,.94) 42%, rgba(180,25,76,.94) 72%, rgba(215,60,42,.94) 100%);
  box-shadow:0 12px 34px rgba(0,0,0,.2);
}
.rc-enercity-banner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background:
    repeating-linear-gradient(120deg, transparent 0 16px, rgba(255,255,255,.05) 17px 18px);
}
.rc-enercity-banner__copy,
.rc-enercity-banner__link{
  position:relative;
  z-index:1;
}
.rc-enercity-banner__title{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:20px;
  line-height:1;
}
.rc-enercity-banner__title strong{font-weight:900;letter-spacing:.03em}
.rc-enercity-banner__title > span{opacity:.82}
.rc-enercity-banner__title img{
  width:auto;
  height:27px;
  max-width:118px;
  object-fit:contain;
}
.rc-enercity-banner__copy p{
  margin:8px 0 0;
  max-width:470px;
  font-size:14px;
  line-height:1.4;
  color:rgba(255,255,255,.88);
}
.rc-enercity-banner__link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.rc-enercity-banner__link svg{width:16px;height:16px}
.rc-enercity-banner__link:hover,
.rc-enercity-banner__link:focus-visible{color:#c8ff00}

.rc-install-guide{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(200,255,0,.2);
}
.rc-install-guide__head{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:22px;
}
.rc-install-guide__book{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  color:#c8ff00;
  flex:0 0 auto;
}
.rc-install-guide__book svg{width:32px;height:32px}
.rc-install-guide__head .eyebrow{margin:0 0 5px}
.rc-install-guide__head h4{
  margin:0;
  color:#fff;
  font-size:22px;
  line-height:1.15;
}
.rc-install-guide__platform + .rc-install-guide__platform{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.11);
}
.rc-install-guide__platform h5{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 14px;
  color:#fff;
  font-size:17px;
}
.rc-install-guide__platform h5 > span:first-child{color:#c8ff00}
.rc-install-guide__android{display:inline-grid;width:20px;height:20px}
.rc-install-guide__android svg{width:20px;height:20px}
.rc-install-guide__steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.rc-install-step{
  min-width:0;
  padding:15px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.rc-install-step__icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-bottom:11px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.04);
}
.rc-install-step__icon svg{width:25px;height:25px}
.rc-install-step strong{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.2;
}
.rc-install-step p{
  margin:7px 0 0;
  color:rgba(255,255,255,.7);
  font-size:12px;
  line-height:1.42;
}

@media (max-width:900px){
  .site-header .rc-header-partner{
    margin-left:20px;
    padding-left:18px;
  }
  .rc-enercity-banner{align-items:flex-start}
}
@media (max-width:720px){
  .site-header .rc-header-partner{
    margin-left:14px;
    padding-left:14px;
    gap:6px;
  }
  .site-header .rc-header-partner span{display:none}
  .site-header .rc-header-partner img{height:19px;max-width:74px}
  .rc-enercity-banner{
    flex-direction:column;
    gap:15px;
    padding:18px;
  }
  .rc-enercity-banner__link{white-space:normal}
  .rc-install-guide__steps{grid-template-columns:1fr}
  .rc-install-step{
    display:grid;
    grid-template-columns:52px 1fr;
    column-gap:10px;
  }
  .rc-install-step__icon{
    grid-row:1 / span 2;
    margin:0;
  }
}
@media (max-width:420px){
  .site-header .rc-header-partner{
    margin-left:9px;
    padding-left:9px;
  }
  .site-header .rc-header-partner img{height:17px;max-width:66px}
}


/* === RUN CITY × enercity Logo Sizing Fix 2026-07-17 ===
   Nur Partnerlogo im Header und enercity-Logo im Sponsorblock.
   Hilfe-Seite, Seitenlayout, Navigation und Funktionen bleiben unverändert. */

/* Desktop: Partnerkennzeichnung klar erkennbar, aber weiterhin zurückhaltend. */
.site-header .rc-header-partner{
  gap:10px !important;
  margin-left:42px !important;
  padding-left:30px !important;
  min-width:150px !important;
}
.site-header .rc-header-partner span{
  font-size:9px !important;
  line-height:1.05 !important;
}
.site-header .rc-header-partner img{
  width:auto !important;
  height:34px !important;
  max-height:34px !important;
  max-width:142px !important;
  flex:0 0 auto !important;
}

/* Sponsorblock: Logo sichtbar größer. */
.rc-enercity-banner__title img{
  width:auto !important;
  height:38px !important;
  max-height:38px !important;
  max-width:168px !important;
  flex:0 0 auto !important;
}

/* Tablet: genug Platz zur Hauptnavigation lassen. */
@media (max-width:1050px){
  .site-header{
    gap:14px !important;
  }
  .site-header .rc-header-partner{
    margin-left:24px !important;
    padding-left:20px !important;
    min-width:128px !important;
  }
  .site-header .rc-header-partner img{
    height:30px !important;
    max-height:30px !important;
    max-width:126px !important;
  }
}

/* Mobil:
   Partnerlogo bleibt links beim RUN-CITY-Logo und erhält einen eigenen Platz.
   Sprachschalter und FAQ bleiben rechts und können es nicht überdecken. */
@media (max-width:720px){
  .site-header{
    display:grid !important;
    grid-template-columns:auto minmax(82px, 1fr) auto !important;
    align-items:center !important;
    column-gap:10px !important;
  }

  .site-header .brand{
    grid-column:1 !important;
    min-width:0 !important;
  }

  .site-header .rc-header-partner{
    grid-column:2 !important;
    justify-self:start !important;
    align-self:center !important;
    margin-left:8px !important;
    padding-left:14px !important;
    min-width:0 !important;
    max-width:132px !important;
    gap:0 !important;
    border-left:1px solid rgba(255,255,255,.24) !important;
    overflow:visible !important;
  }

  .site-header .rc-header-partner span{
    display:none !important;
  }

  .site-header .rc-header-partner img{
    display:block !important;
    width:auto !important;
    height:27px !important;
    max-height:27px !important;
    max-width:118px !important;
  }

  .site-header .lang-switch-mobile-header{
    grid-column:3 !important;
    justify-self:end !important;
    position:relative !important;
    z-index:4 !important;
  }

  .site-header .main-nav{
    grid-column:3 !important;
    justify-self:end !important;
  }

  .rc-enercity-banner__title{
    gap:11px !important;
  }

  .rc-enercity-banner__title img{
    height:34px !important;
    max-height:34px !important;
    max-width:150px !important;
  }
}

@media (max-width:460px){
  .site-header{
    grid-template-columns:auto minmax(70px,1fr) auto !important;
    column-gap:7px !important;
  }

  .site-header .rc-header-partner{
    margin-left:4px !important;
    padding-left:10px !important;
    max-width:105px !important;
  }

  .site-header .rc-header-partner img{
    height:24px !important;
    max-height:24px !important;
    max-width:100px !important;
  }

  .rc-enercity-banner__title img{
    height:31px !important;
    max-height:31px !important;
    max-width:138px !important;
  }
}


/* === enercity SVG Cropped Artboard Adjustment 2026-07-17 ===
   Das Logo-Asset ist nun auf den eigentlichen Schriftzug zugeschnitten. */

.site-header .rc-header-partner img{
  height:26px !important;
  max-height:26px !important;
  max-width:132px !important;
}

.rc-enercity-banner__title img{
  height:31px !important;
  max-height:31px !important;
  max-width:158px !important;
}

@media (max-width:720px){
  .site-header .rc-header-partner img{
    height:23px !important;
    max-height:23px !important;
    max-width:112px !important;
  }

  .rc-enercity-banner__title img{
    height:29px !important;
    max-height:29px !important;
    max-width:146px !important;
  }
}

@media (max-width:460px){
  .site-header .rc-header-partner img{
    height:21px !important;
    max-height:21px !important;
    max-width:100px !important;
  }
}


/* === enercity Banner oberhalb von Iconic Routes 2026-07-17 === */
.rc-enercity-banner--routes-top{
  margin:0 0 28px;
}
@media (max-width:720px){
  .rc-enercity-banner--routes-top{
    margin:0 0 22px;
  }
}


/* === RUN CITY × enercity Header Left Group Fix 2026-07-17 ===
   Nur Desktop und Tablet:
   - RUN CITY und powered by enercity bleiben als kompakte linke Logo-Gruppe zusammen.
   - Navigation / Sprachumschalter / FAQ bleiben rechts.
   - Mobile bis 720px bleibt vollständig unverändert. */

@media (min-width:721px){
  .site-header{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  .site-header .brand{
    flex:0 0 auto !important;
    margin:0 !important;
  }

  .site-header .rc-header-partner{
    flex:0 0 auto !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    margin-left:22px !important;
    padding-left:18px !important;
    justify-self:auto !important;
  }

  .site-header .main-nav{
    margin-left:auto !important;
  }
}

/* Tablet: identische linke Gruppierung, ohne den früheren Mittelraum. */
@media (min-width:721px) and (max-width:980px){
  .site-header{
    gap:0 !important;
  }

  .site-header .rc-header-partner{
    margin-left:20px !important;
    padding-left:17px !important;
    min-width:0 !important;
  }
}

/* Desktop behält etwas mehr Luft, bleibt aber klar links beim RUN-CITY-Logo. */
@media (min-width:981px){
  .site-header .rc-header-partner{
    margin-left:24px !important;
    padding-left:20px !important;
    min-width:0 !important;
  }
}


/* === RUN CITY × enercity Banner Spacing Fix 2026-07-17 ===
   Nur Werbebanner vor „Iconic Routes“:
   - ca. 10 px nach oben verschoben
   - keine Änderungen an Header, Navigation, FAQ, Tracking oder Layoutlogik. */

#routes .rc-enercity-banner--routes-top{
  transform:translateY(-10px) !important;
}


/* === RUN CITY × enercity Mobile Header Polish 2026-07-17 ===
   Nur Mobile Header:
   - "powered by" vor enercity sichtbar
   - EN-Button ca. 4 px tiefer
   - sonst keine Layout-/Funktionsänderung. */

@media (max-width:720px){
  .site-header .rc-header-partner{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
  }

  .site-header .rc-header-partner span{
    display:inline-block !important;
    visibility:visible !important;
    opacity:.72 !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
  }

  .site-header .lang-switch-mobile-header{
    transform:translateY(4px) !important;
  }
}


/* === RUN CITY × enercity Brand Order Polish 2026-07-17 ===
   Nur Branding:
   - Werbebanner: enercity × RUN CITY
   - Header: "powered by" oberhalb des enercity-Logos
   - sonst keine Layout-/Funktionsänderung. */

.site-header .rc-header-partner{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
}

.site-header .rc-header-partner span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.site-header .rc-header-partner img{
  display:block !important;
  margin:0 !important;
}

.rc-enercity-banner__title{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.rc-enercity-banner__title img{
  order:1 !important;
}

.rc-enercity-banner__title span{
  order:2 !important;
}

.rc-enercity-banner__title strong{
  order:3 !important;
}

/* === RUN CITY × enercity Customer Branding 2026-09-02 ===
   Kundenfinalisierung:
   - Header: komplette Kennzeichnung aus /assets/logo/logo_poweredby.png
   - Banner: Phone / Tablet / Desktop als separate, unveränderte PNG-Motive
   - Breakpoints entsprechen dem bestehenden RUN-CITY-Layout: Phone bis 720 px,
     Tablet bis 1050 px, darüber Desktop
   - keine Beschneidung, keine Verzerrung, keine Bildmanipulation
*/

/* Header: das neue kombinierte Asset nutzt die bereits vorhandenen Platzbreiten,
   wird aber nicht über eine feste Höhe zusammengedrückt. */
.site-header .rc-header-partner > span{
  display:none !important;
}

.site-header .rc-header-partner img.rc-header-partner__combined{
  display:block !important;
  width:132px !important;
  max-width:132px !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
}

@media (max-width:1050px) and (min-width:721px){
  .site-header .rc-header-partner img.rc-header-partner__combined{
    width:126px !important;
    max-width:126px !important;
    height:auto !important;
    max-height:none !important;
  }
}

@media (max-width:720px){
  .site-header .rc-header-partner img.rc-header-partner__combined{
    width:112px !important;
    max-width:112px !important;
    height:auto !important;
    max-height:none !important;
  }
}

@media (max-width:460px){
  .site-header .rc-header-partner img.rc-header-partner__combined{
    width:100px !important;
    max-width:100px !important;
    height:auto !important;
    max-height:none !important;
  }
}

/* Kundenmotiv: die <picture>-Quellen werden 1:1 ausgespielt.
   Das jeweilige Seitenverhältnis bleibt vollständig erhalten. */
#routes .rc-enercity-banner.rc-enercity-banner--routes-top.rc-enercity-banner--artwork{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 28px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:none !important;
  box-shadow:none !important;
  color:inherit !important;
  line-height:0 !important;
  text-decoration:none !important;
  transform:translateY(-10px) !important;
}

#routes .rc-enercity-banner.rc-enercity-banner--routes-top.rc-enercity-banner--artwork::before,
#routes .rc-enercity-banner.rc-enercity-banner--routes-top.rc-enercity-banner--artwork::after{
  content:none !important;
  display:none !important;
}

#routes .rc-enercity-banner--artwork .rc-enercity-banner__picture{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

#routes .rc-enercity-banner--artwork .rc-enercity-banner__image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  image-rendering:auto !important;
}

#routes .rc-enercity-banner--artwork:focus-visible{
  outline:2px solid #fff !important;
  outline-offset:4px !important;
}

@media (max-width:720px){
  #routes .rc-enercity-banner.rc-enercity-banner--routes-top.rc-enercity-banner--artwork{
    margin-bottom:22px !important;
    transform:translateY(-6px) !important;
  }
}
