.ebr-events { max-width: 1100px; margin: 2rem auto; }
.ebr-events__list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.ebr-events__card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.ebr-events__cover img { width: 100%; height: 180px; object-fit: cover; display: block; }
.ebr-events__body { padding: 1rem; }
.ebr-events__title { margin: 0 0 .5rem; font-size: 1.15rem; }
.ebr-events__date, .ebr-events__venue { margin: 0; color: #6b7280; font-size: .9rem; }

.ebr-form { max-width: 1100px; margin: 2rem auto; }
.ebr-h2 { font-size: 1.5rem; margin: .5rem 0 1rem; }
.ebr-stepper { display: flex; align-items: center; gap: .5rem; color: #6b7280; font-size: .9rem; margin-bottom: 1rem; }
.ebr-stepper__step { width: 28px; height: 28px; border-radius: 50%; background: #e5e7eb; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; color: #4b5563; }
.ebr-stepper__step--active { background: #111827; color: #fff; }
.ebr-stepper__sep { width: 24px; height: 2px; background: #e5e7eb; }

.ebr-grid { display: grid; gap: 1rem; }
.ebr-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ebr-grid--3 { grid-template-columns: 1fr 1fr 360px; }
@media (max-width: 900px) { .ebr-grid--2, .ebr-grid--3 { grid-template-columns: 1fr; } }

.ebr-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 1rem; }
.ebr-card h3 { margin-top: 0; }
.ebr-card label { display: block; margin-bottom: .75rem; font-size: .9rem; color: #374151; }
.ebr-card input[type=text],
.ebr-card input[type=email],
.ebr-card input[type=tel],
.ebr-card input[type=file],
.ebr-card textarea {
	width: 100%;
	padding: .55rem .65rem;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: .95rem;
	font-family: inherit;
	line-height: 1.45;
	box-sizing: border-box;
}
.ebr-card textarea { resize: vertical; min-height: 4.5rem; }

.ebr-btn { display: inline-block; padding: .65rem 1.1rem; border-radius: 8px; font-weight: 600; text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.ebr-btn--primary { background: #111827; color: #fff; }
.ebr-btn--primary:hover { background: #000; }
.ebr-btn--cta { background: #f97316; color: #fff; padding: 1rem 1.5rem; font-size: 1.05rem; margin: 1rem 0; }
.ebr-btn[disabled] { opacity: .5; cursor: not-allowed; }

.ebr-alert { padding: .75rem 1rem; border-radius: 8px; margin: 1rem 0; }
.ebr-alert--error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.ebr-alert--info { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; }

.ebr-lookup-banner { padding: .75rem 1rem; border-radius: 8px; background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; margin-bottom: 1rem; }
.ebr-lookup-banner button { margin-left: .5rem; }

.ebr-terms-box { max-height: 260px; overflow-y: auto; border: 1px solid #e5e7eb; border-radius: 8px; padding: .75rem 1rem; background: #f9fafb; font-size: .875rem; color: #374151; line-height: 1.6; margin: 1rem 0; }
.ebr-terms-box p { margin: .4rem 0; }
.ebr-terms-box p:first-child { margin-top: 0; }
.ebr-terms-box p:last-child { margin-bottom: 0; }
.ebr-terms { display: flex; gap: .5rem; align-items: flex-start; margin: 1rem 0; }
.ebr-terms input { margin-top: .25rem; }

.ebr-radio { display: flex; align-items: center; gap: .5rem; padding: .5rem 0; }

.ebr-stype-list { display: grid; gap: .75rem; }
.ebr-stype-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 1rem 1.1rem;
	transition: border-color .15s, box-shadow .15s;
}
.ebr-stype-card:hover { border-color: #cbd5e1; }
.ebr-stype-card.is-selected { border-color: #111827; box-shadow: 0 0 0 1px #111827; background: #fafafa; }
.ebr-stype-card.is-soldout { opacity: .55; }
.ebr-stype-card.is-waitlist { border-color: #f97316; }
.ebr-stype-card.is-waitlist.is-selected { border-color: #ea580c; box-shadow: 0 0 0 1px #ea580c; }
.ebr-btn--waitlist { background: #fff7ed; color: #c2410c; border: 2px solid #f97316; font-weight: 600; }
.ebr-btn--waitlist:hover { background: #ffedd5; }
.ebr-waitlist-banner { background: #fff7ed; border-left: 4px solid #f97316; border-radius: 4px; padding: .75rem 1rem; margin-bottom: 1rem; font-size: .9rem; color: #7c2d12; line-height: 1.5; }
.ebr-stype-card__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}
.ebr-stype-card__title { margin: 0; font-size: 1.05rem; font-weight: 600; line-height: 1.3; }
.ebr-stype-card__price { font-size: 1.1rem; font-weight: 700; white-space: nowrap; }
.ebr-stype-card__meta {
	color: #6b7280;
	font-size: .875rem;
	margin-top: .35rem;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .65rem;
	align-items: center;
}
.ebr-stype-card__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.ebr-stype-card__meta span:not(:last-child)::after {
	content: "·";
	margin-left: .65rem;
	color: #cbd5e1;
}
.ebr-stype-card__meta p { margin: 0; }
.ebr-stype-card__action { margin-top: .85rem; display: flex; justify-content: flex-end; }

.ebr-cart { display: grid; grid-template-columns: 1fr auto; gap: .25rem .75rem; margin: 1rem 0; }
.ebr-cart dt { color: #6b7280; }
.ebr-cart dd { margin: 0; font-weight: 600; text-align: right; }

.ebr-step2__map { margin-top: 1.5rem; }
.ebr-step2__map h3 { margin-top: 0; }
.ebr-step2__map-link { display: block; }
.ebr-step2__map-link img { max-width: 100%; width: 100%; height: auto; border-radius: 8px; border: 1px solid #e5e7eb; display: block; }

.ebr-event-summary { margin-bottom: 1rem; }
.ebr-event-summary__meta {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: .35rem .9rem;
	margin: 0 0 .75rem;
}
.ebr-event-summary__meta dt { color: #6b7280; font-size: .9rem; }
.ebr-event-summary__meta dd { margin: 0; }
.ebr-event-summary__desc { color: #374151; }
.ebr-event-summary__desc p:first-child { margin-top: 0; }
.ebr-event-summary__desc p:last-child { margin-bottom: 0; }
.ebr-event-summary__programacao { margin-top: .75rem; }
.ebr-event-summary__programacao summary { cursor: pointer; color: #111827; font-weight: 600; }
.ebr-event-summary__programacao[open] summary { margin-bottom: .5rem; }
.ebr-event-summary__programacao > div { color: #374151; }

.ebr-help { color: #6b7280; font-size: .9rem; margin: 0 0 .75rem; }
.ebr-muted { color: #9ca3af; }

.ebr-status {
	max-width: 720px;
	margin: 2rem auto;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.ebr-status > .ebr-btn--cta { align-self: flex-start; margin: 0; }
.ebr-status__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ebr-badge { color: #fff; padding: .35rem .65rem; border-radius: 999px; font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.ebr-status__copy { font-size: 1.1rem; margin: 0; }
.ebr-status__protocol { color: #6b7280; margin: 0; }
.ebr-deadline { margin: 0; color: #6b7280; }

.ebr-dl { display: grid; grid-template-columns: 1fr 2fr; gap: .35rem .75rem; }
.ebr-dl dt { color: #6b7280; }
.ebr-dl dd { margin: 0; font-weight: 500; }

.ebr-status__seat { background: linear-gradient(180deg, #fff7ed 0%, #fff 100%); border-color: #fdba74; }
.ebr-seat-label { font-size: 1.1rem; }
.ebr-map-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }

.ebr-timeline { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.ebr-timeline li { padding: .5rem .75rem; border-left: 3px solid #e5e7eb; }
.ebr-timeline small { display: block; color: #6b7280; }
.ebr-error { color: #ef4444; }
