/**
 * Rankings premium — maminsta_prod
 * Tabla oscura original + encabezado y podio top 3
 */

.page-rankings .rankings-full-section {
	background: #000;
}

.page-rankings .rankings-page-container {
	max-width: 1400px;
}

.rankings-page-shell {
	max-width: 100%;
	margin: 0 auto;
	padding: 16px 12px 24px;
	border-radius: 12px;
	background:
		radial-gradient(circle at top center, rgba(74, 154, 216, 0.08), transparent 42%),
		linear-gradient(180deg, rgba(8, 8, 14, 0.97), rgba(4, 4, 8, 0.99));
	border: 1px solid rgba(74, 154, 216, 0.18);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 24px 40px rgba(0, 0, 0, 0.35);
}

.rankings-page-heading {
	min-height: 104px;
	margin-bottom: 18px;
	padding: 22px 27px;
	display: flex;
	align-items: center;
	gap: 20px;
	overflow: hidden;
	border: 1px solid #e0e1e3;
	border-radius: 8px;
	background: linear-gradient(112deg, #fff 0%, #fff 66%, #eef6fc 100%);
	box-shadow: 0 10px 28px rgba(22, 24, 28, 0.06);
}

.rankings-heading-icon {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	border: 1px solid #9ec9ea;
	border-radius: 7px;
	background: #f3f9ff;
	color: #4A9AD8;
	font-size: 22px;
	box-shadow: 0 7px 17px rgba(74, 154, 216, 0.1);
}

.rankings-heading-kicker {
	display: block;
	margin-bottom: 3px;
	color: #4A9AD8;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.rankings-page-heading h1 {
	margin: 0 0 4px;
	color: #181b20;
	font-size: 27px;
	font-weight: 800;
	line-height: 1.15;
}

.rankings-page-heading p {
	margin: 0;
	color: #777b81;
	font-size: 12px;
}

.rankings-module-title {
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	text-align: center;
}

.rankings-module-title span {
	display: inline-block;
	position: relative;
	padding-left: 34px;
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6BB4EA;
	text-shadow: 0 0 12px rgba(74, 154, 216, 0.35);
}

.rankings-module-title span::before {
	content: "\00bb";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #4A9AD8;
	font-size: 1.5rem;
	line-height: 1;
}

.rankings_menu.rankings-premium-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 4px;
	margin: 0 0 22px !important;
	padding: 7px !important;
	border: 1px solid #e0e1e3;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 7px 20px rgba(22, 24, 28, 0.045);
}

.rankings_menu.rankings-premium-menu a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 44px;
	padding: 8px 14px;
	border-radius: 6px;
	border: 1px solid transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #5d6167 !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
	opacity: 1;
}

.rankings_menu.rankings-premium-menu a:hover,
.rankings_menu.rankings-premium-menu a.active {
	color: #4A9AD8 !important;
	border-color: #9ec9ea !important;
	background: #f3f9ff !important;
	box-shadow: inset 0 -2px 0 #4A9AD8 !important;
	text-decoration: none;
}

.rankings-section-title {
	display: none;
}

.rankings-page-shell .rankings-class-filter {
	margin: 0 0 36px;
	padding: 0 4px;
	gap: 10px;
}

.rankings-page-shell .rankings-class-filter-selection {
	color: #fff !important;
	font-size: 10px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.25;
}

.rankings-page-shell .rankings-class-filter-selection.rankings-class-filter-grayscale {
	color: rgba(255, 255, 255, 0.52) !important;
}

.rankings-class-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.rankings-class-filter-selection img {
	border-radius: 50%;
	transition: filter 0.2s ease, transform 0.2s ease;
}

.rankings-class-filter-selection:not(.rankings-class-filter-grayscale) img,
.rankings-class-filter-selection:hover img {
	filter: brightness(120%);
	transform: scale(1.05);
}

.rankings-class-filter-grayscale img {
	filter: grayscale(100%);
	opacity: 0.55;
}

.rankings-results {
	min-height: 100px;
	margin-bottom: 16px;
	padding-top: 8px;
}

/* Podio top 3 */
.rankings-podium {
	max-width: 960px;
	margin: 28px auto 24px;
	padding-top: 12px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 22px;
}

.rankings-podium-card {
	position: relative;
	order: 2;
	flex: 0 1 270px;
	min-height: 306px;
	padding: 31px 24px 0;
	display: flex;
	align-items: center;
	flex-direction: column;
	border: 1px solid #dfe1e3;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 13px 30px rgba(0, 0, 0, 0.35);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	text-align: center;
}

.rankings-podium-card:hover {
	transform: translateY(-4px);
	border-color: #9ec9ea;
	box-shadow: 0 17px 38px rgba(0, 0, 0, 0.45);
}

.rankings-podium-card.rankings-place-1 {
	order: 2;
	min-height: 332px;
	padding-top: 40px;
	border-color: #f0bd64;
	box-shadow: 0 17px 38px rgba(70, 48, 18, 0.25);
}

.rankings-podium-card.rankings-place-2 { order: 1; }
.rankings-podium-card.rankings-place-3 { order: 3; }

.rankings-place-badge {
	position: absolute;
	left: 14px;
	top: 14px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #9ba0a6;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
}

.rankings-place-1 .rankings-place-badge {
	background: linear-gradient(145deg, #f2bc3c, #d99508);
}

.rankings-place-3 .rankings-place-badge {
	background: linear-gradient(145deg, #c77b48, #94502b);
}

.rankings-winner-crown {
	position: absolute;
	left: 50%;
	top: -22px;
	transform: translateX(-50%);
	color: #e6a91f;
	font-size: 31px;
	filter: drop-shadow(0 4px 4px rgba(99, 62, 0, 0.16));
}

.rankings-podium-avatar-wrap {
	position: relative;
	margin-bottom: 16px;
}

.rankings-podium-avatar {
	width: 94px !important;
	height: 94px !important;
	display: block !important;
	object-fit: cover;
	border: 4px solid #fff !important;
	border-radius: 50% !important;
	box-shadow: 0 0 0 2px #35393f, 0 9px 20px rgba(0, 0, 0, 0.2) !important;
}

.rankings-place-1 .rankings-podium-avatar {
	width: 110px !important;
	height: 110px !important;
	box-shadow: 0 0 0 2px #e7aa26, 0 10px 23px rgba(85, 54, 0, 0.21) !important;
}

.rankings-status-dot {
	position: absolute;
	right: 3px;
	bottom: 5px;
	width: 16px;
	height: 16px;
	border: 3px solid #fff;
	border-radius: 50%;
}

.rankings-status-dot.is-online { background: #45c829; }
.rankings-status-dot.is-offline { background: #c9ccd0; }

.rankings-podium-card h2 {
	margin: 0 0 7px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
}

.rankings-podium-card h2 a {
	color: #1c1f24 !important;
	text-decoration: none;
}

.rankings-podium-class,
.rankings-podium-country {
	margin: 0 0 7px;
	color: #6b6f75;
	font-size: 11px;
}

.rankings-podium-class i {
	width: 16px;
	color: #a5a9ae;
	text-align: center;
}

.rankings-podium-country {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.rankings-podium-country img {
	width: 25px;
	height: auto;
}

.rankings-podium-card footer {
	width: calc(100% + 48px);
	min-height: 55px;
	margin-top: auto;
	padding: 8px 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-radius: 0 0 8px 8px;
	background: linear-gradient(120deg, #26292e, #17191d);
	color: #fff;
}

.rankings-podium-card footer span {
	color: #bfc2c6;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
}

.rankings-podium-card footer strong {
	color: #6BB4EA;
	font-size: 23px;
}

.rankings-podium-guild-logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 94px;
	height: 94px;
	margin-bottom: 16px;
	padding: 8px;
	border: 4px solid #fff;
	border-radius: 12px;
	background: #f5f7fa;
	box-shadow: 0 0 0 2px #35393f, 0 9px 20px rgba(0, 0, 0, 0.2);
}

.rankings-podium-guild-logo-wrap img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.rankings-podium-card-guild h2 a {
	color: #181b20 !important;
	font-size: 15px;
	font-weight: 800;
}

.rankings-podium-card-guild footer {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rankings-table-online {
	min-width: 760px;
}

.rankings-table-guilds {
	min-width: 980px;
}

/* Tabla premium original */
.rankings-premium-wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	border: 1px solid rgba(74, 154, 216, 0.2);
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(8, 8, 14, 0.985), rgba(5, 5, 10, 0.995));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 34px rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

.rankings-premium-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, #4A9AD8 0%, #6BB4EA 55%, #2a6a94 100%);
	z-index: 1;
}

.rankings-premium-table-wrap {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.rankings-table-premium {
	width: 100%;
	min-width: 1100px;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.rankings-table-resets {
	min-width: 1160px;
	table-layout: fixed;
}

.rankings-table-premium thead th {
	padding: 12px 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(10, 14, 22, 0.96);
	color: #6BB4EA;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
}

.rankings-table-premium thead th span {
	display: block;
	margin-top: 3px;
	font-size: 9px;
	font-weight: 600;
	text-transform: none;
	color: #8899aa;
}

.rankings-table-premium tbody td {
	padding: 10px 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	background: linear-gradient(180deg, rgba(28, 16, 20, 0.96) 0%, rgba(14, 10, 16, 0.99) 100%);
	color: #e8edf2;
	font-size: 11px;
	vertical-align: middle !important;
	text-align: center;
	transition: background 0.22s ease, box-shadow 0.22s ease;
}

.rankings-table-premium tbody tr:nth-child(even) td {
	background: linear-gradient(180deg, rgba(34, 18, 24, 0.98) 0%, rgba(18, 11, 16, 1) 100%);
}

.rankings-table-premium tbody tr:hover td {
	background: linear-gradient(180deg, rgba(42, 106, 148, 0.35) 0%, rgba(20, 40, 60, 0.95) 100%);
	box-shadow: inset 0 1px 0 rgba(107, 180, 234, 0.25);
	color: #fff;
}

.rankings-premium-rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: linear-gradient(180deg, rgba(40, 38, 48, 0.96), rgba(26, 24, 32, 0.98));
	color: #f0e3d2;
	font-size: 14px;
	font-weight: 800;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.rankings-premium-rank-badge.rank-1 {
	background: linear-gradient(180deg, #ffe27a, #d4a017);
	color: #2d2200;
	box-shadow: 0 0 18px rgba(255, 226, 122, 0.35);
}

.rankings-premium-rank-badge.rank-2 {
	background: linear-gradient(180deg, #eef1f7, #9aa3b5);
	color: #2c2d30;
	box-shadow: 0 0 18px rgba(220, 225, 235, 0.24);
}

.rankings-premium-rank-badge.rank-3 {
	background: linear-gradient(180deg, #f0ad63, #be6d1f);
	color: #2d1700;
	box-shadow: 0 0 18px rgba(240, 173, 99, 0.22);
}

.rankings-premium-country img {
	width: 20px;
	height: 14px;
	border-radius: 3px;
	object-fit: cover;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.rankings-premium-class {
	min-width: 0;
	vertical-align: middle !important;
}

.rankings-premium-class-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	max-width: 88px;
	margin: 0 auto;
}

.rankings-premium-class-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-right: 0;
	border-radius: 50%;
	vertical-align: middle;
	border: 2px solid rgba(210, 76, 76, 0.85);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45), 0 0 12px rgba(210, 76, 76, 0.25);
	transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.rankings-premium-class-avatar.is-online {
	border-color: rgba(67, 214, 118, 0.92);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45), 0 0 14px rgba(67, 214, 118, 0.34);
}

.rankings-premium-class-avatar.is-offline {
	border-color: rgba(210, 76, 76, 0.92);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45), 0 0 14px rgba(210, 76, 76, 0.28);
}

.rankings-premium-class-image {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50%;
	object-fit: cover;
}

.rankings-premium-class-name {
	display: block;
	width: 100%;
	max-width: 84px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #c8b89a;
	font-weight: 700;
	font-size: 9px;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.rankings-premium-player a,
.rankings-premium-guild a {
	color: #f3eadc !important;
	font-weight: 700;
	font-size: 11px;
	text-decoration: none;
}

.rankings-premium-player a:hover,
.rankings-premium-guild a:hover {
	color: #6BB4EA !important;
}

.rankings-premium-pill,
.rankings-premium-stat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	padding: 5px 8px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: linear-gradient(180deg, rgba(36, 40, 52, 0.92), rgba(22, 24, 32, 0.95));
	color: #f0e6d9;
	font-size: 10px;
	font-weight: 800;
	white-space: nowrap;
}

.rankings-premium-pill.is-gold {
	color: #422700;
	border-color: rgba(255, 211, 104, 0.42);
	background: linear-gradient(180deg, rgba(255, 216, 73, 0.98), rgba(226, 169, 16, 0.98));
}

.rankings-premium-pill.is-silver {
	color: #ececec;
	background: linear-gradient(180deg, rgba(106, 109, 119, 0.95), rgba(64, 67, 75, 0.98));
}

.rankings-premium-pill.is-bronze {
	color: #ffd9b4;
	background: linear-gradient(180deg, rgba(125, 77, 45, 0.96), rgba(79, 49, 26, 0.98));
}

.rankings-premium-pill.is-none {
	color: #bbb1a1;
}

.rankings-premium-pk-kills {
	color: #43d676;
	font-weight: 800;
	text-shadow: 0 0 8px rgba(67, 214, 118, 0.35);
}

.rankings-premium-pk-deaths {
	color: #e74c3c;
	font-weight: 800;
	text-shadow: 0 0 8px rgba(231, 76, 60, 0.3);
}

.rankings-premium-pk-deaths.is-unknown {
	color: #8899aa;
	text-shadow: none;
}

.rankings-premium-pk-sep {
	color: #6b7280;
	font-weight: 600;
}

.rankings-premium-stat.rankings-premium-pk {
	min-width: 56px;
}

.rankings-premium-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	padding: 5px 8px;
	border-radius: 999px;
	border: 1px solid rgba(107, 180, 234, 0.22);
	background: linear-gradient(180deg, rgba(30, 40, 55, 0.96), rgba(18, 24, 36, 0.98));
	color: #d4e8ff;
	font-weight: 800;
	font-size: 10px;
}

.rankings-premium-power {
	min-width: 88px;
}

.rankings-premium-power-value {
	display: block;
	margin-bottom: 4px;
	font-size: 10px;
	font-weight: 800;
	color: #8cff8d;
}

.rankings-premium-power-bar {
	display: block;
	width: 56px;
	height: 6px;
	margin: 0 auto;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.rankings-premium-power-bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #4A9AD8 0%, #6BB4EA 100%);
}

.rankings-premium-power-bar.is-low i {
	background: linear-gradient(90deg, #e74c3c 0%, #f25c44 100%);
}

.rankings-premium-power-bar.is-medium i {
	background: linear-gradient(90deg, #ffb321 0%, #f18f37 100%);
}

.rankings-premium-power-bar.is-high i,
.rankings-premium-power-bar.is-full i {
	background: linear-gradient(90deg, #2fd48d 0%, #4fd568 100%);
}

.rankings-premium-bar-label {
	display: block;
	margin-top: 4px;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: 0.03em;
	color: #8899aa;
	text-transform: uppercase;
}

.rankings-premium-guild-wrap {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
}

.rankings-premium-guild-logo img {
	width: 18px;
	height: 18px;
	border-radius: 3px;
}

.rankings-premium-guild-name {
	max-width: 64px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rankings-update-time {
	margin-top: 12px;
	padding: 8px 12px;
	text-align: center;
	color: #8899aa;
	font-size: 11px;
}

.rankings-table-guilds {
	min-width: 900px;
	table-layout: fixed;
}

.rankings-table-guilds .rankings-premium-power-bar {
	width: 80%;
	max-width: 160px;
	height: 7px;
}

@media (max-width: 991px) {
	.rankings-page-shell {
		padding: 12px 10px 18px;
	}

	.rankings_menu.rankings-premium-menu {
		padding: 6px !important;
	}

	.rankings_menu.rankings-premium-menu a {
		flex: 1 1 calc(50% - 6px);
		font-size: 10px;
		padding: 8px 10px;
		min-height: 42px;
	}

	.rankings-section-title h2 {
		font-size: 1rem;
		padding: 8px 14px;
	}

	.rankings-page-shell .rankings-class-filter {
		margin-bottom: 28px;
		gap: 8px;
	}

	.rankings-podium {
		margin-top: 20px;
		padding-top: 16px;
		gap: 12px;
	}

	.rankings-podium-card {
		flex-basis: 230px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.rankings-podium-card footer {
		width: calc(100% + 32px);
	}
}

@media (max-width: 767px) {
	.rankings_menu.rankings-premium-menu {
		flex-direction: row;
	}

	.rankings_menu.rankings-premium-menu a {
		flex: 1 1 calc(50% - 6px);
		width: auto;
	}

	.rankings-page-heading {
		align-items: flex-start;
		padding: 20px;
	}

	.rankings-heading-icon {
		flex-basis: 46px;
		width: 46px;
		height: 46px;
		font-size: 18px;
	}

	.rankings-page-heading h1 {
		font-size: 23px;
	}

	.rankings-page-shell .rankings-class-filter {
		margin-bottom: 24px;
		gap: 6px;
	}

	.rankings-page-shell .rankings-class-filter-selection {
		width: 64px !important;
		font-size: 9px;
	}

	.rankings-page-shell .rankings-class-filter-selection img {
		width: 36px !important;
		height: 36px !important;
	}

	.rankings-podium {
		margin-top: 16px;
		padding-top: 24px;
		align-items: stretch;
		flex-direction: column;
		gap: 18px;
	}

	.rankings-podium-card,
	.rankings-podium-card.rankings-place-1 {
		width: 100%;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
		min-height: 250px;
		order: initial;
		padding-top: 30px;
	}

	.rankings-podium-card.rankings-place-1 {
		order: -1;
		margin-top: 28px;
	}

	.rankings-winner-crown {
		top: -18px;
		font-size: 26px;
	}

	.rankings-table-premium {
		min-width: 980px;
	}

	.rankings-table-resets {
		min-width: 1040px;
	}

	.rankings-premium-class-stack {
		max-width: 72px;
	}

	.rankings-premium-class-name {
		max-width: 68px;
		font-size: 8px;
	}

	.rankings-premium-guild-name {
		max-width: 48px;
	}
}

@media (max-width: 575px) {
	.page-rankings .rankings-page-container {
		padding-left: 8px;
		padding-right: 8px;
	}

	.rankings-page-heading {
		padding: 18px 16px;
	}

	.rankings-page-heading h1 {
		font-size: 21px;
	}

	.rankings_menu.rankings-premium-menu a {
		flex: 1 1 100%;
		font-size: 9px;
	}

	.rankings-page-shell .rankings-class-filter-selection {
		width: 56px !important;
		font-size: 8px;
	}

	.rankings-page-shell .rankings-class-filter-selection img {
		width: 32px !important;
		height: 32px !important;
	}

	.rankings-podium-card.rankings-place-1 {
		margin-top: 32px;
	}
}
