/**
 * Alumni registration page — polished layout (loaded only on Alumni Registration template).
 *
 * @package DBCTE_Tura
 */

.alumni-reg-page {
	--ar-glow: color-mix(in srgb, var(--dbcte-hub-sky) 50%, transparent);
	--ar-glass: color-mix(in srgb, #ffffff 8%, transparent);
	--ar-border: color-mix(in srgb, var(--dbcte-hub-sky) 32%, transparent);
	--ar-text: rgba(255, 255, 255, 0.92);
	--ar-muted: rgba(226, 232, 240, 0.72);
	position: relative;
	margin-top: 0;
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	background:
		radial-gradient(ellipse 80% 50% at 50% -20%, color-mix(in srgb, var(--dbcte-primary-light) 22%, transparent) 0%, transparent 55%),
		radial-gradient(ellipse 60% 40% at 100% 50%, color-mix(in srgb, var(--dbcte-hub-sky) 12%, transparent) 0%, transparent 50%),
		radial-gradient(ellipse 50% 45% at 0% 80%, color-mix(in srgb, var(--dbcte-accent) 8%, transparent) 0%, transparent 45%),
		linear-gradient(165deg, #0b1220 0%, color-mix(in srgb, var(--dbcte-primary) 88%, #020617 12%) 48%, #060b14 100%);
	color: var(--ar-text);
	overflow: clip;
}

.alumni-reg-page.section {
	padding-top: 0;
}

/* Hero */
.alumni-reg-page__hero {
	position: relative;
	padding: clamp(2.25rem, 5vw, 3.5rem) 0 clamp(1.75rem, 3.5vw, 2.5rem);
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	border-bottom: 1px solid color-mix(in srgb, var(--dbcte-hub-sky) 22%, transparent);
}

.alumni-reg-page__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(180deg, #000 0%, transparent 85%);
	pointer-events: none;
	opacity: 0.65;
}

.alumni-reg-page__hero-inner {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 44rem;
	margin-inline: auto;
}

.alumni-reg-page__title {
	margin: 0;
	font-size: clamp(2rem, 4.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	background: linear-gradient(
		120deg,
		#fff 0%,
		color-mix(in srgb, var(--dbcte-hub-sky) 75%, #fff 25%) 45%,
		color-mix(in srgb, var(--dbcte-accent) 55%, #fff 45%) 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.alumni-reg-page__tagline {
	margin: 0.85rem 0 0;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--ar-muted);
}

/* Shell + alerts */
.alumni-reg-page__shell {
	position: relative;
	z-index: 1;
	max-width: 52rem;
	margin-inline: auto;
}

.alumni-reg-page__alert {
	padding: 1rem 1.15rem;
	margin: 0 0 1.5rem;
	border-radius: 12px;
	font-size: 0.95rem;
	line-height: 1.55;
	border: 1px solid transparent;
}

.alumni-reg-page__alert strong {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 1.02rem;
}

.alumni-reg-page__alert--success {
	background: color-mix(in srgb, #22c55e 18%, transparent);
	border-color: color-mix(in srgb, #22c55e 42%, transparent);
	color: #bbf7d0;
}

.alumni-reg-page__alert--error {
	background: color-mix(in srgb, #f87171 14%, transparent);
	border-color: color-mix(in srgb, #f87171 32%, transparent);
	color: #fecaca;
}

/* Honeypot — hidden from visual users */
.alumni-reg-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

/* Form card */
.alumni-reg-form {
	position: relative;
	padding: clamp(1.35rem, 2.5vw, 1.85rem);
	border-radius: 18px;
	border: 1px solid var(--ar-border);
	background:
		linear-gradient(145deg, color-mix(in srgb, #fff 8%, transparent) 0%, transparent 42%),
		color-mix(in srgb, var(--dbcte-primary) 26%, #080d16 74%);
	box-shadow:
		0 0 0 1px color-mix(in srgb, #fff 5%, transparent) inset,
		0 20px 50px rgba(0, 0, 0, 0.45);
}

/* Step nav */
.alumni-reg-form__steps {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.alumni-reg-form__step-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.25rem;
	margin: 0 0 0.25rem;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.alumni-reg-form__step-nav li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ar-muted);
}

.alumni-reg-form__step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: 50%;
	font-size: 0.72rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, var(--dbcte-hub-sky), color-mix(in srgb, var(--dbcte-primary) 70%, var(--dbcte-hub-sky) 30%));
	box-shadow: 0 0 18px var(--ar-glow);
}

/* Fieldsets */
.alumni-reg-form__fieldset {
	margin: 0;
	padding: 0;
	border: none;
	min-width: 0;
}

.alumni-reg-form__legend {
	float: left;
	width: 100%;
	margin: 0 0 1rem;
	padding: 0;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #fff;
	border-bottom: 1px solid color-mix(in srgb, var(--dbcte-hub-sky) 25%, transparent);
	padding-bottom: 0.6rem;
}

.alumni-reg-form__fieldset:not(:first-of-type) .alumni-reg-form__legend {
	margin-top: 0.25rem;
}

.alumni-reg-form__grid {
	display: grid;
	gap: 1rem 1.25rem;
	clear: both;
	padding-top: 0.25rem;
}

@media (min-width: 640px) {
	.alumni-reg-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.alumni-reg-form__field {
	margin: 0;
}

.alumni-reg-form__field--full {
	grid-column: 1 / -1;
}

.alumni-reg-form__field label,
.alumni-reg-form__field .alumni-reg-form__label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--ar-muted);
}

.alumni-reg-form__programme-fixed {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.85rem;
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.45;
	font-weight: 600;
	color: color-mix(in srgb, #f1f5f9 88%, var(--dbcte-hub-sky) 12%);
	background: color-mix(in srgb, var(--dbcte-hub-sky) 8%, #020617 92%);
	border: 1px solid color-mix(in srgb, var(--dbcte-hub-sky) 28%, transparent);
	border-radius: 10px;
	box-shadow: 0 0 0 1px color-mix(in srgb, #fff 3%, transparent) inset;
}

.alumni-reg-form__field abbr[title] {
	text-decoration: none;
	color: var(--dbcte-accent);
}

.alumni-reg-form__field input,
.alumni-reg-form__field select,
.alumni-reg-form__field textarea {
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.85rem;
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.45;
	color: #f1f5f9;
	background: color-mix(in srgb, #020617 55%, transparent);
	border: 1px solid color-mix(in srgb, var(--dbcte-hub-sky) 35%, transparent);
	border-radius: 10px;
	box-shadow: 0 0 0 1px color-mix(in srgb, #fff 3%, transparent) inset;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.alumni-reg-form__field input::placeholder,
.alumni-reg-form__field textarea::placeholder {
	color: color-mix(in srgb, var(--ar-muted) 85%, transparent);
}

.alumni-reg-form__field input:hover,
.alumni-reg-form__field select:hover,
.alumni-reg-form__field textarea:hover {
	border-color: color-mix(in srgb, var(--dbcte-hub-sky) 55%, transparent);
}

.alumni-reg-form__field input:focus,
.alumni-reg-form__field select:focus,
.alumni-reg-form__field textarea:focus {
	outline: none;
	border-color: color-mix(in srgb, var(--dbcte-hub-sky) 75%, #fff 25%);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--dbcte-hub-sky) 45%, transparent) inset,
		0 0 0 3px color-mix(in srgb, var(--dbcte-hub-sky) 28%, transparent);
}

.alumni-reg-form__field select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	padding-right: 2.25rem;
}

.alumni-reg-form__field textarea {
	resize: vertical;
	min-height: 5rem;
}

/* Actions */
.alumni-reg-form__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.85rem;
	margin: 1.75rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, var(--dbcte-hub-sky) 22%, transparent);
}

@media (min-width: 480px) {
	.alumni-reg-form__actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
}

.alumni-reg-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.75rem;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--dbcte-hub-orange) 0%, color-mix(in srgb, var(--dbcte-accent) 88%, #c2410c 12%) 100%);
	box-shadow:
		0 2px 0 color-mix(in srgb, #fff 22%, transparent) inset,
		0 8px 28px color-mix(in srgb, var(--dbcte-accent) 35%, transparent);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.alumni-reg-form__submit:hover {
	box-shadow:
		0 2px 0 color-mix(in srgb, #fff 28%, transparent) inset,
		0 12px 36px color-mix(in srgb, var(--dbcte-accent) 45%, transparent);
	transform: translateY(-1px);
}

.alumni-reg-form__submit:focus-visible {
	outline: 2px solid var(--dbcte-hub-sky);
	outline-offset: 3px;
}

.alumni-reg-form__submit:active {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.alumni-reg-form__submit:hover,
	.alumni-reg-form__submit:active {
		transform: none;
	}
}

.alumni-reg-form__fineprint {
	font-size: 0.78rem;
	line-height: 1.5;
	color: var(--ar-muted);
	max-width: 28rem;
}

@media (min-width: 480px) {
	.alumni-reg-form__fineprint {
		text-align: right;
		flex: 1;
	}
}
