/* ГЛОБАЛЬНЫЕ НАСТРОЙКИ */
:root {
    --bg-color: #081111;
    --bg-alt: #0a1818;
    --accent-pink: #ff007f;
    --accent-cyan: #00e5ff;
    --card-bg: #112222;
    --text-color: #e0f7f7;
    --pixel-font: 'VT323', monospace;
    --modern-font: 'Montserrat', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, html {
    margin: 0; padding: 0; min-height: 100vh;
    background-color: var(--bg-color); color: var(--text-color);
    font-family: var(--modern-font); -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

/* ФИКС СКРОЛЛА ПРИ ОТКРЫТЫХ МЕНЮ/МОДАЛКАХ */
body.no-scroll { overflow: hidden !important; touch-action: none; height: 100vh; }

/* УТИЛИТЫ И ОТСТУПЫ */
.mt-5 { margin-top: 5px; } .mt-10 { margin-top: 10px; } .mt-15 { margin-top: 15px; } .mt-20 { margin-top: 20px; } .mt-30 { margin-top: 30px; } .mt-40 { margin-top: 40px; }
.px-15 { padding-left: 15px; padding-right: 15px; } .pb-10 { padding-bottom: 10px; } .pb-40 { padding-bottom: 40px; }
.p-15 { padding: 15px; }
.text-center { text-align: center; } .text-sm { font-size: 14px; line-height: 1.5; } .text-xl { font-size: 22px; }
.text-pink { color: var(--accent-pink); } .text-cyan { color: var(--accent-cyan); } .text-white { color: #fff; } .text-black { color: #000; }
.bg-cyan { background-color: var(--accent-cyan); } .bg-pink { background-color: var(--accent-pink); } .bg-dark { background-color: rgba(0,0,0,0.5); }
.w-100 { width: 100%; } .block { display: block; } .inline-block { display: inline-block; }
.pixel-font { font-family: var(--pixel-font); }
.border-black { border: 2px solid #000; border-radius: 12px; }
.border-pink { border: 2px solid var(--accent-pink); border-radius: 12px; }
.section-spacer { margin-top: 10px; margin-bottom: 10px; }

/* ПЛАВНЫЕ ГРАДИЕНТНЫЕ ПЕРЕХОДЫ */
.section-padded {
    padding-top: 40px;
    padding-bottom: 40px;
    margin: 0; 
    position: relative;
    z-index: 1;
}
.bg-gradient-pink { background: linear-gradient(to bottom, transparent 0%, rgba(255, 0, 127, 0.15) 40%, rgba(255, 0, 127, 0.15) 60%, transparent 100%); }
.bg-gradient-cyan { background: linear-gradient(to bottom, transparent 0%, rgba(0, 229, 255, 0.08) 40%, rgba(0, 229, 255, 0.08) 60%, transparent 100%); }

/* ДИНАМИЧНЫЕ ФОНЫ */
@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.bg-animated-main {
    background: linear-gradient(-45deg, #081111, #130a18, #081111, #0a1818);
    background-size: 400% 400%;
    animation: gradientBG 20s ease infinite;
}

/* ВОДЯНОЙ ЗНАК GIRL BANDA */
.ghost-watermark {
    position: fixed;
    top: 55%; left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    width: 130vw; max-width: 600px;
    z-index: 0; pointer-events: none;
    opacity: 0; 
    color: transparent; /* Скрываем alt текст если картинка не загрузилась */
    transition: opacity 0.8s ease, transform 1.2s ease;
}
.ghost-watermark.visible {
    opacity: 0.04;
    transform: translate(-50%, -50%) scale(1);
}
#main-content { display: none; position: relative; width: 100%; overflow-x: hidden; z-index: 2;}

/* ДЕСКТОП (ЗАГЛУШКА) */
#desktop-block { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 50% 10%, #aa206a 0%, #30113f 50%, #0d0614 100%); z-index: 9999; flex-direction: column; justify-content: center; align-items: center; }
.desktop-content { display: flex; flex-direction: column; align-items: center; gap: 15px; width: 90%; max-width: 650px; padding: 20px; z-index: 2; }
.floating-logo { width: 100%; max-width: 500px; margin-bottom: 10px; animation: floatLogo 4s ease-in-out infinite; filter: drop-shadow(0px 15px 25px rgba(255, 0, 127, 0.4));}
@keyframes floatLogo { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } }
.info-card, .action-card { background: rgba(15, 5, 25, 0.7); border: 1.5px solid rgba(255, 51, 234, 0.6); border-radius: 20px; width: 100%; box-sizing: border-box; backdrop-filter: blur(12px); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.info-card { display: flex; justify-content: space-between; align-items: center; padding: 25px 40px; }
.info-text { color: #f0c2ff; font-size: 20px; font-weight: 700; line-height: 1.4; text-align: left; }
.info-text strong { color: #ffffff; display: inline-block; margin-top: 12px; font-size: 22px; }
.qr-code { width: 120px; height: 120px; background: #fff; border-radius: 12px; padding: 6px; } .qr-code img { width: 100%; height: 100%; border-radius: 6px; }
.action-card { display: flex; justify-content: space-between; padding: 20px 25px; gap: 20px; }
.btn-pink { flex: 1; background: var(--accent-pink); color: white; text-align: center; padding: 18px 10px; border-radius: 12px; text-decoration: none; font-weight: 900; transition: 0.3s;}

/* СПЛЕШ СКРИН */
#splash-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--bg-color); z-index: 10000; display: flex; justify-content: center; align-items: center; transition: opacity 0.4s ease-out; }
#splash-screen.fade-out { opacity: 0; pointer-events: none; }
#splash-logo { width: 65%; max-width: 320px; animation: splashLogoAnimation 1s forwards ease-in-out; }
@keyframes splashLogoAnimation { 0% { opacity: 0; transform: scale(0.7) rotate(-5deg); } 50% { opacity: 1; transform: scale(1.1) rotate(5deg); } 100% { opacity: 1; transform: scale(1) rotate(0deg); } }

/* МЕНЮ (ОВЕРЛЕЙ) */
.mobile-menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(8, 17, 17, 0.95); backdrop-filter: blur(10px); z-index: 9998; display: flex; flex-direction: column; justify-content: center; align-items: center; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.mobile-menu-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }
.menu-content { display: flex; flex-direction: column; text-align: center; width: 100%;}
.menu-link { font-family: var(--pixel-font); font-size: 42px; color: #fff; text-decoration: none; margin: 15px 0; text-transform: uppercase; text-shadow: 3px 3px 0px var(--accent-pink); transition: 0.2s; }
.menu-link:active { color: var(--accent-cyan); text-shadow: 3px 3px 0px #000; transform: scale(0.95); }
.close-menu-btn { margin-top: 40px; padding: 15px 30px; font-family: var(--modern-font); font-weight: 900; font-size: 16px; background: transparent; border: 2px solid var(--accent-cyan); color: var(--accent-cyan); border-radius: 30px; cursor: pointer; text-transform: uppercase; display: flex; align-items: center; gap: 10px; transition: 0.2s; }
.close-menu-btn:active { background: var(--accent-cyan); color: #000; }
.close-menu-btn span { font-size: 24px; line-height: 1; }

/* АНИМАЦИИ ПОЯВЛЕНИЯ */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.reveal.active { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; } .reveal-delay-2 { transition-delay: 0.2s; } .reveal-delay-3 { transition-delay: 0.3s; }
.reveal-up { opacity: 0; transform: translateY(100px); transition: all 0.5s ease-out; }
.reveal-up.active { opacity: 1; transform: translateY(0); }

/* ДЕКОРАТИВНЫЕ ПИКСЕЛИ */
.floating-pixel { position: absolute; width: 10px; height: 10px; background: var(--accent-pink); opacity: 0.5; z-index: 0; animation: floatUp 8s linear infinite; }
@keyframes floatUp { 0% { transform: translateY(0) rotate(0deg); opacity: 0; } 50% { opacity: 0.5; } 100% { transform: translateY(-100px) rotate(360deg); opacity: 0; } }

/* ВАУ-ЭФФЕКТЫ */
.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:active { transform: translateY(-3px) scale(0.98); box-shadow: 0 10px 20px rgba(0,0,0,0.8); }
.floating-shadow { box-shadow: 0 10px 20px rgba(255, 0, 127, 0.2); animation: breathe 4s infinite alternate; }
@keyframes breathe { from { box-shadow: 0 10px 20px rgba(255, 0, 127, 0.2); } to { box-shadow: 0 15px 35px rgba(255, 0, 127, 0.5); } }
.drop-shadow-cyan { text-shadow: 4px 4px 0px var(--accent-cyan), 6px 6px 0px rgba(0,0,0,0.8); }
.pulse-text { animation: pulseText 2s infinite; }
@keyframes pulseText { 0%, 100% { text-shadow: 2px 2px 0px var(--accent-pink), -2px -2px 0px var(--accent-cyan); } 50% { text-shadow: 4px 4px 5px var(--accent-pink), -4px -4px 5px var(--accent-cyan); } }

/* Шапка */
.mobile-header { display: flex; justify-content: flex-start; align-items: center; padding: 15px 20px; position: relative; z-index: 10; }
.header-logo { width: 100px; margin-top: 5px; } 
.header-logo img { width: 100%; height: auto; filter: drop-shadow(2px 2px 0px rgba(255,0,127,0.5)); }

/* Кнопка Бургер-меню */
.burger-btn { position: fixed; top: 15px; right: 20px; width: 45px; height: 45px; background: var(--accent-pink); border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; border: 2px solid #000; box-shadow: 0 0 10px var(--accent-pink), 2px 2px 0px #000; cursor: pointer; transition: 0.3s; z-index: 9999; }
.burger-btn:active { transform: scale(0.9); }
.burger-btn span { display: block; width: 20px; height: 2px; background: white; border-radius: 2px; transition: 0.3s; }
.burger-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger-btn.open span:nth-child(2) { opacity: 0; }
.burger-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Бегущая строка */
.tilted-marquee { transform: rotate(-2deg) scale(1.05); margin-top: 5px; margin-bottom: 10px; }
.marquee-container { width: 100%; background: var(--accent-pink); border-top: 2px solid #000; border-bottom: 2px solid #000; padding: 6px 0; overflow: hidden; white-space: nowrap; z-index: 5; position: relative;}
.shadow-neon { box-shadow: 0 0 15px rgba(255, 0, 127, 0.4); }
.marquee-content { display: inline-block; font-family: var(--pixel-font); font-size: 16px; color: #fff; text-shadow: 1px 1px 0px #000; letter-spacing: 2px; animation: marquee 8s linear infinite; } 
.marquee-content span { padding-right: 50px; }
@keyframes marquee { 0% { transform: translateX(0%); } 100% { transform: translateX(-50%); } }

/* Видео блок (ВМЕЩАЕМ В ЭКРАН) */
#about.section-padded { padding-top: 10px; padding-bottom: 20px; } 
.video-section { padding-left: 15px; padding-right: 15px; }
.video-wrapper { position: relative; width: 100%; height: 75vh; border-radius: 20px; border: 4px solid var(--accent-pink); overflow: hidden; box-shadow: 0 0 25px rgba(255, 0, 127, 0.6), inset 0 0 20px #000; background-color: #000; transition: 0.3s; } 
.bg-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s ease-in; z-index: 1;}
.bg-video.loaded { opacity: 1; }

.video-overlay-date { position: absolute; top: 20px; left: 20px; width: 100px; height: auto; z-index: 5; filter: drop-shadow(0px 0px 15px rgba(0, 229, 255, 0.5));} 
.video-overlay-date img { width: 100%; height: auto; }
.float-anim { animation: floatSoft 3s ease-in-out infinite alternate; }
@keyframes floatSoft { from { transform: translateY(0px) rotate(-5deg); } to { transform: translateY(-10px) rotate(5deg); } }

/* Типографика и Блоки */
.neon-title { font-weight: 900; font-size: 34px; margin: 0 0 15px 0; text-transform: uppercase; text-shadow: 2px 2px 0px var(--accent-pink), -2px -2px 0px var(--accent-cyan); line-height: 1.1; }
.pixel-title { font-family: var(--pixel-font); font-size: 46px; margin: 0 0 10px 0; text-shadow: 3px 3px 0px #000; }
.street-card { background: linear-gradient(145deg, #162a2a, #0b1515); border: 2px solid var(--accent-cyan); border-radius: 20px; padding: 35px 25px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7); position: relative; z-index: 2;}
.street-card::before, .street-card::after { content: ''; position: absolute; width: 14px; height: 14px; background: var(--accent-pink); border: 2px solid #000;}
.street-card::before { top: -6px; left: -6px; } .street-card::after { bottom: -6px; right: -6px; }
.street-card p { font-weight: 500; font-size: 16px; line-height: 1.5; margin-bottom: 15px; color: #b0d4d4; }
.bordered-title-box { border: 3px solid var(--accent-pink); border-radius: 15px; padding: 25px 20px; background: rgba(0,0,0,0.6); }
.bordered-title-box h3 { font-size: 28px; font-weight: 900; text-transform: uppercase; margin: 0; line-height: 1.2; text-shadow: 2px 2px 0px #000;}

/* БЛОК СЦЕН */
.carousel-container { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 20px; padding: 0 15px 15px 15px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.carousel-container::-webkit-scrollbar { display: none; }
.slide-card { scroll-snap-align: center; flex: 0 0 88%; background: #050a0a; border-radius: 20px; border: 3px solid var(--accent-pink); position: relative; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 10px 20px rgba(255, 0, 127, 0.2);}

.stage-badge-top { position: absolute; top: 15px; left: 50%; transform: translateX(-50%); font-weight: 900; font-size: 16px; padding: 8px 25px; border-radius: 30px; background: rgba(0,0,0,0.8); color: var(--accent-pink); border: 2px solid var(--accent-pink); z-index: 2; text-transform: uppercase; white-space: nowrap; box-shadow: 0 0 10px rgba(255,0,127,0.5);}
.stage-badge-top.cyan-border { color: var(--accent-cyan); border-color: var(--accent-cyan); box-shadow: 0 0 10px rgba(0,229,255,0.5);}

.stage-image-placeholder { height: 280px; background-size: cover; background-position: center top; position: relative; }
.overlay-gradient-heavy { position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, #050a0a 10%, transparent 70%); }

.slide-content { padding: 25px; flex-grow: 1; position: relative; z-index: 2; margin-top: 0;}
.stage-card .slide-content { margin-top: -30px; padding-top: 0; }
.stage-desc-main { font-size: 18px; font-weight: 900; color: #fff; margin-bottom: 10px; line-height: 1.3;}
.stage-desc-sub { font-size: 14px; font-weight: 500; color: #d0e0e0; line-height: 1.4;}

.city-tags { display: flex; gap: 10px; justify-content: center; }
.city-pill { padding: 4px 15px; font-size: 12px; font-weight: 900; border-radius: 20px; border: 2px solid; background: rgba(0,0,0,0.5); }
.border-cyan { color: var(--accent-cyan); border-color: var(--accent-cyan); }
.border-pink { color: var(--accent-pink); border-color: var(--accent-pink); }

.carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 10px; }
.dot { width: 10px; height: 10px; background: rgba(255,255,255,0.2); border-radius: 50%; transition: 0.3s; }
.dot.active { background: var(--accent-pink); box-shadow: 0 0 8px var(--accent-pink); transform: scale(1.2); }

/* Лайн-ап Сетка */
.lineup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.animated-border { position: relative; }
.animated-border::after { content:''; position: absolute; top:-2px; left:-2px; right:-2px; bottom:-2px; background: linear-gradient(45deg, #ff007f, #00e5ff, #ff007f); z-index: -1; background-size: 400%; animation: gradientBG 3s linear infinite; border-radius: 14px;}
.artist-card { background: linear-gradient(135deg, #2a0845, #6441A5); border-radius: 12px; height: 120px; display: flex; align-items: flex-end; padding: 10px; border: 2px solid var(--accent-cyan); position: relative; overflow: hidden; box-shadow: inset 0 0 20px rgba(0,0,0,0.5);}
.artist-card.main-artist { grid-column: 1 / -1; height: 180px; background: linear-gradient(135deg, #ff007f, #4a00e0); border:none; }
.artist-card::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 60%; background: linear-gradient(to top, rgba(0,0,0,0.9), transparent); z-index: 1; }
.artist-name { font-family: var(--pixel-font); font-size: 24px; background: transparent; padding: 4px 8px; width: 100%; text-align: center; text-shadow: 2px 2px 0 #000; position: relative; z-index: 2; color: #fff; }
.glitch-text { position: relative; color: white; }
.glitch-text::before, .glitch-text::after { content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; }
.glitch-text::before { left: 2px; text-shadow: -1px 0 var(--accent-pink); clip: rect(24px, 550px, 90px, 0); animation: glitch-anim 2.5s infinite linear alternate-reverse; }
.glitch-text::after { left: -2px; text-shadow: -1px 0 var(--accent-cyan); clip: rect(85px, 550px, 140px, 0); animation: glitch-anim 3s infinite linear alternate-reverse; }
@keyframes glitch-anim { 0% { clip: rect(10px, 9999px, 44px, 0); } 20% { clip: rect(50px, 9999px, 80px, 0); } 40% { clip: rect(30px, 9999px, 90px, 0); } 60% { clip: rect(70px, 9999px, 20px, 0); } 80% { clip: rect(10px, 9999px, 60px, 0); } 100% { clip: rect(90px, 9999px, 40px, 0); } }

/* ИНТЕРАКТИВЫ */
.interactive-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 15px; }
.int-card-neo {
    background: linear-gradient(135deg, rgba(20,30,40,0.8), rgba(10,15,20,0.9));
    border: 2px solid var(--accent-cyan); border-radius: 16px;
    padding: 25px 10px 15px 10px; display: flex; flex-direction: column; align-items: center;
    text-align: center; position: relative; box-shadow: 0 10px 20px rgba(0,0,0,0.5);
    margin-top: 15px; 
}
.int-card-neo.border-pink { border-color: var(--accent-pink); }

.int-visual {
    position: absolute; top: -30px; left: 50%; transform: translateX(-50%);
    width: 60px; height: 60px; background: #000; border-radius: 50%;
    border: 3px solid var(--accent-cyan); display: flex; justify-content: center; align-items: center;
    box-shadow: 0 0 15px var(--accent-cyan), inset 0 0 10px var(--accent-cyan);
    z-index: 2;
}
.int-card-neo.border-pink .int-visual { border-color: var(--accent-pink); box-shadow: 0 0 15px var(--accent-pink), inset 0 0 10px var(--accent-pink); transform: rotate(-5deg); }
.int-visual svg { width: 32px; height: 32px; stroke: #fff; }

.int-content { margin-top: 10px; }
.int-tag-neo {
    display: inline-block; font-family: var(--pixel-font); font-size: 14px;
    padding: 3px 10px; border-radius: 6px; margin-bottom: 10px;
    letter-spacing: 1px; font-weight: bold;
}

.int-title-neo { font-family: var(--modern-font); font-weight: 900; font-size: 14px; color: #fff; margin: 0; text-transform: uppercase; line-height: 1.3; }

/* Кнопки */
.btn-outline-cyan { border: 3px solid var(--accent-cyan); color: var(--accent-cyan); padding: 16px; border-radius: 12px; font-weight: 900; text-decoration: none; text-transform: uppercase; transition: 0.3s; background: rgba(0, 229, 255, 0.05);}

.smooth-btn {
    flex-grow: 1; margin-right: 15px; display: flex; justify-content: center; align-items: center; gap: 10px;
    padding: 18px 20px; font-family: var(--modern-font); font-weight: 900; font-size: 18px;
    text-transform: uppercase; text-decoration: none; text-align: center; color: #fff;
    background: var(--accent-pink); border: 3px solid #000; box-shadow: 4px 4px 0px #000;
    border-radius: 12px; position: relative; overflow: hidden;
}
.smooth-btn:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0px #000; }
.smooth-btn::before {
    content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.4), transparent);
    transform: skewX(-20deg); animation: buttonShine 3s infinite;
}
.ticket-icon { width: 24px; height: 24px; opacity: 0.8; }

/* Билеты: Вертикальный список (Больше не карусель) */
.vertical-cards-container { display: flex; flex-direction: column; gap: 25px; padding: 0 15px; }

.ticket-card-vertical { 
    border-radius: 20px; position: relative; overflow: hidden; display: flex; flex-direction: column; 
    box-shadow: 0 10px 20px rgba(255, 0, 127, 0.2); 
}
.ticket-card-vertical.bg-ticket { background: linear-gradient(160deg, #1a0b2e, #0f172a); border: 3px solid var(--accent-cyan); }
.ticket-card-vertical.bg-ticket-vip { background: linear-gradient(160deg, #2a0845, #6441A5); border: 3px solid var(--accent-pink); }

.ticket-header-flex { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 15px; }
.ticket-header-text { flex: 1; padding-right: 10px; }
.ticket-badge-static { background: var(--accent-pink); color: #fff; font-family: var(--modern-font); font-weight: 900; font-size: 14px; padding: 6px 12px; border-radius: 8px; white-space: nowrap; flex-shrink: 0; }
.border-cyan-light { background: var(--accent-cyan); color: #000; }

/* Новый стиль списка с эмодзи */
.ticket-perks-emoji { list-style: none; padding: 0; margin: 0; }
.ticket-perks-emoji li { display: flex; align-items: flex-start; margin-bottom: 12px; font-size: 14px; font-weight: 600; color: #fff; line-height: 1.4; }
.ticket-perks-emoji li span { margin-right: 12px; font-size: 18px; line-height: 1.2; flex-shrink: 0; }

.ticket-price { 
    font-family: var(--modern-font); 
    font-weight: 900; 
    font-size: 36px; 
    color: #fff;
    border-top: 2px dashed rgba(255,255,255,0.2); 
    padding-top: 15px; 
    text-align: center; 
    text-shadow: 4px 4px 0 var(--accent-pink), 6px 6px 0 #000; 
}
.ticket-card-vertical.bg-ticket-vip .ticket-price { text-shadow: 4px 4px 0 var(--accent-cyan), 6px 6px 0 #000; }

/* FAQ (БЕЛЫЙ ДИЗАЙН) */
.accordion-item { 
    margin-bottom: 20px; border-radius: 12px; overflow: hidden; background: #fff; border: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3); transition: 0.2s;
}
.accordion-header { 
    width: 100%; background: #fff; border: none; padding: 20px; display: flex; 
    justify-content: space-between; align-items: flex-start; cursor: pointer; border-radius: 12px; 
}
.accordion-title { 
    font-family: var(--modern-font); font-weight: 900; color: #000; font-size: 16px; 
    text-align: left; padding-right: 15px; line-height: 1.3;
}
.accordion-icon { 
    width: 36px; height: 36px; background: var(--accent-pink); border-radius: 50%; color: #fff; 
    display: flex; justify-content: center; align-items: center; font-size: 24px; line-height: 1; 
    font-weight: 400; transition: transform 0.3s ease; flex-shrink: 0; box-shadow: 0 4px 10px rgba(255,0,127,0.4);
}
.accordion-header.active .accordion-icon { transform: rotate(45deg); background: var(--accent-pink);}
.accordion-content { 
    background: #fff; border: none; border-radius: 0 0 12px 12px; max-height: 0; overflow: hidden; 
    transition: max-height 0.3s ease, padding 0.3s ease; padding: 0 20px; 
}
.accordion-content p { margin: 0 0 20px 0; font-size: 14px; line-height: 1.6; color: #333; font-weight: 500;}
.accordion-content a { color: #000; font-weight: 700; text-decoration: underline;}

/* ПОДВАЛ */
.main-footer { text-align: center; padding: 0 20px; display: flex; flex-direction: column; align-items: center;}
.footer-links { display: flex; flex-direction: column; gap: 15px; align-items: center; }
.footer-links a { color: #fff; text-decoration: none; font-weight: 900; font-size: 16px; border-bottom: 2px dashed rgba(255,255,255,0.5); padding-bottom: 2px; transition: 0.3s;}
.footer-links a:active { color: var(--accent-cyan); border-color: var(--accent-cyan); }
.footer-copy { font-size: 13px; color: #a0a0a0; line-height: 1.6; font-weight: 700; text-transform: uppercase;}

/* Плавающая панель */
.bottom-spacer { height: 120px; }
.sticky-bottom-bar { position: fixed; bottom: 0; left: 0; width: 100%; padding: 20px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; background: linear-gradient(to top, var(--bg-color) 80%, transparent); z-index: 100; }

/* КНОПКА ТЕЛЕГРАМА (Белый круг + черный самолетик) */
.chat-bubble-btn { 
    width: 60px; height: 60px; background: transparent; border-radius: 50%; 
    display: flex; justify-content: center; align-items: center; 
    flex-shrink: 0; transition: transform 0.2s; 
    /* Тень под кнопку если нужно */
    filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.4));
}
.chat-bubble-btn:active { transform: scale(0.9); }
.chat-bubble-btn svg { width: 60px; height: 60px; }

/* МОДАЛЬНОЕ ОКНО IFRAME (СКРЫТОЕ ПО УМОЛЧАНИЮ ДЛЯ ИСПРАВЛЕНИЯ СКРОЛЛА) */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(8, 17, 17, 0.9); backdrop-filter: blur(5px);
    z-index: 100000; display: flex; justify-content: center; align-items: center;
    visibility: hidden; opacity: 0; transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal-overlay.show { visibility: visible; opacity: 1; pointer-events: auto; }
.modal-container {
    position: relative; width: 95%; max-width: 600px; height: 85vh;
    background: #fff; border-radius: 20px; border: 3px solid var(--accent-pink);
    box-shadow: 0 0 30px rgba(255, 0, 127, 0.5); overflow: hidden;
}
.modal-close {
    position: absolute; top: 15px; right: 15px; width: 40px; height: 40px;
    background: var(--accent-pink); border: 2px solid #000; border-radius: 50%;
    color: #fff; font-size: 28px; font-weight: bold; cursor: pointer;
    display: flex; justify-content: center; align-items: center;
    box-shadow: 2px 2px 0 #000; z-index: 10; padding-bottom: 4px;
}
.modal-iframe { width: 100%; height: 100%; border: none; }

/* МЕДИА */
@media screen and (min-width: 769px) { #desktop-block { display: flex; } #splash-screen, #main-content, #burger-btn, #ghost-watermark, .sticky-bottom-bar, #ticket-modal { display: none !important; } }
@media screen and (max-width: 768px) { #main-content { display: block !important; } }