@charset "UTF-8";
/*
 * JJKR888 HK colour theme: light page, white panels, red / dark-red bars, gold highlights.
 * Loaded after custom.css, master.css and responsive.css, and overrides their dark navy / mint colours.
 * To change the palette, edit the variables below.
 */

:root {
	--jk-red: #c8102e;
	--jk-red-hover: #a50d25;
	--jk-red-dark: #8a0c12;
	--jk-red-deep: #5e0609;
	--jk-red-tint: #fdecee;
	--jk-gold: #f6c453;
	--jk-gold-dark: #d4a017;
	--jk-bg: #000000;
	--jk-surface: #000000;
	--jk-ink: #f2f2f2;
	--jk-muted: #a8a8a8;
	--jk-line: #333333;
	--jk-grad-red: linear-gradient(
		to bottom,
		#d7182f 0%,
		var(--jk-red-dark) 100%
	);
	--jk-grad-dark: linear-gradient(
		to bottom,
		var(--jk-red-dark) 0%,
		var(--jk-red-deep) 100%
	);
	/* Recolours a single-colour icon image to --jk-red */
	--jk-filter-red: brightness(0) saturate(100%) invert(12%) sepia(93%)
		saturate(5617%) hue-rotate(343deg) brightness(86%) contrast(98%);

	/* Bootstrap */
	--bs-body-bg: var(--jk-bg);
	--bs-body-color: var(--jk-ink);
	--bs-primary: var(--jk-red);
	--bs-primary-rgb: 200, 16, 46;
	--bs-link-color: var(--jk-red);
	--bs-link-hover-color: var(--jk-red-hover);
	--bs-border-color: var(--jk-line);
}

/* ---------- Base ---------- */

/* Text and rem-based boxes (buttons, inputs, spacing) are 20% larger than the original 16px base */
html {
	font-size: 120%;
}

body {
	color: var(--jk-ink);
	background-color: var(--jk-bg);
}

a:hover,
a:focus,
a:active,
.topNav a:focus {
	color: var(--jk-red) !important;
}

::selection,
::-moz-selection {
	color: #fff;
	background-color: var(--jk-red);
}

::-webkit-scrollbar-thumb {
	box-shadow: inset 0 0 6px var(--jk-red);
	background: var(--jk-red);
}

.bg-second,
.chatscreen,
.deposit-channel,
.card {
	color: var(--jk-ink);
	background-color: var(--jk-surface) !important;
}

.card {
	border-color: var(--jk-line);
}

.list-group-item {
	border-color: var(--jk-line);
}

/* ---------- Utility colours used across the views ---------- */

.color-spb,
.text-primary,
.btn-close-menu,
.btn-showpass,
.btn-showpass:hover,
.btn-hamburger,
.btn-hamburger:hover,
.btn-hamburger:focus {
	color: var(--jk-red) !important;
}

.color-spb2,
.color-spb3 {
	color: var(--jk-gold-dark) !important;
}

.bg-spb,
.bg-primary {
	color: #fff;
	background: var(--jk-grad-red) !important;
}

.bg-spb2 {
	background-color: var(--jk-red);
}

.border-primary {
	border-color: var(--jk-red) !important;
}

.bg-secondary {
	color: #fff;
	background: var(--jk-grad-dark) !important;
	border-color: var(--jk-red-dark) !important;
}

.text-secondary {
	color: var(--jk-muted) !important;
}

.border-secondary {
	border-color: var(--jk-line) !important;
}

/*
 * Text on red panels. The views pair bg-spb / bg-spb2 (mint in the old theme, red now) with
 * text-dark and text-danger, which become dark-on-red and red-on-red. Covers the wallet panel
 * on deposit / withdrawal / logs, table headers, type badges and the affiliate rebate box.
 * The white "latest deposit / withdrawal" boxes inside the wallet panel keep their own colours.
 */
.bg-spb.text-dark,
.bg-spb2.text-dark,
.bg-spb .text-dark:not(.nav-record *),
.bg-spb2 .text-dark:not(.nav-record *) {
	color: #fff !important;
}

.bg-spb .text-danger:not(.nav-record *),
.bg-spb2 .text-danger:not(.nav-record *) {
	color: var(--jk-gold) !important;
}

/* Table header cells set their own colour and background, so target them directly */
thead.bg-spb > tr > *,
thead.bg-spb2 > tr > * {
	color: #fff !important;
	background-color: transparent !important;
}

thead.bg-spb2 {
	background: var(--jk-grad-red) !important;
}

/* Wallet panel: gold labels, white values; progress text stays legible */
.profileWallet.bg-spb .progress {
	background-color: rgba(255, 255, 255, 0.25);
}

/* Deposit channel / bank pickers: light boxes like the rest of the form, not a dark red bar */
.deposit-channel,
.deposit-bank.bg-secondary {
	color: var(--jk-ink);
	background: var(--jk-bg) !important;
	border: 1px solid var(--jk-line) !important;
}

/* Dark panels (game transfer modals, wallet headers, toasts) become dark red */
.bg-dark,
.text-bg-dark {
	color: #fff !important;
	background: var(--jk-grad-dark) !important;
}

.border-dark {
	border-color: var(--jk-red-deep) !important;
}

/* Light text that now sits on a white panel */
.bg-second .text-light,
.profileLeft .text-light {
	color: var(--jk-ink) !important;
}

.bg-dark .text-light,
.text-bg-dark .text-light {
	color: #fff !important;
}

/* Tables that used Bootstrap's dark style */
.table-dark {
	--bs-table-color: var(--jk-ink);
	--bs-table-bg: var(--jk-surface);
	--bs-table-border-color: var(--jk-line);
	--bs-table-striped-bg: #f7f7f7;
	--bs-table-striped-color: var(--jk-ink);
	--bs-table-hover-bg: var(--jk-red-tint);
	--bs-table-hover-color: var(--jk-ink);
	--bs-table-active-bg: var(--jk-red-tint);
	--bs-table-active-color: var(--jk-ink);
	color: var(--jk-ink);
}

.dataTables_info {
	color: var(--jk-muted) !important;
}

.page-item {
	color: var(--jk-ink);
	background-color: var(--jk-surface);
}

.page-item .page-link {
	color: var(--jk-red);
}

.page-item.active .page-link {
	color: #fff;
	background-color: var(--jk-red);
	border-color: var(--jk-red);
}

/* ---------- Buttons ---------- */

.btn-primary,
.btn-primary:hover,
.btn-check:checked + .btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check) + .btn:active {
	color: #fff !important;
	border: 1px solid var(--jk-red) !important;
	background: var(--jk-grad-red) !important;
}

.btn-primary:hover {
	background: var(--jk-red-hover) !important;
}

.btn-check:focus + .btn-primary,
.btn-primary:focus {
	background-color: var(--jk-red) !important;
	box-shadow: 0 0 0 0.25rem rgba(200, 16, 46, 0.25);
}

.btn-secondary,
.btn-regis + .btn-primary,
.btn-login {
	color: var(--jk-red) !important;
	border: 1px solid var(--jk-red) !important;
	background: var(--jk-surface) !important;
}

.btn-secondary:hover,
.btn-regis + .btn-primary:hover,
.btn-login:hover {
	color: #fff !important;
	background: var(--jk-red) !important;
}

.btn-check:focus + .btn-secondary,
.btn-secondary:focus {
	color: #fff !important;
	background-color: var(--jk-red) !important;
}

.btn-regis,
.btn-deposit {
	color: #fff !important;
	border: 1px solid var(--jk-gold-dark) !important;
	background: var(--jk-grad-red) !important;
}

.btn-regis:hover,
.btn-deposit:hover {
	color: #fff !important;
	background: var(--jk-red-hover) !important;
}

.form-check-input:checked,
.btn-profileWallet .btn-sm.active {
	background-color: var(--jk-red) !important;
	border-color: var(--jk-red) !important;
}

/* ---------- Header & desktop side navigation ---------- */

header.bg-second {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.topNav .nav-link,
#clock {
	color: var(--jk-ink);
}

.desktopSideNav {
	border-right: 1px solid var(--jk-line);
}

.desktopSideNav .clientZone {
	border-bottom: 2px solid var(--jk-red);
}

.sideMainNav > a {
	color: var(--jk-red);
	border-bottom: 1px solid var(--jk-red);
}

.sideMainNav > a:hover {
	color: var(--jk-red) !important;
	background: var(--jk-red-tint);
}

.sideMainNav > a.active {
	color: #fff !important;
	border: 0;
	border-radius: 0.375rem;
	background: var(--jk-grad-red);
}

.sideMainNav .border-box {
	border: 2px solid var(--jk-red);
}

/*
 * Sizing to match the reference brand layout (desktop): body 16px, top bar 17px,
 * side menu as separate ~52px rounded cards with bold 17px labels, pill-shaped side buttons.
 */
body {
	font-size: 16px;
}

.topNav .nav-link {
	font-size: 17px;
}

.desktopSideNav .sideMainNav {
	padding: 0.25rem 0.5rem 0 !important;
}

.sideMainNav > a {
	display: flex !important;
	align-items: center;
	min-height: 52px;
	margin-bottom: 0.5rem;
	padding: 0.4rem 0.7rem;
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
	border: 1px solid var(--jk-line);
	border-radius: 0.6rem;
	background: var(--jk-surface);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.sideMainNav > a > img {
	width: 32px;
	margin-right: 0.65rem !important;
	flex-shrink: 0;
}

/* Logged-in username and balance: larger and more prominent */
.desktopSideNav .clientZone label {
	font-size: 20px;
	font-weight: 600;
}

.desktopSideNav .clientZone b {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
}

.desktopSideNav .clientZone .btn-login,
.desktopSideNav .clientZone .btn-deposit {
	min-height: 40px;
	font-size: 16px;
	border-radius: 50rem !important;
}

#mainNav ul > li > a {
	color: var(--jk-ink);
}

#mainNav ul > li > a:hover {
	color: var(--jk-red);
	background-color: var(--jk-red-tint);
}

/* ---------- Home: announcement bar & game categories ---------- */

.announcementBar {
	color: #fff;
	border: 0;
	background: var(--jk-grad-dark);
}

.announcementBar i,
.announcementBar .bx {
	color: #fff !important;
}

.clientZone {
	border-bottom-color: var(--jk-red);
}

.game-menu a {
	color: var(--jk-red);
	border: 1px solid var(--jk-red);
	background-color: var(--jk-surface);
}

.game-menu a span {
	color: var(--jk-red);
}

.game-menu a.active {
	border-color: var(--jk-gold-dark);
	background: var(--jk-grad-dark);
}

.game-menu a.active span {
	color: #fff;
	filter: none;
}

.game-menu a.active > i {
	filter: drop-shadow(0px 0px 6px var(--jk-gold));
}

/* Game category tabs 10% larger: height 50px -> 55px (mobile 3rem -> 3.3rem), icon 30 -> 33px,
   label .6rem -> .66rem; on mobile each tab is also 10% wider (the row scrolls sideways) */
.game-menu {
	height: 55px;
}

.game-menu a {
	font-size: 0.66rem;
}

.game-menu a > i {
	max-width: 33px;
	height: 33px;
}

@media (max-width: 767.98px) {
	.game-menu {
		height: 3.3rem;
		width: calc(22% * 7);
	}
}

/* The icon images are gold; tint inactive ones red so they read on white */
.game-menu a:not(.active) > i,
.sideMainNav > a:not(.active) > img {
	filter: var(--jk-filter-red);
}

.sideMainNav > a.active > img {
	filter: brightness(0) invert(1);
}

/* ---------- Mobile bottom navigation ---------- */

.mobile-footer {
	border-top: 2.5px solid var(--jk-gold-dark);
	border-radius: 1.5rem 1.5rem 0 0;
	background: var(--jk-grad-red);
}

.mobile-footer ul > li[data-page="fortune"] > a > i {
	filter: drop-shadow(0px 0px 5px var(--jk-gold)) !important;
	/* Fit the square SPIN wheel inside its 100px-tall box; "100%" scaled it to the
	   column width, so on wider screens it overflowed and was cut top and bottom */
	background-size: contain !important;
	background-position: center center !important;
}

.mobile-footer ul > li .dropup a {
	color: var(--jk-gold);
}

/* ---------- Forms ---------- */

.form-control,
.form-select,
.input-group-text {
	border-color: #e2a3ab;
}

.form-floating > label {
	color: var(--jk-red);
}

.customForm input:focus,
.modal-resetpass input:focus,
.customForm select:focus,
.form-control:focus,
.form-select:focus {
	border-color: var(--jk-red);
	box-shadow: 0 0 0 0.2rem rgba(200, 16, 46, 0.15);
}

/* ---------- Tabs, cards, lists ---------- */

.nav-link {
	color: var(--jk-ink);
	border-color: var(--jk-red);
}

.nav-link:focus,
.nav-link:hover {
	color: var(--jk-red);
	border-color: var(--jk-red);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
	color: #fff !important;
	background-color: var(--jk-red);
}

.report .nav-record {
	color: var(--jk-red);
	border: 2px solid var(--jk-red);
	background: var(--jk-ink);
}

.turnover-progress {
	border-color: var(--jk-red);
	background-color: var(--jk-surface);
}

.progress-bar {
	color: #fff;
	background-color: var(--jk-red);
}

.promotion-list > li > a,
.instruction-list > li > a {
	color: var(--jk-ink) !important;
	border: 2px solid var(--jk-red);
	background: var(--jk-surface);
}

.promotion-list > li > a article {
	color: var(--jk-ink);
}

.promotion-list > li > a article h5 {
	color: var(--jk-muted);
}

.promotion-list > li > a article button {
	color: var(--jk-red);
}

.promo-list .btn-check:active + .btn-promo,
.promo-list .btn-check:checked + .btn-promo {
	border-color: var(--jk-red);
}

/* ---------- Profile (logged-in) ---------- */

.profileLeft {
	background-color: var(--jk-surface);
	border-right: 1px solid var(--jk-line);
}

.profileLeft a {
	color: var(--jk-ink);
}

.profileLeft h3 {
	color: var(--jk-red);
}

.profileLeft > li > nav > a.active {
	color: var(--jk-red);
	font-weight: 600;
}

/* ---------- Registration / forgot-password backdrop & fortune wheel pages ---------- */
/* Replaces the blue bg_regis.png photo */

.wrap-registration::before,
.wrap-fortuneWheel,
.wrap-fortuneWheel-lv2,
.wrap-fortuneWheel-lv3,
.wrap-fortuneWheel-lv4,
.wrap-fortuneWheel-lv5 {
	background: radial-gradient(
		ellipse at top,
		#b3121f 0%,
		var(--jk-red-dark) 45%,
		var(--jk-red-deep) 100%
	);
}

/* Fortune wheel page: no white card behind the wheel, centred gold title, readable winners table */
.wrap-fortuneWheel .card {
	background: transparent !important;
}

.wrap-fortuneWheel > h4 {
	color: var(--jk-gold);
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.45);
	padding-top: 1rem !important;
}

.wrap-fortuneWheel .topList {
	margin: 1.25rem auto 0;
	max-width: 460px;
	border: 1px solid var(--jk-gold-dark);
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.wrap-fortuneWheel .topList .table {
	margin: 0;
}

.wrap-fortuneWheel .topList thead,
.wrap-fortuneWheel .topList thead th {
	color: var(--jk-red-deep) !important;
	background: linear-gradient(
		to bottom,
		#ffe27a 0%,
		var(--jk-gold-dark) 100%
	) !important;
	border-color: transparent;
}

.wrap-fortuneWheel .topList tbody tr td {
	color: #fff;
	background: transparent;
	border-color: rgba(246, 196, 83, 0.25);
}

.wrap-fortuneWheel .topList tbody tr td:last-child {
	color: var(--jk-gold);
	font-weight: 600;
}

/* Keep the end of the list clear of the fixed mobile bottom bar */
@media (max-width: 767.98px) {
	.wrap-fortuneWheel {
		padding-bottom: 7rem;
	}
}

/* ---------- Modals, widgets, misc ---------- */

.loading-gif .swal2-title {
	color: var(--jk-red);
}

/* Pop-ups that are not dark red (Support, login, instruction list, tutorial, app launch...):
   red header with white title and white close (X) button */
.modal-content:not(.bg-dark) > .modal-header {
	color: #fff;
	background: var(--jk-grad-red);
	border-bottom: 2px solid var(--jk-gold-dark);
}

.modal-content:not(.bg-dark) > .modal-header .modal-title {
	color: #fff;
}

.modal-content:not(.bg-dark) > .modal-header .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.9;
}

.modal-content:not(.bg-dark) > .modal-header .btn-close:hover {
	opacity: 1;
}

/* Login pop-up close (X) sits in the body, not a header: white so it shows on the dark background */
.modal-login .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.9;
}

.modal-login .btn-close:hover {
	opacity: 1;
}

/* Login pop-up: keep "Remember me" and "Free Registration" apart now that text is larger */
.modal-login .d-flex.justify-content-between {
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
}

.modal-login .d-flex.justify-content-between > a {
	color: var(--jk-red);
	font-weight: 600;
}

.modal-announcement .modal-header {
	color: #fff;
	background: var(--jk-grad-red);
}

.wrap-float-widget {
	background: var(--jk-grad-red);
}

.footer-link a:hover {
	color: var(--jk-red);
}

@keyframes glowing {
	0% {
		filter: drop-shadow(0px 0px 8px var(--jk-gold));
	}
	50% {
		filter: drop-shadow(0px 0px 2px var(--jk-gold));
	}
	100% {
		filter: drop-shadow(0px 0px 0px var(--jk-gold));
	}
}
