/* 

Add here your custom css styles Example: p { text-align: center; color: red; } 

*/

/* Override: Language modal left panel gradient */
.language_info {
	background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%) !important;
}

button.pt-ppv-unlock,
button.pt-ppv-dl {
	color: #111 !important;
	background: #fff !important;
	-webkit-text-fill-color: #111 !important;
}

/* Popular Channels — Fanvue / OF widescreen cards */
.pop_ch_featured_wrap {
	padding: 12px 45px 0;
}
.pop_ch_featured_wrap .cahnnel_bg_svg::before {
	padding-top: 36%;
}
.channels_list_all {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	align-items: stretch !important;
}
.cahnnel_bg_svg {
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: unset !important;
	background: #1a1a1e !important;
	border-radius: 18px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
.cahnnel_bg_svg::before {
	content: '';
	display: block;
	width: 100%;
	padding-top: 42%;
}
.cahnnel_bg_svg:hover {
	transform: translateY(-3px);
}
.cahnnel_bg_svg a {
	display: block !important;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
.pop_ch_cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	filter: none !important;
	mix-blend-mode: normal !important;
	opacity: 1 !important;
}
.pop_ch_shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.22) 46%, rgba(0, 0, 0, 0.04) 100%);
}
.pop_ch_meta {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
}
.cahnnel_bg_svg .channel_logo_abs {
	flex: 0 0 auto;
}
.cahnnel_bg_svg .channel_logo_abs img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.cahnnel_bg_svg .right_content_chanl_bg {
	padding: 0 !important;
	min-width: 0;
	flex: 1 1 auto;
}
.cahnnel_bg_svg .channel_top_name span {
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}
.cahnnel_bg_svg .channel_top_name span .verified {
	color: #4da3ff;
}
.pop_ch_handle {
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}
.cahnnel_bg_svg .views_pop_channel,
.cahnnel_bg_svg .sub_vi_bottom_sub {
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 12px;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}
.cahnnel_bg_svg .bottom_sub_view {
	display: none;
}

/* Channel of This Month: real cover, no worn blend/filter */
.movie_slider.feat_pop_chanel {
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	filter: none !important;
}
.movie_slider.feat_pop_chanel::before,
.movie_slider.feat_pop_chanel::after {
	mix-blend-mode: normal !important;
	opacity: 1 !important;
	filter: none !important;
}
.movie_slider.feat_pop_chanel::before {
	background: transparent !important;
	height: 0 !important;
}
.movie_slider.feat_pop_chanel::after {
	top: 0 !important;
	bottom: 0 !important;
	height: 100% !important;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.18) 38%, rgba(0, 0, 0, 0) 72%) !important;
}
.movie_slider.feat_pop_chanel .movie_inner_content {
	position: relative;
	z-index: 2;
}
.feat_pop_chanel .slider_right_channles_list,
.feat_pop_chanel .blur_popular_channel {
	background: rgba(18, 18, 22, 0.72) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

@media (max-width: 768px) {
	.pop_ch_featured_wrap {
		padding: 8px 12px 0;
	}
	.pop_ch_featured_wrap .cahnnel_bg_svg::before {
		padding-top: 44%;
	}
	.popular_below_wrap {
		padding: 16px 12px 28px !important;
		border-radius: 22px 22px 0 0;
		margin-bottom: 0;
		margin-top: 4px;
	}
	.below_wrap_heading {
		flex-direction: column;
		align-items: stretch !important;
		gap: 12px;
	}
	.below_wrap_heading h3 {
		font-size: 20px !important;
		line-height: 1.2 !important;
	}
	.filter_below_wrap_popular {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	.filter_below_wrap_popular select {
		width: 100%;
		min-width: 0;
		height: 42px;
		font-size: 13px;
		padding: 0 12px;
	}
	.filter_below_wrap_popular .btn {
		grid-column: 1 / -1;
		width: 100%;
		line-height: 42px;
		padding: 0 16px;
		background-image: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%);
		border: 0;
		color: #fff;
	}
	.channels_list_all {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 14px;
	}
	.cahnnel_bg_svg {
		border-radius: 16px;
	}
	.cahnnel_bg_svg::before {
		padding-top: 44%;
	}
	.pop_ch_meta {
		padding: 10px 12px;
		gap: 12px;
	}
	.cahnnel_bg_svg .channel_logo_abs img {
		width: 58px;
		height: 58px;
		border-radius: 50%;
		border: 3px solid #fff;
	}
	.cahnnel_bg_svg .channel_top_name span {
		font-size: 15px;
	}
	.pop_ch_handle {
		font-size: 12px;
	}
	.cahnnel_bg_svg .views_pop_channel {
		font-size: 11px;
	}
	.movie_slider.feat_pop_chanel {
		height: auto !important;
		min-height: 320px;
		padding: 88px 16px 24px !important;
		margin-left: -15px;
		margin-right: -15px;
	}
	.popular_channel_wrap {
		flex-direction: column;
		align-items: stretch;
	}
	.popular_channel_wrap .left_popular_channel {
		width: 100% !important;
	}
	.popular_channel_wrap .left_popular_channel .feature_text_title {
		max-width: none;
	}
	.right_popular_channel {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin-top: 18px !important;
		width: 100%;
	}
	.slider_right_channles_list {
		width: 100% !important;
		padding: 12px 14px !important;
	}
}

/* Per-message delete */
.user-messages .messages .message .time {
	display: flex;
	align-items: center;
	gap: 8px;
}
.pt-msg-del {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 2px;
	border: 0;
	background: transparent;
	color: inherit;
	opacity: 0.42;
	cursor: pointer;
	line-height: 1;
}
.pt-msg-del:hover,
.pt-msg-del:focus {
	opacity: 1;
	color: #ff6b6b;
	outline: none;
}
@media (max-width: 768px) {
	.pt-msg-del {
		opacity: 0.75;
		min-width: 28px;
		min-height: 28px;
	}
}

/* View-once messages */
#new-message-form #pt-once-toggle {
	position: absolute;
	right: 58px;
	top: 14px;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #bbb;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	z-index: 2;
}
#new-message-form.has-voice #pt-once-toggle {
	right: 94px;
}
#new-message-form #pt-once-toggle.is-on {
	background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%);
	color: #fff;
}
#new-message-form #pt-voice-send {
	position: absolute;
	right: 58px;
	top: 14px;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #bbb;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}
#new-message-form #pt-voice-send:hover,
#new-message-form #pt-voice-send:focus {
	background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%);
	color: #fff;
	outline: none;
}
#new-message-form .pt-msg-attach {
	position: absolute;
	right: 94px;
	top: 14px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.08);
	color: #bbb;
	cursor: pointer;
	z-index: 2;
	overflow: hidden;
}
#new-message-form.has-voice .pt-msg-attach {
	right: 130px;
}
#new-message-form .pt-msg-file-input {
	position: absolute;
	inset: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	font-size: 16px;
}
#new-message-form textarea {
	padding-right: 128px;
}
#new-message-form.has-voice textarea {
	padding-right: 168px;
}
.pt-msg-file-chip {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 20px 8px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	color: #fff;
	font-size: 12px;
}
.pt-msg-file-chip[hidden] {
	display: none !important;
}
.pt-msg-file-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 70%;
}
#pt-msg-file-clear {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.user-messages .pt-welcome-media {
	display: block;
	max-width: 100%;
	max-height: 280px;
	border-radius: 12px;
	margin: 6px 0;
	-webkit-user-drag: none;
	user-select: none;
}
.user-messages .pt-welcome-audio {
	display: block;
	width: min(260px, 100%);
	min-width: 180px;
	height: 40px;
	margin: 6px 0 4px;
}
.pt-chat-media {
	position: relative;
	display: inline-block;
	max-width: 100%;
	-webkit-touch-callout: none;
	user-select: none;
}
.pt-chat-media-ns .pt-ns-shield {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: transparent;
}
.pt-chat-media-ns img {
	pointer-events: none;
}
body.pt-chat-away .pt-chat-media-ns img,
body.pt-chat-away .pt-chat-media-ns video,
body.pt-chat-away #pt-once-viewer.is-open .pt-once-viewer-inner {
	filter: blur(28px) brightness(0.15);
}
.messages .message .user-message .pt-once-revealed {
	color: #fff;
	font-size: 15px;
	line-height: 1.45;
	word-break: break-word;
}
.messages .message .user-message .pt-once-revealed p {
	margin: 0;
}
.messages .message .user-message .pt-once-revealed-hint {
	display: block;
	margin-top: 8px;
	font-size: 11px;
	color: rgba(255,255,255,.45);
}
#pt-once-viewer {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10060;
	background: rgba(0,0,0,.92);
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 24px;
	-webkit-touch-callout: none;
	user-select: none;
}
#pt-once-viewer.is-open {
	display: flex;
}
.pt-once-mark {
	pointer-events: none;
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(
		-18deg,
		transparent,
		transparent 48px,
		rgba(182,77,255,.07) 48px,
		rgba(182,77,255,.07) 50px
	);
	z-index: 1;
}
.pt-once-viewer-inner {
	position: relative;
	z-index: 2;
	max-width: 92vw;
	max-height: 78vh;
	overflow: auto;
	color: #fff;
	font-size: 16px;
	line-height: 1.45;
}
.pt-once-viewer-inner img,
.pt-once-viewer-inner video,
.pt-once-canvas {
	max-width: 100%;
	max-height: 70vh;
	border-radius: 12px;
}
.pt-once-viewer-hint {
	position: relative;
	z-index: 2;
	margin-top: 16px;
	color: rgba(255,255,255,.7);
	font-size: 13px;
}
.pt-view-once.is-loading {
	opacity: .7;
	pointer-events: none;
}
.pt-chat-converting {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 13px;
}
.pt-chat-spin {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,.25);
	border-top-color: #fff;
	animation: pt-chat-spin 0.7s linear infinite;
	flex: 0 0 auto;
}
@keyframes pt-chat-spin {
	to { transform: rotate(360deg); }
}
.pt-view-once {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	border: 0;
	border-radius: 14px;
	padding: 12px 14px;
	background: linear-gradient(135deg, rgba(182,77,255,.28) 0%, rgba(17,187,233,.22) 100%);
	color: #fff;
	cursor: pointer;
	text-align: left;
	font-size: 13px;
	line-height: 1.3;
}
.pt-view-once-ico {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.35);
	font-weight: 800;
	font-size: 11px;
}
.pt-view-once-badge {
	display: inline-block;
	margin-bottom: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	color: #fff;
	background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%);
}

.pt-ferr { max-width: 720px; margin: 12px auto 40px; padding: 0 16px 24px; color: #fff; }
.pt-ferr-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.pt-ferr-head h1 { font-size: 28px; font-weight: 800; margin: 0; letter-spacing: -0.03em; }
.pt-ferr-back { color: rgba(255,255,255,.7); font-size: 14px; }
.pt-ferr-lead { color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.45; margin: 0 0 18px; }
.pt-ferr-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 520px) { .pt-ferr-grid { grid-template-columns: 1fr 1fr; } }
.pt-ferr-card, .pt-ferr-glass {
	display: block;
	padding: 16px 16px 14px;
	border-radius: 18px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.1);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	color: #fff;
	text-decoration: none;
}
.pt-ferr-card strong, .pt-ferr-glass strong { display: block; font-size: 16px; }
.pt-ferr-card em, .pt-ferr-glass em { display: block; margin-top: 4px; font-style: normal; color: rgba(255,255,255,.55); font-size: 13px; }
.pt-ferr-ico { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; margin-bottom: 8px; opacity: .85; }
.pt-ferr-form label { display: block; margin: 12px 0 6px; font-size: 13px; color: rgba(255,255,255,.72); }
.pt-ferr-form input, .pt-ferr-form textarea, .pt-ferr-form select, .pt-ferr-copy {
	width: 100%;
	border: 0;
	border-radius: 14px;
	padding: 12px 14px;
	background: rgba(255,255,255,.08);
	color: #fff;
}
.pt-ferr-btn {
	display: inline-flex; align-items: center; justify-content: center;
	margin-top: 14px; width: 100%; border: 0; border-radius: 999px;
	padding: 13px 16px; color: #fff; font-weight: 700;
	background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%);
}
.pt-ferr-btn-sm { width: auto; padding: 10px 16px; margin-top: 8px; }
.pt-ferr-ghost {
	border: 0; border-radius: 999px; padding: 8px 12px; margin: 4px 4px 0 0;
	background: rgba(255,255,255,.08); color: #fff; font-size: 13px;
}
.pt-ferr-msg { min-height: 1.2em; margin: 8px 0 0; font-size: 13px; color: rgba(255,255,255,.7); }
.pt-ferr-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.pt-ferr-tabs button { flex: 1; border: 0; border-radius: 999px; padding: 10px; background: rgba(255,255,255,.08); color: #fff; }
.pt-ferr-tabs button.is-on { background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%); }
#pt-voice-rec.is-on { box-shadow: 0 0 0 2px #B64DFF; }
.pt-ferr-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pt-auto-form { margin-bottom: 12px; }
.pt-ferr-check { display: flex; gap: 8px; align-items: center; margin: 8px 0; font-size: 13px; color: rgba(255,255,255,.7); }
.pt-ferr-switch span { display: inline-block; width: 44px; height: 26px; border-radius: 999px; background: rgba(255,255,255,.18); position: relative; }
.pt-ferr-switch input { display: none; }
.pt-ferr-switch input:checked + span { background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%); }
.pt-ferr-switch span:after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .2s; }
.pt-ferr-switch input:checked + span:after { left: 21px; }
.pt-md-quota { margin-bottom: 12px; font-size: 13px; color: rgba(255,255,255,.7); }
.pt-md-bar { height: 8px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; margin-top: 6px; }
.pt-md-bar i { display: block; height: 100%; background: linear-gradient(135deg, #B64DFF 0%, #11BBE9 100%); }
.pt-md-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
@media (min-width: 700px) { .pt-md-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-md-tile { border: 0; padding: 0; border-radius: 16px; overflow: hidden; background: rgba(255,255,255,.06); color: #fff; text-align: left; }
.pt-md-thumb { display: block; aspect-ratio: 1; background: #222 center/cover no-repeat; }
.pt-md-name { display: block; padding: 8px 10px 10px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-md-empty { grid-column: 1 / -1; text-align: center; padding: 36px 12px; color: rgba(255,255,255,.6); }
.pt-offer-card { max-width: 420px; margin: 24px auto; text-align: center; }
.pt-offer-thumb { height: 180px; border-radius: 14px; background: #222 center/cover; margin-bottom: 12px; }
.pt-offer-price s { color: rgba(255,255,255,.4); margin-right: 8px; }
.pt-up-pick { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 560px; margin: 0 auto; }
@media (min-width: 380px) { .pt-up-pick { grid-template-columns: 1fr 1fr; } }
.pt-up-card {
	min-height: 140px; border: 0; border-radius: 18px; padding: 18px 14px;
	background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
	color: #fff; text-align: center; backdrop-filter: blur(16px);
}
.pt-up-card strong { display: block; margin-top: 8px; }
.pt-up-card span { display: block; margin-top: 4px; font-size: 12px; color: rgba(255,255,255,.55); }
.pt-md-sheet {
	position: fixed; inset: 0; z-index: 100080; display: none;
	background: rgba(0,0,0,.55);
}
.pt-md-sheet.is-on { display: block; }
.pt-md-sheet-in {
	position: absolute; left: 0; right: 0; bottom: 0; max-height: 86vh;
	overflow: auto; padding: 16px 16px 28px;
	border-radius: 22px 22px 0 0;
	background: #141418;
}
.pt-md-sheet-in h3 { margin: 0 0 12px; font-size: 20px; }
@media (min-width: 768px) {
	.pt-md-sheet-in { left: 50%; right: auto; top: 8vh; bottom: auto; width: 520px; margin-left: -260px; border-radius: 22px; max-height: 80vh; }
}

.messages-sidebar ul li a .user-avatar,
.user-messages .messages .message .user-avatar,
.chat_section .chat_left_setcion {
	overflow: hidden;
	border-radius: 50%;
	background: #1a1a1a;
}
.messages-sidebar ul li a .user-avatar img,
.user-messages .messages .message .user-avatar img,
.chat_section .chat_left_setcion img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 50% !important;
	display: block;
}
.chat_section .chat_left_setcion {
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
}

/* Shorts: keep original 9:16 boxes (do not inherit 16/9 from other home cards) */
.home-page-categories .videos .video-list.short .video-list-image a,
.cus_story_slider .video-list.short .video-list-image a {
	aspect-ratio: auto !important;
	padding-bottom: 150%;
}
.home-page-categories .videos .video-list.short img,
.cus_story_slider .video-list.short img {
	aspect-ratio: auto !important;
}

/* Mobile chat: keep the thread visible (no empty black screen) */
@media (max-width: 990px) {
	.pt-msg-has-chat .mobileleftpane {
		display: block !important;
		width: 100% !important;
		float: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.pt-msg-has-chat .mobilerightpane {
		display: none !important;
	}
	.pt-msg-has-chat .pt_msg_main {
		height: calc(100vh - 88px);
		height: calc(100dvh - 88px);
		height: calc(var(--vh, 1vh) * 100 - 88px);
		max-height: none;
		min-height: 280px;
		background: #141418 !important;
		overflow: hidden;
	}
	.pt-msg-has-chat .pt_msg_joint {
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
	}
	.pt-msg-has-chat .pt_msg_area {
		flex: 1 1 auto !important;
		min-height: 140px !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		background: #141418;
	}
	.pt-msg-has-chat .messages {
		display: flow-root;
	}
}
html.df-mobile-layout .pt-msg-has-chat .mobileleftpane {
	display: block !important;
	width: 100% !important;
	float: none !important;
}
html.df-mobile-layout .pt-msg-has-chat .mobilerightpane {
	display: none !important;
}