/* 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(../images/logo.svg) 0 center / 26px no-repeat; height: 50px;}
.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: 28px; 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;}
.genres-list a {display: block; border-radius: var(--bdrs); padding: 6px 12px; font-size: 13px; background-color: var(--bg-darkest);}
.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__img {width: 40px; border-radius: var(--bdrs);}
.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: 500; 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-item2 .track-item__subtitle {font-size: 15px; margin: 0;}
.track-item2 .track-item__title {width: 240px;}
.track-item__rating {width: 60px; color: var(--tt-fade); margin-left: 20px;}

.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);}


/* 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);}
.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;}
.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: 12px; 
	text-transform: uppercase; border-radius: var(--bdrs); background-color: var(--bg-darker);}
.page__header h1 {font-size: 24px; 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;}
.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;}

.clip {position: fixed; z-index: 999; left: 50%; top: 50%; translate: -50% -50%; 
	width: 800px; max-width: calc(100vw - 40px); box-shadow: var(--bsh-long);}
.clip__close {font-size: 24px; position: absolute; right: 0; bottom: 100%; color: #fff;}
.clip__close:hover {background-color: var(--red); color: #fff;}
.clip .d-none {display: block;}


/* 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 60px;}
.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; 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--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));}
}

.gridcoll {    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px;}