/* LordFilm catalog v5 — light UI, flat hover, no gradients */

body.lf-body {
	font-family: Manrope, Inter, sans-serif !important;
	background: #f4f6f8 !important;
	background-image: none !important;
	color: #111827;
	font-size: 15px;
	line-height: 1.45;
}

.lf-page {
	max-width: 1220px;
	margin: 0 auto;
	padding: 18px 24px 48px;
	min-width: 320px;
}

.wrap { padding-top: 0 !important; }

body.lf-body > div:has(> .lf-header) { height: auto !important; }

a { transition: color .15s, background-color .15s; }

/* ===== Header ===== */
.lf-header,
.header.lf-header {
	background: #fff !important;
	border-bottom: 1px solid #ebeef2 !important;
	box-shadow: none !important;
	position: sticky;
	top: 0;
	z-index: 300;
	margin: 0 !important;
	padding: 0;
}

.header.lf-header.sticky,
.header.lf-header.sticky-vis,
.header.lf-header.sticky-hide {
	position: sticky !important;
	left: 0;
	top: 0 !important;
	width: 100%;
}

.lf-header-in {
	max-width: 1220px;
	margin: 0 auto;
	min-height: 68px;
	padding: 0 24px;
	display: flex;
	align-items: center;
	gap: 8px 16px;
}

.lf-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
	margin-right: 8px;
	color: #111827 !important;
	text-decoration: none !important;
}

.lf-logo-mark {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #22c55e;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
}

.lf-logo-mark .fa { padding-left: 2px; }

.lf-logo-text {
	font-weight: 800;
	font-size: 19px;
	letter-spacing: -0.04em;
}

.lf-nav {
	padding: 0 !important;
	margin: 0 !important;
	flex: 0 1 auto;
	gap: 2px !important;
}

.lf-nav > li { margin: 0 !important; }

.lf-nav > li > a {
	height: 38px !important;
	line-height: 38px !important;
	padding: 0 11px !important;
	border-radius: 10px !important;
	opacity: 1 !important;
	font-family: Manrope, sans-serif !important;
	font-weight: 650 !important;
	font-size: 14.5px !important;
	text-transform: none !important;
	color: #5b6472 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.lf-nav > li:hover > a,
.lf-nav > li > a.is-active {
	background: #f2f4f7 !important;
	color: #111827 !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Dropdowns: opened one at a time by catalog.js, never stacked */
.lf-header .hidden-menu {
	top: calc(100% + 6px) !important;
	border-radius: 14px !important;
	border: 1px solid #e9ecf1 !important;
	box-shadow: 0 12px 28px -18px rgba(17, 24, 39, .35) !important;
	transform: none !important;
	padding: 10px !important;
	z-index: 400 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity .15s ease !important;
}

.lf-header .lf-nav > li.is-open > .hidden-menu {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/* Invisible bridge over the 6px gap so the cursor can reach the dropdown */
.lf-header .lf-nav > li > a { position: relative; }

.lf-header .lf-nav > li > a:after,
.lf-header .hidden-menu:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	height: 10px;
}

.lf-header .lf-nav > li > a:after { top: 100%; }
.lf-header .hidden-menu:before { top: -9px; }

.side-panel .hidden-menu {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition: none !important;
}

.hm-col a {
	border-radius: 8px;
	font-family: Manrope, sans-serif !important;
}

.hm-col a:hover {
	background: #f2f4f7 !important;
	color: #111827 !important;
}

.lf-search {
	flex: 1 1 260px;
	max-width: 360px;
	margin-left: auto !important;
	min-width: 170px;
}

.lf-search .search-box { position: relative; }

.lf-search .search-box input,
.lf-search .search-box input:focus {
	height: 40px !important;
	line-height: 40px !important;
	border-radius: 999px !important;
	border: 1px solid #e6e9ee !important;
	background: #f4f6f8 !important;
	padding: 0 42px 0 16px !important;
	box-shadow: none !important;
	font-family: Manrope, sans-serif !important;
	font-size: 14px !important;
	color: #111827 !important;
}

.lf-search .search-box input:focus {
	border-color: #bdebcd !important;
	background: #fff !important;
}

.lf-search-btn,
.lf-search button.lf-search-btn,
.lf-search .search-box button {
	position: absolute !important;
	right: 4px !important;
	top: 0 !important;
	width: 40px !important;
	height: 40px !important;
	line-height: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #8b94a3 !important;
	text-transform: none !important;
	font-size: 15px !important;
}

.lf-search .search-box button:hover {
	background: transparent !important;
	color: #22c55e !important;
	box-shadow: none !important;
	transform: none !important;
}

.lf-fav {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	color: #5b6472 !important;
	font-weight: 650;
	font-size: 14px;
	white-space: nowrap;
}

.lf-fav:hover { background: #f2f4f7; color: #111827 !important; }

.lf-enter,
.btn-login.lf-enter {
	height: 40px !important;
	line-height: 40px !important;
	padding: 0 16px !important;
	border-radius: 10px !important;
	background: #111827 !important;
	color: #fff !important;
	text-transform: none !important;
	box-shadow: none !important;
	margin-left: 0 !important;
	font-family: Manrope, sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	cursor: pointer !important;
}

.lf-enter:hover,
.btn-login.lf-enter:hover {
	background: #000 !important;
	color: #fff !important;
	box-shadow: none !important;
	transform: none !important;
}

.lf-fav,
.btn-menu,
.js-login,
.lf-more,
.lf-chip,
.lf-btn,
.lf-rail-btn,
.flight {
	cursor: pointer !important;
}

.btn-menu { color: #111827; }

/* Mobile side panel */
.side-panel { padding: 16px 14px !important; }
.side-panel .lf-search { max-width: none; margin: 0 0 12px !important; }
.side-panel .lf-fav { display: flex !important; margin-bottom: 8px; }
.side-panel .lf-enter { display: block !important; text-align: center; margin-bottom: 12px !important; }
.side-panel .lf-nav > li > a { border-radius: 10px !important; }
.btn-close { background: #111827 !important; color: #fff !important; }

/* ===== Panels ===== */
.lf-panel {
	background: #fff;
	border-radius: 20px;
	padding: 20px 22px 18px;
	margin-bottom: 14px;
}

.lf-panel-h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	min-height: 40px;
}

.lf-h {
	margin: 0 !important;
	font-family: Manrope, sans-serif !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em;
	background: none !important;
	color: #111827 !important;
	height: auto !important;
	line-height: 1.2 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

.lf-more {
	color: #16a34a !important;
	font-weight: 700;
	font-size: 13.5px;
	white-space: nowrap;
}

.lf-more:hover { color: #15803d !important; }

.lf-rail-nav { display: flex; gap: 8px; }

.lf-rail-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #e6e9ee;
	background: #fff;
	color: #3f4651;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	line-height: 1 !important;
	padding: 0 !important;
	margin: 0 !important;
	text-transform: none !important;
	font-size: 0 !important;
}

.lf-rail-btn svg { display: block; }

.lf-rail-btn:hover,
.lf-rail-btn:focus {
	background: #111827;
	border-color: #111827;
	color: #fff;
	transform: none;
	outline: none;
}

/* ===== Cards ===== */
.th-item {
	float: none !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	transform: none !important;
}

.th-in {
	display: block;
	background: transparent;
	border-radius: 0;
	overflow: visible;
	box-shadow: none !important;
	transform: none !important;
	color: inherit !important;
}

.th-in:hover { transform: none !important; box-shadow: none !important; }

.th-poster {
	display: block;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	background: #e8eaee;
	aspect-ratio: 2 / 3;
	box-shadow: none !important;
}

.th-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: none !important;
	opacity: 1;
	filter: none;
}

.th-in:hover .th-poster img,
.th-item:hover .th-poster img { transform: none !important; filter: brightness(.72); }

.th-play {
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -22px 0 0 -22px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	z-index: 3;
	pointer-events: none;
}

.th-play .fa { font-size: 15px; padding-left: 2px; }
.th-in:hover .th-play,
.th-item:hover .th-play { opacity: 1; }

.th-img:before,
.th-mask { display: none !important; }

.th-qual,
.th-ep {
	position: absolute;
	z-index: 2;
	padding: 3px 7px;
	border-radius: 6px;
	color: #fff;
	font-size: 10.5px;
	font-weight: 800;
	line-height: 1.2;
	max-width: 48%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.th-qual { top: 8px; left: 8px; background: #22c55e; }
.th-ep { top: 8px; right: 8px; left: auto; background: rgba(17, 24, 39, .92); }

.th-body { display: block; padding: 9px 2px 2px; }

.th-title,
.th-desc .th-title,
a.th-title,
.th-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: normal;
	font-size: 13.5px;
	font-weight: 800;
	line-height: 1.3;
	color: #111827 !important;
	min-height: 35px;
}

.th-in:hover .th-title,
.th-in:hover .th-title a,
.th-item:hover a.th-title,
.th-item:hover .th-title a { color: #16a34a !important; }

.th-sub,
.th-year {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	color: #7b8494;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: 18px;
}

.th-sub a { color: #7b8494 !important; border-bottom: 0 !important; }
.th-sub a:hover { color: #16a34a !important; }

.th-rates {
	display: flex;
	gap: 6px;
	margin-top: 7px;
	justify-content: flex-start !important;
}

.th-rate {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 6px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 800;
	line-height: 16px;
	background: #f2f4f7;
	color: #111827;
}

.th-rate:before { content: attr(data-text); font-weight: 800; }
.th-rate-kp:before { color: #f59e0b; }
.th-rate-imdb:before { color: #ca8a04; }

.th-rate[data-score="0"],
.th-rate[data-score="0.0"],
.th-rate[data-score=""] { display: none !important; }

/* Rails / grids */
.lf-rail {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 2px 2px 6px;
}

.lf-rail::-webkit-scrollbar { display: none; }

.lf-rail .th-item {
	flex: 0 0 172px;
	width: 172px !important;
	scroll-snap-align: start;
}

.lf-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px 14px;
}

.lf-grid:empty { display: none; }
.lf-grid > :not(.th-item) { grid-column: 1 / -1; }

/* Genre chips row on main */
.lf-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* ===== Chips & buttons ===== */
.lf-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
}

.lf-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	padding: 0 12px;
	border-radius: 999px;
	background: #f2f4f7;
	color: #3f4651 !important;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

a.lf-chip:hover { background: #111827; color: #fff !important; }

.lf-chip-link { padding: 0; background: none; }
.lf-chip-link a,
.lf-chip a {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border-radius: 999px;
	background: #f2f4f7;
	color: #3f4651 !important;
	border-bottom: 0 !important;
}

.lf-chip-link a:hover,
.lf-chip a:hover { background: #111827; color: #fff !important; }
.lf-chip-link a + a { margin-left: 6px; }
.lf-chip-green { background: #e9f9ef; color: #15803d !important; }
.lf-chip-rate { background: #fff7e6; color: #92400e !important; }
.lf-chip-rate:before { content: attr(data-text); font-weight: 800; color: #f59e0b; }
.lf-chip-imdb { background: #fefce8; }
.lf-chip-imdb:before { color: #ca8a04; }

.lf-chip[data-score="0"],
.lf-chip[data-score="0.0"],
.lf-chip[data-score=""] { display: none !important; }

.lf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}

.lf-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	height: 46px;
	padding: 0 20px;
	border-radius: 12px;
	font-family: Manrope, sans-serif;
	font-weight: 750;
	font-size: 14.5px;
	cursor: pointer;
	white-space: nowrap;
}

.lf-btn .fa { font-size: 14px; }
.lf-btn-main { background: #22c55e; color: #fff !important; }
.lf-btn-main:hover { background: #16a34a; color: #fff !important; }
.lf-btn-ghost { background: #f2f4f7; color: #3f4651 !important; }
.lf-btn-ghost:hover { background: #e8ebf0; color: #111827 !important; }
.lf-btn-fav a,
.lf-btn-fav span { color: inherit !important; display: inline-flex; align-items: center; gap: 9px; }

/* ===== Full story ===== */
.lf-hero {
	background: #fff;
	border-radius: 20px;
	padding: 24px;
	margin-bottom: 14px;
	display: flex;
	align-items: flex-start;
	gap: 26px;
}

.lf-hero-poster {
	flex: 0 0 240px;
	width: 240px;
}

.lf-poster {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	background: #e8eaee;
	aspect-ratio: 2 / 3;
}

.lf-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lf-hero-body { flex: 1 1 auto; min-width: 0; }

.lf-title {
	font-family: Manrope, sans-serif !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	letter-spacing: -0.04em;
	line-height: 1.18;
	margin: 0 0 6px !important;
	color: #111827;
}

.lf-orig {
	color: #8b94a3;
	font-size: 14.5px;
	margin: 0 0 16px;
}

.lf-desc {
	color: #5b6472;
	font-size: 15px;
	line-height: 1.62;
	margin: 0;
}

.lf-desc p { margin: 0 0 10px; }
.lf-desc p:last-child { margin-bottom: 0; }

.lf-desc.is-clamped {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

button.lf-desc-more,
.lf-desc-more {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	line-height: 1.2 !important;
	margin: 12px 0 0 !important;
	color: #16a34a !important;
	font-weight: 750 !important;
	font-size: 14px !important;
	cursor: pointer;
	background: none !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	text-transform: none !important;
	font-family: Manrope, sans-serif !important;
}

button.lf-desc-more:hover,
.lf-desc-more:hover {
	color: #15803d !important;
	background: none !important;
	box-shadow: none !important;
	transform: none !important;
	text-decoration: underline;
}

.lf-meta {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.lf-meta li {
	position: relative;
	padding: 10px 0 10px 122px;
	border-top: 1px solid #f1f3f6;
	line-height: 1.5;
}

.lf-meta li > span:first-child {
	position: absolute;
	left: 0;
	top: 10px;
	width: 110px;
	color: #8b94a3;
	font-weight: 650;
}

.lf-meta a { color: #16a34a !important; border-bottom: 0 !important; }
.lf-meta a:hover { color: #15803d !important; text-decoration: underline; }

.lf-hero .flikes {
	margin-top: 12px;
	border-radius: 12px;
	background: #f6f7f9;
	padding: 0 10px;
	height: 46px;
}

.lf-hero .slide-circle {
	background: #fff !important;
	box-shadow: 0 0 0 4px #f6f7f9 !important;
}

/* Player */
.lf-play {
	background: #0f1626;
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 14px;
}

.lf-play-bar {
	background: #0f1626 !important;
	color: #cbd5e1;
	padding: 0 16px 0 0;
}

.lf-play .tabs-sel { font-size: 0; }

.lf-play .tabs-sel span {
	background: transparent !important;
	color: #94a3b8 !important;
	font-family: Manrope, sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	height: 48px;
	line-height: 48px;
	padding: 0 20px;
}

.lf-play .tabs-sel span:hover { color: #fff !important; text-decoration: none; }

.lf-play .tabs-sel span.current {
	background: #22c55e !important;
	color: #fff !important;
}

.lf-play .flight,
.lf-play .fcompl { color: #94a3b8; }
.lf-play .fcompl a { color: #94a3b8; }
.lf-play .fcompl a:hover,
.lf-play .flight:hover { color: #fff; }

.lf-play .video-box,
.lf-full .video-box {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
	height: auto !important;
}

.lf-full .video-box iframe,
.lf-full .video-box embed,
.lf-full .video-box object,
.lf-full .video-box video {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.lf-play-empty {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #94a3b8;
	font-weight: 700;
	background: #0b1120;
}

.lf-play-empty .fa { font-size: 34px; color: #334155; }

/* Comments */
.lf-comms-in {
	display: flex;
	gap: 22px;
	align-items: flex-start;
}

.lf-comms .full-comms,
.lf-comms .add-comms {
	width: 50% !important;
	min-width: 0;
}

.lf-comms .add-comms > form { top: 90px; }

/* ===== Static pages / search ===== */
.search-page { margin: 0 0 6px; }

.search-page .sub-title h1,
.lf-cards-page h1,
#in-full h1 {
	font-family: Manrope, sans-serif !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em;
	color: #111827 !important;
	margin: 0 0 14px !important;
}

.searchtable {
	background: #f6f7f9;
	border-radius: 14px;
	padding: 14px;
	overflow: auto;
	margin-bottom: 14px;
}

.search-page .berrors,
.lf-cards-page .berrors { margin-top: 10px; }

#in-full {
	background: #fff;
	border-radius: 20px;
	padding: 22px;
}

#in-full .lf-full { background: transparent; }
.lf-full #in-full { padding: 0; }

/* ===== Footer ===== */
.lf-footer,
.footer.lf-footer {
	background: #fff !important;
	color: #7b8494;
	border-radius: 20px;
	padding: 22px 24px !important;
	margin-top: 6px;
	display: block !important;
}

.lf-ft-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.lf-ft-about { max-width: 420px; font-size: 13.5px; line-height: 1.6; }
.lf-ft-about .lf-logo { margin-bottom: 10px; }

.lf-ft-nav {
	display: flex;
	gap: 34px;
	flex-wrap: wrap;
}

.lf-ft-col { display: flex; flex-direction: column; gap: 8px; }

.lf-ft-col b {
	color: #111827;
	font-size: 13.5px;
	font-weight: 800;
	margin-bottom: 2px;
}

.lf-footer a { color: #5b6472 !important; font-size: 13.5px; }
.lf-footer a:hover { color: #16a34a !important; }

.lf-ft-bottom {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #f1f3f6;
	font-size: 13px;
	color: #9aa3b0;
}

/* ===== Misc ===== */
.desc-text {
	background: #fff;
	margin: 0 0 14px;
	padding: 20px 22px;
	border-radius: 20px;
	color: #5b6472;
}

.desc-text h1 {
	color: #111827;
	font-family: Manrope, sans-serif;
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -0.03em;
	margin-bottom: 10px;
}

.desc-text p { margin: 0; line-height: 1.6; }

.speedbar { margin: 0 0 12px; color: #9aa3b0; font-size: 12.5px; }
.speedbar a { color: #7b8494; }
.speedbar a:hover { color: #16a34a; }
.cat-seo { color: #7b8494; margin-top: 14px; line-height: 1.6; }

#gotop {
	border-radius: 12px !important;
	border: 1px solid #e6e9ee !important;
	box-shadow: none !important;
	background: #fff !important;
	color: #3f4651 !important;
}

.pagi-nav,
.navigation,
.bottom-nav { margin-top: 6px; }

.pagi-load {
	display: flex;
	justify-content: center;
	margin: 4px 0 12px;
}

body.lf-body .pagi-load a {
	width: auto !important;
	min-width: 220px;
	gap: 8px;
}

.pagi-nav a,
.pagi-nav span,
.navigation a,
.navigation span {
	border-radius: 10px !important;
	font-family: Manrope, sans-serif !important;
	font-weight: 700 !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

.pagi-nav a,
.navigation a {
	background: #f2f4f7 !important;
	color: #3f4651 !important;
}

.pagi-nav a:hover,
.navigation a:hover,
.navigation span {
	background: #111827 !important;
	color: #fff !important;
}

/* ===== Global fonts ===== */
body.lf-body,
body.lf-body h1,
body.lf-body h2,
body.lf-body h3,
body.lf-body h4,
body.lf-body .hmenu > li > a,
body.lf-body button,
body.lf-body input,
body.lf-body select,
body.lf-body textarea,
body.lf-body .btn,
body.lf-body .button {
	font-family: Manrope, Inter, sans-serif !important;
}

/* ===== Old green 3D buttons → new ===== */
body.lf-body .button,
body.lf-body .btn:not(.lf-enter),
body.lf-body .pagi-load a,
body.lf-body .up-second li a,
body.lf-body .usp-edit a,
body.lf-body .qq-upload-button,
body.lf-body .usp-btn a,
body.lf-body .meta-fav a,
body.lf-body button:not(.color-btn):not([class*=fr]):not(.f-button):not(.f-thumbs__slide__button):not(.tox-tbtn):not([class*=bb-]):not(.lf-search-btn):not(.lf-desc-more):not(.lf-rail-btn),
body.lf-body input[type="button"],
body.lf-body input[type="reset"],
body.lf-body input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: #22c55e !important;
	color: #fff !important;
	font-family: Manrope, sans-serif !important;
	font-size: 14.5px !important;
	font-weight: 750 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

body.lf-body .button:hover,
body.lf-body .btn:not(.lf-enter):hover,
body.lf-body button:not(.color-btn):not([class*=fr]):not(.f-button):not(.f-thumbs__slide__button):not(.tox-tbtn):not([class*=bb-]):not(.lf-search-btn):not(.lf-desc-more):not(.lf-rail-btn):hover,
body.lf-body input[type="button"]:hover,
body.lf-body input[type="reset"]:hover,
body.lf-body input[type="submit"]:hover {
	background: #16a34a !important;
	color: #fff !important;
	box-shadow: none !important;
	transform: none !important;
}

body.lf-body input[type="text"],
body.lf-body input[type="password"],
body.lf-body input[type="email"],
body.lf-body textarea,
body.lf-body select {
	font-family: Manrope, sans-serif !important;
	border-radius: 12px !important;
	border: 1px solid #e6e9ee !important;
	background: #f6f7f9 !important;
	box-shadow: none !important;
	color: #111827 !important;
}

body.lf-body input[type="text"]:focus,
body.lf-body input[type="password"]:focus,
body.lf-body textarea:focus {
	border-color: #bdebcd !important;
	background: #fff !important;
	box-shadow: none !important;
}

/* Search field keeps its own look */
.lf-search .search-box input {
	border-radius: 999px !important;
}

/* ===== Login modal ===== */
.login-overlay {
	background: rgba(17, 24, 39, .48) !important;
}

.login-box {
	width: 400px;
	max-width: calc(100% - 32px);
	padding: 28px 26px 22px !important;
	border-radius: 20px !important;
	background: #fff !important;
	box-shadow: 0 24px 60px -24px rgba(17, 24, 39, .4) !important;
	font-family: Manrope, sans-serif !important;
}

.login-close {
	top: 12px !important;
	right: 12px !important;
	width: 32px !important;
	height: 32px !important;
	line-height: 32px !important;
	border-radius: 10px;
	background: #f2f4f7;
	color: #5b6472 !important;
	cursor: pointer !important;
}

.login-close:hover { background: #e8ebf0; color: #111827 !important; }

.login-title {
	font-family: Manrope, sans-serif !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em;
	color: #111827;
	margin-bottom: 18px !important;
}

.login-avatar {
	width: 64px !important;
	height: 64px !important;
	background: #f2f4f7 !important;
	color: #9aa3b0 !important;
	margin-bottom: 18px !important;
}

.login-avatar .fa { font-size: 26px; line-height: 64px; }

.login-input { margin-bottom: 10px !important; }

.login-input input {
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 14px !important;
}

.login-check {
	margin: 4px 0 8px;
	cursor: pointer;
}

.login-check label,
.login-check span { cursor: pointer !important; color: #5b6472 !important; font-weight: 650; }

.login-btn { margin-top: 6px; }

.login-btn button {
	width: 100% !important;
	height: 46px !important;
	line-height: 46px !important;
	margin: 8px 0 4px !important;
}

.login-btm {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
}

.login-btm a,
.login-btm a:hover,
.log-register {
	border-bottom: 0 !important;
	color: #16a34a !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}

.login-btm a:hover { color: #15803d !important; text-decoration: underline; }

.login-soc-title {
	color: #9aa3b0;
	font-size: 13px;
	margin: 18px 0 10px !important;
}

.login-soc-title:has(+ .login-soc-btns:not(:has(a))),
.login-soc-btns:not(:has(a)) {
	display: none !important;
}

.login-menu {
	border: 0 !important;
	gap: 8px;
}

.login-menu li {
	width: calc(50% - 4px) !important;
	border: 0 !important;
	border-radius: 12px;
	background: #f6f7f9;
	overflow: hidden;
}

.login-menu a {
	padding: 12px 10px !important;
	font-weight: 700;
	font-size: 13.5px !important;
}

.login-menu a:hover { background: #111827; color: #fff !important; }
.login-menu li .fa { display: inline-block !important; font-size: 14px !important; height: auto !important; margin-right: 6px; color: inherit !important; }

.login-admin a { color: #16a34a !important; font-weight: 700; }

/* Comments */
.add-comms input,
.add-comms textarea,
.ac-submit button { box-shadow: none !important; }

.ac-submit button { width: 100%; }
.ac-inputs input { margin-bottom: 8px; }

.comm-item {
	padding: 14px 0;
	border-bottom: 1px solid #f1f3f6;
}

.comm-author { font-weight: 800; color: #111827; }

/* ===== Responsive ===== */
@media screen and (max-width: 1220px) {
	.lf-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media screen and (max-width: 980px) {
	.lf-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.lf-fav { display: none; }
	.lf-hero-poster { flex-basis: 190px; width: 190px; }
	.lf-title { font-size: 24px !important; }
	.lf-comms-in { flex-wrap: wrap; }
	.lf-comms .full-comms,
	.lf-comms .add-comms { width: 100% !important; }
	.lf-comms .add-comms { order: -1; }
	.lf-comms .add-comms > form { position: static; }
}

@media screen and (max-width: 760px) {
	.lf-page { padding: 12px 12px 32px; }
	.lf-header-in { padding: 0 12px; }
	.lf-panel { padding: 16px; border-radius: 16px; }
	.lf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lf-logo-text { display: none; }
	.lf-hero { padding: 16px; border-radius: 16px; gap: 16px; }
	.lf-hero-poster { flex-basis: 140px; width: 140px; }
	.lf-title { font-size: 21px !important; }
	.lf-meta li { padding-left: 0; padding-top: 12px; }
	.lf-meta li > span:first-child { position: static; display: block; width: auto; margin-bottom: 2px; }
	.lf-play { border-radius: 16px; }
	.lf-play .tabs-sel span { padding: 0 14px; }
	#in-full { padding: 16px; border-radius: 16px; }
	.lf-footer, .footer.lf-footer { padding: 18px !important; border-radius: 16px; }
	.lf-ft-nav { gap: 22px; }
}

@media screen and (max-width: 470px) {
	body.lf-body { background: #f4f6f8 !important; background-image: none !important; }
	.lf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lf-rail .th-item { flex-basis: 142px; width: 142px !important; }
	.lf-hero { flex-direction: column; }
	.lf-hero-poster { width: 170px; flex-basis: auto; margin: 0 auto; }
	.lf-hero-body { width: 100%; }
	.lf-title { text-align: center; }
	.lf-orig { text-align: center; }
	.lf-chips, .lf-actions { justify-content: center; }
	.lf-btn { flex: 1 1 auto; justify-content: center; }
}

.th-season { top: 32px; background: #1f2937; }
.lf-watch-note { margin: 14px 0 0; font-size: 15px; line-height: 1.45; color: #374151; }
