/* ═══════════════════════════════════════════════════════════════
   📻 AW-9000 WORLD RADIO — PHOTOREALISTIC v4
   SVG textures · 3D lighting · Chrome knobs · Phosphor CRT
   ═══════════════════════════════════════════════════════════════ */

/* ─── CHASSIS — SVG brushed aluminum texture ─── */
.radio-chassis {
    max-width: 960px;
    margin: 0 auto;
    /* Real brushed metal via SVG filter texture */
    background: url('img/brushed-aluminum.svg') center / cover no-repeat;
    border-radius: 4px;
    border: 1px solid #6a6860;
    box-shadow:
        0 24px 80px rgba(0, 0, 0, 0.6),
        0 8px 25px rgba(0, 0, 0, 0.35),
        0 2px 6px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        inset 0 -1px 0 rgba(0, 0, 0, 0.08),
        inset 1px 0 0 rgba(255, 255, 255, 0.1),
        inset -1px 0 0 rgba(255, 255, 255, 0.1);
    overflow: hidden;
    position: relative;
}

/* Extra subtle grain overlay */
.radio-chassis::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg,
            transparent 0px, rgba(255, 255, 255, 0.02) 1px,
            transparent 2px, rgba(0, 0, 0, 0.01) 3px, transparent 4px);
    pointer-events: none;
    z-index: 1;
}

.radio-chassis::after {
    content: '';
    position: absolute;
    top: 0;
    left: 5%;
    right: 5%;
    height: 45%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 100%);
    pointer-events: none;
    z-index: 1;
    border-radius: 4px 4px 50% 50%;
}

.radio-ambient-glow {
    position: absolute;
    top: -80px;
    left: -80px;
    right: -80px;
    bottom: -80px;
    background: radial-gradient(ellipse at 50% 30%, rgba(74, 200, 255, 0.08) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity 2s ease;
}

.radio-chassis.playing .radio-ambient-glow {
    opacity: 1;
}

/* ─── TOP BEZEL ─── */
.radio-bezel-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 24px 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, transparent 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12);
}

.radio-brand-area {
    display: flex;
    align-items: center;
    gap: 12px;
}

.radio-led-power {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, #444, #1a1a1a);
    border: 1px solid #555;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.6);
    transition: all 0.6s;
}

.radio-chassis.playing .radio-led-power {
    background: radial-gradient(circle at 35% 30%, #88ff99, #22dd55, #009933);
    border-color: #33aa55;
    box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15),
        0 0 3px #33ff66, 0 0 8px rgba(0, 255, 68, 0.5), 0 0 20px rgba(0, 255, 68, 0.15);
}

.radio-brand-text {
    display: flex;
    flex-direction: column;
}

.radio-brand {
    font-family: 'Georgia', 'Palatino Linotype', serif;
    font-size: 24px;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 3px;
    line-height: 1;
    color: #8a7a4c;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.4);
}

.radio-model-number {
    font-family: 'Inter', sans-serif;
    font-size: 8px;
    font-style: italic;
    letter-spacing: 2px;
    color: #80703e;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

.radio-model-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
}

.radio-model-label {
    font-family: 'Georgia', serif;
    font-size: 11px;
    font-style: italic;
    letter-spacing: 1.5px;
    color: #80703e;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

.radio-model-sub {
    font-family: 'Inter', sans-serif;
    font-size: 7px;
    letter-spacing: 3px;
    color: #8a8680;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
}

/* ─── DISPLAY WINDOW ─── */
.radio-display-window {
    background: linear-gradient(180deg, #030308 0%, #060610 40%, #040410 100%);
    margin: 0;
    padding: 14px 20px 12px;
    /* Deep machined recess with metal bevels */
    border-top: 2.5px solid #706c64;
    border-bottom: 2.5px solid #5a5850;
    box-shadow:
        inset 0 10px 30px rgba(0, 0, 20, 0.95),
        inset 0 -4px 12px rgba(0, 0, 20, 0.5),
        inset 0 0 50px rgba(0, 0, 30, 0.3),
        0 -1px 0 rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 195px 1fr 50px;
    grid-template-rows: auto auto auto;
    gap: 6px 18px;
}

/* ─── VU METERS — Real SVG instrument faces ─── */
.radio-vu-section {
    grid-column: 1;
    grid-row: 1 / 4;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.radio-vu-meter {
    position: relative;
}

.vu-meter-face {
    width: 100%;
    height: 80px;
    /* SVG gauge face with arc scale, numbers, chrome pivot */
    background: url('img/vu-meter-face.svg') center / contain no-repeat;
    border-radius: 4px;
    border: 1px solid #1a2840;
    position: relative;
    overflow: hidden;
    box-shadow:
        inset 0 3px 10px rgba(0, 0, 30, 0.8),
        inset 0 -2px 6px rgba(0, 0, 30, 0.3),
        0 1px 0 rgba(255, 255, 255, 0.03);
}

/* No CSS pseudo-element scales needed — SVG has everything */
.vu-meter-face::before {
    display: none;
}

.vu-meter-scale {
    display: none;
}

/* Hidden — SVG replaces this */

.vu-meter-needle {
    position: absolute;
    bottom: 8px;
    left: 50%;
    width: 1px;
    height: 52px;
    background: linear-gradient(180deg,
            #ff1818 0%, #ff4433 15%, #ff7744 35%,
            rgba(255, 119, 68, 0.2) 75%, transparent 100%);
    transform-origin: bottom center;
    transform: rotate(-42deg);
    z-index: 4;
    transition: transform 0.12s cubic-bezier(0.22, 1, 0.36, 1);
    filter: drop-shadow(0 0 3px rgba(255, 60, 30, 0.6));
}

.vu-meter-needle::before {
    content: '';
    position: absolute;
    top: -1px;
    left: -2px;
    width: 5px;
    height: 5px;
    background: radial-gradient(circle, rgba(255, 50, 20, 0.9), transparent);
    border-radius: 50%;
}

.vu-meter-pivot {
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #eee, #ccc, #999, #777);
    border: 1px solid rgba(0, 0, 0, 0.3);
    z-index: 5;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), inset 0 1px 1px rgba(255, 255, 255, 0.6);
}

.vu-meter-label {
    position: absolute;
    bottom: 3px;
    right: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 800;
    color: #4ac8ff;
    text-shadow: 0 0 8px rgba(74, 200, 255, 0.7);
    z-index: 3;
}

/* Playing glow on meters */
.radio-chassis.playing .vu-meter-face::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 90%, rgba(74, 200, 255, 0.05) 0%, transparent 50%);
    pointer-events: none;
    animation: meter-pulse 3s ease-in-out infinite;
}

@keyframes meter-pulse {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

/* ─── FM TUNING STRIP ─── */
.radio-tuning-strip {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tuning-band-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #4ac8ff;
    text-shadow: 0 0 10px rgba(74, 200, 255, 0.7);
}

.tuning-mhz {
    color: #2888a8;
    font-weight: 600;
}

.tuning-dial-strip {
    flex: 1;
    height: 30px;
    background: linear-gradient(180deg, #030610 0%, #06081c 30%, #080a22 50%, #06081c 70%, #030610 100%);
    border-radius: 3px;
    border: 1px solid #162040;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 3px 10px rgba(0, 0, 40, 0.9), inset 0 -1px 4px rgba(0, 0, 40, 0.3);
}

.tuning-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, rgba(74, 200, 255, 0.06) 0%, transparent 75%);
    pointer-events: none;
}

.tuning-dial-strip::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10px;
    right: 10px;
    height: 5px;
    background: repeating-linear-gradient(90deg,
            rgba(74, 200, 255, 0.2) 0px, rgba(74, 200, 255, 0.2) 1px, transparent 1px, transparent 7px);
    pointer-events: none;
}

.tuning-freq-markers {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    font-family: 'Courier New', monospace;
    font-size: 9px;
    font-weight: 700;
    color: #4ac8ff;
    text-shadow: 0 0 8px rgba(74, 200, 255, 0.6);
}

.tuning-freq-markers span {
    cursor: default;
    user-select: none;
}

.tuning-needle {
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 50%;
    width: 2px;
    background: linear-gradient(180deg, #ff2222, #bb1111);
    box-shadow: 0 0 4px rgba(255, 34, 34, 0.8), 0 0 10px rgba(255, 34, 34, 0.3);
    z-index: 3;
    transition: left 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.tuning-needle::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #ff2222;
    filter: drop-shadow(0 0 2px rgba(255, 34, 34, 0.6));
}

/* ─── LCD INFO — CRT phosphor ─── */
.radio-lcd-info {
    grid-column: 2;
    grid-row: 2;
    position: relative;
    background: radial-gradient(ellipse at 50% 50%, rgba(74, 200, 255, 0.015) 0%, transparent 50%), #030308;
    border-radius: 3px;
    border: 1px solid #162040;
    overflow: hidden;
    box-shadow: inset 0 3px 12px rgba(0, 0, 30, 0.8);
}

.radio-lcd-inner {
    padding: 7px 12px;
    position: relative;
    z-index: 2;
}

.lcd-stereo-badge {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: 2px;
    color: #ff3030;
    background: rgba(255, 48, 48, 0.05);
    padding: 1px 6px;
    border-radius: 2px;
    border: 1px solid rgba(255, 48, 48, 0.1);
    margin-bottom: 4px;
    text-shadow: 0 0 6px rgba(255, 48, 48, 0.6);
    opacity: 0;
    transition: opacity 0.5s;
}

.radio-chassis.playing .lcd-stereo-badge {
    opacity: 1;
}

.lcd-station {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #4ac8ff;
    text-shadow: 0 0 6px rgba(74, 200, 255, 0.5), 0 0 16px rgba(74, 200, 255, 0.12);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lcd-meta {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    color: #2080a0;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lcd-freq {
    font-family: 'Courier New', monospace;
    font-size: 10px;
    font-weight: 700;
    color: #60c8e8;
    text-shadow: 0 0 5px rgba(96, 200, 232, 0.4);
    margin-top: 2px;
    letter-spacing: 2px;
}

.lcd-scanlines {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent 0px, transparent 2px, rgba(0, 0, 0, 0.1) 2px, rgba(0, 0, 0, 0.1) 4px);
    pointer-events: none;
    z-index: 3;
    opacity: 0.4;
}

.radio-lcd-info::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg, rgba(74, 200, 255, 0.008) 0px, transparent 1px, transparent 3px);
    pointer-events: none;
    z-index: 4;
}

.radio-lcd-info::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 5;
    animation: crt-flicker 6s ease-in-out infinite;
}

@keyframes crt-flicker {

    0%,
    100% {
        opacity: 1;
    }

    49% {
        opacity: 0.97;
    }

    50% {
        opacity: 1;
    }

    94% {
        opacity: 0.98;
    }

    95% {
        opacity: 1;
    }
}

/* ─── EQ BARS ─── */
.radio-eq-visualizer {
    grid-column: 2;
    grid-row: 3;
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 28px;
}

.eq-bar {
    flex: 1;
    min-width: 3px;
    height: 3px;
    background: linear-gradient(180deg, #ff1111 0%, #ff6622 12%, #ffcc11 28%, #33dd33 48%, #22bbaa 68%, #4ac8ff 100%);
    border-radius: 1px;
    box-shadow: 0 0 3px rgba(74, 200, 255, 0.2);
    transition: height 0.07s ease-out;
}

.eq-bar:nth-child(1) {
    height: 5px
}

.eq-bar:nth-child(2) {
    height: 9px
}

.eq-bar:nth-child(3) {
    height: 4px
}

.eq-bar:nth-child(4) {
    height: 12px
}

.eq-bar:nth-child(5) {
    height: 7px
}

.eq-bar:nth-child(6) {
    height: 14px
}

.eq-bar:nth-child(7) {
    height: 6px
}

.eq-bar:nth-child(8) {
    height: 16px
}

.eq-bar:nth-child(9) {
    height: 11px
}

.eq-bar:nth-child(10) {
    height: 8px
}

.eq-bar:nth-child(11) {
    height: 17px
}

.eq-bar:nth-child(12) {
    height: 10px
}

.eq-bar:nth-child(13) {
    height: 6px
}

.eq-bar:nth-child(14) {
    height: 13px
}

.eq-bar:nth-child(15) {
    height: 8px
}

.eq-bar:nth-child(16) {
    height: 4px
}

/* ─── SIGNAL BARS ─── */
.radio-signal {
    grid-column: 3;
    grid-row: 1 / 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
}

.signal-bar {
    width: 28px;
    height: 3px;
    border-radius: 1.5px;
    background: rgba(15, 15, 40, 0.8);
    border: 1px solid rgba(30, 30, 60, 0.8);
    transition: all 0.4s;
}

.radio-signal.active .signal-bar:nth-child(1) {
    background: #4ac8ff;
    box-shadow: 0 0 5px rgba(74, 200, 255, 0.5);
}

.radio-signal.active .signal-bar:nth-child(2) {
    background: #4ac8ff;
    box-shadow: 0 0 4px rgba(74, 200, 255, 0.4);
}

.radio-signal.active .signal-bar:nth-child(3) {
    background: #55d0ff;
    box-shadow: 0 0 4px rgba(85, 208, 255, 0.4);
}

.radio-signal.active .signal-bar:nth-child(4) {
    background: #ffcc33;
    box-shadow: 0 0 4px rgba(255, 204, 51, 0.4);
}

.radio-signal.active .signal-bar:nth-child(5) {
    background: #ff3333;
    box-shadow: 0 0 4px rgba(255, 51, 51, 0.4);
}

/* ─── KNOBS — SVG photorealistic chrome ─── */
.radio-knobs-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 16px 24px 8px;
    position: relative;
    z-index: 2;
    gap: 4px;
}

.radio-knob-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.knob-label {
    font-family: 'Georgia', serif;
    font-size: 7px;
    font-style: italic;
    letter-spacing: 1px;
    color: #605c50;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

.radio-knob {
    width: 34px;
    height: 34px;
}

.radio-knob-lg {
    width: 44px;
    height: 44px;
}

.radio-knob-xl {
    width: 56px;
    height: 56px;
}

/* Chrome knob using SVG image */
.knob-body {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    /* SVG chrome knob with specular lighting, machining, knurled edge */
    background: url('img/chrome-knob.svg') center / contain no-repeat;
    border: none;
    position: relative;
    cursor: pointer;
    transition: transform 0.12s, box-shadow 0.12s, filter 0.12s;
    box-shadow:
        0 5px 14px rgba(0, 0, 0, 0.5),
        0 2px 4px rgba(0, 0, 0, 0.3);
    filter: brightness(1);
}

.knob-body-lg {
    width: 44px;
    height: 44px;
}

.knob-body-xl {
    width: 56px;
    height: 56px;
}

.knob-body:hover {
    transform: scale(1.06);
    filter: brightness(1.08);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.55), 0 2px 4px rgba(0, 0, 0, 0.3), 0 0 14px rgba(74, 200, 255, 0.06);
}

.knob-body:active {
    transform: scale(0.97);
    filter: brightness(0.95);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

/* SVG knob has its own indicator — hide CSS one */
.knob-indicator {
    display: none;
}

.knob-reflection {
    display: none;
}

.knob-ring-marks {
    display: none;
}

/* Headphone jack */
.radio-headphone-jack {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
}

.jack-hole {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: radial-gradient(circle at 45% 40%, #050505 35%, #111 55%, #2a2a2a 80%, #444 100%);
    border: 2px solid #808080;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.95), 0 1px 0 rgba(255, 255, 255, 0.15);
}

/* ─── CONTROLS ─── */
.radio-controls-panel {
    padding: 10px 24px;
    position: relative;
    z-index: 2;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.radio-search-bar {
    display: flex;
    gap: 0;
    margin-bottom: 8px;
}

.radio-search-input {
    flex: 1;
    padding: 7px 12px;
    background: linear-gradient(180deg, #d8d4d0, #e4e0dc);
    border: 1.5px solid #a0a098;
    border-right: none;
    border-radius: 3px 0 0 3px;
    color: #1a1a1a;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    outline: none;
    transition: all 0.2s;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
}

.radio-search-input::placeholder {
    color: #888;
}

.radio-search-input:focus {
    border-color: #4ac8ff;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06), 0 0 6px rgba(74, 200, 255, 0.1);
}

.radio-search-btn {
    padding: 7px 16px;
    background: linear-gradient(180deg, #989490, #807c78);
    border: 1.5px solid #706c68;
    border-radius: 0 3px 3px 0;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.radio-search-btn:hover {
    background: linear-gradient(180deg, #4ac8ff, #2090c0);
    border-color: #4ac8ff;
}

.radio-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 8px;
}

.radio-preset-btn {
    padding: 4px 10px;
    background: linear-gradient(180deg, #d4d0cc, #c0bcb8);
    border: 1px solid #a0a098;
    border-radius: 3px;
    color: #3a3a3a;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.12s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.45);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.radio-preset-btn:hover {
    border-color: #4ac8ff;
    color: #1a6090;
    background: linear-gradient(180deg, #dce4f0, #d0d8e4);
}

.radio-preset-btn.active {
    background: linear-gradient(180deg, #4ac8ff, #2090c0);
    color: #fff;
    border-color: #80e0ff;
    box-shadow: 0 0 8px rgba(74, 200, 255, 0.25);
}

.radio-controls {
    display: flex;
    gap: 6px;
    justify-content: center;
}

.radio-ctrl-btn {
    padding: 6px 14px;
    background: linear-gradient(180deg, #dcd8d4, #c8c4c0, #b8b4b0);
    border: 1.5px solid #9a9690;
    border-radius: 4px;
    color: #3a3a3a;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.1s;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.radio-ctrl-btn:hover {
    border-color: #4ac8ff;
    background: linear-gradient(180deg, #e4e8f0, #d4d8e4, #c8ccd8);
}

.radio-ctrl-btn:active {
    transform: translateY(1px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.radio-play-btn.playing {
    background: linear-gradient(180deg, #4ac8ff, #2898d0, #1878a8);
    color: #fff;
    border-color: #80e0ff;
    box-shadow: 0 3px 10px rgba(74, 200, 255, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* ─── RESULTS ─── */
.radio-results-panel {
    margin: 0 24px 8px;
    max-height: 240px;
    overflow-y: auto;
    background: rgba(248, 244, 240, 0.98);
    border: 1px solid #b8b4b0;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 2;
}

.radio-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 12px;
    border-bottom: 1px solid #d8d4d0;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    color: #2a6090;
    letter-spacing: 1px;
}

.radio-close-btn {
    background: none;
    border: none;
    color: #888;
    font-size: 14px;
    cursor: pointer;
    padding: 2px 5px;
    border-radius: 2px;
}

.radio-close-btn:hover {
    color: #e74c3c;
}

.radio-results-list {
    padding: 3px;
}

.radio-station-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.12s;
}

.radio-station-item:hover {
    background: rgba(74, 200, 255, 0.04);
}

.radio-station-icon {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    background: linear-gradient(135deg, #d0d8e4, #b4c0cc);
    border: 1px solid #a0b0c0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    overflow: hidden;
}

.radio-station-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3px;
}

.radio-station-info {
    flex: 1;
    min-width: 0;
}

.radio-station-info .name {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.radio-station-info .meta {
    font-size: 9px;
    color: #7a8690;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.radio-station-quality {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 2px 6px;
    border-radius: 2px;
    background: rgba(42, 96, 144, 0.06);
    color: #2a6090;
    flex-shrink: 0;
}

/* ─── BOTTOM BEZEL ─── */
.radio-bezel-bottom {
    padding: 6px 24px 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 2;
}

.radio-vent-slots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 6px;
}

.vent-slot {
    width: 16px;
    height: 2px;
    background: linear-gradient(180deg, #6a6860, #504c48);
    border-radius: 1px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.1);
}

.radio-feet {
    display: flex;
    justify-content: space-between;
    padding: 0 50px;
}

.radio-foot {
    width: 24px;
    height: 6px;
    background: linear-gradient(180deg, #1e1e1e, #0e0e0e);
    border-radius: 3px;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.45);
}

@keyframes lcd-scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.lcd-station.scrolling {
    animation: lcd-scroll 8s linear infinite;
    width: max-content;
}