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

/* ==========================================================================
   Core Design System — SoccerSmarts Green & Gold Branding
   ========================================================================== */
:root {
	--vip-dark-blue: #00220A;
	--vip-card-bg: #002C11;
	--vip-card-border: #00441A;
	--vip-gold: #FFE066;
	--vip-gold-dark: #D4AF37;
	--vip-gold-gradient: linear-gradient(135deg, #FFE066 0%, #D4AF37 50%, #A67C1E 100%);
	--vip-dark-gradient: linear-gradient(180deg, #002D0E 0%, #001708 100%);
	--vip-blue-gradient: linear-gradient(135deg, #003A16 0%, #00220A 100%);
	--vip-white: #FFFFFF;
	--vip-text-gray: #A0AEC0;
	--vip-success-green: #2ECC71;
	--vip-error-red: #E74C3C;
	--vip-pending-blue: #3498DB;
	--vip-expired-gray: #7F8C8D;
	--vip-font-outfit: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	--vip-font-inter: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Hide WordPress entry headers/page titles on frontend for SoccerSmarts pages */
body:not(.wp-admin) .entry-header,
body:not(.wp-admin) .entry-title,
body:not(.wp-admin) h1.entry-title,
body:not(.wp-admin) .page-header,
body:not(.wp-admin) .page-title,
body:not(.wp-admin) .elementor-page-title {
	display: none !important;
}

/* Sticky footer layout (restricted to VIP and Auth pages to prevent theme conflicts) */
html:has(body.vip-full-page-layout), 
html:has(body:has(.fp-auth-shell)), 
body.vip-full-page-layout, 
body:has(.fp-auth-shell) {
	height: 100% !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

body.vip-full-page-layout #page,
body:has(.fp-auth-shell) #page {
	flex: 1 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
}

body.vip-full-page-layout .site-content, 
body.vip-full-page-layout #content, 
body.vip-full-page-layout .site-main,
body:has(.fp-auth-shell) .site-content, 
body:has(.fp-auth-shell) #content, 
body:has(.fp-auth-shell) .site-main {
	flex: 1 0 auto !important;
}

body.vip-full-page-layout .site-footer, 
body.vip-full-page-layout footer,
body:has(.fp-auth-shell) .site-footer, 
body:has(.fp-auth-shell) footer {
	flex-shrink: 0 !important;
	margin-top: auto !important;
}

/* Page body styling: white backgrounds on general internal pages (excluding VIP/Pool marketing & dashboard pages) */
body:not(.wp-admin):not(.home):not(.vip-full-page-layout):not(:has(.fp-auth-shell)):not(:has(.fp-dashboard)):not(:has(.fp-dashboard-hero)):not(:has(.predictions-section)):not(:has(.matchinfo)):not(:has(.fp-ranking-shell)),
body:not(.wp-admin):not(.home):not(.vip-full-page-layout):not(:has(.fp-auth-shell)):not(:has(.fp-dashboard)):not(:has(.fp-dashboard-hero)):not(:has(.predictions-section)):not(:has(.matchinfo)):not(:has(.fp-ranking-shell)) #page,
body:not(.wp-admin):not(.home):not(.vip-full-page-layout):not(:has(.fp-auth-shell)):not(:has(.fp-dashboard)):not(:has(.fp-dashboard-hero)):not(:has(.predictions-section)):not(:has(.matchinfo)):not(:has(.fp-ranking-shell)) #content,
body:not(.wp-admin):not(.home):not(.vip-full-page-layout):not(:has(.fp-auth-shell)):not(:has(.fp-dashboard)):not(:has(.fp-dashboard-hero)):not(:has(.predictions-section)):not(:has(.matchinfo)):not(:has(.fp-ranking-shell)) .site-content,
body:not(.wp-admin):not(.home):not(.vip-full-page-layout):not(:has(.fp-auth-shell)):not(:has(.fp-dashboard)):not(:has(.fp-dashboard-hero)):not(:has(.predictions-section)):not(:has(.matchinfo)):not(:has(.fp-ranking-shell)) main,
body:not(.wp-admin):not(.home):not(.vip-full-page-layout):not(:has(.fp-auth-shell)):not(:has(.fp-dashboard)):not(:has(.fp-dashboard-hero)):not(:has(.predictions-section)):not(:has(.matchinfo)):not(:has(.fp-ranking-shell)) #main {
	background-color: #ffffff !important;
	color: #2d3748 !important;
	font-family: var(--vip-font-inter) !important;
}

/* Home page styling: keep original transparent background */
body.home,
body.home #page,
body.home #content,
body.home .site-content,
body.home main,
body.home #main {
	background-color: transparent !important;
	color: #ffffff !important;
}

/* Login/Registration, Dashboard, VIP marketing, and Pool pages: green background */
body:has(.fp-auth-shell),
body:has(.fp-dashboard),
body:has(.fp-dashboard-hero),
body:has(.vip-packages-container),
body:has(.vip-checkout-container),
body:has(.vip-success-container),
body:has(.vip-history-container),
body:has(.vip-tickets-shortcode-container),
body:has(.predictions-section),
body:has(.matchinfo),
body:has(.fp-ranking-shell) {
	background-color: var(--vip-dark-blue) !important;
	color: #ffffff !important;
}

body:has(.fp-auth-shell) #page,
body:has(.fp-dashboard) #page,
body:has(.fp-dashboard-hero) #page,
body:has(.vip-packages-container) #page,
body:has(.vip-checkout-container) #page,
body:has(.vip-success-container) #page,
body:has(.vip-history-container) #page,
body:has(.vip-tickets-shortcode-container) #page,
body:has(.predictions-section) #page,
body:has(.matchinfo) #page,
body:has(.fp-ranking-shell) #page,
body:has(.fp-auth-shell) #content,
body:has(.fp-dashboard) #content,
body:has(.fp-dashboard-hero) #content,
body:has(.vip-packages-container) #content,
body:has(.vip-checkout-container) #content,
body:has(.vip-success-container) #content,
body:has(.vip-history-container) #content,
body:has(.vip-tickets-shortcode-container) #content,
body:has(.predictions-section) #content,
body:has(.matchinfo) #content,
body:has(.fp-ranking-shell) #content,
body:has(.fp-auth-shell) .site-content,
body:has(.fp-dashboard) .site-content,
body:has(.fp-dashboard-hero) .site-content,
body:has(.vip-packages-container) .site-content,
body:has(.vip-checkout-container) .site-content,
body:has(.vip-success-container) .site-content,
body:has(.vip-history-container) .site-content,
body:has(.vip-tickets-shortcode-container) .site-content,
body:has(.predictions-section) .site-content,
body:has(.matchinfo) .site-content,
body:has(.fp-ranking-shell) .site-content,
body:has(.fp-auth-shell) main,
body:has(.fp-dashboard) main,
body:has(.fp-dashboard-hero) main,
body:has(.vip-packages-container) main,
body:has(.vip-checkout-container) main,
body:has(.vip-success-container) main,
body:has(.vip-history-container) main,
body:has(.vip-tickets-shortcode-container) main,
body:has(.predictions-section) main,
body:has(.matchinfo) main,
body:has(.fp-ranking-shell) main,
body:has(.fp-auth-shell) #main,
body:has(.fp-dashboard) #main,
body:has(.fp-dashboard-hero) #main,
body:has(.vip-packages-container) #main,
body:has(.vip-checkout-container) #main,
body:has(.vip-success-container) #main,
body:has(.vip-history-container) #main,
body:has(.vip-tickets-shortcode-container) #main,
body:has(.predictions-section) #main,
body:has(.matchinfo) #main,
body:has(.fp-ranking-shell) #main {
	background-color: var(--vip-dark-blue) !important;
	color: #ffffff !important;
}

/* Remove card border/shadow on login full-page view */
body:has(.fp-auth-shell) .fp-auth-shell {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 auto !important;
	max-width: 550px !important;
}

/* Make all frontend pages full-width */
body:not(.wp-admin) .site-content,
body:not(.wp-admin) .entry-content,
body:not(.wp-admin) .container,
body:not(.wp-admin) #content,
body:not(.wp-admin) main,
body:not(.wp-admin) .site-main,
body:not(.wp-admin) article {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 40px !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

@media screen and (max-width: 768px) {
	body:not(.wp-admin) .site-content,
	body:not(.wp-admin) .entry-content,
	body:not(.wp-admin) .container,
	body:not(.wp-admin) #content,
	body:not(.wp-admin) main,
	body:not(.wp-admin) .site-main,
	body:not(.wp-admin) article {
		padding: 0 12px !important;
	}
}

/* Remove default theme container boundaries */
body:not(.wp-admin) article:not(.fp-stat-card):not(.fp-dashboard-panel):not(.vip-ticket-card-modern),
body:not(.wp-admin) .entry-content,
body:not(.wp-admin) .post-inner,
body:not(.wp-admin) .page-content,
body:not(.wp-admin) .type-page,
body:not(.wp-admin) .type-post,
body:not(.wp-admin) .site-main {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* Header and Footer backgrounds */
body:not(.wp-admin) .site-header,
body:not(.wp-admin) header {
	background-color: var(--vip-dark-blue) !important;
	border: none !important;
	box-shadow: none !important;
}

body:not(.wp-admin) .site-footer,
body:not(.wp-admin) footer {
	background-color: var(--vip-dark-blue) !important;
	color: #ffffff !important;
	border: none !important;
	box-shadow: none !important;
}

/* General typography defaults */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--vip-font-outfit) !important;
	font-weight: 700 !important;
	color: var(--vip-dark-blue);
}

/* Gold smart predictions banner block styling */
body:not(.wp-admin) a[href*="/user/"]:not(.menu-item a):not(.main-navigation a):not(.nav-menu a):not(.primary-menu a):not(nav a) {
	display: block !important;
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	text-align: center !important;
	padding: 18px !important;
	font-size: 1.4rem !important;
	font-weight: 800 !important;
	font-family: var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	margin: 20px 0 !important;
	box-shadow: 0 4px 15px rgba(212,175,55,0.15) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

body:not(.wp-admin) a[href*="/user/"]:not(.menu-item a):not(.main-navigation a):not(.nav-menu a):not(.primary-menu a):not(nav a):hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(212,175,55,0.25) !important;
}

/* ==========================================================================
   Standard Buttons
   ========================================================================== */
.vip-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 22px;
	border-radius: 50px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.25s ease;
	border: none;
	cursor: pointer;
	text-align: center;
	font-size: 0.82rem;
	letter-spacing: 0.5px;
	font-family: var(--vip-font-outfit);
}

.vip-btn-gold {
	background: var(--vip-gold-gradient);
	color: var(--vip-dark-blue) !important;
	box-shadow: 0 4px 10px rgba(212, 175, 55, 0.2);
}

.vip-btn-gold:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 15px rgba(212, 175, 55, 0.35);
}

.vip-btn-blue {
	background: var(--vip-card-bg);
	color: #ffffff !important;
	border: 1px solid var(--vip-card-border);
}

.vip-btn-blue:hover {
	background: var(--vip-dark-blue);
	transform: translateY(-1px);
}

/* ==========================================================================
   VIP Dashboard App & Marketing Containers
   ========================================================================== */
.vip-app-dashboard,
.vip-landing-container,
.vip-success-container,
.vip-history-container,
.vip-tickets-shortcode-container {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 16px !important;
	color: #ffffff !important;
	padding: 30px !important;
	margin: 20px auto !important;
	max-width: 1200px !important;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05) !important;
}

.vip-packages-container,
.vip-checkout-container {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	color: #ffffff !important;
	padding: 40px 0 !important;
	margin: 0 auto !important;
	max-width: 1200px !important;
	box-shadow: none !important;
}

.vip-app-dashboard *,
.vip-landing-container *,
.vip-packages-container *,
.vip-checkout-container *,
.vip-success-container *,
.vip-history-container *,
.vip-tickets-shortcode-container * {
	box-sizing: border-box;
}

.vip-hero-title, .vip-section-title, .vip-checkout-title, .vip-success-title {
	color: var(--vip-gold) !important;
	text-align: center;
	font-size: 2.2rem;
	margin-bottom: 10px;
	text-transform: uppercase;
	text-shadow: 0 2px 4px rgba(0,0,0,0.45) !important;
}

.vip-hero-subtitle, .vip-section-subtitle, .vip-success-subtitle {
	color: #e2e8f0 !important;
	text-align: center;
	font-size: 1rem;
	font-weight: 500 !important;
	max-width: 650px;
	margin: 0 auto 30px auto;
	text-shadow: 0 1px 3px rgba(0,0,0,0.4) !important;
}

/* ==========================================================================
   VIP Tickets Grid
   ========================================================================== */
.vip-tickets-grid-modern {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.vip-ticket-card-modern {
	background: var(--vip-dark-blue) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 12px !important;
	padding: 20px !important;
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	transition: transform 0.2s ease !important;
}

.vip-ticket-card-modern:hover {
	transform: translateY(-2px);
}

.vip-ticket-card-modern.won { border-color: var(--vip-success-green) !important; }
.vip-ticket-card-modern.lost { border-color: var(--vip-error-red) !important; }
.vip-ticket-card-modern.pending { border-color: var(--vip-pending-blue) !important; }

.vip-status-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
}

.vip-status-badge.active, .vip-status-badge.won, .vip-status-badge.completed {
	background: rgba(46, 204, 113, 0.15) !important;
	color: var(--vip-success-green) !important;
}

.vip-status-badge.expired, .vip-status-badge.lost, .vip-status-badge.failed {
	background: rgba(231, 76, 60, 0.15) !important;
	color: var(--vip-error-red) !important;
}

.vip-status-badge.inactive, .vip-status-badge.pending {
	background: rgba(52, 152, 219, 0.15) !important;
	color: var(--vip-pending-blue) !important;
}

/* ==========================================================================
   Homepage 2-Column Responsive Layout
   ========================================================================== */
.soccersmarts-home-layout-container {
	display: grid !important;
	grid-template-columns: 1.25fr 0.75fr !important;
	gap: 25px !important;
	max-width: 1200px !important;
	margin: 20px auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

@media screen and (max-width: 991px) {
	.soccersmarts-home-layout-container {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
}

/* ==========================================================================
   Slider CSS
   ========================================================================== */
.soccersmarts-slider-wrapper {
	position: relative !important;
	width: 100% !important;
	height: 380px !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	border: 1px solid var(--vip-card-border) !important;
	box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
}

.soccersmarts-slider {
	width: 100% !important;
	height: 100% !important;
	position: relative !important;
}

.soccersmarts-slide {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background-size: cover !important;
	background-position: center !important;
	opacity: 0 !important;
	transition: opacity 0.6s ease-in-out !important;
	display: flex !important;
	align-items: flex-end !important;
	z-index: 1 !important;
}

.soccersmarts-slide.active {
	opacity: 1 !important;
	z-index: 2 !important;
}

.soccersmarts-slide-content {
	padding: 30px !important;
	color: #ffffff !important;
	width: 100% !important;
	box-sizing: border-box !important;
	text-align: left !important;
	background: linear-gradient(transparent, rgba(0,0,0,0.7));
}

.soccersmarts-slide-title {
	font-family: var(--vip-font-outfit) !important;
	font-size: 1.8rem !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

.soccersmarts-slide-caption {
	font-family: var(--vip-font-inter) !important;
	font-size: 0.95rem !important;
	color: #e2e8f0 !important;
	text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
	margin: 0 0 15px 0 !important;
	line-height: 1.4 !important;
	max-width: 500px !important;
}

/* Slider Navigation Arrows — clean, properly sized, easy to tap */
.soccersmarts-slider-prev,
.soccersmarts-slider-next {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: rgba(0,0,0,0.45) !important;
	color: white !important;
	border: 2px solid rgba(255,255,255,0.3) !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	z-index: 10 !important;
	font-size: 14px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
	min-width: 44px !important;
	min-height: 44px !important;
	width: 44px !important;
	height: 44px !important;
}

.soccersmarts-slider-prev:hover,
.soccersmarts-slider-next:hover {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	border-color: transparent !important;
}

.soccersmarts-slider-prev { left: 12px !important; }
.soccersmarts-slider-next { right: 12px !important; }

/* Slider Dots — centered at bottom */
.soccersmarts-slider-dots {
	position: absolute !important;
	bottom: 14px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	z-index: 10 !important;
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
}

.soccersmarts-slider-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,0.45) !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	min-width: 22px !important;
	min-height: 22px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.soccersmarts-slider-dot::after {
	content: '' !important;
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,0.45) !important;
	transition: all 0.2s ease !important;
}

.soccersmarts-slider-dot.active::after {
	background: var(--vip-gold) !important;
	width: 20px !important;
	border-radius: 5px !important;
}

@media screen and (max-width: 768px) {
	.soccersmarts-slider-wrapper {
		height: 250px !important;
	}
	.soccersmarts-slide-content {
		padding: 15px !important;
	}
	.soccersmarts-slide-title {
		font-size: 1.1rem !important;
	}
	.soccersmarts-slide-caption {
		font-size: 0.8rem !important;
		margin-bottom: 10px !important;
	}
	.soccersmarts-slider-prev { left: 8px !important; }
	.soccersmarts-slider-next { right: 8px !important; }
}

/* ==========================================================================
   LIVE UPDATE Badge + Leaderboard Card
   ========================================================================== */

/* Outer wrapper: provides space for the badge that overlaps the top */
.soccersmarts-live-update-wrapper {
	position: relative !important;
	padding-top: 18px !important;
	width: 100% !important;
}

/* The "LIVE UPDATE" badge pill — centered at top of the card */
.soccersmarts-live-badge {
	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	font-weight: 900 !important;
	font-size: 0.72rem !important;
	font-family: var(--vip-font-outfit) !important;
	padding: 5px 18px !important;
	border-radius: 20px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	z-index: 20 !important;
	white-space: nowrap !important;
	box-shadow: 0 3px 10px rgba(212, 175, 55, 0.3) !important;
	pointer-events: none !important;
}

/* The leaderboard card itself */
.fp-home-leaderboard {
	width: 100% !important;
	margin: 0 !important;
}

.fp-home-leaderboard-stage {
	min-height: 260px !important;
}

.fp-home-leaderboard-card {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 12px !important;
	padding: 22px 18px 18px !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1.6fr) minmax(80px, 0.42fr) !important;
	align-items: center !important;
	gap: 14px !important;
	min-height: 230px !important;
	box-sizing: border-box !important;
	/* Remove the old .fp-home-leaderboard-live from inside the card */
}

/* Hide the old in-card LIVE badge (now handled by wrapper) */
.fp-home-leaderboard-live {
	display: none !important;
}

.fp-home-leaderboard-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	text-align: left !important;
}

.fp-home-leaderboard-kicker {
	color: var(--vip-gold) !important;
	font-weight: 700 !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.8px !important;
	margin: 0 0 4px 0 !important;
	text-transform: uppercase !important;
}

.fp-home-leaderboard-title {
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 1.1rem !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

.fp-home-leaderboard-position {
	display: none !important;
}

.fp-home-leaderboard-label {
	color: var(--vip-text-gray) !important;
	font-size: 0.68rem !important;
	text-transform: uppercase !important;
	margin: 0 0 2px 0 !important;
	font-weight: 600 !important;
}

.fp-home-leaderboard-username {
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
	margin: 0 0 12px 0 !important;
	word-break: break-word !important;
}

.fp-home-leaderboard-stats {
	display: flex !important;
	gap: 7px !important;
	width: 100% !important;
	flex-wrap: wrap !important;
}

.fp-home-leaderboard-stat {
	flex: 1 1 80px !important;
	background: var(--vip-dark-blue) !important;
	border: 1px solid var(--vip-card-border) !important;
	padding: 7px 8px !important;
	border-radius: 8px !important;
	text-align: center !important;
	min-width: 0 !important;
}

.fp-home-leaderboard-stat span {
	display: block !important;
	font-size: 0.6rem !important;
	text-transform: uppercase !important;
	color: #a0aec0 !important;
	margin-bottom: 2px !important;
	line-height: 1.3 !important;
}

.fp-home-leaderboard-stat strong {
	font-size: 1rem !important;
	font-weight: 900 !important;
	color: var(--vip-gold) !important;
	line-height: 1 !important;
}

.fp-home-leaderboard-medal {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
}

.fp-home-leaderboard-medal-icon {
	width: 58px !important;
	height: 58px !important;
}

.fp-home-leaderboard-medal-icon svg {
	width: 58px !important;
	height: 58px !important;
	fill: var(--vip-gold) !important;
}

.fp-home-leaderboard-medal-icon svg circle.fp-home-leaderboard-medal-core {
	fill: var(--vip-card-bg) !important;
}

.fp-home-leaderboard-medal-icon svg text {
	fill: var(--vip-gold) !important;
	font-size: 22px !important;
	font-weight: 900 !important;
}

.fp-home-leaderboard-medal-caption {
	color: var(--vip-gold) !important;
	font-weight: 800 !important;
	font-size: 0.72rem !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

@media screen and (max-width: 640px) {
	.soccersmarts-live-badge {
		font-size: 0.65rem !important;
		padding: 4px 14px !important;
	}
	.fp-home-leaderboard-card {
		grid-template-columns: 1fr !important;
		padding: 18px 14px 14px !important;
		min-height: auto !important;
		gap: 12px !important;
	}
	.fp-home-leaderboard-medal {
		flex-direction: row !important;
		justify-content: flex-start !important;
		margin-top: 8px !important;
		border-top: 1px dashed var(--vip-card-border) !important;
		padding-top: 10px !important;
		width: 100% !important;
	}
	.fp-home-leaderboard-stat span {
		font-size: 0.58rem !important;
	}
	.fp-home-leaderboard-stat strong {
		font-size: 0.9rem !important;
	}
	.fp-home-leaderboard-title {
		font-size: 0.95rem !important;
	}
	.fp-home-leaderboard-username {
		font-size: 0.9rem !important;
	}
}

/* ==========================================================================
   VIP Injected Subscription Status Card on Dashboard
   ========================================================================== */
.vip-dashboard-inject-card {
	background: linear-gradient(135deg, #00220A 0%, #001708 100%) !important;
	border: 1px solid var(--vip-gold) !important;
	border-radius: 16px !important;
	padding: 25px !important;
	margin-bottom: 25px !important;
	box-shadow: 0 8px 25px rgba(212, 175, 55, 0.1) !important;
}

.vip-status-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	flex-wrap: wrap !important;
}

.vip-status-icon {
	font-size: 2rem !important;
	width: 54px !important;
	height: 54px !important;
	background: rgba(255, 224, 102, 0.1) !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.vip-status-info {
	flex: 1 !important;
}

.vip-status-info h4 {
	color: var(--vip-gold) !important;
	font-size: 1.2rem !important;
	margin: 0 0 5px 0 !important;
	font-family: var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	font-weight: 800 !important;
}

.vip-status-desc {
	color: #cbd5e0 !important;
	font-size: 0.88rem !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.vip-active-package, .vip-expiry-date {
	color: #ffffff !important;
	font-size: 0.85rem !important;
	margin: 0 0 3px 0 !important;
}

.vip-active-package strong, .vip-expiry-date strong {
	color: var(--vip-gold) !important;
}

.vip-status-actions-wrap {
	flex-shrink: 0 !important;
}

.vip-btn-dashboard-go {
	padding: 9px 20px !important;
	font-weight: 800 !important;
	font-size: 0.8rem !important;
}

@media screen and (max-width: 600px) {
	.vip-status-card-header {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}
	.vip-status-actions-wrap {
		width: 100% !important;
	}
	.vip-btn-dashboard-go {
		width: 100% !important;
	}
}

/* ==========================================================================
   Football Pool Rankings Page
   ========================================================================== */
.soccersmarts-pool-ranking-wrap {
	width: 100% !important;
	max-width: none !important;
}

body:has(.fp-ranking-shell) .soccersmarts-pool-ranking-wrap,
body:has(.fp-ranking-shell) .fp-ranking-shell {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body:has(.fp-ranking-shell) .fp-ranking-shell {
	padding: 0 0 30px 0 !important;
	overflow: visible !important;
}

body:has(.fp-ranking-shell) .fp-ranking-hero {
	margin-bottom: 22px !important;
}

body:has(.fp-ranking-shell) .fp-ranking-hero-copy h2 {
	font-size: 1.65rem !important;
	line-height: 1.1 !important;
	max-width: 900px !important;
	margin: 0 auto !important;
}

body:has(.fp-ranking-shell) .fp-ranking-kicker {
	font-size: 0.72rem !important;
	letter-spacing: 2px !important;
}

body:has(.fp-ranking-shell) .fp-podium-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.9fr) !important;
	grid-template-areas: "second first third" !important;
	align-items: stretch !important;
	gap: 10px !important;
	margin-top: 18px !important;
	margin-bottom: 20px !important;
}

body:has(.fp-ranking-shell) .fp-podium-card {
	min-width: 0 !important;
	padding: 15px 12px 11px 12px !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14) !important;
	color: #0b2511 !important;
}

body:has(.fp-ranking-shell) .fp-podium-card.first {
	grid-area: first !important;
	background: linear-gradient(180deg, #f9e79b 0%, #d7aa2e 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	transform: translateY(-6px) scale(1.02) !important;
	z-index: 2 !important;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18) !important;
	padding-top: 22px !important;
	padding-bottom: 18px !important;
	min-height: 100% !important;
}

body:has(.fp-ranking-shell) .fp-podium-card.second {
	grid-area: second !important;
	background: linear-gradient(180deg, #fcfdff 0%, #dfe4ea 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.8) !important;
	padding-top: 16px !important;
}

body:has(.fp-ranking-shell) .fp-podium-card.third {
	grid-area: third !important;
	background: linear-gradient(180deg, #f8dcc4 0%, #d89a5d 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.48) !important;
	padding-top: 16px !important;
}

body:has(.fp-ranking-shell) .fp-podium-medal {
	width: 34px !important;
	height: 34px !important;
	line-height: 30px !important;
	top: -17px !important;
	font-size: 0.92rem !important;
	border-width: 2px !important;
}

body:has(.fp-ranking-shell) .fp-podium-avatar {
	margin-bottom: 7px !important;
}

body:has(.fp-ranking-shell) .fp-podium-avatar-image {
	width: 38px !important;
	height: 38px !important;
	border-color: rgba(0, 34, 10, 0.12) !important;
}

body:has(.fp-ranking-shell) .fp-podium-label {
	color: rgba(0, 34, 10, 0.72) !important;
	font-size: 0.58rem !important;
	letter-spacing: 1px !important;
	margin-bottom: 5px !important;
}

body:has(.fp-ranking-shell) .fp-podium-name {
	font-size: 0.67rem !important;
	line-height: 1.05 !important;
	margin-bottom: 5px !important;
	color: #0b2511 !important;
}

body:has(.fp-ranking-shell) .fp-podium-name a {
	color: #0b2511 !important;
}

body:has(.fp-ranking-shell) .fp-podium-points {
	font-size: 1.08rem !important;
	line-height: 1 !important;
	color: #0b2511 !important;
}

body:has(.fp-ranking-shell) .fp-podium-meta {
	font-size: 0.55rem !important;
	color: rgba(0, 34, 10, 0.72) !important;
	margin-top: 3px !important;
}

body:has(.fp-ranking-shell) .fp-ranking-panel {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin-top: 18px !important;
}

body:has(.fp-ranking-shell) .ranking-table,
body:has(.fp-ranking-shell) .pool-ranking,
body:has(.fp-ranking-shell) .fp-ranking-table {
	width: 100% !important;
	max-width: none !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin-top: 15px !important;
	background: #ffffff !important;
	border: 1px solid #d9e5d9 !important;
	border-radius: 18px !important;
	overflow: hidden !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
	table-layout: fixed !important;
}

body:has(.fp-ranking-shell) .ranking-table th,
body:has(.fp-ranking-shell) .pool-ranking th,
body:has(.fp-ranking-shell) .fp-ranking-table th {
	color: var(--vip-gold-dark) !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	font-size: 0.68rem !important;
	letter-spacing: 0.8px !important;
	background: #f4f7f4 !important;
	border: none !important;
	padding: 9px 9px !important;
	font-family: var(--vip-font-outfit) !important;
	white-space: nowrap !important;
	text-align: left !important;
}

body:has(.fp-ranking-shell) .ranking-table tr td,
body:has(.fp-ranking-shell) .pool-ranking tr td,
body:has(.fp-ranking-shell) .fp-ranking-table tr td {
	background: #ffffff !important;
	border: none !important;
	border-bottom: 1px solid #e4ece4 !important;
	color: #15331d !important;
	padding: 5px 6px !important;
	font-size: 0.67rem !important;
	font-family: var(--vip-font-inter) !important;
	vertical-align: middle !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body:has(.fp-ranking-shell) .ranking-table tr td:first-child,
body:has(.fp-ranking-shell) .pool-ranking tr td:first-child,
body:has(.fp-ranking-shell) .fp-ranking-table tr td:first-child {
	color: var(--vip-gold-dark) !important;
	font-weight: 800 !important;
	text-align: center !important;
	width: 64px !important;
}

body:has(.fp-ranking-shell) .ranking-table tr td:last-child,
body:has(.fp-ranking-shell) .pool-ranking tr td:last-child,
body:has(.fp-ranking-shell) .fp-ranking-table tr td:last-child {
	text-align: right !important;
}

body:has(.fp-ranking-shell) .ranking-table tr:nth-child(even) td,
body:has(.fp-ranking-shell) .pool-ranking tr:nth-child(even) td,
body:has(.fp-ranking-shell) .fp-ranking-table tr:nth-child(even) td {
	background: #f7faf7 !important;
}

body:has(.fp-ranking-shell) .ranking-table tr.currentuser td,
body:has(.fp-ranking-shell) .pool-ranking tr.currentuser td,
body:has(.fp-ranking-shell) .fp-ranking-table tr.currentuser td {
	background: linear-gradient(90deg, rgba(255, 236, 158, 0.9) 0%, rgba(255, 249, 220, 0.88) 100%) !important;
	border-bottom-color: rgba(212, 175, 55, 0.45) !important;
	box-shadow: inset 4px 0 0 rgba(212, 175, 55, 0.8) !important;
	font-weight: 800 !important;
}

body:has(.fp-ranking-shell) .ranking-table td:nth-child(2),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(2),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(2) {
	color: #0c2612 !important;
	font-weight: 800 !important;
	white-space: normal !important;
}

body:has(.fp-ranking-shell) .ranking-table td:nth-child(3),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(3),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(3),
body:has(.fp-ranking-shell) .ranking-table td:nth-child(4),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(4),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(4),
body:has(.fp-ranking-shell) .ranking-table td:nth-child(5),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(5),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(5) {
	text-align: center !important;
	font-weight: 800 !important;
	color: #0c2612 !important;
}

body:has(.fp-ranking-shell) .ranking-table th:nth-child(1),
body:has(.fp-ranking-shell) .pool-ranking th:nth-child(1),
body:has(.fp-ranking-shell) .fp-ranking-table th:nth-child(1),
body:has(.fp-ranking-shell) .ranking-table td:nth-child(1),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(1),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(1) { width: 60px !important; }

body:has(.fp-ranking-shell) .ranking-table th:nth-child(2),
body:has(.fp-ranking-shell) .pool-ranking th:nth-child(2),
body:has(.fp-ranking-shell) .fp-ranking-table th:nth-child(2) { width: auto !important; }

body:has(.fp-ranking-shell) .ranking-table th:nth-child(3),
body:has(.fp-ranking-shell) .pool-ranking th:nth-child(3),
body:has(.fp-ranking-shell) .fp-ranking-table th:nth-child(3),
body:has(.fp-ranking-shell) .ranking-table td:nth-child(3),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(3),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(3) { width: 70px !important; }

body:has(.fp-ranking-shell) .ranking-table th:nth-child(4),
body:has(.fp-ranking-shell) .pool-ranking th:nth-child(4),
body:has(.fp-ranking-shell) .fp-ranking-table th:nth-child(4),
body:has(.fp-ranking-shell) .ranking-table td:nth-child(4),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(4),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(4) { width: 76px !important; }

body:has(.fp-ranking-shell) .ranking-table th:nth-child(5),
body:has(.fp-ranking-shell) .pool-ranking th:nth-child(5),
body:has(.fp-ranking-shell) .fp-ranking-table th:nth-child(5),
body:has(.fp-ranking-shell) .ranking-table td:nth-child(5),
body:has(.fp-ranking-shell) .pool-ranking td:nth-child(5),
body:has(.fp-ranking-shell) .fp-ranking-table td:nth-child(5) { width: 76px !important; }

/* Rules / Banger Blitz */
.fp-banger-blitz, .rules-page-container {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 12px !important;
	padding: 25px !important;
	color: #ffffff !important;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

.rules-page-container h2 {
	color: var(--vip-gold) !important;
	font-size: 1.6rem !important;
}

/* ==========================================================================
   Player Dashboard — Redesigned with Green Hero & White Cards
   ========================================================================== */
.fp-dashboard {
	width: 100% !important;
	margin: 0 auto !important;
}

.fp-dashboard-hero {
	background: linear-gradient(135deg, #003A16 0%, #001C08 100%) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 18px !important;
	padding: 0 !important;
	color: #ffffff !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	box-shadow: 0 8px 30px rgba(0, 34, 10, 0.25) !important;
	margin-bottom: 22px !important;
	overflow: hidden !important;
	position: relative !important;
}

/* Gold accent strip at top of hero */
.fp-dashboard-hero::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: var(--vip-gold-gradient) !important;
	border-radius: 18px 18px 0 0 !important;
}

.fp-dashboard-identity {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	flex-wrap: wrap !important;
	padding: 24px 28px 24px 28px !important;
	flex: 1 !important;
}

.fp-dashboard-avatar img,
img.fp-dashboard-avatar-image {
	border-radius: 50% !important;
	border: 3px solid var(--vip-gold) !important;
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
}

.fp-dashboard-copy {
	display: flex !important;
	flex-direction: column !important;
}

.fp-dashboard-kicker {
	color: var(--vip-gold) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.2px !important;
	margin: 0 !important;
}

.fp-dashboard-copy h2 {
	color: #ffffff !important;
	font-size: 1.55rem !important;
	font-weight: 800 !important;
	margin: 4px 0 6px 0 !important;
	font-family: var(--vip-font-outfit) !important;
}

.fp-dashboard-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	color: #cbd5e0 !important;
	font-size: 0.8rem !important;
	margin-top: 4px !important;
}

.fp-dashboard-meta span {
	background: rgba(0, 34, 10, 0.5) !important;
	padding: 3px 10px !important;
	border-radius: 4px !important;
	border: 1px solid var(--vip-card-border) !important;
}

.fp-dashboard-actions {
	display: flex !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	padding: 24px 28px 24px 0 !important;
	align-items: center !important;
}

/* Dashboard buttons — compact, not oversized */
.fp-dashboard-button,
a.fp-dashboard-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 9px 18px !important;
	border-radius: 30px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	cursor: pointer !important;
	border: none !important;
	transition: all 0.2s ease !important;
	height: 36px !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

.fp-dashboard-actions a.fp-dashboard-button:not(.secondary) {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	box-shadow: 0 3px 8px rgba(212, 175, 55, 0.25) !important;
}

.fp-dashboard-actions a.fp-dashboard-button:not(.secondary):hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 12px rgba(212, 175, 55, 0.35) !important;
}

.fp-dashboard-actions .fp-dashboard-button.secondary {
	background: rgba(0, 34, 10, 0.5) !important;
	color: #ffffff !important;
	border: 1px solid var(--vip-card-border) !important;
}

.fp-dashboard-actions .fp-dashboard-button.secondary:hover {
	background: var(--vip-dark-blue) !important;
	transform: translateY(-1px) !important;
}

/* ==========================================================================
   White Statistics Cards Grid
   ========================================================================== */
.fp-dashboard-cards {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) !important;
	gap: 14px !important;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
}

.fp-stat-card {
	background: #002C11 !important;
	border: 1px solid #D4AF37 !important;
	border-radius: 14px !important;
	padding: 18px 16px !important;
	text-align: center !important;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.fp-stat-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
}

.fp-stat-label,
.fp-stat-card .fp-stat-label {
	color: var(--vip-gold) !important;
	font-weight: 800 !important;
	font-size: 0.7rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.6px !important;
	margin: 0 0 6px 0 !important;
}

.fp-stat-card h3 {
	color: #ffffff !important;
	font-size: 2.1rem !important;
	font-weight: 900 !important;
	margin: 4px 0 !important;
	font-family: var(--vip-font-outfit) !important;
}

.fp-stat-note,
.fp-stat-card .fp-stat-note {
	color: #cbd5e0 !important;
	font-size: 0.7rem !important;
	margin: 6px 0 0 0 !important;
}

/* ==========================================================================
   Dashboard Grid Panels (White Cards)
   ========================================================================== */
.fp-dashboard-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
	gap: 18px !important;
	margin-bottom: 22px !important;
}

.fp-dashboard-panel {
	background: #002C11 !important;
	border: 1px solid #D4AF37 !important;
	border-radius: 14px !important;
	padding: 22px !important;
	color: #ffffff !important;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2) !important;
}

.fp-dashboard-panel h3 {
	color: var(--vip-gold) !important;
	font-size: 1.1rem !important;
	font-family: var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	margin-top: 0 !important;
	margin-bottom: 18px !important;
	border-bottom: 2px solid rgba(255, 224, 102, 0.25) !important;
	padding-bottom: 10px !important;
	font-weight: 800 !important;
}

/* Performance Bars */
.fp-performance-bars {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.fp-performance-bars div {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	background: #00220A !important;
	border: 1px solid rgba(255, 224, 102, 0.2) !important;
	border-radius: 8px !important;
	padding: 11px 14px !important;
}

.fp-performance-bars div span {
	color: #e2e8f0 !important;
	font-size: 0.88rem !important;
}

.fp-performance-bars div strong {
	color: var(--vip-gold) !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
}

/* Dashboard Tables */
.fp-dashboard-table,
.fp-dashboard-panel table {
	width: 100% !important;
	border-collapse: collapse !important;
	color: #ffffff !important;
}

.fp-dashboard-table th,
.fp-dashboard-panel table th {
	text-align: left !important;
	color: var(--vip-gold) !important;
	font-size: 0.78rem !important;
	text-transform: uppercase !important;
	padding: 8px 10px !important;
	border-bottom: 2px solid rgba(255, 224, 102, 0.25) !important;
	font-weight: 800 !important;
}

.fp-dashboard-table td,
.fp-dashboard-panel table td {
	padding: 9px 10px !important;
	border-bottom: 1px solid rgba(255, 224, 102, 0.15) !important;
	font-size: 0.85rem !important;
	background: transparent !important;
	color: #ffffff !important;
}

.fp-dashboard-table tr:hover td,
.fp-dashboard-panel table tr:hover td {
	background: rgba(255, 255, 255, 0.05) !important;
}

/* Save predictions button */
input[type="submit"].save-predictions-button,
button.save-predictions-button {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	border: none !important;
	border-radius: 30px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	padding: 11px 28px !important;
	font-size: 0.82rem !important;
	font-family: var(--vip-font-outfit) !important;
	cursor: pointer !important;
	box-shadow: 0 4px 10px rgba(212, 175, 55, 0.15) !important;
	transition: all 0.2s ease !important;
}

input[type="submit"].save-predictions-button:hover,
button.save-predictions-button:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 15px rgba(212, 175, 55, 0.3) !important;
}

/* Football Pool Auth Shell (Login/Registration) styling */
.fp-auth-shell {
	background: transparent !important;
	padding: 0 !important;
	border-radius: 12px !important;
	border: none !important;
	box-shadow: none !important;
}

.fp-auth-card {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
	padding: 25px !important;
	color: #ffffff !important;
}

.fp-auth-field label {
	color: var(--vip-gold) !important;
	font-weight: 700 !important;
}

.fp-auth-field input, .fp-auth-field select {
	background: var(--vip-dark-blue) !important;
	border: 1px solid var(--vip-card-border) !important;
	color: #ffffff !important;
}

.fp-auth-submit {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	border-radius: 30px !important;
	font-weight: 800 !important;
	padding: 12px 25px !important;
}

.fp-auth-links a {
	color: var(--vip-gold) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

.fp-auth-links a:hover {
	text-decoration: underline !important;
}

/* ==========================================================================
   Mobile Responsive — Dashboard & General
   ========================================================================== */
@media screen and (max-width: 768px) {
	body:not(.wp-admin) .site-main {
		padding: 12px 10px !important;
	}

	.fp-dashboard-hero {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 0 !important;
	}

	.fp-dashboard-identity {
		flex-direction: column !important;
		text-align: center !important;
		padding: 20px 16px 16px !important;
	}

	.fp-dashboard-meta {
		justify-content: center !important;
	}

	.fp-dashboard-actions {
		justify-content: center !important;
		padding: 0 16px 18px !important;
		width: 100% !important;
	}

	.fp-dashboard-button,
	a.fp-dashboard-button {
		font-size: 0.72rem !important;
		padding: 8px 14px !important;
	}

	.fp-dashboard-cards {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.fp-stat-card {
		padding: 14px 10px !important;
	}

	.fp-stat-card h3 {
		font-size: 1.7rem !important;
	}

	.fp-dashboard-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.vip-app-dashboard {
		padding: 14px !important;
	}

	.vip-hero-title {
		font-size: 1.5rem !important;
	}

	.vip-tickets-grid-modern {
		grid-template-columns: 1fr !important;
	}
}

@media screen and (max-width: 480px) {
	.fp-dashboard-cards {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.fp-dashboard-button,
	a.fp-dashboard-button {
		padding: 8px 12px !important;
		font-size: 0.7rem !important;
	}
}

/* ==========================================================================
   VIP Packages Page
   ========================================================================== */
.vip-packages-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(240px, 320px)) !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: 22px !important;
	margin-top: 36px !important;
}

.vip-package-card {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 16px !important;
	padding: 30px 22px !important;
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
	box-sizing: border-box !important;
	text-align: center !important;
}

.vip-package-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2) !important;
}

.vip-package-card:nth-child(2) {
	border: 2px solid var(--vip-gold) !important;
	box-shadow: 0 8px 28px rgba(255, 224, 102, 0.1) !important;
}

.vip-package-card:nth-child(3) {
	border: 2px solid var(--vip-gold) !important;
	box-shadow: 0 8px 28px rgba(255, 224, 102, 0.12) !important;
	overflow: hidden !important;
}

.vip-package-card:nth-child(3)::before {
	content: "POPULAR VALUE" !important;
	position: absolute !important;
	top: 18px !important;
	right: -30px !important;
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	font-size: 0.62rem !important;
	font-weight: 900 !important;
	font-family: var(--vip-font-outfit) !important;
	padding: 5px 30px !important;
	transform: rotate(45deg) !important;
	box-shadow: 0 2px 5px rgba(0,0,0,0.12) !important;
	letter-spacing: 0.5px !important;
	z-index: 2 !important;
	text-transform: uppercase !important;
}

.vip-package-header {
	border-bottom: 1px solid var(--vip-card-border) !important;
	width: 100% !important;
	padding-bottom: 14px !important;
	margin-bottom: 20px !important;
}

.vip-package-card h3 {
	color: #ffffff !important;
	font-size: 1.4rem !important;
	font-weight: 800 !important;
	margin: 0 0 10px 0 !important;
	font-family: var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.vip-package-price {
	color: var(--vip-gold) !important;
	font-size: 2.1rem !important;
	font-weight: 900 !important;
	margin: 8px 0 !important;
	font-family: var(--vip-font-outfit) !important;
	letter-spacing: -0.5px !important;
}

.vip-package-validity {
	color: var(--vip-text-gray) !important;
	font-size: 0.72rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin-bottom: 4px !important;
	font-weight: 700 !important;
}

.vip-package-body {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

.vip-package-desc {
	color: #cbd5e0 !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
	margin: 0 0 20px 0 !important;
}

ul.vip-package-benefits {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 28px 0 !important;
	text-align: left !important;
	width: 100% !important;
}

ul.vip-package-benefits li {
	color: #ffffff !important;
	font-size: 0.88rem !important;
	margin-bottom: 10px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	line-height: 1.4 !important;
}

ul.vip-package-benefits li span.benefit-bullet {
	color: var(--vip-gold) !important;
	font-weight: bold !important;
	font-size: 1.1rem !important;
	line-height: 1 !important;
}

.vip-package-footer {
	margin-top: auto !important;
	width: 100% !important;
}

.vip-btn-unlock,
a.vip-btn-unlock {
	display: block !important;
	width: 100% !important;
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	font-weight: 800 !important;
	font-size: 0.82rem !important;
	text-transform: uppercase !important;
	padding: 13px 20px !important;
	border-radius: 30px !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	letter-spacing: 0.5px !important;
	box-sizing: border-box !important;
}

.vip-btn-unlock:hover,
a.vip-btn-unlock:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35) !important;
}

@media screen and (max-width: 768px) {
	.vip-package-card {
		width: 100% !important;
		max-width: 420px !important;
	}
}

/* ==========================================================================
   Checkout Page
   ========================================================================== */
.vip-checkout-card {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 18px !important;
	max-width: 500px !important;
	margin: 0 auto !important;
	padding: 32px 28px !important;
	box-shadow: 0 8px 30px rgba(0, 44, 17, 0.15) !important;
}

.vip-checkout-title {
	margin-bottom: 24px !important;
}

/* Local domain warning */
.vip-local-warning {
	background: rgba(255, 224, 102, 0.1) !important;
	border: 1px solid rgba(255, 224, 102, 0.3) !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
	margin-bottom: 20px !important;
	color: var(--vip-gold) !important;
	font-size: 0.8rem !important;
	line-height: 1.5 !important;
}

.vip-local-warning code {
	background: rgba(0,0,0,0.2) !important;
	padding: 2px 6px !important;
	border-radius: 4px !important;
	font-family: monospace !important;
}

/* Form error message */
.vip-form-error {
	background: rgba(231, 76, 60, 0.12) !important;
	border: 1px solid rgba(231, 76, 60, 0.3) !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	margin-bottom: 18px !important;
	color: #fc8181 !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
}

/* Fields */
.vip-form-group {
	margin-bottom: 18px !important;
}

.vip-form-group label {
	color: var(--vip-gold) !important;
	font-family: var(--vip-font-outfit) !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	margin-bottom: 7px !important;
	display: block !important;
}

.vip-form input[type="text"],
.vip-form input[type="email"],
.vip-form input[type="tel"],
.vip-form select {
	background: #001705 !important;
	border: 1px solid var(--vip-card-border) !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	padding: 13px 15px !important;
	font-size: 0.95rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: var(--vip-font-inter) !important;
}

.vip-form input[type="text"]:focus,
.vip-form input[type="email"]:focus,
.vip-form input[type="tel"]:focus,
.vip-form select:focus {
	border-color: var(--vip-gold) !important;
	outline: none !important;
	box-shadow: 0 0 6px rgba(255, 224, 102, 0.2) !important;
}

.vip-form input[disabled] {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

.vip-field-hint {
	color: var(--vip-text-gray) !important;
	font-size: 0.75rem !important;
	margin-top: 6px !important;
	display: block !important;
	line-height: 1.4 !important;
}

/* Checkout Summary Box */
.vip-summary-box {
	background: #001C06 !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 10px !important;
	padding: 18px !important;
	margin: 20px 0 !important;
	box-sizing: border-box !important;
}

.summary-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 5px 0 !important;
	font-size: 0.88rem !important;
	color: #cbd5e0 !important;
}

.summary-row .summary-label {
	font-weight: 500 !important;
}

.summary-row .summary-value {
	color: #ffffff !important;
	font-weight: 700 !important;
}

.summary-row.total-row {
	border-top: 1px dashed var(--vip-card-border) !important;
	margin-top: 8px !important;
	padding-top: 12px !important;
}

.summary-row.total-row .summary-label {
	color: var(--vip-gold) !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
}

.summary-row.total-row .summary-value {
	color: var(--vip-gold) !important;
	font-weight: 900 !important;
	font-size: 1.25rem !important;
}

/* Mobile Money Accept Badges */
.vip-momo-accept {
	display: flex !important;
	gap: 10px !important;
	margin: 18px 0 !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
}

.momo-badge {
	display: inline-flex !important;
	align-items: center !important;
	padding: 6px 14px !important;
	border-radius: 8px !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.momo-mtn {
	background: rgba(255, 204, 0, 0.15) !important;
	border: 1px solid rgba(255, 204, 0, 0.35) !important;
	color: #ffd600 !important;
}

.momo-airtel {
	background: rgba(231, 76, 60, 0.12) !important;
	border: 1px solid rgba(231, 76, 60, 0.3) !important;
	color: #fc8181 !important;
}

/* Legacy momo-logos class */
.momo-logos {
	display: flex !important;
	justify-content: center !important;
	gap: 20px !important;
	margin: 18px 0 !important;
}

.momo-logos .logo-mtn {
	color: var(--vip-gold) !important;
	font-weight: 800 !important;
	font-size: 0.82rem !important;
}

.momo-logos .logo-airtel {
	color: #E74C3C !important;
	font-weight: 800 !important;
	font-size: 0.82rem !important;
}

/* Checkout Actions */
.vip-checkout-actions {
	margin-top: 4px !important;
}

/* Pay button */
.vip-btn-pay,
button.vip-btn-pay {
	display: block !important;
	width: 100% !important;
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	font-weight: 900 !important;
	font-size: 0.92rem !important;
	text-transform: uppercase !important;
	padding: 15px 20px !important;
	border-radius: 30px !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	text-align: center !important;
	font-family: var(--vip-font-outfit) !important;
	letter-spacing: 0.5px !important;
}

.vip-btn-pay:hover,
button.vip-btn-pay:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4) !important;
}

.vip-btn-pay:disabled,
button.vip-btn-pay:disabled {
	opacity: 0.65 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

/* Pay button spinner */
.vip-btn-spinner {
	display: inline-block !important;
	width: 14px !important;
	height: 14px !important;
	border: 2px solid rgba(0,34,10,0.2) !important;
	border-top-color: var(--vip-dark-blue) !important;
	border-radius: 50% !important;
	animation: vip-spin 0.7s linear infinite !important;
	vertical-align: middle !important;
	margin-right: 6px !important;
}

@keyframes vip-spin {
	to { transform: rotate(360deg); }
}

/* Checkout Disclaimer */
.vip-disclaimer {
	color: #718096 !important;
	font-size: 0.7rem !important;
	line-height: 1.4 !important;
	text-align: center !important;
	margin-top: 20px !important;
}

/* Mobile checkout */
@media screen and (max-width: 600px) {
	.vip-checkout-card {
		padding: 22px 16px !important;
		border-radius: 14px !important;
	}
}

/* ==========================================================================
   Payment Modal Overlay
   ========================================================================== */
.vip-modal-overlay {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(0, 20, 5, 0.88) !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
	box-sizing: border-box !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 0.3s ease !important;
}

.vip-modal-overlay.show {
	opacity: 1 !important;
	pointer-events: auto !important;
}

.vip-modal-content {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 18px !important;
	padding: 40px 30px !important;
	max-width: 420px !important;
	width: 100% !important;
	text-align: center !important;
	box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
}

.vip-modal-content h3 {
	color: var(--vip-gold) !important;
	font-size: 1.3rem !important;
	margin: 16px 0 10px 0 !important;
	font-family: var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
}

.vip-modal-content p {
	color: #cbd5e0 !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
	margin: 0 0 10px 0 !important;
}

.vip-modal-content p strong {
	color: var(--vip-gold) !important;
}

.vip-modal-status {
	color: var(--vip-text-gray) !important;
	font-size: 0.8rem !important;
	margin-top: 14px !important;
}

/* Modal Spinner */
.vip-spinner {
	width: 48px !important;
	height: 48px !important;
	border: 4px solid rgba(255, 224, 102, 0.15) !important;
	border-top-color: var(--vip-gold) !important;
	border-radius: 50% !important;
	animation: vip-spin 0.8s linear infinite !important;
	margin: 0 auto 6px !important;
}

/* ==========================================================================
   Match Cards — White on Green Background
   ========================================================================== */
.matchinfo.pool-page,
.matchinfo.matches,
.prediction-row {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 18px !important;
	margin-bottom: 18px !important;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08) !important;
	color: #2d3748 !important;
}

.matchinfo.pool-page .match-row,
.matchinfo.matches .match-row,
.prediction-row-main {
	border-bottom: 1px solid #edf2f7 !important;
	padding: 11px 0 !important;
}

.match-row .team-name,
.prediction-cell .team-name {
	color: #2d3748 !important;
	font-weight: 700 !important;
}

.match-row input.prediction,
.prediction-score input.prediction {
	background: #f7fafc !important;
	border: 1px solid #cbd5e0 !important;
	color: #2d3748 !important;
}

.match-row input.prediction:focus,
.prediction-score input.prediction:focus {
	border-color: var(--vip-card-bg) !important;
	box-shadow: 0 0 6px rgba(0, 44, 17, 0.2) !important;
}

.prediction-status-cell .match-status.status-open {
	color: var(--vip-success-green) !important;
}

.prediction-status-cell .match-status.status-locked {
	color: var(--vip-error-red) !important;
}

.prediction-note.prediction-actual {
	color: #4a5568 !important;
	font-weight: 700 !important;
}

.prediction-note.prediction-points {
	color: var(--vip-card-bg) !important;
	font-weight: 800 !important;
}

/* Centered content for match view on desktop */
body:has(.predictions-section) main,
body:has(.matchinfo) main {
	max-width: 900px !important;
	margin: 0 auto !important;
}

/* Match prediction table mobile fixes */
@media screen and (max-width: 768px) {
	.matchinfo.pool-page, .matchinfo.matches {
		padding: 12px !important;
	}
	.match-row {
		flex-direction: column !important;
		align-items: stretch !important;
		text-align: center !important;
	}
	.match-row .team-name {
		font-size: 0.85rem !important;
	}
	.match-row input.prediction {
		width: 40px !important;
		height: 32px !important;
		margin: 5px auto !important;
	}
	.ranking-table th, .ranking-table td {
		padding: 10px 8px !important;
		font-size: 0.78rem !important;
	}
}

/* ==========================================================================
   VIP App Dashboard (VIP tickets page)
   ========================================================================== */
.vip-app-dashboard {
	max-width: 1100px !important;
}

.vip-dashboard-top-hero {
	background: linear-gradient(135deg, #003A16 0%, #001C08 100%) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 16px !important;
	padding: 22px 24px !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	margin-bottom: 18px !important;
}

.vip-profile-summary {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.vip-profile-avatar img {
	border-radius: 50% !important;
	border: 3px solid var(--vip-gold) !important;
	width: 56px !important;
	height: 56px !important;
}

.vip-profile-welcome h3 {
	color: #ffffff !important;
	font-size: 1.2rem !important;
	margin: 0 0 4px 0 !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
}

.vip-badge-tier {
	color: var(--vip-gold) !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	margin: 0 !important;
}

.vip-sub-details-card {
	background: rgba(0,0,0,0.25) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
}

.sub-stat-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 0.85rem !important;
	margin-bottom: 5px !important;
}

.sub-stat-row:last-child {
	margin-bottom: 0 !important;
}

.sub-stat-row .lbl {
	color: var(--vip-text-gray) !important;
	font-size: 0.78rem !important;
}

.sub-stat-row .val {
	color: #ffffff !important;
	font-weight: 700 !important;
}

.date-highlight {
	color: var(--vip-gold) !important;
}

.vip-dashboard-quick-actions {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-bottom: 20px !important;
}

.vip-dashboard-quick-actions .vip-btn {
	flex: 1 1 200px !important;
}

.vip-content-grid-title {
	color: var(--vip-gold) !important;
	font-family: var(--vip-font-outfit) !important;
	font-size: 1.05rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin: 0 0 16px 0 !important;
	font-weight: 800 !important;
}

.vip-no-tickets-card {
	text-align: center !important;
	padding: 40px 20px !important;
	background: rgba(0,34,10,0.3) !important;
	border-radius: 12px !important;
	border: 1px dashed var(--vip-card-border) !important;
}

.vip-no-tickets-card .icon {
	font-size: 2.5rem !important;
	margin-bottom: 12px !important;
}

.vip-no-tickets-card h4 {
	color: #ffffff !important;
	margin: 0 0 8px 0 !important;
}

.vip-no-tickets-card p {
	color: #a0aec0 !important;
	font-size: 0.9rem !important;
	margin: 0 !important;
}

/* VIP table */
.vip-table {
	width: 100% !important;
	border-collapse: collapse !important;
	color: #ffffff !important;
	font-size: 0.85rem !important;
}

.vip-table th {
	color: var(--vip-gold) !important;
	font-weight: 700 !important;
	text-align: left !important;
	padding: 8px 10px !important;
	border-bottom: 1px solid var(--vip-card-border) !important;
	font-size: 0.78rem !important;
	text-transform: uppercase !important;
}

.vip-table td {
	padding: 10px !important;
	border-bottom: 1px solid rgba(0,68,26,0.5) !important;
}

.table-scroll-wrap {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

/* VIP History */
.vip-history-container h2 {
	color: var(--vip-gold) !important;
}

/* Mobile VIP dashboard */
@media screen and (max-width: 768px) {
	.vip-dashboard-top-hero {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 16px !important;
	}
	.vip-dashboard-quick-actions {
		flex-direction: column !important;
	}
	.vip-dashboard-quick-actions .vip-btn {
		width: 100% !important;
		text-align: center !important;
	}
	.vip-app-dashboard,
	.vip-success-container,
	.vip-history-container,
	.vip-landing-container,
	.vip-tickets-shortcode-container {
		padding: 14px !important;
		margin: 8px auto !important;
	}
}

/* ==========================================================================
   VIP Landing Hero
   ========================================================================== */
.vip-hero-section {
	text-align: center !important;
	padding: 30px 20px !important;
	background: linear-gradient(135deg, #003A16 0%, #001708 100%) !important;
	border-radius: 14px !important;
	margin-bottom: 30px !important;
}

.vip-features-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
	gap: 18px !important;
	margin-top: 20px !important;
}

.vip-feature-card {
	background: var(--vip-dark-blue) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 12px !important;
	padding: 22px !important;
	text-align: center !important;
}

.vip-feature-icon {
	font-size: 2rem !important;
	margin-bottom: 12px !important;
}

.vip-feature-card h3 {
	color: var(--vip-gold) !important;
	font-size: 1rem !important;
	margin: 0 0 8px 0 !important;
	font-family: var(--vip-font-outfit) !important;
}

.vip-feature-card p {
	color: #a0aec0 !important;
	font-size: 0.85rem !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

/* CTA */
.vip-cta-wrap {
	margin-top: 22px !important;
}

/* ==========================================================================
   Telegram button
   ========================================================================== */
.vip-btn-telegram {
	background: linear-gradient(135deg, #2AABEE 0%, #229ED9 100%) !important;
	color: #ffffff !important;
}

.vip-btn-telegram:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 15px rgba(42, 171, 238, 0.3) !important;
}

/* ==========================================================================
   Unsubscribed / Error Messages
   ========================================================================== */
.vip-unsubscribed-message {
	text-align: center !important;
	padding: 40px 20px !important;
	color: #a0aec0 !important;
	font-size: 0.95rem !important;
}

.vip-error-card {
	background: rgba(231, 76, 60, 0.1) !important;
	border: 1px solid rgba(231, 76, 60, 0.3) !important;
	border-radius: 10px !important;
	padding: 18px !important;
	color: #fc8181 !important;
	text-align: center !important;
	font-size: 0.9rem !important;
}

.vip-login-required-card {
	text-align: center !important;
	padding: 40px 20px !important;
}

.vip-lock-icon {
	font-size: 3rem !important;
	margin-bottom: 16px !important;
}

.vip-login-actions {
	margin-top: 20px !important;
}

/* ==========================================================================
   Checkbox delivery group (legacy)
   ========================================================================== */
.vip-checkbox-group {
	display: flex !important;
	gap: 20px !important;
	margin-top: 8px !important;
	flex-wrap: wrap !important;
}

.vip-checkbox-label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #ffffff !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	cursor: pointer !important;
}

.vip-checkbox-label input[type="checkbox"] {
	accent-color: var(--vip-gold) !important;
	width: 18px !important;
	height: 18px !important;
	cursor: pointer !important;
}

/* ==========================================================================
   VIP Ticket Cards (history/dashboard legacy)
   ========================================================================== */
.vip-tickets-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 18px !important;
	margin-top: 18px !important;
}

.vip-ticket-card {
	background: var(--vip-dark-blue) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 12px !important;
	padding: 18px !important;
}

.vip-ticket-card h4 {
	color: #ffffff !important;
	margin: 0 0 10px 0 !important;
	font-family: var(--vip-font-outfit) !important;
}

.vip-ticket-odds {
	color: var(--vip-gold) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	margin-bottom: 12px !important;
}

.vip-ticket-notes {
	background: rgba(0,0,0,0.2) !important;
	border-radius: 8px !important;
	padding: 12px !important;
	margin-top: 12px !important;
}

.vip-ticket-notes strong {
	color: var(--vip-gold) !important;
	font-size: 0.82rem !important;
}

.vip-ticket-notes p {
	color: #cbd5e0 !important;
	font-size: 0.85rem !important;
	margin: 6px 0 0 0 !important;
}

.vip-ticket-image img {
	width: 100% !important;
	border-radius: 8px !important;
	margin-top: 12px !important;
}

.vip-ticket-content-body {
	color: #e2e8f0 !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
}

/* Modern ticket cards */
.card-top-bar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 12px !important;
}

.vip-package-label {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	font-size: 0.68rem !important;
	font-weight: 900 !important;
	padding: 3px 10px !important;
	border-radius: 20px !important;
	text-transform: uppercase !important;
}

.ticket-match-title {
	color: #ffffff !important;
	font-size: 1rem !important;
	margin: 0 0 4px 0 !important;
	font-family: var(--vip-font-outfit) !important;
}

.ticket-post-date {
	color: var(--vip-text-gray) !important;
	font-size: 0.75rem !important;
	margin: 0 0 12px 0 !important;
}

.ticket-stats-row {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin-bottom: 12px !important;
}

.odds-display-box, .result-display-box {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.odds-display-box .label, .result-display-box .label {
	color: var(--vip-text-gray) !important;
	font-size: 0.72rem !important;
	text-transform: uppercase !important;
}

.odds-display-box .odds-val {
	color: var(--vip-gold) !important;
	font-weight: 900 !important;
	font-size: 0.95rem !important;
}

.result-display-box .result-val {
	color: var(--vip-success-green) !important;
	font-weight: 900 !important;
}

.ticket-description {
	color: #e2e8f0 !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
}

.ticket-notes-modern {
	background: rgba(0,68,26,0.3) !important;
	border-radius: 10px !important;
	padding: 14px !important;
	margin-top: 14px !important;
}

.ticket-notes-modern h5 {
	color: var(--vip-gold) !important;
	font-size: 0.8rem !important;
	margin: 0 0 8px 0 !important;
	text-transform: uppercase !important;
}

.ticket-notes-modern p {
	color: #cbd5e0 !important;
	font-size: 0.85rem !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

.ticket-image-wrap {
	margin-top: 14px !important;
	position: relative !important;
}

.ticket-image-wrap img {
	width: 100% !important;
	border-radius: 10px !important;
	display: block !important;
}

.zoom-hint {
	color: var(--vip-text-gray) !important;
	font-size: 0.72rem !important;
	display: block !important;
	margin-top: 5px !important;
	text-align: center !important;
}

/* VIP Success container */
.vip-success-container {
	text-align: center !important;
}

.vip-success-icon-wrap {
	margin-bottom: 16px !important;
}

.vip-chest-gold {
	font-size: 4rem !important;
}

.vip-receipt-box {
	background: rgba(0,68,26,0.3) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 10px !important;
	padding: 16px !important;
	margin: 16px auto !important;
	max-width: 360px !important;
	text-align: left !important;
}

.vip-receipt-box p {
	color: #cbd5e0 !important;
	font-size: 0.88rem !important;
	margin: 0 0 8px 0 !important;
}

.vip-receipt-box p strong {
	color: var(--vip-gold) !important;
}

.vip-value-title {
	color: var(--vip-gold) !important;
	font-size: 0.85rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	font-family: var(--vip-font-outfit) !important;
	margin: 16px 0 12px 0 !important;
}

.vip-success-actions {
	display: flex !important;
	gap: 12px !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	margin-top: 22px !important;
}

.vip-no-tickets-today {
	color: var(--vip-text-gray) !important;
	font-size: 0.9rem !important;
	text-align: center !important;
}

/* Active subscriptions list */
.vip-active-subs-box h3,
.vip-accessible-tickets-box h3,
.vip-sub-history-box h3 {
	color: var(--vip-gold) !important;
	font-size: 1.05rem !important;
	font-family: var(--vip-font-outfit) !important;
	margin-bottom: 14px !important;
	text-transform: uppercase !important;
}

.vip-active-sub-item {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	background: var(--vip-dark-blue) !important;
	border: 1px solid var(--vip-card-border) !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	margin-bottom: 8px !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.vip-active-sub-item .sub-name {
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
}

.vip-active-sub-item .sub-expiry {
	color: var(--vip-gold) !important;
	font-size: 0.8rem !important;
}

.vip-no-packages {
	color: var(--vip-text-gray) !important;
	text-align: center !important;
	padding: 30px !important;
	font-size: 0.9rem !important;
}

/* ==========================================================================
   Global Mobile Overflow Prevention
   ========================================================================== */
@media screen and (max-width: 768px) {
	* {
		max-width: 100% !important;
	}
	img {
		height: auto !important;
	}
	table {
		display: block !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}
	/* Exception — VIP table wrapper handles overflow */
	.table-scroll-wrap table {
		display: table !important;
		min-width: 400px !important;
	}
}

/* ==========================================================================
   Subscribe to VIP — Navigation Menu Button Styling
   Styles the specific "Subscribe to VIP" link as a gold pill button in the header.
   ========================================================================== */
body:not(.wp-admin) nav a[href*="vip-packages"],
body:not(.wp-admin) .main-navigation a[href*="vip-packages"],
body:not(.wp-admin) .nav-menu a[href*="vip-packages"],
body:not(.wp-admin) ul.menu a[href*="vip-packages"] {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	padding: 8px 18px !important;
	border-radius: 30px !important;
	font-weight: 800 !important;
	font-size: 0.85rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 3px 10px rgba(212,175,55,0.2) !important;
	transition: all 0.25s ease !important;
	border: none !important;
	line-height: 1 !important;
	margin: 0 5px !important;
	vertical-align: middle !important;
	height: auto !important;
	text-shadow: none !important;
}

body:not(.wp-admin) nav a[href*="vip-packages"]:hover,
body:not(.wp-admin) .main-navigation a[href*="vip-packages"]:hover,
body:not(.wp-admin) .nav-menu a[href*="vip-packages"]:hover,
body:not(.wp-admin) ul.menu a[href*="vip-packages"]:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 15px rgba(212,175,55,0.35) !important;
	color: var(--vip-dark-blue) !important;
	opacity: 0.95 !important;
}

/* Hide any active underlines or theme borders specifically on the gold button menu item */
body:not(.wp-admin) nav li:has(a[href*="vip-packages"])::after,
body:not(.wp-admin) .main-navigation li:has(a[href*="vip-packages"])::after,
body:not(.wp-admin) nav li:has(a[href*="vip-packages"]) a::after {
	display: none !important;
}

@media (max-width: 767px) {
	body:not(.wp-admin) nav a[href*="vip-packages"],
	body:not(.wp-admin) .main-navigation a[href*="vip-packages"],
	body:not(.wp-admin) .nav-menu a[href*="vip-packages"],
	body:not(.wp-admin) ul.menu a[href*="vip-packages"] {
		display: flex !important;
		margin: 10px 15px !important;
		text-align: center !important;
		padding: 10px 20px !important;
		font-size: 0.9rem !important;
	}
}

/* ==========================================================================
   Restored Leaderboard Podium Card & Grid Design (Premium Green & Gold)
   ========================================================================== */
.fp-ranking-shell {
	margin-bottom: 60px !important;
	overflow: visible !important;
	width: 100% !important;
}

.fp-ranking-hero {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin-bottom: 35px !important;
	text-align: center !important;
}

.fp-ranking-hero-copy h2 {
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 900 !important;
	text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
	text-transform: uppercase !important;
	font-size: 2.2rem !important;
}

.fp-ranking-kicker {
	color: var(--vip-gold) !important;
	text-transform: uppercase !important;
	font-size: 0.85rem !important;
	letter-spacing: 1.5px !important;
	font-weight: 800 !important;
	margin-bottom: 5px !important;
}

.fp-podium-grid {
	margin-top: 40px !important;
	margin-bottom: 40px !important;
	gap: 20px !important;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: end !important;
}

.fp-podium-card {
	background: linear-gradient(135deg, #002C11 0%, #001f0c 100%) !important;
	border-radius: 16px !important;
	padding: 45px 15px 20px 15px !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
	box-sizing: border-box !important;
	position: relative !important;
	text-align: center !important;
	color: #ffffff !important;
}

.fp-podium-card:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4) !important;
}

.fp-podium-card.first {
	border: 2px solid #FFE066 !important;
	box-shadow: 0 0 20px rgba(255, 224, 102, 0.25) !important;
	transform: translateY(-10px) !important;
}

.fp-podium-card.first:hover {
	transform: translateY(-15px) !important;
	box-shadow: 0 0 30px rgba(255, 224, 102, 0.4) !important;
}

.fp-podium-card.second {
	border: 2px solid #E2E8F0 !important;
	box-shadow: 0 0 15px rgba(226, 232, 240, 0.15) !important;
}

.fp-podium-card.third {
	border: 2px solid #CD7F32 !important;
	box-shadow: 0 0 15px rgba(205, 127, 50, 0.15) !important;
}

.fp-podium-name {
	margin: 0 0 8px 0 !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	font-size: 0.95rem !important;
}

.fp-podium-name a {
	color: #ffffff !important;
	text-decoration: none !important;
}

.fp-podium-name a:hover {
	color: var(--vip-gold) !important;
}

.fp-podium-points {
	color: var(--vip-gold) !important;
	font-weight: 900 !important;
	font-size: 1.8rem !important;
	font-family: var(--vip-font-outfit) !important;
	line-height: 1 !important;
}

.fp-podium-meta {
	color: #cbd5e0 !important;
	font-weight: 600 !important;
	font-size: 0.75rem !important;
	margin-top: 6px !important;
}

.fp-podium-label {
	color: #a0aec0 !important;
	font-size: 0.7rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-weight: 700 !important;
	margin-bottom: 8px !important;
}

.fp-podium-medal {
	width: 44px !important;
	height: 44px !important;
	line-height: 40px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.4rem !important;
	font-weight: 900 !important;
	font-family: var(--vip-font-outfit) !important;
	position: absolute !important;
	top: -22px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	z-index: 10 !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3) !important;
	border: 2px solid #ffffff !important;
}

.fp-podium-medal.fp-place-1 {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
}

.fp-podium-medal.fp-place-2 {
	background: linear-gradient(135deg, #ffffff 0%, #cbd5e0 100%) !important;
	color: var(--vip-dark-blue) !important;
}

.fp-podium-medal.fp-place-3 {
	background: linear-gradient(135deg, #efcfb5 0%, #CD7F32 100%) !important;
	color: var(--vip-dark-blue) !important;
}

.fp-podium-avatar {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 10px !important;
}

.fp-podium-avatar-image {
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
	object-fit: cover !important;
}

.fp-ranking-panel {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-top: 30px !important;
}

.fp-ranking-search-wrap input.fp-ranking-search {
	background: var(--vip-card-bg) !important;
	border: 1px solid var(--vip-card-border) !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	padding: 10px 16px !important;
	font-size: 0.9rem !important;
	width: 100% !important;
	max-width: 300px !important;
	box-sizing: border-box !important;
}

.fp-ranking-search-wrap input.fp-ranking-search::placeholder {
	color: var(--vip-text-gray) !important;
}

/* ==========================================================================
   Matches Page Styling Overrides (SoccerSmarts Style)
   ========================================================================== */
body:has(.matchinfo) h2.match-date-heading,
body:has(.matchinfo) h3.match-date-heading,
body:has(.matchinfo) .match-date-row {
	color: var(--vip-gold) !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	font-size: 1.1rem !important;
	letter-spacing: 1px !important;
	margin: 25px 0 12px 0 !important;
	border-bottom: 2px solid rgba(255, 224, 102, 0.2) !important;
	padding-bottom: 6px !important;
}

body:has(.matchinfo) .matchtype {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	font-size: 1.1rem !important;
	padding: 10px 16px !important;
	border-radius: 8px !important;
	margin-top: 30px !important;
	margin-bottom: 15px !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
}

body:has(.matchinfo) .match-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	padding: 18px 20px !important;
	margin-bottom: 15px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
	transition: all 0.2s ease !important;
}

body:has(.matchinfo) .match-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1) !important;
}

body:has(.matchinfo) .team-name {
	color: var(--vip-dark-blue) !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
	font-family: var(--vip-font-outfit) !important;
}

body:has(.matchinfo) .score-box {
	background: #f7fafc !important;
	border: 1px solid #cbd5e0 !important;
	border-radius: 6px !important;
	min-width: 45px !important;
	height: 38px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.05) !important;
	transition: border-color 0.2s ease !important;
}

body:has(.matchinfo) .score-box:focus-within {
	border-color: var(--vip-gold-dark) !important;
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2) !important;
}

body:has(.matchinfo) input.prediction {
	color: var(--vip-dark-blue) !important;
	font-weight: 900 !important;
	font-size: 1.15rem !important;
	text-align: center !important;
	width: 100% !important;
	height: 100% !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

body:has(.matchinfo) .match-status {
	font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}

body:has(.matchinfo) .status-indicator {
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	display: inline-block !important;
}

body:has(.matchinfo) .status-open {
	color: #2ecc71 !important;
}

body:has(.matchinfo) .status-locked {
	color: #e74c3c !important;
}

body:has(.matchinfo) .user-score {
	color: #718096 !important;
	font-weight: 700 !important;
	font-size: 0.75rem !important;
	margin-top: 4px !important;
	text-align: right !important;
}

body:has(.matchinfo) .actual-result-inline {
	color: #4a5568 !important;
	font-weight: 700 !important;
	font-size: 0.72rem !important;
	margin-top: 4px !important;
	text-transform: uppercase !important;
}

body:has(.matchinfo) h1, 
body:has(.matchinfo) h2:not(.match-date-heading),
body:has(.fp-ranking-shell) h1, 
body:has(.fp-ranking-shell) h2:not(.match-date-heading) {
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	font-size: 2.2rem !important;
	margin-top: 15px !important;
	margin-bottom: 25px !important;
	text-align: center !important;
	text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
}

body:has(.fp-ranking-shell) h1,
body:has(.fp-ranking-shell) h2:not(.match-date-heading) {
	font-size: 1.65rem !important;
	line-height: 1.1 !important;
	margin-bottom: 18px !important;
}

/* ==========================================================================
   Mobile Responsiveness Overrides
   ========================================================================== */
@media (max-width: 767px) {
	body:has(.fp-ranking-shell) .fp-ranking-hero-copy h2 {
		font-size: 1.08rem !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-template-areas: "second first third" !important;
		gap: 1px !important;
		padding: 0 2px !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-card {
		padding: 5px 4px 4px 4px !important;
		border-radius: 12px !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-card.first,
	body:has(.fp-ranking-shell) .fp-podium-card.second,
	body:has(.fp-ranking-shell) .fp-podium-card.third {
		padding-top: 5px !important;
		padding-bottom: 4px !important;
		transform: none !important;
		z-index: 1 !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-medal {
		width: 19px !important;
		height: 19px !important;
		line-height: 15px !important;
		top: -8px !important;
		font-size: 0.55rem !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-avatar {
		margin-bottom: 1px !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-avatar-image {
		width: 21px !important;
		height: 21px !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-label {
		font-size: 0.36rem !important;
		margin-bottom: 1px !important;
		letter-spacing: 0.6px !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-name {
		font-size: 0.39rem !important;
		line-height: 1.05 !important;
		margin-bottom: 1px !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-points {
		font-size: 0.55rem !important;
	}

	body:has(.fp-ranking-shell) .fp-podium-meta {
		font-size: 0.3rem !important;
		margin-top: 1px !important;
	}

	body:has(.fp-ranking-shell) .ranking-table,
	body:has(.fp-ranking-shell) .pool-ranking,
	body:has(.fp-ranking-shell) .fp-ranking-table {
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body:has(.fp-ranking-shell) .ranking-table thead,
	body:has(.fp-ranking-shell) .pool-ranking thead,
	body:has(.fp-ranking-shell) .fp-ranking-table thead {
		display: none !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody,
	body:has(.fp-ranking-shell) .pool-ranking tbody,
	body:has(.fp-ranking-shell) .fp-ranking-table tbody,
	body:has(.fp-ranking-shell) .ranking-table tr,
	body:has(.fp-ranking-shell) .pool-ranking tr,
	body:has(.fp-ranking-shell) .fp-ranking-table tr {
		display: block !important;
		width: 100% !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody tr,
	body:has(.fp-ranking-shell) .pool-ranking tbody tr,
	body:has(.fp-ranking-shell) .fp-ranking-table tbody tr {
		display: grid !important;
		grid-template-columns: 52px minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-template-areas:
			"rank player player"
			"rank points scores"
			"rank earnings earnings" !important;
		gap: 1px 3px !important;
		background: #ffffff !important;
		border: 1px solid #dbe5db !important;
		border-radius: 14px !important;
		padding: 5px !important;
		margin-bottom: 5px !important;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08) !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody tr.currentuser,
	body:has(.fp-ranking-shell) .pool-ranking tbody tr.currentuser,
	body:has(.fp-ranking-shell) .fp-ranking-table tbody tr.currentuser {
		background: linear-gradient(90deg, rgba(255, 239, 175, 0.98) 0%, rgba(255, 250, 231, 0.98) 100%) !important;
		border-color: rgba(212, 175, 55, 0.55) !important;
		box-shadow: 0 8px 18px rgba(212, 175, 55, 0.18), inset 4px 0 0 rgba(212, 175, 55, 0.82) !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody td,
	body:has(.fp-ranking-shell) .pool-ranking tbody td,
	body:has(.fp-ranking-shell) .fp-ranking-table tbody td {
		display: block !important;
		border: none !important;
		background: transparent !important;
		padding: 0 !important;
		white-space: normal !important;
		font-size: 0.5rem !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody tr.currentuser td,
	body:has(.fp-ranking-shell) .pool-ranking tbody tr.currentuser td,
	body:has(.fp-ranking-shell) .fp-ranking-table tbody tr.currentuser td {
		color: #0b2511 !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody td:nth-child(1),
	body:has(.fp-ranking-shell) .pool-ranking tbody td:nth-child(1),
	body:has(.fp-ranking-shell) .fp-ranking-table tbody td:nth-child(1) {
		grid-area: rank !important;
		width: auto !important;
		font-size: 0.72rem !important;
		font-weight: 900 !important;
		align-self: center !important;
		justify-self: center !important;
		color: var(--vip-gold-dark) !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody td:nth-child(2),
	body:has(.fp-ranking-shell) .pool-ranking tbody td:nth-child(2),
	body:has(.fp-ranking-shell) .fp-ranking-table tbody td:nth-child(2) {
		grid-area: player !important;
		font-size: 0.56rem !important;
		font-weight: 800 !important;
		color: #102b18 !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody td:nth-child(3),
	body:has(.fp-ranking-shell) .pool-ranking tbody td:nth-child(3),
	body:has(.fp-ranking-shell) .fp-ranking-table tbody td:nth-child(3) {
		grid-area: points !important;
		text-align: left !important;
		font-size: 0.52rem !important;
		color: #102b18 !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody td:nth-child(4),
	body:has(.fp-ranking-shell) .pool-ranking tbody td:nth-child(4),
	body:has(.fp-ranking-shell) .fp-ranking-table tbody td:nth-child(4) {
		grid-area: scores !important;
		text-align: right !important;
		font-size: 0.52rem !important;
		color: #102b18 !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody td:nth-child(5),
	body:has(.fp-ranking-shell) .pool-ranking tbody td:nth-child(5),
	body:has(.fp-ranking-shell) .fp-ranking-table tbody td:nth-child(5) {
		grid-area: earnings !important;
		text-align: left !important;
		font-size: 0.52rem !important;
		color: #0c2612 !important;
	}

	body:has(.matchinfo) .match-card {
		padding: 15px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body:has(.matchinfo) .match-row-main {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
	body:has(.matchinfo) .team {
		justify-content: center !important;
		text-align: center !important;
	}
	body:has(.matchinfo) .away-team {
		flex-direction: row-reverse !important;
	}
	body:has(.matchinfo) .score-group {
		margin: 8px 0 !important;
	}
	body:has(.matchinfo) .match-row-side {
		align-items: center !important;
		text-align: center !important;
		margin-top: 8px !important;
		border-top: 1px dashed #e2e8f0 !important;
		padding-top: 10px !important;
		width: 100% !important;
	}

	body:has(.matchinfo) .score-box {
		min-width: 40px !important;
	}
}

/* ==========================================================================
   Custom Header and Footer Styles (SoccerSmarts Premium Layout)
   ========================================================================== */

/* Hide default theme headers/footers when the custom options are enabled */
body.soccersmarts-has-custom-header header:not(.soccersmarts-custom-header),
body.soccersmarts-has-custom-header .site-header,
body.soccersmarts-has-custom-header #masthead,
body.soccersmarts-has-custom-header .elementor-header {
	display: none !important;
}

body.soccersmarts-has-custom-footer footer:not(.soccersmarts-custom-footer),
body.soccersmarts-has-custom-footer .site-footer,
body.soccersmarts-has-custom-footer #colophon,
body.soccersmarts-has-custom-footer .elementor-footer {
	display: none !important;
}

/* Custom Header Layout */
.soccersmarts-custom-header {
	background-color: var(--vip-dark-blue) !important;
	border-bottom: 2px solid var(--vip-card-border) !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	width: 100% !important;
	box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
}

.soccersmarts-header-container {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 14px 20px !important;
}

.soccersmarts-header-logo a {
	display: block !important;
	text-decoration: none !important;
}

.soccersmarts-header-logo img {
	max-height: 48px !important;
	width: auto !important;
	display: block !important;
}

.soccersmarts-header-logo .site-title-text {
	color: var(--vip-gold) !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 900 !important;
	font-size: 1.6rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.soccersmarts-header-nav-desktop {
	display: flex !important;
	align-items: center !important;
}

.soccersmarts-nav-menu {
	display: flex !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 20px !important;
	align-items: center !important;
}

.soccersmarts-nav-menu li {
	margin: 0 !important;
	padding: 0 !important;
}

.soccersmarts-nav-menu li a {
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	padding: 8px 12px !important;
	border-radius: 6px !important;
	transition: all 0.25s ease !important;
	display: block !important;
}

.soccersmarts-nav-menu li a:hover {
	color: var(--vip-gold) !important;
	background: rgba(255,255,255,0.06) !important;
}

/* Subscribe to VIP gold button */
.soccersmarts-nav-menu li a[href*="vip-packages"] {
	background: var(--vip-gold-gradient) !important;
	color: var(--vip-dark-blue) !important;
	border-radius: 50px !important;
	padding: 10px 22px !important;
	font-weight: 900 !important;
	box-shadow: 0 4px 12px rgba(212,175,55,0.25) !important;
}

.soccersmarts-nav-menu li a[href*="vip-packages"]:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(212,175,55,0.4) !important;
	color: var(--vip-dark-blue) !important;
}

/* Hamburger menu icon */
.soccersmarts-header-hamburger {
	display: none !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	width: 26px !important;
	height: 18px !important;
	cursor: pointer !important;
}

.soccersmarts-header-hamburger span {
	width: 100% !important;
	height: 3px !important;
	background-color: #ffffff !important;
	border-radius: 2px !important;
	transition: all 0.25s ease !important;
}

/* Mobile responsive drawer navigation */
.soccersmarts-mobile-drawer {
	position: fixed !important;
	top: 0 !important;
	right: -290px !important;
	width: 270px !important;
	height: 100% !important;
	background-color: #00220A !important;
	box-shadow: -5px 0 20px rgba(0,0,0,0.45) !important;
	z-index: 100000 !important;
	transition: right 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	padding: 30px 20px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
}

.soccersmarts-mobile-drawer.active {
	right: 0 !important;
}

.soccersmarts-drawer-close {
	align-self: flex-end !important;
	font-size: 2.2rem !important;
	color: #ffffff !important;
	cursor: pointer !important;
	line-height: 1 !important;
	margin-bottom: 25px !important;
	transition: color 0.2s ease !important;
}

.soccersmarts-drawer-close:hover {
	color: var(--vip-gold) !important;
}

.soccersmarts-drawer-logo {
	margin-bottom: 30px !important;
}

.soccersmarts-drawer-logo img {
	max-height: 44px !important;
	width: auto !important;
}

.soccersmarts-drawer-logo span {
	color: var(--vip-gold) !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 900 !important;
	font-size: 1.4rem !important;
	text-transform: uppercase !important;
}

.soccersmarts-drawer-nav {
	margin-bottom: auto !important;
	overflow-y: auto !important;
}

.soccersmarts-drawer-menu {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.soccersmarts-drawer-menu li {
	margin: 18px 0 !important;
}

.soccersmarts-drawer-menu li a {
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	display: block !important;
	transition: color 0.2s ease !important;
}

.soccersmarts-drawer-menu li a:hover {
	color: var(--vip-gold) !important;
}

.soccersmarts-drawer-menu li a[href*="vip-packages"] {
	color: var(--vip-gold) !important;
	font-weight: 900 !important;
}

.soccersmarts-drawer-socials {
	display: flex !important;
	gap: 12px !important;
	margin-top: 20px !important;
	border-top: 1px solid rgba(255,255,255,0.1) !important;
	padding-top: 20px !important;
}

.soccersmarts-drawer-socials .social-btn {
	flex: 1 !important;
	text-align: center !important;
	padding: 11px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	font-weight: 800 !important;
	font-size: 0.8rem !important;
	text-transform: uppercase !important;
	font-family: var(--vip-font-outfit) !important;
}

.soccersmarts-drawer-socials .social-btn.telegram {
	background-color: #229ED9 !important;
	color: #ffffff !important;
}

.soccersmarts-drawer-socials .social-btn.whatsapp {
	background-color: #25D366 !important;
	color: #ffffff !important;
}

/* Custom Footer Styles */
.soccersmarts-custom-footer {
	background-color: #00220A !important;
	padding: 45px 20px 35px 20px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	border-top: 4px double #FFE066 !important; /* Premium pink/gold double border */
	text-align: center !important;
	margin-top: 50px !important;
}

.soccersmarts-footer-container {
	max-width: 800px !important;
	margin: 0 auto !important;
}

.soccersmarts-footer-socials {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 25px !important;
	flex-wrap: wrap !important;
}

.footer-icon-btn {
	width: 48px !important;
	height: 48px !important;
	border-radius: 10px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.footer-icon-btn:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 8px 16px rgba(0,0,0,0.35) !important;
}

.footer-icon-btn svg {
	width: 24px !important;
	height: 24px !important;
	fill: #ffffff !important;
}

.telegram-btn {
	background-color: #229ED9 !important;
}

.whatsapp-btn {
	background-color: #25D366 !important;
}

.phone-btn, .sms-btn {
	background-color: #5c6b73 !important;
}

.email-btn {
	background-color: #ea4335 !important;
}

.sms-icon-text {
	color: #ffffff !important;
	font-weight: 900 !important;
	font-size: 0.85rem !important;
	font-family: var(--vip-font-outfit) !important;
	letter-spacing: 0.5px !important;
}

.soccersmarts-footer-text p {
	color: #ffffff !important;
	font-family: var(--vip-font-inter) !important;
	font-size: 0.95rem !important;
	margin: 8px 0 !important;
	line-height: 1.5 !important;
}

.soccersmarts-footer-text .footer-text-line-1 {
	text-transform: uppercase !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
	letter-spacing: 1.5px !important;
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
}

.soccersmarts-footer-text .footer-text-line-2 {
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	opacity: 0.9 !important;
}

.soccersmarts-footer-text .footer-text-line-3 {
	font-size: 0.88rem !important;
	opacity: 0.75 !important;
}

/* Mobile responsive drawer trigger media queries */
@media (max-width: 768px) {
	.soccersmarts-header-nav-desktop {
		display: none !important;
	}
	.soccersmarts-header-hamburger {
		display: flex !important;
	}
	.soccersmarts-custom-header {
		position: fixed !important;
	}
	body.soccersmarts-has-custom-header {
		padding-top: 76px !important; /* Offset for fixed header on mobile */
	}
}

/* ==========================================================================
   VIP 1.1.0: full width paid ticket experience
   ========================================================================== */
body.vip-full-page-layout,
body:has(.vip-page-shell) {
	background: #00190a !important;
	color: #ffffff !important;
}

body.vip-full-page-layout #content,
body.vip-full-page-layout .site-content,
body.vip-full-page-layout main,
body.vip-full-page-layout .site-main,
body.vip-full-page-layout article,
body.vip-full-page-layout .entry-content,
body:has(.vip-page-shell) #content,
body:has(.vip-page-shell) .site-content,
body:has(.vip-page-shell) main,
body:has(.vip-page-shell) .site-main,
body:has(.vip-page-shell) article,
body:has(.vip-page-shell) .entry-content {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.vip-page-shell,
.vip-app-dashboard.vip-page-shell,
.vip-landing-container.vip-page-shell,
.vip-packages-container.vip-page-shell,
.vip-checkout-container.vip-page-shell,
.vip-success-container.vip-page-shell,
.vip-history-container.vip-page-shell {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: clamp(24px, 4vw, 64px) clamp(16px, 5vw, 72px) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background:
		radial-gradient(circle at 15% 10%, rgba(255,224,102,.08), transparent 34%),
		linear-gradient(180deg, #00240e 0%, #00190a 45%, #001307 100%) !important;
	min-height: 70vh !important;
	box-sizing: border-box !important;
}

.vip-page-shell > * {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.vip-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
	font-size: 12px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: #ffe066 !important;
	margin-bottom: 12px !important;
}

.vip-eyebrow:before {
	content: '';
	width: 28px;
	height: 2px;
	background: #ffe066;
	border-radius: 10px;
}

.vip-page-heading {
	text-align: center;
	margin-bottom: 36px !important;
}

.vip-page-heading-left { text-align: left !important; }

.vip-page-heading h1,
.vip-premium-hero h1,
.vip-dashboard-header h1,
.vip-success-modern h1,
.vip-paywall-card h1,
.vip-auth-card h1 {
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 850 !important;
	font-size: clamp(30px, 4vw, 58px) !important;
	line-height: 1.03 !important;
	letter-spacing: -1.5px !important;
	margin: 0 0 14px !important;
	text-transform: none !important;
	text-shadow: none !important;
}

.vip-page-heading p,
.vip-premium-hero p,
.vip-dashboard-header p,
.vip-paywall-card p,
.vip-auth-card p,
.vip-success-modern > p {
	color: #b7c8bd !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	margin: 0 !important;
	max-width: 720px;
}

.vip-btn {
	min-height: 48px !important;
	padding: 12px 22px !important;
	border-radius: 12px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: .2px !important;
	text-transform: none !important;
}

.vip-btn-gold,
.vip-btn-unlock,
.vip-btn-pay {
	background: #ffe066 !important;
	color: #06200f !important;
	box-shadow: 0 10px 30px rgba(255,224,102,.12) !important;
}

.vip-btn-gold:hover,
.vip-btn-unlock:hover,
.vip-btn-pay:hover {
	background: #ffea8e !important;
	color: #06200f !important;
	transform: translateY(-1px) !important;
}

.vip-btn-outline {
	background: rgba(255,255,255,.03) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,.14) !important;
}

.vip-btn-outline:hover {
	background: rgba(255,255,255,.08) !important;
	color: #ffffff !important;
}

/* Landing */
.vip-premium-hero {
	padding: clamp(36px, 7vw, 90px) 0 54px !important;
	text-align: left !important;
	background: transparent !important;
}

.vip-premium-hero h1 { max-width: 880px; }
.vip-premium-hero p { max-width: 760px; font-size: clamp(16px, 2vw, 20px) !important; }
.vip-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

.vip-feature-strip {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin-top: 4px !important;
}

.vip-feature-strip .vip-feature-card {
	text-align: left !important;
	background: rgba(255,255,255,.035) !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	border-radius: 18px !important;
	padding: 26px !important;
}

.vip-feature-strip .vip-feature-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	border-radius: 12px !important;
	background: #ffe066 !important;
	color: #06200f !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	margin-bottom: 22px !important;
}

.vip-feature-strip h3 { color: #ffffff !important; font-size: 20px !important; margin-bottom: 8px !important; }
.vip-feature-strip p { color: #9eb1a4 !important; font-size: 14px !important; line-height: 1.65 !important; }

.vip-access-notice {
	margin-top: 18px !important;
	padding: 20px 22px !important;
	border: 1px solid rgba(255,224,102,.24) !important;
	background: rgba(255,224,102,.06) !important;
	border-radius: 16px !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 20px !important;
}

.vip-access-notice div { display: flex; flex-direction: column; gap: 4px; }
.vip-access-notice strong { color: #ffe066 !important; }
.vip-access-notice span { color: #b7c8bd !important; font-size: 14px !important; }
.vip-access-notice a { color: #ffe066 !important; font-weight: 800 !important; text-decoration: none !important; white-space: nowrap; }

/* Packages */
.vip-package-policy {
	display: flex !important;
	justify-content: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-bottom: 28px !important;
}

.vip-package-policy span {
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	color: #c8d7cd !important;
	border-radius: 999px !important;
	padding: 9px 14px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
}

.vip-packages-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 18px !important;
	align-items: stretch !important;
}

.vip-package-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	background: linear-gradient(180deg, rgba(7,55,27,.88), rgba(2,34,16,.96)) !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	border-radius: 20px !important;
	padding: 26px !important;
	box-shadow: 0 24px 80px rgba(0,0,0,.16) !important;
	overflow: visible !important;
}

.vip-package-featured {
	border-color: rgba(255,224,102,.5) !important;
	box-shadow: 0 24px 90px rgba(255,224,102,.08) !important;
}

.vip-package-popular {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	background: #ffe066 !important;
	color: #06200f !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: .8px !important;
	border-radius: 999px !important;
	padding: 7px 10px !important;
}

.vip-package-header { text-align: left !important; padding: 0 !important; background: none !important; }
.vip-package-kicker { color: #81a68d !important; font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
.vip-package-card h3 { color: #ffffff !important; font-size: 25px !important; margin: 8px 0 18px !important; }
.vip-package-price { display: flex !important; align-items: baseline !important; gap: 8px !important; color: #ffffff !important; margin-bottom: 6px !important; }
.vip-package-price strong { color: #ffffff !important; font-size: 36px !important; line-height: 1 !important; }
.vip-package-price span { color: #ffe066 !important; font-size: 12px !important; font-weight: 800 !important; }
.vip-package-validity { color: #a9bbb0 !important; font-size: 12px !important; }
.vip-package-body { padding: 24px 0 !important; flex: 1; }
.vip-package-desc { color: #b4c6ba !important; min-height: 42px; line-height: 1.6 !important; }
.vip-package-benefits { margin: 20px 0 0 !important; padding: 0 !important; display: grid !important; gap: 11px !important; }
.vip-package-benefits li { list-style: none !important; display: flex !important; gap: 10px !important; color: #d7e3da !important; font-size: 13px !important; }
.vip-package-benefits li span { color: #ffe066 !important; font-weight: 900 !important; }
.vip-package-footer { padding: 0 !important; margin-top: auto !important; }
.vip-package-footer .vip-btn { width: 100% !important; }

/* Checkout */
.vip-checkout-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
	gap: 22px !important;
	align-items: start !important;
}

.vip-checkout-card,
.vip-order-card,
.vip-history-card,
.vip-account-bar,
.vip-dashboard-header,
.vip-dashboard-main-section,
.vip-auth-card,
.vip-auth-gate,
.vip-paywall-card,
.vip-success-modern {
	background: rgba(255,255,255,.035) !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	border-radius: 20px !important;
	box-shadow: 0 24px 80px rgba(0,0,0,.14) !important;
}

.vip-checkout-card { padding: clamp(22px, 4vw, 40px) !important; max-width: none !important; margin: 0 !important; }
.vip-checkout-card-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 26px; }
.vip-step-number { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: #ffe066; color: #06200f; font-weight: 900; flex: 0 0 auto; }
.vip-checkout-card-head h2 { color: #ffffff !important; font-size: 22px !important; margin: 0 0 5px !important; }
.vip-checkout-card-head p { color: #8fa296 !important; margin: 0 !important; font-size: 13px !important; }
.vip-form { display: grid !important; gap: 18px !important; }
.vip-form-group { margin: 0 !important; }
.vip-form-group label { display: block !important; color: #dce8df !important; font-size: 12px !important; font-weight: 800 !important; margin-bottom: 8px !important; }
.vip-form-group input {
	width: 100% !important;
	min-height: 52px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	background: #00190a !important;
	color: #ffffff !important;
	padding: 12px 14px !important;
	outline: none !important;
	box-shadow: none !important;
}
.vip-form-group input:focus { border-color: #ffe066 !important; box-shadow: 0 0 0 3px rgba(255,224,102,.08) !important; }
.vip-form-group input[disabled] { opacity: .7 !important; }
.vip-field-hint { color: #7f9687 !important; font-size: 11px !important; margin-top: 6px !important; display: block !important; }
.vip-momo-accept { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; margin: 2px 0 !important; }
.momo-badge { border-radius: 999px !important; padding: 8px 11px !important; font-size: 10px !important; font-weight: 900 !important; }
.momo-secure { background: rgba(255,255,255,.07) !important; color: #dce8df !important; border: 1px solid rgba(255,255,255,.09) !important; }
.vip-btn-pay { width: 100% !important; min-height: 54px !important; font-size: 14px !important; }
.vip-disclaimer { color: #819687 !important; font-size: 11px !important; line-height: 1.6 !important; margin: 0 !important; }
.vip-order-card { padding: 28px !important; position: sticky !important; top: 24px !important; }
.vip-order-label { color: #ffe066 !important; font-size: 11px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
.vip-order-card h3 { color: #ffffff !important; font-size: 26px !important; margin: 8px 0 8px !important; }
.vip-order-card > p { color: #91a598 !important; font-size: 13px !important; line-height: 1.6 !important; margin-bottom: 22px !important; }
.vip-order-row, .vip-order-total { display: flex !important; justify-content: space-between !important; gap: 20px !important; padding: 13px 0 !important; border-top: 1px solid rgba(255,255,255,.07) !important; color: #96aa9c !important; font-size: 13px !important; }
.vip-order-row strong { color: #ffffff !important; text-align: right !important; }
.vip-order-total { margin-top: 8px !important; padding-top: 18px !important; }
.vip-order-total strong { color: #ffe066 !important; font-size: 19px !important; }
.vip-order-note, .vip-warning-box { margin-top: 18px !important; padding: 14px !important; border-radius: 12px !important; background: rgba(255,224,102,.06) !important; border: 1px solid rgba(255,224,102,.16) !important; color: #c8d6cc !important; font-size: 12px !important; line-height: 1.55 !important; }

/* Success, auth and paywall */
.vip-success-modern,
.vip-auth-card,
.vip-auth-gate,
.vip-paywall-card { max-width: 760px !important; margin: 0 auto !important; padding: clamp(28px, 5vw, 54px) !important; text-align: center !important; }
.vip-success-check, .vip-paywall-lock, .vip-auth-icon { width: 68px !important; height: 68px !important; margin: 0 auto 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 20px !important; background: #ffe066 !important; color: #06200f !important; font-size: 30px !important; font-weight: 900 !important; }
.vip-receipt-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 10px !important; margin: 28px 0 0 !important; padding: 0 !important; background: transparent !important; }
.vip-receipt-grid > div { padding: 16px !important; background: #00190a !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 14px !important; display: flex; flex-direction: column; gap: 5px; text-align: left; }
.vip-receipt-grid span { color: #799181 !important; font-size: 10px !important; text-transform: uppercase !important; font-weight: 800 !important; }
.vip-receipt-grid strong { color: #ffffff !important; font-size: 13px !important; word-break: break-word !important; }
.vip-success-actions, .vip-paywall-actions, .vip-auth-actions { display: flex !important; justify-content: center !important; gap: 10px !important; flex-wrap: wrap !important; margin-top: 24px !important; }
.vip-reference-chip { display: inline-block; margin-top: 18px; padding: 10px 14px; border-radius: 10px; background: #00190a; color: #ffe066; font-family: monospace; font-size: 12px; word-break: break-all; }

.vip-auth-page { display: flex !important; align-items: center !important; }
.vip-auth-card #loginform { text-align: left !important; margin-top: 26px !important; }
.vip-auth-card #loginform p { margin: 0 0 15px !important; max-width: none !important; }
.vip-auth-card #loginform label { color: #d9e5dc !important; font-size: 12px !important; font-weight: 800 !important; }
.vip-auth-card #loginform input[type="text"],
.vip-auth-card #loginform input[type="password"] { width: 100% !important; min-height: 52px !important; border-radius: 12px !important; border: 1px solid rgba(255,255,255,.12) !important; background: #00190a !important; color: #fff !important; padding: 12px 14px !important; }
.vip-auth-card #wp-submit { width: 100% !important; min-height: 50px !important; border: 0 !important; border-radius: 12px !important; background: #ffe066 !important; color: #06200f !important; font-weight: 900 !important; cursor: pointer !important; }
.vip-auth-card .login-remember { display: flex; align-items: center; gap: 8px; }
.vip-auth-foot { text-align: center !important; color: #829689 !important; font-size: 12px !important; margin-top: 14px !important; }
.vip-auth-foot a { color: #ffe066 !important; }

/* History */
.vip-account-bar { padding: 18px 20px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 16px !important; margin-bottom: 16px !important; }
.vip-account-bar > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.vip-account-bar span { color: #7e9484 !important; font-size: 10px !important; text-transform: uppercase !important; font-weight: 800 !important; }
.vip-account-bar strong { color: #ffffff !important; }
.vip-account-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
.vip-history-card { padding: 18px !important; }
.vip-table { margin: 0 !important; background: transparent !important; }
.vip-table th { color: #8fa497 !important; border-bottom: 1px solid rgba(255,255,255,.1) !important; padding: 13px !important; }
.vip-table td { color: #dbe6de !important; border-bottom: 1px solid rgba(255,255,255,.07) !important; padding: 14px 13px !important; }
.vip-table code { color: #ffe066 !important; background: rgba(255,224,102,.06) !important; padding: 5px 7px !important; border-radius: 6px !important; }
.vip-empty-state { padding: 50px 20px !important; text-align: center !important; border: 1px dashed rgba(255,255,255,.12) !important; border-radius: 16px !important; }
.vip-empty-state h3 { color: #ffffff !important; margin: 0 0 8px !important; }
.vip-empty-state p { color: #8fa296 !important; margin: 0 0 20px !important; }

/* Protected dashboard */
.vip-dashboard-header { padding: 22px !important; display: flex !important; justify-content: space-between !important; gap: 20px !important; align-items: center !important; margin-bottom: 14px !important; }
.vip-profile-summary { display: flex !important; align-items: center !important; gap: 16px !important; }
.vip-profile-avatar img { width: 58px !important; height: 58px !important; border-radius: 16px !important; border: 1px solid rgba(255,224,102,.45) !important; }
.vip-dashboard-header h1 { font-size: clamp(25px, 3vw, 36px) !important; letter-spacing: -.5px !important; margin-bottom: 5px !important; }
.vip-dashboard-header .vip-eyebrow { margin-bottom: 5px !important; }
.vip-dashboard-header p { font-size: 13px !important; }
.vip-dashboard-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
.vip-session-banner, .vip-admin-test-banner { max-width: 1280px !important; margin: 0 auto 14px !important; border-radius: 18px !important; padding: 18px 20px !important; display: flex !important; align-items: center !important; gap: 18px !important; }
.vip-session-banner { background: rgba(255,224,102,.08) !important; border: 1px solid rgba(255,224,102,.28) !important; }
.vip-session-clock { min-width: 118px !important; padding-right: 18px !important; border-right: 1px solid rgba(255,224,102,.2) !important; display: flex !important; flex-direction: column !important; }
.vip-session-clock span { color: #a9b8ae !important; font-size: 10px !important; text-transform: uppercase !important; font-weight: 800 !important; }
.vip-session-clock strong { color: #ffe066 !important; font-size: 28px !important; font-family: var(--vip-font-outfit) !important; }
.vip-countdown-warning { color: #ff8f70 !important; }
.vip-session-message { display: flex !important; flex-direction: column !important; gap: 3px !important; }
.vip-session-message strong { color: #ffffff !important; }
.vip-session-message span { color: #a7b8ad !important; font-size: 12px !important; line-height: 1.55 !important; }
.vip-admin-test-banner { background: rgba(88,210,130,.08) !important; border: 1px solid rgba(88,210,130,.22) !important; }
.vip-admin-test-banner > span { background: #63d58a !important; color: #06200f !important; padding: 8px 10px !important; border-radius: 8px !important; font-size: 10px !important; font-weight: 900 !important; }
.vip-admin-test-banner strong { color: #ffffff !important; display: block !important; }
.vip-admin-test-banner p { color: #91a698 !important; margin: 2px 0 0 !important; font-size: 12px !important; }
.vip-dashboard-main-section { padding: 22px !important; }
.vip-section-heading-row { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 14px !important; margin-bottom: 16px !important; }
.vip-section-heading-row h2 { color: #ffffff !important; font-size: 22px !important; margin: 0 !important; }
.vip-section-heading-row .vip-eyebrow { margin-bottom: 4px !important; }
.vip-secure-pill { color: #ffe066 !important; background: rgba(255,224,102,.08) !important; border: 1px solid rgba(255,224,102,.2) !important; border-radius: 999px !important; padding: 8px 11px !important; font-size: 10px !important; font-weight: 800 !important; }
.vip-single-ticket-grid { grid-template-columns: minmax(0, 1fr) !important; max-width: 920px !important; margin: 0 auto !important; }
.vip-ticket-card-modern { background: #00190a !important; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 18px !important; padding: clamp(20px, 3vw, 34px) !important; box-shadow: none !important; }
.card-top-bar { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px !important; margin-bottom: 20px !important; }
.vip-package-label { color: #ffe066 !important; font-size: 11px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
.ticket-match-title { color: #ffffff !important; font-size: clamp(23px,3vw,34px) !important; margin: 0 0 6px !important; }
.ticket-post-date { color: #708678 !important; font-size: 11px !important; margin-bottom: 22px !important; }
.ticket-stats-row { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; gap: 10px !important; margin-bottom: 22px !important; }
.odds-display-box, .result-display-box { background: rgba(255,255,255,.035) !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 14px !important; padding: 15px !important; display: flex !important; flex-direction: column !important; gap: 3px !important; }
.odds-display-box span, .result-display-box span { color: #7e9484 !important; font-size: 10px !important; text-transform: uppercase !important; font-weight: 800 !important; }
.odds-display-box strong, .result-display-box strong { color: #ffe066 !important; font-size: 20px !important; }
.ticket-description { color: #d5e1d8 !important; font-size: 15px !important; line-height: 1.75 !important; }
.ticket-description p { color: inherit !important; }
.ticket-notes-modern { margin-top: 20px !important; padding: 18px !important; border-radius: 14px !important; background: rgba(255,224,102,.055) !important; border: 1px solid rgba(255,224,102,.15) !important; }
.ticket-notes-modern > span { color: #ffe066 !important; font-size: 10px !important; font-weight: 900 !important; text-transform: uppercase !important; }
.ticket-notes-modern p { color: #d2ded6 !important; margin: 8px 0 0 !important; line-height: 1.65 !important; }
.ticket-image-wrap { margin-top: 20px !important; border-radius: 14px !important; overflow: hidden !important; border: 1px solid rgba(255,255,255,.08) !important; }
.ticket-image-wrap img { width: 100% !important; height: auto !important; display: block !important; }
.vip-admin-ticket-meta { margin-top: 16px !important; color: #6f8577 !important; font-size: 10px !important; }

.vip-access-ended-overlay { position: fixed !important; inset: 0 !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 20px !important; background: rgba(0,12,5,.93) !important; backdrop-filter: blur(10px) !important; }
.vip-access-ended-card { width: min(520px, 100%) !important; padding: 38px !important; border-radius: 20px !important; background: #00240e !important; border: 1px solid rgba(255,224,102,.25) !important; text-align: center !important; }
.vip-access-ended-card h2 { color: #ffffff !important; font-size: 27px !important; margin-bottom: 8px !important; }
.vip-access-ended-card p { color: #a4b6aa !important; margin-bottom: 22px !important; }

.vip-status-badge.completed, .vip-status-badge.active { background: rgba(60,208,113,.13) !important; color: #7ce69f !important; }
.vip-status-badge.pending { background: rgba(255,224,102,.1) !important; color: #ffe066 !important; }
.vip-status-badge.failed, .vip-status-badge.lost { background: rgba(255,100,100,.11) !important; color: #ff9a9a !important; }

@media (max-width: 900px) {
	.vip-checkout-layout { grid-template-columns: 1fr !important; }
	.vip-order-card { position: static !important; }
	.vip-feature-strip { grid-template-columns: 1fr !important; }
	.vip-receipt-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 700px) {
	.vip-page-shell,
	.vip-app-dashboard.vip-page-shell,
	.vip-landing-container.vip-page-shell,
	.vip-packages-container.vip-page-shell,
	.vip-checkout-container.vip-page-shell,
	.vip-success-container.vip-page-shell,
	.vip-history-container.vip-page-shell { padding: 24px 12px !important; }
	.vip-premium-hero { padding: 28px 0 34px !important; }
	.vip-page-heading h1, .vip-premium-hero h1, .vip-paywall-card h1, .vip-auth-card h1 { font-size: 31px !important; letter-spacing: -.6px !important; }
	.vip-page-heading p, .vip-premium-hero p { font-size: 14px !important; }
	.vip-packages-grid { grid-template-columns: 1fr !important; }
	.vip-checkout-card, .vip-order-card, .vip-history-card, .vip-dashboard-main-section, .vip-auth-card, .vip-auth-gate, .vip-paywall-card, .vip-success-modern { border-radius: 16px !important; padding: 18px !important; }
	.vip-dashboard-header { flex-direction: column !important; align-items: stretch !important; padding: 16px !important; }
	.vip-dashboard-actions, .vip-account-actions { width: 100% !important; }
	.vip-dashboard-actions .vip-btn, .vip-account-actions .vip-btn { flex: 1 1 45% !important; }
	.vip-session-banner, .vip-admin-test-banner { align-items: flex-start !important; padding: 15px !important; }
	.vip-session-clock { min-width: 92px !important; padding-right: 12px !important; }
	.vip-session-clock strong { font-size: 24px !important; }
	.vip-account-bar { flex-direction: column !important; align-items: stretch !important; }
	.vip-access-notice { flex-direction: column !important; align-items: flex-start !important; }
	.vip-hero-actions .vip-btn, .vip-success-actions .vip-btn, .vip-paywall-actions .vip-btn, .vip-auth-actions .vip-btn { width: 100% !important; }
	.vip-section-heading-row { align-items: flex-start !important; }
	.vip-secure-pill { white-space: nowrap !important; }
}

/* =======================================================================
   Version 1.2.0 refresh: lighter green and gold VIP experience
   ======================================================================= */
:root {
	--vip-dark-blue: #003412;
	--vip-card-bg: #063f19;
	--vip-card-border: #d8b64c;
	--vip-gold: #f0cf58;
	--vip-gold-dark: #c89d2a;
	--vip-gold-gradient: linear-gradient(135deg, #f6de75 0%, #e1b744 100%);
	--vip-dark-gradient: linear-gradient(180deg, #003814 0%, #052b12 100%);
	--vip-blue-gradient: linear-gradient(135deg, #0a4a1e 0%, #063316 100%);
	--vip-white: #ffffff;
	--vip-text-gray: #d4e1d8;
}

body:has(.vip-page-shell),
body:has(.vip-page-shell) #page,
body:has(.vip-page-shell) #content,
body:has(.vip-page-shell) .site-content,
body:has(.vip-page-shell) main,
body:has(.vip-page-shell) #main {
	background: #003412 !important;
	color: #ffffff !important;
}

.vip-page-shell {
	max-width: 1440px;
	margin: 0 auto;
	padding: 24px 0 60px;
}

.vip-shell-header-wrap {
	margin-bottom: 30px;
}

.vip-shell-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	padding: 20px 28px;
	border: 1px solid rgba(240, 207, 88, 0.38);
	background: rgba(6, 63, 25, 0.72);
	backdrop-filter: blur(8px);
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.vip-shell-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.vip-shell-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--vip-gold-gradient);
	color: #052b12;
	font-family: var(--vip-font-outfit);
	font-weight: 900;
	font-size: 1rem;
	letter-spacing: 0.16em;
}

.vip-shell-brand-text {
	font-family: var(--vip-font-outfit);
	font-size: 1.8rem;
	font-weight: 800;
	color: #ffffff;
}

.vip-shell-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex: 1 1 auto;
	flex-wrap: wrap;
}

.vip-shell-nav-link,
.vip-shell-nav-link:visited {
	color: rgba(255,255,255,0.88) !important;
	text-decoration: none !important;
	padding: 12px 18px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	transition: all 0.2s ease;
}

.vip-shell-nav-link:hover,
.vip-shell-nav-link.is-active {
	background: rgba(240, 207, 88, 0.14);
	color: var(--vip-gold) !important;
}

.vip-shell-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.vip-shell-action-btn,
.vip-shell-action-btn:visited {
	text-decoration: none !important;
	padding: 13px 22px;
	border-radius: 999px;
	font-weight: 800;
	font-family: var(--vip-font-outfit);
	letter-spacing: 0.02em;
}

.vip-shell-action-solid {
	background: var(--vip-gold-gradient);
	color: #052b12 !important;
	border: 1px solid rgba(240, 207, 88, 0.85);
}

.vip-shell-action-ghost {
	background: transparent;
	color: #ffffff !important;
	border: 1px solid rgba(240, 207, 88, 0.32);
}

.vip-page-heading h1,
.vip-premium-hero h1,
.vip-success-card h1,
.vip-auth-card h1,
.vip-paywall-card h1,
.vip-dashboard-header h1 {
	color: #ffffff !important;
}

.vip-page-heading p,
.vip-premium-hero p,
.vip-feature-card p,
.vip-auth-card p,
.vip-paywall-card p,
.vip-success-card p,
.vip-history-card,
.vip-dashboard-header p {
	color: rgba(255,255,255,0.84) !important;
}

.vip-second-shot-hero,
.vip-success-card,
.vip-history-card,
.vip-auth-card,
.vip-paywall-card,
.vip-dashboard-header,
.vip-dashboard-main-section,
.vip-checkout-card,
.vip-order-card,
.vip-admin-test-banner,
.vip-session-banner {
	background: linear-gradient(180deg, rgba(7, 61, 24, 0.98) 0%, rgba(5, 49, 19, 0.98) 100%) !important;
	border: 1px solid rgba(240, 207, 88, 0.38) !important;
	border-radius: 28px !important;
	box-shadow: 0 18px 42px rgba(0,0,0,0.16) !important;
}

.vip-second-shot-hero {
	padding: 64px 42px;
	text-align: center;
	margin-bottom: 24px;
}

.vip-page-heading-package-style {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 32px;
}

.vip-page-heading-package-style h1 {
	font-size: clamp(2.4rem, 6vw, 4.5rem);
	letter-spacing: -0.04em;
}

.vip-page-heading-package-style p {
	font-size: 1.2rem;
}

.vip-package-policy,
.vip-package-policy-large {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 24px 0 0;
}

.vip-package-policy span,
.vip-package-policy-large span {
	padding: 12px 18px;
	border-radius: 999px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(240, 207, 88, 0.18);
	color: rgba(255,255,255,0.92);
	font-weight: 600;
}

.vip-feature-strip-soft {
	margin-top: 24px;
}

.vip-feature-card {
	background: rgba(8, 56, 22, 0.92) !important;
	border: 1px solid rgba(240, 207, 88, 0.22) !important;
	border-radius: 24px !important;
}

.vip-feature-icon {
	background: var(--vip-gold-gradient) !important;
	color: #052b12 !important;
}

.vip-packages-grid-second-shot {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}

.vip-package-card-second-shot {
	position: relative;
	padding: 40px 28px 26px;
	background: linear-gradient(180deg, #09431a 0%, #073917 100%);
	border: 1px solid rgba(240, 207, 88, 0.32);
	border-radius: 28px;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
}

.vip-package-card-second-shot.vip-package-featured {
	border-width: 3px;
}

.vip-package-card-second-shot h3 {
	color: #ffffff !important;
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: 0.02em;
	margin-bottom: 18px;
}

.vip-package-card-second-shot .vip-package-price {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 8px;
	margin-bottom: 12px;
}

.vip-package-card-second-shot .vip-package-price strong {
	font-size: clamp(2.4rem, 4vw, 3.6rem);
	line-height: 1;
	color: var(--vip-gold) !important;
	font-family: var(--vip-font-outfit);
}

.vip-package-card-second-shot .vip-package-price span,
.vip-package-card-second-shot .vip-package-validity {
	color: rgba(255,255,255,0.82) !important;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
}

.vip-package-card-second-shot .vip-package-body {
	padding-top: 18px;
	border-top: 1px solid rgba(240, 207, 88, 0.18);
	margin-top: 18px;
	flex: 1 1 auto;
}

.vip-package-card-second-shot .vip-package-desc {
	text-align: center;
	margin-bottom: 24px;
}

.vip-package-card-second-shot .vip-package-benefits {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.vip-package-card-second-shot .vip-package-benefits li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: rgba(255,255,255,0.92);
}

.vip-package-card-second-shot .vip-package-benefits span {
	color: var(--vip-gold);
	font-weight: 900;
}

.vip-package-footer {
	margin-top: 28px;
}

.vip-package-ribbon {
	position: absolute;
	top: 18px;
	right: -46px;
	transform: rotate(45deg);
	background: var(--vip-gold-gradient);
	color: #052b12;
	padding: 10px 54px;
	font-weight: 900;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
}

.vip-btn,
.vip-btn:visited,
.vip-btn:hover,
.vip-btn:focus {
	text-decoration: none !important;
}

.vip-btn-gold,
.vip-btn-unlock,
.vip-btn-pay {
	background: var(--vip-gold-gradient) !important;
	color: #052b12 !important;
	border: 1px solid rgba(240, 207, 88, 0.85) !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}

.vip-btn-outline {
	background: transparent !important;
	color: #ffffff !important;
	border: 1px solid rgba(240, 207, 88, 0.32) !important;
	border-radius: 999px !important;
}

.vip-app-dashboard-body {
	padding-top: 4px;
}

.vip-dashboard-header,
.vip-dashboard-main-section {
	padding: 28px;
}

.vip-dashboard-package-chip {
	display: inline-flex;
	margin-top: 10px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(240, 207, 88, 0.14);
	border: 1px solid rgba(240, 207, 88, 0.28);
	color: var(--vip-gold);
	font-size: 0.92rem;
	font-weight: 700;
}

.vip-admin-test-banner span,
.vip-secure-pill,
.vip-status-badge,
.vip-package-label {
	border-radius: 999px !important;
}

.vip-ticket-card-modern {
	background: linear-gradient(180deg, rgba(7, 64, 25, 0.98) 0%, rgba(5, 44, 19, 0.98) 100%) !important;
	border: 1px solid rgba(240, 207, 88, 0.28) !important;
	border-radius: 28px !important;
}

.vip-ticket-card-modern .ticket-match-title,
.vip-ticket-card-modern .ticket-description,
.vip-ticket-card-modern .ticket-post-date,
.vip-ticket-card-modern .ticket-notes-modern p,
.vip-ticket-card-modern .ticket-notes-modern span,
.vip-ticket-card-modern strong,
.vip-ticket-card-modern span,
.vip-ticket-card-modern p {
	color: #ffffff !important;
}

.vip-ticket-card-modern .odds-display-box,
.vip-ticket-card-modern .result-display-box,
.vip-ticket-card-modern .ticket-notes-modern {
	background: rgba(255,255,255,0.04) !important;
	border: 1px solid rgba(240, 207, 88, 0.16) !important;
}

.vip-history-card,
.vip-auth-card,
.vip-success-card,
.vip-paywall-card,
.vip-checkout-card,
.vip-order-card {
	padding: 34px;
}

.vip-auth-card .login-username,
.vip-auth-card .login-password,
.vip-auth-card .login-remember,
.vip-auth-card .login-submit {
	margin-bottom: 18px;
}

.vip-auth-card input[type="text"],
.vip-auth-card input[type="password"],
.vip-form input,
.vip-form select,
.vip-form textarea {
	background: rgba(255,255,255,0.06) !important;
	border: 1px solid rgba(240, 207, 88, 0.18) !important;
	color: #ffffff !important;
	border-radius: 16px !important;
}

.vip-auth-card label,
.vip-form label,
.vip-order-card h3,
.vip-order-label,
.vip-history-container code {
	color: #ffffff !important;
}

.vip-history-container code {
	background: rgba(255,255,255,0.06);
	padding: 6px 8px;
	border-radius: 10px;
}

.vip-table th,
.vip-table td {
	border-color: rgba(240, 207, 88, 0.12) !important;
}

.vip-table thead th {
	background: rgba(240, 207, 88, 0.08) !important;
	color: var(--vip-gold) !important;
}

@media (max-width: 1100px) {
	.vip-packages-grid-second-shot {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.vip-shell-header {
		padding: 18px;
	}
	.vip-shell-brand-text {
		font-size: 1.35rem;
	}
	.vip-shell-nav {
		justify-content: flex-start;
		width: 100%;
	}
	.vip-shell-actions {
		width: 100%;
	}
	.vip-shell-action-btn {
		flex: 1 1 auto;
		text-align: center;
	}
	.vip-second-shot-hero,
	.vip-history-card,
	.vip-auth-card,
	.vip-success-card,
	.vip-paywall-card,
	.vip-checkout-card,
	.vip-order-card,
	.vip-dashboard-header,
	.vip-dashboard-main-section {
		padding: 24px !important;
	}
}

@media (max-width: 640px) {
	.vip-page-shell {
		padding-top: 12px;
	}
	.vip-shell-header {
		border-radius: 18px;
	}
	.vip-shell-brand {
		width: 100%;
	}
	.vip-shell-nav-link {
		padding: 10px 12px;
		font-size: 0.88rem;
	}
	.vip-shell-actions {
		gap: 10px;
	}
	.vip-page-heading-package-style h1 {
		font-size: 2.3rem;
	}
	.vip-package-card-second-shot {
		padding: 28px 20px 22px;
	}
	body:not(.wp-admin) .site-content,
	body:not(.wp-admin) .entry-content,
	body:not(.wp-admin) .container,
	body:not(.wp-admin) #content,
	body:not(.wp-admin) main,
	body:not(.wp-admin) .site-main,
	body:not(.wp-admin) article {
		padding: 0 10px !important;
	}
}

/* ==========================================================================
   VIP 1.3.0: brighter green and gold package matrix + protected dashboard
   ========================================================================== */
body.soccersmarts-vip-managed-page,
body.soccersmarts-vip-managed-page #page,
body.soccersmarts-vip-managed-page #content,
body.soccersmarts-vip-managed-page .site-content,
body.soccersmarts-vip-managed-page main,
body.soccersmarts-vip-managed-page .site-main {
	background: #07502c !important;
	color: #ffffff !important;
}

body.soccersmarts-vip-managed-page .vip-page-shell,
body.soccersmarts-vip-managed-page .vip-app-dashboard.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-landing-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-packages-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-checkout-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-success-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-history-container.vip-page-shell {
	background:
		radial-gradient(circle at 50% 0%, rgba(255,218,92,.08), transparent 34%),
		linear-gradient(180deg, #075733 0%, #064b2b 55%, #054326 100%) !important;
	min-height: 78vh !important;
}

/* Custom VIP header */
body.soccersmarts-vip-managed-page .soccersmarts-custom-header {
	background: linear-gradient(180deg, #064425 0%, #053a20 100%) !important;
	border-bottom: 1px solid rgba(246,209,84,.5) !important;
	box-shadow: 0 10px 28px rgba(0,0,0,.16) !important;
}

body.soccersmarts-vip-managed-page .soccersmarts-header-container {
	max-width: 1460px !important;
	min-height: 82px !important;
	padding: 12px clamp(18px,4vw,54px) !important;
}

body.soccersmarts-vip-managed-page .soccersmarts-header-logo .site-title-text {
	color: #f6d154 !important;
	font-size: clamp(1.55rem,2.4vw,2.15rem) !important;
	font-weight: 900 !important;
	letter-spacing: -.5px !important;
	text-transform: none !important;
}

body.soccersmarts-vip-managed-page .soccersmarts-nav-menu {
	gap: 8px !important;
}

body.soccersmarts-vip-managed-page .soccersmarts-nav-menu li a {
	color: #f6f5ec !important;
	font-size: .92rem !important;
	font-weight: 700 !important;
	text-transform: none !important;
	padding: 11px 14px !important;
	border-radius: 999px !important;
}

body.soccersmarts-vip-managed-page .soccersmarts-nav-menu li a:hover {
	background: rgba(246,209,84,.10) !important;
	color: #f6d154 !important;
}

body.soccersmarts-vip-managed-page .soccersmarts-nav-menu .vip-header-cta a,
body.soccersmarts-vip-managed-page .soccersmarts-drawer-menu .vip-header-cta a {
	background: linear-gradient(135deg, #ffe06b 0%, #e2b83f 68%, #bd8d1c 100%) !important;
	color: #12351f !important;
	border: 1px solid #f8dd71 !important;
	box-shadow: 0 8px 20px rgba(214,172,50,.22) !important;
	font-weight: 900 !important;
}

.admin-bar.soccersmarts-vip-managed-page .soccersmarts-custom-header { top: 32px !important; }

/* Package matrix heading */
.vip-package-matrix-heading {
	text-align: center !important;
	max-width: 900px !important;
	margin: 0 auto 42px !important;
}

.vip-matrix-kicker {
	display: inline-block !important;
	color: #f6d154 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 1.7px !important;
	text-transform: uppercase !important;
	margin-bottom: 10px !important;
}

.vip-package-matrix-heading h1 {
	color: #f8d85e !important;
	font-family: var(--vip-font-outfit) !important;
	font-size: clamp(38px,5vw,58px) !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: -1.5px !important;
	margin: 0 0 14px !important;
	text-transform: uppercase !important;
}

.vip-package-matrix-heading p {
	color: #f2f5ef !important;
	font-size: clamp(15px,1.5vw,19px) !important;
	line-height: 1.65 !important;
	margin: 0 auto !important;
	max-width: 780px !important;
}

.vip-matrix-grid {
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	gap: 26px !important;
	max-width: 1320px !important;
}

.vip-matrix-card {
	background: linear-gradient(180deg, #075c34 0%, #064e2d 100%) !important;
	border: 2px solid #e8c34b !important;
	border-radius: 18px !important;
	padding: 34px 28px 30px !important;
	box-shadow: 0 18px 40px rgba(0,0,0,.12) !important;
	min-height: 585px !important;
	overflow: hidden !important;
}

.vip-matrix-card:hover {
	transform: translateY(-4px) !important;
	border-color: #ffe370 !important;
	box-shadow: 0 24px 48px rgba(0,0,0,.16), 0 0 0 1px rgba(255,226,103,.15) !important;
}

.vip-matrix-card .vip-package-header {
	text-align: center !important;
}

.vip-matrix-card .vip-package-header h3 {
	color: #ffffff !important;
	font-size: clamp(25px,2.2vw,31px) !important;
	font-weight: 900 !important;
	letter-spacing: .2px !important;
	text-transform: uppercase !important;
	margin: 0 0 18px !important;
}

.vip-matrix-card .vip-package-price {
	justify-content: center !important;
	gap: 8px !important;
	margin-bottom: 12px !important;
}

.vip-matrix-card .vip-package-price strong {
	color: #f8d85e !important;
	font-size: clamp(38px,3.8vw,50px) !important;
	font-weight: 900 !important;
}

.vip-matrix-card .vip-package-price span {
	color: #f8d85e !important;
	font-size: 13px !important;
}

.vip-matrix-card .vip-package-validity {
	color: #b8c8bf !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
}

.vip-matrix-divider {
	height: 1px !important;
	background: rgba(246,209,84,.20) !important;
	margin: 25px 0 22px !important;
}

.vip-matrix-card .vip-package-body {
	padding: 0 0 24px !important;
}

.vip-matrix-card .vip-package-desc {
	color: #e6eee9 !important;
	text-align: center !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	min-height: 72px !important;
	margin: 0 !important;
}

.vip-matrix-card .vip-package-benefits {
	margin-top: 20px !important;
	gap: 12px !important;
}

.vip-matrix-card .vip-package-benefits li {
	color: #f5f6f2 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

.vip-matrix-card .vip-package-benefits li span {
	color: #ffdc55 !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.vip-matrix-card .vip-btn-unlock {
	border-radius: 999px !important;
	min-height: 56px !important;
	background: linear-gradient(135deg,#ffe06c 0%,#dfb53c 70%,#ba891b 100%) !important;
	border: 1px solid #f9dd71 !important;
	color: #12351f !important;
	font-size: 13px !important;
	font-weight: 950 !important;
	letter-spacing: .3px !important;
	box-shadow: 0 10px 22px rgba(201,154,36,.20) !important;
}

.vip-package-ribbon {
	position: absolute !important;
	top: 26px !important;
	right: -47px !important;
	width: 190px !important;
	padding: 8px 0 !important;
	background: linear-gradient(135deg,#ffe06b,#c99625) !important;
	color: #143721 !important;
	font-size: 10px !important;
	font-weight: 950 !important;
	letter-spacing: .7px !important;
	text-align: center !important;
	transform: rotate(45deg) !important;
	box-shadow: 0 5px 12px rgba(0,0,0,.12) !important;
}

.vip-package-bottom-note {
	max-width: 1320px !important;
	margin: 28px auto 0 !important;
	display: flex !important;
	justify-content: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.vip-package-bottom-note span {
	background: rgba(255,255,255,.06) !important;
	border: 1px solid rgba(246,209,84,.42) !important;
	border-radius: 999px !important;
	color: #f5f7f3 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 10px 14px !important;
}

/* Checkout, account, success and history use the same brighter card language */
body.soccersmarts-vip-managed-page .vip-checkout-card,
body.soccersmarts-vip-managed-page .vip-order-card,
body.soccersmarts-vip-managed-page .vip-history-card,
body.soccersmarts-vip-managed-page .vip-account-bar,
body.soccersmarts-vip-managed-page .vip-auth-card,
body.soccersmarts-vip-managed-page .vip-auth-gate,
body.soccersmarts-vip-managed-page .vip-paywall-card,
body.soccersmarts-vip-managed-page .vip-success-modern {
	background: #075832 !important;
	border: 1.5px solid #d7b546 !important;
	box-shadow: 0 18px 42px rgba(0,0,0,.13) !important;
}

body.soccersmarts-vip-managed-page input,
body.soccersmarts-vip-managed-page select,
body.soccersmarts-vip-managed-page textarea,
body.soccersmarts-vip-managed-page .vip-auth-card #loginform input[type="text"],
body.soccersmarts-vip-managed-page .vip-auth-card #loginform input[type="password"] {
	background: #064828 !important;
	border-color: rgba(246,209,84,.38) !important;
	color: #ffffff !important;
}

/* Dashboard */
body.soccersmarts-vip-managed-page .vip-dashboard-header,
body.soccersmarts-vip-managed-page .vip-dashboard-main-section {
	background: #075832 !important;
	border: 1.5px solid #d8b646 !important;
	box-shadow: 0 18px 42px rgba(0,0,0,.13) !important;
}

body.soccersmarts-vip-managed-page .vip-session-banner,
body.soccersmarts-vip-managed-page .vip-admin-test-banner {
	background: #08623a !important;
	border: 1.5px solid #e3c14d !important;
}

body.soccersmarts-vip-managed-page .vip-ticket-card-modern,
body.soccersmarts-vip-managed-page .vip-ticket-card-modern.won,
body.soccersmarts-vip-managed-page .vip-ticket-card-modern.lost,
body.soccersmarts-vip-managed-page .vip-ticket-card-modern.pending,
body.soccersmarts-vip-managed-page .vip-ticket-card-modern.expired {
	background: #064b2b !important;
	border: 1.5px solid #d8b646 !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.10) !important;
}

body.soccersmarts-vip-managed-page .odds-display-box,
body.soccersmarts-vip-managed-page .result-display-box,
body.soccersmarts-vip-managed-page .ticket-notes-modern {
	background: rgba(255,255,255,.055) !important;
	border-color: rgba(246,209,84,.30) !important;
}

body.soccersmarts-vip-managed-page .vip-secure-pill,
body.soccersmarts-vip-managed-page .vip-package-label,
body.soccersmarts-vip-managed-page .odds-display-box strong,
body.soccersmarts-vip-managed-page .result-display-box strong,
body.soccersmarts-vip-managed-page .ticket-notes-modern > span,
body.soccersmarts-vip-managed-page #vip-access-countdown {
	color: #f8d85e !important;
}

@media (max-width: 1020px) {
	.vip-matrix-grid { grid-template-columns: 1fr !important; max-width: 720px !important; }
	.vip-matrix-card { min-height: auto !important; }
	.vip-matrix-card .vip-package-desc { min-height: 0 !important; }
}

@media (max-width: 782px) {
	.admin-bar.soccersmarts-vip-managed-page .soccersmarts-custom-header { top: 46px !important; }
}

@media (max-width: 768px) {
	body.soccersmarts-vip-managed-page { padding-top: 0 !important; }
	body.soccersmarts-vip-managed-page .soccersmarts-custom-header { position: sticky !important; }
	body.soccersmarts-vip-managed-page .soccersmarts-header-container { min-height: 68px !important; padding: 10px 16px !important; }
	body.soccersmarts-vip-managed-page .soccersmarts-header-logo .site-title-text { font-size: 1.45rem !important; }
	.vip-package-matrix-heading { margin-bottom: 28px !important; }
	.vip-package-matrix-heading h1 { font-size: 35px !important; }
	.vip-matrix-card { padding: 28px 20px 24px !important; border-radius: 16px !important; }
	.vip-package-bottom-note { justify-content: flex-start !important; }
	.vip-package-bottom-note span { width: 100% !important; border-radius: 12px !important; }
}

/* VIP managed pages use the shortcode header, not the theme header. */
body.soccersmarts-vip-managed-page .site-header,
body.soccersmarts-vip-managed-page #masthead,
body.soccersmarts-vip-managed-page header#site-header,
body.soccersmarts-vip-managed-page .elementor-location-header,
body.soccersmarts-vip-managed-page .elementor-header {
	display: none !important;
}

body.soccersmarts-vip-managed-page .vip-shell-header-wrap {
	max-width: 1440px !important;
	margin: 0 auto 38px !important;
}

body.soccersmarts-vip-managed-page .vip-shell-header {
	background: linear-gradient(180deg,#075a32 0%,#064c2b 100%) !important;
	border: 1.5px solid #d6b344 !important;
	border-radius: 18px !important;
	padding: 17px 22px !important;
	box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
	flex-wrap: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-brand-mark {
	width: 44px !important;
	height: 44px !important;
	border-radius: 13px !important;
	background: linear-gradient(135deg,#ffe16d 0%,#d6a82f 100%) !important;
	color: #173720 !important;
	font-size: .78rem !important;
	letter-spacing: .08em !important;
}

body.soccersmarts-vip-managed-page .vip-shell-brand-text {
	color: #f8d85e !important;
	font-size: clamp(1.45rem,2.2vw,2rem) !important;
	font-weight: 900 !important;
	letter-spacing: -.5px !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav {
	gap: 6px !important;
	flex-wrap: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav-link,
body.soccersmarts-vip-managed-page .vip-shell-nav-link:visited {
	color: #f8faf7 !important;
	padding: 10px 12px !important;
	font-size: .9rem !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav-link:hover,
body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-active {
	background: rgba(248,216,94,.13) !important;
	color: #f8d85e !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta:visited {
	background: linear-gradient(135deg,#ffe16d 0%,#d7a92f 100%) !important;
	color: #173720 !important;
	border: 1px solid #f8dc6d !important;
	font-weight: 900 !important;
	box-shadow: 0 8px 18px rgba(196,149,30,.18) !important;
}

body.soccersmarts-vip-managed-page .vip-shell-action-btn {
	padding: 10px 16px !important;
	font-size: .86rem !important;
}

body.soccersmarts-vip-managed-page .vip-shell-action-solid {
	background: linear-gradient(135deg,#ffe16d 0%,#d7a92f 100%) !important;
	color: #173720 !important;
}

body.soccersmarts-vip-managed-page .vip-shell-action-ghost {
	border-color: rgba(248,216,94,.48) !important;
	color: #ffffff !important;
}

@media (max-width: 1120px) {
	body.soccersmarts-vip-managed-page .vip-shell-header {
		flex-wrap: wrap !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav {
		order: 3 !important;
		width: 100% !important;
		justify-content: flex-start !important;
		overflow-x: auto !important;
		padding-bottom: 2px !important;
	}
}

@media (max-width: 700px) {
	body.soccersmarts-vip-managed-page .vip-shell-header {
		padding: 14px !important;
		border-radius: 15px !important;
		gap: 12px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-brand-mark {
		width: 38px !important;
		height: 38px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-brand-text {
		font-size: 1.2rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-actions {
		margin-left: auto !important;
		width: auto !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-action-btn {
		padding: 9px 13px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav-link {
		font-size: .82rem !important;
		padding: 9px 10px !important;
	}
}


/* === v1.3.1 alignment, spacing and mobile fixes === */
body.soccersmarts-vip-managed-page .vip-page-shell,
body.soccersmarts-vip-managed-page .vip-app-dashboard.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-landing-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-packages-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-checkout-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-success-container.vip-page-shell,
body.soccersmarts-vip-managed-page .vip-history-container.vip-page-shell {
	max-width: 1360px !important;
	margin: 0 auto !important;
	padding: 26px 20px 42px !important;
	box-sizing: border-box !important;
}

body.soccersmarts-vip-managed-page .vip-page-shell > *,
body.soccersmarts-vip-managed-page .vip-app-dashboard > * {
	box-sizing: border-box !important;
}

body.soccersmarts-vip-managed-page .vip-shell-header-wrap,
body.soccersmarts-vip-managed-page .vip-package-matrix-heading,
body.soccersmarts-vip-managed-page .vip-package-bottom-note,
body.soccersmarts-vip-managed-page .vip-history-card,
body.soccersmarts-vip-managed-page .vip-dashboard-header,
body.soccersmarts-vip-managed-page .vip-dashboard-main-section,
body.soccersmarts-vip-managed-page .vip-checkout-layout,
body.soccersmarts-vip-managed-page .vip-page-heading,
body.soccersmarts-vip-managed-page .vip-second-shot-hero,
body.soccersmarts-vip-managed-page .vip-feature-strip,
body.soccersmarts-vip-managed-page .vip-session-banner,
body.soccersmarts-vip-managed-page .vip-admin-test-banner {
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.soccersmarts-vip-managed-page .vip-shell-header {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 16px 22px !important;
	padding: 18px 24px !important;
	overflow: hidden !important;
}

body.soccersmarts-vip-managed-page .vip-shell-brand {
	min-width: 0 !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav {
	min-width: 0 !important;
	justify-content: center !important;
	gap: 8px !important;
	overflow-x: auto !important;
	scrollbar-width: thin !important;
	padding-bottom: 4px !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav-link,
body.soccersmarts-vip-managed-page .vip-shell-nav-link:visited {
	font-size: .86rem !important;
	padding: 10px 11px !important;
	border-radius: 999px !important;
}

body.soccersmarts-vip-managed-page .vip-shell-actions {
	justify-content: flex-end !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	min-width: 0 !important;
}

body.soccersmarts-vip-managed-page .vip-shell-action-btn {
	padding: 10px 15px !important;
	font-size: .84rem !important;
	line-height: 1.1 !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-package-matrix-heading {
	padding: 0 6px !important;
	margin-bottom: 28px !important;
}

body.soccersmarts-vip-managed-page .vip-package-matrix-heading h1 {
	font-size: clamp(2rem, 4vw, 3.35rem) !important;
	line-height: 1.05 !important;
	margin-bottom: 10px !important;
}

body.soccersmarts-vip-managed-page .vip-package-matrix-heading p,
body.soccersmarts-vip-managed-page .vip-page-heading p,
body.soccersmarts-vip-managed-page .vip-history-hero p,
body.soccersmarts-vip-managed-page .vip-dashboard-header p,
body.soccersmarts-vip-managed-page .vip-session-banner span {
	font-size: 1rem !important;
	line-height: 1.6 !important;
}

body.soccersmarts-vip-managed-page .vip-packages-grid,
body.soccersmarts-vip-managed-page .vip-matrix-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
	align-items: stretch !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
}

body.soccersmarts-vip-managed-page .vip-package-card,
body.soccersmarts-vip-managed-page .vip-matrix-card {
	padding: 28px 24px 24px !important;
	border: 2px solid #dfbd53 !important;
	border-radius: 22px !important;
	min-width: 0 !important;
	overflow: hidden !important;
}

body.soccersmarts-vip-managed-page .vip-package-card h3,
body.soccersmarts-vip-managed-page .vip-matrix-card h3 {
	font-size: clamp(1.9rem, 2vw, 2.35rem) !important;
	line-height: 1.08 !important;
	margin: 0 0 18px !important;
}

body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price strong,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price strong {
	font-size: clamp(3.1rem, 4vw, 4rem) !important;
	line-height: .96 !important;
}

body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price span,
body.soccersmarts-vip-managed-page .vip-package-card .vip-package-validity,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price span,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-validity {
	font-size: .9rem !important;
	letter-spacing: .12em !important;
}

body.soccersmarts-vip-managed-page .vip-package-desc {
	font-size: 1rem !important;
	line-height: 1.65 !important;
	margin-bottom: 18px !important;
}

body.soccersmarts-vip-managed-page .vip-package-benefits {
	gap: 12px !important;
}

body.soccersmarts-vip-managed-page .vip-package-benefits li {
	font-size: .98rem !important;
	line-height: 1.5 !important;
	align-items: flex-start !important;
}

body.soccersmarts-vip-managed-page .vip-package-benefits li span {
	margin-top: 1px !important;
}

body.soccersmarts-vip-managed-page .vip-package-footer {
	margin-top: auto !important;
	padding-top: 8px !important;
}

body.soccersmarts-vip-managed-page .vip-btn-unlock {
	width: 100% !important;
	justify-content: center !important;
	padding: 14px 18px !important;
	font-size: .92rem !important;
}

body.soccersmarts-vip-managed-page .vip-package-ribbon {
	top: 24px !important;
	right: -52px !important;
	width: 180px !important;
	font-size: 10px !important;
}

body.soccersmarts-vip-managed-page .vip-dashboard-header,
body.soccersmarts-vip-managed-page .vip-dashboard-main-section,
body.soccersmarts-vip-managed-page .vip-history-card,
body.soccersmarts-vip-managed-page .vip-checkout-card,
body.soccersmarts-vip-managed-page .vip-order-card,
body.soccersmarts-vip-managed-page .vip-auth-card,
body.soccersmarts-vip-managed-page .vip-auth-gate,
body.soccersmarts-vip-managed-page .vip-paywall-card,
body.soccersmarts-vip-managed-page .vip-success-modern {
	padding: 24px !important;
	border-radius: 22px !important;
}

body.soccersmarts-vip-managed-page .vip-dashboard-header h1,
body.soccersmarts-vip-managed-page .vip-history-hero h1,
body.soccersmarts-vip-managed-page .vip-page-heading h1 {
	font-size: clamp(2rem, 3.6vw, 3.65rem) !important;
	line-height: 1.04 !important;
}

body.soccersmarts-vip-managed-page .vip-dashboard-main-section {
	padding: 24px !important;
}

body.soccersmarts-vip-managed-page .vip-tickets-grid-modern {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px !important;
	align-items: start !important;
}

body.soccersmarts-vip-managed-page .vip-single-ticket-grid {
	grid-template-columns: minmax(0, 1fr) !important;
	max-width: 920px !important;
}

body.soccersmarts-vip-managed-page .vip-ticket-card-modern {
	padding: 20px !important;
	border-radius: 20px !important;
}

body.soccersmarts-vip-managed-page .ticket-match-title {
	font-size: clamp(2rem, 2.6vw, 3rem) !important;
	line-height: 1.14 !important;
	margin-bottom: 12px !important;
	word-break: break-word !important;
}

body.soccersmarts-vip-managed-page .ticket-description,
body.soccersmarts-vip-managed-page .ticket-description p {
	font-size: .98rem !important;
	line-height: 1.7 !important;
}

body.soccersmarts-vip-managed-page .odds-display-box,
body.soccersmarts-vip-managed-page .result-display-box,
body.soccersmarts-vip-managed-page .ticket-notes-modern {
	padding: 18px !important;
	border-radius: 16px !important;
}

body.soccersmarts-vip-managed-page .odds-display-box strong,
body.soccersmarts-vip-managed-page .result-display-box strong {
	font-size: clamp(1.8rem, 2.3vw, 2.45rem) !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-layout {
	max-width: 1280px !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr) !important;
	gap: 24px !important;
}

body.soccersmarts-vip-managed-page .vip-account-bar {
	max-width: 1280px !important;
	margin: 18px auto 24px !important;
	padding: 18px 22px !important;
	gap: 18px !important;
}

body.soccersmarts-vip-managed-page .vip-history-table-wrap {
	overflow-x: auto !important;
	border-radius: 16px !important;
}

body.soccersmarts-vip-managed-page .vip-history-table th,
body.soccersmarts-vip-managed-page .vip-history-table td {
	font-size: .96rem !important;
	padding: 16px 18px !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-history-table td:nth-child(4) {
	max-width: 260px !important;
}

@media (max-width: 1180px) {
	body.soccersmarts-vip-managed-page .vip-packages-grid,
	body.soccersmarts-vip-managed-page .vip-matrix-grid,
	body.soccersmarts-vip-managed-page .vip-tickets-grid-modern {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-header {
		grid-template-columns: 1fr !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav {
		justify-content: flex-start !important;
		order: 3 !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-actions {
		justify-content: flex-start !important;
	}
}

@media (max-width: 900px) {
	body.soccersmarts-vip-managed-page .vip-checkout-layout,
	body.soccersmarts-vip-managed-page .vip-account-bar,
	body.soccersmarts-vip-managed-page .vip-dashboard-header,
	body.soccersmarts-vip-managed-page .vip-section-heading-row {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}
	body.soccersmarts-vip-managed-page .vip-profile-summary,
	body.soccersmarts-vip-managed-page .vip-dashboard-actions {
		width: 100% !important;
	}
	body.soccersmarts-vip-managed-page .vip-dashboard-actions {
		display: flex !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
	}
	body.soccersmarts-vip-managed-page .vip-dashboard-actions .vip-btn {
		flex: 1 1 190px !important;
		text-align: center !important;
		justify-content: center !important;
	}
}

@media (max-width: 780px) {
	body.soccersmarts-vip-managed-page .vip-page-shell,
	body.soccersmarts-vip-managed-page .vip-app-dashboard.vip-page-shell,
	body.soccersmarts-vip-managed-page .vip-landing-container.vip-page-shell,
	body.soccersmarts-vip-managed-page .vip-packages-container.vip-page-shell,
	body.soccersmarts-vip-managed-page .vip-checkout-container.vip-page-shell,
	body.soccersmarts-vip-managed-page .vip-success-container.vip-page-shell,
	body.soccersmarts-vip-managed-page .vip-history-container.vip-page-shell {
		padding: 18px 12px 32px !important;
	}
	body.soccersmarts-vip-managed-page .vip-packages-grid,
	body.soccersmarts-vip-managed-page .vip-matrix-grid,
	body.soccersmarts-vip-managed-page .vip-tickets-grid-modern {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-card,
	body.soccersmarts-vip-managed-page .vip-matrix-card,
	body.soccersmarts-vip-managed-page .vip-dashboard-header,
	body.soccersmarts-vip-managed-page .vip-dashboard-main-section,
	body.soccersmarts-vip-managed-page .vip-history-card,
	body.soccersmarts-vip-managed-page .vip-checkout-card,
	body.soccersmarts-vip-managed-page .vip-order-card,
	body.soccersmarts-vip-managed-page .vip-auth-card,
	body.soccersmarts-vip-managed-page .vip-auth-gate,
	body.soccersmarts-vip-managed-page .vip-paywall-card,
	body.soccersmarts-vip-managed-page .vip-success-modern {
		padding: 18px !important;
		border-radius: 18px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-header-wrap {
		margin-bottom: 20px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-header {
		padding: 14px !important;
		gap: 12px !important;
		border-radius: 16px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-brand {
		width: 100% !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-brand-text {
		font-size: 1.1rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav {
		gap: 8px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-actions {
		width: 100% !important;
		justify-content: stretch !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-action-btn {
		flex: 1 1 0 !important;
		text-align: center !important;
		justify-content: center !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-card h3,
	body.soccersmarts-vip-managed-page .vip-matrix-card h3 {
		font-size: 1.85rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price strong,
	body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price strong {
		font-size: 3rem !important;
	}
	body.soccersmarts-vip-managed-page .ticket-match-title {
		font-size: 1.8rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-history-table th,
	body.soccersmarts-vip-managed-page .vip-history-table td {
		font-size: .9rem !important;
		padding: 13px 14px !important;
	}
}

@media (max-width: 520px) {
	body.soccersmarts-vip-managed-page .vip-package-ribbon {
		right: -60px !important;
		top: 22px !important;
		width: 170px !important;
		font-size: 9px !important;
	}
	body.soccersmarts-vip-managed-page .vip-page-heading h1,
	body.soccersmarts-vip-managed-page .vip-dashboard-header h1,
	body.soccersmarts-vip-managed-page .vip-history-hero h1,
	body.soccersmarts-vip-managed-page .vip-package-matrix-heading h1 {
		font-size: 1.85rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-desc,
	body.soccersmarts-vip-managed-page .vip-package-benefits li,
	body.soccersmarts-vip-managed-page .vip-dashboard-header p,
	body.soccersmarts-vip-managed-page .ticket-description,
	body.soccersmarts-vip-managed-page .ticket-description p {
		font-size: .94rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-actions {
		flex-direction: column !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-action-btn {
		width: 100% !important;
	}
}

/* === v1.4.0 compact typography, clear package borders and checkout sizing === */
body.soccersmarts-vip-managed-page .vip-package-card,
body.soccersmarts-vip-managed-page .vip-matrix-card {
	border: 2px solid #e1bd4f !important;
	box-shadow: inset 0 0 0 1px rgba(255, 222, 100, .08), 0 12px 28px rgba(0,0,0,.10) !important;
	background: #086238 !important;
	padding: 24px 22px 22px !important;
}

body.soccersmarts-vip-managed-page .vip-package-card h3,
body.soccersmarts-vip-managed-page .vip-matrix-card h3 {
	font-size: 1.55rem !important;
	line-height: 1.12 !important;
	margin: 0 0 12px !important;
}

body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price {
	margin: 4px 0 10px !important;
}

body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price strong,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price strong {
	font-size: 2.65rem !important;
	line-height: 1 !important;
}

body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price span,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price span {
	font-size: .78rem !important;
	letter-spacing: .06em !important;
}

body.soccersmarts-vip-managed-page .vip-package-card .vip-package-validity,
body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-validity {
	font-size: .74rem !important;
	letter-spacing: .11em !important;
	line-height: 1.35 !important;
}

body.soccersmarts-vip-managed-page .vip-package-desc {
	font-size: .9rem !important;
	line-height: 1.55 !important;
	margin: 0 0 14px !important;
}

body.soccersmarts-vip-managed-page .vip-package-benefits {
	gap: 8px !important;
	margin-top: 12px !important;
}

body.soccersmarts-vip-managed-page .vip-package-benefits li {
	font-size: .88rem !important;
	line-height: 1.4 !important;
}

body.soccersmarts-vip-managed-page .vip-package-benefits li span {
	font-size: 1rem !important;
}

body.soccersmarts-vip-managed-page .vip-btn-unlock {
	min-height: 46px !important;
	padding: 11px 14px !important;
	font-size: .8rem !important;
}

body.soccersmarts-vip-managed-page .vip-package-matrix-heading h1 {
	font-size: clamp(1.9rem, 3.1vw, 2.8rem) !important;
}

body.soccersmarts-vip-managed-page .vip-package-matrix-heading p {
	font-size: .94rem !important;
	max-width: 760px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Dashboard ticket cards: reduce large match titles and figures. */
body.soccersmarts-vip-managed-page .ticket-match-title {
	font-size: 1.72rem !important;
	line-height: 1.16 !important;
	letter-spacing: -.02em !important;
	margin: 14px 0 8px !important;
}

body.soccersmarts-vip-managed-page .ticket-post-date {
	font-size: .82rem !important;
	line-height: 1.4 !important;
}

body.soccersmarts-vip-managed-page .odds-display-box,
body.soccersmarts-vip-managed-page .result-display-box {
	padding: 14px !important;
	min-height: 104px !important;
}

body.soccersmarts-vip-managed-page .odds-display-box span,
body.soccersmarts-vip-managed-page .result-display-box span {
	font-size: .72rem !important;
}

body.soccersmarts-vip-managed-page .odds-display-box strong,
body.soccersmarts-vip-managed-page .result-display-box strong {
	font-size: 1.72rem !important;
	line-height: 1.15 !important;
}

body.soccersmarts-vip-managed-page .ticket-description,
body.soccersmarts-vip-managed-page .ticket-description p {
	font-size: .9rem !important;
	line-height: 1.6 !important;
}

body.soccersmarts-vip-managed-page .vip-ticket-card-modern {
	padding: 18px !important;
}

/* Checkout heading gets its own safe inset so text never touches the edge. */
body.soccersmarts-vip-managed-page .vip-checkout-heading {
	max-width: 1120px !important;
	padding: 20px 24px !important;
	margin: 0 auto 20px !important;
	background: #064b2b !important;
	border: 1.5px solid #d9b847 !important;
	border-radius: 18px !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.09) !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-heading h1 {
	font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
	line-height: 1.06 !important;
	margin: 5px 0 8px !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-heading p {
	font-size: .9rem !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	max-width: 800px !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-layout,
body.soccersmarts-vip-managed-page .vip-checkout-layout-compact {
	max-width: 1120px !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .72fr) !important;
	gap: 20px !important;
	align-items: start !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-card,
body.soccersmarts-vip-managed-page .vip-order-card {
	padding: 20px !important;
	border: 1.5px solid #ddb94a !important;
	border-radius: 18px !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-card-head {
	gap: 12px !important;
	margin-bottom: 14px !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-card-head h2 {
	font-size: 1.32rem !important;
	line-height: 1.15 !important;
	margin: 0 0 3px !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-card-head p,
body.soccersmarts-vip-managed-page .vip-order-card p {
	font-size: .84rem !important;
	line-height: 1.45 !important;
}

body.soccersmarts-vip-managed-page .vip-step-number {
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	font-size: 1rem !important;
}

body.soccersmarts-vip-managed-page .vip-form {
	gap: 11px !important;
}

body.soccersmarts-vip-managed-page .vip-form-group {
	gap: 5px !important;
	margin-bottom: 0 !important;
}

body.soccersmarts-vip-managed-page .vip-form-group label {
	font-size: .75rem !important;
	letter-spacing: .06em !important;
}

body.soccersmarts-vip-managed-page .vip-form input,
body.soccersmarts-vip-managed-page .vip-form select {
	min-height: 46px !important;
	height: 46px !important;
	padding: 9px 13px !important;
	font-size: .92rem !important;
	border-radius: 11px !important;
}

body.soccersmarts-vip-managed-page .vip-field-hint,
body.soccersmarts-vip-managed-page .vip-disclaimer {
	font-size: .75rem !important;
	line-height: 1.4 !important;
}

body.soccersmarts-vip-managed-page .vip-momo-accept {
	margin: 4px 0 !important;
	gap: 7px !important;
}

body.soccersmarts-vip-managed-page .momo-badge {
	font-size: .68rem !important;
	padding: 7px 10px !important;
}

body.soccersmarts-vip-managed-page .vip-jjuma-route {
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border: 1px solid rgba(224,190,79,.65) !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.045) !important;
}

body.soccersmarts-vip-managed-page .vip-jjuma-route strong {
	color: #f7d85d !important;
	font-size: .82rem !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-jjuma-route span {
	font-size: .76rem !important;
	line-height: 1.35 !important;
	color: #d9e4dc !important;
}

body.soccersmarts-vip-managed-page .vip-btn-pay {
	min-height: 48px !important;
	padding: 11px 16px !important;
	font-size: .88rem !important;
}

body.soccersmarts-vip-managed-page .vip-order-card h3 {
	font-size: 1.45rem !important;
	line-height: 1.15 !important;
	margin: 8px 0 8px !important;
}

body.soccersmarts-vip-managed-page .vip-order-label {
	font-size: .7rem !important;
}

body.soccersmarts-vip-managed-page .vip-order-row {
	padding: 11px 0 !important;
	font-size: .84rem !important;
}

body.soccersmarts-vip-managed-page .vip-order-total {
	padding: 14px 0 !important;
}

body.soccersmarts-vip-managed-page .vip-order-total strong {
	font-size: 1.25rem !important;
}

body.soccersmarts-vip-managed-page .vip-order-note {
	font-size: .78rem !important;
	line-height: 1.45 !important;
	padding: 12px !important;
}

body.soccersmarts-vip-managed-page .vip-checkout-notice,
body.soccersmarts-vip-managed-page .vip-local-warning {
	max-width: 1120px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 980px) {
	body.soccersmarts-vip-managed-page .vip-checkout-layout,
	body.soccersmarts-vip-managed-page .vip-checkout-layout-compact {
		grid-template-columns: 1fr !important;
		max-width: 720px !important;
	}
	body.soccersmarts-vip-managed-page .vip-checkout-heading {
		max-width: 720px !important;
	}
}

@media (max-width: 780px) {
	body.soccersmarts-vip-managed-page .vip-package-card,
	body.soccersmarts-vip-managed-page .vip-matrix-card {
		padding: 20px 17px 18px !important;
		border-radius: 17px !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-card h3,
	body.soccersmarts-vip-managed-page .vip-matrix-card h3 {
		font-size: 1.35rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price strong,
	body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price strong {
		font-size: 2.35rem !important;
	}
	body.soccersmarts-vip-managed-page .ticket-match-title {
		font-size: 1.45rem !important;
	}
	body.soccersmarts-vip-managed-page .odds-display-box strong,
	body.soccersmarts-vip-managed-page .result-display-box strong {
		font-size: 1.5rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-checkout-heading {
		padding: 17px !important;
		border-radius: 15px !important;
	}
	body.soccersmarts-vip-managed-page .vip-checkout-heading h1 {
		font-size: 1.75rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-checkout-card,
	body.soccersmarts-vip-managed-page .vip-order-card {
		padding: 17px !important;
	}
	body.soccersmarts-vip-managed-page .vip-jjuma-route {
		align-items: flex-start !important;
		flex-direction: column !important;
	}
}

@media (max-width: 480px) {
	body.soccersmarts-vip-managed-page .vip-package-card .vip-package-price strong,
	body.soccersmarts-vip-managed-page .vip-matrix-card .vip-package-price strong {
		font-size: 2.05rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-checkout-heading h1 {
		font-size: 1.55rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-form input,
	body.soccersmarts-vip-managed-page .vip-form select {
		font-size: .86rem !important;
	}
}

/* Beat the legacy global article reset so every package keeps its own card border. */
body:not(.wp-admin).soccersmarts-vip-managed-page article.vip-package-card.vip-matrix-card {
	background: #086238 !important;
	border: 2px solid #e1bd4f !important;
	border-radius: 22px !important;
	box-shadow: inset 0 0 0 1px rgba(255,222,100,.08), 0 12px 28px rgba(0,0,0,.10) !important;
	padding: 24px 22px 22px !important;
}

@media (max-width: 780px) {
	body:not(.wp-admin).soccersmarts-vip-managed-page article.vip-package-card.vip-matrix-card {
		padding: 20px 17px 18px !important;
		border-radius: 17px !important;
	}
}

body.soccersmarts-vip-managed-page .vip-ticket-card-modern .vip-package-label {
	background: linear-gradient(135deg,#ffe16d 0%,#d8ad36 100%) !important;
	color: #164026 !important;
	font-size: .68rem !important;
	padding: 5px 11px !important;
	letter-spacing: .08em !important;
}

body.soccersmarts-vip-managed-page .vip-page-heading h1 {
	font-size: clamp(1.9rem, 3vw, 2.75rem) !important;
	line-height: 1.08 !important;
}
body.soccersmarts-vip-managed-page .vip-success-modern h1,
body.soccersmarts-vip-managed-page .vip-auth-card h1,
body.soccersmarts-vip-managed-page .vip-auth-gate h1,
body.soccersmarts-vip-managed-page .vip-paywall-card h1 {
	font-size: clamp(1.75rem, 2.7vw, 2.4rem) !important;
	line-height: 1.1 !important;
}

/* === v1.5.0 custom auth, package currency and header overrides === */

/* VIP plugin pages own their header. Hide common theme/header-builder headers only on these pages. */
body.soccersmarts-vip-managed-page .site-header,
body.soccersmarts-vip-managed-page #masthead,
body.soccersmarts-vip-managed-page header#site-header,
body.soccersmarts-vip-managed-page .main-header,
body.soccersmarts-vip-managed-page .main-header-bar,
body.soccersmarts-vip-managed-page .ast-primary-header-bar,
body.soccersmarts-vip-managed-page .header-area,
body.soccersmarts-vip-managed-page .theme-header,
body.soccersmarts-vip-managed-page .elementor-location-header,
body.soccersmarts-vip-managed-page .elementor-header,
body.soccersmarts-vip-managed-page .wp-site-blocks > header,
body.soccersmarts-vip-managed-page .wp-site-blocks > .wp-block-template-part:first-child,
body.soccersmarts-vip-managed-page .site > header:not(.vip-shell-header) {
	display: none !important;
}

body.soccersmarts-vip-managed-page .vip-shell-header-wrap {
	width: 100% !important;
	max-width: 1280px !important;
	margin: 0 auto 28px !important;
}

body.soccersmarts-vip-managed-page .vip-shell-header {
	width: 100% !important;
	box-sizing: border-box !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	gap: 14px 18px !important;
	padding: 16px 20px !important;
}

body.soccersmarts-vip-managed-page .vip-shell-brand-mark {
	width: 42px !important;
	height: 42px !important;
	border-radius: 12px !important;
	font-size: .72rem !important;
}

body.soccersmarts-vip-managed-page .vip-shell-brand-text {
	font-size: clamp(1.25rem, 1.9vw, 1.65rem) !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav {
	min-width: 0 !important;
	gap: 5px !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-nav-link,
body.soccersmarts-vip-managed-page .vip-shell-nav-link:visited {
	font-size: .79rem !important;
	padding: 9px 10px !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-actions {
	gap: 8px !important;
	flex-wrap: nowrap !important;
}

body.soccersmarts-vip-managed-page .vip-shell-action-btn {
	font-size: .78rem !important;
	padding: 9px 13px !important;
	white-space: nowrap !important;
}

/* The login/register account card must always sit below the custom header, never beside it. */
body.soccersmarts-vip-managed-page .vip-auth-page {
	display: block !important;
	align-items: initial !important;
	min-height: 0 !important;
}

body.soccersmarts-vip-managed-page .vip-auth-form-card,
body.soccersmarts-vip-managed-page .vip-auth-account-card {
	width: min(100%, 620px) !important;
	max-width: 620px !important;
	margin: 34px auto 10px !important;
	padding: 28px !important;
	box-sizing: border-box !important;
	background: #086238 !important;
	border: 2px solid #e0bc4f !important;
	border-radius: 22px !important;
	box-shadow: 0 18px 42px rgba(0,0,0,.13) !important;
	text-align: left !important;
}

body.soccersmarts-vip-managed-page .vip-auth-account-card {
	text-align: center !important;
}

body.soccersmarts-vip-managed-page .vip-auth-account-card h1,
body.soccersmarts-vip-managed-page .vip-auth-form-card h1 {
	font-size: clamp(1.8rem, 3vw, 2.35rem) !important;
	line-height: 1.08 !important;
	margin: 8px 0 8px !important;
	color: #fff !important;
}

body.soccersmarts-vip-managed-page .vip-auth-account-card p,
body.soccersmarts-vip-managed-page .vip-auth-form-card > p {
	font-size: .92rem !important;
	line-height: 1.55 !important;
	color: rgba(255,255,255,.82) !important;
	margin: 0 0 18px !important;
}

body.soccersmarts-vip-managed-page .vip-auth-brand-icon {
	width: 50px !important;
	height: 50px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 16px !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg,#ffe16d,#d7aa31) !important;
	color: #143720 !important;
	font-weight: 950 !important;
	font-size: .82rem !important;
}

body.soccersmarts-vip-managed-page .vip-custom-auth-form {
	display: grid !important;
	gap: 14px !important;
	margin-top: 22px !important;
}

body.soccersmarts-vip-managed-page .vip-auth-field {
	display: grid !important;
	gap: 6px !important;
}

body.soccersmarts-vip-managed-page .vip-auth-field label {
	font-size: .74rem !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	color: #fff !important;
}

body.soccersmarts-vip-managed-page .vip-auth-field input {
	width: 100% !important;
	height: 48px !important;
	box-sizing: border-box !important;
	padding: 10px 13px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(246,209,84,.5) !important;
	background: #053f25 !important;
	color: #fff !important;
	font-size: .92rem !important;
	box-shadow: none !important;
}

body.soccersmarts-vip-managed-page .vip-auth-field input:focus {
	outline: none !important;
	border-color: #ffe066 !important;
	box-shadow: 0 0 0 3px rgba(255,224,102,.10) !important;
}

body.soccersmarts-vip-managed-page .vip-auth-grid-two {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0,1fr)) !important;
	gap: 12px !important;
}

body.soccersmarts-vip-managed-page .vip-auth-remember {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: .84rem !important;
	color: rgba(255,255,255,.84) !important;
}

body.soccersmarts-vip-managed-page .vip-auth-remember input {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
}

body.soccersmarts-vip-managed-page .vip-auth-submit {
	width: 100% !important;
	justify-content: center !important;
	min-height: 48px !important;
	border: 0 !important;
	cursor: pointer !important;
}

body.soccersmarts-vip-managed-page .vip-auth-switch {
	margin-top: 18px !important;
	padding-top: 16px !important;
	border-top: 1px solid rgba(246,209,84,.22) !important;
	text-align: center !important;
	font-size: .84rem !important;
	color: rgba(255,255,255,.74) !important;
}

body.soccersmarts-vip-managed-page .vip-auth-switch a {
	color: #ffe066 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body.soccersmarts-vip-managed-page .vip-auth-message {
	margin: 14px 0 0 !important;
	padding: 11px 13px !important;
	border-radius: 11px !important;
	font-size: .82rem !important;
	line-height: 1.45 !important;
}

body.soccersmarts-vip-managed-page .vip-auth-message-error {
	background: rgba(255,94,94,.11) !important;
	border: 1px solid rgba(255,128,128,.42) !important;
	color: #ffd0d0 !important;
}

body.soccersmarts-vip-managed-page .vip-auth-message-success {
	background: rgba(96,220,139,.10) !important;
	border: 1px solid rgba(96,220,139,.36) !important;
	color: #d5ffe4 !important;
}

/* Currency selector on package matrix. */
body.soccersmarts-vip-managed-page .vip-package-currency-panel {
	max-width: 820px !important;
	margin: 22px auto 0 !important;
	padding: 14px 16px !important;
	display: grid !important;
	grid-template-columns: minmax(180px,.75fr) minmax(260px,1.25fr) !important;
	align-items: center !important;
	gap: 14px !important;
	border: 1.5px solid rgba(224,188,79,.72) !important;
	border-radius: 16px !important;
	background: rgba(255,255,255,.045) !important;
	text-align: left !important;
}

body.soccersmarts-vip-managed-page .vip-package-currency-copy {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

body.soccersmarts-vip-managed-page .vip-package-currency-copy span {
	font-size: .67rem !important;
	font-weight: 900 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: #f8d85e !important;
}

body.soccersmarts-vip-managed-page .vip-package-currency-copy strong {
	font-size: .88rem !important;
	color: #fff !important;
}

body.soccersmarts-vip-managed-page .vip-package-currency-control {
	display: grid !important;
	grid-template-columns: minmax(190px,260px) 1fr !important;
	align-items: center !important;
	gap: 12px !important;
}

body.soccersmarts-vip-managed-page #vip-package-currency {
	width: 100% !important;
	height: 42px !important;
	padding: 8px 11px !important;
	border: 1px solid rgba(246,209,84,.5) !important;
	border-radius: 11px !important;
	background: #07532f !important;
	color: #fff !important;
	font-size: .82rem !important;
	font-weight: 700 !important;
}

body.soccersmarts-vip-managed-page #vip-package-rate-note {
	font-size: .73rem !important;
	line-height: 1.4 !important;
	color: rgba(255,255,255,.72) !important;
}

body.soccersmarts-vip-managed-page article.vip-package-card.vip-matrix-card {
	border: 2px solid #e1bd4f !important;
}

@media (max-width: 1120px) {
	body.soccersmarts-vip-managed-page .vip-shell-header {
		grid-template-columns: 1fr auto !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		justify-content: flex-start !important;
		overflow-x: auto !important;
		padding-bottom: 2px !important;
	}
}

@media (max-width: 760px) {
	body.soccersmarts-vip-managed-page .vip-shell-header {
		grid-template-columns: 1fr !important;
		padding: 13px !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-actions {
		width: 100% !important;
		justify-content: stretch !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-action-btn {
		flex: 1 1 0 !important;
		text-align: center !important;
	}
	body.soccersmarts-vip-managed-page .vip-auth-form-card,
	body.soccersmarts-vip-managed-page .vip-auth-account-card {
		margin-top: 20px !important;
		padding: 20px !important;
		border-radius: 18px !important;
	}
	body.soccersmarts-vip-managed-page .vip-auth-grid-two {
		grid-template-columns: 1fr !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-currency-panel,
	body.soccersmarts-vip-managed-page .vip-package-currency-control {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 480px) {
	body.soccersmarts-vip-managed-page .vip-shell-brand-text {
		font-size: 1.05rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-shell-nav-link {
		font-size: .74rem !important;
		padding: 8px 9px !important;
	}
	body.soccersmarts-vip-managed-page .vip-auth-form-card,
	body.soccersmarts-vip-managed-page .vip-auth-account-card {
		padding: 17px !important;
	}
	body.soccersmarts-vip-managed-page .vip-auth-field input {
		height: 45px !important;
		font-size: .86rem !important;
	}
	body.soccersmarts-vip-managed-page .vip-package-currency-panel {
		padding: 12px !important;
	}
}

/* Match pages use the same shell header while keeping their own page content styling. */
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .site-header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) #masthead,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) header#site-header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .main-header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .main-header-bar,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .ast-primary-header-bar,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .header-area,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .theme-header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .elementor-location-header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .elementor-header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .wp-site-blocks > header,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .wp-site-blocks > .wp-block-template-part:first-child {
	display: none !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) > .vip-shell-header-wrap,
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-header-wrap {
	width: min(100% - 32px, 1280px) !important;
	margin: 18px auto 24px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-header {
	display: grid !important;
	grid-template-columns: auto minmax(0,1fr) auto !important;
	align-items: center !important;
	gap: 14px 18px !important;
	padding: 16px 20px !important;
	background: linear-gradient(180deg,#075a32 0%,#064c2b 100%) !important;
	border: 1.5px solid #d6b344 !important;
	border-radius: 18px !important;
	box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-brand-mark {
	width: 42px !important;
	height: 42px !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg,#ffe16d 0%,#d6a82f 100%) !important;
	color: #173720 !important;
	font-size: .72rem !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-brand-text {
	color: #f8d85e !important;
	font-size: clamp(1.25rem,1.9vw,1.65rem) !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-nav {
	min-width: 0 !important;
	gap: 5px !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-nav-link {
	font-size: .79rem !important;
	padding: 9px 10px !important;
	white-space: nowrap !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-actions {
	gap: 8px !important;
	flex-wrap: nowrap !important;
}

body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-action-btn {
	font-size: .78rem !important;
	padding: 9px 13px !important;
	white-space: nowrap !important;
}

@media (max-width: 1120px) {
	body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-header {
		grid-template-columns: 1fr auto !important;
	}
	body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-nav {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		justify-content: flex-start !important;
		overflow-x: auto !important;
		padding-bottom: 2px !important;
	}
}

@media (max-width: 760px) {
	body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-header {
		grid-template-columns: 1fr !important;
		padding: 13px !important;
	}
	body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-nav {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
	}
	body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-actions {
		width: 100% !important;
	}
	body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-action-btn {
		flex: 1 1 0 !important;
		text-align: center !important;
	}
}
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .site > header:not(.vip-shell-header),
body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) header.site-header {
	display: none !important;
}


/* === v1.5.1 history spacing, real shell logo and mobile drawer === */
body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading {
    max-width: 1280px !important;
    margin: 0 auto 24px !important;
    padding: 30px 34px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, rgba(3,70,31,.98) 0%, rgba(2,58,25,.98) 100%) !important;
    border: 1.5px solid rgba(225,189,79,.72) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading .vip-eyebrow {
    margin-bottom: 14px !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading h1 {
    margin: 0 0 14px !important;
    font-size: clamp(2rem, 3.5vw, 3.2rem) !important;
    line-height: 1.05 !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading p {
    max-width: 920px !important;
    margin: 0 !important;
    font-size: .98rem !important;
    line-height: 1.7 !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-account-bar,
body.soccersmarts-vip-managed-page .vip-history-container .vip-history-card {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-account-bar {
    padding: 20px 26px !important;
    border: 1.5px solid rgba(225,189,79,.75) !important;
    border-radius: 18px !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-history-card {
    padding: 26px 28px !important;
    border: 1.5px solid rgba(225,189,79,.72) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

body.soccersmarts-vip-managed-page .vip-history-container .vip-history-table-wrap {
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.vip-shell-brand-logo {
    width: 46px !important;
    height: 46px !important;
    object-fit: contain !important;
    flex: 0 0 46px !important;
    display: block !important;
    border-radius: 10px !important;
}

.vip-shell-menu-toggle {
    display: none !important;
    width: 44px !important;
    height: 44px !important;
    padding: 10px !important;
    border: 1.5px solid rgba(225,189,79,.75) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.04) !important;
    cursor: pointer !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.vip-shell-menu-toggle span {
    display: block !important;
    width: 21px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #f8d85e !important;
}

.vip-shell-drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999980 !important;
    background: rgba(0,0,0,.54) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity .24s ease, visibility .24s ease !important;
}

.vip-shell-mobile-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 999990 !important;
    width: min(86vw, 360px) !important;
    height: 100dvh !important;
    padding: 22px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    background: linear-gradient(180deg,#064b2a 0%,#023819 100%) !important;
    border-left: 1.5px solid rgba(225,189,79,.78) !important;
    box-shadow: -18px 0 46px rgba(0,0,0,.34) !important;
    transform: translateX(105%) !important;
    visibility: hidden !important;
    transition: transform .28s ease, visibility .28s ease !important;
    overflow-y: auto !important;
}

.vip-shell-mobile-drawer.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
}

.vip-shell-header-wrap:has(.vip-shell-mobile-drawer.is-open) .vip-shell-drawer-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
}

body.vip-shell-drawer-open {
    overflow: hidden !important;
}

.vip-shell-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(246,209,84,.22) !important;
}

.vip-shell-drawer-brand {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #f8d85e !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    font-size: 1.18rem !important;
    line-height: 1.15 !important;
}

.vip-shell-drawer-logo {
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    flex: 0 0 48px !important;
}

.vip-shell-drawer-mark {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    background: linear-gradient(135deg,#ffe16d,#d4aa34) !important;
    color: #15351f !important;
    font-size: .72rem !important;
}

.vip-shell-drawer-close {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border: 1px solid rgba(246,209,84,.34) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.04) !important;
    color: #fff !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.vip-shell-drawer-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 22px 0 !important;
}

.vip-shell-drawer-link,
.vip-shell-drawer-link:visited {
    display: flex !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 11px 14px !important;
    border-radius: 12px !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    border: 1px solid transparent !important;
    background: rgba(255,255,255,.025) !important;
}

.vip-shell-drawer-link:hover,
.vip-shell-drawer-link.is-active {
    color: #ffe066 !important;
    border-color: rgba(246,209,84,.3) !important;
    background: rgba(246,209,84,.07) !important;
}

.vip-shell-drawer-link.is-vip-cta,
.vip-shell-drawer-register {
    background: linear-gradient(135deg,#ffe16d,#d7aa31) !important;
    color: #15351f !important;
    border-color: transparent !important;
}

.vip-shell-drawer-logout {
    color: #ffd2d2 !important;
}

.vip-shell-drawer-divider {
    height: 1px !important;
    margin: 8px 0 !important;
    background: rgba(246,209,84,.18) !important;
}

.vip-shell-drawer-socials {
    margin-top: auto !important;
    padding-top: 18px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    border-top: 1px solid rgba(246,209,84,.2) !important;
}

.vip-shell-drawer-socials a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.12) !important;
}

.vip-shell-drawer-socials a:first-child { background: #229ed9 !important; }
.vip-shell-drawer-socials a:last-child { background: #25d366 !important; }

@media (max-width: 900px) {
    body.soccersmarts-vip-managed-page .vip-shell-header,
    body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-header {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 13px 14px !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-managed-page .vip-shell-actions,
    body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-nav,
    body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-actions {
        display: none !important;
    }

    .vip-shell-menu-toggle {
        display: inline-flex !important;
        justify-self: end !important;
    }

    .vip-shell-brand-logo {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-brand-text,
    body.soccersmarts-vip-shell-page:not(.soccersmarts-vip-managed-page) .vip-shell-brand-text {
        font-size: 1.12rem !important;
        white-space: normal !important;
        line-height: 1.1 !important;
    }
}

@media (max-width: 620px) {
    body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading {
        padding: 22px 18px !important;
        margin-bottom: 18px !important;
        border-radius: 16px !important;
    }

    body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading h1 {
        font-size: 1.9rem !important;
    }

    body.soccersmarts-vip-managed-page .vip-history-container .vip-page-heading p {
        font-size: .9rem !important;
        line-height: 1.6 !important;
    }

    body.soccersmarts-vip-managed-page .vip-history-container .vip-account-bar,
    body.soccersmarts-vip-managed-page .vip-history-container .vip-history-card {
        padding: 18px !important;
        border-radius: 16px !important;
    }

    .vip-shell-mobile-drawer {
        width: min(92vw, 340px) !important;
        padding: 18px !important;
    }
}


/* Make the legacy site drawer useful even without a WordPress Primary menu. */
.soccersmarts-drawer-logo {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.soccersmarts-drawer-logo img {
    width: 54px !important;
    height: 54px !important;
    max-height: 54px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
}
.soccersmarts-drawer-nav {
    width: 100% !important;
}
.soccersmarts-drawer-menu li {
    margin: 7px 0 !important;
}
.soccersmarts-drawer-menu li a {
    padding: 12px 13px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.025) !important;
    border: 1px solid transparent !important;
}
.soccersmarts-drawer-menu li a:hover {
    border-color: rgba(246,209,84,.28) !important;
    background: rgba(246,209,84,.06) !important;
}
body.vip-shell-drawer-open .vip-shell-drawer-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
}


/* v1.6.1 custom password recovery */
body.soccersmarts-vip-managed-page .vip-auth-options-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}
body.soccersmarts-vip-managed-page .vip-forgot-link,
body.soccersmarts-vip-managed-page .vip-forgot-link:visited {
    color: #f6cf4c !important;
    font-weight: 800 !important;
    font-size: .92rem !important;
    text-decoration: none !important;
}
body.soccersmarts-vip-managed-page .vip-forgot-link:hover {
    text-decoration: underline !important;
}
body.soccersmarts-vip-managed-page .vip-password-card {
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 520px) {
    body.soccersmarts-vip-managed-page .vip-auth-options-row {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
}


/* v1.7.0 frontend user settings */
body.soccersmarts-vip-managed-page .vip-settings-page {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding-bottom: 48px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-heading,
body.soccersmarts-vip-managed-page .vip-settings-message,
body.soccersmarts-vip-managed-page .vip-settings-grid {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.soccersmarts-vip-managed-page .vip-settings-heading {
    padding: 26px 28px !important;
    margin-bottom: 20px !important;
    border: 1px solid rgba(246,207,76,.35) !important;
    border-radius: 20px !important;
    background: rgba(0,49,24,.72) !important;
}
body.soccersmarts-vip-managed-page .vip-settings-heading h1 {
    font-size: clamp(2rem, 3.4vw, 3.2rem) !important;
    margin: 5px 0 8px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-heading p {
    margin: 0 !important;
    max-width: 760px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-message {
    margin-bottom: 18px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: start !important;
}
body.soccersmarts-vip-managed-page .vip-settings-card {
    background: #086338 !important;
    border: 2px solid #dfbd53 !important;
    border-radius: 22px !important;
    padding: 24px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.12) !important;
}
body.soccersmarts-vip-managed-page .vip-settings-profile-card {
    grid-column: 1 / -1 !important;
}
body.soccersmarts-vip-managed-page .vip-settings-card-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 20px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-card-head h2 {
    margin: 0 0 5px !important;
    font-size: 1.35rem !important;
    line-height: 1.2 !important;
    color: #fff !important;
}
body.soccersmarts-vip-managed-page .vip-settings-card-head p {
    margin: 0 !important;
    color: rgba(255,255,255,.72) !important;
    font-size: .92rem !important;
    line-height: 1.5 !important;
}
body.soccersmarts-vip-managed-page .vip-settings-icon {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background: #f6cf4c !important;
    color: #06351f !important;
    font-weight: 900 !important;
    font-size: .9rem !important;
}
body.soccersmarts-vip-managed-page .vip-settings-form .vip-auth-field small {
    display: block !important;
    margin-top: 6px !important;
    color: rgba(255,255,255,.6) !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
}
body.soccersmarts-vip-managed-page .vip-settings-form select,
body.soccersmarts-vip-managed-page .vip-settings-form input {
    width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}
body.soccersmarts-vip-managed-page .vip-settings-form input[readonly],
body.soccersmarts-vip-managed-page .vip-settings-form input[disabled] {
    opacity: .72 !important;
    cursor: not-allowed !important;
}
body.soccersmarts-vip-managed-page .vip-settings-security-card form {
    margin: 8px 0 14px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-text-link,
body.soccersmarts-vip-managed-page .vip-settings-text-link:visited {
    display: inline-block !important;
    color: #f6cf4c !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    margin-top: 8px !important;
}
body.soccersmarts-vip-managed-page .vip-settings-danger-card {
    border-color: rgba(255,115,115,.78) !important;
    background: #07552f !important;
}
body.soccersmarts-vip-managed-page .vip-settings-danger-card .vip-settings-icon {
    background: #ffdddd !important;
    color: #861f1f !important;
}
body.soccersmarts-vip-managed-page .vip-btn-danger {
    background: #b83232 !important;
    color: #fff !important;
    border: 1px solid #e98e8e !important;
    box-shadow: none !important;
}
body.soccersmarts-vip-managed-page .vip-btn-danger:hover {
    background: #982727 !important;
    color: #fff !important;
}
body.soccersmarts-vip-managed-page .vip-settings-admin-note {
    border: 1px solid rgba(246,207,76,.35) !important;
    background: rgba(0,0,0,.12) !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    color: rgba(255,255,255,.82) !important;
}
body.soccersmarts-vip-managed-page .vip-shell-action-btn.is-active {
    border-color: #f6cf4c !important;
    color: #f6cf4c !important;
}
@media (max-width: 900px) {
    body.soccersmarts-vip-managed-page .vip-settings-grid {
        grid-template-columns: 1fr !important;
    }
    body.soccersmarts-vip-managed-page .vip-settings-profile-card {
        grid-column: auto !important;
    }
}
@media (max-width: 620px) {
    body.soccersmarts-vip-managed-page .vip-settings-page {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    body.soccersmarts-vip-managed-page .vip-settings-heading,
    body.soccersmarts-vip-managed-page .vip-settings-card {
        padding: 18px !important;
        border-radius: 17px !important;
    }
    body.soccersmarts-vip-managed-page .vip-settings-heading h1 {
        font-size: 1.9rem !important;
    }
    body.soccersmarts-vip-managed-page .vip-settings-card-head h2 {
        font-size: 1.18rem !important;
    }
}


/* === v1.7.3 mobile inline header menu + all-currency catalogue === */
@media (max-width: 768px) {
    /* VIP shell used on VIP and match pages: all links remain visible in the header. */
    body.soccersmarts-vip-managed-page .vip-shell-header,
    body.soccersmarts-vip-shell-page .vip-shell-header,
    .vip-shell-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 12px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .vip-shell-brand {
        width: 100% !important;
        justify-content: center !important;
        min-width: 0 !important;
        gap: 9px !important;
    }

    .vip-shell-brand-logo {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
    }

    .vip-shell-brand-mark {
        width: 38px !important;
        height: 38px !important;
        flex-basis: 38px !important;
        font-size: .64rem !important;
    }

    .vip-shell-brand-text {
        font-size: 1.08rem !important;
        line-height: 1.05 !important;
        white-space: normal !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-shell-page .vip-shell-nav,
    .vip-shell-nav {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        white-space: normal !important;
        scrollbar-width: none !important;
    }

    .vip-shell-nav::-webkit-scrollbar {
        display: none !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav-link,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link,
    .vip-shell-nav-link,
    .vip-shell-nav-link:visited {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 36px !important;
        padding: 7px 5px !important;
        border: 1px solid rgba(246,209,84,.22) !important;
        border-radius: 9px !important;
        font-size: .66rem !important;
        line-height: 1.18 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        background: rgba(255,255,255,.025) !important;
    }

    .vip-shell-nav-link.is-vip-cta {
        background: linear-gradient(135deg,#ffe16d,#d4aa34) !important;
        color: #15351f !important;
        border-color: #e1bd4f !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-actions,
    body.soccersmarts-vip-shell-page .vip-shell-actions,
    .vip-shell-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .vip-shell-action-btn {
        width: 100% !important;
        min-width: 0 !important;
        padding: 8px 5px !important;
        font-size: .68rem !important;
        line-height: 1.15 !important;
        text-align: center !important;
        justify-content: center !important;
        white-space: normal !important;
    }

    /* Drawer controls are intentionally retired on mobile. */
    .vip-shell-menu-toggle,
    .vip-shell-mobile-drawer,
    .vip-shell-drawer-backdrop {
        display: none !important;
    }

    /* Legacy/custom site header: use the same inline wrapped menu instead of a drawer. */
    .soccersmarts-custom-header {
        position: sticky !important;
        top: 0 !important;
    }

    body.soccersmarts-has-custom-header {
        padding-top: 0 !important;
    }

    .soccersmarts-header-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 11px 12px !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-header-logo {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .soccersmarts-header-logo img {
        max-height: 38px !important;
    }

    .soccersmarts-header-logo .site-title-text {
        font-size: 1.08rem !important;
        text-align: center !important;
    }

    .soccersmarts-header-nav-desktop {
        display: block !important;
        width: 100% !important;
    }

    .soccersmarts-nav-menu {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .soccersmarts-nav-menu li,
    .soccersmarts-nav-menu li a {
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-nav-menu li a {
        display: flex !important;
        min-height: 36px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 7px 5px !important;
        font-size: .65rem !important;
        line-height: 1.18 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        border: 1px solid rgba(246,209,84,.2) !important;
        border-radius: 9px !important;
    }

    .soccersmarts-nav-menu li a[href*="vip-packages"] {
        padding: 7px 5px !important;
        border-radius: 9px !important;
    }

    .soccersmarts-header-hamburger,
    .soccersmarts-mobile-drawer {
        display: none !important;
    }
}

@media (max-width: 430px) {
    .vip-shell-nav,
    .soccersmarts-nav-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .vip-shell-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .vip-shell-nav-link,
    .vip-shell-action-btn,
    .soccersmarts-nav-menu li a {
        font-size: .63rem !important;
    }
}


/* === v1.7.4 balanced mobile headers across VIP, match and site pages === */
@media (max-width: 768px) {
    body.soccersmarts-vip-managed-page .vip-shell-header-wrap,
    body.soccersmarts-vip-shell-page .vip-shell-header-wrap,
    .vip-shell-header-wrap {
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto 20px !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-header,
    body.soccersmarts-vip-shell-page .vip-shell-header,
    .vip-shell-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 14px !important;
        border: 2px solid #dfbd53 !important;
        border-radius: 20px !important;
        background: linear-gradient(180deg,#075f36 0%,#06542f 100%) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .vip-shell-brand {
        order: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 11px !important;
        padding: 2px 0 4px !important;
        box-sizing: border-box !important;
    }

    .vip-shell-brand-logo,
    body.soccersmarts-vip-managed-page .vip-shell-brand-logo {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        object-fit: cover !important;
        border-radius: 13px !important;
        background: #fff !important;
    }

    .vip-shell-brand-mark,
    body.soccersmarts-vip-managed-page .vip-shell-brand-mark {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        border-radius: 13px !important;
    }

    .vip-shell-brand-text,
    body.soccersmarts-vip-managed-page .vip-shell-brand-text {
        font-size: clamp(1.18rem, 5vw, 1.48rem) !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: calc(100% - 64px) !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-shell-page .vip-shell-nav,
    .vip-shell-nav {
        order: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav-link,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link,
    .vip-shell-nav-link,
    .vip-shell-nav-link:visited {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 8px 8px !important;
        border: 1px solid rgba(226,190,79,.36) !important;
        border-radius: 12px !important;
        background: rgba(255,255,255,.025) !important;
        color: #fff !important;
        font-size: .76rem !important;
        font-weight: 800 !important;
        line-height: 1.18 !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        box-sizing: border-box !important;
    }

    .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta {
        grid-column: span 2 !important;
        min-height: 46px !important;
        padding: 8px 12px !important;
        border-radius: 12px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        background: linear-gradient(135deg,#ffe16d 0%,#d8aa31 100%) !important;
        color: #173720 !important;
        border-color: #efd46a !important;
        box-shadow: none !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-actions,
    body.soccersmarts-vip-shell-page .vip-shell-actions,
    .vip-shell-actions {
        order: 3 !important;
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .vip-shell-action-btn,
    body.soccersmarts-vip-managed-page .vip-shell-action-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        padding: 8px 8px !important;
        border-radius: 12px !important;
        font-size: .78rem !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .vip-shell-menu-toggle,
    .vip-shell-mobile-drawer,
    .vip-shell-drawer-backdrop {
        display: none !important;
    }

    /* Other frontend pages using the plugin custom header receive the same balanced treatment. */
    .soccersmarts-custom-header {
        position: sticky !important;
        top: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-header-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        width: calc(100% - 20px) !important;
        max-width: 1440px !important;
        min-height: 0 !important;
        margin: 10px auto !important;
        padding: 14px !important;
        border: 2px solid #dfbd53 !important;
        border-radius: 20px !important;
        background: linear-gradient(180deg,#075f36 0%,#06542f 100%) !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-header-logo,
    .soccersmarts-header-logo a {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 11px !important;
        text-decoration: none !important;
    }

    .soccersmarts-header-logo img {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        flex: 0 0 48px !important;
        object-fit: cover !important;
        border-radius: 13px !important;
        background: #fff !important;
    }

    .soccersmarts-header-logo .site-title-text {
        display: block !important;
        max-width: calc(100% - 64px) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        color: #f8d85e !important;
        font-size: clamp(1.18rem, 5vw, 1.48rem) !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
    }

    .soccersmarts-header-nav-desktop {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .soccersmarts-nav-menu {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-nav-menu li,
    .soccersmarts-nav-menu li a {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-nav-menu li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 46px !important;
        padding: 8px !important;
        border: 1px solid rgba(226,190,79,.36) !important;
        border-radius: 12px !important;
        color: #fff !important;
        background: rgba(255,255,255,.025) !important;
        font-size: .76rem !important;
        font-weight: 800 !important;
        line-height: 1.18 !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-decoration: none !important;
    }

    .soccersmarts-nav-menu li:has(a[href*="vip-packages"]),
    .soccersmarts-nav-menu .vip-header-cta {
        grid-column: span 2 !important;
    }

    .soccersmarts-nav-menu li a[href*="vip-packages"],
    .soccersmarts-nav-menu .vip-header-cta a {
        min-height: 46px !important;
        padding: 8px 12px !important;
        border-radius: 12px !important;
        white-space: nowrap !important;
        background: linear-gradient(135deg,#ffe16d 0%,#d8aa31 100%) !important;
        color: #173720 !important;
        border-color: #efd46a !important;
        box-shadow: none !important;
    }

    .soccersmarts-header-hamburger,
    .soccersmarts-mobile-drawer {
        display: none !important;
    }
}

@media (max-width: 520px) {
    body.soccersmarts-vip-managed-page .vip-shell-header-wrap,
    body.soccersmarts-vip-shell-page .vip-shell-header-wrap,
    .vip-shell-header-wrap {
        padding: 0 8px !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-header,
    body.soccersmarts-vip-shell-page .vip-shell-header,
    .vip-shell-header,
    .soccersmarts-header-container {
        gap: 10px !important;
        padding: 12px !important;
        border-radius: 18px !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-shell-page .vip-shell-nav,
    .vip-shell-nav,
    .soccersmarts-nav-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta,
    .soccersmarts-nav-menu li:has(a[href*="vip-packages"]),
    .soccersmarts-nav-menu .vip-header-cta {
        grid-column: 1 / -1 !important;
    }

    .vip-shell-nav-link,
    .vip-shell-nav-link:visited,
    .soccersmarts-nav-menu li a {
        min-height: 44px !important;
        font-size: .72rem !important;
    }

    .vip-shell-nav-link.is-vip-cta,
    .soccersmarts-nav-menu li a[href*="vip-packages"] {
        min-height: 44px !important;
        white-space: nowrap !important;
    }

    .vip-shell-actions {
        grid-template-columns: repeat(auto-fit, minmax(82px, 1fr)) !important;
        gap: 7px !important;
    }

    .vip-shell-action-btn {
        min-height: 42px !important;
        font-size: .72rem !important;
    }
}

@media (max-width: 360px) {
    .vip-shell-brand-logo,
    body.soccersmarts-vip-managed-page .vip-shell-brand-logo,
    .soccersmarts-header-logo img {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
    }

    .vip-shell-brand-text,
    body.soccersmarts-vip-managed-page .vip-shell-brand-text,
    .soccersmarts-header-logo .site-title-text {
        font-size: 1.08rem !important;
    }

    .vip-shell-nav-link,
    .vip-shell-action-btn,
    .soccersmarts-nav-menu li a {
        font-size: .68rem !important;
    }
}


/* === v1.7.5 SoccerSmarts-style mobile header: logo/account row + plain text navigation === */
.vip-shell-mobile-account,
.soccersmarts-mobile-account-link {
    display: none;
}

@media (max-width: 768px) {
    body.soccersmarts-vip-managed-page .vip-shell-header-wrap,
    body.soccersmarts-vip-shell-page .vip-shell-header-wrap,
    .vip-shell-header-wrap {
        padding: 0 !important;
        margin: 0 auto 18px !important;
        width: 100% !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-header,
    body.soccersmarts-vip-shell-page .vip-shell-header,
    .vip-shell-header {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        grid-template-areas:
            "brand account"
            "nav nav" !important;
        align-items: center !important;
        gap: 0 14px !important;
        width: 100% !important;
        padding: 14px 14px 10px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #064d2c !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .vip-shell-brand {
        grid-area: brand !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 58px !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 0 !important;
    }

    .vip-shell-brand-logo,
    body.soccersmarts-vip-managed-page .vip-shell-brand-logo,
    .vip-shell-brand-mark,
    body.soccersmarts-vip-managed-page .vip-shell-brand-mark {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
        border-radius: 10px !important;
    }

    .vip-shell-brand-text,
    body.soccersmarts-vip-managed-page .vip-shell-brand-text {
        max-width: none !important;
        font-size: clamp(1.15rem, 5vw, 1.5rem) !important;
        line-height: 1.02 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .vip-shell-mobile-account {
        grid-area: account !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 116px !important;
        min-height: 48px !important;
        padding: 10px 16px !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: linear-gradient(135deg,#f8d458,#e7ae2f) !important;
        color: #fff !important;
        font-size: .9rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-shell-page .vip-shell-nav,
    .vip-shell-nav {
        grid-area: nav !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px 18px !important;
        width: calc(100% + 28px) !important;
        margin: 10px -14px -10px !important;
        padding: 11px 12px 10px !important;
        border-top: 1px solid rgba(255,255,255,.55) !important;
        overflow: visible !important;
        background: #064d2c !important;
        box-sizing: border-box !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav-link,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link,
    .vip-shell-nav-link,
    .vip-shell-nav-link:visited,
    .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 7px 0 6px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #fff !important;
        font-size: clamp(.78rem, 3.5vw, .94rem) !important;
        font-weight: 800 !important;
        line-height: 1.12 !important;
        text-align: center !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta {
        color: #f6cf4c !important;
    }

    .vip-shell-nav-link.is-active {
        box-shadow: inset 0 -3px 0 #fff !important;
    }

    /* Mobile account actions live behind My account, keeping the header clean like the reference. */
    body.soccersmarts-vip-managed-page .vip-shell-actions,
    body.soccersmarts-vip-shell-page .vip-shell-actions,
    .vip-shell-actions,
    .vip-shell-menu-toggle,
    .vip-shell-mobile-drawer,
    .vip-shell-drawer-backdrop {
        display: none !important;
    }

    /* Apply the same structure to the plugin custom header on non-VIP pages. */
    .soccersmarts-custom-header {
        position: sticky !important;
        top: 0 !important;
        width: 100% !important;
        background: #064d2c !important;
        box-shadow: none !important;
    }

    .soccersmarts-header-container {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        grid-template-areas:
            "brand account"
            "menu menu" !important;
        align-items: center !important;
        gap: 0 14px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 14px 14px 10px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #064d2c !important;
        box-shadow: none !important;
    }

    .soccersmarts-header-logo {
        grid-area: brand !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .soccersmarts-header-logo,
    .soccersmarts-header-logo a {
        justify-content: flex-start !important;
        gap: 10px !important;
    }

    .soccersmarts-header-logo img {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        flex: 0 0 48px !important;
        border-radius: 10px !important;
    }

    .soccersmarts-header-logo .site-title-text {
        max-width: none !important;
        color: #f6cf4c !important;
        font-size: clamp(1.15rem, 5vw, 1.5rem) !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .soccersmarts-mobile-account-link {
        grid-area: account !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 116px !important;
        min-height: 48px !important;
        padding: 10px 16px !important;
        border-radius: 7px !important;
        background: linear-gradient(135deg,#f8d458,#e7ae2f) !important;
        color: #fff !important;
        font-size: .9rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .soccersmarts-header-nav-desktop {
        grid-area: menu !important;
        display: block !important;
        width: calc(100% + 28px) !important;
        margin: 10px -14px -10px !important;
        padding: 11px 12px 10px !important;
        border-top: 1px solid rgba(255,255,255,.55) !important;
        background: #064d2c !important;
        box-sizing: border-box !important;
    }

    .soccersmarts-nav-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px 18px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .soccersmarts-nav-menu li,
    .soccersmarts-nav-menu li:has(a[href*="vip-packages"]),
    .soccersmarts-nav-menu .vip-header-cta {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        grid-column: auto !important;
    }

    .soccersmarts-nav-menu li a,
    .soccersmarts-nav-menu li a[href*="vip-packages"],
    .soccersmarts-nav-menu .vip-header-cta a {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 7px 0 6px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #fff !important;
        font-size: clamp(.78rem, 3.5vw, .94rem) !important;
        font-weight: 800 !important;
        line-height: 1.12 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    .soccersmarts-nav-menu li a[href*="vip-packages"],
    .soccersmarts-nav-menu .vip-header-cta a {
        color: #f6cf4c !important;
    }

    .soccersmarts-header-hamburger,
    .soccersmarts-mobile-drawer {
        display: none !important;
    }
}

@media (max-width: 420px) {
    body.soccersmarts-vip-managed-page .vip-shell-header,
    body.soccersmarts-vip-shell-page .vip-shell-header,
    .vip-shell-header,
    .soccersmarts-header-container {
        gap: 0 8px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .vip-shell-brand-logo,
    body.soccersmarts-vip-managed-page .vip-shell-brand-logo,
    .vip-shell-brand-mark,
    body.soccersmarts-vip-managed-page .vip-shell-brand-mark,
    .soccersmarts-header-logo img {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
    }

    .vip-shell-brand-text,
    body.soccersmarts-vip-managed-page .vip-shell-brand-text,
    .soccersmarts-header-logo .site-title-text {
        font-size: 1.05rem !important;
    }

    .vip-shell-mobile-account,
    .soccersmarts-mobile-account-link {
        min-width: 98px !important;
        min-height: 43px !important;
        padding: 9px 11px !important;
        font-size: .78rem !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-shell-page .vip-shell-nav,
    .vip-shell-nav,
    .soccersmarts-header-nav-desktop {
        width: calc(100% + 20px) !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }

    body.soccersmarts-vip-managed-page .vip-shell-nav,
    body.soccersmarts-vip-shell-page .vip-shell-nav,
    .vip-shell-nav,
    .soccersmarts-nav-menu {
        gap: 1px 12px !important;
    }

    .vip-shell-nav-link,
    .vip-shell-nav-link:visited,
    .vip-shell-nav-link.is-vip-cta,
    .soccersmarts-nav-menu li a,
    .soccersmarts-nav-menu li a[href*="vip-packages"] {
        font-size: .72rem !important;
    }
}


/* === v1.7.6 non-sticky header and always-visible VIP Packages link === */
/* The custom site header must scroll naturally with page content on every viewport. */
.soccersmarts-custom-header,
body.soccersmarts-has-custom-header .soccersmarts-custom-header,
body.soccersmarts-vip-managed-page .soccersmarts-custom-header,
body.soccersmarts-vip-shell-page .soccersmarts-custom-header,
.vip-shell-header-wrap,
body.soccersmarts-vip-managed-page .vip-shell-header-wrap,
body.soccersmarts-vip-shell-page .vip-shell-header-wrap,
.vip-shell-header,
body.soccersmarts-vip-managed-page .vip-shell-header,
body.soccersmarts-vip-shell-page .vip-shell-header {
    position: static !important;
    top: auto !important;
}

/* Remove old admin-bar offsets that were only needed for a sticky header. */
.admin-bar .soccersmarts-custom-header,
.admin-bar.soccersmarts-vip-managed-page .soccersmarts-custom-header,
.admin-bar.soccersmarts-vip-shell-page .soccersmarts-custom-header {
    top: auto !important;
}

/* VIP Packages stays a plain menu item on mobile, but must always have strong gold contrast. */
.vip-shell-nav-link.is-vip-cta,
.vip-shell-nav-link.is-vip-cta:link,
.vip-shell-nav-link.is-vip-cta:visited,
.vip-shell-nav-link.is-vip-cta:hover,
.vip-shell-nav-link.is-vip-cta:focus,
.vip-shell-nav-link.is-vip-cta:active,
body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta,
.soccersmarts-nav-menu li a[href*="vip-packages"],
.soccersmarts-nav-menu li a[href*="vip-packages"]:visited,
.soccersmarts-nav-menu li a[href*="vip-packages"]:hover,
.soccersmarts-nav-menu li a[href*="vip-packages"]:focus,
.soccersmarts-nav-menu .vip-header-cta a,
.soccersmarts-nav-menu .vip-header-cta a:visited {
    color: #f6cf4c !important;
    -webkit-text-fill-color: #f6cf4c !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.12) !important;
}

@media (max-width: 768px) {
    .soccersmarts-custom-header,
    body.soccersmarts-vip-managed-page .soccersmarts-custom-header,
    body.soccersmarts-vip-shell-page .soccersmarts-custom-header,
    .vip-shell-header-wrap,
    .vip-shell-header {
        position: static !important;
        top: auto !important;
        transform: none !important;
    }

    .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta,
    .soccersmarts-nav-menu li a[href*="vip-packages"],
    .soccersmarts-nav-menu .vip-header-cta a {
        color: #f6cf4c !important;
        -webkit-text-fill-color: #f6cf4c !important;
        font-weight: 900 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}


/* === v1.7.7 header VIP Packages button contrast fix === */
/* Keep the CTA gold, but always render its label in a dark readable green. */
.vip-shell-nav-link.is-vip-cta,
.vip-shell-nav-link.is-vip-cta:link,
.vip-shell-nav-link.is-vip-cta:visited,
.vip-shell-nav-link.is-vip-cta:hover,
.vip-shell-nav-link.is-vip-cta:focus,
.vip-shell-nav-link.is-vip-cta:active,
body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta,
.soccersmarts-nav-menu li a[href*="vip-packages"],
.soccersmarts-nav-menu li a[href*="vip-packages"]:link,
.soccersmarts-nav-menu li a[href*="vip-packages"]:visited,
.soccersmarts-nav-menu li a[href*="vip-packages"]:hover,
.soccersmarts-nav-menu li a[href*="vip-packages"]:focus,
.soccersmarts-nav-menu li a[href*="vip-packages"]:active,
.soccersmarts-nav-menu .vip-header-cta a,
.soccersmarts-nav-menu .vip-header-cta a:link,
.soccersmarts-nav-menu .vip-header-cta a:visited,
.soccersmarts-nav-menu .vip-header-cta a:hover,
.soccersmarts-nav-menu .vip-header-cta a:focus,
.soccersmarts-nav-menu .vip-header-cta a:active,
body:not(.wp-admin) nav a[href*="vip-packages"],
body:not(.wp-admin) nav a[href*="vip-packages"]:visited,
body:not(.wp-admin) nav a[href*="vip-packages"]:hover,
body:not(.wp-admin) nav a[href*="vip-packages"]:focus,
body:not(.wp-admin) .main-navigation a[href*="vip-packages"],
body:not(.wp-admin) .nav-menu a[href*="vip-packages"],
body:not(.wp-admin) ul.menu a[href*="vip-packages"] {
    color: #063b24 !important;
    -webkit-text-fill-color: #063b24 !important;
    text-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

/* Explicit CTA surface so themes cannot leave gold text on a gold background. */
.vip-shell-nav-link.is-vip-cta,
.soccersmarts-nav-menu li a[href*="vip-packages"],
.soccersmarts-nav-menu .vip-header-cta a,
body:not(.wp-admin) nav a[href*="vip-packages"],
body:not(.wp-admin) .main-navigation a[href*="vip-packages"],
body:not(.wp-admin) .nav-menu a[href*="vip-packages"],
body:not(.wp-admin) ul.menu a[href*="vip-packages"] {
    background: linear-gradient(135deg, #f9da62 0%, #e8b634 100%) !important;
    border: 1px solid #f6d45c !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
}

@media (max-width: 768px) {
    .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-managed-page .vip-shell-nav-link.is-vip-cta,
    body.soccersmarts-vip-shell-page .vip-shell-nav-link.is-vip-cta,
    .soccersmarts-nav-menu li a[href*="vip-packages"],
    .soccersmarts-nav-menu .vip-header-cta a,
    body:not(.wp-admin) nav a[href*="vip-packages"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 190px !important;
        padding: 11px 24px !important;
        margin: 5px auto !important;
        color: #063b24 !important;
        -webkit-text-fill-color: #063b24 !important;
        background: linear-gradient(135deg, #f9da62 0%, #e8b634 100%) !important;
        border: 1px solid #f6d45c !important;
        border-radius: 999px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        text-shadow: none !important;
    }
}
