/* ШРИФТЫ (локальные, cyrillic + latin) */
@font-face{font-family:'PT Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/PTSerif-400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/PTSerif-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/PTSerif-700-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'PT Serif';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/PTSerif-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'FontAwesome';src:url('../fonts/fa.woff2') format('woff2');font-weight:normal;font-style:normal;font-display:swap}
.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.fa-spin{animation:fa-spin 2s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}
.fa-align-left:before{content:"\f036"}
.fa-angle-double-left:before{content:"\f100"}
.fa-angle-double-right:before{content:"\f101"}
.fa-angle-down:before{content:"\f107"}
.fa-angle-left:before{content:"\f104"}
.fa-angle-right:before{content:"\f105"}
.fa-angle-up:before{content:"\f106"}
.fa-arrow-up:before{content:"\f062"}
.fa-bar-chart-o:before{content:"\f080"}
.fa-bars:before{content:"\f0c9"}
.fa-bookmark:before{content:"\f02e"}
.fa-bookmark-o:before{content:"\f097"}
.fa-calendar-o:before{content:"\f133"}
.fa-caret-down:before{content:"\f0d7"}
.fa-check:before{content:"\f00c"}
.fa-cog:before{content:"\f013"}
.fa-comment-o:before{content:"\f0e5"}
.fa-comments:before{content:"\f086"}
.fa-download:before{content:"\f019"}
.fa-envelope-o:before{content:"\f003"}
.fa-exclamation-triangle:before{content:"\f071"}
.fa-eye:before{content:"\f06e"}
.fa-file-text-o:before{content:"\f0f6"}
.fa-film:before{content:"\f008"}
.fa-globe:before{content:"\f0ac"}
.fa-heart:before{content:"\f004"}
.fa-heart-o:before{content:"\f08a"}
.fa-lock:before{content:"\f023"}
.fa-moon-o:before{content:"\f186"}
.fa-odnoklassniki:before{content:"\f263"}
.fa-paper-plane:before{content:"\f1d8"}
.fa-pencil:before{content:"\f040"}
.fa-play:before{content:"\f04b"}
.fa-play-circle:before{content:"\f144"}
.fa-plus:before{content:"\f067"}
.fa-refresh:before{content:"\f021"}
.fa-search:before{content:"\f002"}
.fa-sign-out:before{content:"\f08b"}
.fa-smile-o:before{content:"\f118"}
.fa-spinner:before{content:"\f110"}
.fa-star:before{content:"\f005"}
.fa-star-o:before{content:"\f006"}
.fa-sun-o:before{content:"\f185"}
.fa-th-large:before{content:"\f009"}
.fa-thumbs-down:before{content:"\f165"}
.fa-thumbs-o-down:before{content:"\f088"}
.fa-thumbs-o-up:before{content:"\f087"}
.fa-thumbs-up:before{content:"\f164"}
.fa-times:before{content:"\f00d"}
.fa-tv:before{content:"\f26c"}
.fa-user:before{content:"\f007"}
.fa-user-o:before{content:"\f2c0"}
.fa-video-camera:before{content:"\f03d"}
.fa-vk:before{content:"\f189"}
.fa-whatsapp:before{content:"\f232"}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/Inter-var-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/Inter-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* /ШРИФТЫ */
/* ============================================================
   LordFilm — вариант 1 «Original» (тёмный, зелёный акцент)
   Datalife Engine 13+ · CSS-переменные · тёмная / светлая тема
   ============================================================ */

:root {
	--bg: #0b0f14;
	--surface: #121820;
	--surface-2: #182029;
	--surface-3: #1f2834;
	--border: #243040;
	--text: #d9dfe7;
	--text-muted: #8b95a5;
	--heading: #f2f5f8;
	--accent: #3fa34d;
	--accent-h: #4cb85b;
	--accent-soft: rgba(63,163,77,.14);
	--on-accent: #ffffff;
	--blue: #2f86e6;
	--blue-2: #2d7be5;
	--danger: #e5484d;
	--radius: 10px;
	--radius-sm: 6px;
	--shadow: 0 10px 30px rgba(0,0,0,.35);
	--max: 1200px;
	--gap: 16px;
}
[data-theme="light"] {
	--bg: #eef1f5;
	--surface: #ffffff;
	--surface-2: #f4f6f9;
	--surface-3: #e9edf2;
	--border: #dde3ea;
	--text: #2b3340;
	--text-muted: #6b7585;
	--heading: #111827;
	--blue: #1d6fd6;
	--shadow: 0 10px 30px rgba(20,30,50,.10);
}

/* RESET
----------------------------------------------- */
* {margin: 0; padding: 0; box-sizing: border-box; outline: none; border: 0; background: transparent;}
ol, ul {list-style: none;}
img {max-width: 100%; display: block;}
table {border-collapse: collapse; border-spacing: 0;}
.clearfix:after {content: ""; display: table; clear: both;}
.hidden {display: none !important;}
.nowrap {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

html {background: var(--bg);}
body {font: 14px/1.5 'Inter', 'Segoe UI', Arial, sans-serif; color: var(--text); background: var(--bg); min-width: 320px;}
body.is-locked {overflow: hidden;}
a {color: var(--blue); text-decoration: none; transition: color .2s, background-color .2s, opacity .2s;}
a:hover {color: var(--accent-h);}
h1, h2, h3 {color: var(--heading); font-weight: 600; line-height: 1.25;}
b, strong {font-weight: 600;}

button, input, select, textarea {font: inherit; color: inherit;}
input[type="text"], input[type="password"], textarea, select {
	width: 100%; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm);
	color: var(--text); padding: 0 14px; height: 42px; transition: border-color .2s;}
textarea {height: auto; padding: 12px 14px; resize: vertical; min-height: 110px;}
input:focus, textarea:focus, select:focus {border-color: var(--accent);}
input::placeholder, textarea::placeholder {color: var(--text-muted);}

.btn, button.btn, input[type="submit"], input[type="button"], button:not(.fr-command):not([class*="owl"]) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
	height: 42px; padding: 0 20px; border-radius: var(--radius-sm); font-weight: 600; font-size: 14px;
	background: var(--accent); color: var(--on-accent); white-space: nowrap; transition: background-color .2s, transform .1s;}
.btn:hover, input[type="submit"]:hover, button:not(.fr-command):hover {background: var(--accent-h); color: var(--on-accent);}
.btn:active {transform: translateY(1px);}
.btn--full {width: 100%;}
.btn--ghost {background: var(--surface-3); color: var(--text);}
.btn--ghost:hover {background: var(--border); color: var(--heading);}
.btn--blue {background: #1a62cc;}
.btn--blue:hover {background: #3a8bf0;}
.btn--sm {height: 34px; padding: 0 14px; font-size: 13px;}

.wrap {max-width: var(--max); margin: 0 auto; padding: 0 20px;}
.card {background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);}

/* HEADER
----------------------------------------------- */
.header {background: var(--surface); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 90;}
.header__in {display: flex; align-items: center; gap: 14px; height: 66px;}
.logo {display: flex; align-items: center; gap: 12px; color: var(--heading) !important;}
.logo__icon {width: 36px; height: 36px; border-radius: 9px; background: var(--accent); color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none;}
.logo__text {font-family: 'PT Serif', Georgia, serif; font-size: 22px; font-weight: 700; letter-spacing: .2px; white-space: nowrap;}
.logo__text span {color: var(--accent);}

.menu {display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0;}
.menu__item {position: relative;}
.menu__item > a {display: flex; align-items: center; gap: 6px; height: 40px; padding: 0 10px; border-radius: var(--radius-sm); white-space: nowrap;
	color: var(--heading); font-weight: 600; font-size: 13.5px;}
.menu__item > a:hover, .menu__item.is-active > a {background: var(--surface-2); color: var(--accent-h);}
.menu__item--drop > a:after {content: "\f107"; font-family: 'FontAwesome'; font-size: 12px; opacity: .7;}
.menu__drop {position: absolute; left: 0; top: calc(100% + 6px); min-width: 520px; background: var(--surface);
	border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 14px;
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .2s; z-index: 50;}
.menu__drop li a {display: block; padding: 6px 10px; border-radius: 6px; color: var(--text); font-size: 13px;}
.menu__drop li a:hover {background: var(--accent-soft); color: var(--accent-h);}
.menu__drop li.menu__cap {grid-column: 1 / -1; color: var(--text-muted); font-size: 11px; text-transform: uppercase;
	letter-spacing: .6px; padding: 6px 10px 2px;}
.menu__item--drop:hover .menu__drop, .menu__item--drop.is-open .menu__drop {opacity: 1; visibility: visible; transform: none;}

.search {position: relative; width: 210px; flex: none;}
.search input {height: 40px; padding-right: 42px; background: var(--surface-2);}
.search button {position: absolute; right: 0; top: 0; height: 40px; width: 42px; background: transparent !important;
	color: var(--text-muted) !important; padding: 0 !important; font-size: 15px;}
.search button:hover {color: var(--accent-h) !important;}

.icon-btn {width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	color: var(--text); background: var(--surface-2); border: 1px solid var(--border); cursor: pointer; font-size: 16px; flex: none;}
.icon-btn:hover {color: var(--accent-h); border-color: var(--accent);}
.js-theme .fa-sun-o, [data-theme="light"] .js-theme .fa-moon-o {display: none;}
[data-theme="light"] .js-theme .fa-sun-o {display: inline-block;}
.header__login {flex: none;}
.burger {display: none;}

/* PROMO BAR
----------------------------------------------- */
.promo {display: flex; align-items: center; gap: 16px; padding: 14px 18px; margin: 24px 0 22px;}
.promo__icon {width: 42px; height: 42px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-h);
	display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none;}
.promo__text {flex: 1; min-width: 0;}
.promo__title {color: var(--heading); font-weight: 600;}
.promo__caption {color: var(--text-muted); font-size: 12px;}
.promo__soc {display: flex; gap: 8px;}
.promo__soc a {width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: var(--surface-3); color: var(--blue); font-size: 15px;}
.promo__soc a:hover {background: var(--blue-2); color: #fff;}

/* SECTIONS / TITLES
----------------------------------------------- */
.sect {margin-bottom: 30px;}
.sect__head {display: flex; align-items: center; gap: 16px; margin-bottom: 18px;}
.sect__title, h1.sect__title {font-family: 'PT Serif', Georgia, serif; font-size: 28px; font-weight: 400; flex: 1;}
.sect__title--sm {font-size: 20px;}
.speedbar {font-size: 13px; color: var(--text-muted); margin: 20px 0 16px;}
.speedbar a {color: var(--text-muted);}
.speedbar a:hover {color: var(--accent-h);}

/* POSTER GRID
----------------------------------------------- */
.grid {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gap);}
.poster {position: relative; display: block; border-radius: var(--radius-sm); overflow: hidden; background: var(--surface-2);
	border: 1px solid var(--border); transition: transform .25s, box-shadow .25s;}
.poster:hover {transform: translateY(-4px); box-shadow: var(--shadow);}
.poster__img {position: relative; padding-top: 148%; overflow: hidden;}
.poster__img img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s;}
.poster:hover .poster__img img {transform: scale(1.05);}
.poster__badge {position: absolute; left: 8px; top: 8px; z-index: 3; padding: 3px 7px; border-radius: 5px;
	background: rgba(10,14,20,.8); color: #fff; font-size: 11px; font-weight: 600; text-transform: uppercase;}
.poster__badge--green {background: var(--accent); right: 8px; left: auto;}
.poster__overlay {position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end;
	padding: 12px; background: linear-gradient(to top, rgba(5,8,12,.95) 0%, rgba(5,8,12,.55) 45%, transparent 100%);
	opacity: 0; transition: opacity .25s; color: #fff;}
.poster:hover .poster__overlay {opacity: 1;}
.poster__title {font-weight: 600; font-size: 14px; line-height: 1.3; color: #fff;}
.poster__meta {font-size: 12px; opacity: .8; margin-top: 3px;}
.poster__play {position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%;
	background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; padding-left: 4px;
	transform: scale(.6); transition: transform .25s;}
.poster:hover .poster__play {transform: scale(1);}

/* SEO TEXT
----------------------------------------------- */
.seo {padding: 24px 28px; margin: 30px 0; color: var(--text-muted); font-size: 13px; line-height: 1.7;}
.seo h1, .seo h2, .seo h3 {font-family: 'PT Serif', Georgia, serif; font-weight: 400; font-size: 22px; margin-bottom: 10px;}
.seo p + p, .seo p + h2 {margin-top: 10px;}
.seo ul li {list-style: disc; margin-left: 24px;}

/* FOOTER
----------------------------------------------- */
.footer {border-top: 1px solid var(--border); margin-top: 20px; padding: 28px 0 32px; color: var(--text-muted); font-size: 13px;}
.footer__in {display: flex; align-items: center; gap: 24px; flex-wrap: wrap;}
.footer__text {flex: 1; min-width: 240px;}
.footer__links {display: flex; gap: 18px; flex-wrap: wrap;}
.footer__links a {color: var(--text-muted);}
.footer__links a:hover {color: var(--accent-h);}

/* PAGINATION
----------------------------------------------- */
.bottom-nav {text-align: center; padding-top: 24px;}
.pagi-load a {margin-bottom: 18px; padding: 0 60px;}
.pagi-load > span {display: none;}
.pagi-nav {display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: center;}
.navigation {display: inline-flex; gap: 4px; flex-wrap: wrap;}
.navigation a, .navigation span, .pprev a, .pnext a {display: inline-flex; align-items: center; justify-content: center;
	min-width: 38px; height: 38px; padding: 0 10px; border-radius: var(--radius-sm); background: var(--surface);
	border: 1px solid var(--border); color: var(--text); font-weight: 600;}
.navigation span, .navigation a:hover, .pprev a:hover, .pnext a:hover {background: var(--accent); border-color: var(--accent); color: #fff;}
.navigation span.nav_ext {background: transparent; border-color: transparent;}
.pprev > span, .pnext > span {display: none;}

/* FULL STORY
----------------------------------------------- */
.movie {padding: 24px; display: grid; grid-template-columns: 230px 1fr; gap: 26px; margin-bottom: 18px;}
.movie__side {display: flex; flex-direction: column; gap: 14px;}
.movie__poster {position: relative; border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--border);}
.movie__poster img {width: 100%; height: auto; display: block; aspect-ratio: 5 / 7; object-fit: cover;}
.movie__poster .poster__badge {left: 10px; top: 10px;}
.movie__edit {position: absolute; right: 10px; top: 10px; z-index: 3;}
.movie__edit a {color: #fff; background: rgba(0,0,0,.6); width: 30px; height: 30px; border-radius: 6px; display: flex; align-items: center; justify-content: center;}
.movie__title {font-size: 24px; font-weight: 600; margin-bottom: 14px;}
.movie__desc {font-size: 14px; line-height: 1.65; color: var(--text); margin-bottom: 18px;}
.movie__orig {color: var(--text-muted); font-size: 13px; margin-top: -8px; margin-bottom: 14px;}
.info {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; font-size: 14px;}
.info li {display: flex; gap: 8px; line-height: 1.5;}
.info li > span:first-child {color: var(--text-muted); flex: none;}
.info li > span:last-child {color: var(--heading); font-weight: 500;}
.info li a {color: var(--blue);}
.info li a:hover {color: var(--accent-h);}
.info--wide {grid-column: 1 / -1;}

.likes {display: flex; gap: 8px;}
.likes a, .likes span.likes__star {display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px;
	border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface-2); color: var(--text); font-weight: 600; font-size: 13px;}
.likes a:hover {border-color: var(--accent); color: var(--accent-h);}
.likes__star {background: var(--accent-soft) !important; color: var(--accent-h) !important; border-color: transparent !important;}
.likes__star.is-low {background: rgba(229,72,77,.14) !important; color: var(--danger) !important;}
.likes .fa {font-size: 14px;}

.full-cols {display: grid; grid-template-columns: 1fr 300px; gap: 20px; align-items: start;}
.full-main {min-width: 0;}
.notice {display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-left: 3px solid var(--accent);
	background: var(--surface); border-radius: var(--radius-sm); font-weight: 600; margin-bottom: 14px; color: var(--heading);}
.notice a {text-decoration: underline; color: var(--accent-h);}
.notice .fa {color: var(--accent-h);}

.player {margin-bottom: 20px; overflow: hidden;}
.player__bar {display: flex; align-items: center; gap: 12px; padding-right: 14px; background: var(--surface); border-bottom: 1px solid var(--border);}
.tabs__nav {display: flex; flex: 1; overflow-x: auto; white-space: nowrap;}
.tabs__nav span {display: inline-flex; align-items: center; height: 48px; padding: 0 20px; font-weight: 600; cursor: pointer; color: var(--text-muted);}
.tabs__nav span.is-active {background: var(--accent); color: #fff;}
.tabs__nav span:not(.is-active):hover {color: var(--heading);}
.tabs__pane {display: none; background: #000;}
.tabs__pane.is-visible {display: block;}
.video-box iframe, .video-box video, .video-box embed, .video-box object {display: block; width: 100%; height: 520px; border: 0;}
.player__tool {display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 13px; cursor: pointer;}
.player__tool a {color: var(--text-muted);}
.player__tool .fa-exclamation-triangle {color: #e8a33d;}
.switch {position: relative; width: 40px; height: 22px; border-radius: 11px; background: var(--border); transition: background .2s; flex: none;}
.switch:after {content: ""; position: absolute; left: 2px; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: left .2s;}
.js-light.is-on .switch {background: var(--accent);}
.js-light.is-on .switch:after {left: 20px;}
.light-overlay {position: fixed; inset: 0; z-index: 9990; background: rgba(0,0,0,.9); display: none;}
body.light-off .light-overlay {display: block;}
body.light-off .player {position: relative; z-index: 9995;}
.player__footer {display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: var(--surface); flex-wrap: wrap;}
.share {display: flex; gap: 6px;}
.share span {width: 38px; height: 32px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer; color: #fff; font-size: 14px; opacity: .9;}
.share span:hover {opacity: 1;}
.share .s-vk {background: #4a76a8;} .share .s-ok {background: #ee8208;} .share .s-tlg {background: #2aabee;} .share .s-wa {background: #25d366;} .share .s-tw {background: #1d9bf0;}

.full-text {line-height: 1.65;}
.full-text p + p {margin-top: 10px;}
.full-text img:not(.emoji) {margin: 10px 0; border-radius: var(--radius-sm);}
.full-text a {text-decoration: underline;}
.full-text h2, .full-text h3 {margin: 14px 0 8px; font-size: 18px;}
.full-text ul li {list-style: disc; margin-left: 24px;}
.full-text ol li {list-style: decimal; margin-left: 24px;}
.js-slice.is-sliced {overflow: hidden; position: relative;}
.js-slice.is-sliced:after {content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60px;
	background: linear-gradient(to bottom, transparent, var(--surface));}
.slice-btn {text-align: center; margin: 8px 0 16px;}
.slice-btn span {cursor: pointer; color: var(--accent-h); font-weight: 600; font-size: 13px; border-bottom: 1px dashed;}

.movie__caption {padding: 18px 22px; margin-bottom: 20px; font-size: 13px; color: var(--text-muted); line-height: 1.7;}

/* SIDEBAR (full story)
----------------------------------------------- */
.aside {display: flex; flex-direction: column; gap: 18px;}
.access {padding: 20px;}
.access__title {font-family: 'PT Serif', Georgia, serif; font-size: 19px; color: var(--heading); margin-bottom: 4px;}
.access__text {color: var(--text-muted); font-size: 12px; margin-bottom: 14px; line-height: 1.5;}
.access__row {display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px;}
.access__row a, .access > a.btn {height: 44px; font-size: 16px;}
.access__row .s-tlg {background: #2aabee;} .access__row .s-vk {background: #2787f5;}
.access__row .s-tlg:hover {background: #1a96d6;} .access__row .s-vk:hover {background: #1b74dc;}
.access__more {text-align: center; color: var(--text-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .6px;
	display: flex; align-items: center; gap: 10px; margin: 14px 0 10px;}
.access__more:before, .access__more:after {content: ""; flex: 1; height: 1px; background: var(--border);}
.access__promo {display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--radius-sm);
	background: linear-gradient(135deg, #2aabee, #2d7be5); color: #fff !important;}
.access__promo .fa {font-size: 22px;}
.access__promo b {display: block; font-size: 15px;}
.access__promo small {opacity: .85; font-size: 12px;}

.rec__head {display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;}
.rec__title {font-size: 13px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--heading);}
.rec__arrows {display: flex; gap: 6px;}
.rec__arrows span {width: 30px; height: 30px; border-radius: 6px; background: var(--surface-2); border: 1px solid var(--border);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text-muted);}
.rec__arrows span:hover {color: var(--accent-h); border-color: var(--accent);}
.rec__list {display: flex; flex-direction: column; gap: 10px;}
.rel {display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: var(--radius-sm); color: var(--text);}
.rel:hover {background: var(--surface-2); color: var(--heading);}
.rel__img {width: 56px; height: 80px; border-radius: 5px; overflow: hidden; flex: none; background: var(--surface-3);}
.rel__img img {width: 100%; height: 100%; object-fit: cover;}
.rel__title {font-weight: 600; font-size: 13px; line-height: 1.3; color: var(--heading);}
.rel__meta {font-size: 12px; color: var(--text-muted); margin-top: 4px;}

/* COMMENTS
----------------------------------------------- */
.comments {padding: 22px 24px;}
.comments__head {display: flex; align-items: center; gap: 12px; margin-bottom: 18px;}
.comments__title {font-family: 'PT Serif', Georgia, serif; font-size: 22px; flex: 1;}
.comm {display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid var(--border);}
.comm__avatar {width: 42px; height: 42px; border-radius: 50%; overflow: hidden; flex: none; background: var(--surface-3);}
.comm__avatar img {width: 100%; height: 100%; object-fit: cover;}
.comm__avatar i {display: flex; width: 100%; height: 100%; align-items: center; justify-content: center;
	color: #fff; font-style: normal; font-weight: 700; font-size: 17px; text-transform: uppercase;}
.comm__body {flex: 1; min-width: 0;}
.comm__meta {display: flex; align-items: center; gap: 10px; margin-bottom: 4px; font-size: 12px; color: var(--text-muted); flex-wrap: wrap;}
.comm__author, .comm__author a {font-weight: 600; color: var(--heading); font-size: 14px;}
.comm__badge {background: var(--accent-soft); color: var(--accent-h); padding: 1px 7px; border-radius: 4px; font-size: 11px;}
.comm__text {font-size: 14px;}
.comm__actions {display: flex; gap: 16px; margin-top: 8px; font-size: 12px; color: var(--text-muted); align-items: center;}
.comm__rate a {color: var(--text-muted);} .comm__rate a:hover {color: var(--accent-h);}
.comm__rate .ratingplus, .comm__rate .ratingtypeplus {color: var(--accent-h);}
.comm__rate .ratingminus {color: var(--danger);}
.comm__reply, .comm__reply a {cursor: pointer; color: var(--blue);}
.comm__admin a {color: var(--text-muted); margin-right: 8px;}
.last-comm-link {margin-top: 18px; font-weight: 600;}
.mass_comments_action {display: none;}
.comments-tree-list .comments-tree-list {padding-left: 30px;}

.add-comm-form {margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border);}
.ac-inputs {display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px;}
.ac-protect {display: none; margin: 10px 0;}
.ac-row {margin-bottom: 10px;}
.ac-row label {display: block; margin-bottom: 6px; font-size: 13px; color: var(--text-muted);}
.ac-code {display: flex; gap: 10px; align-items: center;}
.ac-code img {border-radius: 6px;}
.ac-submit {margin-top: 10px;}
.bb-editor {margin-bottom: 8px;}

/* LCOMM (sidebar comments custom) */
.lcomm {display: block; padding: 10px; border: 0; border-radius: var(--radius-sm); background: var(--surface-2); margin-bottom: 8px;}
.lcomm__head {display: flex; gap: 10px; align-items: center; margin-bottom: 6px;}
.lcomm__head .comm__avatar {width: 30px; height: 30px;}
.lcomm__meta {display: flex; flex-direction: column; min-width: 0;}
.lcomm__date {font-size: 11px; color: var(--text-muted);}
.lcomm__text {font-size: 12px; color: var(--text);}
.lcomm__link {display: block; margin-top: 5px; font-size: 12px; color: var(--accent-h); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

/* STATIC / PAGES
----------------------------------------------- */
.page {padding: 24px 28px;}
.page__title {font-family: 'PT Serif', Georgia, serif; font-size: 26px; font-weight: 400; margin-bottom: 16px;}
.berrors {padding: 14px 18px; margin-bottom: 18px; border-radius: var(--radius-sm); background: rgba(232,163,61,.12);
	border-left: 3px solid #e8a33d; color: var(--heading);}
.berrors a {text-decoration: underline;}

/* LOGIN MODAL
----------------------------------------------- */
.overlay {position: fixed; inset: 0; z-index: 900; background: rgba(5,8,12,.7); display: none; backdrop-filter: blur(2px);}
.login-box {position: fixed; z-index: 950; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 380px; max-width: calc(100% - 30px);
	background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 28px; box-shadow: var(--shadow); display: none;}
.login-close {position: absolute; right: 12px; top: 12px; width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
	display: flex; align-items: center; justify-content: center; color: var(--text-muted);}
.login-close:hover {background: var(--surface-2); color: var(--heading);}
.login-title {font-family: 'PT Serif', Georgia, serif; font-size: 22px; color: var(--heading); margin-bottom: 18px;}
.login-input {position: relative; margin-bottom: 10px;}
.login-input .fa {position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-muted);}
.login-input input {padding-left: 40px;}
.login-check {display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted); margin: 6px 0 14px; cursor: pointer;}
.login-check input {width: 16px; height: 16px; accent-color: var(--accent);}
.login-links {display: flex; justify-content: space-between; margin-top: 14px; font-size: 13px;}
.login-soc-title {display: flex; align-items: center; gap: 10px; margin: 22px 0 12px; color: var(--text-muted); font-size: 12px; text-transform: uppercase;}
.login-soc-title:before, .login-soc-title:after {content: ""; flex: 1; height: 1px; background: var(--border);}
.login-soc {display: flex; gap: 8px; justify-content: center;}
.login-soc img {width: 34px; height: 34px; border-radius: 50%;}
.login-user {text-align: center; margin-bottom: 16px;}
.login-user__avatar {width: 72px; height: 72px; border-radius: 50%; overflow: hidden; margin: 0 auto 10px; border: 3px solid var(--accent);}
.login-user__avatar img {width: 100%; height: 100%; object-fit: cover;}
.login-user__name {font-weight: 700; color: var(--heading); font-size: 17px;}
.login-user__admin {font-size: 12px;}
.login-menu {display: grid; grid-template-columns: 1fr 1fr; gap: 6px;}
.login-menu a {display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 6px; background: var(--surface-2); color: var(--text); font-size: 13px;}
.login-menu a:hover {background: var(--accent-soft); color: var(--accent-h);}
.login-menu .fa {width: 16px; text-align: center; color: var(--text-muted);}

/* MOBILE PANEL
----------------------------------------------- */
.mobile-panel {position: fixed; top: 0; left: 0; bottom: 0; width: 300px; max-width: 85%; z-index: 950; background: var(--surface);
	transform: translateX(-100%); transition: transform .3s; overflow-y: auto; padding: 60px 16px 20px; border-right: 1px solid var(--border);}
.mobile-panel.is-open {transform: none;}
.mobile-panel__close {position: absolute; right: 12px; top: 12px; width: 36px; height: 36px; border-radius: 50%; background: var(--surface-2);
	display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px;}
.mobile-panel .menu {flex-direction: column; align-items: stretch; gap: 2px;}
.mobile-panel .menu__item > a {height: 44px;}
.mobile-panel .menu__drop {position: static; min-width: 0; opacity: 1; visibility: visible; transform: none; box-shadow: none;
	display: none; grid-template-columns: 1fr 1fr; padding: 6px 0 10px; border: 0; background: transparent;}
.mobile-panel .menu__item.is-open .menu__drop {display: grid;}
.mobile-panel .search {width: 100%; margin: 12px 0;}
.mobile-panel .header__login {width: 100%;}
.mobile-panel .header__login .btn {width: 100%;}

#gotop {position: fixed; right: 20px; bottom: 20px; width: 44px; height: 44px; border-radius: 50%; background: var(--accent); color: #fff;
	display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 80; opacity: 0; visibility: hidden; transition: all .25s; box-shadow: var(--shadow);}
#gotop.is-visible {opacity: 1; visibility: visible;}

/* ADAPTIVE
----------------------------------------------- */
@media (max-width: 1100px) {
	.grid {grid-template-columns: repeat(5, minmax(0, 1fr));}
	.menu__item > a {padding: 0 9px;}
	.search {width: 200px;}
}
@media (max-width: 950px) {
	.header .menu, .header .search, .header .header__login {display: none;}
	.burger {display: inline-flex;}
	.header__in {gap: 12px;}
	.logo {flex: 1;}
	.grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.full-cols {grid-template-columns: 1fr;}
	.movie {grid-template-columns: 200px 1fr; gap: 20px; padding: 18px;}
	.info {grid-template-columns: 1fr 1fr;}
	.video-box iframe, .video-box video {height: 420px;}
	.promo__soc {display: none;}
}
@media (max-width: 700px) {
	.grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
	.movie {grid-template-columns: 1fr;}
	.movie__side {flex-direction: row; align-items: flex-start;}
	.movie__poster {width: 160px; flex: none;}
	.likes {flex-direction: column;}
	.info {grid-template-columns: 1fr;}
	.sect__title, h1.sect__title {font-size: 22px;}
	.promo {flex-wrap: wrap;}
	.promo .btn {width: 100%;}
	.video-box iframe, .video-box video {height: 300px;}
	.ac-inputs {grid-template-columns: 1fr;}
	.wrap {padding: 0 12px;}
}
@media (max-width: 480px) {
	.grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.video-box iframe, .video-box video {height: 230px;}
	.logo__text {font-size: 18px;}
	.player__bar {flex-wrap: wrap; padding: 0 10px 8px;}
	.tabs__nav {width: 100%;}
}

/* FIXES
----------------------------------------------- */
.bottom-nav, .grid > .bottom-nav {grid-column: 1 / -1;}
.lcomm.comm {display: block; border-top: 0; padding: 10px;}
.movie__sub {color: var(--text-muted); font-size: 13px; margin: -8px 0 12px;}
/* DLE оборачивает {content} в #dle-content — пропускаем обёртку, чтобы сетка работала */
#dle-content {display: contents;}
/* FIX: mobile overflow — картинки не растягивают колонки */
img {max-width: 100%;}
.grid > *, #dle-content > * {min-width: 0;}
/* рейтинг звёздами (стандартный тип рейтинга DLE) */
.likes--stars {display: flex; grid-template-columns: none; justify-content: center; padding: 8px 10px;}
.likes--stars .rating {display: inline-block;}

/* --- доступность и тач-зоны --- */
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}
.pagi-load {margin-bottom: 16px;}
.pagi-load a {display: inline-flex; margin-bottom: 0;}
.pagi-nav, .navigation {gap: 8px;}
.navigation a, .navigation span, .pprev a, .pnext a {min-width: 40px; min-height: 40px;}
.icon-btn:focus-visible, .arrows span:focus-visible, .share span:focus-visible {outline: 2px solid var(--accent); outline-offset: 2px;}
/* --- мобильная сетка 3 колонки --- */
@media (max-width: 480px) {
	.grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;}
	.poster__title {font-size: 12px;}
	.poster__meta {font-size: 11px;}
	.poster__badge {font-size: 9px; padding: 0 5px; height: 17px;}
}

/* --- страница фильма на телефоне: постер слева, текст справа (текст = LCP) --- */
@media (max-width: 700px) {
	.movie {display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 0 14px; grid-auto-flow: row dense; align-items: start;}
	.movie__side, .movie__main {display: contents;}
	.movie__poster {grid-column: 1; grid-row: 1 / span 5; width: 140px; max-width: none; margin: 0 0 12px;}
	.movie__side > :not(.movie__poster) {grid-column: 2; order: 5; margin: 0 0 10px;}
	.movie__main > * {grid-column: 2; order: 3; margin: 0 0 8px;}
	.movie__title {order: 1; font-size: 19px; line-height: 1.25;}
	.movie__sub, .movie__orig {order: 2;}
	.rates {order: 4;}
	.movie__side > .likes {grid-column: 1 / -1; order: 6; margin: 4px 0 12px;}
	.movie__desc, .info, .movie__caption {grid-column: 1 / -1; order: 8; margin-top: 6px;}
}
/* контраст и крупные зоны касания */
.berrors {color: var(--heading);}
.likes--stars .rating {transform: scale(1.5); transform-origin: center; margin: 8px 0;}
.likes--stars {padding: 14px 10px;}

/* --- плеер: фасад (iframe грузится по клику), пропорции 16:9 --- */
.video-box.is-visible {position: relative; aspect-ratio: 16 / 9; max-height: 600px; height: auto;}
.video-box iframe, .video-box .facade {position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block;}
button.facade.js-facade, button.facade.js-facade:hover {cursor: pointer; background: radial-gradient(ellipse at center, #1c2733 0%, #0b1016 70%); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; font: inherit; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; width: 100%; height: 100%; min-height: 0; line-height: 1.3; text-transform: none; letter-spacing: 0;}
.facade__play {width: 78px; height: 78px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(0,0,0,.45); transition: transform .2s;}
.facade__play:after {content: ""; border-left: 28px solid #fff; border-top: 17px solid transparent; border-bottom: 17px solid transparent; margin-left: 7px;}
button.facade:hover .facade__play, button.facade:focus-visible .facade__play {transform: scale(1.08);}
.facade__text {font-size: 15px; font-weight: 700; letter-spacing: .3px;}
/* заметные, но контрастные сообщения */
div.berrors, .berrors.berrors {background: #fff3e0; color: #5a2d00; border-left: 3px solid #f26d21;}
div.berrors a {color: #7a3e00;}

/* --- виджет рейтинга DLE (копия из engine.css, чтобы не было сдвига при его поздней загрузке) --- */
.fieldtr select, .f_textarea, .f_input, .xfields textarea, .xprofile textarea, .tdfield select, .lfield input, 
.editor input[type="text"], #category, textarea.ui-corner-all, .pm select,
.xfields input, .xprofile input, .xfields select, .xprofile select, .mass_comments_action select, 
.bbeditor select, .textin, select.rating{padding:5px;}
/*--- RATING ---*/
.unit-rating{list-style:none;margin:0;padding:0;width:172px;height:17px;position:relative;
background:url(../dleimages/rating.png) repeat-x; display:inline-block;}
.unit-rating li{text-indent:-90000px;padding:0;margin:0;float:left}
.unit-rating li a{display:block;width:17px;height:17px;text-decoration:none;text-indent:-9000px;
z-index:17;position:absolute;padding:0}
.unit-rating li a:hover{background:url(../dleimages/rating.png) 0 -17px;z-index:2;left:0}
.unit-rating a.r1-unit{left:0}
.unit-rating a.r1-unit:hover{width:17px}
.unit-rating a.r2-unit{left:17px}
.unit-rating a.r2-unit:hover{width:34px}
.unit-rating a.r3-unit{left:34px}
.unit-rating a.r3-unit:hover{width:51px}
.unit-rating a.r4-unit{left:51px}
.unit-rating a.r4-unit:hover{width:68px}
.unit-rating a.r5-unit{left:68px}
.unit-rating a.r5-unit:hover{width:85px}
.unit-rating a.r6-unit{left:85px}
.unit-rating a.r6-unit:hover{width:102px}
.unit-rating a.r7-unit{left:102px}
.unit-rating a.r7-unit:hover{width:119px}
.unit-rating a.r8-unit{left:119px}
.unit-rating a.r8-unit:hover{width:136px}
.unit-rating a.r9-unit{left:136px}
.unit-rating a.r9-unit:hover{width:153px}
.unit-rating a.r10-unit{left:153px}
.unit-rating a.r10-unit:hover{width:170px}
.unit-rating li.current-rating{background:url(../dleimages/rating.png) 0 -34px;position:absolute;
height:17px;display:block;text-indent:-9000px;z-index:1}
.mrating .unit-rating{list-style:none;margin:0;padding:0;width:150px;height:30px;position:relative;
background:url(../dleimages/rating1.png) repeat-x; display:inline-block;}
.mrating .unit-rating li{text-indent:-90000px;padding:0;margin:0;float:left;width:30px;height:30px;}
.mrating .unit-rating li a{display:block;width:30px;height:30px;text-decoration:none;text-indent:-9000px;
z-index:17;position:absolute;padding:0}
.mrating .unit-rating li a:hover{background:url(../dleimages/rating1.png) 0 -30px;z-index:2;left:0}
.mrating .unit-rating a.r1-unit{left:0}
.mrating .unit-rating a.r1-unit:hover{width:30px}
.mrating .unit-rating a.r2-unit{left:30px}
.mrating .unit-rating a.r2-unit:hover{width:60px}
.mrating .unit-rating a.r3-unit{left:60px}
.mrating .unit-rating a.r3-unit:hover{width:90px}
.mrating .unit-rating a.r4-unit{left:90px}
.mrating .unit-rating a.r4-unit:hover{width:120px}
.mrating .unit-rating a.r5-unit{left:120px}
.mrating .unit-rating a.r5-unit:hover{width:150px}
.mrating .unit-rating a.r6-unit{left:150px}
.mrating .unit-rating a.r6-unit:hover{width:180px}
.mrating .unit-rating a.r7-unit{left:180px}
.mrating .unit-rating a.r7-unit:hover{width:210px}
.mrating .unit-rating a.r8-unit{left:210px}
.mrating .unit-rating a.r8-unit:hover{width:240px}
.mrating .unit-rating a.r9-unit{left:240px}
.mrating .unit-rating a.r9-unit:hover{width:270px}
.mrating .unit-rating a.r10-unit{left:270px}
.mrating .unit-rating a.r10-unit:hover{width:300px}
.mrating .unit-rating li.current-rating{background:url(../dleimages/rating1.png) 0 -60px;position:absolute;
height:30px;display:block;text-indent:-9000px;z-index:1}
.likes--stars {min-height: 64px;}
/* контраст v1: тёмный текст на зелёном (7.6:1), крупный заголовок на телефоне */
.btn, .btn:hover, .tabs__nav span.is-active, .poster__badge--green, .pagi-load a, .navigation span, .navigation a:hover, .pprev a:hover, .pnext a:hover {color: #0b0f14;}
.btn--blue, .btn--blue:hover {color: #fff; background: #1a62cc;}
.likes--stars {display: flex; justify-content: center; align-items: center; width: 100%; overflow: visible;}
.likes--stars .rating {margin: 8px auto;}
@media (max-width: 480px) {
	.sect__title, h1.sect__title {font-size: 30px; line-height: 1.25;}
	.poster__badge:not(.poster__badge--green) {display: none;}
}
/* контраст кнопок v1 */
button:not(.fr-command):not([class*="owl"]), button:not(.fr-command):not([class*="owl"]):hover, button.btn {color: #0b0f14;}
.search button, .search button:hover {color: var(--text);}
/* VK кнопка */
.promo__vk {width: auto !important; padding: 0 16px; border-radius: 18px !important; gap: 8px; font-weight: 700; font-size: 13px; background: #1a62cc !important; color: #fff !important;}
.btn--vk, .btn--vk:hover {background: #1a62cc; color: #fff; margin-bottom: 10px;}
@media (max-width: 950px) {.promo__soc {display: flex;}}

/* --- FIX панель плеера на телефоне: вкладки отдельной строкой, инструменты ниже --- */
@media (max-width: 700px) {
	.player__bar {flex-wrap: wrap; gap: 0 16px; padding: 0 12px 8px;}
	.tabs__nav {flex: 1 0 100%; order: -1; margin: 0 -12px; width: calc(100% + 24px); overflow-x: auto;}
	.tabs__nav span {height: 42px; padding: 0 14px; font-size: 12px;}
	.player__tool {height: 36px;}
}
/* --- FIX мобильная v1: лайки в ряд, шапка на узких экранах, промо без кнопки --- */
.promo__soc {display: flex !important;}
.promo__vk {white-space: nowrap;}
@media (max-width: 700px) {
	.movie__side > .likes {flex-direction: row; flex-wrap: wrap; gap: 8px;}
	.likes a, .likes span.likes__star {flex: 1 1 auto; justify-content: center;}
	.promo {flex-wrap: wrap;}
	.promo__soc {width: 100%;}
	.promo__vk {width: 100% !important; justify-content: center; height: 42px;}
}
@media (max-width: 480px) {
	.header__in {gap: 8px;}
	.logo {min-width: 0;}
	.logo__text {min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
	.logo__text {font-size: 15px; letter-spacing: 0;}
	.logo__icon {width: 36px; height: 36px; flex: none;}
	.icon-btn {width: 36px; height: 36px;}
}
