.radio-banner {
    background: linear-gradient(120deg, #0d2840, #184463);
    color: #fff;
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}
.radio-banner .eyebrow { color: #ffd19b; }
.radio-banner h1 { margin-bottom: .5rem; }
.radio-banner a { color: #fff; }
.radio-feature {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1rem, 5vw, 3rem);
    padding: clamp(1rem, 4vw, 2.5rem);
    border: 1px solid #dce5ee;
    border-radius: 18px;
    background: #f3f7fa;
}
.radio-feature img, .radio-card img {
    display: block;
    width: 100%;
    object-fit: contain;
    background: #fff;
    border-radius: 10px;
    padding: 10px;
}
.radio-feature audio { display: block; width: min(100%, 460px); margin-top: 1rem; }
.radio-actions, .radio-markets {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
}
.radio-browse { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.radio-browse h2 { flex: 1 0 55%; }
.radio-browse select { font: inherit; border: 1px solid #abbaca; border-radius: 8px; padding: .55rem; }
.radio-markets { margin: 1rem 0 1.5rem; }
.radio-markets a { background: #f1f5fa; border-radius: 20px; padding: .35rem .75rem; }
.radio-markets [aria-current] { background: #183a54; color: white; }
.radio-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: 18px; }
.radio-card { border: 1px solid #dce5ee; border-radius: 14px; padding: 1rem; }
.radio-card h3 { margin: .75rem 0 0; }
.radio-card p { margin: .25rem 0 .75rem; }
.radio-card > a { color: inherit; text-decoration: none; }
.radio-tracks { margin-top: 2rem; }
.radio-recent { margin: 0; padding-left: 1.6rem; }
.radio-track { display: flex; gap: .85rem; align-items: center; min-height: 72px; padding: .5rem 0; }
.radio-track img, .radio-track .radio-art-placeholder {
    display: grid; place-items: center; width: 56px; height: 56px; object-fit: cover;
    flex: 0 0 56px; border-radius: 8px; background: #edf2f6;
}
.radio-track small { display: block; }
.radio-recent li { border-bottom: 1px solid #dce5ee; }
@media (max-width: 580px) {
    .radio-feature { grid-template-columns: 1fr; }
    .radio-feature img { max-width: 260px; }
}

.radio-card-player {
    border-top: 1px solid #dce5ee;
    margin-top: 1rem;
    padding-top: .8rem;
}
.radio-card-player audio {
    display: block;
    width: 100%;
    max-width: 460px;
    margin: 0 0 .65rem;
}
.radio-card-player [data-radio-current] { overflow-wrap: anywhere; }
.radio-card-player .radio-track { min-height: 54px; }
.radio-card-player .radio-track img,
.radio-card-player .radio-art-placeholder { width: 42px; height: 42px; flex-basis: 42px; }
#home-stations-title { margin-bottom: 1.25rem; }
