/* ===============================================================
   LORDFILM — слой оформления «Studio». Подключается последним,
   поэтому переопределяет токены common.css и правила styles.css,
   не трогая разметку и имена классов (на них завязаны js и DLE).

   Идея: тёплый графит вместо синего, каждый блок — в явной рамке
   (2px), острые углы, фирменный зелёный как конструктивная линия
   (под шапкой, над подвалом, «активная вкладка» у заголовков).
   Заголовки — Oswald капителью, без антиквы.
   =============================================================== */

/* СВЕТЛАЯ ТЕМА (.lt) — базовые токены
----------------------------------------------- */
:root {
	--bg: #ffffff; --bg-darker: #f3f2ee; --bg-darker-1: #e9e7e1;
	--bg-black: #1a1a1a; --bg-blackest: #e4e2dc;
	--tt: #1a1a1a; --tt-fade-0: #3d3c38; --tt-fade: #6b6963;

	--bdc: #cfcbc2; --bdc-strong: #b8b3a8;
	--bsh: none; --bsh-block: none; --bsh-long: none; --ui-bsh: 0 12px 32px rgba(0,0,0,0.12);

	/* фирменный зелёный остаётся; на светлом текстовый акцент чуть темнее ради контраста */
	--accent: #4a9a24; --accent-text: #3a7f1b; --accent-soft: rgba(90,171,46,0.14);
	--ui-bg-btn: #5aab2e; --ui-tt-btn: #ffffff; --ui-bg-btn-hover: #4c9226;
	--ui-bdc-inp: #cfcbc2; --ui-bdc-inp-focus: #5aab2e; --ui-bg-inp: #ffffff;
	--ui-bg: #ffffff; --ui-bg-darker: #f3f2ee; --ui-bg-darkest: #e9e7e1;
	--ui-accent: #3a7f1b; --ui-bdc: #cfcbc2; --blue: #3a7f1b; --ui-gradient: none;

	/* геометрия: острые углы, плотный ритм, рамки 2px */
	--bdrs-card: 3px; --bdrs-poster: 2px; --ui-elem-bdrs: 3px; --ui-bdrs: 3px;
	--frame: 2px;
	--indent: 22px; --indent-negative: -22px; --max-width: 1320px;
	--head-h: 68px;
	--fs-2xl: 28px;

	--font-ui: 'inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
	--font-display: 'Oswald', 'Arial Narrow', sans-serif;
	--font-mono: 'SF Mono', 'JetBrains Mono', Consolas, monospace;
}

/* ТЁМНАЯ ТЕМА (.dt, включена по умолчанию) — тёплый графит
----------------------------------------------- */
.dt {
	--bg: #1c1c1c; --bg-darker: #161616; --bg-darker-1: #242424;
	--bg-black: #101010; --bg-blackest: #0f0f0f;
	--tt: #f2f0eb; --tt-fade-0: #cfcbc2; --tt-fade: #9b978e;

	--bdc: #303030; --bdc-strong: #3d3d3d;
	--bsh: none; --bsh-block: none; --bsh-long: none; --ui-bsh: 0 16px 40px rgba(0,0,0,0.6);

	--accent: #6fc03a; --accent-text: #7ac943; --accent-soft: rgba(122,201,67,0.16);
	--ui-bg-btn: #5aab2e; --ui-tt-btn: #ffffff; --ui-bg-btn-hover: #68bd38;
	--ui-bdc-inp: #303030; --ui-bdc-inp-focus: #7ac943; --ui-bg-inp: #121212;
	--ui-bg: #1c1c1c; --ui-bg-darker: #242424; --ui-bg-darkest: #161616;
	--ui-accent: #7ac943; --ui-bdc: #303030; --blue: #7ac943; --ui-gradient: none; --ui-bg-black: #101010;
}

body {font-family: var(--font-ui); background-color: var(--bg-blackest); line-height: 1.55;}
.wrapper::before {display: none;}
.wrapper__container--main {background-color: var(--bg-darker); box-shadow: none;
	border-left: var(--frame) solid var(--bdc); border-right: var(--frame) solid var(--bdc);}
::selection {background: var(--accent); color: #0b0b0b;}
a {color: var(--tt);}

/* ЗАГОЛОВКИ — Oswald капителью, плотно
----------------------------------------------- */
h1, h2, h3, .sect__title, .home-title, .page__title, .carou__caption, .page__header h1 {
	font-family: var(--font-display); font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.02em; line-height: 1.15; color: var(--tt);}
.home-title {font-size: clamp(20px, 2.2vw, 26px); margin: 0 0 6px; padding-left: 16px;
	border-left: 5px solid var(--accent); line-height: 1.2;}
.home-subtitle {color: var(--tt-fade); font-size: var(--fs-base); max-width: 70ch; margin: 0 0 22px 21px; font-family: var(--font-ui);}
.sect__title {font-size: clamp(17px, 1.6vw, 21px);}
.page__title {font-size: clamp(22px, 2.6vw, 30px);}

/* ШАПКА — тёмная плита с зелёной линией снизу
----------------------------------------------- */
.header, .lt .header, .dt .header {background-color: var(--bg-black); backdrop-filter: none;
	border-bottom: 3px solid var(--accent); box-shadow: none; min-height: var(--head-h);}
.lt .header {--tt: #f2f0eb; --tt-fade: #9b978e; --tt-fade-0: #cfcbc2; --bdc: #303030;
	--ui-bg-inp: #1c1c1c; --ui-bdc-inp: #3d3d3d; color: #f2f0eb;}
.logo, .lt .logo, .dt .logo {font-family: 'Righteous-Regular', var(--font-display); text-transform: uppercase;
	letter-spacing: 0.06em; font-size: 20px; color: #f2f0eb;}
.header__menu {margin: 0 6px 0 28px;}
.header__menu > li > a, .dt .header__menu > li > a:not(:hover) {font-family: var(--font-display); font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.08em; font-size: 14px; color: #cfcbc2;
	border-bottom: 3px solid transparent; margin-bottom: -3px; height: var(--head-h);}
.header__menu > li > a:hover, .header__menu li:focus-within > a {color: #ffffff; border-bottom-color: #ffffff;}
.header__menu-hidden, div.header__menu-hidden {background-color: var(--bg); border: var(--frame) solid var(--bdc-strong);
	border-top: 3px solid var(--accent); border-radius: 0 0 var(--bdrs-card) var(--bdrs-card); box-shadow: var(--ui-bsh);}
.lt .header__menu-hidden {--tt: #1a1a1a; --tt-fade: #6b6963; --tt-fade-0: #3d3c38; --bdc: #cfcbc2; color: #1a1a1a;}
.header__menu-hidden li:not(:has(a)) {font-family: var(--font-display); font-weight: 700; letter-spacing: 0.1em;
	color: var(--accent-text); font-size: var(--fs-sm);}
.header__menu-hidden a:hover {color: var(--accent-text);}
.search-block__input, .search-block__input:focus, .lt .search-block__input, .lt .search-block__input:focus {
	background-color: var(--ui-bg-inp); border: var(--frame) solid var(--ui-bdc-inp); height: 42px; line-height: 38px;
	border-radius: var(--ui-elem-bdrs); color: var(--tt);}
.search-block__input:focus, .lt .search-block__input:focus {border-color: var(--accent);}
.search-block__btn {height: 42px;}
.search-block__btn:hover {color: var(--accent-text);}
.header__theme-select {color: #cfcbc2;}
.header__theme-select:hover {color: #ffffff;}
.header__btn-login {height: 40px; border-radius: var(--ui-elem-bdrs); font-family: var(--font-display);
	text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; font-size: 13px;}
.header__btn-menu {color: #f2f0eb; border: var(--frame) solid #3d3d3d; border-radius: var(--ui-elem-bdrs);}

/* КАРУСЕЛЬ «ПОПУЛЯРНОЕ» — панель в рамке
----------------------------------------------- */
.carou {background-color: var(--bg-darker-1); margin: 0 0 30px; padding: 18px var(--indent) 22px;
	border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card);
	color: var(--tt); --tt: var(--tt); --tt-fade: var(--tt-fade);}
.lt .carou {--tt: #1a1a1a; --tt-fade: #6b6963; --bdc: #cfcbc2;}
.carou .carou__caption, .lt .carou .carou__caption {color: var(--tt); opacity: 1; margin-bottom: 14px; padding-bottom: 10px;
	border-bottom: var(--frame) solid var(--bdc); font-size: clamp(17px, 1.6vw, 21px);}
.carou .item__title {color: var(--tt);}
.carou .item__year, .carou .item__rates-item {color: var(--tt-fade);}
.content > .carou {margin-top: 0;}
.sect.is-empty {display: none;}

/* СЕКЦИИ — заголовок как активная вкладка над линией
----------------------------------------------- */
.content {padding: 26px var(--indent) 48px;}
.sect {margin-bottom: 46px;}
.sect:not(:last-child) {margin-bottom: 46px;}
.sect__header {margin-bottom: 18px; padding-bottom: 0; border-bottom: var(--frame) solid var(--bdc); align-items: flex-end;}
.sect__title {padding-bottom: 10px; margin-bottom: calc(var(--frame) * -1); border-bottom: 4px solid var(--accent);}
.sect__title a {color: inherit; display: inline-flex; align-items: baseline; gap: 10px;}
.sect__title a::after {content: '\2192'; font-family: var(--font-ui); font-size: 0.75em; color: var(--accent-text); transition: transform .2s ease;}
.sect__title a:hover {color: var(--accent-text); text-decoration: none;}
.sect__title a:hover::after {transform: translateX(4px);}
.sect__more {color: var(--tt-fade); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.08em;
	font-family: var(--font-display); font-weight: 700; padding-bottom: 12px;}
.sect__more:hover {color: var(--accent-text);}
.sect__tabs {padding-bottom: 8px;}
.sect__tabs button {height: 34px; padding: 0 14px; border-radius: var(--ui-elem-bdrs); background: transparent;
	color: var(--tt-fade); border: var(--frame) solid var(--bdc); font-family: var(--font-display); text-transform: uppercase;
	letter-spacing: 0.06em; font-size: 13px;}
.sect__tabs button:hover {color: var(--tt); border-color: var(--bdc-strong);}
.sect__tabs button.is-active, .dt .sect__tabs button.is-active {background: var(--accent); color: #0b0b0b; border-color: var(--accent);}
.speedbar {color: var(--tt-fade); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 500;}

/* КАРТОЧКИ — рамка 2px, подпись внутри плитки, плотнее и больше в ряд
----------------------------------------------- */
.grid-items {gap: 14px 12px; grid-template-columns: repeat(auto-fill, minmax(min(42vw, 156px), 1fr));}
.item, .grid-items__item {background: var(--bg); border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card);
	overflow: hidden; transition: border-color .18s ease, box-shadow .18s ease;}
.item:hover, .grid-items__item:hover {border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 10px 24px rgba(0,0,0,0.25);}
.item__img {border: 0; border-radius: 0; overflow: hidden; background: var(--ui-bg-darker); box-shadow: none; transform: none;}
.item:hover .item__img {box-shadow: none; transform: none;}
.item__img::before {border-radius: 0;}
.item__label {background: var(--accent); color: #0b0b0b; font-family: var(--font-display); font-weight: 700;
	font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; border-radius: 2px; padding: 3px 7px;
	left: 0; top: 10px; backdrop-filter: none;}
.item__desc {padding: 9px 10px 10px; text-align: left; border-top: var(--frame) solid var(--bdc);}
.item__title {color: var(--tt); font-weight: 500; font-size: 13px; line-height: 1.3;}
.item:hover .item__title {color: var(--accent-text);}
.item__year {color: var(--tt-fade); font-size: 12px; font-family: var(--font-display); letter-spacing: 0.06em;}
.item__rates-item {color: var(--tt-fade-0);}
/* карточки без подписи (только постер): нижняя линия не нужна */
/* ВАЖНО: не display:none — внутри лежит пустая ссылка .item__title, чей ::after
   накрывает всю карточку кликом; блок только схлопываем по высоте. */
.item__desc:not(:has(.item__title:not(:empty))):not(:has(.item__year)):not(:has(.item__rates-item:not(:empty))) {
	padding: 0; border: 0; height: 0; min-height: 0; overflow: visible;}

/* КНОПКИ, ПОЛЯ, ПАГИНАЦИЯ
----------------------------------------------- */
button, .btn, [type="button"], [type="submit"], .pagination__btn-loader a {border-radius: var(--ui-elem-bdrs);
	font-weight: 500; box-shadow: none; letter-spacing: 0.02em;}
button:active, [type="submit"]:active {transform: translateY(1px); box-shadow: none;}
[type="text"], [type="password"], [type="email"], select, textarea {border-width: var(--frame); border-radius: var(--ui-elem-bdrs);}
.pagination__btn-loader a {background: transparent; color: var(--accent-text); border: var(--frame) solid var(--accent);
	border-radius: var(--ui-elem-bdrs); font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700;}
.pagination__btn-loader a:hover {background: var(--accent); color: #0b0b0b;}
.has-autoload .pagination__btn-loader a {display: none;}
.autoload-status {text-align: center; color: var(--tt-fade); font-size: var(--fs-sm);
	font-family: var(--font-mono); padding: 18px 0 8px; min-height: 20px;}
.pagination__pages a, .pagination__pages span, .pagination > a, .pagination > span, .pagination__btn, .pagination__btns {
	border-width: var(--frame); border-radius: var(--ui-elem-bdrs);}
.pagination__pages span:not(.nav_ext) {color: #0b0b0b;}
.scrolltop {border-radius: var(--ui-elem-bdrs); border: var(--frame) solid #0b0b0b;}

/* ПОДВАЛ — зелёная линия сверху
----------------------------------------------- */
.footer, .lt .footer, .dt .footer {border-top: 3px solid var(--accent); background: var(--bg-black); padding: 30px var(--indent) 22px;
	--tt: #f2f0eb; --tt-fade: #9b978e; --bdc: #303030; color: #9b978e;}
.footer__logo, .footer .logo {font-family: 'Righteous-Regular', var(--font-display); text-transform: uppercase; color: #f2f0eb;}
.footer__menu {font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-size: 13px;}
.footer__menu a, .lt .footer__menu a {color: #cfcbc2;}
.footer__menu a:hover, .lt .footer a:hover {color: var(--accent); text-decoration: none;}
.lt .footer, .lt .footer a, .lt .footer span, .lt .footer li, .lt .footer__logo, .lt .footer__notify, .lt .footer__copyright {color: #cfcbc2;}
.footer__two {border-top: var(--frame) solid #303030;}
.footer__notify {border-left: 3px solid var(--accent); padding-left: 16px;}

/* СТРАНИЦА ФИЛЬМА — панели в рамках
----------------------------------------------- */
.page__bg {background-color: var(--bg); margin: 0 0 22px; border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card); box-shadow: none;}
.page__cols-left {padding: 22px;}
.page__poster .page__img {border-radius: var(--bdrs-poster); border: var(--frame) solid var(--bdc); box-shadow: none;}
.page__header h1 {font-size: clamp(22px, 2.4vw, 30px); letter-spacing: 0.01em;}
.page__score {border-radius: var(--ui-elem-bdrs); background: var(--accent); color: #0b0b0b; font-family: var(--font-display);}
.page__rating-ext a {border-width: var(--frame); border-radius: var(--ui-elem-bdrs);}
.page__list a, .full-text a {color: var(--accent-text); text-decoration: none; border-bottom: 1px solid rgba(122,201,67,0.4);}
.page__list a:hover, .full-text a:hover {border-bottom-color: currentColor;}
.page__list li > span:first-child {text-transform: uppercase; font-size: 11px; letter-spacing: 0.08em; font-weight: 500;}
.page__subtitle {margin: 0 -22px; padding: 14px 22px; border-top: var(--frame) solid var(--bdc);}
.page__scr ul {margin: 0 -22px; padding: 18px 22px; border-top: var(--frame) solid var(--bdc);}
.page__scr a, .page__scr img {border-radius: var(--bdrs-poster);}
.show-text {border-width: var(--frame); border-radius: var(--ui-elem-bdrs);}

.page__cols:has(.page__player) {border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card); overflow: hidden;
	background: var(--bg-black); --tt: #f2f0eb; --tt-fade: #9b978e; --tt-fade-0: #cfcbc2; --bdc: #303030;}
.page__player, .page__player-bottom {background-color: var(--bg-black);}
.page__player .tabs-block__select {gap: 0; border-bottom: var(--frame) solid #303030;}
.page__player .tabs-block__select button {background: #161616; color: #cfcbc2; border-right: var(--frame) solid #303030;
	font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; font-size: 13px; height: 44px;}
.page__player .tabs-block__select button.is-active, .page__player .tabs-block__select button:hover {background: var(--accent); color: #0b0b0b;}
.page__likes a {border-radius: 0;}
.page__likes a:first-child {border-radius: var(--ui-elem-bdrs) 0 0 var(--ui-elem-bdrs);}
.page__likes a:last-child {border-radius: 0 var(--ui-elem-bdrs) var(--ui-elem-bdrs) 0;}
.find-note {padding: 12px 18px; background: #161616; color: #cfcbc2; border-left: 4px solid var(--accent);
	border-bottom: var(--frame) solid #303030;}
.find-note__link {color: var(--accent-text);}
.find-note__icon {color: var(--accent);}

/* сайдбар: «Не хочешь потерять доступ?» в зелёной рамке, «Рекомендуем» в панели */
.page__cols:has(.page__player) .page__cols-right {background-color: #161616; border-left: var(--frame) solid #303030;
	--tt: #f2f0eb; --tt-fade: #9b978e; --bdc: #303030;}
.access {background: transparent; border: var(--frame) solid var(--accent); border-radius: var(--bdrs-card); padding: 16px 14px;}
.access__title {font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; font-size: 15px; color: #f2f0eb;}
.access__text {color: #9b978e;}
.access .access__btn, .access .access__btns .access__btn, .access .access__btn--wide {border-radius: var(--ui-elem-bdrs) !important;}
.access__btn--mirror {background: var(--accent); color: #0b0b0b;}
.access__btn--mirror:hover, .access__btn--mirror:focus {color: #0b0b0b;}
.page__fr-caption {background-color: #101010; border-left: 4px solid var(--accent); border-bottom: var(--frame) solid #303030;}
.page__fr-caption-title {letter-spacing: 0.1em; font-weight: 700; font-size: 13px;}
.page__fr-nav-btn {border-radius: var(--ui-elem-bdrs); border: 1px solid #303030;}
.lt .fr__title, .lt .fr__title span, .lt .fr__title:hover, .fr__title {color: var(--tt);}
.fr__title:hover {color: var(--accent-text);}
.lt .fr__desc, .lt .fr__desc span {color: var(--tt-fade);}
.fr__img {border-radius: 2px; border: 1px solid #303030;}
.fr.is-active:after {color: var(--accent-text); border-left-color: var(--accent);}

/* ВИДЖЕТ «НЕ НАШЛИ НУЖНОЕ КИНО» — тоже в рамке
----------------------------------------------- */
.ugcq .ugcq__bar {border: var(--frame) solid var(--bdc); border-left: 5px solid var(--accent); border-radius: var(--bdrs-card);
	background: var(--bg); box-shadow: none;}
.ugcq .ugcq__panel {border-width: var(--frame); border-radius: var(--bdrs-card); background: var(--bg);}
.ugcq .ugcq__input {border-width: var(--frame); border-radius: var(--ui-elem-bdrs);}
.ugcq .ugcq__toggle, .ugcq .ugcq__ready-btn {border-radius: var(--ui-elem-bdrs); font-family: var(--font-display);
	text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700;}
.ugcq .ugcq__ico {border-radius: var(--ui-elem-bdrs);}
.ugcq .ugcq__link {border-radius: var(--ui-elem-bdrs);}
.ugcq .ugcq__badge {border-radius: 2px;}

/* КОММЕНТАРИИ, ФИЛЬТР, ВСПЛЫВАШКИ
----------------------------------------------- */
.page__comments-list, .comm {border-color: var(--bdc);}
.comm {border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card); background: var(--bg);}
.ac-form__input, .ac-form textarea {border-width: var(--frame);}
.filter-block {border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card); margin-left: 0; margin-right: 0;}
.th-text {border-width: var(--frame); border-left-width: 4px; border-radius: var(--bdrs-card);}
.pop-left .th-text {border-left-width: var(--frame); border-right-width: 4px;}
.lgn__content {border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card);}
.top-users, .page__schedule {border: var(--frame) solid var(--bdc); border-radius: var(--bdrs-card);}

/* ПОЯВЛЕНИЕ БЛОКОВ ПРИ ПРОКРУТКЕ (класс has-reveal ставит скрипт; без JS блоки видимы)
----------------------------------------------- */
.has-reveal .reveal {opacity: 0; transform: translateY(10px);}
.has-reveal .reveal.is-in {opacity: 1; transform: none;
	transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);}
/* раздел без публикаций не должен оставлять пустое поле (внутри остаются пробелы, :empty не годится) */
.sect:has(> .sect__content.grid-items:not(:has(*))) {display: none;}

/* Заглушка, когда нет ни CDN-плеера, ни своих плееров в доп. полях */
.player-empty {display: none;}
#page__player:not(:has(.tabs-block__content)) .player-empty {
	display: block; text-align: center; padding: 48px 20px; color: #9b978e;
	border: var(--frame) dashed #303030; border-radius: var(--bdrs-card); background: #161616; margin: 14px;}

@media (prefers-reduced-motion: reduce) {
	.has-reveal .reveal, .has-reveal .reveal.is-in {opacity: 1; transform: none; transition: none;}
	.item:hover, .grid-items__item:hover {box-shadow: none;}
}

@media (max-width: 1220px) {
	.wrapper__container--main {border-left: 0; border-right: 0;}
}
@media (max-width: 900px) {
	:root {--indent: 14px; --indent-negative: -14px;}
	.sect, .sect:not(:last-child) {margin-bottom: 34px;}
	.home-title {font-size: 19px; padding-left: 12px; border-left-width: 4px;}
	.home-subtitle {margin-left: 16px;}
	.grid-items {gap: 12px 10px;}
	.carou {padding: 14px var(--indent) 18px;}
	.page__cols-left {padding: 16px;}
	.page__subtitle {margin: 0 -16px; padding: 12px 16px;}
	.page__scr ul {margin: 0 -16px; padding: 14px 16px;}
	.page__cols:has(.page__player) .page__cols-right {border-left: 0; border-top: var(--frame) solid #303030;}
}
