/* Neaktuální položka zůstává čitelná pod překryvem až do přepočtu celého košíku. */
[data-printbox-sync-item]
{
	position: relative;
	isolation: isolate;
	min-height: 10rem;
}

.printbox-sync-table-row,
tr[data-printbox-sync-item]
{
	height: 10rem;
}

.printbox-sync-overlay
{
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgb(224 224 224 / 88%);
	color: #111;
	text-align: center;
	cursor: wait;
}

.printbox-sync-overlay__status
{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
	max-width: 100%;
	font: 700 1rem/1.5 system-ui, sans-serif;
}

.printbox-sync-overlay__message
{
	overflow-wrap: anywhere;
}

.printbox-sync-overlay__spinner
{
	width: 2rem;
	height: 2rem;
	border: 3px solid rgb(0 0 0 / 20%);
	border-block-start-color: #111;
	border-radius: 50%;
	animation: printbox-sync-spin .85s linear infinite;
}

.printbox-sync-overlay__actions
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
}

.printbox-sync-overlay__retry,
.printbox-sync-overlay__repair
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #111;
	border-radius: .25rem;
	min-height: 44px;
	padding: .5rem 1rem;
	background: #fff;
	color: #111;
	font: inherit;
	cursor: pointer;
	text-decoration: none;
}

.printbox-sync-overlay__retry[hidden],
.printbox-sync-overlay__repair[hidden]
{
	display: none;
}

/* Souhrn má vlastní bílé odkazy, opravná akce potřebuje tmavý text na bílém pozadí. */
#order-process #order-layout #order-summary a.printbox-sync-overlay__repair
{
	color: #111;
}

.printbox-sync-overlay__retry:focus-visible,
.printbox-sync-overlay__repair:focus-visible
{
	outline: 3px solid #111;
	outline-offset: 3px;
}

.printbox-sync-overlay--error
{
	cursor: default;
}

.printbox-sync-item--error
{
	min-height: 15rem;
}

.printbox-sync-item--error > .printbox-sync-table-row
{
	height: 15rem;
}

.printbox-sync-overlay--error .printbox-sync-overlay__spinner
{
	display: none;
}

[data-printbox-sync-proceed][aria-disabled="true"]
{
	opacity: .65;
	cursor: wait;
}

.printbox-sync-checkout-warning
{
	padding: .75rem;
	border-radius: .25rem;
	background: #eee;
	color: #111;
	font-size: .875rem;
	line-height: 1.5;
}

@keyframes printbox-sync-spin
{
	to
	{
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce)
{
	.printbox-sync-overlay__spinner
	{
		animation: none;
	}
}
