/**
 * Worth Winning — Single Competition base.
 * Minimal structural + state CSS. Loaded in both styling modes.
 * Defines fallback custom properties so colour vars always resolve.
 */
.ww-single-competition {
	--ww-bg: #050b18;
	--ww-card: #111111;
	--ww-gold: #ffcc35;
	--ww-text: #ffffff;
	--ww-radius: 16px;
	--ww-progress: #ffcc35;
}

.ww-single-competition,
.ww-single-competition * {
	box-sizing: border-box;
}

.ww-online-entry,
.ww-free-entry {
	display: none;
}

.ww-online-entry.is-active,
.ww-free-entry.is-active {
	display: block;
}

[data-ww-info-tab-panel] {
	display: none;
}

[data-ww-info-tab-panel].is-active {
	display: block;
}

.ww-ticket-buttons button.is-active,
.ww-entry-tab-buttons button.is-active {
	font-weight: 700;
}

.ww-social-share,
.ww-urgency-labels {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ww-single-extra-sections,
.ww-related-grid {
	display: grid;
	gap: 16px;
}

.ww-ticket-selector-card,
.ww-ticket-selector-card-body,
.ww-ticket-selector-summary,
.ww-ticket-selector-card-footer {
	display: grid;
	gap: 12px;
}

.ww-ticket-selector-card .lty-ticket-number-content,
.ww-ticket-selector-card .lty-ticket-number-content-search {
	max-height: 360px;
	overflow: auto;
}

.ww-ticket-selector-card .lty-ticket-number-content ul,
.ww-ticket-selector-card .lty-ticket-number-content-search {
	display: grid;
	grid-template-columns: repeat(10, minmax(42px, 1fr));
	gap: 8px;
}

.ww-ticket-selector-card .lty-ticket {
	min-width: 42px;
	min-height: 42px;
}

@media (max-width: 960px) {
	.ww-ticket-selector-card .lty-ticket-number-content ul,
	.ww-ticket-selector-card .lty-ticket-number-content-search {
		grid-template-columns: repeat(8, minmax(42px, 1fr));
	}
}

@media (max-width: 560px) {
	.ww-ticket-selector-card .lty-ticket-number-content ul,
	.ww-ticket-selector-card .lty-ticket-number-content-search {
		grid-template-columns: repeat(5, minmax(42px, 1fr));
	}
}
