/* ADAPTIVE, MOBILE MENU
----------------------------------------------- */
.mobile-menu {width: 320px; max-width: calc(100vw - 40px); 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: 15px 20px; gap: 10px; background-color: var(--bg-darker-1);}
.mobile-menu__header .logo {font-size: 20px;}
.mobile-menu__btn-close {font-size: 24px; width: 40px; height: 40px; margin-right: -10px;}
.mobile-menu__content {padding: 20px;}
.mobile-menu__content .header__search, .mobile-menu__content .header__btn-login {display: none;}
.mobile-menu__content .header__menu {display: block; margin: 0;}
.mobile-menu__content .header__menu > li > a {height: 50px;}
.mobile-menu__content .header__menu-hidden {opacity: 1; visibility: visible; translate: 0 0; position: static; background-color: var(--bg-darker); width: calc(100% + 40px); margin: 0 -20px; box-shadow: none; padding: 20px;}
.mobile-menu__content div.header__menu-hidden {grid-template-columns: repeat(2, minmax(0, 1fr));}

/* Планшеты и небольшие ноутбуки */
@media screen and (max-width: 1220px) {
	:root {--indent-negative: -20px; --indent: 20px;}
	.wrapper__container {max-width: 1000px;}
	body, .has-branding {padding-top: 0;}
	.wrapper::before, .wrapper::after {display: none;}
	.header {padding: 20px var(--indent);}
	.header .header__menu {display: none;}
	.header__search {flex: 1 1 0; max-width: 100%; min-width: 50px; margin-left: 10px;}
	.header__btn-menu {display: flex;}
	.carou {padding: 20px var(--indent);}
	.footer__one, .footer__two {align-items: center;}
	.page__cols {display: block;}
	.page__cols-right:has(.filter-block) {display: none;}
	.page__cols:has(.page__player) .page__cols-right {padding: 0; margin-top: 20px;}
	.page__fr {position: static;}
	.page__fr .sect__content {height: auto; max-height: 220px;}
	.page__list {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.schedule-item {padding: 10px 20px; gap: 10px 20px;}
	.schedule-item__number {width: 140px;}
}

/* Горизонтальные секции с табами на планшете */
@media screen and (max-width: 1220px) and (min-width: 591px) {
	.sect:has(.sect__tabs) .grid-items {display: flex; overflow-y: hidden; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity;}
	.sect:has(.sect__tabs) .grid-items > .grid-items__item {flex-shrink: 0; width: 170px; scroll-snap-align: start;}
}

/* Большие планшеты */
@media screen and (max-width: 950px) {
	.wrapper__container {max-width: 768px;}
	.content {padding: 20px var(--indent);}
	.footer {padding: 30px var(--indent) 20px;}
	.footer__one, .footer__two {justify-content: center;}
	.footer__notify, .footer__copyright {margin: 0;}
	.footer__menu {width: 100%; justify-content: center;}
	.descr {padding: 20px var(--indent);}
	.page__main {grid-template-columns: 180px minmax(0, 1fr);}
	.page__player-controls {gap: 15px;}
	.page__player-bottom {padding: 20px; gap: 15px;}
	.page__player-bottom > * {min-width: 100%;}
	.page__fav {margin: 0;}
	.page__likes {width: 100%;}
	.page__likes a {flex: 1 1 0; justify-content: center;}
	.page__scr ul {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px;}
	.pagination {gap: 10px;}
	.pagination__btn-loader a, .pagination__btn-loader span:not([class]) {width: 100%;}
	.pagination > a, .pagination > span {flex-grow: 1; order: 10;}
	.pagination__pages, .pagination__btns {min-width: 100%;}
	.pagination__pages a, .pagination__pages span, .pagination__btns > * {flex-grow: 1;}
}

/* Мобильные и компактные планшеты */
@media screen and (max-width: 760px) {
	.wrapper__container {max-width: 640px;}
	.header {padding: 15px var(--indent);}
	.header .header__search, .header .header__btn-login, .header__btn1 {display: none;}
	.mobile-menu__content .header__search, .mobile-menu__content .header__btn-login {display: block; width: 100%; margin: 0 0 10px;}
	.mobile-menu__content .header__btn-login {display: flex;}
	.header__logo {flex: 1 1 0; max-width: 100%; min-width: 50px; font-size: 22px;}
	.header__btn-menu, .header__btns {order: 10; padding: 0;}
	.content {padding: 15px var(--indent);}
	.content > .carou {margin-top: -15px; margin-bottom: 15px;}
	.carou {margin: 0 var(--indent-negative); padding: 15px var(--indent);}
	.sect__header {align-items: flex-start;}
	.sect__header:has(.sect__tabs) .sect__title {width: 100%;}
	.sect__tabs {margin-top: 10px; gap: 10px; width: 100%; overflow-x: auto; flex-wrap: nowrap;}
	.sect__tabs button {flex: 0 0 auto; min-width: max-content; padding: 0 14px; font-size: 12px; height: 30px;}
	.sect .filter-block {display: none;}
	.sect .filter-block.is-active {display: block;}
	.sect__btn-filter {display: flex;}
	.grid-items {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.page__cols-left, .page__cols-right, .page__schedules, .top-users {padding: 15px;}
	.page__main {display: block;}
	.page__main > * + * {margin-top: 20px;}
	.page__header, .page__header h1, body:has(.page__header) .speedbar {text-align: center;}
	.page__header h1 small, .page__header h1 a {display: block; margin: 8px 0 0;}
	.page__poster {margin-left: auto; margin-right: auto; width: 200px;}
	.page__rating-ext {max-width: 220px; margin: 0 auto;}
	.page__text {margin-bottom: 15px;}
	.page__list {grid-template-columns: minmax(0, 1fr);}
	.page__list-rates {padding: 10px 0;}
	.page__scr ul {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 15px;}
	.page__subtitle {margin: 0 -15px; padding: 15px;}
	.page__player-controls {flex-direction: column; align-items: stretch;}
	.page__player .tabs-block__select {width: 100%;}
	.page__player .tabs-block__select button {flex-grow: 1;}
	.page__complaint {display: none !important;}
	.page__player-bottom {padding: 15px; text-align: center;}
	.ya-share2 {width: 100%; text-align: center;}
	.page__likes a {padding: 0 10px; height: 34px; font-size: 12px; gap: 8px;}
	.schedule-item {gap: 10px;}
	.schedule-item__number {width: 100%; text-align: left;}
	.schedule-item__descr {min-width: 100%; order: 0;}
	.schedule-item__status {font-size: 20px;}
	.page__ac {margin-bottom: 20px;}
	.ac-form__bottom {gap: 10px;}
	.ac-form__bottom button {padding: 0 20px; width: 100%;}
	.ac-form__header input + input {min-width: 100%; order: 10;}
	.ac-form__header > span, .comm::before {display: none;}
	.ac-form #b_color {display: none;}
	.ac-toggle .ac-form__bottom button {position: static; width: 100%;}
	.comm {padding: 15px 15px 15px 70px;}
	.comm__img {width: 40px; height: 40px; position: absolute; left: 15px; top: 15px;}
	.comm__meta {display: block;}
	.comm__user-rating, .comm__group {translate: -50% -100%; display: none;}
}

/* Телефоны */
@media screen and (max-width: 590px) {
	.wrapper__container {max-width: 480px;}
	:root {--indent-negative: -15px; --indent: 15px;}
	.mobile-menu {max-width: calc(100vw - 20px);}
	.logo, .mobile-menu__header .logo {font-size: 20px; padding-left: 42px; height: 34px;}
	.logo::before {width: 34px; height: 34px;}
	.carou__caption, .sect__title, .descr :is(h1,h2,h3), .top-users__title, .page__subtitle {font-size: 16px;}
	.lgn__content {padding: 30px 20px;}
	.lgn__ctrl > * {font-size: 17px; height: 40px;}
	.lgn__btn-close {right: 0; top: 0; color: var(--tt); font-size: 24px;}
	.lgn__header {padding-left: 60px;}
	.lgn__avatar {width: 40px; font-size: 18px;}
	.lgn__title {font-size: 17px;}
	.lgn__caption {font-size: 14px; margin-top: 0;}
	.header__login a, .header__btn1 {display: none;}
	.footer__one, .footer__two {gap: 15px;}
	.footer__notify {width: 100%; padding: 0; border: 0; text-align: center;}
	.footer__menu {font-size: 14px; gap: 8px 16px;}
	.footer__copyright {margin: 0; text-align: center; width: 100%;}
	.descr ul li {margin-left: 0; padding-left: 20px;}
	.full-text > ul li, .full-text > ol li {padding-left: 40px;}
	.full-text > ul li::before {left: 18px;}
	.full-text > ol li::before {left: 0;}
	.full-text > ol li::after {left: 24px;}
	.page__poster {width: min(200px, 100%);}
	.page__rating-ext a {padding: 0 8px; gap: 8px;}
	.page__scr ul {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.page__scr ul:not(:has(li:nth-child(6))) {gap: 10px;}
	.page__comments-info {font-size: 13px;}
}

/* Очень узкие экраны */
@media screen and (max-width: 470px) {
	.wrapper__container {max-width: 410px;}
	.header__theme-select, .header__btn-menu {height: 30px;}
	.sect__tabs {gap: 8px;}
	.grid-items {gap: 8px;}
	.page__cols-left, .page__cols-right, .page__schedules, .top-users {padding: 12px;}
	.page__subtitle {margin: 0 -12px; padding: 12px;}
	.page__player-bottom {padding: 12px;}
	.pagination__btn-loader a {min-width: 0; width: 100%;}
	.filter__col--ranges {padding: 0;}
	.filter__cell--submit, .filter__col--submit {flex-direction: row; width: 100%;}
	.filter__cell--submit input {flex: 1 1 0; max-width: 100%; min-width: 50px;}
}

/* Узкие мобильные */
@media screen and (max-width: 420px) {
	.filter__bin {width: 100%;}
	.page__likes {flex-direction: column;}
	.page__likes a {width: 100%;}
}

/* Минимальная ширина */
@media screen and (max-width: 400px) {
	.wrapper__container {max-width: 360px;}
	.mobile-menu {max-width: calc(100vw - 10px);}
	.header__logo {font-size: 18px;}
	.grid-items {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.ac-form__bottom .comments_subscribe {font-size: 13px;}
	.full-text iframe {width: calc(100% + 30px); max-width: calc(100% + 30px); height: 220px; margin-left: -15px; margin-right: -15px;}
}
