/* =========================================================
   U-19 Championship — hero, tournament page, registration, popup
   Uses the design tokens from main.css (--asca-red, --asca-navy …)
   ========================================================= */

:root {
	--asca-sky: #EAF4FB;
	--asca-sky-2: #D8EAF7;
}

/* ---------- Menu highlight ---------- */
.asca-menu li.asca-menu-highlight > a { color: var(--asca-red); }
.asca-menu-badge {
	display: inline-block; margin-left: 4px; padding: 2px 7px; border-radius: 999px; background: var(--asca-red); color: #fff;
	font-size: 10px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; vertical-align: 2px; line-height: 1.4;
}

/* ---------- Hero ---------- */
.asca-t-hero { position: relative; color: #fff; background: var(--asca-navy); overflow: hidden; isolation: isolate; }
.asca-t-hero__bg {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(900px 500px at 85% 20%, rgba(215,25,32,.38), transparent 60%),
		radial-gradient(700px 420px at 5% 100%, rgba(21,148,71,.22), transparent 60%),
		linear-gradient(135deg, #071A2B 0%, #0b2540 55%, #0E263D 100%);
}
.asca-t-hero__bg::after {
	content: ""; position: absolute; inset: 0; opacity: .07;
	background-image: repeating-linear-gradient(115deg, #fff 0 2px, transparent 2px 26px);
}
.asca-t-hero__inner { display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; align-items: center; padding: 72px 24px 64px; }

.asca-t-badge {
	display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px;
	background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22);
	font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
}
.asca-t-badge__dot { width: 9px; height: 9px; border-radius: 50%; background: #3ddc84; box-shadow: 0 0 0 0 rgba(61,220,132,.6); animation: asca-t-pulse 2s infinite; }
.asca-t-badge.is-closed .asca-t-badge__dot { background: #ff8a8f; animation: none; }
@keyframes asca-t-pulse { 0% { box-shadow: 0 0 0 0 rgba(61,220,132,.55); } 70% { box-shadow: 0 0 0 10px rgba(61,220,132,0); } 100% { box-shadow: 0 0 0 0 rgba(61,220,132,0); } }

.asca-t-hero__title { margin: 18px 0 8px; color: #fff; font-size: clamp(34px, 5.4vw, 64px); line-height: 1.05; text-transform: uppercase; letter-spacing: .5px; }
.asca-t-hero__line1 { display: block; font-weight: 600; font-size: .62em; letter-spacing: 3px; color: rgba(255,255,255,.92); }
.asca-t-hero__line2 { display: block; color: #ff4b52; font-weight: 800; text-shadow: 0 6px 30px rgba(215,25,32,.35); }
.asca-t-hero__tagline { font-size: clamp(16px, 2vw, 20px); font-style: italic; color: rgba(255,255,255,.82); margin: 0 0 22px; }

.asca-t-hero__facts { display: flex; flex-wrap: wrap; gap: 14px 30px; margin: 0 0 22px; }
.asca-t-hero__facts li { display: flex; align-items: center; gap: 12px; }
.asca-t-ico { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.1); color: #ff8a8f; flex-shrink: 0; }
.asca-t-hero__facts small { display: block; font-size: 11.5px; letter-spacing: .6px; text-transform: uppercase; color: rgba(255,255,255,.65); }
.asca-t-hero__facts strong { display: block; font-size: 18px; line-height: 1.2; }

.asca-t-hero__prizes { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.asca-t-prize {
	min-width: 170px; padding: 12px 20px; border-radius: 14px; background: linear-gradient(135deg, #D71920, #a30f15);
	box-shadow: 0 12px 28px rgba(215,25,32,.35);
}
.asca-t-prize--alt { background: linear-gradient(135deg, #1f4f86, #12365f); box-shadow: 0 12px 28px rgba(18,54,95,.5); }
.asca-t-prize small { display: block; font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; opacity: .85; }
.asca-t-prize strong { display: block; font-family: var(--asca-font-heading); font-size: 28px; line-height: 1.15; }

.asca-t-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.asca-t-hero__last { margin: 14px 0 0; font-size: 14px; color: rgba(255,255,255,.8); }

.asca-t-countdown { display: inline-grid; grid-template-columns: repeat(4, minmax(64px, 1fr)); gap: 10px; margin-top: 26px; }
.asca-t-countdown div { text-align: center; padding: 10px 6px; border-radius: 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.asca-t-countdown strong { display: block; font-family: var(--asca-font-heading); font-size: 26px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.asca-t-countdown span { font-size: 11px; letter-spacing: .8px; text-transform: uppercase; color: rgba(255,255,255,.7); }
.asca-t-countdown.is-started { display: block; padding: 12px 18px; border-radius: 12px; background: rgba(61,220,132,.16); border: 1px solid rgba(61,220,132,.4); font-weight: 700; }

.asca-t-hero__media { display: flex; justify-content: center; }
.asca-t-poster {
	display: block; position: relative; width: min(100%, 400px); border-radius: 18px; overflow: hidden;
	box-shadow: 0 30px 70px rgba(0,0,0,.5), 0 0 0 6px rgba(255,255,255,.12); transform: rotate(2deg); transition: transform .35s ease;
}
.asca-t-poster:hover { transform: rotate(0) scale(1.02); }
.asca-t-poster img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--asca-sky); }

.asca-t-strip { background: #fff; color: var(--asca-navy); }
.asca-t-strip__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 0; padding: 0 24px; }
.asca-t-strip__grid > div { padding: 22px 22px 22px 0; }
.asca-t-strip__grid > div + div { padding-left: 22px; border-left: 1px solid var(--asca-border); }
.asca-t-strip small { display: block; font-size: 11.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--asca-text-muted); font-weight: 600; }
.asca-t-strip strong { display: block; font-family: var(--asca-font-heading); font-size: 18px; line-height: 1.3; margin: 2px 0; }
.asca-t-strip strong.is-red { color: var(--asca-red); font-size: 24px; }
.asca-t-strip strong a { color: inherit; }
.asca-t-strip span { display: block; font-size: 13px; color: var(--asca-text-muted); }
.asca-t-strip span a { color: var(--asca-text-muted); font-weight: 600; }

/* ---------- Sections ---------- */
.asca-t-section { padding: 80px 0; }
.asca-t-section--soft { background: var(--asca-sky); }
.asca-t-narrow { max-width: 900px; }
.asca-t-closed { text-align: center; font-weight: 600; color: var(--asca-red); }

.asca-t-about { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.asca-t-about__text p { color: var(--asca-text-muted); }
.asca-t-checks { margin: 18px 0 26px; display: grid; gap: 10px; }
.asca-t-checks li { position: relative; padding-left: 30px; }
.asca-t-checks li::before {
	content: "✓"; position: absolute; left: 0; top: 1px; width: 21px; height: 21px; display: grid; place-items: center;
	border-radius: 50%; background: rgba(21,148,71,.14); color: var(--asca-green); font-size: 12px; font-weight: 800;
}
.asca-t-about__banner { display: block; border-radius: var(--asca-radius); overflow: hidden; box-shadow: var(--asca-shadow-lg); }
.asca-t-about__banner img { width: 100%; height: auto; }

/* Prizes */
.asca-t-prizes { padding: 80px 0; color: #fff; background: radial-gradient(800px 400px at 50% 0, rgba(215,25,32,.35), transparent 60%), var(--asca-navy); }
.asca-t-prizes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); gap: 28px; justify-content: center; }
.asca-t-prizecard {
	text-align: center; padding: 34px 24px; border-radius: 20px; color: #fff;
	background: linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.2);
}
.asca-t-prizecard svg { color: #cfd8e3; margin-bottom: 8px; }
.asca-t-prizecard small { display: block; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; opacity: .8; }
.asca-t-prizecard strong { display: block; font-family: var(--asca-font-heading); font-size: clamp(34px, 5vw, 52px); line-height: 1.15; }
.asca-t-prizecard--gold { background: linear-gradient(160deg, rgba(255,205,80,.28), rgba(255,205,80,.06)); border-color: rgba(255,205,80,.6); }
.asca-t-prizecard--gold svg, .asca-t-prizecard--gold strong { color: #ffd466; }

/* Steps */
.asca-t-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: none; }
.asca-t-steps li { position: relative; background: #fff; padding: 28px 22px 24px; border-radius: var(--asca-radius); box-shadow: var(--asca-shadow); }
.asca-t-steps__no {
	display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--asca-red); color: #fff;
	font-family: var(--asca-font-heading); font-weight: 800; margin-bottom: 14px;
}
.asca-t-steps h3 { font-size: 17px; margin-bottom: 6px; }
.asca-t-steps p { margin: 0; color: var(--asca-text-muted); font-size: 14.5px; }

/* Rules */
.asca-t-rules { display: grid; gap: 12px; }
.asca-t-rules li { position: relative; padding: 14px 18px 14px 48px; background: var(--asca-bg-light); border-radius: var(--asca-radius-sm); }
.asca-t-rules li::before { content: "●"; position: absolute; left: 20px; top: 14px; color: var(--asca-red); font-size: 12px; }

/* Selected teams */
.asca-t-count { text-align: center; font-size: 16px; margin-bottom: 18px; color: var(--asca-text-muted); }
.asca-t-count strong { color: var(--asca-green); font-size: 22px; font-family: var(--asca-font-heading); }
.asca-t-empty { text-align: center; padding: 30px 20px; border: 2px dashed rgba(7,26,43,.2); border-radius: var(--asca-radius); background: rgba(255,255,255,.6); color: var(--asca-text-muted); }
.asca-t-teams { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; counter-reset: team; }
.asca-t-team {
	counter-increment: team; position: relative; display: flex; flex-direction: column; padding: 14px 54px 14px 58px;
	background: #fff; border-radius: 12px; box-shadow: var(--asca-shadow); border-left: 5px solid var(--asca-green);
}
.asca-t-team::before {
	content: counter(team); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; display: grid; place-items: center;
	border-radius: 50%; background: var(--asca-bg-light); font-family: var(--asca-font-heading); font-weight: 700; font-size: 13px; color: var(--asca-navy);
}
.asca-t-team__name { font-weight: 700; color: var(--asca-navy); font-family: var(--asca-font-heading); line-height: 1.3; overflow-wrap: anywhere; }
.asca-t-team__city { font-size: 13px; color: var(--asca-text-muted); }
.asca-t-team__tick { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: rgba(21,148,71,.14); color: var(--asca-green); font-weight: 800; }

/* Posters */
.asca-t-posters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.asca-t-posters a { display: block; border-radius: var(--asca-radius); overflow: hidden; box-shadow: var(--asca-shadow); transition: transform .3s ease, box-shadow .3s ease; background: var(--asca-sky); }
.asca-t-posters a:hover { transform: translateY(-6px); box-shadow: var(--asca-shadow-lg); }
.asca-t-posters img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }

/* Coordinators / patrons / partners */
.asca-t-coords { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.asca-t-coord { background: #fff; border-radius: var(--asca-radius); padding: 20px 18px; box-shadow: var(--asca-shadow); border-top: 4px solid var(--asca-red); }
.asca-t-coord small { display: block; font-size: 11.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--asca-red); font-weight: 700; margin-bottom: 4px; }
.asca-t-coord strong { display: block; font-family: var(--asca-font-heading); font-size: 17px; color: var(--asca-navy); margin-bottom: 6px; }
.asca-t-coord a { font-weight: 600; font-size: 14px; color: var(--asca-navy); white-space: nowrap; }
.asca-t-coord a:hover { color: var(--asca-red); }
.asca-t-patrons { margin-top: 44px; text-align: center; }
.asca-t-patrons h3 { font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--asca-red); }
.asca-t-patrons ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.asca-t-patrons li { padding: 10px 20px; background: #fff; border-radius: 999px; font-weight: 700; color: var(--asca-navy); box-shadow: var(--asca-shadow); }

.asca-t-partners { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; max-width: 960px; margin: 0 auto; }
.asca-t-partner { text-align: center; padding: 26px 20px; border: 1px solid var(--asca-border); border-radius: var(--asca-radius); background: #fff; }
.asca-t-partner small { display: block; color: var(--asca-red); font-weight: 700; font-size: 12px; letter-spacing: .8px; text-transform: uppercase; margin-bottom: 8px; }
.asca-t-partner img { max-height: 54px; width: auto; margin: 0 auto 10px; }
.asca-t-partner strong { font-family: var(--asca-font-heading); color: var(--asca-navy); font-size: 17px; }

/* Media */
.asca-t-media { display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; align-items: start; }
.asca-t-media__clip { display: block; background: #fff; border-radius: var(--asca-radius); overflow: hidden; box-shadow: var(--asca-shadow); }
.asca-t-media__clip img { width: 100%; height: auto; }
.asca-t-media__clip span { display: block; padding: 10px 14px; font-size: 13px; color: var(--asca-text-muted); }
.asca-t-news { display: grid; gap: 14px; }
.asca-t-news li { background: #fff; border-radius: var(--asca-radius-sm); padding: 18px 20px; box-shadow: var(--asca-shadow); }
.asca-t-news small { display: inline-block; margin-bottom: 6px; padding: 2px 10px; border-radius: 999px; background: rgba(215,25,32,.1); color: var(--asca-red); font-weight: 700; font-size: 11.5px; letter-spacing: .5px; text-transform: uppercase; }
.asca-t-news a { display: block; font-weight: 600; color: var(--asca-navy); line-height: 1.5; }
.asca-t-news a:hover { color: var(--asca-red); }

/* CTA */
.asca-t-cta { padding: 70px 0; color: #fff; background: linear-gradient(100deg, var(--asca-navy), #7d0e13 120%); }
.asca-t-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.asca-t-cta h2 { color: #fff; font-size: clamp(24px, 3.2vw, 36px); max-width: 560px; margin-bottom: 8px; }
.asca-t-cta p { margin: 0; color: rgba(255,255,255,.85); }
.asca-t-cta__buttons { display: flex; flex-wrap: wrap; gap: 14px; }

/* =========================================================
   Registration page
   ========================================================= */
.asca-t-pagehead { color: #fff; padding: 56px 0 44px; text-align: center; background: radial-gradient(700px 300px at 80% 0, rgba(215,25,32,.4), transparent 60%), var(--asca-navy); }
.asca-t-pagehead .asca-eyebrow { color: #ff8a8f; }
.asca-t-pagehead h1 { color: #fff; font-size: clamp(30px, 4.4vw, 48px); margin-bottom: 6px; }
.asca-t-pagehead p { color: rgba(255,255,255,.82); margin: 0 0 22px; }
.asca-t-progress { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; font-size: 13.5px; font-weight: 600; }
.asca-t-progress li { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.88); }
.asca-t-progress span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--asca-red); color: #fff; font-size: 12px; font-weight: 800; }

.asca-t-reg { padding-top: 40px; padding-bottom: 90px; }
.asca-t-reg__grid { display: grid; grid-template-columns: 380px 1fr; gap: 32px; align-items: start; }
.asca-t-pay { position: sticky; top: 100px; }

.asca-t-card { background: #fff; border: 1px solid var(--asca-border); border-radius: 18px; padding: 26px; margin: 0 0 24px; box-shadow: var(--asca-shadow); min-width: 0; }
fieldset.asca-t-card { display: block; }
.asca-t-card legend { float: left; width: 100%; padding: 0; margin: 0 0 18px; font-family: var(--asca-font-heading); font-weight: 700; font-size: 20px; color: var(--asca-navy); display: flex; align-items: center; gap: 10px; }
.asca-t-card legend + * { clear: both; }
.asca-t-step { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--asca-red); color: #fff; font-family: var(--asca-font-heading); font-weight: 800; font-size: 15px; flex-shrink: 0; }
.asca-t-card--pay { text-align: center; margin: 0; border-top: 5px solid var(--asca-red); }
.asca-t-card--pay h2 { font-size: 20px; margin: 10px 0 14px; }
.asca-t-pay__fee { margin: 0 0 14px; padding: 12px; background: var(--asca-bg-light); border-radius: 12px; }
.asca-t-pay__fee small { display: block; font-size: 12px; letter-spacing: .8px; text-transform: uppercase; color: var(--asca-text-muted); }
.asca-t-pay__fee strong { font-family: var(--asca-font-heading); font-size: 26px; color: var(--asca-red); }
.asca-t-pay__fee strong.is-small { font-size: 15px; color: var(--asca-navy); }
.asca-t-qr { display: block; width: min(100%, 280px); margin: 0 auto 8px; padding: 10px; background: #fff; border: 2px solid var(--asca-border); border-radius: 16px; }
.asca-t-qr img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.asca-t-pay__hint { font-size: 13px; color: var(--asca-text-muted); }
.asca-t-upi { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 10px; margin: 8px 0 14px; }
.asca-t-upi small { width: 100%; font-size: 12px; text-transform: uppercase; letter-spacing: .8px; color: var(--asca-text-muted); }
.asca-t-upi code { padding: 8px 12px; background: var(--asca-bg-light); border-radius: 8px; font-size: 14px; font-weight: 700; word-break: break-all; }
.asca-t-pay__note { padding: 10px 12px; background: rgba(21,148,71,.1); border-radius: 8px; font-size: 13.5px; }
.asca-t-pay__list { text-align: left; margin: 14px 0; display: grid; gap: 8px; font-size: 13.5px; color: var(--asca-text-muted); }
.asca-t-pay__list li { position: relative; padding-left: 22px; }
.asca-t-pay__list li::before { content: "✓"; position: absolute; left: 0; color: var(--asca-green); font-weight: 800; }
.asca-t-pay__help { border-top: 1px dashed var(--asca-border); padding-top: 12px; display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: center; font-size: 14px; }
.asca-t-pay__help small { width: 100%; color: var(--asca-text-muted); }
.asca-t-pay__help a { font-weight: 700; color: var(--asca-navy); }

.asca-t-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.asca-t-field { min-width: 0; margin-bottom: 0; }
.asca-t-field > label:not(.asca-t-drop) { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--asca-navy); }
.asca-t-field abbr { color: var(--asca-red); text-decoration: none; }
.asca-t-field input[type="text"], .asca-t-field input[type="tel"], .asca-t-field input[type="email"], .asca-t-field input[type="date"], .asca-t-field select {
	width: 100%; padding: 12px 14px; border: 1.5px solid #cfd8e0; border-radius: 10px; background: #fff; color: var(--asca-navy); font: inherit; font-size: 15px; min-height: 46px;
}
.asca-t-field select {
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%235B6B7A'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.293l3.71-4.06a.75.75 0 111.08 1.04l-4.25 4.65a.75.75 0 01-1.08 0l-4.25-4.65a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 36px;
}
.asca-t-field input:focus, .asca-t-field select:focus { outline: none; border-color: var(--asca-red); box-shadow: 0 0 0 3px rgba(215,25,32,.14); }
.asca-t-field.has-error input, .asca-t-field.has-error select, .asca-t-field.has-error .asca-t-drop { border-color: var(--asca-red); background: #fff7f7; }
.asca-t-help { margin: 6px 0 0; font-size: 12.5px; color: var(--asca-text-muted); }
.asca-t-help--center { text-align: center; margin-top: 12px; }
.asca-t-error { margin: 5px 0 0; font-size: 13px; font-weight: 600; color: var(--asca-red); min-height: 0; }
.asca-t-error:empty { display: none; }

/* Players */
.asca-t-players-head, .asca-t-player { display: grid; grid-template-columns: 30px minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) 34px; gap: 10px; align-items: start; }
.asca-t-players-head { padding: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--asca-text-muted); }
.asca-t-player { padding: 5px 0; }
.asca-t-player__no { display: grid; place-items: center; height: 46px; font-weight: 800; font-family: var(--asca-font-heading); color: var(--asca-text-muted); }
.asca-t-player__remove { height: 46px; width: 34px; border: 0; background: transparent; color: var(--asca-text-muted); font-size: 24px; line-height: 1; border-radius: 8px; }
.asca-t-player__remove:hover { background: rgba(215,25,32,.1); color: var(--asca-red); }
.asca-t-player__remove[hidden] { display: block; visibility: hidden; }
.asca-t-lbl { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.asca-t-players-foot { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.asca-t-count { font-size: 13.5px; color: var(--asca-text-muted); font-weight: 600; }

/* Files */
.asca-t-field--file { margin-top: 18px; }
.asca-t-field--file > input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.asca-t-field--file[data-field="doc_file"] > input[type="file"] { position: static; width: 100%; height: auto; opacity: 1; padding: 10px; border: 1.5px dashed #cfd8e0; border-radius: 10px; font: inherit; font-size: 14px; background: var(--asca-bg-light); }
.asca-t-drop {
	display: flex; align-items: center; gap: 14px; padding: 18px; border: 2px dashed #b7c4d0; border-radius: 14px; background: var(--asca-bg-light);
	cursor: pointer; transition: border-color .2s ease, background .2s ease;
}
.asca-t-drop:hover, .asca-t-field--file input:focus-visible + .asca-t-drop { border-color: var(--asca-red); background: #fff7f7; }
.asca-t-field--file:focus-within .asca-t-drop { border-color: var(--asca-red); }
.asca-t-drop__icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--asca-red); color: #fff; font-size: 20px; flex-shrink: 0; }
.asca-t-drop__text strong { display: block; color: var(--asca-navy); font-size: 15px; }
.asca-t-drop__text small { color: var(--asca-text-muted); font-size: 12.5px; }
.asca-t-drop__preview { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; margin-left: auto; border: 1px solid var(--asca-border); }
.asca-t-drop__preview[hidden] { display: none; }
.asca-t-filename { margin: 6px 0 0; font-size: 13px; color: var(--asca-green); font-weight: 600; word-break: break-all; }
.asca-t-filename:empty { display: none; }

.asca-t-consent { margin: 4px 0 20px; padding: 16px 18px; background: var(--asca-sky); border-radius: 12px; }
.asca-t-consent label { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.asca-t-consent input { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; accent-color: var(--asca-red); }

.asca-t-alert { padding: 14px 16px; border-radius: 10px; margin-bottom: 20px; font-weight: 600; font-size: 14.5px; }
.asca-t-alert[hidden] { display: none; }
.asca-t-alert--error { background: #fdecec; color: #a4161d; border: 1px solid #f3b9bc; }

.asca-t-form.is-busy { opacity: .7; pointer-events: none; }
#asca-reg-submit[disabled] { opacity: .75; cursor: progress; }

/* Success / closed */
.asca-t-success, .asca-t-closedbox {
	text-align: center; padding: 44px 26px; max-width: 640px; margin: 0 auto 30px; border-radius: 20px; background: #fff; box-shadow: var(--asca-shadow-lg);
	border-top: 6px solid var(--asca-green);
}
.asca-t-success[hidden] { display: none; }
.asca-t-closedbox { border-top-color: var(--asca-red); }
.asca-t-success__icon { width: 70px; height: 70px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 50%; background: rgba(21,148,71,.14); color: var(--asca-green); font-size: 36px; font-weight: 800; }
.asca-t-success__id { display: inline-block; margin: 0 0 14px; padding: 10px 22px; border-radius: 12px; background: var(--asca-bg-light); font-family: var(--asca-font-heading); font-weight: 800; font-size: 28px; letter-spacing: 1px; color: var(--asca-navy); user-select: all; }
.asca-t-success__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 8px; }

/* Popup poster variant */
.asca-popup--poster { max-width: 400px; max-height: calc(100vh - 32px); overflow-y: auto; }
.asca-popup__poster { display: block; background: var(--asca-sky); }
.asca-popup__poster img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.asca-popup--poster .asca-popup__body { padding: 18px 22px 22px; }
.asca-popup--poster .asca-popup__body h3 { font-size: 18px; }
.asca-popup--poster .asca-popup__body p { margin-bottom: 14px; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1100px) {
	.asca-t-coords { grid-template-columns: repeat(3, 1fr); }
	.asca-t-steps { grid-template-columns: repeat(2, 1fr); }
	.asca-t-reg__grid { grid-template-columns: 340px 1fr; }
}
@media (max-width: 960px) {
	.asca-t-hero__inner { grid-template-columns: 1fr; padding: 48px 24px 44px; gap: 34px; }
	.asca-t-hero__media { order: -1; }
	.asca-t-poster { width: min(78%, 340px); }
	.asca-t-strip__grid { grid-template-columns: 1fr 1fr; padding: 0 24px; }
	.asca-t-strip__grid > div { padding: 16px 12px 16px 0; border-left: 0 !important; }
	.asca-t-strip__grid > div:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--asca-border) !important; }
	.asca-t-strip__grid > div:nth-child(n+3) { border-top: 1px solid var(--asca-border); }
	.asca-t-about, .asca-t-media { grid-template-columns: 1fr; gap: 30px; }
	.asca-t-reg__grid { grid-template-columns: 1fr; }
	.asca-t-pay { position: static; }
	.asca-t-posters { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}
@media (max-width: 720px) {
	.asca-t-section, .asca-t-prizes { padding: 56px 0; }
	.asca-t-steps, .asca-t-teams { grid-template-columns: 1fr; }
	.asca-t-prizes__grid { grid-template-columns: 1fr; }
	.asca-t-coords { grid-template-columns: repeat(2, 1fr); }
	.asca-t-posters { grid-template-columns: 1fr 1fr; }
	.asca-t-posters a:nth-child(3) { grid-column: 1 / -1; max-width: 50%; margin: 0 auto; }
	.asca-t-hero__ctas .asca-btn, .asca-t-cta__buttons .asca-btn { flex: 1 1 100%; }
	.asca-t-countdown { display: grid; grid-template-columns: repeat(4, 1fr); }
	.asca-t-cta__inner { text-align: center; justify-content: center; }
	.asca-t-cta__buttons { justify-content: center; width: 100%; }
	.asca-t-card { padding: 20px 16px; }
	.asca-t-grid { grid-template-columns: 1fr; }

	/* Player rows become compact cards */
	.asca-t-reg.asca-container { padding-left: 14px; padding-right: 14px; }
	.asca-t-players-head { display: none; }
	.asca-t-player { grid-template-columns: 30px minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "no name name" "rm dob role"; row-gap: 8px; padding: 12px 0; border-bottom: 1px dashed var(--asca-border); }
	.asca-t-player__no { grid-area: no; margin-top: 20px; }
	.asca-t-player > [data-field^="player_name"] { grid-area: name; }
	.asca-t-player > [data-field^="player_dob"] { grid-area: dob; }
	.asca-t-player > [data-field^="player_role"] { grid-area: role; }
	.asca-t-player__remove { grid-area: rm; align-self: end; width: 30px; height: 44px; font-size: 22px; }
	.asca-t-lbl { position: static !important; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; display: block; font-size: 12px; font-weight: 600; color: var(--asca-text-muted); margin-bottom: 4px; }
	.asca-t-player > .asca-t-field > input, .asca-t-player > .asca-t-field > select { min-height: 44px; padding: 10px 8px; font-size: 14px; }
	.asca-t-player > .asca-t-field > select { padding-right: 28px; background-position: right 8px center; }
}
@media (max-width: 480px) {
	.asca-t-hero__prizes .asca-t-prize { flex: 1 1 100%; }
	.asca-t-coords { grid-template-columns: 1fr; }
	.asca-t-countdown strong { font-size: 22px; }
	.asca-t-strip__grid { grid-template-columns: 1fr; }
	.asca-t-strip__grid > div:nth-child(even) { padding-left: 0; border-left: 0 !important; }
	.asca-t-strip__grid > div + div { border-top: 1px solid var(--asca-border); }
}

@media (prefers-reduced-motion: reduce) {
	.asca-t-badge__dot { animation: none; }
	.asca-t-poster { transition: none; transform: none; }
}

/* ---------- Header: make room for the extra tournament menu item ---------- */
@media (min-width: 1301px) {
	.asca-header .asca-container { max-width: 1480px; }
	.asca-menu { gap: 16px; }
	.asca-menu li a { font-size: 14px; }
}
@media (min-width: 1301px) and (max-width: 1699px) {
	.asca-header__call span:last-child { display: none; }
	.asca-menu-badge { display: none; }
}
