/* Import Google Font Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

/* Fallback font with metric overrides to prevent Cumulative Layout Shift (CLS) */
@font-face {
	font-family: 'Montserrat Fallback';
	src: local('Arial');
	size-adjust: 96%;
	ascent-override: 95%;
	descent-override: 25%;
	line-gap-override: 0%;
}

/* Color Variables & Global Styles */
:root {
	--primary-color: #a28c57;
	/* Desert Gold */
	--primary-dark: #816e41;
	/* Darker Gold */
	--secondary-color: #303035;
	/* Deep Charcoal */
	--light-bg: #f2f2f2;
	/* Warm Sand White */
	--dark-bg: #0e0e11;
	/* Rich Dark Black */
	--text-dark: #303035;
	--text-light: #ffffff;
	--text-muted: #5C5C5C;
	--accent-red: #A98F47;
	/* Highlight Accent */
	--font-family: 'Montserrat', 'Montserrat Fallback', sans-serif;
	--transition-smooth: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
	--border-radius-lg: 12px;
	--border-radius-sm: 6px;
	--box-shadow-premium: 0 15px 35px rgba(0, 0, 0, 0.1);
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: var(--font-family);
	background-color: var(--light-bg);
	color: var(--text-dark);
	/*overflow-x: hidden !important;*/ 
	line-height: 1.6;
}
html,
body {
	overflow-x: hidden !important;
	max-width: 100% !important;
	width: 100%;
}

@media (min-width: 992px) {
	.px-6 {
		padding-right: 5rem !important;
		padding-left: 5rem !important;
	}
}

@media (max-width: 991.98px) {
	.px-6 {
		padding-right: 1.5rem !important;
		padding-left: 1.5rem !important;
	}
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease, opacity 0.3s ease;
}

	a:hover {
		color: var(--primary-color);
		opacity: 0.85;
	}

/* Typography Customizations */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
}

p {
	font-weight: 400;
	/*color: #000;*/
}

.text-muted {
	color: #000 !important;
}

.px-6 {
	padding-right: 5rem !important;
	padding-left: 5rem !important;
}
.py-7 {
	padding-top: 7rem !important;
	padding-bottom: 5rem !important;
}


@media (min-width: 768px) {
	.px-md-5 {
		padding-right: 5rem !important;
		padding-left: 5rem !important;
	}
}

/* Custom Buttons */
.btn-premium {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 12px 28px;
	border-radius: 0;
	font-size: 0.85rem;
	transition: var(--transition-smooth);
}

.btn-premium-gold {
	background-color: var(--primary-color);
	color: var(--text-light);
	border: 2px solid var(--primary-color);
}

	.btn-premium-gold:hover {
		background-color: #140e10 !important;
		color: #ffffff !important;
		border-color: #000000 !important;
	}

.btn-premium-outline {
	background-color: transparent;
	color: var(--text-light);
	border: 2px solid var(--text-light);
}

	.btn-premium-outline:hover {
		background-color: #A98F47 !important;
		color: #ffffff !important;
		border-color: #A98F47 !important;
	}

.top-button button {
	background-color: transparent;
}

/* Header & Navbar */
.navbar-custom {
	transition: var(--transition-smooth);
	backdrop-filter: blur(20px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	z-index: 1000;
	min-height: 80px;
}

	.navbar-custom.scrolled {
		background: var(--dark-bg);
	}

.header-tagline {
	color: var(--primary-color) !important;
	font-family: var(--font-family);
	font-weight: 700;
	white-space: nowrap;
}

	.header-tagline h4 {
		color: var(--text-light) !important;
		font-family: var(--font-family);
		font-weight: normal;
		white-space: nowrap;
		font-size: 16px;
		margin-bottom: 0;
	}

.nav-link-custom {
	color: var(--text-light) !important;
	font-weight: 700;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 10px 15px !important;
	position: relative;
	transition: var(--transition-smooth);
}

	.nav-link-custom:hover {
		color: #f0d57a !important;
	}

	.nav-link-custom.active {
		color: #A98F47 !important;
	}

.w--current {
	color: #f0d57a !important;
}

@media (min-width: 1600px) {
	.nav-link-custom {
		padding: 10px 5px !important;
	}
}

/* Fully responsive desktop layout with auto-wrapping & flexible growth */
@media (min-width: 1199px) {
	.navbar-custom {
		min-height: 80px;
		height: auto;
		padding: 0 !important;
	}

	.header-top-row {
		min-height: 80px;
		flex-wrap: wrap !important;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}

	.nav-link-custom {
		padding: 10px 5px !important;
		font-size: 0.8rem !important;
		letter-spacing: 0.5px !important;
	}

	.navbar-custom .navbar-brand {
		width: auto !important;
		min-height: 80px;
		margin-right: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		border-right: 1px solid rgba(255, 255, 255, 0.15);
	}

	.navbar-custom .header-tagline {
		width: auto !important;
		margin-right: 0;
		font-size: 0.75rem !important;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		border-right: 1px solid rgba(255, 255, 255, 0.15);
	}

	.navbar-custom .navbar-collapse {
		width: auto !important;
		min-height: 80px;
		display: flex !important;
		align-items: center;
		justify-content: center;
		padding-left: 20px !important;
		flex-grow: 1;
	}

	.navbar-nav {
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto;
	}

		.navbar-nav .nav-item {
			height: 100%;
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
		}

			/* Vertical separators between links */
			.navbar-nav .nav-item:not(:last-child)::after {
				content: "";
				width: 1px;
				height: 14px;
				background-color: rgba(255, 255, 255, 0.2);
				display: inline-block;
				margin-left: 10px;
				margin-right: 10px;
			}
}

/* Mobile responsive menu */
.toggle-button {
	background: transparent;
	border: none;
	outline: none;
	padding: 5px;
}

@media (min-width: 992px) {
	.toggle-button {
		display: none;
	}
}

@media (max-width: 991.98px) {
	.toggle-button {
		display: block;
	}

	.navbar-custom .navbar-collapse {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		margin-top: 10px;
		padding-top: 10px;
	}

	.navbar-nav .nav-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.05);
		padding: 8px 0;
	}

		.navbar-nav .nav-item:last-child {
			border-bottom: none;
		}
}

/* Hero Swiper Banner - Responsive Height */
.hero-swiper-container {
	position: relative;
	width: 100%;
	height: 80vh;
	min-height: 600px;
	max-height: 750px;
	overflow: hidden;
	background-color: var(--dark-bg);
}

.swiper-slide {
	position: relative;
	width: 100%;
	height: 100%;
}

.juniorsThumbsSwiper .swiper-slide {
	height: 150px;
}

	.juniorsThumbsSwiper .swiper-slide img {
		max-width: 100%;
	}

/* Background Media Styles */
.slide-bg-media {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	z-index: 1;
}

.ticket-horizontal-img {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9; /* match your design; keeps the box a fixed size before/while the image loads */
}

	.ticket-horizontal-img .slide-bg-media {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(14, 14, 17, 0.60) 0%, rgba(14, 14, 17, 0.3) 50%, rgba(14, 14, 17, 0) 100%);
	z-index: 2;
}

.slide-caption-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	width: 100%;
	max-width: 1400px;
	padding-left: 20px;
	padding-right: 20px;
	text-align: left;
	color: var(--text-light);
}

@media (min-width: 768px) {
	.slide-caption-container {
		padding-left: 5rem;
		padding-right: 5rem;
	}
}

.slide-caption-container h1 {
	color: #ffffff;
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 1.1;
	margin-bottom: 20px;
	animation: fadeInUp 1s ease both;
}

.slide-caption-container p {
	font-size: 1.1rem;
	font-weight: 300;
	max-width: 650px;
	margin: 0 0 30px 0;
	letter-spacing: 0.5px;
	opacity: 0.9;
	animation: fadeInUp 1s ease 0.2s both;
}

.slide-actions {
	display: flex;
	justify-content: flex-start !important;
	animation: fadeInUp 1s ease 0.4s both;
}

/* Custom Navigation & Pagination in Banner */
.swiper-button-prev-custom,
.swiper-button-next-custom {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-light);
	cursor: pointer;
	z-index: 10;
	background-color: rgba(14, 14, 17, 0.2);
	backdrop-filter: blur(4px);
	transition: var(--transition-smooth);
}

	.swiper-button-prev-custom:hover,
	.swiper-button-next-custom:hover {
		background-color: var(--primary-color);
		border-color: var(--primary-color);
		color: var(--text-light);
	}

.swiper-button-prev-custom {
	left: 30px;
}

.swiper-button-next-custom {
	right: 30px;
}

/* Swiper pagination override */
.swiper-pagination-custom {
	width: 120px !important;
	position: absolute;
	bottom: 40px !important;
	left: 50% !important;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	gap: 10px;
	text-align: center;
	align-items: center;
	justify-content: center;
}

	.swiper-pagination-custom .swiper-pagination-bullet {
		width: 12px;
		height: 12px;
		background-color: rgba(255, 255, 255, 0.4);
		opacity: 1;
		margin: 0 !important;
		transition: var(--transition-smooth);
		border-radius: 50%;
	}

	.swiper-pagination-custom .swiper-pagination-bullet-active {
		background-color: var(--primary-color);
		transform: scale(1.2);
	}

/* Synchronized Autoplay Progress Bar */
.hero-progress-bar-wrap {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 160px;
	height: 4px;
	background-color: rgba(255, 255, 255, 0.15);
	border-radius: 2px;
	z-index: 10;
}

.hero-progress-bar {
	height: 100%;
	width: 0%;
	background-color: var(--primary-color);
	transition: width 0.05s linear;
}

/* Section Common Styling */
.section-padding {
	padding: 50px 0;
}

.section-title-wrap {
	margin-bottom: 50px;
}

.section-subtitle {
	color: var(--primary-color);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 10px;
	display: block;
}

.section-title {
	font-size: clamp(1.8, 1.5rem + 1.5vw, 2.2rem);
	color: var(--secondary-color);
	font-weight: 900;
	position: relative;
}

/*.section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background-color: var(--primary-color);
  margin-top: 15px;
}*/

.section-title-center::after {
	margin: 15px auto 0 auto;
}

.bg-light {
	background-color: #F2F2F2 !important;
}

.course-video-wrapper {
	border-radius: 10px;
	height: 504px;
}

/* Event Tickets Section */
.ticket-tabs {
	border: none;
	padding: 0;
}

.ticket-tab-btn {
	background: transparent !important;
	color: var(--text-dark) !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	border: none !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
	/* 1px bottom border */
	border-radius: 0 !important;
	padding: 10px 20px !important;
	position: relative;
	transition: var(--transition-smooth);
}

	.ticket-tab-btn.active {
		color: #A98F47 !important;
		border-bottom: 1px solid #A98F47 !important;
		/* Optional: active color border too or just text color */
	}

/* Vertical Tab Layout for Desktop */
@media (min-width: 992px) {
	.vertical-tabs .ticket-tab-btn {
		padding: 15px 20px !important;
		font-size: 0.9rem !important;
		margin-bottom: 5px;
	}
}

/* Horizontal Responsive Layout for Mobile/Tablet */
@media (max-width: 991.98px) {
	.vertical-tabs {
		flex-direction: row !important;
		justify-content: center;
		margin-bottom: 30px !important;
		padding-bottom: 5px;
	}
}

/* Ticket Slider & Side-by-Side Cards (Center Mode) */
.ticket-swiper-container {
	width: 100%;
	padding: 15px 0;
	margin-top: -15px;
	margin-bottom: -15px;
	overflow: hidden;
}

.ticket-slide {
	width: 80%;
	max-width: 850px;
	opacity: 0.35;
	transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

	.ticket-slide.swiper-slide-active {
		opacity: 1;
	}

.ticket-horizontal-card {
	display: flex;
	flex-direction: row;
	background: #f2f2f0;
	box-shadow: var(--box-shadow-premium);
	border-radius: var(--border-radius-lg);
	overflow: hidden;
	height: 320px;
	width: 100%;
	transition: var(--transition-smooth);
}

	.ticket-horizontal-card:hover {
		transform: translateY(-5px);
	}

.ticket-horizontal-img {
	width: 45%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

	.ticket-horizontal-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: var(--transition-smooth);
	}

.ticket-horizontal-card:hover .ticket-horizontal-img img {
	transform: scale(1.06);
}

.ticket-horizontal-info {
	width: 55%;
	padding: 30px;
	display: flex;
	flex-direction: column;
}

.ticket-card-tag {
	color: #A98F47;
	font-size: 24px;
	font-weight: 500;
	align-self: flex-start;
	margin-bottom: 7px;
	text-transform: uppercase;
}

.ticket-card-title {
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--secondary-color);
	margin-bottom: 10px;
	text-transform: uppercase;
}

.ticket-card-desc {
	font-size: 14px;
	color: #303035;
	line-height: 22px;
	margin-bottom: 20px;
}

.ticket-price-wrap {
	display: flex;
	flex-direction: column;
}

.ticket-price-label {
	font-size: 0.65rem;
	text-transform: uppercase;
	color: var(--text-muted);
	letter-spacing: 1px;
}

.ticket-price-value {
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--primary-color);
	line-height: 1;
}

/* Bullet pagination override */
.ticket-pagination .swiper-pagination-bullet {
	background-color: var(--text-muted);
	opacity: 0.4;
	transition: var(--transition-smooth);
}

.ticket-pagination .swiper-pagination-bullet-active {
	background-color: var(--primary-color);
	opacity: 1;
	transform: scale(1.2);
}

.contact-us, .about-inner-page-section {
	padding-top: 130px !important;
}

.loginuser {
	margin-right: 0;
	margin-left: 0;
	margin-top: 0;
	position: relative !important;
	bottom: 0;
	right: 0 !important;
	top: 0 !important;
	z-index: 2;
}

/* Responsive adjustment for vertical on mobile */
@media (max-width: 767.98px) {
	.ticket-slide {
		width: 95%;
	}

	.ticket-horizontal-card {
		flex-direction: column;
		height: auto;
	}

	.ticket-horizontal-img {
		width: 100%;
		height: 180px;
	}

	.ticket-horizontal-info {
		width: 100%;
		padding: 20px;
	}

	.ticket-card-title {
		font-size: 1.15rem;
	}

	.ticket-card-footer {
		margin-top: 15px !important;
	}
}

/* Course Glimpse */
.course-glimpse-box {
	background-color: #ffffff;
	color: var(--text-dark);
	/*padding: 60px;*/
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.course-glimpse-img {
	height: 504px;
	object-fit: cover;
	width: 100%;
}

.course-video-wrapper:hover .play-btn-circle {
	transform: scale(1.1) !important;
	background-color: var(--primary-dark) !important;
}

/* About Section Carousel */
.about-swiper-container {
	width: 100%;
	overflow: hidden;
}

.about-slide {
	width: 32%;
	min-width: 260px;
	opacity: 0.4;
	transition: var(--transition-smooth);
}

	.about-slide.swiper-slide-active,
	.about-slide.swiper-slide-next,
	.about-slide.swiper-slide-next + .about-slide {
		/* Show active slide and a couple of adjacent slides with full opacity */
		opacity: 1;
	}

.about-card {
	height: 390px;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 30px;
	color: var(--text-light);
	border-radius: 16px !important;
	border: none;
	background-color: var(--secondary-color);
	transition: var(--transition-smooth);
}

.about-card-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition-smooth);
	z-index: 1;
}

.about-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(14, 14, 17, 0) 40%, rgba(14, 14, 17, 0.95) 100%);
	z-index: 2;
}

.about-card-content {
	position: relative;
	z-index: 3;
}

	.about-card-content h4 {
		font-size: 1.25rem;
		font-weight: 800;
		line-height: 1.2;
		margin: 0;
		color: var(--text-light);
	}

.about-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: var(--text-light);
	transition: var(--transition-smooth);
}

.about-card:hover .about-card-bg {
	transform: scale(1.08);
}

.about-card:hover .about-arrow {
	background-color: var(--text-light);
	color: var(--secondary-color);
	transform: rotate(45deg);
	border-color: var(--text-light);
}

/* Horizontal Swiper Progress Bar styled below the carousel */
/* Custom Drag-to-Slide Progress Indicator for About */
.about-progress-bar-wrap {
	width: 300px;
	height: 20px;
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	user-select: none;
}

.about-progress-bar-track {
	width: 100%;
	height: 4px;
	background-color: rgba(162, 140, 87, 0.15) !important;
	border-radius: 2px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.about-progress-bar-thumb {
	width: 60px;
	height: 6px;
	background-color: var(--primary-color) !important;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition: background-color 0.2s ease, height 0.2s ease;
	z-index: 5;
}

	.about-progress-bar-thumb:hover,
	.about-progress-bar-thumb.dragging {
		height: 10px;
		background-color: #303035 !important;
	}

@media (max-width: 991.98px) {
	.about-slide {
		width: 60%;
	}
}

@media (max-width: 575.98px) {
	.about-slide {
		width: 85%;
	}
}

/* Latest News Swiper & Cards */
.news-swiper-container {
	width: 100%;
	overflow: hidden;
}

.news-slide {
	transition: var(--transition-smooth);
	height: auto !important;
	display: flex !important;
	flex-direction: column !important;
}

.news-card {
	background-color: #f2f2f0;
	/* Default light grey card */
	border: none;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
	transition: var(--transition-smooth);
	height: 100%;
	color: var(--text-dark);
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.news-card-title {
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.4;
	color: var(--secondary-color);
	margin-bottom: 12px;
	transition: var(--transition-smooth);
}

.news-card-desc {
	font-size: 0.85rem;
	color: var(--text-muted);
	line-height: 1.55;
	margin: 0;
	transition: var(--transition-smooth);
}

.news-img-wrap {
	overflow: hidden;
	position: relative;
	height: 240px;
}

	.news-img-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: var(--transition-smooth);
	}

.news-card:hover .news-img-wrap img {
	transform: scale(1.06);
}

/* Vertical Date Column */
.news-vertical-date {
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--text-muted);
	letter-spacing: 1px;
	white-space: nowrap;
	border-left: 1px solid rgba(0, 0, 0, 0.1);
	padding-left: 12px;
	margin-right: 8px;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* News Card Hover State Visual Highlight */
.news-card:hover {
	background-color: var(--secondary-color) !important;
	color: #ffffff !important;
}

	.news-card:hover .news-card-title {
		color: #ffffff !important;
	}

	.news-card:hover .news-card-desc {
		color: rgba(255, 255, 255, 0.7) !important;
	}

	.news-card:hover .news-vertical-date {
		color: rgba(255, 255, 255, 0.5) !important;
		border-left-color: rgba(255, 255, 255, 0.2) !important;
	}

/* Horizontal Swiper Progress Bar styled below the news carousel */
/* Custom Drag-to-Slide Progress Indicator for News */
.news-progress-bar-wrap {
	width: 300px;
	height: 20px;
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	user-select: none;
}

.news-progress-bar-track {
	width: 100%;
	height: 4px;
	background-color: rgba(162, 140, 87, 0.15) !important;
	border-radius: 2px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.news-progress-bar-thumb {
	width: 60px;
	height: 6px;
	background-color: var(--primary-color) !important;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition: background-color 0.2s ease, height 0.2s ease;
	z-index: 5;
}

	.news-progress-bar-thumb:hover,
	.news-progress-bar-thumb.dragging {
		height: 10px;
		background-color: #303035 !important;
	}

/* Upcoming Events Swiper & Cards */
.events-swiper-container {
	width: 100%;
	overflow: hidden;
}

.event-carousel-slide {
	width: 32.5%;
	min-width: 280px;
	transition: var(--transition-smooth);
}

.event-carousel-card {
	background: transparent;
	border: none;
	overflow: hidden;
	transition: var(--transition-smooth);
	cursor: pointer;
}

.event-carousel-img-wrap {
	position: relative;
	width: 100%;
	height: 380px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
}

	.event-carousel-img-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: var(--transition-smooth);
	}

.event-carousel-card:hover .event-carousel-img-wrap img {
	transform: scale(1.05);
}

.event-carousel-title {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--secondary-color);
	margin-top: 15px;
	margin-bottom: 5px;
	letter-spacing: -0.2px;
	text-transform: uppercase;
	transition: var(--transition-smooth);
}

	.event-carousel-title i {
		font-size: 1.2rem;
		color: var(--text-muted);
		transition: var(--transition-smooth);
	}

.event-carousel-card:hover .event-carousel-title {
	color: #A98F47;
}

	.event-carousel-card:hover .event-carousel-title i {
		color: #A98F47;
		transform: translate(2px, -2px);
	}

.event-carousel-meta {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0;
}

/* Customize selector dropdown dropdown items */
#eventDayFilter option {
	background-color: #ffffff;
	color: var(--secondary-color);
	font-weight: 700;
}

@media (max-width: 991.98px) {
	.event-carousel-slide {
		width: 60%;
	}

	.event-carousel-img-wrap {
		height: 320px;
	}
}

@media (max-width: 575.98px) {
	.event-carousel-slide {
		width: 85%;
	}

	.event-carousel-img-wrap {
		height: 280px;
	}
}

/* Featured Players Swiper & Cards */
.players-swiper-container {
	width: 100%;
	overflow: hidden;
}

.player-slide {
	width: 32%;
	min-width: 250px;
	opacity: 0.4;
	transition: var(--transition-smooth);
}

	.player-slide.swiper-slide-active,
	.player-slide.swiper-slide-next,
	.player-slide.swiper-slide-next + .player-slide {
		opacity: 1;
	}

.player-card-wrapper {
	cursor: pointer;
}

.player-card {
	height: 307px;
	/* 307px as requested */
	background-color: transparent;
	border-radius: 12px;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	transition: var(--transition-smooth);
}

.player-rank-num {
	position: absolute;
	right: 15px;
	top: -10px;
	font-size: 8.5rem;
	font-weight: 900;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(162, 140, 87, 0.22);
	pointer-events: none;
	z-index: 1;
	font-family: 'Outfit', sans-serif;
}

.player-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	z-index: 2;
	transition: var(--transition-smooth);
}

.player-card-wrapper:hover .player-img {
	transform: scale(1.05);
}

.player-name {
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--secondary-color);
	letter-spacing: -0.2px;
	text-transform: uppercase;
}

.player-card-arrow {
	color: var(--text-muted);
	transition: var(--transition-smooth);
}

.player-card-wrapper:hover .player-card-arrow {
	color: var(--primary-color);
	transform: translate(2px, -2px);
}

/* Custom Drag-to-Slide Progress Indicator */
.players-progress-bar-wrap {
	width: 300px;
	height: 20px;
	/* Taller touch/drag target area */
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	user-select: none;
}

.players-progress-bar-track {
	width: 100%;
	height: 4px;
	background-color: rgba(162, 140, 87, 0.15) !important;
	border-radius: 2px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.players-progress-bar-thumb {
	width: 60px;
	height: 6px;
	background-color: var(--primary-color) !important;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition: background-color 0.2s ease, height 0.2s ease;
	z-index: 5;
}

	.players-progress-bar-thumb:hover,
	.players-progress-bar-thumb.dragging {
		height: 10px;
		background-color: #303035 !important;
	}

@media (max-width: 991.98px) {
	.player-slide {
		width: 60%;
	}
}

@media (max-width: 575.98px) {
	.player-slide {
		width: 85%;
	}
}

/* Explore Town Section */
.explore-img-slider {
	box-shadow: var(--box-shadow-premium);
	border-radius: 16px;
}

.explore-pagination {
	bottom: 0 !important;
	display: flex;
	justify-content: center;
	gap: 8px;
}

	.explore-pagination .swiper-pagination-bullet {
		background-color: #7b7875 !important;
		opacity: 1;
		width: 10px;
		height: 10px;
		margin: 0 !important;
		transition: var(--transition-smooth);
	}

	.explore-pagination .swiper-pagination-bullet-active {
		background-color: var(--primary-color) !important;
		transform: scale(1.15);
	}

/* Plan Your Journey (Bus/Transport) */
.journey-info-box {
	padding: 40px;
	background-color: #ffffff;
	border-left: 6px solid var(--primary-color);
	box-shadow: var(--box-shadow-premium);
}

/* Follow Us Gallery Carousel Rows */
.follow-swiper-container-1 .swiper-wrapper,
.follow-swiper-container-2 .swiper-wrapper {
	transition-timing-function: linear !important;
}

.follow-gallery-item {
	position: relative;
	overflow: hidden;
	height: 208px;
	border-radius: 12px;
}

	.follow-gallery-item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: var(--transition-smooth);
	}

.follow-gallery-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(162, 140, 87, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	color: var(--text-light);
	font-size: 1.5rem;
	transition: var(--transition-smooth);
	z-index: 2;
}

.follow-gallery-item:hover img {
	transform: scale(1.1);
}

.follow-gallery-item:hover .follow-gallery-overlay {
	opacity: 1;
}

/* Sponsors/Partners Layout */

.sponsor-group-title {
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	padding-bottom: 10px;
	font-size: 1rem;
	letter-spacing: 1px;
	margin-bottom: 15px !important;
}

.sponsor-group-card {
	background-color: #ffffff !important;
	padding: 20px;
	border-radius: 12px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
	border: 1px solid rgba(0, 0, 0, 0.05);
}

.sponsor-logo-img {
	max-height: 80px;
	width: auto;
	object-fit: contain;
	opacity: 1;
	transition: var(--transition-smooth);
	cursor: pointer;
}

	.sponsor-logo-img:hover {
		transform: scale(1.03);
	}

.organiser-logo {
	justify-content: space-between !important;
}

.sponsor-organiser-container img {
	height: 55px;
	max-height: inherit;
}

.sponsor-organiser-container .sponsor-slide-item:nth-child(2) picture img {
	transform: translateX(-60px);
	height: 125px;
}

.sponsor-organiser-container .sponsor-slide-item:nth-child(3) picture img {
	height: 100px;
}

.organiser picture:nth-of-type(2) img { height: 55px; }

.sponsor-grid-container-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: center; justify-items: center; }
.sponsor-grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	align-items: center;
	justify-items: center;
}

.sponsor-grid-img {
	max-height: 46px;
	max-width: 90%;
	object-fit: contain;
	opacity: 1;
	transition: var(--transition-smooth);
	cursor: pointer;
}

	.sponsor-grid-img:hover {
		transform: scale(1.03);
	}


.official-patrons {
	/*min-height: 309px;*/
}
.official-partners { min-height: 350px; }
.title-partner { max-height:152px }




@media (min-width: 992px) {
  .border-end-lg {
    border-right: 1px solid rgba(0,0,0,0.06);
  }
  /* Desktop Layout: Keep original grid & vertical stack */
  .sponsor-card-swiper {
    overflow: visible !important;
  }
  .sponsor-card-swiper > .swiper-wrapper {
    transform: none !important;
    width: 100% !important;
    height: auto !important;
  }
  .sponsor-organiser-container {
    display: flex !important;
    /*flex-direction: column !important;*/
    align-items: center !important;
    gap: 1.5rem !important;
  }
  .sponsor-governing-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
  .sponsor-governing-container .sponsor-slide-item {
    flex: 1 1 0% !important;
    text-align: center !important;
  }
  .sponsor-grid-container {
    display: flex !important;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)) !important;
    gap: 20px !important;
    align-items: center !important;
    justify-items: center !important;
    justify-content: center !important;
	
  }
  .sponsor-slide-item {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .sponsor-card-pagination,
  .sponsor-nav-btn {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  /* Responsive / Mobile Layout: Slide logos inside each card (1 item per slide) */
  .sponsor-card-swiper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 24px;
  }
  .sponsor-card-swiper > .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 0 !important;
    align-items: center;
  }
  .sponsor-slide-item {
    width: 100% !important;
    height: 80px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    padding: 0 34px;
  }
  .sponsor-slide-item .sponsor-logo-img,
  .sponsor-slide-item .sponsor-grid-img {
    max-height: 52px;
    max-width: 100%;
    object-fit: contain;
  }
  /* Sponsor Navigation Arrows for Mobile */
  .sponsor-nav-btn {
    position: absolute;
    top: 40px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid rgba(162, 140, 87, 0.35);
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: var(--secondary-color, #1e1e24);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    z-index: 10;
    padding: 0;
    font-size: 13px;
    line-height: 1;
    transition: var(--transition-smooth);
  }
  .sponsor-nav-btn:hover,
  .sponsor-nav-btn:active {
    background-color: var(--primary-color, #a28c57);
    border-color: var(--primary-color, #a28c57);
    color: #ffffff;
  }
  .sponsor-nav-prev {
    left: 2px;
  }
  .sponsor-nav-next {
    right: 2px;
  }
  .sponsor-card-pagination {
    position: absolute;
    bottom: 0 !important;
    left: 0;
    right: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  .sponsor-card-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background: #a0a0a0;
    opacity: 0.4;
    margin: 0 3px;
    transition: all 0.25s ease;
    border-radius: 50%;
  }
  .sponsor-card-pagination .swiper-pagination-bullet-active {
    width: 16px;
    border-radius: 3px;
    background: #A98F47;
    opacity: 1;
  }
  .sponsor-organiser-container img {
	height: 52px;
	max-height: inherit;
}

	.sponsor-organiser-container .sponsor-slide-item:nth-child(2) picture img {
		transform: inherit;
		height: 52px;
	}

	.sponsor-organiser-container .sponsor-slide-item:nth-child(3) picture img {
		height: 52px;
	}
}

@media (max-width: 575.98px) {
	.sponsor-grid-container {
		grid-template-columns: repeat(2, 1fr);
	}

	.sponsor-logo-img {
		max-height: 55px;
	}

	.sponsor-grid-img {
		max-height: 55px;
	}
}

/* Premium Footer */
.footer-custom {
	position: relative;
	color: #ffffff;
	padding: 55px 0 15px 0;
	overflow: hidden;
}

.footer-bg-picture {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

	.footer-bg-picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.footer-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.50);
	z-index: 1;
}

.footer-logo {
	max-width: 222px;
}

.footer-links li {
	margin-bottom: 8px;
	list-style: none; 
}

.footer-links a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	font-size: 0.88rem;
	font-weight: 500;
	transition: var(--transition-smooth);
	white-space: nowrap;
}

	.footer-links a:hover {
		color: #A98F47 !important;
	}

.footer-signup-form .form-control {
	background-color: rgb(255, 255, 255) !important;
	border-radius: 6px !important;
	color: #000 !important;
	padding: 12px 15px;
}

.footer-social-wrap {
	display: flex;
	gap: 15px;
}

.footer-social-icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	text-decoration: none;
	transition: var(--transition-smooth);
}

	.footer-social-icon:hover {
		background-color: var(--primary-color);
		color: var(--text-light);
		transform: translateY(-3px);
	}

.footer-bottom {
	margin-top: 50px;
	padding-top: 25px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

	.footer-bottom p {
		color: rgba(255, 255, 255, 0.5);
		font-size: 0.8rem;
		margin: 0;
	}

.toggle-button {
	background-color: transparent;
}

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

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

/* Responsive Overrides */
@media (max-width: 1399.98px) {
	.hero-swiper-container {
		height: 75vh;
		min-height: 550px;
		max-height: 660px;
	}
}

@media (max-width: 1199.98px) {
	.hero-swiper-container {
		height: 70vh;
		min-height: 500px;
		max-height: 600px;
	}
}

@media (max-width: 991.98px) {
	.hero-swiper-container {
		height: 65vh;
		min-height: 460px;
		max-height: 540px;
	}

	.slide-caption-container h1 {
		font-size: 2.5rem;
	}

	.swiper-button-prev-custom,
	.swiper-button-next-custom {
		display: none;
	}

	.section-padding {
		padding: 60px 0;
	}
}

@media (max-width: 575.98px) {
	.hero-swiper-container {
		height: 75vh;
		min-height: 420px;
		max-height: 500px;
	}

	.slide-caption-container h1 {
		font-size: 1.8rem;
	}

	.slide-caption-container p {
		font-size: 0.9rem;
	}

	.ticket-card {
		height: 320px;
		padding: 20px;
	}
}

/* Custom Navigation Arrows for Page Carousels */
.carousel-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid rgba(162, 140, 87, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--secondary-color);
	cursor: pointer;
	z-index: 10;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: var(--transition-smooth);
}

	.carousel-nav-btn:hover {
		background-color: var(--primary-color);
		border-color: var(--primary-color);
		color: #ffffff;
		box-shadow: 0 6px 16px rgba(162, 140, 87, 0.3);
	}

.carousel-prev-btn {
	left: -22px;
}

.carousel-next-btn {
	right: -22px;
}

/* Responsive adjustment: hide arrows on touch mobile screens to avoid clipping */
@media (max-width: 991.98px) {
	.carousel-nav-btn {
		display: none !important;
	}
}

.premium-text-link {
	color: var(--accent-red) !important;
	font-weight: 900;
	font-size: 18px;
	line-height: 22px;
	text-transform: uppercase;
	letter-spacing: 1px !important;
}

.social-icon-btn {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #A98F47 !important;
	font-size: 32px;
	/* Set the icon's visual size */
	transition: var(--transition-smooth);
}

	.social-icon-btn:hover {
		transform: translateY(-3px);
		opacity: 0.85;
	}

/* Custom Events Page Styling */
.events-banner {
	height: 660px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	position: relative;
	padding-bottom: 80px;
	overflow: hidden;
}

.events-banner-img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	z-index: 1;
}

.events-banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.7));*/
	background: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.5));
	z-index: 2;
}

.events-banner .container {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	position: relative;
	z-index: 3;
}

.juniors-hero-banner .container {
	align-items: center;
	justify-content: center;
}

.events-banner-caption {
	text-align: left !important;
	max-width: 100%;
	margin: 0 !important;
}

.events-banner-title {
	font-size: clamp(2rem, 1.5rem + 1.5vw, 2.8rem) !important;
	letter-spacing: -0.5px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	margin-bottom: 10px;
}

.events-banner-text {
	font-size: 16px !important;
	line-height: 1.65 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	margin-bottom: 15px !important;
}

/* Filter Controls Styling */
.filter-section {
	background-color: #fcfcfa;
	border-bottom: 1px solid rgba(162, 140, 87, 0.15);
	padding: 30px 0;
}

.filter-label {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--secondary-color);
	margin-bottom: 8px;
}

.filter-select {
	background-color: #ffffff;
	border: 1px solid rgba(162, 140, 87, 0.25);
	border-radius: 6px;
	padding: 10px 15px;
	font-weight: 700;
	color: var(--secondary-color);
	font-size: 0.9rem;
	cursor: pointer;
	transition: all 0.3s ease;
	width: 100%;
}

	.filter-select:focus {
		outline: none;
		border-color: var(--primary-color);
		box-shadow: 0 0 10px rgba(162, 140, 87, 0.15);
	}

/* Large image layout - highlights the event image prominently */
.event-img-wrap {
	height: 480px;
	/* High prominent size */
	position: relative;
	overflow: hidden;
}

	.event-img-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.5s ease;
	}

	.event-img-wrap:hover img {
		transform: scale(1.04);
	}

.event-card-badge {
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: #A98F47;
	color: #ffffff;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 6px 14px;
	border-radius: 4px;
	z-index: 2;
}

.event-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 15px;
}

	.event-card-meta span {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}

	.event-card-meta i {
		color: #A98F47;
	}

.event-card-title {
	font-size: 1.8rem;
	font-weight: 900;
	color: var(--secondary-color);
	line-height: 1.25;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.event-card-description {
	font-size: 0.95rem;
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: 20px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 3.2em;
	/* matches maximum 2 lines */
}

@media (max-width: 991.98px) {
	.events-banner {
		margin-top: 0px;
		height: 600px;
		/* Adjust slightly for tablets */
	}

	.events-banner-caption h1 {
		font-size: 3rem;
	}

	.event-img-wrap {
		height: 320px;
	}
}

.btn-banner-outline-red {
	border: 2px solid #A98F47 !important;
	background-color: transparent !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	font-size: 0.85rem !important;
	letter-spacing: 0.5px;
	padding: 12px 25px !important;
	border-radius: 0px !important;
	/* Square corners like in image */
	transition: all 0.3s ease;
	display: inline-block;
	text-decoration: none;
}

	.btn-banner-outline-red:hover {
		background-color: #A98F47 !important;
		color: #ffffff !important;
	}

/* INFO Page Custom Styles */
.info-section-bg {
	background-color: #fcfcfa;
}

.info-card {
	background-color: #ffffff;
	border-radius: 12px;
	border: 1px solid rgba(162, 140, 87, 0.15);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03);
	transition: transform 0.3s ease;
}

	.info-card:hover {
		transform: translateY(-5px);
	}

.info-icon-box {
	width: 60px;
	height: 60px;
	background-color: rgba(162, 140, 87, 0.1);
	color: #A98F47;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 1.5rem;
}

/* TICKETS Page Custom Styles */
.ticket-page-highlight {
	color: #A98F47 !important;
	font-weight: 800;
}

.ticket-eb-badge {
	background-color: #A98F47 !important;
	color: #ffffff !important;
	font-weight: 800;
	font-size: 0.75rem;
	letter-spacing: 0.5px;
	padding: 5px 12px;
	border-radius: 4px;
}

.ticket-slashed-price {
	text-decoration: line-through;
	color: #888888;
	margin-right: 10px;
	font-size: 1rem;
}

.ticket-offer-banner {
	background: linear-gradient(135deg, #A98F47, #b30000);
	color: #ffffff;
	border-radius: 8px;
	padding: 15px 25px;
	font-weight: 700;
	box-shadow: 0 4px 15px rgba(255, 0, 0, 0.2);
}

.ticket-page-card {
	background: #ffffff;
	border-radius: 12px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
	overflow: hidden;
	transition: transform 0.3s ease;
}

	.ticket-page-card:hover {
		transform: translateY(-5px);
	}

/* PRESS Page Custom Styles */
.press-download-card {
	background: #ffffff;
	border: 1px solid rgba(162, 140, 87, 0.2);
	border-radius: 8px;
	padding: 20px;
	transition: var(--transition-smooth);
}

	.press-download-card:hover {
		border-color: #A98F47;
	}

/* SUSTAINABILITY Page Horizontal Scroll Styles */
.horizontal-scroll-container {
	display: flex;
	overflow-x: auto;
	scroll-behavior: smooth;
	gap: 25px;
	padding: 20px 5px;
}

	.horizontal-scroll-container::-webkit-scrollbar {
		height: 8px;
	}

	.horizontal-scroll-container::-webkit-scrollbar-thumb {
		background-color: #A98F47;
		border-radius: 4px;
	}

	.horizontal-scroll-container::-webkit-scrollbar-track {
		background-color: #f0f0f0;
	}

.scroll-item-card {
	flex: 0 0 450px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
	background-color: #ffffff;
}

.scroll-item-image {
	height: 300px;
	width: 100%;
	object-fit: cover;
}

/* Step Fore It Styling */
.step-fore-it-box {
	background-color: #f7f7f5;
	border-left: 5px solid #28a745;
	border-radius: 0 12px 12px 0;
	padding: 35px;
}

/* CONTACT Page Form & Layout Styles */
.contact-input {
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	padding: 12px 15px;
	font-size: 0.95rem;
	color: #303035;
}

	.contact-input:focus {
		outline: none;
		border-color: #A98F47;
		box-shadow: 0 0 8px rgba(255, 0, 0, 0.15);
	}

/* NEWS Page Styles */
.news-search-box {
	border: 2px solid rgba(162, 140, 87, 0.3);
	border-radius: 8px;
	padding: 12px 25px;
	font-size: 1rem;
	width: 100%;
	max-width: 500px;
	transition: all 0.3s ease;
}

	.news-search-box:focus {
		outline: none;
		border-color: #A98F47;
		box-shadow: 0 0 10px rgba(255, 0, 0, 0.1);
	}

/* Redesigned Ticket Selector Tabs Segmented Control */
.ticket-selector-tabs {
	background-color: #f1f3f5;
	padding: 6px;
	border-radius: 50px;
	display: inline-flex !important;
	gap: 4px;
	border: 1px solid #e9ecef;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
}

	.ticket-selector-tabs .nav-link {
		color: #495057 !important;
		font-weight: 700;
		text-transform: uppercase;
		border: none !important;
		border-radius: 40px;
		padding: 12px 28px;
		font-size: 0.95rem;
		letter-spacing: 0.2px;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		background-color: transparent !important;
	}

		.ticket-selector-tabs .nav-link:hover {
			color: #212529 !important;
			background-color: rgba(0, 0, 0, 0.04) !important;
		}

		.ticket-selector-tabs .nav-link.active {
			color: #A98F47 !important;
			background-color: #ffffff !important;
			box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
		}


.ticket-day-card {
	position: relative;
	background-color: #ffffff;
	border-radius: 8px;
	border: 1px solid #A98F47;
	border-top: 4px solid #A98F47;
	box-shadow: 0 4px 15px rgba(255, 0, 0, 0.02);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	width: 100%;
	height: 100% !important;
	display: flex;
	flex-direction: column;
	will-change: transform; /* promotes to its own layer, smoother animation */
	backface-visibility: hidden; /* avoids sub-pixel jitter/blurry text */
}

	/* Keeps hover active in the 8px gap left behind when the card lifts */
	.ticket-day-card::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -8px;
		height: 8px;
	}

	.ticket-day-card .badge-label {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		bottom: calc(100% + -2px); 
		background: #303035;
		border-radius: 8px 8px 0 0;
		padding: 8px 0 10px 0; 
		display: block;
		box-shadow: 0 0 0 1px #303035;
	}

	.ticket-day-card:hover {
		transform: translateY(-8px);
		border-color: #303035;
		border-top-color: #303035;
		box-shadow: 0 12px 30px rgba(48, 48, 53, 0.15);
	}

.ticket-day-card-header {
	background-color: #A98F47;
	color: #ffffff;
	padding: 12px 10px;
	text-align: center;
	transition: background-color 0.3s ease;
}

.ticket-day-card:hover .ticket-day-card-header {
	background-color: #303035;
}

.ticket-day-card-header h5 {
	font-weight: 800;
	text-transform: uppercase;
	margin-bottom: 3px;
	font-size: 1.15rem;
	letter-spacing: 0.5px;
	color: #ffffff;
}

.ticket-day-card-header span {
	font-size: 14px;
	font-weight: 600;
}

.ticket-day-card-body {
	padding: 25px 15px;
	text-align: center;
	background-color: #fcfcfa;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: 0 0 8px 8px;
}

.ticket-day-card-price {
	font-size: 1.7rem;
	font-weight: 600;
	color: #A98F47;
	/* Default Price Red */
	margin-bottom: 20px;
	transition: color 0.3s ease;
}

.ticket-day-card:hover .ticket-day-card-price {
	color: #303035;
	/* Price turns Black on Hover */
}

.ticket-day-card-price small {
	font-size: 0.85rem;
	font-weight: 700;
	color: #888888;
	text-transform: uppercase;
	margin-right: 2px;
}

.ticket-counter-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	align-self: center;
}

.ticket-counter-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background-color: #303035;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

	.ticket-counter-btn:hover {
		background-color: #A98F47;
		/* Theme Red hover */
	}

.ticket-counter-val {
	font-size: 1.25rem;
	font-weight: 600;
	color: #303035;
	min-width: 25px;
}

.btn-get-tickets {
	background-color: #A98F47 !important;
	color: #ffffff !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 15px 45px;
	border: none;
	font-size: 1.1rem;
	transition: background-color 0.3s ease;
	border-radius: 4px;
}

	.btn-get-tickets:hover {
		background-color: #A98F47 !important;
	}

.ticket-checkout-section {
	background-color: #fcfcfa;
	border-radius: 8px;
	border: 1px solid rgba(162, 140, 87, 0.15);
}

.noTicketsSelectedMsg {
	position: relative !important;
	bottom: 0px;
	width: 100%;
	min-width: 100%;
	left: 0;
}


/* Category Details Layout */
.ticket-cat-info-row {
	margin-bottom: 45px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	padding-bottom: 35px;
}

.ticket-cat-image-wrap {
	height: 320px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

	.ticket-cat-image-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.ticket-cat-desc-wrap h3 {
	font-size: 2rem;
	font-weight: 900;
	color: #303035;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.ticket-cat-desc-wrap p {
	font-size: 1rem;
	line-height: 1.65;
	color: #666666;
}

.ticket-sub-title {
	font-size: 1.4rem;
	font-weight: 800;
	color: #303035;
	text-transform: uppercase;
	border-left: 4px solid #A98F47;
	padding-left: 12px;
	margin-bottom: 25px;
}

.ticket-sub-title-desc {
	font-size: 0.9rem;
	color: #888888;
	margin-top: -20px;
	margin-bottom: 25px;
	display: block;
}

.tabs-placeholder {
	min-height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Scroll Indicator */
.scroll-indicator-wrap {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	z-index: 5;
}

.scroll-indicator-link {
	color: #ffffff;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	transition: opacity 0.3s ease;
}

	.scroll-indicator-link:hover {
		opacity: 0.8;
		color: #A98F47;
	}

.scroll-indicator-text {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.scroll-indicator-mouse {
	width: 22px;
	height: 36px;
	border: 2px solid #ffffff;
	border-radius: 12px;
	position: relative;
}

.scroll-indicator-link:hover .scroll-indicator-mouse {
	border-color: #A98F47;
}

.scroll-indicator-wheel {
	width: 4px;
	height: 8px;
	background-color: #ffffff;
	border-radius: 2px;
	position: absolute;
	top: 6px;
	left: 50%;
	transform: translateX(-50%);
	animation: scrollBounce 1.5s infinite;
}

.scroll-indicator-link:hover .scroll-indicator-wheel {
	background-color: #A98F47;
}

@keyframes scrollBounce {
	0% {
		top: 6px;
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	100% {
		top: 18px;
		opacity: 0;
	}
}

.banner-middle-align {
	align-items: flex-end !important;
	padding-bottom: 80px !important;
}

	.banner-middle-align .events-banner-caption {
		text-align: left !important;
		margin: 0 !important;
	}

	.banner-middle-align .container {
		display: flex;
		align-items: flex-end;
		justify-content: flex-start;
	}

/* Redesigned Press Release Cards */
.press-card {
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: none;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background-color: #151518;
}

	.press-card:hover {
		transform: translateY(-8px);
		box-shadow: 0 15px 35px rgba(255, 0, 0, 0.08);
	}

.press-card-img {
	height: 280px;
	width: 100%;
	overflow: hidden;
	position: relative;
}

	.press-card-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.5s ease;
	}

.press-card:hover .press-card-img img {
	transform: scale(1.06);
}

.press-card-body {
	background: linear-gradient(135deg, #1f1f23, #121215);
	/* Premium Gradient */
	padding: 32px 28px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	text-align: left;
	border-left: 4px solid transparent;
	transition: border-color 0.3s ease;
}

.press-card:hover .press-card-body {
	border-left-color: #A98F47;
	/* Red Left Accent on Hover */
}

.press-badge {
	background-color: rgba(255, 0, 0, 0.1);
	color: #A98F47;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 4px 10px;
	border-radius: 4px;
	margin-bottom: 15px;
	width: fit-content;
	display: inline-block;
	border: 1px solid rgba(255, 0, 0, 0.2);
}

.press-card-title {
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 12px;
	line-height: 1.35;
	transition: color 0.3s ease;
}

.press-card:hover .press-card-title {
	color: #A98F47;
	/* Title turns red on hover */
}

.press-card-text {
	color: #b0b0b5;
	font-size: 0.88rem;
	line-height: 1.65;
	margin-bottom: 25px;
	flex-grow: 1;
}

.btn-press-read-more {
	color: #ffffff;
	background-color: transparent;
	border: 1.5px solid #A98F47;
	padding: 8px 22px;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none;
	display: inline-block;
	width: fit-content;
	transition: all 0.3s ease;
	border-radius: 4px;
}

	.btn-press-read-more:hover {
		background-color: #A98F47;
		color: #ffffff;
	}

/* Horizontal Card Layout Split Option */
@media (min-width: 992px) {
	.press-card-horizontal {
		flex-direction: row;
	}

		.press-card-horizontal .press-card-img {
			width: 45%;
			height: auto;
			min-height: 100%;
		}

		.press-card-horizontal .press-card-body {
			width: 55%;
		}
}

.btn-press-view-more {
	color: #303035;
	background-color: transparent;
	border: 2px solid #A98F47;
	padding: 12px 40px;
	font-size: 0.9rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
	border-radius: 4px;
}

	.btn-press-view-more:hover {
		background-color: #A98F47;
		color: #ffffff;
		border-color: #A98F47;
	}

/* Press Search Row Wrapper styling */
.search-container-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 600px;
	margin: 0 auto 50px auto;
}

	.search-container-wrap .news-search-box {
		margin: 0 !important;
		max-width: none !important;
		flex-grow: 1;
		height: 52px;
	}

.search-action-btn {
	background-color: #A98F47 !important;
	color: #ffffff !important;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: none;
	padding: 12px 30px;
	height: 52px;
	font-size: 0.9rem;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: all 0.3s ease;
	white-space: nowrap;
}

	.search-action-btn:hover {
		background-color: #A98F47 !important;
	}

/* Sustainability Page Additions */
.green-stat-card {
	padding: 30px 15px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
	height: 100%;
	text-align: center;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: transform 0.3s ease;
}

	.green-stat-card:hover {
		transform: translateY(-5px);
	}

.green-stat-icon-wrap {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 2px solid #28a745;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	background-color: rgba(40, 167, 69, 0.04);
}

	.green-stat-icon-wrap i {
		color: #28a745;
		font-size: 1.6rem;
	}

.green-stat-val {
	color: #28a745;
	font-size: 1.8rem;
	font-weight: 900;
	text-transform: uppercase;
}

.green-stat-title-text {
	font-size: 0.88rem;
	color: #303035;
	line-height: 1.4;
	/*flex-grow: 1;*/
	margin-bottom: 10px;
}

.green-stat-sub-text {
	font-size: 0.82rem;
	color: #303035;
	line-height: 1.4;
}

.btn-sustainability-report {
	color: #006241 !important;
	border: 2px solid #006241 !important;
	font-weight: 800;
	border-radius: 4px;
	padding: 12px 35px;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease;
	background-color: transparent;
}

	.btn-sustainability-report:hover {
		background-color: #006241 !important;
		color: #ffffff !important;
	}

.sustainability-wide-card {
	border-radius: 8px;
	overflow: hidden;
	background-color: #ffffff;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.05);
}

.sustainability-wide-card-body {
	padding: 45px 35px;
	text-align: left;
}

.sustainability-wide-card-badge {
	font-size: 0.75rem;
	font-weight: 800;
	color: #28a745;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 12px;
}

.sustainability-wide-card-title {
	font-size: 1.6rem;
	font-weight: 900;
	color: #303035;
	text-transform: uppercase;
	margin-bottom: 25px;
	line-height: 1.35;
}

.btn-sustain-solid {
	background-color: #006241 !important;
	color: #ffffff !important;
	font-weight: 800;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 12px 30px;
	border: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease;
	text-decoration: none;
}

	.btn-sustain-solid:hover {
		background-color: #004d33 !important;
	}

.btn-sustain-outline {
	border: 2px solid #006241 !important;
	color: #006241 !important;
	font-weight: 800;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 11px 30px;
	background-color: transparent;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.3s ease;
	text-decoration: none;
}

	.btn-sustain-outline:hover {
		background-color: #006241 !important;
		color: #ffffff !important;
	}

/* Sustainability Banner Logo Styles */
.banner-logos-row {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
	flex-wrap: wrap;
}

.banner-logo-icon {
	height: 110px;
	width: auto;
}

	.banner-logo-icon:hover {
		transform: translateY(-3px);
	}

.sustainability-intro-box {
	background-color: #ffffff;
	border: 1px solid rgba(162, 140, 87, 0.15);
	border-radius: 8px;
	padding: 30px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

#transport {
	padding: 50px;
}

/* Container redesign for Info.html */
.info-row-card {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	margin-bottom: 30px;
}

.info-row-card-body {
	padding: 45px;
	text-align: left;
}

.info-row-card-badge {
	font-size: 0.75rem;
	font-weight: 800;
	color: #A98F47;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 12px;
}

.info-row-card-title {
	font-size: 1.6rem;
	font-weight: 950;
	color: #303035;
	margin-bottom: 20px;
}

.info-row-card-text {
	color: #666666;
	font-size: 0.95rem;
	line-height: 1.65;
	margin-bottom: 25px;
}

.info-detail-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 576px) {
	.info-detail-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.info-detail-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 0.88rem;
	color: #303035;
}

	.info-detail-item i {
		color: #A98F47;
		font-size: 1.25rem;
	}

	.info-detail-item strong {
		display: block;
		font-weight: 800;
		color: #303035;
		margin-bottom: 2px;
	}

	.info-detail-item span {
		color: #666666;
	}

.btn-info-action {
	background-color: #A98F47 !important;
	color: #ffffff !important;
	font-weight: 800;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 12px 30px;
	border: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-size: 0.88rem;
	transition: all 0.3s ease;
}

	.btn-info-action:hover {
		background-color: #A98F47 !important;
	}

/* Info Planner Layout rules */
.info-planner-route-card {
	display: flex;
	gap: 15px;
	align-items: flex-start;
	margin-bottom: 20px;
	text-align: left;
}

.info-planner-route-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: rgba(255, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #A98F47;
	flex-shrink: 0;
}

.info-venue-box-footer {
	background-color: #242426;
	/*border-left: 4px solid #A98F47;*/
	border-radius: 4px;
	padding: 30px;
	color: #ffffff;
	text-align: left;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

	.info-venue-box-footer h4 {
		font-weight: 900;
		color: #ffffff;
		letter-spacing: 0.5px;
		margin-bottom: 15px;
	}

	.info-venue-box-footer address {
		color: #b0b0b5;
		line-height: 1.8;
		font-size: 0.95rem;
		margin: 0;
		font-style: normal;
	}

/* Early Bird Promo styling rules */
.early-bird-promo {
	background-color: rgba(255, 0, 0, 0.04) !important;
	border-left: 4px solid #A98F47 !important;
}

/* Banner Ongoing Offers Styling */
.banner-offers-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 35px;
	flex-wrap: wrap;
}

.banner-offer-card {
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1.5px solid rgba(255, 255, 255, 0.3);
	padding: 14px 28px;
	border-radius: 40px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #ffffff;
	font-size: 0.95rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

	.banner-offer-card:hover {
		background: #A98F47 !important;
		border-color: #A98F47;
		transform: translateY(-4px) scale(1.03);
		box-shadow: none !important;
	}

.banner-offer-badge {
	background-color: #A98F47;
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 900;
	padding: 6px 14px;
	border-radius: 20px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	display: inline-block;
	line-height: 1.2;
}

.banner-offer-card:hover .banner-offer-badge {
	background-color: #140e10 !important;
	transition: background-color 0.3s ease;
}

.banner-offer-title {
	color: #ffffff;
	font-weight: 800;
}

/* FAQ Page Specific Styles */
.faq-pill {
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 0.82rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 8px 20px !important;
	transition: all 0.3s ease !important;
	border: 1px solid var(--secondary-color);
}

	.faq-pill:hover {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
	}

	.faq-pill.active {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
	}

.accordion-item {
	border-radius: 8px !important;
	overflow: hidden;
}

.accordion-header,
.accordion-button {
	border-radius: 8px !important;
}

.faq-group-title {
	font-size: 1.25rem;
	letter-spacing: 0.5px;
	margin-top: 60px;
	position: relative;
	padding-bottom: 12px;
	margin-bottom: 24px;
	color: #303035;
}

	.faq-group-title::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 60px;
		/* Small aligned underline to the left */
		height: 3px;
		background-color: #A98F47;
		border-radius: 2px;
	}

.accordion-button:not(.collapsed) {
	color: #A98F47 !important;
	background-color: rgba(255, 0, 0, 0.03) !important;
}

.accordion-button:focus {
	box-shadow: 0 0 0 0.25rem rgba(255, 0, 0, 0.15) !important;
	border-color: #A98F47 !important;
}

.max-w-600 {
	max-width: 600px;
}

.faq-banner {
	background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.75)), url('../images/3rd Hole .jpg');
	min-height: 480px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.faq-banner-container {
	z-index: 2;
	width: 100%;
}

.faq-search-input {
	border-radius: 8px !important;
	font-size: 0.95rem !important;
	max-width: 480px !important;
	transition: all 0.3s ease !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
}

	.faq-search-input:hover {
		border-color: #A98F47 !important;
	}

	.faq-search-input:focus {
		border-color: #A98F47 !important;
		box-shadow: 0 0 0 0.25rem rgba(169, 143, 71, 0.15) !important;
		outline: none !important;
	}

.faq-search-btn {
	background-color: #A98F47 !important;
	border: 1px solid #A98F47 !important;
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
	flex-shrink: 0;
}

	.faq-search-btn:hover {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
	}

	.faq-search-btn:focus {
		box-shadow: 0 0 0 0.25rem rgba(169, 143, 71, 0.2) !important;
		outline: none !important;
	}

.faq-accordion-body {
	line-height: 1.6;
	font-size: 0.92rem;
}

.footer-form-input {
	border-radius: 6px !important;
	font-size: 0.95rem !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: #fff !important;
}

.footer-divider-line {
	border-color: rgba(255, 255, 255, 0.15) !important;
	margin-bottom: 35px !important;
}

.faq-icon-fav {
	width: 16px;
	height: 16px;
}

/* Schedule Page Styling Details */
.schedule-banner {
	background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.8)), url('../images/Event/Tournament Town.jpg');
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.schedule-banner-container {
	z-index: 2;
	width: 100%;
}

.schedule-search-input {
	border-radius: 4px !important;
	font-size: 0.95rem !important;
	max-width: 480px !important;
	transition: all 0.3s ease !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
}

	.schedule-search-input:hover {
		border-color: #A98F47 !important;
	}

	.schedule-search-input:focus {
		border-color: #A98F47 !important;
		box-shadow: 0 0 0 0.25rem rgba(169, 143, 71, 0.15) !important;
		outline: none !important;
	}

.schedule-search-btn {
	background-color: #A98F47 !important;
	border: 1px solid #A98F47 !important;
	border-radius: 4px !important;
	transition: all 0.3s ease !important;
	flex-shrink: 0;
}

	.schedule-search-btn:hover {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
	}

	.schedule-search-btn:focus {
		box-shadow: 0 0 0 0.25rem rgba(169, 143, 71, 0.2) !important;
		outline: none !important;
	}

.schedule-day-tab {
	border-radius: 20px !important;
	font-weight: 700 !important;
	font-size: 0.82rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 8px 20px !important;
	transition: all 0.3s ease !important;
	border: 1px #303035 solid;
}

	.schedule-day-tab:hover {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
	}

	.schedule-day-tab.active {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
	}

.schedule-table-header {
	font-size: 1.35rem;
	font-weight: 900;
	text-transform: uppercase;
	color: #303035;
	letter-spacing: 0.5px;
	margin-bottom: 20px;
	position: relative;
	padding-bottom: 12px;
	text-align: left;
}

	.schedule-table-header::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 50px;
		height: 3px;
		background-color: #A98F47;
		border-radius: 2px;
	}

.schedule-thead-row {
	background-color: #303035 !important;
	color: #ffffff !important;
}

	.schedule-thead-row th {
		background-color: #303035 !important;
		color: #ffffff !important;
		font-weight: 800;
		text-transform: uppercase;
		font-size: 0.82rem;
		letter-spacing: 1px;
		padding: 18px 20px !important;
		border-bottom: 2px solid #A98F47 !important;
	}

.schedule-row-item td {
	padding: 16px 20px !important;
	font-size: 0.92rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.schedule-time {
	color: #A98F47;
	font-weight: 800;
}

.schedule-act {
	color: #303035;
	font-weight: 800;
}

/* Mega Menu Styles */
.mega-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #ffffff;
	z-index: 10000;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	overflow-y: auto;
	color: #000000;
}

	.mega-menu-overlay.active {
		opacity: 1;
		visibility: visible;
	}

.mega-menu-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 60px 20px;
	position: relative;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mega-menu-close {
	position: absolute;
	top: 10px;
	right: 20px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 10100;
	transition: transform 0.2s ease;
	padding: 0;
}

	.mega-menu-close:hover {
		transform: scale(1.1);
	}

	.mega-menu-close img {
		width: 28px;
		height: 28px;
	}

.mega-menu-content {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 50px;
	align-items: start;
}

.mega-menu-left {
	border-right: 1px solid #e0e0e0;
	padding-right: 50px;
}

.mega-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

	.mega-menu-list li {
		border-bottom: 1.5px solid #000000;
		padding: 14px 0;
	}

		.mega-menu-list li:last-child {
			border-bottom: 1.5px solid #000000;
			/* keep underline for volunteer as in screenshot */
		}

		.mega-menu-list li a {
			font-size: 1.8rem;
			font-weight: 900;
			color: #000000;
			text-decoration: none;
			display: flex;
			justify-content: space-between;
			align-items: center;
			text-transform: uppercase;
			transition: color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), padding-left 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
			letter-spacing: -0.5px;
			font-family: Arial, Helvetica, sans-serif;
		}

			.mega-menu-list li a:hover {
				color: #a98f47;
				padding-left: 12px;
			}

.menu-arrow {
	width: 24px;
	height: 24px;
	transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.mega-menu-list li a:hover .menu-arrow {
	transform: translate(6px, -6px);
}

.mega-menu-right {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.mega-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-decoration: none;
}

.mega-card-header {
	font-size: 1.25rem;
	font-weight: 800;
	color: #000000;
	text-transform: uppercase;
	text-decoration: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 6px;
	font-family: Arial, Helvetica, sans-serif;
	letter-spacing: -0.5px;
	transition: color 0.3s ease;
}

	.mega-card-header:hover {
		color: #a98f47;
	}

	.mega-card-header img {
		width: 16px;
		height: 16px;
		transition: transform 0.3s ease;
	}

	.mega-card-header:hover img {
		transform: translate(4px, -4px);
	}

.mega-card-body {
	position: relative;
	overflow: hidden;
}

.mega-card-img {
	width: 100%;
	border-radius: 0px;
	object-fit: cover;
	max-height: 170px;
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.5s ease;
}

.mega-card:hover .mega-card-img {
	transform: scale(1.04);
	filter: brightness(0.95);
}

.shop-images-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

	.shop-images-container img {
		width: 100%;
		aspect-ratio: 3/4;
		object-fit: cover;
		transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.5s ease;
	}

		.shop-images-container img:hover {
			transform: scale(1.08);
			filter: brightness(1.05);
		}

.mega-ticket-container {
	display: flex;
	background-color: #a98f47;
	background-size: cover;
	background-position: center;
	color: #ffffff;
	padding: 14px 18px;
	justify-content: space-between;
	align-items: stretch;
	min-height: 130px;
	position: relative;
	transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s ease;
}

.mega-card:hover .mega-ticket-container {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(169, 143, 71, 0.35);
}

.ticket-left {
	flex: 1.3;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.ticket-title {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.5px;
}

.ticket-subtitle {
	font-size: 0.7rem;
	opacity: 0.9;
	font-weight: 600;
	margin-top: -4px;
}

.ticket-details {
	display: flex;
	gap: 24px;
	font-size: 0.6rem;
	margin: 10px 0;
}

.detail-label {
	display: block;
	opacity: 0.8;
	font-weight: 500;
}

.detail-value {
	display: block;
	font-weight: 700;
}

.ticket-barcode img {
	height: 20px;
	width: auto;
	max-width: 140px;
	object-fit: fill;
}

.ticket-right {
	flex: 0.7;
	border-left: 1px dashed rgba(255, 255, 255, 0.4);
	padding-left: 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	text-align: right;
}

.ticket-id-label {
	font-size: 0.6rem;
	font-weight: 600;
}

.ticket-price {
	font-size: 0.85rem;
	font-weight: 800;
}

.ticket-qr img {
	width: 44px;
	height: 44px;
}

body.mega-menu-active {
	overflow: hidden !important;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
	.mega-menu-content {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.mega-menu-left {
		border-right: none;
		padding-right: 0;
	}

	.mega-menu-list li a {
		font-size: 1.6rem;
		padding: 0;
	}

	.mega-menu-container {
		padding: 80px 15px 40px;
	}

	.mega-menu-close {
		top: 20px;
		right: 15px;
	}
}

/* Juniors Page Redesign Styles */
.juniors-hero-banner {
	position: relative;
	width: 100%;
	min-height: 700px;
	background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.75)), url('../images/hero-juniors.jpg');
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 140px 20px 80px;
}

.juniors-hero-logo {
	max-width: 280px;
	height: auto;
	margin-bottom: 20px;
}

.juniors-hero-title {
	font-size: 2.5rem;
	font-weight: 900;
	color: #ffffff;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.juniors-hero-subtitle {
	font-size: 1.1rem;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 700;
	margin-bottom: 30px;
	line-height: 1.4;
}

.juniors-btn-closed-red {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.6);
	padding: 10px 26px;
	font-weight: 800;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: inline-block;
	margin-bottom: 10px;
}

.juniors-btn-terms-red {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.6);
	padding: 10px 26px;
	font-weight: 800;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
}

	.juniors-btn-terms-red:hover {
		background: #A98F47;
		border-color: #A98F47;
		color: #ffffff;
	}

/* Juniors Split Section Card Styles */
.juniors-split-section {
	background-color: #f8f9fa;
	padding: 60px 0;
}

	.juniors-split-section.bg-alt {
		background-color: #f8f9fa;
	}

.juniors-detail-card {
	background: #ffffff;
	border-radius: 20px;
	border: 1px solid rgba(0, 0, 0, 0.05);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.juniors-red-bar {
	width: 32px;
	height: 4px;
	background-color: #A98F47;
	border-radius: 2px;
	margin-bottom: 20px;
}

.juniors-split-title {
	font-size: 1.8rem;
	font-weight: 900;
	color: #000000;
	text-transform: uppercase;
	margin-bottom: 25px;
	line-height: 1.25;
	letter-spacing: -0.5px;
}

.juniors-split-text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #495057;
	margin-bottom: 20px;
}

.juniors-card-image {
	width: 100%;
	height: 100%;
	max-height: 460px;
	object-fit: cover;
	border-radius: 16px;
}

.juniors-border-divider {
	border-left: 1px solid #e9ecef;
}

/* List with red icons */
.juniors-icon-list-item {
	display: flex;
	gap: 16px;
	margin-bottom: 25px;
	align-items: flex-start;
	text-align: left;
}

.juniors-icon-circle {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid #A98F47;
	color: #A98F47;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	flex-shrink: 0;
	background-color: #ffffff;
}

.juniors-list-content h3 {
	font-size: 0.95rem;
	font-weight: 800;
	color: #000000;
	text-transform: uppercase;
	margin-bottom: 8px;
	letter-spacing: 0.2px;
}

.juniors-list-content ul {
	padding-left: 15px;
	margin-bottom: 0;
}

.juniors-list-content li {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #495057;
	margin-bottom: 4px;
}

.juniors-list-content p {
	font-size: 0.9rem;
	color: #495057;
	margin-bottom: 0;
}

/* Accreditation boxes */
.juniors-accreditation-row {
	display: flex;
	gap: 16px;
	margin-top: 30px;
	border-top: 1px solid #e9ecef;
	padding-top: 25px;
}

.juniors-accreditation-box {
	border: 1.5px solid #dee2e6;
	border-radius: 12px;
	padding: 12px 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	min-height: 80px;
	flex: 1;
}

.juniors-card-image {
	width: 100%;
	height: 100%;
	max-height: 460px;
	object-fit: cover;
	border-radius: 16px;
	transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

	.juniors-card-image:hover {
		transform: scale(1.03);
	}

/* Photo Gallery UI matching Attached Design */
.gallery-modal-bg {
	background-color: #000000;
	padding: 60px 0;
	position: relative;
}

.gallery-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	padding-bottom: 14px;
	/*border-bottom: 1px solid rgba(255, 255, 255, 0.1);*/
}

.gallery-title-wrap {
	display: flex;
	align-items: center;
	gap: 16px;
}

.gallery-title-text {
	font-size: 1.25rem;
	font-weight: 800;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 1px;
	position: relative;
	padding-bottom: 4px;
}

/*.gallery-title-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 40px;
  height: 3px;
  background-color: #A98F47;
}*/
.gallery-counter {
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 600;
}

/* Main Gallery Swiper Container & Overlay Controls */
.gallery-main-container {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 24px;
}

.gallery-main-container .btn, .gallery-thumbs-row-wrapper .btn {
    padding: 4px 0 0 4px;
    width: 36px;
    height: 36px;
    min-width: 36px;
}

.gallery-main-container .btn .b1, .gallery-thumbs-row-wrapper .btn .bi {
	line-height: 8px;
}

.main-gallery-card {
	width: 100%;
	height: 540px;
	border-radius: 16px;
	overflow: hidden;
}

	.main-gallery-card img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

.gallery-arrow-btn {
	width: 46px;
	height: 46px;
	background: rgba(0, 0, 0, 0.65);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	cursor: pointer;
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

	.gallery-arrow-btn:hover {
		background: #A98F47;
		border-color: #A98F47;
		color: #ffffff;
		transform: translateY(-50%) scale(1.08);
	}

	.gallery-arrow-btn.prev-btn {
		left: 20px;
	}

	.gallery-arrow-btn.next-btn {
		right: 20px;
	}

/* Thumbnail Track Row with Arrow Controls */
.gallery-thumbs-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

.thumb-arrow-btn {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

	.thumb-arrow-btn:hover {
		background: rgba(255, 255, 255, 0.2);
		color: #ffffff;
	}

.juniorsThumbsSwiper {
	width: 100%;
	overflow: hidden;
}

.thumb-card {
	width: 100%;
	height: 80px;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.5;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

	.thumb-card:hover {
		opacity: 0.85;
	}

.juniorsThumbsSwiper .swiper-slide-thumb-active .thumb-card {
	opacity: 1;
	border-color: #A98F47;
	box-shadow: 0 4px 14px rgba(227, 24, 55, 0.5);
}

.thumb-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Photo Gallery UI matching Attached Design */
.gallery-modal-bg {
	background-color: #000000;
	padding: 60px 0;
	position: relative;
	font-family: 'Montserrat', 'Inter', sans-serif;
}

.gallery-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.gallery-title-wrap {
	display: flex;
	align-items: center;
}

.gallery-title-text {
	font-size: 1.25rem;
	font-weight: 800;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.gallery-counter {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.4);
	font-weight: 600;
}

/* Main Gallery Swiper Container & Overlay Controls */
.gallery-main-container {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 24px;
}

.main-gallery-card {
	width: 100%;
	height: 560px;
	border-radius: 16px;
	overflow: hidden;
}

	.main-gallery-card img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

.gallery-arrow-btn {
	width: 48px;
	height: 48px;
	background: rgba(18, 18, 18, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	cursor: pointer;
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

	.gallery-arrow-btn:hover {
		background: rgba(18, 18, 18, 0.9);
		border-color: rgba(255, 255, 255, 0.3);
		color: #ffffff;
	}

	.gallery-arrow-btn.prev-btn {
		left: 20px;
	}

	.gallery-arrow-btn.next-btn {
		right: 20px;
	}

/* Thumbnail Track Row with Absolute Arrow Controls */
.gallery-thumbs-row-wrapper {
	position: relative;
	padding: 0 50px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
}

.thumb-arrow-btn {
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	cursor: pointer;
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

	.thumb-arrow-btn:hover {
		background: #A98F47;
		border-color: #A98F47;
		color: #ffffff;
		transform: translateY(-50%) scale(1.08);
	}

	.thumb-arrow-btn.thumb-prev-btn {
		left: 6px;
	}

	.thumb-arrow-btn.thumb-next-btn {
		right: 6px;
	}

.juniorsThumbsSwiper {
	width: 100%;
	overflow: hidden;
	height: 60px;
}

	.juniorsThumbsSwiper .swiper-slide {
		height: 60px !important;
	}

.thumb-card {
	width: 100%;
	height: 60px;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.5;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

	.thumb-card:hover {
		opacity: 0.85;
	}

.juniorsThumbsSwiper .swiper-slide-thumb-active .thumb-card {
	opacity: 1;
	border-color: #A98F47;
}

.thumb-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Footer Meta Bar */
.gallery-footer-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.gallery-footer-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 2px;
}

.gallery-footer-sub {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.4);
	margin-bottom: 0;
}

.gallery-footer-actions {
	display: flex;
	align-items: center;
}

.gallery-action-btn-link {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.3rem;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.3s;
}

	.gallery-action-btn-link:hover {
		color: #ffffff;
	}

@media (max-width: 991.98px) {
	.juniors-card-title {
		font-size: 1.7rem;
	}

	.main-gallery-card {
		height: 360px;
	}

	.thumb-card {
		height: 65px;
	}

	.juniors-glass-card {
		padding: 30px;
	}

	.juniors-img-wrapper {
		min-height: 320px;
	}
}

/* Dedicated Juniors Footer */
.juniors-footer {
	background-color: #0b0b0d;
	color: #ffffff;
	padding: 80px 0 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.juniors-footer-logo {
	max-height: 48px;
	margin-bottom: 20px;
}

.juniors-footer-heading {
	font-size: 1.1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 24px;
	color: #ffffff;
	position: relative;
	padding-bottom: 8px;
}

	.juniors-footer-heading::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 30px;
		height: 2px;
		background-color: #A98F47;
	}

.juniors-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

	.juniors-footer-links li {
		margin-bottom: 12px;
	}

	.juniors-footer-links a {
		color: rgba(255, 255, 255, 0.6);
		text-decoration: none;
		font-size: 0.92rem;
		transition: all 0.3s ease;
	}

		.juniors-footer-links a:hover {
			color: #ffffff;
			padding-left: 4px;
		}

/* Content Creator DDC Styling */
.creator-hero-banner {
	background-color: #0b0b0d;
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding-top: 140px;
	padding-bottom: 80px;
	color: #ffffff;
	overflow: hidden;
}

.creator-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at 80% 20%, rgba(227, 24, 55, 0.12) 0%, transparent 50%), radial-gradient(circle at 20% 80%, rgba(169, 143, 71, 0.08) 0%, transparent 50%), linear-gradient(rgba(11, 11, 13, 0.6), rgba(11, 11, 13, 0.95));
	z-index: 1;
}

.creator-hero-content {
	position: relative;
	z-index: 2;
	max-width: 800px;
}

.creator-hero-caption {
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 2px;
	color: #A98F47;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.creator-hero-title {
	font-size: 3.5rem;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 20px;
	letter-spacing: -1px;
}

.creator-hero-subtitle {
	font-size: 1.15rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 35px;
}

/* Info Paragraph */
.creator-section-desc {
	font-size: 1rem;
	line-height: 1.8;
	color: #495057;
	max-width: 820px;
	margin: 0 auto;
}

/* Feature Cards */
.creator-card {
	background: #ffffff;
	border: 1px solid #f1f1f4;
	border-radius: 16px;
	padding: 35px 30px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.02);
	transition: all 0.4s ease;
	height: 100%;
	position: relative;
	text-align: center;
}

	.creator-card:hover {
		transform: translateY(-8px);
		box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
		border-color: rgba(227, 24, 55, 0.15);
	}

.creator-icon-wrap {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #A98F47;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	margin: 0 auto 25px;
	box-shadow: 0 8px 20px rgba(227, 24, 55, 0.25);
}

.creator-card-title {
	font-size: 1.15rem;
	font-weight: 800;
	color: #000000;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.creator-card-text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #6c757d;
	margin-bottom: 20px;
}

.creator-card-line {
	width: 30px;
	height: 2px;
	background-color: #A98F47;
	margin: 0 auto;
}

/* Zone Cards */
.zone-card {
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
	border: 1px solid #e9ecef;
	transition: all 0.4s ease;
	height: 100%;
}

	.zone-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 15px 35px rgba(0, 0, 0, 0.07);
	}

.zone-img-wrap {
	position: relative;
	height: 240px;
	overflow: hidden;
}

	.zone-img-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.6s ease;
	}

.zone-card:hover .zone-img-wrap img {
	transform: scale(1.06);
}

.zone-badge {
	position: absolute;
	top: 18px;
	right: 15px;
	bottom: 13px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #A98F47;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	box-shadow: 0 6px 15px rgba(227, 24, 55, 0.3);
	z-index: 2;
}

.zone-body {
	padding: 35px 25px 25px;
}

.zone-title {
	font-size: 1.15rem;
	font-weight: 800;
	color: #000000;
	margin-bottom: 10px;
}

.zone-text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #6c757d;
	margin-bottom: 0;
}

/* Requirements list */
.creator-req-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.creator-req-item {
	display: flex;
	gap: 15px;
	margin-bottom: 18px;
	align-items: center;
}

.creator-req-icon {
	color: #A98F47;
	font-size: 1.35rem;
	flex-shrink: 0;
	display: flex;
}

.creator-req-text {
	font-size: 0.95rem;
	line-height: 1.5;
	color: #495057;
}

/* Testimonial Cards */
.creator-testimonial-card {
	background: #ffffff;
	border: 1px solid #f1f1f4;
	border-radius: 16px;
	padding: 30px 25px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.015);
	height: 100%;
}

.creator-quote-icon {
	color: #A98F47;
	font-size: 1.8rem;
	margin-bottom: 15px;
	display: block;
}

.creator-quote-text {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #495057;
	font-style: italic;
	margin-bottom: 15px;
}

.creator-quote-author {
	font-size: 0.85rem;
	font-weight: 700;
	color: #000000;
}

/* Bottom Callout Banner */
.creator-bottom-banner {
	background-color: #0b0b0d;
	padding: 80px 0;
	position: relative;
	overflow: hidden;
	color: #ffffff;
	border-radius: 20px;
}

.creator-bottom-banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at 50% 50%, rgba(227, 24, 55, 0.15) 0%, transparent 60%), linear-gradient(rgba(11, 11, 13, 0.85), rgba(11, 11, 13, 0.95));
	z-index: 1;
}

.creator-bottom-banner-content {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.creator-bottom-icon-wrap {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #A98F47;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	margin: 0 auto 20px;
	box-shadow: 0 6px 15px rgba(227, 24, 55, 0.3);
}

@media (max-width: 767.98px) {
	.creator-hero-title {
		font-size: 2.3rem;
	}

	.creator-hero-subtitle {
		font-size: 1rem;
	}
}

/* Index.html Refactored Custom Classes */
.index-play-btn {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(162, 140, 87, 0.9);
	backdrop-filter: blur(4px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
	transition: all 0.4s ease;
}

.index-play-icon {
	font-size: clamp(2rem, 1.5rem + 1.5vw, 2.5rem);
	margin-left: 5px;
}

.index-large-heading {
	font-size: clamp(2rem, 1.5rem + 1.5vw, 2.8rem);
	line-height: 1.15;
	letter-spacing: -0.5px;
}

.index-news-heading {
	font-size: clamp(2rem, 1.5rem + 1.5vw, 2.5rem);
	letter-spacing: -0.5px;
}

.index-red-link {
	color: var(--accent-red) !important;
	font-weight: 900;
	font-size: 18px;
	line-height: 22px;
	text-transform: uppercase;
	letter-spacing: 1px !important;
}

.index-events-heading {
	font-size: clamp(2rem, 1.5rem + 1.5vw, 2.8rem);
	line-height: 1.1;
	letter-spacing: -0.5px;
}

.event-day-filter-select {
	background: transparent;
	border: none;
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--secondary-color);
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	outline: none;
	text-align-last: right;
	width: 100%;
}

.event-day-filter-icon {
	position: absolute;
	right: 0;
	top: 14px;
	pointer-events: none;
	font-weight: bold;
	color: var(--secondary-color);
}

.flag-icon-img {
	width: 22px;
	height: 14px;
	object-fit: cover;
}

.index-town-heading {
	font-size: clamp(2rem, 1.5rem + 1.5vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -0.5px;
}

.index-town-subtitle {
	font-size: 0.95rem;
	letter-spacing: 0.5px;
}

.index-town-p {
	font-size: 0.95rem;
	line-height: 1.6;
}

.index-town-link {
	color: var(--accent-red) !important;
	font-weight: 900;
	font-size: 18px;
	line-height: 22px;
	text-transform: uppercase;
	letter-spacing: 1px !important;
}

.town-carousel-img {
	height: 504px;
	object-fit: cover;
}

.journey-heading {
	font-size: 2.6rem;
	line-height: 1.15;
	letter-spacing: -0.5px;
}

.journey-subtitle {
	font-size: 0.95rem;
	letter-spacing: 0.5px;
}

.journey-text {
	font-size: 0.95rem;
	line-height: 1.6;
}

.journey-list {
	font-size: 0.95rem;
}

.journey-icon-bus {
	color: var(--primary-color);
}

.journey-img {
	height: 504px;
	object-fit: cover;
}

.follow-heading {
	font-size: 2.6rem;
	line-height: 1.15;
	letter-spacing: -0.5px;
	border: none;
}

/* Site-wide Refactored Custom Classes */
.header-logo-img {
	max-height: 40px;
	width: auto;
}

.mobile-tagline-style {
	font-size: 0.65rem;
	letter-spacing: 1px;
	opacity: 0.85;
}

.footer-app-img {
	width: 175px;
	height: auto;
}

.footer-sub-title {
	font-size: 1.25rem;
	line-height: 1.3;
	letter-spacing: -0.2px;
}

.footer-sub-input {
	border-radius: 6px;
	font-size: 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	color: #ffffff !important;
}

.footer-sub-btn {
	background-color: #A98F47 !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 0.95rem !important;
	letter-spacing: 0.5px !important;
}

.footer-links-list {
	font-size: 1.05rem;
}

.footer-divider {
	border-color: rgba(255, 255, 255, 0.15) !important;
	margin-bottom: 35px !important;
}

.footer-bottom-row {
	font-size: 0.85rem;
}

.mega-ticket-bg {
	background-image: url('../images/mega-menu/ticket-bg.png');
}

/* Tickets Page specific classes */
.ticket-offer-title {
	letter-spacing: -0.2px;
}

.ticket-offer-desc {
	font-size: 0.85rem;
}

.ticket-badge-danger {
	background-color: #A98F47 !important;
	font-size: 0.75rem;
	border-radius: 4px;
	width: fit-content;
}

.ticket-order-heading {
	color: #303035;
}

/* Schedule Page specific classes */
.col-time {
	width: 25%;
}

.col-location {
	width: 35%;
}

.col-activity {
	width: 40%;
}

/* Venue Map Page specific classes */
.venue-map-main {
	padding: 60px 0;
	background-color: #f8f9fa;
}

.venue-map-title {
	font-size: 2.8rem;
	letter-spacing: -0.5px;
}

.venue-map-desc {
	max-width: 100%;
	font-size: 1.05rem;
}

/* Override Bootstrap Danger/Red Utilities with Gold Theme */
.btn-danger {
	background-color: #A98F47 !important;
	border-color: #A98F47 !important;
}

	.btn-danger:hover,
	.btn-danger:focus,
	.btn-danger:active {
		background-color: #927c3c !important;
		border-color: #927c3c !important;
	}

.btn-outline-danger {
	color: #A98F47 !important;
	border-color: #A98F47 !important;
}

	.btn-outline-danger:hover,
	.btn-outline-danger:focus,
	.btn-outline-danger:active {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
	}

.text-danger {
	color: #A98F47 !important;
}

.bg-danger {
	background-color: #A98F47 !important;
}

.border-danger {
	border-color: #A98F47 !important;
}

.badge-danger {
	background-color: #A98F47 !important;
}

.juniors-red-bar {
	background-color: #A98F47 !important;
}

/* Eat Street Custom Classes */
.vendor-img-wrap {
	height: 180px;
	position: relative;
}

/*.vendor-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}*/

/*.vendor-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.25);
	z-index: 1;
}*/

.vendor-badge-wrap {
	bottom: -20px;
	left: 15px;
	z-index: 2;
}

.vendor-badge {
	width: 60px;
	height: 60px;
	font-size: 0.65rem;
	line-height: 1.1;
	border: 3px solid #ffffff;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	border-radius: 50% !important;
}

.vendor-badge-custom-gold {
	background-color: #A98F47;
}

.vendor-badge-custom-green {
	background-color: #1b4d3e;
}

.vendor-badge-custom-purple {
	background-color: #4a154b;
}

.vendor-badge-custom-light-green {
	background-color: #2e7d32;
}

.vendor-badge-custom-brown {
	background-color: #5d4037;
}

.vendor-cuisine {
	color: #A98F47;
	font-size: 0.75rem;
	letter-spacing: 0.5px;
	font-weight: 600;
}

.vendor-desc {
	font-size: 0.85rem;
	line-height: 1.5;
}

.vendor-btn {
	border-color: #A98F47 !important;
	color: #A98F47 !important;
	border-radius: 4px;
	font-size: 0.9rem;
	letter-spacing: 0.5px;
}

	.vendor-btn:hover {
		background-color: #A98F47 !important;
		color: #ffffff !important;
	}

.map-title {
	font-size: 1.25rem;
}

.map-subtitle {
	font-size: 0.85rem;
	color: #000000;
	font-weight: 400;
}

.map-img-border {
	border: 1px solid #e9ecef;
}

.timing-box {
	background-color: #f8f9fa;
	border: 1px solid #e9ecef;
}

.timing-hours {
	font-size: 1.8rem;
	letter-spacing: -0.5px;
}

.timing-subtitle {
	font-size: 0.9rem;
	color: #000000;
	font-weight: 400;
}

.timing-highlight-text {
	font-size: 0.75rem;
	line-height: 1.2;
}

.eat-street-gallery-container {
	height: 480px;
	border: 1px solid #e9ecef;
}

@media (max-width: 768px) {
	.eat-street-gallery-container {
		height: 300px;
	}
}

/* Custom Events Page Card Styles */
.custom-event-card {
	border: 1px solid #e9ecef !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

	.custom-event-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
	}

.custom-event-card-img-wrap {
	height: 220px;
}

	.custom-event-card-img-wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.4s ease;
	}

.custom-event-card:hover .custom-event-card-img-wrap img {
	transform: scale(1.05);
}

.custom-event-card-date-bar {
	background-color: #303035;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 8px 0;
	text-align: center;
}

.custom-event-card-time {
	font-size: 0.8rem;
	font-weight: 700;
	color: #5C5C5C;
}

.custom-event-card-title {
	font-size: 1.2rem;
	font-weight: 900;
	color: #303035;
	letter-spacing: -0.2px;
}

.custom-event-card-location {
	font-size: 0.85rem;
	color: #5C5C5C;
}

.custom-event-card-category {
	font-size: 0.75rem;
	font-weight: 700;
	color: #A98F47;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.custom-event-card-description {
	font-size: 1rem;
	line-height: 1.5;
	color: #303035;
}

.custom-event-card-footer {
	border-top: 1px solid #e9ecef;
	padding-top: 15px;
}

.custom-event-share-btn {
	width: 36px;
	height: 36px;
	border: 1px solid #e9ecef;
	border-radius: 50%;
	background-color: #ffffff;
	color: #5C5C5C;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

	.custom-event-share-btn:hover {
		background-color: #f8f9fa;
		color: #1e1e24;
	}

.custom-event-detail-btn {
	border: 1px solid #303035 !important;
	color: #303035 !important;
	background-color: transparent !important;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 800;
	padding: 6px 16px;
	text-transform: uppercase;
	transition: all 0.2s ease;
	text-decoration: none;
}

	.custom-event-detail-btn:hover {
		background-color: #303035 !important;
		color: #ffffff !important;
	}


/* Search Box styling & focus effect */
.search-section {
	background-color: #fcfcfb;
	border-bottom: 1px solid #e9ecef;
}

.search-wrap {
	position: relative;
}

.search-input {
	border: 1px solid #d1d1cf;
	border-radius: 4px;
	font-size: 0.95rem;
	transition: all 0.3s ease;
	height: 48px;
}

	.search-input:focus {
		border-color: #A98F47 !important;
		box-shadow: 0 0 0 3px rgba(169, 143, 71, 0.25) !important;
		outline: none;
	}

.search-btn {
	background-color: #303035 !important;
	color: #ffffff !important;
	border-radius: 4px;
	font-size: 0.9rem;
	letter-spacing: 0.5px;
	transition: all 0.2s ease;
	height: 48px;
}

	.search-btn:hover {
		background-color: #A98F47 !important;
		color: #ffffff !important;
	}

/* Floating Sticky Cart Styles */
.sticky-cart-wrap {
	position: fixed;
	/*bottom: 25px;*/
	bottom: 85px;
	right: 25px;
	z-index: 1050;
	width: 380px;
	max-width: 90%;
	animation: slideUpCart 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes slideUpCart {
	from {
		transform: translateY(100px);
		opacity: 0;
	}

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

.sticky-cart-content {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
	transition: all 0.3s ease;
}

#stickyCheckoutBtn:hover {
	background-color: #A98F47 !important;
	color: #ffffff !important;
}

/* Expandable views details style */
.sticky-cart-details {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-top 0.3s ease, padding-top 0.3s ease;
}

.sticky-cart-wrap.expanded .sticky-cart-details {
	max-height: 250px;
	border-top: 1px solid #f2f2f2;
	padding-top: 12px;
	overflow-y: auto;
}

.sticky-cart-wrap .toggle-arrow-icon {
	transition: transform 0.3s ease;
	transform: rotate(180deg);
	/* points down when collapsed by default */
}

.sticky-cart-wrap.expanded .toggle-arrow-icon {
	transform: rotate(0deg);
	/* points up when expanded */
}

.sticky-cart-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px dashed #f2f2f2;
	color: #1e1e24 !important;
}

	.sticky-cart-item .text-dark {
		color: #000000 !important;
		font-weight: 800;
	}

	.sticky-cart-item .text-muted {
		color: #555555 !important;
		font-weight: 600;
	}

	.sticky-cart-item:last-child {
		border-bottom: none;
	}


/* Custom Extracted Styles for CDDC, Info-2, and Eat-Street */
.ext-info-2-1 {
	max-width: 100%;
	font-size: 0.95rem;
	line-height: 1.6;
	margin-bottom: 25px;
}

.ext-info-2-2 {
	font-size: 0.8rem;
	letter-spacing: 0.5px;
	border-radius: 8px;
}

.ext-info-2-3 {
	margin-top: -30px;
	position: relative;
	z-index: 10;
}

.ext-info-2-4 {
	aspect-ratio: 4/5;
}

.ext-info-2-5 {
	object-fit: cover;
}

.ext-info-2-6 {
	letter-spacing: 1px;
}

.ext-info-2-7 {
	font-size: 2.2rem;
	letter-spacing: -0.5px;
}

.ext-info-2-8 {
	line-height: 1.4;
}

.ext-info-2-9 {
	font-size: 0.95rem;
	line-height: 1.7;
}

.ext-info-2-10 {
	border-top: 1px solid #e9ecef !important;
}

.ext-info-2-11 {
	font-size: 0.85rem;
	letter-spacing: 0.5px;
}

.ext-info-2-12 {
	line-height: 1.5;
}

.ext-info-2-13 {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	min-height: 600px;
	display: flex;
	align-items: center;
}

.ext-info-2-14 {
	background-color: rgba(0, 0, 0, 0.35);
	top: 0;
	left: 0;
}

.ext-info-2-15 {
	z-index: 5;
}

.ext-info-2-16 {
	font-size: 0.8rem;
	letter-spacing: 1px;
}

.ext-info-2-17 {
	font-size: 1.8rem;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

.ext-info-2-18 {
	line-height: 1.6;
}

.ext-info-2-19 {
	position: relative;
	z-index: 10;
}

.ext-info-2-20 {
	background-color: #faf9f6;
}

.ext-info-2-21 {
	aspect-ratio: 3/2;
}

.ext-info-2-22 {
	font-size: 2.1rem;
	letter-spacing: -0.5px;
}

.ext-info-2-23 {
	font-size: 0.85rem;
	letter-spacing: 0.5px;
	border-radius: 8px;
}

.ext-info-2-24 {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	min-height: 600px;
	display: flex;
	align-items: center;
}

.ext-info-2-25 {
	background-color: rgba(0, 0, 0, 0.3);
	top: 0;
	left: 0;
}

.ext-info-2-26 {
	font-size: 0.9rem;
}

.ext-info-2-27 {
	line-height: 1.7;
}

.ext-info-2-28 {
	z-index: 3;
}

.ext-cddc-1 {
	position: relative;
}

.ext-cddc-2 {
	z-index: 2;
	height: 100%;
}

.ext-cddc-3 {
	padding-top: 80px;
	padding-bottom: 30px;
}

.ext-cddc-4 {
	font-size: 2rem;
	letter-spacing: -0.5px;
}

.ext-cddc-5 {
	font-size: 0.95rem;
	line-height: 1.7;
}

.ext-cddc-6 {
	object-fit: cover;
	height: 320px;
}

.ext-cddc-7 {
	text-transform: none !important;
}

.ext-cddc-8 {
	background-color: #ffffff;
	height: 100%;
	border: 1px solid #e9ecef !important;
}

.ext-cddc-9 {
	aspect-ratio: 1/1;
	height: auto;
}

.ext-cddc-10 {
	object-fit: cover;
}

.ext-cddc-11 {
	font-size: 1.15rem;
	color: #303035;
	letter-spacing: -0.2px;
}

.ext-cddc-12 {
	font-size: 1.3rem;
	line-height: 1;
}

.ext-cddc-13 {
	font-size: 0.8rem;
	letter-spacing: 0.5px;
}

.ext-cddc-14 {
	font-size: 0.85rem;
	line-height: 1.5;
	color: #5C5C5C;
}

.ext-cddc-15 {
	position: relative;
	aspect-ratio: 16/9;
}

.ext-cddc-16 {
	background-color: #ffffff;
	border-color: #e9ecef !important;
}

.ext-cddc-17 {
	font-size: 1rem;
}

.ext-cddc-18 {
	color: #A98F47;
	font-size: 0.85rem;
}

.ext-cddc-19 {
	border-top: 1px solid #e9ecef !important;
}

.ext-cddc-20 {
	border: 1px solid #e9ecef;
}

.ext-cddc-21 {
	border: none;
	font-size: 0.8rem;
	letter-spacing: 0.5px;
}

.ext-cddc-22 {
	background-color: #A98F47;
	color: #ffffff;
	font-size: 0.8rem;
	letter-spacing: 0.5px;
	padding: 6px 12px;
}

.ext-cddc-23 {
	border-radius: 8px;
}

.ext-cddc-24 {
	font-size: 0.75rem;
	border-bottom: 2px solid #e9ecef;
	letter-spacing: 0.5px;
	background-color: #fcfcfb;
}

.ext-cddc-25 {
	transition: opacity 0.25s ease;
}

.ext-cddc-26 {
	z-index: 3;
}

.ext-cddc-27 {
	font-size: 0.9rem;
}

.ext-cddc-28 {
	font-size: 1.15rem;
	line-height: 1;
}

.ext-cddc-29 {
	font-size: 0.95rem;
}

.ext-eat-street-1 {
	background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.75)), url('../images/Tournament Town.jpg');
	position: relative;
}

.ext-eat-street-2 {
	z-index: 2;
	height: 100%;
}

.ext-eat-street-3 {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #f8f7f4;
}

.ext-eat-street-4 {
	font-size: 2.5rem;
	letter-spacing: -0.5px;
}

.ext-eat-street-5 {
	max-width: 600px;
	font-size: 1.1rem;
	color: #000000;
	font-weight: 400;
}

.ext-eat-street-6 {
	color: #A98F47;
}

.ext-eat-street-7 {
	letter-spacing: -0.5px;
}

.ext-eat-street-8 {
	border-bottom: 3px solid #A98F47;
	padding-bottom: 4px;
}

.ext-eat-street-9 {
	font-size: 0.85rem;
}

.ext-eat-street-10 {
	object-fit: cover;
}

.ext-eat-street-11 {
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	z-index: 10;
	width: 36px;
	height: 36px;
	opacity: 0.8;
	border: none;
	background: rgba(0, 0, 0, 0.6);
}

.ext-eat-street-12 {
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	z-index: 10;
	width: 36px;
	height: 36px;
	opacity: 0.8;
	border: none;
	background: rgba(0, 0, 0, 0.6);
}

.ext-eat-street-13 {
	width: 32px;
	height: 32px;
	border: 1px solid #e9ecef;
}

.ext-eat-street-14 {
	height: 60px;
}

.ext-eat-street-15 {
	width: 80px;
}

.ext-eat-street-16 {
	border: 2px solid transparent;
}

.ext-eat-street-17 {
	object-fit: cover;
	cursor: pointer;
}

.ext-eat-street-18 {
	z-index: 3;
}

.cddc-player-slide {
	height: auto !important;
}

	.cddc-player-slide .card {
		height: 100% !important;
		display: flex;
		flex-direction: column;
	}

	.cddc-player-slide .card-body {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}

	.cddc-player-slide .news-card-info {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		height: 100%;
	}

	.cddc-player-slide .news-card-desc {
		flex-grow: 1;
	}

/* Leaderboard Custom Styling */
.active-toggle-style {
	background-color: #303035 !important;
	color: #ffffff !important;
	transition: all 0.3s ease;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.inactive-toggle-style {
	background-color: transparent !important;
	color: #5C5C5C !important;
	transition: all 0.3s ease;
}

	.inactive-toggle-style:hover {
		color: #303035 !important;
	}

.leaderboard-row {
	border-bottom: 1px solid #f1f0ec;
	transition: background-color 0.25s ease;
	min-height: 54px;
	font-size: 0.95rem;
}

	.leaderboard-row:hover {
		background-color: #fcfcfb;
	}

.leaderboard-row-champion {
	border-left: 4px solid #A98F47 !important;
	background-color: rgba(169, 143, 71, 0.04);
	font-weight: bold;
}

	.leaderboard-row-champion:hover {
		background-color: rgba(169, 143, 71, 0.07);
	}

.leaderboard-pos-number {
	font-weight: 800;
	color: #303035;
}

.leaderboard-row-champion .leaderboard-pos-number {
	color: #A98F47;
	font-size: 1.1rem;
}

.leaderboard-player-name {
	color: #303035;
	letter-spacing: -0.1px;
}

.leaderboard-score-total {
	font-weight: 800;
	color: #303035;
}

.score-under-par {
	color: #0d8a5f;
	/* Clean golf green under-par color */
}

.score-even-par {
	color: #303035;
}

.text-gold {
	color: #A98F47 !important;
}

.bg-gold {
	background-color: #A98F47 !important;
}

.btn-gold {
	background-color: #A98F47 !important;
	color: #ffffff !important;
	border: 1px solid #A98F47 !important;
	transition: all 0.3s ease;
}

	.btn-gold:hover {
		background-color: #303035 !important;
		border-color: #303035 !important;
		color: #ffffff !important;
	}

.btn-outline-gold {
	border: 1px solid #A98F47 !important;
	color: #A98F47 !important;
	background-color: transparent !important;
	transition: all 0.3s ease;
}

	.btn-outline-gold:hover {
		background-color: #A98F47 !important;
		color: #ffffff !important;
	}

.circle-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #A98F47;
	color: #ffffff;
	font-size: 1.25rem;
}

.info-overlay-card {
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
	padding: 40px;
}

/* App Download Section Styling */
.app-download-section {
	/*background: linear-gradient(135deg, rgba(169, 143, 71, 0.78), rgba(48, 48, 53, 0.88)), url('../images/hovland-fleetwood-and-scott-confirmed-for-2022-dubai-desert-classic.jpg') no-repeat center center;*/
	background-size: cover;
	position: relative;
	/*overflow: hidden;*/
	display: flex;
	align-items: center;
	background: #000000;
	background: -webkit-linear-gradient(to right, #645837, #000000);
	background: linear-gradient(to right, #645837, #000000);
	/*background: linear-gradient(135deg, #221e13 0%, #A98F47 100%);*/
}

@media (min-width: 992px) {
	.app-download-section {
		height: 270px;
		/*margin-top: 100px;*/
		margin-top: 30px;
	}
}

.stay-connected-subtitle {
	color: #ffffff;
	font-weight: 800;
	font-size: 0.85rem;
	letter-spacing: 2px;
}

.gold-line {
	display: inline-block;
	width: 40px;
	height: 2px;
	background-color: #A98F47;
}

.stay-connected-title {
	font-size: 2.5rem;
	line-height: 1.1;
	letter-spacing: -1px;
}

.stay-connected-desc {
	font-size: 1.1rem;
	line-height: 1.6;
	max-width: 100%;
	color: #ffffff !important;
	margin-bottom: 0;
}

.app-store-badge-img {
	height: 48px;
	width: auto;
	border-radius: 6px;
	border: 1.5px solid #A98F47;
	transition: all 0.3s ease;
}

	.app-store-badge-img:hover {
		transform: translateY(-3px);
		box-shadow: 0 4px 15px rgba(169, 143, 71, 0.3);
	}

.mobile-mockup-wrapper {
	margin-top: 0px;
	margin-bottom: -105px;
	display: inline-block;
	position: relative;
	z-index: 0;
}

.mobile-mockup-img {
	max-height: 460px;
	width: auto;
	display: block;
}

@media (max-width: 991.98px) {
	.stay-connected-title {
		font-size: 2.2rem;
	}

	.app-download-section {
		padding-bottom: 50px;
	}

	.stay-connected-desc {
		max-width: 100%;
	}

	.stay-connected-subtitle {
		justify-content: center;
	}
}

/* Swiper Disabled Button Styling */
.swiper-button-disabled,
.carousel-nav-btn.swiper-button-disabled {
	opacity: 0.3 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;
}

/* Instagram Post Mockup Styling */
.instagram-post-card {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

	.instagram-post-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
	}

.post-header {
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.profile-pic-container {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	border: 1.5px solid #000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
}

.profile-pic {
	width: 80%;
	height: 80%;
	object-fit: contain;
}

.profile-name {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--secondary-color);
}

.post-location {
	font-size: 0.7rem;
	color: var(--text-muted);
	display: block;
}

.social-icon-link {
	color: var(--text-muted);
	font-size: 0.95rem;
	transition: color 0.2s ease;
}

	.social-icon-link:hover {
		color: #A98F47;
	}

.post-image-wrap {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
	background: #f0f0f0;
}

.post-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.instagram-post-card:hover .post-image {
	transform: scale(1.03);
}

.post-footer {
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.action-icon {
	color: var(--secondary-color);
	cursor: pointer;
	transition: color 0.2s ease;
}

	.action-icon:hover {
		color: #A98F47;
	}

.post-likes {
	font-size: 0.8rem;
	color: var(--secondary-color);
}

.post-caption {
	font-size: 0.8rem;
	color: var(--secondary-color);
	line-height: 1.4;
}

	.post-caption strong {
		margin-right: 5px;
	}

.hashtags {
	color: #00376b;
	display: block;
	margin-top: 5px;
	font-size: 0.75rem;
}

/* Equal Heights for Follow Us Swiper Cards */
.follow-swiper-container .swiper-slide {
	height: auto !important;
}

.follow-swiper-container .instagram-post-card {
	height: 100% !important;
}

/* Promotional ticket offers layout for Tickets.html */
.ticket-day-card-price.promotional-offer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	margin-bottom: 20px;
}

	.ticket-day-card-price.promotional-offer .original-price {
		text-decoration: line-through;
		color: #888888;
		font-size: 1.1rem;
		font-weight: 600;
		margin-bottom: -3px;
	}

	.ticket-day-card-price.promotional-offer .discounted-price {
		font-size: 1.7rem;
		font-weight: 600;
		color: #A98F47;
		transition: color 0.3s ease;
	}

.ticket-day-card:hover .ticket-day-card-price.promotional-offer .discounted-price {
	color: #303035;
}

/* Eat Street Map Image Hover Overlay Styles */
.map-img-border img {
	transition: transform 0.4s ease;
}

.map-img-border:hover img {
	transform: scale(1.05);
}

.map-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 5;
}

.map-img-border:hover .map-overlay {
	opacity: 1;
}

.map-overlay .btn-premium {
	transform: translateY(15px);
	transition: transform 0.3s ease;
}

.map-img-border:hover .map-overlay .btn-premium {
	transform: translateY(0);
}

/* Golf Players List Styles */
.player-row {
	transition: background-color 0.25s ease, transform 0.2s ease;
	background-color: #ffffff;
}

	.player-row:hover {
		background-color: rgba(169, 143, 71, 0.07) !important;
	}

	.player-row:last-child {
		border-bottom: none !important;
	}

	.player-row i.bi-chevron-right {
		transition: transform 0.25s ease;
	}

	.player-row:hover i.bi-chevron-right {
		transform: translateX(4px);
	}


/* Standard Transparent Toggle Menu Icon */
.toggle_Button {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer;
	box-shadow: none !important;
	transform: none !important;
}

	.toggle_Button:hover {
		background: none !important;
		border: none !important;
		box-shadow: none !important;
		transform: scale(1.05) !important;
	}

/* Hide webkit scrollbars for timeline scroll container */
#yearsTimeline::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Premium Year Timeline Capsules Redesign (Glassmorphism Overlay Theme) */
.timeline-year-btn {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	min-width: 90px !important;
	height: 42px;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

	.timeline-year-btn:hover {
		background-color: rgba(255, 255, 255, 0.2) !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
		transform: translateY(-2px);
	}

	.timeline-year-btn.active {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
	}

.timeline-arrow-btn {
	background-color: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: #ffffff !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	width: 42px;
	height: 42px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	transition: all 0.3s ease !important;
}

	.timeline-arrow-btn:hover {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
		transform: translateY(-1px);
	}

/* Champion Background Image Scaling Fix (Responsive to prevent cutoff on wide screens) */
#championImg {
	background-size: contain !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-color: #140e10 !important;
}

@media (min-width: 992px) {
	#championImg {
		background-size: contain !important;
		background-position: 15% center !important;
	}
}

/* CDDC About Hero Image Height Alignment Fix */
@media (min-width: 992px) {
	.cddc-about-img-wrap {
		height: 100% !important;
		display: flex;
	}

	.cddc-about-img {
		height: 100% !important;
		object-fit: cover !important;
	}
}

/* Slider Caption Subtitle Color override */
.slide-caption-container .section-subtitle {
	color: #ffffff !important;
}

@media (max-width: 1299px) {
	.nav-link-custom {
		padding: 10px 5px !important;
		font-size: 0.7rem !important;
	}
}




/* Timeline arrows positioning overrides for history page card */
@media (max-width: 767.98px) {
	#timelinePrevBtn {
		margin-left: 0px !important;
		left: 10px !important;
	}

	#timelineNextBtn {
		margin-right: 0px !important;
		right: 10px !important;
	}
}

@media (min-width: 768px) {
	#timelinePrevBtn {
		margin-left: -54px !important;
	}

	#timelineNextBtn {
		margin-right: -54px !important;
	}
}

/* Search input left alignment overrides */
#playerSearch {
	text-align: left !important;
}

	#playerSearch::placeholder {
		text-align: left !important;
	}

/* Custom styling for expanded Bootstrap Accordion buttons */
.accordion-button:not(.collapsed) {
	background-color: #A98F47 !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

	.accordion-button:not(.collapsed)::after {
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
	}


/* ==========================================================================
   AUTOMATIC INLINE STYLE MIGRATION CLASSES
   ========================================================================== */
.text-gold-sm-spaced {
	color: #A98F47;
	font-size: 0.9rem;
	letter-spacing: 2px;
}

.text-gold-md-spaced {
	color: #A98F47;
	font-size: 1.1rem;
	letter-spacing: 1px;
}

.text-gold {
	color: #A98F47;
}

.text-gold-imp {
	color: #A98F47 !important;
}

.container-history-text {
	max-width: 800px;
	font-size: 1rem;
	line-height: 1.8;
}

.container-cddc-text {
	max-width: 720px;
	font-size: 1rem;
	line-height: 1.8;
}

.w-80px {
	width: 80px;
}

.w-40px {
	width: 40px;
}

.flag-icon-border {
	width: 24px;
	height: 14px;
	border: 1px solid #ddd;
	margin-right: 8px;
}

.border-e0e0e0-imp {
	border: 1px solid #e0e0e0 !important;
}

.border-top-f0f0f0 {
	border-top: 1px solid #f0f0f0;
}

.card-header-black {
	background-color: #000000;
	font-size: 0.82rem;
	height: 42px;
	letter-spacing: 0.5px;
}

.table-details {
	font-size: 0.85rem;
	border-collapse: collapse;
}

.td-detail-label {
	width: 50%;
	padding: 10px 15px;
	border: 1px solid #f0f0f0;
}

.td-detail-value {
	padding: 10px 15px;
	border: 1px solid #f0f0f0;
}

.player-list-name {
	font-size: 0.95rem;
	color: #1e1e24 !important;
}

.player-list-arrow {
	color: #A98F47;
	font-weight: bold;
}

.text-theme-green {
	color: #2e7d32 !important;
}

.w-max-320 {
	max-width: 320px;
}

.z-index-5 {
	z-index: 5;
}

.z-index-10 {
	z-index: 10;
}

.search-input-custom {
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 8px;
	padding: 10px 15px;
	font-size: 0.95rem;
}

.bg-gold-sm {
	background-color: #A98F47;
	font-size: 0.85rem;
	letter-spacing: 0.5px;
}

.backdrop-glass-card {
	background-color: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-color: rgba(255, 255, 255, 0.15) !important;
}

.text-card-description {
	font-size: 0.95rem;
	line-height: 1.7;
	font-weight: 500;
}

.title-card-header {
	letter-spacing: -1px;
	text-transform: uppercase;
	line-height: 1.1;
}

.text-visiting-header {
	color: #303035;
	font-size: 1.5rem;
	letter-spacing: 0.5px;
}

.text-visit-meta {
	font-size: 0.82rem;
	letter-spacing: 0.5px;
}

.text-visit-desc {
	font-size: 0.85rem;
	line-height: 1.4;
	margin-top: 3px;
}

.btn-visit-gold {
	background-color: #A98F47;
	border: none;
	border-radius: 4px;
	letter-spacing: 0.5px;
}

.img-visit-cover {
	object-fit: cover;
	min-height: 350px;
}

.min-h-350px {
	min-height: 350px;
}

.min-h-320px {
	min-height: 320px;
}

.custom-height-1 {
	height: 350px;
}

.custom-style-2 {
	object-fit: cover;
}

.custom-text-size-3 {
	font-size: 0.85rem;
	color: #A98F47 !important;
}

.custom-width-4 {
	max-width: 800px;
}

.custom-text-size-5 {
	max-width: 600px;
	font-size: 1rem;
	line-height: 1.6;
}

.custom-style-6 {
	background-color: #ffffff;
}

.custom-text-size-7 {
	font-size: 0.8rem;
}

.custom-text-size-8 {
	font-size: 3rem;
}

.custom-style-10 {
	z-index: 2;
}

.custom-text-size-11 {
	font-size: 0.75rem;
}

.custom-style-12 {
	resize: none;
}

.custom-style-13 {
	background-color: #A98F47;
	border: none;
	letter-spacing: 0.5px;
}

.custom-text-size-14 {
	font-size: 0.95rem;
}

.custom-text-size-15 {
	font-size: 0.9rem;
}

.custom-height-16 {
	height: 450px;
}

.custom-style-17 {
	border: 0;
}

.custom-style-18 {
	z-index: 3;
}

.custom-style-19 {
	cursor: pointer;
}

.custom-height-20 {
	height: 36px;
	width: 100%;
}

.custom-height-21 {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

.custom-text-size-22 {
	font-size: 1.1rem;
	letter-spacing: 0.5px;
	color: #fff;
}

.custom-height-24 {
	z-index: 2;
	height: 100%;
}

.custom-style-25 {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-bottom: 0 !important;
}

.custom-text-size-26 {
	font-size: 1rem;
	line-height: 1.8;
}

.custom-height-27 {
	min-height: 720px;
	background-color: #140e10;
}

.custom-style-29 {
	background: linear-gradient(270deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.6) 45%, rgba(0, 0, 0, 0.15) 100%), linear-gradient(0deg, rgba(20, 14, 16, 0.95) 0%, rgba(20, 14, 16, 0.4) 25%, transparent 100%);
	z-index: 2;
}

.custom-height-30 {
	z-index: 3;
	min-height: 720px;
}

.custom-height-31 {
	z-index: 10;
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: white;
	padding: 0px;
}

.custom-width-32 {
	min-width: 0;
	overflow: hidden;
}

.custom-height-33 {
	height: 2px;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255, 255, 255, 0.15);
}

.custom-width-34 {
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
	z-index: 2;
}

.custom-text-size-35 {
	font-size: 0.9rem;
	letter-spacing: 0.5px;
}

.custom-text-size-36 {
	font-size: 0.95rem;
	line-height: 1.6;
	font-weight: 400;
	color: #1e1e24 !important;
}

.custom-height-37 {
	height: 504px;
	width: 100%;
	object-fit: cover;
	cursor: pointer;
}

.custom-height-38 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.25);
	cursor: pointer;
	pointer-events: none;
	transition: all 0.4s ease;
}

.custom-height-39 {
	max-height: 70px;
}

.custom-height-40 {
	max-height: 50px;
}

.custom-height-41 {
	max-height: 60px;
}

.custom-style-42 {
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.custom-text-size-43 {
	font-size: 2.2rem;
	text-transform: uppercase;
	letter-spacing: -0.5px;
}

.custom-text-size-44 {
	font-size: 0.95rem;
	line-height: 1.6;
}

.custom-style-45 {
	aspect-ratio: 4/3;
}

.custom-height-49 {
	max-width: 280px;
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}

.custom-text-size-50 {
	font-size: 2.5rem;
	letter-spacing: 1px;
	margin-bottom: 8px;
}

.custom-text-size-51 {
	font-size: 1.1rem;
	letter-spacing: 1.5px;
	margin-bottom: 30px;
	line-height: 1.4;
}

.custom-style-52 {
	cursor: not-allowed;
	opacity: 0.85;
}

.custom-height-53 {
	height: 52px;
	width: auto;
}

.custom-height-54 {
	line-height: 1.15;
	font-family: sans-serif;
}

.custom-text-size-55 {
	font-size: 0.55rem;
	font-weight: 700;
	color: #6c757d;
	letter-spacing: 0.5px;
}

.custom-text-size-56 {
	font-size: 0.75rem;
	font-weight: 800;
	color: #122E54;
	letter-spacing: 0.2px;
}

.custom-style-57 {
	border-bottom: 3px solid #A98F47;
	padding-bottom: 4px;
}

.custom-height-59 {
	height: 220px;
}

.custom-text-size-60 {
	font-size: 1.2rem;
	line-height: 1.3;
}

.custom-text-size-61 {
	font-size: 0.9rem;
	line-height: 1.5;
}

.custom-width-64 {
	max-width: 480px;
	z-index: 2;
	border: 1px solid rgba(0, 0, 0, 0.05);
}

.custom-text-size-65 {
	font-size: 1.6rem;
	letter-spacing: -0.2px;
	line-height: 1.25;
}

.custom-text-size-66 {
	font-size: 0.92rem;
	line-height: 1.65;
}

.custom-height-67 {
	height: 380px;
}

.custom-height-68 {
	width: 100%;
	height: 680px;
}

.custom-style-70 {
	color: #303035;
	border-bottom: 3px solid #A98F47;
	display: inline-block;
	padding-bottom: 5px;
}

.custom-text-size-71 {
	font-size: 1.05rem;
	color: #303035;
	outline: none;
	box-shadow: none;
}

.custom-style-72 {
	color: #303035;
}

.custom-text-size-74 {
	line-height: 1.75;
	font-size: 1.05rem;
}

.custom-text-size-75 {
	line-height: 1.7;
	font-size: 0.95rem;
}

.custom-height-76 {
	height: 400px;
}

.custom-text-size-77 {
	font-size: 2.2rem;
}

.custom-height-78 {
	line-height: 1.6;
}

.custom-height-80 {
	z-index: 2;
	height: 100%;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.custom-width-81 {
	text-align: center !important;
	width: 100%;
}

.custom-text-size-82 {
	font-size: 0.85rem;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	font-weight: 600 !important;
}

.custom-height-83 {
	width: 42px;
	height: 42px;
}

.custom-text-size-84 {
	font-size: 0.65rem;
	letter-spacing: 0.5px;
	line-height: 1;
}

.custom-text-size-85 {
	font-size: 0.85rem;
}

.custom-text-size-86 {
	font-size: 0.95rem;
	color: #A98F47 !important;
}

.custom-text-size-87 {
	background-color: #303035 !important;
	border: none;
	font-size: 0.8rem;
	letter-spacing: 0.5px;
	height: 38px;
	border-radius: 8px;
}

.custom-text-size-88 {
	font-size: 0.75rem;
	line-height: 1.2;
}

.custom-text-size-89 {
	font-size: 0.65rem;
	line-height: 1;
}

.custom-text-size-90 {
	font-size: 0.7rem;
}

.custom-text-size-91 {
	font-size: 0.75rem;
	color: #A98F47 !important;
}

.custom-style-92 {
	background-color: #000000 !important;
}

.custom-width-93 {
	max-width: 700px;
}

.custom-height-94 {
	cursor: pointer;
	height: 100%;
	min-height: 380px;
}

.custom-height-95 {
	width: 48px;
	height: 48px;
}

.custom-text-size-96 {
	font-size: 0.85rem;
	letter-spacing: 0.5px;
}

.custom-text-size-97 {
	font-size: 0.9rem;
	line-height: 1.5;
	margin: 0;
}

.custom-text-size-98 {
	font-size: 0.88rem;
	line-height: 1.5;
	margin: 0;
}

.custom-text-size-99 {
	font-size: 0.85rem;
	border-color: #303035 !important;
	color: #303035 !important;
}

.ext-info-2-12 {
	--line-height: 1.6em;
	--clamp-lines: 3;
	--clamp-bg: #fff; /* match the surrounding background color */

	position: relative;
	line-height: var(--line-height);
	color: #333;
	margin: 0;
	overflow: hidden;
	max-height: calc(var(--line-height) * var(--clamp-lines));
	transition: max-height 0.25s ease;
}

	.ext-info-2-12.is-expanded {
		max-height: 1000px; /* large enough to reveal full content */
		overflow: visible;
	}

	/* Button injected by JS: .ext-info-2-12__toggle */
	.ext-info-2-12 .ext-info-2-12__toggle {
		position: absolute;
		right: 0;
		bottom: 0;
		border: none;
		cursor: pointer;
		font: inherit;
		font-weight: 600;
		font-size: 0.95em;
		color: #0d6efd;
		padding: 0 0 0 2.5em;
		line-height: var(--line-height);
		background: linear-gradient(to right, transparent, var(--clamp-bg) 45%);
	}

		.ext-info-2-12 .ext-info-2-12__toggle:hover {
			text-decoration: underline;
		}

		.ext-info-2-12 .ext-info-2-12__toggle:focus-visible {
			outline: 2px solid #0d6efd;
			outline-offset: 2px;
		}

	/* When expanded, the button drops below the text on its own line */
	.ext-info-2-12.is-expanded .ext-info-2-12__toggle {
		position: static;
		display: block;
		margin-top: 8px;
		padding-left: 0;
		background: none;
	}

.tab-pane {
	display: none !important;
}

	.tab-pane.active,
	.tab-pane.show {
		display: block !important;
	}

@media (max-width: 1050px) {
	.navbar-expand-lg .navbar-collapse {
		display: none !important;
		flex-basis: auto;
	}
}

#main_news {
	padding-top: 80px;
}

.accountPage {
	padding-top: 170px;
	padding-bottom: 70px;
}
/* Custom styling for Login Box scoped under .login-box */
.login-box {
	position: relative;
	background: #ffffff;
	border: 2px solid #e6d8c1; /* pale gold border */
	border-radius: 30px;
	padding: 55px 40px 40px 40px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
	font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: #111111;
}

	/* Hide or clean up default border-bottom if any */
	.login-box .box-title {
		font-size: 26px;
		font-weight: 800;
		letter-spacing: 0.5px;
		color: #111111;
		margin-top: 15px;
		margin-bottom: 5px;
		border-bottom: none;
	}

	.login-box .box-subtitle {
		font-size: 14px;
		color: #666666;
		margin-bottom: 30px;
		font-weight: 400;
	}

	/* Top Lock Icon */
	.login-box .login-header-icon {
		position: absolute;
		top: -37px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10;
	}

		.login-box .login-header-icon .icon-circle {
			width: 74px;
			height: 74px;
			border-radius: 50%;
			background: #ffffff;
			border: 2px solid #e6d8c1;
			display: flex;
			align-items: center;
			justify-content: center;
			box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
		}

			.login-box .login-header-icon .icon-circle i {
				color: #9a7d46;
				font-size: 28px;
			}

	/* Top Right Diagonal Ribbon */
	.login-box .top-right-ribbon {
		position: absolute;
		top: -2px;
		right: -2px;
		width: 140px;
		height: 70px;
		background: #bfa571; /* gold ribbon background */
		clip-path: polygon(45px 0, 100% 0, 100% 100%);
		border-top-right-radius: 28px;
		pointer-events: none;
	}

	/* Labels and form group spacing */
	.login-box .form-group {
		margin-bottom: 25px;
	}

	.login-box .control-label {
		font-weight: 600;
		font-size: 14px;
		color: #111111;
	}

	/* Input group styling with icons */
	.login-box .input-group-container {
		position: relative;
	}

	.login-box .form-control {
		border-radius: 8px !important;
	}

	.login-box .text-danger {
		color: #A98F47 !important;
		/*position: absolute;*/
		left: 0;
	}

	.login-box .validation-summary-errors {
		position: relative;
	}

	.login-box .input-group-container .form-control {
		height: 48px;
		border: 1px solid #e6d8c1;
		border-radius: 8px !important;
		padding-left: 45px;
		padding-right: 15px;
		font-size: 15px;
		color: #111111;
		background-color: #ffffff;
		box-shadow: none;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

		.login-box .input-group-container .form-control:focus {
			border-color: #bfa571;
			box-shadow: 0 0 0 3px rgba(191, 165, 113, 0.15);
			outline: none;
		}

	.login-box .input-icon-left {
		position: absolute;
		left: 16px;
		top: 50%;
		transform: translateY(-50%);
		color: #111111;
		font-size: 16px;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Password container and visibility toggle */
	.login-box .password-container .form-control {
		padding-right: 45px; /* space for toggle icon */
	}

	.login-box .toggle-password {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		cursor: pointer;
		color: #111111;
		font-size: 16px;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 5;
	}

	/* Custom checkbox styling for Stay Signed In / Remember Me */
	.login-box .logon-remember-me-checkbox {
		position: relative;
		padding-left: 28px;
		cursor: pointer;
		user-select: none;
		display: inline-flex;
		align-items: center;
	}

		.login-box .logon-remember-me-checkbox input[type="checkbox"] {
			position: absolute;
			opacity: 0;
			cursor: pointer;
			height: 0;
			width: 0;
		}

		.login-box .logon-remember-me-checkbox .tickmark {
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			height: 18px;
			width: 18px;
			background-color: #ffffff;
			border: 1px solid #d2bc96;
			border-radius: 4px;
		}

		.login-box .logon-remember-me-checkbox:hover input ~ .tickmark {
			background-color: #f7f3eb;
		}

		.login-box .logon-remember-me-checkbox input:checked ~ .tickmark {
			background-color: #bfa571;
			border-color: #bfa571;
		}

		.login-box .logon-remember-me-checkbox .tickmark:after {
			content: "";
			position: absolute;
			display: none;
		}

		.login-box .logon-remember-me-checkbox input:checked ~ .tickmark:after {
			display: block;
		}

		.login-box .logon-remember-me-checkbox .tickmark:after {
			left: 5px;
			top: 2px;
			width: 6px;
			height: 10px;
			border: solid white;
			border-width: 0 2px 2px 0;
			transform: rotate(45deg);
		}

		.login-box .logon-remember-me-checkbox .control-label {
			padding-left: 0;
			margin-bottom: 0;
			cursor: pointer;
		}

	/* Forgot Password link styling */
	.login-box .logon-password-retrieval-link {
		font-weight: 600;
		font-size: 14px;
		color: #a38750;
		text-decoration: none;
		transition: color 0.2s ease;
	}

		.login-box .logon-password-retrieval-link:hover {
			color: #836b3d;
			text-decoration: underline;
		}

	/* Sign In Button styling */
	.login-box .form-submit {
		display: block;
		width: 60%;
		max-width: 240px;
		height: 48px;
		background-color: #a38750;
		color: #ffffff;
		border: none;
		border-radius: 24px;
		font-size: 15px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.8px;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease;
		box-shadow: 0 4px 12px rgba(163, 135, 80, 0.2);
		margin-top: 15px;
	}

		.login-box .form-submit:hover {
			background-color: #8c7240;
			box-shadow: 0 6px 16px rgba(163, 135, 80, 0.3);
		}

		.login-box .form-submit:active {
			transform: scale(0.98);
		}

.loginuser {
	display: inline-block;
	position: relative;
}

	.loginuser .btn-premium {
		/*min-width: 148px !important;*/
		font-size: 0.8rem;
		font-weight: 600;
		text-transform: none;
		letter-spacing: 0.5px;
		/*color: #bfa571;
	border: 1px solid #bfa571;*/
		background-color: transparent;
		border-radius: 8px;
		transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	}

		.loginuser .btn-premium .user-btn-icon {
			font-size: 1.1rem;
			color: #bfa571;
			transition: color 0.2s ease;
		}

		.loginuser .btn-premium:hover,
		.loginuser .btn-premium:focus,
		.loginuser .btn-premium:active,
		.loginuser .dropdown-toggle[aria-expanded="true"] {
			background-color: #A98F47;
			color: #ffffff;
			border-color: #bfa571;
		}

			.loginuser .btn-premium:hover .user-btn-icon,
			.loginuser .btn-premium:focus .user-btn-icon,
			.loginuser .btn-premium:active .user-btn-icon,
			.loginuser .dropdown-toggle[aria-expanded="true"] .user-btn-icon {
				color: #ffffff;
			}

	.loginuser .dropdown-menu {
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 1000;
		min-width: 210px;
		background-color: #111111;
		border: 1px solid #bfa571;
		border-radius: 8px;
		padding: 12px 0 8px 0;
		margin-top: 8px;
		box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
	}

	/* Redesigned User info card at the top of dropdown */
	.loginuser .dropdown-user-info {
		padding-bottom: 10px;
	}

	.loginuser .user-avatar-circle {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background-color: #222222;
		border: 1px solid #bfa571;
		display: flex;
		align-items: center;
		justify-content: center;
	}

		.loginuser .user-avatar-circle i {
			color: #bfa571;
			font-size: 1.1rem;
		}

	.loginuser .user-meta {
		display: flex;
		flex-direction: column;
	}

	.loginuser .user-greet {
		font-size: 0.7rem;
		color: #fff;
		line-height: 1.2;
	}

	.loginuser .user-name-display {
		font-size: 0.9rem;
		font-weight: 700;
		color: #ffffff;
		line-height: 1.2;
	}

	.loginuser .dropdown-item {
		font-size: 0.85rem;
		font-weight: 500;
		padding: 10px 20px;
		color: #ffffff;
		transition: background-color 0.2s ease, color 0.2s ease;
		display: flex;
		align-items: center;
	}

		.loginuser .dropdown-item i {
			width: 16px;
			color: #bfa571;
			font-size: 1rem;
		}

		.loginuser .dropdown-item:hover,
		.loginuser .dropdown-item:focus {
			background-color: #bfa571;
			color: #111111;
		}

			.loginuser .dropdown-item:hover i,
			.loginuser .dropdown-item:focus i {
				color: #111111;
			}

	.loginuser .dropdown-divider {
		border-top: 1px solid #222222;
		margin: 8px 0;
	}

	.loginuser .logout-container {
		padding: 4px 0;
	}

	.loginuser .btn-logout {
		font-size: 0.8rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		color: #ffffff;
		background-color: #c0392b;
		border: none;
		border-radius: 6px;
		padding: 8px 16px;
		transition: background-color 0.2s ease;
	}

		.loginuser .btn-logout:hover {
			background-color: #a93226;
		}

.profile-info {
	font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: #111111;
	max-width: 800px;
	margin: 0 auto;
	padding: 30px 15px;
}

	.profile-info .profile-title {
		font-size: 28px;
		font-weight: 800;
		letter-spacing: 0.5px;
		color: #111111;
		margin-bottom: 20px;
		border-bottom: none;
	}

	.profile-info .profile-card {
		background: #ffffff;
		border: 2px solid #e6d8c1;
		border-radius: 30px;
		padding: 30px 30px 20px;
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
	}

	.profile-info .profile-subtitle {
		font-size: 20px;
		font-weight: 700;
		color: #111111;
		border-bottom: 1px solid #e6d8c1;
		margin-bottom: 25px;
	}

	/* Avatar container */
	.profile-info .profileBox {
		width: 90px;
		height: 90px;
		border-radius: 50%;
		background-color: #f7f3eb;
		border: 2px solid #bfa571;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
	}

	.profile-info .profile-avator i {
		color: #bfa571;
		font-size: 2.2rem;
	}

	/* User Name typography */
	.profile-info .profile-name {
		font-size: 22px;
		font-weight: 700;
		color: #111111;
	}

	.profile-info .profile-username {
		font-size: 14px;
		color: #888888;
	}

	/* Details Key-Value Rows */
	.profile-info .profile-details-list {
		margin-top: 25px;
	}

	.profile-info .detail-row {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 12px 0;
		border-bottom: 1px solid #f7f3eb;
	}

		.profile-info .detail-row:last-child {
			border-bottom: none;
		}

	.profile-info .detail-label label,
	.profile-info .detail-label {
		font-weight: 600;
		font-size: 14px;
		color: #777777;
		margin-bottom: 0;
	}

	.profile-info .detail-value {
		font-weight: 700;
		font-size: 14px;
		color: #111111;
		text-align: right;
	}

	/* Edit profile button link */
	.profile-info .btn-edit {
		display: flex;
		width: 60%;
		max-width: 240px;
		height: 48px;
		background-color: #a38750;
		color: #ffffff;
		border: none;
		border-radius: 24px;
		font-size: 15px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.8px;
		text-decoration: none;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
		box-shadow: 0 4px 12px rgba(163, 135, 80, 0.2);
		margin-top: 15px;
	}

		.profile-info .btn-edit:hover {
			background-color: #8c7240;
			color: #ffffff;
			box-shadow: 0 6px 16px rgba(163, 135, 80, 0.3);
		}

		.profile-info .btn-edit:active {
			transform: scale(0.98);
		}

	.profile-info .btn-edit {
		display: flex;
		max-width: 140px;
		height: 48px;
		background-color: #a38750;
		color: #ffffff;
		border: none;
		border-radius: 24px;
		font-size: 15px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.8px;
		text-decoration: none;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
		box-shadow: 0 4px 12px rgba(163, 135, 80, 0.2);
		margin-top: 15px;
	}

		.profile-info .btn-edit:hover {
			background-color: #8c7240;
			color: #ffffff;
			box-shadow: 0 6px 16px rgba(163, 135, 80, 0.3);
		}

		.profile-info .btn-edit:active {
			transform: scale(0.98);
		}

/* Scoped styling for Change Password (.change-pw) */
.change-pw {
	position: relative;
	background: #ffffff;
	border: 2px solid #e6d8c1; /* pale gold border */
	border-radius: 30px;
	padding: 55px 40px 40px 40px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
	font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: #111111;
}

	.change-pw .box-title {
		font-size: 26px;
		font-weight: 800;
		letter-spacing: 0.5px;
		color: #111111;
		margin-top: 15px;
		margin-bottom: 5px;
		border-bottom: none;
	}

	/* Top Key Icon */
	.change-pw .pw-header-icon {
		position: absolute;
		top: -37px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10;
	}

		.change-pw .pw-header-icon .icon-circle {
			width: 74px;
			height: 74px;
			border-radius: 50%;
			background: #ffffff;
			border: 2px solid #e6d8c1;
			display: flex;
			align-items: center;
			justify-content: center;
			box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
		}

			.change-pw .pw-header-icon .icon-circle i {
				color: #9a7d46;
				font-size: 28px;
			}

	/* Top Right Diagonal Ribbon */
	.change-pw .top-right-ribbon {
		position: absolute;
		top: -2px;
		right: -2px;
		width: 140px;
		height: 70px;
		background: #bfa571; /* gold ribbon background */
		clip-path: polygon(45px 0, 100% 0, 100% 100%);
		border-top-right-radius: 28px;
		pointer-events: none;
	}

	/* Form group spacing */
	.change-pw .form-group {
		margin-bottom: 20px;
	}

	.change-pw .control-label {
		font-weight: 600;
		font-size: 14px;
		color: #111111;
	}

	/* Input group styling with icons */
	.change-pw .input-group-container {
		position: relative;
	}

		.change-pw .input-group-container .form-control {
			height: 48px;
			border: 1px solid #e6d8c1;
			border-radius: 8px; /* Field border-radius is 8px */
			/*padding-left: 45px;*/
			padding-right: 15px;
			font-size: 15px;
			color: #111111;
			background-color: #ffffff;
			box-shadow: none;
			transition: border-color 0.2s ease, box-shadow 0.2s ease;
		}

			.change-pw .input-group-container .form-control:focus {
				border-color: #bfa571;
				box-shadow: 0 0 0 3px rgba(191, 165, 113, 0.15);
				outline: none;
			}

	.change-pw .input-icon-left {
		position: absolute;
		left: 16px;
		top: 50%;
		transform: translateY(-50%);
		color: #111111;
		font-size: 16px;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Password container and visibility toggle */
	.change-pw .password-container .form-control {
		padding-right: 45px; /* space for toggle icon */
	}

	.change-pw .toggle-password {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		cursor: pointer;
		color: #111111;
		font-size: 16px;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 5;
	}

	/* Change Password Submit Button styling */
	.change-pw .form-submit {
		display: block;
		width: 60%;
		max-width: 240px;
		height: 48px;
		background-color: #a38750;
		color: #ffffff;
		border: none;
		border-radius: 24px;
		font-size: 15px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.8px;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease;
		box-shadow: 0 4px 12px rgba(163, 135, 80, 0.2);
		margin-top: 15px;
	}

		.change-pw .form-submit:hover {
			background-color: #8c7240;
			box-shadow: 0 6px 16px rgba(163, 135, 80, 0.3);
		}

		.change-pw .form-submit:active {
			transform: scale(0.98);
		}

.pt-gap {
	padding-top: 100px;
}

.editUserform {
	background: #ffffff;
	border: 2px solid #e6d8c1;
	border-radius: 30px;
	padding: 40px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
	color: #111111;
	max-width: 900px;
	margin: 0 auto;
}

	.editUserform .profile-title {
		font-size: 26px;
		font-weight: 800;
		letter-spacing: 0.5px;
		color: #111111;
	}

	.editUserform .form-group {
		margin-bottom: 20px;
	}

	.editUserform .control-label,
	.editUserform label {
		font-weight: 600;
		font-size: 14px;
		color: #111111;
		margin-bottom: 8px;
		display: inline-block;
	}

	.editUserform .required-star {
		color: #c0392b;
		font-weight: bold;
		margin-left: 3px;
	}

	/* Form Input Styling */
	.editUserform .form-control,
	.editUserform input[type="text"],
	.editUserform input[type="email"],
	.editUserform input[type="tel"],
	.editUserform select,
	.editUserform textarea {
		height: 48px;
		border: 1px solid #e6d8c1;
		border-radius: 8px !important;
		padding: 10px 15px;
		font-size: 15px;
		color: #111111;
		background-color: #ffffff;
		box-shadow: none;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

		.editUserform .form-control:focus {
			border-color: #A98F47; /* Theme color */
			box-shadow: 0 0 0 3px rgba(169, 143, 71, 0.15);
			outline: none;
		}

		/* Disabled input state */
		.editUserform .disabled-input,
		.editUserform .form-control[disabled] {
			background-color: #f7f5f0;
			color: #777777;
			border-color: #e6d8c1;
			cursor: not-allowed;
		}

	/* Date input with icon layout */
	.editUserform .input-group-container {
		position: relative;
	}

		.editUserform .input-group-container .form-control {
			padding-left: 45px;
		}

	.editUserform .input-icon-left {
		position: absolute;
		left: 16px;
		top: 50%;
		transform: translateY(-50%);
		color: #A98F47; /* Theme color */
		font-size: 16px;
		pointer-events: none;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Custom styled gender options (Radio list) */
	.editUserform .gender-list {
		gap: 15px;
	}

	.editUserform .gender-radio-container {
		position: relative;
		padding-left: 28px;
		cursor: pointer;
		user-select: none;
		display: inline-flex;
		align-items: center;
		font-weight: 600;
		font-size: 14px;
		color: #111111;
	}

		.editUserform .gender-radio-container input[type="radio"] {
			position: absolute;
			opacity: 0;
			cursor: pointer;
			height: 0;
			width: 0;
		}

		.editUserform .gender-radio-container .checkmark {
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			height: 18px;
			width: 18px;
			background-color: #ffffff;
			border: 1px solid #d2bc96;
			border-radius: 50%;
			transition: background-color 0.2s ease, border-color 0.2s ease;
		}

		.editUserform .gender-radio-container:hover input ~ .checkmark {
			background-color: #f7f3eb;
		}

		.editUserform .gender-radio-container input:checked ~ .checkmark {
			background-color: #ffffff;
			border-color: #A98F47; /* Theme color */
			border-width: 2px;
		}

		.editUserform .gender-radio-container .checkmark:after {
			content: "";
			position: absolute;
			display: none;
		}

		.editUserform .gender-radio-container input:checked ~ .checkmark:after {
			display: block;
		}

		.editUserform .gender-radio-container .checkmark:after {
			top: 4px;
			left: 4px;
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: #A98F47; /* Theme color */
		}

	/* Dropdown styling */
	.editUserform .form-select {
		appearance: none;
		background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A98F47' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
		background-repeat: no-repeat;
		background-position: right 15px center;
		background-size: 16px;
		padding-right: 40px;
	}

	/* Submit/Update Button styling */
	.editUserform .form-submit {
		display: block;
		width: 60%;
		max-width: 240px;
		height: 48px;
		background-color: #A98F47; /* Theme color */
		color: #ffffff;
		border: none;
		border-radius: 24px;
		font-size: 15px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.8px;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
		box-shadow: 0 4px 12px rgba(169, 143, 71, 0.2);
		margin-top: 15px;
	}

		.editUserform .form-submit:hover {
			background-color: #8f7636;
			box-shadow: 0 6px 16px rgba(169, 143, 71, 0.3);
		}

		.editUserform .form-submit:active {
			transform: scale(0.98);
		}

.validation-summary-errors ul {
	color: #a18650;
	background-color: rgba(191, 165, 113, 0.3);
	border-color: rgba(191, 165, 113, 0.3);
	position: relative;
	padding: 1rem 1rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: .25rem;
	text-align: center;
	font-weight: 600;
}

#ticketSelector {
	width: 100%;
	max-width: 100%;
	padding-right: 0;
	padding-left: 0;
}

	#ticketSelector .flexible-ticket-row {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

		#ticketSelector .flexible-ticket-row > .col {
			flex: 1 1 0% !important;
			max-width: 100% !important;
		}

.ticketorder-summary {
	color: #111111;
	/*background: #fff;*/
	padding: 30px 30px 40px;
	margin-top: 80px;
	border-radius: 12px;
}

	.ticketorder-summary .section-main-title {
		font-size: 28px;
		font-weight: 800;
		text-transform: uppercase;
		color: #111111;
	}

	/* Card list container */
	.ticketorder-summary .ticket-orderlist-card {
		background: #ffffff;
		border: 2px solid #e6d8c1;
		border-radius: 16px;
		overflow: hidden;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	}

	.ticketorder-summary .ticket-item-row {
		border-bottom: 1px dashed #e6d8c1;
	}

	.ticketorder-summary .ticket-badge {
		width: 50px;
		height: 50px;
		border-radius: 50%;
		background-color: #A98F47;
		display: flex;
		align-items: center;
		justify-content: center;
	}

		.ticketorder-summary .ticket-badge i {
			color: #ffffff;
			font-size: 1.3rem;
			transform: rotate(-45deg);
		}

	.ticketorder-summary .order-des h5 {
		font-size: 16px;
		font-weight: 800;
		text-transform: uppercase;
		color: #111111;
	}

	.ticketorder-summary .order-des p {
		font-size: 14px;
	}

	.ticketorder-summary .qty-rate {
		font-size: 14px;
		color: #777777;
		font-weight: 600;
	}

	.ticketorder-summary .total-rate {
		font-size: 15px;
		color: #111111;
	}

	/* Total Section */
	.ticketorder-summary .total-order {
		background-color: #A98F47;
		border-top: none;
	}

		.ticketorder-summary .total-order span {
			font-size: 18px;
			letter-spacing: 0.5px;
		}

		.ticketorder-summary .total-order fs-5 {
			font-size: 18px;
		}

	.ticketorder-summary .total-vat {
		background-color: #ffffff;
		border-top: 1px solid #f7f3eb;
		padding-left: 20px;
	}

		.ticketorder-summary .total-vat p {
			font-size: 13px;
			font-weight: 500;
		}

		.ticketorder-summary .total-vat i {
			font-size: 14px;
			color: #A98F47;
		}

	/* Purchaser Header */
	.ticketorder-summary .purchaser-title {
		font-size: 22px;
		font-weight: 800;
		text-transform: uppercase;
		color: #111111;
	}

	.ticketorder-summary .login-prompt {
		font-size: 14px;
		color: #777777;
	}

		.ticketorder-summary .login-prompt .act-btn {
			color: #A98F47;
			text-decoration: none;
			transition: color 0.2s ease;
		}

			.ticketorder-summary .login-prompt .act-btn:hover {
				color: #8f7636;
			}

	.ticketorder-summary .separator {
		border-top: 1px solid #e6d8c1;
	}

	/* Input Fields styling */
	.ticketorder-summary .form-control,
	.ticketorder-summary input[type="text"],
	.ticketorder-summary input[type="email"],
	.ticketorder-summary input[type="password"],
	.ticketorder-summary select {
		height: 48px;
		border: 1px solid #e6d8c1;
		border-radius: 8px; /* Field border-radius is 8px */
		padding: 10px 15px;
		font-size: 15px;
		color: #111111;
		background-color: #ffffff;
		box-shadow: none;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

		.ticketorder-summary .form-control:focus,
		.ticketorder-summary input[type="text"]:focus,
		.ticketorder-summary input[type="email"]:focus,
		.ticketorder-summary input[type="password"]:focus,
		.ticketorder-summary select:focus {
			border-color: #A98F47;
			box-shadow: 0 0 0 3px rgba(169, 143, 71, 0.15);
			outline: none;
		}

	.ticketorder-summary .control-label,
	.ticketorder-summary label {
		font-weight: 700;
		font-size: 14px;
		color: #111111;
		margin-bottom: 8px;
		display: inline-block;
	}

	.ticketorder-summary .text-danger {
		font-size: 13px;
		font-weight: 500;
		color: #A98F47; /* Gold styled error label */
	}

	/* DOB input layout with right calendar icon */
	.ticketorder-summary .input-group-container {
		position: relative;
	}

		.ticketorder-summary .input-group-container .form-control {
			padding-right: 45px;
		}

	.ticketorder-summary .input-icon-right {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		color: #111111;
		font-size: 18px;
		pointer-events: none;
		z-index: 5;
	}

	/* Custom styled gender options (Radio list) */
	.ticketorder-summary .gender-list {
		gap: 15px;
	}

	.ticketorder-summary .gender-radio-container {
		position: relative;
		padding-left: 28px;
		cursor: pointer;
		user-select: none;
		display: inline-flex;
		align-items: center;
		font-weight: 600;
		font-size: 14px;
		color: #111111;
	}

		.ticketorder-summary .gender-radio-container input[type="radio"] {
			position: absolute;
			opacity: 0;
			cursor: pointer;
			height: 0;
			width: 0;
		}

		.ticketorder-summary .gender-radio-container .checkmark {
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			height: 18px;
			width: 18px;
			background-color: #ffffff;
			border: 1px solid #d2bc96;
			border-radius: 50%;
			transition: background-color 0.2s ease, border-color 0.2s ease;
		}

		.ticketorder-summary .gender-radio-container:hover input ~ .checkmark {
			background-color: #f7f3eb;
		}

		.ticketorder-summary .gender-radio-container input:checked ~ .checkmark {
			background-color: #ffffff;
			border-color: #A98F47;
			border-width: 2px;
		}

		.ticketorder-summary .gender-radio-container .checkmark:after {
			content: "";
			position: absolute;
			display: none;
		}

		.ticketorder-summary .gender-radio-container input:checked ~ .checkmark:after {
			display: block;
		}

		.ticketorder-summary .gender-radio-container .checkmark:after {
			top: 4px;
			left: 4px;
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: #A98F47;
		}

	/* Dropdown styling */
	.ticketorder-summary .form-select {
		appearance: none;
		background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A98F47' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
		background-repeat: no-repeat;
		background-position: right 15px center;
		background-size: 16px;
		padding-right: 40px;
	}

	.ticketorder-summary .terms-text {
		font-size: 13px;
		color: #666666;
	}

		.ticketorder-summary .terms-text a {
			color: #111111;
			text-decoration: underline;
		}

	/* Submit/Continue Button styling */
	.ticketorder-summary .btn-continue {
		display: block;
		width: 200px;
		height: 48px;
		background-color: #A98F47;
		color: #ffffff;
		border: none;
		border-radius: 8px; /* Field border-radius is 8px */
		font-size: 15px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.8px;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
		box-shadow: 0 4px 12px rgba(169, 143, 71, 0.2);
		margin-top: 15px;
	}

		.ticketorder-summary .btn-continue:hover {
			background-color: #8f7636;
			box-shadow: 0 6px 16px rgba(169, 143, 71, 0.3);
		}

		.ticketorder-summary .btn-continue:active {
			transform: scale(0.98);
		}

.continue-btn a {
	color: #A98F47;
}

.ball-spin-fade-loader > div {
	background-color: #A98F47 !important;
}

.hddc-modal .btn-close {
	background: #A98F47 url(../assets/images/close-btn.png) no-repeat center center !important;
}

.ticketorder-summary .bg-white {
	border-radius: 8px;
	height: 100%;
}

.footer-signup-form .text-success {
	color: #71ff98 !important;
}

/* ==========================================================================
   CDDC Hall of Fame Year Tabs & Card Grid
   ========================================================================== */
.cddc-hof-years-timeline {
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
}

	.cddc-hof-years-timeline::-webkit-scrollbar {
		display: none;
	}

.cddc-hof-year-btn {
	background-color: #ffffff !important;
	color: #303035 !important;
	border: 1px solid #e0e0e0 !important;
	min-width: 90px !important;
	height: 42px;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	font-size: 0.85rem;
	white-space: nowrap;
	flex-shrink: 0;
}

	.cddc-hof-year-btn:hover {
		background-color: #fdfaf3 !important;
		border-color: #A98F47 !important;
		color: #A98F47 !important;
		transform: translateY(-2px);
	}

	.cddc-hof-year-btn.active {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
		box-shadow: 0 4px 12px rgba(169, 143, 71, 0.3) !important;
	}

.cddc-hof-arrow-btn {
	background-color: #ffffff !important;
	border: 1px solid #e0e0e0 !important;
	color: #303035 !important;
	width: 42px;
	height: 42px;
	padding: 0px;
	flex-shrink: 0;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
	transition: all 0.3s ease !important;
}

	.cddc-hof-arrow-btn:hover {
		background-color: #A98F47 !important;
		border-color: #A98F47 !important;
		color: #ffffff !important;
		transform: translateY(-1px);
	}

.cddc-hof-card-item {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

	.cddc-hof-card-item.fade-in {
		animation: cddcHofFadeIn 0.35s ease forwards;
	}

@keyframes cddcHofFadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

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

/* CDDC Hall of Fame Cards Swiper */
.cddc-hof-cards-swiper {
	width: 100%;
	overflow: hidden;
}

.cddc-hof-slide {
	height: auto !important;
}

	.cddc-hof-slide:not(.d-none) {
		display: flex !important;
	}

	.cddc-hof-slide.d-none,
	.swiper-slide.cddc-hof-slide.d-none,
	.cddc-hof-cards-swiper .swiper-slide.cddc-hof-slide.d-none,
	.cddc-hof-cards-swiper .cddc-hof-slide.d-none {
		display: none !important;
	}

	.cddc-hof-slide .card {
		height: 100% !important;
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.cddc-hof-slide .card-body {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}

	.cddc-hof-slide .news-card-info {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		height: 100%;
	}

/* ==========================================================================
   CDDC Hall of Fame: Grid on Desktop (>=768px), Carousel on Mobile (<768px)
   ========================================================================== */
@media (min-width: 768px) {
	.cddc-hof-cards-swiper {
		overflow: visible !important;
	}

		.cddc-hof-cards-swiper .swiper-wrapper {
			display: flex !important;
			flex-wrap: wrap !important;
			justify-content: center !important;
			transform: none !important;
			gap: 25px !important;
			width: 100% !important;
			box-sizing: border-box !important;
		}

		.cddc-hof-cards-swiper .cddc-hof-slide.d-none,
		.cddc-hof-cards-swiper .swiper-slide.cddc-hof-slide.d-none {
			display: none !important;
		}

		.cddc-hof-cards-swiper .cddc-hof-slide:not(.d-none),
		.cddc-hof-cards-swiper .swiper-slide.cddc-hof-slide:not(.d-none) {
			display: flex !important;
			width: calc(50% - 13px) !important;
			max-width: 400px !important;
			margin-right: 0 !important;
			flex-shrink: 0 !important;
			height: auto !important;
		}

	.cddc-hof-cards-prev,
	.cddc-hof-cards-next {
		display: none !important;
	}
}

@media (max-width: 767.98px) {
	.cddc-hof-cards-swiper {
		overflow: hidden !important;
		width: 100% !important;
	}

		.cddc-hof-cards-swiper .cddc-hof-slide.d-none,
		.cddc-hof-cards-swiper .swiper-slide.cddc-hof-slide.d-none {
			display: none !important;
		}

		.cddc-hof-cards-swiper .cddc-hof-slide:not(.d-none),
		.cddc-hof-cards-swiper .swiper-slide.cddc-hof-slide:not(.d-none) {
			display: flex !important;
			width: 85% !important;
			max-width: 320px !important;
		}

	/*.cddc-hof-cards-prev,
	.cddc-hof-cards-next {
		display: flex !important;
	}*/
}

/* Responsive */
@media screen and (max-width: 1580px) {
	.navbar .px-5 {
		padding-right: 1.5rem !important;
		padding-left: 1.5rem !important;
	}
	.sponsor-logo-img {
		max-height: 50px;
	}

}

@media screen and (max-width: 1440px) {
	.slide-caption-container {
		max-width: 1220px;
	}
}

@media screen and (max-width: 1199px) {
	.navbar-expand-lg .navbar-nav {
		flex-direction: row;
		justify-content: start !important;
		width: auto !important;
		margin: 0px !important;
	}

	.header-logo-img {
		max-height: 28px;
	}

	.header-tagline h4 {
		font-size: 13px;
	}

	.navbar .px-5 {
		padding-right: 1rem !important;
		padding-left: 1rem !important;
	}

	.backdrop-glass-card {
		padding: 2rem !important;
	}

	#timelinePrevBtn {
		top: 100% !important;
		margin-left: 30px !important;
		margin-top: 40px;
	}

	#timelineNextBtn {
		top: 100% !important;
		margin-right: 30px !important;
		margin-top: 40px;
	}
}

@media screen and (max-width: 992px) {
	.official-patrons {
		min-height: inherit;
	}
}

@media screen and (max-width: 767px) {
	.px-6 {
		padding-right: 1rem !important;
		padding-left: 1rem !important;
	}

	.header-tagline {
		color: #fff !important;
	}

	.custom-style-25 .my-auto {
		margin-bottom: 0 !important;
	}

	.custom-width-34 {
		padding-top: 110px !important;
	}

	#championImg {
		background-position: center top !important;
	}

	.sustainability-wide-card-body {
		padding: 20px;
	}

	.stay-connected-wrap {
		text-align: center;
	}

	#ticketSelector .flexible-ticket-row > .col {
		flex: 1 1 50% !important;
		max-width: 50% !important;
	}
}

@media screen and (max-width: 576px) {
	.ext-info-2-12 {
		overflow: visible;
		max-height: inherit;
	}

	.mega-menu-list li a {
		font-size: 1.2rem;
	}

	#ticketSelector .flexible-ticket-row > .col {
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}
}

/* Responsive Grid & Typography Fixes for Mobile Viewport */
@media (max-width: 1199.98px) {
  .row.g-5 {
    --bs-gutter-x: 2rem;
  }
}

@media (max-width: 991.98px) {
  .row.g-5,
  .row.g-4 {
    --bs-gutter-x: 1.5rem; /* Matches container padding so rows never bleed outside */
  }
}

@media (max-width: 767.98px) {
  .index-large-heading,
  .index-events-heading {
    font-size: 2rem;
    line-height: 1.2;
    overflow-wrap: break-word;
  }
  .index-town-heading,
  .index-news-heading {
    font-size: 1.85rem;
    line-height: 1.2;
    overflow-wrap: break-word;
  }
  .event-day-filter-select {
    text-align-last: left;
  }
}

@media (max-width: 575.98px) {
  .top-button {
    padding: 0.5rem 0.75rem !important;
  }
}

.partner-section-block {
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 20px;
  padding: 32px 36px;
  margin-bottom: 28px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.partner-section-block:hover {
  border-color: rgba(169, 143, 71, 0.35);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.065);
}

.partner-section-block-lg {
  border-radius: 24px;
  padding: 36px 40px;
}

/* Key Partners Alternating List Row (Organiser, Title Partner, Founding Partner) */
.partner-key-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.partner-key-logo-box {
  background-color: #ffffff;
  border: 1px solid #eceef1;
  border-radius: 16px;
  padding: 28px 32px;
  width: 340px;
  min-height: 185px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.partner-box-heading {
  font-size: 0.85rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #303035;
  margin-bottom: 18px;
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

.partner-box-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 2px;
  background-color: #A98F47;
  border-radius: 2px;
}

.partner-key-logo-img {
  max-width: 210px;
  max-height: 92px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.partner-section-block:hover .partner-key-logo-img {
  transform: scale(1.03);
}

.partner-key-text {
  flex: 1;
  text-align: left;
  font-size: 0.96rem;
  line-height: 1.75;
  color: #4a4a50;
  margin-bottom: 0;
}

/* Official Partners Section & Individual .partner-official-item Cards */
.partner-official-header-pill {
  background-color: #ffffff;
  display: inline-block;
  padding: 4px 20px;
  margin-bottom: 24px;
}

.partner-official-white-box {
  background-color: #ffffff;
  padding: 0;
  max-width: 1120px;
  margin: 0 auto;
}

.partner-official-item {
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 16px;
  padding: 24px 18px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.partner-official-item:hover {
  transform: translateY(-4px);
  border-color: rgba(169, 143, 71, 0.45);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.08);
}

.partner-official-logo-wrap {
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #f0f1f3;
  width: 100%;
  border-radius: 0px;
}
.partner-section-block .juniors-card-image {
	border-radius: 0px;
}

.partner-official-logo-wrap img {
  max-width: 135px;
  max-height: 62px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.partner-official-item:hover .partner-official-logo-wrap img {
  transform: scale(1.05);
}
.partner-section-block picture img {
	/*height: 50px;*/
}

.partner-official-desc {
  font-size: 0.84rem;
  line-height: 1.55;
  color: #55555a;
  margin-bottom: 0;
  width: 100%;
  text-align: center;
  display: -webkit-box;
    -webkit-box-orient: vertical;
    /*-webkit-line-clamp: 4;*/ /* Limits text to 4 lines */
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Official Patrons, Local Governing Partners, Official Supporters Centered White Cards */
.partner-tier-white-inner {
  background-color: #ffffff;
  padding: 8px 16px;
  margin: 0 auto;
  text-align: center;
}

.partner-tier-white-patrons {
  max-width: 820px;
}

.partner-tier-white-governing {
  max-width: 640px;
}

.partner-tier-white-supporters {
  max-width: 1040px;
}

.partner-tier-logo-row img {
  max-height: 58px;
  max-width: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.25s ease;
}

.partner-tier-logo-row img:hover {
  transform: scale(1.06);
}

/* Desktop Layout (>= 992px): Static 5+4 Grid for Official Partners & Centered Flex Rows for Tier Logos */
@media (min-width: 992px) {
  .partner-official-white-box > .swiper-wrapper.partner-official-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 20px !important;
    transform: none !important;
    width: 100% !important;
  }

  .partner-official-white-box .partner-official-slide {
    width: calc((100% - 80px) / 5) !important;
    margin: 0 !important;
    height: auto !important;
    display: flex !important;
  }

  .partner-tier-white-inner .sponsor-card-swiper > .swiper-wrapper.partner-tier-logo-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px 44px !important;
    margin-top: 22px !important;
    transform: none !important;
    width: 100% !important;
  }
}

/* Bottom Centered Enquiry Form Box */
.partner-enquiry-card {
  max-width: 560px;
  margin: 48px auto 20px;
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 20px;
  padding: 40px 38px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.05);
  text-align: left;
}

/* Responsive / Mobile Adjustments (< 992px): Swiper Carousels */
@media (max-width: 991.98px) {
  .partner-key-row,
  .partner-key-row.partner-key-row-reverse {
    flex-direction: column;
    gap: 22px;
  }

  .partner-key-row.partner-key-row-reverse .partner-key-logo-box {
    order: -1;
  }

  .partner-key-logo-box {
    width: 100%;
    min-height: 155px;
  }

  .partner-official-white-box.sponsor-card-swiper {
    padding-bottom: 34px;
  }

  .partner-official-white-box > .swiper-wrapper.partner-official-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .partner-official-white-box .partner-official-slide {
    width: 100% !important;
    height: auto !important;
    flex-shrink: 0 !important;
    padding: 6px 38px 10px;
    box-sizing: border-box;
    display: flex !important;
  }

  .partner-official-white-box .sponsor-nav-btn {
    top: 46% !important;
  }

  .partner-tier-white-inner .sponsor-card-swiper {
    margin-top: 16px;
  }
}

@media (max-width: 575.98px) {
  .partner-section-block,
  .partner-section-block-lg {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .partner-tier-white-inner {
    padding: 8px 4px;
  }

  .partner-enquiry-card {
    padding: 28px 20px;
  }
}

.coming-soon-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
	.coming-soon-card:hover { transform: translateY(-4px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08) !important; }
.coming-soon-icon-wrap { transition: transform 0.3s ease; }
.coming-soon-card:hover .coming-soon-icon-wrap { transform: scale(1.08); }
