/**
 * Minimum Purchase Amount – Statusbox im Warenkorb, im Mini-Warenkorb und an der Kasse.
 * Passt sich über CSS-Variablen an; Schrift und Textfarbe kommen vom Theme.
 */

.minpa-status {
	--minpa-color: #b32d2e;
	--minpa-bg: #fdf4f4;
	--minpa-border: rgba(179, 45, 46, 0.22);
	--minpa-track: rgba(179, 45, 46, 0.14);
	--minpa-indent: 28px;

	box-sizing: border-box;
	margin: 0 0 1.25em;
	padding: 14px 16px;
	border: 1px solid var(--minpa-border);
	border-radius: 12px;
	background: var(--minpa-bg);
	font-size: 0.9375em;
	line-height: 1.5;
	text-align: left;
}

.minpa-status *,
.minpa-status *::before,
.minpa-status *::after {
	box-sizing: border-box;
}

.minpa-status--pending {
	--minpa-color: #1d5aa6;
	--minpa-bg: #f3f7fd;
	--minpa-border: rgba(29, 90, 166, 0.2);
	--minpa-track: rgba(29, 90, 166, 0.14);
}

.minpa-status--met {
	--minpa-color: #11743b;
	--minpa-bg: #f1f9f4;
	--minpa-border: rgba(17, 116, 59, 0.2);
	--minpa-track: rgba(17, 116, 59, 0.14);
}

.minpa-status__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 4px;
}

.minpa-status__icon {
	display: inline-flex;
	flex: none;
	color: var(--minpa-color);
}

.minpa-status__icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.minpa-status__title {
	font-weight: 600;
	color: var(--minpa-color);
}

.minpa-status .minpa-status__text,
.minpa-status .minpa-status__meta,
.minpa-status .minpa-status__hint {
	margin: 0 0 0 var(--minpa-indent);
	padding: 0;
}

.minpa-status__text .woocommerce-Price-amount {
	font-weight: 600;
}

.minpa-status__progress {
	position: relative;
	height: 6px;
	margin: 12px 0 6px var(--minpa-indent);
	overflow: hidden;
	border-radius: 999px;
	background: var(--minpa-track);
}

.minpa-status__bar {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--minpa-color);
	transition: width 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.minpa-status .minpa-status__meta {
	font-size: 0.875em;
	font-variant-numeric: tabular-nums;
	opacity: 0.75;
}

.minpa-status .minpa-status__hint {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed var(--minpa-border);
	font-size: 0.875em;
}

/* Gesperrter Kassen-Button: klassischer Warenkorb und Mini-Warenkorb (ersetzter Button) sowie
   Warenkorb- und Mini-Warenkorb-Block (Klasse am <body>, siehe blocks.js bzw. mini-cart.js). */
.wc-proceed-to-checkout .minpa-checkout-button--disabled,
.wc-proceed-to-checkout .minpa-checkout-button--disabled:hover,
.wc-proceed-to-checkout .minpa-checkout-button--disabled:focus,
.woocommerce-mini-cart__buttons .minpa-checkout-button--disabled,
.woocommerce-mini-cart__buttons .minpa-checkout-button--disabled:hover,
.woocommerce-mini-cart__buttons .minpa-checkout-button--disabled:focus,
.minpa-cart-locked .wc-block-cart__submit-button,
.minpa-cart-locked .wc-block-cart__submit-button:hover,
.minpa-cart-locked .wc-block-cart__submit-button:focus,
.minpa-mini-cart-locked .wc-block-mini-cart__footer-checkout,
.minpa-mini-cart-locked .wc-block-mini-cart__footer-checkout:hover,
.minpa-mini-cart-locked .wc-block-mini-cart__footer-checkout:focus {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Klassische Kasse: Box direkt über dem Kaufen-Button. */
.woocommerce-checkout .place-order .minpa-status {
	margin-bottom: 1em;
}

/* Mini-Warenkorb (klassisch und Block): kompakter, da die Seitenleiste schmal ist. */
.minpa-status--mini {
	--minpa-indent: 0px;

	margin: 0 0 1em;
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 0.875em;
	white-space: normal;
}

.minpa-status--mini .minpa-status__head {
	margin-bottom: 2px;
}

.minpa-status--mini .minpa-status__progress {
	margin-top: 8px;
}

.minpa-status--mini .minpa-status__hint {
	margin-top: 8px;
	padding-top: 8px;
}

.wc-block-mini-cart__footer .minpa-status--mini {
	margin: 0 0 16px;
}

.minpa-mini-cart-slot[hidden],
.minpa-status [hidden] {
	display: none !important;
}

/* Block-Warenkorb und Block-Kasse (Bestellübersicht). */
.minpa-status--block {
	margin: 16px 0 0;
}

/* Die Bestellübersicht der Block-Kasse ist ein umrandetes Panel mit Innenabstand der Zeilen. */
.wp-block-woocommerce-checkout-order-summary-block .minpa-status--block {
	margin: 16px;
}

@media (max-width: 480px) {
	.minpa-status {
		--minpa-indent: 0px;
		padding: 12px 14px;
	}

	.minpa-status__head {
		flex-wrap: wrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.minpa-status__bar {
		transition: none;
	}
}
