/* Strong, layout-neutral keyboard focus on controls with weak theme or plugin cues. */
ul:empty {
	display: none;
}

/* The theme's empty header lists contain whitespace, so :empty misses them. */
#header ul:not(:has(> *)) {
	display: none;
}

footer a[href*="maps.app.goo.gl"]:focus-visible,
footer a.icon:focus-visible,
.single-product .quantity input:focus-visible {
	outline: 3px solid #06214d;
	outline-offset: 3px;
	box-shadow: 0 0 0 2px #fff;
}

/* Frame the map image against its yellow surround. */
footer a[aria-label="Open venue map"]:focus-visible {
	position: relative;
	outline-width: 4px;
	outline-offset: 2px;
}

footer a[aria-label="Open venue map"]:focus-visible::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border: 4px solid #06214d;
	box-shadow: inset 0 0 0 2px #fff;
	pointer-events: none;
}

/* The floating Tickets widget removes the theme's focus outline. */
a.chaty-link-channel:focus-visible {
	outline: 3px solid #06214d;
	outline-offset: -3px;
}

a.chaty-link-channel:focus-visible .chaty-svg {
	outline: 3px solid #06214d;
	outline-offset: 2px;
	border-radius: 50%;
}

@media (forced-colors: active) {
	footer a[href*="maps.app.goo.gl"]:focus-visible,
	footer a.icon:focus-visible,
	.single-product .quantity input:focus-visible,
	a.chaty-link-channel:focus-visible {
		outline-color: Highlight;
		box-shadow: none;
	}

	footer a[aria-label="Open venue map"]:focus-visible::after {
		border-color: Highlight;
		box-shadow: none;
	}

	a.chaty-link-channel:focus-visible .chaty-svg {
		outline-color: Highlight;
	}
}
