/* From event-list-page.php */
	.event-list-page {
		font-family: var(--font-family-base);
		color: var(--color-anthracite);
	}

	/* Hero
	   -------------------------------------------------------------------------- */
	.event-archive__hero {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 360px;
		overflow: hidden;
	}

	.event-archive__hero-media {
		position: absolute;
		inset: 0;
		z-index: 0;
	}

	.event-archive__hero-bg {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.event-archive__hero-overlay {
		position: absolute;
		inset: 0;
		background: linear-gradient(
			90deg,
			color-mix(in srgb, var(--color-anthracite) 82%, transparent) 0%,
			color-mix(in srgb, var(--color-anthracite) 62%, transparent) 28%,
			color-mix(in srgb, var(--color-anthracite) 28%, transparent) 58%,
			color-mix(in srgb, var(--color-anthracite) 8%, transparent) 78%,
			transparent 100%
		);
		pointer-events: none;
	}

	.event-archive__hero > .container {
		position: relative;
		z-index: 1;
		width: 100%;
	}

	.event-archive__hero-content {
		max-width: 640px;
		padding: 72px 0;
	}

	.event-archive__hero-title {
		margin: 0;
		font-size: 56px;
		font-weight: 700;
		line-height: 1.1;
		letter-spacing: -0.5px;
		color: var(--color-white);
	}

	.event-archive__hero-rule {
		display: block;
		width: 56px;
		height: 3px;
		margin: 18px 0 20px;
		background-color: var(--color-gold);
	}

	.event-archive__hero-description {
		margin: 0;
		font-size: 18px;
		font-weight: 400;
		line-height: 1.55;
		color: var(--color-white);
	}

	/* Listing layout
	   -------------------------------------------------------------------------- */
	.event-archive__listing {
		background-color: var(--color-mist);
		padding: 40px 0 80px;
	}

	.event-archive__layout {
		display: grid;
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 32px;
		align-items: start;
	}

	/* Sidebar
	   -------------------------------------------------------------------------- */
	.event-archive__sidebar {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.event-archive__filters {
		background: var(--color-white);
		border-radius: 12px;
		box-shadow: 0 4px 24px color-mix(in srgb, var(--color-anthracite) 6%, transparent);
		padding: 28px 24px;
	}

	.event-archive__filter-group + .event-archive__filter-group {
		margin-top: 28px;
		padding-top: 28px;
		border-top: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
	}

	.event-archive__filter-title {
		margin: 0 0 14px;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--color-mira-blue);
	}

	.event-archive__search {
		position: relative;
	}

	.event-archive__search-input {
		width: 100%;
		height: 46px;
		padding: 0 44px 0 16px;
		border: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
		border-radius: 8px;
		background: var(--color-white);
		font-family: inherit;
		font-size: 14px;
		color: var(--color-anthracite);
		box-sizing: border-box;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

	.event-archive__search-input::placeholder {
		color: color-mix(in srgb, var(--color-anthracite) 45%, var(--color-white));
	}

	.event-archive__search-input:focus {
		outline: none;
		border-color: var(--color-mira-blue);
		box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-mira-blue) 12%, transparent);
	}

	.event-archive__search-icon {
		position: absolute;
		right: 14px;
		top: 50%;
		transform: translateY(-50%);
		color: color-mix(in srgb, var(--color-anthracite) 45%, var(--color-white));
		pointer-events: none;
		font-size: 16px;
		line-height: 1;
	}

	.event-archive__search-submit {
		position: absolute;
		right: 4px;
		top: 50%;
		transform: translateY(-50%);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		padding: 0;
		border: 0;
		border-radius: 6px;
		background: transparent;
		cursor: pointer;
	}

	.event-archive__search-submit .event-archive__search-icon {
		position: static;
		transform: none;
		pointer-events: none;
	}

	/* Event list cards
	   -------------------------------------------------------------------------- */
	.event-archive__list {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: 18px;
		transition: opacity 0.25s ease;
	}

	.event-archive__list.is-loading {
		opacity: 0.45;
		pointer-events: none;
	}

	.event-archive__list.is-loading::after {
		content: '';
		position: absolute;
		top: 120px;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 44px;
		height: 44px;
		border: 4px solid color-mix(in srgb, var(--color-concrete) 85%, var(--color-white));
		border-top-color: var(--color-mira-blue);
		border-radius: 50%;
		animation: event-spinner 0.75s infinite linear;
		z-index: 2;
	}

	@keyframes event-spinner {
		to {
			transform: translate(-50%, -50%) rotate(360deg);
		}
	}

	.event-archive__check-list,
	.event-archive__date-list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.event-archive__check-option,
	.event-archive__date-option {
		display: flex;
		align-items: center;
		gap: 12px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		font-family: inherit;
		font-size: 14px;
		font-weight: 500;
		color: var(--color-anthracite);
		cursor: pointer;
		text-align: left;
		width: 100%;
	}

	.event-archive__checkbox {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 20px;
		height: 20px;
		border-radius: 4px;
		border: 2px solid color-mix(in srgb, var(--color-anthracite) 28%, var(--color-white));
		background: var(--color-white);
		box-sizing: border-box;
		transition: border-color 0.2s ease, background-color 0.2s ease;
	}

	.event-archive__checkbox i {
		display: none;
		font-size: 12px;
		line-height: 1;
		color: var(--color-white);
	}

	.event-archive__check-option.is-checked .event-archive__checkbox {
		background: var(--color-mira-blue);
		border-color: var(--color-mira-blue);
	}

	.event-archive__check-option.is-checked .event-archive__checkbox i {
		display: block;
	}

	.event-archive__date-radio {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 22px;
		height: 22px;
		border-radius: 50%;
		border: 2px solid color-mix(in srgb, var(--color-anthracite) 28%, var(--color-white));
		background: var(--color-white);
		box-sizing: border-box;
	}

	.event-archive__date-radio i {
		display: none;
		font-size: 12px;
		line-height: 1;
		color: var(--color-white);
	}

	.event-archive__date-option.is-active .event-archive__date-radio {
		background: var(--color-mira-blue);
		border-color: var(--color-mira-blue);
	}

	.event-archive__date-option.is-active .event-archive__date-radio i {
		display: block;
	}

	.event-archive__clear-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		margin-top: 28px;
		height: 48px;
		padding: 0 18px;
		border: 1.5px solid var(--color-mira-blue);
		border-radius: 8px;
		background: var(--color-white);
		font-family: inherit;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.6px;
		text-transform: uppercase;
		color: var(--color-mira-blue);
		cursor: pointer;
		transition: background-color 0.2s ease;
	}

	.event-archive__clear-btn:hover {
		background: color-mix(in srgb, var(--color-mira-blue) 6%, var(--color-white));
	}

	.event-archive__clear-btn i {
		font-size: 16px;
		line-height: 1;
	}

	/* Sidebar CTA
	   -------------------------------------------------------------------------- */
	.event-archive__cta {
		background: color-mix(in srgb, var(--color-anthracite) 88%, var(--color-mira-blue));
		border-radius: 12px;
		padding: 28px 24px;
		color: var(--color-white);
		text-align: center;
	}

	.event-archive__cta-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		margin-bottom: 16px;
		border-radius: 50%;
		background: color-mix(in srgb, var(--color-white) 12%, transparent);
		color: var(--color-gold);
		font-size: 22px;
	}

	.event-archive__cta-text {
		margin: 0 0 20px;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.5;
		color: var(--color-white);
	}

	.event-archive__cta-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 22px;
		border: 1.5px solid var(--color-gold);
		border-radius: 8px;
		background: transparent;
		font-family: inherit;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.6px;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--color-gold);
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.event-archive__cta-btn:hover,
	.event-archive__cta-btn:focus-visible {
		background: var(--color-gold);
		color: var(--color-anthracite);
	}

	/* Results toolbar
	   -------------------------------------------------------------------------- */
	.event-archive__results-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex-wrap: wrap;
		margin-bottom: 24px;
	}

	.event-archive__results-count {
		margin: 0;
		font-size: 16px;
		font-weight: 700;
		color: var(--color-mira-blue);
	}

	.event-archive__sort {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.event-archive__sort-label {
		font-size: 14px;
		font-weight: 500;
		color: color-mix(in srgb, var(--color-anthracite) 55%, var(--color-white));
		white-space: nowrap;
	}

	.event-archive__select {
		height: 42px;
		min-width: 170px;
		padding: 0 40px 0 14px;
		border: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
		border-radius: 8px;
		background-color: var(--color-white);
		font-family: inherit;
		font-size: 14px;
		color: var(--color-anthracite);
		appearance: none;
		cursor: pointer;
		box-sizing: border-box;
		background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2931' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
		background-repeat: no-repeat;
		background-position: right 14px center;
		background-size: 14px;
	}

	.event-archive__select:focus {
		outline: none;
		border-color: var(--color-mira-blue);
		box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-mira-blue) 12%, transparent);
	}

	/* Event list cards
	   -------------------------------------------------------------------------- */
	.event-card {
		display: grid;
		grid-template-columns: 100px minmax(0, 1fr);
		gap: 0;
		background: var(--color-white);
		border-radius: 12px;
		overflow: hidden;
		box-shadow: 0 4px 20px color-mix(in srgb, var(--color-anthracite) 6%, transparent);
		transition: box-shadow 0.2s ease, transform 0.2s ease;
	}

	.event-card:hover {
		box-shadow: 0 8px 28px color-mix(in srgb, var(--color-anthracite) 10%, transparent);
		transform: translateY(-2px);
	}

	.event-card__date {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		text-align: center;
		padding: 24px 12px;
		background: var(--color-white);
		border-right: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
		box-sizing: border-box;
	}

	.event-card__date-month {
		display: block;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.2;
		letter-spacing: 1px;
		text-transform: uppercase;
		color: var(--color-mira-blue);
	}

	.event-card__date-day {
		display: block;
		margin-top: 2px;
		font-size: 42px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: -0.5px;
		color: var(--color-mira-blue);
	}

	.event-card__date-year {
		display: block;
		margin-top: 4px;
		font-size: 13px;
		font-weight: 500;
		line-height: 1.2;
		color: var(--color-mira-blue);
	}

	.event-card__date-rule {
		display: block;
		width: 28px;
		height: 3px;
		margin-top: 10px;
		background-color: var(--color-gold);
		border-radius: 1px;
	}

	.event-card__body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 200px;
		gap: 20px 32px;
		align-items: stretch;
		padding: 24px 28px 22px 28px;
		min-width: 0;
	}

	.event-card__content {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}

	.event-card__badges {
		display: inline-flex;
		align-self: flex-start;
		align-items: center;
		flex-wrap: wrap;
		gap: 6px;
		margin-bottom: 12px;
	}

	.event-card__badge {
		display: inline-flex;
		align-items: center;
		padding: 4px 10px;
		border-radius: 999px;
		background: color-mix(in srgb, var(--color-anthracite) 88%, var(--color-mira-blue));
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.4px;
		text-transform: uppercase;
		color: var(--color-white);
		line-height: 1.2;
	}

	.event-card__title {
		margin: 0 0 10px;
		font-size: 22px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--color-mira-blue);
	}

	.event-card__title a {
		color: inherit;
		text-decoration: none;
		transition: color 0.2s ease;
	}

	.event-card__title a:hover,
	.event-card__title a:focus-visible,
	.event-card:hover .event-card__title a {
		color: var(--color-gold);
	}

	.event-card__excerpt {
		margin: 0;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.55;
		color: color-mix(in srgb, var(--color-anthracite) 55%, var(--color-white));
	}

	.event-card__aside {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
		gap: 20px;
		min-height: 100%;
	}

	.event-card__meta {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.event-card__meta-item {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.35;
		color: var(--color-anthracite);
	}

	.event-card__meta-item i {
		flex-shrink: 0;
		width: 16px;
		font-size: 15px;
		line-height: 1;
		color: var(--color-anthracite);
		text-align: center;
	}

	.event-card__more {
		display: inline-flex;
		align-items: center;
		align-self: flex-end;
		gap: 6px;
		margin-top: auto;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.5px;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--color-mira-blue);
		transition: color 0.2s ease;
	}

	.event-card__more:hover,
	.event-card__more:focus-visible,
	.event-card:hover .event-card__more {
		color: var(--color-gold);
	}

	.event-card__more i {
		font-size: 14px;
		line-height: 1;
		transition: transform 0.2s ease;
	}

	.event-card:hover .event-card__more i {
		transform: translateX(3px);
	}

	/* Responsive
	   -------------------------------------------------------------------------- */
	@media (max-width: 1199px) {
		.event-archive__layout {
			grid-template-columns: 280px minmax(0, 1fr);
			gap: 24px;
		}

		.event-card__body {
			grid-template-columns: minmax(0, 1fr) 180px;
			gap: 16px 24px;
			padding: 22px 22px 20px;
		}
	}

	@media (max-width: 991px) {
		.event-archive__hero {
			min-height: 320px;
		}

		.event-archive__hero-content {
			padding: 56px 0;
		}

		.event-archive__hero-title {
			font-size: 44px;
		}

		.event-archive__hero-description {
			font-size: 17px;
		}

		.event-archive__layout {
			grid-template-columns: 1fr;
		}

		.event-archive__main {
			order: 1;
		}

		.event-archive__sidebar {
			order: 2;
			width: 100%;
		}

		.event-card {
			grid-template-columns: 84px minmax(0, 1fr);
		}

		.event-card__body {
			grid-template-columns: 1fr;
			gap: 16px;
			align-items: start;
		}

		.event-card__aside {
			flex-direction: row;
			align-items: flex-end;
			justify-content: space-between;
			gap: 16px;
			min-height: 0;
			padding-top: 16px;
			border-top: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
		}

		.event-card__more {
			margin-top: 0;
		}

		.event-card__meta {
			flex-direction: row;
			flex-wrap: wrap;
			gap: 12px 18px;
		}
	}

	@media (max-width: 767px) {
		.event-archive__hero {
			min-height: 280px;
		}

		.event-archive__hero-content {
			max-width: none;
			padding: 48px 0;
		}

		.event-archive__hero-title {
			font-size: 36px;
		}

		.event-archive__hero-rule {
			width: 48px;
			margin: 14px 0 16px;
		}

		.event-archive__hero-description {
			font-size: 16px;
			line-height: 1.5;
		}

		.event-archive__listing {
			padding: 28px 0 56px;
		}

		.event-archive__filters {
			padding: 22px 18px;
		}

		.event-archive__results-header {
			align-items: flex-start;
			flex-direction: column;
		}

		.event-archive__sort {
			width: 100%;
		}

		.event-archive__sort .event-archive__select {
			flex: 1;
			min-width: 0;
			width: 100%;
		}

		.event-card {
			grid-template-columns: 1fr;
		}

		.event-card__date {
			flex-direction: row;
			align-items: baseline;
			justify-content: flex-start;
			gap: 10px;
			padding: 14px 18px;
			border-right: 0;
			border-bottom: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
		}

		.event-card__date-day {
			font-size: 32px;
			margin-top: 0;
		}

		.event-card__date-year {
			margin-top: 0;
		}

		.event-card__date-rule {
			display: none;
		}

		.event-card__body {
			padding: 18px 18px 22px;
			align-items: start;
		}

		.event-card__title {
			font-size: 18px;
		}

		.event-card__aside {
			flex-direction: column;
			align-items: flex-start;
			justify-content: flex-start;
			gap: 14px;
			min-height: 0;
		}

		.event-card__more {
			align-self: flex-start;
			margin-top: 0;
		}
	}

/* From single-event.php */
	.single-event {
		font-family: var(--font-family-base);
		background-color: var(--color-white);
		color: var(--color-anthracite);
	}

	/* Hero banner
	   -------------------------------------------------------------------------- */
	.single-event__hero {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 420px;
		overflow: hidden;
	}

	.single-event__hero-media {
		position: absolute;
		inset: 0;
		z-index: 0;
	}

	.single-event__hero-bg {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.single-event__hero-overlay {
		position: absolute;
		inset: 0;
		background: linear-gradient(
			90deg,
			color-mix(in srgb, var(--color-anthracite) 82%, transparent) 0%,
			color-mix(in srgb, var(--color-anthracite) 62%, transparent) 28%,
			color-mix(in srgb, var(--color-anthracite) 28%, transparent) 58%,
			color-mix(in srgb, var(--color-anthracite) 8%, transparent) 78%,
			transparent 100%
		);
		pointer-events: none;
	}

	.single-event__hero > .container {
		position: relative;
		z-index: 1;
		width: 100%;
		padding-top: 50px;
	}

	.single-event__hero-content {
		max-width: 640px;
		padding: 72px 0;
	}

	.single-event__breadcrumb {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 20px;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.4;
	}

	.single-event__breadcrumb a {
		color: var(--color-gold);
		text-decoration: none;
		transition: opacity 0.2s ease;
	}

	.single-event__breadcrumb a:hover,
	.single-event__breadcrumb a:focus-visible {
		opacity: 0.85;
	}

	.single-event__breadcrumb-sep,
	.single-event__breadcrumb-current {
		color: var(--color-gold);
	}

	.single-event__breadcrumb-sep {
		display: inline-flex;
		align-items: center;
		font-size: 12px;
		line-height: 1;
	}

	.single-event__breadcrumb-current {
		font-weight: 500;
	}

	.single-event__badges {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 16px;
	}

	.single-event__badge {
		display: inline-flex;
		align-items: center;
		margin: 0 0 16px;
		padding: 6px 14px;
		border-radius: 999px;
		background-color: color-mix(in srgb, var(--color-anthracite) 88%, var(--color-mira-blue));
		color: var(--color-white);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.6px;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.single-event__badges .single-event__badge {
		margin: 0;
	}

	.single-event__hero-title {
		margin: 0 0 16px;
		font-size: 48px;
		font-weight: 700;
		line-height: 1.15;
		letter-spacing: -0.4px;
		color: var(--color-white);
	}

	.single-event__hero-description {
		margin: 0;
		font-size: 18px;
		font-weight: 400;
		line-height: 1.55;
		color: var(--color-white);
	}

	.single-event__content {
		padding: 0 0 72px;
	}

	.single-event__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 40px;
		align-items: start;
	}

	/* Meta bar
	   -------------------------------------------------------------------------- */
	.single-event__meta-bar {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 16px 24px;
		padding: 22px 0;
	}

	.single-event__meta-list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.single-event__meta-item {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 0 18px;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.4;
		color: color-mix(in srgb, var(--color-anthracite) 72%, var(--color-white));
	}

	.single-event__meta-item:first-child {
		padding-left: 0;
	}

	.single-event__meta-item:not(:last-child) {
		border-right: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
	}

	.single-event__meta-item i {
		font-size: 16px;
		color: var(--color-anthracite);
	}

	.single-event__share {
		display: inline-flex;
		align-items: center;
		gap: 12px;
	}

	.single-event__share-label {
		font-size: 14px;
		font-weight: 600;
		color: var(--color-anthracite);
	}

	.single-event__share-links {
		display: inline-flex;
		align-items: center;
		gap: 8px;
	}

	.single-event__share-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		background-color: var(--color-anthracite);
		color: var(--color-white);
		text-decoration: none;
		transition: background-color 0.2s ease, transform 0.2s ease;
	}

	.single-event__share-link i {
		font-size: 14px;
		line-height: 1;
	}

	.single-event__share-link:hover,
	.single-event__share-link:focus-visible {
		background-color: var(--color-gold);
		color: var(--color-white);
		transform: translateY(-1px);
	}

	/* Body copy
	   -------------------------------------------------------------------------- */
	.single-event__body p {
		margin: 0 0 20px;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.7;
		color: color-mix(in srgb, var(--color-anthracite) 72%, var(--color-white));
	}

	.single-event__section-title {
		margin: 36px 0 20px;
		font-size: 28px;
		font-weight: 700;
		line-height: 1.25;
		color: var(--color-anthracite);
	}

	/* Themes list
	   -------------------------------------------------------------------------- */
	.single-event__themes {
		margin: 0 0 12px;
		padding: 0;
		list-style: none;
		border-top: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
	}

	.single-event__theme {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 20px;
		align-items: start;
		padding: 24px 0;
		border-bottom: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
	}

	.single-event__theme-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		color: var(--color-gold);
	}

	.single-event__theme-icon i {
		font-size: 36px;
		line-height: 1;
	}

	.single-event__theme-title {
		margin: 0 0 8px;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--color-anthracite);
	}

	.single-event__theme-text {
		margin: 0;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.65;
		color: color-mix(in srgb, var(--color-anthracite) 72%, var(--color-white));
	}

	.single-event__theme-text p {
		margin: 0 0 0.75em;
	}

	.single-event__theme-text p:last-child {
		margin-bottom: 0;
	}

	.single-event__theme.single-event__theme--no-icon {
		grid-template-columns: minmax(0, 1fr);
	}

	.single-event__theme-icon img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	/* Membership CTA
	   -------------------------------------------------------------------------- */
	.single-event__cta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px 28px;
		margin-top: 40px;
		padding: 24px 28px;
		border: 1px solid color-mix(in srgb, var(--color-concrete) 80%, var(--color-white));
		border-radius: 12px;
		background-color: var(--color-mist);
	}

	.single-event__cta-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 56px;
		height: 56px;
		border-radius: 50%;
		background-color: var(--color-white);
		color: var(--color-gold);
		box-shadow: 0 2px 8px var(--shadow-card-md);
	}

	.single-event__cta-icon i {
		font-size: 26px;
		line-height: 1;
	}

	.single-event__cta-copy {
		flex: 1 1 220px;
		min-width: 0;
	}

	.single-event__cta-title {
		margin: 0 0 4px;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--color-anthracite);
	}

	.single-event__cta-text {
		margin: 0;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.5;
		color: color-mix(in srgb, var(--color-anthracite) 72%, var(--color-white));
	}

	.single-event__cta-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		flex-shrink: 0;
		margin-left: auto;
		padding: 14px 22px;
		border-radius: 8px;
		background-color: var(--color-gold);
		color: var(--color-anthracite);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.4px;
		text-decoration: none;
		text-transform: uppercase;
		transition: background-color 0.2s ease;
	}

	.single-event__cta-btn i {
		font-size: 14px;
		transition: transform 0.2s ease;
	}

	.single-event__cta-btn:hover,
	.single-event__cta-btn:focus-visible {
		background-color: color-mix(in srgb, var(--color-gold) 88%, var(--color-black));
		color: var(--color-anthracite);
	}

	.single-event__cta-btn:hover i,
	.single-event__cta-btn:focus-visible i {
		transform: translateX(3px);
	}

	/* Sidebar
	   -------------------------------------------------------------------------- */
	.single-event__sidebar {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.single-event__widget {
		padding: 28px 24px;
		border-radius: 12px;
		background-color: var(--color-white);
		box-shadow: 0 8px 24px var(--shadow-card-md);
		border: 1px solid color-mix(in srgb, color-mix(in srgb, var(--color-concrete) 80%, var(--color-white)) 70%, transparent);
	}

	.single-event__widget-title {
		position: relative;
		margin: 0 0 22px;
		padding-bottom: 12px;
		font-size: 22px;
		font-weight: 700;
		line-height: 1.25;
		color: var(--color-anthracite);
	}

	.single-event__widget-title::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background-color: var(--color-gold);
	}

	/* Event details (dark card)
	   -------------------------------------------------------------------------- */
	.single-event__details {
		padding: 28px 24px;
		border-radius: 12px;
		background-color: var(--color-anthracite);
		color: var(--color-white);
		box-shadow: 0 8px 24px var(--shadow-card-md);
	}

	.single-event__details-title {
		position: relative;
		margin: 0 0 22px;
		padding-bottom: 12px;
		font-size: 22px;
		font-weight: 700;
		line-height: 1.25;
		color: var(--color-white);
	}

	.single-event__details-title::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 36px;
		height: 3px;
		border-radius: 2px;
		background-color: var(--color-gold);
	}

	.single-event__details-list {
		display: flex;
		flex-direction: column;
		gap: 18px;
		margin: 0 0 28px;
		padding: 0;
		list-style: none;
	}

	.single-event__details-item {
		display: grid;
		grid-template-columns: 28px minmax(0, 1fr);
		gap: 12px;
		align-items: start;
	}

	.single-event__details-icon {
		display: inline-flex;
		align-items: flex-start;
		justify-content: center;
		padding-top: 2px;
		color: color-mix(in srgb, var(--color-white) 72%, transparent);
	}

	.single-event__details-icon i {
		font-size: 18px;
		line-height: 1;
	}

	.single-event__details-label {
		display: block;
		margin: 0 0 4px;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.4px;
		line-height: 1.3;
		text-transform: uppercase;
		color: var(--color-gold);
	}

	.single-event__details-value {
		margin: 0;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.5;
		color: var(--color-white);
	}

	.single-event__details-link {
		color: var(--color-white);
		text-decoration: underline;
		text-underline-offset: 2px;
		word-break: break-word;
		transition: opacity 0.2s ease;
	}

	.single-event__details-link:hover,
	.single-event__details-link:focus-visible {
		opacity: 0.85;
		color: var(--color-gold);
	}

	.single-event__details-register .tribe-events,
	.single-event__details-register .tribe-events-cal-links,
	.single-event__details-register .tribe-events-c-subscribe-dropdown__container,
	.single-event__details-register .tribe-events-c-subscribe-dropdown,
	.single-event__details-register .tribe-tickets,
	.single-event__details-register .tribe-tickets__rsvp-wrapper,
	.single-event__details-register .tribe-common {
		width: 100%;
		margin: 0;
		max-width: none;
		margin-bottom: 20px;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown {
		position: relative;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__button,
	.single-event__details-register .tribe-events-button,
	.single-event__details-register .tribe-common-c-btn,
	.single-event__details-register .tribe-common-c-btn-border,
	.single-event__details-register button.tribe-tickets__rsvp-actions-button-going,
	.single-event__details-register button.tribe-tickets__rsvp-actions-button-not-going,
	.single-event__details-register .tribe-tickets__tickets-buy,
	.single-event__details-register input[type="submit"],
	.single-event__details-register button[type="submit"] {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 14px 20px;
		border-radius: 8px;
		background-color: var(--color-gold);
		color: var(--color-anthracite);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.4px;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		box-shadow: none;
		cursor: pointer;
		transition: background-color 0.2s ease;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__button:hover,
	.single-event__details-register .tribe-events-button:hover,
	.single-event__details-register .tribe-common-c-btn:hover,
	.single-event__details-register .tribe-common-c-btn-border:hover,
	.single-event__details-register button.tribe-tickets__rsvp-actions-button-going:hover,
	.single-event__details-register .tribe-tickets__tickets-buy:hover,
	.single-event__details-register input[type="submit"]:hover,
	.single-event__details-register button[type="submit"]:hover {
		background-color: color-mix(in srgb, var(--color-gold) 88%, var(--color-black)) !important;
		color: var(--color-anthracite) !important;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__button-text {
		display: inline;
		margin: 0;
		padding: 0;
		border: 0 !important;
		border-radius: 0;
		background: transparent !important;
		box-shadow: none !important;
		color: inherit !important;
		font: inherit;
		font-size: inherit;
		font-weight: inherit;
		letter-spacing: inherit;
		line-height: inherit;
		text-transform: inherit;
		cursor: pointer;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__export-icon,
	.single-event__details-register .tribe-events-c-subscribe-dropdown__button-icon,
	.single-event__details-register .tribe-events-c-subscribe-dropdown__button svg {
		display: block;
		flex-shrink: 0;
		width: 18px;
		height: 18px;
		margin: 0;
		color: inherit;
		fill: currentColor;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__button-icon {
		width: 12px;
		height: 8px;
		transition: transform 0.2s ease;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown--open .tribe-events-c-subscribe-dropdown__button-icon {
		transform: rotate(180deg);
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__content {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		z-index: 5;
		margin-top: 8px;
		padding: 8px 0;
		background-color: var(--color-mist);
		color: var(--color-black);
		border-radius: 8px;
		box-shadow: 0 8px 24px var(--shadow-card-md);
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown--open .tribe-events-c-subscribe-dropdown__content {
		display: block;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__list-item-link {
		display: block;
		padding: 10px 16px;
		color: var(--color-anthracite);
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
	}

	.single-event__details-register .tribe-events-c-subscribe-dropdown__list-item-link:hover,
	.single-event__details-register .tribe-events-c-subscribe-dropdown__list-item-link:focus-visible {
		background-color: var(--color-white);
	}

	.single-event__details-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 14px 20px;
		border-radius: 8px;
		background-color: var(--color-gold);
		color: var(--color-anthracite);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.4px;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		transition: background-color 0.2s ease;
	}

	.single-event__details-btn i {
		font-size: 14px;
		transition: transform 0.2s ease;
	}

	.single-event__details-btn:hover,
	.single-event__details-btn:focus-visible {
		background-color: color-mix(in srgb, var(--color-gold) 88%, var(--color-black));
		color: var(--color-anthracite);
	}

	.single-event__details-btn:hover i,
	.single-event__details-btn:focus-visible i {
		transform: translateX(3px);
	}

	/* What's included
	   -------------------------------------------------------------------------- */
	.single-event__include-list {
		margin: 0 0 12px;
		padding: 0;
		list-style: none;
	}

	.single-event__include-item {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		padding: 10px 0;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.5;
		color: var(--color-anthracite);
	}

	.single-event__include-check {
		display: inline-flex;
		flex-shrink: 0;
		margin-top: 2px;
		color: var(--color-gold);
		font-size: 18px;
		line-height: 1;
	}

	/* Related events
	   -------------------------------------------------------------------------- */
	.single-event__related-list {
		display: flex;
		flex-direction: column;
		gap: 18px;
		margin: 0 0 20px;
		padding: 0;
		list-style: none;
	}

	.single-event__related-item {
		margin: 0;
	}

	.single-event__related-link {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
		text-decoration: none;
		color: inherit;
	}

	.single-event__related-thumb {
		display: block;
		width: 72px;
		height: 72px;
		overflow: hidden;
		border-radius: 8px;
		background-color: var(--color-mist);
	}

	.single-event__related-thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.3s ease;
	}

	.single-event__related-link:hover .single-event__related-thumb img,
	.single-event__related-link:focus-visible .single-event__related-thumb img {
		transform: scale(1.05);
	}

	.single-event__related-body {
		position: relative;
		min-width: 0;
		padding-right: 20px;
	}

	.single-event__related-title {
		margin: 0 0 8px;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.35;
		color: var(--color-anthracite);
		transition: color 0.2s ease;
	}

	.single-event__related-date {
		display: block;
		font-size: 13px;
		font-weight: 500;
		line-height: 1.4;
		color: color-mix(in srgb, var(--color-anthracite) 48%, var(--color-white));
	}

	.single-event__related-arrow {
		position: absolute;
		right: 0;
		bottom: 0;
		color: var(--color-gold);
		font-size: 14px;
		line-height: 1;
		transition: transform 0.2s ease;
	}

	.single-event__related-link:hover .single-event__related-title,
	.single-event__related-link:focus-visible .single-event__related-title {
		color: var(--color-gold);
	}

	.single-event__related-link:hover .single-event__related-arrow,
	.single-event__related-link:focus-visible .single-event__related-arrow {
		transform: translateX(3px);
	}

	.single-event__related-all {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.3px;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--color-anthracite);
		transition: color 0.2s ease;
	}

	.single-event__related-all i {
		font-size: 12px;
		transition: transform 0.2s ease;
	}

	.single-event__related-all:hover,
	.single-event__related-all:focus-visible {
		color: var(--color-gold);
	}

	.single-event__related-all:hover i,
	.single-event__related-all:focus-visible i {
		transform: translateX(3px);
	}

	/* Responsive
	   -------------------------------------------------------------------------- */
	@media (max-width: 1199px) {
		.single-event__layout {
			grid-template-columns: minmax(0, 1fr) 300px;
			gap: 36px;
		}

		.single-event__hero-title {
			font-size: 40px;
		}
	}

	@media (max-width: 991px) {
		.single-event__hero {
			min-height: 360px;
		}

		.single-event__hero-content {
			padding: 56px 0;
		}

		.single-event__hero-title {
			font-size: 34px;
		}

		.single-event__content {
			padding: 0 0 56px;
		}

		.single-event__layout {
			grid-template-columns: 1fr;
			gap: 40px;
		}

		.single-event__sidebar {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 20px;
		}

		.single-event__details {
			grid-column: 1 / -1;
		}

		.single-event__cta-btn {
			margin-left: 0;
		}
	}

	@media (max-width: 767px) {
		.single-event__hero {
			min-height: 320px;
		}

		.single-event__hero-content {
			padding: 40px 0;
		}

		.single-event__hero-title {
			font-size: 28px;
		}

		.single-event__hero-description {
			font-size: 16px;
		}

		.single-event__content {
			padding: 0 0 48px;
		}

		.single-event__meta-bar {
			flex-direction: column;
			align-items: flex-start;
			margin-bottom: 24px;
			padding: 18px 0;
		}

		.single-event__meta-item {
			padding: 6px 12px;
			border-right: 0 !important;
		}

		.single-event__meta-item:first-child {
			padding-left: 0;
		}

		.single-event__meta-list {
			flex-direction: row;
			align-items: flex-start;
			gap: 4px;
		}

		.single-event__section-title {
			margin: 28px 0 18px;
			font-size: 24px;
		}

		.single-event__theme {
			grid-template-columns: 44px minmax(0, 1fr);
			gap: 14px;
			padding: 18px 0;
		}

		.single-event__theme.single-event__theme--no-icon {
			grid-template-columns: minmax(0, 1fr);
		}

		.single-event__theme-icon {
			width: 40px;
			height: 40px;
		}

		.single-event__theme-icon i {
			font-size: 28px;
		}

		.single-event__theme-title {
			font-size: 16px;
		}

		.single-event__cta {
			padding: 20px;
			gap: 16px;
		}

		.single-event__sidebar {
			grid-template-columns: 1fr;
		}

		.single-event__widget,
		.single-event__details {
			padding: 24px 20px;
		}

		.single-event__widget-title,
		.single-event__details-title {
			font-size: 20px;
		}
	}
