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

/* 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. */
.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 .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] {
	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;
}

.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;
}

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

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

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.jpg");
}

.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;
}
