/* open-registration.css 
	Open registration view and Enrollment form styles
	Aug 2026 by CuR
*/


/* || registrations */

.registrations {
	width: 100%;
	max-width: 52rem;
	margin-inline: auto;
	
	--stack-gap: 3rem;
}


/* || Registration card */

.registration-card {
	display: grid;
	grid-template-columns:
		repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
	gap: 1rem;

	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-lg);
	padding: 1.5rem 1rem;
	background: var(--clr-surface-elevated);
}

.registration-card__heading {
	--stack-gap: .375rem;
}

.registration-card__title {
	font-size: clamp(2rem, 9vw, 2.75rem);
	color: var(--clr-text);
	font-weight: var(--fw-bolder);
	line-height: 1.12;
	letter-spacing: -0.04em;
	text-wrap: balance;

	max-width: 30rem;
}

.registration-card__subtitle {
	color: var(--clr-text-soft);
}

.registration-card__content {
	--stack-gap: 2rem;
}

.registration-card__info {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	overflow: hidden;
}


/* || Registration info: enrollment */

.registration-info {
	--stack-gap: 1rem;
	font-size: var(--fs-small);
	color: var(--clr-text-soft);
}

.registration-info__title {
	font-size: 1.375rem;
	color: var(--clr-text);
	font-weight: var(--fw-bolder);
	line-height: 1.12;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

@container main (width < 768px) {
	.registration-info__title {
		font-size: clamp(1.25rem, 7vw, 1.875rem);
	}

	.base-form__wrapper {
		margin-top: 2rem;
	}
}

.registration-info__block {
	border-bottom: 1px solid var(--border-color);
	padding-bottom: 1.25rem;
}

.registration-info .base-paragraph {
	font-size: inherit;
}

.registration-info__legend {
	font-size: var(--fs-base);
	font-weight: var(--fw-bold);
	color: var(--clr-text);

	margin-bottom: .375rem;
}

.registration-info__categories {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
 
.registration-info__category {
	padding: .125rem .75rem;

	border: 1px solid var(--border-color);
	border-radius: 100vmax;
	background: var(--clr-surface-elevated);

	color: var(--clr-success);
	font-size: var(--fs-small);
	font-weight: var(--fw-bold);
}


/* || Search team dialog */

.team-search-dialog {
	width: min(36rem, calc(100vw - 2rem));
	border: 0;
	padding: 0;
	border-radius: var(--border-radius-lg);
	background: var(--clr-surface-elevated);
	color: var(--clr-text);
	box-shadow: var(--shadow-dialog);
}

.team-search-dialog__inner {
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	padding-block: .875rem;
	padding-inline: 1.25rem;
}

.team-search-dialog__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.team-search-dialog__body {
	/*padding: 1.25rem;*/
}


/* || Confirm enrollment */

.enrollment-confirmation {
	width: 100%;
	max-width: 36rem;
	margin-inline: auto;
	padding-block: 2rem;

	--stack-gap: .675rem;
	text-align: center;
}

.enrollment-confirmation__title {
	--font-size: clamp(1rem, 7vw, 1.5rem);
	text-wrap: balance;
}

.enrollment-confirmation__message {
	font-size: var(--fs-base);
	color: var(--clr-text-soft);
	text-wrap: pretty;
}

.enrollment-confirmation__team {
	display: flex;
	flex-direction: column;
	gap: .25rem;

	margin-top: 1rem;
	padding: 1rem;

	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	background: var(--clr-surface-subtle);
}

.enrollment-confirmation__legend {
	color: var(--clr-text-accent);
	font-size: var(--fs-small);
	font-weight: var(--fw-bold);
}

.enrollment-confirmation__team strong {
	color: var(--clr-text-soft);
	font-size: var(--fs-medium);
	font-weight: var(--fw-bold);
}


/* || Search team component */

.team-search-dialog .search-bar {
	--_size: 2rem;
	max-width: none;
}

.team-search-dialog .search-bar:focus-within {
	border-color: var(--clr-generic);
	box-shadow: 0 0 0 2px hsl(from var(--clr-generic) h s l / .18);
}

.team-search-results {
	margin-top: 1.25rem;
	height: 13rem;
	overflow-inline: auto;
}

.team-search-results__list {
	--stack-gap: .125rem;
	min-width: 0;
}

.team-search-result {
	font-size: var(--fs-medium);
	cursor: pointer;

	padding: .625rem;
	border-radius: var(--border-radius);
}

.team-search-result:hover {
	background: var(--clr-surface-subtle);
}

.team-search-result > * {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.team-search-result__name {
	font-weight: var(--fw-bold);
}

.team-search-result__name > span {
	font-weight: var(--fw-base);
	color: var(--clr-text-muted);
}

.team-search-result__meta {
	font-size: var(--fs-small);
	color: var(--clr-text-muted);

	margin-top: .25rem;
}


/* || Team field: status */

.team-field__status {
	flex-shrink: 0;

	padding: .125rem .625rem;

	border: 1px solid var(--border-color);
	border-radius: 100vmax;
	background: var(--clr-surface-subtle);

	color: var(--clr-text-muted);
	font-size: var(--fs-smaller);
	font-weight: var(--fw-bold);
	line-height: 1.4;
}

.team-field__status.is-existing {
	color: var(--clr-on-contrast);
	background: var(--clr-link-neutral);
}

/* || Enrollment : form */

.enrollment-form__title {
	font-size: var(--fs-largest);
}


/* || Enrollment success message */

.enrollment-success__message {
	font-size: var(--fs-medium);
	text-align: center;
}