/* ===============================================================
   LORDFILM — визуальный слой темы. Редизайн 2026.
   Токены живут в common.css (:root — светлая тема, .dt — тёмная).
   Имена классов сохранены: на них завязаны js/libs.js и шаблоны DLE.
   =============================================================== */

/* BASIC LAYOUT
----------------------------------------------- */
body {position: relative; background-color: var(--bg-blackest);}
.wrapper {min-width: 320px; overflow: hidden; overflow: clip;}
.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: var(--bsh-long);}
.content {padding: 24px var(--indent); min-height: 60vh;}
.content > .carou {margin-top: 0; margin-bottom: 28px;}
.content:has(.descr), .content:has(.page__related), .content:has(.carou--lastviewed) {padding-bottom: 0;}

/* Тонкая кинематографичная подложка вместо тяжёлого фонового баннера (было bg.jpg 250 КБ) */
.wrapper::before {position: absolute; left: 0; top: 0; right: 0; height: 420px; content: ''; z-index: 0;
	background: radial-gradient(120% 100% at 50% 0%, rgba(90,171,46,0.10) 0%, transparent 60%), var(--bg-blackest);}
.has-branding, .has-branding1 {padding-top: 0;}

.scrolltop {position: fixed; width: 44px; height: 44px; right: 14px; bottom: 14px; padding: 0;
	z-index: 990; border-radius: var(--ui-elem-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.72; background-color: #05070a; cursor: pointer; display: none;}


/* HEADER, TOPMENU, CAROU
----------------------------------------------- */
.header {padding: 0 var(--indent); position: sticky; z-index: 100; left: 0; top: 0; min-height: var(--head-h);
	background-color: var(--bg); border-bottom: 1px solid var(--bdc); box-shadow: var(--bsh-block);}
.header-is-sticky .header {translate: 0 -200%;}

.logo {display: flex; align-items: center; font-family: 'Righteous-Regular'; font-weight: 400; color: var(--tt);
	padding-left: 42px; text-transform: uppercase; position: relative; font-size: 21px; height: 40px; letter-spacing: 0.5px;}
.logo::before {content: ''; width: 32px; height: 32px; position: absolute; left: 0; top: 50%;
	background: url(../images/logo.svg) 0 center / contain no-repeat; translate: 0 -50%;}
.logo:has(img) {background: none; min-width: 180px;}
.logo:has(img)::before {display: none;}
.logo img {display: block; position: absolute; left: 0; top: 50%; translate: 0 -50%; max-height: 100%;}
/* Поиск ограничен по ширине, поэтому кнопки справа прижимаем к краю контейнера —
   иначе после них остаётся мёртвая полоса */
.header__theme-select {color: var(--tt-fade); width: 40px; height: 40px; margin-left: auto;}
.header__theme-select:hover {color: var(--yellow);}
.dt .header__theme-select {--i: var(--i-moon);}
.header__btn-login {height: 36px; padding: 0 18px; font-size: var(--fs-base);}
.header__btns {padding-left: 20px;}
.header__btn1 {height: 32px; font-size: var(--fs-sm);}
.header__ava {width: 36px; cursor: pointer;}
.header__btn1 span {position: absolute; right: -5px; top: -8px; padding: 2px 4px; font-size: 10px; border-radius: 3px;
	background-color: var(--red); color: #fff; display: inline-block;
	text-align: center; min-width: 18px; line-height: 1;}
.header__btn-menu {width: 44px; height: 44px;}

.header__menu {margin: 0 8px 0 24px;}
.header__menu li {position: relative;}
.header__menu > li > a {display: flex; align-items: center; height: var(--head-h); text-transform: uppercase;
	font-size: var(--fs-md); font-weight: 700; color: var(--tt-fade); font-family: var(--font-display);
	letter-spacing: 0.3px; border-bottom: 2px solid transparent;}
.header__menu > li > a:hover {color: var(--tt); border-bottom-color: var(--accent);}
.header__menu-hidden {background-color: var(--bg); border: 1px solid var(--bdc); border-radius: var(--bdrs-card);
	box-shadow: var(--ui-bsh);
	position: absolute; left: 0; top: 100%; width: 240px; z-index: 10; padding: 18px 22px; display: grid; gap: 6px 26px;
	opacity: 0; visibility: hidden; translate: 0 10px;}
div.header__menu-hidden {grid-template-columns: repeat(2,1fr); width: 460px;}
.header__menu-hidden-col {display: grid; gap: 5px; align-content: start;}
.header__menu-hidden li:not(:has(a)) {font-weight: 500; font-size: var(--fs-sm); text-transform: uppercase;
	letter-spacing: 0.6px; color: var(--tt-fade); margin-top: 8px;}
.header__menu-hidden li:first-child:not(:has(a)) {margin-top: 0;}
.header__menu-hidden a {color: var(--tt-fade-0); display: block; padding: 3px 0;}
.header__menu-hidden a:hover {color: var(--accent);}
/* Подменю раскрывается и с клавиатуры, не только по наведению */
.header__menu li:focus-within .header__menu-hidden {opacity: 1; visibility: visible; translate: 0 0;}
.header__menu li:focus-within > a {color: var(--tt); border-bottom-color: var(--accent);}

.search-block {position: relative; max-width: 420px;}
.search-block__input, .search-block__input:focus {padding: 0 42px 0 14px; border: 1px solid var(--ui-bdc-inp);
	box-shadow: none; height: 38px; line-height: 36px; background-color: var(--ui-bg-inp); border-radius: var(--ui-elem-bdrs);}
.search-block__input:focus {border-color: var(--ui-bdc-inp-focus);}
.search-block__input:not(:focus)::placeholder {color: var(--tt-fade); opacity: 1; font-size: var(--fs-base);}
.search-block__btn {position: absolute; right: 0; top: 0; height: 38px; font-size: 17px; width: 42px; color: var(--tt-fade);}
.search-block__btn:hover {color: var(--accent); background: none;}

/* Карусель «Популярное за сегодня» */
.carou {background-color: var(--bg-blackest); margin: 0 var(--indent-negative); padding: 22px var(--indent);
	color: #fff; --tt: #fff; --tt-fade: #9aa4b4; --bdc: rgba(255,255,255,0.10);}
.carou--lastviewed {margin-top: 0 !important; margin-bottom: 0 !important;}
.carou__caption {color: #fff; font-size: var(--fs-lg); font-weight: 500; margin-bottom: 16px;
	font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.4px;}
.carou--lastviewed:not(:has(.item)) {display: none;}


/* SECTION
----------------------------------------------- */
.sect:not(:last-child) {margin-bottom: 34px;}
.sect__header {margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--bdc);}
.sect__title {font-size: var(--fs-lg); font-weight: 500; text-transform: uppercase; color: var(--tt);
	font-family: var(--font-display); letter-spacing: 0.4px; line-height: 1.2;}
.sect__title :is(h1,h2,h3) {font-size: inherit; font-weight: inherit; font-family: inherit;}
.sect__header:has(.sect__tabs) {margin-bottom: 12px;}
.sect__tabs button {background: none; color: var(--tt-fade); text-transform: none; font-weight: 400; height: 32px;}
.sect__tabs button.is-active {background-color: var(--accent-soft); color: var(--accent);}

/* Заголовок-ссылка раздела: это заголовок, а не кнопка */
a.sect__title {display: inline-flex; align-items: center; gap: 8px; background: none; color: var(--tt);
	height: auto; padding: 0; border-radius: 0;}
a.sect__title:hover {background: none; color: var(--accent);}
a.sect__title::before {font-size: 0.8em; color: var(--accent);}

/* Ссылка «Все …» справа от заголовка раздела */
.sect__more {display: inline-flex; align-items: center; gap: 5px; color: var(--tt-fade); font-size: var(--fs-base);
	white-space: nowrap; min-height: 32px;}
.sect__more:hover {color: var(--accent);}
.sect__more::before {font-size: 0.85em;}

.speedbar {color: var(--tt-fade); font-size: var(--fs-sm); padding: 12px 0 4px;}
.speedbar a {color: var(--tt-fade);}
.speedbar a:hover {color: var(--accent);}

.descr {color: var(--tt-fade-0); display: grid; gap: 10px; background-color: var(--bg-darker-1);
	padding: 22px var(--indent); margin: 0 var(--indent-negative);}
.descr :is(h1,h2,h3) {font-size: var(--fs-lg); font-weight: 500; color: var(--tt);}
.descr a {text-decoration: underline; color: var(--accent);}
.descr ul li {position: relative; padding-left: 26px; margin-left: 0;}
.descr ul li::before {content: ''; position: absolute; left: 0; top: 5px; width: 15px; height: 15px;
	background-color: var(--accent); -webkit-mask: var(--i-check) center / contain no-repeat;
	mask: var(--i-check) center / contain no-repeat;}

/* Заголовок H1 главной страницы */
.home-title {font-size: var(--fs-xl); font-weight: 500; font-family: var(--font-display); text-transform: uppercase;
	letter-spacing: 0.4px; color: var(--tt); margin-bottom: 4px;}
.home-subtitle {color: var(--tt-fade); font-size: var(--fs-base); margin-bottom: 24px; max-width: 70ch;}


/* ITEM CAROUSEL, SHORTSTORY — карточка каталога
----------------------------------------------- */
.item {position: relative;}
.item__img {box-shadow: var(--bsh); overflow: hidden; border-radius: var(--bdrs-poster);
	background-color: var(--bg-darker-1);}
/* Затемнение с иконкой play при наведении — на самом постере */
.item__img::before {content: ''; position: absolute; inset: 0; z-index: 4; border-radius: inherit; opacity: 0;
	background-color: rgba(6,8,12,0.55); background-image: var(--i-play-fill);
	background-repeat: no-repeat; background-position: center; background-size: 44px 44px;
	transition: opacity 0.18s ease;}
.item:hover .item__img::before {opacity: 1;}
.item__img img {transition: scale 0.35s ease;}
.item:hover .item__img img {scale: 1.04;}

.item__label {font-size: var(--fs-xs); padding: 4px 8px; border-radius: 4px; font-weight: 500; line-height: 1.2;
	background-color: rgba(8,10,14,0.82); color: #fff; position: absolute; left: 8px; top: 8px; z-index: 3;
	max-width: calc(100% - 16px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	backdrop-filter: blur(2px);}

/* Подпись под постером: название читается полностью, а не обрезается в одну строку */
.item__desc {padding-top: 9px; color: var(--tt); text-align: left;}
.item__title {font-weight: 500; font-size: var(--fs-base); line-height: 1.3; color: var(--tt);
	display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.item:hover .item__title {color: var(--accent);}
.item__year {color: var(--tt-fade); font-size: var(--fs-sm); margin-top: 3px;}
.item__rates {line-height: 1; gap: 10px; margin-top: 6px; font-size: var(--fs-sm); justify-content: flex-start;}
.item__rates-item {color: var(--tt-fade); font-weight: 500;}
.item__rates-item::before {content: attr(data-text); display: inline; margin-right: 4px; text-transform: uppercase;
	font-weight: 700; font-size: var(--fs-xs);}
.item__rates-item.kp::before {color: var(--kp);}
.item__rates-item.imdb::before {color: var(--imdb);}
/* Пустой рейтинг не показываем — не оставляем «KP» без значения */
.item__rates-item:empty {display: none;}
.item__rates:not(:has(.item__rates-item:not(:empty))) {display: none;}
.item__btn-info {cursor: pointer; position: absolute; right: 0; top: 0; z-index: 5;
	border-radius: 0; translate: 0 -100%; opacity: 0;}

/* В тёмной карусели подписи светлые */
.carou .item__title {color: #fff;}
.carou .item__year, .carou .item__rates-item {color: #9aa4b4;}


/* TRAILER, POPUP DESC
----------------------------------------------- */
.trl {background-color: rgba(6,8,12,0.92); position: fixed; z-index: 990; left: 0; top: 0;
	width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto;}
.trl__close {position: absolute; right: 20px; top: 20px; font-size: 28px; color: #fff; width: 44px; height: 44px;}
.trl__inner {width: 100%; max-width: 720px; margin: 0 auto; color: #fff; padding: 80px 20px 20px 20px;}
.trl__btn {height: 44px; padding: 0 40px; margin: 15px 0; width: 100%;}
.trl h1 {margin-bottom: 15px; margin-top: 20px; font-size: var(--fs-xl);}
.trl .page__text, .trl .full-text {color: #c8ceda; margin: 0px; padding: 0; background: none;}
.trl-is-opened {overflow: hidden;}

.th-active {z-index: 100;}
.th-text {display: none; background-color: var(--bg); border: 1px solid var(--bdc); border-left: 3px solid var(--accent);
	cursor: auto; border-radius: var(--bdrs-card);
	padding: 18px; text-align: left; position: absolute; z-index: 1000;
	width: 420px; box-shadow: var(--ui-bsh); min-height: 100px; font-size: var(--fs-sm);}
.pop-left .th-text {border-left: 1px solid var(--bdc); border-right: 3px solid var(--accent);}
.th-text-loader {text-align: center; font-size: var(--fs-lg); color: var(--accent); padding-top: 20px;}
.th-text .not-shown-ajax, .th-text h1 a, .th-text h1 small {display: none;}
.th-text h1 {font-size: var(--fs-md);}
.th-text .full-text {display: -webkit-box; -webkit-line-clamp: 6; line-clamp: 6;
	-webkit-box-orient: vertical; overflow: hidden; margin: 12px 0;}
.th-text .page__btn-trailer {width: 100%; margin-top: 16px;}


/* FOOTER, PAGINATION
----------------------------------------------- */
.footer {padding: 36px var(--indent) 20px; background-color: var(--bg-black);
	color: var(--tt-fade); --tt: #fff; --tt-fade: #98a1b2; --bdc: rgba(255,255,255,0.12);}
.footer__two {border-top: 1px solid var(--bdc); padding-top: 18px; margin-top: 28px;}
.footer__notify {border-left: 1px solid var(--bdc); padding-left: 20px; font-size: var(--fs-sm); line-height: 1.5;}
.footer__copyright {font-size: var(--fs-sm); color: var(--tt-fade);}
.footer__menu {font-size: var(--fs-base); font-weight: 500; text-transform: none; font-family: 'inter', sans-serif;}
.footer__menu a {color: var(--tt-fade);}
.footer__menu a:hover {color: #fff; text-decoration: underline;}
.footer .logo {color: #fff;}

.pagination {gap: 16px 8px; padding-top: 20px;}
.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 12px; border-radius: var(--ui-elem-bdrs);
	background-color: var(--bg); border: 1px solid var(--bdc);}
.pagination__pages {gap: 8px; font-size: var(--fs-base);}
.pagination__pages span:not(.nav_ext) {color: #fff; background: var(--accent); border-color: var(--accent);}
.pagination__pages a:hover {border-color: var(--accent); color: var(--accent); background-color: var(--bg);}
.pagination__btns {height: 40px; border-radius: var(--ui-elem-bdrs); overflow: hidden; background-color: var(--bg);
	border: 1px solid var(--bdc);}
.pagination__btns > * {width: 44px; display: grid; place-items: center; color: var(--accent); font-size: 17px;}
.pagination__btns > span {color: var(--tt-fade);}
.pagination__btn {width: 44px; height: 40px; display: grid; place-items: center; border-radius: var(--ui-elem-bdrs);
	border: 1px solid var(--bdc); background-color: var(--bg); color: var(--tt-fade); font-size: 16px; font-style: normal;}
.pagination__btn-loader:has(span:not(.fal)) {display: none;}
.pagination__btn-loader a {min-width: 320px; height: 44px;}


/* INNER PAGE — страница фильма/сериала
----------------------------------------------- */
.page__bg {box-shadow: var(--bsh-block); background-color: var(--bg); margin: 0 var(--indent-negative);}
.page__cols {display: grid; grid-template-columns: minmax(0,1fr) 300px;}
.page__cols:not(:has(.page__cols-right)) {display: block;}
.page__cols-left {padding: 24px; padding-bottom: 0;}
.page__cols-right {background-color: var(--bg-darker-1); padding: 20px;}
/* Пустой рекламный слот не должен оставлять серую колонку на пол-экрана.
   Как только внутрь .rkl попадёт код рекламы, :empty перестанет срабатывать
   и колонка вернётся сама — рекламное место сохранено. */
.page__cols > .page__cols-right:has(> .rkl:empty) {display: none;}
.page__cols:has(> .page__cols-right > .rkl:empty) {display: block;}
.page__main {display: grid; gap: 20px 26px; grid-template-columns: 230px minmax(0,1fr);
	grid-template-areas: "poster header" "poster info"; grid-template-rows: auto 1fr; margin-bottom: 28px;}
.page__poster {grid-area: poster; align-self: start;}
.page__poster .page__img {border-radius: var(--bdrs-poster); overflow: hidden;
	box-shadow: var(--bsh-block); border: 1px solid var(--bdc);}
.page__header {grid-area: header;}
.page__info {grid-area: info;}

.page__img::after {opacity: 0.35; height: 30%;}

/* Оценка под постером: простой ряд — балл, «нравится», «не нравится».
   Раньше здесь было кольцо с conic-gradient, которое растягивалось в эллипс
   и читалось как непонятная дуга. */
.page__rating-ext {position: relative; z-index: 10; font-size: var(--fs-base); margin-top: 12px;
	gap: 8px; justify-content: flex-start; flex-wrap: wrap;}
.page__score {display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; flex: none;
	border-radius: var(--ui-elem-bdrs); background-color: var(--accent-soft); color: var(--accent);
	font-weight: 700; font-size: var(--fs-md); line-height: 1;}
.page__score .fal {font-size: 15px;}
.page__rating-ext a {display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px;
	font-weight: 500; color: var(--tt-fade); border: 1px solid var(--bdc); border-radius: var(--ui-elem-bdrs);}
.page__rating-ext a .fal {font-size: 15px;}
.page__rating-ext a:hover {color: var(--green); border-color: var(--green);}
.page__rating-ext a + a:hover {color: var(--red); border-color: var(--red);}

.page__header h1 {font-size: var(--fs-2xl); font-weight: 500; line-height: 1.2; letter-spacing: -0.2px;}
.page__header h1 a {font-size: var(--fs-sm); margin-left: 10px;}
.page__text .full-text {color: var(--tt-fade-0); line-height: 1.6;}
.page__text {margin-bottom: 22px;}
.js-hide-text {max-height: 168px; overflow: auto;}
.show-text {position: absolute; z-index: 2; left: 0; bottom: 0px; width: 100%; height: 36px; font-size: var(--fs-sm);
	border: 1px solid var(--bdc); border-radius: var(--ui-elem-bdrs); background-color: var(--bg); color: var(--tt);}
.js-hide-text[style]::before {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 60%;
	background: linear-gradient(to top, var(--bg) 20%, transparent 100%); z-index: 1;}

/* Характеристики: ярлык приглушён, значение контрастное */
.page__list {line-height: 1.45; font-size: var(--fs-base); display: grid; gap: 9px 26px;
	grid-template-columns: repeat(auto-fill,minmax(250px,1fr));}
.page__list li {color: var(--tt);}
.page__list li > span:first-child {font-weight: 400; margin-right: 6px; color: var(--tt-fade);}
.page__list a {color: var(--blue); text-decoration: none; border-bottom: 1px solid transparent;}
.page__list a:hover {border-bottom-color: currentColor;}
.page__list-wide {grid-column: 1 / -1;}
.page__list-rates {grid-row: span 2; gap: 20px;}
.page__list-rates-item {font-size: var(--fs-md); font-weight: 500; padding-left: 28px; line-height: 20px;}
.page__list-rates-item.kp {background: url(../images/kp.svg) 0 center / 20px no-repeat;}
.page__list-rates-item.imdb {background: url(../images/imdb.svg) 0 center / 20px no-repeat;}
.page__list-rates-item.tmdb {background: url(../images/tmdb.svg) 0 center / 20px no-repeat;}
.page__subtitle {border-top: 1px solid var(--bdc); margin: 0 -24px; padding: 16px 24px;
	text-align: left; font-size: var(--fs-md); font-weight: 500; color: var(--tt-fade-0);}

.page__scr ul {display: grid; gap: 16px; grid-template-columns: repeat(4,1fr);
	border-top: 1px solid var(--bdc); margin: 0 -24px; padding: 20px 24px;}
.page__scr a, .page__scr img {display: block; height: auto; width: 100%; border-radius: 6px; aspect-ratio: 300 / 200;}
.page__scr img {object-fit: cover;}
.page__scr ul li:nth-child(4) ~ li {display: none;}

/* Плеер */
.page__player {position: relative; background-color: var(--bg-black); padding: 0;}
.page__player .tabs-block__select {gap: 1px; margin-bottom: 0px;}
.page__player .tabs-block__select button {background: var(--bg-blackest); color: #c8ceda; border-radius: 0;
	text-transform: none; font-weight: 500; height: 46px;}
.page__player .tabs-block__select button.is-active, .page__player .tabs-block__select button:hover
{background: var(--accent); color: #fff;}
.page__complaint a {display: flex; align-items: center; gap: 8px; color: #f4a09f;}
.page__complaint {padding-right: 20px; --tt: #fff; color: #fff; --ui-bg-darker: rgba(255,255,255,0.2);}
.nl .page__player-controls + .tabs-block__content {display: block;}
.page__player .tabs-block__select button.is-active::before {color: rgba(0,0,0,0.8);}
.ya-share2 {min-height: 24px;}
.page__fav a, .page__fav > span {cursor: pointer; display: flex; align-items: center; gap: 8px;
	color: #c8ceda; min-height: 44px;}
.page__fav a:has(.fav-added) .fal {color: var(--yellow);}
.page__player-bottom {padding-left: 20px; background-color: var(--bg-black);}
.page__likes a {display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px;
	background-color: var(--green); color: #fff;}
.page__likes a:last-child {background-color: var(--red);}
.dark-overlay {background: rgba(4,6,9,0.94); position: fixed; width: 100%; height: 100%; z-index: 100; top: 0; left: 0;}
.light-off #scrolltop {visibility: hidden;}
.light-off .page__player {position: relative; z-index: 102;}

/* Сайдбар «Рекомендуем» */
.page__cols:has(.page__player) .page__cols-right {background-color: var(--bg-blackest);
	color: #fff; --tt: #fff; --tt-fade: #98a1b2; --bdc: rgba(255,255,255,0.12);}
.page__fr {position: absolute; inset: 0;}
.page__fr-caption {height: 46px; display: flex; align-items: center; padding: 0 20px;
	font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.6px; font-weight: 500;
	background-color: var(--bg-black); color: #fff; font-family: var(--font-display);}
.page__fr .sect__content {padding: 16px 20px; height: calc(100% - 46px); overflow-x: hidden; overflow-y: auto;
	display: grid; gap: 14px; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); align-content: start;}
.fr.is-active {padding-right: 55px;}
.fr__img {width: 46px; border-radius: 4px; overflow: hidden;}
.fr__title {font-weight: 500; font-size: var(--fs-base);}
.fr__subtitle, .fr__meta {font-size: var(--fs-sm); color: var(--tt-fade);}
.fr__meta::before {color: var(--yellow);}
.fr.is-active:after {content: attr(data-text); font-size: 10px; font-weight: 500; color: var(--tt-fade);
	border-left: 1px solid var(--bdc); width: 35px; padding-left: 10px; padding-right: 0; text-transform: uppercase;
	position: absolute; right: 0; top: 50%; transform: translateY(-50%);}

.page__schedules {padding: 24px; overflow: hidden;}
.page__schedule {border: 1px solid var(--bdc); border-radius: var(--bdrs-card); max-height: 560px; overflow: auto;}
.schedule-item {padding: 8px 20px; gap: 10px 20px; height: 56px;}
.schedule-item + .schedule-item {border-top: 1px solid var(--bdc);}
.schedule-item__number {font-weight: 500; width: 280px;}
.schedule-item__descr {color: var(--tt-fade);}
.schedule-item__descr b {display: block; color: var(--tt); font-size: var(--fs-md);}
.schedule-item__date {color: var(--tt-fade);}
.schedule-item__status {color: var(--green); font-size: var(--fs-xl);}
.schedule-item__status .fa-times {color: var(--red);}

.page__cols:has(.page__comments) {margin: 0 var(--indent-negative);}
.top-users {padding: 20px; margin-bottom: 20px; background-color: var(--bg); border-radius: var(--bdrs-card);}
.top-users__title {font-size: var(--fs-lg); font-weight: 500; margin-bottom: 18px;}
.top-users__content {display: grid; gap: 10px; grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
	counter-reset: n; font-size: var(--fs-sm); font-weight: 500; line-height: 1.2;}
.tuser:not(:last-child) {padding-bottom: 10px; border-bottom: 1px solid var(--bdc);}
.tuser::before {content: counter(n, decimal-leading-zero); counter-increment: n; color: var(--tt-fade);}
.tuser__ava {width: 24px;}
.tuser__rating {height: 22px; font-size: 10px; padding: 0 10px; border-radius: 11px; font-weight: 400;
	border: 1px solid var(--bdc); color: var(--tt-fade); line-height: 1; text-transform: uppercase;}
.tuser__rating::before {color: var(--yellow);}

/* РЕКЛАМА: нейтральные адаптивные обёртки с зарезервированной высотой (защита от CLS).
   Рекламный код, ID и условия показа не меняются. */
.rkl {width: 100%; max-width: 100%; overflow: hidden;}
.rkl--holder {display: grid; place-items: center; font-weight: 500; font-size: var(--fs-xl);
	background: var(--bg-darker); color: var(--tt-fade); height: 500px;}
.page__cols-right .rkl {position: sticky; left: 0; top: 20px; min-height: 250px;}
.ad-slot {display: block; width: 100%; max-width: 100%; overflow: hidden; margin: 20px 0;}
.ad-slot--ibv {min-height: 200px;}
.ad-slot > * {max-width: 100%;}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.page__title {margin-bottom: 26px; font-size: var(--fs-2xl);}
.full-text {line-height: 1.65; font-size: var(--fs-base); 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: 18px;}
.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: 26px; position: relative;}
.full-text > ul li:before {content: ''; width: 6px; height: 6px; border-radius: 50%;
	background-color: var(--accent); position: absolute; top: 9px; left: 6px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num) "."; counter-increment: num; color: var(--accent);
	position: absolute; top: 0; left: 0; font-weight: 500;}
.full-text > ul li + li, .full-text > ol li + li {margin-top: 8px;}
.full-text table, .video-inside > * {width:100%;}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 56.25%; 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: var(--fs-lg); margin-bottom: 14px;
	color: var(--tt); font-weight: 500;}


/* COMMENTS
----------------------------------------------- */
.page__comments {padding-bottom: 10px;}
.page__comments-info {color: var(--tt-fade); display: block; margin: 6px 0 20px; font-size: var(--fs-sm);
	padding-left: 24px; position: relative;}
.page__comments-info::before {color: var(--tt-fade); position: absolute; left: 0; top: 2px;}
.page__ac {margin-bottom: 16px;}
.ac-form {position: relative;}
.ac-form__header, .ac-form__editor, .ac-form .message-info {gap: 10px; margin-bottom: 10px;}
.ac-form__btn {padding: 0 44px;}
.ac-form__bottom {gap: 20px;}
.confidential-check {font-size: var(--fs-base);}
.ac-form__header > span {margin-left: 15px;}
.ac-form .comments_subscribe {margin-top: 0px;}

.ac-toggle.ac-form {cursor: pointer;}
.ac-form__header1 input, .ac-form__editor1 textarea {background-color: var(--ui-bg-inp);}
.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: 180px; resize: none;}
.ac-form__editor .bb-editor textarea {height: 180px; line-height: 1.5; 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: var(--fs-lg); margin-bottom: 18px;}

/* Комментарий: автор / дата / текст / действия визуально разделены */
.comm {margin-bottom: 10px; position: relative; padding: 16px 20px;
	padding-left: 86px; background-color: var(--bg-darker-1); border-radius: var(--bdrs-card);
	border: 1px solid var(--bdc);}
.comm.pos {background-color: rgba(47,158,68,0.10);}
.comm.neg {background-color: rgba(224,49,49,0.10);}
.comm__group {height: 20px; display: flex; align-items: center; border-radius: 10px; font-size: 10px;
	border: 1px solid var(--bdc); padding: 0 10px; text-transform: uppercase;}
.comm__group, .comm__group * {font-weight: 400; color: var(--tt) !important;}
.comm__group.adm, .comm__group.adm * {color: #fff !important; background-color: var(--accent); border-color: var(--accent);}
.comm__img {width: 48px; height: 48px; border-radius: 50%; position: absolute; left: 20px; top: 18px;}
.comm__user-rating {position: absolute; left: 50%; top: 100%; translate: -50% 0; gap: 3px; margin-top: 8px;
	background-color: var(--bg); z-index: 5; white-space: nowrap; padding: 0; width: 48px;}
.comm__letter {width: 100%; height: 100%; text-transform: uppercase; border-radius: inherit;
	position: absolute; left: 0; top: 0; color: #fff; font-size: var(--fs-lg); font-weight: 500;}
.comm__author, .comm__author a {color: var(--tt); font-weight: 500; font-size: var(--fs-base);}
.comm__date {color: var(--tt-fade); font-size: var(--fs-sm);}
.comm__rating a {color: var(--green); font-size: var(--fs-lg); min-width: 30px; min-height: 30px;
	display: inline-flex; align-items: center; justify-content: center;}
.comm__rating a:last-child {color: var(--red);}
.comm__rating span {font-size: var(--fs-base);}
.comm__rating span .ratingplus {color: var(--green);}
.comm__rating span .ratingminus {color: var(--red);}
.comm__text {margin: 10px 0; color: var(--tt-fade-0); line-height: 1.6;}
.comm__action {font-size: var(--fs-sm); --tt: var(--tt-fade); color: var(--tt-fade);}
.comm__action a {min-height: 32px; display: inline-flex; align-items: center; gap: 5px;}
.comm__ctrl-btn {font-size: var(--fs-lg); height: 32px; min-width: 32px; --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: 16px; overflow: hidden; z-index: 999; padding: 20px; padding-top: 24px;
	position: fixed; left: 20px; bottom: 20px; right: 20px; box-shadow: var(--ui-bsh);}
.pwidget::before {content: ''; position: absolute; top: 10px; left: 50%; transform: translateX(-50%);
	background-color: var(--bdc); 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: 460px; max-width: calc(100% - 40px);}
.lgn__content {background-color: var(--bg); box-shadow: var(--ui-bsh); padding: 28px 40px; position: relative;
	border-radius: var(--bdrs-card);}
.lgn__ctrl > * {color: #fff !important; font-size: var(--fs-md); font-weight: 500; height: 44px; position: relative;
	text-transform: none;}
.lgn__ctrl span::before {content: ''; border: 8px solid transparent; border-bottom-color: var(--bg);
	position: absolute; left: 50%; bottom: 0; margin-left: -8px; z-index: 5;}
.lgn__btn-close {font-size: 26px; color: #fff; position: absolute; right: -46px; top: 0; z-index: 10;
	width: 44px; height: 44px;}
.lgn__header {position: relative; padding-left: 72px; margin-bottom: 16px;}
.lgn__avatar {width: 56px; background-color: var(--bg-darker); font-size: var(--fs-xl);
	position: absolute; left: 0; top: 50%; translate: 0 -50%; overflow: hidden; border-radius: 50%;}
.lgn__title {font-size: var(--fs-lg); font-weight: 500;}
.lgn__caption {color: var(--tt-fade); margin-top: 5px; font-size: var(--fs-sm);}
.lgn__input input {height: 46px; line-height: 46px; border-radius: var(--ui-elem-bdrs); padding: 0 16px;}
.lgn__input input::placeholder {font-size: var(--fs-base);}
.lgn__input input + input {margin-top: 8px;}
.lgn__input input:focus {position: relative; z-index: 5;}
.lgn__btn button {height: 46px;}
.lgn__cell a {color: var(--ui-accent);}
.lgn__social-caption {font-size: var(--fs-sm); 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: 36px; height: 36px; 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: 380px;}
.lgn__menu a {display: flex; align-items: center; gap: 10px; min-height: 40px;}
.c-0 span {display: none;}


/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel {width: 100%; position: relative; z-index: 1;}
.owl-stage {position: relative; display:flex; justify-content:flex-start;}
.owl-stage-outer {position: relative; overflow: hidden; transform: translate3d(0px, 0px, 0px);}
.owl-item {position: relative; min-height: 10px;}
.owl-nav.disabled, .owl-dots.disabled, .owl-carousel.owl-refresh .owl-item {display: none;}
.owl-carousel.owl-drag .owl-item {user-select: none;}
.owl-carousel.owl-grab {cursor: move; cursor: grab;}
.owl-nav {position: absolute; right: 0; top: 0; margin-top: -42px; display: flex; gap: 6px;}
.owl-prev, .owl-next {cursor: pointer; width: 34px; height: 34px; display: grid; place-items: center;
	font-size: 17px; background-color: rgba(255,255,255,0.08); color: #fff; box-shadow: none;
	border-radius: var(--ui-elem-bdrs);}
.owl-prev {opacity: 0.7;}
.owl-next {opacity: 1;}


/* CLS FIX — фиксированная ширина слайдов до инициализации карусели
----------------------------------------------- */
.has-carousel:not(.owl-carousel) {display: flex; overflow: hidden; gap: 14px;}
.has-carousel:not(.owl-carousel) > * {flex-shrink: 0;}
.has-carousel:not(.owl-carousel) > .item {width: calc((100% - 84px)/7);}

@media screen and (max-width: 1220px) {
	.has-carousel:not(.owl-carousel) > .item {width: calc((100% - 56px)/5);}
}
@media screen and (max-width: 950px) {
	.has-carousel:not(.owl-carousel) > .item {width: calc((100% - 42px)/4);}
}
@media screen and (max-width: 760px) {
	.has-carousel:not(.owl-carousel) > .item {width: calc((100% - 28px)/3);}
}
@media screen and (max-width: 470px) {
	.has-carousel:not(.owl-carousel) > .item {width: calc((100% - 14px)/2);}
}

/* FILTER
----------------------------------------------- */
.filter-block {background-color: var(--bg); margin: 0 var(--indent-negative); margin-bottom: 20px;
	padding: 20px var(--indent); border-radius: 0;}
.filter {gap: 12px 20px;}
.filter-block__title {font-size: var(--fs-md); font-weight: 500; margin-bottom: 18px;}
.filter__col:not(.filter__col--submit) {flex: 1 0 240px; max-width: 100%; min-width: 240px; display: flex;
	flex-direction: column; gap: 10px;}
.filter__cell select {height: 40px; box-shadow: none; border: 1px solid var(--bdc);
	background-color: var(--ui-bg-inp); color: var(--tt); border-radius: var(--ui-elem-bdrs);}
.filter__cell input[type="text"] {opacity: 0;}
.filter__cell [data-dlefilter="reset"]:not(:hover) {background-color: var(--bg-darker); color: var(--tt-fade);}
.filter__col--ranges {padding: 0 20px;}
.filter-block--full .filter__col--submit {width: 100%;}
.filter-block--full {background: none; box-shadow: none; padding: 0; margin: 0;}

.filter__bin {display: grid; gap: 10px;}
.filter__bin--full {display: grid; gap: 10px; width: 100%;}

.tail-select, .tail-select * {outline: none; user-select: none;}
.tail-select {position: relative;}
.tail-select-container, .select-label {border: 1px solid var(--bdc); background-color: var(--ui-bg-inp);
	padding: 5px 5px; min-height: 40px; position: relative; cursor: pointer; color: var(--tt);
	display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding-right: 40px;
	border-radius: var(--ui-elem-bdrs);}
.tail-select .label-inner {margin-left: 5px; font-size: var(--fs-base);}
.tail-select-container .select-handle {display: flex; align-items: center; height: 28px; padding: 0 8px;
	border-radius: 3px; background-color: var(--accent); color: #fff; cursor: pointer; font-size: var(--fs-sm);}
/* стрелки селекта — SVG вместо иконочного шрифта */
.tail-select .select-label::after {position: absolute; top: 50%; right: 12px; content: ''; width: 14px; height: 14px;
	margin-top: -7px; opacity: 0.6; background-color: currentColor;
	-webkit-mask: var(--i-chevron-down) center / contain no-repeat; mask: var(--i-chevron-down) center / contain no-repeat;}

.tail-select .select-dropdown {top: 100%; left: 0; width: 100%; z-index: 100; display: none; position: absolute;
	background-color: var(--bg); border: 1px solid var(--bdc); box-shadow: var(--ui-bsh); border-radius: var(--ui-elem-bdrs);}
.tail-select .select-dropdown .dropdown-inner {padding: 1px 0; overflow-x: hidden; overflow-y: auto; max-height: 300px;}
.tail-select .dropdown-optgroup {padding: 15px;}
.tail-select .select-dropdown .dropdown-empty {padding: 20px; font-size: var(--fs-base); text-align: center;}
.tail-select .select-dropdown ul li + li {margin-top: 10px;}
.tail-select .select-dropdown ul li {display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: var(--fs-base);}
.tail-select .select-dropdown ul li.dropdown-option::before {content: ""; background-color: var(--bg-darker);
	width: 18px; height: 18px; border-radius: 3px; border: 1px solid var(--bdc);
	display: flex; justify-content: center; flex-shrink: 0; box-sizing: border-box;}
.tail-select .select-dropdown ul li.dropdown-option.selected {color: var(--accent);}
.tail-select .select-dropdown ul li.dropdown-option.selected::before
{background-color: var(--accent); border-color: var(--accent); box-shadow: none;
	-webkit-mask: none; mask: none;
	background-image: var(--i-check-white); background-repeat: no-repeat; background-position: center;
	background-size: 12px 12px;}
.tail-select .select-dropdown ul li:hover {color: var(--blue);}
.tail-select-container:hover, .select-label:hover {border-color: var(--accent);}
.tail-select-container .select-handle:hover {background-color: var(--red);}

.irs {position: relative; display: block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none;
	-moz-user-select: none; -ms-user-select: none; user-select: none;}
.irs-line {position: relative; display: block; overflow: hidden; outline: none !important;}
.irs-line-left, .irs-line-mid, .irs-line-right {position: absolute; display: block; top: 0;}
.irs-line-left {left: 0; width: 11%;}
.irs-line-mid {left: 9%; width: 82%;}
.irs-line-right {right: 0; width: 11%;}
.irs-bar {position: absolute; display: block; left: 0; width: 0;}
.irs-bar-edge {position: absolute; display: block; top: 0; left: 0;}
.irs-shadow {position: absolute; display: none; left: 0; width: 0;}
.irs-handle {position: absolute; display: block; cursor: default; z-index: 1;}
.irs-handle.type_last {z-index: 2;}
.irs-min {position: absolute; display: block; left: 0; cursor: default;}
.irs-max {position: absolute; display: block; right: 0; cursor: default;}
.irs-from, .irs-to, .irs-single {position: absolute; display: block; top: 0; left: 0; cursor: default; white-space: nowrap;}
.irs-grid {position: absolute; display: none; bottom: 0; left: 0; width: 100%; height: 20px;}
.irs-with-grid .irs-grid {display: block;}
.irs-grid-pol {position: absolute; top: 0; left: 0; width: 1px; height: 8px; background: var(--tt-fade);}
.irs-grid-pol.small {height: 4px;}
.irs-grid-text {position: absolute; bottom: 0; left: 0; white-space: nowrap; text-align: center;
	font-size: 9px; line-height: 9px; padding: 0 3px; color: var(--tt-fade);}
.irs-disable-mask {position: absolute; display: block; top: 0; left: -1%; width: 102%; height: 100%;
	cursor: default; background: rgba(0,0,0,0.0); z-index: 2;}
.irs-disabled {opacity: 0.4;}
.irs-hidden-input {position: absolute !important; display: block !important; top: 0 !important; left: 0 !important;
	width: 0 !important; height: 0 !important; font-size: 0 !important; line-height: 0 !important; padding: 0 !important;
	margin: 0 !important; outline: none !important; z-index: -9999 !important; background: none !important;
	border-style: solid !important; border-color: transparent !important;}

.irs {height: 40px;}
.irs-line {height: 6px; top: 25px; background-color: var(--bg-darker); border-radius: 3px;}
.irs-bar {height: 6px; top: 25px; background-color: var(--accent); border-radius: 3px;}
.irs-bar-edge {top: 25px; height: 8px; width: 11px; background-color: var(--bg-darker);}
.irs-handle {width: 20px; height: 20px; top: 18px; background-color: var(--bg); border-radius: 10px;
	border: 4px solid var(--accent); box-shadow: var(--bsh-block); cursor: pointer;}
.irs-from, .irs-to, .irs-single {font-size: 10px; margin-top: -5px; border: 1px solid var(--bdc);
	padding: 0 5px; height: 22px; display: flex; align-items: center;
	background: var(--bg); color: var(--tt); border-radius: 3px;}
