
@charset "UTF-8";

/* Project adaptations extend the child-owned design foundation. */

/* Scope provider presentation to the existing homepage review section. */
.reviews-section .trustindex-summary {
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.reviews-section .trustindex-summary .trustindex-provider {
	margin: 0;
	flex-shrink: 0;
	font-size: .9375rem;
	line-height: 1.7;
}

.reviews-section .trustindex-summary .reviews-write::after {
	content: "→";
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] {
	flex: 1;
	min-width: 14rem;
	width: auto !important;
	font-family: Inter, Arial, sans-serif !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	font-family: Inter, Arial, sans-serif !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	translate: none !important;
	text-decoration: none !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:hover, .reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:focus-visible {
	transform: none !important;
	translate: none !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:hover .nowrap, .reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:focus-visible .nowrap {
	text-decoration: none !important;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-origin: content-box;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	background-position: left bottom;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:hover .nowrap::first-line, .reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:focus-visible .nowrap::first-line {
	text-decoration: none;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-header:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-fade-container {
	position: relative;
	display: block !important;
	grid-template-columns: 1fr;
	grid-template-areas: "stars" "rating";
	align-items: center;
	gap: .4rem 2rem;
	width: 100% !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-large-logo {
	display: none !important;
	grid-area: logo;
	margin: 0 !important;
	padding: 0 !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-logo-fb {
	width: 6rem !important;
	height: auto !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-stars {
	position: absolute !important;
	left: 7.5rem;
	top: .4rem;
	grid-area: stars;
	margin: 0 !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text {
	position: relative;
	grid-area: rating;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	color: #fff !important;
	margin: 0 !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text::after {
	content: "/ 5";
	position: absolute;
	left: 4.65rem;
	top: 1.8rem;
	font-family: Inter, Arial, sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	color: #bcbcbc;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .text-separator {
	display: block !important;
	height: 0 !important;
	visibility: hidden !important;
	margin-top: -1.25rem !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text .nowrap {
	width: max-content !important;
	max-width: 100%;
	padding-left: 7.5rem !important;
	text-indent: -7.5rem !important;
	font-family: Inter, Arial, sans-serif !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	display: block !important;
	white-space: normal !important;
}

.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text .nowrap::first-line {
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1;
}

.reviews-section .trustindex-summary .trustindex-review-action {
	margin: 0;
	flex-shrink: 0;
}

@media (max-width: 47.5rem) {
	.reviews-section .trustindex-summary {
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
	}
	
	.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] {
		min-width: 0;
		width: 100% !important;
	}
	
	.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-widget-container .ti-fade-container {
		grid-template-columns: 1fr;
		grid-template-areas: "logo" "stars" "rating";
		gap: .75rem;
	}
	
	.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text .nowrap::first-line {
		font-size: 3.15rem;
	}
	
	.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-stars {
		left: 7.2rem;
	}
	
	.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text .nowrap {
		padding-left: 7.2rem !important;
		text-indent: -7.2rem !important;
	}
	
	.reviews-section .trustindex-summary .ti-widget[data-layout-category=badge] .ti-text::after {
		left: 4.15rem;
		top: 1.55rem;
	}
	
	.reviews-section .trustindex-summary .reviews-write {
		width: 100%;
		justify-content: center;
	}
}

.reviews-widget:has(.ti-widget) {
	position: relative;
}

.reviews-widget:has(.ti-widget) .reviews-all {
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0;
}

.reviews-widget:has(.ti-widget) .reviews-all a::after {
	content: "→";
	margin-left: .8rem;
}

@media (max-width: 47.5rem) {
	.reviews-widget:has(.ti-widget) .reviews-all {
		position: static;
		margin-top: 1rem;
	}
}

.reviews-section .ti-widget[data-layout-category=slider] {
	font-family: Inter, Arial, sans-serif !important;
	width: 100% !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container {
	font-family: Inter, Arial, sans-serif !important;
	margin: 0 !important;
	padding: 0 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-reviews-container {
	padding: 0 0 4.5rem !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-reviews-container .ti-reviews-container-wrapper {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-review-item {
	margin: 0 !important;
	flex: 0 0 28.5714% !important;
	width: 28.5714% !important;
	max-width: none !important;
	padding: 0 1.2rem 0 0 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-height: 18.5rem !important;
	height: 100% !important;
	padding: 1.65rem !important;
	background: #fff !important;
	color: #171717 !important;
	border: 1px solid #dedbd7 !important;
	border-radius: .6rem !important;
	box-shadow: none !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-review-header {
	flex-direction: row !important;
	width: 100% !important;
	margin-bottom: 1.4rem !important;
	display: flex !important;
	align-items: center !important;
	gap: .75rem !important;
	text-align: left !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-platform-icon {
	position: static !important;
	transform: none !important;
	order: 3;
	flex-shrink: 0;
	width: 1.25rem !important;
	height: 1.25rem !important;
	margin: 0 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-profile-img {
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-profile-img img {
	width: 2.9rem !important;
	height: 2.9rem !important;
	border-radius: 50% !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-profile-details {
	flex: 1 !important;
	text-align: left !important;
	align-items: flex-start !important;
	min-width: 0 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-name {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	color: #171717 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-date, .reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-date span {
	font-family: Inter, Arial, sans-serif !important;
	font-size: .9375rem !important;
	line-height: 1.5 !important;
	color: #666 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-stars {
	margin: 0 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-review-content {
	min-height: 4.8em !important;
	text-align: left !important;
	width: 100% !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: clamp(1.25rem, 1.4vw, 1.5rem) !important;
	font-weight: 550 !important;
	line-height: 1.6 !important;
	letter-spacing: -.025em !important;
	color: #171717 !important;
	margin: 1.05rem 0 1.8rem !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-review-image, .reviews-section .ti-widget[data-layout-category=slider] .ti-verified-review {
	display: none !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-read-more {
	width: 100% !important;
	margin-top: auto !important;
	padding-top: 1rem !important;
	border-top: 1px solid #e6e2de !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 650 !important;
	color: #171717 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-read-more:hover, .reviews-section .ti-widget[data-layout-category=slider] .ti-read-more:focus-visible {
	color: var(--brand) !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-read-more-active {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 2.75rem !important;
	font: inherit !important;
	color: inherit !important;
	opacity: 1 !important;
	background: transparent !important;
	text-decoration: none !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-read-more-active::after {
	content: "→";
	color: var(--brand);
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-read-more-active:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-controls {
	display: flex !important;
	justify-content: flex-end !important;
	gap: .6rem !important;
	position: absolute !important;
	inset: auto 0 0 auto !important;
	width: auto !important;
	height: 3rem !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-prev, .reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-next {
	position: relative !important;
	inset: auto !important;
	transform: none !important;
	width: 3rem !important;
	height: 3rem !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #b8b1aa !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-prev:hover, .reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-next:hover {
	background: #171717 !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-prev:focus-visible, .reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-next:focus-visible {
	outline: 2px solid #171717 !important;
	outline-offset: 3px !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-prev::before, .reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-next::before {
	border-color: #171717 !important;
	left: 50% !important;
	top: 50% !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-prev:hover::before, .reviews-section .ti-widget[data-layout-category=slider] .ti-controls .ti-next:hover::before {
	border-color: #fff !important;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-prev {
	order: -1;
}

.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-controls-line {
	display: none !important;
}

@media (min-width: 47.5001rem) and (max-width: 64rem) {
	.reviews-section .ti-widget[data-layout-category=slider] .ti-review-item {
		flex-basis: 44% !important;
		width: 44% !important;
	}
}

@media (max-width: 47.5rem) {
	.reviews-section .ti-widget[data-layout-category=slider] .ti-review-item {
		margin: 0 !important;
		flex-basis: 88% !important;
		width: 88% !important;
		padding-right: 1rem !important;
	}
	
	.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-review-header {
		gap: .5rem !important;
	}
	
	.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-platform-icon {
		width: 1rem !important;
		height: 1rem !important;
	}
	
	.reviews-section .ti-widget[data-layout-category=slider] .ti-widget-container .ti-review-item .ti-inner {
		padding: 1.25rem !important;
	}
}

/* Keep the wide-screen gutter outside the capped editorial content box. */
@media (min-width: 120rem) {
	.homepage .hero .hero-content {
		margin-left: max(5%, 50% - 50rem);
		padding-left: 0;
		padding-right: 6rem;
	}
	
	.homepage .hero .hero-stamp {
		right: max(7%, 50% - 50rem);
	}
	
	.homepage .hero .hero-scroll {
		left: max(5%, 50% - 50rem);
	}
}

/* The primary detail link covers the card; sibling links remain independent. */
.agenda-card {
	position: relative;
}

.agenda-card .agenda-card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.agenda-card:has(a:focus-visible) {
	outline: 2px solid var(--brand);
	outline-offset: 3px;
}

.agenda-card .agenda-card-image, .agenda-card .agenda-card-tickets {
	position: relative;
	z-index: 2;
}

/* Informational cards respond only while their actual action is targeted. */
.visit-cards article:hover .visit-card-image img {
	transform: none;
}

.visit-cards article:has(.visit-card-content > a:is(:hover, :focus-visible)) .visit-card-image img {
	transform: scale(1.045);
}

@media (prefers-reduced-motion: reduce) {
	.visit-cards article:has(.visit-card-content > a:is(:hover, :focus-visible)) .visit-card-image img {
		transform: none;
	}
}

.visit-card-surface {
	position: relative;
}

.visit-card-surface .visit-card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.visit-card-surface:has(a:focus-visible) {
	outline: 2px solid #ff7c91;
	outline-offset: 3px;
}

/* Restore privacy paragraph rhythm without altering other chapter families. */
.privacy-page .content-chapter .wp-block-paragraph + .wp-block-paragraph {
	margin-top: 1.2rem;
}

@media (max-width: 60rem) {
	.homepage .people-rail .rail-controls button {
		position: static;
		inset: auto;
		margin: 0;
		width: 2.75rem;
		min-width: 2.75rem;
		height: 2.75rem;
	}
}

/* cherrywp-global-media: Stack narrow branding and retain the show action label. */
@media (max-width: 47.5rem) {
	.site-footer .footer-top > div:first-child {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}
	
	.site-footer .footer-top .footer-logo {
		margin: 0;
	}
	
	.show-page:has(.mobile-booking) + .site-footer {
		padding-bottom: calc(6rem + env(safe-area-inset-bottom));
	}
	
	.agenda-card .agenda-card-ticket-hint > span {
		display: inline;
	}
	
	.agenda-card .agenda-card-ticket-hint {
		flex: 1 0 100%;
		justify-content: center;
	}
}

.review-card:hover {
	background: #fff;
	border-color: #dedbd7;
}

.review-card:has(.review-source:is(:hover, :focus-visible)) {
	background: #fffdfd;
	border-color: #d38792;
}

/* Shared event rows use the existing 1.5rem spacing convention. */
.agenda-card {
	margin-bottom: 1.5rem;
}

.agenda-card-image.is-sold-out {
	position: relative;
}

.agenda-card-image.is-sold-out > img {
	filter: grayscale(1);
}

.show-sold-out-ribbon {
	position: absolute;
	z-index: 1;
	top: 2rem;
	right: -3.5rem;
	width: 16rem;
	padding: .6rem 0;
	transform: rotate(45deg);
	background: var(--brand);
	color: #fff;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
	pointer-events: none;
}

/* cherrywp-global-media: Keep shared event row and ribbon adaptations together at their existing mobile breakpoint. */
@media (max-width: 47.5rem) {
	.agenda-card {
		margin-bottom: 1.2rem;
	}
	
	.show-sold-out-ribbon {
		right: calc(50% - 8rem);
		font-size: 1rem;
	}
}

/* FacetWP markup adapters preserve the original agenda component geometry. */
@media (max-width: 75rem) {
	.agenda-page .agenda-header > div {
		align-items: flex-start;
	}
}

.agenda-page .breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.agenda-page .breadcrumb a:hover, .agenda-page .breadcrumb a:focus-visible {
	color: #ff7890;
}

.agenda-page .facetwp-facet {
	margin: 0;
}

.agenda-page .agenda-select-label {
	position: relative;
}

.agenda-page .agenda-filterbar > .agenda-select-label {
	display: grid;
	flex: 1;
	gap: .25rem;
	min-width: 9rem;
	max-width: 15rem;
	font-size: var(--text-ui);
	font-weight: 600;
}

@media (max-width: 47.5rem) {
	.agenda-page .agenda-filterbar > .agenda-select-label {
		flex: 11rem;
		min-width: 0;
		max-width: 100%;
	}
}

.agenda-page .facetwp-dropdown, .agenda-page .agenda-select-trigger {
	box-sizing: border-box;
	width: 100%;
	min-height: 2.8rem;
	height: 2.8rem;
	margin: 0;
	padding: .65rem .9rem;
	border: 1px solid #d3d3d3;
	border-radius: .25rem;
	background: #fff;
	color: #171717;
	font: inherit;
	font-size: var(--text-ui);
	line-height: 1.65;
	box-shadow: none;
	text-align: left;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.agenda-page .facetwp-dropdown:hover, .agenda-page .facetwp-dropdown:focus, .agenda-page .agenda-select-trigger:hover, .agenda-page .agenda-select-trigger:focus {
	background: #fff;
	color: #171717;
}

.agenda-page .facetwp-dropdown > svg, .agenda-page .agenda-select-trigger > svg {
	width: 16px;
	height: 16px;
	flex: none;
	color: #737373;
}

@media (max-width: 600px) {
	.agenda-page .facetwp-dropdown, .agenda-page .agenda-select-trigger {
		padding: .6rem;
	}
}

.agenda-page .agenda-select-popup {
	position: absolute;
	z-index: 25;
	inset: 100% 0 auto;
	margin-top: 0;
	padding: .25rem;
	border-radius: .5rem;
	background: #fff;
	color: #171717;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .2);
	max-height: 320px;
	overflow-y: auto;
	font-size: var(--text-ui);
	font-weight: 400;
	line-height: 1.65;
}

.agenda-page .agenda-select-popup [role=option] {
	padding: .25rem .5rem;
	border-radius: .25rem;
	cursor: pointer;
}

.agenda-page .agenda-select-popup [role=option]:hover, .agenda-page .agenda-select-popup [role=option]:focus {
	background: #fff0f2;
	color: #ad001a;
	outline: none;
}

.agenda-page .agenda-select-popup [role=option][aria-selected=true]::after {
	content: "";
	float: right;
	width: 16px;
	height: 26px;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23171717\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M20 6 9 17l-5-5\'/%3E%3C/svg%3E") center/16px no-repeat;
	background: currentcolor;
}

.agenda-page .agenda-select-popup [role=option][aria-disabled=true] {
	opacity: .5;
	cursor: default;
}

.agenda-page .availability-filter .facetwp-checkbox {
	background: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	gap: .65rem;
	cursor: pointer;
	font-size: var(--text-ui);
	line-height: 1.65;
}

.agenda-page .availability-filter .facetwp-checkbox::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	border: 1px solid #aaa;
	border-radius: 4px;
	background: #151515;
}

.agenda-page .availability-filter .facetwp-checkbox.checked::before {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%23fff\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M20 6 9 17l-5-5\'/%3E%3C/svg%3E");
	background-size: 14px;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
	background-color: var(--brand);
	border-color: var(--brand);
	font-size: 12px;
	line-height: 1;
	text-align: center;
}

.agenda-page .facetwp-counter {
	display: none;
}

.agenda-page .date-strip .facetwp-facet {
	display: flex;
	gap: .6rem;
}

.agenda-page .date-strip .facetwp-radio {
	color: #eee;
	background: #242424;
	border: 1px solid #555;
	border-radius: .25rem;
	flex: none;
	min-height: 2.9rem;
	padding: .65rem 1.05rem;
	margin: 0;
	font-size: var(--text-ui);
	font-weight: 600;
	line-height: 1.65;
	cursor: pointer;
}

.agenda-page .date-strip .facetwp-radio.checked {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}

.agenda-page .date-strip .facetwp-radio:hover {
	border-color: var(--brand);
}

@media (max-width: 600px) {
	.agenda-page .date-strip .facetwp-radio {
		min-height: 2.7rem;
		padding: .6rem .8rem;
	}
}

.agenda-page .agenda-pagination {
	padding-top: 2rem;
}

.agenda-page .agenda-pagination .facetwp-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.8rem;
	min-height: 2.8rem;
	padding: .4rem .8rem;
	margin: 0 .3rem .3rem 0;
	color: #fff;
	background: #242424;
	border: 1px solid #555;
	border-radius: .25rem;
	text-decoration: none;
	font-size: var(--text-ui);
}

.agenda-page .agenda-pagination .facetwp-page.active, .agenda-page .agenda-pagination .facetwp-page:hover {
	background: var(--brand);
	color: #fff;
}

.agenda-page .agenda-card a, .agenda-page .agenda-card a:focus {
	color: inherit;
	text-decoration: none;
}

.agenda-page .agenda-card h3 a:hover {
	color: var(--brand);
}

.agenda-page .agenda-card .agenda-card-tickets, .agenda-page .agenda-card .agenda-card-tickets:hover, .agenda-page .agenda-card .agenda-card-tickets:focus {
	color: #fff;
}

.agenda-page .agenda-review-notice, .agenda-page .agenda-network-error, .agenda-page .agenda-error, .agenda-page .agenda-empty {
	font-size: var(--text-ui);
	color: #c4c4c4;
	margin-top: 1.5rem;
}

.agenda-page .reset-filter, .agenda-page [data-agenda-retry] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: .4rem .8rem;
	color: #eee;
	background: #242424;
	border: 1px solid #555;
	border-radius: .25rem;
	font-size: var(--text-ui);
	cursor: pointer;
}

.agenda-page .reset-filter:hover, .agenda-page [data-agenda-retry]:hover {
	color: #fff;
	background: #393939;
}

.agenda-page [hidden] {
	display: none !important;
}

.agenda-page button:focus-visible, .agenda-page [role=checkbox]:focus-visible, .agenda-page [role=button]:focus-visible, .agenda-page .facetwp-page:focus-visible {
	outline: 2px solid #ff7890;
	outline-offset: 4px;
}

.agenda-page .agenda-results {
	position: relative;
}

.agenda-page .agenda-results[aria-busy=true] {
	min-height: 12rem;
	isolation: isolate;
	pointer-events: none;
}

.agenda-page .agenda-results[aria-busy=true]::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: rgba(17, 17, 17, .75);
	border-radius: .75rem;
}

.agenda-page .agenda-results[aria-busy=true]::after {
	content: "";
	position: absolute;
	top: min(20vh, 8rem);
	left: calc(50% - 1rem);
	z-index: 3;
	width: 2rem;
	height: 2rem;
	border: 3px solid rgba(255, 255, 255, .25);
	border-top-color: #fff;
	border-radius: 50%;
	animation: agenda-loading-spin .9s linear infinite;
}

@-webkit-keyframes agenda-loading-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes agenda-loading-spin {
	to {
		transform: rotate(360deg);
	}
}

/* cherrywp-global-media: Keep the loading message without motion when requested. */
@media (prefers-reduced-motion: reduce) {
	.agenda-page .agenda-results[aria-busy=true]::after {
		animation: none;
	}
}

.show-page {}

.show-page .show-layout:has(.show-text > .practical-list:last-child > div) + .related-shows {
	border-top: 0;
}

.show-page a:hover, .show-page a:focus {
	text-decoration: none;
}

.show-page .breadcrumb:hover {
	color: #ff7890;
}

.show-page .booking-help a:hover {
	color: #c4c4c4;
}

.show-page .related-shows a, .show-page .related-shows a:hover, .show-page .related-shows a:focus {
	color: inherit;
}

.show-page .button:hover, .show-page .button:focus {
	color: #fff;
}

.show-page .breadcrumb:focus:not(:hover), .show-page .booking-help a:focus:not(:hover), .show-page .dinner-note .text-link:focus {
	color: #c4c4c4;
}

.show-page .lineup-note .text-link:hover, .show-page .lineup-note .text-link:focus-visible {
	color: #ff7890;
}

.show-page .lineup-note .text-link:focus:not(:focus-visible):not(:hover) {
	color: #ccc;
}

.show-page .lineup-note .text-link svg {
	color: inherit;
	margin-top: 0;
}

.show-page .show-status {
	font-weight: 700;
}

.show-page .show-text > p {
	margin-bottom: 1.25rem;
}

@media (max-width: 47.5rem) {
	.show-page .mobile-booking {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: .75rem;
		padding-block: .5rem max(.5rem, env(safe-area-inset-bottom));
	}
	
	.show-page .mobile-booking strong {
		font-size: 1rem;
		white-space: nowrap;
	}
	
	.show-page .mobile-booking > div > span {
		font-size: .75rem;
		overflow-wrap: anywhere;
	}
	
	.show-page .mobile-booking .button {
		position: static;
		width: auto;
		max-width: none;
		justify-self: end;
		min-height: 2.75rem;
		padding: .5rem .75rem;
		font-size: .875rem;
	}
	
	.show-page .mobile-booking .show-status {
		text-align: left;
		font-size: .875rem;
	}
}

@media (max-width: 23rem) {
	.show-page {
		padding-bottom: calc(9rem + env(safe-area-inset-bottom));
	}
	
	.show-page .mobile-booking {
		grid-template-columns: minmax(0, 1fr);
	}
	
	.show-page .mobile-booking .button {
		width: 100%;
		justify-self: stretch;
		justify-content: center;
	}
}

/* Keep Guestplan off mobile show pages without changing desktop behavior. */
@media (max-width: 47.5rem) {
	body:has(.show-page) #gstpln-widget-host {
		display: none !important;
	}
}

@font-face {
	font-family: "Barlow Condensed";
	src: url("../fonts/BarlowCondensed-ExtraBold.woff2") format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: Inter;
	src: url("../fonts/Inter-Variable.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: Inter;
	src: url("../fonts/Inter-Latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2122, U+2190-21FF, U+2212, U+FEFF, U+FFFD;
}

html {
	font-size: 16px;
}

body {
	font-family: Inter, Arial, sans-serif;
	font-size: 1.125rem;
	line-height: 1.7;
}

.homepage .wp-block-group {
	box-sizing: border-box;
}

h1, h2, h3 {
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-weight: 800;
}

.hero-kicker > span {
	display: none;
}

.hero-kicker::before {
	content: "";
	width: 1.6rem;
	height: 3px;
	background: #ff3656;
	flex: none;
}

.desktop-nav [data-slot=navigation-menu-list] {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.desktop-nav [data-slot=navigation-menu-trigger] {
	display: flex;
	align-items: center;
	border: 0;
	cursor: pointer;
	white-space: nowrap;
	transition: all .15s cubic-bezier(.4, 0, .2, 1);
	color: var(--ink);
}

.desktop-nav [data-slot=navigation-menu-trigger]:hover, .desktop-nav [data-slot=navigation-menu-trigger]:focus {
	color: var(--ink);
	background: transparent;
}

.desktop-nav [data-slot=navigation-menu-trigger][aria-expanded=true] {
	color: var(--brand);
}

.desktop-nav [data-slot=navigation-menu-trigger] > svg {
	position: relative;
	top: 1px;
	transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}

.desktop-nav .nav-direct, .mega-link {
	transition: all .15s cubic-bezier(.4, 0, .2, 1);
}

.desktop-nav .nav-direct {
	display: flex;
	align-items: center;
}

.desktop-nav [aria-expanded=true] {
	color: var(--brand);
}

.desktop-nav [aria-expanded=true] svg {
	transform: rotate(180deg);
}

.site-header .menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 2rem;
	padding: 0 .625rem;
	border: 1px solid transparent;
	background: transparent;
	color: var(--ink);
	border-radius: .5rem;
	transition: all .15s cubic-bezier(.4, 0, .2, 1);
}

.site-header .menu-toggle svg {
	width: 1.25rem;
	height: 1.25rem;
}

@media (max-width: 75rem) {
	.site-header .menu-toggle svg {
		width: 1.6rem;
		height: 1.6rem;
	}
}

.site-header .menu-toggle:hover, .site-header .menu-toggle[aria-expanded=true] {
	color: var(--ink);
	background: var(--muted);
}

.site-header .menu-toggle:focus {
	color: var(--ink);
}

@media (prefers-reduced-motion: reduce) {
	.site-header .menu-toggle {
		transition: none;
	}
}

.mega-positioner {
	position: absolute;
	left: 5%;
	top: 104px;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity .35s, transform .35s, visibility .35s;
}

.mega-positioner.open {
	visibility: visible;
	opacity: 1;
	transform: none;
}

.mega-positioner > .mega-content {
	background: #fff;
}

.mega-heading {
	background-image: linear-gradient(110deg, rgba(0, 0, 0, .8196078431), rgba(0, 0, 0, .7215686275)), url("../media/club.webp");
}

.mega-link:hover, .mega-link:focus-visible {
	background: #f3f3f3;
}

.mega-link {
	gap: .5rem;
	font-size: .875rem;
	line-height: 1.428571;
}

/* Approved deviation: submenu arrows use the existing button movement. */
.mega-positioner .mega-link svg, .mobile-sheet .mobile-group-links a svg {
	transition: transform .2s;
}

.mega-positioner .mega-link:hover svg, .mega-positioner .mega-link:focus-visible svg, .mobile-sheet .mobile-group-links a:hover svg, .mobile-sheet .mobile-group-links a:focus-visible svg {
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.mega-positioner .mega-link svg, .mobile-sheet .mobile-group-links a svg {
		transition: none;
	}
	
	.mega-positioner .mega-link:hover svg, .mega-positioner .mega-link:focus-visible svg, .mobile-sheet .mobile-group-links a:hover svg, .mobile-sheet .mobile-group-links a:focus-visible svg {
		transform: none;
	}
}

.mobile-sheet[data-slot=sheet-content] {
	position: fixed;
	inset: 0 0 0 auto;
	background: #fff;
	display: flex;
	flex-direction: column;
	visibility: hidden;
	opacity: 0;
	border-left: 1px solid #171717;
	font-size: .875rem;
	line-height: 1.428571;
	transform: translateX(2.5rem);
	transition: opacity .2s cubic-bezier(.4, 0, .2, 1), transform .2s cubic-bezier(.4, 0, .2, 1), visibility .2s;
}

.mobile-sheet[data-slot=sheet-content].open {
	visibility: visible;
	opacity: 1;
	transform: none;
}

.mobile-sheet[data-slot=sheet-content] [data-slot=sheet-description] {
	color: #595959;
	line-height: 1.428571;
}

.mobile-sheet[data-slot=sheet-content] > .button:hover, .mobile-sheet[data-slot=sheet-content] > .button:focus {
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.mobile-sheet[data-slot=sheet-content] {
		transition: none;
	}
}

.mobile-menu-top button {
	width: auto;
	height: 2rem;
	padding: 0 .625rem;
	border: 1px solid transparent;
	background: transparent;
	color: var(--ink);
	border-radius: .5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all .15s cubic-bezier(.4, 0, .2, 1);
}

.mobile-menu-top button svg {
	width: 1.25rem;
	height: 1.25rem;
}

.mobile-menu-top button:hover {
	color: var(--ink);
	background: var(--muted);
}

.mobile-menu-top button:focus {
	color: var(--ink);
}

.sidebar-dim {
	position: fixed;
	inset: 0;
	z-index: 50;
	background: rgba(0, 0, 0, .1);
	backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s cubic-bezier(.4, 0, .2, 1), visibility .15s;
}

.sidebar-dim.visible {
	opacity: 1;
	visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
	.sidebar-dim {
		transition: none;
	}
}

.mobile-group {
	border-bottom: 1px solid #171717;
}

.mobile-group:last-child {
	border-bottom: 0;
}

.mobile-group button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: transparent;
	border: 1px solid transparent;
	text-align: left;
	border-radius: .5rem;
	transition: all .15s cubic-bezier(.4, 0, .2, 1);
}

.mobile-group button svg {
	color: #595959;
}

.mobile-group h3 {
	margin: 0;
}

.mobile-group [aria-expanded=true] svg {
	transform: rotate(180deg);
}

.mobile-group-links {
	padding-bottom: .625rem;
}

.brand-band-track {
	animation: brand-move 36s linear infinite;
}

.brand-band.paused .brand-band-track {
	animation-play-state: paused;
}

.brand-band-cycle > .muted-word {
	color: rgba(255, 255, 255, .75);
}

@-webkit-keyframes brand-move {
	to {
		transform: translateX(-25%);
	}
}

@keyframes brand-move {
	to {
		transform: translateX(-25%);
	}
}

.about-copy > .eyebrow.red {
	color: #d02;
}

.rail-viewport {
	overflow: hidden;
}

.rail-track {
	position: relative;
	display: flex;
	transition: transform .45s ease;
	will-change: transform;
}

.rail-track.is-scrolling {
	transition: none;
}

.people-rail [data-slot=carousel-content] {
	margin-left: -1.25rem;
}

.people-rail [data-slot=carousel-content] > .rail-track {
	margin-left: -1rem;
}

.people-rail {
	position: relative;
}

.people-rail .rail-controls button {
	position: absolute;
	inset-block: 0;
	margin-block: auto;
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid #e5e5e5;
	background: #fff;
}

.people-rail .rail-controls button svg {
	width: 1rem;
	height: 1rem;
}

.people-rail [data-previous] {
	left: -3rem;
}

.people-rail [data-next] {
	right: -3rem;
}

.people-rail [data-slot=carousel-item] {
	flex: 0 0 22%;
	min-width: 0;
}

.person-card img {
	filter: grayscale(1);
}

.rail-controls button, .reviews-controls button {
	border-radius: 50%;
	display: grid;
	place-items: center;
}

.rail-controls button:disabled, .reviews-controls button:disabled {
	opacity: .4;
	pointer-events: none;
}

.reviews-rail [data-slot=carousel-item] {
	flex-shrink: 0;
	min-width: 0;
}

.faq-item {
	border-bottom: 1px solid #171717;
}

.faq-item h3 {
	margin: 0;
}

.faq-item button {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	text-align: left;
	background: transparent;
	border: 1px solid transparent;
}

.faq-item [aria-expanded=true] svg {
	transform: rotate(180deg);
}

.faq-item:last-child {
	border-bottom: 0;
}

.review-card blockquote p {
	font: inherit;
}

[data-slot=accordion-content] {
	overflow: hidden;
}

.footer-bottom nav {
	display: contents;
}

.reviews-controls button {
	border: 1px solid #b8b1aa;
	box-shadow: none;
	padding: 0;
}

.people-rail button {
	padding: 0;
}

.local-review-notice {
	font-size: .8125rem;
	color: #aaa;
	border-top: 1px dashed #555;
	margin-top: 1.5rem;
	padding-top: 1rem;
}

.unfinished-destination {
	padding-block: 5rem;
	min-height: 60vh;
}

.unfinished-destination h1 {
	margin-block: 2rem;
}

.unfinished-destination p {
	margin-bottom: 1rem;
}

/* cherrywp-global-media: Preserve the reference responsive card widths. */
@media (max-width: 75rem) {
	.people-rail [data-slot=carousel-item] {
		flex-basis: 29%;
	}
}

/* cherrywp-global-media: Preserve the reference mobile cards and drawer. */
@media (max-width: 47.5rem) {
	.people-rail [data-slot=carousel-content] {
		margin-left: -1rem;
	}
	
	.people-rail [data-slot=carousel-item] {
		flex-basis: 57%;
	}
}

/* cherrywp-global-media: Respect the actual visitor motion preference. */
@media (prefers-reduced-motion: reduce) {
	.brand-band-track {
		animation: none;
	}
	
	.rail-track, .mobile-sheet, .mega-positioner {
		transition: none;
	}
}

/* Reset inherited parent button surfaces to the original neutral controls. */
button {
	color: inherit;
	box-shadow: none;
}

.mobile-sheet [data-slot=accordion-trigger]:hover, .faq-item button:hover, .shared-faq summary:hover {
	text-decoration: underline;
}

.mobile-sheet [data-slot=accordion-trigger]:hover, .mobile-sheet [data-slot=accordion-trigger]:focus, .mobile-sheet [data-slot=accordion-trigger][aria-expanded=true], .faq-item button:hover, .faq-item button:focus, .faq-item button[aria-expanded=true], .shared-faq summary:hover, .shared-faq summary:focus, .shared-faq summary[aria-expanded=true] {
	color: var(--ink);
	background: transparent;
}

.people-rail .rail-controls button:hover, .people-rail .rail-controls button:focus {
	color: var(--ink);
	background: var(--muted);
}

.people-rail .rail-controls button:focus:not(:hover) {
	background: #fff;
}

.menu-dim.visible {
	display: block;
}

.review-author > svg {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--brand);
	margin-left: auto;
	align-self: flex-start;
}

.mega-positioner {
	left: 50%;
	transform: translate(-50%, -8px);
}

.mega-positioner.open {
	transform: translateX(-50%);
}

.mega-link:focus-visible {
	outline-offset: -2px;
}

/* Keep parent anchor states from replacing the reference component colours. */
.site-header .header-ticket:hover, .site-header .header-ticket:focus, .homepage .hero-actions > .button:hover, .homepage .hero-actions > .button:focus, .homepage .home-agenda-bottom > .button:hover, .homepage .home-agenda-bottom > .button:focus, .homepage .agenda-card-tickets:hover, .homepage .agenda-card-tickets:focus {
	color: #fff;
}

.site-header .logo-link, .mega-positioner .mega-link, .mobile-sheet .mobile-group-links a, .homepage .person-card {
	color: var(--ink);
}

.site-header .logo-link:hover, .site-header .logo-link:focus, .mega-positioner .mega-link:hover, .mega-positioner .mega-link:focus, .mobile-sheet .mobile-group-links a:hover, .mobile-sheet .mobile-group-links a:focus, .homepage .person-card:hover, .homepage .person-card:focus {
	color: var(--ink);
}

.homepage .hero-scroll, .homepage .reviews-score {
	color: #fff;
}

.homepage .hero-scroll:hover, .homepage .hero-scroll:focus, .homepage .reviews-score:hover, .homepage .reviews-score:focus {
	color: #fff;
}

/* Approved deviation: colour feedback on sidebar navigation links. */
.mobile-sheet .mobile-group-links a:hover {
	color: var(--brand);
}

/* Approved deviation: colour and arrow feedback on comedian cards. */
.homepage .person-card h3 > svg {
	transition: transform .2s;
}

@media (prefers-reduced-motion: reduce) {
	.homepage .person-card h3 > svg {
		transition: none;
	}
}

.homepage .person-card h3:hover {
	color: var(--brand);
}

.homepage .person-card h3:hover > svg {
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.homepage .person-card h3:hover > svg {
		transform: none;
	}
}

.homepage .agenda-card-image {
	color: #161616;
}

.homepage .agenda-card-image:hover, .homepage .agenda-card-image:focus {
	color: #161616;
}

.homepage .button-white:focus {
	color: #171717;
}

.desktop-nav .nav-direct:focus:not(:hover), .homepage .text-link:focus:not(:hover), .homepage .review-source:focus:not(:hover) {
	color: #171717;
}

.homepage .agenda-card-content h3 a:focus:not(:hover) {
	color: #161616;
}

.homepage .hero-secondary:focus:not(:hover), .homepage .visit-card-content a:focus:not(:hover) {
	color: #fff;
}

.site-footer .footer-top a:focus:not(:hover) {
	color: #e0e0e0;
}

.homepage .faq-list [data-slot=accordion-content] a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: .1875rem;
}

.homepage .faq-list [data-slot=accordion-content] a:focus {
	color: inherit;
}

.homepage .faq-list [data-slot=accordion-content] a:hover {
	color: #171717;
}

.site-footer .footer-bottom a {
	color: inherit;
}

.site-footer .footer-bottom a:hover, .site-footer .footer-bottom a:focus {
	color: inherit;
}

.skip-link:focus {
	color: #171717;
}

.homepage .review-star-empty > svg {
	fill: currentcolor;
}

/* These reference links use component borders or nested labels for emphasis. */
.site-header .logo-link:hover, .site-header .logo-link:focus, .site-header .header-ticket:hover, .site-header .header-ticket:focus, .desktop-nav .nav-direct:hover, .desktop-nav .nav-direct:focus, .mega-positioner .mega-link:hover, .mega-positioner .mega-link:focus, .mobile-sheet > .button:hover, .mobile-sheet > .button:focus, .homepage .hero-actions > a:hover, .homepage .hero-actions > a:focus, .homepage .hero-scroll:hover, .homepage .hero-scroll:focus, .homepage .text-link:hover, .homepage .text-link:focus, .homepage .agenda-card-image:hover, .homepage .agenda-card-image:focus, .homepage .agenda-card-content h3 a:hover, .homepage .agenda-card-content h3 a:focus, .homepage .agenda-card-tickets:hover, .homepage .agenda-card-tickets:focus, .homepage .home-agenda-bottom > .button:hover, .homepage .home-agenda-bottom > .button:focus, .homepage .person-card:hover, .homepage .person-card:focus, .homepage .visit-intro > .button:hover, .homepage .visit-intro > .button:focus, .homepage .visit-card-content a:hover, .homepage .visit-card-content a:focus, .homepage .reviews-score:hover, .homepage .reviews-score:focus, .homepage .reviews-write:hover, .homepage .reviews-write:focus, .homepage .review-source:hover, .homepage .review-source:focus, .homepage .final-cta .button:hover, .homepage .final-cta .button:focus, .site-footer .footer-top a:hover, .site-footer .footer-top a:focus, .site-footer .footer-bottom a:hover, .site-footer .footer-bottom a:focus {
	text-decoration: none;
}

/* Canonical FAQ disclosure skin retains the reference geometry. */
.shared-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	text-align: left;
	background: transparent;
	border: 1px solid transparent;
	list-style: none;
	cursor: pointer;
}

.shared-faq summary::-webkit-details-marker {
	display: none;
}

.shared-faq summary:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 4px;
}

.shared-faq .faq-toggle-answer {
	padding: 0 2rem 1.75rem 0;
}

.shared-faq .faq-toggle-answer > p {
	max-width: 68ch;
	font-size: inherit;
	line-height: inherit;
}

.shared-faq [open] > summary svg {
	transform: rotate(180deg);
}

.shared-faq summary[aria-expanded=false] svg {
	transform: none;
}

/* Native submenu lists retain the approved direct-link layout. */
.mega-links, .mobile-group-links, .footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mega-links > li, .mobile-group-links > li, .footer-links > li {
	display: contents;
}

/* Native list reset must retain the reference's expanded-group spacing. */
.mobile-sheet .mobile-group-links {
	padding-bottom: .625rem;
}

/* Inline editorial links remain recognizable without changing composed actions. */
.content-page p a:not(.button):not(.text-link), .content-page .wp-block-list a:not(.button):not(.text-link) {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: .15em;
	text-decoration-thickness: 1px;
}

.content-page p a:not(.button):not(.text-link):hover, .content-page p a:not(.button):not(.text-link):focus-visible, .content-page .wp-block-list a:not(.button):not(.text-link):hover, .content-page .wp-block-list a:not(.button):not(.text-link):focus-visible {
	color: var(--brand);
}

.content-page p a:not(.button):not(.text-link):focus-visible, .content-page .wp-block-list a:not(.button):not(.text-link):focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 3px;
}

.content-page .profile-biography p a:not(.button):not(.text-link):hover, .content-page .profile-biography p a:not(.button):not(.text-link):focus-visible, .content-page .inner-hero p a:not(.button):not(.text-link):hover, .content-page .inner-hero p a:not(.button):not(.text-link):focus-visible {
	color: #ff7c91;
}

/* Programme calendar: child-owned presentation over WhatSock's ARIA widget. */
.agenda-page .date-strip:has(.programme-date) {
	display: block;
	overflow: visible;
}

.agenda-page .programme-date {
	max-width: 48rem;
	color: #fff;
	font-size: var(--text-ui);
}

.agenda-page .programme-date .programme-date-dialog {
	width: min(48rem, 100% - 2rem);
	max-height: calc(100dvh - 2rem);
	margin: auto;
	padding: 1.25rem;
	border: 1px solid #555;
	border-radius: .5rem;
	background: #242424;
	color: #fff;
	overflow: auto;
}

.agenda-page .programme-date .programme-date-dialog[open] {
	animation: programme-date-modal-in .15s cubic-bezier(.4, 0, .2, 1);
}

.agenda-page .programme-date .programme-date-dialog::backdrop {
	background: rgba(0, 0, 0, .1);
	backdrop-filter: blur(4px);
	animation: programme-date-backdrop-in .15s cubic-bezier(.4, 0, .2, 1);
}

.agenda-page .programme-date .programme-date-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.agenda-page .programme-date .programme-date-heading h2 {
	margin: 0;
	font-size: 1.25rem;
}

.agenda-page .programme-date button {
	min-height: 2.75rem;
	padding: .6rem .85rem;
	border: 1px solid #666;
	border-radius: .25rem;
	background: #303030;
	color: #fff;
	font: inherit;
	cursor: pointer;
}

.agenda-page .programme-date button:hover {
	background: #444;
}

.agenda-page .programme-date button:disabled {
	opacity: .5;
	cursor: default;
}

.agenda-page .programme-date button[aria-expanded=true] {
	border-color: #ff7890;
}

.agenda-page .programme-date button[aria-pressed=true] {
	border-color: #ff7890;
	background: #6b1324;
}

.agenda-page .programme-date .programme-date-close-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	padding: 0 .625rem;
	border-color: transparent;
	border-radius: .5rem;
	background: transparent;
	transition: background .15s cubic-bezier(.4, 0, .2, 1);
}

.agenda-page .programme-date .programme-date-close-icon svg {
	width: 1.25rem;
	height: 1.25rem;
}

.agenda-page .programme-date [data-date-clear] {
	background: var(--brand);
	border-color: var(--brand);
}

.agenda-page .programme-date [data-date-clear]:hover {
	background: #6b1324;
}

.agenda-page .programme-date .programme-date-controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .75rem;
}

.agenda-page .programme-date [data-date-open] {
	padding: .45rem .75rem;
	border-radius: .5rem;
}

.agenda-page .programme-date .programme-date-selection {
	align-items: center;
	gap: .75rem;
	max-width: 100%;
	padding: .45rem .75rem;
	border-color: var(--brand);
	border-radius: .5rem;
	background: var(--brand);
	color: #fff;
	font-size: .9rem;
	text-align: left;
}

.agenda-page .programme-date .programme-date-selection:not([hidden]) {
	display: inline-flex;
}

.agenda-page .programme-date .programme-date-selection:hover {
	background: #6b1324;
}

.agenda-page .programme-date .programme-date-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.agenda-page .programme-date .programme-date-field {
	display: grid;
	gap: .4rem;
}

.agenda-page .programme-date .programme-date-field button {
	width: 100%;
	text-align: left;
}

.agenda-page .programme-date .programme-date-field:has([aria-expanded=true]) > span {
	color: #ff7890;
	font-weight: 700;
}

.agenda-page .programme-date .programme-date-field:has([aria-expanded=true]) button {
	box-shadow: inset 0 0 0 1px #ff7890;
}

.agenda-page .programme-date .programme-date-active-boundary {
	margin: 0 0 .5rem;
	color: #ff7890;
	font-weight: 700;
	font-size: .9rem;
}

.agenda-page .programme-date .programme-date-help, .agenda-page .programme-date .programme-date-placeholder {
	margin: .8rem 0;
	color: #ccc;
	font-size: .9rem;
	line-height: 1.5;
}

.agenda-page .programme-date .programme-date-body {
	display: grid;
	grid-template-columns: minmax(9rem, 1fr) minmax(0, 2fr);
	gap: 1.25rem;
	margin-top: 1rem;
}

.agenda-page .programme-date .programme-date-presets {
	display: flex;
	flex-direction: column;
	gap: .4rem;
}

.agenda-page .programme-date .programme-date-presets button {
	padding-block: .45rem;
	text-align: left;
}

.agenda-page .programme-date .programme-date-calendar-area {
	min-width: 0;
}

.agenda-page .programme-date .programme-date-summary {
	margin: 1rem 0;
	min-height: 1.5em;
}

.agenda-page .programme-date .programme-date-summary:empty {
	min-height: 0;
}

.agenda-page .programme-date .programme-date-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
}

.agenda-page .programme-date .programme-date-actions [data-date-close] {
	margin-left: auto;
}

.agenda-page .programme-date .programme-date-actions [data-date-apply] {
	background: var(--brand);
	border-color: var(--brand);
}

@media (max-width: 40rem) {
	.agenda-page .programme-date .programme-date-dialog {
		width: calc(100% - 1rem);
		max-width: calc(100% - 1rem);
		padding: .8rem;
	}
	
	.agenda-page .programme-date .programme-date-fields {
		gap: .5rem;
	}
	
	.agenda-page .programme-date .programme-date-field button, .agenda-page .programme-date .programme-date-presets button {
		font-size: .85rem;
		padding-inline: .5rem;
	}
	
	.agenda-page .programme-date .programme-date-body {
		grid-template-columns: minmax(0, 1fr);
	}
	
	.agenda-page .programme-date .programme-date-calendar-area {
		grid-row: 1;
	}
	
	.agenda-page .programme-date .programme-date-presets {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.agenda-page .programme-date .programme-date-actions {
		position: sticky;
		bottom: -.8rem;
		margin: 0 -.8rem -.8rem;
		padding: .75rem .8rem;
		background: #242424;
		border-top: 1px solid #555;
		z-index: 1;
	}
	
	.agenda-page .programme-date .programme-date-selection {
		width: 100%;
		justify-content: space-between;
	}
}

.agenda-page .programme-calendar {
	width: 100%;
	max-width: 100%;
	color: #fff;
}

.agenda-page .programme-calendar table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: .15rem;
	margin: 0;
}

.agenda-page .programme-calendar th, .agenda-page .programme-calendar td {
	padding: .15rem;
	border: 0;
	text-align: center;
	background: transparent;
	color: inherit;
	font-size: .9rem;
}

.agenda-page .programme-calendar [role=button] {
	height: 2.75rem;
	border-radius: .25rem;
	cursor: pointer;
}

.agenda-page .programme-calendar [role=button]:hover {
	background: #444;
}

.agenda-page .programme-calendar [role=button][aria-disabled=true] {
	color: #999;
	cursor: default;
	background: transparent;
}

.agenda-page .programme-calendar [aria-current=date] {
	text-decoration: underline;
	text-underline-offset: .3em;
}

.agenda-page .programme-calendar [role=button][aria-pressed=true] {
	background: #6b1324;
	box-shadow: inset 0 0 0 1px #ff7890;
	color: #fff;
}

.agenda-page .programme-calendar .month {
	font-weight: 700;
}

.agenda-page .programme-calendar button {
	margin-top: .5rem;
}

/* Restore table geometry where shared button utilities also match vendor cells. */
.agenda-page .programme-calendar td[role=button] {
	display: table-cell;
	vertical-align: middle;
}

.agenda-page .programme-calendar .nav[role=button] {
	width: 2.75rem;
}

@-webkit-keyframes programme-date-modal-in {
	from {
		opacity: 0;
		transform: translateY(.5rem);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes programme-date-modal-in {
	from {
		opacity: 0;
		transform: translateY(.5rem);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@-webkit-keyframes programme-date-backdrop-in {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes programme-date-backdrop-in {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

/* cherrywp-global-media: Disable motion on the modal and its backdrop together. */
@media (prefers-reduced-motion: reduce) {
	.agenda-page .programme-date-dialog[open], .agenda-page .programme-date-dialog::backdrop {
		animation: none;
	}
	
	.agenda-page .programme-date-close-icon {
		transition: none;
	}
}

/* Keep Guestplan contact text in its provider-owned contrast colour. */
#gstpln-widget-host {
	--widget-accent: var(--widget-primary) !important;
}

.content-chapters:has(.cookie-declaration), .content-chapter:has(.cookie-declaration), .content-chapter:has(.cookie-declaration) > .wp-block-group {
	min-width: 0;
}

.cookie-declaration {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
}

.cookie-declaration th, .cookie-declaration td {
	white-space: normal;
	overflow-wrap: anywhere;
}

.cookie-declaration:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
