:root {
	--dc-bg: #faf9f0;
	--dc-surface: #f1ebe9;
	--dc-text: #0d3057;
	--dc-heading: #033537;
	--dc-muted: #5f5f5b;
	--dc-subtle: #898989;
	--dc-primary: #ae5832;
	--dc-primary-contrast: #faf9f0;
	--dc-accent: #5f5f5b;
	--dc-accent-soft: #dab2a1;
	--dc-border: #dab2a1;
}

.dc-events-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.dc-event-card {
	background: var(--dc-surface);
	border: 1px solid var(--dc-border);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.dc-events-grid .dc-event-card--hidden {
	display: none;
}

.dc-events-load-more__actions {
	display: flex;
	justify-content: center;
	margin-top: clamp(1.3rem, 3vw, 2rem);
}

.dc-events-load-more__button[hidden] {
	display: none;
}

.dc-event-card__image {
	display: block;
	line-height: 0;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.dc-event-card__image > br {
	display: none;
}

.dc-event-card__image img {
	aspect-ratio: 4 / 3.15;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.dc-event-card__format,
.dc-eyebrow {
	color: #37413d;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
}

.dc-event-card__format {
	align-items: center;
	background: var(--dc-primary-contrast);
	border-radius: 999px;
	display: inline-flex;
	justify-content: center;
	left: 1rem;
	line-height: 1.05;
	max-width: min(72%, 240px);
	padding: .22rem .48rem;
	position: absolute;
	text-align: center;
	top: 1rem;
}

.dc-event-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: .75rem;
	padding: 1.25rem;
}

.dc-event-card__date,
.dc-event-card__excerpt,
.dc-form__privacy,
.dc-form__notice {
	color: var(--dc-muted);
}

.dc-event-card__date,
.dc-event-card__excerpt {
	margin: 0;
}

.dc-event-card__title {
	color: var(--dc-heading);
	font-size: 1.35rem;
	line-height: 1.15;
	margin: 0;
}

.dc-event-card__facts {
	border-top: 1px solid var(--dc-border);
	display: grid;
	gap: .65rem;
	margin: auto 0 0;
	padding-top: .95rem;
}

.dc-event-card__facts div {
	display: flex;
	justify-content: space-between;
}

.dc-event-card__facts dt,
.dc-event-card__facts dd {
	margin: 0;
}

.dc-event-card__facts dt {
	color: var(--dc-subtle);
	font-weight: 500;
}

.dc-event-card__facts dd {
	font-weight: 700;
	text-align: right;
}

.dc-event-hero {
	padding-block: 4rem;
}

.dc-event-hero__inner {
	align-items: center;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .95fr);
	margin-inline: auto;
	max-width: 1180px;
	padding-inline: 1.5rem;
}

.dc-event-hero h1 {
	color: var(--dc-heading);
	font-size: clamp(2.75rem, 4.8vw, 4.25rem);
	line-height: 1;
	margin: 0;
}

.dc-event-hero__media img {
	aspect-ratio: 1.15 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.dc-event-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.5rem;
}

.dc-button-secondary {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--dc-primary);
}

.dc-form {
	display: grid;
	gap: 1rem;
	max-width: 860px;
	width: 100%;
}

.dc-form__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.dc-form label {
	display: grid;
	font-weight: 600;
	gap: .35rem;
}

.dc-form input,
.dc-form select,
.dc-form textarea {
	border: 1px solid var(--dc-border);
	border-radius: 6px;
	font: inherit;
	padding: .72rem .8rem;
	width: 100%;
}

.dc-form input:focus-visible,
.dc-form select:focus-visible,
.dc-form textarea:focus-visible,
.dc-event-card a:focus-visible {
	outline: 3px solid var(--dc-heading);
	outline-offset: 3px;
}

.dc-form__check {
	align-items: start;
	display: grid;
	font-weight: 400;
	gap: .6rem;
	grid-template-columns: auto 1fr;
}

.dc-form__check input {
	inline-size: auto;
	margin-top: .25rem;
}

.dc-form__notice {
	border: 1px solid var(--dc-border);
	border-radius: 8px;
	margin: 0 auto 1rem;
	max-width: 860px;
	padding: .85rem 1rem;
	width: 100%;
}

.dc-form__notice--success {
	background: #eef7f0;
	border-color: #bad8c1;
	color: #285a34;
}

.dc-form__notice--error {
	background: #fff3ef;
	border-color: #e4b8aa;
	color: #7b3426;
}

.dc-form__notice a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
}

.dc-event-detail {
	display: grid;
	gap: 2rem;
}

.dc-event-detail__summary {
	background: var(--dc-surface);
	border: 1px solid var(--dc-border);
	border-radius: 8px;
	padding: 1.25rem;
}

.dc-event-detail__terms-link {
	font-size: .94rem;
}

.dc-event-meta-list {
	display: grid;
	gap: .75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 782px) {
	.dc-event-hero__inner {
		grid-template-columns: 1fr;
		padding-inline: 22px;
	}

	.dc-event-hero__media {
		order: -1;
	}

	.dc-event-hero__actions .wp-element-button {
		width: 100%;
	}
}
