:root {
	--primary-red: #aa2c2c;
	--dark-brown: #5a1e1e;
	--gold: #f3b85f;
	--navy-blue: #282c4d;
}

body {
	font-family: Arial, sans-serif;
	background: var(--navy-blue) url("../images/bg-main.jpg") no-repeat
		center/cover;
	overflow-x: hidden;
	min-height: 100vh;
	/* Ensure body takes full viewport height */
}

/* Base styles for larger screens (desktop/tablet) */
@media (min-width: 768px) {
	body {
		background-size: cover;
		background-position: center center;
		background-attachment: fixed;
	}
}

/* Mobile-specific styles */
@media (max-width: 767px) {
	body {
		background-size: cover;
		background-position: center top;
		background-attachment: scroll;
		/* Fixed attachment can cause issues on mobile */
	}
}

/* For very small screens or portrait orientation */
@media (max-width: 480px) {
	body {
		background-size: cover;
		background-position: center center;
	}
}

/* Better approaches for mobile portrait to avoid cropping */
@media (max-width: 767px) and (orientation: portrait) {
	body {
		/* Option 1: Force full width, let height adjust */
		background-position: center top;
		background-repeat: no-repeat;
	}
}

/* For landscape mobile devices */
@media (max-width: 767px) and (orientation: landscape) {
	body {
		background-size: cover;
		background-position: center center;
	}
}

.navbar {
	background: var(--primary-red) url("../images/bg-topbar.png") no-repeat left
		bottom/cover;
	padding: 10px 0;
	position: relative;
}

.logo {
	max-height: 60px;
}

.nav-item {
	margin: 0 15px;
	position: relative;
}

.nav-link {
	color: var(--gold) !important;
	font: bold 18px/1 Arial, sans-serif;
	text-transform: uppercase;
	padding: 8px 15px !important;
	transition: 0.3s;
}

.nav-link:hover {
	transform: translateY(-3px);
}

.nav-decoration {
	display: inline-block;
	width: 18px;
	height: 32px;
	background: url("../images/bg-separator-vertical.png") no-repeat
		center/contain;
	vertical-align: middle;
	margin: 0 -5px;
}

.login-btn {
	background: url("../images/btn-login.png") no-repeat center/contain;
	transition: 0.3s;
	width: 120px;
	height: 60px;
}

#dropdown-account {
	margin-top: -25px;
	z-index: 1;
	padding-top: 40px;
	width: 200px;
	background: radial-gradient(ellipse at center, #7a2323 70%, #5a1e1e 100%);
	border-bottom-left-radius: 18px;
	border-bottom-right-radius: 18px;
}

.dropdown-item {
	color: white;
}

#accountDropdown {
	z-index: 5;
	position: inherit;
}

.side-menu {
	background: var(--dark-brown);
	border-radius: 10px;
	padding: 15px;
	height: fit-content;
}

.side-menu-item {
	color: white;
	text-align: center;
	margin: 15px 0;
	font-weight: bold;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding-bottom: 10px;
}

.side-menu-item:last-child {
	border-bottom: none;
}

.side-menu-icon {
	display: block;
	margin: 0 auto 5px;
	font-size: 24px;
}

.main-content {
	position: relative;
	min-height: 600px;
}

.character-left,
.character-right {
	position: absolute;
	bottom: 0;
	max-height: 500px;
	z-index: -1;
}

.text-banner {
	position: absolute;
	bottom: 0;
	max-height: 500px;
	z-index: -1;
}

.character-left {
	left: 20%;
	top: 0;
}

.character-right {
	right: 20%;
	top: 0;
}

.text-banner {
	left: 20%;
}

.cta-container {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
	width: 100%;
	text-align: center;
}

.download-btn {
	background: url("../images/btn-download.png") no-repeat center/contain;
	font: bold 24px/80px Arial, sans-serif;
	padding: 15px 40px;
	width: 345px;
	height: 100px;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 20px;
	display: inline-block;
	transition: 0.3s;
	z-index: 1;
}

.download-btn:hover {
	transform: scale(1.05);
	color: var(--gold);
	filter: brightness(1.1);
}

.register-btn {
	background: #fff;
	color: var(--dark-brown);
	border: 2px solid var(--gold);
	border-radius: 30px;
	font-weight: bold;
	padding: 10px 30px;
	display: inline-block;
	transition: 0.3s;
	z-index: 1;
}

.register-btn:hover {
	background: var(--gold);
	color: var(--dark-brown);
}

.btn-decoration {
	color: var(--gold);
	font-size: 18px;
	margin: 0 5px;
}

/*MILESTONES*/

.milestone-container {
	position: absolute;
	bottom: 0;
	left: auto;
	right: auto;
	width: 100%;
}

.gauge-container {
	position: relative;
	width: 90%;
	max-width: 800px;
	height: 200px;
	background-position: top;
	background-size: cover;
	margin: 0 auto;
}

.gauge {
	position: relative;
	width: 100%;
	height: 15px;
	background: #f1f5f9;
	border-radius: 1rem;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}

.gauge__progress {
	position: absolute;
	top: 2px;
	left: 2px;
	height: calc(100% - 4px);
	background: linear-gradient(90deg, #ffd700, #ffa500, #ff8c00);
	border-radius: 1rem;
	transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 8px rgba(0, 120, 190, 0.3);
	min-width: 0;
}

.gauge__tick {
	position: absolute;
	top: 100%;
	height: 0.75rem;
	width: 2px;
	background: #cbd5e1;
	border-radius: 1px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.gauge__node {
	position: absolute;
	top: 50%;
	width: 12px;
	height: 12px;
	background: white;
	border: 3px solid #0078be;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.3s ease;
	z-index: 10;
	cursor: pointer;
}

.gauge__node.active {
	background: #0078be;
	border-color: #00a8ff;
	box-shadow: 0 0 15px rgba(0, 120, 190, 0.6);
	transform: translate(-50%, -50%) scale(1.2);
}

.gauge__node.completed {
	background: #10b981;
	border-color: #059669;
	box-shadow: 0 0 15px rgba(16, 185, 129, 0.6);
}

/* Label Base Styles */
.gauge__label {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 1rem);
	width: 170px;
	height: 170px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	opacity: 1;
	filter: grayscale(100%);
	cursor: pointer;
	top: -945%;
}

.gauge__label.milestone-reached {
	opacity: 1;
	filter: grayscale(0%);
	transform: translate(-50%, 1rem) scale(1.1);
	animation: milestoneReached 0.8s ease-out;
}

.gauge__progress::after {
	content: attr(data-realvalue) " Pre Registered";
	position: absolute;
	top: -62px;
	right: -10px;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: bold;
	white-space: nowrap;
	opacity: 1;
	visibility: visible;
	z-index: 999;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.gauge__progress::before {
	content: "";
	position: absolute;
	top: -32px;
	right: 5px;
	border: 6px solid transparent;
	border-top-color: rgba(0, 0, 0, 0.8);
	opacity: 1;
	visibility: visible;
	z-index: 1000;
}

.login-btn-mini {
	display: none;
}

.social-bar {
	position: fixed;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background-color: #5c2424;
	border-radius: 30px;
	padding: 15px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	z-index: 10;
}

.social-icon {
	width: 40px;
	height: 40px;
	background-color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #5c2424;
	font-size: 20px;
	transition: transform 0.3s;
	text-decoration: none;
}

.social-icon:hover {
	transform: scale(1.2);
}

/* MEDIA QUERIES */
@media (min-width: 1400px) {
	.login-btn {
		width: 200px;
		height: 100px;
	}

	.character-left,
	.character-right {
		max-height: 500px;
	}

	.text-banner {
		position: absolute;
		bottom: 235px;
		z-index: -1;
		top: 26%;
		left: 50%;
		transform: translate(-50%, -50%);
		max-height: 300px;
	}

	.server-status {
		position: absolute;
		right: 6%;
		top: 30%;
		width: 275px;
		height: 260px;
		background: url("../images/bg-server-status.png") no-repeat center/contain;
	}

	.status-title {
		font-size: 14px;
		text-align: center;
		color: #333;
		margin-bottom: 5px;
	}

	.status-online {
		font-size: 24px;
		font-weight: bold;
		text-align: center;
		color: #8b0000;
	}

	.status-indicator {
		color: green;
		font-size: 24px;
		vertical-align: middle;
		margin-right: 5px;
	}

	.player-online-container {
		margin: 10px 0;
		font-size: 1.5rem;
		position: absolute;
		top: 76px;
		left: 90px;
		width: 100px;
		text-align: center;
	}

	.total-cegel-container {
		margin: 10px 0;
		font-size: 15px;
		position: absolute;
		top: 154px;
		left: 90px;
		width: 100px;
		text-align: center;
	}

	.status-count {
		color: white;
		border-radius: 5px;
		padding: 5px;
		margin-top: 5px;
	}

	.close-btn {
		position: absolute;
		top: -10px;
		right: -10px;
		width: 40px;
		height: 40px;
		background: url("../images/btn-close.png") no-repeat center/contain;
		cursor: pointer;
		border: none;
		font-size: 0;
	}

	.main-content {
		min-height: 800px;
	}

	.gauge__label_1 {
		position: relative;
	}

	.gauge__label_1::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/2000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 300px;
		height: 270px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_1::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_1:hover::after,
	.gauge__label_1:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_2::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/3000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_2::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_2:hover::after,
	.gauge__label_2:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_3::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/4000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_3::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_3:hover::after,
	.gauge__label_3:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_4::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/5000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_4::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_4:hover::after,
	.gauge__label_4:hover::before {
		opacity: 1;
		visibility: visible;
	}
}

@media (max-width: 1399px) and (min-width: 993px) {
	.text-banner {
    position: absolute;
    bottom: 235px;
    z-index: -1;
    top: 23%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 284px;
  }

	#dropdown-account {
		width: 160px;
	}

	.login-btn {
		width: 160px;
		height: 80px;
	}

	.download-btn {
		width: 345px;
		height: 100px;
		font-size: 20px;
		line-height: 60px;
		padding: 10px 20px;
	}
	.server-status {
		display: none;
	}

	.milestone-container {
		position: absolute !important;
		top: 100%;
	}
	.gauge-container {
		max-width: 98vw;
		width: 60vw;
		height: 90px;
		padding: 0 2vw;
	}

	.gauge__node {
		top: 0.5rem !important;
		width: 5px !important;
		height: 5px !important;
		border-width: 2px;
	}
	.gauge__label {
		width: 120px !important;
		height: 120px !important;
		top: -675% !important;
	}
	.milestone-text {
		font-size: 10px;
		bottom: -18px;
	}
	.reward-card {
		width: 50px;
		height: 22px;
		top: 1.2rem;
	}
	.milestone-reached {
		margin-top: -8px !important;
	}
}

@media (max-width: 1300px), (max-width: 576px) {
	.text-banner {
		position: absolute;
		bottom: 190px;
		z-index: -1;
		top: 20%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 350px;
	}

	#dropdown-account {
		width: 160px;
	}

	.milestone-container {
		position: absolute !important;
		top: 100%;
	}
	.gauge-container {
		max-width: 98vw;
		width: 60vw;
		height: 90px;
		padding: 0 2vw;
	}

	.gauge__node {
		top: 0.5rem !important;
		width: 5px !important;
		height: 5px !important;
		border-width: 2px;
	}
	.gauge__label {
		width: 120px !important;
		height: 120px !important;
		top: -675% !important;
	}
	.milestone-text {
		font-size: 10px;
		bottom: -18px;
	}
	.reward-card {
		width: 50px;
		height: 22px;
		top: 1.2rem;
	}
	.milestone-reached {
		margin-top: -8px !important;
	}
}

@media (max-width: 992px) {
	.navbar-nav {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		gap: 0.5rem; /* Space between items */
	}

	.nav-item {
		flex: 0 0 calc(50% - 0.25rem); /* 2 items per row with gap consideration */
		text-align: center;
		margin: 0 !important;
	}

	.nav-item .nav-link {
		padding: 0.75rem 0.5rem;
		font-size: 0.9rem; /* Slightly smaller text for mobile */
	}

	/* Hide decorative spans on mobile */
	.nav-decoration {
		display: none !important;
	}

	.character-left {
		max-height: 400px;
		left: 5%;
	}

	.character-right {
		max-height: 400px;
		right: 5%;
	}

	.main-content {
		min-height: 400px;
		margin-top: 80px;
	}

	.download-btn {
		height: 90px;
		font-size: 18px;
		line-height: 48px;
		padding: 8px 10px;
	}

	.download-btn {
		font-size: 20px;
		padding: 12px 30px;
	}
	.server-status {
		display: none;
	}

	.milestone-container {
		position: absolute !important;
		top: 125%;
		right: 5%;
	}

	.gauge-container {
		max-width: 65vw;
		width: 65vw;
		height: 90px;
		padding: 0px 2vw;
	}

	.gauge__node {
		top: 0.5rem !important;
		width: 5px !important;
		height: 5px !important;
		border-width: 2px;
	}
	.gauge__label {
		width: 120px !important;
		height: 120px !important;
		top: -645% !important;
	}
	.milestone-text {
		font-size: 10px;
		bottom: -18px;
	}
	.reward-card {
		width: 50px;
		height: 22px;
		top: 1.2rem;
	}
	.milestone-reached {
		margin-top: -15px !important;
	}

	.gauge__label_1::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/2000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 300px;
		height: 270px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_1::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_1:hover::after,
	.gauge__label_1:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_2::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/3000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_2::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_2:hover::after,
	.gauge__label_2:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_3::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/4000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_3::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_3:hover::after,
	.gauge__label_3:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_4::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/5000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_4::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_4:hover::after,
	.gauge__label_4:hover::before {
		opacity: 1;
		visibility: visible;
	}
}

@media (max-width: 768px) {
	.navbar-nav {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		gap: 0.5rem; /* Space between items */
	}

	.nav-item {
		flex: 0 0 calc(50% - 0.25rem); /* 2 items per row with gap consideration */
		text-align: center;
		margin: 0 !important;
	}

	.nav-item .nav-link {
		padding: 0.75rem 0.5rem;
		font-size: 0.9rem; /* Slightly smaller text for mobile */
	}

	/* Hide decorative spans on mobile */
	.nav-decoration {
		display: none !important;
	}

	.character-left,
	.character-right {
		max-height: 300px;
	}

	.text-banner {
		position: absolute;
		bottom: 190px;
		z-index: -1;
		top: 35%;
		left: 50%;
		transform: translate(-50%, -50%);
		max-width: 300px;
	}

	.nav-link {
		font-size: 16px;
	}

	.server-status {
		display: none;
	}

	.milestone-container {
		position: absolute !important;
		top: 100%;
	}
	.gauge-container {
		max-width: 65vw;
		width: 65vw;
		height: 90px;
		padding: 0px 2vw;
	}

	.gauge__node {
		top: 0.5rem !important;
		width: 5px !important;
		height: 5px !important;
		border-width: 2px;
	}
	.gauge__label {
		width: 120px !important;
		height: 120px !important;
		top: -675% !important;
	}
	.milestone-text {
		font-size: 10px;
		bottom: -18px;
	}
	.reward-card {
		width: 50px;
		height: 22px;
		top: 1.2rem;
	}
	.milestone-reached {
		margin-top: -8px !important;
	}

	.gauge__progress::after {
		right: -115px !important;
	}

	.gauge__label_1::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/2000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 300px;
		height: 270px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_1::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_1:hover::after,
	.gauge__label_1:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_2::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/3000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_2::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_2:hover::after,
	.gauge__label_2:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_3::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/4000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_3::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_3:hover::after,
	.gauge__label_3:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_4::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/5000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_4::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_4:hover::after,
	.gauge__label_4:hover::before {
		opacity: 1;
		visibility: visible;
	}
}

@media (max-width: 576px) {
	.navbar-nav {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		gap: 0.5rem; /* Space between items */
	}

	.nav-item {
		flex: 0 0 calc(50% - 0.25rem); /* 2 items per row with gap consideration */
		text-align: center;
		margin: 0 !important;
	}

	.nav-item .nav-link {
		padding: 0.75rem 0.5rem;
		font-size: 0.9rem; /* Slightly smaller text for mobile */
	}

	/* Hide decorative spans on mobile */
	.nav-decoration {
		display: none !important;
	}

	.character-left {
		max-height: 180px;
		left: 0;
	}

	.character-right {
		max-height: 180px;
		right: 0;
	}

	.text-banner {
		max-width: 200px;
		position: absolute;
		top: 20%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.main-content {
		min-height: 250px;
	}

	.download-btn {
		width: 140px;
		font-size: 14px;
		line-height: 36px;
		padding: 5px;
	}
	.server-status {
		display: none;
	}
	.cta-container {
		bottom: -20%;
	}

	.milestone-container {
		position: absolute !important;
		top: 125%;
		width: 100%;
		display: block;
		left: auto;
		right: auto;
	}
	.gauge-container {
		width: 70vw;
		height: 90px;
		padding: 0px 1vw;
		max-width: 100%;
	}

	.gauge__node {
		top: 0.5rem !important;
		width: 5px !important;
		height: 5px !important;
		border-width: 2px;
	}
	.gauge__label {
		width: 60px !important;
		height: 60px !important;
		top: -415% !important;
	}
	.milestone-text {
		font-size: 10px;
		bottom: -18px;
	}
	.reward-card {
		width: 50px;
		height: 22px;
		top: 1.2rem;
	}

	.gauge__progress::after {
		right: -115px !important;
	}

	.gauge__label_1::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/2000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 300px;
		height: 270px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_1::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_1:hover::after,
	.gauge__label_1:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_2::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/3000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_2::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_2:hover::after,
	.gauge__label_2:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_3::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/4000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_3::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_3:hover::after,
	.gauge__label_3:hover::before {
		opacity: 1;
		visibility: visible;
	}

	.gauge__label_4::after {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
		background-image: url("../images/5000-pophover.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		width: 350px;
		height: 360px;
		border-radius: 8px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1000;
	}

	.gauge__label_4::before {
		content: "";
		position: absolute;
		bottom: 96%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		border: 8px solid transparent;
		border-top-color: rgba(0, 0, 0, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		z-index: 1001;
	}

	.gauge__label_4:hover::after,
	.gauge__label_4:hover::before {
		opacity: 1;
		visibility: visible;
	}
}

.content-wrapper {
	max-width: 1000px;
	padding: 20px;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1rem;
}

.content-title {
	font-family: "Arial Black", Gadget, sans-serif;
	font-size: 3.5rem;
	font-weight: 900;
	color: #f8a100;
	text-shadow: 3px 3px 0 #2b82b5, 4px 4px 0 #2b82b5,
		5px 5px 5px rgba(0, 0, 0, 0.5);
	text-align: center;
	margin-bottom: 20px;
}

.content-card {
	box-shadow: 0 0 0 3px #8d2c1b;
	border: 3px solid #f8a100;
	border-radius: 25px;

	/* Put image first (on top), then gradient (underneath) */
	background: url("../images/background-repeat2.png") repeat,
		linear-gradient(
			180deg,
			rgba(253, 247, 227, 1) 0%,
			rgba(244, 212, 167, 1) 50%,
			rgba(212, 151, 90, 1) 100%
		);

	background-size: 50px 50px, cover;
	background-blend-mode: soft-light;
	padding: 20px;
	position: relative;
	width: 90%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 1921px) {
	.content-card-small {
		width: 20%;
		padding: 16px;
	}

	.left-menu {
		min-height: 100%;
		min-width: 220px;
		max-width: 250px;
	}
}

@media (max-width: 1920px) {
	.content-card-small {
		width: 30%;
		padding: 16px;
	}

	.left-menu {
		min-height: 100%;
		min-width: 220px;
		max-width: 250px;
	}
}

@media (max-width: 992px) {
	.content-card-small {
		width: 50%;
		padding: 16px;
	}
	.login-btn-mini {
		display: block !important;
	}
	.login-btn-mini {
		display: block !important;
		position: absolute;
		right: 22%;
		top: 17px;
	}
	.left-menu {
		min-height: 100%;
		min-width: 220px;
		max-width: 250px;
	}
}

@media (max-width: 768px) {
	.content-card-small {
		width: 70%;
		max-width: 350px;
		padding: 12px;
	}

	.login-btn-mini {
		display: block !important;
		position: absolute;
		right: 25%;
		top: 17px;
	}

	.left-menu {
		min-height: 100%;
		min-width: 100%;
		max-width: 100%;
	}
}

@media (max-width: 576px) {
	.content-card {
		width: 90%;
		max-width: 350px;
		padding: 8px;
		border-width: 3px;
		border-radius: 15px;
	}

	.login-btn-mini {
		display: block !important;
		position: absolute;
		right: 20%;
		top: 17px;
	}

	.social-bar {
		position: absolute;
		bottom: 10% !important;
		right: 10%;
		transform: translateX(50%);
		padding: 10px 15px;
		border-radius: 25px;
		gap: 10px;
		top: auto;
	}

	.social-icon {
		width: 35px;
		height: 35px;
		font-size: 18px;
	}
}

.night-bg {
	background-image: url("https://via.placeholder.com/1920x1080/051540/051540");
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 100vh;
	overflow: hidden;
	margin-left: -13px;
	margin-right: -13px;
}

.night-bg::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(
		circle at top,
		rgba(0, 20, 80, 0.3),
		rgba(0, 10, 30, 0.8)
	);
	z-index: 1;
}

.content-container {
	position: relative;
	z-index: 3;
	padding-top: 50px;
	padding-bottom: 50px;
}

.title {
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
	color: #ffb700;
	text-shadow: 3px 3px 0 #2e6cff, -3px -3px 0 #2e6cff, 3px -3px 0 #2e6cff,
		-3px 3px 0 #2e6cff;
	letter-spacing: 2px;
}

.milestone-card {
	background-color: #f9f5e7;
	border-radius: 20px;
	padding: 15px;
	margin-bottom: 20px;
	position: relative;
	overflow: hidden;
	color: #5c2424;
	border: 5px solid #ffb700;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	transition: transform 0.3s ease;
}

.milestone-card:hover {
	transform: translateY(-10px);
}

.milestone-header {
	background-color: #5c2424;
	color: #ffffff;
	padding: 10px;
	text-align: center;
	font-weight: bold;
	border-radius: 8px;
	margin-bottom: 10px;
}

.milestone-content {
	background-color: #5c2424;
	color: #ffffff;
	padding: 10px;
	text-align: center;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	margin-bottom: 15px;
}

.milestone-rewards {
	padding: 10px;
	font-size: 0.9rem;
	font-weight: bold;
	text-align: left;
	min-height: 120px;
}

.claim-btn {
	background-color: #5c2424;
	color: #ffb700;
	border: none;
	border-radius: 30px;
	padding: 10px 40px;
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	margin: 0 auto;
	cursor: pointer;
	transition: background-color 0.3s;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
	width: 80%;
}

.claim-btn:hover {
	background-color: #7c3434;
}

.fs-7 {
	font-size: 11px;
}

.rank-card {
	position: relative;
	border-radius: 10px;
	background-color: white;
	padding: 20px;
	text-align: center;
	margin: 30px;
	width: 200px;
}
.rank-medal {
	position: absolute;
	top: -20px;
	left: -20px;
}
.rank-charname {
	font-size: 24px;
	font-weight: bold;
	margin-top: 30px;
}
.rank-score {
	font-size: 18px;
	color: #6c757d;
}
.rank-icon {
	width: 20px;
	height: 20px;
}
.rank-charname {
	color: #000;
}

.tab-container {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.tab-button {
	background-color: #913a47;
	color: white;
	border: 3px solid #e7b75f;
	border-radius: 10px;
	padding: 10px 20px;
	font-weight: bold;
	cursor: pointer;
	min-width: 150px;
	text-align: center;
}

.calendar-container {
	background-color: #f9f5e7;
	border: 5px solid #e7b75f;
	border-radius: 25px;
	padding: 20px;
	max-width: 1100px;
	margin: 20px auto;
	position: relative;
	display: flex;
}

.calendar-left {
	flex: 0 0 60%;
}

.calendar-right {
	flex: 0 0 40%;
	display: flex;
	align-items: center;
}

.calendar-header {
	text-align: center;
	margin-bottom: 20px;
}

.month-title {
	color: #ffffff;
	font-size: 36px;
	font-weight: bold;
	margin-top: 10px;
}

.calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 10px;
	padding-bottom: 20px;
}

.calendar-day-header {
	color: #913a47;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
}

.calendar-day {
	text-align: center;
	padding: 10px;
	font-size: 24px;
	font-weight: bold;
	cursor: pointer;
	border-radius: 5px;
	transition: all 0.2s;
}

.calendar-day.burgundy {
	color: #913a47;
}

.calendar-day.gold {
	color: #e7b75f;
}

.calendar-day:hover {
	background-color: #f0e6d2;
}

.calendar-content {
	background-color: #913a47;
	height: 300px;
	width: 100%;
	border-radius: 10px;
}

.calendar-footer {
	text-align: center;
	padding-top: 20px;
	border-top: 1px solid #e7b75f;
}

.divider {
	display: inline-block;
	width: 150px;
	height: 2px;
	background-color: #e7b75f;
	position: relative;
}

.divider::before,
.divider::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border: 2px solid #e7b75f;
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%);
}

.divider::before {
	left: -10px;
	border-right: none;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.divider::after {
	right: -10px;
	border-left: none;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.pagination {
	display: flex;
	justify-content: center;
	margin-top: 20px;
}

.pagination-dot {
	width: 12px;
	height: 12px;
	background-color: #d9d9d9;
	border-radius: 50%;
	margin: 0 5px;
	cursor: pointer;
}

.pagination-dot.active {
	background-color: #913a47;
}

.calendar-decoration {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	color: #913a47;
	font-size: 24px;
}

.main-title {
	font-size: 4rem;
	font-weight: bold;
	color: #ffa500;
	text-shadow: -3px -3px 0 #0080ff, 3px -3px 0 #0080ff, -3px 3px 0 #0080ff,
		3px 3px 0 #0080ff;
	text-align: center;
	margin-bottom: 20px;
}

.event-container {
	background-color: rgba(255, 251, 235, 0.95);
	border-radius: 30px;
	padding: 20px;
	position: relative;
	max-width: 1100px;
	border: 5px solid #ffa500;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.event-content {
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 20px;
}

.event-image {
	width: 500px;
	height: 300px;
	background-color: #8b4513;
	flex-shrink: 0;
}

.event-info {
	color: #8b4513;
	text-align: right;
}

.event-info h2 {
	color: #ffa500;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
	font-weight: bold;
	margin-bottom: 20px;
}

.event-info p {
	margin-bottom: 10px;
	font-size: 14px;
}

.star-decoration {
	position: absolute;
	width: 80px;
	height: 80px;
}

.star-left {
	left: -40px;
	top: 50%;
	transform: translateY(-50%);
}

.star-right {
	right: -40px;
	top: 50%;
	transform: translateY(-50%);
}

.divider {
	text-align: center;
	margin-top: 10px;
}

.divider img {
	height: 30px;
}

.carousel-indicators {
	position: relative;
	margin-top: 20px;
}

.carousel-control-prev,
.carousel-control-next {
	width: 50px;
	height: 50px;
	background-color: rgba(255, 165, 0, 0.7);
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.8;
}

.carousel-control-prev {
	left: -25px;
}

.carousel-control-next {
	right: -25px;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
	opacity: 1;
	background-color: rgba(255, 165, 0, 0.9);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
	width: 25px;
	height: 25px;
	filter: invert(100%);
}

/* Touch-enabled elements */
.carousel-touch {
	cursor: grab;
}

.beggar-tips-container {
	display: block;
	background: url("../images/background-beggar-tips.png") no-repeat;
	width: 277px;
	height: 142px;
}
.beggar-tips-content {
	padding: 5px;
	font-size: 13px;
	height: 75px;
}

.bg-darkred {
	background-color: #943c3c;
	color: white;
}

.bg-repeat2 {
	background: url("../images/background-repeat2.png");
}

/* Ornamental corners using image */
/* Use ::before for left ornaments (top-left and bottom-left) */
.content-card::before {
	content: "";
	position: absolute;
	width: 60px;
	height: 60px;
	background: url("../images/ornament-tr.png") no-repeat center/contain;
	top: -30px;
	left: -30px;
	transform: rotate(270deg);
	z-index: -1;
}

.content-card::after {
	content: "";
	position: absolute;
	width: calc(100% + 120px);
	height: calc(100% + 120px);
	top: -60px;
	right: -60px;
	background: url("../images/ornament-tr.png") no-repeat,
		url("../images/ornament-bl.png") no-repeat,
		url("../images/ornament-br.png") no-repeat;
	background-size: 60px 60px;
	background-position: right 30px top 30px, left 30px bottom 30px,
		right 30px bottom 30px;
	z-index: -1;
}

@keyframes milestoneReached {
	0% {
		transform: translate(-50%, 1rem) scale(0.8);
		opacity: 0.7;
	}
	50% {
		transform: translate(-50%, 1rem) scale(1.3);
		opacity: 1;
	}
	100% {
		transform: translate(-50%, 1rem) scale(1.1);
		opacity: 1;
	}
}

/* Closed State Labels */
.gauge__label_1 {
	background-image: url("../images/2000-label-close.png");
	background-size: contain;
}

.gauge__label_2 {
	background-image: url("../images/3000-label-close.png");
	background-size: contain;
}

.gauge__label_3 {
	background-image: url("../images/4000-label-close.png");
	background-size: contain;
}

.gauge__label_4 {
	background-image: url("../images/5000-label-close.png");
	background-size: contain;
}

/* Open State Labels (Active/Reached) */
.gauge__label_1.milestone-reached {
	background-image: url("../images/2000-label-open.png");
	background-size: cover;
	margin-top: -20px;
}

.gauge__label_2.milestone-reached {
	background-image: url("../images/3000-label-open.png");
	background-size: cover;
	margin-top: -20px;
}

.gauge__label_3.milestone-reached {
	background-image: url("../images/4000-label-open.png");
	background-size: cover;
	margin-top: -20px;
}

.gauge__label_4.milestone-reached {
	background-image: url("../images/5000-label-open.png");
	background-size: cover;
	margin-top: -20px;
}

/* Milestone text labels */
.milestone-text {
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
	color: white;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.milestone-text.active {
	opacity: 1;
	color: #00a8ff;
}

.reward-card {
	position: absolute;
	top: 2.5rem;
	width: 110px;
	transform: translateX(-50%);
	border: 2px dashed #0078be !important;
	background-color: white !important;
	height: 45px;
}

.reward-card.active {
	border: 2px solid var(--bs-primary);
	background-color: var(--bs-primary-bg-subtle);
}

.gauge__node {
	position: absolute;
	top: 0.4rem;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background-color: #0078be;
	border: 6px solid white;
	transition: background-color 0.3s;
}

.gauge__node.active {
	background-color: #0078be;
	border: #0078be;
}

.modal {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.btn-close {
	z-index: 1000000;
}

/* Show pseudo-elements when .show-pseudo class is added */
.gauge__label_1.show-pseudo::after,
.gauge__label_1.show-pseudo::before {
	opacity: 1 !important;
	visibility: visible !important;
}

.gauge__label_2.show-pseudo::after,
.gauge__label_2.show-pseudo::before {
	opacity: 1 !important;
	visibility: visible !important;
}

.gauge__label_3.show-pseudo::after,
.gauge__label_3.show-pseudo::before {
	opacity: 1 !important;
	visibility: visible !important;
}

.gauge__label_4.show-pseudo::after,
.gauge__label_4.show-pseudo::before {
	opacity: 1 !important;
	visibility: visible !important;
}

/* Your existing hover styles continue to work unchanged */

/* Optional: Make elements look clickable */
.gauge__label {
	cursor: pointer;
	user-select: none;
}

.gauge__label_1,
.gauge__label_2,
.gauge__label_3,
.gauge__label_4 {
	cursor: pointer;
}

/* Optional: Active state for main trigger */
.gauge__label.gauge-label-active {
	background-color: rgba(0, 123, 255, 0.1);
	border-radius: 4px;
}

#roulette_bg {
	background-image: url("../images/bg-roulette.png");
	background-repeat: no-repeat;
	height: 600px;
	background-size: contain;
	width: 800px;
}

#roulette_bg {
	display: none; /* hide by default */
}

@media (min-width: 1366px) {
	#roulette_bg {
		display: block !important; /* show only on 1366px+ screens */
	}
	#roulette_message {
		display: none;
	}
}

/* Enhanced Spin Button */
#btn_spin_roulette {
	background: linear-gradient(135deg, #ff6b6b, #ffa726);
	border: none;
	border-radius: 25px;
	padding: 20px 35px;
	font-size: 1.4rem;
	font-weight: bold;
	color: white;
	box-shadow: 0 15px 35px rgba(255, 107, 107, 0.4);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

#btn_spin_roulette:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 45px rgba(255, 107, 107, 0.5);
	background: linear-gradient(135deg, #ff5252, #ff9800);
}

#btn_spin_roulette:active {
	transform: translateY(-2px);
}

#btn_spin_roulette::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.3),
		transparent
	);
	transition: left 0.6s;
}

#btn_spin_roulette:hover::before {
	left: 100%;
}

/* Winner List Styling */
#roulette-winner-list {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(15px);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.list-group-flush {
	padding: 10px;
}

.list-group-item {
	background: rgba(255, 255, 255, 0.9);
	margin: 5px 0;
	border-radius: 5px !important;
	border: none !important;
	padding: 0;
	transition: all 0.4s ease;
	position: relative;
	overflow: hidden;
}

.list-group-item:hover {
	transform: translateX(5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Epic Reward Animation */
.epic-reward {
	background: linear-gradient(135deg, #ffd700, #ffed4e) !important;
	animation: epicPulse 2s ease-in-out infinite alternate;
	position: relative;
}

.epic-reward::before {
	content: "";
	position: absolute;
	top: -3px;
	left: -3px;
	right: -3px;
	bottom: -3px;
	background: linear-gradient(45deg, #ffd700, #ff6b6b, #4ecdc4, #ffd700);
	border-radius: 18px;
	z-index: -1;
	animation: rainbowBorder 3s linear infinite;
	background-size: 400% 400%;
}

.epic-reward::after {
	content: "✨";
	position: absolute;
	top: 0px;
	right: 15px;
	font-size: 1.2rem;
	animation: sparkle 1.5s ease-in-out infinite;
}

@keyframes epicPulse {
	from {
		box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
	}
	to {
		box-shadow: 0 0 40px rgba(255, 215, 0, 0.9), 0 0 60px rgba(255, 215, 0, 0.4);
	}
}

@keyframes rainbowBorder {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

@keyframes sparkle {
	0%,
	100% {
		opacity: 0;
		transform: scale(0) rotate(0deg);
	}
	50% {
		opacity: 1;
		transform: scale(1) rotate(180deg);
	}
}

/* Legendary Reward Animation */
.legendary-reward {
	background: linear-gradient(135deg, #9333ea, #c084fc) !important;
	border: 2px solid #9333ea !important;
	animation: legendaryGlow 1.8s ease-in-out infinite alternate;
	color: white;
}

.legendary-reward .fw-semibold {
	color: white !important;
}

.legendary-reward::after {
	content: "👑";
	position: absolute;
	top: -5px;
	right: 15px;
	font-size: 1.2rem;
	animation: crown 2s ease-in-out infinite;
}

@keyframes legendaryGlow {
	from {
		box-shadow: 0 0 15px rgba(147, 51, 234, 0.6);
	}
	to {
		box-shadow: 0 0 30px rgba(147, 51, 234, 0.8);
	}
}

@keyframes crown {
	0%,
	100% {
		transform: rotate(-10deg) scale(1);
	}
	50% {
		transform: rotate(10deg) scale(1.1);
	}
}

/* Rare Reward Animation */
.rare-reward {
	background: linear-gradient(135deg, #06b6d4, #0891b2) !important;
	border: 2px solid #06b6d4 !important;
	animation: rareShimmer 2.5s ease-in-out infinite alternate;
}

.rare-reward::after {
	content: "💎";
	position: absolute;
	top: 0px;
	right: 15px;
	font-size: 1.1rem;
	animation: gem 2s ease-in-out infinite;
}

@keyframes rareShimmer {
	from {
		box-shadow: 0 0 10px rgba(6, 182, 212, 0.4);
	}
	to {
		box-shadow: 0 0 25px rgba(6, 182, 212, 0.6);
	}
}

@keyframes gem {
	0%,
	100% {
		opacity: 0.8;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.2);
	}
}

/* Player Name Styling */
.player-name {
	margin-bottom: 5px;
}

/* Date Styling */
.winner-date {
	font-size: 0.85rem;
	color: #666;
	margin-top: 5px;
}

.epic-reward .winner-date {
	color: #996515;
}

.legendary-reward .winner-date {
	color: #e5d3ff;
}

/* Badge Styling */
.reward-badge {
	font-size: 0.9rem;
	padding: 8px 15px;
	font-weight: bold;
	border-radius: 5px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.epic-reward .reward-badge {
	background: linear-gradient(135deg, #b8860b, #daa520) !important;
	color: white;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* New Winner Animation */
.new-winner {
	animation: slideInRight 0.8s ease-out;
}

@keyframes slideInRight {
	from {
		transform: translateX(100%);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}
.list-group-item > div {
	margin-left: 13px;
}

.voucher-input {
	width: 40px !important;
	height: 40px !important;
	font-weight: 500;
}
.voucher-input:focus {
	border-color: #0d6efd;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.voucher-group {
	position: relative;
}
.voucher-group:not(:last-child):after {
	content: "-";
	position: absolute;
	right: -12px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	font-size: 1.2rem;
}

/* Enhanced Calendar Styles */
/* Calendar Container */
.calendar-container {
	display: grid;
	grid-template-columns: 420px 1fr;
	gap: 2rem;
	height: 550px;
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

/* Calendar Left Panel */
.calendar-left {
	background: white;
	border-radius: 16px 0 0 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Calendar Navigation */
.calendar-nav-btn {
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	border: none;
	color: white;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	padding: 0.75rem 1rem;
	border-radius: 12px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 15px rgba(145, 58, 71, 0.3);
	min-width: 40px;
}

.calendar-nav-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(145, 58, 71, 0.4);
}

.calendar-nav-btn:active {
	transform: translateY(0);
}

.calendar-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem;
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	color: white;
	position: relative;
	overflow: hidden;
}

.calendar-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0.1) 0%,
		transparent 100%
	);
	pointer-events: none;
}

.month-title {
	font-size: 1.3rem;
	font-weight: 700;
	text-align: center;
	flex-grow: 1;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	letter-spacing: 0.5px;
}

/* Calendar Grid */
.calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
	padding: 1rem;
	background: #f8f9fa;
	flex: 1;
	overflow-y: auto;
}

.calendar-day-header {
	text-align: center;
	font-weight: 700;
	color: #913a47;
	padding: 0.75rem 0;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	background: linear-gradient(
		135deg,
		rgba(145, 58, 71, 0.1),
		rgba(145, 58, 71, 0.05)
	);
	border-radius: 8px;
	margin: 2px;
}

.calendar-day {
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 10px;
	background: white;
	border: 2px solid transparent;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	font-weight: 600;
	position: relative;
	font-size: 0.9rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.calendar-day:hover {
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	color: white;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 8px 25px rgba(145, 58, 71, 0.3);
	border-color: rgba(145, 58, 71, 0.2);
}

.calendar-day.other-month {
	color: #adb5bd;
	background: #f8f9fa;
	font-weight: 400;
}

.calendar-day.today {
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	color: white;
	font-weight: 700;
	box-shadow: 0 6px 20px rgba(145, 58, 71, 0.4);
	transform: scale(1.05);
	border-color: rgba(255, 255, 255, 0.3);
}

.calendar-day.selected {
	background: linear-gradient(135deg, #007bff, #0056b3);
	color: white;
	box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
	transform: scale(1.05);
	border-color: rgba(255, 255, 255, 0.3);
}

.calendar-day.has-event {
	background: linear-gradient(135deg, #fff3cd, #ffeaa7);
	border: 2px solid #f39c12;
	font-weight: 700;
	color: #856404;
}

.calendar-day.has-event:hover {
	background: linear-gradient(135deg, #f39c12, #e67e22);
	color: white;
}

.event-indicator {
	position: absolute;
	bottom: 4px;
	color: #f39c12;
	font-size: 0.7rem;
	line-height: 1;
	background: rgba(243, 156, 18, 0.2);
	padding: 2px 4px;
	border-radius: 4px;
	font-weight: 700;
}

.calendar-day.has-event .event-indicator {
	color: #856404;
	background: rgba(255, 255, 255, 0.5);
}

/* Calendar Right Panel */
.calendar-right {
	border-radius: 0 16px 16px 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Content Section */
.calendar-content {
	flex: 1;
	overflow-y: auto;
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	padding: 0;
}

.calendar-content::-webkit-scrollbar {
	width: 6px;
}

.calendar-content::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

.calendar-content::-webkit-scrollbar-thumb {
	background: #913a47;
	border-radius: 3px;
}

/* Empty State */
.empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	text-align: center;
	color: #6c757d;
}

.empty-state i {
	font-size: 4rem;
	color: #dee2e6;
	margin-bottom: 1.5rem;
	opacity: 0.5;
}

.empty-state h5 {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: #495057;
}

.empty-state p {
	font-size: 1rem;
	margin: 0;
}

/* Selected Date Header - Compact */
.selected-date-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0;
	padding: 0.75rem 1rem;
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	color: white;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(145, 58, 71, 0.3);
	position: relative;
	overflow: hidden;
}

.selected-date-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0.1) 0%,
		transparent 100%
	);
	pointer-events: none;
}

.selected-date-header h4 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	text-align: left;
}

.selected-date-header p {
	margin: 0;
	opacity: 0.9;
	font-size: 0.85rem;
	text-align: right;
}

/* Thumbnail Carousel - Full Width */
.thumbnail-carousel {
	margin: 0;
	border-radius: 0 0 12px 12px;
	padding: 0;
	height: 85%;
	display: flex;
	flex-direction: column;
}

.carousel-container {
	position: relative;
	overflow: hidden;
	border-radius: 0;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.carousel-track {
	display: flex;
	transition: transform 0.3s ease;
	gap: 0;
	height: 100%;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
}

.carousel-slide {
	flex: 0 0 auto;
	width: 100%;
	height: 100%;
	max-height: 400px;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	transition: all 0.3s ease;
	border: 3px solid transparent;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.3s ease;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 6px;
}

/* Portrait images - fit to height */
.carousel-slide.portrait img {
	object-fit: contain;
}

/* Landscape images - cover full slide */
.carousel-slide.landscape img {
	object-fit: fill;
}

/* Square images - cover full slide */
.carousel-slide.square img {
	object-fit: cover;
}

/* Carousel overlay for Read More text */
.carousel-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
	padding: 2rem 1rem 1rem;
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.read-more-text {
	color: white;
	font-weight: 600;
	font-size: 1.1rem;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
	background: rgba(145, 58, 71, 0.9);
	padding: 0.75rem 2rem;
	border-radius: 25px;
	letter-spacing: 0.5px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(10px);
	transform: translateY(20px);
	transition: all 0.3s ease;
}

.carousel-slide:hover .carousel-overlay {
	opacity: 1;
}

.carousel-slide:hover .read-more-text {
	transform: translateY(0);
}

.carousel-slide:hover {
	border-color: #913a47;
	transform: scale(1.02);
	box-shadow: 0 8px 25px rgba(145, 58, 71, 0.3);
}

.carousel-slide:hover img {
	transform: scale(1.05);
}

.carousel-slide.active {
	border-color: #913a47;
	box-shadow: 0 0 0 4px rgba(145, 58, 71, 0.3);
}

.carousel-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(145, 58, 71, 0.8);
	color: white;
	border: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 2;
}

.carousel-nav:hover {
	background: rgba(145, 58, 71, 1);
	transform: translateY(-50%) scale(1.1);
}

.carousel-nav.prev {
	left: 5px;
}

.carousel-nav.next {
	right: 5px;
}

.carousel-nav:disabled {
	background: rgba(0, 0, 0, 0.3);
	cursor: not-allowed;
	transform: translateY(-50%);
}

/* Events Accordion */
.events-accordion {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.accordion-item {
	background: white;
	border: 2px solid #e9ecef;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.accordion-item:hover {
	border-color: #913a47;
	box-shadow: 0 4px 15px rgba(145, 58, 71, 0.2);
}

.accordion-item.active {
	border-color: #913a47;
	box-shadow: 0 6px 20px rgba(145, 58, 71, 0.3);
}

.accordion-header {
	padding: 1rem 1.25rem;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
	transition: all 0.3s ease;
}

.accordion-item.active .accordion-header {
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	color: white;
}

.accordion-header:hover {
	background: linear-gradient(135deg, #f1f3f4 0%, #f8f9fa 100%);
}

.accordion-item.active .accordion-header:hover {
	background: linear-gradient(135deg, #8a3340, #732835);
}

.accordion-title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
}

.accordion-title h5 {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.accordion-meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: #6c757d;
}

.accordion-item.active .accordion-meta {
	color: rgba(255, 255, 255, 0.9);
}

.accordion-toggle {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(145, 58, 71, 0.1);
	border-radius: 50%;
	transition: all 0.3s ease;
}

.accordion-item.active .accordion-toggle {
	background: rgba(255, 255, 255, 0.2);
	transform: rotate(180deg);
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: white;
}

.accordion-item.active .accordion-content {
	max-height: 500px;
}

.accordion-body {
	padding: 1.25rem;
	border-top: 1px solid #e9ecef;
}

.accordion-item.active .accordion-body {
	border-top-color: rgba(145, 58, 71, 0.2);
}

.accordion-description {
	color: #6c757d;
	line-height: 1.6;
	margin-bottom: 1rem;
	font-size: 0.9rem;
}

.accordion-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* Events List */
.events-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* Event Cards */
.event-card {
	background: white;
	border: 2px solid #e9ecef;
	border-radius: 12px;
	padding: 1.5rem;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: hidden;
}

.event-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #913a47, #7a2f3a);
	transform: scaleX(0);
	transition: transform 0.3s ease;
}

.event-card:hover::before {
	transform: scaleX(1);
}

.event-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	border-color: #913a47;
}

.event-thumbnail {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: 1rem;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}

.event-thumbnail:hover {
	transform: scale(1.02);
}

.event-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1rem;
}

.event-header h5 {
	margin: 0;
	color: #913a47;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.4;
	flex: 1;
}

.event-header small {
	color: #6c757d;
	font-size: 0.85rem;
	font-weight: 500;
	white-space: nowrap;
	margin-left: 1rem;
}

.event-content {
	margin-bottom: 1.5rem;
	color: #6c757d;
	line-height: 1.6;
	font-size: 0.95rem;
}

.event-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* Event Details Container */
.event-details-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: white;
}

.event-details-header {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 2rem;
	background: linear-gradient(135deg, #913a47, #7a2f3a);
	color: white;
	box-shadow: 0 4px 15px rgba(145, 58, 71, 0.3);
}

.event-details-header h4 {
	margin: 0;
	font-weight: 700;
	font-size: 1.3rem;
	flex: 1;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.event-details-header .btn {
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: white;
	backdrop-filter: blur(10px);
	transition: all 0.3s ease;
}

.event-details-header .btn:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: translateY(-2px);
}

.event-details-content {
	flex: 1;
	padding: 2rem;
	overflow-y: auto;
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
}

.event-details-thumbnail {
	width: 100%;
	max-height: 350px;
	object-fit: cover;
	border-radius: 12px;
	margin-bottom: 2rem;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.event-details-title {
	color: #913a47;
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	line-height: 1.3;
}

.event-details-meta {
	display: flex;
	gap: 1.5rem;
	margin-bottom: 2rem;
	font-size: 0.9rem;
	color: #6c757d;
	flex-wrap: wrap;
}

.event-details-meta span {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.event-details-meta i {
	color: #913a47;
}

.event-details-description {
	line-height: 1.7;
	color: #495057;
	font-size: 1rem;
	margin-bottom: 2rem;
	text-align: justify;
}

.event-details-actions {
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 2px solid #e9ecef;
	flex-wrap: wrap;
}

/* Buttons */
.btn {
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Calendar Footer */
.calendar-footer {
	padding: 1rem;
	background: #f8f9fa;
	border-top: 1px solid #e9ecef;
	text-align: center;
	font-size: 0.8rem;
	color: #6c757d;
}

.divider {
	height: 1px;
	background: linear-gradient(90deg, transparent, #dee2e6, transparent);
	margin: 0.5rem 0;
}

/* Responsive Design */
@media (max-width: 1024px) {
	.calendar-container {
		grid-template-columns: 1fr;
		height: auto;
		gap: 1.5rem;
	}

	.calendar-left,
	.calendar-right {
		border-radius: 12px;
	}

	.calendar-grid {
		gap: 2px;
	}

	.calendar-day {
		font-size: 0.8rem;
	}

	.carousel-slide {
		width: 100px;
		height: 70px;
	}

	.carousel-nav {
		width: 25px;
		height: 25px;
	}
}

@media (max-width: 768px) {
	.calendar-container {
		gap: 1rem;
		margin: 1rem;
	}

	.calendar-content,
	.event-details-content {
		padding: 1.5rem;
	}

	.selected-date-header {
		padding: 0.5rem 0.75rem;
		margin-bottom: 0.75rem;
	}

	.selected-date-header h4 {
		font-size: 1rem;
	}

	.selected-date-header p {
		font-size: 0.8rem;
	}

	.thumbnail-carousel {
		margin-bottom: 1rem;
		padding: 0.75rem;
	}

	.carousel-slide {
		width: 90px;
		height: 60px;
	}

	.carousel-nav {
		width: 22px;
		height: 22px;
		font-size: 0.7rem;
	}

	.accordion-header {
		padding: 0.75rem 1rem;
	}

	.accordion-title h5 {
		font-size: 0.9rem;
	}

	.accordion-body {
		padding: 1rem;
	}

	.accordion-description {
		font-size: 0.85rem;
	}

	.event-details-title {
		font-size: 1.5rem;
	}
}

/* Animation */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.event-card {
	animation: fadeInUp 0.5s ease-out;
}

/* Loading State */
.loading {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	color: #6c757d;
}

.spinner {
	width: 40px;
	height: 40px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #913a47;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-right: 1rem;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Ensure no gap between calendar header and thumbnail carousel */
.selected-date-header + .thumbnail-carousel {
	margin-top: 0;
	border-top: none;
}

.selected-date-header + .thumbnail-carousel .carousel-container {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

/* Mobile User Actions Styles */
.mobile-user-actions {
	top: 70px;
	right: 15px;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	border-radius: 25px;
	padding: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(230, 184, 0, 0.3);
	min-width: 280px;
	animation: slideDown 0.3s ease-out;
}

.mobile-user-actions .d-flex {
	gap: 8px;
}

.mobile-user-actions a {
	text-decoration: none;
	transition: all 0.2s ease;
	border: 2px solid transparent;
}

.mobile-user-actions a:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.mobile-user-actions .btn-warning {
	border-color: rgba(230, 184, 0, 0.5);
}

.mobile-user-actions .btn-danger {
	border-color: rgba(220, 53, 69, 0.5);
}

.login-btn-mobile {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	border: 2px solid rgba(230, 184, 0, 0.5);
	border-radius: 20px;
	padding: 8px 20px;
	color: #e6b800;
	font-weight: bold;
	transition: all 0.2s ease;
	text-decoration: none;
}

.login-btn-mobile:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(230, 184, 0, 0.3);
	background: #fff;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Adjust navbar for mobile to accommodate user actions */
@media (max-width: 767px) {
	.navbar {
		position: relative;
	}

	.navbar-brand {
		position: relative;
		z-index: 1001;
	}
}
