/* ================================================
   ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
   ================================================ */
:root {
/* : Блок: Оформление root */   
  /* :: Подблок: ЦВЕТА ЗАГОЛОВКОВ И ОПИСАНИЙ КАРТОЧЕК */
  /* ::: Мини-блок: тёмная тема */
  --tt-title-dark:      #e2e2e2;           /* заголовок в тёмной теме */
  --tt-subtitle-dark:   #8a8a8a;           /* подзаголовок в тёмной теме */
  /* ::: Мини-блок: светлая тема */
  --tt-title-light:     #1e1e1e;           /* заголовок в светлой теме */
  --tt-subtitle-light:  #868b94;           /* подзаголовок в светлой теме */

  /* :: Подблок: БЛОК РЕАКЦИЙ (ЛАЙК/ДИЗЛАЙК) ================================ */
  /* ::: Мини-блок: фон кнопок (база) */
  --like-color: #2ecc71;                   /* фон кнопки «лайк» */
  --dislike-color: #ff0000;                /* фон кнопки «дизлайк» */
  /* ::: Мини-блок: цвет текста в капсуле */
  --re-color-dark: #E6EDF5;              /* текст на тёмной теме */
  --re-color-light: #1C1F26;             /* текст на светлой теме */ 
  /* ::: Мини-блок: цвета фона в капсуле */
  --re-background-dark: #343940;             /* фон на тёмной теме */
  --re-background-light: #c8ccd1;            /* фон на светлой теме */
    
  /* ::: Мини-блок: фон при hover для реакций */
  --like-color-hover: #218c54;             /* фон «лайка» при hover */
  --dislike-color-hover: #b5362a;          /* фон «дизлайка» при hover */
  /* ::: hover-фон для светлой темы */
  --like-bg-hov-dark:     #D6EFE0;
  --dislike-bg-hov-dark:  #F2D8D8;
  /* ::: hover-текст/иконка светлой темы */
  --like-fg-hov-dark:     #157347;
  --dislike-fg-hov-dark:  #B02A37;
  /* ::: hover-фон для тёмной темы */
  --like-bg-hov-light:     #143D2A;
  --dislike-bg-hov-light:  #462020;
  /* ::: hover-текст/иконка тёмной темы */
  --like-fg-hov-light:     #1FA463;
  --dislike-fg-hov-light:  #D0473F;

  /* :: Подблок: РЕЙТИНГИ В ФУТЕРАХ КАРТОЧЕК ================================ */
  /* ::: Мини-блок: цвет */
  --rating-imdb-color: #F5C518;            /* цвет рейтинга IMDb */
  --rating-kp-color: #FF6600;              /* цвет рейтинга Кинопоиск */
  --rating-site-color: #d72c3e;             /* цвет рейтинга OnSerial */
  /* ::: Мини-блок: тень */    
  --bord-dark: #0f0f0f;
  --bord-light: #fffff;
  /* ::: Мини-блок: тени */
  --rating-shadow: 0 0 1px rgba(0, 0, 0, 0.4); /* общая микро-тень для цифр рейтинга */
}


/* BASIC LAYOUT
----------------------------------------------- */
body {padding-top: 100px; padding-bottom: 20px; background-image: url(../images/bg.jpg); background-position: right top; 
	background-attachment: fixed; background-size: 100% auto; background-repeat: no-repeat;}
body.has-branding {padding-top: 200px; background-image: none}


.wrapper {min-width: 320px; position: relative;}
.wrapper__container {max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 20;}
.wrapper__container--main {background-color: var(--bg-dark); border-radius: var(--bdrs); padding: 0 var(--indent);}
.content__cols {display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 20px; grid-template-areas: "sidebar content";}
.content__col-main {grid-area: content;}
.content__col-side {grid-area: sidebar; color: var(--tt-dark); --tt: var(--tt-dark)}
.content {padding-top: 20px;}
.header {padding: 10px 0; position: relative; z-index: 100; height: 70px;}
.carousel {padding: 20px; border-radius: var(--bdrs); background-color: var(--bg-dark-lighter);}
.footer {color: var(--tt-dark-fade); --tt: var(--tt-dark-fade); padding: 20px 0 20px 360px; font-size: 13px; gap: 20px;}
.footer a {text-decoration: underline;}

.scrolltop {position: fixed; width: 40px; height: 40px; right: -60px; bottom: 10px; padding: 0;
	border: 2px solid var(--accent-red); color: var(--accent-red); background-color: transparent;
	z-index: 990; border-radius: 50%; font-size: 24px; opacity: 0; transition: right 0.2s, opacity 0.2s;}
.scrolltop.is-active {right: 10px; opacity: 1;}


/* HEADER
----------------------------------------------- */
.header__logo {display: block; text-transform: uppercase; font-weight: 800; font-size: 22px; 
	color: #fff !important; margin-right: 50px; letter-spacing: 1px;} 
.header__logo span {color: var(--accent-red);}
.theme-toggle {margin-left: 10px; font-size: 16px; min-width: 30px; height: 30px; color: #fff;}
.dt-is-active .theme-toggle::before {content:"\f186";}
.header__btn-login {height: 30px; padding: 0 20px; margin-left: 20px;}
.header__btn-search {font-size: 16px; min-width: 30px; height: 30px; margin-left: 10px; color: #fff;}
.header__login-img {width: 40px; height: 40px; border-radius: 50%; cursor: pointer; margin-left: 20px;}
.header__favlink {font-size: 24px; display: block; position: relative; margin-left: 20px; color: #fff;}
.header__favlink span {border-radius: 3px; background-color: var(--accent-red); color: #fff; 
	font-size: 10px; position: absolute; right: -10px; top: -1px; min-width: 20px; text-align: center;}

.search-is-active {padding-right: var(--scrWidth,15px); overflow: hidden;}
.search-is-active .header__menu {display: none;}
.search-is-active .header__search {display: block;}
.search-is-active .header > button, .search-is-active .header ~ *, 
.search-is-active .header__favlink, .search-is-active .header__login-img {pointer-events: none;}
.search-is-active .search-block__input {box-shadow: 0 0 0 100vmax rgba(0,0,0,0.8) !important;}

.search-block {width: 100%; position: relative; z-index: 10; margin-right: 50px;}
.search-block__input, .search-block__input:focus {border-radius: var(--bdrs); padding: 0 50px 0 20px; 
	border: 0; box-shadow: none; background-color: #fff; color: #000;}
.search-block__input:not(:focus)::placeholder {color: var(--tt-fade); opacity: 1; font-size: 14px;}
.search-block__btn {position: absolute; right: 0; top: 0; width: 50px; border-radius: 0px; font-size: 16px; color: #000;}

.header__menu {gap: 30px;}
.header__menu > li > a {height: 50px; display: flex; align-items: center; gap: 10px; color: var(--tt-dark);}
	

/* CAROUSEL
----------------------------------------------- */
.carou__img {padding-top: 150%; border-radius: var(--bdrs); overflow: hidden;}
.carou__desc {position: absolute; left: 0; bottom: 0; z-index: 5; color: #fff; padding: 16px; font-size: 13px;}
.carousel__content:not(.owl-carousel) > .carou {width: calc((100% - 140px)/8); margin-right: 20px; flex-shrink: 0;}
.carousel__content:not(.owl-carousel) {display: flex; overflow: hidden;}


/* SECTION
----------------------------------------------- */
/* Отступ снизу для всех секций, кроме последней — создаёт равномерное вертикальное расстояние между блоками */
.sect:not(:last-child) {
  margin-bottom: 40px;
}
/* Базовый стиль секции с фоном — используется основной цвет темы */
.sect--bg {
  background-color: var(--bg);
  padding: 20px;
  border-radius: var(--bdrs);
}
/* В светлой теме (при отсутствии класса .dt-is-active на <body>) фон заменяется на альтернативный светлый */
body:not(.dt-is-active) .sect--bg {
  background-color: var(--bg-light);
}

.sect__header {margin-bottom: 20px; gap: 10px;}
.content__title {color: var(--tt-dark); font-size: 22px; font-weight: 400; line-height: 1.2; margin-bottom: 20px;}
.content__title::before {color: var(--accent-red); margin-right: 10px;}

.speedbar {color: var(--tt-fade); font-size: 14px; margin-bottom: 20px;}
.speedbar a {color: var(--tt-dark);}
.speedbar::before {color: var(--accent-red); margin-right: 10px;}

.descr h1, .descr h2, .descr h3 {font-size: 18px; font-weight: 400; color: var(--tt); line-height: 1.3;}
.descr a {text-decoration: underline; color: var(--accent-red);}
.descr ul li {position: relative; padding-left: 25px; margin-left: 25px;}
.descr ul li::before {content:"\f00c"; font-weight: 300; font-family:'Font Awesome 5 Pro'; 
	color: var(--accent-red); position: absolute; left: 0; top: 0;}

/* ===========================================
   НАВИГАЦИЯ ПО САЙТУ (МЕНЮ)
=========================================== */

/* : Блок: Адаптация меню под светлую тему */

/* :: Подблок: Категории (жанры) в меню */
/* ::: мини-блок: отображение списка жанров */
.header__menu .genre-menu {
  display: block;
}
/* ::: мини-блок: отступы для ссылок и заголовков подменю */
.genre-menu > li > a,
.genre-menu > li > .submenu__header {
  padding-left: 24px;
}
/* ::: мини-блок: отступы подкатегорий */
.genre-menu .submenu__list li a {
  padding-left: 32px;
}

/* :: Подблок: Цвета подменю */
/* ::: Мини-блок: переменные светлой темы */
body:not(.dt-is-active) {
  --submenu-bg: rgba(255, 255, 255, 0.05);       /* фон подменю */
  --submenu-text: #fff;                          /* цвет текста подменю */
  --submenu-hover: rgba(255, 255, 255, 0.08);    /* фон при наведении */
  --category-bg: transparent;                    /* фон категории */
  --category-text: #fff;                         /* цвет категории */
  --category-hover: rgba(255, 255, 255, 0.05);   /* фон при наведении */
}

/* :: Подблок: Подменю */
/* ::: Мини-блок: фон и стили подменю */
body:not(.dt-is-active) .submenu__list {
  background-color: var(--submenu-bg);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}
/* ::: Мини-блок: текст ссылок */
body:not(.dt-is-active) .submenu__list li a {
  color: var(--submenu-text);
}
/* ::: Мини-блок: наведение на ссылки */
body:not(.dt-is-active) .submenu__list li a:hover {
  background-color: var(--submenu-hover);
  color: var(--accent-red);
}

/* :: Подблок: Категории (жанры) */
/* ::: Мини-блок: базовые категории и заголовки */
body:not(.dt-is-active) .genre-menu > li > a,
body:not(.dt-is-active) .submenu__header {
  background-color: var(--category-bg);
  color: var(--category-text);
}
/* ::: Мини-блок: наведение на категории */
body:not(.dt-is-active) .genre-menu > li > a:hover,
body:not(.dt-is-active) .submenu__header:hover {
  background-color: var(--category-hover);
  color: var(--accent-red);
}

/* : Блок: Меню (бургер + жанры + подменю) */

/* :: Подблок: Затемнение фона при открытом меню */
/* ::: Мини-блок: overlay-подложка */
.overlay {
  position: fixed;
  z-index: 998;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  background-color: #000;
  cursor: pointer;
  display: none;
}

/* :: Подблок: Контейнер мобильного меню */
/* ::: Мини-блок: основная обёртка меню */
.mobile-menu {
  width: 280px;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--tt-dark);
  --tt: var(--tt-dark);
  z-index: 999;
  position: fixed;
  left: -360px;
  top: 0;
  transition: left 0.4s;
  background-color: var(--bg-dark);
}
/* ::: Мини-блок: активное состояние меню */
.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-dark-lighter);
}
/* ::: Мини-блок: кнопка закрытия меню */
.mobile-menu__btn-close {
  font-size: 24px;
  width: 40px;
  height: 40px;
  margin-right: -10px;
}

/* :: Подблок: Содержимое меню (список, ссылки, навигация) */
/* ::: Мини-блок: обёртка списка пунктов меню */
.mobile-menu__content .header__menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 16px;
  list-style: none;
  margin: 0;
}
/* ::: Мини-блок: элементы списка li */
.mobile-menu__content .header__menu > li {
  margin: 0;
  padding: 0;
}
/* ::: Мини-блок: ссылки пунктов меню */
.mobile-menu__content .header__menu > li > a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 12px;
  font-weight: 500;
  font-size: 14px;
  border-radius: var(--bdrs);
  background-color: var(--bg-dark-lighter);
  color: #fff;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
/* ::: Мини-блок: поведение при наведении */
.mobile-menu__content .header__menu > li > a:hover {
  background-color: rgba(255, 255, 255, 0.05);
  color: var(--accent-red);
}
/* ::: Мини-блок: дополнительная навигация (жанры, фильтры и т.д.) */
.mobile-menu__content .sb__nav {
  border-radius: 0;
  margin-bottom: 30px;
}
/* ::: Мини-блок: заголовки секций в меню */
.mobile-menu__content .sb__title {
  padding-left: 20px;
}

/* :: Подблок: Быстрые жанры (genre-shortcuts) */
/* ::: Мини-блок: контейнер */
.mobile-menu .genre-shortcuts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 16px 16px;
}
/* ::: Мини-блок: элементы списка жанров */
.mobile-menu .genre-shortcuts li {
  margin: 0;
  list-style: none;
}
/* ::: Мини-блок: ссылки жанров */
.mobile-menu .genre-shortcuts a {
  display: block;
  text-align: center;
  padding: 12px;
  font-weight: 600;
  font-size: 15px;
  border-radius: 6px;
  background-color: var(--hover-bg);
  color: #fff;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
/* ::: Мини-блок: поведение при наведении */
.mobile-menu .genre-shortcuts a:hover {
  background-color: var(--hover-bg);
  color: var(--accent-red);
}

/* : Блок: Подменю и категории (жанры) */

/* :: Подблок: Заголовки и кнопка раскрытия */
/* ::: Мини-блок: оформление названия категорий с кнопкой "+" */
.submenu__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px;
  border-radius: 5px;
  transition: color 0.2s, background-color 0.2s;
  color: #fff;
  text-decoration: none;
}
/* ::: Мини-блок: оформление иконки-кнопки "+" */
.nav__btn {
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  transition: transform 0.3s;
  margin-left: 12px;
}

/* :: Подблок: Список жанров */
/* ::: Мини-блок: элементы основного списка жанров */
.genre-menu > li {
  margin: 0;
}
/* ::: Мини-блок: отступ между пунктами */
.genre-menu > li:not(:last-child) {
  margin-bottom: 6px;
}
/* ::: Мини-блок: ссылка без подменю */
.genre-menu > li > a {
  display: block;
  padding: 6px 10px;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s, background-color 0.2s;
}

/* :: Подблок: Подменю */
/* ::: Мини-блок: скрытое подменю по умолчанию */
.submenu__list {
  max-height: 0;
  overflow: hidden;
  padding: 0 15px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  list-style: none;
  border-radius: 8px;
  background-color: var(--hover-bg);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition:
    max-height 0.3s ease,
    opacity 0.3s ease,
    padding-top 0.3s ease,
    padding-bottom 0.3s ease,
    margin 0.3s ease;
}
/* ::: Мини-блок: подменю — раскрытое состояние */
.submenu.open .submenu__list {
  max-height: 1000px;
  opacity: 1;
  pointer-events: auto;
  margin-top: 4px;
  margin-bottom: 4px;
  padding-top: 5px;
  padding-bottom: 5px;
}
/* ::: Мини-блок: оформление ссылки в заголовке подменю */
.submenu__link {
  flex-grow: 1;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* :: Подблок: Наведение */
/* ::: Мини-блок: оформление наведения на верхний уровень категорий */
.genre-menu > li > a:hover,
.submenu__header:hover {
  color: var(--accent-red);
  background-color: var(--hover-bg);
}
/* ::: Мини-блок: оформление наведения на ссылку внутри заголовка подменю */
.submenu__header:hover .submenu__link {
  color: var(--accent-red);
  background-color: transparent;
}
/* ::: Мини-блок: оформление наведения на подкатегории */
.submenu__list li a:hover {
  color: var(--accent-red);
  background-color: var(--hover-bg);
}
/* ::: Мини-блок: оформление ссылок подкатегорий */
.submenu__list li a {
  display: block;
  padding: 6px 10px;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  transition: color 0.2s, background-color 0.2s;
}

/* :: Подблок: Анимации */
/* ::: Мини-блок: анимация вращения иконки "+" при открытии */
.submenu.open .nav__btn i {
  transform: rotate(45deg);
}

/* ================================================
   ГЛОБАЛЬНЫЙ БЛОК КАРТОЧЕК FullStory и ShortStory
   ================================================ */

/* : Блок: Универсальное оформление карточек FullStory и ShortStory */
/* :: Подблок: Структура и сетка карточки */
/* ::: Мини-блок: сетка и расположение зон */
.scard {
  margin: 0 -20px;                                /* Внешние отрицательные отступы, убирают боковые паддинги родителя */
  padding: 20px;                                  /* Внутренние отступы вокруг содержимого */
  border-bottom: 1px solid var(--bdc);            /* Нижняя граница карточки */
  display: grid;                                  /* Включаем грид-сетку */
  gap: 20px;                                      /* Расстояние между областями сетки */
  grid-template-columns: 240px 1fr;               /* Левая колонка (постер) фикс. ширины, правая колонка тянется */
  grid-template-rows: min-content 1fr min-content;/* Высота строк: заголовок и футер по содержимому, центр — растягивается */
  grid-template-areas:                            /* Области сетки для наглядного расположения */
    "sleft sheader"
    "sleft sdescr"
    "sleft sfooter";
  position: relative;                             /* Для позиционирования элементов поверх (например, кнопок) */
}

/* :: Подблок: Левая часть карточки (постер, избранное, трейлер) */
/* ::: Мини-блок: размещение постера в сетке */
.scard__left {
  grid-area: sleft;
  align-self: start;
}
/* ::: Мини-блок: параметры изображения */
.scard__img {
  width: 240px;
  height: 360px;
  border-radius: var(--bdrs);
  display: block;
}
/* ::: Мини-блок: Overlay для зума постера (FullStory) */
.scard__overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.82);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999
}
.scard__overlay--open { 
    display:flex 
}
.scard__overlay-img {
    max-width:95vw;
    max-height:95vh;
    box-shadow:0 8px 30px rgba(0,0,0,.6);
    border-radius:8px
}
.scard__overlay-close {
    position:absolute;
    top:16px;
    right:20px;
    font-size:26px;
    color:#fff;
    cursor:pointer
}
body.scard__overlay-noscroll { 
    overflow:hidden 
}
/* ::: Мини-блок: курсор-лупа — только на FullStory (для постера) */
.scard__img-overlay { 
    cursor: zoom-in; 
}
/* ::: Мини-блок: капсула возрастного рейтинга (левый верх постера) */
.scard__age_rating-wrap {
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 5;
  display: inline-block;
  width: fit-content;
}
/* ::: Мини-блок: внутрянка капсулы (базовые стили) */
.scard__age_rating {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--bdrs);
  min-width: 30px;
  height: 26px;
  padding: 0 4px;
  line-height: 1;
  box-shadow: none;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
/* ::: Тёмная тема */
body.dt-is-active .scard__age_rating {
  color: var(--category-fg-dark); /* светлый текст */
  background: color-mix(in srgb, var(--bg) 35%, transparent);
  border: 1px solid currentColor;
}
/* ::: Светлая тема */
body:not(.dt-is-active) .scard__age_rating {
  color: var(--category-fg-light); /* тёмный текст */
  background: color-mix(in srgb, var(--bg-light) 35%, transparent);
  border: 1px solid currentColor;
}
/* ::: Мини-блок: позиция и оформление кнопки «в избранное» */
.scard__fav a {
  position: absolute;
  top: 0;
  right: 10px;
  width: 30px;
  height: 30px;
  border-radius: 0 0 8px 8px;
  background-color: var(--accent-red);
  color: #fff;
  box-shadow: var(--bsh);
  display: grid;
  place-items: center;
}
/* ::: Мини-блок: трейлер-кнопка — позиция, размеры, стиль */
.scard__btn-trailer {
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 12px;
  border-radius: 0 5px 5px 0;
  position: absolute;
  left: 0;
  bottom: 23px;
  z-index: 5;
}
/* ::: мини-блок: скрыть мобильную капсулу лайков на 575px и ниже (планшет и десктоп) */
.scard__capsule-wrap-phone { 
  display: none;
}

/* :: Подблок: Правая часть карточки */
/* ::: Мини-блок: размещение заголовка */
.scard__header {
  grid-area: sheader;
  position: relative;
}
/* ::: Мини-блок: ограничение строк описания */
.scard__text {
  -webkit-line-clamp: 6;
  line-height: 1.54;
}

/* :: Подблок: Шапка карточек для shortstory и fullstory */
/* ::: Мини-блок: контейнер шапки карточки (общий) */
.scard__header-fullstory,
.scard__header-shortstory {
  background: transparent;     /* фон секции (если понадобится) */
  border-bottom: 0;            /* границы/тени, если будут */
  position: relative;          /* якорь для абсолютных бейджей/иконок */
  grid-area: sheader;                               /* привязка к области grid */
  margin: 0;                   /* обнуляем внешние отступы */
}
/* ::: Мини-блок: общая рамка шапки (управляет раскладкой строк/колонок) */
.scard__title-wrap {
  display: grid;               /* включаем GRID */
  column-gap: 15px;            /* горизонтальный зазор */
  row-gap: 6px;                /* вертикальный зазор */
  align-items: start;          /* выравниваем по верху */
  min-width: 0;                /* важно для корректного сжатия текста */
}
/* ::: Мини-блок: заголовок + иконка редактирования (раскладка 1-го ряда левой колонки) */
.scard__title-fullstory-wrap,
.scard__title-shortstory-wrap {
  grid-column: 1;              /* первая колонка */
  grid-row: 1;                 /* первая строка */
  display: flex;               /* горизонтальная укладка заголовка и иконки */
  align-items: center;         /* вертикальное выравнивание */
  justify-content: space-between; /* заголовок слева, иконка справа */
  gap: 10px;                   /* зазор между текстом и иконкой */
  min-width: 0;                /* длинные названия не ломают сетку */
}
  /* ::: Мини-блок: заголовок (оформление текста) */
  .scard__title-shortstory,
  .scard__title-fullstory {
    font-size: 25px;
    line-height: 1.2;
    font-weight: 700;
    text-align: left;
  }
  /* ::: Мини-блок: иконка редактирования (оформление иконки) */
  .scard__edit-icon-wrap {
    flex: 0 0 auto;              /* фикс. ширина, без растягивания */
  }
  .scard__edit-icon {
    font-size: 16px;             /* размер иконки */
    color: var(--tt-fade);       /* цвет иконки */
  }
/* ::: Мини-блок: оригинальное название (раскладка 2-го ряда левой колонки) */
.scard__subtitle-fullstory-wrap,
.scard__subtitle-shortstory-wrap {
  grid-column: 1;                 /* первая колонка */
  grid-row: 2;                    /* вторая строка */
  display: flex;                  /* оставляем флекс */
  align-items: center;            /* вертикально по центру */
  justify-content: space-between; /* при необходимости можно добавить элемент справа */
  gap: 10px;
  min-width: 0;
}
  /* ::: Мини-блок: оригинальное название (оформление текста) */
  .scard__subtitle-shortstory,
  .scard__subtitle-fullstory {
    font-size: 14px;
    line-height: 1.25;
    margin-top: 4px;
    font-weight: 400;
    font-style: italic;
  }

/* :: Подблок: Цвета заголовков карточек */
/* ::: Мини-блок: заголовки (ShortStory + FullStory) — тёмная тема */
body.dt-is-active .scard__title-shortstory,
body.dt-is-active .scard__title-fullstory {
  color: var(--tt-title-dark);
}
/* ::: Мини-блок: заголовки (ShortStory + FullStory) — светлая тема */
body:not(.dt-is-active) .scard__title-shortstory,
body:not(.dt-is-active) .scard__title-fullstory {
  color: var(--tt-title-light);
}
/* ::: Мини-блок: подзаголовки (ShortStory + FullStory) — тёмная тема */
body.dt-is-active .scard__subtitle-shortstory,
body.dt-is-active .scard__subtitle-fullstory {
  color: var(--tt-subtitle-dark);
}
/* ::: Мини-блок: подзаголовки (ShortStory + FullStory) — светлая тема */
body:not(.dt-is-active) .scard__subtitle-shortstory,
body:not(.dt-is-active) .scard__subtitle-fullstory {
  color: var(--tt-subtitle-light);
}

/* ::: Мини-блок: рамка правого блока с капсулой (Ряд 1 и 2 в правой колонке) */
.scard__title-wrap-shortstory,
.scard__title-wrap-fullstory{
  grid-template-columns: 1fr auto;  /* слева текстовая колонка, справа служебная */
  grid-template-rows: auto auto;    /* 1) заголовок, 2) оригинальное название */
}
/* ::: Мини-блок: обёртка капсулы рейтинга и категорий (занимает 2 строки справа) */
.scard__capsule-wrap-desktop {
  grid-column: 2;              /* вторая колонка сетки */
  grid-row: 1 / span 2;        /* растягиваемся на две строки */
  align-self: start;           /* прижимается к верху */
  justify-self: end;           /* прижимается вправо */
}

/* ::: мини-блок: ряд реакций FullStory (лайк / дизлайк) */
.scard__rating-likes {
  display: flex;                          /* данные в горизонтальном порядке */
  align-items: center;                    /* центр по вертикали */
  overflow: hidden; 
  height: 30px; 
  width: 100px;         
  border-radius: 8px;
  border-radius: var(--bdrs);
  box-sizing: border-box;
  box-shadow: none;                       /* без внешней тени */
  position: relative;                     /* базовое позиционирование */
}    
/* ::: мини-блок: кнопки лайка / дизлайка FullStory */
.scard__rating-likes a {
  display: flex;
  flex: 0 0 50%;               /* центрируем две капсулы */
  align-items: center;         /* вертикальный центр */
  justify-content: center;     /* горизонтальный центр */
  height: 100%;                /* на всю высоту строки */
  min-width:0;                
  padding: 0 6px;
  gap: 4px;
  text-decoration: none;
  box-sizing: border-box;
  transition: background .2s ease, color .2s ease, opacity .2s ease;
}
/* ::: Светлая тема */
body:not(.dt-is-active) .scard__rating-likes a {
  background: var(--re-background-light);
  color: var(--re-color-light);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
}
/* ::: Тёмная тема */
body.dt-is-active .scard__rating-likes a {
  background: var(--re-background-dark);
  color: var(--re-color-dark);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}
/* ::: Мини-блок: Hover для кнопки лайка / дизлайка */
/* Светлая тема */
body:not(.dt-is-active) .scard__rating-likes a:first-of-type:hover {
  background: var(--like-bg-hov-dark);
  color: var(--like-fg-hov-dark);
}
body:not(.dt-is-active) .scard__rating-likes a:last-of-type:hover {
  background: var(--dislike-bg-hov-dark);
  color: var(--dislike-fg-hov-dark);
}
/* Тёмная тема */
body.dt-is-active .scard__rating-likes a:first-of-type:hover {
  background: var(--like-bg-hov-light);
  color: var(--like-fg-hov-light);
}
body.dt-is-active .scard__rating-likes a:last-of-type:hover {
  background: var(--dislike-bg-hov-light);
  color: var(--dislike-fg-hov-light);
}
/* ::: Мини-блок: категории для ShortStory */ 
.scard__category { 
  display: flex;               /* контейнер флекс */
  width: fit-content;          /* ширина по содержимому */
  height: 30px;                /* фиксированная высота */
}
/* ::: Мини-блок: капсула категории (ShortStory) */
.scard__category a,
.scard__category span {
  display: inline-flex;                   /* капсула как инлайн-флекс */
  align-items: center;                    /* выравнивание текста по вертикали */
  white-space: nowrap;                    /* запрет переноса слов */
  box-sizing: border-box;                 /* учитывается padding в ширину/высоту */
  padding: 0 14px;                        /* горизонтальные отступы внутри капсулы */
  line-height: 1;                         /* высота строки */
  color: var(--accent-red);               /* цвет текста */
  border-radius: var(--bdrs);                   
  border: 1px solid currentColor;         /* бордер по цвету текста */
  background-clip: padding-box;           /* бордер повторяет радиус */
  font-size: 14px;                        /* размер текста */
  cursor: pointer;                        /* курсор "рука" */
  transition: background .15s ease, border-color .15s ease, color .15s ease; /* эффекты hover */
}
/* ::: Тёмная тема */
body.dt-is-active .scard__category a,
body.dt-is-active .scard__category span {
  color: var(--category-fg-dark);
  background: color-mix(in srgb, var(--bg) 35%, transparent);
}
/* ::: Светлая тема */
body:not(.dt-is-active) .scard__category a,
body:not(.dt-is-active) .scard__category span {
  color: var(--category-fg-light);
  background: color-mix(in srgb, var(--bg-light) 35%, transparent);
}
/* ::: Hover (тёмная тема) */
body.dt-is-active .scard__category a:hover,
body.dt-is-active .scard__category span:hover {
  color: var(--bg-btn-hover);
  background: transparent;
  opacity: 1;
}
/* ::: Hover (светлая тема) */
body:not(.dt-is-active) .scard__category a:hover,
body:not(.dt-is-active) .scard__category span:hover {
  color: var(--bg-btn-hover);
  background: transparent;
  opacity: 1;
}

/* :: Подблок: Описание карточек */
/* ::: Мини-блок: обертка описания */
.scard__descr {
  grid-area: sdescr;
  align-self: center;
  margin-block: auto;
}
/* ::: Мини-блок: контейнер описания карточки */
.scard__descr-shortstory,
.scard__descr-fullstory,
.scard__descr-sb {
  display: flex;
  flex-direction: column;
  color: var(--tt);
  gap: 4px;
  font-size: 15px;
  line-height: 1.5;
  max-width: 100%;
}
/* ::: Мини-блок: сетка строки и типографика блока описания карточки */
.scard__list-shortstory,
.scard__list-fullstory,
.scard__list-sb {
  display: grid;                               /* включаем Grid-раскладку */
  column-gap: 16px;                            /* горизонтальный зазор между колонками */
  align-items: start;                          /* выравниваем содержимое по верхнему краю строки */
  margin: 0;                                   /* внешние отступы */
  color: var(--tt-fade);                       /* цвет текста строки */
  word-break: break-word;                      /* переносим длинные слова при необходимости */
  overflow-wrap: break-word;                   /* резервный перенос длинных слов */
  border-radius: 4px;                          /* скругление всей строки */
  padding: 6px 6px;                            /* одинаковый паддинг для всей строки */
}
/* ::: Мини-блок: размер левой колонкт блока описания карточки */
.scard__list-shortstory,
.scard__list-fullstory {
  grid-template-columns: 100px minmax(0, 1fr);
}
/* ::: Мини-блок: размер левой колонкт блока сайдбара */
.scard__list-sb {
  grid-template-columns: 130px minmax(0, 1fr);
}
/* ::: Мини-блок: обнуление и базовая типографика левой колонки (элемент dt) */
.scard__list-fullstory dt,
.scard__list-shortstory dt,
.scard__list-sb dt {
  margin: 0;
}
/* ::: Мини-блок: оформление текста левой колонки (элемент dt) */
.scard__list-fullstory dt > span,
.scard__list-shortstory dt > span,
.scard__list-sb dt > span {
  white-space: nowrap; 
  font-weight: 600; 
}
/* ::: Мини-блок: обнуление и базовая типографика правой колонки (элемент dd) */
.scard__list-fullstory dd,
.scard__list-shortstory dd,
.scard__list-sb dd {
  margin: 0;
}
/* ::: Мини-блок: адаптация цвета для левой колонки (элемент dt) */
body.dt-is-active .scard__list-fullstory dt,
body.dt-is-active .scard__list-shortstory dt,
body.dt-is-active .scard__list-sb dt,
body.dt-is-active .scard__list-fullstory dt > span,
body.dt-is-active .scard__list-shortstory dt > span,
body.dt-is-active .scard__list-sb dt > span {
  color: var(--tt-subtitle-dark);
}
body:not(.dt-is-active) .scard__list-fullstory dt,
body:not(.dt-is-active) .scard__list-shortstory dt,
body:not(.dt-is-active) .scard__list-sb dt,
body:not(.dt-is-active) .scard__list-fullstory dt > span,
body:not(.dt-is-active) .scard__list-shortstory dt > span,
body:not(.dt-is-active) .scard__list-sb dt > span {
  color: var(--tt-subtitle-light);
}
/* ::: Мини-блок: оформление текста правой колонки (элемент dd) */
body.dt-is-active .scard__list-fullstory dd,
body.dt-is-active .scard__list-shortstory dd,
body.dt-is-active .scard__list-sb dd {
  color: var(--tt-title-dark);
}
body:not(.dt-is-active) .scard__list-fullstory dd,
body:not(.dt-is-active) .scard__list-shortstory dd,
body:not(.dt-is-active) .scard__list-sb dd {
  color: var(--tt-title-light);
}
/* ::: Мини-блок: цвет ссылок правой колонки (элемент dd) */
.scard__list-fullstory a,
.scard__list-shortstory a,
.scard__list-sb a {
  color: var(--accent-red);
  text-decoration: none;
  transition: color .2s ease, text-decoration-color .2s ease;
}
/* ::: Мини-блок: hover в ТЁМНОЙ теме */
body.dt-is-active .scard__list-fullstory a:hover,
body.dt-is-active .scard__list-shortstory a:hover,
body.dt-is-active .scard__list-sb a:hover {
color: var(--bg-btn-hover); 
text-decoration: underline; 
text-underline-offset: .15em; 
text-decoration-thickness: .06em;
background: transparent; 
}
/* ::: Мини-блок: hover в СВЕТЛОЙ теме */
body:not(.dt-is-active) .scard__list-fullstory a:hover,
body:not(.dt-is-active) .scard__list-shortstory a:hover,
body:not(.dt-is-active) .scard__list-sb a:hover {
color: var(--bg-btn-hover);
text-decoration: underline;
text-underline-offset: .15em;
text-decoration-thickness: .06em;
background: transparent;
}
/* ::: Мини-блок: Клавиатурный фокус */
.scard__list-fullstory a:focus-visible,
.scard__list-shortstory a:focus-visible,
.scard__list-sb a:focus-visible {
outline: 2px solid var(--bg-btn-hover);
outline-offset: 2px;
}

/* :: Подблок: Клампы на кнопку "Ещё/Скрыть" */
/* ::: Мини-блок: Структура клампа  */
.scard__clamp-actor {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

/* ::: Мини-блок: Контент клампа */
.scard__clamp-wrap-actor {
  flex: 1 1 auto;
  min-width: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--lines);
  overflow: hidden;
  position: relative;
  padding-right: 30px;
}

/* ::: Мини-блок: Раскрытие клампа */
.scard__clamp-actor.is-expanded .scard__clamp-wrap-actor {
  -webkit-line-clamp: unset;
  overflow: visible;
  padding-bottom: 0px;
}

/* ::: Мини-блок: Кнопка Ещё/Скрыть закрытом клампе */
.scard__clamp-button-actor {
  flex: 0 0 auto;           /* фиксированная кнопка справа от текста */
  height: 24px;
  padding: 0 8px;
  font-size: 10px;
  line-height: 24px;
  border-radius: var(--bdrs);
  border: 1px solid currentColor;
  cursor: pointer;
  box-shadow: none;
  text-shadow: none;
  transition: color .15s ease, background .15s ease, border-color .15s ease;
  position: absolute;
  top: 0;
  right: 0;
}
/* ::: Мини-блок: Кнопка Ещё/Скрыть при открытом клампе */
.scard__clamp-actor.is-expanded .scard__clamp-button-actor {
  position: absolute; 
  top: auto;
  bottom: 0;  
  right: 0;
  z-index: 2;
}
/* ::: Мини-блок: Тёмная тема (оформление) */
body.dt-is-active .scard__clamp-button-actor {
  color: color-mix(in srgb, var(--tt-title-dark) 70%, transparent);
  background: color-mix(in srgb, var(--bg) 15%, transparent);
}
/* ::: Мини-блок: Светлая тема (оформление) */
body:not(.dt-is-active) .scard__clamp-button-actor {
  color: color-mix(in srgb, var(--tt-title-light) 70%, transparent);
  background: color-mix(in srgb, var(--bg-light) 15%, transparent);
}
/* ::: Мини-блок: Hover для кнопок «Ещё» и «Скрыть» */
body.dt-is-active .scard__clamp-button-actor:hover,
body:not(.dt-is-active) .scard__clamp-button-actor:hover {
  color: var(--bg-btn-hover);
  background: transparent;
  border-color: currentColor;
}

/* :: Подблок: Футер карточек */
/* ::: Мини-блок: базовая структура футера */
.scard__footer {
  grid-area: sfooter;                        /* привязка к области grid */
  display: flex;                             /* включаем flex-раскладку */
  width: 100%;                               /* растягиваемся на всю ширину */
  font-size: 14px;                           /* базовый размер шрифта */
  font-weight: 400;                          /* насыщенность текста */
  flex-direction: row;                       /* горизонтальная ось */
  align-items: center;                       /* выравнивание по вертикали */
  justify-content: space-between;            /* элементы по краям */
  flex-wrap: nowrap;                         /* без переноса строк */
  gap: 10px 20px;                            /* интервал между блоками */
  margin-top: auto;                          /* верхний отступ (прижимает футер к нижней границе) */
  padding-top: 0;                            /* обнуляем верхний паддинг */
  padding-bottom: 0;                         /* обнуляем нижний паддинг */
}
/* ::: Мини-блок: контейнер рейтингов и комментариев */
.scard__footer-meta {
  display: flex;                             /* горизонтальная укладка */
  flex-wrap: wrap;                           /* разрешаем перенос */
  align-items: center;                       /* выравнивание по центру */
  justify-content: flex-start;               /* выравнивание к началу */
  gap: 10px 20px;                            /* интервал между «плашками» */
  margin: 0;                                 /* обнуляем внешние отступы */
  flex: 1 1 auto;                            /* тянется футер, но оставляет место кнопке */
  min-width: 0;                              /* кнопку не выталкивается из строки */
}
/* ::: Мини-блок: базовые стили рейтинга и комментариев */
.scard__footer-rating,
.scard__footer-comments {
  display: flex;             /* укладка по горизонтали */
  align-items: center;       /* выравнивание по вертикали */
  gap: 8px;                  /* увеличил с 6px → лучше читаемость */
  white-space: nowrap;       /* без переноса строк */
  font-size: 14px;           /* общий базовый размер */
  color: var(--tt-fade);     /* приглушённый цвет по умолчанию */
}
/* ::: Мини-блок: бейджи (IMDb / KP / Site) */
.scard__footer-rating-imdb,
.scard__footer-rating-kp,
.scard__footer-rating-site {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  padding: 4px 10px;               /* отступы бейджа */
  background: transparent;                 /* прозрачная плашка */
  border-radius: var(--bdrs);
  border: 1px solid currentColor;
}
.scard__footer-rating-imdb { 
  color: color-mix(in srgb, var(--rating-imdb-color) 80%, transparent);  /* цвет бейджа IMDb */
  -webkit-text-stroke: 0.6px rgba(255,255,255,.25);
  border: 1px solid rgba(255,255,255,.15);
}
.scard__footer-rating-kp { 
  color: color-mix(in srgb, var(--rating-kp-color) 80%, transparent);   /* цвет бейджа KP */
  -webkit-text-stroke: 0.6px rgba(255,255,255,.25);
  border: 1px solid rgba(255,255,255,.15);
}
.scard__footer-rating-site { 
  color: color-mix(in srgb, var(--rating-site-color) 80%, transparent);  /* цвет бейджа Site */
  -webkit-text-stroke: 0.6px rgba(255,255,255,.25);
  border: 1px solid rgba(255,255,255,.15);
}
body:not(.dt-is-active) .scard__footer-rating-imdb {
  color: color-mix(in srgb, var(--rating-imdb-color) 90%, transparent);  /* цвет бейджа IMDb */
  -webkit-text-stroke: 0.6px rgba(0,0,0,.25);
   border: 1px solid rgba(0,0,0,.1);
}
body:not(.dt-is-active) .scard__footer-rating-kp {
  color: color-mix(in srgb, var(--rating-kp-color) 85%, transparent);   /* цвет бейджа KP */
  -webkit-text-stroke: 0.6px rgba(0,0,0,.25);
   border: 1px solid rgba(0,0,0,.1);
}
body:not(.dt-is-active) .scard__footer-rating-site {
  color: color-mix(in srgb, var(--rating-site-color) 85%, transparent);  /* цвет бейджа Site */
  -webkit-text-stroke: 0.6px rgba(0,0,0,.25);
   border: 1px solid rgba(0,0,0,.1);
}
/* ::: Мини-блок: значения рейтингов */
.scard__footer-rating-value {
  font-weight: 600;
  font-size: 15px;
  color: var(--tt, #111);
}
/* ::: Мини-блок: количество голосов */
.scard__footer-rating-votes,
.scard__footer-comments-votes {
  font-size: 12px;
  color: var(--tt-fade);
}
/* ::: Мини-блок: иконка комментариев */
.scard__footer-comments i,
.scard__footer-comments span[aria-hidden="true"] {
  color: var(--accent-red);
}
/* ::: Мини-блок: обёртка кнопки «Смотреть онлайн» */
.scard__footer-btn-wrap {
  display: flex;                             /* контейнер под кнопку */
  flex: 0 0 auto;                            /* не растягивать по ширине */
  align-self: center;                        /* выравнивание в своей строке */
  max-width: none;                           /* без ограничений по контейнеру */
  order: 10;                                 /* сдвигаем вправо в конце потока */
}
/* ::: Мини-блок: стили самой кнопки */
.scard__btn {
  display: inline-flex;                      /* строчно-блочная кнопка с flex */
  align-items: center;                       /* контент по вертикали центр */
  justify-content: center;                   /* контент по горизонтали центр */
  white-space: nowrap;                       /* не переносить текст */
  box-sizing: border-box;                    /* учитываем padding в ширине */
  border-radius: var(--bdrs);                /* скругление углов */
  font-weight: 600;                          /* насыщенность */
  max-width: 240px;                           
  width: 100%;
  height: 44px;                              /* высота кнопки */
  padding: 0 20px;                           /* внутренние отступы */
  font-size: 16px;                           /* размер шрифта */
  border: 1px solid rgba(255,255,255,.1);
}
body:not(.dt-is-active) .scard__btn {
  border: 1px solid rgba(0,0,0,.1);
}

/* :: Подблок: Рейтинг и кнопка "Смотреть онлайн" (только для телефонов) */
/* ::: мини-блок: Скрыть оформление блока */  
.scard__descr-top {
  display: none;
}
/* ::: мини-блок: Скрыть фиксированную кнопку "Смотреть онлайн" на экранах >470px */
  #scard__mobile-btn-fixed {
  display: none;
}

/* : Блок: Карточка ShortStory */
/* :: Подблок: позиция первой карточки */
/* ::: Мини-блок: сдвигаем вверх первую карточку в списке */
.scard:first-child {
  margin-top: -20px;
}
/* :: Подблок: нижняя граница карточки (только в светлой теме) */
/* ::: Мини-блок: выделение последней карточки в списке */
body:not(.dt-is-active) .scard {
  border-bottom: 5px solid #131720;
}

/* ========== ВЫКЛЮЧЕННЫЕ СТИЛИ В HTML ========== */
/* : Блок: Карточка FullStory / Shortstory */
/* :: Подблок: основной контейнер карточки */
/* ::: Мини-блок: компоновка постера и контента */
.scard__main {
  display: flex;
  gap: 16px;
  align-items: stretch;
}
/* :: Подблок: правая часть карточки */
/* ::: Мини-блок: вертикальная структура + адаптация под высоту */
.scard__bottom {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  width: 100%;
  padding-top: 0;
  min-height: 100%;
  height: 100%;
}
/* :: Подблок: Описание карточки Shortstory */
/* ::: Мини-блок: общий стиль списка описания */
.scard__list__shortstory {
  list-style: none;              /* Маркеры отключены */
  padding: 0;                    /* Внутренние отступы */
  margin: 0 0 8px 0;             /* Внешние отступы */
  line-height: 1.6;              /* Межстрочный интервал */
  font-size: 15px;               /* Размер шрифта */
  word-break: break-word;        /* Разрешён перенос слов */
  overflow-wrap: break-word;     /* Резервный перенос */
  max-width: 100%;               /* Текст на ширину блока */
  color: var(--tt-subtitle);     /* Цвет по умолчанию — для тёмной темы */
}
/* ::: Мини-блок: оформление строки описания */
.scard__list__shortstory li {
  position: relative;
  color: var(--tt-fade);
}
/* ::: Мини-блок: отступ между строками */
.scard__list__shortstory li + li {
  margin-top: 8px;
}
/* ::: Мини-блок: ключ — параметр внутри строки */
.scard__list__shortstory li > span:first-child {
  font-weight: 700;
  color: var(--tt);
}
/* ::: Мини-блок: оформление ссылок в описании */
.scard__list__shortstory li a {
  color: var(--accent-red);
}
/* ::: Мини-блок: увеличенный отступ для специальных блоков */
.scard__list__shortstory li + li.scard__list-margin {
  margin-top: 22px;
}
/* ::: Мини-блок: внешние отступы описания */
.scard__descr-shortspecs {
  padding-top: 6px;
  padding-bottom: 6px;
}
/* ::: Мини-блок: обёртка мета-информации футера */
.scard__footer-item {
  gap: 5px;                                  /* зазор иконка/текст */
  display: flex;                             /* горизонтальная укладка */
  align-items: center;                       /* выравнивание по центру */
  color: var(--tt-fade);                     /* приглушённый цвет */
  white-space: nowrap;                       /* запрет переноса строк */
  min-width: min-content;                    /* не схлопывать содержимое */
}

/* :: Подблок: Описание карточки Fullstory */
/* ::: Мини-блок: общий стиль списка описания (для базового описания) */
.scard__list__fullstory {
  list-style: none;              /* Без маркеров */
  padding: 0;                    /* Обнуление внутренних отступов */
  margin: 0 0 4px 0;             /* Отступ снизу */
  line-height: 1.4;              /* Межстрочный интервал */
  font-size: 14px;               /* Размер шрифта */
  word-break: break-word;        /* Перенос слов */
  overflow-wrap: break-word;     /* Резервный перенос */
  max-width: 100%;               /* Максимальная ширина */
  color: var(--tt);              /* Цвет фона */
}
/* ::: Мини-блок: элемент списка */
.scard__list__fullstory li {
  position: relative;
  color: var(--tt-fade);        /* Цвет вторичного текста */
}
/* ::: Мини-блок: отступ между элементами */
.scard__list__fullstory li + li {
  margin-top: 6px;              
}
/* ::: Мини-блок: ключевой параметр (название поля) */
.scard__list__fullstory li > span:first-child {
  font-weight: 700;             /* Жирный шрифт */
  color: var(--tt);             /* Основной текст */
}
/* ::: Мини-блок: ссылки внутри описания */
.scard__list__fullstory li a {
  color: var(--accent-red); 
}
/* ::: Мини-блок: дополнительный отступ */
.scard__list__fullstory li + li.scard__list-margin {
  margin-top: 22px;
}
/* ============================================== */

/* : Блок: Модальное окно трейлера с кнопки на постере */
/* :: Подблок: оболочка окна (затемнение + размытие) */
/* ::: Мини-блок: фиксированное позиционирование + фильтр */
.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-top: 15px;
  width: 100%;
}

/* :: Подблок: заголовок трейлера */
/* ::: Мини-блок: отступы и размер */
.trl h1 {
  margin-bottom: 15px;
  margin-top: 20px;
  font-size: 24px;
}

/* :: Подблок: описание (с обрезкой текста) */
/* ::: Мини-блок: ограничение строк с многоточием */
.trl .page__text1 {
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* :: Подблок: поведение страницы при открытии окна */
/* ::: Мини-блок: отключение прокрутки фона */
.trl-is-opened {
  overflow: hidden;
}

/* :: Подблок: правки футера в модальном режиме */
/* ::: Мини-блок: переопределение структуры футера */
.scard__footer {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 10px 20px;
}

/* SIDEBAR
----------------------------------------------- */
.sb__title {text-transform: uppercase; color: var(--accent-red); font-weight: 600; margin-bottom: 20px; 
	display: flex; align-items: center; gap: 20px; font-size: 15px;}
.sb__title:after {width: 50px; height: 2px; background-color: var(--accent-red); content: '';}
.sb:not(:last-child) {margin-bottom: 40px;}
.sb__nav {background-color: var(--bg-dark-lighter); border-radius: var(--bdrs); padding: 16px 20px; 
	display: grid; gap: 0 20px; grid-template-columns: repeat(2,minmax(0,1fr));}
.sb__nav a {display: block; padding: 4px 0; font-size: 14px; 
	overflow: hidden;  text-overflow: ellipsis; white-space: nowrap;}
.popular-item, .lcomm {background-color: var(--bg-dark-lighter); border-radius: var(--bdrs); 
	padding: 13px; gap: 15px; flex: 1 0 280px; min-width: 280px;}
.popular-item__img {width: 50px; height: 75px; border-radius: 5px;}
.popular-item__meta {color: var(--tt-dark-fade); font-size: 14px; margin: 5px 0;}
.popular-item__rating::before {color: var(--accent-red); margin-right: 8px; font-size: 12px;}
.lcomm__text {border-radius: var(--bdrs); background-color: var(--bg-dark); padding: 10px; font-size: 13px;  margin: 13px 0;}
.lcomm__img {width: 24px; height: 24px; border-radius: 50%;}
.lcomm__date {color: var(--tt-dark-fade); font-weight: 400;}
.lcomm__meta, .lcomm__link {font-size: 12px; font-weight: 600;}
.lcomm__text .line-clamp {-webkit-line-clamp: 5;}


/* FOOTER, PAGINATION
----------------------------------------------- */
.pagination {gap: 20px 20px; padding-top: 20px;}
.pagination__pages a, .pagination__pages span {display: grid; place-items: center; 
	height: 36px; min-width: 36px; padding: 0 10px; border-radius: 18px;}
.pagination__btn-loader {width: 100%;}
.pagination__btn-loader a, .pagination__btn-loader span {height: 40px; border-radius: var(--bdrs); 
	background-color: var(--bg-darker); border: 0; color: var(--tt-fade); width: 370px;}
.pagination__pages {gap: 5px; font-size: 15px; font-weight: 700;}
.pagination__pages span:not(.nav_ext) {background-color: var(--accent-red); color: #fff; box-shadow: var(--bsh);}
.pagination__btns {height: 36px; border-radius: 18px; overflow: hidden;
	background-color: var(--accent-red); color: #fff; box-shadow: var(--bsh);}
.pagination__btns > * {width: 48px; display: grid; place-items: center; color: #fff; font-size: 18px;}
.pagination__btns > span {opacity: 0.8;}


/* INNER PAGE
----------------------------------------------- */
/* === Оформление подзаголовка контентного блока (Смотреть онлайн) === */
.page__subtitle {
  text-align: center;                   /* Выравнивание текста по центру */
  font-size: 21px;                      /* Размер шрифта */
  font-weight: 600;                     /* Полужирное начертание */
  border-top: 1px solid var(--bdc);     /* Верхняя граница: 1px, цвет из переменной */
  margin: 0 -20px;                      /* Отрицательные внешние отступы по бокам — растягивают на всю ширину */
  padding: 20px;                        /* Внутренние отступы сверху и снизу */
}

/* === Светлая тема: утолщаем линию и задаём тёмный цвет границы сверху === */
body:not(.dt-is-active) .page__subtitle {
  border-top-width: 5px;                /* Делаем границу сверху толще — 5px */
  border-top-color: #131720;            /* Жёстко задаём тёмный цвет линии */
}

.page .sect {margin-bottom: 20px;}
.page .sb__title {font-weight: 700;}
.page .scard {margin-bottom: 20px;}
.page .scard__footer {padding: 0;}
.page__text {margin-top: -8px;}
.page__related {
  background-color: var(--bg-dark); /* светлый фон в светлой теме */
  padding: 20px; 
  margin-left: -20px; 
  margin-right: -20px;
}

.page__related .sect__content:not(.owl-carousel) > .carou {width: calc((100% - 80px)/5); margin-right: 20px; flex-shrink: 0;}
.page__related .sect__content:not(.owl-carousel) {display: flex; overflow: hidden;}

/* === Обёртка плеера: Динамичный светлый фон блока плеера под светлую тему === */
.page__player {
  position: relative;
  margin: 0 -20px;
  background-color: var(--bg-light);
  padding-bottom: clamp(20px, 4vw, 40px);
}

.dt-is-active .page__player {
  background-color: var(--bg-dark-lighter);
}

.tabs-block__select {gap: 10px; padding: 20px;}
.tabs-block__select button {height: 36px; padding: 0 10px; border-radius: var(--bdrs); 
	background-color: var(--bg-tab); color: #fff;}
.tabs-block__select button.is-active, .tabs-block__select button:hover {background: var(--accent-red); color: #fff;}
.page__complaint a {position: absolute; right: 20px; top: 20px; display: flex; align-items: center; height: 36px; 
	border-radius: var(--bdrs); padding: 0 10px; gap: 10px; background-color: var(--bg-tab); color: #fff;}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.page__title {margin-bottom: 30px; font-size: 24px;}
.full-text {line-height: 1.6; font-size: 15px; word-wrap: break-word;}
.full-text a {text-decoration: underline; color: #5278b1;}
/* === Описание внутри карточки === */
/* Уменьшаем нижний отступ элементов внутри .full-text */

.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: 10px;
}

.full-text > img[style*="left"], .full-text > .highslide img[style*="left"] {margin:0 10px 10px 0;}
.full-text > img[style*="right"], .full-text > .highslide img[style*="right"] {margin:0 0 10px 10px;}
.full-text > ul li, .full-text > ol li {padding-left: 60px; position: relative;}
.full-text > ul li:before {content: ''; width: 8px; height: 8px; border-radius: 50%; 
	border: 3px solid #fcc506; position: absolute; top: 6px; left: 34px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num); counter-increment: num; background-color: #fcc506; color: #000; 
	position: absolute; top: -3px; left: 17px; width: 24px; height: 30px; font-size: 14px; font-weight: 600;
	display: flex; justify-content: flex-end; align-items: center; padding-right: 6px; box-sizing: border-box;}
.full-text > ol li:after {content: ''; border: 10px solid transparent; border-left-color: #fcc506; 
	position: absolute; left: 41px; top: -3px; transform: scale(0.66,1.5); transform-origin: 0 0;}
.full-text > ul li + li, .full-text > ol li + li {margin-top: 10px;}
.full-text table, .video-inside > * {width:100%;}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 60%; position: relative;}
.video-responsive > iframe, .video-responsive > video {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 21px; margin-bottom: 20px;}
/* ::: Блок: подкатегории (FullStory) */
.scard__subgenre-wrap {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* ::: Модификатор капсул для поджанров */
.scard__category--subgenres a,
.scard__category--subgenres span {
  font-size: 13px;
  line-height: 1;
  padding: 6px 12px;
  opacity: 0.95;
}
/* ::: Hover: чуть мягче чем в ShortStory */
.scard__category--subgenres a:hover,
.scard__category--subgenres span:hover {
  opacity: 1;
  transform: scale(1.02);
  transition: transform .15s ease, opacity .15s ease;
}


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

.ac-toggle.ac-form {cursor: pointer;}
.ac-form__header input, .ac-toggle .ac-form__editor textarea {border-radius: var(--bdrs);}
.ac-toggle, .ac-toggle .ac-form__editor {position: relative;}
.ac-toggle .ac-form__bottom button {position: absolute; bottom: 20px; right: 10px; z-index: 10; pointer-events: none;}
.ac-form .bb-btn {display: none;}
.ac-form .bb-pane {background: none; box-shadow: none; border: 0; position: absolute; left: 0; bottom: 0; right: 0;}
.ac-form #b_emo, .ac-form #b_leech, .ac-form #b_quote, .ac-form #b_spoiler, 
.ac-form #b_b, .ac-form #b_u, .ac-form #b_s, .ac-form #b_color, .ac-form #b_hide {display: grid;}
.ac-toggle .bb-btn {pointer-events: none;}
.ac-toggle .ac-form__editor .bb-editor textarea {height: 120px; resize: none;}
.ac-form__editor .bb-editor textarea {height: 140px; line-height: 1.4; padding-bottom: 40px;}
.comments_subscribe + br, .ac-form .bb-editor + br {display: none;}
.ac-toggle .has-checkbox {display: none;}
.mass_comments_action {display: flex; align-items: center; flex-wrap: wrap; gap: 10px;}
.mass_comments_action select {flex: 1 1 0; margin: 0 -28px 0 0; border-radius: 0; box-shadow: none; min-width: 60%;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}
.comm__title {font-size: 18px; margin-bottom: 20px; margin-left: 50px;}
.comm {margin-bottom: 30px; position: relative;}
.comm__bd {border-radius: var(--bdrs); box-shadow: var(--bsh-comm); margin-top: 6px; margin-left: 20px; overflow: hidden;}
.comm__img {width: 40px; height: 40px; border-radius: 50%; position: absolute; left: 0px; top: -6px;
	box-shadow: var(--bsh-comm); border: 4px solid var(--bg);}
.comm__img::before {content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: var(--ui-red); 
	position: absolute; right: -2px; top: -2px; z-index: 5; border: 2px solid var(--bg);}
.comm--online .comm__img::before {background-color: var(--ui-green);}
.comm__letter {width: 100%; height: 100%; text-transform: uppercase; border-radius: inherit;
	position: absolute; left: 0; top: 0; color: #fff; font-size: 18px; font-weight: var(--ui-fw-bolder);}
.comm__author, .comm__author a {color: var(--tt); font-weight: 700; font-size: 14px;}
.comm__date {color: var(--tt-fade); font-size: 14px;}
.comm__main {padding: 10px 20px;}
.comm__action {gap: 20px; font-size: 12px;} 
.comm__footer {padding: 10px 20px; background-color: var(--bg-darker);}
.comm__action li, .comm__action li a {color: var(--tt-fade); cursor: pointer; gap: 8px; display: flex; align-items: center;}
.comm__ctrl, .comm__ctrl a {font-size: 15px; gap: 10px 15px; color: var(--tt-fade);}
.comm__ctrl li.has-checkbox {transform: scale(0.8,0.8); margin: 0 -10px 0 -5px;}
.comm__ctrl li.has-checkbox input {border-color: var(--tt-fade);}
.comm__rating {gap: 1px; font-size: 12px;margin-bottom: -10px;}
.comm__rating > * {display: flex; gap: 5px; height: 20px; align-items: center; 
	background-color: var(--bg-darker); padding: 0 10px;}
.comm__rating > * .far {color: var(--ui-green);}
.comm__rating > * + * .far  {color: var(--ui-red);}
.comm__meta {display: flex; align-items: center; gap: 20px;}
.comm__header {padding-left: 50px;}


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

.scard__imdb-rating {
    color: #3CB371;          /* Белый цвет текста */
    background-color: #000;  /* Черный цвет фона */
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
    margin-top: 10px;
    display: inline-block;
}

/*----------------------------------
  ГЛОБАЛЬНАЯ АДАПТИВНАЯ ВЕРСТКА
-----------------------------------*/
/* 
: Блок: Адаптация ≥1440px (Большие экраны / FullHD / 4K / Ultrawide)
*/
@media screen and (min-width: 1439px) {

  /* :: Подблок: глобальные переменные */
  /* ::: Мини-блок: глобальные отступы (внутренние и внешние) */
  :root {
    --indent-negative: -28px; 
    --indent: 28px;           
  }

  /* :: Подблок: основной контейнер контента (центральная область сайта) */
  /* ::: Мини-блок: ширина основного контейнера */
  .wrapper__container {
    max-width: 1400px;
  }

  /* :: Подблок: Левое меню (Sidebar) */
  /* ::: Мини-блок: ширина меню */
  .sidebar {
    width: 350px; 
  }

  /* :: Подблок: Контентная часть (основной блок) */
  /* ::: Мини-блок: боковая колонка контентной части */
  .content__col-side {
    margin-top: 56px; /* 40px → +25% */
  }

  /* :: Подблок: Карусель на главной */
  /* ::: Мини-блок: параметры контейнера карусели */
  .carousel {
    margin: 0 var(--indent-negative);
    padding: 28px calc(var(--indent) * 2); /* 20px → +30% */
  }
  /* ::: Мини-блок: размеры элементов внутри карусели */
  .carousel__content:not(.owl-carousel) > .carou,
  .page__related .sect__content:not(.owl-carousel) > .carou {
    width: calc((100% - 140px) / 6); 
  }
    
  /* :: Подблок: Комментарии */
  /* ::: мини-блок: нижняя часть формы */
  .ac-form__bottom { display: flex; justify-content: flex-end; gap: 10px; }
  .ac-form__bottom button { width: auto; }

  /* ::: мини-блок: скрытые элементы формы */
  .ac-form__header > span,
  .comm__rating::before {
    display: none;
  }
  .ac-form #b_color {
    display: none;
  }
  /* ::: мини-блок: поведение кнопки при toggle */
  .ac-toggle .ac-form__bottom button { position: static; width: auto; }
}

/* 
: Блок: Адаптация от 1220px до 1439px (ноутбуки / средние экраны)
*/
@media screen and (min-width: 1220px) and (max-width: 1438.98px) {

  /* :: Подблок: глобальные переменные */
  /* ::: Мини-блок: глобальные отступы (внутренние и внешние) */
  :root {
    --indent-negative: -24px;
    --indent: 24px;          
  }

  /* :: Подблок: основной контейнер контента (центральная область сайта) */
  /* ::: Мини-блок: ширина основного контейнера */
  .wrapper__container {
    max-width: 1200px;
  }

  /* :: Подблок: Левое меню (Sidebar) */
  /* ::: Мини-блок: ширина меню */
  .sidebar {
    width: 300px; 
  }

  /* :: Подблок: Контентная часть (основной блок) */
  /* ::: Мини-блок: боковая колонка контентной части */
  .content__col-side {
    margin-top: 48px;
  }

  /* :: Подблок: Карусель на главной */
  /* ::: Мини-блок: параметры контейнера карусели */
  .carousel {
    margin: 0 var(--indent-negative);
    padding: 24px calc(var(--indent) * 2);
  }
  /* ::: Мини-блок: размеры элементов внутри карусели */
  .carousel__content:not(.owl-carousel) > .carou,
  .page__related .sect__content:not(.owl-carousel) > .carou {
    width: calc((100% - 120px) / 6);
  }

  /* :: Подблок: Комментарии */
  /* ::: мини-блок: нижняя часть формы */
  .ac-form__bottom { display: flex; justify-content: flex-end; gap: 10px; }
  .ac-form__bottom button { width: auto; }

  /* ::: мини-блок: скрытые элементы формы */
  .ac-form__header > span,
  .comm__rating::before {
    display: none;
  }
  .ac-form #b_color {
    display: none;
  }
  /* ::: мини-блок: поведение кнопки при toggle */
  .ac-toggle .ac-form__bottom button { position: static; width: auto; }
}

/* 
: Блок: Адаптация до 1220px (планшеты и маленькие ноутбуки)
*/
@media screen and (max-width: 1220px) {

  /* :: Подблок: Глобальные переменные */
  /* ::: мини-блок: задаём отступы */
  :root {
    --indent-negative: -20px;
    --indent: 20px;
  }

  /* :: Подблок: Тело сайта (body) */
  /* ::: мини-блок: отключаем фон и убираем отступы */
  body {
    background-image: none;
    padding: 0;
  }

  /* :: Подблок: Обёртка сайта (wrapper) */
  /* ::: мини-блок: сброс фона и паддингов */
  .wrapper {
    padding: 0;
    background-image: none;
    overflow: hidden;
  }
  /* ::: мини-блок: основной контейнер */
  .wrapper__container {
    max-width: 1000px;
  }
  /* ::: мини-блок: контейнер на главной */
  .wrapper__container--main {
    border-radius: 0;
  }

  /* :: Подблок: Шапка сайта (header) */
  /* ::: мини-блок: главное меню */
  .header .header__menu {
    display: none;
  }
  /* ::: мини-блок: строка поиска */
  .header__search {
    position: absolute;
    inset: 15px 0px;
    margin: 0;
    width: 100%;
  }
  /* ::: мини-блок: логотип */
  .header__logo {
    flex: 1 1 0;
    max-width: 100%;
    min-width: 60px;
    margin-right: 0;
  }
  /* ::: мини-блок: кнопка входа */
  .header__btn-login {
    background-color: var(--bg-dark-lighter);
    color: var(--tt-dark);
    padding: 0 10px;
    font-weight: 400;
  }
  /* ::: мини-блок: стилизация кнопки на главной */
  .wrapper__main-page .header__btn-login {
    background-color: rgba(255,255,255,0.15);
    color: #fff;
  }
  /* ::: мини-блок: кнопка бургер-меню */
  .header__btn-menu {
    display: flex;
    margin-left: 20px;
    padding: 0;
    width: 40px;
    font-size: 18px;
  }

  /* :: Подблок: Карусель на главной */
  /* ::: мини-блок: контейнер карусели */
  .carousel {
    border-radius: 0;
    margin: 0 var(--indent-negative);
    padding: 20px calc(var(--indent) * 2);
  }
  /* ::: мини-блок: элементы внутри карусели */
  .carousel__content:not(.owl-carousel) > .carou,
  .page__related .sect__content:not(.owl-carousel) > .carou {
    width: calc((100% - 100px) / 6);
  }

  /* :: Подблок: Контент сайта (контейнеры) */
  /* ::: мини-блок: структура колонок */
  .content__cols {
    display: block;
  }
  /* ::: мини-блок: боковая колонка */
  .content__col-side {
    margin-top: 40px;
  }

  /* :: Подблок: Подвал сайта (footer) */
  /* ::: мини-блок: паддинги подвала */
  .footer {
    padding: 20px 0;
  }
    
  /* :: Подблок: Комментарии */
  /* ::: мини-блок: нижняя часть формы */
  .ac-form__bottom { display: flex; justify-content: flex-end; gap: 10px; }
  .ac-form__bottom button { width: auto; }

  /* ::: мини-блок: скрытые элементы формы */
  .ac-form__header > span,
  .comm__rating::before {
    display: none;
  }
  .ac-form #b_color {
    display: none;
  }
  /* ::: мини-блок: поведение кнопки при toggle */
  .ac-toggle .ac-form__bottom button { position: static; width: auto; }
}

/* 
: Блок: Адаптация до 991px (планшеты / узкие экраны)
*/
@media screen and (max-width: 991px) {

  /* :: Подблок: Основной контейнер */
  /* ::: мини-блок: максимальная ширина */
  .wrapper__container {
    max-width: 800px;
  }

  /* :: Подблок: Карусель */
  /* ::: мини-блок: ширина элементов */
  .carousel__content:not(.owl-carousel) > .carou,
  .page__related .sect__content:not(.owl-carousel) > .carou {
    width: calc((100% - 80px) / 5);
  }
    
  /* :: Подблок: сетка карточки */
  /* ::: Мини-блок: сетка карточки (заголовок + лайки вынесены кверху) */
  .scard {
    display: grid;
    grid-template-areas:
      "sleft sheader"
      "sleft   sdescr"
      "sleft   sfooter";
    grid-template-rows: min-content 1fr min-content;
    grid-template-columns: 214px minmax(0, 1fr); 
    gap: 10px 20px;
  }
  /* :: Мини-блок: постер карточки */
  .scard__img {
    width: 214px;  
    height: 321px;  
  }

  /* :: Подблок: Карточки контента */
  /* ::: мини-блок: внутренние отступы шапки и футера */
  .scard__header,
  .scard__footer {
    padding: 0;
  }
  /* ::: мини-блок: позиционирование кнопки трейлера */
  .scard__btn-trailer {
    bottom: 20px;
  }
  /* ::: мини-блок: отступ между элементами списка */
  .scard__list li + li.scard__list-margin {
    margin-top: 6px;
  }

  /* :: Подблок: Пагинация */
  /* ::: мини-блок: зазор между элементами */
  .pagination {
    gap: 10px;
  }
  /* ::: мини-блок: кнопка "Загрузить ещё" */
  .pagination__btn-loader a,
  .pagination__btn-loader span {
    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;
  }
}

/* 
: Блок: Адаптация до 767px (мобильные устройства / смартфоны)
*/
@media screen and (max-width: 767px) {

  /* :: Подблок: Основной контейнер */
  /* ::: мини-блок: максимальная ширина */
  .wrapper__container {
    max-width: 640px;
  }

  /* :: Подблок: Авторизация */
  /* ::: мини-блок: отступы */
  .login__header,
  .login__content {
    padding: 20px;
  }
  /* ::: мини-блок: блок с соцсетями */
  .login__social {
    margin-bottom: 0;
  }
  /* ::: мини-блок: разделитель */
  .login__row::before {
    height: 40px;
  }
  /* ::: мини-блок: поля ввода */
  .login__input input {
    height: 40px;
    line-height: 40px;
    box-shadow: none;
    border: 0;
    background-color: var(--bg-darker);
  }
  /* ::: мини-блок: кнопки соцсетей */
  .login__social a {
    border-radius: var(--bdrs);
    height: 30px;
    flex: 1 0 30%;
  }
  .login__social a img {
    left: 50%;
    margin-left: -10px;
  }

  /* :: Подблок: Карусель */
  /* ::: мини-блок: ширина элементов */
  .carousel__content:not(.owl-carousel) > .carou,
  .page__related .sect__content:not(.owl-carousel) > .carou {
    width: calc((100% - 40px) / 3);
  }

  /* :: Подблок: Карточки shortstory и fullstory */    
  /* ::: мини-блок: сетка карточки (заголовок + лайки вынесены кверху) */
  .scard {
    display: grid;
    grid-template-areas:
      "sleft sheader"
      "sleft    sdescr"
      "sleft   sfooter"; 
    grid-template-rows: min-content 1fr min-content;
    grid-template-columns: 186px minmax(0, 1fr);
    gap: 10px 20px;
  }
  /* ::: мини-блок: изображение карточки */
  .scard__img {
    width: 186px;
    height: 279px;
  }
  /* ::: мини-блок: заголовок и капсула (общий контейнер) */
  .scard__header {
    display: flex;                       
    justify-content: space-between;      
    align-items: flex-start;
    margin-bottom: 6px;
  }
  /* ::: мини-блок: лайки и дизлайки 
  .scard__rating-likes {
    display: inline-flex;
  }*/
  /* ::: мини-блок: заголовок */
  .scard__title {
    font-size: 18px;
    margin-bottom: 4px;
  }
  /* ::: мини-блок: поведение футера */
  .scard__footer-item {
    justify-content: flex-start;
    font-size: 12px;
  }

  /* :: Подблок: капсула (правый-низ постера) */
  /* ::: мини-блок: десктоп обёртка капсулы скрывается */
  .scard__capsule-wrap-desktop {
    display: none;
  }
  /* ::: мини-блок: телефон обёртка капсулы (правый-низ постера) */
  .scard__capsule-wrap-phone {
    display: inline-block;        /* делает блок обжимным по содержимому */
    width: fit-content;           /* ширина блока по ширине контента */
    position: absolute;           /* фиксируем в углу постера */
    overflow: visible;            /* позволяет тени и скруглениям выходить наружу */
    box-shadow: none;             /* обёртка без тени */
    right: 4px;                   /* смещение от правого края постера */     
    bottom: 4px;                  /* смещение от нижнего края постера */
    z-index: 5;                   /* фиксирует слоем над постером */
  }
  /* ::: Мини-блок: капсула категории для ShortStory */ 
  .scard__category { 
    display: flex;  
    box-shadow: none;
  }
  /* ::: Мини-блок: категории ShortStory */
  .scard__category a,
  .scard__category span {
    padding: 0 10px;
    font-size: 13px;
  }
  /* ::: Мини-блок: капсула реакций (лайк / дизлайк) */
  .scard__rating-likes {
    display: inline-flex;
    height: 30px;
    width: 100px;
  }
  /* ::: Мини-блок: кнопки лайка / дизлайка */
  .scard__rating-likes a {
    padding: 0 6px;
    gap: 4px;
  }
    
  /* :: Подблок: Подвал сайта */
  /* ::: мини-блок: выравнивание текста */
  .footer__text {
    min-width: 100%;
    text-align: center;
  }

  /* :: Подблок: Кнопка жалобы */
  /* ::: мини-блок: оформление кнопки */
  .page__complaint {
    padding: 10px 20px;
    margin-top: 20px;
  }
  .page__complaint a {
    position: static;
    width: 100%;
    justify-content: center;
  }

  /* :: Подблок: Переключатели вкладок */
  /* ::: мини-блок: поведение кнопок */
  .tabs-block__select button {
    flex-grow: 1;
  }

  /* :: Подблок: Секция "Смотрите также" */
  /* ::: мини-блок: отступы и паддинги */
  .page__related {
    padding: 20px 40px;
    margin-left: -20px;
    margin-right: -20px;
  }
  .page__related .sb__title {
    margin-left: -20px;
  }

  /* :: Подблок: Заголовки страниц */
  /* ::: мини-блок: заголовок страницы */
  .page__title {
    font-size: 24px;
  }
  /* ::: мини-блок: заголовки в тексте */
  .full-text h1,
  .full-text h2,
  .full-text h3,
  .full-text h4,
  .full-text h5 {
    font-size: 18px;
  }

  /* :: Подблок: Вступы и цитаты */
  /* ::: мини-блок: отступы и паддинги */
  .page__intro,
  .page__text .quote {
    margin-left: var(--indent-negative);
    margin-right: var(--indent-negative);
    padding-right: var(--indent);
  }

  /* :: Подблок: Комментарии */
  /* ::: мини-блок: нижняя часть формы */
  .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__rating::before {
    display: none;
  }
  .ac-form #b_color {
    display: none;
  }
  /* ::: мини-блок: поведение кнопки при toggle */
  .ac-toggle .ac-form__bottom button {
    position: static;
    width: 100%;
  }

  /* :: Подблок: Элементы комментариев */
  /* ::: мини-блок: метаданные */
  .comm__meta {
    display: block;
  }
  /* ::: мини-блок: аватар */
  .comm__img {
    position: relative;
    left: 0;
    top: 0;
    margin-right: 10px;
    width: 40px;
    height: 40px;
  }
  /* ::: мини-блок: основной блок */
  .comm__main,
  .comm__footer {
    padding-left: 10px;
  }
  /* ::: мини-блок: заголовок комментария */
  .comm__header {
    padding-left: 0;
  }
  /* ::: мини-блок: элементы рейтинга */
  .comm__rating > * {
    padding: 0 6px;
  }
  /* ::: мини-блок: отступ блока комментария */
  .comm__bd {
    margin-left: 0;
  }
}

/* 
: Блок: Адаптация до 575px (мобильные устройства — узкие экраны)
*/
@media screen and (max-width: 575px) {

  /* :: Подблок: Основной контейнер */
  /* ::: мини-блок: максимальная ширина */
  .wrapper__container {
    max-width: 470px;
  }
  /* ::: мини-блок: сетка карточки (моб. столбик) */
  .scard {
    grid-template-areas:
      "sheader sheader"   /* заголовок (и капсула) сверху, на всю ширину */
      "sleft   sleft"     /* постер по центру, отдельной строкой */
      "sdescr  sdescr"    /* описание/мета под постером */
      "sfooter sfooter";  /* рейтинги/кнопки ниже */
    grid-template-rows: min-content min-content min-content min-content;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px 12px;
  }
  /* ::: мини-блок: изображение карточки (центр) */
  .scard__left {
    grid-area: sleft;
    justify-self: center;
  }
  .scard__img {
    width: 240px;
    height: 360px;
  }
  /* ::: мини-блок: заголовок (центрируем шапку) */
  .scard__header {
    display: block;
    text-align: center;
    margin-bottom: 6px;
  }
/* ::: мини-блок: описание/мета (идёт под постером) */
  .scard__descr {
    grid-area: sdescr;
  }
    
/* :: Подблок: Шапка карточек для shortstory и fullstory */
/* ::: мини-блок: заголовок */
.scard__title-wrap-fullstory {
  grid-template-columns: 1fr;   
  justify-items: center;        
}
/* ::: мини-блок: заголовок и подзаголовок */
.scard__title-fullstory,
.scard__subtitle-fullstory {
  text-align: center;
}
.scard__title {
  font-size: 18px;
  margin-bottom: 4px;
}    
    
/* :: Подблок: Футер карточек (shortstory и fullstory) */
  /* ::: мини-блок: контейнер футера колонкой */
  .scard__footer {
    display:flex; 
    flex-direction:column; 
    align-items:stretch;
    gap:8px 0;
    max-width:470px;      
    width:100%;
    margin:0 auto;  
  }
  /* ::: мини-блок: футер (рейтинги/кнопки) */
  .scard__footer-item {
    justify-content: flex-start;
    font-size: 12px;
  }
  /* ::: мини-блок: мета (IMDb/КП) — над кнопкой */
  .scard__footer-meta {
    order:1; 
    justify-content:center; 
    flex-wrap:wrap;
    gap:6px 10px; 
    min-width:0; 
    white-space:normal;
  }   
  /* ::: мини-блок: обёртка кнопки «Смотреть онлайн» */
  .scard__footer-btn-wrap{
    order:2; 
    width:100%;   
  }
  /* ::: мини-блок: кнопка «Смотреть онлайн» на всю ширину */
  .scard__btn {
    width: 100%;
    height: 44px;             
    font-size: 14px;
    max-width: none;
    padding: 0 14px;
  }
}

/* 
: Блок: Адаптация до 470px (минимальная ширина для смартфонов)
*/
@media screen and (max-width: 470px) {

  /* :: Подблок: Основной контейнер */
  /* ::: мини-блок: кастомный контейнер */
  .wrapper__container123 {
    max-width: 360px;
  }

  /* :: Подблок: Элементы шапки */
  /* ::: мини-блок: скрытие избранного */
  .header__favlink {
    display: none;
  }
  /* ::: мини-блок: кнопки в шапке */
  .header__btn-menu,
  .header__btn-login {
    margin-left: 10px;
  }
  /* ::: мини-блок: логотип */
  .header__logo {
    margin-right: 0;
    font-size: 18px;
  }

  /* :: Подблок: Карусель */
  /* ::: мини-блок: два элемента в ряд */
  .carousel__content:not(.owl-carousel) > .carou,
  .page__related .sect__content:not(.owl-carousel) > .carou {
    width: calc((100% - 20px)/2);
  }

  /* :: Подблок: Подписи и элементы формы */
  /* ::: мини-блок: подпись под чекбоксом */
  .ac-form__bottom .comments_subscribe {
    font-size: 13px;
  }

  /* :: Подблок: Медиа в полной новости */
  /* ::: мини-блок: iframe — вынос за контейнер */
  .full-text iframe {
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
    height: 260px;
    margin-left: -20px;
    margin-right: -20px;
  }
}

/* -----------------------------
   СТИЛИ ДЛЯ OWL CAROUSEL v2.3.4
-------------------------------*/

/* -- Основная обёртка карусели -- */
.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-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}
/* Слои при входе/выходе анимации */
.owl-animated-in {
  z-index: 0;
}
.owl-animated-out {
  z-index: 1;
}

/* -- АНИМАЦИИ -- */
/* Плавное исчезновение */
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
/* Плавное появление */
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* Увеличение (scale) при появлении */
.scaleIn {
  animation-name: scaleIn;
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.66, 0.66);
    transform-origin: center top;
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
    transform-origin: center top;
  }
}
/* Уменьшение при скрытии */
.scaleOut {
  animation-name: scaleOut;
}
@keyframes scaleOut {
  from {
    opacity: 1;
    transform: scale(1, 1);
  }
  to {
    opacity: 0;
    transform: scale(0.66, 0.66);
  }
}
/* Уход вниз (slideOutDown) */
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutDown {
  from { transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
/* Появление сверху (slideInDown) */
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
/* Прокрутка и вращение при скрытии (rollOut) */
.rollOut {
  animation-name: rollOut;
}
@keyframes rollOut {
  from { opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

/* -- НАВИГАЦИОННЫЕ КНОПКИ -- */
/* Контейнер для стрелок */
.owl-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
}
/* Стрелки навигации (влево/вправо) */
.owl-prev,
.owl-next {
  cursor: pointer;
  width: 40px;
  height: 40px;
  line-height: 43px;
  border-radius: var(--bdrs);
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  margin-top: -20px;
  font-size: 28px;
  background-color: transparent;
  color: var(--accent-red);
}
/* Позиции стрелок */
.owl-prev { left: -40px; }
.owl-next { right: -40px; }
/* При наведении меняется фон и цвет стрелки */
.owl-prev:hover,
.owl-next:hover {
  background-color: var(--accent-red);
  color: #fff;
}

/* -- ТОЧКИ ПАГИНАЦИИ -- */
/* Контейнер точек снизу */
.owl-dots {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
/* Отдельная точка (индикатор слайда) */
.owl-dot {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  cursor: pointer;
  background-color: transparent;
  border: 1px solid #fff;
}
/* Активная точка и при наведении */
.owl-dot.active,
.owl-dot:hover {
  background: #fff;
}

/* -------------------------------
   УВЕДОМЛЕНИЯ СИСТЕМЫ (Push, DLE) 
--------------------------------- */
/* -- Основной контейнер уведомлений -- */
.DLEPush {
	z-index: 2001;
	position: fixed;
	right: 20px;
	top: 20px;
}
/* -- Анимация появления уведомления (снизу вверх) -- */
@keyframes DLEPush-show {
	0% {
		transform: translateY(100%);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
/* -- Обёртка уведомления (сеточная структура, стилизация) -- */
.DLEPush-notification.wrapper {
	animation-name: DLEPush-show;
	animation-duration: 1s;
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	color: #333;
	margin-bottom: 10px;
	width: 100%;
	max-width: 400px;
	box-shadow: 0 10px 15px rgb(0 0 0 / 20%);
	background-color: #fff;
	border-radius: 10px;
}
/* -- Левая иконка уведомления -- */
.DLEPush-notification .DLEPush-icon {
	grid-column: 1;
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	width: 45px;
	height: 100%;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	text-align: center;
}
/* -- SVG иконка: уменьшенный масштаб -- */
.DLEPush-notification .DLEPush-icon svg {
	scale: .8;
}
/* -- Заголовок уведомления -- */
.DLEPush-notification .DLEPush-header {
	font-weight: 500;
	grid-column: 2;
	grid-row: 1;
	font-size: 1rem;
	margin-left: 1rem;
	margin-top: .5rem;
}
/* -- Убираем верхний отступ, если заголовок пустой -- */
.DLEPush-notification .DLEPush-header:empty {
	margin-top: 0;
}
/* -- Текст уведомления -- */
.DLEPush-notification .DLEPush-message {
	grid-column: 2;
	grid-row: 2;
	font-size: .875rem;
	margin: 1rem;
}
/* -- Убираем маркеры у списков внутри уведомления -- */
.DLEPush-notification .DLEPush-message li,
.DLEPush-notification .DLEPush-message ul {
	list-style-type: none;
	padding-left: 0;
}

/* -- Кнопка закрытия уведомления (крестик) -- */
.DLEPush-notification .DLEPush-close {
	position: absolute;
	top: 8px;
	right: 10px;
	font-weight: 300;
	background: none;
	border: 0;
	font-size: 1.15rem;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	color: inherit;
	outline: 0;
	opacity: 0.75;
}
/* -- При наведении: делаем крестик ярче -- */
.DLEPush-notification .DLEPush-close:hover {
	opacity: 1;
}
/* -- Планшеты и выше: минимальная ширина уведомления -- */
@media only screen and (min-width: 601px) {
	.DLEPush-notification.wrapper {
		min-width: 400px;
	}
}
/* -- Статус: Успех (зелёный фон и иконка) -- */
.DLEPush-notification.wrapper.push-success {
	background-color: #e0f2f1;
}
.DLEPush-notification.wrapper.push-success .DLEPush-icon {
	background-color: #00897b;
}
/* -- Статус: Предупреждение (оранжевый фон и иконка) -- */
.DLEPush-notification.wrapper.push-warning {
	background-color: #FFF3E0;
}
.DLEPush-notification.wrapper.push-warning .DLEPush-icon {
	background-color: #FF9800;
}
/* -- Статус: Ошибка (красный фон и иконка) -- */
.DLEPush-notification.wrapper.push-error {
	background-color: #FBE9E7;
}
.DLEPush-notification.wrapper.push-error .DLEPush-icon {
	background-color: #FF5722;
}
/* -- Поле имени автора в комментариях (часть формы) -- */
input[type="text"].comments_author_field {
	width: 100%;
	margin-bottom: 10px;
}