@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)):not(:has(.ss-player-dashboard)),
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)):not(:has(.ss-player-dashboard)) #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)):not(:has(.ss-player-dashboard)) #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)):not(:has(.ss-player-dashboard)) .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)):not(:has(.ss-player-dashboard)) 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)):not(:has(.ss-player-dashboard)) #main {
	background-color: #ffffff !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),
body:has(.ss-player-dashboard) {
	background-color: var(--vip-dark-blue) !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(.ss-player-dashboard) #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(.ss-player-dashboard) #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(.ss-player-dashboard) .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(.ss-player-dashboard) 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,
body:has(.ss-player-dashboard) #main {
	background-color: var(--vip-dark-blue) !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):not(.soccersmarts-fp-ranking-page):not(.soccersmarts-fp-statistics-page) 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;
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):not(.soccersmarts-fp-ranking-page):not(.soccersmarts-fp-statistics-page) 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 {
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;
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 {
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) {
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;
}

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;
}

/* JJuma hosted checkout badge */
.vip-jjuma-accept {
	display: flex !important;
	justify-content: center !important;
	margin: 18px 0 !important;
}

.jjuma-badge {
	display: inline-flex !important;
	align-items: center !important;
	padding: 7px 15px !important;
	border-radius: 8px !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	background: rgba(255, 224, 102, 0.10) !important;
	border: 1px solid rgba(255, 224, 102, 0.35) !important;
	color: var(--vip-gold) !important;
}

.vip-provider-hidden {
	display: none !important;
}

.vip-checkout-notice {
	display: block !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;
}

.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 standalone Football Pool match views only.
   Do not apply this legacy 900px cap to the SoccerSmarts competition/home app,
   because homepage fixtures also contain .matchinfo markup. */
body:not(.soccersmarts-competition-app):has(.predictions-section) main,
body:not(.soccersmarts-competition-app):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;
}

/* Keep the guest checkout message readable over the glass/gradient surface. */
.vip-login-required-card h3 {
	color: #ffffff !important;
	font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
	font-size: clamp(1.45rem, 3vw, 2rem) !important;
	line-height: 1.2 !important;
	margin: 0 0 10px !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .24) !important;
}

.vip-login-required-card p {
	color: rgba(255, 255, 255, .82) !important;
	font-size: 1rem !important;
	line-height: 1.55 !important;
	margin: 0 auto !important;
	max-width: 620px !important;
}

.vip-login-required-card .vip-lock-icon {
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .22));
}

.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 {
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;
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 {
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 {
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 {
}

body:has(.matchinfo) .status-locked {
}

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

body:has(.matchinfo) .actual-result-inline {
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) {
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 {
}

	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;
}

	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;
}

	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;
}

	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;
}

	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;
}

	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 */
	}
}

/* ========================================================================== 
   Football Pool league subscription pages
   ========================================================================== */
body:has(.soccersmarts-league-shell),
body:has(.soccersmarts-league-shell) #page,
body:has(.soccersmarts-league-shell) #content,
body:has(.soccersmarts-league-shell) .site-content,
body:has(.soccersmarts-league-shell) main,
body:has(.soccersmarts-league-shell) #main {
	background: var(--vip-dark-blue) !important;
	color: var(--vip-white) !important;
}

.soccersmarts-league-shell {
	max-width: 1180px;
	margin: 0 auto;
	padding: 28px 18px 48px;
	font-family: var(--vip-font-inter);
	color: var(--vip-white);
}

.soccersmarts-league-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 224, 102, .28);
	margin-bottom: 18px;
}

.soccersmarts-league-heading h2 {
	margin: 5px 0 0;
	font-family: var(--vip-font-outfit);
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.1;
	color: var(--vip-white);
}

.soccersmarts-league-kicker,
.soccersmarts-league-id {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--vip-gold);
}

.soccersmarts-league-id {
	white-space: nowrap;
	border: 1px solid rgba(255, 224, 102, .42);
	border-radius: 999px;
	padding: 7px 11px;
}

.soccersmarts-league-package-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0 22px;
}

.soccersmarts-league-package-grid.one {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.soccersmarts-league-stat {
	background: var(--vip-card-bg);
	border: 1px solid var(--vip-card-border);
	border-radius: 14px;
	padding: 16px;
}

.soccersmarts-league-stat span {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--vip-text-gray);
	margin-bottom: 6px;
}

.soccersmarts-league-stat strong {
	display: block;
	font-size: 18px;
	color: var(--vip-white);
}

.soccersmarts-league-access-card,
.soccersmarts-league-notice {
	background: var(--vip-card-bg);
	border: 1px solid rgba(255, 224, 102, .38);
	border-radius: 16px;
	padding: 22px;
	margin: 18px 0;
}

.soccersmarts-league-access-card h3 {
	margin: 0 0 8px;
	color: var(--vip-white);
}

.soccersmarts-league-access-card p {
	color: var(--vip-text-gray);
	margin: 0 0 16px;
}

.soccersmarts-league-deadline-note {
	background: rgba(255, 224, 102, .08);
	border: 1px solid rgba(255, 224, 102, .25);
	border-radius: 10px;
	padding: 10px 13px;
	font-size: 13px;
	color: #f8edb2;
	margin: 16px 0;
}

.soccersmarts-league-predictions,
.soccersmarts-league-ranking {
	margin-top: 24px;
}

.soccersmarts-league-ranking h3 {
	font-family: var(--vip-font-outfit);
	color: var(--vip-gold);
	margin-bottom: 14px;
}

@media (max-width: 760px) {
	.soccersmarts-league-heading {
		align-items: flex-start;
		flex-direction: column;
	}
	.soccersmarts-league-package-grid,
	.soccersmarts-league-package-grid.one {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.soccersmarts-league-shell {
		padding: 20px 12px 36px;
	}
}

@media (max-width: 460px) {
	.soccersmarts-league-package-grid,
	.soccersmarts-league-package-grid.one {
		grid-template-columns: 1fr;
	}
}


/* ========================================================================== 
   SoccerSmarts Competition App Pages v1.3.0
   Compact league pages with their own header and bottom navigation.
   ========================================================================== */
body.soccersmarts-competition-app {
	background: #001b08 !important;
	color: var(--vip-white) !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header .site-header,
body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header #masthead,
body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header .elementor-location-header {
	display: none !important;
}

body.soccersmarts-competition-app #content,
body.soccersmarts-competition-app .site-content,
body.soccersmarts-competition-app .site-main,
body.soccersmarts-competition-app #main,
body.soccersmarts-competition-app article,
body.soccersmarts-competition-app .entry-content,
body.soccersmarts-competition-app .page-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.soccersmarts-competition-app .entry-header,
body.soccersmarts-competition-app .page-header,
body.soccersmarts-competition-app .entry-title,
body.soccersmarts-competition-app .page-title {
	display: none !important;
}

.ss-app-shell {
	width: 100%;
	min-height: 100svh;
	display: grid;
	grid-template-rows: 64px minmax(0, 1fr);
	background:
		radial-gradient(circle at top right, rgba(255, 224, 102, .08), transparent 32%),
		linear-gradient(180deg, #00280d 0%, #001b08 100%);
	color: var(--vip-white);
	font-family: var(--vip-font-inter);
	overflow: hidden;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
	grid-template-rows: minmax(0, 1fr);
	min-height: 72vh;
	overflow: visible;
}

.ss-app-header {
	display: grid !important;
	grid-template-columns: minmax(0, auto) minmax(140px, 1fr) auto;
	align-items: center;
	gap: 18px;
	padding: 8px clamp(14px, 3vw, 32px) !important;
	background: rgba(0, 34, 10, .96) !important;
	border-bottom: 1px solid rgba(255, 224, 102, .28) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
	position: relative !important;
	z-index: 20;
}

.ss-app-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	text-decoration: none !important;
	color: var(--vip-white) !important;
}

.ss-app-brand img,
.ss-app-brand-mark {
	width: 42px;
	height: 42px;
	border-radius: 11px;
	object-fit: contain;
	flex: 0 0 42px;
}

.ss-app-brand-mark {
	display: grid;
	place-items: center;
	background: var(--vip-gold-gradient);
	color: #00220A;
	font-weight: 900;
	font-family: var(--vip-font-outfit);
}

.ss-app-brand > span {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ss-app-brand strong {
	font: 800 14px/1.05 var(--vip-font-outfit);
	letter-spacing: .045em;
	color: var(--vip-gold);
	white-space: nowrap;
}

.ss-app-brand small {
	font-size: 11px;
	line-height: 1.2;
	color: #e8f1eb;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 230px;
}

.ss-app-header-note {
	justify-self: center;
	font-size: 12px;
	color: #b8c8bd;
	text-align: center;
}

.ss-app-account {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none !important;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 10px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 999px;
	background: rgba(255, 255, 255, .045);
}

.ss-app-account-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--vip-gold);
	box-shadow: 0 0 0 4px rgba(255, 224, 102, .1);
}

.ss-app-main {
	min-height: 0;
	width: 100%;
	overflow: hidden;
}

.ss-app-footer {
	display: none !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	background: rgba(0, 28, 9, .98) !important;
	border-top: 1px solid rgba(255, 224, 102, .22) !important;
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .18);
	z-index: 20;
}

.ss-app-nav-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	text-decoration: none !important;
	color: #9db2a3 !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .02em;
	position: relative;
}

.ss-app-nav-item svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

.ss-app-nav-item.is-active {
	color: var(--vip-gold) !important;
}

.ss-app-nav-item.is-active::before {
	content: '';
	position: absolute;
	top: 0;
	left: 24%;
	right: 24%;
	height: 2px;
	border-radius: 0 0 4px 4px;
	background: var(--vip-gold);
}

/* Competitions landing page */
.ss-competitions-main {
	overflow: auto;
	padding: clamp(14px, 2.6vw, 28px) !important;
}

.ss-site-mode-intro {
	width: min(1100px, 100%);
	margin: 0 auto 18px;
	padding: 18px 20px;
	border: 1px solid rgba(255, 224, 102, .16);
	border-radius: 16px;
	background: rgba(0, 40, 13, .7);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .14);
}

.ss-site-mode-intro span {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
	color: var(--vip-gold);
}

.ss-site-mode-intro h1 {
	margin: 0 0 4px !important;
	font: 800 clamp(24px, 3vw, 36px)/1.08 var(--vip-font-outfit) !important;
	color: #fff !important;
}

.ss-site-mode-intro p {
	margin: 0 !important;
	font-size: 13px;
	color: #b7c7bc !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competition-grid {
	height: auto;
	grid-auto-rows: minmax(220px, auto);
}

.ss-competition-grid {
	width: min(1100px, 100%);
	height: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: minmax(180px, 1fr);
	gap: 14px;
}

.ss-competition-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 0;
	padding: 18px;
	border: 1px solid var(--vip-card-border);
	border-radius: 18px;
	background: linear-gradient(160deg, #003312 0%, #00240c 72%);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
	text-decoration: none !important;
	color: #fff !important;
	overflow: hidden;
}

.ss-competition-card::after {
	content: '';
	position: absolute;
	width: 130px;
	height: 130px;
	right: -55px;
	bottom: -55px;
	border-radius: 50%;
	background: rgba(255, 224, 102, .055);
}

.ss-competition-card.is-current {
	border-color: rgba(255, 224, 102, .75);
	box-shadow: 0 0 0 1px rgba(255, 224, 102, .2), 0 14px 34px rgba(0, 0, 0, .2);
}

.ss-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.ss-card-label,
.ss-current-badge {
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	padding: 5px 8px;
	border-radius: 999px;
}

.ss-card-label {
	background: rgba(255, 224, 102, .12);
	color: var(--vip-gold);
}

.ss-current-badge {
	background: var(--vip-gold);
	color: #00220A;
}

.ss-competition-card h2 {
	margin: 12px 0 3px !important;
	font: 800 clamp(20px, 3vw, 30px)/1.05 var(--vip-font-outfit) !important;
	color: #fff !important;
	text-transform: uppercase;
}

.ss-card-price {
	font: 900 clamp(22px, 4vw, 36px)/1 var(--vip-font-outfit);
	color: var(--vip-gold);
	margin: 6px 0 8px;
}

.ss-competition-card p,
.ss-card-meta {
	color: #afc2b5 !important;
	font-size: 12px;
	line-height: 1.35;
	margin: 0 0 12px !important;
}

.ss-card-meta {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ss-card-meta span {
	padding: 5px 8px;
	border-radius: 8px;
	background: rgba(255,255,255,.055);
}

.ss-card-button {
	align-self: flex-start;
	position: relative;
	z-index: 2;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--vip-gold-gradient);
	color: #00220A;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .04em;
}

/* League app */
.ss-league-main {
	display: flex;
	min-height: 0;
}

.ss-league-app .soccersmarts-league-shell {
	width: min(1180px, 100%);
	height: 100%;
	min-height: 0;
	margin: 0 auto;
	padding: 16px 18px 14px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.ss-league-app .soccersmarts-league-heading {
	flex: 0 0 auto;
	margin: 0 0 10px;
	padding: 0 0 10px;
	align-items: center;
}

.ss-league-app .soccersmarts-league-heading h2 {
	font-size: clamp(22px, 3vw, 34px);
	margin-top: 2px;
}

.ss-league-heading-right {
	display: flex;
	align-items: center;
	gap: 7px;
}

.ss-access-badge {
	padding: 6px 9px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .06em;
	background: rgba(46, 204, 113, .16);
	color: #70e59f;
	border: 1px solid rgba(46, 204, 113, .28);
}

.ss-league-app .soccersmarts-league-package-grid {
	flex: 0 0 auto;
	margin: 0 0 10px;
	gap: 8px;
}

.ss-league-app .soccersmarts-league-stat {
	border-radius: 10px;
	padding: 10px 11px;
}

.ss-league-app .soccersmarts-league-stat span {
	font-size: 9px;
	margin-bottom: 3px;
}

.ss-league-app .soccersmarts-league-stat strong {
	font-size: 14px;
	line-height: 1.2;
}

.ss-league-workspace {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .075);
	border-radius: 14px;
	background: rgba(0, 34, 10, .48);
}

.ss-league-tabbar {
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5px;
	padding: 6px;
	background: rgba(0, 0, 0, .14);
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.ss-league-tabbar:has(.ss-league-tab:only-child) {
	grid-template-columns: 1fr;
}

.ss-league-tab {
	appearance: none;
	border: 0;
	border-radius: 9px;
	padding: 8px 10px;
	background: transparent;
	color: #9eb0a4;
	font: 800 12px/1 var(--vip-font-outfit);
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
}

.ss-league-tab.is-active {
	background: rgba(255, 224, 102, .12);
	color: var(--vip-gold);
	box-shadow: inset 0 0 0 1px rgba(255, 224, 102, .16);
}

.ss-league-panels {
	flex: 1 1 auto;
	min-height: 0;
	position: relative;
	overflow: hidden;
}

.ss-league-panel {
	height: 100%;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 10px 12px 18px;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 224, 102, .4) transparent;
}

.ss-league-panel[hidden] {
	display: none !important;
}

.ss-league-app .soccersmarts-league-deadline-note {
	margin: 0 0 8px;
	padding: 7px 10px;
	font-size: 11px;
	border-radius: 8px;
}

.ss-league-app .soccersmarts-league-predictions,
.ss-league-app .soccersmarts-league-ranking {
	margin: 0;
}

.ss-league-app .soccersmarts-league-ranking h3 {
	margin: 2px 0 10px;
	font-size: 18px;
}

.ss-centered-access-card {
	margin: auto !important;
	width: min(540px, 100%);
	text-align: center;
}

/* Keep Football Pool content compact and readable inside the app viewport. */
.ss-league-app table.matchinfo,
.ss-league-app .matchinfo,
.ss-league-app .fp-ranking-shell,
.ss-league-app table.ranking {
	max-width: 100% !important;
	width: 100% !important;
}

.ss-league-app .buttonblock,
.ss-league-app .submit-predictions,
.ss-league-app p.submit {
	margin-bottom: 8px !important;
}

@media (max-width: 768px) {
	html:has(body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header),
	body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header {
		height: 100% !important;
		min-height: 100% !important;
		overflow: hidden !important;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header #wpadminbar {
		display: none !important;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header {
		padding-top: 0 !important;
	}

	body.soccersmarts-has-mobile-app-footer:not(.soccersmarts-competition-app) {
		padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header .ss-app-shell {
		height: 100vh;
		height: 100dvh;
		min-height: 100svh;
		grid-template-rows: 56px minmax(0, 1fr);
		padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
		height: auto;
		min-height: calc(100svh - 92px);
		grid-template-rows: minmax(0, 1fr);
		padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
		overflow: visible;
	}

	/* Mobile app navigation must stay visible above the browser safe area. */
	.ss-app-footer {
		display: grid !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: calc(58px + env(safe-area-inset-bottom, 0px));
		padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
		box-sizing: border-box;
		z-index: 9000 !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.ss-app-header {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		padding: 6px 10px !important;
	}

	.ss-app-brand img,
	.ss-app-brand-mark {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
		border-radius: 9px;
	}

	.ss-app-brand strong {
		font-size: 12px;
	}

	.ss-app-brand small {
		font-size: 9px;
		max-width: 165px;
	}

	.ss-app-header-note,
	.ss-app-account-name {
		display: none;
	}

	.ss-app-account {
		width: 34px;
		height: 34px;
		padding: 0;
		justify-content: center;
	}

	.ss-app-account-dot {
		width: 10px;
		height: 10px;
	}

	.ss-app-nav-item {
		font-size: 9px;
	}

	.ss-app-nav-item svg {
		width: 20px;
		height: 20px;
	}

	.ss-competitions-main {
		padding: 10px !important;
		overflow: hidden;
	}

	.ss-site-mode-intro {
		margin-bottom: 9px;
		padding: 10px 12px;
		border-radius: 12px;
	}

	.ss-site-mode-intro span {
		font-size: 8px;
		margin-bottom: 2px;
	}

	.ss-site-mode-intro h1 {
		font-size: 20px !important;
	}

	.ss-site-mode-intro p {
		font-size: 10px;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competitions-main {
		overflow: visible;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competition-grid {
		height: auto;
		overflow: visible;
		grid-auto-rows: minmax(170px, auto);
	}

	.ss-competition-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(0, 1fr));
		grid-auto-rows: minmax(0, 1fr);
		gap: 8px;
		height: 100%;
		overflow-y: auto;
	}

	.ss-competition-card {
		min-height: 0;
		padding: 11px;
		border-radius: 13px;
	}

	.ss-card-label,
	.ss-current-badge {
		font-size: 8px;
		padding: 4px 6px;
	}

	.ss-competition-card h2 {
		font-size: clamp(13px, 3.8vw, 16px) !important;
		margin: 7px 0 2px !important;
	}

	.ss-card-price {
		font-size: clamp(18px, 5vw, 24px);
		margin: 3px 0 5px;
	}

	.ss-competition-card p,
	.ss-card-meta {
		font-size: 9px;
		margin-bottom: 6px !important;
	}

	.ss-card-meta {
		gap: 4px;
	}

	.ss-card-meta span {
		padding: 3px 5px;
	}

	.ss-card-button {
		font-size: 8px;
		padding: 6px 8px;
	}

	.ss-league-app .soccersmarts-league-shell {
		padding: 7px 8px 6px;
	}

	.ss-league-app .soccersmarts-league-heading {
		flex-direction: row;
		align-items: center;
		gap: 6px;
		margin-bottom: 6px;
		padding-bottom: 6px;
	}

	.ss-league-app .soccersmarts-league-kicker {
		font-size: 8px;
	}

	.ss-league-app .soccersmarts-league-heading h2 {
		font-size: clamp(16px, 5vw, 21px);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 57vw;
	}

	.ss-league-heading-right {
		margin-left: auto;
		gap: 4px;
	}

	.ss-league-app .soccersmarts-league-id,
	.ss-access-badge {
		font-size: 7px;
		padding: 4px 6px;
	}

	.ss-league-app .soccersmarts-league-package-grid,
	.ss-league-app .soccersmarts-league-package-grid.one {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 4px;
		margin-bottom: 6px;
	}

	.ss-league-app .soccersmarts-league-package-grid.one {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ss-league-app .soccersmarts-league-stat {
		padding: 6px 5px;
		border-radius: 8px;
		min-width: 0;
	}

	.ss-league-app .soccersmarts-league-stat span {
		font-size: 6.5px;
		letter-spacing: .03em;
		white-space: nowrap;
	}

	.ss-league-app .soccersmarts-league-stat strong {
		font-size: 9.5px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ss-league-workspace {
		border-radius: 10px;
	}

	.ss-league-tabbar {
		padding: 4px;
		gap: 4px;
	}

	.ss-league-tab {
		font-size: 9px;
		padding: 6px 8px;
	}

	.ss-league-panel {
		padding: 6px 7px 10px;
	}

	.ss-league-app .soccersmarts-league-deadline-note {
		font-size: 8px;
		padding: 5px 7px;
		margin-bottom: 5px;
	}

	.ss-centered-access-card {
		padding: 15px !important;
		margin: auto !important;
	}

	.ss-centered-access-card h3 {
		font-size: 17px;
	}

	.ss-centered-access-card p {
		font-size: 11px;
	}

	.ss-league-app table.matchinfo td,
	.ss-league-app table.matchinfo th,
	.ss-league-app table.ranking td,
	.ss-league-app table.ranking th {
		font-size: 10px !important;
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}

	.ss-league-app input.prediction {
		min-width: 34px !important;
		max-width: 48px !important;
		padding: 4px !important;
		font-size: 12px !important;
	}
}

@media (max-width: 390px), (max-height: 650px) {
	body.soccersmarts-competition-app.soccersmarts-competition-use-custom-header .ss-app-shell {
		grid-template-rows: 50px minmax(0, 1fr);
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
		grid-template-rows: minmax(0, 1fr);
	}

	.ss-app-brand img,
	.ss-app-brand-mark {
		width: 32px;
		height: 32px;
		flex-basis: 32px;
	}

	.ss-app-nav-item svg {
		width: 18px;
		height: 18px;
	}

	.ss-league-app .soccersmarts-league-heading h2 {
		font-size: 15px;
	}

	.ss-league-app .soccersmarts-league-package-grid {
		margin-bottom: 4px;
	}

	.ss-league-app .soccersmarts-league-stat {
		padding: 4px;
	}

	.ss-league-app .soccersmarts-league-stat strong {
		font-size: 8.5px;
	}

	.ss-league-tab {
		padding: 5px;
	}
}


/* ==========================================================================
   Unified SoccerSmarts Player Dashboard v1.3.4
   ========================================================================== */
.ss-player-dashboard {
	width: min(1180px, calc(100% - 32px));
	margin: 28px auto 90px;
	font-family: var(--vip-font-inter);
	color: #fff;
	box-sizing: border-box;
}

.ss-player-dashboard * { box-sizing: border-box; }

.ss-player-dashboard-hero,
.ss-player-league-card {
	background: linear-gradient(135deg, #003313 0%, #001f0b 100%);
	border: 1px solid rgba(255,224,102,.24);
	border-radius: 20px;
	box-shadow: 0 16px 36px rgba(0,0,0,.18);
}

.ss-player-dashboard-hero {
	padding: 26px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ss-player-profile { display:flex; align-items:center; gap:18px; min-width:0; }
.ss-player-avatar img { width:72px; height:72px; border-radius:50%; border:3px solid var(--vip-gold); object-fit:cover; display:block; }
.ss-player-profile-copy { min-width:0; }
.ss-player-eyebrow { display:block; color:var(--vip-gold); font-size:.74rem; line-height:1.2; letter-spacing:1.5px; font-weight:800; text-transform:uppercase; margin-bottom:7px; }
.ss-player-profile-copy h2,
.ss-player-league-heading h3 { margin:0 !important; color:#fff !important; font-family:var(--vip-font-outfit) !important; font-weight:800 !important; text-transform:none !important; text-align:left !important; text-shadow:none !important; }
.ss-player-profile-copy h2 { font-size:1.8rem !important; }
.ss-player-profile-copy p { margin:5px 0 0; color:#b9c8c0; font-size:.9rem; word-break:break-word; }
.ss-player-hero-actions,
.ss-player-league-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

.ss-player-primary-btn,
.ss-player-outline-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:0 20px;
	border-radius:999px;
	font-weight:800;
	font-size:.82rem;
	text-transform:uppercase;
	text-decoration:none !important;
	letter-spacing:.2px;
	transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ss-player-primary-btn { background:var(--vip-gold-gradient); color:#00220A !important; box-shadow:0 8px 18px rgba(212,175,55,.22); }
.ss-player-outline-btn { border:1px solid #0b6330; color:#fff !important; background:#00260d; }
.ss-player-primary-btn:hover,
.ss-player-outline-btn:hover { transform:translateY(-1px); }

.ss-player-league-card { margin-top:18px; padding:24px 28px 26px; position:relative; overflow:hidden; }
.ss-player-league-card::after { content:""; position:absolute; width:220px; height:220px; border-radius:50%; right:-90px; bottom:-135px; background:rgba(255,224,102,.05); pointer-events:none; }
.ss-player-league-card.is-pro { border-color:rgba(255,224,102,.55); }
.ss-player-league-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; position:relative; z-index:1; }
.ss-player-league-heading h3 { font-size:1.55rem !important; }
.ss-player-status-badge { padding:7px 11px; border-radius:999px; background:#123d17; color:var(--vip-gold); font-weight:800; font-size:.72rem; letter-spacing:.8px; }

.ss-player-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:22px 0; position:relative; z-index:1; }
.ss-player-plan-grid > div { background:#001d0a; border:1px solid #0a4d25; border-radius:14px; padding:15px 16px; min-width:0; }
.ss-player-plan-grid span { display:block; color:#91a99b; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.7px; margin-bottom:6px; }
.ss-player-plan-grid strong { display:block; color:#fff; font-family:var(--vip-font-outfit); font-size:1rem; line-height:1.25; overflow-wrap:anywhere; }

.ss-player-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.ss-player-quick-card { display:flex; align-items:center; gap:12px; min-height:92px; background:#002b10; border:1px solid #07461f; border-radius:16px; padding:16px; color:#fff !important; text-decoration:none !important; box-shadow:0 10px 24px rgba(0,0,0,.12); }
.ss-player-quick-card:hover { border-color:#bda33a; transform:translateY(-1px); }
.ss-player-quick-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:#123d17; font-size:1.15rem; flex:0 0 auto; }
.ss-player-quick-card div { min-width:0; flex:1; }
.ss-player-quick-card strong { display:block; font-family:var(--vip-font-outfit); font-size:.98rem; margin-bottom:3px; }
.ss-player-quick-card small { display:block; color:#9fb1a6; font-size:.75rem; line-height:1.35; }
.ss-player-arrow { color:var(--vip-gold); font-size:1.7rem; line-height:1; }

.ss-player-dashboard-guest { min-height:45vh; display:grid; place-items:center; }
.ss-player-guest-card { width:min(520px,100%); text-align:center; background:#002b10; border:1px solid #0a4d25; border-radius:20px; padding:34px 26px; }
.ss-player-guest-card h2 { color:#fff !important; margin:0 0 10px !important; }
.ss-player-guest-card p { color:#b8c6be; margin:0 0 20px; }

@media (max-width: 900px) {
	.ss-player-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ss-player-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
	.ss-player-dashboard { width:100%; margin:12px auto calc(88px + env(safe-area-inset-bottom)); padding:0 4px; }
	.ss-player-dashboard-hero { padding:18px 16px; border-radius:16px; align-items:flex-start; }
	.ss-player-profile { gap:12px; }
	.ss-player-avatar img { width:52px; height:52px; border-width:2px; }
	.ss-player-profile-copy h2 { font-size:1.28rem !important; }
	.ss-player-profile-copy p { font-size:.76rem; }
	.ss-player-hero-actions { display:none; }
	.ss-player-league-card { margin-top:12px; padding:18px 15px 16px; border-radius:16px; }
	.ss-player-league-heading h3 { font-size:1.2rem !important; }
	.ss-player-status-badge { font-size:.64rem; padding:6px 9px; }
	.ss-player-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:15px 0; }
	.ss-player-plan-grid > div { padding:11px 12px; border-radius:11px; }
	.ss-player-plan-grid span { font-size:.63rem; margin-bottom:4px; }
	.ss-player-plan-grid strong { font-size:.84rem; }
	.ss-player-league-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
	.ss-player-primary-btn,
	.ss-player-outline-btn { min-height:40px; padding:0 10px; font-size:.7rem; }
	.ss-player-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
	.ss-player-quick-card { min-height:74px; padding:11px; gap:8px; border-radius:13px; }
	.ss-player-quick-icon { width:32px; height:32px; border-radius:10px; font-size:.95rem; }
	.ss-player-quick-card strong { font-size:.82rem; }
	.ss-player-quick-card small { display:none; }
	.ss-player-arrow { font-size:1.35rem; }
}


/* ==========================================================================
   Desktop competition sizing and managed-page footer v1.3.5
   Mobile rules above remain unchanged.
   ========================================================================== */
@media (min-width: 769px) {
	body.soccersmarts-competition-app .ss-site-mode-intro h1 {
		font-size: 28px !important;
	}

	body.soccersmarts-competition-app .ss-site-mode-intro p {
		font-size: 12px !important;
	}

	body.soccersmarts-competition-app .ss-competition-card h2 {
		font-size: 24px !important;
		line-height: 1.08 !important;
	}

	body.soccersmarts-competition-app .ss-card-price {
		font-size: 30px !important;
	}

	body.soccersmarts-competition-app .ss-competition-card p,
	body.soccersmarts-competition-app .ss-card-meta {
		font-size: 11px !important;
	}

	body.soccersmarts-competition-app .ss-card-label,
	body.soccersmarts-competition-app .ss-current-badge {
		font-size: 9px !important;
	}

	body.soccersmarts-competition-app .ss-card-button {
		font-size: 10px !important;
		padding: 7px 11px !important;
	}

	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competition-grid {
		grid-auto-rows: minmax(190px, auto);
	}

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

	body.soccersmarts-has-desktop-plugin-footer .soccersmarts-custom-footer {
		display: block !important;
		margin-top: 0 !important;
		padding: 30px 20px 24px !important;
	}

	body.soccersmarts-has-desktop-plugin-footer .soccersmarts-footer-socials {
		margin-bottom: 16px !important;
	}

	body.soccersmarts-has-desktop-plugin-footer .footer-icon-btn {
		width: 42px !important;
		height: 42px !important;
	}
}

@media (max-width: 768px) {
	/* Keep the current mobile layout exactly as the app layout: bottom navigation only. */
	body.soccersmarts-vip-managed-page .soccersmarts-custom-footer {
		display: none !important;
	}
}

/* ==========================================================================
   Banger Blitz readability fix v1.3.6
   Scoped only to the SoccerSmarts Banger Blitz wrapper. Other managed pages
   and the existing desktop footer are intentionally unchanged.
   ========================================================================== */
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus {
	background: #ffffff !important;
	color: #12351d !important;
	border: 1px solid rgba(18, 53, 29, 0.14) !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
	box-sizing: border-box !important;
}

.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus > p,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus p.question,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus p.answer,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus label,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .answer,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .answer span,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .answer strong {
	color: #12351d !important;
}

.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus > p:first-child,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus p.question {
	font-weight: 800 !important;
}

.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .bonus-card-footer,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .closing-time,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .points,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .bonus-card-footer span {
	color: #69736d !important;
}

.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus input[type="text"],
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus textarea,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus select {
	color: #12351d !important;
	background: #ffffff !important;
	border-color: #cbd5ce !important;
}

.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus input::placeholder,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus textarea::placeholder {
	color: #7b857f !important;
	opacity: 1 !important;
}

@media (min-width: 769px) {
	.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus {
		margin-bottom: 16px !important;
		padding: 13px 16px !important;
	}

	.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus > p:first-child,
	.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus p.question {
		font-size: 15px !important;
		line-height: 1.35 !important;
		margin: 0 0 10px !important;
	}

	.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus p.answer {
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus .bonus-card-footer {
		font-size: 13px !important;
	}
}

/* ==========================================================
   Competition home league ranking slider v1.4.1
   Replaces the old Competition intro without changing cards.
   ========================================================== */
.ss-home-ranking-slider {
	position: relative;
	width: min(1100px, 100%);
	margin: 0 auto 18px;
	padding: 12px 14px 14px;
	border: 1px solid rgba(255, 224, 102, .18);
	border-radius: 17px;
	background: linear-gradient(145deg, rgba(0, 49, 17, .98), rgba(0, 35, 12, .98));
	box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
	overflow: hidden;
}

.ss-home-ranking-slider::after {
	content: '';
	position: absolute;
	right: -62px;
	bottom: -96px;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	background: rgba(255, 224, 102, .035);
	pointer-events: none;
}

.ss-home-ranking-head {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 30px;
}

.ss-home-ranking-live {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--vip-gold-gradient);
	color: #05250e;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	box-shadow: 0 7px 18px rgba(209, 166, 34, .18);
}

.ss-home-ranking-live i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ed3152;
	box-shadow: 0 0 0 4px rgba(237, 49, 82, .12);
}

.ss-home-ranking-tabs {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
}

.ss-home-ranking-tabs::-webkit-scrollbar { display: none; }

.ss-home-ranking-tab {
	appearance: none;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 999px;
	background: rgba(255,255,255,.045);
	color: #b7c9bd;
	padding: 5px 9px;
	font: 800 9px/1.1 var(--vip-font-outfit);
	letter-spacing: .035em;
	white-space: nowrap;
	cursor: pointer;
}

.ss-home-ranking-tab:hover,
.ss-home-ranking-tab.is-active {
	border-color: rgba(255, 224, 102, .38);
	background: rgba(255, 224, 102, .12);
	color: var(--vip-gold);
}

.ss-home-ranking-viewport {
	position: relative;
	z-index: 2;
	overflow: hidden;
	margin-top: 8px;
}

.ss-home-ranking-track {
	display: flex;
	width: 100%;
	transform: translate3d(0,0,0);
	transition: transform .46s cubic-bezier(.22,.8,.24,1);
	will-change: transform;
}

.ss-home-ranking-slide {
	flex: 0 0 100%;
	min-width: 100%;
	display: grid;
	grid-template-columns: minmax(175px, .72fr) minmax(0, 2.1fr);
	align-items: center;
	gap: 14px;
	min-height: 104px;
	padding: 3px 36px 1px 4px;
}

.ss-home-ranking-league {
	min-width: 0;
	padding-right: 8px;
}

.ss-home-ranking-league > span {
	display: block;
	margin-bottom: 3px;
	color: var(--vip-gold);
	font: 900 9px/1.2 var(--vip-font-outfit);
	letter-spacing: .13em;
}

.ss-home-ranking-league h2 {
	margin: 0 0 7px !important;
	color: #fff !important;
	font: 800 18px/1.05 var(--vip-font-outfit) !important;
	text-transform: uppercase;
}

.ss-home-ranking-league a {
	display: inline-flex;
	align-items: center;
	color: #b7c9bd !important;
	font-size: 10px;
	font-weight: 700;
	text-decoration: none !important;
}

.ss-home-ranking-league a:hover { color: var(--vip-gold) !important; }

.ss-home-ranking-podium {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	min-width: 0;
}

.ss-home-rank-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 76px;
	padding: 10px 11px;
	border: 1px solid rgba(255,255,255,.075);
	border-radius: 13px;
	background: rgba(0, 24, 8, .62);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.ss-home-rank-card.ss-home-rank-1 {
	border-color: rgba(255, 224, 102, .32);
	background: linear-gradient(145deg, rgba(11, 69, 30, .9), rgba(0, 29, 10, .84));
}

.ss-home-rank-card.is-empty { opacity: .66; }

.ss-home-rank-medal {
	display: inline-grid;
	place-items: center;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	border: 2px solid rgba(255,255,255,.12);
	color: #d6dfd8;
	font: 900 14px/1 var(--vip-font-outfit);
}

.ss-home-rank-1 .ss-home-rank-medal {
	background: var(--vip-gold-gradient);
	border-color: #ffe56c;
	color: #063010;
	box-shadow: 0 5px 14px rgba(209,166,34,.2);
}

.ss-home-rank-2 .ss-home-rank-medal {
	background: linear-gradient(145deg, #eef3f0, #a6b5ad);
	color: #15331f;
}

.ss-home-rank-3 .ss-home-rank-medal {
	background: linear-gradient(145deg, #e6aa69, #986237);
	color: #fff;
}

.ss-home-rank-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ss-home-rank-copy small {
	color: var(--vip-gold);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .1em;
}

.ss-home-rank-copy strong {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #fff;
	font: 800 12px/1.2 var(--vip-font-outfit);
}

.ss-home-rank-copy em {
	margin-top: 2px;
	color: #aebfb4;
	font-size: 9px;
	font-style: normal;
}

.ss-home-ranking-arrow {
	position: absolute;
	z-index: 4;
	top: 64%;
	transform: translateY(-50%);
	width: 27px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: rgba(0, 20, 7, .55);
	color: var(--vip-gold);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.ss-home-ranking-prev { left: 7px; }
.ss-home-ranking-next { right: 7px; }
.ss-home-ranking-arrow:hover { background: rgba(255, 224, 102, .11); }

@media (max-width: 767px) {
	.ss-home-ranking-slider {
		margin-bottom: 12px;
		padding: 9px 9px 10px;
		border-radius: 14px;
	}

	.ss-home-ranking-head {
		align-items: flex-start;
		gap: 8px;
	}

	.ss-home-ranking-live {
		padding: 5px 8px;
		font-size: 8px;
		letter-spacing: .055em;
	}

	.ss-home-ranking-live i {
		width: 6px;
		height: 6px;
		box-shadow: 0 0 0 3px rgba(237,49,82,.12);
	}

	.ss-home-ranking-tabs {
		justify-content: flex-start;
		flex: 1 1 auto;
		padding-bottom: 2px;
	}

	.ss-home-ranking-tab {
		padding: 5px 7px;
		font-size: 8px;
	}

	.ss-home-ranking-viewport { margin-top: 7px; }

	.ss-home-ranking-slide {
		grid-template-columns: 1fr;
		gap: 7px;
		min-height: 142px;
		padding: 1px 3px 2px;
	}

	.ss-home-ranking-league {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: end;
		gap: 2px 8px;
		padding: 0 2px;
	}

	.ss-home-ranking-league > span {
		grid-column: 1 / -1;
		margin: 0;
		font-size: 7px;
	}

	.ss-home-ranking-league h2 {
		margin: 0 !important;
		font-size: 13px !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ss-home-ranking-league a {
		font-size: 8px;
		white-space: nowrap;
	}

	.ss-home-ranking-podium { gap: 5px; }

	.ss-home-rank-card {
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		min-height: 82px;
		padding: 6px 4px;
		text-align: center;
		border-radius: 10px;
	}

	.ss-home-rank-medal {
		flex-basis: 27px;
		width: 27px;
		height: 27px;
		font-size: 11px;
	}

	.ss-home-rank-copy { width: 100%; }
	.ss-home-rank-copy small { font-size: 6px; }
	.ss-home-rank-copy strong { font-size: 9px; }
	.ss-home-rank-copy em { font-size: 7px; }

	.ss-home-ranking-arrow {
		display: none;
	}
}


/* ==========================================================================
   SoccerSmarts glass visual skin v1.4.2
   Keeps the existing layouts and spacing intact while adding the darker
   stadium-style gradient, optional background image, and glass surfaces.
   ========================================================================== */
:root {
	--soccersmarts-page-background-image: none;
	--ss-glass-surface: rgba(4, 43, 31, .66);
	--ss-glass-surface-strong: rgba(1, 34, 20, .80);
	--ss-glass-surface-soft: rgba(11, 56, 42, .46);
	--ss-glass-border: rgba(255, 255, 255, .10);
	--ss-glass-gold-border: rgba(255, 224, 102, .24);
	--ss-glass-shadow: 0 18px 45px rgba(0, 0, 0, .20);
}

body.soccersmarts-vip-managed-page,
body.soccersmarts-competition-app {
	background-color: #071b16 !important;
	background-image:
		radial-gradient(circle at 14% 5%, rgba(54, 104, 83, .24) 0, transparent 30%),
		radial-gradient(circle at 88% 12%, rgba(219, 181, 57, .08) 0, transparent 25%),
		linear-gradient(180deg, rgba(10, 35, 29, .86) 0%, rgba(3, 29, 20, .93) 54%, rgba(0, 24, 14, .97) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, auto, cover !important;
	background-position: center top, center top, center top, center center !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

/* Competition app shell must allow the background atmosphere to remain visible. */
body.soccersmarts-competition-app .ss-app-shell {
	background:
		radial-gradient(circle at 88% 6%, rgba(255, 224, 102, .07), transparent 28%),
		linear-gradient(180deg, rgba(4, 43, 31, .60) 0%, rgba(0, 29, 16, .82) 100%) !important;
}

/* When the site header is used, keep the theme/header intact and only skin the plugin area. */
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell,
body.soccersmarts-vip-managed-page #content,
body.soccersmarts-vip-managed-page .site-content,
body.soccersmarts-vip-managed-page .site-main,
body.soccersmarts-vip-managed-page #main,
body.soccersmarts-vip-managed-page article,
body.soccersmarts-vip-managed-page .entry-content,
body.soccersmarts-vip-managed-page .page-content {
	background-color: transparent !important;
}

/* Glass treatment. Layout dimensions are intentionally not changed here. */
body.soccersmarts-vip-managed-page .ss-home-ranking-slider,
body.soccersmarts-competition-app .ss-home-ranking-slider,
body.soccersmarts-vip-managed-page .ss-competition-card,
body.soccersmarts-competition-app .ss-competition-card,
body.soccersmarts-vip-managed-page .ss-player-dashboard-hero,
body.soccersmarts-vip-managed-page .ss-player-league-card,
body.soccersmarts-vip-managed-page .ss-player-plan-grid > div,
body.soccersmarts-vip-managed-page .ss-player-quick-card,
body.soccersmarts-vip-managed-page .ss-player-guest-card,
body.soccersmarts-vip-managed-page .soccersmarts-league-stat,
body.soccersmarts-competition-app .soccersmarts-league-stat,
body.soccersmarts-vip-managed-page .ss-league-workspace,
body.soccersmarts-competition-app .ss-league-workspace,
body.soccersmarts-vip-managed-page .soccersmarts-league-access-card,
body.soccersmarts-competition-app .soccersmarts-league-access-card,
body.soccersmarts-vip-managed-page .vip-package-card,
body.soccersmarts-vip-managed-page .vip-checkout-card,
body.soccersmarts-vip-managed-page .vip-success-card,
body.soccersmarts-vip-managed-page .vip-ticket-card,
body.soccersmarts-vip-managed-page .vip-ticket-card-modern,
body.soccersmarts-vip-managed-page .vip-feature-card,
body.soccersmarts-vip-managed-page .vip-sub-details-card,
body.soccersmarts-vip-managed-page .vip-login-required-card,
body.soccersmarts-vip-managed-page .vip-no-tickets-card,
body.soccersmarts-vip-managed-page .vip-error-card {
	background: linear-gradient(145deg, rgba(12, 59, 44, .64), rgba(1, 37, 21, .74)) !important;
	border-color: var(--ss-glass-border) !important;
	box-shadow: var(--ss-glass-shadow) !important;
	-webkit-backdrop-filter: blur(14px) saturate(112%);
	backdrop-filter: blur(14px) saturate(112%);
}

body.soccersmarts-vip-managed-page .ss-home-ranking-slider,
body.soccersmarts-competition-app .ss-home-ranking-slider,
body.soccersmarts-vip-managed-page .ss-player-league-card.is-pro,
body.soccersmarts-vip-managed-page .ss-competition-card.is-current,
body.soccersmarts-competition-app .ss-competition-card.is-current {
	border-color: var(--ss-glass-gold-border) !important;
}

body.soccersmarts-vip-managed-page .ss-home-rank-card,
body.soccersmarts-competition-app .ss-home-rank-card,
body.soccersmarts-vip-managed-page .ss-card-meta span,
body.soccersmarts-competition-app .ss-card-meta span,
body.soccersmarts-vip-managed-page .ss-app-account,
body.soccersmarts-competition-app .ss-app-account,
body.soccersmarts-vip-managed-page .ss-league-tabbar,
body.soccersmarts-competition-app .ss-league-tabbar {
	background-color: rgba(255, 255, 255, .045) !important;
	border-color: rgba(255, 255, 255, .08) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

body.soccersmarts-vip-managed-page .ss-home-rank-card.ss-home-rank-1,
body.soccersmarts-competition-app .ss-home-rank-card.ss-home-rank-1 {
	background: linear-gradient(145deg, rgba(31, 91, 62, .64), rgba(5, 48, 28, .70)) !important;
	border-color: rgba(255, 224, 102, .25) !important;
}

/* Plugin header/footer only. Existing theme headers remain untouched when Header Mode is disabled. */
body.soccersmarts-vip-managed-page .soccersmarts-custom-header,
body.soccersmarts-vip-managed-page .soccersmarts-custom-footer,
body.soccersmarts-competition-app .ss-app-header,
body.soccersmarts-competition-app .ss-app-footer {
	background: rgba(3, 34, 25, .84) !important;
	-webkit-backdrop-filter: blur(16px) saturate(120%);
	backdrop-filter: blur(16px) saturate(120%);
}

/* Keep Football Pool's deliberately white match/question cards readable. */
body.soccersmarts-vip-managed-page .soccersmarts-pool-predictions-wrap .match-card,
body.soccersmarts-vip-managed-page .soccersmarts-pool-matches-wrap .match-card,
body.soccersmarts-vip-managed-page .soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

@media (max-width: 767px) {
	body.soccersmarts-vip-managed-page,
	body.soccersmarts-competition-app {
		background-attachment: scroll !important;
		background-position: center top !important;
	}

	/* Preserve the existing mobile layout and sizing; only the surface changes. */
	body.soccersmarts-vip-managed-page .ss-home-ranking-slider,
	body.soccersmarts-competition-app .ss-home-ranking-slider,
	body.soccersmarts-vip-managed-page .ss-competition-card,
	body.soccersmarts-competition-app .ss-competition-card,
	body.soccersmarts-vip-managed-page .ss-player-dashboard-hero,
	body.soccersmarts-vip-managed-page .ss-player-league-card {
		-webkit-backdrop-filter: blur(10px) saturate(108%);
		backdrop-filter: blur(10px) saturate(108%);
	}
}


/* ==========================================================================
   Background image visibility fix v1.4.3
   The v1.4.2 dark overlays were intentionally strong but could hide the
   uploaded stadium image almost completely. Keep the same design/layout,
   while allowing the selected image to remain clearly visible.
   ========================================================================== */
body.soccersmarts-vip-managed-page,
body.soccersmarts-competition-app {
	background-color: #061b14 !important;
	background-image:
		radial-gradient(circle at 14% 5%, rgba(52, 105, 82, .16) 0, transparent 32%),
		radial-gradient(circle at 88% 12%, rgba(219, 181, 57, .06) 0, transparent 28%),
		linear-gradient(180deg, rgba(3, 28, 21, .38) 0%, rgba(1, 27, 18, .58) 55%, rgba(0, 22, 13, .72) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, auto, cover !important;
	background-position: center top, center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

/* Astra and other themes can paint an opaque wrapper above the body image. */
body.soccersmarts-vip-managed-page #page,
body.soccersmarts-vip-managed-page .site,
body.soccersmarts-vip-managed-page .site-content,
body.soccersmarts-vip-managed-page .ast-container,
body.soccersmarts-vip-managed-page .content-area,
body.soccersmarts-vip-managed-page .site-main,
body.soccersmarts-vip-managed-page #primary,
body.soccersmarts-vip-managed-page #content,
body.soccersmarts-vip-managed-page #main,
body.soccersmarts-vip-managed-page article,
body.soccersmarts-vip-managed-page .entry-content,
body.soccersmarts-vip-managed-page .page-content {
	background-color: transparent !important;
	background-image: none !important;
}

/* The competition shell itself fills the page, so put the selected image
   directly on it too. This guarantees visibility even when a theme wrapper
   would otherwise cover the body background. */
body.soccersmarts-competition-app .ss-app-shell {
	background-image:
		radial-gradient(circle at 88% 6%, rgba(255, 224, 102, .05), transparent 30%),
		linear-gradient(180deg, rgba(2, 37, 27, .36) 0%, rgba(0, 28, 16, .62) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, cover !important;
	background-position: center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

/* Keep the cards glassy enough for the stadium/photo to read behind them. */
body.soccersmarts-vip-managed-page .ss-competition-card,
body.soccersmarts-competition-app .ss-competition-card,
body.soccersmarts-vip-managed-page .ss-home-ranking-slider,
body.soccersmarts-competition-app .ss-home-ranking-slider,
body.soccersmarts-vip-managed-page .ss-player-league-card,
body.soccersmarts-vip-managed-page .ss-player-dashboard-hero,
body.soccersmarts-vip-managed-page .ss-player-plan-grid > div,
body.soccersmarts-vip-managed-page .ss-player-quick-card {
	background: linear-gradient(145deg, rgba(6, 48, 35, .58), rgba(0, 31, 18, .68)) !important;
}

@media (max-width: 767px) {
	body.soccersmarts-vip-managed-page,
	body.soccersmarts-competition-app,
	body.soccersmarts-competition-app .ss-app-shell {
		background-attachment: scroll !important;
		background-position: center top !important;
	}
}


/* ==========================================================================
   Small desktop breathing space v1.4.4
   Keeps all card sizes and mobile layout unchanged. Adds only a subtle gap
   below the existing site header and above the SoccerSmarts desktop footer.
   ========================================================================== */
@media (min-width: 769px) {
	/* Competition/home and league app pages: small separation from site header. */
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
		margin-top: 8px !important;
	}

	/* Other SoccerSmarts managed pages: keep their content just off the header. */
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .entry-content,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .page-content {
		padding-top: 8px !important;
		box-sizing: border-box !important;
	}

	/* Very small gap so the final cards/content never touch the desktop footer. */
	body.soccersmarts-has-desktop-plugin-footer .soccersmarts-custom-footer {
		margin-top: 8px !important;
	}
}

/* ==========================================================================
   Mobile full-width balance v1.4.5
   Removes stacked theme/container gutters that made Ranking and Auth pages
   look squeezed. Keeps the current visual design, card layout and navigation.
   ========================================================================== */
@media (max-width: 768px) {
	/* Use the whole phone width for SoccerSmarts managed pages. Theme wrappers
	   must not add their own second/third layer of horizontal padding. */
	body.soccersmarts-vip-managed-page #page,
	body.soccersmarts-vip-managed-page .site,
	body.soccersmarts-vip-managed-page #content,
	body.soccersmarts-vip-managed-page .site-content,
	body.soccersmarts-vip-managed-page .ast-container,
	body.soccersmarts-vip-managed-page .content-area,
	body.soccersmarts-vip-managed-page #primary,
	body.soccersmarts-vip-managed-page main,
	body.soccersmarts-vip-managed-page .site-main,
	body.soccersmarts-vip-managed-page #main,
	body.soccersmarts-vip-managed-page article,
	body.soccersmarts-vip-managed-page .entry-content,
	body.soccersmarts-vip-managed-page .page-content {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Ranking, predictions, matches and Banger Blitz get one consistent small
	   page gutter instead of several nested gutters. */
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .soccersmarts-pool-ranking-wrap,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .soccersmarts-pool-predictions-wrap,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .soccersmarts-pool-matches-wrap,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .soccersmarts-pool-banger-blitz-wrap,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .ss-player-dashboard {
		width: calc(100% - 16px) !important;
		max-width: none !important;
		margin-left: 8px !important;
		margin-right: 8px !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-vip-managed-page .fp-ranking-shell,
	body.soccersmarts-vip-managed-page .fp-ranking-filter-form,
	body.soccersmarts-vip-managed-page .fp-ranking-filter-bar,
	body.soccersmarts-vip-managed-page .fp-ranking-content-wrap,
	body.soccersmarts-vip-managed-page .fp-ranking-panel,
	body.soccersmarts-vip-managed-page .fp-ranking-table-wrap,
	body.soccersmarts-vip-managed-page .predictions-section,
	body.soccersmarts-vip-managed-page .matchinfo,
	body.soccersmarts-vip-managed-page .fp-banger-blitz {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Keep the ranking filter full-width and balanced with the content below. */
	body.soccersmarts-vip-managed-page .fp-ranking-filter-bar {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	/* Football Pool sign-in/register pages: remove the old 550px centered shell
	   on phones and let the form use the available width with a small gutter. */
	body:has(.fp-auth-shell) #page,
	body:has(.fp-auth-shell) #content,
	body:has(.fp-auth-shell) .site-content,
	body:has(.fp-auth-shell) .ast-container,
	body:has(.fp-auth-shell) .content-area,
	body:has(.fp-auth-shell) #primary,
	body:has(.fp-auth-shell) main,
	body:has(.fp-auth-shell) .site-main,
	body:has(.fp-auth-shell) #main,
	body:has(.fp-auth-shell) article,
	body:has(.fp-auth-shell) .entry-content,
	body:has(.fp-auth-shell) .page-content {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	body:has(.fp-auth-shell) .fp-auth-shell {
		width: calc(100% - 20px) !important;
		max-width: none !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	body:has(.fp-auth-shell) .fp-auth-card {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Home/Competitions: ranking slider and league grid now share exactly the
	   same width and side edges on mobile. */
	body.soccersmarts-competition-app .ss-competitions-main {
		width: 100% !important;
		max-width: none !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider,
	body.soccersmarts-competition-app .ss-competition-grid {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-competition-card {
		width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
}


/* ==========================================================================
   Mobile ranking empty-state + current league nav v1.4.6
   Keeps normal ranking rows unchanged. The Football Pool empty row uses a
   colspan cell, so it must not inherit the mobile grid/rank-column treatment.
   ========================================================================== */
@media (max-width: 768px) {
	body:has(.fp-ranking-shell) .ranking-table tbody tr.fp-ranking-empty-row,
	body:has(.fp-ranking-shell) .pool-ranking tbody tr.fp-ranking-empty-row,
	body:has(.fp-ranking-shell) .fp-ranking-table tbody tr.fp-ranking-empty-row {
		display: block !important;
		width: 100% !important;
		min-height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body:has(.fp-ranking-shell) .ranking-table tbody tr.fp-ranking-empty-row td[colspan],
	body:has(.fp-ranking-shell) .pool-ranking tbody tr.fp-ranking-empty-row td[colspan],
	body:has(.fp-ranking-shell) .fp-ranking-table tbody tr.fp-ranking-empty-row td[colspan] {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		grid-area: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 82px !important;
		padding: 16px 18px !important;
		margin: 0 !important;
		background: #ffffff !important;
		border: 1px solid #dbe5db !important;
		border-radius: 18px !important;
		box-shadow: 0 7px 18px rgba(0, 0, 0, .08) !important;
		font-size: 0.95rem !important;
		font-weight: 800 !important;
		line-height: 1.35 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
box-sizing: border-box !important;
	}

	body:has(.fp-ranking-shell) .ranking-table .fp-ranking-empty,
	body:has(.fp-ranking-shell) .pool-ranking .fp-ranking-empty,
	body:has(.fp-ranking-shell) .fp-ranking-table .fp-ranking-empty {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: inherit !important;
		font-weight: inherit !important;
		line-height: inherit !important;
		letter-spacing: 0 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: normal !important;
}
}


/* ==========================================================================
   Mobile safe side spacing v1.4.7
   Gives Ranking and Checkout a consistent phone gutter so cards/forms do not
   sit against the physical screen edge. Background and bottom nav stay full
   bleed. Desktop and the existing Competitions card layout are unchanged.
   ========================================================================== */
@media (max-width: 768px) {
	/* Checkout: keep the stadium background full width, but inset the purchase
	   card and all of its fields from the left/right screen edges. */
	body.soccersmarts-vip-managed-page .vip-checkout-container {
		width: calc(100% - 28px) !important;
		max-width: none !important;
		margin-left: 14px !important;
		margin-right: 14px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-vip-managed-page .vip-checkout-card {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Ranking: one clear gutter for filter, hero, empty state, search and table. */
	body.soccersmarts-vip-managed-page:not(.soccersmarts-competition-app) .soccersmarts-pool-ranking-wrap {
		width: calc(100% - 28px) !important;
		max-width: none !important;
		margin-left: 14px !important;
		margin-right: 14px !important;
		box-sizing: border-box !important;
	}

	body:has(.fp-ranking-shell) .fp-ranking-shell,
	body:has(.fp-ranking-shell) .fp-ranking-filter-form,
	body:has(.fp-ranking-shell) .fp-ranking-filter-bar,
	body:has(.fp-ranking-shell) .fp-ranking-content-wrap,
	body:has(.fp-ranking-shell) .fp-ranking-hero,
	body:has(.fp-ranking-shell) .fp-ranking-panel,
	body:has(.fp-ranking-shell) .fp-ranking-table-wrap,
	body:has(.fp-ranking-shell) .fp-ranking-search-wrap {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	body:has(.fp-ranking-shell) .fp-ranking-empty,
	body:has(.fp-ranking-shell) .fp-ranking-empty-hero {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	body:has(.fp-ranking-shell) .fp-ranking-search-wrap input.fp-ranking-search {
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	/* The empty ranking table row should line up with the hero empty card. */
	body:has(.fp-ranking-shell) .ranking-table tbody tr.fp-ranking-empty-row td[colspan],
	body:has(.fp-ranking-shell) .pool-ranking tbody tr.fp-ranking-empty-row td[colspan],
	body:has(.fp-ranking-shell) .fp-ranking-table tbody tr.fp-ranking-empty-row td[colspan] {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Keep fixed mobile navigation full width; only page content gets gutters. */
	body.soccersmarts-vip-managed-page .ss-mobile-bottom-nav,
	body.soccersmarts-competition-app .ss-mobile-bottom-nav {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		margin: 0 !important;
	}
}

/* ==========================================================================
   Notifications + mobile guest navigation v1.5.0
   ========================================================================== */
.ss-app-footer {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.ss-footer-bell-wrap,
.ss-app-notification,
.ss-player-notification-btn {
	position: relative;
}

.ss-footer-bell-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ss-footer-notification-dot {
	position: absolute;
	top: -2px;
	right: -4px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #ff4d4f;
	box-shadow: 0 0 0 2px #001c09;
}

.ss-app-header {
	grid-template-columns: minmax(0, auto) minmax(120px, 1fr) auto auto !important;
}

.ss-app-notification {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffe066 !important;
	background: rgba(255,255,255,.055);
	border: 1px solid rgba(255,224,102,.16);
	text-decoration: none !important;
}

.ss-app-notification svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
}

.ss-notification-badge {
	position: absolute;
	top: -5px;
	right: -5px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f04747;
	color: #fff;
	font: 800 9px/1 var(--vip-font-inter);
	box-shadow: 0 0 0 2px #00220a;
}

.ss-player-profile {
	width: 100%;
}

.ss-player-profile-tools {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
}

.ss-player-notification-btn {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--vip-gold) !important;
	background: rgba(255,224,102,.08);
	border: 1px solid rgba(255,224,102,.24);
	text-decoration: none !important;
}

.ss-player-notification-btn svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.ss-player-notification-btn span {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f04747;
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	box-shadow: 0 0 0 2px rgba(0,34,10,.9);
}

.ss-player-logout-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.13);
	color: #fff !important;
	background: rgba(0,0,0,.12);
	font: 800 11px/1 var(--vip-font-outfit);
	text-transform: uppercase;
	letter-spacing: .04em;
	text-decoration: none !important;
}

.ss-notifications-shell {
	width: min(1100px, calc(100% - 28px));
	margin: 18px auto 88px;
	font-family: var(--vip-font-inter);
	color: #fff;
	box-sizing: border-box;
}

.ss-notifications-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px;
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(6,48,35,.68), rgba(0,31,18,.76));
	border: 1px solid rgba(255,224,102,.16);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	margin-bottom: 14px;
}

.ss-notification-eyebrow {
	display: block;
	color: var(--vip-gold);
	font: 900 11px/1.2 var(--vip-font-outfit);
	letter-spacing: .15em;
	margin-bottom: 7px;
}

.ss-notifications-heading h2,
.ss-notification-login-card h2 {
	margin: 0 !important;
	color: #fff !important;
	font: 800 30px/1.1 var(--vip-font-outfit) !important;
}

.ss-notifications-heading p,
.ss-notification-login-card p {
	margin: 7px 0 0;
	color: #b8c9c0;
	font-size: 13px;
}

.ss-notification-count-chip {
	flex: 0 0 auto;
	padding: 7px 10px;
	border-radius: 999px;
	background: rgba(255,224,102,.11);
	border: 1px solid rgba(255,224,102,.2);
	color: var(--vip-gold);
	font-size: 11px;
	font-weight: 800;
}

.ss-notification-list {
	display: grid;
	gap: 10px;
}

.ss-notification-card {
	display: grid;
	grid-template-columns: 42px minmax(0,1fr) auto auto;
	align-items: center;
	gap: 12px;
	padding: 15px 16px;
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(6,48,35,.7), rgba(0,31,18,.78));
	border: 1px solid rgba(255,255,255,.08);
	color: #fff !important;
	text-decoration: none !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.ss-notification-card.is-unread {
	border-color: rgba(255,224,102,.28);
	box-shadow: inset 3px 0 0 rgba(255,224,102,.78);
}

.ss-notification-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,224,102,.09);
	font-size: 20px;
}

.ss-notification-copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ss-notification-copy strong {
	color: #fff;
	font: 800 14px/1.2 var(--vip-font-outfit);
}

.ss-notification-copy small,
.ss-notification-copy time {
	color: #aebfb6;
	font-size: 11px;
	line-height: 1.35;
}

.ss-notification-copy time {
	color: #7f978a;
	font-size: 10px;
}

.ss-notification-unread-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--vip-gold);
	box-shadow: 0 0 0 4px rgba(255,224,102,.08);
}

.ss-notification-arrow {
	color: var(--vip-gold);
	font-size: 26px;
	line-height: 1;
}

.ss-notification-empty,
.ss-notification-login-card {
	padding: 36px 24px;
	border-radius: 20px;
	text-align: center;
	background: linear-gradient(145deg, rgba(6,48,35,.68), rgba(0,31,18,.76));
	border: 1px solid rgba(255,224,102,.16);
	color: #c0cec7;
}

.ss-notification-login-card {
	width: min(560px,100%);
	margin: 60px auto;
}

.ss-notification-login-card .ss-player-primary-btn {
	margin-top: 20px;
}

@media (max-width: 768px) {
	/* The full social/privacy footer is desktop-only. This also fixes guest
	   Football Pool pages where the desktop footer could appear before the
	   JavaScript-generated sign-in card. */
	.soccersmarts-custom-footer {
		display: none !important;
	}

	/* Managed auth/guest pages now receive the same fixed mobile app nav. */
	body.soccersmarts-vip-managed-page {
		padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
	}

	body.soccersmarts-vip-managed-page:not(.soccersmarts-has-custom-header) .site-header,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-has-custom-header) #masthead,
	body.soccersmarts-vip-managed-page:not(.soccersmarts-has-custom-header) .elementor-location-header {
		visibility: visible !important;
		opacity: 1 !important;
	}

	.ss-app-header {
		grid-template-columns: minmax(0, 1fr) auto auto !important;
	}

	.ss-app-header-note {
		display: none !important;
	}

	.ss-app-notification,
	.ss-app-account {
		width: 34px !important;
		height: 34px !important;
	}

	.ss-app-footer {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}

	.ss-app-nav-item {
		font-size: 8px !important;
		min-width: 0;
	}

	.ss-app-nav-item svg {
		width: 19px !important;
		height: 19px !important;
	}

	.ss-player-dashboard-hero {
		padding: 16px 14px !important;
	}

	.ss-player-profile {
		align-items: center !important;
		gap: 10px !important;
	}

	.ss-player-profile-copy {
		flex: 1 1 auto;
	}

	.ss-player-profile-tools {
		gap: 6px;
	}

	.ss-player-notification-btn {
		width: 36px;
		height: 36px;
		border-radius: 10px;
	}

	.ss-player-logout-btn {
		min-height: 36px;
		padding: 0 9px;
		font-size: 9px;
	}

	.ss-player-hero-actions {
		margin-top: 12px;
	}

	.ss-notifications-shell {
		width: calc(100% - 24px);
		margin: 12px 12px calc(80px + env(safe-area-inset-bottom, 0px));
	}

	.ss-notifications-heading {
		padding: 17px 16px;
		border-radius: 16px;
		gap: 10px;
	}

	.ss-notifications-heading h2,
	.ss-notification-login-card h2 {
		font-size: 23px !important;
	}

	.ss-notifications-heading p {
		font-size: 11px;
	}

	.ss-notification-count-chip {
		font-size: 9px;
		padding: 6px 8px;
	}

	.ss-notification-card {
		grid-template-columns: 38px minmax(0,1fr) auto;
		gap: 10px;
		padding: 13px 12px;
		border-radius: 14px;
	}

	.ss-notification-icon {
		width: 38px;
		height: 38px;
		border-radius: 10px;
		font-size: 18px;
	}

	.ss-notification-copy strong {
		font-size: 13px;
	}

	.ss-notification-copy small {
		font-size: 10px;
	}

	.ss-notification-unread-dot {
		display: none;
	}

	.ss-notification-login-card {
		margin: 30px auto;
		padding: 28px 18px;
	}
}

/* Mobile fallback header shown only when a legacy page template omitted the
   normal site header while Header Mode is set to use the existing website. */
.ss-mobile-fallback-header {
	display: none;
}

@media (max-width: 768px) {
	.ss-mobile-fallback-header.is-visible {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-height: 72px;
		padding: 10px 16px;
		box-sizing: border-box;
		background: rgba(0, 57, 20, .96);
		border-bottom: 1px solid rgba(255,224,102,.24);
		position: relative;
		z-index: 100;
	}

	.ss-mobile-fallback-brand {
		display: inline-flex;
		align-items: center;
		text-decoration: none !important;
		min-width: 0;
	}

	.ss-mobile-fallback-brand img {
		display: block;
		width: auto;
		max-width: 185px;
		max-height: 50px;
		object-fit: contain;
	}

	.ss-mobile-fallback-brand strong {
		color: #ffe066;
		font: 900 16px/1 var(--vip-font-outfit);
	}

	.ss-mobile-fallback-actions {
		display: flex;
		align-items: center;
		gap: 8px;
		flex: 0 0 auto;
	}

	.ss-mobile-fallback-bell {
		width: 38px;
		height: 38px;
		border-radius: 11px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		color: #ffe066 !important;
		border: 1px solid rgba(255,224,102,.2);
		background: rgba(255,255,255,.045);
	}

	.ss-mobile-fallback-bell svg {
		width: 19px;
		height: 19px;
		fill: currentColor;
	}

	.ss-mobile-fallback-bell span {
		position: absolute;
		top: -5px;
		right: -5px;
		min-width: 16px;
		height: 16px;
		padding: 0 3px;
		border-radius: 999px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #ef4444;
		color: #fff;
		font: 900 8px/1 var(--vip-font-inter);
	}

	.ss-mobile-fallback-account {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 38px;
		padding: 0 14px;
		border-radius: 6px;
		background: linear-gradient(135deg,#ffe066,#d4af37);
		color: #073017 !important;
		text-decoration: none !important;
		font: 800 12px/1 var(--vip-font-outfit);
		white-space: nowrap;
	}
}

/* ========================================================================== 
   Notifications background visibility v1.5.1
   Keep the notification design unchanged while ensuring the configured
   SoccerSmarts page background image is visible instead of theme white.
   ========================================================================== */
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) {
	background-color: #061b14 !important;
	background-image:
		radial-gradient(circle at 14% 5%, rgba(52, 105, 82, .16) 0, transparent 32%),
		radial-gradient(circle at 88% 12%, rgba(219, 181, 57, .06) 0, transparent 28%),
		linear-gradient(180deg, rgba(3, 28, 21, .38) 0%, rgba(1, 27, 18, .58) 55%, rgba(0, 22, 13, .72) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, auto, cover !important;
	background-position: center top, center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

/* Some theme/page-builder wrappers can still paint white over the body image.
   Make only the Notifications page content wrappers transparent. */
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) #page,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) #content,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .ast-container,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .content-area,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) #primary,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-main,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) #main,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) article,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .entry-content,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .page-content,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor-section-wrap,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor-section,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor-container,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor-column-wrap,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor-widget-wrap,
body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) .site-content .elementor-widget-container {
	background-color: transparent !important;
	background-image: none !important;
}

@media (max-width: 768px) {
	body.soccersmarts-vip-managed-page:has(.ss-notifications-shell) {
		background-attachment: scroll !important;
		background-position: center top !important;
	}
}

/* ========================================================================== 
   Homepage package + matches layout v1.5.3
   Desktop: compact 2x2 package grid beside the configurable matches shortcode.
   Mobile: preserve the current card design/size but turn packages into a slow,
   draggable, infinite horizontal carousel. Matches continue below the carousel.
   ========================================================================== */
.ss-home-competition-split {
	width: min(1100px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
}

.ss-home-packages-column,
.ss-home-matches-column {
	min-width: 0;
}

.ss-home-package-grid {
	width: 100%;
	height: clamp(350px, 28vw, 400px);
	margin: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	grid-auto-rows: minmax(0, 1fr);
	gap: 10px;
}

.ss-home-package-grid .ss-competition-card {
	min-height: 0;
	padding: 13px 14px;
	border-radius: 16px;
}

.ss-home-package-grid .ss-competition-card h2 {
	margin: 8px 0 2px !important;
	font-size: clamp(15px, 1.25vw, 19px) !important;
	line-height: 1.08 !important;
}

.ss-home-package-grid .ss-card-price {
	margin: 4px 0 6px;
	font-size: clamp(21px, 2vw, 28px);
}

.ss-home-package-grid .ss-competition-card p,
.ss-home-package-grid .ss-card-meta {
	margin-bottom: 7px !important;
	font-size: 10px;
	line-height: 1.3;
}

.ss-home-package-grid .ss-card-meta {
	gap: 5px;
}

.ss-home-package-grid .ss-card-meta span {
	padding: 4px 6px;
}

.ss-home-package-grid .ss-card-button {
	padding: 7px 10px;
	font-size: 9px;
}

.ss-home-matches-column {
	/* The shortcode slot must not paint a second green panel or force arbitrary
	   shortcode output into a fixed-height box. Keep the existing two-column
	   homepage layout, but let the configured shortcode size itself naturally. */
	height: auto;
	min-height: clamp(350px, 28vw, 400px);
	border: 0;
	border-radius: 17px;
	background: transparent !important;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	overflow: visible;
	align-self: start;
}

.ss-home-matches-shortcode {
	width: 100% !important;
	height: auto;
	min-height: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	background: transparent !important;
	overflow-x: auto;
	overflow-y: visible;
	scrollbar-width: thin;
}

.ss-home-matches-shortcode > * {
	max-width: 100% !important;
	box-sizing: border-box;
}

/* Tables from Football Pool and other plugins should remain readable instead
   of crushing every cell to fit the half-width desktop column. */
.ss-home-matches-shortcode table {
	width: 100% !important;
	max-width: none !important;
	min-width: 620px;
}

.ss-home-matches-shortcode table th,
.ss-home-matches-shortcode table td {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.ss-home-competition-split {
		display: block;
		width: 100%;
		margin: 0;
	}

	.ss-home-packages-column {
		width: 100%;
		overflow: hidden;
	}

	/* Keep the same half-width card proportions users already see on mobile. */
	.ss-home-package-grid,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid {
		display: flex !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		gap: 8px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		grid-auto-rows: auto !important;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		padding: 0 !important;
		touch-action: pan-x pan-y;
	}

	.ss-home-package-grid::-webkit-scrollbar {
		display: none;
	}

	.ss-home-package-grid .ss-competition-card {
		flex: 0 0 calc((100% - 8px) / 2);
		width: calc((100% - 8px) / 2);
		min-width: calc((100% - 8px) / 2);
		min-height: 170px;
		padding: 11px;
		border-radius: 13px;
		scroll-snap-align: start;
		scroll-snap-stop: normal;
	}

	/* Restore the exact existing mobile typography after desktop compact rules. */
	.ss-home-package-grid .ss-card-label,
	.ss-home-package-grid .ss-current-badge {
		font-size: 8px;
		padding: 4px 6px;
	}

	.ss-home-package-grid .ss-competition-card h2 {
		font-size: clamp(13px, 3.8vw, 16px) !important;
		margin: 7px 0 2px !important;
	}

	.ss-home-package-grid .ss-card-price {
		font-size: clamp(18px, 5vw, 24px);
		margin: 3px 0 5px;
	}

	.ss-home-package-grid .ss-competition-card p,
	.ss-home-package-grid .ss-card-meta {
		font-size: 9px;
		margin-bottom: 6px !important;
	}

	.ss-home-package-grid .ss-card-meta {
		gap: 4px;
	}

	.ss-home-package-grid .ss-card-meta span {
		padding: 3px 5px;
	}

	.ss-home-package-grid .ss-card-button {
		font-size: 8px;
		padding: 6px 8px;
	}

	.ss-home-matches-column {
		width: 100%;
		height: auto;
		min-height: 0;
		margin-top: 12px;
		border-radius: 14px;
		background: transparent !important;
		overflow: visible;
	}

	.ss-home-matches-shortcode {
		height: auto;
		max-height: none;
		padding: 0 !important;
		background: transparent !important;
		overflow-x: auto;
		overflow-y: visible;
	}

	.ss-home-matches-shortcode table {
		min-width: 560px;
	}
}


/* ==========================================================================
   Football Pool 2.13.x compatibility polish v1.5.4.5
   Improves only the native Ranking, User, Tournament and Notifications pages
   after the Football Pool update. Home/Competitions/package layouts are not
   touched by this block.
   ========================================================================== */

/* Use the configured SoccerSmarts stadium/background on the updated native
   Football Pool pages as well. Route body classes avoid dependence on upstream
   Football Pool markup names that can change between releases. */
body.soccersmarts-fp-native-page,
body.soccersmarts-notifications-page {
	background-color: #061b14 !important;
	background-image:
		radial-gradient(circle at 14% 5%, rgba(52,105,82,.16) 0, transparent 32%),
		radial-gradient(circle at 88% 12%, rgba(219,181,57,.06) 0, transparent 28%),
		linear-gradient(180deg, rgba(3,28,21,.38) 0%, rgba(1,27,18,.58) 55%, rgba(0,22,13,.72) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, auto, cover !important;
	background-position: center top, center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

body.soccersmarts-fp-native-page #page,
body.soccersmarts-fp-native-page .site,
body.soccersmarts-fp-native-page #content,
body.soccersmarts-fp-native-page .site-content,
body.soccersmarts-fp-native-page .ast-container,
body.soccersmarts-fp-native-page .content-area,
body.soccersmarts-fp-native-page #primary,
body.soccersmarts-fp-native-page .site-main,
body.soccersmarts-fp-native-page #main,
body.soccersmarts-fp-native-page article,
body.soccersmarts-fp-native-page .entry-content,
body.soccersmarts-fp-native-page .page-content,
body.soccersmarts-notifications-page #page,
body.soccersmarts-notifications-page .site,
body.soccersmarts-notifications-page #content,
body.soccersmarts-notifications-page .site-content,
body.soccersmarts-notifications-page .ast-container,
body.soccersmarts-notifications-page .content-area,
body.soccersmarts-notifications-page #primary,
body.soccersmarts-notifications-page .site-main,
body.soccersmarts-notifications-page #main,
body.soccersmarts-notifications-page article,
body.soccersmarts-notifications-page .entry-content,
body.soccersmarts-notifications-page .page-content {
	background: transparent !important;
	box-shadow: none !important;
}

/* ---------------- Football Pool ranking page ---------------- */
body.soccersmarts-fp-ranking-page .soccersmarts-pool-ranking-wrap {
	width: min(1160px, calc(100% - 40px)) !important;
	max-width: none !important;
	margin: 22px auto 78px !important;
	padding: 0 !important;
}

body.soccersmarts-fp-ranking-page .fp-ranking-shell,
body.soccersmarts-fp-ranking-page .fp-ranking-panel {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.soccersmarts-fp-ranking-page .ranking-select-form {
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 15px 16px !important;
	border: 1px solid rgba(255,224,102,.16) !important;
	border-radius: 16px !important;
	background: linear-gradient(145deg, rgba(9,54,39,.72), rgba(1,35,21,.78)) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
	-webkit-backdrop-filter: blur(12px) saturate(112%);
	backdrop-filter: blur(12px) saturate(112%);
	box-sizing: border-box !important;
}

body.soccersmarts-fp-ranking-page .ranking-select-block {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 10px 12px !important;
	align-items: end !important;
	width: 100% !important;
}

body.soccersmarts-fp-ranking-page .ranking-select-block br {
	display: none !important;
}

body.soccersmarts-fp-ranking-page .league-select,
body.soccersmarts-fp-ranking-page .ranking-select {
font: 800 11px/1.35 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	min-width: 0 !important;
}

body.soccersmarts-fp-ranking-page .league-select select,
body.soccersmarts-fp-ranking-page .ranking-select select,
body.soccersmarts-fp-ranking-page .ranking-select-form select {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 46px !important;
	margin-top: 6px !important;
	padding: 9px 42px 9px 13px !important;
	border: 1px solid rgba(255,255,255,.17) !important;
	border-radius: 11px !important;
	background-color: rgba(255,255,255,.96) !important;
font: 600 14px/1.2 var(--vip-font-inter) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-ranking-page .ranking-select-form input[type="submit"] {
	min-width: 100px !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 10px 20px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: var(--vip-gold-gradient) !important;
font: 900 12px/1 var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
	box-shadow: 0 7px 16px rgba(166,124,30,.18) !important;
	cursor: pointer !important;
}

body.soccersmarts-fp-ranking-page .fp-ranking-panel > p {
	margin: 0 0 12px !important;
	padding: 11px 14px !important;
	border-radius: 12px !important;
	background: rgba(3,43,28,.62) !important;
	border: 1px solid rgba(255,255,255,.07) !important;
font-size: 13px !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking.ranking-page,
body.soccersmarts-fp-ranking-page table.pool-ranking,
body.soccersmarts-fp-ranking-page table.standen {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	table-layout: auto !important;
	background: rgba(255,255,255,.97) !important;
	border: 1px solid rgba(255,255,255,.7) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.17) !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking th,
body.soccersmarts-fp-ranking-page table.standen th {
	padding: 11px 12px !important;
	background: #edf3ee !important;
	border: 0 !important;
	border-bottom: 1px solid #dfe8e1 !important;
font: 900 11px/1.2 var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
	white-space: nowrap !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking td,
body.soccersmarts-fp-ranking-page table.standen td {
	padding: 11px 12px !important;
	border: 0 !important;
	border-bottom: 1px solid #e5ece7 !important;
	background: rgba(255,255,255,.98) !important;
font-size: 13px !important;
	vertical-align: middle !important;
}

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

body.soccersmarts-fp-ranking-page table.pool-ranking tr.currentuser td,
body.soccersmarts-fp-ranking-page table.standen tr.currentuser td {
	background: linear-gradient(90deg, rgba(255,239,180,.98), rgba(255,252,239,.98)) !important;
	font-weight: 800 !important;
}

/* The old SoccerSmarts rule intentionally made some /user/ links into gold
   dashboard banners. On the ranking table those are ordinary player links. */
body.soccersmarts-vip-managed-page.soccersmarts-fp-ranking-page .soccersmarts-pool-ranking-wrap table a[href*="/user/"] {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
font: 800 13px/1.3 var(--vip-font-outfit) !important;
	text-transform: none !important;
	text-decoration: none !important;
	transform: none !important;
}

body.soccersmarts-vip-managed-page.soccersmarts-fp-ranking-page .soccersmarts-pool-ranking-wrap table a[href*="/user/"]:hover {
text-decoration: underline !important;
	transform: none !important;
	box-shadow: none !important;
}

/* ---------------- Native Football Pool user + tournament match pages ---------------- */
body.soccersmarts-fp-user-page .entry-content,
body.soccersmarts-fp-user-page .page-content,
body.soccersmarts-fp-tournament-page .entry-content,
body.soccersmarts-fp-tournament-page .page-content {
	width: min(1180px, calc(100% - 40px)) !important;
	max-width: none !important;
	margin: 22px auto 82px !important;
	padding: 0 !important;
overflow-x: visible !important;
}

body.soccersmarts-fp-user-page .entry-content > p,
body.soccersmarts-fp-tournament-page .entry-content > p {
font-size: 13px !important;
}

body.soccersmarts-fp-user-page span.username {
font-weight: 900 !important;
}

body.soccersmarts-fp-user-page table.matchinfo,
body.soccersmarts-fp-tournament-page table.matchinfo {
	display: table !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 auto 26px !important;
	padding: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 9px !important;
	table-layout: auto !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

body.soccersmarts-fp-user-page table.matchinfo tbody,
body.soccersmarts-fp-tournament-page table.matchinfo tbody {
	display: table-row-group !important;
}

body.soccersmarts-fp-user-page table.matchinfo tr,
body.soccersmarts-fp-tournament-page table.matchinfo tr {
	display: table-row !important;
	height: auto !important;
	min-height: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body.soccersmarts-fp-user-page table.matchinfo tr.match td,
body.soccersmarts-fp-tournament-page table.matchinfo tr.match td {
	display: table-cell !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 13px 8px !important;
	border-top: 1px solid #e1e9e3 !important;
	border-bottom: 1px solid #e1e9e3 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	background: rgba(255,255,255,.97) !important;
vertical-align: middle !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-user-page table.matchinfo tr.match td:first-child,
body.soccersmarts-fp-tournament-page table.matchinfo tr.match td:first-child {
	border-left: 1px solid #e1e9e3 !important;
	border-radius: 12px 0 0 12px !important;
	padding-left: 14px !important;
}

body.soccersmarts-fp-user-page table.matchinfo tr.match td:last-child,
body.soccersmarts-fp-tournament-page table.matchinfo tr.match td:last-child {
	border-right: 1px solid #e1e9e3 !important;
	border-radius: 0 12px 12px 0 !important;
	padding-right: 14px !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.matchtype,
body.soccersmarts-fp-tournament-page table.matchinfo td.matchtype {
	display: table-cell !important;
	padding: 11px 15px !important;
	border: 1px solid rgba(255,255,255,.35) !important;
	border-radius: 10px !important;
	background: var(--vip-gold-gradient) !important;
font: 900 13px/1.2 var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: .03em !important;
	box-shadow: 0 7px 18px rgba(0,0,0,.12) !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.matchdate,
body.soccersmarts-fp-tournament-page table.matchinfo td.matchdate {
	display: table-cell !important;
	padding: 7px 11px !important;
	border: 0 !important;
	background: transparent !important;
font: 800 11px/1.2 var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.time,
body.soccersmarts-fp-tournament-page table.matchinfo td.time {
	width: 88px !important;
	white-space: nowrap !important;
	font-weight: 700 !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.home,
body.soccersmarts-fp-user-page table.matchinfo td.away,
body.soccersmarts-fp-tournament-page table.matchinfo td.home,
body.soccersmarts-fp-tournament-page table.matchinfo td.away {
	min-width: 120px !important;
	font: 800 13px/1.25 var(--vip-font-outfit) !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.home a,
body.soccersmarts-fp-user-page table.matchinfo td.away a,
body.soccersmarts-fp-tournament-page table.matchinfo td.home a,
body.soccersmarts-fp-tournament-page table.matchinfo td.away a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
font: inherit !important;
	text-transform: none !important;
	text-decoration: none !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.home a:hover,
body.soccersmarts-fp-user-page table.matchinfo td.away a:hover,
body.soccersmarts-fp-tournament-page table.matchinfo td.home a:hover,
body.soccersmarts-fp-tournament-page table.matchinfo td.away a:hover {
text-decoration: underline !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.flag,
body.soccersmarts-fp-tournament-page table.matchinfo td.flag {
	width: 36px !important;
	text-align: center !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.flag img,
body.soccersmarts-fp-tournament-page table.matchinfo td.flag img {
	width: auto !important;
	max-width: 28px !important;
	height: auto !important;
	max-height: 22px !important;
	object-fit: contain !important;
	border-radius: 2px !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.score,
body.soccersmarts-fp-tournament-page table.matchinfo td.score {
	width: 54px !important;
	text-align: center !important;
	font-weight: 900 !important;
}

body.soccersmarts-fp-user-page table.matchinfo input.prediction,
body.soccersmarts-fp-tournament-page table.matchinfo input.prediction {
	width: 42px !important;
	height: 36px !important;
	min-height: 36px !important;
	padding: 0 4px !important;
	margin: 0 auto !important;
	border: 1px solid #c9d6cd !important;
	border-radius: 7px !important;
	background: #f8fbf9 !important;
font: 900 14px/1 var(--vip-font-inter) !important;
	text-align: center !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-user-page table.matchinfo td.numeric,
body.soccersmarts-fp-tournament-page table.matchinfo td.numeric {
	font-weight: 800 !important;
white-space: nowrap !important;
}

body.soccersmarts-fp-user-page table.matchinfo [class^="fp-icon-"],
body.soccersmarts-fp-user-page table.matchinfo [class*=" fp-icon-"],
body.soccersmarts-fp-tournament-page table.matchinfo [class^="fp-icon-"],
body.soccersmarts-fp-tournament-page table.matchinfo [class*=" fp-icon-"] {
font-size: 18px !important;
}

/* ---------------- Notifications page ---------------- */
body.soccersmarts-notifications-page .ss-notifications-shell {
	width: min(1100px, calc(100% - 36px)) !important;
	margin: 22px auto 96px !important;
}

body.soccersmarts-notifications-page .ss-notifications-heading,
body.soccersmarts-notifications-page .ss-notification-empty,
body.soccersmarts-notifications-page .ss-notification-login-card,
body.soccersmarts-notifications-page .ss-notification-card {
	background: linear-gradient(145deg, rgba(12,59,44,.66), rgba(1,37,21,.74)) !important;
	border-color: rgba(255,224,102,.15) !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;
	-webkit-backdrop-filter: blur(14px) saturate(112%) !important;
	backdrop-filter: blur(14px) saturate(112%) !important;
}

@media (max-width: 768px) {
	body.soccersmarts-fp-native-page,
	body.soccersmarts-notifications-page {
		background-attachment: scroll !important;
	}

	body.soccersmarts-fp-ranking-page .soccersmarts-pool-ranking-wrap {
		width: calc(100% - 24px) !important;
		margin: 12px 12px calc(82px + env(safe-area-inset-bottom, 0px)) !important;
	}

	body.soccersmarts-fp-ranking-page .ranking-select-form {
		padding: 12px !important;
		border-radius: 14px !important;
	}

	body.soccersmarts-fp-ranking-page .ranking-select-block {
		grid-template-columns: 1fr !important;
		gap: 9px !important;
	}

	body.soccersmarts-fp-ranking-page .ranking-select-form input[type="submit"] {
		width: 100% !important;
	}

	body.soccersmarts-fp-user-page .entry-content,
	body.soccersmarts-fp-user-page .page-content,
	body.soccersmarts-fp-tournament-page .entry-content,
	body.soccersmarts-fp-tournament-page .page-content {
		width: calc(100% - 24px) !important;
		margin: 12px 12px calc(82px + env(safe-area-inset-bottom, 0px)) !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	/* Keep every Football Pool column readable instead of letting the updated
	   plugin squeeze labels/scores into unreadable vertical text. */
	body.soccersmarts-fp-user-page table.matchinfo,
	body.soccersmarts-fp-tournament-page table.matchinfo {
		min-width: 720px !important;
		margin-bottom: 16px !important;
		border-spacing: 0 7px !important;
	}

	body.soccersmarts-fp-user-page table.matchinfo tr.match td,
	body.soccersmarts-fp-tournament-page table.matchinfo tr.match td {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		font-size: 11px !important;
	}

	body.soccersmarts-notifications-page .ss-notifications-shell {
		width: calc(100% - 24px) !important;
		margin: 12px 12px calc(82px + env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* ==========================================================================
   Football Pool tournament resource pages polish v1.5.4.6
   Tournament matches, team pages and stadium pages only.
   ========================================================================== */

/* Child Football Pool pages under /tournament/ should inherit the same
   stadium image and transparent page shell as the main tournament screen. */
body.soccersmarts-fp-tournament-tree-page {
	background-color: #061b14 !important;
	background-image:
		radial-gradient(circle at 14% 5%, rgba(52,105,82,.15) 0, transparent 32%),
		linear-gradient(180deg, rgba(3,28,21,.34) 0%, rgba(1,27,18,.52) 55%, rgba(0,22,13,.66) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, cover !important;
	background-position: center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

body.soccersmarts-fp-tournament-tree-page #page,
body.soccersmarts-fp-tournament-tree-page .site,
body.soccersmarts-fp-tournament-tree-page #content,
body.soccersmarts-fp-tournament-tree-page .site-content,
body.soccersmarts-fp-tournament-tree-page .ast-container,
body.soccersmarts-fp-tournament-tree-page .content-area,
body.soccersmarts-fp-tournament-tree-page #primary,
body.soccersmarts-fp-tournament-tree-page .site-main,
body.soccersmarts-fp-tournament-tree-page #main,
body.soccersmarts-fp-tournament-tree-page article,
body.soccersmarts-fp-tournament-tree-page .entry-content,
body.soccersmarts-fp-tournament-tree-page .page-content {
	background: transparent !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-tournament-tree-page .entry-content,
body.soccersmarts-fp-tournament-tree-page .page-content {
	width: min(1180px, calc(100% - 40px)) !important;
	max-width: none !important;
	margin: 20px auto 88px !important;
	padding: 0 !important;
}

/* Main tournament match list: force the updated Football Pool markup back to
   a compact table instead of the oversized two-column cards seen after the
   plugin update. */
body.soccersmarts-fp-tournament-tree-page table.matchinfo {
	display: table !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 8px !important;
	table-layout: fixed !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo tbody {
	display: table-row-group !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	background: transparent !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo tr,
body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.match,
body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.open,
body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.closed {
	display: table-row !important;
	position: static !important;
	float: none !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.match td {
	display: table-cell !important;
	position: static !important;
	float: none !important;
	width: auto !important;
	height: 54px !important;
	min-height: 0 !important;
	max-height: 54px !important;
	margin: 0 !important;
	padding: 9px 8px !important;
	border-top: 1px solid rgba(255,255,255,.11) !important;
	border-bottom: 1px solid rgba(255,255,255,.11) !important;
	border-left: 0 !important;
	border-right: 0 !important;
	background: linear-gradient(145deg, rgba(12,59,44,.86), rgba(2,37,23,.91)) !important;
vertical-align: middle !important;
	font-size: 12px !important;
	line-height: 1.25 !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
	overflow: visible !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.match td:first-child {
	border-left: 1px solid rgba(255,255,255,.11) !important;
	border-radius: 12px 0 0 12px !important;
	padding-left: 14px !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.match td:last-child {
	border-right: 1px solid rgba(255,255,255,.11) !important;
	border-radius: 0 12px 12px 0 !important;
	padding-right: 14px !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.matchtype {
	display: table-cell !important;
	height: auto !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(255,255,255,.25) !important;
	border-radius: 10px !important;
	background: var(--vip-gold-gradient) !important;
font: 900 13px/1.2 var(--vip-font-outfit) !important;
	letter-spacing: .03em !important;
	text-transform: uppercase !important;
	box-shadow: 0 7px 18px rgba(0,0,0,.12) !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.matchdate {
	display: table-cell !important;
	height: auto !important;
	padding: 5px 12px 2px !important;
	border: 0 !important;
	background: transparent !important;
font: 800 11px/1.25 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.time {
	width: 92px !important;
	white-space: nowrap !important;
	text-align: left !important;
font-weight: 700 !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.home,
body.soccersmarts-fp-tournament-tree-page table.matchinfo td.away {
	width: 30% !important;
	min-width: 0 !important;
	font: 800 13px/1.25 var(--vip-font-outfit) !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.home {
	text-align: right !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.away {
	text-align: left !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.home a,
body.soccersmarts-fp-tournament-tree-page table.matchinfo td.away a,
body.soccersmarts-fp-tournament-tree-page table.matchinfo td.score a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
font: inherit !important;
	text-decoration: none !important;
	text-transform: none !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.home a:hover,
body.soccersmarts-fp-tournament-tree-page table.matchinfo td.away a:hover,
body.soccersmarts-fp-tournament-tree-page table.matchinfo td.score a:hover {
text-decoration: none !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.flag {
	width: 36px !important;
	text-align: center !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.flag img {
	display: inline-block !important;
	width: auto !important;
	max-width: 28px !important;
	height: auto !important;
	max-height: 22px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 2px !important;
}

body.soccersmarts-fp-tournament-tree-page table.matchinfo td.score {
	width: 82px !important;
	white-space: nowrap !important;
	text-align: center !important;
font-weight: 900 !important;
}

/* ---------------- Team pages ---------------- */
body.soccersmarts-fp-teams-page .entry-content > h3,
body.soccersmarts-fp-teams-page .page-content > h3 {
	margin: 0 0 14px !important;
	padding: 16px 18px !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-radius: 16px !important;
	background: linear-gradient(145deg, rgba(12,59,44,.72), rgba(2,37,23,.82)) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.15) !important;
	-webkit-backdrop-filter: blur(12px) saturate(112%);
	backdrop-filter: blur(12px) saturate(112%);
}

body.soccersmarts-fp-teams-page .entry-content > h3 a,
body.soccersmarts-fp-teams-page .page-content > h3 a {
font: 900 24px/1.15 var(--vip-font-outfit) !important;
	text-decoration: none !important;
}

body.soccersmarts-fp-teams-page p.team.bio,
body.soccersmarts-fp-stadiums-page p.stadium.bio {
	margin: 0 0 14px !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 14px !important;
	background: rgba(4,45,29,.66) !important;
font-size: 13px !important;
	line-height: 1.6 !important;
}

body.soccersmarts-fp-teams-page table.teaminfo {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 20px !important;
	padding: 4px 16px !important;
	border: 1px solid rgba(255,224,102,.14) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 16px !important;
	background: linear-gradient(145deg, rgba(12,59,44,.68), rgba(2,37,23,.76)) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.14) !important;
	-webkit-backdrop-filter: blur(12px) saturate(112%);
	backdrop-filter: blur(12px) saturate(112%);
	overflow: hidden !important;
}

body.soccersmarts-fp-teams-page table.teaminfo tr {
	background: transparent !important;
}

body.soccersmarts-fp-teams-page table.teaminfo th,
body.soccersmarts-fp-teams-page table.teaminfo td {
	padding: 12px 6px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.07) !important;
	background: transparent !important;
	vertical-align: top !important;
}

body.soccersmarts-fp-teams-page table.teaminfo tr:last-child th,
body.soccersmarts-fp-teams-page table.teaminfo tr:last-child td {
	border-bottom: 0 !important;
}

body.soccersmarts-fp-teams-page table.teaminfo th {
	width: 130px !important;
font: 800 11px/1.35 var(--vip-font-outfit) !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
}

body.soccersmarts-fp-teams-page table.teaminfo td {
font-size: 13px !important;
}

body.soccersmarts-fp-teams-page table.teaminfo td a,
body.soccersmarts-fp-teams-page table.teaminfo ol.stadium-list a {
font-weight: 700 !important;
	text-decoration: none !important;
}

body.soccersmarts-fp-teams-page table.teaminfo td a:hover,
body.soccersmarts-fp-teams-page table.teaminfo ol.stadium-list a:hover {
}

body.soccersmarts-fp-teams-page table.teaminfo ol.stadium-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.soccersmarts-fp-teams-page table.teaminfo ol.stadium-list li {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.soccersmarts-fp-teams-page table.teaminfo ol.stadium-list li a {
	display: inline-flex !important;
	padding: 7px 10px !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	border-radius: 999px !important;
	background: rgba(0,25,15,.30) !important;
	font-size: 12px !important;
}

body.soccersmarts-fp-teams-page table.teaminfo img.team-photo,
body.soccersmarts-fp-teams-page table.teaminfo img.team-photo.thumb {
	max-width: 240px !important;
	height: auto !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
}

body.soccersmarts-fp-teams-page h4,
body.soccersmarts-fp-stadiums-page h4 {
	margin: 18px 0 10px !important;
font: 900 15px/1.2 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
}

/* Team and stadium index lists become glass cards rather than raw blue links. */
body.soccersmarts-fp-team-list-page ol.team-list,
body.soccersmarts-fp-stadium-list-page ol.stadium-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li,
body.soccersmarts-fp-stadium-list-page ol.stadium-list > li {
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255,224,102,.12) !important;
	border-radius: 15px !important;
	background: linear-gradient(145deg, rgba(12,59,44,.70), rgba(2,37,23,.80)) !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
	-webkit-backdrop-filter: blur(12px) saturate(112%);
	backdrop-filter: blur(12px) saturate(112%);
	overflow: hidden !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li > a,
body.soccersmarts-fp-stadium-list-page ol.stadium-list > li > a {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 72px !important;
	padding: 14px 16px !important;
font: 800 15px/1.25 var(--vip-font-outfit) !important;
	text-decoration: none !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li > a:hover,
body.soccersmarts-fp-stadium-list-page ol.stadium-list > li > a:hover {
background: rgba(255,224,102,.04) !important;
}

body.soccersmarts-fp-team-list-page ol.team-list img.team-photo.thumb,
body.soccersmarts-fp-stadium-list-page ol.stadium-list img.stadium-photo.thumb {
	flex: 0 0 76px !important;
	width: 76px !important;
	height: 52px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	object-fit: cover !important;
}

/* ---------------- Stadium detail page ---------------- */
body.soccersmarts-fp-stadium-detail-page .entry-content > h1,
body.soccersmarts-fp-stadium-detail-page .page-content > h1 {
	margin: 0 0 14px !important;
	padding: 16px 18px !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-radius: 16px !important;
	background: linear-gradient(145deg, rgba(12,59,44,.72), rgba(2,37,23,.82)) !important;
font: 900 24px/1.15 var(--vip-font-outfit) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.15) !important;
}

body.soccersmarts-fp-stadium-detail-page .entry-content > p > img.stadium-photo,
body.soccersmarts-fp-stadium-detail-page .page-content > p > img.stadium-photo {
	display: block !important;
	width: min(100%, 620px) !important;
	height: auto !important;
	margin: 0 0 18px !important;
	border-radius: 16px !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.18) !important;
}

/* Back links on team/stadium details. */
body.soccersmarts-fp-team-detail-page .entry-content > p:last-child > a,
body.soccersmarts-fp-stadium-detail-page .entry-content > p:last-child > a,
body.soccersmarts-fp-team-detail-page .page-content > p:last-child > a,
body.soccersmarts-fp-stadium-detail-page .page-content > p:last-child > a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 40px !important;
	padding: 9px 16px !important;
	border-radius: 999px !important;
	background: var(--vip-gold-gradient) !important;
font: 900 11px/1 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

@media (max-width: 900px) {
	body.soccersmarts-fp-team-list-page ol.team-list,
	body.soccersmarts-fp-stadium-list-page ol.stadium-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.soccersmarts-fp-tournament-tree-page {
		background-attachment: scroll !important;
	}

	body.soccersmarts-fp-tournament-tree-page .entry-content,
	body.soccersmarts-fp-tournament-tree-page .page-content {
		width: calc(100% - 24px) !important;
		margin: 12px 12px calc(84px + env(safe-area-inset-bottom, 0px)) !important;
		overflow: visible !important;
	}

	/* Native Football Pool tables have six columns. Keep one horizontal row
	   and allow a contained swipe rather than creating giant stacked cards. */
	body.soccersmarts-fp-tournament-tree-page table.matchinfo {
		display: table !important;
		min-width: 620px !important;
		margin-bottom: 16px !important;
		border-spacing: 0 7px !important;
	}

	body.soccersmarts-fp-tournament-tree-page .entry-content:has(> table.matchinfo),
	body.soccersmarts-fp-tournament-tree-page .page-content:has(> table.matchinfo) {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	body.soccersmarts-fp-tournament-tree-page table.matchinfo tr.match td {
		height: 48px !important;
		max-height: 48px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
		font-size: 11px !important;
	}

	body.soccersmarts-fp-team-list-page ol.team-list,
	body.soccersmarts-fp-stadium-list-page ol.stadium-list {
		grid-template-columns: 1fr !important;
		gap: 9px !important;
	}

	body.soccersmarts-fp-team-list-page ol.team-list > li > a,
	body.soccersmarts-fp-stadium-list-page ol.stadium-list > li > a {
		min-height: 60px !important;
		padding: 12px 14px !important;
		font-size: 14px !important;
	}

	body.soccersmarts-fp-teams-page table.teaminfo {
		padding: 2px 12px !important;
	}

	body.soccersmarts-fp-teams-page table.teaminfo th {
		width: 96px !important;
	}

	body.soccersmarts-fp-teams-page .entry-content > h3 a,
	body.soccersmarts-fp-teams-page .page-content > h3 a,
	body.soccersmarts-fp-stadium-detail-page .entry-content > h1,
	body.soccersmarts-fp-stadium-detail-page .page-content > h1 {
		font-size: 20px !important;
	}
}

/* ========================================================================== 
   Football Pool 2.x shortcode card compatibility v1.5.4.7
   The current Football Pool shortcode renderer can output .match-card based
   markup instead of the legacy table.matchinfo markup. Keep both renderers
   readable without changing the SoccerSmarts page structure.
   ========================================================================== */

/* Current Football Pool match cards on tournament/team/stadium pages. */
body.soccersmarts-fp-tournament-tree-page .match-card {
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	min-height: 118px !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(255,224,102,.16) !important;
	border-radius: 15px !important;
	background: linear-gradient(145deg, rgba(10,59,43,.78), rgba(2,37,23,.88)) !important;
box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
	-webkit-backdrop-filter: blur(12px) saturate(112%) !important;
	backdrop-filter: blur(12px) saturate(112%) !important;
	overflow: hidden !important;
	transform: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card:hover {
	transform: none !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
}

/* Reduce any grid gap generated by Football Pool while preserving the plugin's
   existing column layout. */
body.soccersmarts-fp-tournament-tree-page .match-grid,
body.soccersmarts-fp-tournament-tree-page .matches-grid,
body.soccersmarts-fp-tournament-tree-page .match-cards,
body.soccersmarts-fp-tournament-tree-page .matches-list,
body.soccersmarts-fp-tournament-tree-page .match-list {
	gap: 10px !important;
	row-gap: 10px !important;
}

/* Make the current card internals compact and readable. */
body.soccersmarts-fp-tournament-tree-page .match-card .match-row-main,
body.soccersmarts-fp-tournament-tree-page .match-card .match-main,
body.soccersmarts-fp-tournament-tree-page .match-card .match-content {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card .match-row-side,
body.soccersmarts-fp-tournament-tree-page .match-card .match-meta,
body.soccersmarts-fp-tournament-tree-page .match-card .match-header,
body.soccersmarts-fp-tournament-tree-page .match-card .match-footer {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Date/time selectors used across old and current Football Pool builds. */
body.soccersmarts-fp-tournament-tree-page .match-card .match-date,
body.soccersmarts-fp-tournament-tree-page .match-card .match-time,
body.soccersmarts-fp-tournament-tree-page .match-card .date,
body.soccersmarts-fp-tournament-tree-page .match-card .time,
body.soccersmarts-fp-tournament-tree-page .match-card time {
font: 800 12px/1.3 var(--vip-font-outfit) !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card .team,
body.soccersmarts-fp-tournament-tree-page .match-card .team-name,
body.soccersmarts-fp-tournament-tree-page .match-card .home-team,
body.soccersmarts-fp-tournament-tree-page .match-card .away-team,
body.soccersmarts-fp-tournament-tree-page .match-card .home,
body.soccersmarts-fp-tournament-tree-page .match-card .away {
font-family: var(--vip-font-outfit) !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	line-height: 1.25 !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card a,
body.soccersmarts-fp-tournament-tree-page .match-card .team a,
body.soccersmarts-fp-tournament-tree-page .match-card .team-name a,
body.soccersmarts-fp-tournament-tree-page .match-card .home-team a,
body.soccersmarts-fp-tournament-tree-page .match-card .away-team a,
body.soccersmarts-fp-tournament-tree-page .match-card .home a,
body.soccersmarts-fp-tournament-tree-page .match-card .away a {
font: inherit !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card a:hover,
body.soccersmarts-fp-tournament-tree-page .match-card .team a:hover {
text-decoration: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card .score,
body.soccersmarts-fp-tournament-tree-page .match-card .score-group,
body.soccersmarts-fp-tournament-tree-page .match-card .result,
body.soccersmarts-fp-tournament-tree-page .match-card .vs {
font-weight: 900 !important;
	opacity: 1 !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card .score-box {
	min-width: 38px !important;
	width: auto !important;
	height: 34px !important;
	min-height: 34px !important;
	border: 1px solid rgba(255,224,102,.22) !important;
	border-radius: 8px !important;
	background: rgba(0,24,14,.40) !important;
box-shadow: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card input,
body.soccersmarts-fp-tournament-tree-page .match-card input.prediction {
background: transparent !important;
	border-color: rgba(255,224,102,.22) !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-tournament-tree-page .match-card .match-status,
body.soccersmarts-fp-tournament-tree-page .match-card .actual-result-inline,
body.soccersmarts-fp-tournament-tree-page .match-card .user-score,
body.soccersmarts-fp-tournament-tree-page .match-card .status,
body.soccersmarts-fp-tournament-tree-page .match-card .meta {
opacity: 1 !important;
}

/* Some current builds emit simple card children without semantic class names.
   Keep inherited foreground readable and only preserve explicitly styled icons. */
body.soccersmarts-fp-tournament-tree-page .match-card p,
body.soccersmarts-fp-tournament-tree-page .match-card span,
body.soccersmarts-fp-tournament-tree-page .match-card strong,
body.soccersmarts-fp-tournament-tree-page .match-card small {
	text-shadow: none !important;
}

/* Team detail text and venue links must stay visible over the stadium photo. */
body.soccersmarts-fp-team-detail-page .entry-content > p,
body.soccersmarts-fp-team-detail-page .page-content > p,
body.soccersmarts-fp-team-detail-page .entry-content > table,
body.soccersmarts-fp-team-detail-page .page-content > table {
}

body.soccersmarts-fp-team-detail-page .entry-content > p a,
body.soccersmarts-fp-team-detail-page .page-content > p a,
body.soccersmarts-fp-team-detail-page table.teaminfo a {
font-weight: 800 !important;
	opacity: 1 !important;
}

body.soccersmarts-fp-team-detail-page h4,
body.soccersmarts-fp-team-detail-page .entry-content > h4,
body.soccersmarts-fp-team-detail-page .page-content > h4 {
opacity: 1 !important;
}

/* Football Pool may place the current renderer inside a generic match-table
   wrapper. Do not allow that wrapper to restore a white panel. */
body.soccersmarts-fp-tournament-tree-page .match-table,
body.soccersmarts-fp-tournament-tree-page .football-pool-matches,
body.soccersmarts-fp-tournament-tree-page .football-pool-match-list {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

@media (max-width: 768px) {
	body.soccersmarts-fp-tournament-tree-page .match-card {
		min-height: 104px !important;
		padding: 12px 13px !important;
		border-radius: 13px !important;
	}

	body.soccersmarts-fp-tournament-tree-page .match-card .team,
	body.soccersmarts-fp-tournament-tree-page .match-card .team-name,
	body.soccersmarts-fp-tournament-tree-page .match-card .home-team,
	body.soccersmarts-fp-tournament-tree-page .match-card .away-team,
	body.soccersmarts-fp-tournament-tree-page .match-card .home,
	body.soccersmarts-fp-tournament-tree-page .match-card .away {
		font-size: 13px !important;
	}

	body.soccersmarts-fp-tournament-tree-page .match-card .match-date,
	body.soccersmarts-fp-tournament-tree-page .match-card .match-time,
	body.soccersmarts-fp-tournament-tree-page .match-card .date,
	body.soccersmarts-fp-tournament-tree-page .match-card .time,
	body.soccersmarts-fp-tournament-tree-page .match-card time {
		font-size: 11px !important;
	}
}

/* ==========================================================================
   SoccerSmarts native WordPress authentication v1.5.4.10
   Compact custom WordPress login / register / password reset.
   ========================================================================== */
body.soccersmarts-auth-page,
body.soccersmarts-auth-page #page,
body.soccersmarts-auth-page #content,
body.soccersmarts-auth-page .site-content,
body.soccersmarts-auth-page .ast-container,
body.soccersmarts-auth-page .content-area,
body.soccersmarts-auth-page #primary,
body.soccersmarts-auth-page main,
body.soccersmarts-auth-page .site-main,
body.soccersmarts-auth-page #main,
body.soccersmarts-auth-page article,
body.soccersmarts-auth-page .entry-content {
	background: #003b20 !important;
	background-image: linear-gradient(180deg, #004528 0%, #003719 58%, #002f17 100%) !important;
	box-shadow: none !important;
}

body.soccersmarts-auth-page .site-content,
body.soccersmarts-auth-page #content {
	min-height: 62vh !important;
}

.ss-auth-shell {
	width: min(calc(100% - 32px), 700px);
	margin: 18px auto 28px;
	font-family: var(--vip-font-outfit, "Outfit", "Inter", sans-serif);
}

.ss-auth-card {
	width: 100%;
	margin: 0 auto;
	padding: 28px 30px;
	border: 1px solid rgba(255, 224, 102, .16);
	border-radius: 22px;
	background: rgba(0, 58, 31, .96);
	box-shadow: 0 14px 36px rgba(0, 0, 0, .18);
	color: #fff;
	box-sizing: border-box;
}

.ss-auth-card.ss-auth-mode-login,
.ss-auth-card.ss-auth-mode-forgot,
.ss-auth-card.ss-auth-mode-reset { max-width: 540px; }
.ss-auth-card.ss-auth-mode-register,
.ss-auth-card.ss-auth-mode-profile { max-width: 680px; }

.ss-auth-intro { margin-bottom: 18px; }
.ss-auth-eyebrow {
	display: inline-block;
	margin-bottom: 7px;
	color: #FFE066;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ss-auth-card h1 {
	margin: 0 0 8px !important;
	color: #fff !important;
	font-size: clamp(1.55rem, 3vw, 2rem) !important;
	line-height: 1.12 !important;
	font-weight: 850 !important;
}
.ss-auth-card p { color: rgba(255,255,255,.72) !important; line-height: 1.5; font-size: .92rem; }

.ss-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	margin: 0 0 18px;
	padding: 4px;
	border: 1px solid rgba(255,255,255,.11);
	border-radius: 999px;
	background: rgba(0, 25, 13, .44);
}
.ss-auth-tabs a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 13px;
	border-radius: 999px;
	color: rgba(255,255,255,.74) !important;
	font-weight: 800;
	text-decoration: none !important;
}
.ss-auth-tabs a.is-active {
	background: #fff;
	color: #06391f !important;
	box-shadow: 0 3px 10px rgba(0,0,0,.1);
}

.ss-auth-payment-note {
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid rgba(255,224,102,.28);
	border-radius: 11px;
	background: rgba(255,224,102,.08);
	color: rgba(255,255,255,.86);
	font-size: .86rem;
	line-height: 1.5;
}
.ss-auth-payment-note strong { color: #FFE066; }
.ss-auth-form { display: grid; gap: 14px; }
.ss-auth-grid { display: grid; gap: 12px; }
.ss-auth-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ss-auth-form label { display: grid; gap: 6px; margin: 0; }
.ss-auth-form label > span { color: #FFE066 !important; font-weight: 800; font-size: .86rem; }
.ss-auth-form label em { color: rgba(255,255,255,.52); font-style: normal; font-size: .72rem; font-weight: 500; }
.ss-auth-form input[type="text"],
.ss-auth-form input[type="email"],
.ss-auth-form input[type="tel"],
.ss-auth-form input[type="password"] {
	width: 100% !important;
	min-height: 47px !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(255,255,255,.11) !important;
	border-radius: 12px !important;
	outline: none !important;
	background: rgba(0, 27, 13, .72) !important;
	box-shadow: none !important;
	color: #fff !important;
	font: inherit !important;
	box-sizing: border-box !important;
}
.ss-auth-form input:focus { border-color: rgba(255,224,102,.72) !important; box-shadow: 0 0 0 3px rgba(255,224,102,.1) !important; }
.ss-auth-remember { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 9px !important; }
.ss-auth-remember input { width: 17px !important; height: 17px !important; margin: 0 !important; }
.ss-auth-remember span { color: rgba(255,255,255,.82) !important; }

.ss-auth-submit,
.ss-auth-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 11px 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #FFE066, #D1A625) !important;
	box-shadow: 0 8px 18px rgba(209,166,37,.18) !important;
	color: #052d18 !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	cursor: pointer;
}
.ss-auth-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 21px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	color: #fff !important;
	font-weight: 800;
	text-decoration: none !important;
}
.ss-auth-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.ss-auth-links { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.ss-auth-links a,
.ss-auth-bottom-link a { color: #FFE066 !important; font-weight: 800; text-decoration: none !important; }
.ss-auth-bottom-link { margin: 0 !important; text-align: center; }
.ss-auth-message { margin: 0 0 14px; padding: 11px 13px; border-radius: 11px; font-weight: 650; line-height: 1.4; }
.ss-auth-error { background: rgba(196,50,50,.2); border: 1px solid rgba(255,110,110,.28); color: #ffdede; }
.ss-auth-success { background: rgba(39,155,91,.19); border: 1px solid rgba(93,224,147,.28); color: #d7ffe7; }
.ss-auth-hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.ss-auth-signed-in { text-align: center; max-width: 540px; }
.ss-auth-signed-in .ss-auth-actions { justify-content: center; }

/* Football Pool owns its text colors. SoccerSmarts only provides layout and
   surfaces on Football Pool pages. This intentionally leaves color decisions
   to Football Pool, the active theme, and Appearance > Customize > Additional CSS. */

@media (max-width: 768px) {
	body.soccersmarts-auth-page #page,
	body.soccersmarts-auth-page #content,
	body.soccersmarts-auth-page .site-content,
	body.soccersmarts-auth-page .ast-container,
	body.soccersmarts-auth-page .content-area,
	body.soccersmarts-auth-page #primary,
	body.soccersmarts-auth-page main,
	body.soccersmarts-auth-page .site-main,
	body.soccersmarts-auth-page #main,
	body.soccersmarts-auth-page article,
	body.soccersmarts-auth-page .entry-content {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
	.ss-auth-shell { width: calc(100% - 24px); margin: 12px 12px 92px; }
	.ss-auth-card { padding: 21px 16px; border-radius: 18px; }
	.ss-auth-grid-two { grid-template-columns: 1fr; gap: 13px; }
	.ss-auth-tabs a { min-height: 42px; padding: 7px 9px; font-size: .88rem; }
	.ss-auth-form input[type="text"],
	.ss-auth-form input[type="email"],
	.ss-auth-form input[type="tel"],
	.ss-auth-form input[type="password"] { min-height: 46px !important; }
	.ss-auth-submit { width: 100%; }
	.ss-auth-links { justify-content: center; }
}


/* ==========================================================================
   Football Pool ranking image size guard v1.5.4.11
   The current Football Pool ranking output may render user/profile images at
   their original dimensions. Keep those images compact without changing
   Football Pool text colours or the SoccerSmarts header logo.
   ========================================================================== */
body.soccersmarts-fp-ranking-page .entry-content img,
body.soccersmarts-fp-ranking-page .site-main .entry-content img,
body.soccersmarts-fp-ranking-page main .entry-content img,
body.soccersmarts-fp-ranking-page .ranking img,
body.soccersmarts-fp-ranking-page .ranking-table img,
body.soccersmarts-fp-ranking-page .pool-ranking img,
body.soccersmarts-fp-ranking-page .fp-ranking-table img,
body.soccersmarts-fp-ranking-page ol img,
body.soccersmarts-fp-ranking-page table img {
    width: auto !important;
    height: auto !important;
    max-width: 72px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

body.soccersmarts-fp-ranking-page .entry-content a > img,
body.soccersmarts-fp-ranking-page .ranking a > img,
body.soccersmarts-fp-ranking-page .pool-ranking a > img {
    margin: 4px 8px !important;
}

@media (max-width: 768px) {
    body.soccersmarts-fp-ranking-page .entry-content img,
    body.soccersmarts-fp-ranking-page .ranking img,
    body.soccersmarts-fp-ranking-page .ranking-table img,
    body.soccersmarts-fp-ranking-page .pool-ranking img,
    body.soccersmarts-fp-ranking-page .fp-ranking-table img,
    body.soccersmarts-fp-ranking-page ol img,
    body.soccersmarts-fp-ranking-page table img {
        max-width: 52px !important;
        max-height: 52px !important;
    }
}

/* ==========================================================================
   Football Pool native statistics + tournament readability v1.5.4.16
   Fixes the two native Football Pool screens without replacing their
   shortcodes or changing Football Pool data.
   ========================================================================== */

/* The native /statistics/ route is now marked as a SoccerSmarts Football Pool
   page. Keep the stadium background while making the match prediction view
   readable. */
body.soccersmarts-fp-statistics-page .entry-content,
body.soccersmarts-fp-statistics-page .page-content {
	width: min(1040px, calc(100% - 40px)) !important;
	max-width: none !important;
	margin: 22px auto 88px !important;
	padding: 0 !important;
	overflow: visible !important;
}

body.soccersmarts-fp-statistics-page h1,
body.soccersmarts-fp-statistics-page h2,
body.soccersmarts-fp-statistics-page h3,
body.soccersmarts-fp-statistics-page .entry-content h1,
body.soccersmarts-fp-statistics-page .entry-content h2,
body.soccersmarts-fp-statistics-page .entry-content h3 {
	text-shadow: 0 2px 10px rgba(0,0,0,.20) !important;
}

body.soccersmarts-fp-statistics-page h2[class^="match-"],
body.soccersmarts-fp-statistics-page h2[class*=" match-"] {
	margin: 8px 0 6px !important;
	color: var(--vip-gold) !important;
	font: 900 clamp(24px, 3vw, 36px)/1.12 var(--vip-font-outfit) !important;
	letter-spacing: .01em !important;
	text-align: center !important;
}

body.soccersmarts-fp-statistics-page h3.stadium-name {
	margin: 0 0 18px !important;
	color: rgba(255,255,255,.82) !important;
	font: 700 15px/1.3 var(--vip-font-outfit) !important;
	text-align: center !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics {
	display: table !important;
	width: 100% !important;
	max-width: 860px !important;
	min-width: 0 !important;
	margin: 0 auto 24px !important;
	padding: 0 !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	table-layout: fixed !important;
	background: rgba(6,47,32,.92) !important;
	border-radius: 16px !important;
	box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;
	overflow: hidden !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics thead,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics tbody {
	display: table-row-group !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics tr {
	display: table-row !important;
	background: transparent !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics th {
	display: table-cell !important;
	padding: 12px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,224,102,.16) !important;
	background: rgba(0,25,15,.72) !important;
	color: #ffffff !important;
	font: 900 11px/1.2 var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	text-align: center !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics th.username {
	width: 58% !important;
	text-align: left !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics td {
	display: table-cell !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 13px 10px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	background: rgba(255,255,255,.025) !important;
	color: #ffffff !important;
	font: 700 13px/1.25 var(--vip-font-inter) !important;
	vertical-align: middle !important;
	text-align: center !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics tbody tr:nth-child(even) td {
	background: rgba(255,255,255,.045) !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics tbody tr:last-child td {
	border-bottom: 0 !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics td:first-child {
	padding-left: 16px !important;
	text-align: left !important;
}

/* Reset the old global /user/ gold-banner treatment. Player names in the
   native statistics table are ordinary links, not dashboard buttons. */
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td:first-child > a,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics a[href*="/user/"] {
	display: inline !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: 800 13px/1.25 var(--vip-font-outfit) !important;
	letter-spacing: 0 !important;
	text-align: left !important;
	text-decoration: none !important;
	text-transform: none !important;
	transform: none !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics td:first-child > a:hover,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics a[href*="/user/"]:hover {
	color: var(--vip-gold) !important;
	text-decoration: none !important;
	transform: none !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.home,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.away,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.score {
	color: var(--vip-gold) !important;
	font-weight: 900 !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.match-hyphen {
	width: 28px !important;
	color: rgba(255,255,255,.48) !important;
}

body.soccersmarts-fp-statistics-page table.matchinfo.statistics .fp-joker,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics .fp-nojoker {
	margin: 0 auto !important;
}

/* Tournament page: Football Pool 2.13 new-layout is a flex list of .match-card
   items. Earlier SoccerSmarts compatibility CSS forced every card to 100%,
   which created the oversized one-match-per-row screen. Restore a compact
   two-column desktop grid and use high-contrast SoccerSmarts colours. */
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout.page.matches-page,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout.page.matches-page,
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout.matches-page,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout.matches-page {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	background: transparent !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card {
	flex: 0 0 calc(50% - 6px) !important;
	width: calc(50% - 6px) !important;
	min-width: 0 !important;
	min-height: 116px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 12px 14px 14px !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-radius: 14px !important;
	background: linear-gradient(145deg, rgba(8,65,45,.94), rgba(1,42,26,.96)) !important;
	box-shadow: 0 10px 22px rgba(0,0,0,.17) !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card-header,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin: 0 0 9px !important;
	padding: 0 0 8px !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	background: transparent !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card-header .matchdate,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card-header .matchdate {
	color: rgba(255,255,255,.72) !important;
	font: 700 11px/1.2 var(--vip-font-inter) !important;
	letter-spacing: .01em !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card-header .time,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card-header .time {
	color: var(--vip-gold) !important;
	font: 900 11px/1.2 var(--vip-font-outfit) !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .flag,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .flag {
	width: 50% !important;
	height: 30px !important;
	min-height: 30px !important;
	padding: 0 8px 3px !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .flag img,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .flag img {
	display: inline-block !important;
	width: auto !important;
	max-width: 34px !important;
	height: auto !important;
	max-height: 28px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .home:not(.flag),
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .away:not(.flag),
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .home:not(.flag),
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .away:not(.flag) {
	width: 50% !important;
	min-width: 0 !important;
	padding: 2px 8px !important;
	color: #ffffff !important;
	font: 900 14px/1.2 var(--vip-font-outfit) !important;
	text-align: center !important;
	box-sizing: border-box !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .home:not(.flag) a,
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .away:not(.flag) a,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .home:not(.flag) a,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .away:not(.flag) a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: inherit !important;
	text-decoration: none !important;
	text-transform: none !important;
	transform: none !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .score,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .score {
	width: 50% !important;
	min-width: 0 !important;
	padding: 5px 8px 0 !important;
	color: var(--vip-gold) !important;
	font: 900 16px/1.2 var(--vip-font-outfit) !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card > .score a,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card > .score a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--vip-gold) !important;
	font: inherit !important;
	text-decoration: none !important;
	transform: none !important;
}

body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout > .matchtype,
body.soccersmarts-fp-tournament-page div.matchinfo.new-layout > .matchtype {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 9px 13px !important;
	border: 1px solid rgba(255,224,102,.22) !important;
	border-radius: 10px !important;
	background: rgba(0,28,16,.78) !important;
	color: var(--vip-gold) !important;
	font: 900 12px/1.2 var(--vip-font-outfit) !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

@media (max-width: 820px) {
	body.soccersmarts-fp-statistics-page .entry-content,
	body.soccersmarts-fp-statistics-page .page-content {
		width: calc(100% - 24px) !important;
		margin: 14px 12px calc(86px + env(safe-area-inset-bottom, 0px)) !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	body.soccersmarts-fp-statistics-page table.matchinfo.statistics {
		min-width: 560px !important;
	}

	body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card,
	body.soccersmarts-fp-tournament-page div.matchinfo.new-layout .match-card {
		flex-basis: 100% !important;
		width: 100% !important;
		min-height: 108px !important;
	}
}

/* ==========================================================================
   Football Pool native page redesign v1.5.4.17
   Refines native Football Pool venue, team, tournament, player prediction and
   bonus-question pages while keeping Football Pool shortcodes and data intact.
   ========================================================================== */

/* Consistent breathing room for native Football Pool application screens. */
body.soccersmarts-fp-native-page .entry-content,
body.soccersmarts-fp-native-page .page-content,
body.soccersmarts-fp-pool-page .entry-content,
body.soccersmarts-fp-pool-page .page-content {
	width: min(1240px, calc(100% - 48px)) !important;
	max-width: none !important;
	margin: 0 auto 92px !important;
	padding: 30px 0 12px !important;
	box-sizing: border-box !important;
	color: #f7fbf8 !important;
}

body.soccersmarts-fp-native-page .entry-content > :first-child,
body.soccersmarts-fp-native-page .page-content > :first-child,
body.soccersmarts-fp-pool-page .entry-content > :first-child,
body.soccersmarts-fp-pool-page .page-content > :first-child {
	margin-top: 0 !important;
}

body.soccersmarts-fp-native-page .entry-content p,
body.soccersmarts-fp-native-page .page-content p,
body.soccersmarts-fp-pool-page .entry-content p,
body.soccersmarts-fp-pool-page .page-content p {
	line-height: 1.55 !important;
}

/* Prevent default/global link styles from turning Football Pool resource links blue. */
body.soccersmarts-fp-tournament-tree-page .entry-content a,
body.soccersmarts-fp-tournament-tree-page .page-content a,
body.soccersmarts-fp-user-page .entry-content a,
body.soccersmarts-fp-user-page .page-content a,
body.soccersmarts-fp-pool-page .entry-content a,
body.soccersmarts-fp-pool-page .page-content a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}

/* --------------------------------------------------------------------------
   VENUE / STADIUM INDEX
   Football Pool 2.13 outputs: .football-pool.stadium-list > div
   -------------------------------------------------------------------------- */
body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list::before {
	content: "Stadiums & venues";
	grid-column: 1 / -1;
	display: block;
	margin: 0 0 4px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid rgba(255, 224, 102, .20) !important;
	color: #ffffff !important;
	font: 900 clamp(24px, 3vw, 34px)/1.1 var(--vip-font-outfit) !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div {
	display: grid !important;
	grid-template-columns: 86px minmax(0, 1fr) !important;
	grid-template-rows: auto 1fr !important;
	column-gap: 14px !important;
	row-gap: 5px !important;
	align-items: center !important;
	min-height: 118px !important;
	margin: 0 !important;
	padding: 16px !important;
	border: 1px solid rgba(255, 224, 102, .17) !important;
	border-radius: 18px !important;
	background: linear-gradient(145deg, rgba(9, 66, 45, .88), rgba(2, 39, 25, .94)) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
	-webkit-backdrop-filter: blur(12px) saturate(112%);
	backdrop-filter: blur(12px) saturate(112%);
	box-sizing: border-box !important;
	overflow: hidden !important;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(255,224,102,.42) !important;
	box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > a:first-child {
	grid-column: 1 !important;
	grid-row: 1 / 3 !important;
	display: block !important;
	width: 86px !important;
	height: 76px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.065) !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > a:first-child:empty {
	display: none !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div:has(> a:first-child:empty) {
	grid-template-columns: minmax(0, 1fr) !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > h2 {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	font: 900 18px/1.22 var(--vip-font-outfit) !important;
	text-transform: none !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div:has(> a:first-child:empty) > h2,
body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div:has(> a:first-child:empty) > p {
	grid-column: 1 !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > h2::before {
	content: "VENUE";
	display: block;
	margin: 0 0 5px !important;
	color: #FFE066 !important;
	font: 900 10px/1 var(--vip-font-outfit) !important;
	letter-spacing: .12em !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > h2 a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: inherit !important;
	text-decoration: none !important;
	text-transform: none !important;
	transform: none !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > h2 a:hover {
	color: #FFE066 !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > p {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255,255,255,.64) !important;
	font-size: 12px !important;
	line-height: 1.45 !important;
}

body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list img.stadium-photo,
body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list img.stadium-photo.thumb {
	display: block !important;
	float: none !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
}

/* --------------------------------------------------------------------------
   TEAM INDEX
   -------------------------------------------------------------------------- */
body.soccersmarts-fp-team-list-page ol.football-pool.team-list,
body.soccersmarts-fp-team-list-page ol.team-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 14px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.soccersmarts-fp-team-list-page ol.football-pool.team-list::before,
body.soccersmarts-fp-team-list-page ol.team-list::before {
	content: "Teams";
	grid-column: 1 / -1;
	display: block;
	margin: 0 0 5px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid rgba(255,224,102,.20) !important;
	color: #ffffff !important;
	font: 900 clamp(24px, 3vw, 34px)/1.1 var(--vip-font-outfit) !important;
	letter-spacing: -.02em !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li {
	position: relative !important;
	min-height: 104px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255,224,102,.16) !important;
	border-radius: 18px !important;
	background: linear-gradient(145deg, rgba(9,66,45,.88), rgba(2,39,25,.94)) !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
	overflow: hidden !important;
	transition: transform .18s ease, border-color .18s ease !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(255,224,102,.40) !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li > a {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	width: 100% !important;
	min-height: 104px !important;
	margin: 0 !important;
	padding: 18px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: 900 17px/1.25 var(--vip-font-outfit) !important;
	text-decoration: none !important;
	text-transform: none !important;
	transform: none !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li > a::before {
	content: "TEAM";
	position: absolute !important;
	top: 12px !important;
	right: 14px !important;
	color: rgba(255,224,102,.66) !important;
	font: 900 9px/1 var(--vip-font-outfit) !important;
	letter-spacing: .12em !important;
}

body.soccersmarts-fp-team-list-page ol.team-list > li > a:hover {
	color: #FFE066 !important;
}

body.soccersmarts-fp-team-list-page ol.team-list img.team-photo,
body.soccersmarts-fp-team-list-page ol.team-list img.team-photo.thumb {
	flex: 0 0 66px !important;
	width: 66px !important;
	height: 66px !important;
	max-width: 66px !important;
	max-height: 66px !important;
	margin: 0 !important;
	border-radius: 12px !important;
	object-fit: cover !important;
}

/* --------------------------------------------------------------------------
   STADIUM + TEAM DETAIL PAGES
   -------------------------------------------------------------------------- */
body.soccersmarts-fp-stadium-detail-page .entry-content > h1,
body.soccersmarts-fp-stadium-detail-page .page-content > h1,
body.soccersmarts-fp-team-detail-page .entry-content > h3,
body.soccersmarts-fp-team-detail-page .page-content > h3 {
	position: relative !important;
	margin: 0 0 20px !important;
	padding: 24px 24px 22px !important;
	border: 1px solid rgba(255,224,102,.22) !important;
	border-radius: 20px !important;
	background: linear-gradient(145deg, rgba(7,63,42,.91), rgba(1,36,22,.95)) !important;
	box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
	color: #ffffff !important;
	font: 900 clamp(26px, 3.5vw, 40px)/1.08 var(--vip-font-outfit) !important;
	letter-spacing: -.025em !important;
	text-align: left !important;
	text-transform: none !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-stadium-detail-page .entry-content > h1::before,
body.soccersmarts-fp-stadium-detail-page .page-content > h1::before {
	content: "VENUE";
	display: block !important;
	margin: 0 0 8px !important;
	color: #FFE066 !important;
	font: 900 10px/1 var(--vip-font-outfit) !important;
	letter-spacing: .14em !important;
}

body.soccersmarts-fp-team-detail-page .entry-content > h3::before,
body.soccersmarts-fp-team-detail-page .page-content > h3::before {
	content: "TEAM";
	display: block !important;
	margin: 0 0 8px !important;
	color: #FFE066 !important;
	font: 900 10px/1 var(--vip-font-outfit) !important;
	letter-spacing: .14em !important;
}

body.soccersmarts-fp-team-detail-page .entry-content > h3 a,
body.soccersmarts-fp-team-detail-page .page-content > h3 a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: inherit !important;
	text-decoration: none !important;
	text-transform: none !important;
	transform: none !important;
}

body.soccersmarts-fp-stadium-detail-page .entry-content > p:has(> img.stadium-photo),
body.soccersmarts-fp-stadium-detail-page .page-content > p:has(> img.stadium-photo),
body.soccersmarts-fp-team-detail-page .entry-content > p:has(> img.team-photo),
body.soccersmarts-fp-team-detail-page .page-content > p:has(> img.team-photo) {
	margin: 0 0 22px !important;
	padding: 0 !important;
}

body.soccersmarts-fp-stadium-detail-page img.stadium-photo:not(.thumb),
body.soccersmarts-fp-team-detail-page img.team-photo:not(.thumb) {
	display: block !important;
	width: min(100%, 760px) !important;
	height: 300px !important;
	max-width: 760px !important;
	margin: 0 !important;
	border: 1px solid rgba(255,224,102,.16) !important;
	border-radius: 18px !important;
	background: rgba(3,43,28,.72) !important;
	box-shadow: 0 16px 34px rgba(0,0,0,.20) !important;
	object-fit: cover !important;
}

body.soccersmarts-fp-stadium-detail-page p.stadium.bio,
body.soccersmarts-fp-team-detail-page p.team.bio {
	margin: 0 0 22px !important;
	padding: 17px 18px !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	border-radius: 15px !important;
	background: rgba(4,48,31,.72) !important;
	color: rgba(255,255,255,.82) !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
}

body.soccersmarts-fp-stadium-detail-page h4,
body.soccersmarts-fp-team-detail-page h4 {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 30px 0 14px !important;
	padding: 0 !important;
	color: #ffffff !important;
	font: 900 17px/1.2 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-stadium-detail-page h4::after,
body.soccersmarts-fp-team-detail-page h4::after {
	content: "";
	flex: 1 !important;
	height: 1px !important;
	background: linear-gradient(90deg, rgba(255,224,102,.42), rgba(255,224,102,0)) !important;
}

body.soccersmarts-fp-stadium-detail-page .ss-fp-image-placeholder,
body.soccersmarts-fp-team-detail-page .ss-fp-image-placeholder {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	gap: 9px !important;
	width: min(100%, 760px) !important;
	min-height: 230px !important;
	margin: 0 0 22px !important;
	padding: 24px !important;
	border: 1px dashed rgba(255,224,102,.30) !important;
	border-radius: 18px !important;
	background: linear-gradient(145deg, rgba(7,63,42,.82), rgba(1,36,22,.91)) !important;
	color: rgba(255,255,255,.72) !important;
	font: 700 13px/1.4 var(--vip-font-inter) !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-stadium-detail-page .ss-fp-image-placeholder::before,
body.soccersmarts-fp-team-detail-page .ss-fp-image-placeholder::before {
	content: "⚽";
	display: block !important;
	font-size: 34px !important;
	line-height: 1 !important;
}

/* Back actions are compact, clear and separated from match cards. */
body.soccersmarts-fp-stadium-detail-page .entry-content > p:last-child,
body.soccersmarts-fp-stadium-detail-page .page-content > p:last-child,
body.soccersmarts-fp-team-detail-page .entry-content > p:last-child,
body.soccersmarts-fp-team-detail-page .page-content > p:last-child {
	margin: 24px 0 0 !important;
	padding: 0 !important;
}

body.soccersmarts-fp-stadium-detail-page .entry-content > p:last-child > a,
body.soccersmarts-fp-stadium-detail-page .page-content > p:last-child > a,
body.soccersmarts-fp-team-detail-page .entry-content > p:last-child > a,
body.soccersmarts-fp-team-detail-page .page-content > p:last-child > a {
	min-height: 42px !important;
	padding: 10px 18px !important;
	color: #052d18 !important;
	box-shadow: 0 8px 18px rgba(166,124,30,.18) !important;
}

/* --------------------------------------------------------------------------
   PLAYER PREDICTIONS + BONUS QUESTIONS
   -------------------------------------------------------------------------- */
body.soccersmarts-fp-user-page p.user-page-intro {
	margin: 0 0 24px !important;
	padding: 14px 17px !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	border-radius: 14px !important;
	background: rgba(4,48,31,.72) !important;
	color: rgba(255,255,255,.78) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	box-shadow: 0 9px 22px rgba(0,0,0,.10) !important;
}

body.soccersmarts-fp-user-page p.user-page-intro span.username {
	color: #FFE066 !important;
	font-weight: 900 !important;
}

body.soccersmarts-fp-user-page .entry-content > .statistics,
body.soccersmarts-fp-user-page .page-content > .statistics {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	min-height: 0 !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

body.soccersmarts-fp-user-page .entry-content > .statistics h5,
body.soccersmarts-fp-user-page .page-content > .statistics h5 {
	display: none !important;
}

body.soccersmarts-fp-user-page .entry-content > .statistics p,
body.soccersmarts-fp-user-page .page-content > .statistics p {
	margin: 0 !important;
	padding: 0 !important;
}

body.soccersmarts-fp-user-page a.statistics {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: 38px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid rgba(255,224,102,.20) !important;
	border-radius: 999px !important;
	background: rgba(3,43,28,.78) !important;
	box-shadow: none !important;
	color: #FFE066 !important;
	font: 900 11px/1 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-indent: 0 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.soccersmarts-fp-user-page a.statistics::before {
	content: "View statistics";
}

body.soccersmarts-fp-user-page a.statistics {
	font-size: 0 !important;
}
body.soccersmarts-fp-user-page a.statistics::before {
	font-size: 11px !important;
}

/* Visible, deliberate section headings. */
body.soccersmarts-fp-user-page .entry-content > h2,
body.soccersmarts-fp-user-page .page-content > h2,
body.soccersmarts-fp-pool-page h2#bonus,
body.soccersmarts-fp-pool-page .entry-content > h2,
body.soccersmarts-fp-pool-page .page-content > h2 {
	margin: 36px 0 16px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid rgba(255,224,102,.22) !important;
	color: #ffffff !important;
	font: 900 clamp(24px, 3vw, 34px)/1.1 var(--vip-font-outfit) !important;
	letter-spacing: -.02em !important;
	text-align: left !important;
	text-transform: uppercase !important;
	text-shadow: 0 2px 10px rgba(0,0,0,.18) !important;
}

body.soccersmarts-fp-user-page .entry-content > h2::after,
body.soccersmarts-fp-user-page .page-content > h2::after,
body.soccersmarts-fp-pool-page h2#bonus::after {
	content: "";
	display: block !important;
	width: 64px !important;
	height: 3px !important;
	margin-top: 11px !important;
	border-radius: 999px !important;
	background: var(--vip-gold-gradient) !important;
}

body.soccersmarts-fp-user-page .questions-block,
body.soccersmarts-fp-pool-page .questions-block,
.soccersmarts-pool-banger-blitz-wrap .questions-block {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus,
body.soccersmarts-fp-pool-page .questions-block div.bonus,
.soccersmarts-pool-banger-blitz-wrap .questions-block div.bonus,
.soccersmarts-pool-banger-blitz-wrap .fp-banger-blitz div.bonus {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 19px 20px 17px !important;
	border: 1px solid rgba(12,58,35,.12) !important;
	border-radius: 17px !important;
	background: rgba(255,255,255,.98) !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.15) !important;
	color: #173527 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus > p,
body.soccersmarts-fp-pool-page .questions-block div.bonus > p,
.soccersmarts-pool-banger-blitz-wrap div.bonus > p {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: #263e33 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus > p:first-child,
body.soccersmarts-fp-pool-page .questions-block div.bonus > p:first-child,
.soccersmarts-pool-banger-blitz-wrap div.bonus > p:first-child {
	margin-bottom: 14px !important;
	color: #12351d !important;
	font: 900 17px/1.35 var(--vip-font-outfit) !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus p.answer,
body.soccersmarts-fp-pool-page .questions-block div.bonus p.answer,
.soccersmarts-pool-banger-blitz-wrap div.bonus p.answer {
	margin-bottom: 7px !important;
	color: #3e5248 !important;
	font-size: 13px !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus p.correct-answer,
body.soccersmarts-fp-pool-page .questions-block div.bonus p.correct-answer,
.soccersmarts-pool-banger-blitz-wrap div.bonus p.correct-answer {
	color: #0b6c39 !important;
	font-weight: 800 !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus .bonus-card-footer,
body.soccersmarts-fp-pool-page .questions-block div.bonus .bonus-card-footer,
.soccersmarts-pool-banger-blitz-wrap div.bonus .bonus-card-footer {
	position: static !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto !important;
	align-items: end !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: auto 0 0 !important;
	padding: 13px 0 0 !important;
	border-top: 1px solid #e5ece7 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus .closing-time,
body.soccersmarts-fp-pool-page .questions-block div.bonus .closing-time,
.soccersmarts-pool-banger-blitz-wrap div.bonus .closing-time {
	margin: 0 !important;
	padding: 0 !important;
	color: #68766f !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus .points,
body.soccersmarts-fp-pool-page .questions-block div.bonus .points,
.soccersmarts-pool-banger-blitz-wrap div.bonus .points {
	margin: 0 !important;
	padding: 0 !important;
	color: #526259 !important;
	font-size: 11px !important;
	line-height: 1.45 !important;
	text-align: right !important;
}

body.soccersmarts-fp-user-page .questions-block div.bonus .question-stats-link,
body.soccersmarts-fp-pool-page .questions-block div.bonus .question-stats-link,
.soccersmarts-pool-banger-blitz-wrap div.bonus .question-stats-link {
	margin: 0 !important;
	padding: 0 !important;
	align-self: end !important;
}

body.soccersmarts-fp-user-page .questions-block img.pie-chart-icon,
body.soccersmarts-fp-pool-page .questions-block img.pie-chart-icon,
.soccersmarts-pool-banger-blitz-wrap img.pie-chart-icon {
	display: block !important;
	width: 34px !important;
	height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	margin: 0 !important;
	box-shadow: none !important;
}

/* Better spacing between match sections and cards on user/tournament/stadium pages. */
body.soccersmarts-fp-user-page div.matchinfo.new-layout,
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout {
	gap: 14px !important;
	row-gap: 14px !important;
	margin-bottom: 30px !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout > .matchtype,
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout > .matchtype {
	margin-top: 4px !important;
	margin-bottom: 0 !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card,
body.soccersmarts-fp-tournament-tree-page div.matchinfo.new-layout .match-card {
	border-radius: 16px !important;
}

/* Input controls on active bonus questions. */
body.soccersmarts-fp-pool-page .questions-block div.bonus input[type="text"],
body.soccersmarts-fp-pool-page .questions-block div.bonus textarea,
body.soccersmarts-fp-pool-page .questions-block div.bonus select,
.soccersmarts-pool-banger-blitz-wrap div.bonus input[type="text"],
.soccersmarts-pool-banger-blitz-wrap div.bonus textarea,
.soccersmarts-pool-banger-blitz-wrap div.bonus select {
	width: 100% !important;
	min-height: 42px !important;
	margin: 5px 0 0 !important;
	padding: 9px 11px !important;
	border: 1px solid #cbd7d0 !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: #173527 !important;
	font-size: 13px !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-pool-page .buttonblock,
.soccersmarts-pool-banger-blitz-wrap .buttonblock {
	margin: 18px 0 34px !important;
}

body.soccersmarts-fp-pool-page .buttonblock input[type="submit"],
.soccersmarts-pool-banger-blitz-wrap .buttonblock input[type="submit"] {
	min-height: 44px !important;
	padding: 10px 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--vip-gold-gradient) !important;
	box-shadow: 0 8px 18px rgba(166,124,30,.18) !important;
	color: #052d18 !important;
	font: 900 12px/1 var(--vip-font-outfit) !important;
	text-transform: uppercase !important;
}

@media (max-width: 960px) {
	body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list,
	body.soccersmarts-fp-team-list-page ol.football-pool.team-list,
	body.soccersmarts-fp-team-list-page ol.team-list,
	body.soccersmarts-fp-user-page .questions-block,
	body.soccersmarts-fp-pool-page .questions-block,
	.soccersmarts-pool-banger-blitz-wrap .questions-block {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.soccersmarts-fp-native-page .entry-content,
	body.soccersmarts-fp-native-page .page-content,
	body.soccersmarts-fp-pool-page .entry-content,
	body.soccersmarts-fp-pool-page .page-content {
		width: calc(100% - 24px) !important;
		margin: 0 12px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
		padding: 18px 0 8px !important;
	}

	body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list,
	body.soccersmarts-fp-team-list-page ol.football-pool.team-list,
	body.soccersmarts-fp-team-list-page ol.team-list,
	body.soccersmarts-fp-user-page .questions-block,
	body.soccersmarts-fp-pool-page .questions-block,
	.soccersmarts-pool-banger-blitz-wrap .questions-block {
		grid-template-columns: 1fr !important;
		gap: 11px !important;
	}

	body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div {
		min-height: 100px !important;
		grid-template-columns: 70px minmax(0, 1fr) !important;
		padding: 13px !important;
		border-radius: 15px !important;
	}

	body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > a:first-child {
		width: 70px !important;
		height: 66px !important;
	}

	body.soccersmarts-fp-stadium-list-page .football-pool.stadium-list > div > h2 {
		font-size: 16px !important;
	}

	body.soccersmarts-fp-team-list-page ol.team-list > li,
	body.soccersmarts-fp-team-list-page ol.team-list > li > a {
		min-height: 84px !important;
	}

	body.soccersmarts-fp-team-list-page ol.team-list > li > a {
		padding: 14px !important;
		font-size: 15px !important;
	}

	body.soccersmarts-fp-stadium-detail-page .entry-content > h1,
	body.soccersmarts-fp-stadium-detail-page .page-content > h1,
	body.soccersmarts-fp-team-detail-page .entry-content > h3,
	body.soccersmarts-fp-team-detail-page .page-content > h3 {
		padding: 19px 17px !important;
		border-radius: 16px !important;
		font-size: 25px !important;
	}

	body.soccersmarts-fp-stadium-detail-page img.stadium-photo:not(.thumb),
	body.soccersmarts-fp-team-detail-page img.team-photo:not(.thumb) {
		height: 210px !important;
		border-radius: 14px !important;
	}

	body.soccersmarts-fp-user-page .entry-content > h2,
	body.soccersmarts-fp-user-page .page-content > h2,
	body.soccersmarts-fp-pool-page h2#bonus,
	body.soccersmarts-fp-pool-page .entry-content > h2,
	body.soccersmarts-fp-pool-page .page-content > h2 {
		margin-top: 28px !important;
		font-size: 24px !important;
	}

	body.soccersmarts-fp-user-page .questions-block div.bonus,
	body.soccersmarts-fp-pool-page .questions-block div.bonus,
	.soccersmarts-pool-banger-blitz-wrap div.bonus {
		padding: 16px !important;
		border-radius: 14px !important;
	}

	body.soccersmarts-fp-user-page .questions-block div.bonus .bonus-card-footer,
	body.soccersmarts-fp-pool-page .questions-block div.bonus .bonus-card-footer,
	.soccersmarts-pool-banger-blitz-wrap div.bonus .bonus-card-footer {
		grid-template-columns: 1fr !important;
		align-items: start !important;
	}

	body.soccersmarts-fp-user-page .questions-block div.bonus .points,
	body.soccersmarts-fp-pool-page .questions-block div.bonus .points,
	.soccersmarts-pool-banger-blitz-wrap div.bonus .points {
		text-align: left !important;
	}
}

/* ========================================================================== 
   Player predictions match cards compact readability fix v1.5.4.18
   Football Pool's /user/ page uses the same .matchinfo.new-layout markup as
   the prediction form. Older global rules left these cards white while the
   native page inherited white text. This block deliberately owns the /user/
   card surface so names, dates, scores and controls remain readable.
   ========================================================================== */
body.soccersmarts-fp-user-page div.matchinfo.new-layout {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout > .matchtype {
	flex: 0 0 100% !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 4px 0 2px !important;
	padding: 11px 16px !important;
	border: 1px solid rgba(255,224,102,.38) !important;
	border-radius: 12px !important;
	background: var(--vip-gold-gradient) !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.14) !important;
	color: #07351f !important;
	font: 900 14px/1.2 var(--vip-font-outfit) !important;
	letter-spacing: .03em !important;
	text-transform: uppercase !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card {
	position: relative !important;
	display: flex !important;
	flex: 0 0 calc(50% - 7px) !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-content: flex-start !important;
	justify-content: center !important;
	width: calc(50% - 7px) !important;
	max-width: calc(50% - 7px) !important;
	min-width: 0 !important;
	min-height: 148px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 12px 14px 11px !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-radius: 15px !important;
	background: linear-gradient(145deg, rgba(8,67,46,.96), rgba(1,39,25,.98)) !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
	color: #ffffff !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	transform: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(255,224,102,.42) !important;
	box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 9px !important;
	padding: 0 0 8px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.10) !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-header span,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-header .matchdate,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-header .time {
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255,255,255,.76) !important;
	font: 700 11px/1.2 var(--vip-font-inter) !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-header .time {
	color: #FFE066 !important;
	font-weight: 900 !important;
	text-align: right !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .flag {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50% !important;
	height: 24px !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 0 6px 2px !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .flag:empty {
	display: block !important;
	height: 10px !important;
	min-height: 10px !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .flag img {
	display: block !important;
	width: auto !important;
	max-width: 30px !important;
	height: auto !important;
	max-height: 22px !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .home:not(.flag),
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .away:not(.flag) {
	display: block !important;
	width: 50% !important;
	min-width: 0 !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 4px 8px 5px !important;
	background: transparent !important;
	color: #ffffff !important;
	font: 900 15px/1.25 var(--vip-font-outfit) !important;
	text-align: center !important;
	text-shadow: none !important;
	box-sizing: border-box !important;
	overflow-wrap: anywhere !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .home:not(.flag) a,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .away:not(.flag) a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: inherit !important;
	text-decoration: none !important;
	text-transform: none !important;
	text-shadow: none !important;
	transform: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .home:not(.flag) a:hover,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .away:not(.flag) a:hover {
	color: #FFE066 !important;
	text-decoration: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .score {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	width: 50% !important;
	min-width: 0 !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 2px 8px !important;
	background: transparent !important;
	color: #FFE066 !important;
	font: 900 14px/1.2 var(--vip-font-outfit) !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .score a,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .score span,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .score .actual-score {
	color: #FFE066 !important;
	font: inherit !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	width: 100% !important;
	height: 36px !important;
	min-height: 36px !important;
	margin: 7px 0 0 !important;
	padding: 7px 0 0 !important;
	border-top: 1px solid rgba(255,255,255,.10) !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-footer > div {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: 28px !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 28px !important;
	background: transparent !important;
	color: rgba(255,255,255,.76) !important;
	font-size: 11px !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-footer .user-score {
	flex: 1 1 auto !important;
	justify-content: flex-start !important;
	min-width: 0 !important;
	color: rgba(255,255,255,.70) !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-footer .fp-icon a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-footer .fp-icon img,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card-footer img {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	margin: 0 !important;
	object-fit: contain !important;
	box-shadow: none !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .fp-joker,
body.soccersmarts-fp-user-page div.matchinfo.new-layout .fp-nojoker {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	background-size: 28px 28px !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .linked-question {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.soccersmarts-fp-user-page div.matchinfo.new-layout .linked-question .bonus {
	margin: 0 0 4px !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(255,224,102,.16) !important;
	border-radius: 13px !important;
	background: rgba(255,255,255,.97) !important;
	color: #173527 !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
}

/* Keep bonus question heading visible even when theme heading rules are stronger. */
body.soccersmarts-fp-user-page .entry-content > h2,
body.soccersmarts-fp-user-page .page-content > h2 {
	color: #ffffff !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

@media (max-width: 900px) {
	body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 142px !important;
	}
}

@media (max-width: 600px) {
	body.soccersmarts-fp-user-page div.matchinfo.new-layout {
		gap: 10px !important;
	}

	body.soccersmarts-fp-user-page div.matchinfo.new-layout > .matchtype {
		padding: 10px 13px !important;
		font-size: 13px !important;
	}

	body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card {
		min-height: 132px !important;
		padding: 11px 12px 10px !important;
		border-radius: 13px !important;
	}

	body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .home:not(.flag),
	body.soccersmarts-fp-user-page div.matchinfo.new-layout .match-card > .away:not(.flag) {
		font-size: 14px !important;
	}
}


/* ==========================================================================
   Native [fp-predictionform] compact card redesign v1.5.4.21
   Fixes low contrast on /pool/ and reduces Football Pool prediction card size.
   ========================================================================== */

/* Prediction form grid */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout,
.soccersmarts-native-fp-predictionform div.matchinfo.new-layout {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

/* Match week / match type heading */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout > .matchtype,
.soccersmarts-native-fp-predictionform div.matchinfo.new-layout > .matchtype {
	flex: 0 0 100% !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 2px !important;
	padding: 9px 14px !important;
	border: 1px solid rgba(255,224,102,.34) !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #FFE066, #C99B1C) !important;
	box-shadow: 0 7px 16px rgba(0,0,0,.12) !important;
	color: #06351f !important;
	font: 900 13px/1.2 var(--vip-font-outfit, "Outfit", sans-serif) !important;
	letter-spacing: .035em !important;
	text-transform: uppercase !important;
	box-sizing: border-box !important;
}

/* Compact prediction cards: three per row on large desktop. */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card,
.soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card {
	position: relative !important;
	display: flex !important;
	flex: 0 0 calc(33.333% - 8px) !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-content: flex-start !important;
	justify-content: center !important;
	width: calc(33.333% - 8px) !important;
	max-width: calc(33.333% - 8px) !important;
	min-width: 0 !important;
	min-height: 132px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid rgba(255,224,102,.20) !important;
	border-radius: 14px !important;
	background: linear-gradient(145deg, rgba(7,70,45,.98), rgba(1,42,25,.99)) !important;
	box-shadow: 0 9px 20px rgba(0,0,0,.18) !important;
	color: #ffffff !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	transform: none !important;
}

body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card:hover,
.soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card:hover {
	transform: translateY(-1px) !important;
	border-color: rgba(255,224,102,.44) !important;
	box-shadow: 0 12px 24px rgba(0,0,0,.22) !important;
}

/* Header with date and kickoff */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card-header,
.soccersmarts-native-fp-predictionform .match-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 7px !important;
	padding: 0 0 7px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.11) !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card-header span,
.soccersmarts-native-fp-predictionform .match-card-header span,
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card-header .matchdate,
.soccersmarts-native-fp-predictionform .match-card-header .matchdate {
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255,255,255,.78) !important;
	font: 700 10.5px/1.2 var(--vip-font-inter, "Inter", sans-serif) !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card-header .time,
.soccersmarts-native-fp-predictionform .match-card-header .time {
	color: #FFE066 !important;
	font-weight: 900 !important;
	text-align: right !important;
}

/* Team flags */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card > .flag,
.soccersmarts-native-fp-predictionform .match-card > .flag {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50% !important;
	height: 20px !important;
	min-height: 20px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.soccersmarts-native-fp-predictionform .match-card > .flag:empty {
	height: 5px !important;
	min-height: 5px !important;
}

.soccersmarts-native-fp-predictionform .match-card > .flag img {
	display: block !important;
	width: auto !important;
	max-width: 26px !important;
	height: auto !important;
	max-height: 18px !important;
	margin: 0 auto !important;
	box-shadow: none !important;
	object-fit: contain !important;
}

/* Team names */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card > .home:not(.flag),
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card > .away:not(.flag),
.soccersmarts-native-fp-predictionform .match-card > .home:not(.flag),
.soccersmarts-native-fp-predictionform .match-card > .away:not(.flag) {
	display: block !important;
	width: 50% !important;
	min-width: 0 !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 3px 5px 4px !important;
	background: transparent !important;
	color: #ffffff !important;
	font: 900 14px/1.2 var(--vip-font-outfit, "Outfit", sans-serif) !important;
	text-align: center !important;
	text-shadow: none !important;
	opacity: 1 !important;
	box-sizing: border-box !important;
	overflow-wrap: anywhere !important;
}

.soccersmarts-native-fp-predictionform .match-card > .home:not(.flag) a,
.soccersmarts-native-fp-predictionform .match-card > .away:not(.flag) a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font: inherit !important;
	text-decoration: none !important;
	text-shadow: none !important;
	transform: none !important;
}

.soccersmarts-native-fp-predictionform .match-card > .home:not(.flag) a:hover,
.soccersmarts-native-fp-predictionform .match-card > .away:not(.flag) a:hover {
	color: #FFE066 !important;
}

/* Prediction score inputs */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card > .score,
.soccersmarts-native-fp-predictionform .match-card > .score {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	width: 50% !important;
	min-width: 0 !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 2px 5px !important;
	background: transparent !important;
	color: #FFE066 !important;
	font: 900 13px/1.2 var(--vip-font-outfit, "Outfit", sans-serif) !important;
	box-sizing: border-box !important;
}

body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card input.prediction,
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card input[type="text"],
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card input[type="number"],
.soccersmarts-native-fp-predictionform .match-card input.prediction,
.soccersmarts-native-fp-predictionform .match-card input[type="text"],
.soccersmarts-native-fp-predictionform .match-card input[type="number"] {
	display: block !important;
	width: 52px !important;
	max-width: 52px !important;
	height: 36px !important;
	min-height: 36px !important;
	margin: 0 auto !important;
	padding: 3px 6px !important;
	border: 1px solid rgba(255,224,102,.52) !important;
	border-radius: 9px !important;
	outline: 0 !important;
	background: #ffffff !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.06) !important;
	color: #123a29 !important;
	font: 900 16px/1 var(--vip-font-outfit, "Outfit", sans-serif) !important;
	text-align: center !important;
	opacity: 1 !important;
	box-sizing: border-box !important;
}

.soccersmarts-native-fp-predictionform .match-card input.prediction:focus,
.soccersmarts-native-fp-predictionform .match-card input[type="text"]:focus,
.soccersmarts-native-fp-predictionform .match-card input[type="number"]:focus {
	border-color: #FFE066 !important;
	box-shadow: 0 0 0 3px rgba(255,224,102,.16) !important;
}

.soccersmarts-native-fp-predictionform .match-card .actual-score,
.soccersmarts-native-fp-predictionform .match-card .score span,
.soccersmarts-native-fp-predictionform .match-card .score a {
	color: #FFE066 !important;
	font: inherit !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* Compact footer and icons */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .match-card-footer,
.soccersmarts-native-fp-predictionform .match-card-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 7px !important;
	width: 100% !important;
	height: 30px !important;
	min-height: 30px !important;
	margin: 5px 0 0 !important;
	padding: 5px 0 0 !important;
	border-top: 1px solid rgba(255,255,255,.10) !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.soccersmarts-native-fp-predictionform .match-card-footer > div {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: 24px !important;
	min-height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: rgba(255,255,255,.75) !important;
	font-size: 10px !important;
	line-height: 24px !important;
	box-sizing: border-box !important;
}

.soccersmarts-native-fp-predictionform .match-card-footer .user-score {
	flex: 1 1 auto !important;
	justify-content: flex-start !important;
	min-width: 0 !important;
	line-height: 1.15 !important;
}

.soccersmarts-native-fp-predictionform .match-card-footer .fp-icon a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.soccersmarts-native-fp-predictionform .match-card-footer .fp-icon img,
.soccersmarts-native-fp-predictionform .match-card-footer img {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	max-width: 24px !important;
	max-height: 24px !important;
	margin: 0 !important;
	box-shadow: none !important;
	object-fit: contain !important;
}

.soccersmarts-native-fp-predictionform .fp-joker,
.soccersmarts-native-fp-predictionform .fp-nojoker {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	background-size: 24px 24px !important;
}

/* Linked questions */
.soccersmarts-native-fp-predictionform div.matchinfo.new-layout .linked-question {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.soccersmarts-native-fp-predictionform .linked-question .bonus {
	margin: 0 0 2px !important;
	padding: 12px 14px !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.98) !important;
	box-shadow: 0 7px 16px rgba(0,0,0,.12) !important;
	color: #173527 !important;
}

/* Save button */
body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .buttonblock,
.soccersmarts-native-fp-predictionform .buttonblock {
	margin: 12px 0 24px !important;
	text-align: center !important;
}

body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform .buttonblock input[type="submit"],
.soccersmarts-native-fp-predictionform .buttonblock input[type="submit"] {
	min-width: 130px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 9px 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #FFE066, #C99B1C) !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.16) !important;
	color: #06351f !important;
	font: 900 12px/1 var(--vip-font-outfit, "Outfit", sans-serif) !important;
	text-transform: uppercase !important;
}

/* Two cards per row on normal laptops/tablets. */
@media (max-width: 1180px) {
	body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card,
	.soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card {
		flex-basis: calc(50% - 6px) !important;
		width: calc(50% - 6px) !important;
		max-width: calc(50% - 6px) !important;
	}
}

/* One compact card per row on phones. */
@media (max-width: 700px) {
	body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout,
	.soccersmarts-native-fp-predictionform div.matchinfo.new-layout {
		gap: 9px !important;
	}

	body.soccersmarts-fp-pool-page .soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card,
	.soccersmarts-native-fp-predictionform div.matchinfo.new-layout .match-card {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 124px !important;
		padding: 9px 10px !important;
		border-radius: 12px !important;
	}

	.soccersmarts-native-fp-predictionform .match-card > .home:not(.flag),
	.soccersmarts-native-fp-predictionform .match-card > .away:not(.flag) {
		font-size: 13px !important;
	}

	.soccersmarts-native-fp-predictionform .match-card input.prediction,
	.soccersmarts-native-fp-predictionform .match-card input[type="text"],
	.soccersmarts-native-fp-predictionform .match-card input[type="number"] {
		width: 48px !important;
		max-width: 48px !important;
		height: 34px !important;
		min-height: 34px !important;
		font-size: 15px !important;
	}
}


/* ==========================================================================
   League page width correction v1.5.4.22
   Keep the existing Weekly Pro design unchanged, only use more page width.
   ========================================================================== */

body.soccersmarts-competition-app .ss-league-main,
.ss-league-app .ss-league-main {
	width: 100% !important;
	max-width: none !important;
}

body.soccersmarts-competition-app .ss-league-app .soccersmarts-league-shell,
.ss-league-app .soccersmarts-league-shell {
	width: min(1440px, calc(100% - 48px)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

@media (max-width: 900px) {
	body.soccersmarts-competition-app .ss-league-app .soccersmarts-league-shell,
	.ss-league-app .soccersmarts-league-shell {
		width: calc(100% - 24px) !important;
	}
}

@media (max-width: 520px) {
	body.soccersmarts-competition-app .ss-league-app .soccersmarts-league-shell,
	.ss-league-app .soccersmarts-league-shell {
		width: calc(100% - 12px) !important;
	}
}


/* ==========================================================================
   League page normal document scrolling v1.5.4.23
   Preserve the existing Weekly Pro design and dimensions, but remove the
   nested internal scroll area that made the page feel stuck while scrolling.
   ========================================================================== */

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-main.ss-league-main,
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-main {
	overflow: visible !important;
	min-height: 0 !important;
	height: auto !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-app .soccersmarts-league-shell {
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-workspace {
	flex: 0 0 auto !important;
	min-height: 0 !important;
	height: auto !important;
	overflow: visible !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-panels {
	flex: 0 0 auto !important;
	min-height: 0 !important;
	height: auto !important;
	overflow: visible !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-panel {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	overflow-y: visible !important;
	overscroll-behavior: auto !important;
}

/* Let the browser/page own scrolling instead of trapping the wheel/trackpad
   inside the predictions/ranking panel. */
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
	overflow: visible !important;
	height: auto !important;
}

/* Keep mobile app navigation behavior intact, but still avoid a trapped
   predictions panel when the normal site header is being used. */
@media (max-width: 768px) {
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-panel,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-panels,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-league-workspace {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		overflow-y: visible !important;
	}
}


/* ==========================================================================
   Homepage compact fixtures v1.5.4.24
   Only the fixture area is changed. Existing homepage package cards, ranking
   slider, background, widths and all other design remain unchanged.
   ========================================================================== */

.ss-home-matches-shortcode .ss-home-fixtures-native,
.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) !important;
	gap: 8px !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout > .matchtype {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 2px !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(255,224,102,.36) !important;
	border-radius: 11px !important;
	background: linear-gradient(135deg,#FFE066,#C99B1C) !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.14) !important;
	color: #06351f !important;
	font: 900 13px/1.15 var(--vip-font-outfit,"Outfit",sans-serif) !important;
	letter-spacing: .025em !important;
	text-transform: uppercase !important;
	box-sizing: border-box !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout .match-card {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0,1fr) 32px minmax(0,1fr) !important;
	grid-template-rows: auto auto !important;
	align-items: center !important;
	flex: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 72px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 9px 12px 11px !important;
	border: 1px solid rgba(255,224,102,.18) !important;
	border-radius: 13px !important;
	background: linear-gradient(145deg,rgba(7,70,45,.98),rgba(1,42,25,.99)) !important;
	box-shadow: 0 8px 18px rgba(0,0,0,.16) !important;
	color: #fff !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	transform: none !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout .match-card:hover {
	border-color: rgba(255,224,102,.42) !important;
	box-shadow: 0 10px 22px rgba(0,0,0,.20) !important;
	transform: translateY(-1px) !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card-header {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 8px !important;
	padding: 0 0 7px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.11) !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card-header span,
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card-header .matchdate {
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255,255,255,.74) !important;
	font: 700 10px/1.15 var(--vip-font-inter,"Inter",sans-serif) !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card-header .time {
	color: #FFE066 !important;
	font-weight: 900 !important;
	text-align: right !important;
}

/* Keep homepage fixtures compact: date, time and team names only. */
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .flag,
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .score {
	display: none !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .home:not(.flag),
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .away:not(.flag) {
	grid-row: 2 !important;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 1px 4px !important;
	background: transparent !important;
	color: #fff !important;
	font: 900 13px/1.18 var(--vip-font-outfit,"Outfit",sans-serif) !important;
	text-shadow: none !important;
	opacity: 1 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	box-sizing: border-box !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .home:not(.flag) {
	grid-column: 1 !important;
	text-align: left !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .away:not(.flag) {
	grid-column: 3 !important;
	text-align: right !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .home:not(.flag) a,
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .away:not(.flag) a,
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .home:not(.flag) a:visited,
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .away:not(.flag) a:visited {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font: inherit !important;
	text-decoration: none !important;
	text-shadow: none !important;
	transform: none !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .home:not(.flag) a:hover,
.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .away:not(.flag) a:hover {
	color: #FFE066 !important;
}

.ss-home-matches-shortcode .ss-home-fixtures-native .match-card::after {
	content: "VS";
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: center !important;
	justify-self: center !important;
	color: #FFE066 !important;
	font: 900 9px/1 var(--vip-font-outfit,"Outfit",sans-serif) !important;
	letter-spacing: .03em !important;
}

@media (max-width: 767px) {
	.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout {
		gap: 7px !important;
	}

	.ss-home-matches-shortcode .ss-home-fixtures-native .matchinfo.new-layout .match-card {
		min-height: 68px !important;
		padding: 8px 10px 10px !important;
		border-radius: 12px !important;
	}

	.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .home:not(.flag),
	.ss-home-matches-shortcode .ss-home-fixtures-native .match-card > .away:not(.flag) {
		font-size: 12px !important;
	}
}


/* ==========================================================================
   Homepage width preservation with fixtures v1.5.4.25
   Football Pool outputs .matchinfo. Legacy match-page CSS used that class to
   cap <main> at 900px, which narrowed the entire homepage only when fixtures
   were present. Keep the homepage at its original full width.
   ========================================================================== */
body.soccersmarts-competition-app:has(.ss-home-matches-shortcode .matchinfo) main,
body.soccersmarts-competition-app:has(.ss-home-matches-shortcode .matchinfo) #main,
body.soccersmarts-competition-app:has(.ss-home-matches-shortcode .matchinfo) .ss-competitions-main {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}

/* Ranking and package/fixture split retain exactly the same 1100px design
   width they have when the homepage fixture shortcode is empty. */
body.soccersmarts-competition-app:has(.ss-home-matches-shortcode .matchinfo) .ss-home-ranking-slider,
body.soccersmarts-competition-app:has(.ss-home-matches-shortcode .matchinfo) .ss-home-competition-split {
	width: min(1100px, 100%) !important;
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}


/* ==========================================================================
   Homepage stadium visibility + responsive live ranking typography v1.5.4.26
   Keep the current homepage design and fixture layout. Only reduce the green
   page veil so the configured stadium image remains visible, and cap ranking
   typography so it scales correctly on desktop, tablet and phone.
   ========================================================================== */

/* The cards themselves stay dark green. Only the page/shell behind the cards
   becomes more transparent so the selected stadium background can be seen. */
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
	background-color: transparent !important;
	background-image:
		radial-gradient(circle at 88% 6%, rgba(255, 224, 102, .025), transparent 30%),
		linear-gradient(180deg, rgba(2, 37, 27, .10) 0%, rgba(0, 28, 16, .20) 100%),
		var(--soccersmarts-page-background-image) !important;
	background-size: auto, auto, cover !important;
	background-position: center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
}

body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competitions-main,
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-competition-split,
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-packages-column,
body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-matches-column {
	background-color: transparent !important;
	background-image: none !important;
}

/* Preserve the existing glass cards exactly, but make the ranking title and
   supporting text device-aware instead of inheriting oversized theme fonts. */
body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league > span {
	font-size: clamp(7px, .65vw, 9px) !important;
	line-height: 1.2 !important;
	letter-spacing: .11em !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league h2 {
	margin: 0 0 6px !important;
	font-family: var(--vip-font-outfit, "Outfit", sans-serif) !important;
	font-size: clamp(14px, 1.25vw, 18px) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league a {
	font-size: clamp(8px, .72vw, 10px) !important;
	line-height: 1.2 !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-live {
	font-size: clamp(8px, .72vw, 10px) !important;
	line-height: 1 !important;
	padding: 6px 10px !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-tab {
	font-size: clamp(7px, .65vw, 9px) !important;
	line-height: 1.1 !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-rank-copy strong {
	font-size: clamp(10px, .9vw, 12px) !important;
	line-height: 1.18 !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-rank-copy small {
	font-size: clamp(6px, .58vw, 8px) !important;
}

body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-rank-copy em {
	font-size: clamp(7px, .65vw, 9px) !important;
}

/* Tablets */
@media (max-width: 900px) {
	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league h2 {
		font-size: 15px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-live {
		font-size: 8px !important;
		padding: 5px 8px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-tab {
		font-size: 8px !important;
	}
}

/* Phones: prevent titles like "SOCCER SMARTS FREE" from becoming giant or
   overflowing while retaining the existing mobile ranking layout. */
@media (max-width: 600px) {
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-app-shell {
		background-attachment: scroll !important;
		background-image:
			linear-gradient(180deg, rgba(2, 37, 27, .08) 0%, rgba(0, 28, 16, .16) 100%),
			var(--soccersmarts-page-background-image) !important;
		background-size: auto, cover !important;
		background-position: center top, center top !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league h2 {
		font-size: 13px !important;
		line-height: 1.08 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league > span {
		font-size: 7px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league a {
		font-size: 8px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-rank-copy strong {
		font-size: 9px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-rank-copy small {
		font-size: 6px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-rank-copy em {
		font-size: 7px !important;
	}
}

@media (max-width: 390px) {
	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-league h2 {
		font-size: 12px !important;
	}

	body.soccersmarts-competition-app .ss-home-ranking-slider .ss-home-ranking-tab {
		font-size: 7px !important;
		padding: 4px 6px !important;
	}
}



/* ==========================================================================
   Football Pool match player predictions page fix v1.5.4.27
   Route: /statistics/?view=matchpredictions&match=...
   Keep the existing SoccerSmarts theme, but make this native Football Pool
   table compact, readable and responsive. No Football Pool data is changed.
   ========================================================================== */
body.soccersmarts-fp-match-predictions-page .entry-content,
body.soccersmarts-fp-match-predictions-page .page-content,
body.soccersmarts-fp-statistics-page .entry-content,
body.soccersmarts-fp-statistics-page .page-content {
    width: min(980px, calc(100% - 40px)) !important;
    max-width: 980px !important;
    margin: 22px auto 90px !important;
    padding: 24px 24px 30px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 18px !important;
    background: rgba(0,35,20,.72) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
    overflow: visible !important;
}

/* Match title and stadium name were inheriting the global dark heading colour. */
body.soccersmarts-fp-match-predictions-page .entry-content h1,
body.soccersmarts-fp-match-predictions-page .entry-content h2,
body.soccersmarts-fp-match-predictions-page .page-content h1,
body.soccersmarts-fp-match-predictions-page .page-content h2,
body.soccersmarts-fp-statistics-page .entry-content > h1,
body.soccersmarts-fp-statistics-page .entry-content > h2,
body.soccersmarts-fp-statistics-page .page-content > h1,
body.soccersmarts-fp-statistics-page .page-content > h2 {
    margin: 0 0 10px !important;
    color: #ffe066 !important;
    font: 900 clamp(25px, 3vw, 36px)/1.15 var(--vip-font-outfit) !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.28) !important;
}

body.soccersmarts-fp-match-predictions-page h3,
body.soccersmarts-fp-match-predictions-page .stadium-name,
body.soccersmarts-fp-statistics-page h3.stadium-name {
    margin: 0 0 22px !important;
    color: rgba(255,255,255,.82) !important;
    font: 700 15px/1.35 var(--vip-font-outfit) !important;
    text-align: center !important;
    text-shadow: none !important;
}

/* Native Football Pool player prediction table. */
body.soccersmarts-fp-match-predictions-page table.matchinfo,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics {
    display: table !important;
    width: 100% !important;
    max-width: 900px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid rgba(255,224,102,.18) !important;
    border-radius: 14px !important;
    background: rgba(3,42,27,.94) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
    overflow: hidden !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo thead,
body.soccersmarts-fp-match-predictions-page table.matchinfo tbody,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics thead,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics tbody {
    display: table-row-group !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo tr,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics tr {
    display: table-row !important;
    height: auto !important;
    background: transparent !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo th,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics th {
    display: table-cell !important;
    height: 42px !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(0,20,12,.88) !important;
    color: #fff !important;
    font: 800 12px/1.2 var(--vip-font-outfit) !important;
    letter-spacing: .045em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo th:first-child,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics th:first-child {
    width: 56% !important;
    text-align: left !important;
    padding-left: 18px !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo td,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td {
    display: table-cell !important;
    height: 62px !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(255,255,255,.018) !important;
    color: #f8fbf9 !important;
    font: 700 14px/1.3 var(--vip-font-inter) !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo tbody tr:nth-child(even) td,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics tbody tr:nth-child(even) td {
    background: rgba(255,255,255,.035) !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo tbody tr:last-child td,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics tbody tr:last-child td {
    border-bottom: 0 !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo td:first-child,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td:first-child {
    width: 56% !important;
    padding-left: 18px !important;
    text-align: left !important;
}

/* Stronger than the old global /user/ gold-banner selector. */
body.soccersmarts-fp-match-predictions-page table.matchinfo td:first-child > a[href*="/user/"],
body.soccersmarts-fp-match-predictions-page table.matchinfo a[href*="/user/"],
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td:first-child > a[href*="/user/"],
body.soccersmarts-fp-statistics-page table.matchinfo.statistics a[href*="/user/"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font: 800 14px/1.3 var(--vip-font-outfit) !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: color .18s ease !important;
    overflow-wrap: anywhere !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo a[href*="/user/"]:hover,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics a[href*="/user/"]:hover {
    color: #ffe066 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Prediction numbers and separator. */
body.soccersmarts-fp-match-predictions-page table.matchinfo td.home,
body.soccersmarts-fp-match-predictions-page table.matchinfo td.away,
body.soccersmarts-fp-match-predictions-page table.matchinfo td.score,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.home,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.away,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.score {
    color: #ffe066 !important;
    font: 900 15px/1.2 var(--vip-font-outfit) !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo td.match-hyphen,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics td.match-hyphen {
    width: 22px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    color: rgba(255,255,255,.48) !important;
}

/* Keep joker/score icons compact and centered. */
body.soccersmarts-fp-match-predictions-page table.matchinfo img,
body.soccersmarts-fp-match-predictions-page table.matchinfo .fp-joker img,
body.soccersmarts-fp-match-predictions-page table.matchinfo .fp-nojoker img,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics img {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

body.soccersmarts-fp-match-predictions-page table.matchinfo .fp-joker,
body.soccersmarts-fp-match-predictions-page table.matchinfo .fp-nojoker,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics .fp-joker,
body.soccersmarts-fp-statistics-page table.matchinfo.statistics .fp-nojoker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
}

@media (max-width: 700px) {
    body.soccersmarts-fp-match-predictions-page .entry-content,
    body.soccersmarts-fp-match-predictions-page .page-content,
    body.soccersmarts-fp-statistics-page .entry-content,
    body.soccersmarts-fp-statistics-page .page-content {
        width: calc(100% - 20px) !important;
        margin: 12px 10px calc(86px + env(safe-area-inset-bottom, 0px)) !important;
        padding: 18px 10px 22px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    body.soccersmarts-fp-match-predictions-page .entry-content h1,
    body.soccersmarts-fp-match-predictions-page .entry-content h2,
    body.soccersmarts-fp-statistics-page .entry-content > h1,
    body.soccersmarts-fp-statistics-page .entry-content > h2 {
        font-size: clamp(21px, 7vw, 28px) !important;
        overflow-wrap: anywhere !important;
    }

    body.soccersmarts-fp-match-predictions-page table.matchinfo,
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    body.soccersmarts-fp-match-predictions-page table.matchinfo th,
    body.soccersmarts-fp-match-predictions-page table.matchinfo td,
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics th,
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics td {
        padding: 9px 6px !important;
        font-size: 11px !important;
    }

    body.soccersmarts-fp-match-predictions-page table.matchinfo th:first-child,
    body.soccersmarts-fp-match-predictions-page table.matchinfo td:first-child,
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics th:first-child,
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics td:first-child {
        width: 50% !important;
        padding-left: 10px !important;
    }

    body.soccersmarts-fp-match-predictions-page table.matchinfo a[href*="/user/"],
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics a[href*="/user/"] {
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    body.soccersmarts-fp-match-predictions-page table.matchinfo img,
    body.soccersmarts-fp-statistics-page table.matchinfo.statistics img {
        max-width: 30px !important;
        max-height: 30px !important;
    }
}


/* ==========================================================================
   Auth reliability, footer order and compact competition titles v1.5.4.29
   ========================================================================== */

/* The plugin auth template must always have a visible content area even when
   the active page builder supplied an empty/blank page template. */
body.soccersmarts-auth-page .soccersmarts-auth-main,
body.soccersmarts-auth-page .soccersmarts-auth-route-content {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
	background: transparent !important;
}

/* The desktop footer is normal document flow content, never a header/fixed
   element. JavaScript also keeps it as the final body block after guest CTA
   transformations. */
.soccersmarts-custom-footer {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	clear: both !important;
	float: none !important;
	transform: none !important;
	z-index: 1 !important;
}

/* Tablet and phone package cards: keep long titles such as SOCCER SMARTS FREE
   and SOCCER SMARTS DAILY PRO compact and readable. These rules are placed at
   the end of the stylesheet so theme heading sizes cannot override them. */
@media (max-width: 1100px) {
	body.soccersmarts-competition-app .ss-competition-card h2,
	body.soccersmarts-vip-managed-page .ss-competition-card h2,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2,
	body.soccersmarts-vip-managed-page .ss-home-package-grid .ss-competition-card h2 {
		font-size: 20px !important;
		line-height: 1.08 !important;
		letter-spacing: 0 !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}
}

@media (max-width: 768px) {
	body.soccersmarts-competition-app .ss-competition-card h2,
	body.soccersmarts-vip-managed-page .ss-competition-card h2,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2,
	body.soccersmarts-vip-managed-page .ss-home-package-grid .ss-competition-card h2 {
		font-size: 15px !important;
		line-height: 1.1 !important;
		margin: 6px 0 3px !important;
	}
}

@media (max-width: 420px) {
	body.soccersmarts-competition-app .ss-competition-card h2,
	body.soccersmarts-vip-managed-page .ss-competition-card h2,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2,
	body.soccersmarts-vip-managed-page .ss-home-package-grid .ss-competition-card h2 {
		font-size: 13px !important;
	}
}

/* ==========================================================
   Ranking points + Match Type filter (v1.5.4.30)
   ========================================================== */
body.soccersmarts-fp-ranking-page .ranking-select-block {
	grid-template-columns: minmax(0, 1.5fr) minmax(210px, .7fr) auto !important;
}

body.soccersmarts-fp-ranking-page .ranking-match-type-select {
	font: 800 11px/1.35 var(--vip-font-outfit) !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	min-width: 0 !important;
}

body.soccersmarts-fp-ranking-page .ranking-match-type-select label {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
}

body.soccersmarts-fp-ranking-page .ranking-match-type-select select {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 46px !important;
	margin-top: 6px !important;
	padding: 9px 42px 9px 13px !important;
	border: 1px solid rgba(255,255,255,.17) !important;
	border-radius: 11px !important;
	background-color: rgba(255,255,255,.96) !important;
	color: #1b2d24 !important;
	font: 600 14px/1.2 var(--vip-font-inter) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

/* Ranking values were inheriting the page's light text colour. Keep rank and
   points readable on the white ranking rows for every user, including 0. */
body.soccersmarts-fp-ranking-page table.pool-ranking th,
body.soccersmarts-fp-ranking-page table.pool-ranking td,
body.soccersmarts-fp-ranking-page table.standen th,
body.soccersmarts-fp-ranking-page table.standen td {
	color: #1b2d24 !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking .user-rank,
body.soccersmarts-fp-ranking-page table.pool-ranking .user-score {
	color: #0b2511 !important;
	font-weight: 900 !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking .user-score {
	text-align: right !important;
	min-width: 72px !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking .user-match-type {
	width: 170px !important;
	max-width: 170px !important;
	text-align: left !important;
	font-weight: 800 !important;
	color: #365347 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking thead .user-match-type,
body.soccersmarts-fp-ranking-page table.pool-ranking thead .user-score {
	color: #234235 !important;
}

body.soccersmarts-fp-ranking-page table.pool-ranking .user-name a {
	color: #0872d1 !important;
}

@media (max-width: 768px) {
	body.soccersmarts-fp-ranking-page .ranking-select-block {
		grid-template-columns: 1fr !important;
	}

	body.soccersmarts-fp-ranking-page table.pool-ranking th,
	body.soccersmarts-fp-ranking-page table.pool-ranking td {
		padding: 9px 8px !important;
		font-size: 12px !important;
	}

	body.soccersmarts-fp-ranking-page table.pool-ranking .user-rank {
		width: 42px !important;
		min-width: 42px !important;
	}

	body.soccersmarts-fp-ranking-page table.pool-ranking .user-match-type {
		width: 100px !important;
		max-width: 100px !important;
		font-size: 10px !important;
	}

	body.soccersmarts-fp-ranking-page table.pool-ranking .user-score {
		width: 58px !important;
		min-width: 58px !important;
	}
}


/* ==========================================================================
   Checkout currency select display fix v1.5.4.35
   Ensures the selected currency text is fully visible on mobile and desktop.
   ========================================================================== */
#vip-checkout-form #vip_currency {
	min-height: 56px !important;
	height: 56px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 15px !important;
	padding-right: 42px !important;
	line-height: normal !important;
	font-size: 1rem !important;
	display: block !important;
	box-sizing: border-box !important;
	background-clip: padding-box !important;
}

#vip-checkout-form #vip_currency option {
	font-size: 1rem !important;
	line-height: 1.35 !important;
	color: #ffffff !important;
	background: #001705 !important;
}

@media (max-width: 768px) {
	#vip-checkout-form #vip_currency {
		min-height: 54px !important;
		height: 54px !important;
		font-size: 16px !important;
	}
}


/* ==========================================================================
   Notification actions v1.5.4.36
   ========================================================================== */
.ss-notification-heading-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.ss-notification-mark-all {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	padding: 0 14px !important;
	border: 1px solid rgba(255, 224, 102, .42) !important;
	border-radius: 999px !important;
	color: #ffe066 !important;
	font-size: .78rem !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.ss-notification-mark-all:hover {
	background: rgba(255, 224, 102, .10) !important;
	color: #ffe066 !important;
}

@media (max-width: 768px) {
	.ss-notification-heading-actions {
		justify-content: flex-start !important;
		width: 100% !important;
	}
}


/* Required player payout profile v1.5.4.37 */
.ss-auth-mode-profile input[readonly],
.ss-auth-mode-profile input[disabled] {
	opacity: .72 !important;
	cursor: not-allowed !important;
}

.ss-profile-shell .ss-auth-payment-note {
	margin-bottom: 18px;
}


/* Required payout phone first + Mobile Money name confirmation v1.5.4.38 */
.ss-auth-phone-first {
	padding: 12px 14px !important;
	border: 1px solid rgba(255, 224, 102, .24) !important;
	border-radius: 12px !important;
	background: rgba(255, 224, 102, .045) !important;
}
.ss-auth-name-confirm {
	align-items: flex-start !important;
	padding: 10px 12px !important;
	border-radius: 10px !important;
	background: rgba(255,255,255,.035) !important;
}
.ss-auth-name-confirm input[type="checkbox"] {
	margin-top: 2px !important;
	flex: 0 0 auto !important;
}
.ss-auth-name-confirm span {
	line-height: 1.4 !important;
}


/* ==========================================================================
   Separate league dashboard Match Type ranking filter v1.5.4.41
   ========================================================================== */
.ss-league-ranking-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	margin: 2px 0 12px;
}

.ss-league-app .ss-league-ranking-head h3 {
	margin: 0 !important;
}

.ss-league-match-type-form {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.ss-league-match-type-form label {
	color: var(--vip-gold);
	font-family: var(--vip-font-outfit);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .6px;
	white-space: nowrap;
}

.ss-league-match-type-form select {
	min-width: 180px;
	height: 40px;
	padding: 0 34px 0 12px;
	border: 1px solid rgba(255, 224, 102, .35);
	border-radius: 10px;
	background: #062f18;
	color: #fff;
	font-family: var(--vip-font-inter);
	font-size: 14px;
	font-weight: 700;
	box-sizing: border-box;
}

.ss-league-match-type-form select:focus {
	outline: none;
	border-color: var(--vip-gold);
	box-shadow: 0 0 0 2px rgba(255, 224, 102, .12);
}

.ss-league-match-type-form noscript button {
	height: 40px;
	border: 0;
	border-radius: 10px;
	padding: 0 14px;
	background: var(--vip-gold);
	color: #052713;
	font-weight: 800;
}

@media (max-width: 680px) {
	.ss-league-ranking-head {
		align-items: stretch;
		flex-direction: column;
		gap: 9px;
	}

	.ss-league-match-type-form {
		align-items: stretch;
		flex-direction: column;
		gap: 5px;
	}

	.ss-league-match-type-form select {
		width: 100%;
		min-width: 0;
		font-size: 16px;
	}
}

/* ==========================================================================
   Separate dashboard Pro package advert slideshow v1.5.4.42
   Promotes Daily, Weekly and Monthly Pro inside every league dashboard.
   ========================================================================== */
.ss-pro-promo-slider {
	position: relative;
	width: 100%;
	margin: 14px 0 16px;
	padding: 16px;
	border: 1px solid rgba(255, 224, 102, .24);
	border-radius: 18px;
	background:
		radial-gradient(circle at 90% 15%, rgba(255, 224, 102, .13), transparent 34%),
		linear-gradient(135deg, rgba(0, 38, 14, .98), rgba(0, 57, 25, .96));
	box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
	overflow: hidden;
	box-sizing: border-box;
}

.ss-pro-promo-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 12px;
}

.ss-pro-promo-kicker {
	display: block;
	margin-bottom: 3px;
	color: var(--vip-gold) !important;
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ss-pro-promo-topline h3 {
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--vip-font-outfit) !important;
	font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
	line-height: 1.1 !important;
}

.ss-pro-promo-controls {
	display: flex;
	gap: 7px;
	flex: 0 0 auto;
}

.ss-pro-promo-arrow {
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 224, 102, .38) !important;
	border-radius: 50% !important;
	background: rgba(0, 23, 5, .72) !important;
	color: var(--vip-gold) !important;
	font-size: 1.45rem !important;
	font-weight: 700 !important;
	line-height: 28px !important;
	padding: 0 !important;
	cursor: pointer;
}

.ss-pro-promo-arrow:hover,
.ss-pro-promo-arrow:focus-visible {
	background: var(--vip-gold) !important;
	color: #00240d !important;
	outline: none !important;
}

.ss-pro-promo-viewport {
	width: 100%;
	overflow: hidden;
	border-radius: 14px;
}

.ss-pro-promo-track {
	display: flex;
	width: 100%;
	transform: translate3d(0,0,0);
	transition: transform .5s cubic-bezier(.22,.61,.36,1);
	will-change: transform;
}

.ss-pro-promo-slide {
	flex: 0 0 100%;
	width: 100%;
	min-width: 100%;
	box-sizing: border-box;
}

.ss-pro-promo-copy {
	min-height: 205px;
	padding: 20px;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(0, 29, 10, .86), rgba(13, 74, 39, .62));
	box-sizing: border-box;
}

.ss-pro-promo-slide.is-current .ss-pro-promo-copy {
	border-color: rgba(255, 224, 102, .42);
}

.ss-pro-promo-badges {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
}

.ss-pro-promo-pro-badge,
.ss-pro-promo-current {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: .66rem;
	font-weight: 900;
	letter-spacing: .8px;
	line-height: 1;
}

.ss-pro-promo-pro-badge {
	background: rgba(255, 224, 102, .16);
	color: var(--vip-gold) !important;
}

.ss-pro-promo-current {
	background: rgba(31, 195, 102, .18);
	color: #7df0ad !important;
}

.ss-pro-promo-slide h4 {
	margin: 0 0 7px !important;
	color: #fff !important;
	font-family: var(--vip-font-outfit) !important;
	font-size: clamp(1.35rem, 3vw, 2.05rem) !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-transform: uppercase;
}

.ss-pro-promo-slide p {
	max-width: 720px;
	margin: 0 0 14px !important;
	color: rgba(255,255,255,.76) !important;
	font-size: .88rem !important;
	line-height: 1.45 !important;
}

.ss-pro-promo-meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 15px;
}

.ss-pro-promo-meta span {
	display: block;
	min-width: 0;
	padding: 9px 10px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 10px;
	background: rgba(0, 23, 5, .42);
}

.ss-pro-promo-meta small {
	display: block;
	margin-bottom: 3px;
	color: rgba(255,255,255,.48) !important;
	font-size: .58rem !important;
	font-weight: 800;
	letter-spacing: .75px;
}

.ss-pro-promo-meta strong {
	display: block;
	color: #fff !important;
	font-size: .79rem !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere;
}

.ss-pro-promo-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--vip-gold-gradient) !important;
	color: #00240d !important;
	font-size: .76rem !important;
	font-weight: 900 !important;
	letter-spacing: .4px;
	text-decoration: none !important;
}

.ss-pro-promo-cta:hover,
.ss-pro-promo-cta:focus-visible {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.ss-pro-promo-dots {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin-top: 11px;
}

.ss-pro-promo-dot {
	width: 8px !important;
	height: 8px !important;
	min-width: 8px !important;
	min-height: 8px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.28) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: width .2s ease, background .2s ease;
}

.ss-pro-promo-dot.is-active {
	width: 24px !important;
	background: var(--vip-gold) !important;
}

@media (max-width: 768px) {
	.ss-pro-promo-slider {
		margin: 10px 0 13px;
		padding: 12px;
		border-radius: 15px;
	}

	.ss-pro-promo-topline {
		margin-bottom: 9px;
	}

	.ss-pro-promo-topline h3 {
		font-size: 1rem !important;
	}

	.ss-pro-promo-controls {
		gap: 5px;
	}

	.ss-pro-promo-arrow {
		width: 31px;
		height: 31px;
		font-size: 1.25rem !important;
		line-height: 26px !important;
	}

	.ss-pro-promo-copy {
		min-height: 0;
		padding: 15px;
	}

	.ss-pro-promo-slide h4 {
		font-size: 1.35rem !important;
	}

	.ss-pro-promo-slide p {
		font-size: .78rem !important;
	}

	.ss-pro-promo-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}

	.ss-pro-promo-meta span {
		padding: 8px;
	}

	.ss-pro-promo-meta strong {
		font-size: .72rem !important;
	}

	.ss-pro-promo-cta {
		width: 100%;
		box-sizing: border-box;
	}
}


/* Banger Blitz v1.5.4.45: questions only + 5 second per-question countdown. */
.soccersmarts-pool-banger-blitz-wrap.ss-banger-questions-only > .soccersmarts-native-fp-predictionform .matchinfo,
.soccersmarts-pool-banger-blitz-wrap.ss-banger-questions-only > .soccersmarts-native-fp-predictionform .matches-block {
	display: none !important;
}
.soccersmarts-pool-banger-blitz-wrap .ss-banger-question-timer {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 3 !important;
	min-width: 38px !important;
	padding: 6px 9px !important;
	border-radius: 999px !important;
	background: #0b4a2d !important;
	color: #ffe066 !important;
	font: 900 12px/1 var(--vip-font-outfit) !important;
	text-align: center !important;
	box-shadow: 0 5px 14px rgba(0,0,0,.14) !important;
}


/* ==========================================================================
   SoccerSmarts homepage packages v1.5.4.60
   Desktop: show packages in one row and remove the homepage match preview column.
   Mobile rules above stay unchanged.
   ========================================================================== */
@media (min-width: 768px) {
	body.soccersmarts-competition-app .ss-home-competition-split {
		display: block !important;
		width: min(1480px, 94vw) !important;
		max-width: 1480px !important;
	}

	body.soccersmarts-competition-app .ss-home-packages-column {
		width: 100% !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-rows: 1fr !important;
		grid-auto-rows: auto !important;
		height: auto !important;
		min-height: 0 !important;
		gap: 12px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card {
		min-height: 235px !important;
	}

	body.soccersmarts-competition-app .ss-home-matches-column {
		display: none !important;
	}
}

/* Normal prediction forms show match predictions only. Banger Blitz keeps bonus questions. */
.soccersmarts-native-fp-predictionform.ss-fp-matches-only .questions-block {
	display: none !important;
}

/* ==========================================================================
   SoccerSmarts homepage packages v1.5.4.61
   Desktop-only fit fix: keep the upper design, keep mobile rules unchanged,
   and make all four package cards fit within the visible screen.
   ========================================================================== */
@media (min-width: 768px) {
	body.soccersmarts-competition-app .ss-home-competition-split {
		width: min(1320px, calc(100vw - 48px)) !important;
		max-width: 1320px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		overflow: visible !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid {
		display: grid !important;
		width: 100% !important;
		max-width: 100% !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-rows: 1fr !important;
		gap: clamp(8px, .85vw, 12px) !important;
		overflow: visible !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card {
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 220px !important;
		padding: clamp(12px, .9vw, 16px) !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2 {
		max-width: 100% !important;
		font-size: clamp(16px, 1.45vw, 22px) !important;
		line-height: 1.08 !important;
		letter-spacing: 0 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		text-wrap: balance;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card p,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta {
		font-size: clamp(9px, .75vw, 11px) !important;
		line-height: 1.3 !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta {
		gap: 5px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta span {
		padding: 4px 6px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-button {
		padding: 7px 10px !important;
		font-size: 9px !important;
	}
}

@media (min-width: 768px) and (max-width: 1180px) {
	body.soccersmarts-competition-app .ss-home-competition-split {
		width: min(1120px, calc(100vw - 28px)) !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card {
		min-height: 205px !important;
		padding: 11px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2 {
		font-size: clamp(13px, 1.7vw, 17px) !important;
	}
}

/* ========================================================================== 
   SoccerSmarts homepage packages v1.5.4.62
   Desktop only: keep the existing upper design, remove sideways package scroll,
   and force the four league package cards to fit in one visible row.
   Mobile rules above remain unchanged.
   ========================================================================== */
@media (min-width: 768px) {
	body.soccersmarts-competition-app .ss-app-main,
	body.soccersmarts-competition-app .ss-competitions-main {
		overflow-x: hidden !important;
	}

	body.soccersmarts-competition-app .ss-home-competition-split {
		display: block !important;
		width: 100% !important;
		max-width: 1180px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	body.soccersmarts-competition-app .ss-home-packages-column {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid {
		display: grid !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-rows: 1fr !important;
		grid-auto-flow: row !important;
		grid-auto-rows: auto !important;
		gap: clamp(6px, .65vw, 10px) !important;
		overflow-x: hidden !important;
		overflow-y: visible !important;
		scroll-snap-type: none !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid [data-ss-carousel-clone] {
		display: none !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 190px !important;
		padding: clamp(9px, .75vw, 13px) !important;
		border-radius: 16px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-label,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-current-badge {
		font-size: clamp(7px, .55vw, 9px) !important;
		padding: 4px 6px !important;
		letter-spacing: .06em !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2 {
		font-size: clamp(12px, 1.15vw, 18px) !important;
		line-height: 1.08 !important;
		margin: 6px 0 3px !important;
		max-width: 100% !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		text-wrap: balance;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card p {
		font-size: clamp(8px, .65vw, 10px) !important;
		line-height: 1.3 !important;
		margin-bottom: 6px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta {
		gap: 4px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta span {
		padding: 3px 5px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-button {
		padding: 6px 9px !important;
		font-size: 8px !important;
	}
}


/* ==========================================================================
   SoccerSmarts homepage packages v1.5.4.63
   Mobile: remove package carousel/sideways scroll and show the 4 packages as
   a clean 2x2 grid. Keep the card design, reduce the space below packages.
   ========================================================================== */
@media (max-width: 767px) {
	body.soccersmarts-competition-app .ss-home-competition-split,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-competition-split {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto 10px !important;
		padding: 0 10px !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}

	body.soccersmarts-competition-app .ss-home-packages-column,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-packages-column {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-template-rows: repeat(2, auto) !important;
		grid-auto-flow: row !important;
		grid-auto-rows: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 10px !important;
		overflow-x: hidden !important;
		overflow-y: visible !important;
		scroll-snap-type: none !important;
		touch-action: auto !important;
		scrollbar-width: none !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid::-webkit-scrollbar,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid::-webkit-scrollbar {
		display: none !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid [data-ss-carousel-clone],
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid [data-ss-carousel-clone] {
		display: none !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card {
		flex: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		min-height: 154px !important;
		padding: 10px !important;
		border-radius: 14px !important;
		scroll-snap-align: none !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-label,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-current-badge,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-label,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-current-badge {
		font-size: 8px !important;
		padding: 4px 7px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card h2 {
		font-size: clamp(13px, 4vw, 17px) !important;
		line-height: 1.08 !important;
		margin: 8px 0 5px !important;
		letter-spacing: 0 !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card p,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card p,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-meta {
		font-size: 9px !important;
		line-height: 1.26 !important;
		margin-bottom: 6px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-meta {
		gap: 4px !important;
		flex-wrap: wrap !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta span,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-meta span {
		padding: 3px 5px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-button,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-button {
		font-size: 8px !important;
		padding: 6px 9px !important;
	}

	body.soccersmarts-competition-app .ss-home-matches-column,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-matches-column {
		display: none !important;
	}

	body.soccersmarts-competition-app .ss-competitions-main,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competitions-main {
		padding-bottom: 12px !important;
	}
}

/* ========================================================================== 
   SoccerSmarts homepage packages width/spacing fix v1.5.4.64
   Keep the existing card design. Align packages and prediction form to the
   same content width as the top ranking container, reduce package gaps and
   remove excess space below package grid.
   ========================================================================== */
body.soccersmarts-competition-app .ss-home-ranking-slider,
body.soccersmarts-competition-app .ss-home-competition-split,
body.soccersmarts-competition-app .soccersmarts-native-fp-predictionform,
body.soccersmarts-competition-app .soccersmarts-pool-predictions-wrap,
body.soccersmarts-competition-app .matchinfo.pool-page {
	width: min(1100px, 100%) !important;
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

body.soccersmarts-competition-app .ss-home-competition-split {
	margin-bottom: 6px !important;
}

body.soccersmarts-competition-app .soccersmarts-native-fp-predictionform,
body.soccersmarts-competition-app .soccersmarts-pool-predictions-wrap {
	margin-top: 6px !important;
}

body.soccersmarts-competition-app .soccersmarts-native-fp-predictionform > *,
body.soccersmarts-competition-app .soccersmarts-pool-predictions-wrap > *,
body.soccersmarts-competition-app .matchinfo.pool-page {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

@media (min-width: 768px) {
	body.soccersmarts-competition-app .ss-home-competition-split,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-competition-split {
		width: min(1100px, 100%) !important;
		max-width: 1100px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 8px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card {
		min-height: 188px !important;
		padding: 10px !important;
	}
}

@media (max-width: 767px) {
	body.soccersmarts-competition-app .ss-home-ranking-slider,
	body.soccersmarts-competition-app .ss-home-competition-split,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-competition-split,
	body.soccersmarts-competition-app .soccersmarts-native-fp-predictionform,
	body.soccersmarts-competition-app .soccersmarts-pool-predictions-wrap,
	body.soccersmarts-competition-app .matchinfo.pool-page {
		width: calc(100% - 16px) !important;
		max-width: calc(100% - 16px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	body.soccersmarts-competition-app .ss-home-competition-split,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-competition-split {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 2px !important;
		overflow: visible !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
		margin-bottom: 2px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card {
		min-height: 146px !important;
		padding: 9px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card h2,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card h2 {
		font-size: clamp(12px, 3.7vw, 16px) !important;
		line-height: 1.08 !important;
		margin: 7px 0 4px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-competition-card p,
	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-competition-card p,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-meta {
		font-size: 8.5px !important;
		line-height: 1.22 !important;
		margin-bottom: 5px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-meta,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-meta {
		gap: 3px !important;
	}

	body.soccersmarts-competition-app .ss-home-package-grid .ss-card-button,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-home-package-grid .ss-card-button {
		padding: 6px 8px !important;
		font-size: 7.8px !important;
	}

	body.soccersmarts-competition-app .ss-competitions-main,
	body.soccersmarts-competition-app.soccersmarts-competition-use-site-header .ss-competitions-main {
		padding-bottom: 4px !important;
	}

	body.soccersmarts-competition-app .soccersmarts-native-fp-predictionform,
	body.soccersmarts-competition-app .soccersmarts-pool-predictions-wrap {
		margin-top: 4px !important;
	}
}
