/*
 * RunnerX content and frontend consistency layer.
 * Version 6.0.81
 */

/* -------------------------------------------------------------------------
   Edge-to-edge featured media on article, event and running-group details
   ------------------------------------------------------------------------- */
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap,
body.single-post .rx-single-shell > .rx-single-media-wrap,
body.single-runnerx_event .rx-single-shell > .rx-single-media-wrap,
body.single-runnerx_lauftreff .rx-single-shell > .rx-single-media-wrap{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap > .rx-event-media-with-date,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap > .rx-lauftreff-media-with-logo,
body.single-post .rx-single-media-wrap > *,
body.single-runnerx_event .rx-single-media-wrap > *,
body.single-runnerx_lauftreff .rx-single-media-wrap > *{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-single-featured,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-media,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-media-slider,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-media-slider__viewport,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-media-slider__slide,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-media-slider__link,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap .rx-video-embed,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap img,
.rx-single-shell.is-edge-media-single > .rx-single-media-wrap iframe{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Image-detail captions use the configured accent surface instead of white. */
body.single-runnerx_image .rx-media-slider__slide figcaption,
body.single-runnerx_image .rx-single-body figcaption,
body.single-runnerx_image .rx-single-body .wp-caption-text{
  margin:0!important;
  padding:10px 14px!important;
  border-top:1px solid color-mix(in srgb,var(--rx-accent,#93e547) 24%,var(--rx-border,#dbe5ef))!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 10%,#fff)!important;
  color:var(--rx-muted,#536471)!important;
  font-size:13px!important;
  line-height:1.45!important;
}

/* -------------------------------------------------------------------------
   Upload placeholders: no cropped local preview while a file is still moving
   ------------------------------------------------------------------------- */
.rx-upload-preview > .rx-upload-item.rx-single-upload-pending,
.rx-profile-edit-page .rx-upload-preview > .rx-upload-item.rx-single-upload-pending{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:94px!important;
  margin:0!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  overflow:visible!important;
  border:1px solid var(--rx-border,#dbe5ef)!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  box-sizing:border-box!important;
}
.rx-upload-placeholder-icon{
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 12%,#eef3f6)!important;
  color:var(--rx-primary,#08162f)!important;
  font-size:24px!important;
}
.rx-single-upload-pending__copy{
  min-width:0!important;
  display:grid!important;
  gap:7px!important;
}
.rx-single-upload-pending__copy > strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1.3!important;
}
.rx-single-upload-pending__copy > small,
.rx-gallery-upload-copy > small{
  color:var(--rx-muted,#536471)!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.rx-upload-preview[data-rx-sortable-gallery] .rx-gallery-upload-pending .rx-gallery-thumb.rx-upload-pending-thumb{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#eef3f6!important;
}
.rx-upload-preview[data-rx-sortable-gallery] .rx-gallery-upload-pending .rx-gallery-thumb .rx-upload-placeholder-icon{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  border-radius:0!important;
}
.rx-upload-preview[data-rx-sortable-gallery] .rx-upload-progress,
.rx-single-upload-pending .rx-upload-progress{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:10px!important;
  margin:1px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:100px!important;
  background:#dfe7ed!important;
  box-sizing:border-box!important;
}
.rx-upload-preview[data-rx-sortable-gallery] .rx-upload-progress > span,
.rx-single-upload-pending .rx-upload-progress > span{
  position:absolute!important;
  inset:0 auto 0 0!important;
  display:block!important;
  height:100%!important;
  min-height:100%!important;
  border-radius:100px!important;
  background:var(--rx-accent,#93e547)!important;
}
.rx-single-upload-pending [data-rx-upload-percent]{display:none!important}

/* GPX upload progress fills the complete track and has consistently round ends. */
.rx-gpx-progress{
  height:26px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:100px!important;
}
.rx-gpx-progress > span{
  position:absolute!important;
  top:0!important;
  right:auto!important;
  bottom:0!important;
  left:0!important;
  height:100%!important;
  min-height:100%!important;
  border-radius:100px!important;
}
.rx-gpx-progress > small{
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}

/* -------------------------------------------------------------------------
   Mobile drawer settings popover and accessible cookie controls
   ------------------------------------------------------------------------- */
.rx-mobile-drawer-head-actions{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.rx-mobile-settings-menu{position:relative!important}
.rx-mobile-settings-popover[hidden]{display:none!important}
.rx-mobile-settings-popover{
  position:absolute!important;
  z-index:2147483700!important;
  top:calc(100% + 9px)!important;
  right:0!important;
  width:min(292px,calc(100vw - 28px))!important;
  display:grid!important;
  gap:4px!important;
  padding:7px!important;
  border:1px solid var(--rx-border,#dbe5ef)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(8,20,35,.2)!important;
  box-sizing:border-box!important;
}
.rx-mobile-settings-popover::before{
  content:"";
  position:absolute;
  top:-6px;
  right:15px;
  width:11px;
  height:11px;
  border-left:1px solid var(--rx-border,#dbe5ef);
  border-top:1px solid var(--rx-border,#dbe5ef);
  background:#fff;
  transform:rotate(45deg);
}
.rx-mobile-settings-popover > a,
.rx-mobile-settings-popover > button{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--rx-text,#0f1419)!important;
  font:inherit!important;
  font-weight:800!important;
  text-align:left!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.rx-mobile-settings-popover > a:hover,
.rx-mobile-settings-popover > button:hover,
.rx-mobile-settings-popover > a:focus-visible,
.rx-mobile-settings-popover > button:focus-visible{
  outline:0!important;
  background:var(--rx-hover,#eff3f4)!important;
}
.rx-mobile-settings-popover i{
  width:22px!important;
  flex:0 0 22px!important;
  text-align:center!important;
  color:var(--rx-primary,#08162f)!important;
  font-size:18px!important;
}
.rx-cookie-modal{z-index:2147483900!important}
.rx-cookie-modal__backdrop{z-index:0!important}
.rx-cookie-modal__dialog{z-index:1!important}

/* -------------------------------------------------------------------------
   Native WordPress articles and static pages in the RunnerX visual language
   ------------------------------------------------------------------------- */
body.single-post .rx-single-body,
body.page-template-default .rx-page-content--plain{
  color:var(--rx-text,#0f1419)!important;
  font-size:17px!important;
  line-height:1.72!important;
  overflow-wrap:anywhere!important;
}
body.page-template-default .rx-page-content--plain{
  margin:0!important;
  padding:26px 24px 54px!important;
  border-top:0!important;
  border-bottom:1px solid var(--rx-border,#dbe5ef)!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.single-post .rx-single-body > :first-child,
body.page-template-default .rx-page-content--plain > :first-child{margin-top:0!important}
body.single-post .rx-single-body > :last-child,
body.page-template-default .rx-page-content--plain > :last-child{margin-bottom:0!important}
body.single-post .rx-single-body h2,
body.single-post .rx-single-body h3,
body.single-post .rx-single-body h4,
body.page-template-default .rx-page-content--plain h1,
body.page-template-default .rx-page-content--plain h2,
body.page-template-default .rx-page-content--plain h3,
body.page-template-default .rx-page-content--plain h4{
  margin:1.55em 0 .55em!important;
  color:var(--rx-text,#0f1419)!important;
  font-weight:900!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
}
body.single-post .rx-single-body h2,
body.page-template-default .rx-page-content--plain h2{font-size:clamp(24px,3.2vw,31px)!important}
body.single-post .rx-single-body h3,
body.page-template-default .rx-page-content--plain h3{font-size:clamp(20px,2.7vw,25px)!important}
body.single-post .rx-single-body p,
body.page-template-default .rx-page-content--plain p{margin:0 0 1.15em!important}
body.single-post .rx-single-body a,
body.page-template-default .rx-page-content--plain a{
  color:var(--rx-link,#1d9bf0)!important;
  font-weight:750!important;
  text-underline-offset:3px!important;
}
body.single-post .rx-single-body ul,
body.single-post .rx-single-body ol,
body.page-template-default .rx-page-content--plain ul,
body.page-template-default .rx-page-content--plain ol{
  margin:0 0 1.25em!important;
  padding-left:1.35em!important;
}
body.single-post .rx-single-body li + li,
body.page-template-default .rx-page-content--plain li + li{margin-top:.38em!important}
body.single-post .rx-single-body blockquote,
body.page-template-default .rx-page-content--plain blockquote{
  margin:1.5em 0!important;
  padding:16px 18px!important;
  border:0!important;
  border-left:4px solid var(--rx-accent,#93e547)!important;
  border-radius:0 10px 10px 0!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 10%,#fff)!important;
  color:var(--rx-text,#0f1419)!important;
}
body.single-post .rx-single-body blockquote p:last-child,
body.page-template-default .rx-page-content--plain blockquote p:last-child{margin-bottom:0!important}
body.single-post .rx-single-body figure,
body.page-template-default .rx-page-content--plain figure{max-width:100%!important;margin:1.5em 0!important}
body.single-post .rx-single-body img,
body.page-template-default .rx-page-content--plain img{
  max-width:100%!important;
  height:auto!important;
}
body.single-post .rx-single-body figcaption,
body.page-template-default .rx-page-content--plain figcaption{
  margin:0!important;
  padding:9px 12px!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 10%,#fff)!important;
  color:var(--rx-muted,#536471)!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body.single-post .rx-single-body table,
body.page-template-default .rx-page-content--plain table{
  width:100%!important;
  margin:1.5em 0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border:1px solid var(--rx-border,#dbe5ef)!important;
  border-radius:12px!important;
  background:#fff!important;
}
body.single-post .rx-single-body th,
body.page-template-default .rx-page-content--plain th{
  padding:12px 14px!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 9%,#fff)!important;
  text-align:left!important;
  font-weight:900!important;
}
body.single-post .rx-single-body td,
body.page-template-default .rx-page-content--plain td{
  padding:12px 14px!important;
  border-top:1px solid var(--rx-border,#dbe5ef)!important;
}
body.single-post .rx-single-body pre,
body.page-template-default .rx-page-content--plain pre{
  max-width:100%!important;
  overflow:auto!important;
  margin:1.5em 0!important;
  padding:16px!important;
  border-radius:12px!important;
  background:var(--rx-primary,#08162f)!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.single-post .rx-single-body :not(pre) > code,
body.page-template-default .rx-page-content--plain :not(pre) > code{
  padding:2px 6px!important;
  border-radius:6px!important;
  background:#eef3f6!important;
  color:var(--rx-primary,#08162f)!important;
  font-size:.92em!important;
}
body.single-post .rx-single-body .wp-block-button__link,
body.page-template-default .rx-page-content--plain .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:var(--rx-primary,#08162f)!important;
  color:#fff!important;
  font-weight:900!important;
  text-decoration:none!important;
}
body.single-post .rx-single-body hr,
body.page-template-default .rx-page-content--plain hr{
  margin:2em 0!important;
  border:0!important;
  border-top:1px solid var(--rx-border,#dbe5ef)!important;
}

@media(max-width:700px){
  .rx-upload-preview > .rx-upload-item.rx-single-upload-pending,
  .rx-profile-edit-page .rx-upload-preview > .rx-upload-item.rx-single-upload-pending{
    grid-template-columns:48px minmax(0,1fr)!important;
    min-height:82px!important;
    padding:12px!important;
    gap:11px!important;
  }
  .rx-upload-placeholder-icon{width:48px!important;height:48px!important;min-width:48px!important;font-size:21px!important}
  .rx-mobile-settings-popover{right:-2px!important;width:min(286px,calc(100vw - 20px))!important}
  body.page-template-default .rx-page-content--plain{padding:22px 16px 44px!important}
}

/* -------------------------------------------------------------------------
   RunnerX v6.0.81: one heading system, balanced run spacing and modern quotes
   ------------------------------------------------------------------------- */

/* Content H2/H3 headings receive the same visual hierarchy as platform forms:
   H2 uses an accent surface, H3 a neutral surface. The pseudo icon keeps
   semantic WordPress heading markup intact. */
.rx-single-body h2:not(.rx-section-title),
.rx-page-content--plain h2:not(.rx-section-title),
.rx-single-body h3:not(.rx-section-title),
.rx-page-content--plain h3:not(.rx-section-title){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
.rx-single-body h2:not(.rx-section-title)::before,
.rx-page-content--plain h2:not(.rx-section-title)::before,
.rx-single-body h3:not(.rx-section-title)::before,
.rx-page-content--plain h3:not(.rx-section-title)::before{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:'icomoon'!important;
  font-style:normal!important;
  font-weight:normal!important;
  line-height:1!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}
.rx-single-body h2:not(.rx-section-title)::before,
.rx-page-content--plain h2:not(.rx-section-title)::before{
  content:"\ea06"!important;
  width:36px!important;
  height:36px!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 16%,#fff)!important;
  color:var(--rx-primary,#08162f)!important;
  font-size:17px!important;
}
.rx-single-body h3:not(.rx-section-title)::before,
.rx-page-content--plain h3:not(.rx-section-title)::before{
  content:"\ea43"!important;
  width:31px!important;
  height:31px!important;
  border-radius:9px!important;
  background:var(--rx-soft-bg,#eef3f6)!important;
  color:var(--rx-primary,#08162f)!important;
  font-size:15px!important;
}

/* Run description and tags follow the same edge and divider rhythm as events. */
body.single-runnerx_run .rx-run-description{
  min-height:0!important;
  margin:0!important;
  padding:24px 24px 20px!important;
  border:0!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.single-runnerx_run .rx-run-description:empty{display:none!important}
body.single-runnerx_run .rx-content-tags{
  width:100%!important;
  margin:0!important;
  padding:18px 24px 24px!important;
  border-top:1px solid var(--rx-border,#dbe5ef)!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

/* WordPress Quote and Pullquote blocks without oversized empty areas. */
body.single-post .rx-single-body .wp-block-pullquote,
body.page-template-default .rx-page-content--plain .wp-block-pullquote,
.rx-single-body .wp-block-pullquote,
.rx-page-content--plain .wp-block-pullquote{
  width:100%!important;
  margin:26px 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body.single-post .rx-single-body blockquote,
body.page-template-default .rx-page-content--plain blockquote,
.rx-single-body blockquote,
.rx-page-content--plain blockquote,
body.single-post .rx-single-body .wp-block-pullquote blockquote,
body.page-template-default .rx-page-content--plain .wp-block-pullquote blockquote{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  margin:24px 0!important;
  padding:20px 22px 18px 58px!important;
  border:1px solid color-mix(in srgb,var(--rx-accent,#93e547) 25%,var(--rx-border,#dbe5ef))!important;
  border-left:4px solid var(--rx-accent,#93e547)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--rx-accent,#93e547) 8%,#fff)!important;
  color:var(--rx-text,#0f1419)!important;
  text-align:left!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body.single-post .rx-single-body blockquote::before,
body.page-template-default .rx-page-content--plain blockquote::before,
.rx-single-body blockquote::before,
.rx-page-content--plain blockquote::before{
  content:"“"!important;
  position:absolute!important;
  top:17px!important;
  left:17px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:9px!important;
  background:var(--rx-accent,#93e547)!important;
  color:var(--rx-primary,#08162f)!important;
  font-family:Georgia,serif!important;
  font-size:27px!important;
  font-weight:900!important;
  line-height:1!important;
}
body.single-post .rx-single-body blockquote p,
body.page-template-default .rx-page-content--plain blockquote p,
.rx-single-body blockquote p,
.rx-page-content--plain blockquote p{
  margin:0 0 10px!important;
  padding:0!important;
  color:inherit!important;
  font-size:clamp(18px,2.2vw,22px)!important;
  line-height:1.5!important;
  font-style:normal!important;
  font-weight:700!important;
  text-align:left!important;
}
body.single-post .rx-single-body blockquote p:last-of-type,
body.page-template-default .rx-page-content--plain blockquote p:last-of-type,
.rx-single-body blockquote p:last-of-type,
.rx-page-content--plain blockquote p:last-of-type{margin-bottom:0!important}
body.single-post .rx-single-body blockquote cite,
body.page-template-default .rx-page-content--plain blockquote cite,
.rx-single-body blockquote cite,
.rx-page-content--plain blockquote cite,
body.single-post .rx-single-body blockquote .wp-block-quote__citation,
body.page-template-default .rx-page-content--plain blockquote .wp-block-quote__citation{
  display:block!important;
  margin:12px 0 0!important;
  padding:0!important;
  color:var(--rx-muted,#536471)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-style:normal!important;
  font-weight:850!important;
  text-align:left!important;
}
body.single-post .rx-single-body blockquote cite::before,
body.page-template-default .rx-page-content--plain blockquote cite::before,
.rx-single-body blockquote cite::before,
.rx-page-content--plain blockquote cite::before{content:"— "!important}

@media(max-width:700px){
  body.single-runnerx_run .rx-run-description{padding:20px 16px 16px!important}
  body.single-runnerx_run .rx-content-tags{padding:16px 16px 22px!important}
  body.single-post .rx-single-body blockquote,
  body.page-template-default .rx-page-content--plain blockquote,
  .rx-single-body blockquote,
  .rx-page-content--plain blockquote{padding:18px 16px 16px 52px!important}
  body.single-post .rx-single-body blockquote::before,
  body.page-template-default .rx-page-content--plain blockquote::before,
  .rx-single-body blockquote::before,
  .rx-page-content--plain blockquote::before{left:14px!important;top:15px!important}
}
