.bl-extras {
	display: grid;
	gap: var(--sp-30);
}

.bl-extras__list {
	display: grid;
	gap: var(--sp-15);
	list-style: none;
	padding: 0;
	margin: 0;
}

.bl-extras__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-20);
	padding: var(--sp-20);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--bl-radius-panel);
}

.bl-extras__body {
	flex: 1;
	min-width: 0;
}

.bl-extras__name {
	margin: 0;
	font-size: var(--text-md-size);
	line-height: var(--text-md-line);
	font-weight: 600;
	color: var(--color-text);
}

.bl-extras__description {
	margin: var(--sp-5) 0 0;
	font-size: var(--text-sm-size);
	line-height: var(--text-sm-line);
	color: var(--color-text-secondary);
}

.bl-extras__price {
	margin: var(--sp-5) 0 0;
	font-size: var(--text-sm-size);
	color: var(--color-text-secondary);
}

.bl-extras__stepper {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-10);
	min-height: var(--touch-target);
}

.bl-extras__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--touch-target);
	height: var(--touch-target);
	font-size: var(--text-lg-size);
	font-weight: 600;
	background: var(--paper-50);
	color: var(--color-text);
	border: 1px solid var(--color-border);
	border-radius: var(--bl-radius-panel);
	cursor: pointer;
	transition: border-color var(--dur-base) var(--ease-out);
}

.bl-extras__step:focus-visible {
	outline: var(--focus-ring);
	outline-offset: var(--sp-5);
}

.bl-extras__step:hover:not(:disabled) {
	border-color: var(--accent-300);
}

.bl-extras__step:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.bl-extras__qty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--sp-30);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.bl-extras__actions {
	display: flex;
	justify-content: flex-end;
	gap: var(--sp-15);
	flex-wrap: wrap;
}