/*!
 =========================================================
 * WebEngine CMS — Default Template (EpicMU Dark Theme Edition)
 * Inspired by EpicMU Dark MMORPG Aesthetics
 * Palette: Deep void blue, cyan glow accents, gold CTAs
 =========================================================
 * Author Lautaro Angelico / Enhanced for Modern Dark UI
 * Licensed under the MIT license
 =========================================================
*/

:root {
	--ColorTemplate: #d9ad58;
	--ColorTemplateAlpha: rgba(217, 173, 88, 0.5);

	/* ═════════ EPICMU DARK DESIGN SYSTEM ═════════ */
	--bg-dark: #070910;
	--bg-radial: radial-gradient(ellipse at 50% -10%, #1c2c46 0%, #0b0e16 45%, #070910 100%);
	--panel: #101622;
	--panel-2: #0c1017;
	--panel-head: linear-gradient(180deg, #243a52, #15263a);
	--panel-head-card: linear-gradient(180deg, #1e3146 0%, #122132 100%);
	--panel-body: linear-gradient(180deg, #14202f, #0c1622);
	--panel-card-bg: #0c121b;
	--border: #263145;
	--border-2: #354c62;
	--border-glow: rgba(56, 198, 255, 0.22);
	--gold: #d9ad58;
	--gold-light: #f1d38a;
	--gold-dark: #b58636;
	--gold-btn: linear-gradient(180deg, #e7c474, #b58636);
	--cyan: #4fd6e8;
	--cyan-glow: #38c6ff;
	--pink: #d8649e;
	--green: #69d69a;
	--red: #ff5252;
	--text: #d9dce4;
	--text-heading: #f0f4f9;
	--muted: #8892a3;
	--muted-2: #616c80;
	--input-bg: #090d14;
	--input-border: #283142;
	--table-alt: #101824;
	--table-hover: rgba(79, 214, 232, 0.08);

	/* Bootstrap 5 Theme Variables */
	--bs-body-bg: #070910;
	--bs-body-color: #d9dce4;
	--bs-card-bg: #0f1622;
	--bs-card-color: #d9dce4;
	--bs-card-border-color: #263145;
	--bs-table-bg: #0c121b;
	--bs-table-color: #d9dce4;
	--bs-table-striped-bg: #101824;
	--bs-table-striped-color: #d9dce4;
	--bs-table-hover-bg: rgba(79, 214, 232, 0.08);
	--bs-table-hover-color: #ffffff;
	--bs-table-border-color: #1a2536;
}

html {
	min-width: 1040px;
	min-height: 100%;
	background: #1a191e !important;
	scroll-behavior: smooth;
}

body {
	position: relative;
	min-height: 100vh;
	margin: 0;
	background-color: #1a191e !important;
	color: var(--text) !important;
	font-family: 'Roboto', 'PT Sans', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* ═══════════════════════════════════════════════════════════════
   FONDO FIJO
   El fondo permanece inmóvil mientras se hace scroll.
   ═══════════════════════════════════════════════════════════════ */

body::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;

	background: #1a191e url('../img/background.jpg') no-repeat top center;
	background-size: 1920px auto;
	background-position: top center;

	z-index: 0;
	pointer-events: none;
}

/* Todo el contenido queda por encima del fondo */

body > * {
	position: relative;
	z-index: 1;
}

@media only screen and (min-width: 2000px) {
	body::before {
		background-size: 100vw auto;
		background-position: top center;
	}
}

a {
	color: var(--cyan);
	text-decoration: none;
	transition: all .2s ease-in-out;
}

a:hover {
	color: var(--gold-light) !important;
	text-decoration: none !important;
	text-shadow: 0 0 8px rgba(241, 211, 138, 0.4);
}

img {
	border: 0px;
	max-width: 100%;
}

/* ══════════════════════ FORM ELEMENTS / INPUTS ══════════════════════ */
input[type=text], input[type=password], input[type=number], input[type=email], select, textarea, .form-control {
	background-color: #090d14 !important;
	border: 1px solid #283142 !important;
	color: #ffffff !important;
	padding: 9px 12px;
	border-radius: 4px;
	font-size: 13px;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

input[type=text]:focus, input[type=password]:focus, input[type=number]:focus, input[type=email]:focus, select:focus, textarea:focus, .form-control:focus {
	background-color: #090d14 !important;
	border-color: #4fd6e8 !important;
	box-shadow: 0 0 10px rgba(79, 214, 232, 0.35) !important;
	color: #ffffff !important;
}

.form-control::placeholder {
	color: #616c80 !important;
}

.input-group-text {
	background-color: #141f2e !important;
	border: 1px solid #283142 !important;
	color: #4fd6e8 !important;
	font-size: 13px;
}

/* ══════════════════════ TOP NAVBAR (REPLACES OLD TOPBAR) ══════════════════════ */
.main-top-navbar {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	background: rgba(5, 9, 15, 0.95) !important;
	backdrop-filter: blur(12px);
	border-bottom: 1px solid #1c2b3e;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.7);
}

.main-top-navbar-container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 68px;
}

.top-brand {
	display: flex;
	align-items: center;
	text-decoration: none !important;
	padding: 8px 0;
	margin-right: 25px;
}

.top-brand-img {
	max-height: 44px;
	width: auto;
	filter: drop-shadow(0 0 12px rgba(56, 198, 255, 0.4));
	transition: all 0.3s ease;
}

.top-brand:hover .top-brand-img {
	filter: drop-shadow(0 0 18px rgba(217, 173, 88, 0.6)) brightness(115%);
	transform: scale(1.03);
}

.top-nav-menu {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.top-nav-item {
	display: inline-block;
	list-style: none;
}

.top-nav-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 8px 18px;
	color: #d1d8e4 !important;
	text-decoration: none !important;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-radius: 4px;
	transition: all 0.22s ease;
	position: relative;
	min-width: 90px;
}

.top-nav-link i {
	font-size: 18px;
	color: #4fd6e8 !important;
	margin-bottom: 4px;
	transition: all 0.22s ease;
}

.top-nav-link:hover {
	color: #ffffff !important;
	background: rgba(79, 214, 232, 0.1);
	text-shadow: 0 0 10px rgba(56, 198, 255, 0.5);
}

.top-nav-link:hover i {
	color: #f1d38a !important;
	transform: translateY(-2px);
	filter: drop-shadow(0 0 8px rgba(241, 211, 138, 0.6));
}

.top-nav-link.active {
	color: #4fd6e8 !important;
	background: rgba(79, 214, 232, 0.14);
	box-shadow: inset 0 -2px 0 #4fd6e8;
}

.top-nav-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.top-nav-actions a {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.btn-top-login {
	padding: 7px 16px;
	color: #c7cedb !important;
	border: 1px solid #354c62;
	border-radius: 4px;
	background: rgba(16, 22, 34, 0.8);
	transition: all .2s ease;
}

.btn-top-login:hover {
	border-color: #4fd6e8;
	color: #ffffff !important;
	box-shadow: 0 0 10px rgba(79, 214, 232, 0.35);
}

.btn-top-cta {
	padding: 7px 16px;
	color: #16120a !important;
	background: linear-gradient(180deg, #e7c474, #b58636);
	border: 1px solid #f1d38a;
	border-radius: 4px;
	transition: all .2s ease;
}

.btn-top-cta:hover {
	filter: brightness(1.15);
	box-shadow: 0 0 14px rgba(217, 173, 88, 0.5);
	transform: translateY(-1px);
}

/* ══════════════════════ HEADER ══════════════════════ */
#header {
	width: 100%;
	margin: 0px auto;
	padding: 300px 0px 20px 0px;
	text-align: center;
	color: #fff;
	position: relative;
}

/* ══════════════════════ HERO ONLINE COUNTER ══════════════════════ */
.header-container {
	width: 1040px;
	margin: 0 auto;
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: flex-end;
	padding-right: 24px;
	pointer-events: none;
	z-index: 20;
}

.hero-online-card {
	pointer-events: auto;
	width: 316px;
	background: rgba(10, 16, 26, 0.76);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(79, 214, 232, 0.35);
	border-top: 2px solid #4fd6e8;
	border-radius: 6px;
	padding: 12px 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.75), 0 0 20px rgba(79, 214, 232, 0.12);
	display: flex;
	align-items: center;
	gap: 14px;
	transition: all 0.25s ease;
	text-align: left;
}

.hero-online-card:hover {
	border-color: rgba(79, 214, 232, 0.65);
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.85), 0 0 25px rgba(79, 214, 232, 0.25);
	transform: translateY(-2px);
}

.hero-online-icon-wrapper {
	width: 44px;
	height: 44px;
	border-radius: 8px;
	background: rgba(79, 214, 232, 0.12);
	border: 1px solid rgba(79, 214, 232, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 19px;
	color: #4fd6e8;
	position: relative;
	flex-shrink: 0;
	box-shadow: inset 0 0 10px rgba(79, 214, 232, 0.15);
}

.hero-pulse-dot {
	position: absolute;
	top: -3px;
	right: -3px;
	width: 9px;
	height: 9px;
	background-color: #22c55e;
	border: 2px solid #0a101a;
	border-radius: 50%;
	box-shadow: 0 0 8px #22c55e;
	animation: pulseStatus 2s infinite;
}

@keyframes pulseStatus {
	0% {
		box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
	}
	70% {
		box-shadow: 0 0 0 6px rgba(34, 197, 94, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
	}
}

.hero-online-data {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.hero-online-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1;
}

.hero-online-title {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.8px;
	color: #8892a3;
	text-transform: uppercase;
}

.hero-online-status {
	font-size: 10px;
	font-weight: 700;
	color: #22c55e;
	background: rgba(34, 197, 94, 0.12);
	border: 1px solid rgba(34, 197, 94, 0.35);
	padding: 2px 7px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	letter-spacing: 0.5px;
}

.hero-live-indicator {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #22c55e;
	box-shadow: 0 0 5px #22c55e;
}

.hero-online-count {
	display: flex;
	align-items: baseline;
	gap: 5px;
	line-height: 1.2;
}

.hero-online-number {
	font-size: 21px;
	font-weight: 800;
	color: #ffffff;
	font-family: 'Cinzel', 'Roboto', serif;
	letter-spacing: 0.5px;
	text-shadow: 0 0 12px rgba(79, 214, 232, 0.4);
}

.hero-online-max {
	font-size: 11.5px;
	font-weight: 600;
	color: #616c80;
}

/* ══════════════════════ MAIN CONTAINER & CONTENT ══════════════════════ */
#container {
	background: rgba(12, 17, 26, 0.95) !important;
	backdrop-filter: blur(12px);
	width: 1040px;
	min-height: 600px;
	margin: 0px auto;
	padding: 28px 24px 30px 24px;
	border: 1px solid #263145 !important;
	border-bottom: none !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.85), 0 0 30px rgba(56, 198, 255, 0.05);
	border-radius: 8px 8px 0px 0px;
}

#content {
	width: 100%;
	overflow: visible;
	min-height: 500px;
	padding: 0px;
}

/* ══════════════════════ FOOTER ══════════════════════ */
.footer {
	background: #080c14 !important;
	width: 1040px;
	font-size: 12px;
	color: #8892a3 !important;
	overflow: hidden;
	margin: 0px auto 80px auto;
	border: 1px solid #263145 !important;
	border-top: 2px solid #354c62 !important;
	border-radius: 0px 0px 8px 8px;
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.9);
}

.footer > .footer-container {
	width: 100%;
	margin: 0px auto;
}

.footer a {
	color: #9fb0c6 !important;
}

.footer a:hover {
	color: #f1d38a !important;
	text-decoration: none !important;
	text-shadow: 0 0 8px rgba(241, 211, 138, 0.5);
}

.footer .footer-social-link {
	color: #4fd6e8 !important;
	transition: all .3s ease;
	display: inline-block;
}

.footer .footer-social-link:hover {
	color: #f1d38a !important;
	transform: translateY(-3px) scale(1.1);
	filter: drop-shadow(0 0 10px #38c6ff);
}

.footer hr {
	border-top: 1px solid #263145 !important;
	opacity: 0.6;
}

/* ══════════════════════ GLOBAL TOP BAR ══════════════════════ */
.global-top-bar {
	width: 100%;
	background: rgba(4, 7, 13, 0.96) !important;
	backdrop-filter: blur(8px);
	border-bottom: 1px solid #152233 !important;
	color: #8892a3 !important;
	padding: 8px 0px 6px 0px;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.8px;
	position: relative;
	z-index: 100;
}

.global-top-bar .global-top-bar-content {
	width: 1040px;
	margin: 0px auto;
}

.global-top-bar a {
	color: #9aa5b5 !important;
	font-weight: 700;
	transition: color .2s ease;
}

.global-top-bar a:hover {
	color: #ffffff !important;
	text-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
}

.global-top-bar a.logout {
	color: #d9ad58 !important;
}

.global-top-bar a.logout:hover {
	color: #f1d38a !important;
}

.global-top-bar-nopadding {
	padding: 0px !important;
}

.global-top-bar-separator {
	padding: 0px 8px;
	color: #354c62;
}

/* ══════════════════════ LANGUAGE SWITCHER ══════════════════════ */
.webengine-language-switcher {
	display: inline-flex;
	align-items: center;
	list-style: none;
	padding: 0px !important;
	margin: 0px !important;
	gap: 6px;
}

.webengine-language-switcher li {
	display: inline-block;
	background: #111a26 !important;
	border: 1px solid #263145 !important;
	padding: 1px 7px;
	border-radius: 3px;
	transition: all .2s ease;
}

.webengine-language-switcher li:hover {
	border-color: #4fd6e8 !important;
	background: #172435 !important;
	box-shadow: 0 0 8px rgba(79, 214, 232, 0.25);
}

.webengine-language-switcher li a {
	color: #c0c7d4 !important;
	font-size: 10.5px;
	font-weight: 700;
}

/* ══════════════════════ PAGE TITLE ══════════════════════ */
.page-title {
	color: #f0f4f9 !important;
	font-family: 'Roboto', 'Cinzel', Georgia, serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1.5px;
	margin-bottom: 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #263145;
	display: flex;
	align-items: center;
	gap: 10px;
	text-shadow: 0 0 15px rgba(56, 198, 255, 0.25);
}

.page-title i {
	color: #4fd6e8 !important;
}

/* ══════════════════════ CARDS & PANELS ══════════════════════ */
.card, .panel-sidebar, .panel-general, .panel-addstats, .panel-downloads {
	background-color: #0f1622 !important;
	background: #0f1622 !important;
	border: 1px solid #263145 !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45) !important;
	border-radius: 6px !important;
	margin-bottom: 22px;
	overflow: hidden;
	color: #d9dce4 !important;
}

.card-header, .card-header.bg-primary, .panel-sidebar > .panel-heading {
	background: linear-gradient(180deg, #243a52, #15263a) !important;
	border-bottom: 1px solid #354c62 !important;
	color: #eaf2fa !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 12px 16px !important;
	display: flex;
	align-items: center;
	gap: 8px;
}

.card-header i, .panel-sidebar > .panel-heading i {
	color: #4fd6e8 !important;
}

.card-body, .panel-body {
	background: linear-gradient(180deg, #14202f, #0c1622) !important;
	color: #d9dce4 !important;
	padding: 16px;
	border: none !important;
}

.card-footer, .panel-footer {
	background: #090e15 !important;
	border-top: 1px solid #263145 !important;
	color: #8892a3 !important;
	padding: 10px 16px;
	font-size: 12px;
	border-bottom: none !important;
}

/* ══════════════════════ NEWS MODULE ══════════════════════ */
.panel-news {
	margin-bottom: 24px;
	background: #101622 !important;
	border: 1px solid #263145 !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4) !important;
	border-radius: 6px !important;
	overflow: hidden;
}

.panel-news .panel-heading, .panel-news.card .card-header {
	padding: 12px 16px;
	background: linear-gradient(180deg, #243a52, #15263a) !important;
	border-bottom: 1px solid #354c62 !important;
	border-radius: 0px;
}

.panel-news .panel-heading a {
	color: #eaf2fa !important;
}

.panel-news .panel-heading a:hover {
	color: #4fd6e8 !important;
}

.panel-news .panel-title {
	color: #f0f5fa !important;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.8px;
	margin: 0;
	padding: 0;
}

.panel-news .panel-body, .panel-news.card .card-body {
	padding: 18px 20px;
	background: linear-gradient(180deg, #14202f, #0c1622) !important;
	color: #d9dce4 !important;
	font-size: 13.5px;
	line-height: 1.7;
	border: none !important;
}

.panel-news .panel-footer, .panel-news.card .card-footer {
	background: #090e15 !important;
	padding: 10px 18px;
	font-size: 12px;
	color: #8892a3 !important;
	border: none !important;
	border-top: 1px solid #263145 !important;
}

/* ══════════════════════ TABLES & RANKINGS ══════════════════════ */
.table, .rankings-table, .general-table-ui, .myaccount-table {
	width: 100%;
	background-color: #0c121b !important;
	background: #0c121b !important;
	color: #d9dce4 !important;
	border: 1px solid #263145 !important;
	border-radius: 6px !important;
	overflow: hidden;
	margin-bottom: 0px;
	--bs-table-bg: #0c121b !important;
	--bs-table-color: #d9dce4 !important;
	--bs-table-striped-bg: #101824 !important;
	--bs-table-striped-color: #d9dce4 !important;
	--bs-table-hover-bg: rgba(79, 214, 232, 0.08) !important;
	--bs-table-hover-color: #ffffff !important;
	--bs-table-border-color: #1a2536 !important;
}

.table thead, .table-dark, .rankings-table thead, .rankings-table tr:first-child td {
	background: linear-gradient(180deg, #1c2e42 0%, #122030 100%) !important;
	color: #4fd6e8 !important;
	border-bottom: 1px solid #354c62 !important;
	font-weight: 800;
	font-size: 11.5px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.table thead th, .table th, .rankings-table thead th {
	background: transparent !important;
	color: #4fd6e8 !important;
	border-bottom: 1px solid #354c62 !important;
	border-top: none !important;
	padding: 11px 14px;
	vertical-align: middle;
}

.table > :not(caption) > * > *, 
.table tbody tr td, 
.rankings-table tr td, 
.general-table-ui tr td, 
.myaccount-table tr td {
	background-color: transparent !important;
	color: #d9dce4 !important;
	border-bottom: 1px solid #162232 !important;
	border-top: none !important;
	padding: 10px 14px;
	font-size: 13px;
	vertical-align: middle;
}

.table-striped > tbody > tr:nth-of-type(odd) > *,
.table-striped > tbody > tr:nth-of-type(odd),
.general-table-ui tr:nth-child(2n+2) td {
	background-color: #101824 !important;
	color: #d9dce4 !important;
}

.table tbody tr:hover > *,
.table tbody tr:hover,
.rankings-table tbody tr:hover td,
.general-table-ui tbody tr:hover td {
	background-color: rgba(79, 214, 232, 0.09) !important;
	color: #ffffff !important;
}

.table tr:last-child td, .rankings-table tr:last-child td {
	border-bottom: none !important;
}

/* ── RANKINGS ELEMENTS ── */
.rankings-table-place {
	color: #d9ad58 !important;
	font-weight: 800;
	font-size: 15px;
	text-align: center;
	text-shadow: 0 0 10px rgba(217, 173, 88, 0.4);
}

.rankings-class-image-sidebar {
	width: 26px;
	height: auto;
	box-shadow: 0 0 8px rgba(0,0,0,0.8);
	border-radius: 4px;
	border: 1px solid #354c62;
	vertical-align: middle;
	margin-right: 6px;
}

.rankings-class-image {
	width: 38px;
	height: auto;
	box-shadow: 0 0 10px rgba(0,0,0,0.8);
	border-radius: 4px;
	border: 1px solid #354c62;
	vertical-align: middle;
	margin-right: 8px;
}

.default-char-offline {
	border: 2px solid #5a6578;
	vertical-align: middle;
}

.default-char-online {
	border: 2px solid #69d69a;
	box-shadow: 0 0 8px #69d69a;
	vertical-align: middle;
}

.rankings-update-time {
	text-align: right;
	font-size: 11px;
	color: #8892a3;
	padding: 10px 0px;
}

.rankings_menu {
	width: 100%;
	overflow: visible;
	text-align: center;
	margin-bottom: 16px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.rankings_menu a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 130px;
	padding: 7px 16px;
	background: #0d141e !important;
	border: 1px solid #354c62 !important;
	border-left: 4px solid #d9ad58 !important;
	color: #cbd4e0 !important;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	border-radius: 4px;
	transition: all .25s ease;
}

.rankings_menu a:hover {
	background: linear-gradient(90deg, rgba(79, 214, 232, 0.2), #0d141e) !important;
	color: #ffffff !important;
	border-color: #4fd6e8 !important;
	box-shadow: 0 0 12px rgba(79, 214, 232, 0.3);
	transform: translateY(-1px);
}

.rankings_menu a.active {
	background: linear-gradient(180deg, #e7c474, #b58636) !important;
	border: 1px solid #f1d38a !important;
	border-left: 4px solid #ffffff !important;
	color: #16120a !important;
	font-weight: 800 !important;
	box-shadow: 0 0 15px rgba(217, 173, 88, 0.4);
}

.rankings_guild_logo tr td {
	border: 0px !important;
	padding: 0px !important;
	margin: 0px !important;
}

.rankings-gens-img {
	width: auto !important;
	height: 28px !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* ══════════════════════ SIDEBAR ELEMENTS ══════════════════════ */
.panel-body .panel-title {
	color: #eaf2fa !important;
	font-size: 14px;
	border-bottom: 1px solid #263145;
	margin-bottom: 16px !important;
	padding-bottom: 6px;
	font-weight: 700;
}

.sidebar-banner {
	margin: 16px 0px;
	border: 0px;
}

.sidebar-banner img {
	box-shadow: 0 8px 20px rgba(0,0,0,0.6);
	border-radius: 6px;
	border: 1px solid #354c62;
	border-left: 5px solid #d9ad58;
	transition: all .3s ease;
	display: block;
	max-width: 100%;
}

.sidebar-banner img:hover {
	border-color: #4fd6e8;
	box-shadow: 0 10px 25px rgba(56, 198, 255, 0.3);
	transform: translateY(-2px);
}

/* ── USERCP PANEL ── */
.panel-usercp ul {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

.panel-usercp ul li {
	display: table;
	width: 100%;
	vertical-align: middle;
	line-height: 28px;
	padding: 3px 0;
	border-bottom: 1px solid #142030;
}

.panel-usercp ul li:last-child {
	border-bottom: none;
}

.panel-usercp ul li a {
	color: #c9d3e0 !important;
	font-weight: 700;
	font-size: 12.5px;
	display: flex;
	align-items: center;
	transition: all .2s ease;
}

.panel-usercp ul li a:hover {
	color: #f1d38a !important;
	transform: translateX(4px);
}

.panel-usercp ul li i {
	color: #4fd6e8 !important;
	margin-right: 8px;
}

/* ══════════════════════ BUTTONS ══════════════════════ */
.btn {
	border-radius: 4px;
	font-weight: 700;
	letter-spacing: 0.8px;
	padding: 8px 18px;
	transition: all .2s ease;
}

.btn-primary {
	color: #16120a !important;
	background: linear-gradient(180deg, #e7c474, #b58636) !important;
	border: 1px solid #f1d38a !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
	color: #16120a !important;
	background: linear-gradient(180deg, #e7c474, #b58636) !important;
	filter: brightness(1.15) !important;
	box-shadow: 0 6px 20px rgba(217, 173, 88, 0.5) !important;
	transform: translateY(-1px);
}

.btn-outline-primary {
	color: #4fd6e8 !important;
	background-color: rgba(79, 214, 232, 0.08) !important;
	border: 1px solid #4fd6e8 !important;
	font-weight: 700 !important;
}

.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
	color: #080d14 !important;
	background-color: #4fd6e8 !important;
	border-color: #4fd6e8 !important;
	box-shadow: 0 0 15px rgba(79, 214, 232, 0.45) !important;
	transform: translateY(-1px);
}

.btn-sm {
	padding: 5px 12px;
	font-size: 11.5px;
}

.text-primary {
	color: #4fd6e8 !important;
}

.bg-primary {
	background: linear-gradient(180deg, #243a52, #15263a) !important;
}

.border-primary {
	border-color: #354c62 !important;
}

/* ══════════════════════ ONLINE PROGRESS BAR ══════════════════════ */
.webengine-online-bar {
	width: 100%;
	background: #090d14;
	border: 1px solid #354c62;
	height: 10px;
	margin: 10px 0;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.8);
}

.webengine-online-bar .webengine-online-bar-progress {
	height: 10px;
	background: linear-gradient(90deg, #38c6ff, #69d69a);
	box-shadow: 0 0 10px rgba(105, 214, 154, 0.6);
	border-radius: 5px;
	transition: width .5s ease;
}

/* ══════════════════════ MY ACCOUNT MODULE ══════════════════════ */
.myaccount-table {
	background: #0c121b !important;
	border: 1px solid #263145 !important;
}

.myaccount-table tr td:first-child {
	color: #8895a7 !important;
	font-weight: 700;
}

.myaccount-table tr td {
	border-bottom: 1px solid #162232 !important;
	padding: 12px !important;
}

.myaccount-character-block {
	background: #0e1520;
	border: 1px solid #354c62;
	padding: 8px;
	border-radius: 6px;
	display: inline-block;
	margin: 0px auto;
	box-shadow: 0 8px 20px rgba(0,0,0,0.6);
	transition: all .3s ease;
}

.myaccount-character-block:hover {
	border-color: #4fd6e8;
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(56, 198, 255, 0.3);
}

.myaccount-character-block img {
	width: 100px;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0,0,0,0.8);
	transition: all 0.3s ease;
}

.myaccount-character-block-location {
	font-size: 11.5px;
	color: #8892a3;
	margin-bottom: 14px;
	margin-top: 4px;
}

.myaccount-character-block-level {
	position: relative;
	top: -77px;
	display: inline-block;
	background: rgba(7, 10, 16, 0.85);
	border: 1px solid #354c62;
	padding: 1px 6px;
	border-radius: 3px;
	color: #f1d38a;
	font-weight: 700;
	font-size: 10px;
}

.myaccount-character-name a {
	font-weight: 800;
	color: #ffffff !important;
	font-size: 15px;
}

.myaccount-character-name a:hover {
	color: #4fd6e8 !important;
}

/* ══════════════════════ STATS & DOWNLOADS ══════════════════════ */
.panel-addstats .character-name {
	color: #f0f4f9 !important;
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	border-bottom: 1px solid #263145;
	padding: 14px 0px;
	margin-bottom: 16px !important;
	font-weight: 700;
}

.panel-addstats .character-avatar img {
	width: 90px;
	height: auto;
	border-radius: 6px;
	border: 1px solid #354c62;
	box-shadow: 0 0 12px rgba(0,0,0,0.7);
}

.download-description {
	font-size: 11px;
	position: relative;
	top: -4px;
	color: #8892a3;
}

.online-status-indicator {
	margin-left: 5px;
}

.webengine-powered {
	color: #d9ad58 !important;
	font-weight: 800;
	letter-spacing: 1px;
}

/* ══════════════════════ PAGINATION ══════════════════════ */
.pagination .page-link {
	background-color: #0c121b !important;
	border: 1px solid #263145 !important;
	color: #4fd6e8 !important;
	font-size: 12px;
	padding: 6px 12px;
}

.pagination .page-link:hover {
	background-color: #152233 !important;
	color: #ffffff !important;
	border-color: #4fd6e8 !important;
}

.pagination .page-item.active .page-link {
	background: linear-gradient(180deg, #e7c474, #b58636) !important;
	border-color: #f1d38a !important;
	color: #16120a !important;
	font-weight: 800;
}

/* ══════════════════════ DATATABLES STYLING ══════════════════════ */
div.dataTables_wrapper div.dataTables_filter label {
	display: block;
	color: #8892a3;
	font-size: 12px;
}

div.dataTables_wrapper div.dataTables_filter input {
	width: 100%;
	margin: 6px 0;
	background: #090d14 !important;
	border: 1px solid #283142 !important;
	color: #fff !important;
	border-radius: 4px;
	padding: 6px 10px;
}

/* ══════════════════════ RACE BADGES & MARKET ══════════════════════ */
.RazaSM { background-color: rgba(47, 125, 204, 0.15); border: 1px solid #2f7dcc; color: #4fa4f5; }
.RazaDK { background-color: rgba(204, 47, 47, 0.15); border: 1px solid #cc2f2f; color: #f55a5a; }
.RazaELF { background-color: rgba(51, 204, 47, 0.15); border: 1px solid #33cc2f; color: #58e854; }
.RazaMG { background-color: rgba(113, 47, 204, 0.15); border: 1px solid #712fcc; color: #9d5df7; }
.RazaDL { background-color: rgba(204, 158, 47, 0.15); border: 1px solid #cc9e2f; color: #f5c55a; }
.RazaSUM { background-color: rgba(191, 47, 204, 0.15); border: 1px solid #bf2fcc; color: #eb5ef8; }
.RazaRF { background-color: rgba(204, 84, 47, 0.15); border: 1px solid #cc542f; color: #f57f5a; }

.BtnSM { background-color: #2f7dcc; color: #fff; border: 1px solid #2f7dcc; }
.BtnDK { background-color: #cc2f2f; color: #fff; border: 1px solid #cc2f2f; }
.BtnELF { background-color: #33cc2f; color: #fff; border: 1px solid #33cc2f; }
.BtnMG { background-color: #712fcc; color: #fff; border: 1px solid #712fcc; }
.BtnDL { background-color: #cc9e2f; color: #fff; border: 1px solid #cc9e2f; }
.BtnSUM { background-color: #bf2fcc; color: #fff; border: 1px solid #bf2fcc; }
.BtnRF { background-color: #cc542f; color: #fff; border: 1px solid #cc542f; }

/* ══════════════════════ TERMS OF SERVICE ══════════════════════ */
.tos_list li {
	color: #4fd6e8;
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 30px;
}

.tos_list li p {
	color: #d9dce4;
	text-align: justify;
	padding-right: 20px;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.7;
	margin-top: 8px;
}

/* ══════════════════════ PAYPAL GATEWAY ══════════════════════ */
.paypal-gateway-content {
	background: #111a26;
	border: 2px solid #d9ad58;
	padding: 20px;
	border-radius: 6px;
	color: #d9dce4;
}

.paypal-gateway-conversion-rate {
	color: #f1d38a;
	font-size: 16px;
	font-weight: 700;
}

.paypal-gateway-form input[type=text] {
	width: 80px;
	font-size: 20px;
	border: 2px solid #d9ad58 !important;
	color: #f1d38a !important;
	text-align: center;
}

/* =========================================================
   FANTASIA MEDIEVAL - PARTÍCULAS MÁGICAS
   ========================================================= */

body::after {
    content: '';

    position: fixed;
    left: 0;
    bottom: -20px;

    width: 100vw;
    height: 100vh;

    pointer-events: none;

    z-index: 99999 !important;

    background-image:

        /* ✦ Partículas douradas */
        radial-gradient(circle at 5% 95%, rgba(255,215,130,0.85) 0px, rgba(255,180,70,0) 3px),
        radial-gradient(circle at 13% 82%, rgba(255,235,170,0.65) 0px, rgba(255,190,80,0) 2px),
        radial-gradient(circle at 21% 105%, rgba(220,170,70,0.75) 0px, rgba(200,140,40,0) 3px),
        radial-gradient(circle at 29% 89%, rgba(255,220,120,0.70) 0px, rgba(220,160,60,0) 2px),
        radial-gradient(circle at 37% 108%, rgba(255,205,100,0.80) 0px, rgba(220,150,40,0) 3px),
        radial-gradient(circle at 45% 76%, rgba(255,235,170,0.60) 0px, rgba(220,170,70,0) 2px),

        /* ✦ Partículas azul mágico */
        radial-gradient(circle at 52% 97%, rgba(120,210,255,0.75) 0px, rgba(60,150,220,0) 3px),
        radial-gradient(circle at 60% 84%, rgba(150,225,255,0.60) 0px, rgba(70,170,230,0) 2px),
        radial-gradient(circle at 68% 104%, rgba(100,190,255,0.70) 0px, rgba(50,130,220,0) 3px),
        radial-gradient(circle at 76% 80%, rgba(170,235,255,0.60) 0px, rgba(70,160,220,0) 2px),

        /* ✦ Partículas douradas superiores */
        radial-gradient(circle at 84% 94%, rgba(255,220,130,0.75) 0px, rgba(220,160,60,0) 3px),
        radial-gradient(circle at 92% 78%, rgba(255,240,180,0.60) 0px, rgba(220,170,70,0) 2px),

        /* ✦ Pequenos pontos mágicos */
        radial-gradient(circle at 9% 67%, rgba(255,230,150,0.50) 0px, rgba(255,190,80,0) 2px),
        radial-gradient(circle at 24% 62%, rgba(130,215,255,0.45) 0px, rgba(70,160,220,0) 2px),
        radial-gradient(circle at 41% 69%, rgba(255,225,140,0.50) 0px, rgba(220,160,60,0) 2px),
        radial-gradient(circle at 57% 58%, rgba(150,225,255,0.45) 0px, rgba(70,160,220,0) 2px),
        radial-gradient(circle at 73% 65%, rgba(255,225,140,0.50) 0px, rgba(220,160,60,0) 2px),
        radial-gradient(circle at 88% 61%, rgba(130,215,255,0.45) 0px, rgba(70,160,220,0) 2px);

    background-repeat: no-repeat;

    filter:
        drop-shadow(0 0 4px rgba(255,210,120,0.60))
        drop-shadow(0 0 9px rgba(80,170,230,0.25));

    animation: medievalMagic 12s ease-in-out infinite;
}

@keyframes medievalMagic {

    0% {
        transform: translate3d(0, 30px, 0);
        opacity: 0.10;
    }

    20% {
        transform: translate3d(-10px, 5px, 0);
        opacity: 0.65;
    }

    40% {
        transform: translate3d(12px, -18px, 0);
        opacity: 0.45;
    }

    60% {
        transform: translate3d(-8px, -38px, 0);
        opacity: 0.75;
    }

    80% {
        transform: translate3d(14px, -60px, 0);
        opacity: 0.40;
    }

    100% {
        transform: translate3d(-5px, -85px, 0);
        opacity: 0;
    }
}

/* =========================================================
   NOBLESSE - SOCIAL LATERAL
/* ══════════════════════ FLOATING LEFT SOCIAL CARD ══════════════════════ */
#noblesse-social, .floating-social {
	position: fixed !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 99999 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	padding: 6px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	background: rgba(10, 15, 23, 0.96) !important;
	backdrop-filter: blur(10px) !important;
	border: 1px solid #263145 !important;
	border-left: 0 !important;
	border-radius: 0 8px 8px 0 !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.8), 0 0 20px rgba(79, 214, 232, 0.12) !important;
	visibility: visible !important;
	opacity: 1 !important;
	transition: all 0.3s ease !important;
}

#noblesse-social a, .floating-social a {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 6px !important;
	font-size: 20px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-shadow: none !important;
	transition: all 0.25s ease !important;
	position: relative !important;
}

/* Discord Button */
#noblesse-social a.floating-discord, .floating-social a.floating-discord,
#noblesse-social a:first-child, .floating-social a:first-child {
	color: #8da0f8 !important;
	background: transparent !important;
}

#noblesse-social a.floating-discord:hover, .floating-social a.floating-discord:hover,
#noblesse-social a:first-child:hover, .floating-social a:first-child:hover {
	color: #ffffff !important;
	background: #5865f2 !important;
	box-shadow: 0 0 16px rgba(88, 101, 242, 0.65) !important;
	transform: scale(1.08) !important;
}

/* Facebook Button */
#noblesse-social a.floating-facebook, .floating-social a.floating-facebook,
#noblesse-social a:last-child, .floating-social a:last-child {
	color: #5aa7ff !important;
	background: transparent !important;
}

#noblesse-social a.floating-facebook:hover, .floating-social a.floating-facebook:hover,
#noblesse-social a:last-child:hover, .floating-social a:last-child:hover {
	color: #ffffff !important;
	background: #1877f2 !important;
	box-shadow: 0 0 16px rgba(24, 119, 242, 0.65) !important;
	transform: scale(1.08) !important;
}

/* Mini línea más clara para dividir ambos botones */
.floating-social-divider {
	width: 32px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent) !important;
	margin: 4px 0 !important;
	border: none !important;
}

/* Solo ocultar en pantallas realmente pequeñas */
@media only screen and (max-width: 800px) {
	#noblesse-social, .floating-social {
		display: none !important;
	}
}