/* ==========================================================================
   RELAX FM GLOBAL
   ========================================================================== */
:root {
  --rfm-player-height: 75px;
  --rfm-player-safe-offset: calc(env(safe-area-inset-bottom, 0px) + 96px);
}


html,
body {
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  background-color: #FAF6F5;
}

body {
  font-family: var(--rfm-font-main);
  padding-bottom: var(--rfm-player-height);
}

.rfm-nav-wrapper *,
.rfm-mobile-drawer *,
#rfp-sticky-bar *,
.rfm-hidden-audio-wrap * {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.site-header,
.ast-main-header-bar,
.main-navigation,
header#masthead,
.site-footer,
footer#colophon,
.ast-small-footer {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.entry-title,
.page-title,
.ast-page-title,
h1.entry-title,
.page-header {
  display: none !important;
}

.ast-container,
.site-content .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.elementor-location-header {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.elementor-section.elementor-section-stretched {
  left: 0 !important;
  width: 100% !important;
}

/* ==========================================================================
   RELAX FM HEADER
   ========================================================================== */

.rfm-nav-wrapper {
  font-family: var(--rfm-font-main);
  position: fixed;
  top: 12px;
  transition: top 0.22s ease;
  left: 0;
  right: 0;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 32px;
  z-index: 999999;
}

.rfm-nav-container-glass {
  background: rgba(255, 255, 255, 0.45);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(229, 45, 39, 0.01));
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 32px rgba(38, 28, 29, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  border-radius: 20px;
  padding: 8px 24px 12px;
}

.rfm-network-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 4px 6px 0;
}

.rfm-network-links {
  display: flex;
  align-items: center;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rfm-network-links a {
  font-size: 9px;
  font-weight: 700;
  color: rgba(38, 28, 29, 0.45);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.rfm-network-links a:hover {
  color: #E52D27;
}

.rfm-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}


/* Step 1.0.129 - remove default blue browser focus ring from the header home logo after mouse click,
   while keeping a subtle Relax FM keyboard focus state for accessibility. */
.rfm-logo {
  display: inline-flex;
  align-items: center;
  border-radius: 14px;
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.rfm-logo:focus,
.rfm-logo:active,
.rfm-logo img:focus {
  outline: none;
  box-shadow: none;
}

.rfm-logo:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.rfm-logo:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(229, 45, 39, 0.18);
}

.rfm-logo img {
  height: 64px;
  width: auto;
  display: block;
}

.rfm-nav-links {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rfm-nav-links a:not(.rfm-menu-msg-badge) {
  font-size: 11px;
  font-weight: 700;
  color: #261C1D;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 12px 18px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.15);
  transition: all 0.25s;
}

.rfm-nav-links a:not(.rfm-menu-msg-badge):hover {
  color: #E52D27;
  background: rgba(255, 255, 255, 0.6);
}

.rfm-menu-msg-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #E52D27;
  border-radius: 8px;
  padding: 12px 18px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(229, 45, 39, 0.25);
}

.rfm-msg-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFFFFF;
  animation: rfm-msg-pulse 1.8s infinite;
}

.rfm-msg-text {
  font-size: 11px;
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}


.rfm-mobile-nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex: 0 0 auto;
}

.rfm-mobile-app-link {
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(210, 4, 53, 0.10);
  box-shadow: 0 10px 24px rgba(210, 4, 53, 0.11), inset 0 1px 0 rgba(255,255,255,0.78);
  text-decoration: none;
  overflow: hidden;
  transform: translateY(2px);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.rfm-mobile-app-link:hover,
.rfm-mobile-app-link:focus-visible {
  transform: translateY(1px);
  background: #fff;
  box-shadow: 0 12px 28px rgba(210, 4, 53, 0.16), inset 0 1px 0 rgba(255,255,255,0.9);
}

.rfm-mobile-app-link img {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  object-fit: cover;
}

.rfm-mobile-menu-trigger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 16px;
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  padding: 0 !important;
  z-index: 10000005;
  transform: translateY(1px);
}


.rfm-mobile-menu-trigger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #261C1D;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.rfm-mobile-menu-trigger.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
  background-color: #E52D27;
}

.rfm-mobile-menu-trigger.open span:nth-child(2) {
  opacity: 0;
}

.rfm-mobile-menu-trigger.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
  background-color: #E52D27;
}

.rfm-mobile-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: rgba(38, 28, 29, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 10000000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.rfm-mobile-drawer-overlay.open {
  opacity: 1;
  visibility: visible;
}


html.rfm-mobile-menu-open,
body.rfm-mobile-menu-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.rfm-mobile-menu-open .rfm-mobile-drawer,
body.rfm-mobile-menu-open .rfm-mobile-drawer * {
  touch-action: pan-y;
}

.rfm-mobile-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 280px;
  bottom: 0;
  height: auto;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  z-index: 10000001;
  box-shadow: -10px 0 40px rgba(38, 28, 29, 0.08);
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  display: flex;
  flex-direction: column;
  padding: 110px 24px var(--rfm-player-safe-offset);
  overflow-y: auto !important;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rfm-mobile-drawer.open {
  right: 0;
}

.rfm-drawer-close-btn {
  position: absolute;
  top: 24px;
  right: 24px;
  background: rgba(229, 45, 39, 0.1);
  border: 1px solid rgba(229, 45, 39, 0.2);
  width: 36px;
  height: 36px;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  z-index: 10000002;
}

.rfm-drawer-close-btn:hover {
  background: #E52D27;
}

.rfm-drawer-close-btn:hover svg {
  fill: #FFFFFF;
}

.rfm-drawer-close-btn svg {
  fill: #E52D27;
  width: 14px;
  height: 14px;
  transition: all 0.2s;
}

.rfm-mobile-drawer-links {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rfm-mobile-drawer-links a {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #261C1D;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 12px 20px;
  border-radius: 10px;
  background: rgba(255,255,255,0.3);
  border: 1px solid rgba(255,255,255,0.5);
  text-decoration: none;
  transition: all 0.2s;
}

.rfm-mobile-drawer-links a:hover {
  background: #E52D27;
  color: #FFFFFF;
  border-color: #E52D27;
}

@keyframes rfm-msg-pulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(255, 255, 255, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

/* ==========================================================================
   RELAX FM STICKY PLAYER
   ========================================================================== */

#rfp-sticky-bar {
  font-family: var(--rfm-font-main);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--rfm-player-height);
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 -10px 40px rgba(38, 28, 29, 0.06);
  z-index: 9999999;
  display: flex;
  align-items: center;
  padding: 0 48px;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#rfp-sticky-inner {
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 0;
}

.rfm-sticky-meta-block {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  flex: 1;
}

#rfp-sticky-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #E52D27;
  border: none;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(229, 45, 39, 0.25);
  outline: none !important;
}

#rfp-sticky-btn:hover {
  background: #261C1D;
  transform: scale(1.05);
}

#rfp-sticky-btn svg {
  position: absolute;
  top: 50%;
  left: 53%;
  transform: translate(-50%, -50%) !important;
  fill: #FFFFFF !important;
}

.rfm-sticky-brand-logo-frame {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rfm-sticky-brand-logo-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.rfm-sticky-text-block {
  min-width: 0;
  flex: 1;
}

#sticky-song-title {
  font-size: 13px;
  font-weight: 700;
  color: #261C1D;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase !important;
}

#sticky-artist-title {
  font-size: 11px;
  color: #6B6061;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase !important;
}

.rfm-sticky-right-controls-group {
  display: flex;
  align-items: center;
  gap: 28px;
  min-width: 0;
}

.rfm-sticky-stations-switcher {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rfm-station-tab {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 12px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
  opacity: 0.65;
  transition: opacity 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
  padding: 0;
}

.rfm-station-tab img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rfm-station-tab.active {
  opacity: 1 !important;
  border-color: #E52D27 !important;
  box-shadow: 0 0 14px rgba(229, 45, 39, 0.45);
}

.rfm-sticky-mobile-trigger {
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  padding: 8px;
  margin-left: auto;
  flex-shrink: 0;
  display: none;
}

.rfm-sticky-mobile-trigger svg {
  fill: #6B6061;
  width: 16px;
  height: 16px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rfm-hidden-audio-wrap {
  display: none;
}

/* Mobile shared fixes for player/history text. */
@media (max-width: 768px) {
  .rfm-nav-links,
  .rfm-network-bar {
    display: none !important;
  }

  .rfm-mobile-nav-actions {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .rfm-mobile-app-link {
    display: inline-flex;
  }

  .rfm-mobile-menu-trigger {
    display: flex !important;
  }

  .rfm-nav-wrapper {
    padding: 0 16px;
    top: 10px;
    transition: top 0.22s ease;
    max-width: 100% !important;
  }

  .rfm-nav-container-glass {
    padding: 12px 16px;
    border-radius: 16px;
  }

  .rfm-logo img {
    height: 46px;
  }

  #rfp-sticky-bar {
    padding: 10px 16px !important;
    height: var(--rfm-player-height);
    display: block;
    overflow: hidden;
  }

  #rfp-sticky-bar.expanded {
    height: 165px !important;
  }

  #rfp-sticky-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    justify-content: flex-start;
    min-width: 0 !important;
  }

  .rfm-sticky-meta-block {
    width: 100%;
    height: 55px;
    flex-shrink: 0;
    min-width: 0 !important;
  }

  .rfm-sticky-mobile-trigger {
    display: flex !important;
  }

  .rfm-sticky-mobile-trigger.open svg {
    transform: rotate(180deg);
    fill: #E52D27;
  }

  .rfm-sticky-right-controls-group {
    width: 100%;
    height: 90px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
    min-width: 0 !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    opacity: 1;
    visibility: visible;
  }

  .rfm-sticky-stations-switcher {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    padding: 6px 12px 16px !important;
  }

  .rfm-station-tab {
    width: 100% !important;
    height: auto !important;
    max-width: 82px !important;
    margin: 0 auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  .rfm-mobile-history-list,
  #rfmMobileHistoryContainer,
  .rfm-mobile-history-layout-inside {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .rfm-mobile-history-list .rfm-history-row,
  #rfmMobileHistoryContainer .rfm-history-row {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 10px 0 !important;
  }

  .rfm-mobile-history-list .rfm-history-meta,
  #rfmMobileHistoryContainer .rfm-history-meta {
    min-width: 0 !important;
    flex: 1 !important;
  }

  .rfm-mobile-history-list .rfm-history-song-title,
  #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-list .rfm-history-artist-title,
  #rfmMobileHistoryContainer .rfm-history-artist-title {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    display: block !important;
    width: 100% !important;
    line-height: 1.3 !important;
  }

  .rfm-info {
    min-width: 0 !important;
  }

  .rfm-song,
  .rfm-artist,
  #rfm-song-hero,
  #rfm-artist-hero {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
}

/* Front page wrapper: keeps Elementor/custom HTML clean while using theme header/footer. */
.rfm-front-page-main {
  width: 100%;
  min-height: 100vh;
}


/* ==========================================================================
   🔧 PLAYERIO MYGTUKŲ FORMOS IR ACTIVE/FOKUSO PATAISYMAS
   ========================================================================== */
#rfp-sticky-btn,
.rfm-rss-play {
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
}
#rfp-sticky-btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  background: #E52D27 !important;
  border: none !important;
  color: #FFFFFF !important;
}
#rfp-sticky-btn:hover,
#rfp-sticky-btn:focus,
#rfp-sticky-btn:focus-visible,
#rfp-sticky-btn:active {
  background: #E52D27 !important;
  color: #FFFFFF !important;
  outline: none !important;
  box-shadow: 0 4px 12px rgba(229, 45, 39, 0.25) !important;
}
#rfp-sticky-btn:hover {
  transform: scale(1.05);
}
#rfp-sticky-btn svg {
  fill: #FFFFFF !important;
}
.rfm-rss-play {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: #FFFFFF !important;
}
.rfm-rss-play:hover,
.rfm-rss-play:focus,
.rfm-rss-play:focus-visible,
.rfm-rss-play:active {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #FFFFFF !important;
  outline: none !important;
  box-shadow: none !important;
}
.rfm-rss-play svg {
  fill: #FFFFFF !important;
}

/* ==========================================================================
   RELAX FM WORDPRESS MENU LOCATIONS
   ========================================================================== */

.rfm-network-links li,
.rfm-nav-links li,
.rfm-mobile-drawer-links li {
  list-style: none;
  margin: 0;
}

.rfm-network-links .sub-menu,
.rfm-nav-links .sub-menu,
.rfm-mobile-drawer-links .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Desktop primary submenu. */
.rfm-nav-links > .menu-item,
.rfm-network-links > .menu-item {
  position: relative;
}

.rfm-nav-links > .menu-item > .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 210px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(229, 45, 39, 0.12);
  box-shadow: 0 16px 38px rgba(38, 28, 29, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  z-index: 10000003;
}

.rfm-nav-links > .menu-item:hover > .sub-menu,
.rfm-nav-links > .menu-item:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.rfm-nav-links .sub-menu .sub-menu {
  top: 0;
  left: calc(100% + 8px);
}

.rfm-nav-links .sub-menu a:not(.rfm-menu-msg-badge) {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  background: transparent;
  border: 0;
  color: #261C1D;
  white-space: nowrap;
  box-sizing: border-box;
}

.rfm-nav-links .sub-menu a:not(.rfm-menu-msg-badge):hover,
.rfm-nav-links .sub-menu a:not(.rfm-menu-msg-badge):focus {
  background: rgba(229, 45, 39, 0.08);
  color: #E52D27;
}

.rfm-nav-links .menu-item-has-children > a:not(.rfm-menu-msg-badge)::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-left: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

/* Desktop network submenu, kept small because this menu is only a slim station/network bar. */
.rfm-network-links > .menu-item > .sub-menu {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  min-width: 150px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(229, 45, 39, 0.1);
  box-shadow: 0 12px 28px rgba(38, 28, 29, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  z-index: 10000004;
}

.rfm-network-links > .menu-item:hover > .sub-menu,
.rfm-network-links > .menu-item:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.rfm-network-links .sub-menu a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  white-space: nowrap;
}

.rfm-network-links .sub-menu a:hover,
.rfm-network-links .sub-menu a:focus {
  background: rgba(229, 45, 39, 0.08);
}

/* Mobile drawer supports a separate WordPress menu and visible nested submenus. */
.rfm-mobile-drawer-links .sub-menu {
  margin: 8px 0 0 12px;
  padding-left: 12px;
  border-left: 2px solid rgba(229, 45, 39, 0.18);
}

.rfm-mobile-drawer-links .sub-menu a {
  font-size: 12px;
  padding: 9px 14px;
  background: rgba(229, 45, 39, 0.04);
  border-color: rgba(229, 45, 39, 0.1);
}

.rfm-mobile-drawer-links a.rfm-menu-msg-badge {
  display: inline-flex;
  width: 100%;
  justify-content: center;
  box-sizing: border-box;
  background: #E52D27;
  border-color: #E52D27;
  color: #FFFFFF;
}

.rfm-mobile-drawer-links a.rfm-menu-msg-badge:hover,
.rfm-mobile-drawer-links a.rfm-menu-msg-badge:focus {
  background: #c91822;
  border-color: #c91822;
  color: #FFFFFF;
}

/* Dynamic station rail from Relax FM Streams. Lightweight: no extra audio preload, only station logos. */
.rfm-stations-rail {
  position: relative;
  isolation: isolate;
}

.rfm-station-tab-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: #D2042B;
  letter-spacing: 0.04em;
}

@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow {
    --rfm-sticky-tab: 42px;
    --rfm-sticky-gap: 10px;
    --rfm-sticky-peek: 5px;
    --rfm-sticky-arrow: 24px;
    width: calc((var(--rfm-sticky-tab) * 3) + (var(--rfm-sticky-gap) * 3) + var(--rfm-sticky-peek) + var(--rfm-sticky-arrow));
    max-width: calc((var(--rfm-sticky-tab) * 3) + (var(--rfm-sticky-gap) * 3) + var(--rfm-sticky-peek) + var(--rfm-sticky-arrow));
    overflow: hidden;
    padding-right: var(--rfm-sticky-arrow);
    transition: width 0.28s cubic-bezier(0.22, 1, 0.36, 1), max-width 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: width;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow .rfm-station-tab {
    flex: 0 0 var(--rfm-sticky-tab);
    width: var(--rfm-sticky-tab);
    height: var(--rfm-sticky-tab);
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: calc((var(--rfm-sticky-tab) * 4) + (var(--rfm-sticky-gap) * 3));
    max-width: calc((var(--rfm-sticky-tab) * 4) + (var(--rfm-sticky-gap) * 3));
    padding-right: 0;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow .rfm-station-tab {
    transform: scale(0.96);
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover .rfm-station-tab,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within .rfm-station-tab {
    transform: scale(1);
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow::after {
    content: '›';
    position: absolute;
    right: 0;
    top: 50%;
    width: var(--rfm-sticky-arrow);
    height: var(--rfm-sticky-tab);
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px 0 0 999px;
    background: linear-gradient(90deg, rgba(255,255,255,0.62), rgba(255,255,255,0.98));
    color: #D2042B;
    font-size: 24px;
    font-weight: 800;
    box-shadow: -10px 0 18px rgba(255,255,255,0.94);
    pointer-events: none;
    z-index: 3;
    transition: opacity 0.18s ease, transform 0.22s ease;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover::after,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within::after {
    opacity: 0;
    transform: translate(6px, -50%);
  }
}

@media (max-width: 768px) {
  .rfm-sticky-stations-switcher.rfm-stations-rail {
    grid-template-columns: repeat(auto-fit, minmax(58px, 1fr)) !important;
  }
}

/* Step 1.0.110: mobile sticky player station rail.
   Shows three full station logos plus a small peek of the fourth one, so users understand the rail can be swiped. */
@media (max-width: 768px) {
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    position: relative !important;
    justify-content: center !important;
    align-items: flex-start !important;
    overflow: hidden !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow {
    --rfm-mobile-tab: 62px;
    --rfm-mobile-gap: 10px;
    --rfm-mobile-peek: 14px;
    --rfm-mobile-arrow: 28px;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--rfm-mobile-gap) !important;
    width: calc((var(--rfm-mobile-tab) * 3) + (var(--rfm-mobile-gap) * 3) + var(--rfm-mobile-peek) + var(--rfm-mobile-arrow)) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto !important;
    padding: 8px var(--rfm-mobile-arrow) 14px 2px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    border-radius: 18px !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::-webkit-scrollbar {
    display: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow .rfm-station-tab {
    width: var(--rfm-mobile-tab) !important;
    height: var(--rfm-mobile-tab) !important;
    flex: 0 0 var(--rfm-mobile-tab) !important;
    max-width: none !important;
    margin: 0 !important;
    aspect-ratio: 1 / 1 !important;
    scroll-snap-align: start !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::after {
    content: '›';
    position: sticky;
    right: 0;
    margin-left: calc(var(--rfm-mobile-arrow) * -1);
    width: var(--rfm-mobile-arrow);
    height: var(--rfm-mobile-tab);
    flex: 0 0 var(--rfm-mobile-arrow);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px 0 0 999px;
    background: linear-gradient(90deg, rgba(255,255,255,0.38), rgba(255,255,255,0.98));
    box-shadow: -10px 0 18px rgba(255,255,255,0.88);
    color: #D2042B;
    font-size: 25px;
    line-height: 1;
    font-weight: 800;
    pointer-events: none;
    z-index: 4;
  }
}


/* Step 1.0.111: mobile sticky player stations use a native horizontal carousel peek.
   Three station logos span the available width and a small part of the fourth logo remains visible.
   No arrow on mobile: the partial fourth logo is the swipe affordance. */
@media (max-width: 768px) {
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow {
    --rfm-mobile-gap: 10px;
    --rfm-mobile-peek: 22px;
    --rfm-mobile-side-pad: 14px;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--rfm-mobile-gap) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 8px var(--rfm-mobile-side-pad) 14px var(--rfm-mobile-side-pad) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    border-radius: 0 !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::-webkit-scrollbar {
    display: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow .rfm-station-tab {
    width: calc((100vw - (var(--rfm-mobile-side-pad) * 2) - (var(--rfm-mobile-gap) * 3) - var(--rfm-mobile-peek)) / 3) !important;
    height: auto !important;
    flex: 0 0 calc((100vw - (var(--rfm-mobile-side-pad) * 2) - (var(--rfm-mobile-gap) * 3) - var(--rfm-mobile-peek)) / 3) !important;
    max-width: 96px !important;
    min-width: 72px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    scroll-snap-align: start !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::after {
    content: none !important;
    display: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::before {
    content: '';
    position: sticky;
    right: 0;
    flex: 0 0 0;
    width: 0;
    height: 1px;
    box-shadow: -18px 0 24px rgba(255,255,255,0.82);
    pointer-events: none;
    z-index: 2;
  }
}


/* Step 1.0.112: mobile sticky player station rail polish.
   Keep the three-logo + fourth-logo peek pattern, but prevent logo bottoms from being clipped
   and soften the right edge with a lightweight fade, similar to the home page overflow hints. */
@media (max-width: 768px) {
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    position: relative !important;
    height: auto !important;
    min-height: 118px !important;
    align-items: flex-start !important;
    overflow: hidden !important;
    padding-bottom: 8px !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group::after {
    content: '';
    position: absolute;
    top: 4px;
    right: 0;
    bottom: 10px;
    width: 42px;
    pointer-events: none;
    z-index: 6;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.88) 72%, rgba(255,255,255,0.98));
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow {
    position: relative !important;
    padding-top: 8px !important;
    padding-bottom: 18px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 44px), rgba(0,0,0,0.24) 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 44px), rgba(0,0,0,0.24) 100%);
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow .rfm-station-tab {
    overflow: hidden !important;
    transform: translateZ(0);
  }
}

/* Step 1.0.113: station rail reset.
   Show exactly three station logos and a small elegant arrow hint. No fourth-logo peek. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow {
    --rfm-sticky-tab: 42px;
    --rfm-sticky-gap: 10px;
    --rfm-sticky-arrow: 24px;
    width: calc((var(--rfm-sticky-tab) * 3) + (var(--rfm-sticky-gap) * 2) + var(--rfm-sticky-arrow)) !important;
    max-width: calc((var(--rfm-sticky-tab) * 3) + (var(--rfm-sticky-gap) * 2) + var(--rfm-sticky-arrow)) !important;
    padding-right: var(--rfm-sticky-arrow) !important;
    overflow: hidden !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: calc((var(--rfm-sticky-tab) * 4) + (var(--rfm-sticky-gap) * 3)) !important;
    max-width: calc((var(--rfm-sticky-tab) * 4) + (var(--rfm-sticky-gap) * 3)) !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 768px) {
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    position: relative !important;
    width: 100% !important;
    min-height: 112px !important;
    height: auto !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 10px !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group::after {
    content: none !important;
    display: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow {
    --rfm-mobile-gap: 10px;
    --rfm-mobile-arrow: 30px;
    --rfm-mobile-side-pad: 14px;
    --rfm-mobile-tab: calc((100vw - (var(--rfm-mobile-side-pad) * 2) - var(--rfm-mobile-arrow) - (var(--rfm-mobile-gap) * 2)) / 3);
    position: relative !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--rfm-mobile-gap) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 9px calc(var(--rfm-mobile-side-pad) + var(--rfm-mobile-arrow)) 18px var(--rfm-mobile-side-pad) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    border-radius: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::-webkit-scrollbar {
    display: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow .rfm-station-tab {
    width: var(--rfm-mobile-tab) !important;
    height: auto !important;
    flex: 0 0 var(--rfm-mobile-tab) !important;
    min-width: 0 !important;
    max-width: 96px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    scroll-snap-align: start !important;
    overflow: hidden !important;
    transform: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::before {
    content: none !important;
    display: none !important;
  }

  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::after {
    content: '›' !important;
    position: absolute !important;
    right: var(--rfm-mobile-side-pad) !important;
    top: 50% !important;
    width: var(--rfm-mobile-arrow) !important;
    height: 46px !important;
    transform: translateY(-52%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.92) !important;
    border: 1px solid rgba(210,4,43,0.12) !important;
    box-shadow: 0 8px 22px rgba(110,30,45,0.12) !important;
    color: #D2042B !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    pointer-events: none !important;
    z-index: 8 !important;
  }
}


/* Step 1.0.114: mobile sticky player polish.
   Keep the current mobile logo layout, but remove the arrow hint. */
@media (max-width: 768px) {
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-rail.rfm-stations-overflow::after {
    content: none !important;
    display: none !important;
  }
}


/* Step 1.0.115: station rail FOUC guard.
   The overflow class is now printed server-side, but these rules keep the initial
   render clipped even before rfm-main.js re-renders the rail. */
.rfm-sticky-stations-switcher.rfm-stations-overflow {
  overflow: hidden;
}
@media (max-width: 768px) {
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-overflow {
    overflow-x: auto;
    overflow-y: hidden;
  }
}


/* Step 1.0.116: desktop station rail expansion fix.
   Initial desktop state still shows only three stations, but hover/focus must reveal the full rail,
   not just the fourth station. Mobile rules are intentionally untouched. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: max-content !important;
    max-width: min(92vw, 760px) !important;
    padding-right: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scrollbar-width: none !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover::-webkit-scrollbar,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within::-webkit-scrollbar {
    display: none !important;
  }
}


/* Step 1.0.118 - subtle play hint on station logos + persistent expanded rail while interacting with player. */
.rfm-station-tab {
  position: relative;
}

.rfm-station-tab::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  transform: translate(-50%, -50%) scale(0.92);
  background: rgba(255, 255, 255, 0.34);
  box-shadow: 0 8px 22px rgba(38, 28, 29, 0.14);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.rfm-station-tab::after {
  content: '';
  position: absolute;
  left: 52%;
  top: 50%;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid rgba(210, 4, 43, 0.52);
  transform: translate(-50%, -50%) scale(0.92);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.rfm-station-tab:hover::before,
.rfm-station-tab:focus-visible::before,
.rfm-station-tab:hover::after,
.rfm-station-tab:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 768px) {
  .rfm-station-tab::before,
  .rfm-station-tab::after {
    content: none;
    display: none;
  }
}

@media (min-width: 769px) {
  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow {
    width: max-content !important;
    max-width: min(92vw, 760px) !important;
    padding-right: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scrollbar-width: none !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow::-webkit-scrollbar {
    display: none !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow::after {
    opacity: 0 !important;
    transform: translate(6px, -50%) !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow .rfm-station-tab {
    transform: scale(1) !important;
  }
}


/* Step 1.0.119 - station switch click reliability.
   Keep clicks on station logos dedicated to station switching and prevent image-level
   pointer/drag quirks from being interpreted as a brand/home/player click. */
.rfm-stations-rail .rfm-station-tab,
.rfm-hero-stations-switcher .rfm-station-tab,
.rfm-sticky-stations-switcher .rfm-station-tab {
  position: relative;
  z-index: 20;
  touch-action: manipulation;
}

.rfm-stations-rail .rfm-station-tab img,
.rfm-stations-rail .rfm-station-tab-fallback,
.rfm-hero-stations-switcher .rfm-station-tab img,
.rfm-hero-stations-switcher .rfm-station-tab-fallback,
.rfm-sticky-stations-switcher .rfm-station-tab img,
.rfm-sticky-stations-switcher .rfm-station-tab-fallback {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Step 1.0.121: desktop station rail opens only from the arrow hint.
   Keep mobile untouched. This is a client-side CSS/JS interaction only. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow {
    position: relative !important;
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 2) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 2) + var(--rfm-sticky-arrow, 24px)) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
    transition: width 0.28s ease, max-width 0.28s ease, padding-right 0.28s ease !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 2) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 2) + var(--rfm-sticky-arrow, 24px)) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow,
  .rfm-sticky-stations-switcher.rfm-stations-overflow.rfm-stations-open {
    width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    max-width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow::after {
    content: none !important;
    display: none !important;
  }

  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: var(--rfm-sticky-arrow, 24px) !important;
    height: 42px !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #D2042B !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    z-index: 10 !important;
    opacity: 0.92 !important;
    transition: transform 0.22s ease, opacity 0.22s ease !important;
    user-select: none !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher .rfm-stations-expand-toggle,
  .rfm-sticky-stations-switcher.rfm-stations-open .rfm-stations-expand-toggle {
    transform: translateY(-50%) rotate(180deg) !important;
  }

  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle:hover,
  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle:focus {
    opacity: 1 !important;
  }
}

@media (max-width: 768px) {
  .rfm-stations-expand-toggle {
    display: none !important;
  }
}

/* Step 1.0.122: desktop station rail opens from the 4th station hover peek, closes from the arrow at the rail end. Mobile unchanged. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow {
    --rfm-sticky-peek: 16px;
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
    transition: width 0.28s ease, max-width 0.28s ease, padding-right 0.28s ease !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow,
  .rfm-sticky-stations-switcher.rfm-stations-overflow.rfm-stations-open {
    width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    max-width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
  }

  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle {
    pointer-events: auto !important;
  }
}


/* Step 1.0.123: final desktop station rail behavior.
   Rest: three stations + a small 4th-logo hover zone + arrow. Open: all stations, close by arrow click.
   Mobile is intentionally left unchanged. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow {
    --rfm-sticky-peek: 16px;
    position: relative !important;
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
    transition: width 0.24s ease, max-width 0.24s ease, padding-right 0.24s ease !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow,
  .rfm-sticky-stations-switcher.rfm-stations-overflow.rfm-stations-open {
    width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    max-width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    padding-right: var(--rfm-sticky-arrow, 24px) !important;
    overflow: hidden !important;
  }

  .rfm-sticky-stations-switcher .rfm-stations-hover-zone {
    position: absolute !important;
    left: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3)) !important;
    top: 0 !important;
    width: var(--rfm-sticky-peek, 16px) !important;
    height: 100% !important;
    z-index: 60 !important;
    cursor: pointer !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher .rfm-stations-hover-zone,
  .rfm-sticky-stations-switcher.rfm-stations-open .rfm-stations-hover-zone {
    display: none !important;
    pointer-events: none !important;
  }

  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle {
    right: 0 !important;
    z-index: 70 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 768px) {
  .rfm-stations-hover-zone,
  .rfm-stations-expand-toggle {
    display: none !important;
  }
}


/* Step 1.0.124: robust desktop station rail fallback.
   Mobile is intentionally untouched. Compact state stays at 3 stations + arrow;
   desktop opens only when JS adds rfm-stations-open. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within {
    width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    max-width: calc((var(--rfm-sticky-tab, 42px) * 3) + (var(--rfm-sticky-gap, 10px) * 3) + var(--rfm-sticky-peek, 16px) + var(--rfm-sticky-arrow, 24px)) !important;
    overflow: hidden !important;
  }

  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow,
  .rfm-sticky-stations-switcher.rfm-stations-overflow.rfm-stations-open,
  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow:hover,
  .rfm-sticky-stations-switcher.rfm-stations-overflow.rfm-stations-open:hover,
  .rfm-stations-open .rfm-sticky-stations-switcher.rfm-stations-overflow:focus-within,
  .rfm-sticky-stations-switcher.rfm-stations-overflow.rfm-stations-open:focus-within {
    width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    max-width: min(92vw, calc((var(--rfm-sticky-tab, 42px) * var(--rfm-station-count, 3)) + (var(--rfm-sticky-gap, 10px) * (var(--rfm-station-count, 3) - 1)) + var(--rfm-sticky-arrow, 24px))) !important;
    overflow: hidden !important;
  }
}

/* Step 1.0.126: desktop sticky rail auto-close and arrow optical centering. */
@media (min-width: 769px) {
  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle {
    font-size: 0 !important;
    transform: translateY(-50%) !important;
  }
  .rfm-stations-open .rfm-sticky-stations-switcher .rfm-stations-expand-toggle,
  .rfm-sticky-stations-switcher.rfm-stations-open .rfm-stations-expand-toggle {
    transform: translateY(-50%) !important;
  }
  .rfm-sticky-stations-switcher .rfm-stations-expand-toggle::before {
    content: '›';
    display: block;
    color: inherit;
    font-size: 26px;
    line-height: 1;
    font-weight: 800;
    transform: translateY(1px);
    transform-origin: center center;
  }
  .rfm-stations-open .rfm-sticky-stations-switcher .rfm-stations-expand-toggle::before,
  .rfm-sticky-stations-switcher.rfm-stations-open .rfm-stations-expand-toggle::before {
    transform: translateY(1px) rotate(180deg);
  }
}


/* Step 1.0.130: floating bottom player/menu.
   Make the sticky player visually match the rounded floating top menu on desktop and mobile.
   Layout/stream logic is unchanged; this is CSS-only. */
body {
  padding-bottom: 118px;
}

#rfp-sticky-bar {
  left: 50% !important;
  right: auto !important;
  bottom: 16px !important;
  width: min(1180px, calc(100% - 48px)) !important;
  height: 76px;
  transform: translateX(-50%) !important;
  border-radius: 24px !important;
  padding: 0 24px !important;
  background: rgba(255, 255, 255, 0.74) !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  box-shadow: 0 18px 50px rgba(38, 28, 29, 0.16), 0 4px 16px rgba(210, 4, 43, 0.06) !important;
  overflow: visible !important;
}

#rfp-sticky-inner {
  max-width: none !important;
  height: 100%;
}

@media (min-width: 769px) {
  #rfp-sticky-bar {
    min-width: 760px;
  }

  .rfm-sticky-right-controls-group {
    padding-right: 2px;
  }
}

@media (max-width: 768px) {
  body {
    padding-bottom: 108px;
  }

  #rfp-sticky-bar {
    width: calc(100% - 24px) !important;
    bottom: 12px !important;
    height: 76px;
    padding: 10px 14px !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: 0 14px 42px rgba(38, 28, 29, 0.17), 0 4px 14px rgba(210, 4, 43, 0.07) !important;
  }

  #rfp-sticky-bar.expanded {
    height: 166px !important;
  }

  #rfp-sticky-inner {
    height: 100%;
  }

  .rfm-sticky-meta-block {
    height: 54px;
  }
}

/* Step 1.0.132: very slightly reduced liquid glass intensity for the floating header menu and bottom player.
   CSS-only; uses a safe fallback and keeps blur limited to two persistent UI surfaces. */
.rfm-nav-container-glass {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.50), rgba(255, 255, 255, 0.24)) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    0 16px 46px rgba(38, 28, 29, 0.09),
    0 3px 12px rgba(210, 4, 43, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(255, 255, 255, 0.18) !important;
}

#rfp-sticky-bar {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0.28)) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    0 18px 50px rgba(38, 28, 29, 0.13),
    0 4px 16px rgba(210, 4, 43, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(255, 255, 255, 0.18) !important;
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .rfm-nav-container-glass {
    backdrop-filter: blur(14px) saturate(162%) contrast(1.02) !important;
    -webkit-backdrop-filter: blur(14px) saturate(162%) contrast(1.02) !important;
  }

  #rfp-sticky-bar {
    backdrop-filter: blur(13px) saturate(158%) contrast(1.015) !important;
    -webkit-backdrop-filter: blur(13px) saturate(158%) contrast(1.015) !important;
  }
}

@media (max-width: 768px) {
  .rfm-nav-container-glass {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.60), rgba(255, 255, 255, 0.34)) !important;
    border-color: rgba(255, 255, 255, 0.72) !important;
  }

  #rfp-sticky-bar {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.36)) !important;
    border-color: rgba(255, 255, 255, 0.72) !important;
  }

  @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .rfm-nav-container-glass {
      backdrop-filter: blur(9px) saturate(150%) !important;
      -webkit-backdrop-filter: blur(9px) saturate(150%) !important;
    }

    #rfp-sticky-bar {
      backdrop-filter: blur(9px) saturate(150%) !important;
      -webkit-backdrop-filter: blur(9px) saturate(150%) !important;
    }
  }
}


/* Step 1.0.143: align Astra scroll-to-top with Relax FM UI.
   Desktop keeps the helper button, mobile hides it because it conflicts with the bottom player. */
#ast-scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top-right,
.ast-scroll-to-top-left {
  background: #d2042b !important;
  border-color: rgba(210, 4, 43, 0.92) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(210, 4, 43, 0.24) !important;
}

#ast-scroll-top:hover,
#ast-scroll-top:focus,
.ast-scroll-top-icon:hover,
.ast-scroll-top-icon:focus {
  background: #b90325 !important;
  border-color: rgba(185, 3, 37, 0.96) !important;
  color: #ffffff !important;
}

#ast-scroll-top .ast-icon,
#ast-scroll-top .ast-icon svg,
#ast-scroll-top svg,
.ast-scroll-top-icon .ast-icon,
.ast-scroll-top-icon .ast-icon svg,
.ast-scroll-top-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

@media (max-width: 768px) {
  #ast-scroll-top,
  .ast-scroll-top-icon,
  .ast-scroll-to-top-right,
  .ast-scroll-to-top-left {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Step 1.0.144: mobile sticky player station slogan fit.
   The Relax FM static station slogan "LIETUVIŠKOS MUZIKOS NAMAI" was clipped by just a few characters on mobile.
   Keep the player height unchanged, give metadata slightly more room and use a tighter secondary line only on mobile. */
@media (max-width: 768px) {
  #rfp-sticky-bar .rfm-sticky-meta-block {
    gap: 10px !important;
  }

  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 38px;
    height: 38px;
  }

  #rfp-sticky-bar #sticky-artist-title {
    font-size: 10px;
    line-height: 1.12;
    letter-spacing: -0.035em;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar #sticky-artist-title {
    font-size: 9.6px;
    letter-spacing: -0.045em;
  }
}


/* Step 1.0.257 - header logo hit-area and brandbook-safe sizing.
   The legacy PNG has transparent canvas space, so the visual logo and the
   clickable anchor could feel vertically misaligned. Crop the transparent
   canvas inside a stable link box: only the visible logo area is used as the
   hit target, while keeping brandbook-style safe space around it. */
.rfm-logo {
  width: 178px;
  height: 74px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
  margin-right: 22px;
  overflow: visible;
}

.rfm-logo-crop {
  position: relative;
  display: block;
  width: 178px;
  height: 74px;
  overflow: hidden;
  border-radius: 16px;
}

.rfm-logo-crop img,
.rfm-logo img {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 88px;
  width: auto;
  max-width: none;
  display: block;
  transform: translate(-50%, -47%);
  pointer-events: none;
}

.rfm-logo:hover .rfm-logo-crop,
.rfm-logo:focus-visible .rfm-logo-crop {
  background: rgba(255, 255, 255, 0.32);
}

.rfm-nav {
  gap: 18px;
}

.rfm-nav-links {
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 1180px) {
  .rfm-logo {
    width: 164px;
    height: 70px;
    margin-right: 14px;
  }

  .rfm-logo-crop {
    width: 164px;
    height: 70px;
  }

  .rfm-logo-crop img,
  .rfm-logo img {
    height: 82px;
  }

  .rfm-nav-links a:not(.rfm-menu-msg-badge) {
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (max-width: 768px) {
  .rfm-logo {
    width: 126px;
    height: 54px;
    margin-right: 0;
  }

  .rfm-logo-crop {
    width: 126px;
    height: 54px;
    border-radius: 14px;
  }

  .rfm-logo-crop img,
  .rfm-logo img {
    height: 64px;
    transform: translate(-50%, -47%);
  }
}

/* Step 1.0.258 - desktop header menu right alignment.
   Keep the corrected brandbook-safe logo sizing from 1.0.257, but let the
   primary menu occupy the remaining header width and align its items from the
   right edge. This avoids the larger logo visually pulling the menu toward the
   center while preserving the logo safe area and click target. */
@media (min-width: 769px) {
  .rfm-nav {
    justify-content: flex-start;
  }

  .rfm-nav-links {
    flex: 1 1 auto;
    margin-left: auto;
    justify-content: flex-end;
    text-align: right;
  }
}


/* Step 1.0.266 - centred desktop primary menu with the studio message pinned right.
   The Relax FM logo stays left, the normal navigation is visually centred from the
   header middle, and "Žinutė į studiją" remains a separate red action on the right. */
@media (min-width: 769px) {
  .rfm-nav {
    position: relative;
    justify-content: flex-start;
    min-height: 74px;
  }

  .rfm-logo,
  .rfm-mobile-menu-trigger {
    position: relative;
    z-index: 3;
  }

  .rfm-nav-links {
    position: absolute;
    inset: 50% 0 auto 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0 190px;
    width: 100%;
    min-width: 0;
    text-align: center;
    pointer-events: none;
    z-index: 2;
  }

  .rfm-nav-links > .menu-item {
    pointer-events: auto;
  }

  .rfm-nav-links > .rfm-menu-msg-item {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .rfm-nav-links > .rfm-menu-msg-item > .rfm-menu-msg-badge {
    white-space: nowrap;
  }

  .rfm-nav-links > .menu-item:not(.rfm-menu-msg-item) > a:not(.rfm-menu-msg-badge) {
    white-space: nowrap;
    cursor: pointer;
  }

  .rfm-nav-links > .rfm-menu-parent-item > a.rfm-menu-parent-toggle {
    cursor: default;
  }

  .rfm-nav-links > .rfm-menu-parent-item > a.rfm-menu-parent-toggle:hover,
  .rfm-nav-links > .rfm-menu-parent-item:focus-within > a.rfm-menu-parent-toggle,
  .rfm-nav-links > .rfm-menu-parent-item:hover > a.rfm-menu-parent-toggle {
    color: #E52D27;
    background: rgba(255, 255, 255, 0.6);
  }
}

@media (min-width: 769px) and (max-width: 1320px) {
  .rfm-nav-links {
    gap: 8px;
    padding-left: 178px;
    padding-right: 174px;
  }

  .rfm-nav-links a:not(.rfm-menu-msg-badge) {
    padding-left: 12px;
    padding-right: 12px;
    letter-spacing: 0.55px;
  }

  .rfm-menu-msg-badge {
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (min-width: 769px) and (max-width: 1080px) {
  .rfm-nav-links {
    padding-left: 166px;
    padding-right: 154px;
    gap: 6px;
  }

  .rfm-nav-links a:not(.rfm-menu-msg-badge) {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 10px;
  }

  .rfm-msg-text {
    font-size: 10px;
  }
}

@media (min-width: 769px) {
  .rfm-nav-links > .menu-item.rfm-submenu-tap-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}


/* Step 1.0.269 - desktop menu typography refinement v2.
   The 1.0.268 labels were still a touch too small against the refreshed
   Poppins homepage. Make the desktop navigation more readable while
   keeping the centred layout and right-pinned studio CTA intact. */
@media (min-width: 769px) {
  .rfm-nav-links {
    gap: 12px;
    padding-left: 208px;
    padding-right: 220px;
  }

  .rfm-nav-links > .menu-item:not(.rfm-menu-msg-item) > a:not(.rfm-menu-msg-badge) {
    font-size: clamp(13px, 0.86vw, 15px);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: 0.54px;
    padding: 14px 17px;
    border-radius: 999px;
  }

  .rfm-menu-msg-badge {
    border-radius: 999px;
    padding: 14px 20px;
  }

  .rfm-msg-text {
    font-size: clamp(12.5px, 0.8vw, 14px);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: 0.5px;
  }
}

@media (min-width: 769px) and (max-width: 1320px) {
  .rfm-nav-links {
    gap: 7px;
    padding-left: 188px;
    padding-right: 188px;
  }

  .rfm-nav-links > .menu-item:not(.rfm-menu-msg-item) > a:not(.rfm-menu-msg-badge) {
    font-size: 12.8px;
    letter-spacing: 0.36px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .rfm-menu-msg-badge {
    padding-left: 15px;
    padding-right: 15px;
  }

  .rfm-msg-text {
    font-size: 12px;
    letter-spacing: 0.36px;
  }
}

@media (min-width: 769px) and (max-width: 1120px) {
  .rfm-nav-links {
    gap: 5px;
    padding-left: 170px;
    padding-right: 160px;
  }

  .rfm-nav-links > .menu-item:not(.rfm-menu-msg-item) > a:not(.rfm-menu-msg-badge) {
    font-size: 11.8px;
    letter-spacing: 0.24px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .rfm-msg-text {
    font-size: 11.5px;
    letter-spacing: 0.22px;
  }
}

/* Step 1.0.278 - desktop dropdown menu typography alignment.
   Top-level labels were enlarged in 1.0.269, but submenu links still inherited
   the older 11px base rule. Keep dropdowns a little calmer than the main nav,
   while making them clearly part of the same Poppins menu system. */
@media (min-width: 769px) {
  .rfm-nav-links > .menu-item > .sub-menu {
    min-width: 244px;
    padding: 12px;
    border-radius: 18px;
  }

  .rfm-nav-links .sub-menu a:not(.rfm-menu-msg-badge) {
    font-size: clamp(12.8px, 0.78vw, 14px);
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: 0.26px;
    padding: 12px 14px;
    border-radius: 12px;
    text-align: left;
  }

  .rfm-nav-links .sub-menu .menu-item + .menu-item {
    margin-top: 2px;
  }
}

@media (min-width: 769px) and (max-width: 1320px) {
  .rfm-nav-links > .menu-item > .sub-menu {
    min-width: 226px;
  }

  .rfm-nav-links .sub-menu a:not(.rfm-menu-msg-badge) {
    font-size: 12.8px;
    letter-spacing: 0.18px;
    padding: 11px 12px;
  }
}


/* Step 1.0.281 - mobile drawer close control polish.
   The drawer can sit above the fixed header, so the close affordance must be
   an explicit Relax FM-styled control inside the opened panel, not only the
   transformed burger icon in the sticky header. Draw the X with CSS so it stays
   visible even if SVG fill rules are overridden by WordPress/Astra styles. */
@media (max-width: 768px) {
  .rfm-mobile-drawer {
    padding-top: calc(env(safe-area-inset-top, 0px) + 86px) !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 112px) !important;
  }

  .rfm-drawer-close-btn {
    position: absolute !important;
    top: calc(env(safe-area-inset-top, 0px) + 18px) !important;
    right: 18px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(210, 4, 53, 0.18) !important;
    background: rgba(210, 4, 53, 0.10) !important;
    box-shadow: 0 12px 28px rgba(38, 28, 29, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
    color: #D20435 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 10000020 !important;
    -webkit-tap-highlight-color: transparent;
  }

  .rfm-drawer-close-btn svg {
    display: none !important;
  }

  .rfm-drawer-close-btn::before,
  .rfm-drawer-close-btn::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 2.4px;
    border-radius: 999px;
    background: currentColor;
    left: 50%;
    top: 50%;
    transform-origin: center;
  }

  .rfm-drawer-close-btn::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .rfm-drawer-close-btn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .rfm-drawer-close-btn:hover,
  .rfm-drawer-close-btn:focus-visible {
    background: #D20435 !important;
    border-color: #D20435 !important;
    color: #FFFFFF !important;
    outline: none !important;
  }

  .rfm-mobile-drawer.open .rfm-drawer-close-btn {
    transform: translateZ(0);
  }
}


/* v1.0.314: global footer contacts with social-only variant for /kontaktai/ and /reklama/ */
.rfm-site-legal {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 34px 0 28px;
  background: transparent;
  font-family: var(--rfm-font-main);
}

.rfm-footer-info {
  max-width: 1600px;
  margin: 0 auto 18px;
  padding: 0 48px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .92fr) minmax(300px, .62fr);
  gap: 18px;
  align-items: stretch;
}

.rfm-footer-info__col {
  min-width: 0;
  padding: 22px 24px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .52);
  border: 1px solid rgba(255, 255, 255, .68);
  box-shadow: 0 14px 36px rgba(38, 28, 29, .045);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}

.rfm-footer-info__title {
  margin: 0 0 14px;
  color: #D20435;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.rfm-footer-info__body {
  display: grid;
  gap: 5px;
  color: rgba(38, 28, 29, .72);
  font-size: 11px;
  line-height: 1.42;
  font-weight: 700;
  letter-spacing: .018em;
}

.rfm-footer-info__body p {
  margin: 0;
}

.rfm-footer-info__body strong {
  color: #261C1D;
  font-weight: 800;
  letter-spacing: .055em;
}

.rfm-footer-info__note {
  margin-top: 5px !important;
  color: rgba(38, 28, 29, .5);
  font-size: 10px;
  line-height: 1.34;
  font-weight: 700;
}

.rfm-footer-info a {
  color: #D20435;
  text-decoration: none;
  font-weight: 800;
}

.rfm-footer-info a:hover,
.rfm-footer-info a:focus-visible {
  color: #E52D27;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rfm-footer-info__col--social {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.rfm-footer-social-block {
  min-width: 0;
}

.rfm-site-legal--social-only .rfm-footer-info--social-only {
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 16px;
}

.rfm-site-legal--social-only .rfm-footer-info__col--social {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(260px, auto);
  gap: 28px;
  align-items: start;
  justify-content: center;
  padding: 22px 28px;
}

.rfm-site-legal--social-only .rfm-footer-apps {
  margin-top: 0;
}

.rfm-site-legal--social-only .rfm-footer-apps__links {
  max-width: 260px;
}

.rfm-footer-social {
  display: grid;
  grid-template-columns: repeat(4, 58px);
  gap: 12px;
  justify-content: start;
  align-items: center;
}

.rfm-footer-social__link {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: #FFFFFF;
  border: 1px solid rgba(210, 4, 53, .10);
  color: #D20435 !important;
  box-shadow: 0 12px 26px rgba(210, 4, 53, .09);
  text-decoration: none !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.rfm-footer-social__link svg {
  width: 30px;
  height: 30px;
  display: block;
  fill: currentColor;
}

.rfm-footer-social__link:hover,
.rfm-footer-social__link:focus-visible {
  transform: translateY(-2px);
  background: #D20435;
  color: #FFFFFF !important;
  box-shadow: 0 16px 32px rgba(210, 4, 53, .18);
  outline: none;
}

.rfm-footer-apps {
  margin-top: 22px;
}

.rfm-footer-apps__title {
  margin: 0 0 12px;
  color: #D20435;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rfm-footer-apps__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 236px;
}

.rfm-footer-apps__link {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(210, 4, 53, .10);
  color: #D20435 !important;
  box-shadow: 0 10px 22px rgba(38, 28, 29, .045);
  text-decoration: none !important;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.rfm-footer-apps__link svg {
  width: 21px;
  height: 21px;
  display: block;
  flex: 0 0 auto;
  fill: currentColor;
}

.rfm-footer-apps__link:hover,
.rfm-footer-apps__link:focus-visible {
  transform: translateY(-2px);
  background: #D20435;
  color: #FFFFFF !important;
  box-shadow: 0 14px 30px rgba(210, 4, 53, .16);
  outline: none;
}

.rfm-site-legal__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 48px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  gap: 2px;
  text-align: center;
  color: rgba(23, 18, 23, .56);
  font-size: 10px;
  line-height: 1.36;
  font-weight: 800;
  letter-spacing: .055em;
}

.rfm-site-legal__line {
  display: block !important;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  white-space: normal;
}

.rfm-site-legal a {
  color: #d2042b;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .055em;
}

.rfm-site-legal a:hover,
.rfm-site-legal a:focus-visible {
  color: #e52d27;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1100px) and (min-width: 769px) {
  .rfm-footer-info {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .rfm-footer-info__col--social {
    grid-column: 1 / -1;
    align-items: flex-start;
    text-align: left;
  }
  .rfm-footer-social {
    grid-template-columns: repeat(4, 58px);
    justify-content: start;
  }
  .rfm-footer-apps__links {
    max-width: 260px;
  }

  .rfm-site-legal--social-only .rfm-footer-info__col--social {
    grid-template-columns: minmax(0, auto) minmax(260px, auto);
    justify-content: start;
  }
}

.rfm-site-legal__line--mobile {
  display: none !important;
}

@media (max-width: 768px) {
  .rfm-site-legal {
    padding: 16px 18px 28px;
  }
  .rfm-footer-info {
    display: none;
  }
  .rfm-site-legal__inner {
    font-size: 10px;
    line-height: 1.34;
    letter-spacing: .04em;
    padding: 0;
    gap: 0;
    color: rgba(23, 18, 23, .54);
  }
  .rfm-site-legal__line--copyright,
  .rfm-site-legal__line--desktop {
    display: none !important;
  }
  .rfm-site-legal__line--mobile {
    display: block !important;
  }
  .rfm-site-legal a {
    font-size: inherit;
    letter-spacing: .045em;
  }
}




/* v1.0.324 - mobile drawer mirrors the desktop primary menu.
   "Žinutė į studiją" stays as the first red, non-navigating parent; only its submenu links are clickable. */
.rfm-mobile-drawer-links > .rfm-menu-msg-item {
  margin: 0 0 18px;
}

.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 18px;
  border-radius: 16px;
  background: #E52D27;
  border: 1px solid rgba(229, 45, 39, 0.35);
  color: #FFFFFF !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(229, 45, 39, 0.22), inset 0 1px 0 rgba(255,255,255,0.22);
  cursor: default;
}

.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge:hover,
.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge:focus-visible {
  background: #E52D27;
  border-color: rgba(229, 45, 39, 0.35);
  color: #FFFFFF !important;
  outline: none;
}

.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge .rfm-msg-text {
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.rfm-mobile-drawer-links > .rfm-menu-msg-item > .sub-menu {
  margin: 10px 0 0;
  padding-left: 0;
  border-left: 0;
  display: grid;
  gap: 8px;
}

.rfm-mobile-drawer-links > .rfm-menu-msg-item > .sub-menu a {
  background: rgba(229, 45, 39, 0.06);
  border-color: rgba(229, 45, 39, 0.14);
  color: #261C1D;
  cursor: pointer;
}

.rfm-mobile-drawer-links .menu-item-has-children > a:not(.rfm-menu-msg-badge) {
  font-weight: 800;
}


/* v1.0.365 - design foundation from experimental visual pass: light Relax FM history surface. */
/* v1.0.370 - global light Relax FM history styling (keeps existing show/collapse rules) */
.rfm-history-dropdown-panel,
.rfm-mobile-history-accordion,
.rfm-standalone-player-box #rfmHistoryPanel {
  background:
    radial-gradient(circle at 8% 0%, rgba(255,255,255,0.96) 0, rgba(255,255,255,0.60) 34%, transparent 66%),
    linear-gradient(135deg, rgba(255,255,255,0.78) 0%, rgba(255,244,246,0.74) 52%, rgba(255,236,240,0.80) 100%) !important;
  border: 1px solid rgba(229,45,39,0.16) !important;
  box-shadow: 0 18px 46px rgba(119,27,42,0.075), inset 0 1px 0 rgba(255,255,255,0.82) !important;
  backdrop-filter: blur(22px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(170%) !important;
}

.rfm-history-dropdown-panel.open {
  border-top-color: rgba(229,45,39,0.14) !important;
}

.rfm-history-layout-wrapper {
  gap: 24px !important;
}

.rfm-history-list-inner {
  gap: 9px !important;
}

.rfm-history-row,
.rfm-mobile-history-list .rfm-history-row,
#rfmMobileHistoryContainer .rfm-history-row {
  border: 1px solid rgba(229,45,39,0.10) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.46) !important;
  box-shadow: 0 8px 20px rgba(38,28,29,0.035), inset 0 1px 0 rgba(255,255,255,0.64) !important;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.rfm-history-row:hover {
  background: rgba(255,255,255,0.66) !important;
  border-color: rgba(229,45,39,0.18) !important;
  box-shadow: 0 12px 26px rgba(119,27,42,0.06), inset 0 1px 0 rgba(255,255,255,0.72) !important;
}

.rfm-history-time,
.rfm-mobile-history-list .rfm-history-time,
#rfmMobileHistoryContainer .rfm-history-time {
  color: #D2042B !important;
  background: rgba(255,255,255,0.58) !important;
  border: 1px solid rgba(229,45,39,0.18) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 14px rgba(229,45,39,0.055) !important;
}

.rfm-history-song-title,
.rfm-mobile-history-list .rfm-history-song-title,
#rfmMobileHistoryContainer .rfm-history-song-title {
  color: #261C1D !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
}

.rfm-history-artist-title,
.rfm-mobile-history-list .rfm-history-artist-title,
#rfmMobileHistoryContainer .rfm-history-artist-title {
  color: rgba(38,28,29,0.62) !important;
  font-weight: 700 !important;
  letter-spacing: 0.025em !important;
}

#rfmHistoryContainer .rfm-history-art,
.rfm-history-glass-brand-badge,
.rfm-mobile-history-glass-badge {
  background: rgba(255,255,255,0.54) !important;
  border: 1px solid rgba(229,45,39,0.16) !important;
  box-shadow: 0 10px 22px rgba(38,28,29,0.07), inset 0 1px 0 rgba(255,255,255,0.72) !important;
}

#rfmHistoryContainer .rfm-history-art.has-image:hover {
  border-color: rgba(229,45,39,0.32) !important;
  box-shadow: 0 13px 26px rgba(229,45,39,0.12) !important;
}

.rfm-history-expand-btn,
.rfm-history-expand-slot .rfm-history-expand-btn,
.rfm-mobile-history-trigger {
  background: rgba(255,255,255,0.54) !important;
  border: 1px solid rgba(229,45,39,0.22) !important;
  color: #D2042B !important;
  box-shadow: 0 8px 18px rgba(229,45,39,0.065), inset 0 1px 0 rgba(255,255,255,0.68) !important;
}

.rfm-history-expand-btn:hover,
.rfm-history-expand-btn:focus-visible,
.rfm-history-expand-slot .rfm-history-expand-btn:hover,
.rfm-history-expand-slot .rfm-history-expand-btn:focus-visible,
.rfm-mobile-history-trigger:hover,
.rfm-mobile-history-trigger:focus-visible {
  background: rgba(255,255,255,0.78) !important;
  border-color: rgba(229,45,39,0.38) !important;
  color: #B70325 !important;
  box-shadow: 0 12px 24px rgba(229,45,39,0.11), inset 0 1px 0 rgba(255,255,255,0.80) !important;
}

.rfm-mobile-history-content {
  background: rgba(255,244,246,0.58) !important;
}

.rfm-mobile-history-title-wrap span {
  color: #D2042B !important;
}

.rfm-mobile-history-arrow {
  fill: #D2042B !important;
}

@media (max-width: 768px) {
  .rfm-mobile-history-accordion {
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-list .rfm-history-row,
  #rfmMobileHistoryContainer .rfm-history-row {
    padding: 10px 12px !important;
    gap: 10px !important;
  }

  .rfm-mobile-history-list .rfm-history-time,
  #rfmMobileHistoryContainer .rfm-history-time {
    padding: 5px 8px !important;
    font-size: 10px !important;
  }
}


/* v1.0.365 - sticky player glass play button, visual-only override. */
/* Sticky player play button: match the desktop top-player glass button.
   This block intentionally comes after older shape-reset rules that forced a solid red button. */
#rfp-sticky-bar #rfp-sticky-btn {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  flex: 0 0 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  color: #D2042B !important;
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, 0.98) 0, rgba(255, 255, 255, 0.86) 34%, rgba(255, 244, 246, 0.78) 100%) !important;
  border: 1px solid rgba(229, 45, 39, 0.30) !important;
  box-shadow:
    0 10px 24px rgba(229, 45, 39, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

#rfp-sticky-bar #rfp-sticky-btn:hover,
#rfp-sticky-bar #rfp-sticky-btn:focus,
#rfp-sticky-bar #rfp-sticky-btn:focus-visible,
#rfp-sticky-bar #rfp-sticky-btn:active {
  color: #D2042B !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(229, 45, 39, 0.44) !important;
  box-shadow:
    0 14px 30px rgba(229, 45, 39, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
  outline: none !important;
  transform: translateY(-1px) scale(1.03) !important;
}

#rfp-sticky-bar #rfp-sticky-btn svg {
  fill: #D2042B !important;
  color: #D2042B !important;
}

#rfp-sticky-bar #rfp-sticky-btn #sticky-play-ico,
#rfp-sticky-bar #rfp-sticky-btn #sticky-stop-ico {
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

#rfp-sticky-bar #rfp-sticky-btn #sticky-play-ico {
  left: 53% !important;
}

#rfp-sticky-bar #rfp-sticky-btn #sticky-stop-ico {
  left: 50% !important;
}

@media (max-width: 768px) {
  #rfp-sticky-bar #rfp-sticky-btn {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    flex-basis: 52px !important;
  }
}

/* v1.0.365 - sticky player brand frame visual polish. */
#rfp-sticky-bar .rfm-sticky-brand-logo-frame {
  width: 46px !important;
  height: 46px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 1px solid rgba(229, 45, 39, 0.12) !important;
  box-shadow: 0 10px 22px rgba(38, 28, 29, 0.07), inset 0 1px 0 rgba(255,255,255,0.72) !important;
}
@media (max-width: 768px) {
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 48px !important;
    height: 48px !important;
    border-radius: 13px !important;
  }
}

/* Step 1.0.366 - Three-station player layout.
   The final player model has exactly three visible station slots.
   No fourth-station peek, overflow rail, expand arrow, or hover-open behavior. */
.rfm-stations-rail.rfm-stations-overflow,
.rfm-hero-stations-switcher.rfm-stations-overflow,
.rfm-sticky-stations-switcher.rfm-stations-overflow,
.rfm-stations-open .rfm-stations-rail,
.rfm-stations-rail.rfm-stations-open {
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
  overflow: visible !important;
}

.rfm-stations-hover-zone,
.rfm-stations-expand-toggle,
.rfm-stations-rail::after,
.rfm-hero-stations-switcher::after,
.rfm-sticky-stations-switcher::after {
  display: none !important;
  content: none !important;
}

.rfm-stations-rail .rfm-station-tab:nth-of-type(n+4),
.rfm-hero-stations-switcher .rfm-station-tab:nth-of-type(n+4),
.rfm-sticky-stations-switcher .rfm-station-tab:nth-of-type(n+4) {
  display: none !important;
}

.rfm-hero-stations-switcher {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(42px, 1fr));
  gap: 10px !important;
  align-items: center !important;
  overflow: visible !important;
}

.rfm-hero-stations-switcher.rfm-stations-count-1 { grid-template-columns: minmax(42px, 1fr) !important; }
.rfm-hero-stations-switcher.rfm-stations-count-2 { grid-template-columns: repeat(2, minmax(42px, 1fr)) !important; }

.rfm-sticky-stations-switcher {
  display: grid !important;
  grid-template-columns: repeat(3, var(--rfm-sticky-tab, 42px));
  gap: var(--rfm-sticky-gap, 10px) !important;
  align-items: center !important;
  justify-content: end !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}

.rfm-sticky-stations-switcher.rfm-stations-count-1 { grid-template-columns: var(--rfm-sticky-tab, 42px) !important; }
.rfm-sticky-stations-switcher.rfm-stations-count-2 { grid-template-columns: repeat(2, var(--rfm-sticky-tab, 42px)) !important; }

@media (max-width: 768px) {
  .rfm-hero-stations-switcher,
  .rfm-sticky-stations-switcher {
    grid-template-columns: repeat(3, minmax(36px, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    justify-content: center !important;
  }

  .rfm-hero-stations-switcher.rfm-stations-count-1,
  .rfm-sticky-stations-switcher.rfm-stations-count-1 { grid-template-columns: minmax(36px, 1fr) !important; }

  .rfm-hero-stations-switcher.rfm-stations-count-2,
  .rfm-sticky-stations-switcher.rfm-stations-count-2 { grid-template-columns: repeat(2, minmax(36px, 1fr)) !important; }

  .rfm-sticky-stations-switcher .rfm-station-tab {
    width: 38px !important;
    height: 38px !important;
  }
}

/* Step 1.0.367 - Player surface polish for the final three-station model.
   CSS-only: no rating logic, no AJAX changes, no station data changes. */
body {
  padding-bottom: 112px;
}

#rfp-sticky-bar {
  left: 24px !important;
  right: 24px !important;
  bottom: 18px !important;
  width: auto !important;
  max-width: 1180px !important;
  height: 76px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.76) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.88), rgba(255,247,248,0.74)) !important;
  box-shadow:
    0 22px 55px rgba(38, 28, 29, 0.12),
    0 2px 0 rgba(255,255,255,0.88) inset !important;
  backdrop-filter: blur(26px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(170%) !important;
}

#rfp-sticky-inner {
  max-width: 1120px !important;
}

.rfm-sticky-meta-block {
  gap: 12px !important;
}

#rfp-sticky-btn {
  width: 46px !important;
  height: 46px !important;
  background: #FFFFFF !important;
  color: #D2042B !important;
  border: 1px solid rgba(210, 4, 43, 0.12) !important;
  box-shadow:
    0 12px 26px rgba(210, 4, 43, 0.14),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

#rfp-sticky-btn svg {
  fill: currentColor !important;
}

.rfm-sticky-brand-logo-frame {
  width: 50px !important;
  height: 50px !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(210, 4, 43, 0.08) !important;
  box-shadow: 0 10px 24px rgba(38, 28, 29, 0.07) !important;
}

#sticky-song-title {
  color: #221718 !important;
  font-size: 13px !important;
  letter-spacing: 0.02em !important;
}

#sticky-artist-title {
  color: rgba(34, 23, 24, 0.56) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.rfm-sticky-right-controls-group {
  gap: 14px !important;
}

.rfm-sticky-stations-switcher {
  padding: 4px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.54) !important;
  border: 1px solid rgba(210, 4, 43, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.rfm-sticky-stations-switcher .rfm-station-tab {
  width: 44px !important;
  height: 44px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,0.88) !important;
  border-color: rgba(38, 28, 29, 0.07) !important;
  opacity: 0.78 !important;
  box-shadow: 0 8px 18px rgba(38, 28, 29, 0.045) !important;
}

.rfm-sticky-stations-switcher .rfm-station-tab.active {
  opacity: 1 !important;
  background: #D2042B !important;
  border-color: rgba(210, 4, 43, 0.82) !important;
  box-shadow: 0 13px 24px rgba(210, 4, 43, 0.20) !important;
}

.rfm-sticky-stations-switcher .rfm-station-tab.active img {
  filter: none !important;
}

@media (max-width: 768px) {
  body {
    padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #rfp-sticky-bar,
  #rfp-sticky-bar.expanded {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    padding: 8px 10px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  #rfp-sticky-inner,
  #rfp-sticky-bar.expanded #rfp-sticky-inner {
    display: grid !important;
    grid-template-rows: 52px 36px !important;
    row-gap: 8px !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
  }

  .rfm-sticky-meta-block,
  #rfp-sticky-bar.expanded .rfm-sticky-meta-block {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    display: grid !important;
    grid-template-columns: 42px 42px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  #rfp-sticky-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .rfm-sticky-brand-logo-frame,
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  .rfm-sticky-text-block {
    min-width: 0 !important;
  }

  #sticky-song-title {
    font-size: 12px !important;
    line-height: 1.12 !important;
  }

  #sticky-artist-title {
    font-size: 9px !important;
    line-height: 1.16 !important;
  }

  .rfm-sticky-mobile-trigger {
    display: none !important;
  }

  .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    min-width: 0 !important;
  }

  .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    height: 36px !important;
    padding: 3px !important;
    border-radius: 18px !important;
    justify-content: stretch !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-count-1,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rfm-sticky-stations-switcher.rfm-stations-count-2,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    width: 100% !important;
    max-width: none !important;
    height: 30px !important;
    min-height: 30px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 7px !important;
    border-radius: 15px !important;
    color: rgba(34, 23, 24, 0.70) !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab img,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab img {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    border-radius: 7px !important;
    object-fit: cover !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab::after,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab::after {
    content: attr(aria-label) !important;
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    color: inherit !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.025em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab.active,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab.active {
    color: #FFFFFF !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar,
  #rfp-sticky-bar.expanded {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    height: 108px !important;
    min-height: 108px !important;
    max-height: 108px !important;
    padding: 7px 8px !important;
  }

  #rfp-sticky-inner,
  #rfp-sticky-bar.expanded #rfp-sticky-inner {
    grid-template-rows: 50px 34px !important;
    row-gap: 7px !important;
  }

  .rfm-sticky-meta-block,
  #rfp-sticky-bar.expanded .rfm-sticky-meta-block {
    grid-template-columns: 40px 40px minmax(0, 1fr) !important;
    height: 50px !important;
    min-height: 50px !important;
    gap: 8px !important;
  }

  #rfp-sticky-btn,
  .rfm-sticky-brand-logo-frame,
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 40px !important;
    height: 40px !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    padding: 0 5px !important;
    gap: 4px !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab img,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab img {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  .rfm-sticky-stations-switcher .rfm-station-tab::after,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab::after {
    font-size: 7px !important;
    letter-spacing: 0.01em !important;
  }
}


/* Step 1.0.368 - Sticky player centering fix.
   1.0.367 changed the floating player to left/right positioning while an older
   transform: translateX(-50%) was still active, which pushed the bar left.
   Keep the 1.0.367 visual design, but explicitly disable that transform. */
#rfp-sticky-bar,
#rfp-sticky-bar.expanded {
  transform: none !important;
}

@media (min-width: 769px) {
  #rfp-sticky-bar {
    left: max(24px, calc((100vw - 1180px) / 2)) !important;
    right: max(24px, calc((100vw - 1180px) / 2)) !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 768px) {
  #rfp-sticky-bar,
  #rfp-sticky-bar.expanded {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar,
  #rfp-sticky-bar.expanded {
    left: 8px !important;
    right: 8px !important;
    transform: none !important;
  }
}


/* Step 1.0.369 - mobile sticky player tuning.
   CSS-only: make the brand/artwork tile visually match the play button,
   increase now-playing typography, and center the three station buttons. */
@media (max-width: 768px) {
  .rfm-sticky-meta-block,
  #rfp-sticky-bar.expanded .rfm-sticky-meta-block {
    grid-template-columns: 44px 44px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  #rfp-sticky-btn,
  .rfm-sticky-brand-logo-frame,
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .rfm-sticky-brand-logo-frame img,
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  #sticky-song-title {
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em !important;
  }

  #sticky-artist-title {
    font-size: 12px !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;
    letter-spacing: 0.015em !important;
  }

  .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 380px) {
  .rfm-sticky-meta-block,
  #rfp-sticky-bar.expanded .rfm-sticky-meta-block {
    grid-template-columns: 42px 42px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #rfp-sticky-btn,
  .rfm-sticky-brand-logo-frame,
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }

  #sticky-song-title {
    font-size: 14px !important;
  }

  #sticky-artist-title {
    font-size: 11px !important;
  }

  .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    width: min(100%, 318px) !important;
    max-width: 318px !important;
  }
}


/* Step 1.0.370 - mobile sticky player cascade fix.
   This block intentionally uses the same/high specificity as older sticky rules.
   Previous 1.0.369 selectors were visually correct but were partly blocked by older
   #rfp-sticky-bar #rfp-sticky-btn !important declarations. */
@media (max-width: 768px) {
  #rfp-sticky-bar,
  #rfp-sticky-bar.expanded {
    height: 122px !important;
    min-height: 122px !important;
    max-height: 122px !important;
    padding: 9px 10px !important;
  }

  #rfp-sticky-bar #rfp-sticky-inner,
  #rfp-sticky-bar.expanded #rfp-sticky-inner {
    display: grid !important;
    grid-template-rows: 54px 38px !important;
    row-gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #rfp-sticky-bar .rfm-sticky-meta-block,
  #rfp-sticky-bar.expanded .rfm-sticky-meta-block {
    display: grid !important;
    grid-template-columns: 52px 52px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    min-width: 0 !important;
  }

  #rfp-sticky-bar #rfp-sticky-btn {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    flex: 0 0 52px !important;
    flex-basis: 52px !important;
  }

  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    flex: 0 0 52px !important;
    border-radius: 16px !important;
  }

  #rfp-sticky-bar .rfm-sticky-brand-logo-frame img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  #rfp-sticky-bar .rfm-sticky-text-block {
    min-width: 0 !important;
    align-self: center !important;
  }

  #rfp-sticky-bar #sticky-song-title {
    font-size: 15px !important;
    line-height: 1.14 !important;
    font-weight: 850 !important;
    letter-spacing: -0.018em !important;
  }

  #rfp-sticky-bar #sticky-artist-title {
    font-size: 12px !important;
    line-height: 1.18 !important;
    font-weight: 750 !important;
    letter-spacing: 0.008em !important;
  }

  #rfp-sticky-bar .rfm-sticky-mobile-trigger {
    display: none !important;
  }

  #rfp-sticky-bar .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    opacity: 1 !important;
    visibility: visible !important;
    min-width: 0 !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 96px)) !important;
    justify-content: center !important;
    align-content: center !important;
    gap: 7px !important;
    width: min(100%, 318px) !important;
    max-width: 318px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 4px !important;
    box-sizing: border-box !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-1,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-1 {
    grid-template-columns: minmax(0, 104px) !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-2,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-2 {
    grid-template-columns: repeat(2, minmax(0, 104px)) !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    width: 100% !important;
    max-width: none !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar,
  #rfp-sticky-bar.expanded {
    height: 118px !important;
    min-height: 118px !important;
    max-height: 118px !important;
  }

  #rfp-sticky-bar #rfp-sticky-inner,
  #rfp-sticky-bar.expanded #rfp-sticky-inner {
    grid-template-rows: 50px 36px !important;
    row-gap: 9px !important;
  }

  #rfp-sticky-bar .rfm-sticky-meta-block,
  #rfp-sticky-bar.expanded .rfm-sticky-meta-block {
    grid-template-columns: 48px 48px minmax(0, 1fr) !important;
    gap: 8px !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  #rfp-sticky-bar #rfp-sticky-btn,
  #rfp-sticky-bar .rfm-sticky-brand-logo-frame {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    flex: 0 0 48px !important;
    flex-basis: 48px !important;
  }

  #rfp-sticky-bar #sticky-song-title {
    font-size: 14px !important;
  }

  #rfp-sticky-bar #sticky-artist-title {
    font-size: 11px !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    width: min(100%, 304px) !important;
    max-width: 304px !important;
  }
}


/* Step 1.0.371 - station logo frame cleanup.
   With the final three-station model, the station logos should not sit inside
   an additional group frame. Keep the tabs clickable and active-state visible,
   but remove the extra desktop/mobile switcher capsule. */
.rfm-sticky-stations-switcher,
#rfp-sticky-bar .rfm-sticky-stations-switcher,
#rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  padding: 0 !important;
}

@media (min-width: 769px) {
  .rfm-sticky-stations-switcher,
  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
}

@media (max-width: 768px) {
  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: 30px !important;
    min-height: 30px !important;
  }

  #rfp-sticky-bar .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    height: 30px !important;
    min-height: 30px !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    height: 30px !important;
    min-height: 30px !important;
  }
}


/* Step 1.0.372 - station buttons center lock.
   Make the final three station buttons a centered group on both desktop and mobile.
   This intentionally overrides earlier desktop justify-content:end and mobile full-width/stretch rules. */
#rfp-sticky-bar .rfm-sticky-right-controls-group,
#rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#rfp-sticky-bar .rfm-sticky-stations-switcher,
#rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
  display: grid !important;
  grid-template-columns: repeat(3, var(--rfm-sticky-tab, 44px)) !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  gap: var(--rfm-sticky-gap, 10px) !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-1,
#rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-1 {
  grid-template-columns: var(--rfm-sticky-tab, 44px) !important;
}

#rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-2,
#rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-2 {
  grid-template-columns: repeat(2, var(--rfm-sticky-tab, 44px)) !important;
}

@media (max-width: 768px) {
  #rfp-sticky-bar .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    width: 100% !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    grid-template-columns: repeat(3, minmax(0, 96px)) !important;
    justify-content: center !important;
    justify-items: stretch !important;
    width: min(100%, 318px) !important;
    max-width: 318px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-1,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-1 {
    grid-template-columns: minmax(0, 104px) !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-2,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-2 {
    grid-template-columns: repeat(2, minmax(0, 104px)) !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    width: min(100%, 304px) !important;
    max-width: 304px !important;
  }
}

/* Step 1.0.373 - mobile sticky station logo visibility fix.
   The final three station buttons were centered, but the mobile row inherited
   a very tight 30px height and square images with object-fit: cover. Rectangular
   or tightly cropped station logos can look cut off at the top in that setup.
   Keep the compact three-station layout, but give the row a safe 34px height and
   render station logos with contain instead of cover. */
@media (max-width: 768px) {
  #rfp-sticky-bar .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    height: 34px !important;
    min-height: 34px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    height: 34px !important;
    min-height: 34px !important;
    align-items: center !important;
    align-content: center !important;
    overflow: visible !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    height: 34px !important;
    min-height: 34px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab img,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab img {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    border-radius: 5px !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab::after,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab::after {
    line-height: 1.05 !important;
    align-self: center !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group,
  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    height: 32px !important;
    min-height: 32px !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    height: 32px !important;
    min-height: 32px !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab img,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab img {
    width: 20px !important;
    height: 20px !important;
    flex-basis: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain !important;
  }
}


/* Step 1.0.374 - mobile station buttons full-width layout.
   The three-station mobile row should use the full sticky card width instead of
   behaving like a narrow left-biased logo group. Force the controls group and
   station switcher to span the available mobile card, then split it into three
   equal columns. */
@media (max-width: 768px) {
  #rfp-sticky-bar .rfm-sticky-right-controls-group,
  #rfp-sticky-bar.expanded .rfm-sticky-right-controls-group {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    align-items: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-1,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher.rfm-stations-count-2,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher.rfm-stations-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 380px) {
  #rfp-sticky-bar .rfm-sticky-stations-switcher,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher {
    width: 100% !important;
    max-width: none !important;
    gap: 6px !important;
  }

  #rfp-sticky-bar .rfm-sticky-stations-switcher .rfm-station-tab,
  #rfp-sticky-bar.expanded .rfm-sticky-stations-switcher .rfm-station-tab {
    gap: 4px !important;
  }
}

/* Relax FM Messages header trigger integration (v1.0.406) */
.rfm-header-messages-modal {
  position: relative;
  z-index: 0;
}
.rfm-header-messages-modal .rfm-msg-launcher > .rfm-msg-open {
  display: none !important;
}


/* v1.0.412 Relax FM Messages AJAX-safe global fallback root.
   The visible CTA is the theme header/menu button; this hidden footer root only
   keeps plugin assets and modal API available after AJAX navigation. */
#rfmGlobalMessagesModal{
  position:relative;
  z-index:0;
}
#rfmGlobalMessagesModal .rfm-msg-launcher > .rfm-msg-open{
  display:none !important;
}
#rfmGlobalMessagesModal .rfm-msg-launcher{
  display:block !important;
}

/* v1.0.413 - Relax FM Messages inline desktop panel on all non-home pages.
   Mobile intentionally keeps the existing plugin/default modal behavior. */
.rfm-page-messages-modal {
  display: none;
}
.rfm-page-messages-modal .rfm-msg-launcher > .rfm-msg-open {
  display: none !important;
}
@media (min-width: 922px) {
  body:not(.home) #rfmPageMessagesModal {
    display: block;
    width: min(var(--rfm-content-width, 1600px), calc(100% - clamp(36px, 6vw, 96px)));
    max-width: 1600px;
    margin: clamp(12px, 1.3vw, 18px) auto clamp(16px, 1.6vw, 24px);
    padding: 0 !important;
    --rfm-messages-header-offset: clamp(88px, 5.6vw, 112px);
    box-sizing: border-box !important;
    position: relative;
    z-index: 18;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-launcher,
  body:not(.home) #rfmPageMessagesModal [data-rfm-messages] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-modal {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    inset: auto !important;
    padding: 0 !important;
    display: block !important;
    pointer-events: none;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-modal[hidden] {
    display: none !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-modal.is-open {
    pointer-events: auto;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-backdrop {
    display: none !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-dialog {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    isolation: isolate !important;
    border-radius: 28px !important;
    padding: clamp(22px, 2.1vw, 34px) clamp(26px, 2.6vw, 42px) clamp(26px, 2.4vw, 38px) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(255,247,249,.50)) !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    box-shadow: 0 22px 62px rgba(45,20,30,.14), 0 1px 0 rgba(255,255,255,.86) inset !important;
    overflow: visible !important;
    transform: none !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-modal-head {
    padding-right: 62px !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-bubbles {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.4vw, 22px) !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-scene,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-modal-head,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-bubbles,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-form {
    position: relative !important;
    z-index: 1 !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-close,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:hover,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:focus,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:focus-visible,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:active {
    position: absolute !important;
    z-index: 80 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    inset: 18px 18px auto auto !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 999px !important;
    background: #e30613 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: 0 12px 26px rgba(227,6,19,.26), 0 1px 0 rgba(255,255,255,.24) inset !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-close::before,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 18px !important;
    height: 3px !important;
    display: block !important;
    border-radius: 999px !important;
    background: #fff !important;
    pointer-events: none !important;
    transform-origin: 50% 50% !important;
    z-index: 1 !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:hover,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:focus-visible {
    background: #c90010 !important;
    box-shadow: 0 14px 30px rgba(227,6,19,.32), 0 1px 0 rgba(255,255,255,.22) inset !important;
    outline: 3px solid rgba(227,6,19,.16) !important;
    outline-offset: 3px !important;
  }

  body:not(.home) html.rfm-msg-modal-open,
  html.rfm-msg-modal-open {
    overflow: auto !important;
  }
}

/* v1.0.415 - Relax FM Messages single desktop inline root.
   One persistent root after the fixed header is used on every desktop template;
   mobile keeps the plugin/default overlay flow. The root itself has no vertical
   space while closed, so page layout does not jump until the modal opens. */
#rfmMessagesInlineRoot {
  display: none;
}
#rfmMessagesInlineRoot .rfm-msg-launcher > .rfm-msg-open {
  display: none !important;
}
@media (min-width: 922px) {
  #rfmMessagesInlineRoot {
    display: block !important;
    width: min(var(--rfm-content-width, 1600px), calc(100% - clamp(36px, 6vw, 96px)));
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 !important;
    --rfm-messages-header-offset: clamp(88px, 5.6vw, 112px);
    box-sizing: border-box !important;
    position: relative;
    z-index: 999998;
    overflow: visible;
  }

  #rfmMessagesInlineRoot .rfm-msg-launcher,
  #rfmMessagesInlineRoot [data-rfm-messages] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    inset: auto !important;
    padding: 0 !important;
    display: block !important;
    pointer-events: none;
    margin: 0 0 clamp(14px, 1.3vw, 20px) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal.is-open {
    margin-top: var(--rfm-messages-header-offset) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal[hidden] {
    display: none !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal.is-open {
    pointer-events: auto;
  }

  #rfmMessagesInlineRoot .rfm-msg-backdrop {
    display: none !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-dialog {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    isolation: isolate !important;
    border-radius: 28px !important;
    padding: clamp(22px, 2.1vw, 34px) clamp(26px, 2.6vw, 42px) clamp(26px, 2.4vw, 38px) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(255,247,249,.50)) !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    box-shadow: 0 22px 62px rgba(45,20,30,.14), 0 1px 0 rgba(255,255,255,.86) inset !important;
    overflow: visible !important;
    transform: none !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal-head {
    padding-right: 62px !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-bubbles {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.4vw, 22px) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-scene,
  #rfmMessagesInlineRoot .rfm-msg-modal-head,
  #rfmMessagesInlineRoot .rfm-msg-bubbles,
  #rfmMessagesInlineRoot .rfm-msg-form {
    position: relative !important;
    z-index: 1 !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-close,
  #rfmMessagesInlineRoot .rfm-msg-close:hover,
  #rfmMessagesInlineRoot .rfm-msg-close:focus,
  #rfmMessagesInlineRoot .rfm-msg-close:focus-visible,
  #rfmMessagesInlineRoot .rfm-msg-close:active {
    position: absolute !important;
    z-index: 80 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    inset: 18px 18px auto auto !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 999px !important;
    background: #e30613 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    cursor: pointer !important;
    transform: none !important;
    translate: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: 0 12px 26px rgba(227,6,19,.26), 0 1px 0 rgba(255,255,255,.24) inset !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-close::before,
  #rfmMessagesInlineRoot .rfm-msg-close::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 18px !important;
    height: 3px !important;
    display: block !important;
    border-radius: 999px !important;
    background: #fff !important;
    pointer-events: none !important;
    transform-origin: 50% 50% !important;
    z-index: 1 !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-close:hover,
  #rfmMessagesInlineRoot .rfm-msg-close:focus-visible {
    background: #c90010 !important;
    box-shadow: 0 14px 30px rgba(227,6,19,.32), 0 1px 0 rgba(255,255,255,.22) inset !important;
    outline: 3px solid rgba(227,6,19,.16) !important;
    outline-offset: 3px !important;
  }

  html.rfm-msg-modal-open {
    overflow: auto !important;
  }
}

@media (max-width: 921px) {
  #rfmMessagesInlineRoot {
    display: none !important;
  }
}

/* v1.0.416 - trim Relax FM Messages desktop inline vertical spacing.
   The large safety offset is kept only as an opening offset; the modal itself
   no longer carries an extra 128px+ top margin plus a large bottom gap. */
@media (min-width: 922px) {
  #rfmMessagesInlineRoot {
    --rfm-messages-header-offset: clamp(88px, 5.6vw, 112px) !important;
  }
  #rfmMessagesInlineRoot .rfm-msg-modal {
    margin: 0 0 clamp(14px, 1.3vw, 20px) !important;
  }
  #rfmMessagesInlineRoot .rfm-msg-modal.is-open {
    margin-top: var(--rfm-messages-header-offset) !important;
  }
}


/* v1.0.417 - Relax FM Messages inline desktop bottom-gap fix.
   The previous fix changed the top offset, but the visible problem was the
   normal page/header spacer that remained below the inline messages panel.
   Restore the comfortable header gap and, only while the desktop messages
   panel is open, reduce the next page section top spacer so content follows
   the panel naturally. Mobile remains untouched. */
@media (min-width: 922px) {
  #rfmMessagesInlineRoot {
    --rfm-messages-header-offset: clamp(128px, 8.2vw, 154px) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal {
    margin: 0 0 clamp(12px, 1vw, 16px) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal.is-open {
    margin-top: var(--rfm-messages-header-offset) !important;
  }

  html.rfm-msg-modal-open body.home .rfm-inner-align-container {
    margin-top: clamp(22px, 2vw, 34px) !important;
  }

  html.rfm-msg-modal-open body.single-post .rfm-custom-post-wrapper {
    margin-top: clamp(22px, 2vw, 34px) !important;
  }

  html.rfm-msg-modal-open body.category .rfm-category-wrapper,
  html.rfm-msg-modal-open body.archive .rfm-category-wrapper {
    margin-top: clamp(22px, 2vw, 34px) !important;
  }

  html.rfm-msg-modal-open body.page .rfm-template-page {
    padding-top: clamp(22px, 2vw, 34px) !important;
  }

  html.rfm-msg-modal-open body.page .rfm-song-history-page-wrap,
  html.rfm-msg-modal-open body.page .rfm-recordings-page-wrap,
  html.rfm-msg-modal-open body.page .rfm-artists-page {
    margin-top: clamp(22px, 2vw, 34px) !important;
  }
}


/* v1.0.420 - final Relax FM Messages desktop inline header clearance.
   The header clearance must belong to the persistent root, not to the modal
   first-child margin. A first-child top margin can collapse through the root
   and the scroll anchor can land the dialog under the fixed glass menu. Keep
   the root as the scroll anchor, add the clearance as root padding only while
   the messages panel is open, and keep the modal itself at margin-top:0. */
@media (min-width: 922px) {
  #rfmMessagesInlineRoot {
    --rfm-messages-header-offset: clamp(128px, 8.2vw, 154px) !important;
    padding-top: 0 !important;
    scroll-margin-top: 0 !important;
  }

  html.rfm-msg-modal-open #rfmMessagesInlineRoot {
    padding-top: var(--rfm-messages-header-offset) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-modal,
  #rfmMessagesInlineRoot .rfm-msg-modal.is-open {
    margin-top: 0 !important;
    margin-bottom: clamp(12px, 1vw, 16px) !important;
  }
}


/* v1.0.421 - Relax FM Messages choice text guard.
   After AJAX navigation some page/plugin styles can be appended after the base
   message styles. The scenario cards must remain readable in every desktop
   inline root state, so lock only the choice-card typography and avoid touching
   form fields, mobile overlay, player, ratings or AJAX audio logic. */
@media (min-width: 922px) {
  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble,
  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble:hover,
  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble:focus,
  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble:focus-visible,
  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble:active {
    color: #171217 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble-icon {
    color: #141014 !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble strong {
    display: block !important;
    color: #171217 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    font-size: clamp(15px, .98vw, 17px) !important;
    line-height: 1.12 !important;
    font-weight: 1000 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-scene-choice .rfm-msg-bubble small {
    display: block !important;
    color: #76717c !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    font-size: 12px !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }
}

/* v1.0.432 - unify Relax FM Messages red tone with mobile home action buttons.
   The site CTA tone is now a deeper Relax FM red (#D20435 -> #B5032D), used for
   header/menu message triggers and the message modal accents on desktop/mobile. */
:root {
  --rfm-studio-red: #D20435;
  --rfm-studio-red-dark: #B5032D;
  --rfm-studio-red-deep: #A70227;
}

.rfm-menu-msg-badge,
.rfm-nav-links > .rfm-menu-msg-item > .rfm-menu-msg-badge,
.rfm-mobile-drawer-links a.rfm-menu-msg-badge,
.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge {
  background: linear-gradient(90deg, var(--rfm-studio-red) 0%, var(--rfm-studio-red-dark) 100%) !important;
  border-color: rgba(210, 4, 53, .38) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(119, 27, 42, .18), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.rfm-menu-msg-badge:hover,
.rfm-menu-msg-badge:focus-visible,
.rfm-nav-links > .rfm-menu-msg-item > .rfm-menu-msg-badge:hover,
.rfm-nav-links > .rfm-menu-msg-item > .rfm-menu-msg-badge:focus-visible,
.rfm-mobile-drawer-links a.rfm-menu-msg-badge:hover,
.rfm-mobile-drawer-links a.rfm-menu-msg-badge:focus,
.rfm-mobile-drawer-links a.rfm-menu-msg-badge:focus-visible,
.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge:hover,
.rfm-mobile-drawer-links > .rfm-menu-msg-item > a.rfm-menu-msg-badge:focus-visible {
  background: linear-gradient(90deg, var(--rfm-studio-red) 0%, var(--rfm-studio-red-deep) 100%) !important;
  border-color: rgba(210, 4, 53, .44) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(119, 27, 42, .22), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.rfm-msg-launcher {
  --rfm-red: var(--rfm-studio-red) !important;
  --rfm-line: rgba(210, 4, 53, .14) !important;
}

.rfm-msg-kicker,
.rfm-msg-back {
  color: var(--rfm-studio-red) !important;
}

.rfm-msg-open-dot,
.rfm-msg-bubble.is-active,
.rfm-msg-submit,
.rfm-msg-date-option.is-selected {
  background: linear-gradient(90deg, var(--rfm-studio-red) 0%, var(--rfm-studio-red-dark) 100%) !important;
}

.rfm-msg-open-dot {
  box-shadow: 0 0 0 6px rgba(210, 4, 53, .10) !important;
}

.rfm-msg-bubble,
.rfm-msg-field input,
.rfm-msg-field textarea,
.rfm-msg-field select,
.rfm-msg-check,
.rfm-msg-date-option {
  border-color: rgba(210, 4, 53, .14) !important;
}

.rfm-msg-bubble:hover,
.rfm-msg-bubble:focus-visible,
.rfm-msg-date-option:hover,
.rfm-msg-date-option:focus-visible {
  border-color: rgba(210, 4, 53, .32) !important;
}

.rfm-msg-bubble-icon {
  background: rgba(210, 4, 53, .09) !important;
}

.rfm-msg-submit {
  border: 0 !important;
  box-shadow: 0 12px 26px rgba(119, 27, 42, .20), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.rfm-msg-submit:hover,
.rfm-msg-submit:focus-visible {
  background: linear-gradient(90deg, var(--rfm-studio-red) 0%, var(--rfm-studio-red-deep) 100%) !important;
  box-shadow: 0 14px 30px rgba(119, 27, 42, .24), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

@media (min-width: 922px) {
  #rfmMessagesInlineRoot .rfm-msg-dialog,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-dialog {
    background:
      radial-gradient(circle at 0% 0%, rgba(210,4,53,.095) 0, rgba(210,4,53,.035) 28%, transparent 58%),
      linear-gradient(145deg, rgba(255,255,255,.76), rgba(255,246,248,.54)) !important;
    border-color: rgba(210,4,53,.14) !important;
    box-shadow: 0 24px 68px rgba(119,27,42,.15), inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  #rfmMessagesInlineRoot .rfm-msg-close,
  #rfmMessagesInlineRoot .rfm-msg-close:hover,
  #rfmMessagesInlineRoot .rfm-msg-close:focus,
  #rfmMessagesInlineRoot .rfm-msg-close:focus-visible,
  #rfmMessagesInlineRoot .rfm-msg-close:active,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:hover,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:focus,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:focus-visible,
  body:not(.home) #rfmPageMessagesModal .rfm-msg-close:active {
    background: linear-gradient(90deg, var(--rfm-studio-red) 0%, var(--rfm-studio-red-dark) 100%) !important;
    box-shadow: 0 12px 26px rgba(119, 27, 42, .22), inset 0 1px 0 rgba(255,255,255,.22) !important;
  }
}

@media (max-width: 921px) {
  .rfm-msg-dialog {
    background:
      radial-gradient(circle at 0% 0%, rgba(210,4,53,.10) 0, rgba(210,4,53,.035) 32%, transparent 62%),
      linear-gradient(145deg, rgba(255,255,255,.88), rgba(255,246,248,.72)) !important;
    border-color: rgba(210,4,53,.15) !important;
  }

  .rfm-msg-close {
    background: linear-gradient(90deg, var(--rfm-studio-red) 0%, var(--rfm-studio-red-dark) 100%) !important;
    border-color: rgba(255,255,255,.72) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(119,27,42,.20), inset 0 1px 0 rgba(255,255,255,.22) !important;
  }
}


/* v1.0.437 - Relax FM Messages sticky header micro-gap.
   Desktop inline messages use the root as the scroll anchor. Add a small,
   explicit visual gap below the sticky menu and avoid scrolling the anchor
   slightly under the header. */
@media (min-width: 922px) {
  #rfmMessagesInlineRoot {
    --rfm-messages-header-gap: clamp(10px, .75vw, 14px) !important;
  }

  html.rfm-msg-modal-open #rfmMessagesInlineRoot {
    padding-top: calc(var(--rfm-messages-header-offset) + var(--rfm-messages-header-gap)) !important;
  }
}


/* v1.0.438 - increase Relax FM Messages sticky header clearance.
   v1.0.437 added a micro gap, but on some sticky-header states the header
   shadow still visually touched the modal. Give the opened messages panel a
   slightly larger design gap without changing message layout, colours or forms. */
@media (min-width: 922px) {
  #rfmMessagesInlineRoot {
    --rfm-messages-header-gap: clamp(24px, 1.35vw, 30px) !important;
  }

  html.rfm-msg-modal-open #rfmMessagesInlineRoot {
    padding-top: calc(var(--rfm-messages-header-offset) + var(--rfm-messages-header-gap)) !important;
  }
}

/* v1.0.521: non-song RDS segments use private artist artwork without extra labels. */
#rfp-sticky-bar.is-segment{
  background:rgba(255,246,247,.82);
  border-top-color:rgba(210,4,53,.14);
}
#rfp-sticky-bar.is-segment #sticky-song-title{
  color:#D20435;
  letter-spacing:.015em;
}
#rfp-sticky-bar.is-segment #sticky-artist-title{
  color:rgba(38,28,29,.56);
}
.rfm-history-row.is-segment{
  padding:10px 12px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(210,4,53,.075),rgba(255,255,255,.62));
  border-bottom:0!important;
}
.rfm-history-row.is-segment .rfm-history-time{
  background:rgba(210,4,53,.12);
  color:#D20435;
}
.rfm-history-row.is-segment .rfm-history-song-title{
  color:#D20435;
  font-weight:900;
}
.rfm-history-row.is-segment .rfm-history-artist-title{
  color:rgba(38,28,29,.56);
}
.rfm-history-art.is-segment-art{
  box-shadow:0 10px 24px rgba(210,4,53,.12);
}


/* v1.0.524: /irasai/ detail song history must keep the same readable size on AJAX entry and full refresh.
   These rules live in the global stylesheet so the detail view is not tiny while page-specific CSS loads. */
body .rfm-recordings-page .rfm-recording-song-row,
body .rfm-recordings-page .rfm-recording-song-row:visited,
body .rfm-recordings-page .rfm-recording-song-row:hover,
body .rfm-recordings-page .rfm-recording-song-row:focus,
body .rfm-recordings-page .rfm-recording-song-row:active {
  font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}
body .rfm-recordings-page .rfm-recording-song-title {
  font-size: clamp(16px, 1.05vw, 18px) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}
body .rfm-recordings-page .rfm-recording-song-artist {
  font-size: clamp(12px, .84vw, 14px) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}
body .rfm-recordings-page .rfm-recording-song-time {
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
body .rfm-recordings-page .rfm-recording-song-row.is-segment .rfm-recording-song-title {
  font-size: clamp(16px, 1.05vw, 18px) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}
@media (max-width: 640px) {
  body .rfm-recordings-page .rfm-recording-song-title,
  body .rfm-recordings-page .rfm-recording-song-row.is-segment .rfm-recording-song-title {
    font-size: 15px !important;
  }
  body .rfm-recordings-page .rfm-recording-song-artist {
    font-size: 12px !important;
  }
}


/* v1.0.527: rubrikos/laidos istorijoje turi buti aiskiai atskirtos nuo dainu, bet be papildomu etikeciu. */
.rfm-history-row.is-segment,
.rfm-mobile-history-list .rfm-history-row.is-segment,
#rfmMobileHistoryContainer .rfm-history-row.is-segment{
  position:relative;
  border:1px solid rgba(210,4,53,.22)!important;
  border-left:4px solid #D20435!important;
  background:linear-gradient(135deg,rgba(210,4,53,.105),rgba(255,255,255,.76))!important;
  box-shadow:0 10px 26px rgba(210,4,53,.075)!important;
}
.rfm-history-row.is-segment .rfm-history-time,
.rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-time,
#rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-time{
  background:#D20435!important;
  color:#fff!important;
}
.rfm-history-row.is-segment .rfm-history-song-title,
.rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-song-title,
#rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-song-title{
  color:#D20435!important;
  font-weight:950!important;
}
.rfm-history-row.is-segment .rfm-history-artist-title,
.rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-artist-title,
#rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-artist-title{
  color:rgba(38,28,29,.62)!important;
}
#rfmHistoryContainer .rfm-history-row.is-segment .rfm-history-art.has-image{
  border-color:rgba(210,4,53,.22)!important;
  box-shadow:0 12px 26px rgba(210,4,53,.14)!important;
}


/* v1.0.528 - quick stability patch for Relax FM Messages.
   Desktop uses only the header inline root. Promo/banner clicks scroll to page
   top in JS; this CSS keeps the opened panel cleanly below the sticky menu. */
@media (min-width: 922px) {
  #rfmGlobalMessagesModal {
    display: none !important;
  }
  #rfmMessagesInlineRoot {
    --rfm-messages-header-offset: clamp(112px, 7vw, 138px) !important;
    --rfm-messages-header-gap: clamp(14px, 1vw, 20px) !important;
    scroll-margin-top: 0 !important;
  }
  html.rfm-msg-modal-open #rfmMessagesInlineRoot {
    padding-top: calc(var(--rfm-messages-header-offset) + var(--rfm-messages-header-gap)) !important;
  }
  #rfmMessagesInlineRoot .rfm-msg-modal,
  #rfmMessagesInlineRoot .rfm-msg-modal.is-open {
    margin-top: 0 !important;
  }
}


/* v1.0.536: eterio laidos/rubrikos istorijoje neturi artwork ir turi vienodą segmentų stilių visose istorijos vietose. */
.rfm-history-row.is-segment .rfm-history-art,
.rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-art,
#rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-art{
  display:none!important;
}
.rfm-history-row.is-segment .rfm-history-meta,
.rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-meta,
#rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-meta{
  min-width:0!important;
}


/* v1.0.553 - desktop history fallback station artwork and cached TOP/Popular badges. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-art.is-station-fallback {
    visibility: visible !important;
    pointer-events: none !important;
    background: linear-gradient(135deg, rgba(210,4,43,.95), rgba(119,27,42,.90)) !important;
    border-color: rgba(210,4,43,.28) !important;
    padding: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #rfmHistoryContainer .rfm-history-art.is-station-fallback img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    display: block !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap {
    flex: 0 0 auto;
    min-width: 112px;
    max-width: 136px;
    margin-left: auto;
    margin-right: 8px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 27px;
  }
  #rfmHistoryContainer .rfm-history-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    max-width: 136px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(210,4,43,.24);
    background: rgba(255,255,255,.68);
    color: #d2042b;
    box-shadow: 0 8px 18px rgba(210,4,43,.08), inset 0 1px 0 rgba(255,255,255,.76);
    font-size: 9.5px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none !important;
  }
  #rfmHistoryContainer .rfm-history-badge.is-popular {
    color: #8d2132;
    border-color: rgba(141,33,50,.22);
    background: linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,244,246,.72));
  }
  #rfmHistoryContainer .rfm-history-badge:hover,
  #rfmHistoryContainer .rfm-history-badge:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(210,4,43,.38);
    box-shadow: 0 12px 24px rgba(210,4,43,.12), inset 0 1px 0 rgba(255,255,255,.82);
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    animation: rfmHistoryBadgeCycle 7.5s infinite;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2) {
    animation-delay: 3.75s;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:hover,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:focus-visible {
    transform: translateY(-50%);
  }
}

@keyframes rfmHistoryBadgeCycle {
  0%, 44% { opacity: 1; }
  50%, 94% { opacity: 0; }
  100% { opacity: 1; }
}

@media (min-width: 769px) and (max-width: 1080px) {
  #rfmHistoryContainer .rfm-history-badge-wrap {
    min-width: 96px;
    max-width: 112px;
    margin-right: 6px;
  }
  #rfmHistoryContainer .rfm-history-badge {
    max-width: 112px;
    padding: 6px 8px;
    font-size: 8.8px;
    letter-spacing: .035em;
  }
}

/* v1.0.554 - station fallback artwork must fill the whole 16:9 frame without inner white gutters. */
@media (min-width: 769px) {
  #rfmHistoryPanel #rfmHistoryContainer .rfm-history-art.is-station-fallback,
  .rfm-home-top-stage > #rfmHistoryPanel #rfmHistoryContainer .rfm-history-art.is-station-fallback,
  #rfmHistoryContainer .rfm-history-art.is-station-fallback {
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    display: block !important;
    border-color: rgba(229,45,39,0.16) !important;
  }
  #rfmHistoryPanel #rfmHistoryContainer .rfm-history-art.is-station-fallback img,
  .rfm-home-top-stage > #rfmHistoryPanel #rfmHistoryContainer .rfm-history-art.is-station-fallback img,
  #rfmHistoryContainer .rfm-history-art.is-station-fallback img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    border-radius: inherit !important;
    display: block !important;
  }
}


/* v1.0.557 - lighter animated RELAX FM TOP 15 badge in desktop history. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge.is-top15 {
    position: relative;
    isolation: isolate;
    color: #d2042b;
    border-color: rgba(210,4,43,.32);
    background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,242,245,.78));
    box-shadow: 0 8px 20px rgba(210,4,43,.10), inset 0 1px 0 rgba(255,255,255,.84);
    animation: rfmTop15BadgeBreath 3.8s ease-in-out infinite;
  }
  #rfmHistoryContainer .rfm-history-badge.is-top15::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0%, transparent 34%, rgba(255,255,255,.62) 46%, transparent 58%, transparent 100%);
    transform: translateX(-120%);
    animation: rfmTop15BadgeShine 4.8s ease-in-out infinite;
    z-index: -1;
  }
}

@keyframes rfmTop15BadgeBreath {
  0%, 100% { box-shadow: 0 8px 20px rgba(210,4,43,.10), inset 0 1px 0 rgba(255,255,255,.84); }
  50% { box-shadow: 0 10px 24px rgba(210,4,43,.17), inset 0 1px 0 rgba(255,255,255,.90); }
}

@keyframes rfmTop15BadgeShine {
  0%, 68% { transform: translateX(-120%); opacity: 0; }
  76% { opacity: .88; }
  100% { transform: translateX(120%); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #rfmHistoryContainer .rfm-history-badge.is-top15,
  #rfmHistoryContainer .rfm-history-badge.is-top15::after {
    animation: none !important;
  }
}


/* v1.0.558 - reliable two-badge cycling for RELAX FM TOP 15 / POPULIARU. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge {
    opacity: 0 !important;
    animation: none !important;
    will-change: opacity;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1) {
    z-index: 2;
    animation: rfmHistoryBadgeCycleFirst 8s ease-in-out infinite !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2) {
    z-index: 1;
    animation: rfmHistoryBadgeCycleSecond 8s ease-in-out infinite !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge {
    animation-play-state: paused !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(1) {
    opacity: 1 !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(2) {
    opacity: 0 !important;
  }
}

@keyframes rfmHistoryBadgeCycleFirst {
  0%, 42% { opacity: 1; }
  48%, 92% { opacity: 0; }
  98%, 100% { opacity: 1; }
}

@keyframes rfmHistoryBadgeCycleSecond {
  0%, 42% { opacity: 0; }
  48%, 92% { opacity: 1; }
  98%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge {
    animation: none !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1) {
    opacity: 1 !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2) {
    opacity: 0 !important;
  }
}

/* v1.0.559 - RADIJAS.LT ZINIOS artwork and podcast play button in desktop history. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-row.is-radijas-news .rfm-history-art,
  #rfmHistoryContainer .rfm-history-row.is-segment.is-radijas-news .rfm-history-art,
  .rfm-home-top-stage > #rfmHistoryPanel #rfmHistoryContainer .rfm-history-row.is-radijas-news .rfm-history-art {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    margin-left: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.52) !important;
    border: 1px solid rgba(229,45,39,.16) !important;
    box-shadow: 0 9px 20px rgba(38,28,29,.065) !important;
  }

  #rfmHistoryContainer .rfm-history-row.is-radijas-news .rfm-history-art img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: inherit !important;
  }

  #rfmHistoryContainer .rfm-history-news-play {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none !important;
    color: #d2042b !important;
    background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,242,245,.76));
    border: 1px solid rgba(210,4,43,.26);
    box-shadow: 0 9px 20px rgba(210,4,43,.10), inset 0 1px 0 rgba(255,255,255,.84);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    margin-left: auto;
    overflow: hidden;
  }

  #rfmHistoryContainer .rfm-history-badge-wrap + .rfm-history-news-play {
    margin-left: 0;
  }

  #rfmHistoryContainer .rfm-history-news-play:hover,
  #rfmHistoryContainer .rfm-history-news-play:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(210,4,43,.42);
    box-shadow: 0 12px 24px rgba(210,4,43,.16), inset 0 1px 0 rgba(255,255,255,.90);
    outline: none;
  }

  #rfmHistoryContainer .rfm-history-news-play-icon {
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid currentColor;
    margin-left: 3px;
    filter: drop-shadow(0 1px 1px rgba(119,27,42,.10));
  }

  #rfmHistoryContainer .rfm-history-news-play.is-playing .rfm-history-news-play-icon {
    width: 12px;
    height: 14px;
    border: 0;
    margin-left: 0;
    display: block;
    background: linear-gradient(90deg, currentColor 0 4px, transparent 4px 8px, currentColor 8px 12px);
  }

  #rfmHistoryContainer .rfm-history-news-play-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  #rfmHistoryContainer .rfm-history-news-play,
  #rfmMobileHistoryContainer .rfm-history-news-play,
  .rfm-mobile-history-list .rfm-history-news-play {
    display: none !important;
  }
}

/* v1.0.561 - mobile history segment style: only subtle text color and faint border. */
@media (max-width: 768px) {
  #rfmMobileHistoryContainer .rfm-history-row.is-segment,
  .rfm-mobile-history-list .rfm-history-row.is-segment {
    border: 1px solid rgba(210, 4, 53, 0.14) !important;
    border-left: 1px solid rgba(210, 4, 53, 0.14) !important;
    background: rgba(255,255,255,0.72) !important;
    box-shadow: none !important;
  }

  #rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-time,
  .rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-time {
    background: rgba(255,255,255,0.62) !important;
    color: rgba(210, 4, 53, 0.72) !important;
    border: 1px solid rgba(210, 4, 53, 0.12) !important;
    box-shadow: none !important;
  }

  #rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-song-title,
  .rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-song-title {
    color: #B9042F !important;
    font-weight: 850 !important;
  }

  #rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-artist-title,
  .rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-artist-title {
    color: rgba(38, 28, 29, 0.60) !important;
  }
}


/* v1.0.566 - AUKSINE history badge and lightweight 3s status cycling. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge.is-golden {
    color: #9a6a00;
    border-color: rgba(214, 162, 45, .34);
    background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,247,224,.82));
    box-shadow: 0 8px 20px rgba(214, 162, 45, .12), inset 0 1px 0 rgba(255,255,255,.88);
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle {
    min-width: 148px;
    max-width: 168px;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge {
    opacity: 0 !important;
    animation: rfmHistoryBadgeCycleAny calc(var(--rfm-history-badge-count, 2) * 3s) ease-in-out infinite !important;
    animation-delay: calc(var(--rfm-history-badge-index, 0) * 3s) !important;
    will-change: opacity;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1) { z-index: 3; }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2) { z-index: 2; }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(3) { z-index: 1; }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge {
    animation-play-state: paused !important;
    opacity: 0 !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(1) {
    opacity: 1 !important;
  }
}

@keyframes rfmHistoryBadgeCycleAny {
  0%, 28% { opacity: 1; }
  34%, 100% { opacity: 0; }
}

@media (min-width: 769px) and (max-width: 1080px) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle {
    min-width: 118px;
    max-width: 132px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge {
    animation: none !important;
    opacity: 0 !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1) {
    opacity: 1 !important;
  }
}


/* v1.0.567 - close desktop dropdowns cleanly after AJAX navigation. */
@media (min-width: 769px) {
  html.rfm-nav-suppress-hover .rfm-nav-links > .menu-item > .sub-menu,
  html.rfm-nav-suppress-hover .rfm-network-links > .menu-item > .sub-menu,
  body.rfm-nav-suppress-hover .rfm-nav-links > .menu-item > .sub-menu,
  body.rfm-nav-suppress-hover .rfm-network-links > .menu-item > .sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(6px) !important;
  }
}

/* v1.0.569 - definitive desktop history badge cycling for 2 or 3 statuses.
   Overrides older v1.0.558 nth-child animations that were more specific than the v1.0.566 generic rule. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(3) {
    opacity: 0 !important;
    animation: none !important;
    animation-delay: 0s !important;
    will-change: opacity;
  }

  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2 .rfm-history-badge:nth-child(1) {
    z-index: 2;
    animation: rfmHistoryBadgeCycle2First 6s ease-in-out infinite !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2 .rfm-history-badge:nth-child(2) {
    z-index: 1;
    animation: rfmHistoryBadgeCycle2Second 6s ease-in-out infinite !important;
  }

  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3 .rfm-history-badge:nth-child(1) {
    z-index: 3;
    animation: rfmHistoryBadgeCycle3First 9s ease-in-out infinite !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3 .rfm-history-badge:nth-child(2) {
    z-index: 2;
    animation: rfmHistoryBadgeCycle3Second 9s ease-in-out infinite !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3 .rfm-history-badge:nth-child(3) {
    z-index: 1;
    animation: rfmHistoryBadgeCycle3Third 9s ease-in-out infinite !important;
  }

  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge {
    animation-play-state: paused !important;
    opacity: 0 !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(1) {
    opacity: 1 !important;
  }
}

@keyframes rfmHistoryBadgeCycle2First {
  0%, 42% { opacity: 1; }
  48%, 92% { opacity: 0; }
  98%, 100% { opacity: 1; }
}
@keyframes rfmHistoryBadgeCycle2Second {
  0%, 42% { opacity: 0; }
  48%, 92% { opacity: 1; }
  98%, 100% { opacity: 0; }
}
@keyframes rfmHistoryBadgeCycle3First {
  0%, 28% { opacity: 1; }
  34%, 94% { opacity: 0; }
  98%, 100% { opacity: 1; }
}
@keyframes rfmHistoryBadgeCycle3Second {
  0%, 28% { opacity: 0; }
  34%, 61% { opacity: 1; }
  67%, 100% { opacity: 0; }
}
@keyframes rfmHistoryBadgeCycle3Third {
  0%, 61% { opacity: 0; }
  67%, 94% { opacity: 1; }
  98%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(3) {
    animation: none !important;
    opacity: 0 !important;
  }
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1) {
    opacity: 1 !important;
  }
}

/* v1.0.570 - desktop history badges: show all statuses side by side instead of cycling.
   There is enough horizontal room in the desktop history row if the badge area is allowed
   to grow; cycling was fragile because older nth-child rules competed with newer rules. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge-wrap,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3 {
    position: static !important;
    display: inline-flex !important;
    flex: 0 1 auto !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 360px !important;
    min-height: 0 !important;
    margin-left: auto !important;
    margin-right: 8px !important;
    overflow: visible !important;
  }

  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle .rfm-history-badge:nth-child(3),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2 .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3 .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    z-index: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    animation-delay: 0s !important;
    will-change: auto !important;
  }

  #rfmHistoryContainer .rfm-history-badge {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 154px !important;
    min-height: 24px !important;
    padding: 6px 9px !important;
    font-size: 8.7px !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
  }

  #rfmHistoryContainer .rfm-history-badge.is-top15 {
    max-width: 158px !important;
  }

  #rfmHistoryContainer .rfm-history-badge.is-popular,
  #rfmHistoryContainer .rfm-history-badge.is-golden {
    max-width: 116px !important;
  }
}

@media (min-width: 769px) and (max-width: 1120px) {
  #rfmHistoryContainer .rfm-history-badge-wrap,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3 {
    max-width: 240px !important;
    gap: 4px !important;
    margin-right: 6px !important;
  }

  #rfmHistoryContainer .rfm-history-badge {
    max-width: 118px !important;
    padding: 5px 7px !important;
    font-size: 8px !important;
    letter-spacing: .03em !important;
  }

  #rfmHistoryContainer .rfm-history-badge.is-top15 {
    max-width: 138px !important;
  }
}

/* v1.0.571 - keep inline desktop history badges visible on hover/focus.
   Older cycling CSS used hover/focus rules to hide non-primary badges. In inline mode
   every status badge must remain visible and clickable. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge-wrap:hover,
  #rfmHistoryContainer .rfm-history-badge-wrap:focus-within,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:hover,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:focus-within,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:hover,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:focus-within {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    overflow: visible !important;
  }

  #rfmHistoryContainer .rfm-history-badge-wrap:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap:hover .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap:hover .rfm-history-badge:nth-child(3),
  #rfmHistoryContainer .rfm-history-badge-wrap:focus-within .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap:focus-within .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap:focus-within .rfm-history-badge:nth-child(3) {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    z-index: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    animation: none !important;
  }
}

/* v1.0.572 - final inline history badge hover fix.
   Previous cycle rules had more specific has-cycle:hover nth-child selectors that hid
   the second/third badge on hover. Inline mode must keep every badge visible in all
   states, including direct hover on any badge. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:hover .rfm-history-badge:nth-child(3),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle:focus-within .rfm-history-badge:nth-child(3),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:hover .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:focus-within .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-2:focus-within .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:hover .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:focus-within .rfm-history-badge,
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:hover .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:hover .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:hover .rfm-history-badge:nth-child(3),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:focus-within .rfm-history-badge:nth-child(1),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:focus-within .rfm-history-badge:nth-child(2),
  #rfmHistoryContainer .rfm-history-badge-wrap.has-cycle-3:focus-within .rfm-history-badge:nth-child(3),
  #rfmHistoryContainer .rfm-history-badge-wrap .rfm-history-badge:hover,
  #rfmHistoryContainer .rfm-history-badge-wrap .rfm-history-badge:focus,
  #rfmHistoryContainer .rfm-history-badge-wrap .rfm-history-badge:focus-visible {
    display: inline-flex !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    animation: none !important;
    animation-delay: 0s !important;
    animation-play-state: paused !important;
  }
}

/* v1.0.573 - experimental mobile home history artwork + compact badges. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    display: grid !important;
    grid-template-columns: auto 52px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
    align-items: center !important;
    padding: 9px 10px !important;
    border-radius: 16px !important;
    min-height: 66px !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-time,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-time {
    grid-column: 1 !important;
    width: auto !important;
    min-width: 42px !important;
    justify-self: start !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art {
    display: block !important;
    grid-column: 2 !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,0.58) !important;
    border: 1px solid rgba(210,4,53,0.12) !important;
    box-shadow: 0 8px 18px rgba(38,28,29,0.06), inset 0 1px 0 rgba(255,255,255,0.70) !important;
    padding: 0 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art.is-empty,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art.is-empty {
    opacity: .72 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art img,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art.is-station-fallback img,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art.is-station-fallback img {
    object-fit: cover !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    grid-column: 3 !important;
    min-width: 0 !important;
    display: block !important;
    align-self: center !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    font-size: 12.5px !important;
    line-height: 1.12 !important;
    letter-spacing: -.01em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    margin-top: 2px !important;
    font-size: 10px !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 5px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 18px !important;
    max-width: 118px !important;
    padding: 4px 7px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(210,4,53,0.18) !important;
    background: rgba(255,255,255,0.72) !important;
    color: #B9042F !important;
    font-size: 7.8px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .045em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: 0 5px 12px rgba(210,4,53,0.055) !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-popular,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-popular {
    color: #7A1D32 !important;
    border-color: rgba(122,29,50,0.16) !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-golden,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-golden {
    color: #9A6A00 !important;
    border-color: rgba(214,162,45,0.24) !important;
    background: rgba(255,248,226,0.78) !important;
  }

  .rfm-mobile-history-accordion:not(.open) #rfmMobileHistoryContainer .rfm-history-art,
  .rfm-mobile-history-accordion:not(.open) #rfmMobileHistoryContainer .rfm-mobile-history-badges {
    display: none !important;
  }
}

/* v1.0.574 - refined mobile home history layout: artwork left, time right. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) auto !important;
    grid-template-areas: "art meta time" !important;
    column-gap: 11px !important;
    row-gap: 0 !important;
    align-items: center !important;
    padding: 10px 11px !important;
    min-height: 74px !important;
    border-radius: 17px !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art {
    grid-area: art !important;
    grid-column: auto !important;
    align-self: center !important;
    justify-self: start !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    padding: 0 !important;
    background: rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(210,4,53,0.12) !important;
    box-shadow: 0 8px 18px rgba(38,28,29,0.065), inset 0 1px 0 rgba(255,255,255,0.74) !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art img,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    grid-area: meta !important;
    grid-column: auto !important;
    min-width: 0 !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 2px !important;
    padding: 0 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.14 !important;
    font-weight: 900 !important;
    letter-spacing: -0.015em !important;
    color: #261C1D !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 10.6px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: .018em !important;
    color: rgba(38,28,29,0.62) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-time,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-time {
    grid-area: time !important;
    grid-column: auto !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    min-width: 42px !important;
    max-width: 58px !important;
    margin: 1px 0 0 6px !important;
    padding: 5px 7px !important;
    border-radius: 999px !important;
    text-align: center !important;
    font-size: 9.4px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .025em !important;
    color: rgba(38,28,29,0.62) !important;
    background: rgba(255,255,255,0.72) !important;
    border: 1px solid rgba(38,28,29,0.10) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.70) !important;
    white-space: nowrap !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    order: 3 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 5px 0 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    min-height: 17px !important;
    max-width: 116px !important;
    padding: 3.5px 7px !important;
    border-radius: 999px !important;
    font-size: 7.4px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .045em !important;
    color: #B9042F !important;
    background: rgba(255,255,255,0.74) !important;
    border: 1px solid rgba(210,4,53,0.17) !important;
    box-shadow: 0 5px 12px rgba(210,4,53,0.05), inset 0 1px 0 rgba(255,255,255,0.75) !important;
  }

  .rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-song-title,
  #rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-song-title {
    color: #B9042F !important;
  }

  .rfm-mobile-history-list .rfm-history-row.is-segment .rfm-history-artist-title,
  #rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-history-artist-title {
    color: rgba(122,29,50,0.66) !important;
  }
}

/* v1.0.575 - mobile home history layout hardening: artwork left, text middle, time right. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    padding: 10px 11px !important;
    min-height: 74px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art {
    flex: 0 0 54px !important;
    order: 1 !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    margin: 0 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    flex: 1 1 auto !important;
    order: 2 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title,
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    text-align: left !important;
    align-self: stretch !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-time,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-time {
    flex: 0 0 auto !important;
    order: 3 !important;
    align-self: flex-start !important;
    margin: 1px 0 0 auto !important;
    min-width: 46px !important;
    max-width: 62px !important;
    white-space: nowrap !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    width: 100% !important;
    align-self: stretch !important;
  }
}


/* v1.0.576 - mobile home history refinement: larger artwork, centered text block, time as first badge. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 13px !important;
    padding: 12px 13px !important;
    min-height: 88px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-art {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    border-radius: 18px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 3px !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 13.8px !important;
    line-height: 1.14 !important;
    font-weight: 900 !important;
    letter-spacing: -0.016em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 10.9px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-time,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-time {
    display: none !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    order: 3 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 6px 0 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 22px !important;
    max-width: 100% !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 8.6px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #B9042F !important;
    background: rgba(255,255,255,0.82) !important;
    border: 1px solid rgba(210,4,53,0.16) !important;
    box-shadow: 0 6px 14px rgba(210,4,53,0.045), inset 0 1px 0 rgba(255,255,255,0.78) !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-time,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-time {
    color: #B9042F !important;
    border-color: rgba(210,4,53,0.18) !important;
    background: rgba(255,255,255,0.86) !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-popular,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-popular {
    color: #7A1D32 !important;
    border-color: rgba(122,29,50,0.18) !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-golden,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-golden {
    color: #9A6A00 !important;
    border-color: rgba(214,162,45,0.26) !important;
    background: rgba(255,248,226,0.88) !important;
  }

  .rfm-mobile-history-list .rfm-history-row.is-segment .rfm-mobile-history-badge.is-time,
  #rfmMobileHistoryContainer .rfm-history-row.is-segment .rfm-mobile-history-badge.is-time {
    color: rgba(185,4,47,0.86) !important;
    border-color: rgba(210,4,53,0.14) !important;
  }
}


/* v1.0.577 - force mobile home history artwork to a real square, never stretched. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art {
    display: block !important;
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.has-image,
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.is-station-fallback,
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.is-radijas-news-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.has-image,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.is-station-fallback,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.is-radijas-news-art {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    aspect-ratio: 1 / 1 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art img,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: inherit !important;
    transform: none !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.is-station-fallback img,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.is-station-fallback img {
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* v1.0.578 - compact mobile history row: badge rail scrolls horizontally and content stays within artwork height. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    min-height: 88px !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art,
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.has-image,
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.is-station-fallback,
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art.is-radijas-news-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.has-image,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.is-station-fallback,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art.is-radijas-news-art {
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    min-height: 68px !important;
    max-width: 68px !important;
    max-height: 68px !important;
    border-radius: 19px !important;
    align-self: center !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 80px) !important;
    height: 68px !important;
    max-height: 68px !important;
    justify-content: center !important;
    gap: 1px !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    font-size: 13.4px !important;
    line-height: 1.08 !important;
    max-height: 15px !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    font-size: 10.5px !important;
    line-height: 1.08 !important;
    max-height: 13px !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    margin: 3px 0 0 !important;
    padding: 0 8px 1px 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges::-webkit-scrollbar,
  .rfm-mobile-history-list .rfm-mobile-history-badges::-webkit-scrollbar {
    display: none !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
    min-height: 20px !important;
    max-width: none !important;
    padding: 4.5px 9px !important;
    font-size: 8.2px !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-time,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-time {
    min-width: 48px !important;
    color: #B9042F !important;
  }
}


/* v1.0.579 - mobile history safety zone between artwork and text. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    gap: 16px !important;
    column-gap: 16px !important;
    padding: 10px 13px !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art {
    flex: 0 0 68px !important;
    margin: 0 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(100% - 84px) !important;
    height: 68px !important;
    max-height: 68px !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13.1px !important;
    line-height: 1.06 !important;
    max-height: 14px !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    font-size: 10.2px !important;
    line-height: 1.06 !important;
    max-height: 12px !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 10px 1px 0 !important;
    gap: 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    min-height: 19px !important;
    padding: 4px 8px !important;
    font-size: 8px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-time,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-time {
    min-width: 46px !important;
  }
}


/* v1.0.580 - mobile history safety gap, tighter pills, Sentimentai square fallback support. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    gap: 0 !important;
    column-gap: 0 !important;
    padding: 11px 14px !important;
    min-height: 90px !important;
    align-items: center !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art {
    flex: 0 0 68px !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    margin: 0 22px 0 0 !important;
    border-radius: 18px !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(100% - 90px) !important;
    height: 68px !important;
    max-height: 68px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(0) !important;
    justify-content: center !important;
    align-items: flex-start !important;
    overflow: hidden !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    font-size: 13.2px !important;
    line-height: 1.06 !important;
    max-height: 15px !important;
    margin: 0 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    font-size: 10.4px !important;
    line-height: 1.06 !important;
    max-height: 12px !important;
    margin: 1px 0 0 !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    width: 100% !important;
    max-width: 100% !important;
    margin: 3px 0 0 !important;
    padding: 0 10px 1px 0 !important;
    gap: 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    min-height: 20px !important;
    padding: 3px 8px !important;
    font-size: 8.8px !important;
    line-height: 1 !important;
    letter-spacing: .032em !important;
    flex: 0 0 auto !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-time,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-time {
    min-width: 46px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  #rfmMobileHistoryContainer .rfm-history-art.is-station-fallback img,
  .rfm-mobile-history-list .rfm-history-art.is-station-fallback img {
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* v1.0.581 - stronger mobile history safe zone between artwork and text/badges. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row {
    gap: 0 !important;
    column-gap: 0 !important;
    padding: 11px 14px !important;
    min-height: 90px !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-row > .rfm-history-art,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-row > .rfm-history-art {
    flex: 0 0 68px !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    margin: 0 !important;
    border-radius: 18px !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 68px) !important;
    height: 68px !important;
    max-height: 68px !important;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    box-sizing: border-box !important;
    transform: none !important;
    justify-content: center !important;
    align-items: flex-start !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-song-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-song-title {
    max-width: 100% !important;
    font-size: 13.1px !important;
    line-height: 1.05 !important;
    max-height: 14px !important;
    margin: 0 !important;
  }

  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-artist-title,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-artist-title {
    max-width: 100% !important;
    font-size: 10.2px !important;
    line-height: 1.05 !important;
    max-height: 12px !important;
    margin: 1px 0 0 !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 8px 1px 0 !important;
    gap: 5px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges::-webkit-scrollbar,
  .rfm-mobile-history-list .rfm-mobile-history-badges::-webkit-scrollbar {
    display: none !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge,
  .rfm-mobile-history-list .rfm-mobile-history-badge {
    min-height: 20px !important;
    padding: 2.5px 7px !important;
    font-size: 9.2px !important;
    line-height: 1 !important;
    letter-spacing: .026em !important;
    flex: 0 0 auto !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-time,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-time {
    min-width: 46px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}


/* v1.0.582 - reduce mobile history artwork/text safety zone by half. */
@media (max-width: 768px) {
  .rfm-mobile-history-accordion.open #rfmMobileHistoryContainer .rfm-history-meta,
  .rfm-mobile-history-accordion.open .rfm-mobile-history-list .rfm-history-meta {
    padding-left: 14px !important;
    max-width: calc(100% - 68px) !important;
  }

  #rfmMobileHistoryContainer .rfm-mobile-history-badges,
  .rfm-mobile-history-list .rfm-mobile-history-badges {
    margin-top: 2px !important;
  }
}

/* v1.0.586: never expose post author meta to public visitors. */
body:not(.logged-in) .posted-by,
body:not(.logged-in) .byline,
body:not(.logged-in) .author.vcard,
body:not(.logged-in) .entry-meta .author,
body:not(.logged-in) .entry-meta .byline,
body:not(.logged-in) .ast-author-box,
body:not(.logged-in) a[rel="author"] {
  display: none !important;
}
/* v1.0.591 - PREMJERA badge in song history. */
@media (min-width: 769px) {
  #rfmHistoryContainer .rfm-history-badge.is-premiere {
    color: #b9042f;
    border-color: rgba(185, 4, 47, .30);
    background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,239,244,.80));
    box-shadow: 0 8px 20px rgba(185, 4, 47, .11), inset 0 1px 0 rgba(255,255,255,.86);
  }
}

@media (max-width: 768px) {
  #rfmMobileHistoryContainer .rfm-mobile-history-badge.is-premiere,
  .rfm-mobile-history-list .rfm-mobile-history-badge.is-premiere {
    color: #B9042F !important;
    border-color: rgba(185, 4, 47, .26) !important;
    background: rgba(255, 242, 246, .82) !important;
  }
}



/* v1.0.631 - Global desktop rating scale width/edge alignment.
   Makes the rating bar use the full card width while keeping NEPATINKA/DIEVINU and marker inside the container.
   Desktop only; mobile sticky rating is untouched. */
@media (min-width: 769px) {
  body .rfm-song-rating {
    --rfm-rating-edge: 10px;
  }

  body .rfm-song-rating .rfm-song-rating__bar-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body .rfm-song-rating .rfm-song-rating__bar,
  body .rfm-song-rating .rfm-song-rating__bar:hover,
  body .rfm-song-rating .rfm-song-rating__bar:focus,
  body .rfm-song-rating .rfm-song-rating__bar:active {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body .rfm-song-rating .rfm-song-rating__track {
    left: var(--rfm-rating-edge, 10px) !important;
    right: var(--rfm-rating-edge, 10px) !important;
  }

  body .rfm-song-rating .rfm-song-rating__ticks {
    left: 0 !important;
    right: 0 !important;
  }

  body .rfm-song-rating .rfm-song-rating__marker {
    left: clamp(16px, var(--rfm-rating-x, 50%), calc(100% - 16px)) !important;
  }

  body .rfm-song-rating .rfm-song-rating__scale {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  body .rfm-song-rating .rfm-song-rating__scale-low,
  body .rfm-song-rating .rfm-song-rating__scale-high {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  body .rfm-song-rating .rfm-song-rating__scale-low {
    justify-self: start !important;
    text-align: left !important;
  }

  body .rfm-song-rating .rfm-song-rating__scale-high {
    justify-self: end !important;
    text-align: right !important;
  }
}

/* v1.0.632 - Global desktop rating transparency + subtle invite animation.
   CSS-only: no extra AJAX, no database work, no server load. Mobile rating is untouched. */
@media (min-width: 769px) {
  body .rfm-song-rating,
  body .rfm-song-rating[data-context="air"],
  body .rfm-song-rating--air {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  body .rfm-song-rating::before,
  body .rfm-song-rating::after {
    background: transparent !important;
    box-shadow: none !important;
  }

  body .rfm-song-rating .rfm-song-rating__message,
  body .rfm-song-rating .rfm-song-rating__message span {
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
  }

  body .rfm-song-rating .rfm-song-rating__bar,
  body .rfm-song-rating .rfm-song-rating__bar:hover,
  body .rfm-song-rating .rfm-song-rating__bar:focus,
  body .rfm-song-rating .rfm-song-rating__bar:active {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  body .rfm-song-rating .rfm-song-rating__track {
    position: absolute !important;
    overflow: hidden !important;
    border-radius: 999px !important;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__track::before {
    content: "";
    position: absolute;
    inset: -4px -18%;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.56) 39%,
      rgba(239,38,72,.30) 50%,
      rgba(255,255,255,.56) 61%,
      rgba(255,255,255,0) 100%);
    filter: blur(.2px);
    opacity: .72;
    transform: translateX(-115%);
    animation: rfm-rating-track-sweep 4.8s ease-in-out infinite;
    z-index: 1;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__ticks i {
    animation: rfm-rating-tick-breathe 3.8s ease-in-out infinite;
    animation-delay: calc(var(--rfm-rating-tick-index, 0) * .055s);
  }

  body .rfm-song-rating.is-voted .rfm-song-rating__track::before,
  body .rfm-song-rating.is-voted .rfm-song-rating__ticks i {
    animation: none !important;
  }

  @media (prefers-reduced-motion: reduce) {
    body .rfm-song-rating:not(.is-voted) .rfm-song-rating__track::before,
    body .rfm-song-rating:not(.is-voted) .rfm-song-rating__ticks i {
      animation: none !important;
    }
  }
}

@keyframes rfm-rating-track-sweep {
  0%, 28% { transform: translateX(-115%); opacity: 0; }
  40% { opacity: .75; }
  62% { opacity: .75; }
  74%, 100% { transform: translateX(115%); opacity: 0; }
}

@keyframes rfm-rating-tick-breathe {
  0%, 100% { transform: translateZ(0) scale(1); }
  45% { transform: translateZ(0) scale(1.08); }
}
@media (min-width: 769px) {
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(1) { --rfm-rating-tick-index: 1; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(2) { --rfm-rating-tick-index: 2; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(3) { --rfm-rating-tick-index: 3; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(4) { --rfm-rating-tick-index: 4; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(5) { --rfm-rating-tick-index: 5; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(6) { --rfm-rating-tick-index: 6; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(7) { --rfm-rating-tick-index: 7; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(8) { --rfm-rating-tick-index: 8; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(9) { --rfm-rating-tick-index: 9; }
  body .rfm-song-rating .rfm-song-rating__ticks i:nth-child(10) { --rfm-rating-tick-index: 10; }
}


/* v1.0.634 - Desktop rating invite dot animation.
   CSS-only animation: no AJAX, no database work, no server load. The red dot is attached
   to the final A in "IVERTINK DAINA" visually, so the label and dot move together. */
@media (min-width: 769px) {
  body .rfm-song-rating {
    --rfm-rating-label-width: 132px;
    --rfm-rating-label-dot-size: 10px;
    --rfm-rating-label-dot-bottom: -12px;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__message {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 23px !important;
    min-height: 23px !important;
    margin: 0 0 5px !important;
    overflow: visible !important;
    text-align: left !important;
    pointer-events: none !important;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__message span {
    position: absolute !important;
    left: 0;
    top: 0;
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: rgba(185, 4, 47, .92) !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.45) !important;
    will-change: left, opacity, filter !important;
    animation: rfm-rating-label-dot-walk 6.8s cubic-bezier(.42, 0, .18, 1) infinite alternate !important;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__message span::after {
    content: "";
    position: absolute;
    right: .04em;
    bottom: var(--rfm-rating-label-dot-bottom, -12px);
    width: var(--rfm-rating-label-dot-size, 10px);
    height: var(--rfm-rating-label-dot-size, 10px);
    border-radius: 999px;
    background: #B9042F;
    border: 2px solid rgba(255,255,255,.92);
    box-shadow: 0 7px 18px rgba(185, 4, 47, .30), 0 0 0 5px rgba(185, 4, 47, .08);
    transform: translateX(48%);
    pointer-events: none;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__track::before,
  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__ticks i {
    animation: none !important;
  }

  body .rfm-song-rating.is-voted .rfm-song-rating__message {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  body .rfm-song-rating.is-voted .rfm-song-rating__message span {
    position: static !important;
    animation: none !important;
    transform: none !important;
  }

  body .rfm-song-rating.is-voted .rfm-song-rating__message span::after {
    content: none !important;
  }

  @media (prefers-reduced-motion: reduce) {
    body .rfm-song-rating:not(.is-voted) .rfm-song-rating__message span {
      animation: none !important;
      left: calc(50% - (var(--rfm-rating-label-width, 132px) / 2)) !important;
    }
    body .rfm-song-rating:not(.is-voted) .rfm-song-rating__message span::after {
      box-shadow: 0 7px 18px rgba(185, 4, 47, .22) !important;
    }
  }
}

@keyframes rfm-rating-label-dot-walk {
  0% {
    left: 0;
    opacity: .82;
    filter: saturate(.96);
  }
  18% {
    opacity: 1;
  }
  50% {
    opacity: 1;
    filter: saturate(1.1);
  }
  82% {
    opacity: 1;
  }
  100% {
    left: calc(100% - var(--rfm-rating-label-width, 132px));
    opacity: .92;
    filter: saturate(1.05);
  }
}


/* v1.0.635 - Put the animated rating invite dot directly on the scale/track.
   The label still moves as an invitation, but the red bubble now rides the voting bar itself.
   CSS-only, desktop only; no server/AJAX impact. */
@media (min-width: 769px) {
  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__message span::after {
    content: none !important;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__bar-wrap {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__bar-wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    left: var(--rfm-rating-edge, 10px);
    width: var(--rfm-rating-label-dot-size, 10px);
    height: var(--rfm-rating-label-dot-size, 10px);
    border-radius: 999px;
    background: #B9042F;
    border: 2px solid rgba(255,255,255,.94);
    box-shadow: 0 7px 18px rgba(185, 4, 47, .32), 0 0 0 5px rgba(185, 4, 47, .09);
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 8;
    will-change: left, transform, opacity, filter;
    animation: rfm-rating-track-dot-walk 6.8s cubic-bezier(.42, 0, .18, 1) infinite alternate !important;
  }

  body .rfm-song-rating.is-voted .rfm-song-rating__bar-wrap::after {
    content: none !important;
    animation: none !important;
  }

  @media (prefers-reduced-motion: reduce) {
    body .rfm-song-rating:not(.is-voted) .rfm-song-rating__bar-wrap::after {
      animation: none !important;
      left: 50% !important;
    }
  }
}

@keyframes rfm-rating-track-dot-walk {
  0% {
    left: var(--rfm-rating-edge, 10px);
    opacity: .88;
    filter: saturate(.98);
    transform: translate(-50%, -50%) scale(1);
  }
  18% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.04);
  }
  50% {
    opacity: 1;
    filter: saturate(1.1);
    transform: translate(-50%, -50%) scale(1.08);
  }
  82% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.04);
  }
  100% {
    left: calc(100% - var(--rfm-rating-edge, 10px));
    opacity: .94;
    filter: saturate(1.05);
    transform: translate(-50%, -50%) scale(1);
  }
}

/* v1.0.637 - Rating invite dot alignment fix.
   Keeps the animated dot on the real voting line instead of the middle of the whole rating block. */
@media (min-width: 769px) {
  body .rfm-song-rating:not(.is-voted) .rfm-song-rating__bar-wrap::after {
    top: var(--rfm-rating-invite-dot-top, 50%) !important;
    z-index: 30 !important;
  }
}


/* v1.0.638 - Desktop post rating: keep the invite dot on the real scale line.
   Post rating cards have a taller bar-wrap than the homepage hero rating because the
   NEPATINKA / DIEVINU labels live under the bar. A generic 50% vertical position puts
   the animated dot below the line, so only non-hero desktop rating cards get their own
   fixed track-center value. CSS-only; no server/AJAX impact. */
@media (min-width: 769px) {
  body:not(.home) .rfm-song-rating:not(.is-voted) .rfm-song-rating__bar-wrap::after {
    top: 21px !important;
    width: 16px !important;
    height: 16px !important;
    background: #d2042b !important;
    border: 3px solid rgba(255,255,255,.96) !important;
    box-shadow: 0 8px 18px rgba(185,4,47,.32), 0 0 0 7px rgba(185,4,47,.10) !important;
    z-index: 30 !important;
  }

  body:not(.home) .rfm-song-rating:not(.is-voted) .rfm-song-rating__bar-wrap {
    overflow: visible !important;
  }

  body:not(.home) .rfm-song-rating__scale {
    overflow: visible !important;
  }
}

/* v1.0.686 - Mobile top navigation compact lock.
   The mobile header was taking too much vertical screen space. Keep the same
   controls and safe tap targets, but reduce the visible glass bar by about 20%
   and lift it to a 1px top gap. */
@media (max-width: 768px) {
  .rfm-nav-wrapper {
    top: 1px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .rfm-nav-container-glass {
    padding: 7px 12px !important;
    border-radius: 14px !important;
  }

  .rfm-nav {
    min-height: 44px !important;
    gap: 10px !important;
  }

  .rfm-logo {
    width: 104px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .rfm-logo-crop {
    width: 104px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }

  .rfm-logo-crop img,
  .rfm-logo img {
    height: 54px !important;
    transform: translate(-50%, -47%) !important;
  }

  .rfm-mobile-nav-actions {
    gap: 10px !important;
  }

  .rfm-mobile-app-link {
    width: 36px !important;
    height: 36px !important;
    border-radius: 13px !important;
    transform: translateY(0) !important;
  }

  .rfm-mobile-app-link img {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
  }

  .rfm-mobile-menu-trigger {
    width: 23px !important;
    height: 15px !important;
    transform: translateY(0) !important;
  }

  .rfm-mobile-menu-trigger span {
    width: 17px !important;
    max-width: 17px !important;
    height: 2px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v1.0.688 - mobile hamburger bars narrower again; keep the tap area unchanged. */
@media (max-width: 980px) {
  .rfm-mobile-menu-trigger {
    width: 23px !important;
  }

  .rfm-mobile-menu-trigger span {
    width: 17px !important;
    max-width: 17px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v1.0.689 - mobile hamburger sized against the adjacent radijas.lt app icon.
   The app icon image is 30px, so the visible bars are 15px (50% of the icon),
   while the button tap area stays comfortable. */
@media (max-width: 980px) {
  .rfm-mobile-app-link {
    width: 36px !important;
    height: 36px !important;
  }

  .rfm-mobile-app-link img {
    width: 30px !important;
    height: 30px !important;
  }

  .rfm-mobile-menu-trigger {
    width: 23px !important;
    height: 15px !important;
    align-items: center !important;
  }

  .rfm-mobile-menu-trigger span {
    width: 15px !important;
    max-width: 15px !important;
    height: 2px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v1.0.690 - mobile hamburger vertical compact fix.
   Restore the left-to-right bar length and reduce the hamburger only from top to bottom.
   The tap area remains unchanged; only the visible three-line stack is flatter. */
@media (max-width: 980px) {
  .rfm-mobile-menu-trigger {
    width: 23px !important;
    height: 12px !important;
    align-items: stretch !important;
    justify-content: space-between !important;
  }

  .rfm-mobile-menu-trigger span {
    width: 100% !important;
    max-width: 100% !important;
    height: 1.6px !important;
    min-height: 1.6px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .rfm-mobile-menu-trigger.open span:nth-child(1) {
    transform: translateY(5.2px) rotate(45deg) !important;
  }

  .rfm-mobile-menu-trigger.open span:nth-child(3) {
    transform: translateY(-5.2px) rotate(-45deg) !important;
  }
}

/* v1.0.692 - Global mobile studio sheet gap fix outside the homepage too. */
@media (max-width: 921px) {
  #rfmGlobalMessagesModal .rfm-msg-launcher,
  #rfmGlobalMessagesModal .rfm-msg-modal {
    --rfm-mobile-messages-gap: 2px !important;
  }

  #rfmGlobalMessagesModal .rfm-msg-modal {
    padding-top: calc(var(--rfm-mobile-messages-top) + var(--rfm-mobile-messages-gap)) !important;
  }

  #rfmGlobalMessagesModal .rfm-msg-dialog {
    max-height: calc(100dvh - var(--rfm-mobile-messages-top) - var(--rfm-mobile-messages-gap) - var(--rfm-mobile-messages-bottom) - 6px) !important;
  }
}

@media (max-width: 390px) {
  #rfmGlobalMessagesModal .rfm-msg-launcher,
  #rfmGlobalMessagesModal .rfm-msg-modal {
    --rfm-mobile-messages-gap: 1px !important;
  }
}

/* v1.0.730 - Global theme-owned Eteryje/current-show banner style.
   The Laidos plugin now prints only markup; visual ownership belongs to the theme on homepage, sidebar and shortcodes. */
.rfm-laida-banner {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #d2042b !important;
  color: #261c1d !important;
  text-decoration: none !important;
  font-family: var(--rfm-font-main, "Poppins", sans-serif) !important;
  box-shadow: none !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
}

.rfm-laida-banner:hover,
.rfm-laida-banner:focus {
  color: #261c1d !important;
  text-decoration: none !important;
}

.rfm-laida-banner:focus-visible {
  outline: 2px solid rgba(185,4,47,.88) !important;
  outline-offset: 3px !important;
}

.rfm-laida-banner .rfm-laida-media,
.rfm-laida-banner .rfm-laida-media img,
.rfm-laida-banner .rfm-laida-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: inherit !important;
  box-shadow: none !important;
}

.rfm-laida-banner .rfm-laida-fallback {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.20), transparent 32%),
    linear-gradient(135deg, #3b101d 0%, #d20435 56%, #e52d27 100%) !important;
  color: rgba(255,255,255,.58) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.rfm-laida-banner .rfm-laida-shade {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(38,28,29,0) 0%, rgba(38,28,29,0) 54%, rgba(38,28,29,.10) 100%) !important;
}

.rfm-laida-banner > .rfm-laida-label {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 30 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  border: 1px solid rgba(210,4,43,.20) !important;
  background: rgba(255,255,255,.95) !important;
  color: #B9042F !important;
  box-shadow: 0 7px 14px rgba(38,28,29,.12), inset 0 1px 0 rgba(255,255,255,.78) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  font-family: var(--rfm-font-main, "Poppins", sans-serif) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.rfm-laida-banner > .rfm-laida-label::before,
.rfm-laida-banner > .rfm-laida-label::after {
  content: none !important;
  display: none !important;
}

.rfm-laida-banner > .rfm-laida-content {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  top: auto !important;
  z-index: 30 !important;
  display: block !important;
  width: auto !important;
  height: 25px !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge,
.rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta {
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  width: auto !important;
  min-width: 0 !important;
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  border: 1px solid rgba(210,4,45,.24) !important;
  background: rgba(255,255,255,.95) !important;
  color: #B9042F !important;
  box-shadow: 0 9px 18px rgba(38,28,29,.16), inset 0 1px 0 rgba(255,255,255,.76) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  font-family: var(--rfm-font-main, "Poppins", sans-serif) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge {
  left: 0 !important;
  right: auto !important;
  max-width: calc(56% - 6px) !important;
}

.rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge:only-child {
  max-width: 100% !important;
}

.rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta {
  right: 0 !important;
  left: auto !important;
  max-width: calc(44% - 6px) !important;
}

.rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge::before,
.rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge::after,
.rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta::before,
.rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta::after {
  content: none !important;
  display: none !important;
}

.rfm-laida-banner.rfm-laida-sidebar,
.rfm-post-laidos-banners .rfm-laida-banner,
.rfm-side-banners .rfm-laida-banner {
  border-radius: 12px !important;
}

.rfm-laida-banner.rfm-laida-sidebar > .rfm-laida-label,
.rfm-laida-banner.rfm-laida-sidebar > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge,
.rfm-laida-banner.rfm-laida-sidebar > .rfm-laida-content > .rfm-laida-cta,
.rfm-post-laidos-banners .rfm-laida-banner > .rfm-laida-label,
.rfm-post-laidos-banners .rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge,
.rfm-post-laidos-banners .rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta,
.rfm-side-banners .rfm-laida-banner > .rfm-laida-label,
.rfm-side-banners .rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge,
.rfm-side-banners .rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta {
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  padding: 0 9px !important;
  font-size: 9.5px !important;
}

@media (max-width: 768px) {
  .rfm-laida-banner {
    border-radius: 16px !important;
  }

  .rfm-laida-banner > .rfm-laida-label {
    top: 10px !important;
    left: 10px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 0 10px !important;
    font-size: 9.5px !important;
    letter-spacing: .04em !important;
  }

  .rfm-laida-banner > .rfm-laida-content {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    height: 24px !important;
  }

  .rfm-laida-banner > .rfm-laida-content > .rfm-laida-title.rfm-laida-title-badge,
  .rfm-laida-banner > .rfm-laida-content > .rfm-laida-cta {
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 0 10px !important;
    font-size: 9.5px !important;
    letter-spacing: .04em !important;
  }
}
