/* The homepage follows the reference layout while retaining the station's original palette. */
.rba-home { background: #fafafa; }
.rba-home .shell, .site-header .shell, .utility-strip.shell, .footer .shell { width: min(1360px, calc(100% - 56px)); }
.site-header .breaking { background: #e30613; color: #fff; border-bottom: 1px solid #cf0010; }
.site-header .breaking-grid { grid-template-columns: 190px minmax(0, 1fr) auto; gap: 20px; }
.site-header .breaking strong { height: auto; width: max-content; margin: 0; padding: 6px 15px; border-radius: 4px; background: #fff; color: #e30613; }
.site-header .breaking a { color: #fff; }
.site-header .nav-grid { height: 110px; }
.site-header .main-nav { gap: clamp(20px, 2.2vw, 42px); }
.site-header .player { margin-inline: auto; margin-bottom: 12px; border-radius: 9px; grid-template-columns: 130px 64px minmax(180px, 1.1fr) minmax(100px, 1fr) 130px 220px; gap: 12px; }
.site-header .player-progress, .site-header .whatsapp-button { display: none; }
.site-header .player-actions { grid-template-columns: 1fr; }
.site-header .live-label { border: 0; }
.site-header .live-label span { display: none; }
.site-header .live-label b::before { content: '●'; color: #e30613; margin-right: 6px; }
.site-header .play-toggle { background: #e30613; color: #fff; border: 0; }

@media (min-width: 901px) and (max-width: 1200px) {
    .site-header .player { grid-template-columns: 110px 55px minmax(140px, 1fr) minmax(60px, .7fr) 100px 190px; gap: 8px; }
}

.home-market-weather { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-bottom: 12px; }
.home-market-half, .home-weather-half { min-width: 0; border: 1px solid #e2e3e5; border-radius: 10px; background: #fff; padding: 12px 14px 9px; box-shadow: 0 4px 18px #00000008; }
.home-widget-heading { display: flex; justify-content: space-between; align-items: center; min-height: 30px; gap: 8px; margin-bottom: 8px; }
.home-widget-heading > div:first-child { display: flex; align-items: center; min-width: 0; gap: 9px; }
.home-widget-heading strong { color: #e30613; font-size: 12px; white-space: nowrap; }
.home-widget-heading b { font-size: 13px; white-space: nowrap; }
.home-widget-icon { color: #e30613; font-size: 21px; font-weight: 800; line-height: 1; }
.home-widget-nav { display: flex; gap: 5px; flex-shrink: 0; }
.home-widget-nav button { width: 29px; height: 29px; border: 1px solid #dedfe2; border-radius: 50%; background: #fff; color: #222; font-size: 20px; line-height: 1; cursor: pointer; }
.home-widget-nav button:hover, .home-widget-nav button:focus-visible { border-color: #e30613; color: #e30613; }
.home-rate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.home-rate-card { min-width: 0; border: 1px solid #e9e9ec; border-radius: 8px; background: #fafafa; padding: 9px 12px; }
.home-rate-card[hidden] { display: none; }
.home-rate-card:not([hidden]) { animation: rba-card-in .4s ease-out; }
@keyframes rba-card-in { from { opacity: .35; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.home-rate-card span { display: block; color: #60646c; font-size: 10px; text-transform: uppercase; font-weight: 800; }
.home-rate-card strong { display: block; margin: 3px 0; color: #151515; font-size: clamp(16px, 1.45vw, 21px); }
.home-rate-card small { color: #555b63; font-size: 11px; }
.home-rate-card small b { color: #222; }
.home-rate-card small span { display: inline; text-transform: none; font-weight: 400; font-size: inherit; }
.market-view-controls { display: flex; gap: 5px; margin: 0 0 8px; }
.market-view-controls button { border: 1px solid #e0e1e4; border-radius: 20px; background: #fff; padding: 5px 11px; color: #444; font-size: 11px; font-weight: 700; cursor: pointer; }
.market-view-controls button.active { border-color: #d9000d; background: #d9000d; color: #fff; }
.market-view-controls button:last-child { margin-left: auto; font-size: 15px; line-height: 1; }
.rate-visual { height: 4px; overflow: hidden; margin-top: 8px; border-radius: 5px; background: #e4e5e8; }
.rate-visual i { display: block; width: 0; height: 100%; border-radius: inherit; background: #e30613; transition: width .5s ease; }
.home-weather-card { min-height: 72px; display: flex; align-items: center; gap: 13px; padding: 8px 14px; border: 1px solid #e9e9ec; border-radius: 8px; background: linear-gradient(110deg,#f7f7f8,#fff); }
.home-weather-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; background: #fff0f1; color: #e30613; font-size: 27px; }
.home-weather-main { display: grid; gap: 2px; min-width: 0; }
.home-weather-main strong { font-size: 14px; }
.home-weather-main span, .home-weather-main small { color: #555b63; font-size: 11px; }
.home-weather-temperature { margin-left: auto; color: #111; font-size: 32px; white-space: nowrap; }
.home-weather-search { margin-top: 5px; font-size: 11px; }
.home-weather-search summary { width: max-content; color: #b6000a; font-weight: 700; cursor: pointer; }
.home-weather-search form { margin-top: 8px; }
.home-weather-search label { display: block; margin-bottom: 5px; color: #444; }
.home-weather-search form > div { display: flex; gap: 6px; }
.home-weather-search input { width: 100%; min-width: 0; height: 36px; border: 1px solid #d5d5d7; border-radius: 6px; padding: 0 9px; }
.home-weather-search form button { border: 0; border-radius: 6px; padding: 0 12px; background: #e30613; color: #fff; font-weight: 700; }
.home-weather-search [data-weather-results] button { display: block; width: 100%; border: 0; border-bottom: 1px solid #eee; padding: 9px 4px; background: transparent; text-align: left; cursor: pointer; }
.home-widget-foot { display: flex; justify-content: space-between; gap: 8px; margin-top: 7px; color: #61656a; font-size: 10px; }
.home-widget-foot a { color: #555; white-space: nowrap; }

.rba-home .hero-grid { grid-template-columns: 1.68fr 1fr; height: clamp(360px, 37vw, 520px); gap: 12px; }
.rba-home .hero-copy { left: 5%; bottom: 12%; width: 78%; }
.rba-home .hero-copy h1 { font-size: clamp(30px, 3.2vw, 48px); }
.rba-home .hero-copy > a { background: #e30613; color: #fff; }
.rba-home .hero-stack { gap: 10px; }
.rba-home .hero-stack h2 { width: 85%; font-size: clamp(15px, 1.45vw, 20px); }
.rba-home .hero-arrow { display: none; }
.rba-home .hero-dots { left: 5%; bottom: 14px; }
.rba-home .live-news-grid, .rba-home .category-matrix { gap: 12px; margin-bottom: 12px; }
.rba-home .panel > header a { color: #e30613; }
.rba-home .youtube-frame { height: auto; aspect-ratio: 16 / 9; margin: 0 10px 10px; border-radius: 6px; }
.rba-home .latest-panel { height: auto; }
.rba-home .latest-window { height: auto; min-height: 250px; max-height: 325px; }
.rba-home .latest-track > a { min-height: 54px; }
.rba-home .all-live { display: none; }
.rba-home .category-panel { height: auto; min-width: 0; }
.rba-home .category-body { height: auto; min-height: 245px; grid-template-columns: 1.1fr 1fr; gap: 14px; padding: 10px 14px 14px; }
.rba-home .category-lead { background: none; border-radius: 0; }
.rba-home .category-lead::before { content: ''; display: block; width: 100%; height: 140px; border-radius: 5px; background: var(--bg) center / cover; }
.rba-home .category-lead a { display: block; width: 100%; height: auto; padding: 7px 4px 0; }
.rba-home .category-lead h3 { font-size: 20px; margin: 0 0 4px; }
.rba-home .category-lead p { color: #535963; font-size: 12px; }
.rba-home .category-list { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.rba-home .category-list a { grid-template-columns: 105px 1fr; }
.rba-home .category-list b { font-size: 12px; }

.rba-home .bottom-widgets { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.rba-home .bottom-widgets > .panel { height: auto; min-height: 260px; }
.rba-home .program-mini-grid { height: auto; min-height: 210px; gap: 9px; }
.rba-home .program-mini-grid article { padding: 8px; }
.rba-home .program-mini-grid small { color: #4f535a; font-size: 11px; }
.rba-home .program-mini-grid b { font-size: 14px; }
.rba-home .program-mini-grid img { height: 125px; }
.rba-home .program-mini-grid span { color: #42474d; font-size: 11px; line-height: 1.35; }
.rba-home .podcasts article { height: auto; min-height: 70px; grid-template-columns: 56px minmax(0,1fr) 36px; }
.rba-home .podcasts article b { font-size: 13px; line-height: 1.3; }
.rba-home .podcasts article small { color: #565a62; font-size: 11px; }
.rba-home .podcasts article img { width: 54px; height: 54px; }
body .utility-strip { gap: 10px; border: 0; box-shadow: none; }
body .utility-strip article { min-width: 0; min-height: 150px; padding: 20px 15px; grid-template-columns: 38px minmax(0,1fr); gap: 10px; border: 1px solid #e1e2e5; border-radius: 9px; background: #fff; }
body .utility-strip article > span { font-size: 30px; }
body .utility-strip b { font-size: 12px; }
body .utility-strip p { color: #3f444a; font-size: 12px; line-height: 1.45; }
body .utility-strip a, .utility-strip .store-buttons { font-size: 11px; }
.footer .footer-grid { padding: 35px 0 28px; gap: 25px; }
.footer .footer-grid b { font-size: 12px; }
.footer .footer-grid a, .footer .footer-grid p { color: #eee; font-size: 12px; }
.footer .copyright { color: #ddd; font-size: 11px; }

@media (max-width: 900px) {
    .rba-home .shell, .site-header .shell, .utility-strip.shell, .footer .shell { width: calc(100% - 28px); }
    .site-header .nav-grid { height: 80px; }
    .site-header .player { grid-template-columns: 110px 55px minmax(0,1fr); min-height: 84px; }
    .site-header .waveform, .site-header .volume-control, .site-header .player-actions { display: none; }
    .rba-home .hero-grid { grid-template-columns: 1.4fr 1fr; height: 400px; }
    .rba-home .hero-stack { height: auto; }
    .rba-home .hero-main { height: auto; }
    .rba-home .live-news-grid, .rba-home .category-matrix { grid-template-columns: 1fr 1fr; }
    .rba-home .category-body { grid-template-columns: 1fr; }
    .rba-home .category-lead::before { height: 160px; }
    .rba-home .category-list a { min-height: 58px; }
    .rba-home .bottom-widgets { grid-template-columns: 1fr 1fr; }
    .rba-home .podcasts { grid-column: auto; }
    body .utility-strip { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .rba-home .shell, .site-header .shell, .utility-strip.shell, .footer .shell { width: calc(100% - 20px); }
    .site-header .breaking-grid { grid-template-columns: auto minmax(0,1fr); gap: 8px; }
    .site-header .breaking strong { padding: 5px 7px; }
    .site-header .nav-grid { height: 72px; }
    .site-header .player { width: calc(100% - 20px); min-height: 75px; padding: 8px 10px; grid-template-columns: 84px 44px minmax(0,1fr); gap: 7px; border-radius: 9px; }
    .site-header .live-label b { font-size: 9px; }
    .site-header .show-info small { font-size: 10px; line-height: 1.3; }
    .home-market-weather { grid-template-columns: 1fr; gap: 8px; }
    .home-market-half, .home-weather-half { padding: 10px; }
    .home-widget-heading strong { font-size: 11px; }
    .home-widget-heading b { font-size: 12px; }
    .home-rate-card strong { font-size: 18px; }
    .rba-home .hero-grid { height: auto; grid-template-columns: 1fr; gap: 8px; }
    .rba-home .hero-main { height: 355px; }
    .rba-home .hero-stack { height: auto; grid-template-rows: none; gap: 8px; }
    .rba-home .hero-stack article { height: 140px; }
    .rba-home .hero-copy { width: 86%; }
    .rba-home .hero-copy h1 { font-size: 27px; }
    .rba-home .live-news-grid, .rba-home .category-matrix, .rba-home .bottom-widgets { grid-template-columns: 1fr; gap: 9px; }
    .rba-home .latest-window { min-height: 250px; }
    .rba-home .category-body { grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px; }
    .rba-home .category-lead::before { height: 112px; }
    .rba-home .category-lead h3 { font-size: 16px; }
    .rba-home .category-lead p { font-size: 11px; }
    .rba-home .category-list a { grid-template-columns: 62px minmax(0,1fr); gap: 7px; }
    .rba-home .category-list img { width: 62px; height: 52px; }
    .rba-home .category-list b { font-size: 11px; }
    .rba-home .bottom-widgets > .panel { min-height: 0; }
    .rba-home .program-mini-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .rba-home .program-mini-grid img { height: 150px; }
    body .utility-strip { grid-template-columns: 1fr; }
    body .utility-strip article { min-height: 0; }
    .footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
    .footer .footer-about { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .home-market-weather * { transition: none !important; animation: none !important; } }
