/* Datalife Engine template 
name: Music Hype (Refreshed for Pesnu.ru),
version dle: 12-20
*/

/* SET BASE
----------------------------------------------- */
:root {
    --card-bg: #ffffff;
    --accent-color: #2563eb;
    --accent-hover: #1d4ed8;
    --accent-second: #8b5cf6;
    --accent-coral: #f43f5e;
    --text-color: #1e293b;
    --border-radius: 12px;
    --anim-speed: 3s;
}

@font-face {
    font-family: 'MyFont';
    src: url('/webfonts/fa-regular-400.woff2') format('woff2'), url('/webfonts/fa-regular-400.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'FontAwesome';
    src: url('/webfonts/fa-solid-900.woff2') format('woff2'), url('/webfonts/fa-solid-900.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'FontAwesomeBrands';
    src: url('/webfonts/fa-brands-400.woff2') format('woff2'), url('/webfonts/fa-brands-400.woff') format('woff');
    font-display: swap;
}

* {
    background: transparent;
    margin: 0;
    padding: 0;
    outline: none;
    border: 0;
    box-sizing: border-box;
}

ol, ul { list-style: none; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: middle; }
article, aside, figure, figure img, hgroup, footer, header, nav, section, main { display: block; }
img { max-width: 100%; }
.clr { clear: both; }
.clearfix:after { content: ""; display: table; clear: both; }

body {
    font: 15px 'Montserrat', sans-serif;
    line-height: normal;
    padding: 0;
    margin: 0;
    color: #1e293b;
    background: #edf4fb;
    min-height: 100%;
    width: 100%;
    font-weight: 400;
}

a { color: #1e293b; text-decoration: none; }
a:hover, a:focus, .track-desc:hover > *, .side-item:hover *, .album-in:hover * {
    color: #2563eb;
    text-decoration: none;
}

h1, h3, h4, h5 { font-weight: 600; font-size: 20px; color: #0f172a; }
h2 { font-weight: 600; font-size: 23px; color: #1e40af; }
b, strong, .fw700 { font-weight: 600; }

button, textarea, select, input[type="text"], input[type="password"], input[type="button"], input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    font-size: 15px;
    font-family: 'Montserrat' !important;
}

.button, .btn, .pagi-load a, .up-second li a, .usp-edit a, .qq-upload-button, button:not(.color-btn):not([class*=fr]):not(.search-btn):not([class*=owl-]), html input[type="button"], input[type="reset"], input[type="submit"], .meta-fav a, .usp-btn a {
    display: inline-block;
    text-align: center;
    padding: 0 20px;
    height: 42px;
    line-height: 42px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 500;
    box-shadow: 0 2px 6px rgba(139, 92, 246, 0.15);
    background: linear-gradient(135deg, #ede9fe 0%, #f5f3ff 100%);
    color: #5b21b6;
    font-size: 15px;
    transition: all .25s ease;
}

.button:hover, .btn:hover, .up-second li a:hover, .usp-edit a:hover, .qq-upload-button:hover, .pagi-load a:hover, .usp-btn a:hover, button:not(.color-btn):not([class*=fr]):not(.search-btn):not([class*=owl-]):hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, .meta-fav a:hover {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
    transform: translateY(-2px);
}

button:active, input[type="button"]:active, input[type="submit"]:active {
    box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.15);
    transform: translateY(0);
}

input[type="text"], input[type="password"] {
    height: 42px;
    line-height: 42px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    padding: 0 15px;
}

select { height: 42px; border: 1px solid #cbd5e1; padding: 0 15px; width: auto; border-radius: 10px; }
textarea { padding: 15px; overflow: auto; vertical-align: top; resize: vertical; border-radius: 12px; }

input[type="text"], input[type="password"], select, textarea {
    width: 100%;
    background-color: #ffffff;
    color: #0f172a;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    transition: all .2s ease;
}

input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
    border-color: #3b82f6;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

input::placeholder, textarea::placeholder { color: #64748b; opacity: 0.7; font-size: 14px; }
input:focus::placeholder, textarea:focus::placeholder { color: transparent; }

.img-box, .img-wide, .img-resp, .img-resp-vert, .img-fit, .img-fit2 { overflow: hidden; position: relative; }
.img-resp { padding-top: 70%; }
.img-resp-vert { padding-top: 140%; }
.img-box img, .img-resp img, .img-resp-vert img { width: 100%; min-height: 100%; display: block; }
.img-resp img, .img-resp-vert img { position: absolute; left: 0; top: 0; }
.img-wide img { width: 100%; display: block; }
.img-fit img, .img-fit2 img { width: 100%; height: 100%; object-fit: cover; }

.nowrap { white-space: normal; overflow: hidden; text-overflow: ellipsis; }

/* FLEXBOX */
.fx-row, #dle-content { display: flex; flex-wrap: wrap; justify-content: space-between; }
.fx-col { display: flex; flex-direction: column; }
.fx-center { justify-content: center; }
.fx-middle { align-items: center; }
.fx-start, #dle-content { justify-content: flex-start; }
.fx-first { order: -1; }
.fx-last { order: 10; }
.fx-1 { flex-basis: 0; flex-grow: 1; max-width: 100%; min-width: 50px; }
.fx-between { justify-content: space-between; }

.icon-left [class*="fa-"], .icon-left .icon { margin-right: 10px; }
.icon-right [class*="fa-"], .icon-right .icon { margin-left: 10px; }

.hidden, #dofullsearch { display: none; }
.anim, .btn, button, .side-nav a, .collection-in::before, .wplayer, .audioplayer, .track-desc, .track-title, .track-subtitle, .side-item, .side-item * { transition: all .3s; }

.mtitle, .sub-title h1, .form-wrap h1 { margin-bottom: 30px; font-size: 22px; font-weight: 600; color: #0f172a; }
#dle-content > *:not(.album-item):not(.collection-item) { width: 100%; }

/* BASIC GRID
----------------------------------------------- */
.wrap { min-width: 320px; position: relative; }
.wrap-center { max-width: 1240px; margin: 0 auto; position: relative; z-index: 20; }
.header { margin-bottom: 12px; background: #ffffff; border-bottom: 1px solid #e2e8f0; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.header-in { padding: 12px 0; }
.col-main { min-height: 100vh; }
.col-left { width: 220px; margin-right: 30px; position: relative; z-index: 50; }
.col-right { width: 240px; margin-left: 30px; }
.footer { color: #64748b; padding: 30px 0; border-top: 1px solid #e2e8f0; margin-top: 30px; background: #ffffff; border-radius: 16px 16px 0 0; }
.footer a, .footer span { color: #2563eb; border-bottom: 1px dotted #2563eb; }

#gotop {
    position: fixed;
    width: 52px;
    height: 52px;
    line-height: 52px;
    right: 16px;
    bottom: 16px;
    z-index: 997;
    display: none;
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
    color: #fff;
    cursor: pointer;
    font-size: 20px;
    border-radius: 50%;
    text-align: center;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35);
    transition: transform 0.2s;
}
#gotop:hover { transform: scale(1.08); }

/* HEADER
----------------------------------------------- */
.logo { display: block; height: 40px; line-height: 40px; color: #2563eb !important; font-weight: 700; font-size: 21px; width: 200px; text-transform: uppercase; letter-spacing: 0.5px; }
.logo span { color: #ec4899; }
.logo span.logo-domain { color: #94a3b8; font-weight: 500; font-size: 15px; margin-left: 3px; }

.search-wrap { margin: 0 30px; }
.search-box { max-width: 740px; position: relative; }
.search-box input, .search-box input:focus { padding: 0 60px 0 20px; border-radius: 12px; box-shadow: none; border: 1px solid #e2e8f0; background: #f8fafc; }
.search-box input:not(:focus)::placeholder { color: #64748b; opacity: 0.6; font-size: 14px; }
.search-box button {
    position: absolute; right: 4px; top: 1px; z-index: 10; width: 50px; cursor: pointer;
    background: none; color: #64748b; line-height: 40px; text-align: center; border-radius: 0 12px 12px 0;
}
.search-box button:hover { color: #2563eb; }

/* SECTIONS
----------------------------------------------- */
.sect, .sect4 { margin-bottom: 22px; position: relative; }
.sect2, .sect3 { margin-bottom: 30px; position: relative; }

.sect-header, .sect2-header, .sect3-header, .sect-header4 { margin-bottom: 24px; }

.sect-title, .sect2-title, .sect3-title { font-weight: 600; font-size: 22px; color: #0f172a; }
.sect-title { display: inline-block; }
.sect-title4 { font-weight: 600; font-size: 14px; }

.sect-title [class*=fa-], .sect2-title [class*=fa-], .sect3-title [class*=fa-], .side-bt [class*=fa-], .speedbar [class*=fa-] {
    color: #f43f5e; margin-right: 12px;
}

.sect-bg { background-color: #ffffff; padding: 22px; border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.03); border: 1px solid rgba(226, 232, 240, 0.8); }
.sect-bgg { background-color: #f8fafc; padding: 30px; border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.03); border: 1px solid #e2e8f0; }
.sect2-bg { background-color: #ffffff; padding: 20px; border-radius: 16px; box-shadow: 0 4px 18px rgba(244, 63, 94, 0.06); border: 1px solid #ffe4e6; }
.sect3-bg { background-color: #ffffff; padding: 20px; border-radius: 16px; box-shadow: 0 4px 18px rgba(37, 99, 235, 0.06); border: 1px solid #dbeafe; text-align: justify; }
.sect4-bg { background-color: #ffffff; padding: 15px; border-radius: 14px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); border: 1px solid #e2e8f0; }

.sect-col, .sect2-col, .sect3-col { width: calc((100% - 30px)/2); }
.sect-items, .sect2-items, .sect3-items { margin: 0 -10px -20px -10px; }

.sect-link, .sect2-link, .sect3-link {
    height: 32px; line-height: 32px; margin-left: 15px; display: block; cursor: pointer;
    padding: 0 16px; background-color: #f1f5f9; border-radius: 20px; font-size: 13px; font-weight: 500; color: #475569;
}
.sect-link:hover, .sect2-link:hover { background-color: #ede9fe; color: #6d28d9; }
.sect3-link:hover { background-color: #e0f2fe; color: #0369a1; }

/* COLLECTION & ALBUM
----------------------------------------------- */
.collection-item, .album-item { padding: 0 10px; margin-bottom: 20px; width: 25%; }
.collection-item:nth-child(1), .collection-item:nth-child(6) { width: 50%; }

.collection-in { display: block; height: 125px; border-radius: 14px; position: relative; overflow: hidden; }
.collection-title { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 5; text-align: center; background-color: rgba(0,0,0,0); color: #fff; font-weight: 600; padding: 10px; display: flex; align-items: center; justify-content: center; }

.collection-in::before {
    content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 3;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.4) 40%, rgba(0,0,0,0) 100%);
    opacity: 0.85; transition: all 0.3s ease;
}
.collection-in:hover::before {
    opacity: 1; right: -100px;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(37, 99, 235, 0.4) 100%);
}

.album-img { border-radius: 14px; margin-bottom: 12px; padding-top: 100%; box-shadow: 0 4px 12px rgba(0,0,0,0.06); }

/* TRACK ITEM
----------------------------------------------- */
.track-item { position: relative; padding: 6px 10px; border-radius: 12px; }
.track-item:not(:last-child) { margin-bottom: 12px; }
.track-item > * { position: relative; z-index: 2; }
.track-item a, a.track-desc, .track-fav a { display: block; }

.track-img { width: 44px; height: 44px; border-radius: 10px; margin-right: 15px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.track-play {
    position: absolute; z-index: 5; left: 0; top: 0; right: 0; bottom: 0; text-align: center;
    background-color: rgba(15, 23, 42, 0.65); color: #facc15; cursor: pointer; font-size: 24px; opacity: 0;
    display: flex; align-items: center; justify-content: center; border-radius: 10px;
}
.track-item:hover .track-play { opacity: 1; }

.track-title { font-weight: 600; font-size: 14px; color: #0f172a; }
.track-subtitle { font-size: 12px; color: #64748b; margin-top: 4px; }
.track-time { font-size: 12px; color: #94a3b8; margin-left: 15px; }

.track-fav, .track-dl {
    width: 34px; height: 34px; border-radius: 50%; text-align: center;
    background-color: #f1f5f9; color: #3b82f6; margin-left: 8px; font-size: 13px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: all .2s;
}
.track-dl { background-color: transparent; color: #10b981; font-size: 22px; margin-left: 14px; }
.track-dl:hover { color: #059669; transform: scale(1.1); }
.track-fav:hover, .track-fav:hover a { background-color: #ffe4e6; color: #e11d48; }

/* Active Track Style */
.track-item.js-item-played::before {
    content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, #eff6ff, #f8fafc); border-radius: 12px; border: 1px solid #bfdbfe;
    border-left: 4px solid #2563eb; box-shadow: 0 4px 15px rgba(37, 99, 235, 0.12); z-index: 0; transition: all 0.3s ease-in-out;
}
.js-item-played .fa-play-circle:before, .js-item-played .fa-play:before { content: '\f04c'; font-size: 14px; position: relative; top: -4px; }
.js-item-played .track-equalizer { opacity: 1; }

.track-equalizer {
    z-index: 3; pointer-events: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(15, 23, 42, 0.65); align-items: center; justify-content: center; display: flex; opacity: 0;
    border-radius: 10px;
}
.track-equalizer li {
    background: #facc15; max-width: 4px; height: 100%; margin-right: 2px; border-radius: 3px;
    flex: 1 1 100%; min-width: 0; animation: equalizer .5s forwards ease-in-out infinite; animation-direction: alternate;
}
.track-equalizer li:last-child { margin-right: 0; }
.track-equalizer li:nth-child(1) { animation-duration: 2s; }
.track-equalizer li:nth-child(2) { animation-duration: 1.6s; }
.track-equalizer li:nth-child(3) { animation-duration: 1.9s; }
.track-equalizer li:nth-child(4) { animation-duration: 1.5s; }
.track-equalizer li:nth-child(5) { animation-duration: 1.7s; }

@keyframes equalizer {
    0% { height: 5%; } 12% { height: 10%; } 24% { height: 40%; } 36% { height: 15%; }
    48% { height: 25%; } 60% { height: 30%; } 72% { height: 20%; } 84% { height: 35%; } 100% { height: 5%; }
}

/* SIDEBAR
----------------------------------------------- */
.side-box { margin-bottom: 12px; padding: 18px; background: #ffffff; border-radius: 16px; border: 1px solid #e2e8f0; box-shadow: 0 2px 10px rgba(0,0,0,0.02); }
.side-sticky { position: sticky; left: 0; top: 15px; }
.side-bt { margin: 0 -10px 15px -10px; font-size: 17px; font-weight: 600; border-bottom: 2px dashed #f43f5e; padding: 0 10px 10px 10px; color: #0f172a; }

.side-nav { padding: 10px 0 1px 0; }
.side-nav > li { position: relative; margin-bottom: 18px; }
.side-nav > li > a { display: block; font-weight: 500; padding-left: 24px; color: #334155; }
.side-nav > li > span { position: absolute; left: 0; top: 0px; color: #2563eb; font-size: 16px; pointer-events: none; }
.side-nav > li > a:hover, .side-nav > li:hover > a { color: #2563eb; transform: translateX(3px); }

.submenu > a:after { content: "\f061"; font-weight: 300; font-family: 'Font Awesome 5 Pro'; transition: all .2s; display: inline-block; margin-left: 15px; position: relative; top: 2px; }

.hidden-menu {
    background-color: #fff; box-shadow: 0 20px 40px rgba(0,0,0,0.12); z-index: 100; position: absolute; left: 90%; top: 0%;
    width: 320px; border-radius: 14px; visibility: hidden; opacity: 0; transform: translateY(20px); padding: 20px 20px 5px;
    border: 1px solid #e2e8f0;
}
.hidden-menu li { width: 50%; margin-bottom: 15px; }
.hidden-menu li a { display: block; font-size: 14px; }
.side-nav > li:hover .hidden-menu { visibility: visible; opacity: 1; transform: translateY(0px); }

.side-top-item:not(:last-child) { margin-bottom: 20px; }
.side-letter { position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 5; font-size: 17px; text-align: center; background-color: #0f172a; color: #fff; text-transform: uppercase; font-weight: 600; border-radius: 8px; }
.side-item { display: block; margin-bottom: 12px; font-size: 14px; color: #64748b; line-height: 1.6; position: relative; padding-left: 20px; }
.side-item:last-child { margin-bottom: 0; }
.side-item span { font-weight: 600; color: #1e3a8a; }
.side-item::before { content: '\f111'; font-family: 'Font Awesome 5 Pro'; font-weight: 900; position: absolute; left: 0; top: 5px; color: #8b5cf6; font-size: 9px; }

.side-subscribe { background-color: #ffffff !important; color: #2563eb; }
.side-r { background-color: #ffffff !important; color: #2563eb; }
.side-ra { background-color: #ffffff !important; color: #2563eb; }

.side-subscribe-caption, .side-r-caption, .side-ra-caption { font-size: 13px; margin-top: 15px; color: #7c3aed; }
.side-subscribe .search-box input, .side-r .search-box input, .side-ra .search-box input { padding: 0 15px; }
.side-subscribe button, .side-r button, .side-ra button { right: 0; width: 40px; }
.side-subscribe .side-bt, .side-r .side-bt, .side-ra .side-bt { border-bottom: 0; padding-bottom: 0; }
.side-subscribe .side-bt .fal, .side-r .side-bt .fal, .side-ra .side-bt .fal { color: #7c3aed; margin-right: 10px; }

.side-text { padding: 0; color: #64748b; font-size: 13px; line-height: 1.6; }
.side-links { line-height: 2.2; padding: 0; font-size: 14px; margin-right: -20px; }
.side-links a { margin-right: 20px; color: #2563eb; }
.side-links a:hover { text-decoration: underline; }

/* PAGINATION
----------------------------------------------- */
.bottom-nav { margin-bottom: -10px; padding-top: 30px; }
.navigation { text-align: center; }
.navigation a, .navigation span, .pnext a, .pprev a, .pprev > span, .pnext > span {
    display: inline-block; padding: 0 12px; margin: 0 4px 20px 4px; line-height: 34px; min-width: 34px;
    background-color: #ffffff; box-shadow: 0 2px 8px rgba(0,0,0,0.04); border-radius: 10px; font-weight: 500; font-size: 14px; border: 1px solid #e2e8f0; color: #334155;
}
.navigation span:not(.nav_ext), .pagi-nav a:hover { background-color: #2563eb; color: #ffffff; border-color: #2563eb; }

/* PLAYER - ВЕРСИЯ С КУРИЦЕЙ И БЕЗ СКАЧИВАНИЯ
-------------------------------------------------- */
.wplayer { 
    width: 100%; 
    position: fixed; 
    left: 0; 
    bottom: 15px; 
    z-index: 99; 
}

.audioplayer { 
    max-width: 820px; 
    margin: 0 auto; 
    height: 64px; 
    border-radius: 0 0 16px 16px; 
    padding: 10px 22px 10px 14px; 
    background-color: #0f172aeb; 
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff; 
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.4); 
    position: relative; 
    display: flex; 
    align-items: center; 
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
}

/* СКРЫВАЕМ КНОПКУ СКАЧАТЬ */
.ap-dl, .audioplayer-download, .audioplayer-dl { 
    display: none !important; 
}

.audioplayer audio { display: none; }

/* ПОЛОСА ПРОКРУТКИ */
.audioplayer-bar { 
    position: absolute; 
    left: 0px; 
    right: 0px; 
    top: -7px; 
    height: 12px; 
    background-color: #1e293b; 
    border-radius: 12px 12px 0 0; 
    overflow: visible !important; 
    cursor: pointer; 
}

.audioplayer-bar-loaded { 
    position: absolute; 
    left: 0; top: 0; height: 100%; 
    background-color: rgba(255,255,255,0.15); 
    border-radius: 12px 12px 0 0; 
}

.audioplayer-bar-played { 
    position: absolute; 
    left: 0; top: 0; height: 100%; z-index: 10; 
    background: linear-gradient(90deg, #3b82f6 0%, #10b981 100%); 
    overflow: visible !important;
}

/* УВЕЛИЧЕННАЯ КУРОЧКА-ПОЛЗУНОК */
.audioplayer-chicken {
    position: absolute;
    right: -20px;
    top: -38px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    cursor: grab;
    z-index: 30;
    user-select: none;
    animation: chicken-walk 1.2s infinite alternate ease-in-out;
}

.audioplayer-chicken:active {
    cursor: grabbing;
}

@keyframes chicken-walk {
    from { transform: translateY(0) rotate(-7deg); }
    to { transform: translateY(-5px) rotate(7deg); }
}

.audioplayer-stopped .audioplayer-chicken {
    animation-play-state: paused;
}

/* ФИКС ИКОНКИ ПЕСНИ */
.ap-img { 
    width: 44px !important; 
    height: 44px !important; 
    min-width: 44px !important;
    max-width: 44px !important;
    margin-right: 14px; 
    border-radius: 10px; 
    flex-shrink: 0 !important;
    overflow: hidden;
}

.ap-img img { 
    width: 100% !important; 
    height: 100% !important; 
    object-fit: cover; 
    display: block;
}

/* ИНФОРМАЦИЯ */
.ap-desc { 
    flex: 0 1 250px; 
    min-width: 0;
}
.ap-title { font-size: 13px; font-weight: 600; display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
   overflow: hidden; }
.ap-artist { font-size: 11px; margin-top: 2px; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* КНОПКИ */
.ap-btns { 
    display: flex;
    align-items: center;
}
.audioplayer-playpause a { 
    width: 42px; height: 42px; line-height: 42px; text-align: center; 
    border-radius: 50%; display: block; margin: 0 10px; 
    background: linear-gradient(135deg, #facc15 0%, #eab308 100%); color: #000;
    box-shadow: 0 4px 12px rgba(234, 179, 8, 0.4);
}
.ap-prev, .ap-next { 
    cursor: pointer; color: #facc15; background-color: rgba(255,255,255,0.08); 
    width: 32px; height: 32px; line-height: 32px; text-align: center; 
    border-radius: 50%; font-size: 11px; 
}

/* ВРЕМЯ И ГРОМКОСТЬ */
.ap-time { font-size: 12px; color: #94a3b8; margin-left: 20px; white-space: nowrap; }
.audioplayer-time-current:after { content: '/'; display: inline; margin: 0 6px; }

.audioplayer-volume { position: relative; z-index: 100; margin-left: 20px; font-size: 18px; }
.audioplayer-volume-button a { color: #94a3b8; display: block; height: 30px; line-height: 30px; }

.audioplayer-playpause a:hover { transform: scale(1.08); }
.ap-prev:hover, .ap-next:hover { background-color: #2563eb; color: #fff; }

/* ГРОМКОСТЬ PANEL */
.audioplayer-volume-adjust { 
    position: absolute; left: -5px; bottom: 100%; width: 30px; height: 100px; 
    background-color: #0f172a; padding: 10px; display: none; border-radius: 8px;
}
.audioplayer-volume-adjust > div { width: 10px; height: 80px; background-color: #1e293b; position: relative; cursor: pointer; border-radius: 5px; }
.audioplayer-volume-adjust > div > div { background-color: #3b82f6; position: absolute; left: 0; bottom: 0; width: 100% !important; border-radius: 5px; }
.audioplayer-volume:hover .audioplayer-volume-adjust { display: block; }

/* FULL STORY
----------------------------------------------- */
.fheader { margin-bottom: 16px; }
.fheader h1 { color: #1e40af; }
.fheader h1 div { color: #64748b; margin-bottom: 5px; font-size: 0.8em; font-weight: normal; }
.fheader h1 a { margin-left: 1px; color: #2563eb; }

.fimg { width: 180px; height: 180px; margin-right: 15px; border-radius: 14px; transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; box-shadow: 0 6px 18px rgba(0,0,0,0.08); }
.fimg:hover { transform: scale(1.04); box-shadow: 0 10px 25px rgba(0,0,0,0.12); }
.fimg2 { width: 120px; height: 120px; margin-right: 15px; border-radius: 12px; float: left; }

.finfo { width: 100%; margin: 0; padding: 0; }
.finfo li { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; position: relative; overflow: hidden; font-size: 13px; line-height: 1.8;}
.finfo li > span:first-child { color: #64748b; font-weight: 500; font-size: 14px; background: #ffffff; padding-right: 6px; position: relative; z-index: 2; white-space: nowrap; width: auto;}
.finfo li > span:last-child { text-align: right; font-weight: 600; color: #0f172a; padding-left: 6px; position: relative; z-index: 2; background: #ffffff; }
.finfo li::before { content: "................................................................................"; position: absolute; left: 0; bottom: -5px; width: 100%; white-space: nowrap; color: #cbd5e1; z-index: 1; letter-spacing: 2px; }
.finfo span a { color: #2563eb; text-decoration: underline; }

.frate a { display: block; margin-left: 13px; }
.frate a .fal { width: 40px; height: 40px; line-height: 40px; text-align: center; border-radius: 50%; margin-right: 8px; background-color: #10b981; color: #fff; font-size: 18px; box-shadow: 0 4px 10px rgba(16, 185, 129, 0.25); }
.frate a + a .fal { background-color: #f43f5e; box-shadow: 0 4px 10px rgba(244, 63, 94, 0.25); }

.fcaption { font-size: 13px; line-height: 1.5; color: #64748b; margin: 15px 0 -5px 0; }
.fcols .fcaption { width: 230px; margin: 0 0 0 15px; text-align: right; }

.ffav a { display: block; }
.ffav .track-fav { width: auto; padding: 0 12px; border-radius: 10px; margin: 10px 0 0 0; display: block; line-height: 32px; color: #2563eb; background: #eff6ff; }
.ffav .fal, .ffav .fas { color: #2563eb; margin-right: 8px; }
.ffav .track-fav a { color: #2563eb; }

.fctrl { width: 230px; margin-left: 10px; }
.fplay, .fdl, .fm, .nm { height: 60px; border-radius: 12px; cursor: pointer; color: #fff !important; font-size: 13px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); position: relative; padding: 5px 5px 5px 45px; margin-bottom: 2px; display: block; transition: all .2s; }
.fplay { background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%); }
.fdl { background: linear-gradient(135deg, #10b981 0%, #059669 100%); margin-bottom: 15px; }
.fm { background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%); margin-bottom: 0; }
.nm { background: linear-gradient(135deg, #ec4899 0%, #db2777 100%); margin-bottom: 0; }

.fplay-caption div { font-size: 15px; font-weight: 600; margin-bottom: 3px; }
.fplay .track-play, .fdl .track-play, .fm .track-play, .nm .track-play { opacity: 1; width: 35px; border-radius: 12px 0 0 12px; font-size: 14px; background-color: rgba(0,0,0,0.18); color: #fff; }
.fdl .track-play, .fm .track-play, .nm .track-play { font-size: 18px; }

.fplay:hover, .fdl:hover, .fm:hover, .nm:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.15); }
.fplay:hover .track-play, .fdl:hover .track-play, .fm:hover .track-play, .nm:hover .track-play { background-color: rgba(0,0,0,0.3); }

.show-text { width: 42px; height: 42px; border-radius: 50%; text-align: center; font-size: 18px; cursor: pointer; background: #2563eb; color: #fff; position: absolute; bottom: 30px; left: 50%; margin-left: -21px; z-index: 5; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3); }
.ftext[style]::before { content: ''; pointer-events: none; height: 100%; position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, transparent 0%, #fff 100%); }
.ftext { position: relative; }

/* FULL STORY STATIC
----------------------------------------------- */
.video-box embed, .video-box object, .video-box video, .video-box iframe, .video-box frame { max-width: 100% !important; display: block; width: 100%; height: 400px; border-radius: 14px; }
.mejs-container { max-width: 100% !important; }

.full-text { line-height: 1.5; font-size: 18px; color: #334155; }
.full-text img:not(.emoji) { max-width: 100%; margin-top: 10px; margin-bottom: 10px; border-radius: 10px; }
.full-text > img[style*="left"], .full-text > .highslide img[style*="left"] { margin: 0 10px 10px 0; }
.full-text > img[style*="right"], .full-text > .highslide img[style*="right"] { margin: 0 0 10px 10px; }
.full-text a { text-decoration: none; color: #2563eb; }
.full-text a:hover { text-decoration: underline; }
.full-text h2, .full-text h3, .full-text h4, .full-text h5 { margin: 12px 0; color: #0f172a; }
.full-text p { margin-bottom: .6em; }
.full-text > ul, .full-text > ol { margin: 0; }
.full-text > ul li { margin-left: 40px; }
.full-text > ol li { list-style: decimal; margin-left: 40px; }

/* COMMENTS
----------------------------------------------- */
.add-comms { margin-top: 30px; display: none; }
.ac-inputs input { width: 48.5%; margin-bottom: 15px; }
.ac-textarea textarea { height: 100px; margin-bottom: 15px; }
.ac-protect, .ac-textarea .bb-editor + br { display: none; }
.comments_subscribe input { margin-right: 10px; }
.comments_subscribe { display: block; }
.mass_comments_action { display: none; }
.last-comm-link { display: inline-block; padding-bottom: 20px; color: #2563eb; font-size: 18px; }

.comm-avatar { position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 10px; overflow: hidden; }
.comm-letter { position: absolute; left: 0; top: 0; width: 100%; height: 100%; line-height: 40px; text-align: center; background-color: #0f172a; color: #fff; font-size: 17px; font-weight: 600; text-transform: uppercase; }
.comm-item { font-size: 14px; padding-left: 50px; position: relative; min-height: 60px; margin-top: 12px; border-bottom: 1px solid #f1f5f9; padding-bottom: 12px; }
.comm-two { margin: 10px 0; font-size: 15px; color: #334155; }
.comm-one > span { margin-right: 15px; color: #94a3b8; }
.comm-one > span.comm-author, .comm-one > span.comm-author a { color: #0f172a; opacity: 1; font-weight: 600; }

.comm-three-left > a, .comm-three-right li a { opacity: 0.7; }
.comm-three-right li { display: inline-block; margin-left: 15px; }
.comm-rate3 { white-space: nowrap; font-size: 14px; margin-right: 15px; height: 20px; line-height: 20px; display: inline-block; vertical-align: top; position: relative; top: -3px; }
.comm-rate3 a { display: inline-block; vertical-align: middle; position: relative; opacity: 0.5; }
.comm-rate3 > span { margin: 0 5px; }
.comm-rate3 > span > span.ratingtypeplus { color: #10b981; }
.comm-rate3 > span > span.ratingplus { color: #10b981; }
.comm-rate3 > span > span.ratingminus { color: #ef4444; }
.comm-three a:hover { border-bottom-color: transparent; }
.comm-three-left > a { opacity: 1; color: #2563eb; }

/* LOGIN
----------------------------------------------- */
.overlay-box { position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.6; background-color: #0f172a; cursor: pointer; }
.login-box { position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); background-color: #fff; padding: 25px 30px; border-top: 4px solid #2563eb; width: 400px; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); border-radius: 16px; }
.login-close { width: 30px; height: 30px; line-height: 30px; text-align: center; font-size: 20px; cursor: pointer; position: absolute; top: -35px; right: -35px; color: #fff; }
.login-title { font-size: 22px; font-weight: 600; margin-bottom: 20px; text-align: center; color: #0f172a; }
.login-avatar { width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 15px auto; text-align: center; line-height: 64px; font-size: 26px; background-color: #f1f5f9; color: #64748b; }
.login-input { margin-bottom: 15px; }
.login-btn button { width: 100%; margin: 15px 0; }
.login-btm a { border-bottom: 1px dotted #2563eb; color: #2563eb; font-size: 20px; }
.login-check { position: relative; font-size: 14px; }
.login-check input { opacity: 0; position: absolute; cursor: pointer; }
.login-check span { display: block; padding-left: 36px; height: 30px; line-height: 30px; color: #64748b; }
.login-check span:before, .login-check span:after { content: ''; position: absolute; top: 50%; transition: .3s; }
.login-check span:before { left: 0; height: 12px; margin-top: -6px; width: 28px; border-radius: 6px; background: #e2e8f0; }
.login-check span:after { left: 2px; height: 14px; width: 14px; margin-top: -7px; background: #2563eb; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.login-check input:checked + span:before { background-color: #bfdbfe; }
.login-check input:checked + span:after { left: 14px; background-color: #2563eb; }

.login-menu { border-top: 1px solid #e2e8f0; border-left: 1px solid #e2e8f0; }
.login-menu li { text-align: center; border-right: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; width: 50%; display: inline-block;}
.login-menu a { display: block; padding: 10px 5px; font-size: 13px; color: #475569; }
.login-menu li .fa { display: none; height: 28px; font-size: 22px; color: #2563eb; }
.login-admin { text-align: center; margin: -10px 0 15px 0; }
.login-soc-title { display: flex; align-items: center; margin: 25px 0 15px 0; color: #94a3b8; font-size: 13px; }
.login-soc-title:before, .login-soc-title:after { content: ''; height: 1px; background-color: #e2e8f0; flex: 1; }
.login-soc-title:before { margin-right: 15px; }
.login-soc-title:after { margin-left: 15px; }
.login-soc-btns { text-align: center; }
.login-soc-btns a { display: inline-block; margin: 0 4px; vertical-align: top; }
.login-soc-btns img { display: block; width: 32px; height: 32px; border-radius: 50%; }

/* SIDE PANEL MOBILE
----------------------------------------------- */
.btn-menu { display: none; }
.side-panel { width: 280px; height: 100%; overflow-x: hidden; overflow-y: auto; background-color: #ffffff; padding: 20px 15px; z-index: 9999; position: fixed; left: -320px; top: 0; transition: left .25s ease-out; box-shadow: 4px 0 20px rgba(0,0,0,0.1); }
.side-panel.active { left: 0; }
.close-overlay { width: 100%; height: 100%; background-color: rgba(15, 23, 42, 0.5); position: fixed; left: 0; top: 0; z-index: 9998; display: none; }
.btn-close { cursor: pointer; display: block; left: 280px; top: -40px; position: fixed; z-index: 9999; width: 40px; height: 40px; line-height: 40px; text-align: center; font-size: 18px; background-color: #f43f5e; color: #fff; transition: top .4s; }
.btn-close.active { top: 0px; }
body.opened-menu { overflow: hidden; width: 100%; height: 100%; }
.side-panel .hidden-menu { width: 100%; width: calc(100% + 40px); margin: 20px -20px 10px -20px; box-shadow: none; border-radius: 0; position: static; visibility: visible; transform: none; opacity: 1; padding: 20px 10px 1px 10px; }
.side-panel .hidden-menu li { flex-basis: 0; flex-grow: 1; max-width: 100%; min-width: auto; white-space: nowrap; margin: 0 10px 20px 10px; }

/* MENU
----------------------------------------------- */
.accordion-menu { width: 100%; max-width: 350px; margin: 10px auto 20px; background: #ffffff; border-radius: 12px; }
.accordion-menu li.open .dropdownlink { color: #f43f5e; }
.accordion-menu li:last-child .dropdownlink { border-bottom: 0; }
.dropdownlink { cursor: pointer; display: block; padding: 12px 6px; font-size: 15px; border-bottom: 1px dashed #cbd5e1; color: #334155; position: relative; transition: all 0.3s ease; }
.submenuItems { display: none; background: #f8fafc; border-radius: 10px; padding: 6px 0; }
.submenuItems li { border-bottom: 1px solid #e2e8f0; }
.submenuItems a { display: block; padding: 5px 10px; color: #475569; }

/* LAST COMMENT
----------------------------------------------- */
.lastcomment { overflow: hidden; padding: 6px 0; position: relative; z-index: 1; }
.lastcomment .lcol { overflow: hidden; padding: 0 2px 0 0; float: left;}
.lastcomment .lcol .avatar { padding: 2px 0 2px 2px; position: relative; }
.lastcomment .lcol .avatar div { padding: 1px; background: #F9FBFC; border-radius: 50%; box-shadow: 0 0 0 2px #e2e8f0; }
.lastcomment .lcol .avatar img { width: 34px; height: 34px; border-radius: 50%; display: block; }
.lastcomment .lcol .avatar .online, .lastcomment .lcol .avatar .offline { position: absolute; top: 29px; left: 2px; display: block; height: 8px; width: 8px; border-radius: 50%; text-indent: -9999px; border: 2px solid #ffffff; }
.lastcomment .rcols { overflow: hidden !important; padding: 0 5px 5px 8px; }
.lastcomment .ul_inf { display: block; overflow: hidden; font-size: 11px; color: #7c3aed; }
.lastcomment .ul_inf a { color: #059669; }
.lastcomment .ul_inf em { color: #64748b; font-size: 10px; padding: 0 0 0 10px; }
.lastcomment .comment_text { border-radius: 12px; background: #f1f5f9; position: relative; padding: 10px 14px; font-size: 13px; line-height: 1.4; color: #334155; margin: 0; }
.lastcomment:hover .comment_text { background: #ede9fe; }
.lastcomment .comment_text a { color: #1e293b; }
.lcol, .rcol, form { display: inline; }
.rcol { float: right; }
.sort { padding: 5px 0; color: #64748b; text-align: center; }
.sort > li, .sort { display: inline; }

/* MISC / CUSTOM
----------------------------------------------- */
@keyframes pulse-animation { 0% { transform: scale(1); } 50% { transform: scale(1.15); } 100% { transform: scale(1); } }
.pulse { animation: pulse-animation 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

.ferror { color: #64748b; font-size: 13px; line-height: 1.3; }
.ferror-btns { margin-right: 9px; }
.ferror-btns div, .faddcomms { margin-right: 6px; background-color: #64748b; color: #fff; padding: 8px 15px; border-radius: 6px; font-weight: 600; }
.ferror-text div, .ferror-text span { font-weight: 600; }
.ferror-text div span { color: #f43f5e; }

.youtube { background-position: center; background-repeat: no-repeat; position: relative; display: inline-block; overflow: hidden; transition: all 200ms ease-out; cursor: pointer; border-radius: 12px; }
.youtube .play { background: url('../images/youtube-play-btn.png') no-repeat; background-position: 0 -50px; background-size: 100% auto; position: absolute; height: 50px; width: 69px; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }
.youtube:hover .play { background-position: 0 0; }

.dimg { width: 200px; border: 2px solid #e2e8f0; border-radius: 8px; margin: 0 auto 15px auto; }
.is-active { color: #0f172a; background: #e0f2fe; border: 1px solid #bae6fd; border-radius: 8px; text-decoration: none; padding: 7px 12px; transition: 0.3s; font-size: 15px; font-weight: 600; }
.is-active:hover { background-size: 100% 100%; }
.tochki { border-bottom: 2px dashed #f43f5e; margin-bottom: 25px; }
.highlight { color: #fff; background: linear-gradient(135deg, #f43f5e 0%, #fb7185 100%); font-weight: bold; padding: 3px 12px; border-radius: 6px; text-transform: uppercase; display: inline-block; }
.high2span { color: #334155; background-color: #fff1f2; padding: 8px 12px; border-radius: 8px; margin: 10px 0; font-weight: normal; text-align: justify; border-left: 3px solid #f43f5e; }

/* DONATE BUTTONS */
.donate-container { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.donate, .donate2 { position: relative; width: 335px; height: 55px; border-radius: 12px; overflow: hidden; text-align: center; float: none; margin-bottom: 10px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(226, 232, 240, 0.8); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); cursor: pointer; }
.donate::before, .donate2::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; opacity: 0.9; transition: all 0.3s ease; z-index: 3; }
.donate-link { display: flex; align-items: center; justify-content: center; text-decoration: none; width: 100%; height: 100%; position: absolute; top: 0; left: 0; text-transform: uppercase; font-weight: 600; font-size: 16px; letter-spacing: 0.5px; z-index: 2; background-size: 200% auto; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; transition: all 0.3s ease; }
.donate { background: #faf5ff; border-color: #e9d8fd; }
.donate::before { background-color: #9333ea; }
.donate .donate-link { background-image: linear-gradient(120deg, #6b21a8 0%, #6b21a8 40%, #c084fc 50%, #6b21a8 60%, #6b21a8 100%); }
.donate:hover { background: #f3e8ff; }
.donate2 { background: #eff6ff; border-color: #bfdbfe; }
.donate2::before { background-color: #2563eb; }
.donate2 .donate-link { background-image: linear-gradient(120deg, #1e3a8a 0%, #1e3a8a 40%, #60a5fa 50%, #1e3a8a 60%, #1e3a8a 100%); }
.donate2:hover { background: #dbeafe; }
.donate:hover, .donate2:hover { transform: translateY(-3px); border-color: rgba(255, 255, 255, 0.8); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); }
.donate:hover::before, .donate2:hover::before { width: 8px; opacity: 1; }
.donate:hover .donate-link, .donate2:hover .donate-link { background-position: 0 0; letter-spacing: 1px; }
.donate::after, .donate2::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient( 120deg, transparent, rgba(255, 255, 255, 0.4), transparent ); transition: all 0.6s; }
.donate:hover::after, .donate2:hover::after { left: 100%; }
.donate, .donate2 { margin-top: 10px; }

/* MINUS DELAY CARD */
.minus-delay-card { height: 60px; border-radius: 12px; cursor: pointer; color: #475569; font-size: 13px; background: linear-gradient(135deg, #fdf2f8 0%, #eff6ff 100%); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04); position: relative; padding: 5px 5px 5px 45px; margin-bottom: 12px; display: flex; align-items: center; overflow: hidden; border: 1px solid #e2e8f0; transition: transform 0.2s, box-shadow 0.2s; }
.minus-delay-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); }
.minus-delay-icon { width: 35px; height: 100%; border-radius: 12px 0 0 12px; font-size: 16px; background: rgba(226, 232, 240, 0.6); display: flex; align-items: center; justify-content: center; position: absolute; left: 0; top: 0; color: #7c3aed; animation: pulseIcon 2.5s infinite ease-in-out; }
.minus-delay-caption { flex: 1; z-index: 2; }
.minus-delay-caption > div:first-child { font-size: 14px; font-weight: 600; margin-bottom: 2px; color: #1e293b; }
.minus-delay-sub { font-size: 12px; color: #64748b; }
.minus-delay-wave { position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, transparent, #fb7185, #60a5fa, #34d399, transparent); background-size: 300% 100%; animation: waveGlow 4s linear infinite; opacity: 0.7; z-index: 1; }

/* DELAY MODAL (С прокруткой и закреплённым крестиком) */
.modal-overlay { 
  display: none; 
  position: fixed; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  background: rgba(15, 23, 42, 0.6); 
  backdrop-filter: blur(4px); 
  justify-content: center; 
  align-items: center; 
  z-index: 99;
  padding: 10px;
  box-sizing: border-box;
}

.modal-overlay.active { 
  display: flex; 
  z-index: 99; 
}

.modal-content { 
  background: #ffffff; 
  border-radius: 16px; 
  padding: 24px 20px; 
  width: 95%; 
  max-width: 480px; 
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); 
  border: 1px solid #e2e8f0; 
  position: relative; 
  color: #334155; 
  font-size: 15px; 
  line-height: 1.6; 
  box-sizing: border-box;
  max-height: 85vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.modal-content::-webkit-scrollbar { width: 6px; }
.modal-content::-webkit-scrollbar-track { background: transparent; }
.modal-content::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.modal-content::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.modal-content h3 { 
  margin-top: 0; 
  color: #0f172a; 
  font-weight: 700; 
}

.modal-close { 
  position: sticky; 
  top: 0; 
  float: right; 
  margin: -8px -4px 0 0;
  background: #f1f5f9;
  backdrop-filter: blur(4px);
  border: none; 
  font-size: 20px; 
  line-height: 1;
  color: #64748b; 
  cursor: pointer; 
  width: 32px; 
  height: 32px; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  border-radius: 50%; 
  transition: all 0.2s ease; 
  z-index: 20;
}

.modal-close:hover { 
  background: #fee2e2; 
  color: #ef4444; 
  transform: rotate(90deg);
}

@keyframes pulseIcon { 
  0%, 100% { transform: scale(1); opacity: 0.9; } 
  50% { transform: scale(1.08); opacity: 1; } 
}

@keyframes waveGlow { 
  0% { background-position: -300% 0; } 
  100% { background-position: 300% 0; } 
}

.notice-delay { 
  background: #f0fdf4; 
  border-left: 4px solid #10b981; 
  padding: 12px 16px; 
  border-radius: 8px; 
  margin: 15px 0; 
  font-size: 14px; 
  color: #065f46; 
  line-height: 1.5; 
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}

.notice-delay strong { 
  color: #047857; 
}

.author-contact-button { 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  padding: 12px 24px; 
  margin: 20px auto 0; 
  min-width: 200px; 
  width: 100%; 
  max-width: 360px; 
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); 
  border-radius: 12px; 
  text-decoration: none; 
  color: #ffffff; 
  font: 600 16px 'Montserrat', sans-serif; 
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3); 
  transition: all 0.3s ease; 
  position: relative; 
  overflow: hidden; 
  text-align: center; 
  white-space: nowrap; 
}

.author-contact-button::before { 
  content: ''; 
  position: absolute; 
  top: 0; 
  left: -100%; 
  width: 100%; 
  height: 100%; 
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); 
  transition: left 0.6s; 
}

.author-contact-button:hover { 
  transform: translateY(-2px); 
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.4); 
  color: #fff; 
}

.author-contact-button:hover::before { 
  left: 100%; 
}

.author-contact-button:active { 
  transform: translateY(0); 
  transition: transform 0.15s ease; 
}

/* NEWS BAR */
@keyframes barPulse { 0%, 100% { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); background: linear-gradient(90deg, #f43f5e 0%, #fb7185 100%); } 50% { box-shadow: 0 4px 25px rgba(244, 63, 94, 0.4); background: linear-gradient(90deg, #e11d48 0%, #f43f5e 100%); } }
.news-bar { position: sticky; top: 0; z-index: 9990; background: linear-gradient(90deg, #f43f5e 0%, #fb7185 100%); color: white; font-family: 'Montserrat', sans-serif; line-height: 1.2; font-size: 15px !important; box-shadow: 0 4px 12px rgba(244, 63, 94, 0.25); width: 100%; font-weight: 500; animation: barPulse 2s infinite ease-in-out; }
.news-bar:hover { animation-play-state: paused; }
.news-container { max-width: 1200px; margin: 0 auto; padding: 10px 60px 10px 20px; position: relative; display: flex; align-items: center; justify-content: center; min-height: 40px; box-sizing: border-box; }
.news-link { color: #fff !important; text-decoration: underline !important; margin-left: 10px; font-weight: bold; }
.news-close { padding: 0 !important; margin: 0 !important; border: none !important; outline: none !important; background-image: none !important; box-shadow: none !important; text-shadow: none !important; width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; border-radius: 50% !important; background-color: rgba(0, 0, 0, 0.15) !important; position: absolute; top: 50%; transform: translateY(-50%); right: 15px; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer; z-index: 9999; flex-shrink: 0; transition: transform 0.2s; }
.news-close:hover { background-color: rgba(0,0,0,0.3) !important; transform: translateY(-50%) scale(1.1); }
.progress-ring { position: absolute; top: 0; left: 0; width: 34px; height: 34px; transform: rotate(-90deg); pointer-events: none; }
.timer-number { color: white !important; font-size: 14px !important; font-weight: bold !important; line-height: 1 !important; z-index: 2; }
.close-icon { position: absolute; color: white !important; font-size: 22px !important; line-height: 1 !important; opacity: 0; z-index: 3; padding-bottom: 2px; }
.news-close:hover .timer-number { opacity: 0; }
.news-close:hover .close-icon { opacity: 1; }
.news-close:hover .progress-ring { opacity: 0.3; }

/* CAT LIST (Grid) */
.cat-list-custom { margin: 0 -8px; padding: 0; display: flex; flex-wrap: wrap; }
.cat-item-wrap { width: 33.333%; padding: 6px; box-sizing: border-box; }
.cat-item-link { background-color: var(--card-bg); padding: 14px; border-radius: var(--border-radius); border: 1px solid #e2e8f0; text-decoration: none; display: flex; align-items: center; position: relative; z-index: 1; transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03); overflow: hidden; height: 100%; }
.cat-item-link::before { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: conic-gradient( transparent, transparent, transparent, var(--accent-color), var(--accent-second), transparent ); animation: rotateLight var(--anim-speed) linear infinite; opacity: 0; transition: opacity 0.3s; z-index: -2; }
.cat-item-link::after { content: ""; position: absolute; inset: 1px; background: var(--card-bg); border-radius: calc(var(--border-radius) - 1px); z-index: -1; transition: background 0.3s; }
@keyframes rotateLight { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.cat-item-link:hover { transform: translateY(-4px) scale(1.01); box-shadow: 0 12px 25px rgba(37, 99, 235, 0.12); }
.cat-item-link:hover::before { opacity: 1; }
.cat-item-img { width: 48px; height: 48px; margin-right: 14px; flex-shrink: 0; z-index: 2; }
.cat-item-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; background-color: #f1f5f9; box-shadow: 0 2px 5px rgba(0,0,0,0.06); }
.cat-item-name { font-weight: 600; font-size: 14px; color: var(--text-color); line-height: 1.3; z-index: 2; transition: color 0.3s; }
.cat-item-link:hover .cat-item-name { color: var(--accent-color); }
.cat-count { background: #eff6ff; color: #2563eb; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 6px; margin-left: auto; z-index: 2; transition: all 0.3s ease; align-self: flex-start; margin-top: -2px; }
.cat-item-link:hover .cat-count { background: var(--accent-color); color: #fff; transform: translateY(-2px); }

/* КНОПКА "СТОЛ ЗАКАЗОВ" */
.order-desk-container {
    width: 100%;
    padding: 15px 0;
    margin-bottom: 0px;
    box-sizing: border-box;
}

.order-btn-full {
    position: relative;
    width: 100%;
    padding: 20px 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background-color: var(--card-bg);
    border-radius: var(--border-radius);
    border: 1px solid #e2e8f0;
    text-decoration: none !important;
    overflow: hidden;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s;
}

.order-btn-full::before {
    content: "";
    position: absolute;
    top: -250%; 
    left: -50%;
    width: 200%;
    height: 600%;
    background: conic-gradient(
        from 0deg,
        transparent 70%, 
        var(--accent-color) 85%, 
        var(--accent-second) 95%, 
        transparent 100%
    );
    animation: rotateLight 10s linear infinite; 
    opacity: 1;
    z-index: -2;
    transition: filter 0.3s;
}

.order-btn-full::after {
    content: "";
    position: absolute;
    inset: 1px;
    background: var(--card-bg);
    border-radius: calc(var(--border-radius) - 1px);
    z-index: -1;
    transition: background 0.3s;
}

.order-btn-full span {
    font-weight: 700;
    font-size: 18px;
    color: var(--text-color);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    z-index: 2;
    transition: color 0.3s;
}

.order-btn-full i {
    font-size: 22px;
    color: var(--accent-color);
    z-index: 2;
    transition: all 0.3s;
}

.order-btn-full:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.15);
}

.order-btn-full:hover::before {
    filter: brightness(1.3);
}

.order-btn-full:hover span {
    color: var(--accent-color);
}

body.dark-theme .order-btn-full,
body.dark-theme .order-btn-full::after {
    background: #1e293b !important;
    border-color: #334155 !important;
}
body.dark-theme .order-btn-full span {
    color: #f1f5f9 !important;
}

@media (max-width: 768px) {
    .order-btn-full { padding: 18px 20px; }
    .order-btn-full span { font-size: 16px; letter-spacing: 1px; }
}

/* TRACK BADGES */
.track-badges { margin-left: 8px; display: inline-flex; gap: 4px; vertical-align: middle; }
.track-label { font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; line-height: 1.2; letter-spacing: 0.3px; display: inline-block; }
.label-minus { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; }
.label-nota { background: #fff7ed; color: #ea580c; border: 1px solid #fed7aa; }
.label-notapdf { background: #faf5ff; color: #9333ea; border: 1px solid #e9d8fd; }
.label-mp3 { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }

/* PODB BANNER */
.fimg-podb { border-radius: 16px; height: 360px; color: #fff; position: relative; overflow: hidden; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); margin-bottom: 20px; }
.fimg-podb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.fimg-podb:hover img { transform: scale(1.02); }
.fimg-podb::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 70%; z-index: 2; background: linear-gradient(to top, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.4) 40%, transparent 100%); pointer-events: none; }
.fimg-podb .fheader { position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; margin: 0; padding: 25px 30px; display: flex; align-items: flex-end; }
.fimg-podb h1 { color: #fff; font-size: 26px; font-weight: 700; line-height: 1.2; margin: 0; max-width: 85%; }
.fimg-podb a { color: #fff !important; text-decoration: none; }

/* MODERN BUTTONS */
@keyframes playBeat { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@keyframes heartBeat { 0%, 30%, 60%, 100% { transform: scale(1); } 15%, 45% { transform: scale(1.15); } }
@keyframes voltagePulse { 0%, 90%, 98%, 100% { opacity: 1; transform: scale(1); } 92%, 96% { opacity: 0.8; transform: scale(1.1); } 94% { opacity: 1; transform: scale(1.15); } }
@keyframes waitingBreath { 0%, 100% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
@keyframes thumbUp { 0% { transform: rotate(0deg) scale(1); } 100% { transform: rotate(-10deg) scale(1.2); } }

.track-row-modern { display: flex; gap: 4px; margin-bottom: 12px; align-items: stretch; }
.btn-modern { display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; text-decoration: none !important; cursor: pointer; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03); position: relative; overflow: hidden; flex: 1; transition: all 0.2s ease; }
.btn-modern::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; opacity: 0.9; transition: all 0.3s ease; }
.btn-modern:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0, 0, 0, 0.06); }
.btn-modern:hover::before { width: 6px; }
.btn-modern:hover .icon { transform: scale(1.15) rotate(-5deg); }
.btn-modern:hover .text { background-position: 0 0; }
.btn-modern .icon { margin-right: 8px; font-size: 17px; display: flex; align-items: center; transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); position: relative; z-index: 2; }
.btn-modern .text { font-size: 14px; font-weight: 600; position: relative; z-index: 2; background-size: 200% auto; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; transition: background-position 0.2s ease-out; }

.btn-play { background: #eff6ff; border-color: #bfdbfe; }
.btn-play::before { background-color: #2563eb; }
.btn-play:hover { background: #dbeafe; border-color: #2563eb; }
.btn-play .icon { color: #2563eb; }
.btn-play .text { background-image: linear-gradient(120deg, #1e40af 0%, #1e40af 40%, #60a5fa 50%, #1e40af 60%, #1e40af 100%); }

.js-item.active .btn-play { background: #2563eb; border-color: #2563eb; box-shadow: 0 5px 15px rgba(37, 99, 235, 0.35); }
.js-item.active .btn-play::before { background-color: #fff; opacity: 0.3; }
.js-item.active .btn-play .icon, .js-item.active .btn-play .text { color: #fff; -webkit-text-fill-color: #fff; background: none; }
.js-item.active .btn-play .icon i:before { content: "\f04c"; }
.js-item.active .btn-play .icon i { animation: playBeat 1s infinite; }

.btn-dl, .btn-minus { background: #f0fdf4; border-color: #bbf7d0; }
.btn-dl::before, .btn-minus::before { background-color: #10b981; }
.btn-dl:hover, .btn-minus:hover { background: #dcfce7; border-color: #10b981; }
.btn-dl .icon, .btn-minus .icon { color: #10b981; }
.btn-dl .text, .btn-minus .text { background-image: linear-gradient(120deg, #065f46 0%, #065f46 40%, #34d399 50%, #065f46 60%, #065f46 100%); }

.btn-vip { background: #faf5ff; border-color: #e9d8fd; }
.btn-vip::before { background-color: #9333ea; }
.btn-vip:hover { background: #f3e8ff; border-color: #9333ea; }
.btn-vip .icon { color: #9333ea; }
.btn-vip .text { background-image: linear-gradient(120deg, #581c87 0%, #581c87 40%, #c084fc 50%, #581c87 60%, #581c87 100%); }

.btn-donate { background: #fff1f2; border-color: #fecdd3; }
.btn-donate::before { background-color: #f43f5e; }
.btn-donate:hover { background: #ffe4e6; border-color: #f43f5e; box-shadow: 0 8px 20px rgba(244, 63, 94, 0.2); }
.btn-donate .icon { color: #f43f5e; font-size: 19px; }
.pulse-icon i { animation: heartBeat 1.5s infinite ease-in-out; }
.btn-donate:hover .pulse-icon i { animation-duration: 0.8s; }
.btn-donate .text { background-image: linear-gradient(120deg, #881337 0%, #881337 40%, #fb7185 50%, #881337 60%, #881337 100%); }

.btn-boosty { background: #fffbeb; border-color: #fde68a; }
.btn-boosty::before { background-color: #f59e0b; }
.btn-boosty:hover { background: #fef3c7; border-color: #f59e0b; box-shadow: 0 8px 20px rgba(245, 158, 11, 0.2); }
.btn-boosty .icon { color: #f59e0b; font-size: 20px; filter: drop-shadow(0 2px 4px rgba(245, 158, 11, 0.3)); }
.btn-boosty:hover .icon { transform: scale(1.2) rotate(10deg); color: #d97706; }
.btn-boosty .text { background-image: linear-gradient(120deg, #78350f 0%, #78350f 40%, #fbbf24 50%, #78350f 60%, #78350f 100%); }
.bolt-anim i { animation: voltagePulse 3s infinite ease-in-out; }

.btn-locked { background: #f8fafc; border-color: #e2e8f0; cursor: default; box-shadow: none; }
.btn-locked::before { background-color: #94a3b8; }
.btn-locked .icon { color: #94a3b8; }
.btn-locked .text { background: none; -webkit-text-fill-color: #94a3b8; color: #94a3b8; }
.btn-locked:hover { transform: none; background: #f8fafc; }

/* MINI BUTTONS */
.btns-row-mini { display: flex; gap: 4px; width: 100%; }
.btn-col-auto { flex: 0 0 auto; min-width: 55px; }
.btn-col-auto a { display: block; text-decoration: none; width: 100%; }
.btn-col-wide { flex: 1; min-width: 0; }
.btn-col-square { flex: 0 0 42px; }
.btn-col-square a { display: block; width: 100%; text-decoration: none; }

.btn-compact { height: 42px !important; border-radius: 10px !important; width: 100%; padding-left: 10px !important; padding-right: 10px !important; }
.btn-compact::before { display: none !important; }
.btn-compact .text { font-size: 12px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.btn-compact .icon { font-size: 14px !important; margin-right: 6px !important; }
.btn-col-square .btn-modern { padding: 0 !important; }
.btn-col-square .icon { margin: 0 !important; font-size: 16px !important; }

.btn-error { border-color: #ffcdd2; background: #fff5f5; color: #e53935; }
.btn-error:hover { background: #fee2e2; border-color: #e53935; }

.btn-like { border-color: #c5e1a5; background: #f0fdf4; color: #15803d; padding: 0 8px !important; }
.btn-like .icon { color: #16a34a; font-size: 14px !important; margin-right: 5px !important; }
.btn-like:hover { border-color: #16a34a; background: #dcfce7; box-shadow: 0 4px 10px rgba(22, 163, 74, 0.2); }
.pulse { animation: thumbUp 1s infinite alternate; }

.track-item.js-item-current.js-item-stopped::before { content: ''; position: absolute; left: -10px; top: -10px; right: -10px; bottom: -10px; background: linear-gradient(135deg, #ffffff 0%, #f1f2f6 100%); border-radius: 12px; border: 1px solid #dfe4ea; border-left: 4px solid #747d8c; z-index: 0; transition: all 0.3s ease; }
.track-item.js-item-current.js-item-stopped .js-play { opacity: 1; background: rgba(47, 53, 66, 0.7); backdrop-filter: blur(3px); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); border-radius: 10px; z-index: 5; }
.track-item.js-item-current.js-item-stopped .js-play span:before { content: "\f04b" !important; margin-left: 3px; }
.track-item.js-item-current.js-item-stopped .js-play span { color: #fff; font-size: 22px; animation: waitingBreath 2s infinite ease-in-out; }

figure { margin: 0; }
figure.align-left { float: left; }
figure.align-right { float: right; }
figure.image.align-center { display: table; margin-left: auto; margin-right: auto; }
figure.image figcaption { padding: 1rem; background-color: #fafafa; font-size: .8rem; caption-side: bottom; word-break: break-word; text-align: center; }
figure.image.align-center figcaption { display: table-caption; }
.comments-image-gallery { margin: 0; padding: 0; list-style: none; clear: both; }
.comments-image-gallery li { list-style: none; margin: 0; padding: 0; }
.comments-image-gallery li img { float: left; margin-right: 5px; border: 5px solid #fff; width: 100px; height: 100px; transition: box-shadow 0.5s ease; }
.comments-image-gallery li img:hover { box-shadow: 0px 0px 7px rgba(0,0,0,0.4); }
.mce-toc { border: 1px solid #dbdada; margin: 0 0 .7rem 0; }
.mce-toc h2 { margin: 4px; }
.mce-toc ul { padding-left: 20px; list-style: none; margin-top: 0; margin-bottom: 0; margin-block-start: 1em; margin-block-end: 1em; }
.mce-toc ul ul { padding-left: 20px; margin-block-start: 0; margin-block-end: 0; }
.mce-toc li { list-style-type: none; }
.image-bordered { border: 1px solid #ddd; }
.image-shadows { box-shadow: rgb(9 30 66 / 25%) 0px 4px 8px -2px, rgb(9 30 66 / 8%) 0px 0px 0px 1px; }
.image-padded { padding: 0.5rem; }
.comments-user-profile { font-weight: bold; cursor: pointer; color: #2563eb; }
.title_spoiler svg { vertical-align: middle; margin-top: -4px; margin-right: 7px; height: 16px; width: 16px; }
.mce-accordion summary { cursor: pointer; }
.self_delete_link { border: 0 none; display: inline-block; vertical-align: middle; cursor: pointer; padding: 12px 27px; border-radius: 10px; outline: none; background-color: #f43f5e; color: #fff; text-shadow: 0 1px #333; text-decoration: none !important; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2); box-sizing: border-box; transition: all ease .1s; }

/* DLE PUSH & OTHERS */
.DLEPush { z-index: 2001; position: fixed; right: 20px; top: 20px }
@keyframes DLEPush-show { 0% { transform: translateY(100%); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
.DLEPush-notification.wrapper { animation-name: DLEPush-show; animation-duration: 1s; position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; color: #333; margin-bottom: 10px; width: 100%; max-width: 400px; box-shadow: 0 10px 15px rgb(0 0 0 / 20%); background-color: #fff; border-radius: 10px }
.DLEPush-notification .DLEPush-icon { grid-column: 1; grid-row: 1 / span 2; display: flex; align-items: center; justify-content: center; color: #fff; width: 45px; height: 100%; border-top-left-radius: 10px; border-bottom-left-radius: 10px; text-align: center; }
.DLEPush-notification .DLEPush-icon svg { scale: .8; }
.DLEPush-notification .DLEPush-header { font-weight: 500; grid-column: 2; grid-row: 1; font-size: 1rem; margin-left: 1rem; margin-top: .5rem; }
.DLEPush-notification .DLEPush-header:empty { margin-top: 0; }
.DLEPush-notification .DLEPush-message { grid-column: 2; grid-row: 2; font-size: .875rem; margin: 1rem; }
.DLEPush-notification .DLEPush-message li, .DLEPush-notification .DLEPush-message ul { list-style-type: none; padding-left: 0; }
.DLEPush-notification .DLEPush-close { position: absolute; top: 8px; right: 10px; font-weight: 300; background: none; border: 0; font-size: 1.15rem; cursor: pointer; line-height: 1; padding: 0; color: inherit; outline: 0; opacity: 0.75; }
@media only screen and (min-width: 601px) { .DLEPush-notification.wrapper { min-width: 400px; } }
.DLEPush-notification .DLEPush-close:hover { opacity: 1; }
.DLEPush-notification.wrapper.push-success { background-color: #e0f2f1; }
.DLEPush-notification.wrapper.push-success .DLEPush-icon { background-color: #00897b; }
.DLEPush-notification.wrapper.push-warning { background-color: #FFF3E0; }
.DLEPush-notification.wrapper.push-warning .DLEPush-icon { background-color: #FF9800; }
.DLEPush-notification.wrapper.push-error { background-color: #FBE9E7; }
.DLEPush-notification.wrapper.push-error .DLEPush-icon { background-color: #FF5722; }

input[type="text"].comments_author_field { width: 100%; margin-bottom: 10px; }
.ui-dialog-buttonset button.ui-button-delete { background-color: #f44336; border-color: #f44336; color: #fff; text-shadow: 1px 1px 2px rgba(51, 51, 51, .5); }
.ui-dialog-buttonset button.ui-button-delete:hover { background-color: #db3a2f; border-color: #db3a2f; color: #fff; text-shadow: 1px 1px 2px rgba(51, 51, 51, .5); }
.form-check-label { cursor: pointer; }
.form-check-input { color: #0c5f7eed; flex-shrink: 0; width: 1.12rem; height: 1.12rem; margin: -0.188rem 0.625rem 0 0; appearance: none; background-color: transparent; background-image: none; background-repeat: no-repeat; background-position: center; background-size: contain; border: 1px solid #0c5f7eed; vertical-align: middle; }
.form-check-input:checked[type=checkbox] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%230c5f7eed' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
.form-check-input:checked[type=radio] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%230c5f7eed'/%3e%3c/svg%3e"); }
.form-check-input[type=checkbox] { border-radius: .25rem; }
.form-check-input[type=radio] { border-radius: 50%; }

.pm th { text-align: left; font-weight: 500; white-space: nowrap; }
.pm th.pm_checkbox { text-align: center; }
.pm_list.pm_subj, .pm_list.pm_icon, .pm_list.pm_last_user { cursor: pointer; }
.pm_list.pm_icon svg { width: 1.4rem; height: 1.4rem; vertical-align: middle; }
.pm_list.pm_icon.pm-unread-image { color: #2563eb; }
.pm td.pm_list.pm_icon, .userstop td, th.pm_head.pm_icon { border-bottom: none; }
.pm_list.pm_icon.pm-reply-image { color: #087e02c4; }
.pm_list.pm_icon.pm-read-image { color: #afafaf; }
.pm_list .pm_last_message, .pm_list .pm_last_date, .pm_list .pm_with_user { color: #64748b; font-size: .8rem; }
.pm tbody > tr:hover { background-color: #e2e8f099; }
.pm_navigation { margin-top: 1rem; }
.pm_navigation .navigation { display: inline-block; color: #333333; background-color: #f5f5f5; border-radius: 0.188rem; padding: .4rem; }
.pm_navigation .navigation a, .pm_navigation .navigation span { padding: 0.5rem; min-width: 2.25rem; }
.pm_navigation .navigation span { background-color: #2563eb; color: #fff; }
.pm_navigation .navigation a { text-decoration: none; color: #000; }
.pm_navigation .navigation a:hover { background-color: #e2e8f0; }
.quote_link { float: right; }
.quote_link svg { color: #6c838e; vertical-align: middle; }
.clipboard-copy-link svg { color: #6c838e; vertical-align: middle; margin-top: -3px; }
.smart-captcha { display: inline-block; }
.mathml-container { font-family: math; }
div.mathml-block { font-size: 1.1em; display: flex; align-items: center; justify-content: center; padding: .139em .35em; }
div.mathml-block .katex { font-size: 1.1em; }
span.mathml-inline { display: inline-block; vertical-align: middle; margin: 0 .12em; }
.dleshowhidden {
    position: relative;
    margin-top: 30px;
    box-shadow: 0 5px 12px rgba(126, 142, 177, 0.15);
    padding: .83em;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    background: #eff6ff;
}

.dleshowhidden::before {
    content: 'СКРЫТЫЙ ТЕКСТ';
    position: absolute;
    top: -12px;
    left: 15px;
    background: #1e40af;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 2px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* RAD MODAL */
.open-modal-btn { padding: 14px 28px; background: #2563eb; color: white; border: none; border-radius: 12px; font-weight: 700; font-size: 15px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); }
.open-modal-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(37, 99, 235, 0.35); background: #1d4ed8; }
.rad-modal { display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.7); backdrop-filter: blur(6px); z-index: 9999; opacity: 0; transition: all 0.3s ease; padding: 20px; }
.rad-modal.active { display: flex; align-items: center; justify-content: center; opacity: 1; }
.rad-modal_content { position: relative; background: #ffffff; width: 100%; max-width: 420px; padding: 35px 28px; border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); transform: scale(0.96) translateY(10px); transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); box-sizing: border-box; }
.rad-modal.active .rad-modal_content { transform: scale(1) translateY(0); }
.rad-modal_close { position: absolute; top: 16px; right: 16px; background: #f8fafc; border: 1px solid #e2e8f0; width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #64748b; cursor: pointer; transition: all 0.2s ease; }
.rad-modal_close:hover { background: #f1f5f9; color: #0f172a; border-color: #cbd5e1; }
.rad-modal_title { font-size: 24px; font-weight: 800; color: #0f172a; letter-spacing: -0.02em; margin-bottom: 8px; text-align: left; }
.rad-modal_subtitle { display: block; font-size: 14px; line-height: 1.5; color: #64748b; text-align: center; margin-bottom: 24px; }
.rad-modal_sums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 20px; }
.rad-modal_sums > span { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 5px; font-weight: 600; font-size: 14px; text-align: center; cursor: pointer; transition: all 0.2s ease; color: #334155; }
.rad-modal_sums > span:hover { border-color: #2563eb; color: #2563eb; }
.rad-modal_sums > span.selected { background: #2563eb; border-color: #2563eb; color: #ffffff; box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25); }
.input-group { margin-bottom: 16px; }
.rad-modal_content input { display: block; width: 100%; padding: 12px 16px; border: 1px solid #e2e8f0; margin: 10px 0; border-radius: 10px; background: #fcfdfe; font-family: inherit; font-size: 15px; font-weight: 600; transition: all 0.2s ease; box-sizing: border-box; outline: none; color: #1e293b; }
.rad-modal_content input:focus { border-color: #2563eb; background: #ffffff; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); }
.rad-modal_content input.error { border-color: #fca5a5; background: #fffcfc; }
.error-text { display: none; color: #ef4444; font-size: 12px; margin: 6px 0 0 4px; font-weight: 700; }
.rad-donate-link { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); color: #ffffff; text-decoration: none; border-radius: 12px; padding: 15px; font-weight: 700; font-size: 16px; transition: all 0.2s ease; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); }
.rad-donate-link:hover { background: #1d4ed8; box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35); transform: translateY(-2px); }
.rad-donate-link:active { transform: scale(0.98); }

.payment-container { max-width: 600px; margin: 25px auto; }
.payment-box-modern { background: #ffffff; border-radius: 16px; padding: 20px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.05); border: 1px solid #e2e8f0; position: relative; }
.status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.5px; }
.status-badge.success { background: #f0fdf4; color: #16a34a; }
.status-badge.pending { background: #fffbeb; color: #d97706; }
.status-badge.danger { background: #fef2f2; color: #dc2626; }
.modern-desc { font-size: 15px; color: #64748b; line-height: 1.6; margin-bottom: 25px; }
.contact-grid { display: flex; flex-direction: column; align-items: center; gap: 5px; margin-bottom: 20px; }
.footer-note-modern { font-size: 13px; color: #94a3b8; font-style: italic; margin-top: 15px; }

.donate-locked { background: #f8fafc !important; border-color: #e2e8f0 !important; cursor: default !important; }
.donate-locked::before { background-color: #94a3b8 !important; }

.soobshenie { background: #fff4e6; color: #ea580c; border: 1px solid #fed7aa; font-size: 11px; font-weight: 600; padding: 5px 8px; border-radius: 6px; text-transform: uppercase; line-height: 1.3; letter-spacing: 0.3px; display: inline-block; }

.rad-modal_agreement {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 15px 0;
    font-size: 13px;
    line-height: 1.4;
    color: #64748b;
    text-align: left;
}

.rad-modal_agreement input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin-top: 2px;
}

.rad-modal_agreement a {
    color: #2563eb;
    text-decoration: underline;
}

.rad-modal_agreement a:hover {
    text-decoration: none;
}

/* MEDIA QUERIES (Адаптив)
----------------------------------------------- */
@media screen and (max-width: 1220px) {
    .wrap { padding: 0; overflow: hidden; }
    .wrap-center { max-width: 1000px; width: calc(100% - 30px); }
    .col-left { display: none; }
    .btn-menu { display: block; font-size: 28px; margin-left: 15px; cursor: pointer; color: #2563eb; }
    .search-wrap { margin: 0 30px; }
    .header-btn { background-color: rgba(0,0,0,0.06); color: #1e293b; }
    .header, .sect, .side-box { margin-bottom: 0px; }
    .col-right { margin-left: 15px; }
    #gotop { bottom: 70px; width: 44px; height: 44px; line-height: 44px; font-size: 18px; }
    .wplayer { bottom: 0; z-index: 9999; }
    .audioplayer, .audioplayer-bar { border-radius: 0; max-width: 100%; left: 0; }
    .fcols .fcaption { width: 100%; margin: 10px 0 -15px 0; text-align: left; }
    .video-box embed, .video-box object, .video-box video, .video-box iframe, .video-box frame { height: 400px; }
}

@media screen and (max-width: 992px) {
    .cat-item-wrap { width: 50%; }
}

@media screen and (max-width: 950px) {
    .wrap-center { max-width: 768px; }
    .col-right { display: none; }
    .footer { display: block; text-align: center; }
    .footer-copyright { margin: 0 0 30px 0; }
}

@media (max-width: 768px) {
    .donate-container { flex-direction: column; align-items: stretch; gap: 10px; }
    .donate, .donate2 { width: 100%; max-width: 100%; height: 56px; }
}

@media screen and (max-width: 760px) {
    .wrap-center { max-width: 640px; }
    .not-logged .login-avatar { display: none; }
    .login-close { top: -5px; }
    .login-title { font-size: 18px; }
    .login-box { max-width: calc(100% - 40px); padding: 20px; }
    .header-in { padding: 10px 0; }
    .search-wrap { order: 10; min-width: 100%; margin: 10px 0 0 0; }
    .logo { flex-basis: 0; flex-grow: 1; max-width: 100%; min-width: 50px; margin-right: 15px; }
    .sect-col { width: 100%; }
    .sect-col + .sect-col { margin-top: 25px; }
    .sect-bg { padding: 15px; }
    .ap-title, .ap-artist { max-width: 100%; }
    .ap-desc { position: absolute; left: 0; right: 0; bottom: 100%; z-index: 5; min-width: 100%; padding: 10px; background-color: #0f172a; box-shadow: 0 0 30px rgba(0,0,0,0.2); visibility: hidden; }
    .ap-mob-btn { display: block; cursor: pointer; font-size: 28px; color: #facc15; }
    .ap-time { flex-basis: 0; flex-grow: 1; max-width: 100%; min-width: 50px; justify-content: flex-end; }
    .ap-desc.is-active { visibility: visible; }
    .audioplayer-volume { display: none; }
    .ap-btns { left: 70px; transform: translate(0,0%); }
    .fctrl { width: 100%; margin: 15px 0 0 0; display: block; justify-content: space-between; }
    .fplay { width: 100%; margin: 5px 0; }
    .dcont button { font-size: 12px; padding: 0 15px !important; }
    .comments-tree-list { padding-left: 0px !important; }
    .comments-tree-list .comments-tree-list:before { display: none; }
    .mass_comments_action { display: none; }
    
    .fcols { flex-direction: column !important; }
    .fimg-wrap { width: 100% !important; margin-right: 0 !important; margin-bottom: 20px; display: flex; flex-direction: column; align-items: center; }
    .fimg-wrap .img-fit { width: 220px; max-width: 100%; }
    .btns-row-mini { max-width: 220px; width: 100%; }
}

@media (max-width: 600px) {
    .news-container { justify-content: flex-start; text-align: left; padding-right: 50px; }
    .fimg-podb { height: 200px; }
    .fimg-podb .fheader { padding: 15px 20px; }
    .fimg-podb h1 { font-size: 18px; }
    .cat-item-wrap { width: 100%; }
    .cat-item-link { padding: 12px; }
}

@media screen and (max-width: 590px) {
    .wrap-center { max-width: 480px; }
    .header-btn { margin-left: 15px; font-size: 12px; padding: 0 10px; border-radius: 12px; height: 32px; line-height: 32px; }
    .sect-title { font-size: 20px; }
    .sect-items { margin: 0 -5px -10px -5px; }
    .album-item, .collection-item { width: 50%; padding: 0 5px; margin-bottom: 10px; }
    .col-right { display: block; width: 100%; margin: 10px 0 0 0; }
    .ac-inputs input { width: 100%; }
    .video-box embed, .video-box object, .video-box video, .video-box iframe, .video-box frame { height: 300px; }
    .ui-dialog { width: 100% !important; }
    .upop-left, .upop-right { float: none !important; width: 100% !important; margin: 0; padding: 0 20px; }
    .upop-left { margin-bottom: 10px; text-align: center; }
    .ui-dialog-buttonset button { display: block; margin: 0 0 5px 0; width: 100%; }
    #dofullsearch, #searchsuggestions span.seperator { display: none !important; }
    .attach .download-link { margin: 0 -15px 0 0; float: none; display: block; padding: 0 10px; }
    .attach-info { float: none; }
}

@media screen and (max-width: 480px) {
    .track-row-modern { gap: 2px; }
    .btn-modern { height: 52px; padding: 0 10px; border-radius: 10px; }
    .btn-modern .text { font-size: 14px; }
    .btn-modern .icon { font-size: 18px; margin-right: 8px; }
    .btn-compact .text { font-size: 11px !important; }
}

@media screen and (max-width: 470px) {
    .wrap-center { max-width: 360px; }
    .track-time { font-size: 10px; margin-left: 10px; }
    .track-dl { margin-left: 10px; }
    .logo { font-size: 20px; }
    .fmain { margin: -15px; margin-bottom: 15px; border-radius: 0; padding: 15px; }
    .frate { font-size: 12px; }
    .frate a .fal { width: 30px; height: 30px; line-height: 30px; font-size: 14px; margin-right: 5px; }
    .fheader h1 { font-size: 20px; }
    .fimg { width: 100px; height: 100px; margin-right: 10px; }
    .finfo li { line-height: 1.5; }
    .ffav { display: none !important; }
    .fcols .fcaption { margin-bottom: 0; }
    .video-box embed, .video-box object, .video-box video, .video-box iframe, .video-box frame { height: 250px; }
}

@media (max-width: 440px) {
    .rad-modal_content { padding: 25px 18px; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ====================================================================
   СОВРЕМЕННЫЙ ПЕРЕКЛЮЧАТЕЛЬ ТЕМЫ (СЛАЙДЕР В СТИЛЕ DLE 19)
   ==================================================================== */
.theme-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 28px;
    flex-shrink: 0;
}

.theme-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.theme-switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 7px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.theme-switch .slider i {
    font-size: 13px;
    z-index: 1;
    transition: 0.3s;
}
.theme-switch .slider .fa-moon { color: #f8fafc; }
.theme-switch .slider .fa-sun { color: #f59e0b; }

.theme-switch .slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s cubic-bezier(0.68, -0.55, 0.265, 1.55); 
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    z-index: 2;
}

.theme-switch input:checked ~ .slider {
    background-color: #334155;
}

.theme-switch input:checked ~ .slider:before {
    transform: translateX(26px);
}

/* ====================================================================
   ТЁМНАЯ ТЕМА (ГЛОБАЛЬНЫЕ ЦВЕТА И ФОНЫ)
   ==================================================================== */
.theme-toggle-btn { 
    width: 40px; height: 40px; border-radius: 50%; background: #2563eb; color: #fff; 
    border: none; cursor: pointer; font-size: 18px; display: flex; align-items: center; 
    justify-content: center; transition: all .3s; box-shadow: 0 4px 10px rgba(37,99,235,.3); 
}
.theme-toggle-btn:hover { transform: scale(1.1); background: #1d4ed8; }

/* Уровень 0 */
html.dark-theme,
html.dark-theme body,
body.dark-theme,
body.dark-theme input[type="text"], body.dark-theme input[type="password"], 
body.dark-theme textarea, body.dark-theme select, body.dark-theme .submenuItems, 
body.dark-theme .login-avatar, body.dark-theme .rad-modal_content input, 
body.dark-theme .minus-delay-icon, body.dark-theme .author-contact-button, 
body.dark-theme .notice-delay {
    background: #0f172a !important; 
    color: #cbd5e1 !important;
}

/* Уровень 1 */
body.dark-theme .sect-bg, body.dark-theme .sect-bgg, body.dark-theme .sect2-bg, 
body.dark-theme .sect3-bg, body.dark-theme .sect4-bg, body.dark-theme .side-box, 
body.dark-theme .side-subscribe, body.dark-theme .side-r, body.dark-theme .side-ra, 
body.dark-theme .payment-box-modern, body.dark-theme .hidden-menu, 
body.dark-theme .rad-modal_content, body.dark-theme .accordion-menu, 
body.dark-theme .finfo li > span:first-child, body.dark-theme .finfo li > span:last-child,
body.dark-theme .lastcomment .lcol .avatar div, body.dark-theme .modal-content, 
body.dark-theme .ui-dialog, body.dark-theme .ui-widget-content, body.dark-theme .minus-delay-card, 
body.dark-theme .vote_box, body.dark-theme .bvote, body.dark-theme .vote-block, 
body.dark-theme form[name="vote"] > div, body.dark-theme .login-box, 
body.dark-theme .rad-modal_sums > span, body.dark-theme blockquote, 
body.dark-theme .quote, body.dark-theme div[class*="quote"], body.dark-theme .high2span, 
body.dark-theme .header, body.dark-theme .cat-item-link, body.dark-theme .cat-item-link::after,
body.dark-theme .fm, body.dark-theme .nm, body.dark-theme .bvote > div:first-child, 
body.dark-theme .vote_box > div:first-child, body.dark-theme .is-active,
body.dark-theme .col-left div[style*="background"], body.dark-theme a[style*="linear-gradient"],
body.dark-theme #dropmenudiv, body.dark-theme #searchsuggestions, body.dark-theme #countdown-btn,
body.dark-theme .side-panel, body.dark-theme .vote-title {
    background: #1e293b !important; 
    border-color: #334155 !important; 
    background-image: none !important;
}

/* Уровень 2 */
body.dark-theme .button, body.dark-theme .btn, body.dark-theme html input[type="button"], 
body.dark-theme input[type="submit"], body.dark-theme .modal-close, 
body.dark-theme .rad-modal_close, body.dark-theme .bvote button, 
body.dark-theme .vote_box button, body.dark-theme .lastcomment .comment_text,
body.dark-theme .col-left .button, body.dark-theme .col-left .btn,
body.dark-theme .vote-buts button, body.dark-theme .vote-buts .vvote,
body.dark-theme .vote-buts .vres, body.dark-theme .vote-buts .vall,
body.dark-theme .side-panel .btn-close {
    background: #334155 !important; 
    color: #f1f5f9 !important; 
    border: 1px solid #475569 !important; 
    box-shadow: none !important;
}

/* Типографика */
body.dark-theme h1, body.dark-theme h2, body.dark-theme h3, body.dark-theme h4, 
body.dark-theme h5, body.dark-theme a, body.dark-theme .cat-item-name, 
body.dark-theme .finfo li > span:last-child, body.dark-theme .modal-content h3, 
body.dark-theme .ui-dialog-titlebar, body.dark-theme .login-title, 
body.dark-theme .rad-modal_title, body.dark-theme .minus-delay-caption > div:first-child, 
body.dark-theme .vote_box .title, body.dark-theme .bvote .title, body.dark-theme .vote-block b,
body.dark-theme .fm div, body.dark-theme .nm div, body.dark-theme .fm span, body.dark-theme .nm span,
body.dark-theme .high2span *, body.dark-theme blockquote *, body.dark-theme div[class*="quote"] *,
body.dark-theme .vote-buts button span, body.dark-theme .comm-one > span.comm-author, 
body.dark-theme .comm-one > span.comm-author a {
    color: #f1f5f9 !important; 
    background-color: transparent !important;
}

body.dark-theme .lastcomment .ul_inf a, body.dark-theme .lastcomment .ul_inf em,
body.dark-theme .modal-content a:not(.author-contact-button), body.dark-theme .login-btm a,
body.dark-theme .is-active, body.dark-theme a[style*="linear-gradient"],
body.dark-theme .author-contact-button, body.dark-theme #countdown-btn {
    color: #60a5fa !important; 
    -webkit-text-fill-color: #60a5fa !important; 
    border-color: #60a5fa !important;
}

body.dark-theme .modern-desc, body.dark-theme .finfo li > span:first-child, 
body.dark-theme .submenuItems a, body.dark-theme .lastcomment .ul_inf, 
body.dark-theme .minus-delay-sub, body.dark-theme .login-check span,
body.dark-theme #dropmenudiv a, body.dark-theme .comm-one > span,
body.dark-theme .rad-modal_sums > span {
    color: #94a3b8 !important;
}

body.dark-theme input::placeholder, body.dark-theme textarea::placeholder { color: #94a3b8 !important; opacity: 1 !important; }
body.dark-theme input::-webkit-input-placeholder, body.dark-theme textarea::-webkit-input-placeholder { color: #94a3b8 !important; opacity: 1 !important; }
body.dark-theme input::-moz-placeholder, body.dark-theme textarea::-moz-placeholder { color: #94a3b8 !important; opacity: 1 !important; }

/* Ховеры */
body.dark-theme .button:hover, body.dark-theme .btn:hover, body.dark-theme html input[type="button"]:hover, 
body.dark-theme input[type="submit"]:hover, body.dark-theme .bvote button:hover, 
body.dark-theme .vote_box button:hover, body.dark-theme .col-left .button:hover,
body.dark-theme .rad-modal_sums > span:hover, body.dark-theme .rad-modal_sums > span.selected,
body.dark-theme .vote-buts button:hover, body.dark-theme .vote-buts .vvote:hover,
body.dark-theme .vote-buts .vres:hover, body.dark-theme .vote-buts .vall:hover {
    background: #2563eb !important; color: #fff !important; border-color: #2563eb !important;
}
body.dark-theme .vote-buts button:hover span { color: #fff !important; }

body.dark-theme .lastcomment:hover .comment_text, body.dark-theme .fm:hover, 
body.dark-theme .nm:hover, body.dark-theme .is-active:hover, body.dark-theme #countdown-btn:hover {
    background: #475569 !important;
}
body.dark-theme .login-menu a:hover, body.dark-theme #dropmenudiv a:hover { 
    color: #38bdf8 !important; background: #0f172a !important; 
}

body.dark-theme .modal-close:hover, body.dark-theme .rad-modal_close:hover, body.dark-theme .side-panel .btn-close:hover { 
    background: #ef4444 !important; color: #fff !important; border-color: #ef4444 !important; 
}

body.dark-theme a:hover, body.dark-theme .dropdownlink:hover { color: #38bdf8 !important; }
body.dark-theme .modal-content a:not(.author-contact-button):hover, body.dark-theme .is-active:hover, 
body.dark-theme .login-btm a:hover, body.dark-theme #countdown-btn:hover { color: #93c5fd !important; }

/* Компоненты */
body.dark-theme .donate, body.dark-theme .donate2, body.dark-theme .btn-modern { background: rgba(15, 23, 42, 0.7) !important; border-color: #334155 !important; }
body.dark-theme .donate:hover, body.dark-theme .donate2:hover, body.dark-theme .btn-modern:hover { background: rgba(30, 41, 59, 0.9) !important; }

body.dark-theme .audioplayer { background: rgba(15, 23, 42, 0.95) !important; border: 1px solid #334155 !important; box-shadow: 0 -10px 30px rgba(0,0,0,0.8) !important; }
body.dark-theme .audioplayer-title, body.dark-theme .ap-artist, body.dark-theme .ap-title, body.dark-theme .ap-time { color: #cbd5e1 !important; }

body.dark-theme .track-item.js-item-current.js-item-stopped::before { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important; border-color: #334155 !important; border-left-color: #64748b !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important; }
body.dark-theme .track-item.js-item-current.js-item-stopped .js-play { background: rgba(15, 23, 42, 0.7) !important; }
body.dark-theme .track-item.js-item-played::before { background: linear-gradient(to right, #1e293b, #0f172a) !important; border-color: #334155 !important; border-left-color: #2563eb !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important; }

body.dark-theme .rad-donate-link { background: #2563eb !important; color: #fff !important; box-shadow: 0 4px 15px rgba(37,99,235,.4) !important; }
body.dark-theme .rad-donate-link:hover { background: #1d4ed8 !important; }

body.dark-theme .status-badge.success { background: rgba(22, 163, 74, 0.2); color: #4ade80; }
body.dark-theme .status-badge.danger { background: rgba(220, 38, 38, 0.2); color: #f87171; }
body.dark-theme .status-badge.pending { background: rgba(217, 119, 6, 0.2); color: #fbbf24; }
body.dark-theme .soobshenie, body.dark-theme .rad-modal_content .soobshenie { background: rgba(220, 38, 38, 0.15) !important; border-color: rgba(220, 38, 38, 0.3) !important; color: #fca5a5 !important; }
body.dark-theme .notice-delay strong { color: #f87171 !important; }
body.dark-theme .berrors { background: rgba(220, 38, 38, 0.15) !important; color: #fca5a5 !important; border: 1px solid rgba(220, 38, 38, 0.3) !important; }

body.dark-theme .dropdownlink, body.dark-theme .submenuItems li, body.dark-theme .login-menu, 
body.dark-theme .login-menu li, body.dark-theme #dropmenudiv a, body.dark-theme .side-panel { border-color: #334155 !important; }
body.dark-theme #dropmenudiv a:last-child { border-bottom: none !important; }
body.dark-theme .finfo li::before { color: #334155 !important; }
body.dark-theme .minus-delay-wave { opacity: 0.1 !important; }
body.dark-theme .minus-delay-icon { color: #a855f7 !important; }
body.dark-theme .fm .track-play, body.dark-theme .nm .track-play { background: #0f172a !important; color: #2563eb !important; }
body.dark-theme .login-check input:checked + span:before { background: #2563eb !important; }

body.dark-theme #dropmenudiv, body.dark-theme #searchsuggestions { box-shadow: 0 10px 30px rgba(0,0,0,0.6) !important; }
body.dark-theme #countdown-btn { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important; }
body.dark-theme .side-panel { box-shadow: 2px 0 15px rgba(0, 0, 0, 0.5) !important; border-right: 1px solid #334155 !important; }

/* Фильтры картинок */
body.dark-theme .fimg, body.dark-theme .frate, body.dark-theme .logo-img, 
body.dark-theme .badge-cell, body.dark-theme .youtube, body.dark-theme .cat-count,
body.dark-theme .comm-item, body.dark-theme .fimg2, body.dark-theme .img-fit,
body.dark-theme .avatar, body.dark-theme .cat-item-img img, body.dark-theme .track-img, 
body.dark-theme .album-img, body.dark-theme .full-text img {
    filter: brightness(0.75) contrast(1.05) !important;
    transition: filter 0.3s ease, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out !important;
}

body.dark-theme .fimg:hover, body.dark-theme .cat-item-img img:hover,
body.dark-theme .track-item:hover .track-img, body.dark-theme .album-item:hover .album-img,
body.dark-theme .full-text img:hover, body.dark-theme .img-fit:hover img {
    filter: brightness(1) contrast(1) !important;
}

body.dark-theme img[src*="counter.yadro.ru"], body.dark-theme img[title="LiveInternet"] {
    filter: brightness(0.6) grayscale(0.3) contrast(1.1) !important; opacity: 0.7 !important; transition: all 0.3s ease !important;
}
body.dark-theme img[src*="counter.yadro.ru"]:hover, body.dark-theme img[title="LiveInternet"]:hover {
    filter: brightness(1) grayscale(0) contrast(1) !important; opacity: 1 !important;
}

/* ПРОФИЛЬ (.us-prof) */
body.dark-theme .us-prof {
    background-color: #1e293b !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
}
body.dark-theme .usp-left {
    background-color: #0f172a !important;
    color: #cbd5e1 !important;
}
body.dark-theme .usp-right {
    background-color: transparent !important;
}
body.dark-theme .usp-name {
    background-color: transparent !important;
    border-bottom-color: #334155 !important;
    color: #94a3b8 !important;
}
body.dark-theme .usp-name h1,
body.dark-theme .usp-name div {
    color: #f1f5f9 !important;
}
body.dark-theme .usp-meta li {
    color: #cbd5e1 !important;
}
body.dark-theme .usp-meta li:nth-child(2n+1) {
    background-color: #0f172a !important;
}

/* DLE 19-20 */
.text_spoiler { display: none; }
.monthselect-inner { display: flex; align-items: center; justify-content: center; gap: 3em; }
.monthselect-title { display: inline-block; }
.dlepopupnewsedit .wseditor { border-top: none; }
.dlepopupnewsedit .tox .tox-toolbar-overlord { background-color: #f7f7f7; }

/* Cookie-баннер */
.cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 680px;
    margin: 0 auto;
    background: #ffffff;
    color: #334155;
    padding: 14px 20px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    z-index: 999999;
    font-size: 13px;
    line-height: 1.45;
    font-family: 'Montserrat', sans-serif;
}

.cookie-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.cookie-text {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cookie-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.cookie-banner a {
    color: #2563eb;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s;
}

.cookie-banner a:hover {
    color: #1d4ed8;
    text-decoration: none;
}

.cookie-btn {
    background: #2563eb;
    color: #ffffff;
    border: none;
    padding: 8px 22px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
    transition: all 0.25s ease;
}

.cookie-btn:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
    box-shadow: 0 5px 14px rgba(37, 99, 235, 0.35);
}

.cookie-btn:active {
    transform: translateY(0);
}

@media (max-width: 600px) {
    .cookie-banner {
      bottom: 12px;
      left: 12px;
      right: 12px;
      padding: 12px 14px;
    }
    .cookie-content {
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
    }
    .cookie-text {
      align-items: flex-start;
    }
    .cookie-btn {
      width: 100%;
      height: 38px;
      padding: 0;
    }
}

body.dark-theme .cookie-banner {
    background: rgba(30, 41, 59, 0.95) !important;
    border-color: #334155 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
    color: #cbd5e1 !important;
}
body.dark-theme .cookie-banner a {
    color: #60a5fa !important;
}
body.dark-theme .cookie-btn {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
    box-shadow: none !important;
}
body.dark-theme .cookie-btn:hover {
    background: #2563eb !important;
    color: #ffffff !important;
}
/* ====================================================================
   ФИКС ЦВЕТОВ ТЕКСТА В ТЁМНОЙ ТЕМЕ (PESNU.RU)
   ==================================================================== */

/* 1. Текст песни / слова / куплеты */
body.dark-theme .full-text,
body.dark-theme .full-text p,
body.dark-theme .full-text div,
body.dark-theme .full-text span,
body.dark-theme .ftext,
body.dark-theme .ftext p,
body.dark-theme .ftext div {
    color: #e2e8f0 !important;
}
body.dark-theme .full-text a {
    color: #60a5fa !important;
}

/* 2. Названия треков и списки песен (снизу и в сайдбаре) */
body.dark-theme .track-title,
body.dark-theme .track-title a,
body.dark-theme a.track-desc,
body.dark-theme .track-desc * {
    color: #f8fafc !important;
}
body.dark-theme .track-subtitle,
body.dark-theme .track-time,
body.dark-theme .track-desc span {
    color: #94a3b8 !important;
}

/* 3. Левое меню, выпадающие списки и аккордеон */
body.dark-theme .side-nav > li > a,
body.dark-theme .dropdownlink,
body.dark-theme .accordion-menu,
body.dark-theme .accordion-menu a,
body.dark-theme .submenuItems,
body.dark-theme .submenuItems a {
    color: #f1f5f9 !important;
}
body.dark-theme .side-nav > li > a:hover,
body.dark-theme .dropdownlink:hover,
body.dark-theme .submenuItems a:hover {
    color: #38bdf8 !important;
}

/* 4. Опрос (Сколько Вам лет? и варианты ответов) */
body.dark-theme .vote_box,
body.dark-theme .bvote,
body.dark-theme .vote-block,
body.dark-theme form[name="vote"],
body.dark-theme form[name="vote"] label,
body.dark-theme form[name="vote"] div,
body.dark-theme .vote-title,
body.dark-theme .vote-theme {
    color: #f1f5f9 !important;
}

/* 5. Облако тегов, популярные песни и сайдбар справа */
body.dark-theme .side-box,
body.dark-theme .side-box a,
body.dark-theme .side-item,
body.dark-theme .side-item a,
body.dark-theme .side-text {
    color: #cbd5e1 !important;
}
body.dark-theme .side-item span {
    color: #93c5fd !important;
}
body.dark-theme .side-box a:hover,
body.dark-theme .side-item:hover * {
    color: #38bdf8 !important;
}

/* 6. Комментарии (текст, даты, цитаты) */
body.dark-theme .comm-item,
body.dark-theme .comm-two,
body.dark-theme .comm-two * {
    color: #e2e8f0 !important;
}
body.dark-theme .comm-one > span {
    color: #94a3b8 !important;
}
body.dark-theme .comm-one > span.comm-author,
body.dark-theme .comm-one > span.comm-author a {
    color: #f8fafc !important;
}

/* 7. Подвал сайта (убираем белую полосу снизу) */
body.dark-theme .footer {
    background: #0b1120 !important;
    border-top: 1px solid #1e293b !important;
    color: #94a3b8 !important;
}
body.dark-theme .footer a,
body.dark-theme .footer span {
    color: #60a5fa !important;
    border-bottom: 1px dotted #60a5fa !important;
}

/* 8. Заголовки секций ("Детские песни слушать бесплатно...") */
body.dark-theme .sect-title,
body.dark-theme .sect2-title,
body.dark-theme .sect3-title,
body.dark-theme .sect-title4 {
    color: #f8fafc !important;
}
/* ====================================================================
   ФИКС ЗАГОЛОВКОВ В БОКОВОЙ КОЛОНКЕ (САЙДБАРЕ)
   ==================================================================== */

/* Делаем заголовки сайдбара ("Тематические подборки", "Свежие поступления") ярко-белыми */
body.dark-theme .side-bt,
body.dark-theme .side-box .side-bt,
body.dark-theme aside .side-bt {
    color: #f8fafc !important;
    border-bottom-color: #f43f5e !important;
}

/* Иконки радио / нот в заголовках делаем яркими */
body.dark-theme .side-bt [class*="fa-"],
body.dark-theme .side-bt .fal,
body.dark-theme .side-bt .fas {
    color: #f43f5e !important;
}

/* Подпись внизу блока ("Музыка, минусовки и ноты") делаем приятной светло-голубой */
body.dark-theme .side-subscribe-caption,
body.dark-theme .side-r-caption,
body.dark-theme .side-ra-caption {
    color: #93c5fd !important;
}

/* Сами теги (8 марта, День победы и т.д.) делаем четкими и читаемыми */
body.dark-theme .side-box a,
body.dark-theme .side-bc a {
    color: #cbd5e1 !important;
}

body.dark-theme .side-box a:hover,
body.dark-theme .side-bc a:hover {
    color: #38bdf8 !important;
}