/* BASIC LAYOUT
----------------------------------------------- */
.wrapper {min-width: 320px; position: relative; overflow: hidden; overflow: clip; padding: 40px 0;}
.wrapper__container {max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 20;}
.wrapper__container--main {background-color: var(--bg-darker); 
	box-shadow: 0 20px 40px rgba(0,0,0,0.1); border-radius: 20px 20px 0 0;}
.header {padding: 0 var(--indent); padding-left: calc(260px + var(--indent)); 
	position: relative; z-index: 100; height: 110px;}
.cols {display: grid; grid-template-columns: 260px minmax(0,1fr); min-height: 100vh; grid-template-areas: "sidebar content";}
.cols__content {grid-area: content; padding: 0 var(--indent); padding-bottom: 40px;}
.cols__sidebar {grid-area: sidebar; padding: 105px 20px 40px 20px; gap: 40px; position: relative; z-index: 50;
	background-color: #000000; margin-top: -110px; --tt: #afb8c5; color: #afb8c5; border-radius: 20px 20px 0 0;}
.cols__sidebar-sticky {position: sticky; left: 0; top: 15px;}
.footer {padding: 20px var(--indent); background-color: var(--bg-darkest);}
.footer__two {border-top: 1px solid var(--bdc); padding-top: 20px; margin-top: 20px;}

.scrolltop {position: fixed; width: 40px; height: 40px; right: 10px; bottom: 10px; padding: 0;
	z-index: 990; border-radius: var(--bdrs); font-size: 18px; opacity: 0; scale: 0 0;}
.scrolltop.is-active {scale: 1 1; opacity: 1;}
.overlay {position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%; 
	opacity: 0.8; background-color: #1d1924; cursor: pointer; display: none;}


/* HEADER, TOPMENU, CAROU
----------------------------------------------- */
.logo {display: flex;align-items: center;font-weight: 700;text-transform: uppercase;padding-left: 43px;position: relative;font-size: 22px;
background: url(https://tunemir.com/templates/tunemir/images/logo.svg) 0 center / 26px no-repeat;height: 50px;transition: background 0.2s ease;}
.logo.is-playing {background-image: none;padding-left: 36px;}
.header-eq {display: none;align-items: flex-end;gap: 3px;height: 16px;position: absolute;left: 0;bottom: 17px;width: 26px;justify-content: center;}
.logo.is-playing .header-eq {display: flex;}
.logo span {color: var(--accent-2);}
.logo:has(img) {background: none; min-width: 200px;}
.logo img {display: block; position: absolute; left: 0; top: 50%; translate: 0 -50%; max-height: 100%;}
.header .header__logo {position: absolute; left: 30px; top: 50%; translate: -7px -50%;}
.dt .header__theme-select::before {content:"\f755";}
.header__btn-login, .header__btn-link {border-radius: var(--bdrs);}
.header__btn-login {background-color: var(--accent-2);}
.header__btn-login::before {display: none !important;}
@media screen and (min-width: 1220px) {
	.header .header__logo {color: #fff;}
}

.header__user {position: relative; padding-left: 50px; padding-right: 15px; cursor: pointer;}
.header__user::before {position: absolute; right: 0; bottom: 2px; color: var(--tt-fade);}
.header__user-ava {width: 40px; position: absolute; left: 0; top: 50%; translate: 0 -50%;}
.header__user-name {font-weight: 600;}
.header__user-group, .header__user-group * {color: var(--tt-fade) !important; font-size: 12px; font-weight: 400 !important;}
.header__btn1 {color: var(--tt-fade); font-size: 24px; position: relative;}
.header__btn1 span {position: absolute; left: 50%; top: -20px; translate: -50% 0;
	padding: 0 8px; font-size: 10px; border-radius: 10px; background-color: var(--accent-fade); color: var(--accent); 
	display: grid; place-items: center; height: 20px; min-width: 30px;}
.c-0 span {display: none;}

.search-block {position: relative; width: 400px;}
.search-block__input, .search-block__input:focus {padding: 0 50px 0 15px; box-shadow: none; 
	border-radius: var(--bdrs); border-width: 0px;}
.search-block__input:not(:focus)::placeholder {color: var(--tt); opacity: 0.66;}
.search-block__btn {position: absolute; right: 0; top: 0; font-size: 18px; width: 50px; border-radius: var(--bdrs);}


/* SECTION
----------------------------------------------- */
.sect {counter-reset: n;}
.sect:not(:last-child) {margin-bottom: 60px;}
.sect__header {margin-bottom: 30px;}
.sect__title {font-size: 24px; font-weight: 500; line-height: 1.3; gap: 5px; display: flex; flex-direction: column-reverse;}
.sect__title span {color: var(--tt-fade); font-size: 12px; font-weight: 400;}
.sect__link {height: 34px; border-radius: var(--bdrs); padding: 0 15px; font-size: 10px; text-transform: uppercase;
	background-color: var(--bg-darkest); color: var(--tt-fade);}
.sect__right {width: 360px;}
.sect__caption {color: #888;}
.genres-list a {display: block;border-radius: var(--bdrs);padding: 8px 16px;font-size: 14px; background-color: var(--bg-darkest);border: 1px solid rgba(255,255,255,0.08);transition: all 0.2s;}


.sect__content--bg {background-color: var(--bg); box-shadow: var(--bsh); border-radius: var(--bdrs); overflow: hidden;}

.speedbar {color: var(--tt-fade); font-size: 14px; padding: 20px 40px;
	border-bottom: 4px dotted var(--bdc); margin: -30px -40px; margin-bottom: 20px;}
.speedbar a {color: var(--tt);}
.speedbar::before {color: var(--blue); margin-right: 10px;}

.descr {color: var(--tt-fade); display: grid; gap: 10px; padding-top: 35px; 
	line-height: 1.6; border-top: 5px dotted var(--bdc);}
.descr :is(h1,h2,h3) {font-size: 16px; font-weight: 500; line-height: 1.3;}
.descr a {text-decoration: underline; color: var(--tt-fade);}
.descr ul li {position: relative; padding-left: 25px; margin-left: 25px;}
.descr ul li::before {content:"\f00c"; color: var(--accent); position: absolute; left: 0; top: 0;}


/* GRIDS
----------------------------------------------- */
.grid-items {display: grid; gap: 10px; grid-template-columns: repeat(auto-fill,minmax(min(60vw,460px),1fr));}
.grid-items > *:not(.grid-items__item), #dle-content > *:not(.grid-items__item) {grid-column: 1 / -1;}
.grid-items > #dle-content {display: inherit; gap: inherit; grid-template-columns: inherit;}
.grid-items:has(.album-item) {gap: 15px; grid-template-columns: repeat(auto-fill,minmax(180px,1fr));}
.grid-items:has(.podcast-item) {gap: 15px; grid-template-columns: repeat(auto-fill,minmax(220px,1fr));}
.grid-items:has(.collection-item) {gap: 20px; grid-template-columns: repeat(auto-fill,minmax(280px,1fr));}
.grid-items:has(.artist-item) {gap: 20px; grid-template-columns: repeat(auto-fill,minmax(160px,1fr));}
.grid-items:has(.collection-main) {gap: 15px 15px; grid-template-columns: minmax(0,1fr) 300px; 
	padding: 15px; grid-auto-flow: row dense;}
.grid-items.sect__content--bg:has(.album-item) {gap: 0 !important;}


/* TRACK
----------------------------------------------- */
.track-item {background-color: var(--bg); box-shadow: var(--bsh); border-radius: var(--bdrs); padding: 15px; gap: 15px;}
.track-item:hover {outline: 1px solid rgba(46, 204, 113, 60%);}
.track-item__img {width: 40px; border-radius: var(--bdrs); position: relative;}
.badge-hit {background: #e74c3c;color: #fff;font-size: 12px;font-weight: 500;padding: 2px 6px;border-radius: 4px;margin-left: 6px;vertical-align: middle; width: fit-content}
.badge-new {background: #f39c12;color: #ffffff;font-size: 12px;font-weight: 500;padding: 2px 6px;border-radius: 4px;margin-left: 6px;vertical-align: middle;}
.badge-container {position: absolute;top: 8px;left: 3px;display: flex;flex-direction: column;gap: 4px;}
.track-item__btn-play {height: 40px; border-radius: 50%; padding-left: 3px; font-size: 12px;
	border: 2px solid var(--accent); color: var(--accent);}
.track-item__title {font-weight: 600; font-size: 15px;}
.track-item__subtitle {font-size: 13px; color: var(--tt-fade); margin-top: 2px;}
.track-item__time {color: var(--tt-fade); font-size: 11px;}
.track-item__btn-ctrl {font-size: 16px; color: var(--tt-fade-0); background-color: var(--bg-darker-1);
	height: 40px; border-radius: var(--bdrs);}
.track-item__fav a {display: grid; place-items: center; width: 30px; height: 30px; color: var(--tt-fade); font-size: 20px;}
.track-item__fav a:has(.added) {color: var(--accent);}
.track-item2::before {content: counter(n, decimal-leading-zero);counter-increment: n;font-size: 18px;color: var(--tt-fade);opacity: 0.66;
font-weight: 500;width: 40px;text-align: center;}
.track-item3::before {content: counter(n,decimal-leading-zero)'.'; counter-increment: n; font-size: 18px; 
	color: var(--tt-fade); opacity: 0.66; font-weight: 500; width: 40px; text-align: center;}
.track-item2 .track-item__subtitle {font-size: 15px; margin: 0;}
.track-item .track-item__subtitle {font-size: 15px; margin: 0;}
.track-item__rating {width: 60px; color: var(--tt-fade); margin-left: 20px;}
.track-item2:nth-child(1) {border-left: 2px solid #FFD700;background: linear-gradient(90deg, rgba(255,215,0,0.15) 0%, transparent 95%);}
.track-item2:nth-child(2) {border-left: 2px solid #E8E8E8;background: linear-gradient(90deg, rgba(232,232,232,0.15) 0%, transparent 95%);}
.track-item2:nth-child(3) {border-left: 2px solid #CD7F32;background: linear-gradient(90deg, rgba(205,127,50,0.15) 0%, transparent 95%);}
.js-trc--is-current .track-item__btn-play:not(:hover), .js-trc--is-playing .track-item__btn-play, 
.js-trc--is-playing .page__play {background-color: var(--accent); color: #fff;}
.js-trc--is-playing .track-item__btn-play::before, 
.js-trc--is-playing .page__play::before {content:"\f04c";}
.js-trc--is-playing .track-item__btn-play::before {padding-left: 0;}
.track-item.js-trc--is-playing {box-shadow: 0 0 0 1px var(--accent);}


.track-item__title-wrap {display: flex;align-items: center;min-width: 0;overflow: hidden;flex-wrap: nowrap;}
.track-item__title-wrap .track-item__title {min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;flex-shrink: 1;}
.track-item__title-wrap .badge-hit,
.track-item__title-wrap .badge-new {flex-shrink: 0;white-space: nowrap;}




/* COLLECTION
----------------------------------------------- */
.collection-main {grid-column: 1 / 2; grid-row: 1 / 4; min-height: 280px; border-radius: var(--bdrs);}
.collection-item__img {border-radius: var(--bdrs); height: 180px;}
.grid-items:has(.collection-main) .collection-item__img {height: 110px;}
.collection-item__desc {position: absolute; left: 0; bottom: 0; padding: 15px; padding-right: 100px;}
.collection-item__title {display: inline; background-color: #fff; box-decoration-break: clone; 
	box-shadow: 0 0 0 5px #fff; padding: 0 5px; color: #000;}
.collection-main__desc {position: absolute; left: 0; top: 0; bottom: 0; width: 50%; z-index: 3; padding: 30px; color: #fff;}
.collection-main::after {background: linear-gradient(to right, #000 0%, transparent 100%);}
.collection-main__title {font-size: 28px; font-weight: 500; line-height: 1.3; text-wrap: balance;}
.collection-main__subtitle {font-size: 12px; text-transform: uppercase; opacity: 0.9;}
.collection-main__meta {font-size: 16px; font-weight: 500;}
.collection-main__meta span {text-transform: uppercase; font-size: 12px; opacity: 0.8; font-weight: 400; margin-bottom: 3px;}
.collection-main__btn {align-self: flex-start; border-radius: var(--bdrs);}


/* ALBUM ITEM
----------------------------------------------- */
.album-item {background-color: var(--bg); box-shadow: var(--bsh); border-radius: var(--bdrs); padding: 15px;}
.album-item__img {border-radius: var(--bdrs); border-radius: 50%;}
.album-item:has(.album-item__meta) .album-item__img {border-radius: var(--bdrs) var(--bdrs) 0 0;}
.album-item__desc {margin-top: 15px;}
.album-item__title {font-weight: 500;}
.album-item__meta {font-size: 12px; text-transform: uppercase;}
.album-item__year {width: 50px; padding: 3px 0; text-align: center; 
	background-color: var(--bg-darker-1); color: var(--tt-fade-0);}
.album-item__subtitle {max-width: calc(100% - 50px); padding: 3px 10px; background-color: var(--accent-2);}
.sect__content--bg .album-item {border: 1px solid var(--bdc); border-radius: 0; border-right: 0; margin: -1px 0 0 -1px;}


/* PODCAST ITEM
----------------------------------------------- */
.podcast-item {border-radius: var(--bdrs);}
.podcast-item__title {position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; padding: 25px 30px; color: #fff;}


/* SIDEBAR
----------------------------------------------- */
.side-menu__list li + li {margin-top: 5px;}
.side-menu__caption {text-transform: uppercase; font-weight: 500; font-size: 12px; margin-bottom: 10px;}
.side-menu__list li {position: relative; white-space: nowrap;}
.side-menu__list a, .side-menu__list span {display: flex; align-items: center; gap: 10px; border-radius: var(--bdrs);
	padding-left: 60px; position: relative; height: 40px; cursor: pointer; margin: 0 -10px;}
.side-menu__list li::before {width: 1.4em; font-size: 22px; z-index: 1;
	position: absolute; left: 0; top: 50%; translate: 0 -50%; pointer-events: none;}
.cols__sidebar .side-menu__list li:has(span) {--tt: #fff; color: #fff;}
.side-menu__list li:has(span)::after {content: ''; height: 100%; width: 5px; background-color: #fff; 
	position: absolute; left: -20px; top: 0;}
.side-menu__separator {height: 1px;background: rgba(255, 255, 255, 0.15); margin: 12px 20px 12px 0 !important; 
list-style: none !important;}
.gnr {background-color: var(--bg); padding: 40px; box-shadow: var(--bsh); width: 600px; display: none;
	position: fixed; left: 50%; top: 50%; translate: -50% -50%; z-index: 998; border-radius: var(--bdrs);}
.gnr__close {position: absolute; right: 10px; top: 10px; border-radius: var(--bdrs); font-size: 18px; background-color: var(--red);}


/* FOOTER, PAGINATION
----------------------------------------------- */
/*.footer__logo {min-width: 210px;}*/
.footer__notify {border-left: 1px solid var(--bdc); padding-left: 20px; color: var(--tt-fade); font-size: 13px;}
.footer__copyright {font-size: 12px; text-transform: uppercase;}

.pagination {gap: 20px 10px; padding-top: 25px;}
.pagination__pages a, .pagination__pages span, .pagination > a, .pagination > span 
{display: grid; place-items: center; color: var(--tt-fade);
	height: 40px; min-width: 40px; padding: 0 10px; border-radius: var(--bdrs); 
	background-color: var(--bg-darkest);}
.pagination__pages {gap: 10px; font-size: 14px;}
.pagination__pages span:not(.nav_ext) {color: #fff; background: var(--accent);}
.pagination__btns {height: 40px; border-radius: var(--bdrs); overflow: hidden; background-color: var(--bg); box-shadow: var(--bsh);}
.pagination__btns > * {width: 40px; display: grid; place-items: center; color: var(--accent); font-size: 18px;}
.pagination__btns > span {color: var(--tt-fade);}


/* INNER PAGE
----------------------------------------------- */
.page__main {background-color: var(--bg); box-shadow: var(--bsh); border-radius: var(--bdrs); 
	padding: var(--indent); gap: var(--indent);}
.page__main > *:not(.page__main-bg) {position: relative; z-index: 10;}
.page__main-bg, .page__main-bg::after {position: absolute; inset: 0;}
.page__main-bg::after {backdrop-filter: blur(30px) grayscale(0.5); background-color: rgba(0,0,0,0.15); content: '';}
.page__img {border-radius: var(--bdrs); width: 200px; box-shadow: var(--bsh); align-self: start; overflow: hidden;}
.page__img > a {display: block; padding: 5px 10px; font-size: 16px; border-radius: 10px;
	position: absolute; right: 10px; top: 10px; background-color: rgba(0,0,0,0.6);}
.page__rating {border-radius: var(--bdrs); overflow: hidden;}
.page__rating a {background-color: var(--green); color: #fff; flex: 1 1 0;
	display: flex; align-items: center; justify-content: center; gap: 10px; padding: 6px 20px;}
.page__rating a + a {background-color: var(--red);}
.page-collection .page__img {width: 300px; aspect-ratio: 3 / 2;}

.page__tech li {display: block; padding: 5px 13px; font-size: 13px; 
	text-transform: uppercase; border-radius: var(--bdrs); background-color: var(--bg-darker);}
.page__tech .fa-icon {font-family: "Font Awesome 5 Pro", FontAwesome !important;font-style: normal;font-weight: 400 !important;
margin-right: 6px; /* Отступ от иконки до текста */color: #6fb346;   font-size: 14px;}
.page__header h1 {font-size: 28px; font-weight: 500;}
.page__header h1 span {color: var(--accent);}
.page__caption {color: var(--tt-fade);}
.page__play, .page__dl, .page__share, .page__fav a, .page__btn-ctrl1 
{height: 50px; border-radius: var(--bdrs); padding: 0 30px;}
.page__fav a, .page__share, .page__btn-ctrl1 {display: grid; place-items: center; width: 50px; font-size: 18px; padding: 0;}
.page__fav a, .page__share, .page__btn-ctrl1 {color: var(--tt-fade-0); background-color: var(--bg-darker-1);}

.page__clip-btn {width: 100%; position: relative; background: #000; cursor: pointer; 
	aspect-ratio: 3 / 1.6; border-radius: var(--bdrs);}
.page__clip-btn img {opacity: 0.6;}
.page__clip-btn::before {background-color: rgba(0,0,0,0.3); color: #fff; backdrop-filter: blur(10px); 
	position: relative; z-index: 10; width: 100px; height: 100px; border-radius: 50%; box-sizing: border-box; 
	font-size: 24px; padding-left: 5px; box-shadow: var(--bsh);}
.page__text {overflow-x: hidden; overflow-y: auto; position: relative;}
.page__textseo {overflow-x: hidden; overflow-y: auto; position: relative;}
.page__textseo p + p {margin-top: 12px;}
.sliced::after {content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 50%; z-index: 1; 
	background: linear-gradient(to top, var(--bg-darker) 0%, transparent 100%);}
.show-text {position: absolute; left: 50%; bottom: 3px; z-index: 2; translate: -50% 0; border: 1px solid #7ddd7a;}
.slice-this a {color: #ff3b7b;text-decoration: none;transition: 0.2s;border-bottom: 1px solid transparent;}
.slice-this a:hover {color: #ff1f5a;border-bottom: 1px solid #ff1f5a;}

/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.page__title {margin-bottom: 30px; font-size: 24px;}
.full-text {line-height: 1.6; font-size: 15px; word-wrap: break-word; color: var(--tt-fade-0);}
.full-text a {text-decoration: underline; color: var(--ui-accent);}
.full-text img:not(.emoji), .full-text p, .full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5, 
.full-text > ul, .full-text > ol, .full-text table {margin-bottom: 25px;}
.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 > ul li, .full-text > ol li {padding-left: 60px; position: relative;}
.full-text > ul li:before {content: ''; width: 8px; height: 8px; border-radius: 50%; 
	border: 3px solid var(--accent); position: absolute; top: 6px; left: 34px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num); counter-increment: num; background-color: var(--accent); color: #fff; 
	position: absolute; top: -3px; left: 17px; width: 24px; height: 30px; font-size: 14px; font-weight: 500;
	display: flex; justify-content: flex-end; align-items: center; padding-right: 6px; box-sizing: border-box;}
.full-text > ol li:after {content: ''; border: 10px solid transparent; border-left-color: var(--accent); 
	position: absolute; left: 41px; top: -3px; transform: scale(0.66,1.5); transform-origin: 0 0;}
.full-text > ul li + li, .full-text > ol li + li {margin-top: 10px;}
.full-text table, .video-inside > * {width:100%;}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 60%; position: relative; background-color: #000;}
.video-responsive > iframe, .video-responsive > video {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 21px; margin-bottom: 20px;}

/* COMMENTS
----------------------------------------------- */
.page__comments {margin-top: 0px;}
.page__comments-info {color: var(--tt-fade); display: block; margin: 5px 0 20px; font-size: 14px; padding-left: 23px; position: relative;}
.page__comments-info::before {color: var(--red); position: absolute; left: 0; top: 2px;}
.page__ac {margin-bottom: 40px;}
.ac-form {position: relative;}
.ac-form__header, .ac-form__editor, .ac-form .message-info {gap: 10px; margin-bottom: 10px;}
.ac-form__btn {padding: 0 60px;}
.ac-form__bottom {gap: 25px;}
.confidential-check {font-size: 14px;}
.ac-form__header > span {margin-left: 15px;}
.ac-form .comments_subscribe {margin-top: 0px;}

.ac-toggle.ac-form {cursor: pointer;}
.ac-form__header input, .ac-form__editor textarea {background-color: rgba(0,0,0,0.02);}
.ac-toggle, .ac-toggle .ac-form__editor {position: relative;}
.ac-toggle .ac-form__bottom button {position: absolute; bottom: 20px; right: 10px; z-index: 10; pointer-events: none;}
.ac-form .bb-btn {display: none;}
.ac-form .bb-pane {background: none; box-shadow: none; border: 0; position: absolute; left: 0; bottom: 0; right: 0;}
.ac-form #b_emo, .ac-form #b_leech, .ac-form #b_quote, .ac-form #b_spoiler, 
.ac-form #b_b, .ac-form #b_u, .ac-form #b_s, .ac-form #b_color, .ac-form #b_hide {display: grid;}
.ac-toggle .bb-btn {pointer-events: none;}
.ac-toggle .ac-form__editor .bb-editor textarea {height: 120px; resize: none;}
.ac-form__editor .bb-editor textarea {height: 200px; line-height: 1.4; padding-bottom: 40px;}
.comments_subscribe + br, .ac-form .bb-editor + br {display: none;}
.ac-toggle .has-checkbox {display: none;}

.mass_comments_action {display: none; align-items: center; flex-wrap: wrap; gap: 10px;}
.mass_comments_action select {flex: 1 1 0; margin: 0 -28px 0 0; border-radius: 0; box-shadow: none; min-width: 60%;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}

.comm__title {font-size: 18px; margin-bottom: 20px;}

.comm {margin-bottom: 40px; position: relative; padding-left: 90px;}
.comm::before {content: ''; background-color: var(--accent); height: 100%; width: 2px; position: absolute; top: 0; left: 70px;}
.comm__img {width: 50px; height: 50px; border-radius: 50%; position: absolute; left: 0px; top: 0px;}
.comm__letter {width: 100%; height: 100%; text-transform: uppercase; border-radius: inherit;
	position: absolute; left: 0; top: 0; color: #fff; font-size: 18px; font-weight: 500;}
.comm__author, .comm__author a {color: var(--accent); font-weight: 500; font-size: 14px;}
.comm__date {color: var(--tt-fade); font-size: 12px;}
.comm__rating a {color: var(--green); font-size: 18px;}
.comm__rating a:last-child {color: var(--red);}
.comm__rating span {font-size: 14px;}
.comm__rating span .ratingplus {color: var(--green);}
.comm__rating span .ratingminus {color: var(--red);}
.comm__text {margin: 8px 0;}
.comm__action {font-size: 12px; --tt: var(--tt-fade);}
.comm__ctrl-btn {font-size: 18px; height: 30px; --tt: var(--tt-fade);}
.comm__ctrl-menu li + li {margin-top: 10px;}
body:has(.pwidget) #dropmenudiv {z-index: 1000 !important;}


/* POPUP WIDGET
----------------------------------------------- */
.pwidget {background-color: var(--bg); color: var(--tt); 
	border-radius: 20px; overflow: hidden; z-index: 999; padding: 20px; padding-top: 24px; 
	position: fixed; left: 20px; bottom: 20px; right: 20px; box-shadow: 0 0 60px rgba(0,0,0,0.5);}
.pwidget::before {content: ''; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); 
	background-color: rgba(0,0,0,0.2); height: 4px; width: 40px; border-radius: 2px;}
.pwidget .wctrl__content {display: block; margin-bottom: 20px;}
@media screen and (min-width: 760px) {
	.pwidget {left: 50%; bottom: 50%; right: auto; translate: -50% 50%; width: 400px;}
	.pwidget::before {display: none;}
}


/* LOGIN
----------------------------------------------- */
.lgn {position: fixed; z-index: 999; left: 50%; top: 50%; translate: -50% -50%; width: 500px; max-width: calc(100% - 40px);}
.lgn__content {background-color: var(--bg); box-shadow: var(--bsh-long); padding: 30px 60px; position: relative;}
.lgn__ctrl > * {color: #fff !important; font-size: 19px; font-weight: 500; height: 45px; position: relative; text-transform: uppercase;}
.lgn__ctrl span::before {content: ''; border: 10px solid transparent; border-bottom-color: var(--bg); 
	position: absolute; left: 50%; bottom: 0; margin-left: -10px; z-index: 5;}
.lgn__btn-close {font-size: 40px; color: #fff; position: absolute; right: -50px; top: 0; z-index: 10;}
.lgn__header {position: relative; padding-left: 80px; margin-bottom: 15px;}
.lgn__avatar {width: 60px; background-color: var(--bg-darker); color: var(--tt-fade); font-size: 24px; 
	position: absolute; left: 0; top: 50%; translate: 0 -50%; overflow: hidden; border-radius: 50%;}
.lgn__title {font-size: 19px; font-weight: 500;}
.lgn__caption {color: var(--tt-fade); margin-top: 5px;}
.lgn__input input {height: 50px; line-height: 50px; border-radius: 0; padding: 0 30px;}
.lgn__input input::placeholder {font-size: 16px;}
.lgn__input input + input {margin-top: -1px;} 
.lgn__input input:focus {position: relative; z-index: 5;}
.lgn__btn button {height: 50px;}
.lgn__cell a {color: var(--ui-accent);}
.lgn__social-caption {font-size: 13px; color: var(--tt-fade); margin-top: 5px;}
.lgn__social-caption::before, .lgn__social-caption::after {content: ''; flex-grow: 1; background: var(--bdc); height: 1px;}
.lgn__social a {border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center;}
.lgn__social a img {height: 18px; width: 18px; display: block; filter: invert(1);}
.lgn__social-vk {background-color: #587ba1;}
.lgn__social-ok {background-color: #ff9800;}
.lgn__social-fb {background-color: #3b5998;}
.lgn__social-ml {background-color: #2196f3;}
.lgn__social-gg {background-color: #f44336;}
.lgn__social-ya {background-color: #fc3f1d;}
.lgn__social:not(:has(a)) {display: none;}
.lgn--logged {width: 400px;}
.lgn__menu a {display: flex; align-items: center; gap: 10px;}


/* plr
----------------------------------------------- */
.plr {position: fixed; left: 0; bottom: 0; width: 100%; z-index: 990; 
	background-color: var(--bg); box-shadow: 0 -20px 40px rgba(0,0,0,0.1);}
.plr__inner {padding: 15px var(--indent); }
.plr__middle {width: 600px;}
.plr__left {position: relative; padding-left: 60px;}
.plr__img {width: 50px; border-radius: var(--bdrs); box-shadow: var(--bsh); 
	position: absolute; left: 0; top: 50%; translate: 0 -50%;}
.plr__title {font-weight: 500; font-size: 15px;}
.plr__subtitle {color: var(--tt-fade); font-size: 14px; margin-top: 1px;}
.plr__top {padding: 0 10px;}
.plr__next-info {max-width: 100%; font-weight: 500; font-size: 15px;}
.plr__next-info span {font-size: 10px; text-transform: uppercase; color: var(--tt-fade); margin-bottom: 3px;}
.plr__time {width: 40px; font-weight: 500; font-size: 12px;}
.plr__time-total {text-align: right;}
.plr__bar {height: 6px; border-radius: 3px; position: relative; background-color: rgba(0,0,0,0.1);}
.plr__bar input {height: 100%; width: 100%; position: absolute; left: 0; top: 0; opacity: 0.001; cursor: pointer;}
.plr__bar::before {content: ''; position: absolute; left: 0; top: 0; height: 100%;
	width: var(--range-progress,0%); border-radius: inherit; background-color: var(--accent);}
.plr__bar-vol {height: 4px; border-radius: 2px;}
.plr__bar-vol::before {background-color: rgba(0,0,0,0.3);}
.plr__prev, .plr__next {border-radius: 50%; color: var(--accent); font-size: 14px; height: 30px;}
.plr__shuffle, .plr__repeat, .plr__mute, .plr__playlist {border-radius: 50%; color: var(--tt-fade); font-size: 14px; height: 30px;}
.plr__play {border-radius: 50%; border: 1px solid var(--accent); color: var(--accent); 
	padding-left: 3px; font-size: 10px; height: 30px;}
.plr__playlist span {font-size: 12px;}

.plr__playlist-list {position: absolute; left: 50%; bottom: 100%; translate: -50% 0; margin-bottom: 10px; width: 600px; 
	background-color: var(--bg); box-shadow: var(--bsh-long); border-radius: var(--bdrs); padding-bottom: 30px; display: none;}
.plr__playlist-list::before {content: ''; border: 10px solid transparent; border-top-color: var(--bg); 
	position: absolute; top: 100%; left: 50%; translate: -50% 0; z-index: 5;}
.plr__playlist-list-title {height: 80px; font-size: 18px; font-weight: 500; padding: 0 30px; cursor: pointer;}
.plr__playlist-list-content {overflow-x: hidden; overflow-y: auto; height: 400px;}
.plr__trc {border-top: 1px solid var(--bdc); padding: 15px 30px; cursor: pointer; gap: 15px;}
.plr__trc-img {width: 50px; border-radius: 10px; overflow: hidden;}
.plr__trc-img::before {position: absolute; inset: 0; z-index: 3; background-color: var(--accent); color: #fff; 
	display: grid; place-items: center; font-size: 12px; opacity: 0;}
.plr__trc-title {font-weight: 500;}
.plr__trc-subtitle {color: var(--tt-fade); margin-top: 3px;}
.plr__trc-time {color: var(--tt-fade);}
.plr__trc:hover, .plr__trc.is-active {background-color: var(--bg-darker);}
.plr__trc.is-active .plr__trc-img::before {opacity: 1;}
.plr__playlist-holder.is-active .plr__playlist-list {display: block;}
.plr__playlist-holder.is-active .plr__playlist {color: var(--accent);}
.plr__trc.is-active .plr__trc-img::before {content: '\f04b'; /* play */opacity: 1;}
.plr__trc.is-active.is-playing .plr__trc-img::before {content: '\f04c'; /* pause */}

.plr--is-muted .plr__mute::before {content:"\f6a9";}
.plr--is-playing .plr__play::before {content:"\f04c";}
.plr--is-playing .plr__play {padding-left: 0;}
.plr--is-repeated .plr__btn-repeat:not(:hover), .plr--is-shuffled .plr__btn-repeat:not(:hover) 
{color: var(--accent);}
.plr--is-repeated .plr__repeat, .plr--is-shuffled .plr__shuffle {color: var(--accent);}
.plr--not-loaded button:not(.plr__play), .plr--not-loaded .plr__bar {pointer-events: none;}

.wrapper {padding-bottom: 128px;}
@media screen and (max-width: 1220px) {
	.plr__middle {width: 500px;}
	.plr__top {padding: 0;}
	.plr__playlist-holder {position: static;}
	.plr__playlist-list {width: 100vw; left: 0; translate: 0 0;
		height: calc(100vh - 88px); height: calc(100dvh - 88px); border-radius: 0; margin: 0;}
	.plr__playlist-list::before {display: none;}
	.plr__playlist-list-content {height: calc(100% - 110px);}
	.scrolltop {bottom: 100px; display: none !important;}
}
@media screen and (max-width: 950px) {
	.plr__middle {width: 100%;}
	.plr__left, .plr__right {display: none;}
}
@media screen and (max-width: 590px) {
	.wrapper {padding-bottom: 85px;}
	.plr__top {gap: 10px;}
	.plr__middle {display: block;}
	.plr__ctrl {gap: 10px;}
	.plr__vol {justify-content: flex-end;}
	.plr__bar-vol {display: none;}
	.plr__bottom {position: absolute; left: 0; right: 0; bottom: 100%;}
	.plr__time {position: absolute; left: var(--indent); height: 15px; font-weight: 400; font-size: 10px; z-index: 3;
		display: flex; align-items: center; width: auto; pointer-events: none;}
	.plr__time-total {left: auto; right: var(--indent);}
	.plr__bar-progress {height: 15px; border-radius: 0; background-color: var(--bg-darker);}
	.plr__playlist-list {height: calc(100vh - 60px); height: calc(100dvh - 60px);}
}

.trc__ctrl li {margin-bottom: 10px; cursor: pointer; height: 30px;}
.trc__ctrl li:hover span, .trc__ctrl li:hover a {text-decoration: underline;}
/*
.cols__sidebar-sticky, .plr {position: static;}
.wrapper {padding-bottom: 40px;}
body {background-repeat: repeat; background-attachment: scroll;}
*/

.toasts {position: fixed; right: 10px; top: 20px; z-index: 990; display: grid; gap: 20px;}
.toast {background-color: #fff; color: #000; border-radius: 6px; overflow: hidden;
	position: relative; width: 400px; display: flex; align-items: center; gap: 20px; 
	padding: 16px 20px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); --accent: #00a2ff; 
	animation: showToast 0.5s ease forwards; max-width: calc(100vw - 40px);}
.toast__icon {font-size: 28px; color: var(--accent);}
.toast__title {font-weight: 500;}
.toast__text {font-size: 14px;}
.toast__close {font-size: 18px; margin: 0 -10px; display: grid; place-items: center; 
	cursor: pointer; opacity: 0.6; width: 40px; height: 40px;}
.toast::after {content: ''; width: 100%; height: 3px; background-color: var(--accent); 
	position: absolute; left: 0; bottom: 0; animation: progressToast var(--toast-timer) linear forwards}
.toast--success {--accent: #41b92f;}
.toast--warning {--accent: #f4bd00;}
.toast--error {--accent: #dd3954;}
.toast--is-hiding {animation: hideToast 0.5s ease forwards;}
@keyframes progressToast {
	100% {width: 0}
}
@keyframes showToast {
	0% {transform: translateX(calc(100% + 20px));}
	40% {transform: translateX(-5%);}
	80% {transform: translateX(0%);}
	100% {transform: translateX(-10px);}
}
@keyframes hideToast {
	0% {transform: translateX(-10px);}
	40% {transform: translateX(0%);}
	80% {transform: translateX(-5%);}
	100% {transform: translateX(calc(100% + 20px));}
}
/*Артисты*/
.seo-block { background: var(--bg); padding: 15px; margin-bottom: 20px; border-radius: 5px; }

/*Категории*/
.seo-cat-block { background: var(--bg); padding: 15px; margin-bottom: 10px; border-radius: 5px; }
.seo-cat-photo { float: left; width: 320px; margin: 0 20px 12px 0; border-radius: 12px; object-fit: cover; }
@media (max-width: 768px) { .seo-cat-photo { float: none; display: block; margin: 0 auto 16px; width: 320px; } }
.seo-cat-block::after { content: ""; display: table; clear: both; }
.mbt-10 { margin-bottom: 10px; }

/* куплеты */
.sect__content.page__text p { margin-bottom: 25px; padding-left: 20px; border-left: 4px solid #00dd73; background: linear-gradient(to right, rgba(0,221,115,0.12), transparent); }

/*Ютуб*/
.youtube { position: relative; width: 100%; height: 450px; cursor: pointer; background-size: cover; background-position: center; margin: 20px 0; }
.play { position: absolute; width: 68px; height: 48px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.play svg { width: 100%; height: 100%; }
.ytp-large-play-button-bg { fill: #ff0000; }
.youtube:hover .ytp-large-play-button-bg { fill: #cc0000; }
.track-analysis { background: var(--bg); color: var(--tt-fade); padding: 15px 20px; margin: 20px 0; border-left: 4px solid #00dd73; font-size: 14px; line-height: 1.6; }
.js-fav-guest { cursor: pointer; font-size: 20px; }

/* ПК - артист под названием внутри desc */
.track-item__desc { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 2px; min-width: 0; overflow: hidden; }
.track-item__desc .track-item__title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.track-item__desc .track-item__subtitle { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; color: var(--tt-fade); flex: none !important; }

@media screen and (max-width: 600px) {
    .track-item { flex-wrap: wrap !important; row-gap: 0 !important; }
    .track-item__img { order: 1; }
    .track-item__btn-play { order: 2; }
    .track-item__fav { order: 3; }
    .track-item__desc { order: 4; flex: 1 1 0 !important; overflow: hidden; min-width: 0; }
    .track-item__desc .track-item__title { display: block; overflow: hidden; }
    .track-item__time { order: 5; }
    .track-item__rating { order: 6; }
    .track-item__btn-ctrl { order: 7; }
    .track-item__subtitle { order: 8; flex: 0 0 100% !important; padding-left: 0px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; color: var(--tt-fade); margin-bottom: 2px; }
}

.main-hero { margin-bottom: 30px; }
.main-hero .sect__title { margin-bottom: 6px; }
.track-item__title:hover { color: var(--color-accent, #4CAF50); }
.track-item__subtitle a:hover { opacity: 0.7; }
.page__header h1 a { color: var(--accent); }
.page__header h1 a:hover { color: var(--tt); }
.artist-item { position: relative; }
.artist-item .album-item__title a::after { content: ''; position: absolute; inset: 0; z-index: 1; }

/* маркеры в статических страница */
.custom-list { list-style-type: disc; padding-left: 20px; }
.custom-list li { margin-bottom: 5px; }

/* pagesped кнопки плеера и ссылка в футере */
.footer__notify a { text-decoration: underline; }
.plr__mute { min-width: 48px; min-height: 48px; }
.plr__bar-vol input[type="range"] { min-height: 48px; }
.fa-pull-right { float: none !important; }
.page__tech a.wajax:hover { color: var(--accent); }

/* все треки артиста */
.all-tracks { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--bg); border-radius: 10px; border: 0.5px solid rgba(0,0,0,0.1); }

/* добавляем анимацию к блоку артисты*/
@keyframes highlight-pulse { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(4px); } }
.all-tracks.highlighted { animation: highlight-pulse 3s ease 0.8s forwards; }
/*конец анимация к блоку артисты*/

.all-tracks-label { font-size: 13px; font-weight: 500; color: var(--tt-fade); white-space: nowrap; display: flex; align-items: center; gap: 6px; }
.divider { width: 0.5px; height: 16px; background: rgba(0,0,0,0.15); flex-shrink: 0; }
.all-tracks-subtitle { display: flex; flex-wrap: wrap; gap: 4px; }
.all-tracks-flex-1 { flex: 1 1 0px; min-width: 50px; }
.all-tracks-subtitle a { font-size: 12px; font-weight: 500; padding: 3px 10px; border-radius: 999px; background: var(--bg-darker); border: 0.5px solid rgba(0,0,0,0.15); color: var(--tt-text); text-decoration: none; }
.all-tracks-subtitle a:hover { border-color: rgb(125 221 122); }

/* плеер очистка плей листа */
.plr__trc-remove { opacity: 1; margin-left: 8px; position: relative; z-index: 10; min-width: 30px; min-height: 30px; flex-shrink: 0; }
.plr__trc-drag { cursor: grab; padding: 0 8px; opacity: 0.4; flex-shrink: 0; }
.plr__trc-drag:hover { opacity: 1; }
.plr__trc--dragging { opacity: 0.4; }
.plr__trc--over { border-top: 2px solid var(--color-accent, #1db954); }


/* Cортировка треков */
.sorter { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 13px; color: var(--tt-fade); }
.sort { display: flex; gap: 6px; padding: 0; margin: 0; }
.sorter li { padding: 0; list-style: none; }
.sorter a { display: inline-block; padding: 4px 12px; border-radius: var(--bdrs); background: var(--bg-darkest); border: 1px solid transparent; color: var(--tt-fade); font-size: 13px; text-decoration: none; transition: all 0.2s; }
.sorter a:hover { border-color: var(--accent); color: var(--accent); }
.asc a, .desc a { border-color: var(--accent); color: var(--green); font-weight: 600; }
.sort li.asc a::after { content: "\f063"; font-family: "Font Awesome 5 Pro", FontAwesome; font-size: 11px; margin-left: 5px; }
.sort li.desc a::after { content: "\f062"; font-family: "Font Awesome 5 Pro", FontAwesome; font-size: 11px; margin-left: 5px; }

/*Поделится*/
.artist-header__subscribe .share-btn {display: inline-flex; align-items: center; gap: 6px; text-align: center; padding: 6px 20px; border-radius: 5px;
background-color: var(--bg); color: var(--tt); font-size: 20px; font-weight: 400; text-transform: none; cursor: pointer; transition: background 0.2s ease; 
border: none;height: auto;}
.artist-header__subscribe .share-btn:hover { background-color: #34495e;}
.artist-box {display:flex;align-items:center;gap:10px;}
/*прослушивания*/
.artist-stats {font-size: 13px;color: #888;}
.artist-stats i {color: #2ecc71;}
@media screen and (max-width: 470px) {
    .page__header .artist-stats {text-align: center;}
}

.js-ctrl-fav::before {font-size: 1.4em;width: 1.3em;text-align: center;}


@media (max-width: 768px) {
    .artist-stats {display: flex; justify-content: center; flex-wrap: wrap;gap: 4px;}

#subscribe-count-display, #subscribe-count-display ~ * {flex-basis: 100%;}
}

.breadcrumb {font-size: 13px;color: #888; margin-bottom: 8px;}
.breadcrumb a {color: #888;text-decoration: none;}
.breadcrumb a:hover {color: #2ecc71;}



/* Контейнер сетки (обязательно оберни список карточек) */
.track-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}

/* Карточка */
.track-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Обложка */
.track-card__cover {
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1 / 1; /* квадрат */
}

.track-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

/* Hover эффект */
.track-card__cover:hover img {
    transform: scale(1.05);
}

/* Инфа */
.track-card__info {
    margin-top: 8px;
}

/* Название трека */
.track-card__title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;

    /* обрезка в 2 строки */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.track-card__title a {
    text-decoration: none;
    color: var(--tt);
    transition: 0.2s;
}

.track-card__title a:hover {
    color: var(--color-accent, #4CAF50);
}

/* Мобильные */
@media (max-width: 768px) {
    .track-list {
        gap: 12px;
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }

    .track-card__title {
        font-size: 13px;
    }
}

/* Очень маленькие экраны */
@media (max-width: 480px) {
    .track-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/*Кнопка для плейлистов*/
.js-add-all-to-playlist {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--bdrs);
    background: var(--bg-darkest);
    border: 1px solid transparent;
    color: var(--tt-fade);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: auto;
}
.js-add-all-to-playlist:hover {
        background-color: var(--ui-bg-btn-hover);
        color: var(--ui-tt-btn);
        border-color: var(--ui-bg-btn-hover);
}

/*Анимация возле логотипа*/
.header-eq {
    display: none;
    align-items: flex-end;
    gap: 3px;
    height: 16px;
}

.header-eq.is-playing {
    display: flex;
}

.header-eq span {
    width: 3px;
    background: #2ecc71;
    border-radius: 2px;
    animation: eq 0.8s ease-in-out infinite;
}

.header-eq span:nth-child(1) { animation-delay: 0s; }
.header-eq span:nth-child(2) { animation-delay: 0.2s; }
.header-eq span:nth-child(3) { animation-delay: 0.4s; }

@keyframes eq {
    0%, 100% { height: 4px; }
    50% { height: 16px; }
}

/* Контейнер для фото/буквы */
.artist-avatar {
    width: 230px;
    height: auto;
    margin-right: 15px;
    float: left;
    border-radius: 5px;
    border: 1px solid var(--bdc);
    padding: 15px 15px 0px 15px;
}

.artist-avatar img {
    width: 170px;
    height: 170px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
}

.artist-subscribe {
    width: 100%;
    margin-top: 8px;
    text-align: center;
}

/* Сама картинка */
.seo-artist-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 15px;
    border-radius: 50%;
     object-position: top;
}
.seo-album-img {
width: 200px!important;
height: 200px!important;
border-radius: 10px!important;
}
/* Заглушка с буквой */
.seo-artist-letter {
    display: flex !important; /* Чтобы буква была видна */
    width: 170px;
    height: 170px;
    background: #444; /* Серый фон */
    color: #fff !important; /* Белая буква */
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 50px;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0 auto
}

/* Адаптация для мобильных (всё по центру) */
@media screen and (max-width: 650px) {
    .artist-avatar {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 25px;
    }
    .page__textseo p {
        text-align: left;
    }
}

/*Рэйтинг для артистов*/
.page__rating {
    display: flex;
    overflow: hidden;
    border-radius: 4px;
    height: 32px;
    font-size: 14px;
}

/* Общие стили для кнопок */
.js-artist-vote {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    color: #fff !important;
    cursor: pointer;
    transition: 0.2s;
    gap: 8px;
    min-width: 60px;
}

/* Зеленая кнопка (Лайк) */
.rating-plus {
    background-color: #3bb33b;
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 6px 20px;
}

.rating-plus:hover { background: #3bb33b; }

/* Красная кнопка (Дизлайк) */
.rating-minus {
    background-color: #eb4d4b;
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 6px 20px;
}
.rating-minus:hover { background: #c0392b; }

/* --- Анимация тряски --- */
@keyframes shake-btn {
    0% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    50% { transform: translateX(4px); }
    75% { transform: translateX(-4px); }
    100% { transform: translateX(0); }
}

.shake-anim {
    animation: shake-btn 0.3s ease-in-out;
}

/* Остальные стили (Курсор и Яркость) */
.page__rating.voted {
    pointer-events: auto !important; 
}

.js-artist-vote, 
.page__rating.voted .js-artist-vote {
    cursor: pointer !important;
    opacity: 1 !important;    
    filter: none !important;
    transition: transform 0.2s; /* Плавность для обычных состояний */
}

/**поделится**/
.share-wrapper {margin: 15px 0;text-align: center;}
.share-list {display: inline-flex; gap: 10px;}
.sh-item {display: flex;align-items: center;justify-content: center;width: 42px;height: 42px;border-radius: 50%;
color: var(--tt-fade-0);background-color: var(--bg-darker-1);font-size: 20px;text-decoration: none !important;transition: 0.3s;cursor: pointer;}
.sh-item:hover {transform: translateY(-3px);}
.sh-item.tg:hover { background: #0088cc; }
.sh-item.vk:hover { background: #4c75a3; }
.sh-item.ok:hover { background: #EE8208; }
.sh-item.copy:hover { background: #E91E63; } 

/*жалоба*/
.to-compl {display: inline-flex;align-items: center;justify-content: center;background: rgba(255, 77, 77, 0.1);
height: 50px; padding: 0 15px;border-radius: 8px;font-size: 13px;font-weight: 500;color: #ff4d4d !important;
cursor: pointer;margin-left: 8px;box-sizing: border-box;white-space: nowrap;transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; text-transform: uppercase;}
/* Мгновенное изменение цвета текста и иконки */
.to-compl:hover, 
.to-compl:hover a, 
.to-compl:hover::before {color: #fff !important;transition: none !important; /* Убираем любую задержку для цвета */}
.to-compl:hover {background: #ff4d4d; transition: color 0.3s, background-color 0.3s, opacity 0.3s, box-shadow 0.3s, width 0.3s, height 0.3s, transform 0.3s, border-color 0.3s, scale 0.3s, rotate 0.3s, translate 0.3s;}
.to-compl::before {content: "\f071";font-family: "Font Awesome 5 Pro", FontAwesome !important;font-weight: 400;margin-right: 8px;font-size: 14px;transition: none !important;}
.to-compl a {color: inherit !important;text-decoration: none !important;transition: none !important;}


/* ==========================================
   БЛОК: УМНАЯ ПОДБОРКА (AI SECTION)
   ========================================== */
.ai-section {margin: 30px 0;padding: 15px;background: var(--bg);border-radius: 15px;
border: 1px solid rgba(233, 30, 99, 0.1);box-sizing: border-box;width: 100%;max-width: 100%;overflow: hidden;display: block;}
.ai-header {margin-bottom: 20px;width: 100%;}
.ai-title {font-size: 24px;font-weight: 500; color: var(--tt);display: flex;align-items: center;flex-wrap: wrap;}
.ai-title i {margin-right: 12px; color: #E91E63; font-size: 24px;  display: inline-block;vertical-align: middle;}
.ai-badge {background: #E91E63;font-size: 10px;padding: 2px 6px;border-radius: 4px;margin-left: 10px;color: #fff;font-weight: bold;}
.ai-subtitle {font-size: 11px;color: var(--tt-fade);margin-top: 6px;width: 100%;}
.ai-container {display: grid;grid-template-columns: repeat(2, 1fr); /* 2 колонки на мобильных */gap: 15px;align-items: start;width: 100%; box-sizing: border-box;}
.ai-card {display: flex;flex-direction: column;text-decoration: none !important;transition: transform 0.3s ease; min-width: 0; width: 100%;box-sizing: border-box;}
.ai-card:hover {transform: translateY(-5px);}
.ai-card__image {position: relative;width: 100%;aspect-ratio: 1 / 1; border-radius: 12px;overflow: hidden;margin-bottom: 10px;background: #252535;flex-shrink: 0;}
.ai-card__image img {width: 100%;height: 100%;object-fit: cover;display: block;}
.ai-card__info {display: block;width: 100%;overflow: hidden; box-sizing: border-box;}
.ai-card__title {display: block;font-size: 14px;font-weight: 600;color: var(--tt);white-space: nowrap;
overflow: hidden;text-overflow: ellipsis;line-height: 1.4;width: 100%;}
.ai-card__artist {display: block;font-size: 12px;color: #888;white-space: nowrap;overflow: hidden;
text-overflow: ellipsis;margin-top: 2px;width: 100%;}
.ai-card__play-icon {position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 0.4); 
display: flex;align-items: center;justify-content: center;opacity: 0;transition: opacity 0.3s ease;z-index: 2;}
.ai-card__play-icon i {color: #fff !important;font-size: 24px;font-family: "Font Awesome 5 Pro", FontAwesome !important;}
.ai-card:hover .ai-card__play-icon {opacity: 1;}
.ai-card:hover .ai-card__image img {transform: scale(1.1);transition: transform 0.5s ease;}

/* АДАПТИВ ДЛЯ ПК */
@media screen and (min-width: 768px) {
    .ai-section { padding: 25px; margin: 40px 0; }
    .ai-title { font-size: 24px; }
    .ai-container {grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));gap: 20px;}
}

/*Визуализатор*/
.main-cover-holder {position: relative;display: inline-block;overflow: hidden;border-radius: 15px; }
#big-visualizer {position: absolute;bottom: 0;left: 0;right: 0;width: 100%;height: 70px;pointer-events: none;
z-index: 10;background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);}


/*таймер сна*/
.plr__time-out { position: relative; display: flex; align-items: center; }
.plr__timer-btn { color: #888; font-size: 16px; transition: 0.3s; padding: 5px; }
.plr__timer-btn:hover, .plr__timer-btn.is-active { color: #79cc77; }
.plr__timer-menu {
    display: none; position: absolute; bottom: 50px; left: 50%;
    transform: translateX(-50%); background: var(--bg);
    border: 1px solid rgba(255,255,255,0.1); border-radius: 8px;
    padding: 5px 0; z-index: 1000; min-width: 80px;
    box-shadow: 0 -5px 20px rgba(0,0,0,0.5);
}
.plr__timer-menu div { padding: 8px 15px; cursor: pointer; font-size: 12px; color: var(--tt); text-align: center; }
.plr__timer-menu div:hover { background: rgba(121,204,119,0.1); color: #79cc77; }

/*Реакции*/
.reactions-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));gap: 25px;padding: 10px 0;}
.reaction-card {text-align: center;transition: transform 0.3s ease;min-width: 0;}
.reaction-card:hover {transform: translateY(-5px);}
.reaction-link {text-decoration: none !important;display: block;}
.reaction-avatar {width: 140px;height: 140px;margin: 0 auto 12px;position: relative;}
.reaction-img, .seo-artist-letter {width: 140px;height: 140px;border-radius: 50%;object-fit: cover;display: flex !important;align-items: center;justify-content: center;}
.seo-artist-letter {background: #2a2a2a;color: #fff !important;font-size: 44px;font-weight: bold;text-transform: uppercase;border: 1px solid rgba(255,255,255,0.05);}
.reaction-name {color: var(--tt);font-weight: 600;font-size: 15px;margin-bottom: 4px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.reaction-stat {color: #79cc77;font-size: 12px;}
.reaction-tab-btn {padding: 9px 22px;background: var(--bg);border-radius: 25px;font-size: 13px;font-weight: 600;color: var(--tt);cursor: pointer;transition: 0.3s;border: 1px solid transparent;line-height: 1;}
.reaction-tab-btn:hover {color: #fff; background: var(--ui-bg-btn);}
.reaction-tab-btn.active {color: #fff;background: var(--ui-bg-btn);border-color: var(--ui-bg-btn);}
.reaction-content {display: none;animation: fadeInReactions 0.3s ease;}
.reaction-content.active {display: block;}
.reactions-nav {margin-left: 35px;display: flex;gap: 12px;align-items: center;}
.sect__header.d-flex {margin-bottom: 40px !important;align-items: center;}

/* Квадратные обложки для альбомов */
.is-album .reaction-avatar, 
.is-album .reaction-img, 
.is-album .seo-artist-letter {
    border-radius: 12px !important; /* Вместо 50% делаем легкое скругление углов */
}
@keyframes fadeInReactions {from {opacity: 0; transform: translateY(5px);} to {opacity: 1; transform: translateY(0);}}

@media screen and (max-width: 768px) {
    .reactions-nav { margin-left: auto !important; gap: 5px !important; flex-shrink: 0; }
    .reaction-tab-btn { padding: 6px 12px !important; font-size: 11px !important; border-radius: 15px !important; }
    .reactions-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .reaction-avatar, .reaction-img, .seo-artist-letter { width: 110px; height: 110px; }
}


/*DLE-Favorites для гостей*/
.favmod { opacity: .5; }
.favmod:hover,
.favmod.active { opacity: 1; }
.favmod.active:hover { opacity: .7; }
.favmod .favmod-unset,
.favmod.active .favmod-add { display: none; }
.favmod .favmod-add,
.favmod.active .favmod-unset { display: block; }
.favmod .fa-heart {transition: color 0.2s ease;}
.favmod.active .fa-heart {color: #E91E63;}
.js-ctrl-fav.fas {color: #E91E63;}
.js-ctrl-fav.fas span {color: var(--tt)}

/*DLE-Favorites favorites-promo для гостей*/
.favorites-promo {max-width: 500px;margin: 0px auto; padding: 30px;text-align: center;background: var(--bg); 
border-radius: 15px;color: #fff;font-family: sans-serif;box-shadow: 0 10px 30px rgba(0,0,0,0.3);}
.promo-icon {font-size: 50px;color: #1db954; margin-bottom: 20px;}
.promo-title {color: var(--tt);font-size: 22px;margin-bottom: 15px;}
.promo-text {font-size: 16px;line-height: 1.5;color: var(--tt-fade);margin-bottom: 25px;}
.promo-button {display: inline-block;padding: 12px 25px;background-color: #1db954;color: white;
text-decoration: none;border-radius: 30px;font-weight: bold;transition: transform 0.2s, background 0.2s;}
.promo-button i {margin-right: 8px;}
.promo-button:hover {background-color: #1ed760;transform: scale(1.05);}
.side-fav-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    border-radius: 9px;
     background-color: var(--accent-fade);
    color: var(--accent);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    margin-left: 6px;
}

/*Сворачивание текста у артистов*/
.slice {overflow:hidden; position:relative; transition:height .2s;}
.slice-masked:before {content:'';position:absolute;z-index:1;bottom:0px;left:0;right:0;height:120px;pointer-events:none;
background:-webkit-linear-gradient(top, rgba(255,255,255,0) 0%, var(--bg) 100%);
background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, var(--bg) 100%);}
.slice-btn {margin:15px 0 0 0; text-align: right;}
.slice-btn span {display:inline-block; cursor:pointer; color: #79cc77; text-decoration: underline;}
.slice-btn {margin:15px 0 0 0; text-align: right;}
.slice-btn span {display:inline-block; cursor:pointer; color: #79cc77; text-decoration: underline;}

/*Альбомы поиск*/
.fs-result__img--album { width: 44px;height: 44px;object-fit: cover;border-radius: 6px;margin-right: 12px;flex-shrink: 0;}
.fs-result__letter--album {
 width: 44px;height: 44px;border-radius: 6px;background: #444;color: #fff;display: flex;align-items: center;
 justify-content: center;font-size: 18px;font-weight: bold;margin-right: 12px;flex-shrink: 0;}

/*Альбомы поиск full*/
.album-search-results {gap: 15px;margin-bottom: 20px;flex-wrap: wrap;}
.album-search__item {display: flex;flex-direction: column;align-items: center;gap: 8px;text-decoration: none;width: 90px;}
.album-search__img {width: 80px;height: 80px;object-fit: cover;border-radius: 8px;}
.album-search__letter {width: 80px;height: 80px;border-radius: 8px;background: #444;color: #fff;display: flex;align-items: center;justify-content: center;font-size: 24px;font-weight: bold;}
.album-search__name {font-size: 12px;text-align: center;color: var(--ui-tt);overflow: hidden;text-overflow: ellipsis; /*white-space: nowrap;*/width: 100%;}

.album-search__artist {
    font-size: 11px;
    color: var(--ui-tt-fade);
    text-align: center;
    /*overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;*/
    width: 100%;
}

#searchsuggestions .fs-result__meta {
    margin-top: 2px;
    font-size: 11px;
}