/* Общие стили */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-color: #2c3e50;
    --secondary-color: #3498db;
    --accent-color: #e74c3c;
    --bg-color: #ecf0f1;
    --text-color: #2c3e50;
    --border-radius: 12px;
    --shadow: 0 4px 6px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 25px rgba(0,0,0,0.15);
}

body {
    font-family: 'Roboto', sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: var(--text-color);
    line-height: 1.6;
    min-height: 100vh;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Шапка */
.header {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: var(--shadow);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
}

.logo h1 {
    font-size: 2rem;
    color: var(--accent-color);
    margin-bottom: 0;
}

.logo p {
    font-size: 0.9rem;
    color: #7f8c8d;
}

.nav {
    display: flex;
    gap: 2rem;
}

.nav-link {
    text-decoration: none;
    color: var(--text-color);
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.nav-link:hover,
.nav-link.active {
    background: var(--secondary-color);
    color: white;
}

/* Секция плеера */
.player-section {
    background: white;
    margin: 2rem 0;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    padding: 2rem;
}

.player-wrapper {
    display: grid;
    gap: 2rem;
}

.track-info {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.track-cover {
    width: 150px;
    height: 150px;
    border-radius: var(--border-radius);
    background-size: cover;
    background-position: center;
    box-shadow: var(--shadow);
    flex-shrink: 0;
}

.track-details {
    flex: 1;
}

.track-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--primary-color);
}

.track-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    color: #7f8c8d;
}

.listeners {
    font-weight: 500;
}

.status-online {
    color: #27ae60;
    font-weight: 600;
}

.status-offline {
    color: #e74c3c;
    font-weight: 600;
}

/* Плеер и визуализация */
.player-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.visualizer {
    border-radius: var(--border-radius);
    box-shadow: var(--shadow);
}

/* Основной контент */
.main-content {
    min-height: 60vh;
}

.page {
    display: none;
}

.page.active {
    display: block;
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section {
    background: white;
    margin: 2rem 0;
    padding: 2rem;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow);
}

.section h2 {
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    border-bottom: 3px solid var(--accent-color);
    padding-bottom: 0.5rem;
}

/* Текущий трек (большой) */
.current-track-large {
    display: flex;
    gap: 2rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, #667eea15 0%, #764ba215 100%);
    border-radius: var(--border-radius);
}

.current-cover {
    width: 200px;
    height: 200px;
    border-radius: var(--border-radius);
    background-size: cover;
    background-position: center;
    box-shadow: var(--shadow-lg);
    flex-shrink: 0;
}

.current-info h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: var(--primary-color);
}

.dj-name {
    font-size: 1.1rem;
    color: #7f8c8d;
}

/* Последние песни */
.last-song-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    margin: 0.5rem 0;
    background: #f8f9fa;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.last-song-item:hover {
    background: #e9ecef;
    transform: translateX(5px);
}

.song-cover {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    object-fit: cover;
}

.song-info {
    flex: 1;
}

.song-title {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0.25rem;
}

.song-time {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.youtube-link {
    color: #e74c3c;
    transition: transform 0.3s ease;
    слаждайтесь музыкой для души!</p>
        `
    },
    {
        id: 2,
        title: "Конкурс для слушателей",
        date: "2024-01-10",
        image: "https://via.placeholder.com/400x300?text=Contest",
        excerpt: "Примите участие в нашем конкурсе и выиграйте ценные призы...",
        content: `
            <h2>Конкурс для слушателей</h2>
            <p><em>10 января 2024</em></p>
            <img src="https://via.placeholder.com/800x400?text=Contest" style="width:100%; border-radius:12px; margin:1rem 0;">
            <p>Уважаемые слушатели! Мы объявляем конкурс «Угадай мелодию»!</p>
            <p>Условия участия:</p>
            <ul>
                <li>Слушайте наше радио каждый день</li>
                <li>Угадывайте композиции по первым нотам</li>
                <li>Звоните на наш номер и называйте правильный ответ</li>
            </ul>
            <p>Победители получат ценные призы и возможность побывать на концерте любимого исполнителя!</p>
        `
    },
    {
        id: 3,
        title: "Интервью с легендой шансона",
        date: "2024-01-05",
        image: "https://via.placeholder.com/400x300?text=Interview",
        excerpt: "Эксклюзивное интервью с одним из самых ярких представителей жанра...",
        content: `
            <h2>Интервью с легендой шансона</h2>
            <p><em>5 января 2024</em></p>
            <img src="https://via.placeholder.com/800x400?text=Interview" style="width:100%; border-radius:12px; margin:1rem 0;">
            <p>Сегодня в эфире нашего радио состоялась встреча с одним из самых ярких представителей русского шансона!</p>
            <p>Артист поделился своими воспоминаниями о начале творческого пути, рассказал о новых проектах и исполнил несколько композиций в прямом эфире.</p>
            <p>Не пропустите повтор этого уникального интервью в ближайшие дни!</p>
        `
    }
];

function loadNews() {
    const newsContainer = document.getElementById('news-list');
    if (!newsContainer) return;
    
    newsContainer.innerHTML = '';
    
    newsData.forEach(news => {
        const newsCard = document.createElement('div');
        newsCard.className = 'news-card';
        newsCard.innerHTML = `
            <img src="${news.image}" alt="${news.title}" class="news-image">
            <div class="news-content">
                <h3 class="news-title">${news.title}</h3>
                <p class="news-date">${formatDate(news.date)}</p>
                <p class="news-excerpt">${news.excerpt}</p>
            </div>
        `;
        
        newsCard.addEventListener('click', () => openNewsModal(news));
        newsContainer.appendChild(newsCard);
    });
}

function openNewsModal(news) {
    const modal = document.getElementById('news-modal');
    const content = document.getElementById('news-full-content');
    
    content.innerHTML = news.content;
    modal.classList.add('active');
    
    document.body.style.overflow = 'hidden';
}

function closeNewsModal() {
    const modal = document.getElementById('news-modal');
    modal.classList.remove('active');
    document.body.style.overflow = 'auto';
}

function formatDate(dateString) {
    const months = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 
                   'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
    const date = new Date(dateString);
    return `${date.getDate()} ${months[date.getMonth()]} ${date.getFullYear()}`;
}

// Обработчики событий
document.addEventListener('DOMContentLoaded', function() {
    const modalClose = document.querySelector('.modal-close');
    const modal = document.getElementById('news-modal');
    
    if (modalClose) {
        modalClose.addEventListener('click', closeNewsModal);
    }
    
    if (modal) {
        modal.addEventListener('click', function(e) {
            if (e.target === this) {
                closeNewsModal();
            }
        });
    }
    
    document.addEventListener('keydown', function(e) {
        if (e.key === 'Escape') {
            closeNewsModal();
        }
    });
});
