/* =============================================================
   league-sponsor.css
   T20 Mumbai League — Cricket Ticket Giveaway Page
   Agribid Private Limited
   ============================================================= */

/* ---- CSS Variables (matches agribid-dark.css theme) ---- */
:root {
	--ls-dark-1:   #0f1f14;
	--ls-dark-2:   #1b3220;
	--ls-dark-3:   #263c28;
	--ls-green:    #334b35;
	--ls-green-lt: #6ba85a;
	--ls-gold:     #f0a500;
	--ls-gold-lt:  #ffd166;
	--ls-text:     #b3c5b5;
	--ls-white:    #ffffff;
	--ls-radius:   14px;
	--ls-shadow:   0 8px 40px rgba(0, 0, 0, 0.35);
	--agribid-marquee-height: 36px;
}

/* ============================================================
   GIVEAWAY MARQUEE BAR — fixed top, RTL scroll
   ============================================================ */
body.has-giveaway-marquee {
	padding-top: var(--agribid-marquee-height);
}
body.has-giveaway-marquee .stricky-header.stricky-fixed {
	top: var(--agribid-marquee-height);
}
.agribid-marquee-bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: var(--agribid-marquee-height);
	background: linear-gradient(90deg, #f0a500 0%, #ffd166 50%, #f0a500 100%);
	border-bottom: 1px solid rgba(26, 26, 26, 0.12);
	overflow: hidden;
	z-index: 1000;
	display: flex;
	align-items: center;
}
.agribid-marquee-bar__track {
	display: flex;
	width: max-content;
	animation: agribid-marquee-rtl 28s linear infinite;
}
.agribid-marquee-bar__text {
	white-space: nowrap;
	padding-right: 64px;
	font-family: 'DM Sans', sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	color: #1a1a1a;
	letter-spacing: 0.2px;
}
@keyframes agribid-marquee-rtl {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@media (max-width: 767px) {
	:root { --agribid-marquee-height: 34px; }
	.agribid-marquee-bar__text { font-size: 11px; }
}

/* ============================================================
   SECTION 1 — REGISTER (88vh split: hero left + form right)
   ============================================================ */
.ls-register-section {
	position: relative;
	min-height: 88vh;
	height: 88vh;
	max-height: 88vh;
	display: flex;
	align-items: center;
	background: linear-gradient(160deg, var(--ls-dark-1) 0%, var(--ls-dark-2) 50%, var(--ls-dark-3) 100%);
	overflow: hidden;
	padding: 0;
}

.ls-register-section__overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 55% 50% at 25% 40%, rgba(107, 168, 90, 0.1) 0%, transparent 70%),
		radial-gradient(ellipse 40% 40% at 85% 60%, rgba(240, 165, 0, 0.06) 0%, transparent 70%);
	pointer-events: none;
}

.ls-register-section__container {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
	padding-top: 16px;
	padding-bottom: 16px;
}

.ls-register-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px 40px;
	align-items: center;
	width: 100%;
	height: 100%;
}

/* Left column */
.ls-register-left {
	display: flex;
	align-items: center;
	height: 100%;
	overflow: hidden;
}

.ls-register-left__inner {
	width: 100%;
}

.ls-register-mobile-title {
	display: none;
}

/* Hero title + bat/ball Lottie */
.ls-hero__title-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}
.ls-hero__title-wrap--mobile {
	display: none;
	margin-bottom: 8px;
	justify-content: center;
}
.ls-hero__lottie {
	width: 120px;
	height: 120px;
	flex-shrink: 0;
}
.ls-hero__title-wrap .ls-hero__title {
	margin-bottom: 0;
}

.ls-register-left .ls-hero__badge {
	margin-bottom: 18px;
	font-size: 11px;
	padding: 6px 16px;
}

.ls-register-left .ls-hero__title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(1.85rem, 3.4vw, 3rem);
	font-weight: 900;
	color: var(--ls-white);
	line-height: 1.12;
	margin-bottom: 16px;
	text-align: left;
}
.ls-register-left .ls-hero__title span { color: var(--ls-gold); }

.ls-register-left .ls-hero__sub {
	font-size: clamp(0.9rem, 1.5vw, 1.05rem);
	color: var(--ls-text);
	line-height: 1.6;
	margin-bottom: 24px;
	text-align: left;
}
.ls-register-left .ls-hero__sub strong { color: var(--ls-white); }

.ls-register-left .ls-hero__stats {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 28px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.ls-register-left .ls-hero__stat {
	padding: 0;
}
.ls-register-left .ls-hero__stat:first-child { padding-left: 0; }
.ls-register-left .ls-hero__stat-num {
	font-size: 1.65rem;
}
.ls-register-left .ls-hero__stat-lbl {
	font-size: 10.5px;
}
.ls-register-left .ls-hero__stat-divider {
	height: 40px;
}

.ls-register-left .ls-hero__cta {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	padding: 12px 28px;
	border-radius: 50px;
}

/* Hero social icons (replaces Full Schedule CTA) */
.ls-hero__social {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 4px;
}

.ls-hero__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(240, 165, 0, 0.45);
	background: rgba(240, 165, 0, 0.08);
	color: var(--ls-gold-lt);
	font-size: 18px;
	text-decoration: none;
	transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.2s;
}

.ls-hero__social-link:hover {
	background: var(--ls-gold);
	border-color: var(--ls-gold);
	color: var(--ls-dark-1);
	transform: translateY(-2px);
}

.ls-hero__social-link:focus-visible {
	outline: 2px solid var(--ls-gold-lt);
	outline-offset: 3px;
}

/* Right column — form */
.ls-register-right {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: visible;
}

.ls-register-right .ls-form-card {
	width: 100%;
	padding: 22px 26px 18px;
	margin: 0;
	max-height: none;
	overflow: visible;
}

/* Floating cricket balls in register section */
.ls-register-section .ls-ball {
	position: absolute;
	font-size: 2rem;
	opacity: 0.06;
	animation: ls-float 8s ease-in-out infinite;
	pointer-events: none;
}
.ls-register-section .ls-ball--1 { top: 8%; right: 8%; font-size: 2.5rem; }
.ls-register-section .ls-ball--2 { bottom: 10%; left: 45%; animation-delay: 3s; }

@keyframes ls-float {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50%       { transform: translateY(-18px) rotate(180deg); }
}

/* Hero badge dot pulse */
.ls-hero__badge-dot {
	width: 7px;
	height: 7px;
	background: var(--ls-gold);
	border-radius: 50%;
	animation: ls-pulse 1.5s ease infinite;
}
@keyframes ls-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.4; transform: scale(1.4); }
}

.ls-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(240, 165, 0, 0.1);
	border: 1px solid rgba(240, 165, 0, 0.35);
	color: var(--ls-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 6px 18px;
	border-radius: 30px;
}

.ls-hero__cta {
	background: linear-gradient(90deg, var(--ls-gold), var(--ls-gold-lt));
	color: #1a1a1a;
	font-weight: 800;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(240, 165, 0, 0.35);
	transition: transform 0.25s, box-shadow 0.25s;
}
/* 
.ls-hero__cta::before {
	content: '';
	position: absolute;
	top: -50%; left: -60%;
	width: 40%; height: 200%;
	background: rgba(255, 255, 255, 0.3);
	transform: skewX(-20deg);
	animation: ls-shine 3s ease infinite;
} */
@keyframes ls-shine {
	0%   { left: -60%; }
	60%  { left: 130%; }
	100% { left: 130%; }
}
.ls-hero__cta:hover {
	color: #1a1a1a;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(240, 165, 0, 0.5);
}

/* Legacy hero (kept for reference if needed elsewhere) */
.ls-hero {
	position: relative;
	min-height: 92vh;
	display: flex;
	align-items: center;
	background: linear-gradient(160deg, var(--ls-dark-1) 0%, var(--ls-dark-2) 50%, var(--ls-dark-3) 100%);
	overflow: hidden;
	padding: 120px 0 80px;
}

.ls-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 55% at 80% 30%, rgba(107, 168, 90, 0.12) 0%, transparent 70%),
		radial-gradient(ellipse 40% 40% at 15% 70%, rgba(240, 165, 0, 0.07) 0%, transparent 70%);
	pointer-events: none;
}

/* Floating animated cricket balls */
.ls-ball {
	position: absolute;
	font-size: 2rem;
	opacity: 0.08;
	animation: ls-float 8s ease-in-out infinite;
	pointer-events: none;
}
.ls-ball--1 { top: 12%; left: 5%;  animation-delay: 0s;   font-size: 3rem; }
.ls-ball--2 { top: 55%; right: 6%; animation-delay: 2.5s; font-size: 2.5rem; }
.ls-ball--3 { bottom: 12%; left: 50%; animation-delay: 5s; }

@keyframes ls-float {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50%       { transform: translateY(-22px) rotate(180deg); }
}

/* Hero content */
.ls-hero__content { position: relative; z-index: 2; }

.ls-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(240, 165, 0, 0.1);
	border: 1px solid rgba(240, 165, 0, 0.35);
	color: var(--ls-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 6px 18px;
	border-radius: 30px;
	margin-bottom: 22px;
}

.ls-hero__badge-dot {
	width: 7px;
	height: 7px;
	background: var(--ls-gold);
	border-radius: 50%;
	animation: ls-pulse 1.5s ease infinite;
}
@keyframes ls-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.4; transform: scale(1.4); }
}

.ls-hero__title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(2.4rem, 6vw, 4.2rem);
	font-weight: 900;
	color: var(--ls-white);
	line-height: 1.1;
	margin-bottom: 20px;
}
.ls-hero__title span { color: var(--ls-gold); }

.ls-hero__sub {
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	color: var(--ls-text);
	line-height: 1.7;
	margin-bottom: 36px;
}
.ls-hero__sub strong { color: var(--ls-white); }

/* Hero stats row */
.ls-hero__stats {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	flex-wrap: wrap;
	margin-bottom: 36px;
}
.ls-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 28px;
}
.ls-hero__stat-num {
	font-size: 2rem;
	font-weight: 900;
	color: var(--ls-gold);
	line-height: 1;
	font-family: 'DM Sans', sans-serif;
}
.ls-hero__stat-lbl {
	font-size: 12px;
	color: var(--ls-text);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 4px;
}
.ls-hero__stat-divider {
	width: 1px;
	height: 44px;
	background: rgba(255, 255, 255, 0.15);
}

/* Hero CTA */
.ls-hero__cta {
	display: inline-block;
	background: linear-gradient(90deg, var(--ls-gold), var(--ls-gold-lt));
	color: #1a1a1a;
	font-size: 15px;
	font-weight: 800;
	padding: 15px 38px;
	border-radius: 50px;
	text-decoration: none;
	letter-spacing: 0.3px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 6px 28px rgba(240, 165, 0, 0.4);
	transition: transform 0.25s, box-shadow 0.25s;
}
.ls-hero__cta::before {
	content: '';
	position: absolute;
	top: -50%; left: -60%;
	width: 40%; height: 200%;
	background: rgba(255, 255, 255, 0.3);
	transform: skewX(-20deg);
	animation: ls-shine 3s ease infinite;
}
@keyframes ls-shine {
	0%   { left: -60%; }
	60%  { left: 130%; }
	100% { left: 130%; }
}
.ls-hero__cta:hover {
	color: #1a1a1a;
	text-decoration: none;
	transform: translateY(-3px);
	box-shadow: 0 10px 36px rgba(240, 165, 0, 0.55);
}

/* ============================================================
   SHARED SECTION STYLES
   ============================================================ */
.ls-form-section,
.ls-schedule-section,
.ls-terms-section {
	padding: 80px 0;
	background: var(--ls-dark-2);
}
.ls-schedule-section { background: var(--ls-dark-1); }
.ls-terms-section    { background: var(--ls-dark-2); scroll-margin-top: 100px; }
.ls-schedule-section { scroll-margin-top: 100px; }
.ls-register-section { scroll-margin-top: 100px; }

/* Compact form overrides for 80vh section */
.ls-form--compact .ls-field {
	margin-bottom: 12px;
}

.ls-form--compact .ls-label {
	font-size: 12px;
	margin-bottom: 5px;
}

.ls-form--compact .ls-input {
	padding: 9px 14px;
	font-size: 13.5px;
	border-radius: 8px;
	min-height: 38px;
}

.ls-form--compact .ls-select {
	background-position: right 12px center;
	padding-right: 34px;
}

.ls-form--compact .ls-error {
	font-size: 10.5px;
	margin-top: 3px;
	min-height: 0;
}

.ls-form--compact .ls-form-row {
	margin-left: -8px;
	margin-right: -8px;
}
.ls-form--compact .ls-form-row > [class*="col-"] {
	padding-left: 8px;
	padding-right: 8px;
}

.ls-form--compact .ls-submit-btn {
	padding: 11px 20px;
	font-size: 14px;
	margin-top: 16px;
	border-radius: 8px;
	min-height: 42px;
}

/* Winner app requirement note — below form */
.ls-form-winner-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 12px;
	padding: 10px 12px 12px;
	background: rgba(240, 165, 0, 0.06);
	border: 1px solid rgba(240, 165, 0, 0.22);
	border-left: 3px solid var(--ls-gold);
	border-radius: 8px;
}
.ls-form-winner-note__icon {
	width: 28px;
	height: 28px;
	min-width: 28px;
	background: rgba(240, 165, 0, 0.15);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ls-gold);
	font-size: 12px;
	margin-top: 1px;
}
.ls-form-winner-note__text {
	margin: 0;
	font-size: 11px;
	line-height: 1.55;
	color: var(--ls-text);
}
.ls-form-winner-note__content {
	flex: 1;
	min-width: 0;
}
.ls-form-winner-note__stores {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.ls-store-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 10.5px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
	border: 1px solid transparent;
}
.ls-store-link i {
	font-size: 13px;
}
.ls-store-link--android {
	background: rgba(255, 255, 255, 0.08);
	color: var(--ls-white);
	border-color: rgba(107, 168, 90, 0.35);
}
.ls-store-link--android:hover {
	background: rgba(107, 168, 90, 0.2);
	color: var(--ls-white);
	text-decoration: none;
	transform: translateY(-1px);
}
.ls-store-link--apple {
	background: rgba(255, 255, 255, 0.08);
	color: var(--ls-white);
	border-color: rgba(240, 165, 0, 0.35);
}
.ls-store-link--apple:hover {
	background: rgba(240, 165, 0, 0.15);
	color: var(--ls-white);
	text-decoration: none;
	transform: translateY(-1px);
}
.ls-form-winner-note__text strong {
	color: var(--ls-white);
	font-weight: 700;
}

.ls-form--compact .ls-checkbox-wrap {
	margin-bottom: 12px;
	padding-top: 0;
}

.ls-form--compact .ls-checkbox-label {
	font-size: 11.5px;
	line-height: 1.45;
}

/* Section heading */
.ls-section-head { margin-bottom: 50px; }

.ls-tag {
	display: inline-block;
	background: rgba(240, 165, 0, 0.12);
	border: 1px solid rgba(240, 165, 0, 0.35);
	color: var(--ls-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 5px 16px;
	border-radius: 30px;
	margin-bottom: 14px;
}

.ls-section-head__title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	font-weight: 800;
	color: var(--ls-white);
	margin: 0 0 12px;
}

.ls-section-head__sub {
	font-size: 15px;
	color: var(--ls-text);
	max-width: 560px;
	margin: 0 auto;
	line-height: 1.65;
}

/* ============================================================
   FORM SECTION
   ============================================================ */
.ls-form-card {
	background: var(--ls-dark-1);
	border: 1px solid rgba(107, 168, 90, 0.18);
	border-radius: var(--ls-radius);
	padding: 36px 36px 32px;
	box-shadow: var(--ls-shadow);
	position: relative;
	overflow: hidden;
}
.ls-register-right .ls-form-card {
	background: rgba(15, 31, 20, 0.92);
	backdrop-filter: blur(6px);
	overflow: visible;
}
.ls-form-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--ls-gold), var(--ls-gold-lt), var(--ls-green-lt));
}

/* Progress bar */
.ls-form-progress {
	height: 4px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 2px;
	margin-bottom: 28px;
	overflow: hidden;
}
.ls-form-progress__bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, var(--ls-gold), var(--ls-gold-lt));
	border-radius: 2px;
	transition: width 0.4s ease;
}

/* Fields */
.ls-field { margin-bottom: 20px; }

.ls-label {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ls-text);
	margin-bottom: 7px;
	letter-spacing: 0.2px;
}
.ls-label i { color: var(--ls-gold-lt); margin-right: 5px; }
.ls-req { color: #ff6b6b; margin-left: 2px; }

.ls-input {
	width: 100%;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(107, 168, 90, 0.2);
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 14px;
	color: var(--ls-white);
	font-family: 'DM Sans', sans-serif;
	transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
	-webkit-appearance: none;
	appearance: none;
}
.ls-input::placeholder { color: rgba(179, 197, 181, 0.45); }
.ls-input:focus {
	outline: none;
	border-color: var(--ls-gold);
	background: rgba(240, 165, 0, 0.05);
	box-shadow: 0 0 0 3px rgba(240, 165, 0, 0.12);
}
.ls-input.ls-input--error {
	border-color: #ff6b6b;
	box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12);
}
.ls-input.ls-input--valid {
	border-color: var(--ls-green-lt);
}

.ls-select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f0a500' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
	cursor: pointer;
	color: var(--ls-white);
}

.ls-select-wrap {
	position: relative;
	width: 100%;
}

.ls-select-wrap .ls-select {
	width: 100%;
	max-width: 100%;
	display: block;
}

.ls-select:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	color: rgba(179, 197, 181, 0.75);
	background-color: rgba(255, 255, 255, 0.03);
}

.ls-select option,
.ls-select-option {
	background-color: var(--ls-dark-1);
	color: var(--ls-text);
}

.ls-select option:checked,
.ls-select-option:checked {
	background-color: var(--ls-dark-3);
	color: var(--ls-gold-lt);
	font-weight: 600;
}

.ls-select option:hover,
.ls-select-option:hover {
	background-color: var(--ls-dark-2);
	color: var(--ls-white);
}

.ls-select option.ls-select-option--placeholder,
.ls-select-option--placeholder {
	color: rgba(179, 197, 181, 0.55);
	font-style: italic;
}

.ls-select option:not(.ls-select-option--placeholder):not([value=""]),
.ls-select-option:not(.ls-select-option--placeholder):not([value=""]) {
	color: #d4e8d5;
}

/* Error messages */
.ls-error {
	display: block;
	font-size: 11.5px;
	color: #ff8080;
	margin-top: 5px;
	min-height: 16px;
}

/* Checkbox */
.ls-checkbox-wrap { padding-top: 4px; }
.ls-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	color: var(--ls-text);
	line-height: 1.5;
}
.ls-checkbox-label input[type="checkbox"] { display: none; }
.ls-checkbox-custom {
	min-width: 18px;
	height: 18px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(107, 168, 90, 0.3);
	border-radius: 4px;
	margin-top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, border-color 0.2s;
}
.ls-checkbox-label input:checked + .ls-checkbox-custom {
	background: var(--ls-gold);
	border-color: var(--ls-gold);
}
.ls-checkbox-label input:checked + .ls-checkbox-custom::after {
	content: '✓';
	color: #1a1a1a;
	font-size: 11px;
	font-weight: 900;
}
.ls-terms-link { color: var(--ls-gold); text-decoration: underline; }

/* Submit button */
.ls-submit-btn {
	display: block;
	width: 100%;
	background: linear-gradient(90deg, var(--ls-gold), var(--ls-gold-lt));
	color: #1a1a1a;
	font-size: 15px;
	font-weight: 800;
	padding: 15px 24px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	letter-spacing: 0.3px;
	margin-top: 24px;
	position: relative;
	overflow: hidden;
	transition: transform 0.25s, box-shadow 0.25s;
	box-shadow: 0 4px 20px rgba(240, 165, 0, 0.35);
}
.ls-submit-btn::before {
	content: '';
	position: absolute;
	top: -50%; left: -60%;
	width: 40%; height: 200%;
	background: rgba(255, 255, 255, 0.3);
	transform: skewX(-20deg);
	animation: ls-shine 3s ease infinite;
}
.ls-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(240, 165, 0, 0.5);
}
.ls-submit-btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}
.ls-submit-btn:disabled::before {
	animation: none;
}

/* Success state */
.ls-success {
	text-align: center;
	padding: 40px 20px;
}
.ls-success__icon { font-size: 52px; margin-bottom: 12px; }
.ls-success__title {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--ls-gold);
	margin-bottom: 10px;
	font-family: 'DM Sans', sans-serif;
}
.ls-success__text { font-size: 14px; color: var(--ls-text); line-height: 1.7; }
.ls-success__note { font-size: 12px; color: var(--ls-gold-lt); margin-top: 14px; }

/* ============================================================
   MATCH SCHEDULE
   ============================================================ */
/* ============================================================
   MATCH SCHEDULE TABLE
   ============================================================ */
.ls-sched-table {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(107, 168, 90, 0.18);
}

/* Header row */
.ls-sched-header-row {
	display: grid;
	grid-template-columns: 220px 1fr 160px;
	background: linear-gradient(90deg, #0f1f14, #1b3220);
	border-bottom: 2px solid var(--ls-gold);
}
.ls-sched-header-date,
.ls-sched-header-matches,
.ls-sched-header-winners {
	padding: 14px 20px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ls-gold);
}
.ls-sched-header-date {
	border-right: 1px solid rgba(107, 168, 90, 0.2);
	width: 220px;
	min-width: 220px;
	max-width: 220px;
}
.ls-sched-header-winners {
	border-left: 1px solid rgba(107, 168, 90, 0.2);
	width: 160px;
	min-width: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Body rows */
.ls-sched-row {
	display: grid;
	grid-template-columns: 220px 1fr 160px;
	border-bottom: 1px solid rgba(107, 168, 90, 0.12);
	transition: background 0.2s;
}
.ls-sched-row:last-child { border-bottom: none; }
.ls-sched-row:hover { background: rgba(107, 168, 90, 0.03); }

/* Date cell (left column) */
.ls-sched-date-cell {
	width: 220px;
	min-width: 220px;
	max-width: 220px;
	padding: 20px 22px;
	border-right: 1px solid rgba(107, 168, 90, 0.15);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(160deg, rgba(15,31,20,0.9) 0%, rgba(27,50,32,0.7) 100%);
}

.ls-sched-matchday {
	display: inline-block;
	background: #0f2557;
	color: #fff;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 5px;
	width: fit-content;
	margin-bottom: 6px;
}

.ls-sched-date-main {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.35rem;
	font-weight: 900;
	color: var(--ls-white);
	line-height: 1.1;
	letter-spacing: 0.3px;
}

.ls-sched-date-venue {
	font-size: 11px;
	color: rgba(179, 197, 181, 0.65);
	display: flex;
	align-items: center;
	gap: 5px;
	line-height: 1.4;
}
.ls-sched-date-venue i { color: var(--ls-gold); font-size: 10px; }

/* Matches cell (middle column) */
.ls-sched-matches-cell {
	padding: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-start;
	width: 100%;
	overflow: hidden;
}

/* ---- Individual match card ---- */
.ls-mc {
	flex: 0 0 auto;
	width: 230px;
	min-width: 170px;
	max-width: 230px;
	border-radius: 14px;
	padding: 14px 14px 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: relative;
	transition: transform 0.2s, box-shadow 0.2s;
}
.ls-mc:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(0,0,0,0.35);
}

/* Men card — blue tint */
.ls-mc--men {
	background: rgba(30, 58, 138, 0.16);
	border: 1px solid rgba(59, 130, 246, 0.28);
}

/* Women card — pink tint */
.ls-mc--women {
	background: rgba(190, 24, 93, 0.13);
	border: 1px solid rgba(244, 63, 163, 0.28);
}

/* Special (semi, final, reserve) — gold tint */
.ls-mc--special {
	background: rgba(240, 165, 0, 0.08);
	border: 1px solid rgba(240, 165, 0, 0.28);
}

/* Card header: badge + time */
.ls-mc__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}

.ls-mc__badge {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 0;
	border-radius: 0;
	color: #fff;
	line-height: 1;
}
.ls-mc__badge--men    { background: #1e3a8a; padding: 1px 4px; border-radius: 2px; }
.ls-mc__badge--women  { background: #831843; padding: 1px 4px; border-radius: 2px; }
.ls-mc__badge--special { background: rgba(240,165,0,0.2); color: var(--ls-gold); border: 1px solid rgba(240,165,0,0.4); padding: 1px 4px; border-radius: 2px; }

.ls-mc__time {
	font-size: 11.5px;
	font-weight: 800;
	color: var(--ls-white);
	display: flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}
.ls-mc__time i {
	color: var(--ls-gold-lt);
	font-size: 11px;
}

/* Team row */
.ls-mc__team {
	display: flex;
	align-items: center;
	gap: 9px;
}

.ls-mc__logo {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.08);
	border: 1.5px solid rgba(255,255,255,0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ls-mc__logo img {
	width: 88%;
	height: 88%;
	object-fit: contain;
	object-position: center;
	display: block;
}
.ls-mc__logo--placeholder {
	font-size: 18px;
	color: rgba(255,255,255,0.5);
	line-height: 1;
}

.ls-mc__name {
	font-size: 11.5px;
	font-weight: 700;
	color: var(--ls-white);
	text-transform: uppercase;
	letter-spacing: 0.4px;
	line-height: 1.3;
}

/* VS divider */
.ls-mc__vs {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 2px;
}
.ls-mc__vs-line {
	flex: 1;
	height: 1px;
	background: rgba(255,255,255,0.1);
}
.ls-mc__vs-text {
	font-size: 8px;
	font-weight: 800;
	color: var(--ls-gold);
	letter-spacing: 1px;
	background: none;
	border: none;
	padding: 0;
	border-radius: 0;
	line-height: 1;
}

/* Reserve / TBD card */
.ls-mc--reserve {
	background: rgba(255,255,255,0.04);
	border: 1px dashed rgba(255,255,255,0.12);
	opacity: 0.75;
}

.ls-schedule-note {
	margin-top: 28px;
	font-size: 13px;
	color: var(--ls-text);
	line-height: 1.6;
}

/* ============================================================
   TERMS & CONDITIONS
   ============================================================ */
.ls-terms-card {
	background: var(--ls-dark-1);
	border: 1px solid rgba(107, 168, 90, 0.18);
	border-radius: var(--ls-radius);
	padding: 36px 36px 28px;
	box-shadow: var(--ls-shadow);
}

.ls-terms-block {
	margin-bottom: 26px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(107, 168, 90, 0.1);
}
.ls-terms-block:last-of-type { border-bottom: none; margin-bottom: 0; }

.ls-terms-intro {
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(107, 168, 90, 0.15);
}
.ls-terms-intro p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ls-white);
	text-align: center;
	letter-spacing: 0.3px;
}

.ls-terms-block h5 {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--ls-white);
	margin-bottom: 12px;
	font-family: 'DM Sans', sans-serif;
}
.ls-terms-num {
	min-width: 30px;
	height: 30px;
	background: linear-gradient(135deg, var(--ls-gold), var(--ls-gold-lt));
	color: #1a1a1a;
	font-size: 11px;
	font-weight: 900;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ls-terms-block ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ls-terms-block ul li {
	font-size: 13.5px;
	color: var(--ls-text);
	line-height: 1.6;
	padding-left: 20px;
	position: relative;
}
.ls-terms-block ul li::before {
	content: '›';
	position: absolute;
	left: 0;
	color: var(--ls-gold-lt);
	font-size: 16px;
	line-height: 1.4;
}
.ls-terms-block ul li strong { color: var(--ls-white); }
.ls-terms-block p strong { color: var(--ls-white); }
.ls-terms-block ul li a { color: var(--ls-gold); }

.ls-terms-block p {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.75;
	color: var(--ls-text);
}
.ls-terms-block p:last-child { margin-bottom: 0; }
.ls-terms-block p a { color: var(--ls-gold); }

.ls-terms-footer {
	background: rgba(240, 165, 0, 0.05);
	border: 1px solid rgba(240, 165, 0, 0.2);
	border-radius: 10px;
	padding: 16px 20px;
	margin-top: 24px;
}
.ls-terms-footer p {
	font-size: 13px;
	color: var(--ls-text);
	line-height: 1.7;
	margin: 0;
}
.ls-terms-footer p strong { color: var(--ls-gold); }

@media (min-width: 992px) {
	.ls-register-section {
		overflow: visible;
	}
}

/* Large desktop — true 50/50 split; form centered in right half */
@media (min-width: 1200px) {
	.ls-register-section__container.container {
		max-width: 100%;
		width: 100%;
		padding-left: clamp(32px, 5vw, 80px);
		padding-right: clamp(32px, 5vw, 80px);
	}

	.ls-register-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: clamp(32px, 4vw, 72px);
		align-items: center;
	}

	.ls-register-left {
		justify-content: flex-end;
		padding-right: clamp(16px, 2vw, 40px);
	}

	.ls-register-left__inner {
		max-width: 560px;
		width: 100%;
	}

	.ls-register-right {
		justify-content: center;
		align-items: center;
		padding-left: clamp(16px, 2vw, 40px);
		padding-top: 0;
	}

	.ls-register-right .ls-form-card {
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
	}
}

@media (min-width: 1600px) {
	.ls-register-left__inner {
		max-width: 620px;
	}

	.ls-register-right .ls-form-card {
		max-width: 520px;
	}
}

/* ============================================================
   RESPONSIVE — MOBILE FIRST
   ============================================================ */
@media (max-width: 991px) {
	.ls-register-section {
		height: auto;
		min-height: auto;
		max-height: none;
		padding: 24px 0 32px;
	}

	.ls-register-section__container {
		height: auto;
		align-items: flex-start;
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.ls-register-grid {
		grid-template-columns: 1fr;
		gap: 16px;
		height: auto;
	}

	/* Hide left desktop content on mobile */
	.ls-register-left__desktop {
		display: none !important;
	}

	/* Show mobile title only */
	.ls-hero__title-wrap--mobile {
		display: flex;
	}
	.ls-hero__title-wrap--mobile .ls-hero__lottie {
		width: 80px;
		height: 80px;
	}

	.ls-register-mobile-title {
		display: block;
		font-family: 'DM Sans', sans-serif;
		font-size: clamp(1.35rem, 5.5vw, 1.75rem);
		font-weight: 900;
		color: var(--ls-white);
		line-height: 1.2;
		text-align: left;
		margin: 0;
	}
	.ls-register-mobile-title span { color: var(--ls-gold); }

	.ls-register-left {
		height: auto;
		overflow: visible;
	}

	.ls-register-right {
		height: auto;
		overflow: visible;
	}

	.ls-register-right .ls-form-card {
		padding: 18px 16px 16px;
	}
}

@media (max-width: 767px) {

	.ls-hero {
		min-height: 100svh;
		padding: 100px 0 60px;
	}

	.ls-hero__stats { gap: 24px; }
	.ls-hero__stat  { padding: 0; }
	.ls-hero__stat-num { font-size: 1.6rem; }

	.ls-form-section,
	.ls-schedule-section,
	.ls-terms-section { padding: 56px 0; }

	.ls-form-card   { padding: 24px 18px 20px; }
	.ls-terms-card  { padding: 24px 18px 20px; }

	.ls-form--compact .ls-input {
		padding: 10px 12px;
		font-size: 16px; /* prevents iOS zoom on focus */
		min-height: 42px;
	}

	.ls-form--compact .ls-submit-btn {
		padding: 12px 18px;
		font-size: 15px;
		min-height: 44px;
	}

	/* ---- Form selects: mobile-native readable picker ---- */
	.ls-form-row--selects {
		margin-left: 0;
		margin-right: 0;
	}

	.ls-form-row--selects > [class*="col-"] {
		padding-left: 0;
		padding-right: 0;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ls-form-row--selects .ls-field {
		margin-bottom: 14px;
	}

	.ls-select-wrap .ls-select,
	.ls-form--compact .ls-select {
		-webkit-appearance: menulist;
		appearance: auto;
		background-image: none;
		font-size: 16px;
		line-height: 1.4;
		min-height: 48px;
		padding: 12px 14px;
		color: #1a1a1a;
		background-color: #ffffff;
		border: 1px solid rgba(107, 168, 90, 0.45);
		border-radius: 8px;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	}

	.ls-select-wrap .ls-select:focus,
	.ls-form--compact .ls-select:focus {
		border-color: var(--ls-gold);
		box-shadow: 0 0 0 3px rgba(240, 165, 0, 0.2);
		background-color: #ffffff;
		color: #1a1a1a;
	}

	.ls-select-wrap .ls-select:disabled,
	.ls-form--compact .ls-select:disabled {
		background-color: #eef2ee;
		color: #6b7280;
		opacity: 1;
		border-color: rgba(107, 168, 90, 0.25);
	}

	.ls-select option,
	.ls-select .ls-select-option {
		background-color: #ffffff;
		color: #1a1a1a;
		font-size: 16px;
		line-height: 1.5;
	}

	.ls-select option:checked,
	.ls-select .ls-select-option:checked {
		background-color: #fff3d6;
		color: #1a1a1a;
		font-weight: 600;
	}

	.ls-select option.ls-select-option--placeholder,
	.ls-select option[value=""] {
		color: #6b7280;
	}

	.ls-hero__badge { font-size: 10px; padding: 5px 12px; }

	/* ---- Schedule table: mobile stacked layout ---- */
	.ls-sched-table {
		width: 100%;
	}

	.ls-sched-header-row {
		display: none; /* hide desktop header on mobile */
	}

	.ls-sched-row {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		border-bottom: 2px solid rgba(240, 165, 0, 0.2);
	}

	.ls-sched-date-cell {
		width: 100%;
		min-width: 0;
		max-width: none;
		border-right: none;
		border-bottom: 1px solid rgba(107, 168, 90, 0.15);
		padding: 14px 16px;
		flex-direction: row;
		align-items: center;
		gap: 12px;
		background: linear-gradient(90deg, rgba(15,37,87,0.45) 0%, rgba(15,31,20,0.9) 100%);
	}

	.ls-sched-date-main {
		font-size: 1.1rem;
	}

	.ls-sched-date-venue {
		display: none;
	}

	.ls-sched-matches-cell {
		padding: 12px 12px;
		gap: 10px;
		width: 100%;
		flex-wrap: wrap;
	}

	.ls-sched-winners-cell {
		width: 100%;
		min-width: 0;
		border-left: none;
		border-top: 1px solid rgba(107, 168, 90, 0.15);
		padding: 12px 16px;
		justify-content: flex-start;
	}

	.ls-mc {
		flex: 1 1 140px;
		min-width: 140px;
		max-width: 100%;
		padding: 12px 12px 10px;
	}

	.ls-mc__logo {
		width: 38px;
		height: 38px;
		min-width: 38px;
	}

	.ls-mc__name {
		font-size: 10.5px;
	}

	.ls-mc__time {
		font-size: 10.5px;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.ls-register-grid {
		gap: 20px 24px;
	}
	.ls-register-left .ls-hero__title {
		font-size: 2rem;
	}
	.ls-register-right .ls-form-card {
		padding: 20px 18px 16px;
		overflow: visible;
		max-height: none;
	}

	.ls-sched-header-row {
		grid-template-columns: 180px 1fr 140px;
	}
	.ls-sched-row {
		grid-template-columns: 180px 1fr 140px;
	}
	.ls-sched-header-date,
	.ls-sched-date-cell {
		width: 180px;
		min-width: 180px;
		max-width: 180px;
	}
	.ls-sched-header-winners,
	.ls-sched-winners-cell { width: 140px; min-width: 140px; }
}

@media (min-width: 768px) and (max-width: 991px) {
	.ls-sched-header-row {
		grid-template-columns: 160px 1fr 130px;
	}
	.ls-sched-row {
		grid-template-columns: 160px 1fr 130px;
	}
	.ls-sched-header-date,
	.ls-sched-date-cell {
		width: 160px;
		min-width: 160px;
		max-width: 160px;
	}
	.ls-sched-header-winners,
	.ls-sched-winners-cell { width: 130px; min-width: 130px; }
	.ls-sched-date-main { font-size: 1.05rem; }
	.ls-mc { width: 190px; min-width: 140px; max-width: 100%; }
	.lsw-winner-btn { min-width: 100px; padding: 8px 10px; font-size: 11px; }
}

/* ============================================================
   WINNERS COLUMN CELL
   ============================================================ */
.ls-sched-winners-cell {
	border-left: 1px solid rgba(107, 168, 90, 0.15);
	padding: 14px 14px;
	width: 160px;
	min-width: 160px;
	max-width: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, rgba(15,31,20,0.9) 0%, rgba(27,50,32,0.7) 100%);
}

/* ============================================================
   WINNER BUTTON — animated pulse + glow
   ============================================================ */
.lsw-winner-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	min-width: 120px;
	background: linear-gradient(135deg, rgba(30,58,138,0.25) 0%, rgba(107,168,90,0.18) 100%);
	border: 1.5px solid rgba(107, 168, 90, 0.4);
	border-radius: 30px;
	color: var(--ls-text);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	cursor: pointer;
	overflow: visible;
	transition: all 0.25s ease;
	white-space: nowrap;
}
.lsw-winner-btn:hover {
	background: linear-gradient(135deg, rgba(107,168,90,0.25) 0%, rgba(30,58,138,0.2) 100%);
	border-color: var(--ls-green-lt);
	color: var(--ls-white);
	transform: scale(1.05);
	box-shadow: 0 4px 18px rgba(107, 168, 90, 0.25);
}
.lsw-winner-btn--won {
	background: linear-gradient(135deg, #f0a500 0%, #ffd166 100%);
	border-color: #ffd166;
	color: #1a1a1a;
	font-weight: 900;
	animation: lsw-btn-glow 2.2s ease-in-out infinite;
}
.lsw-winner-btn--won:hover {
	background: linear-gradient(135deg, #ffd166 0%, #f0a500 100%);
	color: #1a1a1a;
	box-shadow: 0 6px 24px rgba(240, 165, 0, 0.5);
}
.lsw-winner-btn__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	line-height: 1;
	color: var(--ls-gold);
}
.lsw-winner-btn__icon i { display: block; }
.lsw-winner-btn--won .lsw-winner-btn__icon { color: #1a1a1a; }
.lsw-winner-btn:hover .lsw-winner-btn__icon { color: var(--ls-gold-lt); }
.lsw-winner-btn--won:hover .lsw-winner-btn__icon { color: #1a1a1a; }
.lsw-winner-btn__text { flex: 1; text-align: left; }

/* Ripple pulse ring */
.lsw-winner-btn__pulse {
	position: absolute;
	inset: -4px;
	border-radius: 34px;
	border: 2px solid rgba(107, 168, 90, 0.5);
	animation: lsw-btn-pulse 2s ease-out infinite;
	pointer-events: none;
}
.lsw-winner-btn--won .lsw-winner-btn__pulse {
	border-color: rgba(240, 165, 0, 0.6);
}

@keyframes lsw-btn-pulse {
	0%   { transform: scale(1);   opacity: 0.8; }
	70%  { transform: scale(1.18); opacity: 0; }
	100% { transform: scale(1.18); opacity: 0; }
}
@keyframes lsw-btn-glow {
	0%, 100% { box-shadow: 0 0 8px rgba(240,165,0,0.4); }
	50%       { box-shadow: 0 0 22px rgba(240,165,0,0.8), 0 0 40px rgba(240,165,0,0.3); }
}

/* ============================================================
   MODAL OVERLAY
   ============================================================ */
.lsw-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.lsw-overlay--active {
	opacity: 1;
	pointer-events: all;
}
.lsw-overlay--active .lsw-dialog {
	transform: translateY(0) scale(1);
	opacity: 1;
}

/* Dialog box */
.lsw-dialog {
	position: relative;
	width: 100%;
	max-width: 440px;
	background: linear-gradient(160deg, #0f1f14 0%, #1b3220 60%, #0f1f14 100%);
	border: 1.5px solid rgba(240, 165, 0, 0.35);
	border-radius: 20px;
	box-shadow: 0 24px 64px rgba(0,0,0,0.6), 0 0 0 1px rgba(240,165,0,0.1);
	padding: 28px 24px 24px;
	transform: translateY(40px) scale(0.95);
	opacity: 0;
	transition: transform 0.38s cubic-bezier(.34,1.56,.64,1), opacity 0.3s ease;
	overflow: visible;
}
.lsw-dialog--wide {
	max-width: 720px;
	padding: 24px 20px 20px;
}

/* Close button */
.lsw-close {
	position: absolute;
	top: 14px;
	right: 16px;
	width: 30px;
	height: 30px;
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 50%;
	color: rgba(255,255,255,0.7);
	font-size: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, color 0.2s;
	line-height: 1;
}
.lsw-close:hover {
	background: rgba(240,165,0,0.18);
	color: var(--ls-gold);
}

/* ============================================================
   CONFETTI CANVASES — bottom-left and bottom-right of dialog
   ============================================================ */
.lsw-confetti-canvas {
	position: absolute;
	bottom: 0;
	width: 280px;
	height: 400px;
	pointer-events: none;
	z-index: 100000;
}
.lsw-confetti-canvas--left  { left: -60px; }
.lsw-confetti-canvas--right { right: -60px; }

/* ============================================================
   WINNER CARD
   ============================================================ */
.lsw-winner-card__top {
	text-align: center;
	margin-bottom: 18px;
}
.lsw-winner-card__lottie {
	display: block;
	width: 110px;
	height: 110px;
	margin: 0 auto 4px;
}
.lsw-winner-card__congrats {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.55rem;
	font-weight: 900;
	color: var(--ls-gold);
	margin: 0 0 4px;
	letter-spacing: 0.3px;
}
.lsw-winner-card__sub {
	font-size: 13px;
	color: var(--ls-text);
	margin: 0;
}
.lsw-winner-card__badge {
	display: inline-block;
	background: linear-gradient(135deg, #f0a500, #ffd166);
	color: #1a1a1a;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 1.5px;
	padding: 6px 18px;
	border-radius: 20px;
	text-align: center;
	width: 100%;
	margin-bottom: 18px;
	box-shadow: 0 4px 14px rgba(240,165,0,0.4);
	animation: lsw-badge-shimmer 2.4s ease-in-out infinite;
}
@keyframes lsw-badge-shimmer {
	0%, 100% { box-shadow: 0 4px 14px rgba(240,165,0,0.4); }
	50%       { box-shadow: 0 4px 28px rgba(240,165,0,0.8), 0 0 40px rgba(255,209,102,0.3); }
}
.lsw-winner-card__details {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 18px;
}
.lsw-detail-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(107,168,90,0.15);
	border-radius: 10px;
	padding: 10px 14px;
}
.lsw-detail-label {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ls-gold);
	min-width: 72px;
	display: flex;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
}
.lsw-detail-label i { font-size: 11px; }
.lsw-detail-value {
	font-size: 13px;
	font-weight: 600;
	color: var(--ls-white);
	word-break: break-all;
	line-height: 1.4;
}
.lsw-winner-card__footer {
	font-size: 11px;
	color: rgba(179,197,181,0.55);
	text-align: center;
	line-height: 1.6;
	border-top: 1px solid rgba(107,168,90,0.12);
	padding-top: 14px;
	margin-top: 16px;
}

/* ============================================================
   WINNERS TABLE CARD (modal)
   ============================================================ */
.lsw-winners-table-card {
	width: 100%;
}

.lsw-winners-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 4px 0 0;
	border-radius: 12px;
	border: 1px solid rgba(107, 168, 90, 0.2);
	background: rgba(0, 0, 0, 0.2);
}

.lsw-winners-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 520px;
	font-size: 13px;
}

.lsw-winners-table thead {
	background: linear-gradient(90deg, rgba(15, 31, 20, 0.95), rgba(27, 50, 32, 0.9));
}

.lsw-winners-table th {
	padding: 12px 14px;
	text-align: left;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ls-gold);
	border-bottom: 2px solid rgba(240, 165, 0, 0.35);
	white-space: nowrap;
}

.lsw-winners-table td {
	padding: 14px;
	vertical-align: middle;
	border-bottom: 1px solid rgba(107, 168, 90, 0.12);
	color: var(--ls-white);
}

.lsw-winners-table tbody tr:last-child td {
	border-bottom: none;
}

.lsw-winners-table tbody tr:hover {
	background: rgba(107, 168, 90, 0.06);
}

.lsw-winners-table__sr {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 8px;
	background: rgba(240, 165, 0, 0.15);
	color: var(--ls-gold-lt);
	font-weight: 800;
	font-size: 12px;
}

.lsw-winners-table__name {
	display: block;
	font-weight: 700;
	font-size: 13px;
	color: var(--ls-white);
	line-height: 1.35;
}

.lsw-winners-table__match {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	font-weight: 500;
	color: rgba(179, 197, 181, 0.75);
	line-height: 1.4;
}

.lsw-winner-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px;
	border-radius: 20px;
	background: linear-gradient(135deg, #f0a500, #ffd166);
	color: #1a1a1a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.4px;
	white-space: nowrap;
	box-shadow: 0 2px 10px rgba(240, 165, 0, 0.35);
}

.lsw-winner-tag i {
	font-size: 10px;
}

/* Mobile: card-style rows */
@media (max-width: 575px) {
	.lsw-overlay {
		padding: 12px;
		align-items: flex-end;
	}

	.lsw-dialog--wide {
		max-width: 100%;
		border-radius: 20px 20px 16px 16px;
		padding: 20px 14px 16px;
		max-height: 92vh;
		overflow-y: auto;
	}

	.lsw-winner-card__lottie {
		width: 88px;
		height: 88px;
	}

	.lsw-winner-card__congrats {
		font-size: 1.25rem;
	}

	.lsw-winners-table-wrap {
		border: none;
		background: transparent;
		overflow: visible;
	}

	.lsw-winners-table {
		min-width: 0;
	}

	.lsw-winners-table thead {
		display: none;
	}

	.lsw-winners-table tbody,
	.lsw-winners-table tr,
	.lsw-winners-table td {
		display: block;
		width: 100%;
	}

	.lsw-winners-table tr {
		background: rgba(255, 255, 255, 0.04);
		border: 1px solid rgba(107, 168, 90, 0.18);
		border-radius: 14px;
		padding: 14px;
		margin-bottom: 12px;
	}

	.lsw-winners-table tr:last-child {
		margin-bottom: 0;
	}

	.lsw-winners-table td {
		padding: 0;
		border: none;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		margin-bottom: 10px;
		text-align: right;
	}

	.lsw-winners-table td:last-child {
		margin-bottom: 0;
		justify-content: flex-end;
	}

	.lsw-winners-table td::before {
		content: attr(data-label);
		flex-shrink: 0;
		font-size: 10px;
		font-weight: 800;
		letter-spacing: 0.8px;
		text-transform: uppercase;
		color: var(--ls-gold);
		text-align: left;
		padding-top: 2px;
	}

	.lsw-winners-table td[data-label="Full Name"] {
		flex-direction: column;
		align-items: stretch;
		text-align: left;
	}

	.lsw-winners-table td[data-label="Full Name"]::before {
		margin-bottom: 6px;
	}

	.lsw-winners-table td[data-label="Winner"]::before {
		display: none;
	}

	.lsw-winners-table td[data-label="Sr No"] .lsw-winners-table__sr {
		margin-left: auto;
	}
}

@media (min-width: 576px) and (max-width: 767px) {
	.lsw-dialog--wide {
		max-width: 96%;
	}

	.lsw-winners-table {
		min-width: 480px;
	}

	.lsw-winners-table th,
	.lsw-winners-table td {
		padding: 10px 12px;
		font-size: 12px;
	}
}

/* ============================================================
   NO-WINNER CARD
   ============================================================ */
.lsw-no-winner-card {
	text-align: center;
	padding: 8px 0 4px;
}
.lsw-no-winner-card__icon {
	font-size: 50px;
	margin-bottom: 10px;
	animation: lsw-icon-float 2.4s ease-in-out infinite alternate;
	display: inline-block;
}
@keyframes lsw-icon-float {
	from { transform: translateY(0); }
	to   { transform: translateY(-10px); }
}
.lsw-no-winner-card__title {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--ls-white);
	margin: 0 0 10px;
}
.lsw-no-winner-card__msg {
	font-size: 13.5px;
	color: var(--ls-text);
	line-height: 1.7;
	margin: 0 0 18px;
}
.lsw-no-winner-card__msg strong { color: var(--ls-gold); }
.lsw-no-winner-card__stores {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.lsw-store-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 18px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s;
	border: none;
}
.lsw-store-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.4); }
.lsw-store-btn--android {
	background: linear-gradient(135deg, #1a9e4a, #0d6b30);
	color: #fff;
}
.lsw-store-btn--apple {
	background: linear-gradient(135deg, #444, #1a1a1a);
	color: #fff;
}
.lsw-no-winner-card__note {
	font-size: 11px;
	color: rgba(179,197,181,0.5);
	margin: 0;
	line-height: 1.6;
}
