/**
 * 030tango Theme — Event submission wizard (D Phase 10).
 * BEM: o30t-wizard. Portable local --w-* tokens with brand fallbacks.
 */

.o30t-wizard-wrap {
	--w-accent: var(--o30t-color-primary, #bb0027);
	--w-accent-hover: var(--o30t-color-primary-hover, #a30022);
	--w-ink: var(--o30t-color-on-surface, #191c1e);
	--w-muted: var(--o30t-color-outline, #926e6d);
	--w-surface: var(--o30t-color-surface-lowest, #fff);
	--w-surface-alt: var(--o30t-color-surface-container-low, #f2f4f6);
	--w-border: var(--o30t-color-border, #e7bcbb);
	display: flex;
	justify-content: center;
	padding: 1rem;
}

.o30t-wizard-card {
	width: 100%;
	max-width: 680px;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: 14px;
	padding: 1.75rem;
	color: var(--w-ink);
}

.o30t-wizard-title {
	margin: 0 0 1.25rem;
	font-size: 1.5rem;
}

/* ── Progress ─────────────────────────────────────────────────────── */

.o30t-wizard-progress {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	counter-reset: none;
}

.o30t-wizard-progress__step {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.35rem 0.5rem;
	border-radius: 8px;
	background: var(--w-surface-alt);
	color: var(--w-muted);
	font-size: 0.8rem;
	cursor: pointer;
}

.o30t-wizard-progress__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex: none;
	border-radius: 50%;
	background: var(--w-border);
	color: var(--w-ink);
	font-weight: 700;
	font-size: 0.75rem;
}

.o30t-wizard-progress__step.is-active {
	background: var(--w-accent);
	color: #fff;
}
.o30t-wizard-progress__step.is-active .o30t-wizard-progress__num {
	background: #fff;
	color: var(--w-accent);
}
.o30t-wizard-progress__step.is-done .o30t-wizard-progress__num {
	background: var(--w-accent);
	color: #fff;
}

.o30t-wizard-progress__label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 560px) {
	.o30t-wizard-progress__label { display: none; }
	.o30t-wizard-progress__step { flex: 0 0 auto; }
}

/* ── Fields ───────────────────────────────────────────────────────── */

.o30t-wizard__field { margin-bottom: 1rem; }

.o30t-wizard__label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
	font-size: 0.92rem;
}

.o30t-wizard__control {
	width: 100%;
	font: inherit;
	padding: 0.6rem 0.7rem;
	min-height: 44px;
	border: 1px solid var(--w-border);
	border-radius: 8px;
	background: var(--w-surface);
	color: var(--w-ink);
	box-sizing: border-box;
}

.o30t-wizard__control:focus-visible {
	outline: 2px solid var(--w-accent);
	outline-offset: 1px;
}

textarea.o30t-wizard__control { resize: vertical; min-height: 96px; }

.o30t-wizard__row { display: flex; gap: 0.5rem; }
.o30t-wizard__control--sm { width: 6rem; flex: none; }

.o30t-wizard__hint,
.o30t-wizard__note {
	margin: 0.35rem 0 0;
	font-size: 0.83rem;
	color: var(--w-muted);
	line-height: 1.45;
}
.o30t-wizard__note { margin: 0 0 1rem; }

.o30t-wizard__checks {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.25rem;
}

.o30t-wizard__check {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.9rem;
	line-height: 1.4;
}

.o30t-wizard__check--block {
	display: flex;
	margin-bottom: 0.75rem;
}

.o30t-wizard__check input { margin-top: 0.15rem; flex: none; }

.o30t-wizard__fieldset {
	margin: 1rem 0 0;
	padding: 0.9rem;
	border: 1px solid var(--w-border);
	border-radius: 8px;
}

.o30t-wizard__fieldset legend { padding: 0 0.4rem; }

/* Honeypot. */
.o30t-wizard__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ── Review summary ───────────────────────────────────────────────── */

.o30t-wizard__summary { margin-bottom: 1rem; }

.o30t-wizard__summary-list {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.35rem 1rem;
	margin: 0;
	padding: 0.9rem;
	background: var(--w-surface-alt);
	border-radius: 8px;
}

.o30t-wizard__summary-list dt { font-weight: 600; color: var(--w-muted); }
.o30t-wizard__summary-list dd { margin: 0; word-break: break-word; }

/* ── Nav ──────────────────────────────────────────────────────────── */

.o30t-wizard__nav {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--w-border);
}

.o30t-wizard__nav--wrap { flex-wrap: wrap; }

.o30t-wizard__autosave {
	font-size: 0.82rem;
	color: var(--w-muted);
	margin: 0 auto 0 0;
}

.o30t-wizard__prev { margin-right: auto; }

.o30t-wizard__next,
.o30t-wizard__submit {
	margin-left: auto;
}
