/* ============================================================
   World Cup 2026 — Public Styles
============================================================ */

:root {
	--wc-green:       #00873d;
	--wc-green-dark:  #005a28;
	--wc-gold:        #f5a623;
	--wc-red:         #e63946;
	--wc-blue:        #1d3557;
	--wc-bg:          #0d1b2a;
	--wc-card:        #132338;
	--wc-card-border: #1e3a5f;
	--wc-text:        #e8f4fd;
	--wc-muted:       #8aabcc;
	--wc-radius:      14px;
}

/* ---- Wrapper ---- */
.wc2026-wrapper {
	font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
	max-width: 860px;
	margin: 0 auto;
	padding: 0 12px 40px;
	color: var(--wc-text);
}

/* ---- Header ---- */
.wc2026-header {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 28px 0 22px;
	border-bottom: 2px solid var(--wc-green);
	margin-bottom: 28px;
}

.wc2026-header-icon {
	font-size: 3rem;
	line-height: 1;
}

.wc2026-title {
	font-size: 1.85rem;
	font-weight: 800;
	margin: 0 0 4px;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0,0,0,.5);
}

.wc2026-date-label {
	margin: 0;
	color: var(--wc-muted);
	font-size: .95rem;
	font-weight: 500;
	letter-spacing: .03em;
}

/* ---- Date navigation ---- */
.wc2026-date-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.wc2026-nav-btn {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	background: var(--wc-card);
	border: 1px solid var(--wc-card-border);
	border-radius: 8px;
	color: var(--wc-text);
	text-decoration: none;
	font-size: .88rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s, border-color .15s;
	white-space: nowrap;
}
.wc2026-nav-btn:hover:not(.wc2026-nav-disabled) {
	background: var(--wc-green);
	border-color: var(--wc-green);
	color: #fff;
}
.wc2026-nav-disabled {
	opacity: .35;
	cursor: default;
}
.wc2026-date-form {
	display: flex;
	gap: 6px;
	align-items: center;
}
.wc2026-date-input {
	background: var(--wc-card);
	border: 1px solid var(--wc-card-border);
	border-radius: 8px;
	color: var(--wc-text);
	padding: 7px 10px;
	font-size: .88rem;
	outline: none;
}
.wc2026-date-input:focus { border-color: var(--wc-green); }
.wc2026-nav-go {
	border: 1px solid var(--wc-green);
	background: var(--wc-green);
	color: #fff;
}

/* ---- No matches placeholder ---- */
.wc2026-no-matches {
	text-align: center;
	padding: 60px 20px;
	color: var(--wc-muted);
}
.wc2026-no-matches span { font-size: 3rem; display: block; margin-bottom: 12px; }
.wc2026-no-matches p   { font-size: 1.1rem; margin: 0; }

/* ---- Matches list ---- */
.wc2026-matches {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* ---- Match card ---- */
.wc2026-match-card {
	background: var(--wc-card);
	border: 1px solid var(--wc-card-border);
	border-radius: var(--wc-radius);
	padding: 24px 28px;
	box-shadow: 0 4px 20px rgba(0,0,0,.35);
	transition: transform .15s, box-shadow .15s;
}
.wc2026-match-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(0,0,0,.45);
}
.wc2026-match-card.wc2026-status-live {
	border-color: var(--wc-red);
	box-shadow: 0 0 0 2px rgba(230,57,70,.35), 0 4px 20px rgba(0,0,0,.35);
}
.wc2026-match-card.wc2026-status-finished {
	border-color: var(--wc-green);
}

/* ---- Top meta (round + badge) ---- */
.wc2026-match-meta-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
}
.wc2026-round-label {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wc-muted);
}

/* ---- Status badges ---- */
.wc2026-status-badge {
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .05em;
	padding: 4px 12px;
	border-radius: 20px;
}
.wc2026-badge-upcoming { background: rgba(29,53,87,.8);  color: #7eb8e8; }
.wc2026-badge-live     { background: rgba(230,57,70,.2); color: #ff6b7a; animation: wc-pulse 1.6s infinite; }
.wc2026-badge-finished { background: rgba(0,135,61,.2); color: #4edd8a; }

@keyframes wc-pulse {
	0%, 100% { opacity: 1; }
	50%       { opacity: .6; }
}

/* ---- Teams row ---- */
.wc2026-teams-row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.wc2026-team {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.wc2026-flag {
	font-size: 3.2rem;
	line-height: 1;
	display: block;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.4));
}

.wc2026-team-name {
	font-size: 1.1rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	letter-spacing: .01em;
}

/* ---- Score block ---- */
.wc2026-score-block {
	text-align: center;
}

.wc2026-final-score {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 2.6rem;
	font-weight: 900;
	color: #fff;
	line-height: 1;
}
.wc2026-score-sep {
	color: var(--wc-muted);
}
.wc2026-ft-label {
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wc-green);
	margin-top: 4px;
	font-weight: 600;
}

.wc2026-vs-text {
	font-size: 1.8rem;
	font-weight: 900;
	color: var(--wc-muted);
}

.wc2026-vs-live {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.wc2026-live-score {
	font-size: 2.2rem;
	font-weight: 900;
	color: var(--wc-red);
}
.wc2026-live-dot {
	width: 10px; height: 10px;
	border-radius: 50%;
	background: var(--wc-red);
	animation: wc-pulse 1s infinite;
}

/* ---- Match info row ---- */
.wc2026-match-info {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 4px;
	padding: 10px 0 0;
	border-top: 1px solid var(--wc-card-border);
	font-size: .84rem;
	color: var(--wc-muted);
}
.wc2026-info-item { white-space: nowrap; }
.wc2026-info-sep  { color: var(--wc-card-border); font-weight: 700; }

/* ---- Guess section ---- */
.wc2026-guess-section {
	margin-top: 20px;
	padding: 20px;
	background: rgba(0,135,61,.08);
	border: 1px dashed rgba(0,135,61,.35);
	border-radius: 10px;
}

.wc2026-guess-title {
	margin: 0 0 14px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wc-gold);
}

.wc2026-guess-count {
	margin: 0 0 12px;
	font-size: .82rem;
	color: var(--wc-muted);
}

.wc2026-guess-fields {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.wc2026-input {
	background: rgba(255,255,255,.08);
	border: 1px solid var(--wc-card-border);
	border-radius: 7px;
	color: #fff;
	padding: 9px 13px;
	font-size: .9rem;
	outline: none;
	transition: border-color .15s;
}
.wc2026-input:focus { border-color: var(--wc-green); }
.wc2026-input-name  { flex: 1 1 160px; min-width: 130px; }
.wc2026-input-score { width: 60px; text-align: center; padding: 9px 6px; }

.wc2026-score-inputs {
	display: flex;
	align-items: center;
	gap: 6px;
}
.wc2026-guess-team-label {
	font-size: .78rem;
	color: var(--wc-muted);
	white-space: nowrap;
}
.wc2026-guess-sep {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--wc-muted);
}

.wc2026-btn-submit {
	background: var(--wc-green);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 10px 22px;
	font-size: .9rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s, transform .1s;
	white-space: nowrap;
}
.wc2026-btn-submit:hover  { background: var(--wc-green-dark); }
.wc2026-btn-submit:active { transform: scale(.97); }
.wc2026-btn-submit:disabled { opacity: .5; cursor: not-allowed; }

.wc2026-guess-message {
	margin-top: 12px;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: .88rem;
	font-weight: 600;
}
.wc2026-guess-message.success {
	background: rgba(0,135,61,.2);
	color: #4edd8a;
	border: 1px solid rgba(0,135,61,.4);
}
.wc2026-guess-message.error {
	background: rgba(230,57,70,.15);
	color: #ff8a93;
	border: 1px solid rgba(230,57,70,.35);
}

/* ---- Live notice ---- */
.wc2026-live-notice {
	margin-top: 18px;
	padding: 12px 16px;
	background: rgba(230,57,70,.1);
	border: 1px solid rgba(230,57,70,.3);
	border-radius: 8px;
	color: #ff8a93;
	font-size: .88rem;
	font-weight: 600;
	text-align: center;
}

/* ---- Winners section ---- */
.wc2026-winners-section {
	margin-top: 20px;
	padding: 20px;
	background: rgba(245,166,35,.07);
	border: 1px solid rgba(245,166,35,.25);
	border-radius: 10px;
}

.wc2026-winners-header {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wc-gold);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.wc2026-correct-score {
	font-size: .85rem;
	color: var(--wc-muted);
	font-weight: 500;
}

.wc2026-winners-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wc2026-winner-item {
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgba(245,166,35,.12);
	border: 1px solid rgba(245,166,35,.3);
	border-radius: 24px;
	padding: 6px 14px;
}
.wc2026-winner-trophy { font-size: 1rem; }
.wc2026-winner-name   { font-weight: 700; color: #fff; font-size: .88rem; }
.wc2026-winner-guess  { color: var(--wc-gold); font-size: .8rem; font-weight: 600; }

.wc2026-no-winners {
	color: var(--wc-muted);
	font-size: .88rem;
	margin: 4px 0 0;
}

/* ---- Responsive ---- */
@media (max-width: 540px) {
	.wc2026-teams-row {
		grid-template-columns: 1fr auto 1fr;
		gap: 8px;
	}
	.wc2026-flag       { font-size: 2.4rem; }
	.wc2026-team-name  { font-size: .9rem; }
	.wc2026-final-score { font-size: 2rem; }
	.wc2026-match-card { padding: 16px; }
	.wc2026-guess-fields { flex-direction: column; align-items: stretch; }
	.wc2026-score-inputs { justify-content: center; }
	.wc2026-btn-submit { width: 100%; }
}
