/* ==========================================================================
   ПОЛОСА СЕЗОНА: онлайн + радиоэфиры + обратный отсчёт
   ========================================================================== */

.season-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap; /* Строго одна строка во избежание сдвига хедера */
    gap: 6px 12px;
    padding: 3px 8px;
    font-family: Tahoma, "MS Sans Serif", sans-serif;
    font-size: 11px;
    color: #2a2a2a;
    background: linear-gradient(to bottom, #f6f5ee 0%, #e6e3d6 100%);
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #a9a48f;
    border-radius: 0 !important;
    overflow: visible;
    box-sizing: border-box;
    min-height: 27px;
}

.season-strip * { border-radius: 0 !important; }

.season-strip-left {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

/* Десктопные/мобильные лейблы по умолчанию */
.season-online-text-short,
.season-radio-text-short {
    display: none;
}
.season-online-text-full,
.season-radio-text-full {
    display: inline;
}

/* --- Онлайн --- */
.season-online {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 2px 7px;
    background: #ffffff;
    border: 1px inset #d4d0c8;
    cursor: default;
    white-space: nowrap;
    flex-shrink: 0;
}

.season-dot {
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    background: #35a04a;
    box-shadow: 0 0 4px rgba(53, 160, 74, 0.8);
    animation: season-breathe 2.4s ease-in-out infinite;
}

@keyframes season-breathe {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}

.season-online.offline .season-dot {
    background: #9b9687;
    box-shadow: none;
    animation: none;
}

.season-online-count {
    font-weight: bold;
    color: #1c6b32;
}

.season-online.offline .season-online-count { color: #8a857a; }

.season-online.pulse,
.season-radio-btn.pulse { animation: season-flash 0.8s ease-out; }

@keyframes season-flash {
    0% { background: #d7f0dd; }
    100% { background: #ffffff; }
}

/* --- Виджет радиоэфиров в шапке --- */
.season-radio-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 2px 7px;
    background: #ffffff;
    border: 1px inset #d4d0c8;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    user-select: none;
    flex-shrink: 0;
}

.season-radio-btn:hover {
    background: #f1efe7;
    border-color: #7f9db9;
}

.season-radio-btn:active {
    background: #e5e2d6;
}

.season-radio-dot {
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    background: #8a857a;
}

.season-radio-btn.live .season-radio-dot {
    background: #e03b1c;
    box-shadow: 0 0 5px rgba(224, 59, 28, 0.9);
    animation: season-radio-blink 1.4s steps(1, end) infinite;
}

@keyframes season-radio-blink {
    0%, 60% { opacity: 1; }
    61%, 100% { opacity: 0.35; }
}

.season-radio-count {
    font-weight: bold;
    color: #555555;
}

.season-radio-btn.live .season-radio-count {
    color: #b32a10;
}

/* Выпадающий список радиостанций Win32 XP */
.season-radio-dropdown {
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    z-index: 100005;
    width: 290px;
    max-width: 92vw;
    background: #ece9d8;
    border: 2px solid var(--xp-window-border, #003db3);
    box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.45);
    text-align: left;
    cursor: default;
}

.season-radio-dd-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px 6px;
    background: linear-gradient(to right, #0058e6 0%, #003db3 9%, #0046d5 35%, #001e91 100%);
    color: #ffffff;
    font-size: 11px;
    font-weight: bold;
    user-select: none;
}

.season-radio-dd-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.season-radio-dd-close {
    width: 17px;
    height: 17px;
    padding: 0;
    font-size: 11px;
    line-height: 14px;
    color: #fff;
    background: linear-gradient(to bottom, #f37b5a 0%, #e34317 100%);
    border: 1px solid #7c1a00;
    cursor: pointer;
    font-weight: bold;
}

.season-radio-dd-close:active {
    box-shadow: inset -1px -1px 1px rgba(255,255,255,0.4);
}

.season-radio-dd-body {
    background: #ffffff;
    border: 2px inset #d4d0c8;
    margin: 4px;
    max-height: 240px;
    overflow-y: auto;
}

.season-radio-loading {
    padding: 14px;
    text-align: center;
    font-size: 11px;
    color: #666666;
    font-style: italic;
}

.season-radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-bottom: 1px dotted #d4d0c8;
    cursor: pointer;
    user-select: none;
}

.season-radio-item:last-child {
    border-bottom: none;
}

.season-radio-item:hover {
    background: #316ac5;
    color: #ffffff !important;
}

.season-radio-item:hover .season-radio-item-name,
.season-radio-item:hover .season-radio-item-title,
.season-radio-item:hover .season-radio-item-listeners {
    color: #ffffff !important;
}

.season-radio-item-avatar {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    object-fit: cover !important;
    border: 1px solid #7f9db9;
    flex-shrink: 0;
}

.season-radio-item-info {
    flex: 1;
    min-width: 0;
    line-height: 1.25;
}

.season-radio-item-name {
    font-weight: bold;
    font-size: 11px;
    color: var(--xp-blue-dark, #0e44b8);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.season-radio-item-title {
    font-size: 10px;
    color: #555555;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.season-radio-item-listeners {
    font-size: 11px;
    font-weight: bold;
    color: #1a6b1a;
    flex-shrink: 0;
}

.season-radio-empty {
    padding: 16px 12px;
    text-align: center;
    font-size: 11px;
    color: #444444;
}

.season-radio-empty-icon {
    font-size: 24px;
    margin-bottom: 6px;
}

.season-radio-empty-hint {
    margin-top: 6px;
    font-size: 10px;
    color: #777777;
    line-height: 1.35;
}

/* --- Таймер --- */
.season-timer {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    flex-shrink: 0;
}

.season-timer-label { color: #4a4a4a; }

.season-timer-value {
    padding: 2px 8px;
    font-family: "Lucida Console", "Courier New", monospace;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.5px;
    color: #8fffb0;
    background: linear-gradient(180deg, #0a2a1c 0%, #05160f 100%);
    border: 1px inset #b6b0a0;
    text-shadow: 0 0 5px rgba(120, 255, 170, 0.55);
    font-variant-numeric: tabular-nums;
}

.season-strip.hot .season-timer-value {
    color: #ffb0a0;
    background: linear-gradient(180deg, #2a0a0a 0%, #160505 100%);
    text-shadow: 0 0 6px rgba(255, 120, 90, 0.7);
}

.season-strip.hot .season-timer-label {
    color: #a32b13;
    font-weight: bold;
}

.season-strip.finished .season-timer-value {
    color: #b9b9b9;
    background: linear-gradient(180deg, #1c1c1c 0%, #0d0d0d 100%);
    text-shadow: none;
}

.season-strip.finished .season-timer-label {
    color: #555;
    font-weight: bold;
}

/* ==========================================================================
   МОБИЛЬНАЯ АДАПТАЦИЯ (ЭКРАНЫ <= 768px)
   ========================================================================== */
@media screen and (max-width: 768px) {
    .season-strip {
        gap: 4px;
        padding: 3px 6px;
        font-size: 11px;
        min-height: 26px;
    }

    .season-strip-left {
        gap: 4px;
    }

    /* Переключение на короткие надписи */
    .season-online-text-full,
    .season-radio-text-full,
    .season-timer-label {
        display: none !important;
    }

    .season-online-text-short,
    .season-radio-text-short {
        display: inline !important;
    }

    .season-online,
    .season-radio-btn {
        padding: 2px 6px;
        font-size: 11px;
    }

    .season-timer-value {
        font-size: 11px;
        padding: 2px 6px;
    }

    /* Мобильный попап станций: прижимается к краям экрана без вылета */
    .season-radio-dropdown {
        position: fixed !important;
        top: 32px !important;
        left: 6px !important;
        right: 6px !important;
        width: auto !important;
        max-width: calc(100vw - 12px) !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.55) !important;
        z-index: 1000000 !important;
    }

    .season-radio-dd-body {
        max-height: 52vh;
    }

    .season-radio-item {
        padding: 8px 10px; /* Удобный touch-target для пальца */
    }

    .season-radio-item-avatar {
        width: 36px !important;
        height: 36px !important;
    }

    .season-radio-item-name {
        font-size: 12px;
    }

    .season-radio-item-title {
        font-size: 11px;
    }
}

/* Экстра-узкие экраны (320px - 360px) */
@media screen and (max-width: 360px) {
    .season-strip {
        padding: 2px 4px;
        gap: 3px;
    }
    .season-online-text-short {
        display: none !important; /* Остаётся только точка и цифра */
    }
    .season-online,
    .season-radio-btn {
        padding: 2px 4px;
        font-size: 10px;
    }
    .season-timer-value {
        font-size: 10px;
        padding: 2px 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .season-dot,
    .season-online.pulse,
    .season-radio-btn.pulse,
    .season-radio-btn.live .season-radio-dot { animation: none !important; }
}