/* 
   Lord Film Remaster – новая тема в стиле inoriginal.net
   Базовая палитра и UI-сетка
*/

/* DESIGN TOKENS
----------------------------------------------- */
:root {
	/* Фон и карточки */
	--bg: #050712;
	--bg-darker: #050510;
	--bg-darker-1: #03030b;
	--bg-black: #020309;
	--bg-blackest: #010106;

	/* Текст */
	--tt: #f5f6ff;
	--tt-fade-0: #c4c8e5;
	--tt-fade: #8f96b2;

	/* Бордеры и тень */
	--bdc: rgba(255,255,255,0.06);
	--bsh-long: 0 28px 80px rgba(0,0,0,0.85);
	--bsh: 0 12px 30px rgba(0,0,0,0.45);
	--bsh-block: 0 0 0 1px rgba(255,255,255,0.05), 0 22px 60px rgba(0,0,0,0.9);

	/* Акценты */
	--accent: #7c5cff;
	--green: #31c27c;
	--red: #ff4b5c;
	--orange: #ffa940;
	--grey: #838aa4;
	--yellow: #ffd670;
	--blue: #4d8dff;

	/* UI-элементы */
	--ui-elem-height: 40px;
	--ui-elem-padding: 18px;
	--ui-elem-gap: 8px;
	--ui-elem-bdrs: 999px; /* больше “пилюли”, как на inoriginal */

	--ui-bg-btn: #7c5cff;
	--ui-tt-btn: #ffffff;
	--ui-bg-btn-hover: #6b4bff;

	--ui-bg-inp: rgba(5, 7, 25, 0.9);
	--ui-bdc-inp: rgba(255,255,255,0.08);
	--ui-bdc-inp-focus: #7c5cff;

	--ui-bg: #050712;
	--ui-bg-darker: #07091a;
	--ui-bg-darkest: #040513;
	--ui-accent: #7c5cff;

	--ui-bdc: rgba(255,255,255,0.06);
	--ui-tt-fade: #8f96b2;
	--ui-fw-bolder: 500;
	--ui-fw-fa: 300;

	--ui-bsh: 0 24px 60px rgba(0,0,0,0.85);
	--ui-bsh-inset: inset 0 0 0 1px rgba(255,255,255,0.03);

	--ui-gradient: radial-gradient(circle at top, #20264a 0, #050712 45%, #010106 100%);
	--ui-bg-black: #050712;

	--ui-bg-attention: rgba(247, 179, 60, 0.08);
	--ui-bd-attention: #f7b33c;

	--indent-negative: -24px;
	--indent: 24px;
	--max-width: 1180px;
}

/* RESET
----------------------------------------------- */
* {
	background: none;
	margin: 0;
	padding: 0;
	outline: none;
	border: 0;
	box-sizing: border-box;
}
ol, ul {list-style: none;}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img, table, iframe, video, frame, embed, object {max-width: 100%;}

body {
	font-family: 'inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--tt);
	background: radial-gradient(circle at top, #1f2441 0, #050712 45%, #010106 100%);
	min-height: 100vh;
}

/* Общая “подложка” как на inoriginal – центрированный контейнер */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	background:
		radial-gradient(circle at 0 0, rgba(124,92,255,0.2), transparent 55%),
		radial-gradient(circle at 100% 0, rgba(0,180,255,0.14), transparent 55%);
	opacity: 0.8;
	pointer-events: none;
	z-index: -2;
}

/* лёгкий шум / зерно */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='noStitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.14' /%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
	opacity: 0.5;
	pointer-events: none;
	z-index: -1;
}

a {
	color: inherit;
	text-decoration: none;
}
a:focus {
	color: inherit;
	text-decoration: none;
}
h1, h2, h3, h4, h5 {
	font-weight: 500;
	font-size: 24px;
}

::selection {
	background: #7c5cff;
	color: #fff;
}
b, strong, .bolder {font-weight: 600;}

/* FORM ELEMENTS
----------------------------------------------- */
button,
select,
textarea,
input[type="text"],
input[type="password"],
input[type="button"],
[type="reset"],
input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
	font-size: 14px;
	font-family: inherit;
	font-weight: 500;
}

input[type="button"],
input[type="submit"] {
	font-weight: 500;
}

button,
.btn,
[type="button"],
[type="reset"],
[type="submit"],
.pmessages__links a,
.qq-upload-button,
.plupload_button,
.pagination__btn-loader a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	white-space: nowrap;
	height: var(--ui-elem-height);
	padding: 0 var(--ui-elem-padding);
	gap: var(--ui-elem-gap);
	border-radius: var(--ui-elem-bdrs);
	background: linear-gradient(135deg, #7c5cff, #4e68ff);
	color: var(--ui-tt-btn);
	font-size: 13px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(0,0,0,0.7);
	border: 1px solid rgba(255,255,255,0.08);
}

button:active,
input[type="button"]:active,
input[type="submit"]:active {
	box-shadow: inset 0 1px 4px 0 rgba(0,0,0,0.35);
}

.color-btn,
[class*=fr],
[class*=plyr],
.owl-prev,
.owl-next,
.owl-dot,
[id*=mceu],
[class*=tox-],
.ui-dialog-titlebar-close {
	padding: 0;
	margin: 0;
	line-height: 1.4;
	border: 0;
	box-shadow: none;
	background: none;
	border-radius: 0;
}

[type="text"],
[type="password"],
[type="email"],
select,
textarea {
	height: var(--ui-elem-height);
	padding: 0 var(--ui-elem-padding);
	line-height: calc(var(--ui-elem-height) - 2px);
	width: 100%;
	background-color: var(--ui-bg-inp);
	border: 1px solid var(--ui-bdc-inp);
	border-radius: 999px;
	box-shadow: var(--ui-bsh-inset);
	font-size: 14px;
	color: var(--tt);
	display: block;
}
[type="text"]:focus,
[type="password"]:focus,
[type="email"]:focus,
textarea:focus {
	border-color: var(--ui-bdc-inp-focus);
	box-shadow: 0 0 0 1px rgba(124,92,255,0.35);
}

select:not([multiple]) {
	background-image: url(../dleimages/chevron-down-light.svg);
	padding-right: 32px;
	background-repeat: no-repeat;
	background-position: right 16px top 50%;
	background-size: 12px auto;
}
select option {
	padding: 6px 10px;
	font-weight: 400;
	background: #050712;
}
select[multiple] option {
	padding: 3px 10px;
	font-weight: 400;
}
select[multiple] {
	padding: 9px 5px;
	border-radius: 12px;
}
textarea {
	padding-top: 16px;
	padding-bottom: 16px;
	overflow: auto;
	resize: vertical;
	border-radius: 16px;
}
input::placeholder,
textarea::placeholder {
	color: var(--tt-fade);
	opacity: 1;
	font-size: 13px;
}
input:focus::placeholder,
textarea:focus::placeholder {
	color: transparent;
}

/* UTILITY CLASSES
----------------------------------------------- */
.img-wide,
.img-responsive,
.img-fixed-size,
.expand-link,
.p-relative,
.img-block {
	position: relative;
}
.img-responsive {padding-top: 60%;}
.img-responsive > img,
.img-fixed-size img,
.img-block img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
}
.img-responsive > img {
	position: absolute;
	left: 0;
	top: 0;
}
.img-wide img,
.img-wide > a,
.img-block img {
	width: 100%;
	display: block;
}
.img-block > img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	display: block;
	object-fit: cover;
}

.clr {clear: both;}
.clearfix::after {content: ""; display: table; clear: both;}
.ws-nowrap {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
}
.line-clamp-2,
.line-clamp-3,
.line-clamp-4,
.line-clamp-5,
.line-clamp-6 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.line-clamp-3 {-webkit-line-clamp: 3; line-clamp: 3;}
.line-clamp-4 {-webkit-line-clamp: 4; line-clamp: 4;}
.line-clamp-5 {-webkit-line-clamp: 5; line-clamp: 5;}
.line-clamp-6 {-webkit-line-clamp: 6; line-clamp: 6;}

.vw100 {
	margin:0 calc((100% - 100vw)/2);
	padding:0 calc((100vw - 100%)/2);
}
.img-mask::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	bottom: 0;
	height: 52%;
	background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, transparent 100%);
	opacity: 1;
}
.expand-link__trg::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 10;
}
.img-overlay-icon::before {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	opacity: 0;
	background: radial-gradient(circle at 50% 40%, rgba(0,0,0,0.45), rgba(0,0,0,0.85));
	color: #fff;
	font-size: 38px;
	display: grid;
	place-items: center;
}

/* FLEX / GRID */
.d-flex {display: flex; flex-wrap: wrap; flex-direction: row;}
.fd-column {flex-direction: column; flex-wrap: nowrap;}
.jc-space-between {justify-content: space-between;}
.jc-flex-start {justify-content: flex-start;}
.jc-center {justify-content: center;}
.jc-flex-end {justify-content: flex-end;}
.ai-flex-start {align-items: flex-start;}
.ai-center {align-items: center;}
.ai-flex-end {align-items: flex-end;}
.order-first {order: -1;}
.order-last {order: 10;}
.flex-grow-1,
.ui-dialog-title,
.ac-form__bottom .comments_subscribe,
.flex-1 {
	flex: 1 1 0;
	max-width: 100%;
	min-width: 50px;
}
.flex-grow-1-column,
.flex-1-col {flex: 1 0 min-content;}
.pi-center {display: grid; place-items: center;}
.ta-center {text-align: center;}

.grid-items {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
	align-items: stretch;
}
.grid-items > *:not(.grid-items__item),
#dle-content > *:not(.grid-items__item) {
	grid-column: 1 / -1;
}
.grid-items > #dle-content {
	display: inherit;
	gap: inherit;
	grid-template-columns: inherit;
}

/* мержы / отступы */
.r-gap-5 {row-gap: 5px;} .r-gap-10 {row-gap: 10px;}
.r-gap-15 {row-gap: 15px;} .r-gap-20 {row-gap: 20px;}
.r-gap-25 {row-gap: 25px;} .r-gap-30 {row-gap: 30px;}
.r-gap-35 {row-gap: 35px;} .r-gap-40 {row-gap: 40px;}
.c-gap-5 {column-gap: 5px;} .c-gap-10 {column-gap: 10px;}
.c-gap-15 {column-gap: 15px;} .c-gap-20 {column-gap: 20px;}
.c-gap-25 {column-gap: 25px;} .c-gap-30 {column-gap: 30px;}
.c-gap-35 {column-gap: 35px;} .c-gap-40 {column-gap: 40px;}

.p-relative {position: relative;}
.o-hidden {overflow: hidden;}
.d-block {display: block;}
.w-100 {width: 100%; min-width: 100% !important; grid-column: 1 / -1;}
.bdrs-50 {border-radius: 50%;}
.ml-auto {margin-left: auto;}
.mr-auto {margin-right: auto;}
.mt-auto {margin-top: auto;}
.mb-auto {margin-bottom: auto;}
.ratio-3-2 {aspect-ratio: 3 / 2;}
.ratio-2-3 {aspect-ratio: 2 / 3;}
.ratio-1-1 {aspect-ratio: 1 / 1;}

/* BUTTON VARIANTS */
.btn-smaller {
	--ui-elem-height: 32px;
	font-size: 12px;
	padding: 0 14px;
}
.btn-bigger {
	--ui-elem-height: 52px;
	--ui-elem-padding: 32px;
}
.btn-square {
	aspect-ratio: 1 / 1;
	padding: 0;
	border-radius: 14px;
}
.btn-rounded {border-radius: 999px;}
.btn-border {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.12);
	color: var(--tt);
	box-shadow: none;
}
.btn-nobg {
	background: none;
	color: var(--tt);
	box-shadow: none;
	padding: 0;
	border-radius: 0;
	border: 0;
}
.btn-fade {
	background: rgba(255,255,255,0.02);
	color: var(--tt-fade);
	box-shadow: none;
}

/* visibility helpers */
.hidden,
.d-none,
.full-text .quote + br,
#category option:empty,
.ui-helper-hidden-accessible:empty,
#related_news:empty,
#result-registration:empty,
.info br,
#fullsearch + form .mass_comments_action,
.bb-sep,
.bb-pane > .clr,
.comm__ctrl-menu li:empty,
.has-checkbox:empty {
	display: none;
}

.login__social:has(.login__social-caption:last-child),
.serv__social:has(.serv__subtitle:last-child) {display: none;}

.anim,
button,
.btn,
a,
.anim-before::before,
.anim-after::after {
	transition:
		color .25s ease,
		background-color .25s ease,
		opacity .25s ease,
		box-shadow .25s ease,
		transform .25s ease,
		border-color .25s ease,
		scale .25s ease,
		rotate .25s ease,
		translate .25s ease;
}

/* FONTS
----------------------------------------------- */
@font-face {
	font-family: 'inter';
	src: url('../webfonts/inter-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'inter';
	src: url('../webfonts/inter-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Oswald';
	src: url('../webfonts/oswald-700.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Righteous-Regular';
	src: url('../webfonts/Righteous-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* HOVER STATES
----------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
	a:hover {
		color: inherit;
		text-decoration: none;
	}

	button:hover,
	.btn:hover,
	input[type="button"]:hover,
	input[type="reset"]:hover,
	input[type="submit"]:hover,
	.pmessages__links a:hover,
	.qq-upload-button:hover,
	.us__btn a:hover,
	.plupload_button:hover,
	#searchsuggestions span.seperator a:hover,
	.pagination__btn-loader a:hover {
		background: linear-gradient(135deg, #8a66ff, #5b86ff);
		border-color: rgba(255,255,255,0.24);
		color: #ffffff;
	}

	.header__menu li:hover > a {
		opacity: 1;
		color: #ffffff;
	}

	.header__menu-hidden a:hover,
	.footer__menu a:hover,
	.header__login a:hover,
	.lgn__ctrl > a:hover,
	.lgn__menu a:hover,
	.speedbar a:hover,
	.side__complaint a:hover,
	.comm__action a:hover,
	.comm__ctrl-menu a:hover,
	.fr__title:hover,
	.side__fav > *:hover,
	.tuser__name a:hover {
		color: #ffffff;
		text-decoration: underline;
	}

	.owl-nav button:hover {
		opacity: 1;
		background-color: var(--accent);
		color: #fff;
	}

	.sect__tabs button:not(.is-active):hover,
	.pagination > a:hover,
	.header__btn1:hover,
	.side__likes a:hover,
	.pagination__pages a:hover,
	.sect__grid-select button:hover {
		background-color: var(--accent);
		color: #fff;
	}

	.item:hover .img-overlay-icon::before {opacity: 1;}

	.header__ava:hover,
	.comm__rating a:hover {opacity: 0.85;}
}

/* DARK THEME SWITCH (у тебя уже есть логика на body.dt – сохраняю совместимость)
----------------------------------------------- */
.dt {
	--bg: #020308;
	--bg-darker: #010106;
	--bg-darker-1: #000000;
	--bg-black: #000000;
	--bg-blackest: #000000;

	--tt: #f8f9ff;
	--tt-fade-0: #cfd3ff;
	--tt-fade: #9ca4d1;

	--bdc: rgba(255,255,255,0.18);
	--bsh: 0 18px 40px rgba(0,0,0,0.95);

	--ui-bg-inp: rgba(6, 8, 28, 0.95);
	--ui-bdc-inp: rgba(255,255,255,0.12);

	--ui-bg: #020308;
	--ui-bg-darker: #050712;
	--ui-bg-darkest: #000000;
	--ui-accent: #7c5cff;
	--ui-bdc: rgba(255,255,255,0.12);
	--ui-tt-fade: #a4acd7;
	--ui-bsh: 0 24px 60px rgba(0,0,0,0.95);
	--ui-bsh-inset: inset 0 0 0 1px rgba(255,255,255,0.05);
	--ui-bg-attention: #24190a;
	--ui-bd-attention: #f7b33c;
}

.dt {color-scheme: dark;}
.dt select:not([multiple]) {background-image: url(../dleimages/chevron-down-light.svg);}
