/* BASIC LAYOUT
----------------------------------------------- */
.wrapper {min-width: 320px; position: relative; padding-top: 50px; padding-bottom: 70px;}
.wrapper__container {max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 20;}
.wrapper__main {display: grid; grid-template-columns: 280px minmax(0,1fr); background-color: var(--bg-darker); min-height: 80vh; 
	grid-template-areas: "header header" "sidebar content"; box-shadow: 0 20px 30px rgba(0,0,0,0.1); border-radius: var(--bdrs);}
.header {background-color: var(--bg); grid-area: header; border-radius: var(--bdrs) var(--bdrs) 0 0; box-shadow: 0 5px 5px rgba(0,0,0,0.03);
	border-bottom: 1px solid var(--bdc); padding: 0 40px; position: relative; z-index: 100; height: 70px;}
.content {min-height: 80vh; grid-area: content; padding: 40px; overflow: hidden;}
.sidebar {grid-area: sidebar; border-right: 1px solid var(--bdc); position: relative; z-index: 90;
	background-color: var(--bg); box-shadow: 5px 0 5px rgba(0,0,0,0.03); border-radius: 0 0 0 var(--bdrs);}
.footer {grid-area: footer; padding: 40px; padding-top: 40px;}
.footer__two {margin-top: 10px; gap: 20px 40px; font-size: 14px; color: var(--tt-fade);}
.wrapper::before, .wrapper::after {content: ''; width: 50vw; height: 300px; border-radius: 20px; background: var(--bg-gradient); 
	position: absolute; top: -100px; right: -10vw; transform: rotate(10deg); 
	box-shadow: 0 0 0 40px rgba(97,199,82,0.3), 0 0 0 80px rgba(97,199,82,0.1);}
.wrapper::after {right: auto; left: -10vw; transform: rotate(-10deg); top: 60vh;}
.scrolltop {position: fixed; width: 50px; height: 50px; right: -60px; bottom: 90px;
	z-index: 980; border-radius: 50%; font-size: 20px; opacity: 0; transition: right 0.2s, opacity 0.2s;}
.scrolltop.is-active {right: 10px; opacity: 1;}


/* HEADER
----------------------------------------------- */
.logo {display: inline-flex; flex-direction: column; justify-content: center; height: 40px;
	padding-left: 43px; font-weight: 700; font-size: 24px; min-width: 240px; position: relative;
	background: url(../images/logo.svg) 0 center / 30px no-repeat; background: none;}
.logo svg {width: 30px; height: 30px; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.logo svg path {fill: var(--accent-secondary) !important;}
.search-block {position: relative; width: 320px; margin: 0 40px;}
.search-block__input, .search-block__input:focus {border-radius: 0px; padding: 0 0 0 50px; 
	border: 0; box-shadow: none; background-color: transparent; color: var(--tt);}
.search-block__input:not(:focus)::placeholder {color: var(--tt-fade); opacity: 1; font-size: 14px;}
.search-block__btn {position: absolute; left: 0; top: 0; width: auto; 
	border-radius: 0px; font-size: 18px; color: var(--tt-fade);}


/* SECTION
----------------------------------------------- */
.sect {margin-bottom: 40px;}
.sect__header {margin-bottom: 40px; gap: 20px; line-height: 1;}
.sect__title {font-size: 24px; font-weight: 700;}
.sect__subtitle {font-size: 18px;}
.sect__link {color: var(--accent-secondary); gap: 10px; font-size: 13px; text-transform: uppercase; font-weight: 700;}
.sect__content--tracks {margin-left: -40px; margin-right: -40px;
	border: 1px solid var(--bdc); border-left: 0; border-right: 0; 
	display: grid; gap: 0; grid-template-columns: repeat(auto-fill,minmax(400px,1fr));}
.sect__content--collections {grid-template-columns: repeat(auto-fill,minmax(400px,1fr));}

.speedbar {color: var(--tt-dark-fade); --tt: var(--tt-dark); font-size: 14px; margin-bottom: -20px;}
.speedbar::before {margin-right: 6px;}
.site-desc {display: grid; gap: 15px; line-height: 1.6; font-size: 14px; padding: 40px 0;}
.site-desc h1, .site-desc h2, .site-desc h3 {font-size: 18px; color: var(--tt); line-height: 1.3;}
.site-desc a {text-decoration: underline; color: var(--accent-secondary);}


/* TRACK ITEM
----------------------------------------------- */
.trc {gap: 20px; position: relative;}
.trc + .trc {margin-top: 20px;}
.sect__content--tracks .trc {padding: 20px 40px; margin: -1px 0 0 -1px; 
	border-top: 1px solid var(--bdc); border-left: 1px solid var(--bdc); padding-left: 80px;}
.trc__count {position: absolute; left: 40px; top: 50%; transform: translateY(-50%); 
	font-size: 14px; font-weight: 700; color: var(--tt-fade);}
.trc__img {width: 40px; height: 40px; border-radius: 50%;}
.trc__title {font-weight: 700;}
.trc__subtitle {font-size: 14px; color: var(--tt-fade); margin-top: 2px;}
.trc__fav a {font-size: 18px; color: var(--tt-fade);}
.trc__play {padding: 0; width: 40px; height: 40px; font-size: 10px; border-radius: 50%; padding-left: 1px;
	color: var(--tt-fade); border: 1px solid var(--bdc); background-color: transparent;}
.trc__desc::before {left: -60px;}
.sect__content--tracks .trc__desc::before {left: -100px;}
.trc__to-playlist {color: var(--tt-fade); min-width: 30px; height: 30px; border-radius: 50%; margin: 0 -20px 0 -10px;}
.ctrl {position: fixed; left: 50%; top: 50%; z-index: 999; transform: translate(-50%,-50%); width: max-content;}
.ctrl li {cursor: pointer; margin-bottom: 20px; border-radius: 10px; 
	padding: 20px 40px; background-color: var(--bg); box-shadow: var(--bsh);}

.js-trc--is-current .trc__play:not(:hover) {border-color: var(--accent-primary); color: var(--accent-primary);}
.js-trc--is-playing .trc__play::before {content:"\f04c"; margin-left: -1px;}
.trc.js-trc--is-playing {z-index: 5; box-shadow: var(--bsh); background-color: var(--bg);}


/* ARTIST ITEM
----------------------------------------------- */
.artist {display: block; overflow: hidden; border: 1px solid var(--bdc); background-color: var(--bg); box-shadow: var(--bsh);}
.artist__img {padding-top: 100%;}
.artist__desc {padding: 20px 15px;}
.artist__title {font-weight: 700; font-size: 14px;}
.artist__subtitle {font-size: 13px; color: var(--tt-fade); margin-top: 2px;}


/* COLLECTION ITEM
----------------------------------------------- */
.sect__content--coll {padding: 0 160px; position: relative;}
.coll {overflow: hidden; box-shadow: var(--bsh);}
.coll__img {height: 260px; overflow: hidden;}
.coll__img::before {content: ''; background: var(--bg-gradient); position: absolute; inset: 0; z-index: 1; 
	mix-blend-mode: color;}
.coll__desc {position: absolute; left: 0; top: 0; height: 100%; width: 100%; padding: 30px 40px; padding-right: 40%;
	gap: 20px; z-index: 5; color: #fff; background: linear-gradient(to right, var(--accent-secondary), transparent);;}
.coll__title {font-weight: 700; font-size: 24px; line-height: 1.2; color: #fff;}
.coll__text {-webkit-line-clamp: 3;}
.coll__category {font-size: 13px; text-transform: uppercase; font-weight: 700; padding-top: 6px;}
@media screen and (min-width: 760px) {
	.sect__content--coll {padding: 0; height: 260px;}
	.sect__content--coll .coll {position: absolute; top: 0; left: 50%; width: 68%; margin-left: -34%; 
		transition: transform 0.3s ease-out, z-index 0.3s linear;}
	.sect__content--coll .coll.a2 {transform: translateX(33%) scale(0.8,0.8); z-index: -2;}
	.sect__content--coll .coll.a3 {transform: translateX(-33%) scale(0.8,0.8); z-index: -1;}
	.sect__content--coll .coll.a2 .coll__img::before, 
	.sect__content--coll .coll.a3 .coll__img::before {background: rgba(0,0,0,0.1); 
		backdrop-filter: blur(8px) grayscale(0.6); mix-blend-mode: unset;}
	.sect__content--coll .coll.a2 .coll__desc, .sect__content--coll .coll.a3 .coll__desc {display: none;}
}


/* SIDEBAR
----------------------------------------------- */
.sb-sticky {position: sticky; left: 0; top: 30px;}
.sb {display: grid; gap: 40px; margin-bottom: 40px;}
.side-menu {margin-bottom: 30px;}
.sb:last-child {margin-bottom: 0;}
.sb__title {margin-bottom: -8px !important;}
.side-menu__caption, .sb__title {font-weight: 700; font-size: 13px; text-transform: uppercase; margin-bottom: 18px;}
.side-menu__list a {height: 40px; line-height: 40px; display: block; padding-left: 30px; white-space: nowrap;}
.side-menu__list li {position: relative;}
.side-menu__list li::before {pointer-events: none; font-size: 18px; color: var(--accent-primary);
	position: absolute; left: 0; top: 0; height: 40px; width: 18px; display: grid; place-items: center;}
	
.side-menu__btn {width: 100%;}
.side__menu-submenu {position: absolute; left: 100%; top: 0; z-index: 1000;
	background-color: var(--bg); box-shadow: var(--bsh); width: 500px; padding: 30px 35px; 
	display: grid; gap: 5px 20px; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); display: none;}
.side__menu-submenu a {display: block; padding: 5px 10px;}
.side-genres:hover .side__menu-submenu {display: grid;}

.side-menu--btns + .side-menu--btns {margin-top: -20px;}
.side-menu__design button {width: 30px; height: 30px; border-radius: 15px; padding: 0; 
	background-color: var(--bg); border: 2px solid var(--bdc); color: var(--tt); font-weight: 400; font-size: 14px;}
.side-menu__design--cols button {width: 100%; text-transform: none;}
.side-menu--btns .side-menu__caption {margin-bottom: 10px;}
.side-menu--btns:nth-child(3) {border-bottom: 1px solid var(--bdc); padding-bottom: 36px;}
.side-menu__design li button.is-active {box-shadow: 0 0 0 1px var(--accent-primary); 
	border-color: var(--bg); color: var(--tt);}
.side-menu__design--btns li:nth-child(1) button {background-color: var(--green);}
.side-menu__design--btns li:nth-child(2) button {background-color: var(--red);}
.side-menu__design--btns li:nth-child(3) button {background-color: var(--blue);}
.side-menu__design--btns li:nth-child(4) button {background-color: var(--violet);}
.side-menu__design--btns li:nth-child(5) button {background-color: var(--yellow);}


/* FOOTER, PAGINATION
----------------------------------------------- */
.footer__soc {gap: 10px;}
.footer__soc-item {display: grid; place-items: center; height: 30px; width: 30px; border-radius: 50%; background-color: #2daae1;}
.vk {background-color: #1877f2;}
.yt {background-color: #df1111;}
.footer__soc img {width: 15px; height: 15px; filter: invert(1);}
.footer__text {line-height: 1.5; text-wrap: balance;}
.footer__menu {gap: 10px 40px;}

.pagination {
    /* Растягиваем блок на все колонки Grid-сетки от начала до конца */
    grid-column: 1 / -1; 
    
    /* Возвращаем внутреннее флекс-центрирование */
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    width: 100%;
    
    gap: 20px; 
    padding-top: 40px;
}

/* Стили для кнопок пагинации */
.pagination a, .pagination span {
    display: grid; 
    place-items: center; 
    height: 36px; 
    min-width: 36px; 
    padding: 0 10px; 
    border-radius: 18px; 
    border: 1px solid var(--bdc);
    text-decoration: none;
}

/* Контейнер со списком страниц внутри */
.pagination__pages {
    display: flex !important;
    gap: 10px; 
    font-size: 14px;
}

.pagination__pages span:not(.nav_ext) {
    background-color: var(--accent-primary); 
    color: #fff; 
    border-color: var(--accent-primary);
}

/* INNER PAGE
----------------------------------------------- */
.page__cols {display: grid; grid-template-columns: minmax(0,1fr) 420px; 
	border-bottom: 1px solid var(--bdc); margin: -40px; margin-bottom: 40px;}
.page__cols-main, .page__cols-side {padding: 40px;}
.page__cols-side {border-left: 1px solid var(--bdc); padding-bottom: 0;}

.page__img {width: 160px; height: 160px; margin-right: 20px;}
.page__img > a, .page__poster > a {position: absolute; left: 0; top: 0; background-color: #000; color: #fff; padding: 5px 10px;}
.page__header-right h1 {font-size: 18px;}
.page__header-right h1 span {display: block; color: var(--tt-fade); font-size: 14px; font-weight: 400; margin-top: 5px;}
.page__tech {margin: 15px 0 20px; gap: 5px 15px; font-size: 12px;}
.page__tech li > span:first-child {color: var(--tt-fade);}
.page__ctrl {gap: 10px;}
.page__ctrl.js-trc--is-playing .page__play::before {content:"\f04c"; margin-left: -1px;}
.page__dl {border: 2px solid var(--accent-primary); color: var(--accent-primary); background-color: transparent;}
.page__fav {min-width: auto;}

.page__caption {line-height: 1.4; display: block; position: relative; padding: 15px 40px;
	padding-left: 95px; font-size: 13px; isolation: isolate; margin: 0 -40px; margin-bottom: 40px;}
.page__caption::before {position: absolute; left: 40px; top: 20px; font-size: 34px; color: var(--accent-primary);}
.page__caption::after {content: ''; position: absolute; inset: 0; background: var(--accent-primary); opacity: 0.1;}

.page__clip {position: absolute; left: 0; top: 0; width: 100%; height: 100%; 
	padding-top: 0; background-color: #000; border-radius: 0;}
.page__clip::before {position: relative; z-index: 5; font-size: 40px; border: 2px solid var(--red); 
	padding-left: 5px; box-sizing: border-box; color: var(--red); width: 100px; height: 100px; border-radius: 50%;}
.page__text {color: var(--tt-fade); max-height: 230px; overflow-y: auto; overflow-x: hidden; margin-top: -10px;}
.scroller__content {scrollbar-width: thin; scrollbar-color: var(--accent-primary) rgba(0,0,0,0.1);}
.scroller__content::-webkit-scrollbar {width: 12px; height: 8px;}
.scroller__content::-webkit-scrollbar-thumb {border-radius: 0; background-color:var(--accent-primary); border: 0;}
.scroller__content::-webkit-scrollbar-track {background-color: rgba(0,0,0,0.1);}

.page--artist .page__tech {margin-bottom: 0;}
.page--artist .page__cols-main {padding-bottom: 0;}
.page--artist .page__caption {margin-bottom: 0;}
.page__poster {margin: -40px; height: 240px; margin-bottom: 0;}
.page__header-desc {position: absolute; left: 0; right: 0; bottom: 0; padding: 40px; color: #fff; z-index: 10;}
.page--collection .page__header {margin-bottom: 0; --tt-fade: #ccc;}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.page__title {margin-bottom: 30px; font-size: 24px;}
.full-text {line-height: 1.5; font-size: 15px; word-wrap: break-word;}
.full-text a {text-decoration: underline; color: var(--blue);}
.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 #fcc506; 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: #fcc506; color: #000; 
	position: absolute; top: -3px; left: 17px; width: 24px; height: 30px; font-size: 14px; font-weight: 700;
	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: #fcc506; 
	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 table tr td {padding:10px; border:2px solid #fff;}
.full-text table tr:nth-child(2n+1) {background-color:#f2f6f9;} 
.full-text table tr:nth-child(1) {background-color:#cee0ed;}
.full-text table img:not(.emoji) {margin:0; max-width:350px}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 60%; position: relative;}
.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;}
.full-text iframe {width: 100%; height: 400px; margin-bottom: 20px;}


/* COMMENTS
----------------------------------------------- */
.page__comments {margin-top: 0px;}
.page__comments-title {font-size: 24px; margin-bottom: 20px;}
.page__comments-info {color: var(--tt-fade); display: block; margin: -15px 0 20px; font-size: 14px; padding-left: 23px; position: relative;}
.page__comments-info::before {color: var(--ui-red); position: absolute; left: 0; top: 2px;}
.ac-form {margin-bottom: 30px; 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-toggle .ac-form__editor textarea {border-radius: 0; box-shadow: none;}
.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: 140px; resize: none;}
.ac-form__editor .bb-editor textarea {height: 140px; 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: flex; 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: 50%;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}

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

.comm {margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--bdc);}
.comm__img {width: 40px; height: 40px; border-radius: 50%; margin-right: 15px;}
.comm__img::before {content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: var(--ui-red); 
	position: absolute; right: -1px; top: -1px; z-index: 5; border: 2px solid var(--bg);}
.comm--online .comm__img::before {background-color: var(--ui-green);}
.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: var(--ui-fw-bolder);}
.comm__author, .comm__author a {color: var(--tt-colored); font-weight: 700; font-size: 14px;}
.comm__date {color: var(--tt-fade); font-size: 13px; margin-top: 2px;}
.comm__main {margin: 10px 0 6px 0;}
.comm__action {gap: 20px; font-size: 13px;}
.comm__action li, .comm__action li a {color: var(--tt-fade); cursor: pointer; gap: 8px; display: flex; align-items: center;}
.comm__ctrl, .comm__ctrl a {font-size: 15px; gap: 10px 15px; color: var(--tt-fade);}
.comm__ctrl li.has-checkbox {transform: scale(0.8,0.8); margin: 0 -10px 0 -5px;}
.comm__ctrl li.has-checkbox input {border-color: var(--tt-fade);}
.comm__rating {gap: 10px; font-size: 14px;}
.comm__rating::before {content: attr(data-text); display: inline;}
.comm__rating > * {display: flex; gap: 5px;}
.comm__rating > * > span:first-child {text-decoration: underline; color: var(--ui-green);}
.comm__rating > * + * > span:first-child {color: var(--ui-red);}


/* LOGIN
----------------------------------------------- */
.login {position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%);
	background-color: var(--ui-bg); width: 440px; border: 10px solid var(--ui-bg-darker); 
	box-shadow: 0 15px 45px rgba(0,0,0,1); overflow-y: auto;
	 max-width: calc(100vw - 40px); max-height: calc(100vh - 40px);}
.login__header {padding: 20px 50px 25px 50px; border-bottom: 1px solid var(--ui-bdc); position: relative;}
.login__title {font-size: 24px; font-weight: var(--ui-fw-bolder);}
.login__caption {font-size: 13px; color: var(--ui-tt-fade); margin-top: 3px;}
.login__close {font-size: 23px; position: absolute; right: 10px; top: 10px; padding: 0; width: 40px; height: 40px;}
.login__content {display: grid; gap: 20px; padding: 25px 50px; padding-bottom: 50px; position: relative;}
.login__row, .login__row.fal, .login__row.fas {position: relative; display: grid; gap: 10px; justify-content: stretch;}
.login__row-caption a, .login__caption a {margin-left: 10px;}
.login__row::before {position: absolute; left: 2px; bottom: 0; width: 40px; height: 50px; 
	display: grid; place-items: center; opacity: 0.4; font-size: 18px;}
.login__input input {padding-left: 40px; border-radius: var(--ui-bdrs); height: 50px; line-height: 48px;}
.login__row button {width: 100%; height: 40px; border-radius: var(--ui-bdrs);}
.login__social {padding-top: 10px; text-align: center; gap: 10px; margin-bottom: -20px;}
.login__social-caption {font-size: 13px; color: var(--ui-tt-fade); width: 100%;}
.login__social a {padding: 0 10px; border-radius: 20px; position: relative; width: 40px; height: 40px; 
	overflow: hidden; color: #fff; display: flex; align-items: center; justify-content: center;}
.login__social a::before {content: ''; width: 40px; background: rgba(0,0,0,0); position: absolute; left: 0; top: 0; height: 100%;}
.login__social a img {position: absolute; left: 10px; top: 50%; height: 20px; width: 20px; z-index: 1; 
	display: block; filter: invert(1); transform: translateY(-50%);}
.login__social-vk {background-color: #587ba1;}
.login__social-ok {background-color: #ff9800;}
.login__social-fb {background-color: #3b5998;}
.login__social-ml {background-color: #2196f3;}
.login__social-gg {background-color: #f44336;}
.login__social-ya {background-color: #fc3f1d;}

.header__favlink {height: 70px; border-left: 1px solid var(--bdc); font-size: 28px; 
	padding: 0 20px; position: relative; display: grid; place-items: center; color: var(--tt-fade);}
.header__favlink.nl {border-right: 1px solid var(--bdc); margin-right: 40px;}
.header__favlink span {background-color: var(--red); color: #fff; width: 20px; height: 20px; border-radius: 50%;
	font-size: 10px; position: absolute; left: 50%; top: 10px; margin-left: 5px; display: grid; place-items: center;}
.header__login, .header__login.is-active {height: 70px; border-left: 1px solid var(--bdc);
	gap: 20px; width: 230px; position: relative; margin-right: -40px; display: flex; align-items: center;
	padding: 0 40px 0 20px; cursor: pointer; isolation: isolate;}
.header__login:not(:hover)::before {color: var(--tt);}
.header__login-login {font-weight: 700; margin-right: -10px;}
.header__login-img {width: 40px; height: 40px; border-radius: 50%; cursor: pointer;}
.header__login-panel {position: absolute; right: 0; top: 100%; width: 230px;
	background-color: var(--bg); z-index: -1; border: 1px solid var(--bdc); padding: 10px 0;
	box-shadow: var(--bsh); color: var(--tt); font-size: 15px; font-weight: 400;}
.header__login-header {padding: 20px; color: var(--tt); font-weight: 700; gap: 20px; border-bottom: 1px solid var(--bdc);
	margin-bottom: 10px; display: none;}
.header__login-avatar {width: 40px; height: 40px; border-radius: 50%;}
.header__login-group span {font-size: 12px; font-weight: 400; margin-top: 2px; 
	display: block; color: var(--tt-fade) !important;}
.header__login-menu a {display: flex; align-items: center; min-height: 30px; padding: 0 20px 0 0;}
.header__login-menu a::before {width: 40px; text-align: center; color: var(--accent-primary);}
.header__login-menu-border {border-top: 1px solid var(--bdc); margin-top: 10px; padding-top: 10px;}
.header__login-menu a span {font-size: 12px; margin-left: auto;}


/* ADAPTIVE, MOBILE MENU
----------------------------------------------- */
.overlay {position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%; 
	opacity: 0.6; background-color: #000; cursor: pointer; display: none;}
.mobile-menu {width: 280px; height: 100%; overflow-x: hidden; overflow-y: auto;
	z-index: 999; position: fixed; left: -360px; top: 0; transition: left 0.4s; background-color: var(--bg);}
.mobile-menu.is-active {left: 0;}
body.mobile-menu-is-opened {overflow: hidden; width: 100%; height: 100%;}
.mobile-menu__header {padding: 0px 20px; gap: 10px; background: var(--bg-darker);}
.mobile-menu__btn-close {font-size: 24px; width: 40px; height: 40px; margin-right: 0px;}
.mobile-menu__content {padding: 40px 20px;}
.mobile-menu__content .side-menu__btn {display: none;}
.mobile-menu__content .side__menu-submenu {display: grid; box-shadow: none; gap: 0 10px;
	position: static; width: calc(100% + 40px); margin: 0 -20px; padding: 15px 20px;
	grid-template-columns: repeat(2,minmax(0,1fr)); background-color: var(--bg-darker);}
.mobile-menu__content .side__menu-submenu a {padding: 5px 0; font-size: 14px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

@media screen and (max-width: 1220px) {
	:root {--indent-negative: -20px; --indent: 20px;}
	body {background-image: none;}
	.wrapper {padding-top: 0; background-image: none; overflow: hidden;}
	.wrapper__container {max-width:1000px;}
	.wrapper__main, .sidebar, .header {border-radius: 0;}
	.wrapper__main {display: block;}
	.header .header__menu, .sidebar {display: none;}
	.logo {min-width: 100px;}
	.header__btn-login {background-color: rgba(0,0,0,0.06); color: var(--tt-fade);
		padding: 0 15px; font-weight: 400; height: 30px; border-radius: 15px; text-transform: none;}
	.header__favlink.nl {margin-right: 20px;}
	.header__btn-menu {display: flex; margin-left: 20px; padding: 0; width: 40px; 
		border-radius: 50%; font-size: 18px; position: relative; z-index: 10;}
	.wrapper::after, .wrapper::before {display: none;}

	.page__cols {display: block;}
	.page__cols-side {padding-top: 0;}
	.page--artist .page__caption {margin-bottom: 40px;}
	.page--artist .page__cols-side {padding-bottom: 20px;}
}

@media screen and (max-width: 950px) {
	.wrapper__container {max-width:768px;}
	.pagination {gap: 10px;}
	.pagination__btn-loader a, .pagination__btn-loader span {width: 100%;}
	.pagination > a, .pagination > span {flex-grow: 1; order: 10;}
	.pagination__pages {width: 100%;}
	.pagination__pages a, .pagination__pages span {flex-grow: 1;}
	.header__login-login, .header__login::before {display: none !important;}
	.header__login {width: auto !important;}
	.header__login-header {display: flex; margin-top: -10px;}
	
	.sect__content--tracks .trc {border-left: 0; margin-left: 0;}
	.coll__desc {padding: 20px 30px;}
	.sect__content--coll {padding: 0 80px;}
	.footer__one, .footer__two {gap: 20px;} 
	.footer__two {margin-top: 30px;}
	.footer__menu {min-width: 100%; justify-content: flex-start; gap: 20px;}
	.footer__text {min-width: 100%; order: -1;}
	.footer__text br {display: none;}

	.page__header {margin-bottom: 20px; margin-top: -20px;}
}

@media screen and (max-width: 760px) {
	.wrapper__container {max-width:640px;}
	.login__header, .login__content {padding: 20px;}
	.login__social {margin-bottom: 0;}
	.login__row::before {height: 40px;}
	.login__input input {height: 40px; line-height: 40px; box-shadow: none; border: 0; background-color: var(--bg-darker);}
	.login__social a {border-radius: var(--bdrs); height: 30px; flex: 1 0 30%;}
	.login__social a img {left: 50%; margin-left: -10px;}
	
	.header__favlink {display: none;}
	.header, .footer, .content {padding-left: 20px; padding-right: 20px;}
	.sect__content--tracks {margin: 0 -20px;}
	.sect__content--coll {padding: 0; display: flex; gap: 20px; overflow-y: hidden; overflow-x: auto; margin-right: -20px;}
	.sect__content--coll .coll {box-shadow: none; width: 300px; flex-shrink: 0;}
	.coll__title {font-size: 18px;}
	.coll__category {padding-top: 0;}
	.coll__img {height: 200px;}
	.coll__desc {gap: 15px; padding: 20px;}
	.coll__text {font-size: 13px;}
	.sect__content--tracks .trc {padding: 20px 20px; padding-left: 60px;}
	.trc__count {left: 20px;}
	.trc__to-playlist, .trc__img {margin-right: -10px;}

	.page__caption {padding-left: 20px; padding-right: 20px; margin-left: -20px; margin-right: -20px;}
	.page__caption::before {left: 20px; display: none !important;}
	.page__poster {margin-left: -20px; margin-right: -20px;}
	.page__header-desc {padding: 20px;}

	.page__title {font-size: 24px;}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 20px;}
	.page__intro, .page__text .quote {margin-left: var(--indent-negative); margin-right: var(--indent-negative); padding-right: var(--indent);}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 18px;}
	
	.ac-form__bottom {gap: 10px;}
	.ac-form__bottom button {padding: 0 20px;}
	.ac-form__header input + input {min-width: 100%; order: 10;}
	.ac-form__header > span, .comm__rating::before {display: none;}
	.ac-form #b_color {display: none;}
	.ac-form__bottom button {position: static !important; width: 100% !important;}
}

@media screen and (max-width: 590px) {
	.wrapper__container {max-width:480px;}
	.header {height: auto;}
	.search-block {min-width: calc(100% + 40px); border-top: 1px solid var(--bdc); order: 10; margin: 0 -20px;}
	.search-block__btn {left: auto; right: 5px;}
	.search-block input {padding-left: 20px !important;}
	.header__logo {flex-grow: 1; height: 70px;}
	.header__btn-login {margin-left: 10px; margin-right: -10px;}

	.page__header {display: block; position: relative;}
	.page__img {margin: 0; position: absolute; top: 0; left: 0; width: 80px; height: 80px;}
	.page__header-right h1 {padding-left: 100px; min-height: 80px; 
		display: flex; flex-direction: column; justify-content: center;}
	.page--collection .page__header-right h1 {display: block; padding-left: 0; min-height: auto;}
	.page__poster {height: 200px;}
}

@media screen and (max-width: 470px) {
	.wrapper__container123 {max-width:360px;}
	.sect__content--coll .coll {width: calc(100vw - 60px);}
	.d-grid-items {grid-template-columns: repeat(2,minmax(100px,1fr));}
	.sect__content--tracks, .sect__content--collections {display: block;}
	.sect__content--collections .coll + .coll {margin-top: 20px;}
	.sect__content--artists .artist:nth-child(5n) {grid-column: 1 / -1;}
	.sect__title {min-width: 100%;}
	.trc__count {display: none;}
	.sect__content--tracks .trc {padding-left: 20px;}
	
	.page__scr ul li {flex: 0 0 220px; width: 220px;}
	.page__message {margin-left: var(--indent-negative); margin-right: var(--indent-negative); padding-left: 18px;}
	
	.ac-form__bottom .comments_subscribe {font-size: 13px;}
	.full-text iframe {width: calc(100% + 40px); max-width: calc(100% + 40px); height: 260px; margin-left: -20px; margin-right: -20px;}
}


/* PLAYER 
----------------------------------------------- */
.player {position: fixed; z-index: 990; left: 0; bottom: 0; background-color: var(--bg); 
	box-shadow: 0 -5px 5px rgba(0,0,0,0.03); width: 100%; border-top: 1px solid var(--bdc);}
.player__main {gap: 10px 40px; padding: 15px 40px; position: static;}
.player__left, .player__right {gap: 40px;}
.player__img {width: 40px; height: 40px; margin-right: 20px;}
.player__title {font-weight: 700;}
.player__subtitle {font-size: 14px; color: var(--tt-fade);}
.player__btns {gap: 40px;}
.player__btn-repeat, .player__btn-prev, .player__btn-next, .player__btn-playlist, .player__dl {color: var(--tt-fade); 
	background: none; font-size: 14px; width: 30px; height: 30px; border-radius: 15px; padding: 0;}
.player__btn-play {border-radius: 50%; font-size: 10px; padding: 0; width: 40px; height: 40px;}
.player__volume {gap: 20px; font-size: 16px;}
.player__volume .player__range {width: 100px;}
.player__volume-value {font-size: 12px; width: 21px;}
.player__time {font-size: 12px; gap: 5px;}
.player__time-current:after {content: '/'; display: inline; margin-left: 5px;}
.player audio {display: none;}
.player__bar {position: absolute; left: 0; right: 0; bottom: 100%; margin-bottom: -8px;}
.player__bar::before {content: ''; background-color: #000; height: 1px; width: var(--loaded-progress,0%); 
	position: absolute; left: 0; bottom: 7px; opacity: 0.2; pointer-events: none; z-index: -1;}

.player__range input[type="range"] {-webkit-appearance: none; appearance: none; justify-content: center;
	background: none; height: 20px; padding: 0; width: 100%; cursor: pointer; display: flex; flex-direction: column;}
.player__range input[type="range"]::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; cursor: pointer;
	width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; box-sizing: border-box;
	background-color: var(--bg); border: 2px solid var(--accent-primary);}
.player__range input[type="range"]::-webkit-slider-runnable-track {width: 100%; height: 4px; cursor: pointer;
	background: linear-gradient(to right, var(--accent-primary) 0%, var(--accent-primary) var(--range-progress), 
	var(--bdc) var(--range-progress), var(--bdc) 100%); border-radius: 2px;}
.player__range input[type="range"]::-moz-range-thumb {-webkit-appearance: none; appearance: none; cursor: pointer;
	width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; box-sizing: border-box;
	background-color: var(--bg); border: 2px solid var(--accent-primary);}
.player__range input[type="range"]::-moz-range-track {width: 100%; height: 4px; cursor: pointer;
	background: linear-gradient(to right, var(--accent-primary) 0%, var(--accent-primary) var(--range-progress), 
	var(--bdc) var(--range-progress), var(--bdc) 100%); border-radius: 2px;}

.player__equalizer {width: 28px; gap: 2px; height: 80px; margin: -20px 0;}
.player__equalizer li {background: var(--accent-primary); height: 10%; border-radius: 3px; flex-grow: 1;}
.player--is-playing .player__equalizer li {animation: equalizer .5s forwards ease-in-out infinite; animation-direction: alternate;}
.player__equalizer li:nth-child(1) {animation-duration: 2s;}
.player__equalizer li:nth-child(2) {animation-duration: 1.6s;}
.player__equalizer li:nth-child(3) {animation-duration: 1.9s;}
.player__equalizer li:nth-child(4) {animation-duration: 1.5s;}
.player__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%;} }
	
.player--is-muted .player__volume::before {content:"\f6a9";}
.player--is-playing .player__btn-play::before {content:"\f04c";}
.player--is-repeated .player__btn-repeat:not(:hover), .player--is-shuffled .player__btn-repeat:not(:hover) 
{color: var(--accent-primary);}
.player--is-repeated .player__btn-repeat::before {content:"\f363";}
.player--is-shuffled .player__btn-repeat::before {content:"\f074";}

.player__playlist {width: 100%; position: absolute; right: 0; bottom: 100%; display: none;
	box-shadow: var(--bsh); padding: 20px; background-color: var(--bg); z-index: -1;}
.player__playlist.is-active {display: block;}
.player__btn-playlist.is-active {background-color: var(--accent-primary); color: #fff;}
.player__playlist-title {max-width: 500px; margin: 0 auto; font-size: 18px; margin-bottom: 20px; font-weight: 700; cursor: pointer;}
.player__playlist-list {overflow-x: hidden; overflow-y: auto; max-width: 500px; margin: 0 auto;
	height: calc(100vh - 150px); height: calc(100dvh - 150px);}
.player__playlist-item {padding: 10px 20px; border-bottom: 1px solid var(--bdc); cursor: pointer; gap: 20px;}
.player__playlist-item-img {width: 40px; height: 40px;}
.player__playlist-item-title {font-weight: 700; font-size: 14px;}
.player__playlist-item-subtitle {font-size: 13px; color: var(--tt-fade); margin-top: 3px;}
.player__playlist-item-duration {font-size: 12px;}
.player__playlist-item-dl {font-size: 18px; display: block; margin-left: 10px;}
.player__playlist-item:last-child {margin-bottom: 0; border-bottom: 0;}
.player__playlist-item.is-playing {background-color: var(--bg-darker); cursor: default;}
.player__playlist-item.is-playing .player__playlist-item-desc {pointer-events: none;}
.player__playlist-item:hover {background-color: var(--bg-darker);}

.player--not-loaded button:not(.player__btn-play), .player--not-loaded .player__dl, 
.player--not-loaded .player__bar {pointer-events: none;}
	
@media screen and (max-width: 1220px) {
	.player__main {gap: 10px 10px; padding: 15px 20px;}
	.player__btns {gap: 10px;}
	.player__volume, .player__equalizer {display: none;}
}
@media screen and (max-width: 760px) {
	.player__info {position: absolute; left: 0; right: 0; bottom: 100%; box-shadow: 0 -5px 5px rgba(0,0,0,0.03);
		background-color: var(--bg); padding: 10px 60px 10px 20px; gap: 10px; margin-bottom: 4px;}
	.player__img {margin-right: 0;}
	.player__dl {position: absolute; right: 10px; bottom: 100%; margin-bottom: 20px;}
	.player__left > * {display: none;}
	.player__time-current {position: absolute; left: 20px; top: 50%; transform: translateY(-50%);}
	.player__time-duration {position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
	.player__time-current:after {display: none;}
	.player__left, .player__right {min-width: 0;}
}

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

/* Базовый контейнер на всю ширину без правых колонок */
.app-card-wrapper {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Шапка карточки */
/* Переработка контейнера шапки в строгую трехколоночную структуру */
.app-hero-block {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #eef2f5;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 25px;
    gap: 24px;
}

/* Колонка 1: Иконка (Фиксированная ширина) */
.app-icon-box {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
}
.app-icon-box img {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    object-fit: cover;
}

/* Колонка 2: Текст (Занимает всё свободное пространство посередине) */
.app-title-box {
    flex-grow: 1;
    min-width: 0; /* Важно, чтобы длинный заголовок не ломал сетку */
}
.app-main-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 4px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* Аккуратно обрежет текст, если название слишком длинное */
}
.app-subtitle {
    font-size: 13px;
    color: #64748b;
    margin: 0 0 12px 0;
}

/* Строка с тегами ОС и датой */
.app-meta-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.app-update-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b;
}
.app-update-date svg {
    color: #94a3b8;
}

/* Колонка 3: Блок кнопки и рейтинга (Фиксированная правая часть) */
.app-action-box {
    flex-shrink: 0;
    width: 240px; /* Жестко задаем ширину под кнопку скачивания */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.btn-main-download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #22c55e;
    color: #ffffff;
    width: 100%; /* Кнопка растянется ровно на 220px */
    padding: 12px 0;
    border-radius: 10px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.2s;
}
.btn-main-download:hover { 
    background: #16a34a; 
}
.app-rating-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    /* Родовая обертка шапки */
    .app-hero-block {
        flex-direction: column;
        align-items: center;    /* Центрирует все внутренние блоки */
        text-align: center;     /* Центрирует весь текст внутри блоков */
        padding: 20px;
        gap: 16px;
    }

    /* Блок, в котором лежат иконка и текст */
    .app-main-info {
        flex-direction: column;
        align-items: center;    /* Центрирует элементы по горизонтали */
        gap: 15px;
        width: 100%;
    }

    /* Контейнер самой иконки */
    .app-icon-box {
        margin: 0 auto;         /* Жесткое центрирование блока иконки */
        width: 80px;
        height: 80px;
    }

    /* Выравнивание строки с тегами ОС и датой по центру */
    .app-meta-row {
        justify-content: center; 
    }

    .app-title-box {
        width: 100%;
    }
    
    .app-main-title {
        white-space: normal; 
    }
    
    .app-action-box {
        width: 100%;
    }
}



/* Бейджи операционных систем */
.app-platforms-badges {
    display: flex;
    gap: 8px;
}
.app-platforms-badges .badge {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
}
.platform-win { background: #e0f2fe; color: #0369a1; }
.platform-mac { background: #f1f5f9; color: #334155; }
.platform-lin { background: #fef3c7; color: #b45309; }

/* Новый универсальный бейдж (пастельный фиолетово-серый) */
.platform-any { 
    background: #f3e8ff; 
    color: #6b21a8; 
}

/* Кнопка действия на первом экране */
.app-action-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 15px;
}
.btn-main-download {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #22c55e;
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    transition: background 0.2s;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
}
.btn-main-download:hover { background: #16a34a; }

/* Общие заголовки секций */
.section-title {
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 20px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #f1f5f9;
}

/* Сетка таблицы характеристик */
.app-specs-container, .app-description-container, .app-download-zone, .app-related-container {
    background: #ffffff;
    border: 1px solid #eef2f5;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 25px;
}
.specs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.spec-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 14px;
}
.full-width-spec {
    grid-column: span 2;
}
.spec-label { color: #64748b; }
.spec-value { color: #1e293b; font-weight: 500; }
.license-badge { background: #eff6ff; color: #1d4ed8; padding: 2px 8px; border-radius: 4px; font-size: 12px; }

/* Описание */
.full-text-content {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
}

/* Зона загрузки файлов */
.download-links-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.download-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8fafc;
    padding: 16px 20px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}
.file-name { font-size: 14px; font-weight: 500; color: #1e293b; }
.btn-file-download {
    background: #3b82f6;
    color: #ffffff;
    padding: 8px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
.btn-file-download:hover { background: #2563eb; }

/* Адаптивность для смартфонов */
@media (max-width: 768px) {
    .app-hero-block {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 20px;
    }
    .app-main-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .app-action-box {
        width: 100%;
        align-items: fill;
    }
    .btn-main-download {
        justify-content: center;
        width: 100%;
    }
    .specs-grid {
        grid-template-columns: 1fr;
    }
    .full-width-spec {
        grid-column: span 1;
    }
    .download-row {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
    .btn-file-download {
        width: 100%;
        text-align: center;
    }
}

/* Контейнер карточки софта */
.app-short-item {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #eef2f5;
    border-radius: 12px;
    padding: 14px 18px;
    gap: 16px;
    transition: transform 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.app-short-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.04);
    border-color: #e2e8f0;
}

/* Иконка */
.app-short-img {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
}
.app-short-img img {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
    background: #f8fafc;
}

/* Текстовая часть */
.app-short-desc {
    flex-grow: 1;
    min-width: 0;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.app-short-title {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.app-short-title:hover {
    color: #3b82f6;
}

/* Строка мета-данных */
.app-short-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}
.app-short-ver {
    font-size: 12px;
    color: #64748b;
    background: #f1f5f9;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 500;
}

/* Мини-метки операционных систем */
.app-short-platforms {
    display: flex;
    gap: 4px;
}
.plat-mini {
    font-size: 10px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
}

/* Кнопка действия (скачать/открыть) */
.app-short-actions {
    flex-shrink: 0;
}
.btn-short-dl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #475569;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.btn-short-dl:hover {
    background: #22c55e;
    color: #ffffff;
}

/* Адаптивность для мобильных экранов */
@media (max-width: 576px) {
    .app-short-item {
        padding: 12px;
        gap: 12px;
    }
    .app-short-img {
        width: 42px;
        height: 42px;
    }
    .app-short-title {
        font-size: 14px;
    }
}

/* Контейнер подкатегорий (по умолчанию скрыт через display) */
.accordion-content {
    display: none; 
    overflow: hidden;
    background: #f8fafc; /* Легкий серый фон для подкатегорий */
}

/* Ссылки внутри меню {catmenu} */
.accordion-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.accordion-content ul li a {
    display: block;
    padding: 10px 18px 10px 46px;
    font-size: 13px;
    color: #475569;
    text-decoration: none;
    border-bottom: 1px solid #f1f5f9;
}
.accordion-content ul li a:hover {
    background: #f1f5f9;
    color: #3b82f6;
}

/* Иконка стрелочки поворачивается при открытии */
.accordion-item.is-open .chevron-icon {
    transform: rotate(180deg);
    color: #3b82f6;
}

.app-addnews-container {
    max-width: 850px;
    margin: 30px auto;
    background: #ffffff;
    border: 1px solid #eef2f5;
    border-radius: 16px;
    padding: 40px;
    font-family: system-ui, -apple-system, sans-serif;
}
.addnews-main-title {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 6px 0;
}
.addnews-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 0 0 30px 0;
}
.form-group {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.form-group label {
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}
/* Унифицируем внешний вид стандартных инпутов DLE */
.form-control, .app-addnews-container input[type="text"], .app-addnews-container select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 14px;
    color: #1e293b;
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.form-control:focus {
    border-color: #3b82f6;
    outline: none;
}
/* Сетка для полей технических параметров */
.addnews-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 10px;
}
.addnews-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin: 25px 0 15px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid #f1f5f9;
}
.form-group-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #f1f5f9;
}
.captcha-img-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.captcha-input { width: 120px !important; }
.btn-submit-news {
    background: #22c55e;
    color: #ffffff;
    border: none;
    padding: 12px 28px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
    transition: background 0.2s;
}
.btn-submit-news:hover { background: #16a34a; }

@media (max-width: 768px) {
    .addnews-fields-grid { grid-template-columns: 1fr; }
    .form-group-footer { flex-direction: column; align-items: flex-start; gap: 20px; }
    .btn-submit-news { width: 100%; text-align: center; }
}

/* Сетка для переключателей ОС */
.addnews-os-switcher-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
}
.switcher-item {
    margin-bottom: 0;
    align-items: center;
    text-align: center;
}
.switcher-item label {
    margin-bottom: 6px;
    font-weight: 600;
    color: #334155;
}
/* Стилизация выпадающего списка Да/Нет от DLE */
.switcher-control select {
    max-width: 120px;
    text-align: center;
    font-weight: 500;
}

@media (max-width: 576px) {
    .addnews-os-switcher-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

/* Обновленный легкий аккордеон */
.sidebar-accordion {
    width: 100%;
    background: #ffffff;
    border: 1px solid #eef2f5;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 25px;
}
.accordion-header {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: #ffffff;
    border: none;
    border-bottom: 1px solid #f1f5f9;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.accordion-header svg {
    margin-right: 10px;
    color: #64748b;
}
.accordion-header .chevron-icon {
    margin-left: auto;
    font-size: 11px;
    color: #94a3b8;
}
/* Эффект при наведении и открытии категории */
.accordion-header:hover, .accordion-item.is-open .accordion-header {
    background: #f8fafc;
    color: #22c55e; /* Оставляем ваш фирменный зеленый цвет, но аккуратно, только для текста */
}
.accordion-header:hover svg, .accordion-item.is-open .accordion-header svg {
    color: #22c55e;
}

/* Стили для текстовых блоков меню (Основное и Полезное) */
.sidebar-nav-block {
    background: #ffffff;
    border: 1px solid #eef2f5;
    border-radius: 12px;
    padding: 20px 16px;
    margin-bottom: 25px;
}
.sidebar-block-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    padding-left: 4px;
}
.sidebar-menu-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sidebar-menu-links li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    font-size: 13px;
    color: #475569;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.2s, color 0.2s;
}
.sidebar-menu-links li a i {
    font-size: 14px;
    color: #94a3b8;
    width: 16px;
    text-align: center;
}
/* Красивый светлый блик при наведении на пункт меню */
.sidebar-menu-links li a:hover {
    background: #f1f5f9;
    color: #1e293b;
}
.sidebar-menu-links li a:hover i {
    color: #3b82f6; /* Иконка становится синей */
}

/* Убираем маркеры списков DLE, которые ломают верстку на скрине */
.accordion-content ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.accordion-content li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Стиль ссылки активной подкатегории */
.accordion-content li.is-active-cat a {
    color: #22c55e !important; /* Подсвечиваем зеленым цветом */
    font-weight: 600;
    background: #f1f5f9;
}

/* ==========================================================================
   НЕЗАВИСИМЫЕ СТИЛИ ДЛЯ CATEGORYMENU.TPL (hubPROG NAVIGATION)
   ========================================================================== */

/* Сброс системных отступов DLE для списков */
.hp-nav-item,
.hp-sub-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

/* Ссылка основного (первого) уровня подкатегорий */
.hp-nav-link {
    display: block !important;
    padding: 10px 16px 10px 24px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #475569 !important; /* Мягкий графитовый цвет */
    text-decoration: none !important;
    border-bottom: 1px solid #f4f6f8 !important; /* Легкая разделительная черта */
    transition: all 0.2s ease-in-out !important;
}

/* Эффект наведения на основную ссылку */
.hp-nav-link:hover {
    background: #f8fafc !important;
    color: #1e293b !important;
    padding-left: 28px !important; /* Плавный сдвиг вправо */
}

/* Контейнер для вложенного (второго) уровня подкатегорий */
.hp-sub-menu {
    background: #f8fafc !important; /* Приглушенный фон для вложенного списка */
    padding: 4px 0 !important;
    border-left: 2px solid #e2e8f0 !important; /* Вертикальная линия-маркер слева */
    margin-left: 24px !important; /* Сдвиг вправо для создания иерархии */
}

/* Ссылки внутри вложенного списка второго уровня */
.hp-sub-menu .hp-nav-link {
    padding: 6px 16px 6px 16px !important; /* Более компактные отступы */
    font-size: 12.5px !important;
    color: #64748b !important; /* Слегка осветленный текст */
    border-bottom: none !important; /* Убираем нижнюю черту у подкатегорий */
}

/* Эффект наведения на вложенную подкатегорию */
.hp-sub-menu .hp-nav-link:hover {
    color: #22c55e !important; /* Фирменная зеленая подсветка */
    background: #f1f5f9 !important;
    padding-left: 20px !important;
}

/* Стиль для текущей активной категории, где находится пользователь */
.hp-nav-item.hp-active-item > .hp-nav-link {
    color: #22c55e !important; /* Текст становится зеленым */
    font-weight: 600 !important;
    background: #f1f5f9 !important;
    border-left: 3px solid #22c55e !important; /* Плотный зеленый маркер слева */
    padding-left: 21px !important; /* Корректировка отступа из-за маркера */
}

.speedbar-container {
    font-size: 13px;
    color: #888888;
    margin-bottom: 15px;
    padding: 0 5px;
}
.speedbar-container a {
    color: #666666;
    text-decoration: none;
    transition: color 0.2s;
}
.speedbar-container a:hover {
    color: #2ecc71; /* Цвет в стиль вашей зеленой кнопки */
}

.info-block {
    margin-top: 20px;
    padding: 20px;
    background: #ffffff; /* Чистый белый фон */
    border-left: 4px solid #007bff;
    border-radius: 8px; /* Округление как у верхнего блока */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Легкая тень */
}
.info-block--download {
    border-left-color: #28a745; /* Зеленый маркер для инструкции */
}
.info-block__title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    color: #333;
}
.info-block__title i {
    margin-right: 8px;
    font-size: 16px;
}
.info-block__content {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}
.info-block__steps {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    color: #555;
    line-height: 1.7;
}
.info-block__steps li {
    margin-bottom: 8px;
}
.info-block__steps li:last-child {
    margin-bottom: 0;
}

/* Жесткое выделение ссылок по ID контейнера */
#seo-instruction a,
#seo-instruction a:link,
#seo-instruction a:visited {
color: #0066cc !important; /* Яркий насыщенный синий цвет */
    text-decoration: underline !important; /* Принудительное подчеркивание */
    font-weight: 600 !important; /* Жирный шрифт, чтобы ссылка выделялась в строке */
    padding: 0 4px; /* Небольшие отступы по бокам */
    background-color: #f0f7ff; /* Очень легкий голубой фон для привлечения внимания */
    border-radius: 3px; /* Скругление углов фона */
    transition: all 0.2s ease-in-out; /* Плавная анимация при наведении */
}

/* Эффект наведения */
#seo-instruction a:hover,
#seo-instruction a:active {
    color: #ffffff !important;
    background-color: #0056b3 !important;
    border-color: #004085 !important;
    text-decoration: none !important;
}

/* Автоматическое добавление иконки ссылки перед текстом */
#seo-instruction a::before {
    content: "\f0c1"; /* Код иконки ссылки (chain/link) в FontAwesome */
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    margin-right: 4px;
    display: inline-block;
    color: #0066cc;
}

/* Инициализируем счетчик для страницы ТОП 100 */
#top100-page {
    counter-reset: top-apps-counter;
    position: relative;
}

/* Берем абсолютно любой первый дочерний элемент (карточку) внутри обертки */
#top100-page > div, 
#top100-page > a, 
#top100-page > article {
    position: relative !important;
    counter-increment: top-apps-counter; /* Увеличиваем счетчик на 1 */
}

/* Создаем красивую плашку с номером поверх карточки софта */
#top100-page > div::before,
#top100-page > a::before,
#top100-page > article::before {
    content: "#" counter(top-apps-counter); /* Номер позиции */
    position: absolute;
    top: 10px;
    left: 10px;
    background: #007bff !important; /* Насыщенный синий цвет */
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: bold !important;
    padding: 3px 7px !important;
    border-radius: 4px !important;
    z-index: 99 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15) !important;
}

/* Раскрашиваем призовые места */
#top100-page > *:nth-child(1)::before { background: #ffc107 !important; color: #000000 !important; } /* 1 место — золото */
#top100-page > *:nth-child(2)::before { background: #6c757d !important; color: #ffffff !important; } /* 2 место — серебро */
#top100-page > *:nth-child(3)::before { background: #b7791f !important; color: #ffffff !important; } /* 3 место — бронза */

/* Основной заголовок — точная копия шрифта и веса заголовка описания */
.install-title {
    display: block !important;
    font-size: 18px !important;
    font-weight: 600 !important; /* Уменьшили жирность, чтобы убрать массивность */
    color: #1e293b !important;
    line-height: 1.4 !important;
}

/* Контейнер для ОС */
.install-title .os-item {
    display: inline-flex !important;
    align-items: center !important;
    color: #007bff !important;
    font-weight: 600 !important; /* Выравниваем жирность названий ОС */
    vertical-align: top !important;
}

/* Стили для встроенных SVG-картинок */
.install-title .os-svg {
    width: 15px !important; /* Чуть уменьшили размер для гармонии с новым весом шрифта */
    height: 15px !important;
    margin-right: 5px !important;
    margin-left: 4px !important;
    display: inline-block !important;
}

/* Оформление разделяющего слэша */
.install-title .os-slash {
    color: #1c2434 !important;
    font-weight: 400 !important;
    padding: 0 6px !important;
    display: inline-block !important;
    vertical-align: top !important;
}

.hubprog-choice-box {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    background-color: #f4f9f6 !important;
    border: 1px solid #e2ece7 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    margin: 15px 0 0 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.hubprog-choice-icon {
    font-size: 18px !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.hubprog-choice-text {
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #4a5568 !important;
    font-family: system-ui, -apple-system, sans-serif !important;
}

.hubprog-choice-text a {
    color: #10b981 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px dashed #10b981 !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
}

.hubprog-choice-text a:hover {
    color: #059669 !important;
    border-bottom-color: transparent !important;
}

.developer-links a {
    color: #4a5568; /* Темно-серый цвет */
    text-decoration: none;
    border-bottom: 1px dashed #a0aec0; /* Пунктир снизу */
    padding-bottom: 1px;
    transition: color 0.2s;
}

.developer-links a:hover {
    color: #3182ce; /* Меняет цвет на синий при наведении */
    border-bottom-color: #3182ce;
}

/* Выравниваем всю строку и делаем её резиновой */
.download-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

/* Группа кнопок справа выстраивается в один ряд */
.download-actions-group {
    display: flex;
    align-items: center;
    gap: 10px; /* Расстояние между кнопкой VT и вашей кнопкой Скачать */
}

/* Стили для кнопки VirusTotal */
.vt-btn-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f1f5f9;
    color: #475569 !important;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none !important;
    height: 36px; /* Высота идеально подгоняется под вашу синюю кнопку */
    box-sizing: border-box;
    border: 1px solid #e2e8f0;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.vt-btn-inline:hover {
    background: #e2e8f0;
    color: #1e293b !important;
    border-color: #cbd5e1;
}

.vt-icon {
    width: 16px;
    height: 16px;
    fill: #394eff;
}

.vt-badge {
    background: #22c55e;
    color: #ffffff;
    font-size: 11px;
    padding: 1px 5px;
    border-radius: 4px;
    font-weight: 700;
}

/* Адаптивность для мобильных телефонов */
@media (max-width: 768px) {
    .download-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .download-actions-group {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .vt-btn-inline {
        width: 100%;
        justify-content: center;
        height: 40px;
    }
    /* Растягиваем и кнопку скачивания от DLE на всю ширину на мобилках */
    .download-actions-group > * {
        width: 100%;
        text-align: center;
    }
}

.subcategory-block {
    margin-top: 30px;
    padding: 20px;
    background-color: #f8f9fa; /* Легкий серый фон блока */
    border-radius: 8px;
    border: 1px solid #e9ecef;
}
.subcategory-title {
    font-weight: bold;
    font-size: 15px;
    margin-bottom: 15px;
    color: #333;
}
.subcategory-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Отступы между плашками */
}
.sub-tag {
    display: inline-block;
    padding: 8px 16px;
    background-color: #ffffff;
    color: #212529;
    text-decoration: none;
    border: 1px solid #ced4da;
    border-radius: 20px; /* Скругленные края кнопок */
    font-size: 14px;
    transition: all 0.2s ease;
}
/* Эффект при наведении курсора */
.sub-tag:hover {
    background-color: #28a745; /* Подсветка зеленым цветом в тон вашего меню */
    color: #ffffff;
    border-color: #28a745;
}

/* Базовые стили для мобильных */
section.sect .sect__content.hubprog-cat-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px 10px !important; /* Уменьшили общий отступ */
    flex-direction: unset !important;
    flex-wrap: unset !important;
    width: 100% !important;
}

/* Строгие стили для ПК */
@media screen and (min-width: 769px) {
    section.sect .sect__content.hubprog-cat-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: auto !important;
        gap: 1px 1px !important; /* Первое число — отступ по вертикали, второе — по горизонтали */
        width: 100% !important;
    }
}

/* Принудительно убираем нижний отступ у самих карточек программ внутри сетки */
section.sect .sect__content.hubprog-cat-grid > * {
    margin-bottom: 0 !important;
}

/* Контейнер-обертка для заголовка и плашки с красивой рамкой */
.hubprog-title-wrapper {
    /* Оставляем только оформление рамки и фоны. Позиционирование не трогаем! */
    box-sizing: border-box !important;

    /* Стили красивой рамки */
    border: 1px solid #e2e8f0 !important;       /* Тонкий аккуратный контур */
    border-left: 5px solid #10b981 !important;  /* Акцентная зеленая полоса слева */
    border-radius: 8px !important;              /* Скругление углов */
    
    /* Внутренние отступы, чтобы текст не прилипал к рамке */
    padding: 12px 20px !important; 
    
    /* Мягкий фон и легкая тень для объема */
    background: linear-gradient(to right, #f8fafc, #ffffff) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

/* Стиль для плашки количества найденных программ */
.hubprog-count-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background-color: #f1f3f5; /* Нейтральный светло-серый фон */
    border: 1px solid #e9ecef;
    border-radius: 20px;
    font-size: 13px;
    color: #495057;
    font-weight: 500;
}

/* Выделение самой цифры количества внутри плашки */
.hubprog-count-badge span {
    color: #28a745; /* Зеленый акцент под цвет бренда */
    font-weight: bold;
    margin-left: 5px;
}
