/* ============================================================
   User Pages – Modern UI overrides (CSS-only)
   Covers: Who Likes Me / Mutual Likes / My Likes / My Dislikes /
           Visitors / Notifications / Blocked Users / Affiliate
   ============================================================ */

:root {
	--up-primary:   var(--lw-primary-color, #e10b2d);
	--up-dark:      #1a1a2e;
	--up-radius:    14px;
	--up-radius-sm: 8px;
	--up-ease:      0.18s cubic-bezier(0.4,0,0.2,1);
	--up-green:     #22c55e;
	--up-shadow:    0 4px 20px rgba(0,0,0,0.10);
	--up-shadow-h:  0 10px 36px rgba(0,0,0,0.18);
}

/* ============================================================
   PAGE HEADER (shared across all user pages)
   ============================================================ */
.lw-public-master .d-sm-flex.align-items-center.justify-content-between.mb-4 {
	background: linear-gradient(135deg, var(--up-dark) 0%, #16213e 100%);
	border-radius: var(--up-radius);
	padding: 18px 24px !important;
	margin-bottom: 24px !important;
}
.lw-public-master .d-sm-flex.align-items-center.justify-content-between.mb-4 h5,
.lw-public-master .d-sm-flex.align-items-center.justify-content-between.mb-4 h2,
.lw-public-master .d-sm-flex.align-items-center.justify-content-between.mb-4 .h5 {
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 1.1rem !important;
	margin: 0 !important;
}
.lw-public-master .d-sm-flex.align-items-center.justify-content-between.mb-4 .text-primary i {
	color: var(--up-primary) !important;
	margin-right: 8px;
}

/* ============================================================
   USER CARD GRID
   (who likes me, mutual likes, my likes, dislikes, visitors, blocked)
   ============================================================ */

/* Grid spacing */
.lw-public-master #lwLoadMoreContentContainer {
	gap: 0;
}
.lw-public-master #lwLoadMoreContentContainer .col {
	padding: 8px !important;
}

/* Card shell */
.lw-public-master .lw-user-thumbnail-block {
	border: none !important;
	border-radius: var(--up-radius) !important;
	box-shadow: var(--up-shadow) !important;
	background: #ffffff !important;
	overflow: hidden !important;
	transition: transform var(--up-ease), box-shadow var(--up-ease) !important;
	position: relative;
}
.lw-public-master .lw-user-thumbnail-block:hover {
	transform: translateY(-6px) !important;
	box-shadow: var(--up-shadow-h) !important;
}

/* Premium badge ring */
.lw-public-master .lw-user-thumbnail-block.lw-has-premium-badge {
	outline: 2.5px solid gold !important;
	outline-offset: -2px;
}

/* Profile photo */
.lw-public-master .lw-user-thumbnail-block .lw-user-thumbnail {
	width: 100% !important;
	height: 160px !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	display: block;
}

/* Online status dot overlay */
.lw-public-master .lw-user-thumbnail-block .pt-2 {
	position: absolute;
	top: 8px;
	right: 9px;
	padding: 0 !important;
	z-index: 2;
}
.lw-public-master .lw-user-thumbnail-block .lw-dot {
	width: 11px !important;
	height: 11px !important;
	border: 2px solid #fff !important;
	display: inline-block;
	border-radius: 50%;
}
.lw-public-master .lw-user-thumbnail-block .lw-dot-success  { background: #22c55e !important; }
.lw-public-master .lw-user-thumbnail-block .lw-dot-warning  { background: #f59e0b !important; }
.lw-public-master .lw-user-thumbnail-block .lw-dot-danger   { background: #ef4444 !important; }

/* Card body (name, details) */
.lw-public-master .lw-user-thumbnail-block .card-title {
	padding: 10px 12px 12px !important;
	margin: 0 !important;
	background: #fff;
}
.lw-public-master .lw-user-thumbnail-block .card-title h5 {
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	color: #1f2937 !important;
	margin-bottom: 2px !important;
	line-height: 1.3;
}
.lw-public-master .lw-user-thumbnail-block .card-title h5 a {
	color: #1f2937 !important;
	text-decoration: none !important;
}
.lw-public-master .lw-user-thumbnail-block .card-title h5 a:hover {
	color: var(--up-primary) !important;
}
.lw-public-master .lw-user-thumbnail-block .card-title span {
	font-size: 0.72rem !important;
	color: #9ca3af !important;
}

/* Unblock button */
.lw-public-master .lw-user-thumbnail-block .card-title .btn-primary {
	background: linear-gradient(135deg, var(--up-primary), #ff4560) !important;
	border: none !important;
	border-radius: 999px !important;
	font-size: 0.74rem !important;
	padding: 5px 14px !important;
	margin-top: 6px !important;
}

/* Load more / end of list row */
.lw-public-master #lwLoadMoreContentContainer > #lwNextPageLink.col-sm-12 .btn {
	border-radius: var(--up-radius-sm) !important;
	font-weight: 600 !important;
}
.lw-public-master #lwLoadMoreContentContainer > .alert-dark {
	border-radius: var(--up-radius-sm) !important;
	background: #f1f5f9 !important;
	color: #6b7280 !important;
}

/* ── Premium upgrade alert ── */
.lw-public-master .container-fluid > .alert-info,
.lw-public-master .col-12 > .alert-info {
	background: linear-gradient(135deg, #dbeafe, #eff6ff) !important;
	border: 1px solid #93c5fd !important;
	color: #1e40af !important;
	border-radius: var(--up-radius-sm) !important;
	font-weight: 500 !important;
}

/* ============================================================
   NOTIFICATION PAGE
   ============================================================ */
.lw-public-master .card.mb-4 {
	border: none !important;
	border-radius: var(--up-radius) !important;
	box-shadow: var(--up-shadow) !important;
	overflow: hidden;
}
.lw-public-master .card.mb-4 .card-body {
	padding: 20px !important;
}
/* Datatable header row */
.lw-public-master .card.mb-4 .dataTables_wrapper .dataTables_filter input,
.lw-public-master .card.mb-4 .dataTables_wrapper .dataTables_length select {
	border-radius: var(--up-radius-sm) !important;
	border: 1px solid #e2e8f0 !important;
	padding: 6px 12px !important;
}
.lw-public-master .card.mb-4 table.dataTable thead th {
	background: #f8fafc !important;
	color: #374151 !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	border-bottom: 2px solid #e2e8f0 !important;
}
.lw-public-master .card.mb-4 table.dataTable tbody tr {
	border-bottom: 1px solid #f1f5f9 !important;
	transition: background var(--up-ease) !important;
}
.lw-public-master .card.mb-4 table.dataTable tbody tr:hover {
	background: #fafafa !important;
}
.lw-public-master .card.mb-4 table.dataTable tbody td {
	color: #374151 !important;
	font-size: 0.85rem !important;
	padding: 12px 14px !important;
	vertical-align: middle !important;
}

/* ============================================================
   AFFILIATE PAGE – Full redesign
   ============================================================ */

/* Page heading */
.lw-public-master .container-fluid h2 > .fa-handshake {
	color: var(--up-primary);
	margin-right: 8px;
}

/* ── 4 Stat cards: keep bg-* colours, modernise shape ── */
.lw-public-master .affiliate-stats-card {
	border: none !important;
	border-radius: var(--up-radius) !important;
	box-shadow: 0 6px 24px rgba(0,0,0,0.14) !important;
	transition: transform var(--up-ease), box-shadow var(--up-ease) !important;
	overflow: hidden !important;
	position: relative;
}
.lw-public-master .affiliate-stats-card::before {
	content: '';
	position: absolute;
	top: -28px; right: -18px;
	width: 80px; height: 80px;
	border-radius: 50%;
	background: rgba(255,255,255,0.12);
	pointer-events: none;
}
.lw-public-master .affiliate-stats-card:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 14px 40px rgba(0,0,0,0.22) !important;
}
.lw-public-master .affiliate-stats-card .card-body {
	padding: 24px 20px !important;
}
.lw-public-master .affiliate-stats-card h2 {
	font-size: 2.2rem !important;
	font-weight: 800 !important;
	margin: 8px 0 0 !important;
	color: #fff !important;
}
.lw-public-master .affiliate-stats-card h5 {
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	opacity: 0.88 !important;
	color: #fff !important;
	margin: 0 !important;
}
/* Non-coloured cards stay white */
.lw-public-master .affiliate-stats-card:not([class*="bg-"]) {
	background: #ffffff !important;
}
.lw-public-master .affiliate-stats-card:not([class*="bg-"]) h2 {
	color: var(--up-primary) !important;
}
.lw-public-master .affiliate-stats-card:not([class*="bg-"]) h5 {
	color: #374151 !important;
	opacity: 1 !important;
}

/* ── General card shape across affiliate page ── */
.lw-public-master .card {
	border-radius: var(--up-radius) !important;
	border: 1px solid #e9ecef !important;
	box-shadow: var(--up-shadow) !important;
	overflow: hidden;
}

/* ── Card headers ── */
.lw-public-master .card .card-header:not([class*="bg-"]) {
	background: #f8fafc !important;
	border-bottom: 1px solid #e2e8f0 !important;
	padding: 14px 20px !important;
}
.lw-public-master .card .card-header:not([class*="bg-"]) h5 {
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	color: #1f2937 !important;
	margin: 0 !important;
}
.lw-public-master .card .card-header:not([class*="bg-"]) h5 i {
	color: var(--up-primary);
	margin-right: 8px;
}
.lw-public-master .card .card-header.bg-success {
	background: linear-gradient(135deg, #16a34a, #22c55e) !important;
	border-bottom: none !important;
	padding: 14px 20px !important;
}
.lw-public-master .card .card-header.bg-success h5 {
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	color: #fff !important;
	margin: 0 !important;
}

/* ── Referral link box ── */
.lw-public-master .referral-link-box {
	background: linear-gradient(135deg, #f0f9ff, #e0f2fe) !important;
	border: 2px dashed #7dd3fc !important;
	border-radius: var(--up-radius-sm) !important;
	padding: 20px !important;
	margin: 0 !important;
}
.lw-public-master .referral-link-box label {
	font-weight: 700 !important;
	color: #0c4a6e !important;
	font-size: 0.88rem !important;
}
.lw-public-master .referral-link-box .form-control {
	border-radius: var(--up-radius-sm) 0 0 var(--up-radius-sm) !important;
	border: 1px solid #bae6fd !important;
	font-size: 0.85rem !important;
	color: #0c4a6e !important;
	background: #fff !important;
}
.lw-public-master .referral-link-box .input-group-append .btn {
	background: linear-gradient(135deg, var(--up-primary), #ff4560) !important;
	border: none !important;
	color: #fff !important;
	font-weight: 600 !important;
	border-radius: 0 var(--up-radius-sm) var(--up-radius-sm) 0 !important;
	padding: 0 18px !important;
	transition: box-shadow var(--up-ease) !important;
}
.lw-public-master .referral-link-box .input-group-append .btn:hover {
	box-shadow: 0 4px 14px rgba(225,11,45,0.35) !important;
}
.lw-public-master .referral-link-box small {
	color: #0369a1 !important;
	font-size: 0.78rem !important;
}

/* ── Form inputs ── */
.lw-public-master .card .card-body .form-control,
.lw-public-master .card .card-body select.form-control,
.lw-public-master .card .card-body textarea.form-control {
	border-radius: var(--up-radius-sm) !important;
	border: 1px solid #e2e8f0 !important;
	font-size: 0.86rem !important;
	transition: border-color var(--up-ease), box-shadow var(--up-ease) !important;
}
.lw-public-master .card .card-body .form-control:focus,
.lw-public-master .card .card-body select.form-control:focus,
.lw-public-master .card .card-body textarea.form-control:focus {
	border-color: var(--up-primary) !important;
	box-shadow: 0 0 0 3px rgba(225,11,45,0.10) !important;
}
.lw-public-master .card .card-body label {
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
}
.lw-public-master .card .card-body .form-text.text-muted {
	font-size: 0.77rem !important;
	color: #9ca3af !important;
}

/* ── Buttons ── */
.lw-public-master .card .card-body .btn-success {
	background: linear-gradient(135deg, #16a34a, #22c55e) !important;
	border: none !important;
	border-radius: var(--up-radius-sm) !important;
	font-weight: 700 !important;
	padding: 10px 24px !important;
	box-shadow: 0 3px 12px rgba(22,163,74,0.28) !important;
	color: #fff !important;
}
.lw-public-master .card .card-body .btn-success:hover {
	box-shadow: 0 6px 20px rgba(22,163,74,0.40) !important;
	transform: translateY(-1px);
}
.lw-public-master .card .card-body .btn-primary {
	background: linear-gradient(135deg, var(--up-primary), #ff4560) !important;
	border: none !important;
	border-radius: var(--up-radius-sm) !important;
	font-weight: 700 !important;
	padding: 10px 24px !important;
	color: #fff !important;
}

/* ── Alerts inside cards ── */
.lw-public-master .card .card-body .alert-info {
	background: linear-gradient(135deg, #dbeafe, #eff6ff) !important;
	border: 1px solid #93c5fd !important;
	color: #1e40af !important;
	border-radius: var(--up-radius-sm) !important;
	font-size: 0.86rem !important;
}
.lw-public-master .card .card-body .alert-warning {
	border-radius: var(--up-radius-sm) !important;
	font-size: 0.86rem !important;
}

/* ── Withdrawal history + referral history tables ── */
#lwWithdrawalHistoryContainer table thead th,
.lw-public-master .container-fluid .table thead th {
	background: #f8fafc !important;
	color: #374151 !important;
	font-size: 0.80rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	border-bottom: 2px solid #e2e8f0 !important;
	padding: 12px 14px !important;
}
#lwWithdrawalHistoryContainer table tbody tr,
.lw-public-master .container-fluid .table tbody tr {
	border-bottom: 1px solid #f1f5f9 !important;
}
#lwWithdrawalHistoryContainer table tbody tr:hover,
.lw-public-master .container-fluid .table tbody tr:hover {
	background: #fafafa !important;
}
#lwWithdrawalHistoryContainer table tbody td,
.lw-public-master .container-fluid .table tbody td {
	font-size: 0.84rem !important;
	color: #374151 !important;
	padding: 11px 14px !important;
	vertical-align: middle !important;
}

/* ============================================================
   CHANGE LOCATION – BUY PLAN PAGE (location-change-plans)
   ============================================================ */
.location-change-plans-container {
	background: linear-gradient(160deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
	padding: 40px 20px 60px !important;
	border-radius: var(--up-radius) !important;
}
.location-change-plan-card {
	background: #ffffff !important;
	border-radius: var(--up-radius) !important;
	padding: 28px 20px !important;
	box-shadow: var(--up-shadow) !important;
	border: 1.5px solid rgba(255,255,255,0.06) !important;
	transition: transform var(--up-ease), box-shadow var(--up-ease) !important;
}
.location-change-plan-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: var(--up-shadow-h) !important;
}
.location-change-plan-title {
	font-weight: 800 !important;
	color: var(--up-dark) !important;
	font-size: 1rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.6px !important;
}
.location-change-plan-price .amount {
	font-size: 2.6rem !important;
	font-weight: 800 !important;
	color: var(--up-primary) !important;
}
.location-change-plan-price .currency {
	font-weight: 700 !important;
	color: var(--up-primary) !important;
}
.location-change-plan-features li {
	color: #374151 !important;
	font-size: 0.87rem !important;
	padding: 6px 0 !important;
	border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}
.location-change-plan-features li i {
	color: var(--up-green) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
	.lw-public-master .d-sm-flex.align-items-center.justify-content-between.mb-4 {
		padding: 14px 16px !important;
	}
	.lw-public-master .lw-user-thumbnail-block .lw-user-thumbnail {
		height: 130px !important;
	}
	.lw-public-master #lwLoadMoreContentContainer .col {
		padding: 5px !important;
	}
}
