.seh-hub {
	display: grid;
	gap: 18px;
}

.seh-event-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 18px;
}

.seh-calendar {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.seh-calendar-day {
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 6px;
	padding: 12px;
}

.seh-calendar-day h3 {
	font-size: 1rem;
	margin: 0 0 8px;
}

.seh-event-card {
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 6px;
	padding: 16px;
}

.seh-event-card img {
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.seh-event-card h2 {
	font-size: 1.25rem;
	margin: 12px 0 6px;
}

.seh-event-date {
	font-weight: 700;
}

.seh-ticket-form,
.seh-search {
	display: grid;
	gap: 14px;
	max-width: 560px;
}

.seh-ticket-form label,
.seh-search label,
.seh-registration-fields label {
	display: grid;
	gap: 6px;
	font-weight: 700;
}

.seh-ticket-form input,
.seh-ticket-form select,
.seh-ticket-form textarea,
.seh-search input,
.seh-registration-fields input,
.seh-registration-fields select,
.seh-registration-fields textarea {
	box-sizing: border-box;
	width: 100%;
}

.seh-registration-fields,
.seh-waiting-list {
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 6px;
	padding: 12px;
}

.seh-waiting-list {
	margin-top: 16px;
	max-width: 560px;
}

.seh-button {
	align-items: center;
	background: #166534;
	border: 0;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	padding: 10px 14px;
	text-decoration: none;
}

.seh-button:hover,
.seh-button:focus {
	background: #14532d;
	color: #fff;
}

.seh-notice,
.seh-error {
	border-radius: 6px;
	margin: 12px 0;
	padding: 12px 14px;
}

.seh-notice {
	background: #ecfdf5;
	border: 1px solid #86efac;
}

.seh-error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
}
