.rb_stations_header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:22px 24px;background:#18181a;border:1px solid #252529;border-radius:10px}
.rb_stations_header h2{margin:0 0 5px;color:#fff;font-size:24px}
.rb_stations_header p{margin:0;color:#999}
.rb_music_badge{font-size:11px;font-weight:700;letter-spacing:.8px;color:#ff9800;border:1px solid rgba(255,152,0,.35);border-radius:20px;padding:7px 11px;white-space:nowrap}
.rb_station_search{display:block;width:100%;margin:0 0 8px}
.rb_filter_search{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,1fr) minmax(180px,1fr) auto auto;gap:10px;width:100%;align-items:center}
.rb_filter_search select{height:44px;width:100%;min-width:0;background:#18181a!important;border:1px solid #34343a!important;color:#fff!important;border-radius:5px;padding:0 34px 0 12px;box-sizing:border-box}
.rb_filter_search select option{background:#18181a;color:#fff}
.rb_station_search #rb_station_keyword{display:block;height:44px;width:100%;min-width:260px;flex:0 0 auto;background:#18181a!important;border:1px solid #34343a!important;color:#fff!important;border-radius:5px;padding:0 12px;box-sizing:border-box}
.rb_station_search #rb_station_keyword::placeholder{color:#777;opacity:1}
.rb_station_search .btn{height:44px;white-space:nowrap}
.rb_clear_search{background:#29292c!important;color:#ddd!important;border:0!important}
.rb_station_status{font-size:12px;color:#777;margin:0 0 16px}
.rb_station_grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:120px}
.rb_station_grid.is-loading{opacity:.55;pointer-events:none}
.rb_station_card{display:flex;align-items:center;gap:14px;padding:12px;background:#18181a;border:1px solid #252529;border-radius:8px;min-width:0;transition:border-color .15s,background .15s}
.rb_station_card:hover,.rb_station_card.is-playing{border-color:rgba(255,152,0,.65);background:#1d1d20}
.rb_station_logo{position:relative;flex:0 0 72px;width:72px;height:72px}
.rb_station_logo img{display:block;width:72px;height:72px;object-fit:cover;border-radius:8px;background:#222225}

.rb_play_btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border:0;border-radius:50%;background:#ff9800;color:#111;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.4)}

.rb_station_info{min-width:0;flex:1}
.rb_station_name{font-weight:600;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}
.rb_station_meta,.rb_station_tags,.rb_station_tech{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb_station_meta{color:#aaa}
.rb_station_tags{color:#777;margin-top:2px}
.rb_station_tech{color:#555;margin-top:4px}

.rb-no-stations{grid-column:1/-1;min-height:180px;background:#18181a;border:1px solid #252529;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#999}
.rb-no-stations strong{color:#ddd;font-size:16px}
.rb-no-stations span{font-size:12px;color:#666}
.rb_native_title{margin:30px 0 14px;color:#fff;font-size:18px;font-weight:600}

@media(max-width:1100px){
  .rb_station_grid{grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media(max-width:800px){
  .rb_station_grid{grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:520px){
  .rb_station_grid{grid-template-columns:1fr
  }
}

@media(max-width:600px){
  .rb_stations_header{align-items:flex-start;flex-direction:column}
  .rb_filter_search{grid-template-columns:1fr 1fr}
  .rb_station_search #rb_station_keyword{grid-column:1/-1;min-width:0}
  .rb_filter_search select{min-width:0}
  .rb_filter_search .btn{width:100%}
}

.rb_radio_player{position:fixed;left:50%;bottom:18px;transform:translate(-50%,120px);opacity:0;pointer-events:none;z-index:99999;width:min(760px,calc(100vw - 30px));display:flex;align-items:center;gap:16px;padding:12px 16px;background:#18181a;border:1px solid #35353a;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.55);transition:transform .2s,opacity .2s}
.rb_radio_player.is-visible{transform:translate(-50%,0);opacity:1;pointer-events:auto}

.rb_player_station{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.rb_player_logo{width:42px;height:42px;flex:0 0 42px;position:relative}
.rb_player_logo img{width:42px;height:42px;object-fit:cover;border-radius:6px;background:#242427}

.rb_player_text{min-width:0;display:flex;flex-direction:column}
.rb_player_text strong{color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb_player_text span{color:#888;font-size:11px;margin-top:2px}

.rb_player_controls,.rb_player_volume{display:flex;align-items:center;gap:7px}
.rb_player_btn{width:34px;height:34px;border:1px solid #39393e;background:#242427;color:#eee;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-size:13px}
.rb_player_btn:hover{border-color:#ff9800;color:#ff9800}

.rb_player_volume{min-width:150px}
.rb_player_volume input{width:110px;accent-color:#ff9800}

@media(max-width:600px){
  .rb_radio_player{gap:8px;padding:10px}
  .rb_player_volume{min-width:0}
  .rb_player_volume input{width:70px}
  .rb_player_station{max-width:40%}
}

.rb_pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 8px}
.rb_page_btn{min-width:42px;height:38px;padding:0 12px;border:1px solid #34343a;background:#18181a;color:#ddd;border-radius:6px;cursor:pointer}
.rb_page_btn:hover:not(:disabled){border-color:#ff9800;color:#ff9800}
.rb_page_btn:disabled{opacity:.35;cursor:not-allowed}
.rb_page_number{color:#aaa;font-size:13px;min-width:90px;text-align:center}

/* ============================================================
   X2O2 RADIO FALLBACK ARTWORK
   ============================================================ */

.rb_station_logo_fallback{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#18181a;
  border-radius:8px;
  overflow:hidden;
}

.rb_fallback_radio_icon{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:100%;
  height:100%;
  color:#ff9800;
  text-align:center;
}

.rb_fallback_radio_icon svg{
  width:34px;
  height:34px;
  opacity:.95;
}

.rb_fallback_radio_icon span{
  font-size:8px;
  font-weight:700;
  letter-spacing:.8px;
  line-height:1;
}

/* ============================================================
   X2O2 RADIO PLAYER FALLBACK
   ============================================================ */

.rb_player_logo_fallback{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#18181a;
  border-radius:6px;
  overflow:hidden;
}

.rb_player_logo_fallback .rb_fallback_radio_icon{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:100%;
  height:100%;
  color:#ff9800;
  text-align:center;
}

.rb_player_logo_fallback .rb_fallback_radio_icon svg{
  width:22px;
  height:22px;
}

.rb_player_logo_fallback .rb_fallback_radio_icon span{
  font-size:5px;
  font-weight:700;
  letter-spacing:.5px;
  line-height:1;
}
