/* Lord Films 2025 Edition
   Modern Cinematic Template
   Clean and simple design
*/

/* ========================================
   CSS VARIABLES & THEME
======================================== */
:root {
	--primary: #f59e0b;
	--primary-dark: #d97706;
	--accent: #ec4899;
	--accent-secondary: #f97316;
	--bg-dark: #0a0a0f;
	--bg-card: rgba(15, 15, 25, 0.85);
	--bg-card-solid: #12121a;
	--text-primary: #ffffff;
	--text-secondary: rgba(255, 255, 255, 0.7);
	--text-muted: rgba(255, 255, 255, 0.5);
	--border-color: rgba(255, 255, 255, 0.1);
	--shadow-color: rgba(0, 0, 0, 0.4);
	--gradient-1: #f59e0b;
	--gradient-2: #ef4444;
	--gradient-3: #f97316;
	--gradient-4: #06b6d4;
	--kp-color: #ff6600;
	--imdb-color: #f5c518;
	--success: #22c55e;
	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-lg: 20px;
	--radius-xl: 30px;
}

/* ========================================
   BASE RESET & TYPOGRAPHY
======================================== */
*, *::before, *::after {
	margin: 0;
	padding: 0;
	outline: none;
	border: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

ol, ul { list-style: none; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: middle; }
article, aside, figure, figure img, hgroup, footer, header, nav, section, main { display: block; }
img { max-width: 100%; display: block; }
.clr { clear: both; }
.clearfix:after { content: ""; display: table; clear: both; }

body {
	font-family: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-primary);
	background: var(--bg-dark);
	min-height: 100vh;
	width: 100%;
	font-weight: 400;
	overflow-x: hidden;
}

/* ========================================
   ANIMATED GRADIENT BACKGROUND
======================================== */
.wrap {
	min-width: 320px;
	position: relative;
	min-height: 100vh;
}

.wrap::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -2;
	background: linear-gradient(
		125deg,
		var(--gradient-1) 0%,
		var(--gradient-2) 25%,
		var(--gradient-3) 50%,
		var(--gradient-4) 75%,
		var(--gradient-1) 100%
	);
	background-size: 400% 400%;
	animation: gradientWave 15s ease infinite;
}

.wrap::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background: 
		radial-gradient(ellipse at 20% 20%, rgba(139, 92, 246, 0.3) 0%, transparent 50%),
		radial-gradient(ellipse at 80% 80%, rgba(236, 72, 153, 0.25) 0%, transparent 50%),
		radial-gradient(ellipse at 50% 50%, rgba(249, 115, 22, 0.2) 0%, transparent 70%),
		linear-gradient(to bottom, rgba(10, 10, 15, 0.85) 0%, rgba(10, 10, 15, 0.95) 100%);
	animation: pulseOverlay 8s ease-in-out infinite alternate;
}

@keyframes gradientWave {
	0% { background-position: 0% 50%; }
	25% { background-position: 50% 100%; }
	50% { background-position: 100% 50%; }
	75% { background-position: 50% 0%; }
	100% { background-position: 0% 50%; }
}

@keyframes pulseOverlay {
	0% { opacity: 0.9; }
	100% { opacity: 1; }
}

/* ========================================
   TYPOGRAPHY
======================================== */
a {
	color: var(--text-primary);
	text-decoration: none;
	transition: color 0.3s ease;
}

a:hover, a:focus {
	color: var(--primary);
}

h1, h2, h3, h4, h5 {
	font-weight: 700;
	line-height: 1.3;
}

h1 { font-size: 28px; }
h2 { font-size: 24px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }

b, strong { font-weight: 600; }

/* ========================================
   FORM ELEMENTS - SIMPLE BUTTONS (NO GRADIENT)
======================================== */
button, textarea, input[type="text"], input[type="password"], input[type="email"] {
	appearance: none;
	-webkit-appearance: none;
	font-size: 15px;
	font-family: inherit;
}

.button, .btn, .pagi-load a, button:not(.color-btn):not([class*=fr]),
html input[type="button"], input[type="reset"], input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	padding: 0 24px;
	height: 44px;
	line-height: 44px;
	border-radius: var(--radius-md);
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	color: #fff;
	background: var(--primary);
	border: none;
	transition: background 0.3s ease, opacity 0.3s ease;
}

.button:hover, .btn:hover, .pagi-load a:hover,
button:not(.color-btn):hover, html input[type="button"]:hover,
input[type="reset"]:hover, input[type="submit"]:hover {
	background: var(--primary-dark);
	opacity: 0.9;
}

input[type="text"], input[type="password"], input[type="email"] {
	height: 46px;
	line-height: 46px;
	border-radius: var(--radius-md);
	padding: 0 16px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--text-primary);
	border: 1px solid var(--border-color);
	transition: all 0.3s ease;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus {
	border-color: var(--primary);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
}

textarea {
	padding: 16px;
	overflow: auto;
	vertical-align: top;
	resize: vertical;
	background: rgba(255, 255, 255, 0.08);
	color: var(--text-primary);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	transition: all 0.3s ease;
	width: 100%;
	min-height: 120px;
}

textarea:focus {
	border-color: var(--primary);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
}

select {
	height: 46px;
	padding: 0 16px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--text-primary);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	cursor: pointer;
}

input::placeholder, textarea::placeholder {
	color: var(--text-muted);
	font-size: 14px;
}

input:focus::placeholder, textarea:focus::placeholder {
	color: transparent;
}

/* ========================================
   UTILITY CLASSES
======================================== */
.img-box, .img-wide, .img-square, .img-resp, .img-resp-vert, .img-resp-sq, .img-fit {
	overflow: hidden;
	position: relative;
	background: var(--bg-card-solid);
}

.img-resp { padding-top: 60%; }
.img-resp-vert { padding-top: 145%; }
.img-resp-sq { padding-top: 100%; }

.img-box img, .img-square img, .img-resp img, .img-resp-vert img, .img-resp-sq img {
	width: 100%;
	min-height: 100%;
	display: block;
	object-fit: cover;
}

.img-resp img, .img-resp-vert img, .img-resp-sq img {
	position: absolute;
	left: 0;
	top: 0;
}

.img-wide img { width: 100%; display: block; }
.img-fit img { width: 100%; height: 100%; object-fit: cover; }
.nowrap { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Flexbox utilities */
.fx-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.fx-col {
	display: flex;
	flex-direction: column;
}

.fx-center { justify-content: center; }
.fx-middle { align-items: center; }
.fx-start { justify-content: flex-start; }
.fx-top { align-items: flex-start; }
.fx-first { order: -1; }
.fx-last { order: 10; }

.fx-1 {
	flex-basis: 0;
	flex-grow: 1;
	max-width: 100%;
	min-width: 50px;
}

.icon-left .fa, .icon-left .icon { margin-right: 10px; }
.icon-right .fa, .icon-right .icon { margin-left: 10px; }
.hidden, #dofullsearch { display: none; }
.anim { transition: all 0.3s ease; }

/* ========================================
   LAYOUT STRUCTURE
======================================== */
.wrap-center {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 20;
}

.wrap-main {
	background: transparent;
}

.content {
	padding: 24px;
	padding-top: 100px;
}

/* ========================================
   HEADER
======================================== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: rgba(10, 10, 15, 0.85);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-bottom: 1px solid var(--border-color);
	transition: all 0.3s ease;
}

.header-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 24px;
	max-width: 1280px;
	margin: 0 auto;
	height: 70px;
}

.logo {
	display: flex;
	align-items: center;
	height: 70px;
	flex-shrink: 0;
	margin-right: 20px;
}

.logo img {
	height: 40px;
	width: auto;
}

.logo-text {
	font-size: 24px;
	font-weight: 800;
	background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	letter-spacing: -0.5px;
}

/* Telegram Button */
.tg-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #0088cc;
	color: #fff !important;
	border-radius: var(--radius-md);
	font-weight: 600;
	font-size: 14px;
	margin-left: 16px;
	flex-shrink: 0;
	transition: background 0.3s ease;
}

.tg-btn:hover {
	background: #006699;
}

.tg-btn i {
	font-size: 18px;
}

/* Header Navigation */
.header-nav {
	display: flex;
	align-items: center;
	flex: 1;
	margin-left: 10px;
}

/* Header Search - FIXED */
.header-search {
	margin-left: auto;
	flex-shrink: 0;
	position: relative;
}

/* Search - FIXED positioning */
.search-wrap {
	flex-shrink: 0;
}

.search-box {
	position: relative;
	width: 300px;
}

.search-box input {
	width: 100%;
	padding: 0 50px 0 18px;
	height: 42px;
	line-height: 42px;
	border-radius: var(--radius-xl);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--border-color);
	color: var(--text-primary);
	font-size: 14px;
	transition: border-color 0.3s ease, background 0.3s ease;
}

.search-box input:focus {
	border-color: var(--primary);
	background: rgba(255, 255, 255, 0.12);
}

.search-box button {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	padding: 0 !important;
	background: transparent !important;
	color: var(--primary) !important;
	font-size: 16px !important;
	width: 36px;
	height: 36px;
	box-shadow: none !important;
	border-radius: 50%;
}

.search-box button:hover {
	background: rgba(139, 92, 246, 0.2) !important;
}

/* Main Menu - Increased spacing */
.hmenu {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hmenu > li {
	position: relative;
}

.hmenu > li > a {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 70px;
	padding: 0 18px;
	font-size: 14px;
	font-weight: 600;
	color: var(--text-secondary);
	transition: color 0.3s ease;
	position: relative;
}

.hmenu > li > a i {
	font-size: 16px;
}

.hmenu > li > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 3px;
	background: var(--primary);
	border-radius: 3px 3px 0 0;
	transition: width 0.3s ease;
}

.hmenu > li:hover > a,
.hmenu > li > a.is-active {
	color: var(--text-primary);
}

.hmenu > li:hover > a::after,
.hmenu > li > a.is-active::after {
	width: calc(100% - 36px);
}

/* Dropdown menu */
.hidden-menu {
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 200px;
	background: var(--bg-card);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	padding: 12px 0;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.3s ease;
	z-index: 100;
}

.hidden-menu.clearfix:not(.one-col) {
	width: 600px;
	padding: 16px;
	display: flex;
	flex-wrap: wrap;
}

.hm-col {
	width: 50%;
	float: left;
}

.one-col { width: 200px !important; }
.one-col .hm-col { width: 100%; }

.hm-col li {
	height: auto;
	line-height: 1.4;
	padding: 0;
}

.hm-col a {
	display: block;
	padding: 8px 16px;
	font-size: 13px;
	color: var(--text-secondary);
	transition: all 0.2s ease;
	border-radius: var(--radius-sm);
	margin: 2px 8px;
}

.hm-col a:hover {
	background: var(--primary);
	color: #fff;
}

.hmenu > li:hover .hidden-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Mobile menu button */
.btn-menu {
	font-size: 28px;
	cursor: pointer;
	padding: 10px;
	color: var(--text-primary);
	transition: color 0.3s ease;
	margin-left: 15px;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
}

.btn-menu:hover {
	color: var(--primary);
}

/* ========================================
   SECTIONS
======================================== */
.sect {
	margin-bottom: 40px;
}

.sect-header {
	margin-bottom: 20px;
	gap: 16px;
}

.sect-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	font-weight: 700;
	padding: 12px 24px;
	background: var(--primary);
	color: #fff;
	border-radius: var(--radius-md);
	text-decoration: none !important;
	transition: background 0.3s ease;
}

.sect-title:hover {
	background: var(--primary-dark);
	color: #fff;
}

.sect-title .fa {
	font-size: 14px;
	opacity: 0.8;
}

.sect-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.sect-tabs span {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px;
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	color: var(--text-secondary);
	transition: all 0.3s ease;
}

.sect-tabs span:hover {
	border-color: var(--primary);
	color: var(--text-primary);
}

.sect-tabs span.is-active {
	background: var(--primary);
	border-color: transparent;
	color: #fff;
}

.sect-items {
	margin: -8px;
}

.sect-cont > .fa {
	font-size: 80px;
	color: var(--text-muted);
	display: block;
	text-align: center;
	padding: 60px 0;
}

/* Category H1 Title */
.sect .sect-header .sect-title-h1 {
	font-size: 24px;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* ========================================
   THUMBNAIL CARDS - NO HOVER LIFT
======================================== */
.th-item {
	float: left;
	width: 16.66%;
	padding: 8px;
}

.th-in {
	display: block;
	position: relative;
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--bg-card-solid);
	transition: box-shadow 0.3s ease;
}

.th-in:hover {
	box-shadow: 0 0 0 2px var(--primary);
}

.th-img {
	position: relative;
}

.th-img::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
	background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.9) 100%);
	height: 60%;
}

.th-desc {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	padding: 14px;
	color: #fff;
	text-align: center;
}

.th-title {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 4px;
}

.th-year {
	font-size: 12px;
	opacity: 0.7;
}

.th-rates {
	margin-top: 8px;
	gap: 8px;
	justify-content: center;
}

.th-rate {
	font-size: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 3px;
}

.th-rate::before {
	content: attr(data-text);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 10px;
}

.th-rate-kp::before { color: var(--kp-color); }
.th-rate-imdb::before { color: var(--imdb-color); }

.th-series {
	position: absolute;
	z-index: 15;
	left: 10px;
	top: 10px;
	padding: 5px 10px;
	border-radius: var(--radius-sm);
	background: var(--primary);
	color: #fff;
	font-weight: 600;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Play button overlay */
.th-mask {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,0.7);
	opacity: 0;
	z-index: 20;
	transition: opacity 0.3s ease;
}

.with-mask:hover .th-mask {
	opacity: 1;
}

.th-mask .fa {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	text-align: center;
	line-height: 60px;
	padding-left: 5px;
	font-size: 24px;
	color: #fff;
	background: var(--primary);
}

/* ========================================
   SPEEDBAR / BREADCRUMBS
======================================== */
.speedbar {
	font-size: 13px;
	margin-bottom: 20px;
	padding: 12px 20px;
	background: var(--bg-card);
	border-radius: var(--radius-md);
	border: 1px solid var(--border-color);
	color: var(--text-muted);
}

.speedbar a {
	color: var(--text-secondary);
}

.speedbar a:hover {
	color: var(--primary);
}

/* ========================================
   FULL STORY PAGE
======================================== */
.fmain {
	background: var(--bg-card);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	overflow: hidden;
	margin: 0;
}

.fleft {
	padding: 30px;
}

.fleft-img {
	width: 220px;
	margin-right: 30px;
	flex-shrink: 0;
}

.fleft-img-in {
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

.fposter {
	border-radius: var(--radius-md);
	position: relative;
}

.fleft-desc {
	flex: 1;
}

.fleft-desc h1 {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--text-primary);
}

.fedit {
	position: absolute;
	z-index: 10;
	right: 12px;
	top: 12px;
	font-size: 18px;
	color: var(--text-primary);
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.fedit:hover { opacity: 1; }

/* Description with toggle */
.fdesc {
	margin-bottom: 24px;
	color: var(--text-secondary);
	font-size: 14px;
	line-height: 1.8;
}

.fdesc.slice-masked { margin-bottom: 0; }

.slice {
	overflow: hidden;
	position: relative;
	transition: max-height 0.4s ease;
	max-height: 200px;
}

.slice.expanded {
	max-height: 2000px;
}

.slice-masked::before {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100px;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent 0%, var(--bg-card-solid) 100%);
}

.slice-btn {
	margin: 15px 0 20px 0;
}

.slice-btn span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	padding: 10px 20px;
	font-weight: 600;
	font-size: 13px;
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid var(--border-color);
	color: var(--text-primary);
	transition: all 0.3s ease;
}

.slice-btn span:hover {
	background: var(--primary);
	border-color: var(--primary);
}

/* Info lists */
.flists {
	gap: 30px;
}

.flist {
	width: 45%;
	line-height: 2;
	font-size: 14px;
}

.flist li > span:first-child {
	font-weight: 600;
	color: var(--text-primary);
}

.flist a {
	color: var(--primary);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.flist a:hover {
	opacity: 0.8;
}

.flist-wide { width: 100%; margin-top: 15px; }

/* Rating badges - FIXED positioning */
.frates {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	justify-content: center;
}

.frate {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--radius-md);
	text-align: center;
	font-size: 14px;
	font-weight: 700;
}

.frate-label {
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 700;
}

.frate-value {
	font-size: 16px;
}

.frate-kp {
	background: rgba(255, 102, 0, 0.15);
	border: 1px solid var(--kp-color);
	color: var(--kp-color);
}

.frate-imdb {
	background: rgba(245, 197, 24, 0.15);
	border: 1px solid var(--imdb-color);
	color: var(--imdb-color);
}

/* Likes/Votes - FIXED positioning */
.flikes {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 16px;
	margin-top: 10px;
}

.rate-plus, .rate-minus {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	padding: 10px 16px;
	border-radius: var(--radius-md);
	transition: background 0.3s ease;
}

.rate-plus {
	background: rgba(34, 197, 94, 0.15);
	border: 1px solid var(--success);
}

.rate-minus {
	background: rgba(239, 68, 68, 0.15);
	border: 1px solid #ef4444;
}

.rate-plus:hover {
	background: rgba(34, 197, 94, 0.25);
}

.rate-minus:hover {
	background: rgba(239, 68, 68, 0.25);
}

.rate-plus .fa {
	color: var(--success);
	font-size: 18px;
}

.rate-minus .fa {
	color: #ef4444;
	font-size: 18px;
}

.psc, .msc {
	font-weight: 600;
	font-size: 14px;
	color: var(--text-primary);
}

.fvotes {
	text-align: center;
	padding: 10px;
	font-size: 13px;
	color: var(--text-muted);
}

/* Subtitle - CENTERED */
.fsubtitle {
	text-align: center;
	margin: 24px 0 -10px 0;
	padding: 20px;
	border-top: 1px solid var(--border-color);
	font-weight: 600;
	font-size: 16px;
	color: var(--text-secondary);
}

/* ========================================
   PLAYER
======================================== */
.fplayer {
	position: relative;
	margin-top: 30px;
}

.fctrl {
	background: rgba(0, 0, 0, 0.5);
	padding: 0 20px;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.fplayer .tabs-sel {
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	font-size: 0;
	padding: 10px 0;
}

.fplayer .tabs-sel span {
	display: inline-block;
	padding: 0 20px;
	height: 38px;
	line-height: 38px;
	cursor: pointer;
	font-weight: 600;
	font-size: 13px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-secondary);
	border-radius: var(--radius-sm);
	margin-right: 8px;
	transition: all 0.3s ease;
}

.fplayer .tabs-sel span:hover {
	background: rgba(255, 255, 255, 0.2);
	color: var(--text-primary);
}

.fplayer .tabs-sel span.current {
	background: var(--primary);
	color: #fff;
}

.video-box {
	position: relative;
	background: #000;
	border-radius: 0 0 var(--radius-md) var(--radius-md);
	overflow: hidden;
}

.video-box embed, .video-box object, .video-box video, .video-box iframe, .video-box frame {
	max-width: 100% !important;
	display: block;
	width: 100%;
	height: 500px;
}

/* Player controls - Light toggle FIXED */
.flight {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 30px;
	line-height: 30px;
	cursor: pointer;
	color: var(--text-secondary);
	font-size: 13px;
	padding: 0 10px;
}

.flight-toggle {
	display: inline-block;
	width: 40px;
	height: 20px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.2);
	position: relative;
	transition: background 0.3s ease;
}

.flight-toggle::after {
	content: '';
	position: absolute;
	left: 2px;
	top: 2px;
	height: 16px;
	width: 16px;
	background: var(--text-muted);
	border-radius: 50%;
	transition: left 0.3s ease, background 0.3s ease;
}

.light-off .flight-toggle {
	background: var(--primary);
}

.light-off .flight-toggle::after {
	left: 22px;
	background: #fff;
}

.fcompl a, .ffav a, .ffav span {
	color: var(--text-secondary);
	cursor: pointer;
	transition: color 0.3s ease;
}

.fcompl a:hover, .ffav a:hover, .ffav span:hover {
	color: var(--primary);
}

.fcompl, .ffav { margin-left: 20px; font-size: 13px; }

/* Share buttons - FIXED icons */
.fshare {
	padding: 20px;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-sm);
	color: #fff !important;
	font-size: 18px;
	transition: opacity 0.3s ease;
}

.share-btn:hover {
	opacity: 0.8;
}

.share-vk { background: #5181b8; }
.share-tg { background: #0088cc; }
.share-ok { background: #ed812b; }
.share-tw { background: #000; }

/* Light overlay - Cinema mode */
.light-overlay {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.95);
	display: none;
	cursor: pointer;
}

.light-off .light-overlay { 
	display: block; 
}

/* Player stays visible above overlay */
.light-off .fplayer,
.light-off #player-tabs {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 90% !important;
	max-width: 1000px !important;
	z-index: 10000 !important;
	background: #000 !important;
	border-radius: var(--radius-lg);
	box-shadow: 0 0 50px rgba(0,0,0,0.8);
}

.light-off #gotop { 
	z-index: 10; 
}

.light-off .header {
	z-index: 99;
}

/* ========================================
   RELATED NEWS
======================================== */
.frels {
	margin-top: 40px;
	padding: 30px;
	background: var(--bg-card);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
}

.frels-title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.frels-title .fa {
	color: var(--primary);
}

/* ========================================
   COMMENTS
======================================== */
.fcomms {
	padding: 30px;
	background: var(--bg-card);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	margin-top: 30px;
}

.full-comms, .add-comms { width: 48%; }
.no-comms { order: -1; }

/* Comment form */
.add-comm-form {
	background: rgba(255, 255, 255, 0.05);
	padding: 24px;
	border-radius: var(--radius-md);
	border: 1px solid var(--border-color);
}

.ac-inputs {
	display: flex;
	gap: 16px;
	margin-bottom: 16px;
}

.ac-inputs input {
	flex: 1;
}

.ac-name-wrapper {
	position: relative;
	flex: 1;
	display: flex;
	gap: 10px;
}

.ac-name-wrapper input {
	flex: 1;
}

.btn-random-name {
	width: 46px;
	height: 46px;
	min-width: 46px;
	padding: 0 !important;
	font-size: 20px !important;
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid var(--border-color) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: all 0.3s ease;
}

.btn-random-name:hover {
	background: var(--primary) !important;
	border-color: var(--primary) !important;
}

.ac-avatar-selector {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.avatar-selector-label {
	font-size: 11px;
	color: var(--text-muted);
}

.btn-select-avatar {
	width: 46px;
	height: 46px;
	min-width: 46px;
	padding: 0 !important;
	font-size: 22px !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid var(--border-color) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: all 0.3s ease;
}

.btn-select-avatar:hover,
.btn-select-avatar.avatar-selected-btn {
	border-color: var(--primary) !important;
}

.ac-textarea {
	margin-bottom: 16px;
}

.ac-textarea textarea {
	height: 120px;
}

.ac-submit button {
	width: 100%;
}

/* Stickers panel */
.stickers-panel-fixed {
	background: rgba(0, 0, 0, 0.3);
	border-radius: var(--radius-md);
	padding: 12px;
	margin-bottom: 16px;
}

.stickers-label {
	font-size: 12px;
	color: var(--text-muted);
	margin-bottom: 10px;
}

.stickers-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.sticker {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	cursor: pointer;
	border-radius: var(--radius-sm);
	transition: all 0.2s ease;
	background: rgba(255, 255, 255, 0.05);
}

.sticker:hover {
	background: rgba(255, 255, 255, 0.15);
}

/* Avatar modal */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(10px);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.modal-content {
	background: var(--bg-card-solid);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	max-width: 400px;
	width: 100%;
	max-height: 80vh;
	overflow: hidden;
}

.modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px;
	border-bottom: 1px solid var(--border-color);
}

.modal-header h3 {
	font-size: 18px;
	font-weight: 600;
}

.modal-close {
	width: 36px;
	height: 36px;
	min-width: 36px;
	padding: 0 !important;
	font-size: 24px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--text-muted);
	cursor: pointer;
}

.modal-close:hover {
	color: var(--text-primary);
}

.modal-body {
	padding: 20px;
	max-height: 400px;
	overflow-y: auto;
}

.avatars-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}

.avatar-item {
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	cursor: pointer;
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.05);
	border: 2px solid transparent;
	transition: all 0.2s ease;
}

.avatar-item:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: var(--primary);
}

/* Comment items */
.comm-item {
	margin-bottom: 20px;
	font-size: 14px;
	padding: 16px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: var(--radius-md);
	border: 1px solid var(--border-color);
}

.comm-one {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

.comm-one > span {
	color: var(--text-muted);
	font-size: 12px;
}

.comm-one > span.comm-author,
.comm-one > span.comm-author a {
	font-weight: 600;
	color: var(--primary);
	font-size: 14px;
}

.comm-two {
	margin-bottom: 12px;
	line-height: 1.7;
	color: var(--text-secondary);
}

.comm-three {
	display: flex;
	align-items: center;
	gap: 16px;
}

.comm-rate3 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
}

.comm-rate3 a {
	color: var(--text-muted);
	transition: color 0.3s ease;
}

.comm-rate3 a:hover {
	color: var(--primary);
}

.comm-rate3 > span > span.ratingtypeplus,
.comm-rate3 > span > span.ratingplus { color: var(--success); }
.comm-rate3 > span > span.ratingminus { color: #ef4444; }

.comm-three-left > a {
	color: var(--primary);
	font-size: 13px;
}

.last-comm-link {
	display: inline-block;
	padding-bottom: 20px;
	color: var(--text-primary);
	font-size: 18px;
	font-weight: 600;
}

/* ========================================
   FOOTER - FULL WIDTH
======================================== */
.footer {
	position: relative;
	left: 0;
	right: 0;
	width: 100%;
	background: rgba(10, 10, 15, 0.85);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-top: 1px solid var(--border-color);
	color: var(--text-secondary);
	padding: 24px;
	margin-top: 40px;
	text-align: center;
}

.footer-in {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.ft-logo {
	font-size: 20px;
	font-weight: 800;
	background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.ft-copy {
	font-size: 13px;
	color: var(--text-muted);
	margin: 0;
}

/* ========================================
   SEO DESCRIPTION BLOCK
======================================== */
.desc-text {
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	padding: 30px;
	margin-top: 30px;
}

.desc-text h1, .desc-text h2, .desc-text h3 {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 16px;
	color: var(--text-primary);
}

.desc-text p {
	line-height: 1.8;
	font-size: 14px;
	color: var(--text-secondary);
}

.desc-text p + p { margin-top: 12px; }
.desc-text p + h1, .desc-text p + h2, .desc-text p + h3 { margin-top: 20px; }
.desc-text a { color: var(--primary); }
.desc-text ul li { list-style-type: disc; margin-left: 30px; }

/* ========================================
   PAGINATION / NAVIGATION
======================================== */
.bottom-nav {
	text-align: center;
	padding-top: 20px;
}

.pagi-load > span { display: none; }

.pagi-load a {
	margin-bottom: 20px;
	padding: 0 60px;
}

.pagi-nav {
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
}

.navigation {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 30px;
}

.navigation a, .navigation span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	min-width: 40px;
	height: 40px;
	border-radius: var(--radius-md);
	font-size: 14px;
	font-weight: 500;
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	color: var(--text-secondary);
	transition: all 0.3s ease;
}

.navigation a:hover {
	border-color: var(--primary);
	color: var(--primary);
}

.navigation span:not(.nav_ext) {
	background: var(--primary);
	border-color: transparent;
	color: #fff;
}

.navigation span.nav_ext {
	color: var(--text-muted);
}

/* ========================================
   LOGIN BOX
======================================== */
.login-overlay, .mmenu-overlay {
	position: fixed;
	z-index: 998;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(10px);
	display: none;
}

.login-box {
	position: fixed;
	z-index: 999;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: var(--bg-card-solid);
	border: 1px solid var(--border-color);
	padding: 40px;
	border-radius: var(--radius-lg);
	width: 400px;
	max-width: calc(100% - 40px);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
	display: none;
}

.login-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	font-size: 20px;
	cursor: pointer;
	color: var(--text-muted);
	transition: color 0.3s ease;
}

.login-close:hover { color: var(--text-primary); }

.login-title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 24px;
	text-align: center;
}

.login-input {
	margin-bottom: 16px;
}

.login-btn button {
	width: 100%;
	margin: 20px 0;
}

.login-btm {
	text-align: center;
}

.login-btm a {
	color: var(--primary);
	font-size: 14px;
}

/* ========================================
   GOTO TOP BUTTON - NO HOVER LIFT
======================================== */
#gotop {
	position: fixed;
	width: 50px;
	height: 50px;
	line-height: 50px;
	right: 20px;
	bottom: 20px;
	z-index: 9998;
	display: none;
	background: var(--primary);
	color: #fff;
	cursor: pointer;
	font-size: 18px;
	border-radius: 50%;
	text-align: center;
	transition: opacity 0.3s ease;
}

#gotop:hover {
	opacity: 0.8;
}

/* ========================================
   DLE PUSH NOTIFICATIONS
======================================== */
.DLEPush {
	position: fixed;
	z-index: 10000;
}

.DLEPush.top-right {
	top: 90px;
	right: 20px;
}

.DLEPush-notification {
	background: var(--bg-card-solid);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	padding: 16px 20px;
	margin-bottom: 10px;
	max-width: 350px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.DLEPush-notification.push-error {
	border-color: #ef4444;
}

.DLEPush-notification.push-success {
	border-color: var(--success);
}

.DLEPush-close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 24px;
	height: 24px;
	min-width: 24px;
	padding: 0 !important;
	font-size: 18px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--text-muted);
	cursor: pointer;
}

.DLEPush-icon {
	color: var(--primary);
}

.DLEPush-icon svg {
	width: 24px;
	height: 24px;
}

.push-error .DLEPush-icon {
	color: #ef4444;
}

.DLEPush-header {
	font-weight: 600;
	margin-bottom: 4px;
}

.DLEPush-message {
	font-size: 14px;
	color: var(--text-secondary);
}

/* ========================================
   MOBILE SIDEBAR
======================================== */
.side-panel {
	width: 300px;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	background: var(--bg-card-solid);
	padding: 20px;
	z-index: 99999;
	position: fixed;
	left: -320px;
	top: 0;
	transition: left 0.4s ease;
	border-right: 1px solid var(--border-color);
}

.side-panel.active { left: 0; }

.close-overlay {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99998;
	display: none;
}

.btn-close {
	cursor: pointer;
	display: block;
	left: 300px;
	top: -50px;
	position: fixed;
	z-index: 99999;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	font-size: 20px;
	background: #ef4444;
	color: #fff;
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	transition: top 0.4s ease;
}

.btn-close.active { top: 0; }

body.opened-menu {
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.side-panel .hmenu {
	margin: 0;
	padding: 0;
	flex-direction: column;
}

.side-panel .hmenu > li {
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--border-color);
}

.side-panel .hmenu > li > a {
	height: 50px;
	line-height: 50px;
	padding: 0;
	color: var(--text-primary);
}

.side-panel .hmenu > li > a::after {
	display: none;
}

.side-panel .search-wrap {
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0;
}

.side-panel .search-box {
	width: 100%;
}

.side-panel .hidden-menu {
	width: 100%;
	display: block;
	position: static;
	background: rgba(255, 255, 255, 0.05);
	opacity: 1;
	visibility: visible;
	transform: none;
	box-shadow: none;
	border: none;
	border-radius: 0;
	padding: 16px;
	margin: 0 0 10px 0;
}

.side-panel .hm-col {
	width: 100%;
}

/* ========================================
   CATEGORY HEADER WITH H1
======================================== */
.category-header {
	margin-bottom: 24px;
}

.category-header h1 {
	font-size: 28px;
	font-weight: 700;
	color: var(--text-primary);
}

/* ========================================
   MULTISITE H1 & SEO
======================================== */
.multisite-h1 {
	font-size: 32px;
	font-weight: 800;
	text-align: center;
	margin-bottom: 30px;
	color: var(--text-primary);
}

.multisite-seo-desc {
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	padding: 24px;
	margin-bottom: 30px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--text-secondary);
}

/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media screen and (max-width: 1280px) {
	.wrap-center { max-width: 1100px; }
	.th-item { width: 20%; }
}

@media screen and (max-width: 1024px) {
	.wrap-center { max-width: 900px; }
	.th-item { width: 25%; }
	
	.content { padding: 16px; padding-top: 90px; }
	
	.sect-header.fx-start {
		display: block;
		white-space: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 10px;
	}
	
	.sect-header.fx-start > * {
		display: inline-block;
		vertical-align: top;
		margin-right: 10px;
	}
	
	.fleft-img { width: 180px; margin-right: 20px; }
	
	.video-box embed, .video-box object, .video-box video,
	.video-box iframe, .video-box frame { height: 400px; }
}

@media screen and (max-width: 768px) {
	.wrap-center { max-width: 640px; }
	.th-item { width: 33.33%; }
	
	.footer { text-align: center; display: block; }
	
	.fleft { padding: 20px; flex-direction: column; }
	.fleft-img { width: 200px; margin: 0 auto 24px; }
	.fleft-desc { min-width: 100%; }
	.flist { width: 100%; margin-bottom: 10px; }
	
	.flight, .fcompl, .ffav { display: none; }
	
	.full-comms, .add-comms { width: 100%; }
	.add-comms { order: -1; margin-bottom: 30px; }
	
	.ac-inputs { flex-direction: column; }
	
	.avatars-grid { grid-template-columns: repeat(5, 1fr); }
}

@media screen and (max-width: 600px) {
	.wrap-center { max-width: 480px; }
	
	.video-box embed, .video-box object, .video-box video,
	.video-box iframe, .video-box frame { height: 280px; }
	
	.sect-title { font-size: 16px; padding: 10px 16px; }
	.sect-tabs span { height: 38px; padding: 0 14px; font-size: 13px; }
}

@media screen and (max-width: 480px) {
	.th-item { width: 50%; }
	
	.content { padding: 12px; padding-top: 80px; }
	
	.header-in { padding: 0 12px; }
	.logo img { height: 32px; }
	
	.fmain, .frels, .fcomms { border-radius: var(--radius-md); }
	.fleft { padding: 16px; }
	
	.video-box embed, .video-box object, .video-box video,
	.video-box iframe, .video-box frame { height: 220px; }
	
	.fplayer .tabs-sel span {
		padding: 0 14px;
		height: 34px;
		line-height: 34px;
		font-size: 12px;
	}
	
	.avatars-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ========================================
   PRINT STYLES
======================================== */
@media print {
	.wrap::before, .wrap::after { display: none; }
	.header, .footer, .fshare, .fcomms, .frels { display: none; }
	body { background: #fff; color: #000; }
}

/* ========================================
   FULL TEXT STATIC CONTENT
======================================== */
.full-text {
	line-height: 1.7;
	font-size: 15px;
}

.full-text img:not(.emoji) {
	max-width: 100%;
	margin: 16px 0;
	border-radius: var(--radius-md);
}

.full-text a {
	color: var(--primary);
}

.full-text a:hover {
	text-decoration: underline;
}

.full-text h2, .full-text h3, .full-text h4, .full-text h5 {
	margin: 20px 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: var(--text-primary);
}

.full-text p { margin-bottom: 12px; }
.full-text ul li { list-style: disc; margin-left: 30px; }
.full-text ol li { list-style: decimal; margin-left: 30px; }

/* ========================================
   VISIBILITY HELPERS
======================================== */
/* Desktop elements - visible on desktop, hidden on mobile */
.desktop-only {
	display: flex;
}

/* Mobile elements - hidden on desktop, visible on mobile */
.mobile-only {
	display: none;
}

/* Legacy helpers */
.to-mob { display: flex; }
.only-mobile { display: none !important; }

/* Tablet and below: Hide desktop elements, show mobile elements */
@media screen and (max-width: 1024px) {
	.desktop-only {
		display: none !important;
	}
	.mobile-only {
		display: flex !important;
	}
}

@media screen and (max-width: 768px) {
	.only-mobile { display: block !important; }
	.to-mob { display: none !important; }
}

/* ========================================
   FILTER STYLES (if used)
======================================== */
.fright {
	width: 280px;
	padding: 20px;
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
}

.fright .filter-btn { display: none; }

@media screen and (max-width: 1024px) {
	.fright {
		width: 100%;
		padding: 16px;
		margin-bottom: 20px;
	}
	
	.fright .frels-title { display: none; }
	.fright .filter-btn { width: 100%; display: block; }
}

/* ========================================
   ACTORS LIST
======================================== */
.actors-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.actors-list li {
	line-height: 1.6;
}

/* ========================================
   PLAYER LOADER
======================================== */
.player-loader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 10;
	color: #fff;
}

.player-loader .fa-spinner {
	font-size: 48px;
	color: var(--primary);
	margin-bottom: 16px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.player-loader p {
	margin: 0;
	font-size: 14px;
	color: var(--text-muted);
}

.player-loader.hidden { display: none; }

#player-container {
	position: relative;
	min-height: 400px;
}

#main-player {
	width: 100%;
	height: 100%;
	min-height: 400px;
}

#player-tabs-sel span { cursor: pointer; }

/* ========================================
   FIXED COMMENT BANNER
======================================== */
.fixed-comment-banner {
	position: fixed;
	bottom: 20px;
	left: 20px;
	max-width: 380px;
	background: var(--bg-card-solid);
	border: 2px solid var(--primary);
	border-radius: var(--radius-lg);
	color: #fff;
	padding: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	z-index: 9999;
	transition: all 0.3s ease;
}

.fixed-comment-banner.hidden {
	transform: translateX(-450px);
	opacity: 0;
	pointer-events: none;
}

.banner-dismiss {
	position: absolute;
	top: 10px;
	right: 10px;
	background: transparent !important;
	border: none !important;
	color: var(--text-muted) !important;
	cursor: pointer;
	font-size: 18px !important;
	padding: 0 !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	box-shadow: none !important;
}

.banner-dismiss:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	color: var(--text-primary) !important;
}

.banner-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
}

.banner-content .fa-comments {
	font-size: 28px;
	color: var(--primary);
}

.banner-content p {
	margin: 0;
	font-size: 15px;
	color: var(--text-secondary);
}

.banner-content p strong {
	color: var(--primary);
}

.banner-close {
	background: var(--primary) !important;
	border: none;
	color: #fff;
	padding: 12px 28px !important;
	border-radius: var(--radius-md);
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
}

.banner-close:hover {
	opacity: 0.9;
}

@media (max-width: 768px) {
	.fixed-comment-banner {
		bottom: 10px;
		left: 10px;
		right: 10px;
		max-width: none;
	}
	
	.fixed-comment-banner.hidden {
		transform: translateY(150%);
	}
}

/* ========================================
   PROMO SECTION
======================================== */
.promo-section {
	margin: 30px 0;
	padding: 0;
	max-width: 100%;
	text-align: center;
	transition: opacity 0.3s ease;
}

.promo-section.hidden {
	display: none !important;
}

.promo-content {
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	overflow: hidden;
}
