/**
 * Sheet-size errors: machine cutting area (step 3/5) and raw material sheet (step 4/5).
 * Mirrors the built bundle's _generalError_ look; standalone so no rebuild is needed.
 */
.rz-sheet-error {
	margin: 0 0 var(--rz-space-4, 16px);
	padding: var(--rz-space-3, 12px) var(--rz-space-4, 16px);
	background: var(--rz-error-soft, #fdecec);
	color: var(--rz-error, #b42318);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.45;
	border: 1px solid var(--rz-error, #b42318);
	border-radius: var(--rz-radius-sm, 6px);
}

/* Stock-size warning (step 4/5): part exceeds stocked sheet → on-order lead. Non-blocking, amber. */
.rz-stock-warn {
	margin: 0 0 var(--rz-space-4, 16px);
	padding: var(--rz-space-3, 12px) var(--rz-space-4, 16px);
	background: var(--rz-warn-soft, #fff4e5);
	color: var(--rz-warn, #8a4b00);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.45;
	border: 1px solid var(--rz-warn-border, #e6a23c);
	border-radius: var(--rz-radius-sm, 6px);
}

.rz-stock-warn-review {
	margin-top: var(--rz-space-3, 12px);
}

/* Step 5: stacked errors below the preview, above quantity breaks. */
.rz-sheet-errors {
	display: flex;
	flex-direction: column;
	gap: var(--rz-space-3, 12px);
	margin: 0 0 var(--rz-space-4, 16px);
}

.rz-sheet-errors .rz-sheet-error {
	margin: 0;
}

.rz-sheet-contact {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 20px;
	font-size: 14px;
	font-weight: 700;
	color: #fff !important;
	background: var(--rz-accent, #4a7bb5);
	border: 0;
	border-radius: var(--rz-radius-sm, 6px);
	text-decoration: none !important;
	transition: background var(--rz-transition, 0.15s ease);
	box-sizing: border-box;
}

.rz-sheet-contact:hover,
.rz-sheet-contact:focus-visible {
	background: var(--rz-accent-hover, var(--rz-accent, #3b6a9f));
	filter: brightness(0.92);
	color: #fff !important;
}

@media (max-width: 600px) {
	.rz-sheet-contact {
		align-self: stretch;
	}
}
