.ccp__dietary-requirements {
	margin: 22px 0 0;
	padding: 16px;
	border: 1px solid var(--ccp-line, #d8cbbb);
	background: rgba(255, 255, 255, .42);
}

.ccp__dietary-requirements > legend {
	padding: 0 8px;
	font: 700 13px/1.2 Inter, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ccp__dietary-requirements > p {
	margin: 0 0 12px;
	color: #746a61;
	font-size: 14px;
}

.ccp__dietary-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 14px;
	margin: 0 0 12px;
	color: #62584f;
	font: 600 12px/1.35 Inter, sans-serif;
}

.ccp__dietary-legend span,
.ccp__dietary-badges {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.ccp__dietary-legend b,
.ccp__dietary-badges b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 20px;
	padding: 0 5px;
	border: 1px solid #557052;
	border-radius: 999px;
	background: #eef4ea;
	color: #31502f;
	font: 800 10px/1 Inter, sans-serif;
	letter-spacing: .04em;
}

.ccp__options label .ccp__item-heading {
	display: flex;
	flex: 0 1 auto;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 7px;
	min-width: 0;
	line-height: 1.35;
}

.ccp__options label .ccp__item-heading > .ccp__dietary-badges {
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: row;
	align-items: center;
	gap: 4px;
	margin: 0;
	vertical-align: middle;
}

.ccp__dietary-change {
	margin: 0 0 20px;
	padding: 13px 15px;
	border-left: 4px solid #5d7a54;
	background: #edf3e9;
	color: #294326;
	font: 600 14px/1.5 Inter, sans-serif;
}

.ccp__dietary-change[hidden] { display: none; }

.ccp label.is-dietary-unavailable {
	opacity: .48;
	cursor: not-allowed;
}

.ccp label.is-dietary-unavailable input { cursor: not-allowed; }

.ccp__dietary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.ccp__dietary-choice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid #d8cbbb;
	background: #fffdf9;
	cursor: pointer;
}

.ccp__dietary-choice:has(input:checked) {
	border-color: #8b1717;
	background: #fff5f1;
}

.ccp__dietary-choice input {
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	accent-color: #8b1717;
	flex: 0 0 auto;
}

.ccp__dietary-choice span {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.ccp__dietary-choice strong {
	font: 700 14px/1.2 Inter, sans-serif;
}

.ccp__dietary-choice small {
	color: #746a61;
	font: 400 12px/1.35 Inter, sans-serif;
}

.ccp__entree-limit,
.ccp__field-alert {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-left: 3px solid #a34536;
	background: #fff0ed;
	color: #6f211b;
	font: 600 13px/1.5 Inter, sans-serif;
}

.ccp__field-alert {
	display: block;
}

.ccp__field-alert[hidden],
.ccp__entree-limit[hidden] {
	display: none;
}

@media (max-width: 760px) {
	.ccp__dietary-grid { grid-template-columns: 1fr; }
	.ccp__dietary-choice { padding: 10px 11px; }
	.ccp__options label .ccp__item-heading > .ccp__dietary-badges { display: inline-flex; margin: 0; }
	.ccp__dietary-change { margin-bottom: 16px; }
}
