/*
 Theme Name:   Radiostation
 Theme URI:    https://spread.nl
 Description:  Custom child theme
 Author:       Spread Media
 Author URI:   https://spread.nl
 Text Domain:  radiostation
 Template:     generatepress
 Version:      0.1
*/

@font-face {
  font-family: "Segoe UI";
  src: url("fonts/SegoeUI-Bold.woff2") format("woff2"),
    url("fonts/SegoeUI-Bold.woff") format("woff"),
    url("fonts/SegoeUI-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Segoe UI";
  src: url("fonts/SegoeUI.woff2") format("woff2"),
    url("fonts/SegoeUI.woff") format("woff"),
    url("fonts/SegoeUI.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Segoe UI";
  src: url("fonts/SegoeUI-Semibold.woff2") format("woff2"),
    url("fonts/SegoeUI-Semibold.woff") format("woff"),
    url("fonts/SegoeUI-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root[data-theme="light"] {
  /* --white-dark: #ffffff;
  --light-dark: #f3f4f6;
  --grey-ash: #e5e7eb;
  --white-ash: #ffffff;
  --blue-darkblue-dark: #232341;
  --text: #111827;
  --text-black-white: #000000;
  --text-hover: #0f172a;
  --border: #DFE2ED; */
  --thumb: rgba(127, 127, 127, 0.08);
  --shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  --icon-filter: none;
}
:root[data-theme="dark"] {
  --white-dark: #202026;
  --light-dark: #333333;
  --grey-ash: #404040;
  --white-ash: #404040;
  --blue-dark: #202026;
  --text: #ffffff;
  --text-black-white: #ffffff;
  --text-hover: #e8ebf3;
  --border: #343434;
  --thumb: rgba(255, 255, 255, 0.08);
  --shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  --icon-filter: invert(1) brightness(1.1) contrast(1.05);
}

h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  font-family: "Segoe UI";
}
.elementor-heading-title {
  line-height: 1.3;
}
body {
  font-family: "Segoe UI";
}
button,
a {
  font-family: "Segoe UI";
}
a:hover {
  color: var(--orrange);
}
.col_1 {
  width: 8.33%;
}
.col_2 {
  width: 16.66%;
}
.col_3 {
  width: 25%;
}
.col_4 {
  width: 33.33%;
}
.col_5 {
  width: 41.66%;
}
.col_6 {
  width: 50%;
}
.col_7 {
  width: 58.33%;
}
.col_8 {
  width: 66.66%;
}
.col_9 {
  width: 75%;
}
.col_10 {
  width: 83.33%;
}
.col_11 {
  width: 91.66%;
}
.col_12 {
  width: 100%;
}
button {
  border-radius: 5px;
}
.weight-700 {
  font-weight: 700;
}
.weight-600 {
  font-weight: 600;
}
.weight-500 {
  font-weight: 500;
}
.weight-400 {
  font-weight: 400;
}
.font-size-20 {
  font-size: 20px;
}
.font-size-16 {
  font-size: 16px;
}
.color-text {
  color: #0a1225;
}
.color-white {
  color: #fff;
}
.width-100 {
  width: 100%;
}
.max-width {
  max-width: 100%;
}
.h-100 {
  height: 100%;
}
.sec-padding {
  padding: 50px 0px;
}
.p-10 {
  padding: 10px;
}
.p-15 {
  padding: 15px;
}
.p-20 {
  padding: 20px;
}
.pt-0 {
  padding-top: 0px;
}
.pb-0 {
  padding-bottom: 0px;
}
.pt-10 {
  padding-top: 10px;
}
.pb-10 {
  padding-bottom: 10px;
}
.pt-20 {
  padding-top: 20px;
}
.pb-20 {
  padding-bottom: 20px;
}
.pt-30 {
  padding-top: 30px;
}
.pb-30 {
  padding-bottom: 30px;
}
.m-10 {
  margin: 10px;
}
.m-20 {
  margin: 20px;
}
.mt-0 {
  margin-top: 0px;
}
.mb-0 {
  margin-bottom: 0px;
}
.mt-10 {
  margin-top: 10px;
}
.mb-10 {
  margin-bottom: 10px;
}
.mb-15 {
  margin-bottom: 15px;
}
.mt-20 {
  margin-top: 20px;
}
.mb-20 {
  margin-bottom: 20px;
}
.mt-30 {
  margin-top: 30px;
}
.mb-30 {
  margin-bottom: 30px;
}
.mr-10 {
  margin-right: 10px;
}
.mr-15 {
  margin-right: 15px;
}
.mr-20 {
  margin-right: 20px;
}

.m-10 {
  margin: 0px -10px;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}

.align-items-center {
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
}
.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.space-between {
  justify-content: space-between;
}
.gap-10 {
  gap: 10px;
}
.gap-15 {
  gap: 15px;
}
.gap-20 {
  gap: 20px;
}
.gap-30 {
  gap: 30px;
}
.light-ping-bg {
  background: #f0f3ff;
}
.radius {
  border-radius: 5px !important;
}
.radius-3 {
  border-radius: 3px !important;
}
.radius-10 {
  border-radius: 10px !important;
}
button.btn.btn-trans {
  background: transparent;
  padding: 0;
  margin: 0;
}
button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover,
button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
a.button:focus,
a.wp-block-button__link:not(.has-background):active,
a.wp-block-button__link:not(.has-background):focus,
a.wp-block-button__link:not(.has-background):hover {
  color: inherit;
  background-color: transparent;
  outline: none;
}
ol,
ul {
  margin: 0 0 1.5em 1em;
}
/*end global*/
/* ---- Sticky footer (no fixed pos, no right-side scroll) for GeneratePress ---- */

/* 1) Make the viewport a flex column and remove default margins */
html,
body {
  height: 100%;
}
body {
  min-height: 100dvh; /* robust vh on all browsers */
  display: flex;
  flex-direction: column;
  margin: 0;
  overflow-x: hidden; /* prevent stray horizontal overflow */
}
#page {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.site-content {
  flex: 1 0 auto;
}
.site-footer {
  margin-top: auto;
}
.site-main > *:last-child {
  margin-bottom: 0;
}
.site-footer {
  box-sizing: border-box;
}

/*page grid*/
.inside-header.grid-container {
  max-width: 900px;
}
.station-section {
  width: 100%;
  /* display: flex;
  justify-content: center; */
}

.station-container {
  display: grid;
  grid-template-columns: 200px 900px 200px;
  gap: 20px; /* spacing between cols */
  max-width: 1300px; /* 200+900+200 */
  width: 100%;
}

/*end page grid*/

.content-wraper {
  background: var(--white-ash);
  border-radius: 5px;
  box-shadow: var(--shadow);
  padding: 15px;
  margin-bottom: 45px;
  position: relative;
}
/*start header tools css*/
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===========================
   Header Tools Shell
   =========================== */
.header-tools {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  isolation: isolate;
  z-index: 99;
}

.tool-btn {
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease,
    border-color 0.18s ease;
  padding: 0;
  background: no-repeat;
}
.tool-btn:hover {
  transform: translateY(-1px);
  background: none;
}
.tool-btn:active {
  transform: translateY(0);
}
.tool-btn .ico {
  line-height: 1;
}
.tool-btn img {
  height: 12px;
}
button#tool-theme-btn img {
  height: 14px;
}
.theme-opt img {
  height: 16px;
}

.header-tools .tool-btn img {
  filter: var(--icon-filter);
  transition: filter 0.18s ease;
}

/* when panel open (your red bubble), keep icons white for contrast */
/* .tool-btn.is-active img { filter: none !important; } */
/* .tool-btn.is-active .ico { color:#fff; } */

/* Tiny badge (e.g., temperature) */
.tool-badge {
  line-height: 1;
  color: var(--text);
}

/* ===========================
   Popover Panel + Animation
   =========================== */
.tool-panel {
  position: absolute;
  top: 44px;
  right: 0;
  background: var(--white-dark);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 5px;
  box-shadow: var(--shadow);
  padding: 14px;
  min-width: 180px;
  max-width: min(90vw, 320px);
  z-index: 999;
  opacity: 0;
  transform: translateY(8px) scale(0.98);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
  transform-origin: top right;
}
.tool-panel.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Little caret */
.tool-panel::before {
  content: "";
  position: absolute;
  top: -8px;
  right: 20px;
  width: 14px;
  height: 14px;
  background: var(--panel);
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
  transform: rotate(45deg);
  display: none;
}
/* Ensure hidden panels don't occupy space */
.tool-panel[hidden] {
  display: none !important;
}

/* ===========================
   Theme Switcher
   =========================== */
.theme-switch {
  display: flex;
  gap: 10px;
  background: var(--grey);
  padding: 8px;
  border-radius: 100px;
  justify-content: center;
}
.theme-opt {
  display: grid;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: transparent;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  padding: 0;
  height: 30px;
  width: 30px;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.theme-opt:hover {
  transform: translateY(-1px);
}
.theme-opt[aria-pressed="true"] {
  background: var(--bg);
  box-shadow: inset 0 0 0 2px var(--border);
}
.theme-opt:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.auto-A {
  font-weight: 600;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
    "Helvetica Neue", Arial, sans-serif;
}
.theme-label {
  margin-top: 10px;
  text-align: center;
}

/* ===========================
   Weather Card
   =========================== */
.wx-head {
  margin-bottom: 10px;
}
.wx-head strong {
  color: var(--muted);
  flex: 1;
}
.wx-search {
  flex: 1;
  padding: 8px 10px;
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 10px;
}
.wx-search:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}
.wx-search-btn {
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  padding: 5px 10px;
}
.wx-search-btn img {
  opacity: 0.5;
  filter: var(--icon-filter);
}
.wx-search-btn:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}
.search-area input.wx-search {
  background: transparent;
  padding: 10px;
  height: 34px;
}

.search-area {
  border: 1px solid var(--border);
  border-radius: 5px;
  flex: 2;
}
.search-area input.wx-search {
  border: none;
}
.wx-body {
  min-width: 220px;
}
.wx-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.wx-temp {
  font-weight: 700;
  letter-spacing: -0.02em;
}
.wx-sub {
  opacity: 0.8;
  margin-top: 4px;
  color: var(--muted);
}

.wx-hourly {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(52px, 1fr);
  gap: 10px;
  margin-top: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}
.wx-hourly::-webkit-scrollbar {
  height: 6px;
}
.wx-hourly::-webkit-scrollbar-thumb {
  background: var(--thumb);
  border-radius: 999px;
}

.wx-hour {
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 6px 4px;
}

/* Loading / empty state */
.wx-skel {
  padding: 6px 0;
}

/* ===========================
   Traffic (Phase 3 placeholder)
   =========================== */
.traffic-kpi strong {
  font-weight: 700;
}
#panel-traffic.tool-panel {
  min-width: 260px;
}
.traffic-kpis {
  text-align: center;
}

.traffic-kpi .d-flex {
  gap: 5px;
  color: var(--text);
  font-weight: 600;
}
/* ===========================
   Header Tools — End
   =========================== */
/*end header tools css*/

.site-content {
  display: block;
  margin: 30px 0px;
}
/* Header */
.site-header {
  border-bottom: 1px solid var(--border);
}
.inside-header {
  padding: 0px;
  position: relative;
}
.inside-navigation {
  position: inherit;
}
.main-navigation .main-nav ul ul li a {
  padding: 10px;
}
/* Header End*/

/*Contact Form CSS*/
input[type="email"],
input[type="number"],
input[type="password"],
input[type="reset"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  border-radius: 5px;
  background: var(--white-ash);
  border: none;
  width: 100%;
  border: 1px solid var(--border);
}
.rs-cf-field label {
  color: var(--text);
}

.loader {
  border: 5px solid #f3f3f3;
  border-radius: 50%;
  border-top: 5px solid #4d80ee;
  width: 30px;
  height: 30px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  padding: 0px !important;
}
.input_group label {
  margin-bottom: 5px;
  display: block;
}
.input_group textarea {
  min-height: 162px;
}
p#waiting_message {
  padding: 10px 30px;
  text-align: center;
  line-height: 1.2;
  color: #329492;
}
p#waiting_message,
#success_message {
  margin: 0;
  color: #37af90;
  margin-top: 5px;
  text-align: left;
  border: 1px solid;
  padding: 10px;
}
.form_area .col_row .col_4 {
  padding: 0px;
}
/*Contact Form CSS end*/
.qodef-qi-grid.qodef-responsive--predefined.qodef-col-num--4.qodef-layout--qi-columns
  > .qodef-grid-inner {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/*Footer*/
.inside-footer-widgets > div.footer-widget-1,
.inside-footer-widgets > div.footer-widget-4 {
  flex: 2;
}
#footer-widgets ul li a {
  font-weight: 400;
}

#footer-widgets .footer-widget-1 ul li {
  position: relative;
  padding-left: 24px;
}

#footer-widgets .footer-widget-1 ul li img {
  position: absolute;
  left: 0;
  top: 7px;
  max-width: 14px;
}

#footer-widgets ul.wp-block-social-links li a {
  color: #fff;
}

.inside-site-info {
  justify-content: space-between;
}
.site-footer:not(.footer-bar-active) .copyright-bar {
  margin: 0;
  text-align: left;
}
.footer-widgets-container {
  padding: 40px 0px;
}
.footer-widgets .widget {
  margin-bottom: 15px;
}

.site-footer .inside-site-info {
  padding: 20px 0px;
  text-align: center;
  flex-direction: column;
  gap: 10px;
}
.footer-bar-align-right .copyright-bar {
  order: 2;
  margin-right: initial;
}
.footer-bar-align-right .copyright-bar p {
  margin-bottom: 0;
}
.site-footer .footer-bar .widget_nav_menu > div > ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.widget-title {
  margin-bottom: 20px;
}
.mobile-only {
  display: none !important;
}
.desktop-only {
  display: block !important;
}

/*Radio Stataion css*/
.wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, auto);
  grid-template-rows: -webkit-min-content;
  grid-template-rows: min-content;
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  width: 100%;
  margin: 0 auto;
  padding: 0 14px;
  margin-bottom: 14px;
}
@media (min-width: 750px) {
  .wrapper {
    grid-template-columns: 300px 1fr;
    margin-bottom: 28px;
  }
}
@media (min-width: 1200px) {
  .wrapper {
    grid-template-columns: 300px 1fr 300px;
    grid-template-rows: repeat(1, auto);
  }
}
@media (min-width: 1000px) {
  .wrapper {
    padding: 0 56px;
  }
}
.layout--left {
  grid-row: 2;
  grid-column: 1;
}

.layout--left {
  grid-row: 2;
  grid-row-end: 4;
  grid-row-start: 2;
  grid-row-end: 4;
  -ms-grid-row: 2;
  -ms-grid-row-span: 4;
  grid-column-start: 4;
  grid-column-end: 8;
  -ms-grid-column: 3;
  -ms-grid-column-span: 4;
}

.layout--right {
  grid-row: 3;
  grid-column: 1;
}
.col-1 {
  grid-column: span 1;
}
.col-1.has-border {
  border: 1px solid red;
}
.col-2 {
  grid-column: span 2;
}
.col-2.has-border {
  border: 1px solid red;
}
.col-3 {
  grid-column: span 3;
}
.col-3.has-border {
  border: 1px solid red;
}
.col-4 {
  grid-column: span 4;
}
.col-4.has-border {
  border: 1px solid red;
}
.col-5 {
  grid-column: span 5;
}
.col-5.has-border {
  border: 1px solid red;
}
.col-6 {
  grid-column: span 6;
}
.col-6.has-border {
  border: 1px solid red;
}
.col-7 {
  grid-column: span 7;
}
.col-7.has-border {
  border: 1px solid red;
}
.col-8 {
  grid-column: span 8;
}
.col-8.has-border {
  border: 1px solid red;
}
.col-9 {
  grid-column: span 9;
}
.col-9.has-border {
  border: 1px solid red;
}
.col-10 {
  grid-column: span 10;
}
.col-10.has-border {
  border: 1px solid red;
}
.col-11 {
  grid-column: span 11;
}
.col-11.has-border {
  border: 1px solid red;
}
.col-12 {
  grid-column: span 12;
}
.col-12.has-border {
  border: 1px solid red;
}

.rating-share-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f3f4f6;
  border-radius: 8px;
  padding: 12px 20px;
  max-width: 100%;
  margin: 0px auto;
  font-family: sans-serif;
}

.share-section {
  text-align: right;
}
.stars {
  display: flex;
  gap: 2px;
}

.star {
  font-size: 26px;
  color: var(--grey);
}

.star.full {
  color: var(--orrange); /* orange */
}

.star.half {
  background: linear-gradient(90deg, #f59e0b 50%, #d1d5db 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.rating-count {
  margin-bottom: 0px;
}

/*start marquee animation css*/
.now-playing-wrapper {
  width: 100%;
  overflow: hidden;
  flex: 1;
  /* mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 0%,
    rgb(0, 0, 0) 5.5%,
    rgb(0, 0, 0) 95.5%,
    rgba(0, 0, 0, 0) 100%
  ); */
}
.now-playing-wrapper.no-mask {
  mask-image: none;
  -webkit-mask-image: none;
}
.station-text p {
  color: var(--accent);
  margin-bottom: 0px;
}
.now-playing {
  display: inline-block;
  white-space: nowrap;
  font-weight: 400;
  will-change: transform;
}

/* REMOVE the old 100%→-100% marquee class + keyframes
   .now-playing.scrolling { ... }
   @keyframes scroll-text { ... }
*/

/* Radio marquee animation classes */
.radio-marquee {
  white-space: nowrap;
  will-change: transform;
  font-weight: bold;
}

.radio-animation {
  /* Animation properties are set dynamically by JavaScript */
}

/* Old ping-pong animation (fallback) */
/* .now-playing.scrolling {
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-name: var(--scroll-anim, none);
  animation-duration: var(--scroll-duration, 6s);
} */
/*end marquee animation css*/

/*grid-player-css*/
.player {
  width: 100%;
}
.player .jp-audio {
  width: 100%;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.player .jp-audio .jp-interface {
  width: 100%;
  height: 50px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 5px 10px;
}
.player .jp-audio .jp-interface > div {
  justify-content: end;
}
.player .jp-audio .jp-interface button {
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent no-repeat center center/contain;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
}

.jp-interface button i {
  color: var(--accent);
}
.player .jp-audio .jp-interface button.jp-play {
  position: relative;
  margin: auto;
}
.player .jp-audio .jp-interface button.jp-play i {
  position: absolute;
  font-size: 16px;
  transition: opacity 0.2s ease-in-out;
  background: var(--orrange);
  padding: 6px;
  border-radius: 50%;
  color: var(--text-white);
  height: 28px;
  width: 28px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.player .jp-audio .jp-interface button.jp-play i.fa-play {
  opacity: 1;
  padding-left: 5px;
}
.player .jp-audio .jp-interface button.jp-play i.fa-pause {
  opacity: 0;
}
.player .jp-audio .jp-interface button.jp-mute {
  position: relative;
}
.player .jp-audio .jp-interface button.jp-mute i {
  position: absolute;
  font-size: 14px;
  left: 0;
  transition: opacity 0.2s ease-in-out;
}
.player .jp-audio .jp-interface button.jp-mute i.fa-volume-mute {
  opacity: 1;
}
.player .jp-audio .jp-interface button.jp-mute i.fa-volume {
  opacity: 0;
}
.player .jp-audio .jp-interface button:hover {
  opacity: 0.7;
}
.player .jp-audio .jp-volume-controls {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.player .jp-audio .jp-interface button.btn-playlist {
  font-size: 12px;
}
@media (min-width: 750px) {
  .player .jp-audio .jp-volume-controls {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.player .jp-audio .jp-volume-controls .jp-volume-bar {
  display: none !important;
  position: relative;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: 4px;
  background-color: #ddd;
  margin: 0 5px;
}
@media (min-width: 750px) {
  .player .jp-audio .jp-volume-controls .jp-volume-bar {
    display: block !important;
  }
}
.player .jp-audio .jp-volume-controls .jp-volume-bar .jp-volume-bar-value {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  height: 100%;
  cursor: pointer;
  display: block !important;
}
.player .jp-audio .jp-volume-controls .jp-volume-max {
  display: none !important;
}
@media (min-width: 750px) {
  .player .jp-audio .jp-volume-controls .jp-volume-max {
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
.player .jp-audio .jp-controls-holder {
  min-width: 75px;
}
.player .jp-audio.jp-state-playing .jp-interface .jp-play i.fa-play {
  opacity: 0;
}
.player .jp-audio.jp-state-playing .jp-interface .jp-play i.fa-pause {
  opacity: 1;
}
.player .jp-audio.jp-state-muted .jp-interface .jp-mute i.fa-volume-mute {
  opacity: 0;
}
.player .jp-audio.jp-state-muted .jp-interface .jp-mute i.fa-volume {
  opacity: 1;
}
.layout--left .left--block {
  position: relative;
  border-radius: 5px;
  padding: 0px;
}
.layout--left .left--block.no-padding {
  padding: 0;
}
.layout--left .left--block.no-padding-bottom {
  padding-bottom: 0;
}
.layout--left .left--block.is-dark {
  background-color: #000;
}
/* @media (max-width: 750px) {
  .layout--left .left--block.is-player {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90px;
    z-index: 99;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    padding-bottom: 14px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease-in-out;
  }
  .layout--left .left--block.is-player .left--image {
    height: 60px;
    width: 60px;
    -ms-flex: 1 0 60px;
    flex: 1 0 60px;
  }
  .layout--left .left--block.is-player .left--image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .layout--left .left--block.is-player .left--fallback {
    height: 60px;
    width: 60px;
    -ms-flex: 1 0 60px;
    flex: 1 0 60px;
  }
  .layout--left .left--block.is-player .left--fallback .logo--text {
    display: none;
  }
  .layout--left .left--block.is-player .left--player {
    width: 100%;
    height: 100%;
  }
} */
/* @media (max-width: 750px) {
  .layout--left .left--block.is-playing {
    opacity: 1;
    pointer-events: all;
    transition: opacity 0.2s ease-in-out;
  }
}
.layout--left .left--block.is-playlist {
  display: none;
}

@media (min-width: 1000px) {
  .layout--left .left--logo {
    grid-column: 1;
  }
} */

.layout--left .left--logo .logo--text {
  color: #000;
  font-weight: 700;
}
.layout--left .left--image {
  position: relative;
  height: 90px;
  border-radius: 5px 5px 0 0px;
  z-index: 2;
  overflow: hidden;
}

.layout--left .left--image.is-loaded img {
  opacity: 1;
  transition: opacity 0.2s ease-in-out;
}
.layout--left .left--fallback {
  position: relative;
  top: 0;
  left: 0;
  width: 244px;
  height: 244px;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
}
.layout--left .left--fallback .logo {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-align: center;
  align-items: center;
}
.layout--left .left--fallback .logo--icon {
  margin-right: 7px;
}
.layout--left .left--fallback .logo--icon i {
  font-size: 21px;
  color: #e10c00;
}
.layout--left .left--fallback .logo--text {
  color: #000;
  font-weight: 700;
}
.layout--right .right--block {
  position: relative;
  border-radius: 5px;
  padding: 14px;
  background-color: #fff;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
}
@media (min-width: 1000px) {
  .layout--right .right--block {
    margin-top: 14px;
  }
}
.layout--right .right--block:first-of-type {
  margin-top: 0;
}
.layout--right .right--block.no-padding {
  padding: 0;
}
.layout--right .right--block.no-padding-bottom {
  padding-bottom: 0;
}
.layout--right .right--block.is-dark {
  background-color: #000;
}
.layout--right .right--spotlight {
  margin-bottom: 14px;
}
.card--station {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-order: 4;
  order: 4;
  cursor: pointer;
}
.card--station .station--wrapper {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  height: 65px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.08);
}
.card--station .station--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card--station .station--inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  max-width: 100%;
}
.card--spotlight {
  position: relative;
  display: block;
  grid-column: 4 span;
  -ms-flex-order: 5;
  order: 5;
  text-align: center;
  min-height: 90px;
}

/* Overlay layer */
.station--overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.28); /* soft dim like the screenshot */
  opacity: 0;
  pointer-events: none; /* keep whole card clickable */
  transition: opacity 0.22s ease;
}

/* Red circular play button */
.play-btn {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--main);
  color: var(--text-white);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25),
    inset 0 2px 0 rgba(255, 255, 255, 0.18);
  transform: scale(0.92);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

/* Hover / focus states */
.card--station:hover .station--overlay,
.card--station:focus-visible .station--overlay,
.card--station.is-live .station--overlay {
  opacity: 1;
}

.card--station:hover .station--inner img,
.card--station:focus-visible .station--inner img {
  filter: blur(0px) brightness(0.7);
  /* transform: scale(1.02); */
}

.card--station:hover .play-btn,
.card--station:focus-visible .play-btn {
  transform: scale(1);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28),
    inset 0 2px 0 rgba(255, 255, 255, 0.2);
}

/* Optional: keep corners perfectly rounded if parent varies */
.station--overlay,
.station--inner img {
  border-radius: 5px;
}

@media (min-width: 600px) {
  .card--spotlight {
    grid-column: 6 span;
  }
}
@media (min-width: 1200px) {
  .card--spotlight {
    grid-column: 6 span;
  }
}
@media (min-width: 1440px) {
  .card--spotlight {
    grid-column: 9 span;
  }
}
.card--spotlight:nth-of-type(1) {
  -ms-flex-order: 1;
  order: 1;
}
.card--spotlight:nth-of-type(2) {
  -ms-flex-order: 3;
  order: 3;
  padding: 7px;
  background-color: #fff;
}
@media (min-width: 1440px) {
  .card--spotlight:nth-of-type(2) {
    grid-column: 2/9;
    margin: 0 14px;
  }
}
.card--spotlight figure {
  margin-bottom: 0;
}
.card--spotlight figure img {
  -o-object-fit: contain;
  object-fit: contain;
}
section.s-archive .archive--results {
  margin-bottom: 14px;
}
section.s-archive .archive--results > span {
  font-weight: 700;
}
section.s-archive .archive--results > span.result {
  font-weight: 400;
}
section.s-archive .archive--wrapper {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}
section.s-content {
  position: relative;
  width: 100%;
}
section.s-content .content--wrapper {
  background-color: #fff;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
  padding: 28px;
}
/*player variation*/
/*no stream*/
.player-area {
  padding: 15px;
  gap: 20px;
  height: 100%;
  align-items: flex-start;
  padding-bottom: 0px;
  justify-content: space-between;
}
.stream-info {
  width: 200px;
  position: relative;
  overflow: hidden;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-around;
}
.player-area .left--logo {
  height: 74px;
  width: 74px;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  border-radius: 8px;
  margin: 0;
  background: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.player-area .left--logo .circle--logo {
  height: 74px;
  width: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: none;
  overflow: hidden;
}
.player-area .left--logo .circle--logo .logo--icon {
  height: 74px;
  width: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0;
  background-color: var(--bg, #f0f0f0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.player-area .left--logo .circle--logo .logo--icon img {
  width: 100%;
  height: 100%; /* normaal max-height en max-width: 80% */
  border-radius: 0;
  object-fit: cover; /* normaal contain nu cover */
  /* width: auto;
  height: auto; */
}

/* Specifiek voor de default logo-white.svg */
.player-area .left--logo .circle--logo .logo--icon img[src*="logo-white.svg"] {
  object-fit: unset !important;
}
.logo--text {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
}

/*player variation style color*/
.is-player {
  --bg: #252525;
  --accent: #fff;
  background-color: var(--bg);
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
}
.is-player .player-area .left--logo {
  background: none;
}
.is-player .left--logo .circle--logo {
  border: none;
}
.is-player .left--logo .circle--logo .logo--icon {
  background-color: var(--bg);
}

.is-player::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  width: 0;
  height: 0;
}
.is-player::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
}

.is-player.player-default::before {
  border-top: 60px solid transparent;
  border-left: 60px solid var(--accent);
  border-bottom: 60px solid transparent;
}
.is-player::after {
  border-bottom: 18px solid var(--accent);
  border-left: 18px solid transparent;
}
/* player version v1*/
.is-player.player--v1 {
  --bg: #252525;
  --accent-v1: #e21d1c;
}

.is-player.player--v1::before {
  left: 0;
  width: 0;
  height: 0;
  border-top: 60px solid transparent;
  border-left: 60px solid var(--accent-v1);
  border-bottom: 60px solid transparent;
}
.is-player.player--v1::after {
  border-bottom: 18px solid var(--accent-v1);
  border-left: 18px solid transparent;
}

/* player version v2*/
.is-player.player--v2 {
  --bg: #007bdf;
  --accent-v2: #002670;
}
.is-player.player--v2 .left--logo .circle--logo .logo--icon {
  background-color: var(--bg);
}

.is-player.player--v2::before {
  top: -100px;
  left: -100px;
  width: 180px;
  height: 180px;
  border: 10px solid var(--accent-v2);
  border-radius: 50%;
}
.is-player.player--v2::after {
  bottom: -50px;
  right: -50px;
  width: 74px;
  height: 74px;
  border: 5px solid var(--accent-v2);
  border-radius: 50%;
}

/* Player version v3*/
.is-player.player--v3 {
  --bg: #ed1c53;
  --accent-v3: #fff;
}
.is-player.player--v3 .left--logo .circle--logo .logo--icon {
  background-color: var(--bg);
}

.is-player.player--v3::before {
  top: -50px;
  width: 44px;
  height: 188px;
  background-color: var(--accent-v3);
  transform: rotate(45deg);
}
.is-player.player--v3::after {
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 20px solid var(--accent-v3);
  border-left: 20px solid transparent;
  border-radius: 0px 0px 5px 0px;
}
.is-player.player--v3 .left--image::before {
  content: "";
  position: absolute;
  top: -66px;
  left: 15px;
  width: 3px;
  height: 200px;
  background-color: var(--bg);
  transform: rotate(45deg);
  z-index: -1;
}
/* player version v4*/
.is-player.player--v4 {
  --bg: #201704;
  --accent-v4: #dfb90d;
}
.is-player.player--v4 .left--logo .circle--logo .logo--icon {
  background-color: var(--bg);
}

.is-player.player--v4::before {
  top: 20px;
  width: 60px;
  height: 35px;
  background-color: var(--accent-v4);
}
.is-player.player--v4::after {
  top: 0px;
  right: 0px;
  width: 35px;
  height: 15px;
  background-color: var(--accent-v4);
}

/*end player variation*/

/*preloader*/
/* Player needs positioning so the overlay can sit on top */
.left--block.is-player {
  position: relative;
}

/* Loader overlay */
.player__loader {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgb(255 255 255 / 80%);
  z-index: 5;
  pointer-events: none;
}

/* Show it */
.player__loader.is-on {
  display: flex;
}

/* Spinner */
.player__loader .rs-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(0, 0, 0, 0.4);
  border-top-color: rgba(0, 0, 0, 0.8);
  border-radius: 50%;
  animation: rs-spin 0.8s linear infinite;
}

@keyframes rs-spin {
  to {
    transform: rotate(360deg);
  }
}

/* (nice-to-have) smooth BG change when --bg updates */
.left--block.is-player {
  transition: background-color 0.25s ease, background 0.25s ease;
}

/* screen-reader text */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*end preloader*/

/*audio waveform*/
/* Wave container should be flex when visible */
.eq-wave {
  display: flex; /* important */
  height: 28px;
  align-items: flex-end;
  gap: 6px;
  margin: 10px 0 0;
}

/* bars */
.eq-wave .bar {
  flex: 0 0 4px; /* fixed width columns */
  height: 6px;
  background: var(--accent);
  opacity: 0.9;
  transform-origin: bottom;
  transition: height 0.08s linear;
}
.eq-wave .bar:nth-child(even) {
  opacity: 0.7;
}

/* fallback animation when WebAudio is blocked - DISABLED to keep bars flat */
.eq-wave.fake .bar {
  animation: none !important;
  height: 3px !important; /* Keep bars flat and minimal */
}
.eq-wave.fake .bar:nth-child(3n) {
  animation: none !important;
}
.eq-wave.fake .bar:nth-child(4n) {
  animation: none !important;
}
@keyframes eqBounce {
  0%,
  100% {
    height: 6px;
  }
  50% {
    height: 28px;
  }
}

/* freeze the fallback animation on pause */
.eq-wave.fake-paused .bar {
  animation: none !important;
}

/*Share option*/
.share-wrapper {
  position: relative;
}

.share-icons {
  position: absolute;
  bottom: 35px;
  right: 10px;
  display: flex;
  gap: 4px;
  padding: 3px 3px;
  background: #fff;
  border-radius: 5px 5px 0px 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s ease;
  z-index: 5;
  width: 100px;
  align-items: center;
}
.share-icons a {
  display: flex;
  align-items: center;
}
.share-icons a img {
  width: 20px;
  height: 20px;
}

.share-icons.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/*rating*/
.rate-wrapper {
  position: relative;
}
.rate-box {
  position: absolute;
  bottom: 35px;
  right: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 3px 5px;
  background: #fff;
  border-radius: 5px 5px 0px 5px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.22s ease;
  z-index: 10;
}
.rate-box.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.stars {
  display: flex;
  gap: 6px;
  line-height: 1;
}
.star {
  all: unset;
  cursor: pointer;
  font-size: 18px;
  color: var(--grey);
}
.star.filled {
  color: #f0890c;
}
.rate-label {
  font-size: 14px;
  color: #7a7f86;
  white-space: nowrap;
  width: 67px;
  text-align: right;
}
.rate-wrapper.locked .star {
  cursor: default;
}
.rate-wrapper .rate-box .stars button.star {
  display: block;
  width: auto;
}
/* default thumb color */
.rate-wrapper .btn-rate i {
  transition: color 0.15s ease;
  opacity: 0.7;
}

/* when user has rated */
.rate-wrapper.locked .btn-rate i,
.rate-wrapper .btn-rate.active i {
  color: #f0890c !important;
}

/*displaying avarage rating*/
/* Star rating display */
.rating-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  vertical-align: middle;
  font-family: inherit;
}
.rating-sm .rating-stars {
  font-size: 14px;
}
.rating-md .rating-stars {
  font-size: 18px;
}
.rating-lg .rating-stars {
  font-size: 22px;
}

.rating-stars {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.rating-stars__bg,
.rating-stars__fg {
  letter-spacing: 2px;
  user-select: none;
}
.rating-stars__bg {
  color: #c7ced6;
}
.rating-stars__fg {
  color: #ffb400;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
}
.rating-value {
  font-weight: 600;
  line-height: 1;
}
.rating-count {
  color: #6b7280;
  line-height: 1;
}

/* default */
.button-area .btn-favorite i {
  /* color: var(--dark-grey); */
  transition: color 0.15s ease;
  opacity: 0.7;
}
/* active (favorited) */
.btn-favorite.active i {
  color: #e71c2d;
}
.player--v3 .btn-favorite.active i {
  color: #ffb400;
}

.share-icons a.copied {
  transform: scale(0.95);
  opacity: 0.7;
}

/*End Radio Stataion css*/

/*station page content css*/
/* Card shell like screenshot */

.station-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
}
.station-card__thumb {
  width: 56px;
  height: 56px;
  border-radius: 5px;
  overflow: hidden;
  flex: 0 0 56px;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.station-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.station-card__placeholder {
  font-weight: 700;
  font-size: 22px;
  color: #9ca3af;
}

.station-card__headings {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.station-card__title {
  margin: 0;
  color: var(--text);
}

.station-card__divider {
  border: 0;
  border-top: 1px solid #e5e7eb;
  margin: 14px 0 12px;
}

/* Reuse your star CSS but ensure alignment */
.station-card__rating {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rating-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  vertical-align: middle;
}
.rating-sm .rating-stars {
  font-size: 16px;
}
.rating-stars {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.rating-stars__bg,
.rating-stars__fg {
  letter-spacing: 2px;
  user-select: none;
}
.rating-stars__bg {
  color: #c7ced6;
}
.rating-stars__fg {
  color: #ffb400;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
}
.rating-value {
  font-weight: 600;
}
.rating-count {
  color: #6b7280;
  font-size: 0.95em;
}

/* Collapsible content */
.station-card__content-inner {
  --collapsed-h: 168px; /* ~6–7 lines */
  position: relative;
  max-height: var(--collapsed-h);
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.station-card__content-inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 64px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    var(--white-ash)
  );
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.2s ease;
}
.station-card__content-inner.is-open {
  max-height: 2000px; /* large to allow animation */
}
.station-card__content-inner.is-open::after {
  opacity: 0;
}
.station-card__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid var(--grey);
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
  box-shadow: var(--shadow);
  color: var(--text-color);
  width: 134px;
  text-align: center;
  position: absolute;
  z-index: 99999;
  background: var(--white-ash);
  top: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  bottom: -33px;
}
.station-card__toggle:hover,
.station-card__toggle:focus {
  background: var(--white-ash);
}
.station-card__toggle .toggle-plus {
  display: inline-block;
  width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  font-weight: 700;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
  line-height: 1;
}
.station-card__toggle.is-open .toggle-plus {
  transform: rotate(45deg);
} /* + => x */

.s-content p {
  color: var(--text);
}
.s-content a {
  color: var(--text);
  text-decoration: underline;
}

.skeleton {
  background: var(--grey-ash);
  border-radius: 8px;
}
.skeleton.thumb {
  width: 56px;
  height: 56px;
}
.skeleton-line {
  width: 160px;
  height: 14px;
}
.skeleton-text {
  width: 220px;
  height: 20px;
  border-radius: 6px;
}
.skeleton-paragraph {
  height: 110px;
  border-radius: 10px;
}

/* Smooth fade on content swap */
.station-card {
  transition: opacity 0.2s ease;
}
.station-card.is-swapping {
  opacity: 0.6;
}

/* Optional: ensure collapsible is closed by default (CSS handles height) */
.station-card__content-inner {
  --collapsed-h: 168px;
}

/* ===== Station Category Grid – Screenshot Style ===== */

/* red base strip under the card */
.station-cat-grid,
.station-grid {
  padding-bottom: 40px;
}
.station-cat-grid::after,
.station-grid::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--main-hover); /* red */
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* grid columns */
.station-cat-grid .scg-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

/* column title */
.station-cat-grid .scg-title {
  margin: 0 0 14px;
  color: var(--text);
}

/* list + items */
.station-cat-grid .scg-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.station-cat-grid .scg-item {
  margin: 8px 0;
}

.station-cat-grid .scg-item .card--station {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px 0px;
  border-radius: 5px;
  text-decoration: none;
  color: var(--text-black-white);
  flex-direction: row;
  justify-content: start;
}

.station-cat-grid .scg-item .card--station:hover {
  color: var(--text-hover);
  text-decoration: none;
}
span.scg-logo {
  display: flex;
}
/* logo size/shape (small rounded square) */
.station-cat-grid .scg-logo img {
  width: 38px;
  height: 30px;
  object-fit: cover;
  border-radius: 5px;
  background: var(--white-dark);
  box-shadow: var(--shadow);
}

.station-cat-grid .scg-name {
  color: var(--text-black-white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* centered pill button overlapping the red base */
.scg-actions,
.sa-actions {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -18px; /* float over the red strip */
  z-index: 2;
}

.scg-load-more.btn,
.sa-load-more.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 20px;
  border: none;
  border-radius: 999px;
  color: var(--text-white);
  background: var(--main);
  font-weight: 700;
  letter-spacing: 0.3px;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  text-transform: uppercase;
}

.scg-load-more.btn:hover,
.sa-load-more.btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
  background: var(--main-hover);
}

/* white dot with chevron */
.scg-load-more.btn::after,
.sa-load-more.btn::after {
  content: "▾";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--white);
  color: var(--main-hover);
  line-height: 1;
}

/* loading state from your JS */
.scg-load-more.is-loading,
.sa-load-more.is-loading {
  opacity: 0.6;
  pointer-events: none;
}
/* while loading, swap chevron for a spinner */
.scg-load-more.is-loading::after,
.sa-load-more.btn.is-loading::after {
  content: "◠";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-top-color: #fff;
  animation: rs-spin 0.8s linear infinite;
}

/* optional: subtle loading state */
.scg-load-more.is-loading,
.sa-load-more.btn.is-loading {
  opacity: 0.9;
  pointer-events: none;
}

@keyframes rs-spin {
  to {
    transform: rotate(360deg);
  }
}
.header-widget aside > p {
  display: none;
}
/* Header search* /
/* overlay behind results */
.rs-search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 998; /* under the panel */
}
body.rs-search-open .rs-search-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* header search container */
.rs-header-search {
  position: absolute;
  width: 200px;
  max-width: 90vw;
  transition: width 0.25s ease;
  z-index: 999;
  top: 50%;
  left: 290px;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.rs-header-search.is-focus {
  width: 200px;
}

/* the dropdown PANEL (anchored under input, not centered) */
.rs-header-search .rs-search-panel {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  width: 100%;
  max-height: 60vh;
  overflow: auto;
  background: var(--white-dark);
  border: 1px solid var(--border);
  border-radius: 5px;
  box-shadow: var(--shadow);
  padding: 5px 0;
  z-index: 999;
}
/* field + clear */
.rs-header-search .rs-search-input {
  width: 100%;
  height: 38px;
  border-radius: 100px;
}
.rs-header-search .rs-search-clear {
  position: absolute;
  right: 6px;
  top: 6px;
  width: 26px;
  height: 26px;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: none;
  padding: 0;
}
.rs-header-search.is-open {
  width: min(var(--search-open-w, 220px), calc(100vw - 32px));
}
.rs-header-search.is-open .rs-search-clear {
  display: block;
}

/* section titles */
.rs-panel-title {
  font-weight: 600;
  color: var(--text);
  padding: 8px 10px 8px;
  border-bottom: 1px solid var(--border);
}

/* suggestions (popular keywords) */

.rs-suggest-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rs-suggest-list .rs-suggest-item {
  margin-bottom: 0px;
}
.rs-suggest-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  cursor: pointer;
  border-top: 1px solid var(--border);
  text-align: left;
}
.rs-suggest-item:first-child {
  border-top: 0;
}
.rs-suggest-item .ico {
  width: 16px;
  height: 16px;
  opacity: 0.7;
}
li.rs-suggest-item .ico img {
  filter: var(--icon-filter);
}
.rs-suggest-item .txt {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rs-suggest-item:hover {
  background: var(--light-dark);
}

/* results list (vertical cards) */
.rs-results-title {
  padding: 8px 16px 10px;
  color: var(--text);
}
.rs-search-grid {
  display: flex;
  flex-direction: column;
}
.rs-search-card {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  background: var(--white-dark);
  border-top: 1px solid var(--border);
  padding: 6px 10px;
}
.rs-search-card:hover {
  background: var(--light-dark);
}
.rs-search-card .thumb {
  width: 38px;
  height: 30px;
  flex: 0 0 38px;
  border-radius: 5px;
  background-size: cover;
  background-position: center;
}
.rs-search-card .title {
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rs-search-card:focus {
  outline: 0px solid var(--border);
  outline-offset: 0px;
}

/*a-ds inside-grid*/
.rs-slot--inside-grid {
  grid-row: 2;
  grid-row-end: 2;
  grid-row-start: 5;
  grid-row-end: 5;
  -ms-grid-row: 2;
  -ms-grid-row-span: 4;
  grid-column-start: 2;
  grid-column-end: 10;
  -ms-grid-column: 3;
  -ms-grid-column-span: 4;
  margin: 0px;
}
.rs-slot--inside-grid img {
  width: auto;
  margin: 0 auto;
}
.rs-slot--inside-grid .rs-ad-label {
  top: -3px;
}
/* end header search */
/*playlist modal*/
/* Playlist modal — design polish */
.rs-modal-open {
  overflow: hidden;
}
.rs-playlist-modal[aria-hidden="true"] {
  display: none;
}
.rs-playlist-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
}
.rs-pl-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.rs-pl-dialog {
  position: relative;
  width: min(350px, 60vw);
  max-height: 60vh;
  background: var(--bg-dark);
  color: var(--white);
  border-radius: 5px;
  box-shadow: var(--shadow);
  display: grid;
  grid-template-rows: auto 1fr;
}
.rs-pl-close {
  position: absolute;
  top: -35px;
  right: 0px;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  z-index: 2;
  padding: 0;
}

/* Brand header with station logo (matches screenshot vibe) */
.rs-pl-brand {
  height: 108px;
  background: var(--main);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 5px 5px 0px 0px;
}

/* bottom-left darker wedge */
.rs-pl-brand::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 60px;
  clip-path: polygon(0 100%, 0 0, 100% 100%);
  pointer-events: none;
  transform: translateY(35%);
  z-index: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* top-right lighter wedge */
.rs-pl-brand::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 75px;
  height: 75px;
  background: rgba(0, 0, 0, 0.5);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  pointer-events: none;
  z-index: 0;
}
.rs-pl-brand-logo {
  max-height: 56px;
  max-width: 70%;
  display: block;
  position: relative;
  z-index: 1;
}

/* Body + list */
.rs-pl-body {
  padding-top: 10px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 1fr auto;
  position: relative;
  z-index: 99;
}
.rs-pl-grid {
  overflow: auto;
  display: grid;
  gap: 0;
}
.rs-pl-card {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 10px;
  align-items: center;
  background: var(--bg-dark);
  padding: 10px 15px;
  text-decoration: none;
  color: inherit;
}
.rs-pl-card:hover {
  background: #303030;
}
.rs-pl-thumb {
  width: 56px;
  height: 56px;
  border-radius: 5px;
  overflow: hidden;
}
.rs-pl-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rs-pl-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0;
  border-radius: 3px;
}

.rs-pl-station-logo {
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
}
.rs-pl-name {
  font-weight: 600;
  line-height: 1.2;
  font-size: 14px;
}
.rs-pl-song {
  margin-top: 2px;
  color: var(--grey);
}
.rs-pl-right {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.rs-pl-badge.rs-pl-live {
  background: var(--main);
  color: var(--white);
  padding: 2px 8px;
  font-size: 11px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.2px;
}
.rs-pl-time {
  font-size: 12px;
  opacity: 0.7;
}
.rs-pl-actions {
  text-align: center;
  margin-top: 10px;
}
.rs-pl-more {
  padding: 8px 14px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: var(--white);
  color: var(--bg-dark);
  font-weight: 600;
}
.rs-pl-empty {
  padding: 20px;
  opacity: 0.8;
  text-align: center;
}

/*Mega Menu*/
.main-navigation ul ul li:hover a::before {
  content: "";
  height: 1px;
  width: 80%;
  border-bottom: 1px solid;
  bottom: 0;
  left: 10px;
  position: absolute;
  transition: all 0.2s ease;
}
@media (min-width: 769px) {
  nav .main-nav .mega-menu {
    position: static;
  }
  nav .main-nav .mega-menu.mega-menu-col-2 ul {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  nav .main-nav .mega-menu > ul {
    position: absolute;
    width: 298px;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 5px;
    border-radius: 0px 0px 5px 5px;
    box-shadow: var(--shadow);
  }
  nav .main-nav .mega-menu > ul > li {
    display: inline-block;
    width: 25%;
    vertical-align: top;
  }
  nav .main-nav .mega-menu.mega-menu-col-2 > ul > li {
    width: 100%;
  }
  nav .main-nav .mega-menu.mega-menu-col-2 > ul > li a {
    display: flex;
    align-items: center;
    gap: 5px;
  }
  .main-navigation .main-nav ul li a {
    padding-left: 15px;
    padding-right: 15px;
  }
  .menu-item-has-children .dropdown-menu-toggle {
    padding-right: 10px;
  }
}
.main-navigation .main-nav ul li a.is-active {
  color: var(--main-hover) !important;
}

/* Prevent scroll chaining from the panel to the page */
.tool-panel {
  overscroll-behavior: contain;
}

/* The hourly strip: allow horizontal pan without bubbling to page */
.wx-hourly {
  overscroll-behavior: contain; /* stop bounce -> page scroll */
  touch-action: pan-x; /* horizontal gestures only */
}
.main-navigation .main-nav ul li > a:focus {
  color: var(--main-hover);
}
.site-content .content-area {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.site-content .content-area .inside-article {
  padding: 20px;
  background: var(--white-dark);
  min-height: 70vh;
}

.inside-article a,
.paging-navigation a,
.comments-area a,
.page-header a {
  color: var(--main);
  font-weight: 6;
}
.wp-block-table thead {
  border-bottom: 1px solid;
}
.frequenties td:first-child,
.frequenties th:first-child {
  width: 100px;
}
.no-border td,
.no-border th,
.no-border table {
  vertical-align: top;
  border: none;
}
/*Contact form*/
.rs-cf input,
.rs-cf textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
}
.rs-cf-submit {
  background: var(--main);
  color: var(--white);
  border: 0;
  border-radius: 8px;
  padding: 12px 18px;
  cursor: pointer;
}
.rs-cf-submit:hover {
  background: var(--main-hover);
  color: var(--white);
}
.rs-cf-err {
  color: var(--main);
  display: block;
  height: 14px;
  margin-top: 4px;
}
.rs-cf-preloader {
  margin-top: 10px;
}
.rs-cf-success,
.rs-cf-failure {
  margin-top: 12px;
  font-weight: 600;
}
.wp-block-latest-posts.is-grid {
  margin: 0;
}
/* end desktop */

/*Responsive rana*/
@media (min-width: 1300px) and (max-width: 1399px) {
  .inside-header.grid-container {
    max-width: 900px;
  }
  .station-container {
    grid-template-columns: 150px 700px 150px;
    gap: 15px;
    justify-content: center;
  }

  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(8, 1fr);
  }
  .layout--left {
    grid-row: 2;
    grid-row-end: 4;
    grid-row-start: 2;
    grid-row-end: 4;
    -ms-grid-row: 2;
    -ms-grid-row-span: 4;
    grid-column-start: 3;
    grid-column-end: 7;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }

  .rs-slot--inside-grid {
    grid-column-end: 8;
  }
}
@media (min-width: 1200px) and (max-width: 1299px) {
  .inside-header.grid-container {
    max-width: 900px;
  }
  .station-container {
    grid-template-columns: 150px 600px 150px;
    gap: 15px;
    justify-content: center;
  }

  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(6, 1fr);
  }
  .layout--left {
    grid-row: 2;
    grid-row-end: 4;
    grid-row-start: 3;
    grid-row-end: 5;
    -ms-grid-row: 2;
    -ms-grid-row-span: 4;
    grid-column-start: 2;
    grid-column-end: 6;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }
  .station-cat-grid .scg-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .rs-slot--inside-grid {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row-start: 6;
    grid-row-end: 6;
  }
}
/* Tablet desktop :768px. */
@media (min-width: 921px) and (max-width: 1199px) {
  .station-container {
    grid-template-columns: 150px 560px 150px;
    gap: 15px;
    justify-content: center;
  }

  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(6, 1fr);
  }
  .layout--left {
    grid-row: 2;
    grid-row-end: 4;
    grid-row-start: 2;
    grid-row-end: 4;
    -ms-grid-row: 2;
    -ms-grid-row-span: 4;
    grid-column-start: 2;
    grid-column-end: 6;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }
  .content-wraper {
    padding-bottom: 30px;
  }
  .station-cat-grid .scg-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .rs-slot--inside-grid {
    grid-column-start: 1;
    grid-column-end: 7;
  }
}
@media (max-width: 921px) {
  .container.grid-container {
    margin: 0px 20px;
  }
  .station-container {
    display: block;
  }
  .station-container .left-sidebar,
  .station-container .right-sidebar {
    display: none;
  }
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media (min-width: 769px) and (max-width: 920px) {
  .station-container {
    grid-template-columns: 150px 400px 150px;
    gap: 15px;
    justify-content: center;
  }
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(8, 1fr);
  }
  .layout--left {
    grid-row: 2;
    grid-row-end: 4;
    grid-row-start: 4;
    grid-row-end: 2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 4;
    grid-column-start: 3;
    grid-column-end: 7;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }
  .content-wraper {
    padding-bottom: 30px;
  }
  .station-cat-grid .scg-row {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .inside-header {
    padding: 0px 20px;
  }
  .rs-slot--inside-grid {
    grid-column-start: 2;
    grid-column-end: 8;
  }
  .main-navigation .main-nav ul li a {
    padding-left: 6px;
    padding-right: 6px;
  }
  .rs-header-search.is-open,
  .rs-header-search.is-open.is-focus {
    width: min(var(--search-open-w, 180px), calc(100vw - 32px));
  }
  .rs-header-search {
    width: 140px;
    left: 270px;
  }
  .menu-item-has-children .dropdown-menu-toggle {
    padding-right: 0px;
  }
  nav .main-nav .mega-menu > ul {
    right: 20px !important;
  }
}
/*Mobile*/
@media (max-width: 768px) {
  .m-d-none {
    display: none;
  }
  .mobile-only {
    display: block !important;
  }
  .desktop-only {
    display: none !important;
  }
  .inside-header {
    padding: 20px;
  }

  .menu-toggle {
    padding: 0;
    line-height: 1;
  }
  .container.grid-container {
    margin: 0px 20px;
  }
  .has-inline-mobile-toggle #site-navigation.toggled {
    margin-bottom: 1.5em;
  }
  .main-navigation.toggled .main-nav li {
    background: var(--white-dark);
    border-bottom: var(--border);
  }
  .main-navigation.toggled .main-nav li:last-child {
    border-bottom: 0px solid #e8ebf3;
  }
  .main-navigation .main-nav ul li a {
    padding-left: 0;
    padding-right: 0;
    line-height: 40px;
    font-weight: 600;
  }
  .toggled .menu-item-has-children .dropdown-menu-toggle {
    padding: 0;
  }
  .main-navigation.toggled .main-nav li ul li {
    border: none;
  }

  .main-navigation.toggled .main-nav li ul li h4.menu-item-title {
    font-weight: 400;
    margin-bottom: 0px;
  }

  .main-navigation.toggled .main-nav li ul li span.description {
    display: none;
  }

  .main-navigation.toggled .main-nav li ul li span.view-more {
    display: none;
  }
  .main-navigation.toggled .main-nav ul ul.toggled-on {
    border: none;
  }
  .footer-widgets-container {
    padding: 40px 20px;
  }
  .inside-site-info {
    padding-right: 20px;
    padding-left: 20px;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: auto !important;
  }
  .widget-title {
    margin-bottom: 10px;
  }
  .btn-m-full
    a.wp-block-button__link.has-green-background-color.has-background.wp-element-button {
    width: 100%;
    max-width: 100%;
    display: block;
  }

  .footer-widget-1
    .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex {
    width: 100%;
    display: block;
  }

  .footer-widget-1
    .wp-block-button.has-custom-font-size.whatsapp.btn-m-full.has-small-font-size {
    width: 100%;
  }
  .widget ul li {
    margin-bottom: 5px;
  }
  .inside-footer-widgets {
    display: inherit;
    overflow: hidden;
  }
  .footer-widget-3 {
    display: none;
  }
  .footer-widget-2,
  .footer-widget-4 {
    float: left;
    width: 50%;
  }
  .m-d-block {
    display: block !important;
    display: -ms-flexbox !important;
  }
  .col_row .col_4 {
    width: 100%;
    padding: 10px 0px;
  }
  .col_row .col_6 {
    width: 100%;
  }
  .project-area .single-item img {
    height: 250px;
  }
  .gmbrr {
    width: calc(100% - 0px);
  }
  .mobile-menu-control-wrapper .menu-toggle,
  .mobile-menu-control-wrapper .menu-toggle:hover,
  .mobile-menu-control-wrapper .menu-toggle:focus,
  .has-inline-mobile-toggle #site-navigation.toggled {
    background-color: var(--white-dark);
  }

  .main-navigation .main-nav ul li.btn a {
    background: #509b8f;
    padding: 5px;
    border-radius: 5px;
    text-align: center;
    color: #fff;
  }

  .main-navigation .main-nav ul li.btn {
    margin-top: 30px;
    border: none;
    box-shadow: none;
  }

  .main-navigation .main-nav ul li.btn.btn-phone {
    margin-top: 0;
  }

  .main-navigation .main-nav ul li.btn.btn-phone a {
    color: #0a1225;
    background: transparent;
  }

  .main-navigation .main-nav ul li.btn.btn-phone a i {
    transform: rotate(90deg);
    margin-right: 5px;
  }
  .input_group {
    margin-bottom: 10px;
  }

  /*station css*/
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
  .layout--left {
    width: calc(100%);
    min-height: auto;
    order: 1;
    grid-row: 3;
    grid-row-end: 4;
    grid-row-start: 3;
    grid-row-end: 4;
    -ms-grid-row: 3;
    -ms-grid-row-span: 4;
    grid-column-start: 1;
    grid-column-end: 4;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }
  .layout--left .left--image {
    height: 90px;
  }
  .station-cat-grid .scg-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .station-cat-grid .scg-name {
    line-height: 1.25;
    color: var(--text-black-white);
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /*Header*/
  .header-widget {
    display: none;
  }
  .mobile-menu-open .header-widget {
    display: flex;
  }
  .site-header .header-widget {
    margin-top: 0px;
    margin-bottom: 50px;
  }
  /*Header Search*/

  .rs-header-search {
    top: auto;
    left: 20px;
    -ms-transform: translate(-50%, -50%);
    transform: translate(0%, 0%);
    bottom: 20px;
    width: 100%;
    max-width: 100vh;
  }
  .rs-header-search,
  .rs-header-search.is-open {
    width: min(var(--search-open-w, 100%), calc(100vw - 40px));
  }

  /*Header tools*/
  .header-tools {
    z-index: 999;
    gap: 20px;
  }
  .tool-panel {
    right: auto;
    left: 0px;
    width: 90vh;
    top: 35px;
  }
  .wx-temp {
    font-size: 30px;
  }
  section.s-archive .archive--wrapper {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
  .content-wraper {
    padding: 10px;
  }
  .scg-load-more.btn,
  .sa-load-more.btn {
    gap: 5px;
    padding: 8px 10px;
  }
  .player-area {
    padding: 10px;
    gap: 10px;
    padding-bottom: 0px;
  }
  .stream-info {
    width: 170px;
  }
  .player-area .left--logo {
    height: 54px;
    width: 54px;
  }
  .player-area .left--logo .circle--logo {
    height: 54px;
    width: 54px;
  }
  .player-area .left--logo .circle--logo .logo--icon {
    height: 54px;
    width: 54px;
    padding: 0;
  }
  .player .jp-audio .jp-interface {
    height: 50px;
    padding: 10px 10px;
    flex-wrap: nowrap !important;
  }

  .is-player.player--v3::before {
    top: -50px;
    width: 30px;
    height: 160px;
  }
  .is-player.player--v3 .left--image::before {
    top: -84px;
  }
  .is-player.player--v4::before {
    top: 13px;
    width: 50px;
    height: 30px;
  }
  .is-player.player--v4::after {
    top: -10px;
    width: 30px;
    height: 10px;
  }
  .is-player.player--v1::before,
  .is-player.player-default::before {
    top: -30px;
    border-top: 70px solid transparent;
    border-left: 50px solid var(--accent-v1);
    border-bottom: 50px solid transparent;
  }
  .is-player.player--v2::before {
    top: -50px;
    left: -50px;
    width: 100px;
    height: 100px;
    border: 5px solid var(--accent-v2);
  }
  .is-player.player--v2::after {
    bottom: -30px;
    right: -30px;
    width: 48px;
    height: 48px;
    border: 5px solid var(--accent-v2);
  }
  .station-card__header {
    gap: px;
  }
  .station-card__thumb {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }
  .station-cat-grid,
  .station-grid {
    padding-bottom: 30px;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-bar {
    display: block !important;
  }
  .player .jp-audio .jp-volume-controls .jp-volume-max {
    display: block !important;
  }
  .player .jp-audio .jp-controls-holder {
    min-width: 60px;
  }
  .rs-slot--inside-grid {
    grid-column-start: 1;
    grid-column-end: 4;
  }

  .rs-pl-brand {
    height: 70px;
  }
  .rs-pl-brand::after {
    width: 50px;
    height: 50px;
  }
  .rs-pl-brand::before {
    width: 35px;
    height: 35px;
  }
  .rs-pl-brand-logo {
    max-height: 40px;
  }
  .rs-pl-card {
    padding: 10px;
  }
  .rs-pl-thumb {
    width: 46px;
    height: 46px;
  }
  .rs-pl-card {
    grid-template-columns: 42px 1fr auto;
  }
  .rs-pl-dialog {
    width: min(350px, 70vw);
    min-width: 90%;
    max-height: 70vh;
  }
}
/*end mobile rana*/

@media only screen and (min-width: 556px) and (max-width: 600px) {
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(5, 1fr);
  }
  .layout--left {
    grid-row-start: 2;
    grid-column-start: 1;
    grid-column-end: 6;
  }
  .rs-slot--inside-grid {
    grid-column-start: 1;
    grid-column-end: 6;
  }
  .rs-pl-dialog {
    min-width: 350px;
  }

  /* Fix player controls visibility 556px-600px */
  .jp-volume-controls,
  .button-area {
    display: flex !important;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-bar {
    display: block !important;
    width: 30px;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-max {
    display: flex !important;
  }

  .btn {
    padding: 4px 6px;
    min-width: 24px;
    height: 24px;
    font-size: 11px;
  }
}

@media only screen and (min-width: 401px) and (max-width: 555px) {
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(5, 1fr);
  }
  .layout--left {
    grid-row-start: 2;
    grid-column-start: 1;
    grid-column-end: 6;
  }
  .rs-slot--inside-grid {
    grid-column-start: 1;
    grid-column-end: 6;
  }
  .rs-pl-dialog {
    min-width: 350px;
  }

  /* Compact player controls for narrow screens */
  .jp-volume-controls,
  .button-area {
    display: flex !important;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-bar {
    display: block !important;
    width: 20px;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-max {
    display: flex !important;
  }

  .btn {
    padding: 3px 4px;
    min-width: 20px;
    height: 20px;
    font-size: 10px;
  }

  .jp-volume-controls {
    gap: 2px;
  }

  .button-area {
    gap: 3px;
  }
}
@media only screen and (min-width: 501px) and (max-width: 600px) {
  .layout--left {
    grid-row-start: 2;
    grid-column-start: 2;
    grid-column-end: 5;
  }

  /* Fix player controls visibility 501px-600px */
  .jp-volume-controls,
  .button-area {
    display: flex !important;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-bar {
    display: block !important;
    width: 35px;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-max {
    display: flex !important;
  }

  .btn {
    padding: 4px 5px;
    min-width: 22px;
    height: 22px;
    font-size: 10px;
  }
}

@media only screen and (min-width: 601px) and (max-width: 700px) {
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(6, 1fr);
  }
  .layout--left {
    grid-row-start: 4;
    grid-row-end: 2;
    -ms-grid-row: 3;
    -ms-grid-row-span: 4;
    grid-column-start: 2;
    grid-column-end: 6;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }
  .rs-slot--inside-grid {
    grid-column-start: 1;
    grid-column-end: 7;
  }
  .rs-pl-dialog {
    min-width: 350px;
  }

  /* Fix player controls visibility 601px-700px */
  .jp-volume-controls,
  .button-area {
    display: flex !important;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-bar {
    display: block !important;
    width: 35px;
  }

  .player .jp-audio .jp-volume-controls .jp-volume-max {
    display: flex !important;
  }
}

/* Mobile radio player optimization for screens below 700px */
@media (max-width: 700px) {
  .player-area {
    padding: 10px;
    gap: 10px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  .player-area .left--logo {
    height: 60px;
    width: 60px;
    flex-shrink: 0;
  }

  .player-area .left--logo .circle--logo,
  .player-area .left--logo .circle--logo .logo--icon {
    height: 60px;
    width: 60px;
  }

  .stream-info {
    width: auto;
    flex: 1;
    min-width: 0;
    text-align: center;
    padding: 0 10px;
  }

  .logo--text {
    font-size: 14px;
    margin-bottom: 3px;
  }

  .station-text {
    font-size: 12px;
  }

  .now-playing-wrapper {
    margin-top: 5px;
    width: 100%;
    overflow: hidden;
  }

  .now-playing {
    font-size: 11px;
    display: inline-block;
    white-space: nowrap;
    font-weight: 400;
    will-change: transform;
  }

  #rs-waveform {
    margin-top: 8px;
    height: 15px !important;
  }

  #rs-waveform .bar {
    flex: 0 0 3px;
    min-height: 2px;
    max-height: 12px;
  }

  /* Fix fake animation for mobile */
  @keyframes eqBounceMobile {
    0%,
    100% {
      height: 3px;
    }
    25% {
      height: 8px;
    }
    50% {
      height: 12px;
    }
    75% {
      height: 6px;
    }
  }

  #rs-waveform.fake .bar {
    animation: eqBounceMobile 1.2s ease-in-out infinite !important;
  }

  #rs-waveform.fake .bar:nth-child(3n) {
    animation-duration: 1.4s !important;
  }

  #rs-waveform.fake .bar:nth-child(4n) {
    animation-duration: 1.6s !important;
  }
}
@media only screen and (min-width: 701px) and (max-width: 768px) {
  section.s-archive .archive--wrapper {
    grid-template-columns: repeat(8, 1fr);
  }
  .layout--left {
    grid-row-start: 4;
    grid-row-end: 2;
    -ms-grid-row: 3;
    -ms-grid-row-span: 4;
    grid-column-start: 3;
    grid-column-end: 7;
    -ms-grid-column: 3;
    -ms-grid-column-span: 4;
  }
  .rs-slot--inside-grid {
    grid-column-start: 2;
    grid-column-end: 8;
  }
  .rs-pl-dialog {
    min-width: 350px;
  }
}
