.pn-dining-selector {
	border: 0;
	clear: both;
	margin: 1.25rem 0;
	min-width: 0;
	padding: 0;
}
.pn-dining-selector legend {
	color: inherit;
	font-size: inherit;
	font-weight: 600;
	margin: 0 0 .65rem;
	padding: 0;
}
.pn-dining-selector .required { border: 0; color: #b81c23; text-decoration: none; }
.pn-dining-options { display: flex; flex-wrap: wrap; gap: .65rem; }
.pn-dining-option { cursor: pointer; margin: 0; position: relative; }
.pn-dining-option input {
	height: 1px;
	opacity: 0;
	position: absolute;
	width: 1px;
}
.pn-dining-option span {
	align-items: center;
	background: #fff;
	border: 1px solid #b7b7b7;
	border-radius: 2px;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	min-height: 42px;
	padding: .65rem 1rem;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.pn-dining-option:hover span { border-color: #222; }
.pn-dining-option input:checked + span,
.pn-dining-option.is-selected span { background: #f6f6f6; border-color: #111; box-shadow: inset 0 0 0 1px #111; }
.pn-dining-option input:focus-visible + span { outline: 2px solid currentColor; outline-offset: 2px; }

