/* S59DAP standalone page – only the /radioklubi/ template loads this file.
   Theme markup is not rendered. Theme-sourced CSS/JS is dequeued in PHP. */
html.s59rk-standalone-document {margin:0!important;padding:0;min-width:320px;overflow-x:clip;}
body.s59rk-standalone-page {
  margin:0!important;padding:0!important;min-width:320px;min-height:100vh;
  background:#eaf1f4;color:#173347;overflow-x:clip;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
body.s59rk-standalone-page .s59rk-standalone-main {
  display:block;width:100%;max-width:none;margin:0;padding:0;min-height:100dvh;
}
body.s59rk-standalone-page .s59rk-standalone-main > .s59rk {
  box-sizing:border-box;display:block;width:100%!important;max-width:none!important;
  margin:0!important;transform:none!important;border:0;border-radius:0!important;
  box-shadow:none!important;min-height:100dvh;overflow:hidden;
  --rk-map-height:clamp(540px,calc(100dvh - 265px),1050px);
}
body.s59rk-standalone-page .s59rk .s59rk-body {grid-template-columns:minmax(285px,350px) minmax(0,1fr);}
body.s59rk-standalone-page .s59rk .s59rk-head {padding:17px clamp(15px,2.2vw,36px);}
body.s59rk-standalone-page .s59rk .s59rk-footer {padding-inline:clamp(15px,2vw,32px);}
/* Avoid over-wide tiny text on large monitors while leaving full width for the map. */
body.s59rk-standalone-page .s59rk .s59rk-title {font-size:clamp(25px,2.2vw,36px);}
@media (max-width:760px) {
  body.s59rk-standalone-page .s59rk-standalone-main > .s59rk {--rk-map-height:auto;}
  body.s59rk-standalone-page .s59rk .s59rk-body {display:flex;flex-direction:column;}
  body.s59rk-standalone-page .s59rk .s59rk-head {padding:14px 12px;}
  body.s59rk-standalone-page .s59rk .s59rk-mapwrap {height:clamp(335px,52svh,445px);}
  body.s59rk-standalone-page .s59rk .s59rk-list {height:auto;max-height:none;overflow:visible;}
  body.s59rk-standalone-page .s59rk .s59rk-footer {padding:14px 12px;}
}

/* v1.0.30: explicit home navigation, only on the independent map page. */
body.s59rk-standalone-page .s59rk .s59rk-home {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  line-height:1;text-decoration:none;
}
body.s59rk-standalone-page .s59rk .s59rk-home svg {
  width:16px;height:16px;flex:none;
}
body.s59rk-standalone-page .s59rk .s59rk-home:hover {text-decoration:none;}

/* Desktop: one viewport, with a separately scrollable list. On phones the
   existing map-first document scrolling stays enabled (rules below exclude it).
   On exceptionally short browser windows normal page scrolling is safer than
   squeezing the map into an unusable strip. */
@media (min-width:761px) and (min-height:620px) {
  html.s59rk-standalone-document {
    height:100%; overflow:hidden;
  }
  body.s59rk-standalone-page {
    height:100%;min-height:0;overflow:hidden;
  }
  body.s59rk-standalone-page .s59rk-standalone-main {
    display:block;height:100vh;height:100dvh;min-height:0;overflow:hidden;
  }
  body.s59rk-standalone-page .s59rk-standalone-main > .s59rk {
    display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;
    overflow:hidden;
  }
  body.s59rk-standalone-page .s59rk .s59rk-head {
    flex:0 0 auto;padding:11px clamp(16px,1.75vw,27px);gap:12px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-eyebrow {
    font-size:9px;line-height:1.2;
  }
  body.s59rk-standalone-page .s59rk .s59rk-title {
    font-size:clamp(23px,1.85vw,30px);line-height:1.1;margin:3px 0 3px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-subtitle {
    font-size:11.5px;line-height:1.3;
  }
  body.s59rk-standalone-page .s59rk .s59rk-top-actions {
    align-self:center;gap:7px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-toolbar,
  body.s59rk-standalone-page .s59rk .s59rk-summary,
  body.s59rk-standalone-page .s59rk .s59rk-activity-legend,
  body.s59rk-standalone-page .s59rk .s59rk-history-legend,
  body.s59rk-standalone-page .s59rk .s59rk-member-legend,
  body.s59rk-standalone-page .s59rk .s59rk-footer {
    flex:0 0 auto;
  }
  body.s59rk-standalone-page .s59rk .s59rk-modebar {
    padding:8px clamp(12px,1.2vw,19px);gap:7px 10px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-mode-label {
    min-width:115px;font-size:9px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-preset {
    min-height:35px;padding:7px 11px;font-size:12px;gap:7px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-filterbar {
    padding:7px clamp(12px,1.2vw,19px);gap:8px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-filterbar .s59rk-searchwrap {
    min-height:36px;padding:0 11px;
  }
  body.s59rk-standalone-page .s59rk input.s59rk-search {
    height:34px;font-size:12px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-btn,
  body.s59rk-standalone-page .s59rk .s59rk-menu-toggle {
    min-height:35px;padding:7px 10px;font-size:11.5px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-summary {
    min-height:32px;padding:7px clamp(12px,1.2vw,19px);font-size:11px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-activity-legend,
  body.s59rk-standalone-page .s59rk .s59rk-history-legend,
  body.s59rk-standalone-page .s59rk .s59rk-member-legend {
    padding:6px 15px;font-size:11px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-body {
    flex:1 1 0;min-height:0;overflow:hidden;
  }
  body.s59rk-standalone-page .s59rk .s59rk-sidebar,
  body.s59rk-standalone-page .s59rk .s59rk-stage {
    min-height:0;overflow:hidden;
  }
  body.s59rk-standalone-page .s59rk .s59rk-sidebar {
    display:flex;flex-direction:column;
  }
  body.s59rk-standalone-page .s59rk .s59rk-list-heading {
    flex:0 0 auto;min-height:41px;padding:8px 14px;font-size:13px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-list {
    flex:1 1 0;min-height:0;height:auto;max-height:none;
    overflow-x:hidden;overflow-y:auto;
  }
  body.s59rk-standalone-page .s59rk .s59rk-club {
    min-height:71px;padding:9px 14px 10px;gap:4px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-club-name {
    font-size:13px;line-height:1.25;
  }
  body.s59rk-standalone-page .s59rk .s59rk-club-place {
    font-size:11px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-stage {
    display:flex;flex-direction:column;
  }
  body.s59rk-standalone-page .s59rk .s59rk-mapwrap,
  body.s59rk-standalone-page .s59rk.s59rk-map-wide .s59rk-mapwrap {
    flex:1 1 0;min-height:0;height:auto;
  }
  body.s59rk-standalone-page .s59rk .s59rk-disclaimer {
    flex:0 0 auto;font-size:10.5px;line-height:1.3;padding:7px 14px;
  }
  body.s59rk-standalone-page .s59rk .s59rk-footer {
    padding:8px clamp(12px,1.2vw,19px);font-size:10px;line-height:1.3;
  }
  /* Wide-map mode hides the sidebar without leaving its grid track behind. */
  body.s59rk-standalone-page .s59rk.s59rk-map-wide .s59rk-body {
    display:flex;flex-direction:row;
  }
  body.s59rk-standalone-page .s59rk.s59rk-map-wide .s59rk-sidebar {
    display:none;
  }
  body.s59rk-standalone-page .s59rk.s59rk-map-wide .s59rk-stage {
    flex:1 1 0;width:100%;
  }
  /* If Leaflet fails, give the usable club list the remaining height. */
  body.s59rk-standalone-page .s59rk.s59rk-map-fallback .s59rk-body {
    display:flex;flex-direction:column;
  }
  body.s59rk-standalone-page .s59rk.s59rk-map-fallback .s59rk-stage {
    flex:0 0 auto;
  }
  body.s59rk-standalone-page .s59rk.s59rk-map-fallback .s59rk-mapwrap.s59rk-map-unavailable {
    flex:0 0 130px;min-height:130px;height:130px;
  }
  body.s59rk-standalone-page .s59rk.s59rk-map-fallback .s59rk-sidebar {
    flex:1 1 0;min-height:0;
  }
}

/* Less horizontal wrapping on mid-sized laptops. The flex layout still allows
   natural wrapping if text size is increased for accessibility. */
@media (min-width:761px) and (max-width:1100px) and (min-height:620px) {
  body.s59rk-standalone-page .s59rk .s59rk-mode-label {flex-basis:auto;}
  body.s59rk-standalone-page .s59rk .s59rk-mode-switch {flex:1 1 auto;}
  body.s59rk-standalone-page .s59rk .s59rk-filterbar {flex-wrap:nowrap;}
  body.s59rk-standalone-page .s59rk .s59rk-filterbar .s59rk-searchwrap {
    flex:1 1 200px;min-width:140px;
  }
}

/* On smaller phones use the home icon; its translated text remains available
   to screen readers. Keep natural document scrolling as in v1.0.29. */
@media (max-width:480px) {
  body.s59rk-standalone-page .s59rk .s59rk-home {
    width:36px;min-width:36px;min-height:36px;padding:6px;position:relative;
  }
  body.s59rk-standalone-page .s59rk .s59rk-home-label {
    position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);
    width:1px;height:1px;overflow:hidden;white-space:nowrap;
  }
}
