/* Mechanical styles required by interactive features, without replacing theme colors or controls. */
.asawoo-runtime *,
.asawoo-runtime *::before,
.asawoo-runtime *::after {
	box-sizing: border-box;
}

.asawoo-runtime [hidden] {
	display: none !important;
}

.asawoo-mini-cart-toggle {
	position: fixed;
	z-index: 9996;
	inset-inline-end: 22px;
	inset-block-end: 22px;
	inline-size: 56px;
	block-size: 56px;
	border-radius: 50%;
	cursor: pointer;
}

.asawoo-mini-cart {
	position: fixed;
	z-index: 9997;
	inset: 0;
	display: none;
}

.asawoo-mini-cart.is-open {
	display: block;
}

.asawoo-mini-cart__backdrop {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	border: 0;
	background: rgb(0 0 0 / 55%);
}

.asawoo-mini-cart aside {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	overflow: auto;
	inline-size: min(420px, 92vw);
	padding: 22px;
	background: Canvas;
	color: CanvasText;
}

.asawoo-mini-cart aside > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.asawoo-sticky-cart {
	position: fixed;
	z-index: 9995;
	inset-inline: 16px;
	inset-block-end: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	max-inline-size: 760px;
	margin-inline: auto;
	padding: 12px 16px;
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	border-radius: 10px;
	background: Canvas;
	color: CanvasText;
	box-shadow: 0 10px 30px rgb(0 0 0 / 18%);
}

@media (max-width: 520px) {
	.asawoo-sticky-cart span {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asawoo-runtime *,
	.asawoo-runtime *::before,
	.asawoo-runtime *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
