.radio-carousel { min-width:0; container-type:inline-size; }
.radio-carousel__header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.radio-carousel__header .radio-streams__heading { margin:0; }
.radio-carousel__controls { display:flex; flex:none; gap:6px; }
.radio-carousel__controls button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid var(--radio-border); border-radius:50%; background:var(--radio-panel); color:var(--radio-text); font:inherit; font-size:24px; cursor:pointer; }
.radio-carousel__controls button:disabled { opacity:.35; cursor:default; }
.radio-carousel__controls button:focus-visible,.radio-carousel__track:focus-visible { outline:2px solid var(--radio-accent); outline-offset:2px; }
.radio-carousel .radio-carousel__track { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:168px; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--radio-border) transparent; padding:4px 0 12px; margin:0; }
.radio-carousel__track--two-rows { grid-template-rows:repeat(2,auto); }
.radio-carousel__track > * { scroll-snap-align:start; min-width:0; }
.radio-carousel .radio-stream-item:hover { transform:none; }
@container (width < 420px) { .radio-carousel .radio-carousel__track { grid-auto-columns:42%; } }
