/* RadarČeska · Station Premium Polish v3.0.3
   Visual-only overlay on top of Station Experience v3 + shared RailMapCore. */

.rs-page.rs-station-v3{
  --rs-card-radius:18px;
  --rs-gap:12px;
  --rs-soft:#f7faf9;
  --rs-soft-2:#f1f7f4;
  --rs-line:#dfe9e6;
  --rs-ink:#102f38;
  --rs-muted:#728286;
  --rs-green:#08745a;
  --rs-green-2:#11a77d;
  --rs-shadow-soft:0 10px 28px rgba(18,55,56,.042);
}

/* Page rhythm */
.rs-page.rs-station-v3 .rs-main{
  max-width:1180px;
}
.rs-page.rs-station-v3 .rs-main > * + *{
  margin-top:12px;
}

/* Hero: less empty space, stronger editorial hierarchy */
.rs-page.rs-station-v3 .rs-hero{
  padding:25px 28px 22px;
  border-radius:22px;
  background:
    radial-gradient(circle at 94% 12%,rgba(54,202,154,.10),transparent 34%),
    linear-gradient(180deg,#fff,#fcfefd);
  box-shadow:var(--rs-shadow-soft);
}
.rs-page.rs-station-v3 .rs-hero h1{
  margin:4px 0 7px;
  font-size:44px;
  line-height:.96;
  letter-spacing:-.045em;
}
.rs-page.rs-station-v3 .rs-hero > p{
  margin-bottom:16px;
  max-width:760px;
  font-size:14px;
  line-height:1.45;
  color:#587176;
}
.rs-page.rs-station-v3 .rs-kpis{
  gap:7px;
}
.rs-page.rs-station-v3 .rs-kpis > div{
  min-height:56px;
  padding:9px 11px;
  border-radius:12px;
  border-color:#e7eeec;
  background:#f6f9f8;
}
.rs-page.rs-station-v3 .rs-kpis > div:nth-child(2){
  background:#eef8f4;
  border-color:#dceee7;
}
.rs-page.rs-station-v3 .rs-kpis span{
  font-size:9.5px;
  letter-spacing:.005em;
}
.rs-page.rs-station-v3 .rs-kpis strong{
  margin-top:3px;
  font-size:20px;
}
.rs-page.rs-station-v3 .rs-kpis > div:last-child{
  opacity:.82;
}

/* Main live block */
.rs-page.rs-station-v3 .rs-live-layout{
  grid-template-columns:minmax(0,1.66fr) minmax(300px,.74fr);
  gap:var(--rs-gap);
  align-items:stretch;
}
.rs-page.rs-station-v3 .rs-card{
  border-radius:var(--rs-card-radius);
  box-shadow:var(--rs-shadow-soft);
}
.rs-page.rs-station-v3 .rs-map-card,
.rs-page.rs-station-v3 .rs-nearby-card{
  min-height:390px;
  height:390px;
}
.rs-page.rs-station-v3 .rs-map-card{
  padding:15px;
}
.rs-page.rs-station-v3 .rs-nearby-card{
  padding:15px;
}
.rs-page.rs-station-v3 .rs-section-head{
  margin-bottom:10px;
}
.rs-page.rs-station-v3 .rs-section-head h2{
  font-size:20px;
  line-height:1.05;
}
.rs-page.rs-station-v3 .rs-section-head small{
  font-size:9px;
  color:#8a989a;
}
.rs-page.rs-station-v3 .rs-station-map{
  border-radius:13px;
  border-color:#dbe6e2;
}
.rs-page.rs-station-v3 .rs-map-legend{
  margin-top:5px;
  min-height:14px;
  font-size:8.5px;
}

/* Nearby live trains: dense, clean, no huge blank cards */
.rs-page.rs-station-v3 .rs-nearby-list{
  gap:6px;
  padding-right:1px;
}
.rs-page.rs-station-v3 .rs-nearby-train-v3{
  min-height:50px;
  padding:8px 9px;
  gap:9px;
  border-radius:10px;
  border-color:#e2e9e7;
}
.rs-page.rs-station-v3 .rs-nearby-train-v3:hover{
  border-color:#c7dcd5;
  background:#fbfefd;
  box-shadow:0 5px 13px rgba(17,76,64,.05);
}
.rs-page.rs-station-v3 .rs-live-train-main strong{
  font-size:12.5px;
  line-height:1.05;
}
.rs-page.rs-station-v3 .rs-live-train-main small{
  margin-top:3px;
  font-size:8.9px;
}
.rs-page.rs-station-v3 .rs-live-side{
  gap:3px;
}
.rs-page.rs-station-v3 .rs-live-side b{
  font-size:10.5px;
}
.rs-page.rs-station-v3 .rs-live-status{
  min-height:17px;
  padding:2px 6px;
  font-size:8.5px;
}
.rs-page.rs-station-v3 .rs-live-more{
  min-height:30px;
  margin-top:1px;
  font-size:9px;
  border-radius:9px;
}

/* Empty station / no coordinates: balanced instead of giant blank panel */
.rs-page.rs-station-v3 .rs-live-layout.is-no-map{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
}
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-map-card,
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-nearby-card{
  height:230px;
  min-height:230px;
}
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-map-card{
  padding:15px;
}
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-station-map{
  min-height:140px;
  height:140px;
}
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-map-legend{
  display:none;
}
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-nearby-list{
  overflow:visible;
}
.rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-live-empty-v2{
  margin:auto 0;
}

/* Empty message itself */
.rs-page.rs-station-v3 .rs-live-empty-v2{
  padding:14px 15px;
  border-radius:11px;
  background:#f6f9f8;
}
.rs-page.rs-station-v3 .rs-live-empty-v2 strong{
  font-size:11.5px;
}
.rs-page.rs-station-v3 .rs-live-empty-v2 span{
  font-size:9.5px;
}
.rs-page.rs-station-v3 .rs-map-empty{
  padding:18px;
}
.rs-page.rs-station-v3 .rs-map-empty strong{
  font-size:12px;
}
.rs-page.rs-station-v3 .rs-map-empty span,
.rs-page.rs-station-v3 .rs-map-empty a{
  font-size:9.5px;
}

/* Nearest connections: clear primary action block */
.rs-page.rs-station-v3 .rs-next-hour{
  border-radius:18px;
}
.rs-page.rs-station-v3 .rs-next-hour::before{
  inset:14px auto 14px 0;
  width:3px;
}
.rs-page.rs-station-v3 .rs-next-hour .rs-section-head{
  margin-bottom:8px;
}
.rs-page.rs-station-v3 .rs-next-hour .rs-board{
  column-gap:18px;
}
.rs-page.rs-station-v3 .rs-board-row{
  min-height:52px;
  padding-top:7px;
  padding-bottom:7px;
}
.rs-page.rs-station-v3 .rs-board-row time{
  font-size:14px;
}
.rs-page.rs-station-v3 .rs-train strong{
  font-size:12px;
}
.rs-page.rs-station-v3 .rs-train span{
  font-size:9px;
}
.rs-page.rs-station-v3 .rs-next-hour .rs-board-row.is-next-connection{
  background:linear-gradient(90deg,rgba(17,167,125,.08),rgba(17,167,125,0));
}

/* Arrivals / departures: slightly quieter than "nearest" */
.rs-page.rs-station-v3 .rs-two{
  gap:12px;
}
.rs-page.rs-station-v3 .rs-two > .rs-card{
  border-radius:17px;
}
.rs-page.rs-station-v3 .rs-two .rs-section-head h2{
  font-size:18px;
}
.rs-page.rs-station-v3 .rs-two .rs-board-row{
  min-height:50px;
}

/* Links / controls */
.rs-page.rs-station-v3 .rs-map-card .rs-section-head a{
  font-size:10px;
  font-weight:800;
  color:#17363e;
  text-underline-offset:2px;
}
.rs-page.rs-station-v3 .rs-map-card .rs-section-head a:hover{
  color:var(--rs-green);
}

/* Slightly calmer map chrome */
.rs-page.rs-station-v3 .rs-station-map .maplibregl-ctrl-group{
  box-shadow:0 4px 12px rgba(15,48,50,.08);
}
.rs-page.rs-station-v3 .rs-station-map .maplibregl-ctrl-group button{
  width:28px;
  height:28px;
}

/* Tablet */
@media (max-width:900px){
  .rs-page.rs-station-v3 .rs-live-layout,
  .rs-page.rs-station-v3 .rs-live-layout.is-no-map{
    grid-template-columns:1fr;
  }
  .rs-page.rs-station-v3 .rs-map-card,
  .rs-page.rs-station-v3 .rs-nearby-card,
  .rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-map-card,
  .rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-nearby-card{
    height:auto;
    min-height:0;
  }
  .rs-page.rs-station-v3 .rs-station-map{
    height:280px;
    min-height:280px;
  }
  .rs-page.rs-station-v3 .rs-live-layout.is-no-map .rs-station-map{
    height:145px;
    min-height:145px;
  }
  .rs-page.rs-station-v3 .rs-nearby-list{
    overflow:visible;
  }
}

/* Mobile */
@media (max-width:640px){
  .rs-page.rs-station-v3 .rs-main{
    padding-left:8px;
    padding-right:8px;
  }
  .rs-page.rs-station-v3 .rs-main > * + *{
    margin-top:9px;
  }
  .rs-page.rs-station-v3 .rs-hero{
    padding:20px 15px 16px;
    border-radius:17px;
  }
  .rs-page.rs-station-v3 .rs-hero h1{
    font-size:32px;
  }
  .rs-page.rs-station-v3 .rs-hero > p{
    margin-bottom:13px;
    font-size:12px;
  }
  .rs-page.rs-station-v3 .rs-kpis{
    gap:5px;
  }
  .rs-page.rs-station-v3 .rs-kpis > div{
    min-height:54px;
    padding:8px 9px;
  }
  .rs-page.rs-station-v3 .rs-kpis strong{
    font-size:18px;
  }
  .rs-page.rs-station-v3 .rs-map-card,
  .rs-page.rs-station-v3 .rs-nearby-card{
    padding:13px;
    border-radius:15px;
  }
  .rs-page.rs-station-v3 .rs-station-map{
    height:235px;
    min-height:235px;
  }
  .rs-page.rs-station-v3 .rs-nearby-train-v3{
    min-height:48px;
  }
  .rs-page.rs-station-v3 .rs-next-hour,
  .rs-page.rs-station-v3 .rs-two > .rs-card{
    border-radius:15px;
  }
}
