.evr-public { max-width: 960px; margin: 0 auto; }
.evr-event-title { margin-bottom: .25rem; }
.evr-event-date {
	display: block;
	margin: .5rem 0 1.1rem;
	padding: .7rem 1.1rem;
	background: #2563eb;
	color: #fff;
	border-radius: 8px;
	text-align: center;
}
.evr-event-date-value {
	font-weight: 700;
	font-size: 1.2rem;
	text-transform: capitalize;
	letter-spacing: .3px;
}

.evr-activities-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	margin: 1.5rem 0;
}
@media (max-width: 760px) {
	.evr-activities-grid { grid-template-columns: 1fr; }
}

.evr-activity h3 {
	margin: 0 0 .75rem;
	padding-bottom: .4rem;
	border-bottom: 2px solid currentColor;
}

.evr-slots { display: flex; flex-direction: column; gap: .5rem; }

.evr-slot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .5rem;
	padding: .6rem .8rem;
	border: 1px solid #c9c9c9;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	font: inherit;
	text-align: left;
	transition: border-color .15s, background .15s;
}
.evr-slot:hover:not(.is-full) { border-color: #2563eb; }
.evr-slot.is-selected { border-color: #2563eb; background: #eff4ff; box-shadow: 0 0 0 1px #2563eb inset; }
.evr-slot.is-full { opacity: .55; cursor: not-allowed; background: #f3f3f3; }
.evr-slot.is-insufficient { opacity: .6; cursor: not-allowed; background: #fff8f0; border-style: dashed; }
.evr-slot.is-insufficient .evr-slot-left { color: #b45309; }

.evr-party-size {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .9rem;
	margin: 1rem 0 .5rem;
	padding: .75rem 1rem;
	background: #f6f8fc;
	border: 1px solid #dbe3f0;
	border-radius: 8px;
}
.evr-party-size label { font-weight: 600; }
.evr-party-input {
	width: 72px;
	margin-left: .4rem;
	padding: .35rem .45rem;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	font: inherit;
}
.evr-party-note { font-size: .82em; color: #666; font-weight: 400; }

.evr-slot-time { font-weight: 600; }
.evr-slot-left { font-size: .82em; color: #555; white-space: nowrap; }
.evr-slot.is-full .evr-slot-left { color: #b91c1c; }

.evr-form-wrap {
	margin-top: 1.5rem;
	padding: 1.25rem;
	border: 1px solid #ddd;
	border-radius: 10px;
	background: #fafafa;
}
.evr-selected-label { font-weight: 400; color: #555; font-size: .9em; }

.evr-participant {
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: .75rem 1rem 1rem;
	margin: 0 0 .85rem;
	background: #fff;
	position: relative;
}
.evr-participant legend { font-weight: 600; padding: 0 .35rem; }
.evr-participant p { margin: .5rem 0; }
.evr-row {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}
.evr-row > p { flex: 1 1 180px; margin: .35rem 0; }
.evr-row label { display: block; }
.evr-participant input {
	width: 100%;
	padding: .45rem .55rem;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	font: inherit;
}
.evr-remove-participant {
	position: absolute;
	top: .6rem;
	right: .6rem;
	border: none;
	background: transparent;
	color: #b91c1c;
	cursor: pointer;
	font-size: .85em;
	text-decoration: underline;
}

.evr-capacity-hint { margin-left: .6rem; color: #555; font-size: .85em; }

.evr-message { margin-top: .75rem; padding: .6rem .8rem; border-radius: 6px; display: none; }
.evr-message.is-success { display: block; background: #e7f6ec; color: #14632c; }
.evr-message.is-error { display: block; background: #fde8e8; color: #9b1c1c; }

.evr-add-participant[disabled] { opacity: .5; cursor: not-allowed; }
