/* BASIC LAYOUT
----------------------------------------------- */
body {position: relative;}
.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);}
.header {padding: 0 var(--indent); position: sticky; z-index: 100; left: 0; top: 0;
	background-color: var(--bg); box-shadow: var(--bsh-block);}
.header-is-sticky .header {translate: 0 -200%;}
.carou {background-color: var(--bg-blackest); margin: 0 var(--indent-negative); padding: 20px var(--indent);}
.content > .carou {margin-top: -20px; margin-bottom: 20px;}
.carou--lastviewed {margin-top: 0 !important; margin-bottom: 0 !important;}
.content {padding: 20px var(--indent); min-height: 100vh;}
.footer {padding: 40px var(--indent); padding-bottom: 20px; background-color: var(--bg-black); 
	color: var(--tt-fade); --tt: #fff; --tt-fade: #ccc; --bdc: rgba(255,255,255,0.2);}
.footer__two {border-top: 1px solid var(--bdc); padding-top: 20px; margin-top: 40px;}
.content:has(.descr), .content:has(.page__related), .content:has(.carou--lastviewed) {padding-bottom: 0;}
.wrapper::before, .wrapper::after {position: absolute; left: 0; top: 0; right: 0; height: 500px; 
	background: url(../images/bg.jpg) center center / 1400px auto no-repeat; content: ''; filter: grayscale(0.66);
	--left: calc((100vw - 1340px)/2); --right: calc((100vw - 1340px)/2 + 1300px);
	mask-image: linear-gradient(to right, transparent 0%, transparent var(--left), #000 calc(var(--left) + 160px), 
	#000 calc(var(--right) - 160px), transparent var(--right), transparent 100%);}
.wrapper::after {background: linear-gradient(to top, #111 0%, transparent 300px); z-index: 1; mask-image: none;}


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


/* HEADER, TOPMENU, CAROU
----------------------------------------------- */
/* HEADER LOGO: красные толстые буквы + нормальный пробел */
:root{
	--brand-red: black;   /* основной красный */
	--brand-red2: #b90f1b;  /* для span */
}

/* Лого в шапке: используем твою систему --tt, просто задаём его красным */
.header__logo{
	--tt: var(--brand-red);
}

/* ВАЖНО: у тебя было .lt .header__logo {--tt:#000;} — перебиваем */
.lt .header__logo{
	--tt: var(--brand-red);
}

/* Само лого */
.logo {
	display: flex;
	align-items: center;

	/* толстые буквы */
	font-family: 'Oswald', sans-serif; /* уже есть в шаблоне */
	font-weight: 700;                  /* Oswald-700 у тебя подключён */
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-size: 26px;
	height: 40px;

	/* цвет берётся из --tt (мы выше сделали его красным) */
	color: var(--tt);

	padding-left: 50px;
	position: relative;
}

/* Иконка слева (оставляем), можно заменить на PNG при желании */
.logo::before {
	content: '';
	width: 40px;
	height: 40px;
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;

	background: url(../images/logo.svg) 0 center / contain no-repeat;
	/* если хочешь именно PNG: поменяй на:
	   background: url(../images/kubik_k3_icon_512.png) 0 center / contain no-repeat;
	*/
}

/* Вторая часть (span) — чуть темнее/жирнее */
.logo span{
	color: var(--brand-red2);
	font-weight: 700;
	margin-left: 8px; /* <-- гарантирует пробел визуально */
}

/* Если у тебя в HTML СОВСЕМ нет пробела (Кубик в<span>Кубе</span>),
   и ты не хочешь менять main.tpl — включи это:
*/
/*
.logo span::before{
	content: "\\00a0";  // неразрывный пробел
}
*/

.logo:has(img) {background: none; min-width: 200px;}
.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(--yellow);}
.dt .header__theme-select::before {content:"\f755";}
.header__btn-login {height: 34px; padding: 0 20px;}
.header__btns {padding-left: 30px;}
.header__btn1 {height: 30px; font-size: 12px;}
.header__ava {width: 40px; cursor: pointer;}
.header__btn1 span {position: absolute; right: -5px; top: -10px; padding: 2px 3px; font-size: 10px; border-radius: 2px; 
	background-color: var(--accent); color: #fff; display: inline-block; 
	text-align: center; min-width: 20px; line-height: 1;}

.header__menu {margin: 0 30px;}
.header__menu li {position: relative;}
.header__menu > li > a {display: flex; align-items: center; height: 70px; text-transform: uppercase;
	font-size: 16px; font-weight: 700; font-family: 'Oswald', sans-serif; color: #e11d2e;}
.header__menu-hidden {background-color: var(--bg); border-top: 3px solid #e11d2e; box-shadow: 0 10px 20px rgba(0,0,0,0.1); 
	position: absolute; left: 0; top: 99%; width: 240px; z-index: 10; padding: 20px 26px; display: grid; gap: 6px 26px; 
	opacity: 0; visibility: hidden; translate: 0 30px;}
div.header__menu-hidden {grid-template-columns: repeat(3,1fr); width: 660px;}
.header__menu-hidden-col {display: grid; gap: 6px;}
.header__menu-hidden li:not(:has(a)) {font-weight: 500;}
.header__menu-hidden a {opacity: 0.8;}
.header .header__menu li:has(.header__menu-hidden)::before {content: ''; position: absolute; left: 50%; bottom: 0%; 
	border: 6px solid transparent; border-bottom-color: #e11d2e; margin-left: -6px;}

.search-block {position: relative;}
.search-block__input, .search-block__input:focus {padding: 0 40px 0 10px; border: 0; box-shadow: none; 
	height: 34px; line-height: 34px; box-shadow: inset 0 0 0 1px #e3e3e3, inset 1px 2px 5px rgba(0,0,0,0.2);}
.search-block__input:not(:focus)::placeholder {color: var(--tt); opacity: 0.66; font-size: 12px;}
.search-block__btn {position: absolute; right: 0; top: 0; height: 34px; font-size: 16px; width: 40px; color: #e11d2e;}


/* SECTION
----------------------------------------------- */
.sect:not(:last-child) {margin-bottom: 20px;}
.sect__header {margin-bottom: 20px;}
.sect__title {font-size: 18px; font-weight: 500; text-transform: none;}
.sect__title :is(h1,h2,h3) {font-size: inherit;}
.sect__header:has(.sect__tabs) {margin-bottom: 10px;}
.sect__tabs button {background: none; color: var(--tt); text-transform: none; font-weight: 400;}
.sect__tabs button.is-active {background-color: var(--bg); color: var(--tt);}
.carou__caption {color: #fff; font-size: 18px; font-weight: 500; margin-bottom: 20px;}
.carou--lastviewed:not(:has(.item)) {display: none;}

.speedbar {color: var(--tt-fade); font-size: 12px; padding: 10px 0; margin-top: -20px;}
.speedbar a {color: var(--tt);}

.descr {color: var(--tt-fade-0); display: grid; gap: 10px; background-color: var(--bg-darker-1); 
	padding: 20px var(--indent); margin: 0 var(--indent-negative);}
.descr :is(h1,h2,h3) {font-size: 18px; font-weight: 500; color: var(--tt);}
.descr a {text-decoration: underline; color: var(--accent);}
.descr ul li {position: relative; padding-left: 25px; margin-left: 25px;}
.descr ul li::before {content:"\f00c"; color: #e11d2e; position: absolute; left: 0; top: 0;}


/* ITEM CAROUSEL, SHORTSTORY
----------------------------------------------- */
.item__img {box-shadow: var(--bsh); overflow: hidden;}
.item__label {font-size: 12px; padding: 3px 12px; border-radius: 3px; font-weight: 500;
	    background-color: #e11d2e; color: #fff; position: absolute; left: 10px; top: 10px; z-index: 1;}
.item__desc {position: absolute; inset: 0; z-index: 3; color: #fff; 
	--tt: #fff; --bdc: rgba(255,255,255,0.3); text-align: center; padding: 10px;}
.item__title {font-weight: 500; font-size: 15px; margin-bottom: 5px;}
.item__year {opacity: 0.8; font-size: 12px;}
.item__rates {line-height: 1; border-top: 1px solid var(--bdc); padding-top: 10px; margin-top: 10px;}
.item__rates-item::before {content: attr(data-text); display: inline; margin-right: 5px; text-transform: uppercase; font-weight: 500;}
.item__rates-item.kp::before {color: #f60;}
.item__rates-item.imdb::before {color: #fc0;}
.item__btn-info {cursor: pointer; position: absolute; right: 0; top: 0; z-index: 5; 
	border-radius: 0; translate: 0 -100%; opacity: 0;}
.item__rates:not(:has(.item__rates-item:nth-child(2))) {justify-content: center;}


/* TRAILER, POPUP DESC
----------------------------------------------- */
.trl {background-color: rgba(0,0,0,0.9); position: fixed; z-index: 990; left: 0; top: 0; 
	width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; backdrop-filter: blur(10px);}
.trl__close {position: absolute; right: 20px; top: 20px; font-size: 40px; color: #fff;}
.trl__inner {width: 100%; max-width: 700px; margin: 0 auto; color: #fff; padding: 80px 20px 20px 20px;}
.trl__btn {height: 40px; padding: 0 40px; margin: 15px 0; width: 100%;}
.trl h1 {margin-bottom: 15px; margin-top: 20px; font-size: 24px;}
.trl .page__text, .trl .full-text {color: #ccc; 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-left: 3px solid #e11d2e; cursor: auto; 
	padding: 20px; text-align: left; position: absolute; z-index: 1000; 
	width: 460px; box-shadow: var(--bsh-long); min-height: 100px; font-size: 12px;}
.pop-left .th-text {border-left: 0; border-right: 3px solid var(--accent);}
.th-text-loader {text-align: center; font-size: 18px; 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: 18px;}
.th-text .full-text {display: -webkit-box; -webkit-line-clamp: 6; line-clamp: 6; 
	-webkit-box-orient: vertical; overflow: hidden; margin: 15px 0;}
.th-text .page__btn-trailer {width: 100%; margin-top: 20px;}


/* FOOTER, PAGINATION
----------------------------------------------- */
.footer__notify {border-left: 1px solid var(--bdc); padding-left: 20px;}
.footer__copyright {font-size: 14px;}
.footer__menu {font-size: 16px; font-weight: 700; text-transform: uppercase; font-family: 'Oswald', sans-serif;;}

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


/* 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) 280px;}
.page__cols:not(:has(.page__cols-right)) {display: block;}
.page__cols-left {padding: 20px; padding-bottom: 0;}
.page__cols-right {background-color: var(--bg-darker-1); padding: 20px;}
.page__main {display: grid; gap: 15px 20px; grid-template-columns: 350px minmax(0,3fr); 
	grid-template-areas: "poster header" "poster info"; grid-template-rows: auto 1fr; margin-bottom: 25px;}
.page__poster {grid-area: poster; border-radius: 6px; overflow: hidden; align-self: start;
	box-shadow:0 0 0 1px #ccc,2px 3px 3px 0 rgba(0,0,0,0.1);}
.page__header {grid-area: header;}
.page__info {grid-area: info;}

.page__img::after {opacity: 0.5; height: 33%;}
.page__rating-ext {position: relative; z-index: 10; font-size: 12px;}
.page__rating-ext a {display: flex; align-items: center; padding: 0 10px; font-weight: 500; gap: 10px; height: 40px;}
.page__rating-ext a .fal {display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; 
	font-size: 16px; color: #fff; background-color: var(--green);}
.page__rating-ext a + a .fal {background-color: var(--red);}
.page__ratingscore-ring {width: 50px; font-weight: 500; font-size: 16px; 
	background-color: var(--bg); color: var(--tt); box-shadow: var(--bsh); 
	position: absolute; left: 50%; top: 0; translate: -50% -50%; isolation: isolate;}
.page__ratingscore-ring::before {content: ''; position: absolute; z-index: -2; inset: 0; border-radius: 50%; 
	background: conic-gradient(from 0deg, #FDC830 0%, #F37335 var(--p), var(--bg-darker-1)  var(--p));}
.page__ratingscore-ring::after {content: ''; position: absolute; z-index: -1; 
	background-color: var(--bg); inset: 3px; border-radius: 50%;}

.page__header h1 {font-size: 20px; font-weight: 500;}
.page__header h1 a {font-size: 12px; margin-left: 10px;}
.page__text .full-text {color: #888; line-height: 1.4;}
.page__text {margin-bottom: 20px;}
.js-hide-text {max-height: 160px; overflow: auto;}
.show-text {position: absolute; z-index: 2; left: 0; bottom: 0px; width: 100%; height: 34px; font-size: 12px;
	box-shadow:0 0 0 1px #ccc,2px 3px 3px 0 rgba(0,0,0,0.1); 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.3; font-size: 13px; display: grid; gap: 5px 20px; 
	grid-template-columns: repeat(auto-fill,minmax(260px,1fr));}
.page__list li > span:first-child {font-weight: 700; margin-right: 5px;}
.page__list a {color: var(--blue); text-decoration: underline;}
.page__list-wide {grid-column: 1 / -1;}
.page__list-rates {grid-row: span 2;}
.page__list-rates-item {font-size: 15px; padding-left: 30px; 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 -20px; padding: 15px 20px; 
	text-align: center; font-size: 18px; font-weight: 500;}

.page__scr ul {display: grid; gap: 20px; grid-template-columns: repeat(4,1fr);  
	border-top: 1px solid var(--bdc); margin: 0 -20px; padding: 20px 20px;}
.page__scr a, .page__scr img {display: block; height: auto; width: 100%; border-radius: 0px; 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: #fff; border-radius: 0;}
.page__player .tabs-block__select button.is-active, .page__player .tabs-block__select button:hover {background: #e11d2e; color: #fff;}
.page__complaint a {display: flex; align-items: center; gap: 10px; color: var(--red); --red: #f37e7c;}
.page__complaint {padding-right: 20px; --tt: #fff; color: #fff; --ui-bg-darker: rgba(255,255,255,0.3);}
.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: 10px; 
	color: var(--tt-fade); --tt-fade: #ccc;}
.page__fav a:has(.fav-added) .fal {color: var(--yellow);}
.page__player-bottom {padding-left: 20px;}
.page__likes a {display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 20px;
	background-color: var(--green); color: #fff;}
.page__likes a:last-child {background-color: var(--red);}
.dark-overlay {background: rgba(0,0,0,0.9); 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: #ccc;--bdc: rgba(255,255,255,0.2);}
.page__fr {position: absolute; inset: 0;}
.page__fr-caption {height: 40px; display: flex; align-items: center; padding: 0 20px; 
	font-size: 14px; text-transform: uppercase; background-color: #000;}
.page__fr .sect__content {padding: 20px; height: calc(100% - 40px); overflow-x: hidden; overflow-y: auto; 
	display: grid; gap: 20px; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); align-content: start;}
.fr.is-active {padding-right: 55px;}
.fr__img {width: 50px;}
.fr__title {font-weight: 500;}
.fr__subtitle, .fr__meta {font-size: 12px; 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: 20px;}
.page__schedule {border: 1px solid var(--bdc);}
.schedule-item {padding: 6px 20px; gap: 10px 20px;}
.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: 15px;}
.schedule-item__date {color: var(--tt-fade);}
.schedule-item__status {color: var(--green); font-size: 24px;}
.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);}
.top-users__title {font-size: 18px; font-weight: 500; margin-bottom: 20px;}
.top-users__content {display: grid; gap: 10px; grid-template-columns: repeat(auto-fill,minmax(200px,1fr)); 
	counter-reset: n; font-size: 12px; font-weight: 500; line-height: 1.1;}
.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: 20px; font-size: 10px; padding: 0 10px; border-radius: 10px; font-weight: 400;
	border: 1px solid var(--bdc); color: var(--tt-fade); line-height: 1; text-transform: uppercase;}
.tuser__rating::before {color: var(--yellow);}
.rkl--holder {display: grid; place-items: center; font-weight: 500; font-size: 24px;
	background: var(--bg-darker); color: rgba(0,0,0,0.2); height: 500px;}
.page__cols-right .rkl {position: sticky; left: 0; top: 20px;}

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


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

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

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

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

.comm {margin-bottom: 10px; position: relative; padding: 15px 20px; 
	padding-left: 90px; background-color: var(--bg-darker-1); border-radius: 6px;}
.comm.pos {background-color: rgba(59, 179, 59, 0.1);}
.comm.neg {background-color: rgba(235, 77, 75,0.1);}
.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: 50px; height: 50px; border-radius: 50%; position: absolute; left: 20px; top: 20px;}
.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: 18px; font-weight: 500;}
.comm__author, .comm__author a {color: var(--accent); font-weight: 500; font-size: 14px;}
.comm__date {color: var(--tt-fade); font-size: 12px;}
.comm__rating a {color: var(--green); font-size: 18px;}
.comm__rating a:last-child {color: var(--red);}
.comm__rating span {font-size: 14px;}
.comm__rating span .ratingplus {color: var(--green);}
.comm__rating span .ratingminus {color: var(--red);}
.comm__text {margin: 8px 0;}
.comm__action {font-size: 12px; --tt: var(--tt-fade); color: var(--tt-fade);}
.comm__ctrl-btn {font-size: 18px; height: 30px; --tt: var(--tt-fade);}
.comm__ctrl-menu li + li {margin-top: 10px;}
body:has(.pwidget) #dropmenudiv {z-index: 1000 !important;}


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


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


/* CLS FIX
----------------------------------------------- */
.has-carousel:not(.owl-carousel) {display: flex; overflow: hidden; gap: 20px;}
.has-carousel:not(.owl-carousel) > * {flex-shrink: 0;}
.has-carousel:not(.owl-carousel) > .item {width: calc((100% - 100px)/6);}

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

.filter-block {background-color: var(--bg); margin: 0 var(--indent-negative); margin-bottom: 20px; padding: 20px var(--indent);}
.filter {gap: 10px 20px;}
.filter-block__title {font-size: 16px; font-weight: 500; margin-bottom: 20px;}
.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 rgba(0,0,0,0.15);
	background-color: var(--bg); color: var(--tt);}
.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;}

.tail-select, .tail-select * {outline: none; user-select: none;}
.tail-select {position: relative;}
.tail-select-container, .select-label {border: 1px solid rgba(0,0,0,0.15); background-color: var(--bg); 
	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: 3px;}
.tail-select .label-inner {margin-left: 5px; font-size: 14px;}
.tail-select-container .select-handle {display: flex; align-items: center; height: 28px; padding: 0 8px; border-radius: 2px; 
	background-color: var(--accent); color: #fff; cursor: pointer; font-size: 12px; text-transform: uppercase;}
.tail-select .select-label::before, .tail-select .select-label::after {position: absolute; top: 50%; right: 10px;
	content:"\f0d8"; color: var(--tt); margin-top: -15px; opacity: 0.5;}
.tail-select .select-label::after {margin-top: -5px; transform: rotate(180deg);}

.tail-select .select-dropdown {top: 100%; left: 0; width: 100%; z-index: 100; display: none; position: absolute;
    background-color: var(--bg); border: 1px solid rgba(0,0,0,0.15); box-shadow: var(--bsh); border-radius: 3px;}
.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: 14px; 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: 14px;}
.tail-select .select-dropdown ul li.dropdown-option::before {content: ""; background-color: var(--bg-darker);
    width: 18px; height: 18px; border-radius: 1px; box-shadow: inset 0 1px 2px rgba(0,0,0,0.2); 
	display: flex; justify-content: center; font-size: 14px; color: #000; flex-shrink: 0; 
	box-sizing: border-box; padding-bottom: 3px;}
.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); color: #fff; content:"\f00c"; box-shadow: none;}
.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: #ec2828;}
.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: #ec2828;}
.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;}
.lt-ie9 .irs-disabled {filter: alpha(opacity=40);}
.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); border-radius: 3px; 
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.2);}
.irs-bar {height: 6px; top: 25px; background-color:var(--blue); border-radius:3px;}
.irs-bar-edge {top: 25px; height: 8px; width: 11px; background-color:var(--bg);}
.irs-handle {width: 20px; height: 20px; top: 18px; background-color:var(--bg); border-radius:10px; 
	border: 4px solid var(--blue); box-shadow: 0 1px 3px rgba(0,0,0,0.3); 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;}
	/* --- LOGO: не переносить на 2 строки --- */
.header__logo.logo{
  white-space: nowrap;
  line-height: 1;
}

/* Мобилка: уменьшаем лого, чтобы влезало рядом с кнопками */
@media (max-width: 520px){
  .header__logo.logo{
    font-size: 18px;        /* было 26 */
    letter-spacing: 0.4px;  /* было 0.8 */
    padding-left: 44px;     /* было 50 */
  }
  .header__logo.logo::before{
    width: 32px;
    height: 32px;
  }
  .header__logo.logo span{
    margin-left: 6px; /* пробел */
  }
}

@media (max-width: 380px){
  .header__logo.logo{
    font-size: 16px;
    letter-spacing: 0.2px;
  }
}


/* =========================================================
   EPISODES / SEASONS
   АВТОПОДСТРОЙКА ПОД ТЕМУ САЙТА
========================================================= */

.page__episodes {
	margin-top: 24px;
	padding: 22px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00)),
		var(--bg-darker);
	border: 1px solid var(--bdc);
	border-radius: 18px;
	box-shadow: var(--bsh-block);
	color: var(--tt);
	position: relative;
	overflow: hidden;
}

/* лёгкий акцент темы сверху */
.page__episodes::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg,
		transparent 0%,
		var(--accent) 18%,
		transparent 40%,
		transparent 60%,
		var(--accent) 82%,
		transparent 100%);
	opacity: .45;
	pointer-events: none;
}

.page__episodes-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
	position: relative;
	z-index: 2;
}

.page__episodes .sect__title {
	color: var(--tt);
	font-size: 18px;
	font-weight: 700;
}

.page__episodes-meta {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--tt-fade);
}

.page__episodes-random {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.page__episodes-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 15px;
	border-radius: 12px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.00)),
		var(--bg);
	border: 1px solid var(--bdc);
	color: var(--tt);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	transition: all .22s ease;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.page__episodes-btn:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(0,0,0,.16);
}

.page__episodes-sections {
	display: flex;
	flex-direction: column;
	gap: 18px;
	position: relative;
	z-index: 2;
}

/* =========================
   SEASON ACCORDION
========================= */

.eps-season-block {
	background:
		linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0)),
		var(--bg);
	border: 1px solid var(--bdc);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.eps-season-acc {
	display: block;
}

.eps-season-acc > summary {
	list-style: none;
}

.eps-season-acc > summary::-webkit-details-marker {
	display: none;
}

.eps-season-block__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 18px 16px;
	cursor: pointer;
	user-select: none;
	transition: background .22s ease, border-color .22s ease;
	position: relative;
}

.eps-season-block__head:hover {
	background: rgba(255,255,255,.02);
}

.eps-season-block__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	line-height: 1.15;
	font-weight: 800;
	color: var(--tt);
}

/* тонкая акцентная полоска у открытого сезона */
.eps-season-acc[open] .eps-season-block__head::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--accent);
	opacity: .9;
}

.eps-season-block__active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.eps-season-block__count {
	font-size: 13px;
	line-height: 1.4;
	color: var(--tt-fade);
	white-space: nowrap;
}

.eps-season-acc[open] .eps-season-block__head {
	border-bottom: 1px solid var(--bdc);
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 35%),
		rgba(255,255,255,.01);
}

/* fallback если color-mix где-то не нравится */
@supports not (background: color-mix(in srgb, red 50%, transparent)) {
	.eps-season-acc[open] .eps-season-block__head {
		background: rgba(255,255,255,.02);
	}
}

/* =========================
   EPISODES GRID
========================= */

.page__episodes-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
	padding: 18px;
}

/* =========================
   EPISODE CARD
========================= */

.eps-ep {
	position: relative;
	display: block;
	text-decoration: none;
	color: var(--tt);
}

.eps-ep:hover {
	color: var(--tt);
}

.eps-ep__poster {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 18px;
	background-color: var(--bg-darker-1);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow:
		0 10px 25px rgba(0,0,0,.18),
		inset 0 0 0 1px rgba(255,255,255,.03);
	overflow: hidden;
	transition:
		transform .24s ease,
		box-shadow .24s ease,
		filter .24s ease;
}

/* лёгкое затемнение */
.eps-ep__poster::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.24) 100%);
	z-index: 1;
	transition: opacity .24s ease, background .24s ease;
}

/* круг под play */
.eps-ep__poster::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 64px;
	height: 64px;
	transform: translate(-50%, -50%) scale(.82);
	border-radius: 50%;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,0) 55%),
		linear-gradient(180deg, var(--accent), var(--red));
	box-shadow:
		0 14px 30px rgba(0,0,0,.24),
		inset 0 1px 0 rgba(255,255,255,.20);
	opacity: 0;
	transition:
		opacity .24s ease,
		transform .24s ease,
		box-shadow .24s ease;
	z-index: 2;
}

/* треугольник play */
.eps-ep::before {
	content: "";
	position: absolute;
	left: 50%;
	top: calc((100% - 34px) * 0.245);
	transform: translate(-42%, -50%) scale(.82);
	width: 0;
	height: 0;
	border-top: 11px solid transparent;
	border-bottom: 11px solid transparent;
	border-left: 18px solid #fff;
	opacity: 0;
	z-index: 4;
	pointer-events: none;
	transition: opacity .24s ease, transform .24s ease;
	filter: drop-shadow(0 1px 1px rgba(0,0,0,.22));
}

/* hover карточки */
.eps-ep:hover .eps-ep__poster {
	transform: translateY(-4px);
	filter: saturate(1.05);
	box-shadow:
		0 18px 34px rgba(0,0,0,.28),
		0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent),
		inset 0 0 0 1px rgba(255,255,255,.05);
}

@supports not (box-shadow: 0 0 0 1px color-mix(in srgb, red 50%, transparent)) {
	.eps-ep:hover .eps-ep__poster {
		box-shadow:
			0 18px 34px rgba(0,0,0,.28),
			0 0 0 1px rgba(225,29,46,.22),
			inset 0 0 0 1px rgba(255,255,255,.05);
	}
}

.eps-ep:hover .eps-ep__poster::before {
	background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.34) 100%);
}

.eps-ep:hover .eps-ep__poster::after {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.eps-ep:hover::before {
	opacity: 1;
	transform: translate(-42%, -50%) scale(1);
}

.eps-ep__body {
	padding: 10px 2px 0;
}

.eps-ep__title {
	font-size: 15px;
	line-height: 1.28;
	font-weight: 800;
	color: var(--tt);
	word-break: break-word;
	transition: color .2s ease, transform .2s ease;
}

.eps-ep__num {
	color: var(--accent);
	margin-right: 4px;
}

.eps-ep:hover .eps-ep__title {
	color: var(--tt);
	transform: translateY(-1px);
}

/* =========================
   MOBILE
========================= */

@media (max-width: 1024px) {
	.page__episodes-list {
		grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	}
}

@media (max-width: 760px) {
	.page__episodes {
		padding: 16px;
		border-radius: 16px;
	}

	.page__episodes-head {
		margin-bottom: 16px;
	}

	.page__episodes-btn {
		height: 38px;
		padding: 0 13px;
		font-size: 13px;
	}

	.eps-season-block__head {
		padding: 15px 15px 14px;
	}

	.eps-season-block__title {
		font-size: 17px;
	}

	.page__episodes-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		padding: 14px;
	}

	.eps-ep__poster {
		border-radius: 14px;
	}

	.eps-ep__poster::after {
		width: 56px;
		height: 56px;
	}

	.eps-ep::before {
		border-top-width: 10px;
		border-bottom-width: 10px;
		border-left-width: 16px;
	}

	.eps-ep__title {
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.page__episodes-list {
		grid-template-columns: 1fr;
	}

	.eps-season-block__count {
		font-size: 12px;
	}
}
/* =========================================
   FIX: красный цвет + нормальный play
   вставить НИЖЕ текущего CSS блока серий
========================================= */

.page__episodes {
	--episodes-accent: #e11d2e;
	--episodes-accent-dark: #b90f1b;
}

/* красный вместо зелёного */
.page__episodes::before {
	background: linear-gradient(90deg,
		transparent 0%,
		var(--episodes-accent) 18%,
		transparent 40%,
		transparent 60%,
		var(--episodes-accent) 82%,
		transparent 100%);
}

.page__episodes-btn:hover {
	background: var(--episodes-accent);
	border-color: var(--episodes-accent);
	color: #fff;
}

.eps-season-acc[open] .eps-season-block__head::before {
	background: var(--episodes-accent);
}

.eps-season-block__active {
	background: var(--episodes-accent);
	color: #fff;
}

.eps-ep__num {
	color: var(--episodes-accent);
}

/* если открыт сезон — лёгкая красная подложка */
.eps-season-acc[open] .eps-season-block__head {
	background:
		linear-gradient(90deg, rgba(225,29,46,.10) 0%, rgba(225,29,46,0) 35%),
		rgba(255,255,255,.01);
}

/* hover-рамка постера красная */
.eps-ep:hover .eps-ep__poster {
	box-shadow:
		0 18px 34px rgba(0,0,0,.28),
		0 0 0 1px rgba(225,29,46,.28),
		inset 0 0 0 1px rgba(255,255,255,.05);
}

/* =========================
   FIX PLAY ICON
========================= */

/* старый треугольник отключаем */
.eps-ep::before {
	display: none !important;
}

/* оставляем постер якорем */
.eps-ep__poster {
	position: relative;
}

/* затемнение */
.eps-ep__poster::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.24) 100%);
	z-index: 1;
	transition: opacity .24s ease, background .24s ease;
}

/* круг + play строго по центру постера */
.eps-ep__poster::after {
	content: "▶";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 64px;
	height: 64px;
	transform: translate(-50%, -50%) scale(.82);
	border-radius: 50%;
	display: grid;
	place-items: center;
	padding-left: 4px;
	font-size: 24px;
	line-height: 1;
	color: #fff;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,0) 55%),
		linear-gradient(180deg, var(--episodes-accent), var(--episodes-accent-dark));
	box-shadow:
		0 14px 30px rgba(185,15,27,.28),
		inset 0 1px 0 rgba(255,255,255,.20);
	opacity: 0;
	transition:
		opacity .24s ease,
		transform .24s ease,
		box-shadow .24s ease;
	z-index: 3;
}

/* hover */
.eps-ep:hover .eps-ep__poster::after {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
	box-shadow:
		0 18px 34px rgba(185,15,27,.34),
		inset 0 1px 0 rgba(255,255,255,.24);
}

.eps-ep:hover .eps-ep__poster::before {
	background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.34) 100%);
}

/* на мобиле чуть меньше */
@media (max-width: 760px) {
	.eps-ep__poster::after {
		width: 56px;
		height: 56px;
		font-size: 21px;
	}
}
.eps-season-block__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	line-height: 1.15;
	font-weight: 800;
	color: var(--tt);
	text-decoration: none;
}

.eps-season-block__title:hover {
	color: #e11d2e;
}
.kubik-alert {
	margin: 16px 20px 10px 20px;
	padding: 14px 16px;
	box-sizing: border-box;
	background: #1b1b1b;
	border: 1px solid #e51b23;
	border-radius: 10px;
	color: #ffffff;
	display: grid;
	grid-template-columns: 22px 1fr;
	align-items: center;
	column-gap: 10px;
	font-size: 14px;
	line-height: 20px;
	box-shadow: 0 0 14px rgba(229, 27, 35, 0.18);
}

.kubik-alert-icon {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #e51b23;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 800;
	line-height: 20px;
}

.kubik-alert-text {
	display: block;
	color: #f1f1f1;
}

.kubik-alert-text b {
	color: #e51b23;
	font-weight: 800;
}

.kubik-alert-text strong {
	color: #ffffff;
	font-weight: 800;
}

@media (max-width: 600px) {
	.kubik-alert {
		margin: 10px;
		padding: 12px;
		grid-template-columns: 20px 1fr;
		font-size: 13px;
		line-height: 18px;
		align-items: start;
	}

	.kubik-alert-icon {
		width: 18px;
		height: 18px;
		font-size: 12px;
		line-height: 18px;
		margin-top: 0;
	}
}