.wcmq-wrapper {
	margin: 0 0 1rem;
	font: inherit;
}

.wcmq-count {
	margin-bottom: .35rem;
	font-weight: 600;
}

.wcmq-progress {
	height: .5rem;
	overflow: hidden;
	background: color-mix(in srgb, currentColor 12%, transparent);
	border-radius: 999px;
}

.wcmq-progress span {
	display: block;
	height: 100%;
	width: 0;
	background: var(--wcmq-color, currentColor);
	border-radius: inherit;
	transition: width .2s ease;
}

.wcmq-message {
	margin-top: .4rem;
}

.wcmq-success .wcmq-message {
	color: var(--wcmq-color, currentColor);
}

@media (prefers-reduced-motion: reduce) {
	.wcmq-progress span { transition: none; }
}

/* Carrinho e checkout: aviso exclusivo do Atacado Rypeweb. */
.woocommerce-error:has(.wcmq-checkout-notice),
.wc-block-components-notice-banner.is-error:has(.wcmq-checkout-notice) {
	position: relative;
	box-sizing: border-box;
	margin: 0 0 1rem;
	padding: 0;
	overflow: hidden;
	color: #342019;
	background: linear-gradient(135deg, #fffaf7 0%, #fff 72%);
	border: 1px solid #f1d5ca;
	border-left: 4px solid #c2412d;
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba(79, 38, 25, .08);
	list-style: none;
}

.woocommerce-error:has(.wcmq-checkout-notice)::before,
.wc-block-components-notice-banner.is-error:has(.wcmq-checkout-notice)::before {
	display: none;
}

.woocommerce-error:has(.wcmq-checkout-notice) li {
	margin: 0;
	padding: 0;
}

.wcmq-checkout-notice {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	width: 100%;
	box-sizing: border-box;
	padding: 18px 20px;
	font: inherit;
	line-height: 1.45;
}

.wcmq-checkout-notice__icon {
	position: relative;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	margin-top: 1px;
	background: #c2412d;
	border-radius: 50%;
	box-shadow: 0 5px 14px rgba(194, 65, 45, .2);
}

.wcmq-checkout-notice__icon::before,
.wcmq-checkout-notice__icon::after {
	position: absolute;
	left: 50%;
	content: '';
	transform: translateX(-50%);
}

.wcmq-checkout-notice__icon::before {
	top: 9px;
	width: 3px;
	height: 12px;
	background: #fff;
	border-radius: 3px;
}

.wcmq-checkout-notice__icon::after {
	top: 25px;
	width: 4px;
	height: 4px;
	background: #fff;
	border-radius: 50%;
}

.wcmq-checkout-notice__content {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.wcmq-checkout-notice__title {
	display: inline-block;
	color: #281611;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.wcmq-checkout-notice__title:hover,
.wcmq-checkout-notice__title:focus-visible {
	color: #a93422;
	text-decoration: underline;
}

.wcmq-checkout-notice__message {
	color: #593c33;
	font-size: .95rem;
}

.wcmq-checkout-notice__meta {
	margin-top: 3px;
	color: #84665d;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .01em;
}

@media (max-width: 600px) {
	.woocommerce-error:has(.wcmq-checkout-notice),
	.wc-block-components-notice-banner.is-error:has(.wcmq-checkout-notice) {
		border-radius: 11px;
	}

	.wcmq-checkout-notice {
		gap: 11px;
		padding: 14px;
	}

	.wcmq-checkout-notice__icon {
		flex-basis: 32px;
		width: 32px;
		height: 32px;
	}

	.wcmq-checkout-notice__icon::before {
		top: 7px;
		height: 10px;
	}

	.wcmq-checkout-notice__icon::after {
		top: 21px;
	}

	.wcmq-checkout-notice__title { font-size: .95rem; }
	.wcmq-checkout-notice__message { font-size: .88rem; }
	.wcmq-checkout-notice__meta { font-size: .73rem; }
}

/* Produto inválido destacado dentro do carrinho. */
.wcmq-invalid-cart-item {
	scroll-margin-top: 24px;
}

tr.wcmq-invalid-cart-item > td,
.wc-block-cart-items__row.wcmq-invalid-cart-item {
	background: #fff8f5 !important;
}

tr.wcmq-invalid-cart-item > td:first-child,
.wc-block-cart-items__row.wcmq-invalid-cart-item {
	border-left: 4px solid #c2412d !important;
}

.wcmq-invalid-cart-item .qty,
.wcmq-invalid-cart-item input[type='number'] {
	border-color: #c2412d !important;
	box-shadow: 0 0 0 2px rgba(194, 65, 45, .12);
}

.wcmq-cart-item-status {
	display: grid;
	max-width: 260px;
	margin-top: 8px;
	gap: 5px;
	font-style: normal;
}

.wcmq-cart-item-status__badge {
	justify-self: start;
	padding: 4px 8px;
	color: #8f2d1e;
	background: #fde8e2;
	border: 1px solid #f4c7bb;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 750;
	line-height: 1.2;
}

.wcmq-cart-item-status__progress {
	display: block;
	width: 100%;
	height: 5px;
	overflow: hidden;
	background: #efdcd6;
	border-radius: 999px;
}

.wcmq-cart-item-status__progress i {
	display: block;
	height: 100%;
	background: #c2412d;
	border-radius: inherit;
}

.wcmq-cart-item-status small {
	color: #78584f;
	font-size: .72rem;
	font-weight: 600;
}

@media (max-width: 600px) {
	tr.wcmq-invalid-cart-item,
	.wc-block-cart-items__row.wcmq-invalid-cart-item {
		display: block;
		margin: 0 0 14px;
		overflow: hidden;
		background: #fff8f5 !important;
		border: 1px solid #f0d1c8 !important;
		border-left: 4px solid #c2412d !important;
		border-radius: 12px;
		box-shadow: 0 6px 18px rgba(79, 38, 25, .07);
	}

	tr.wcmq-invalid-cart-item > td {
		box-sizing: border-box;
		width: 100% !important;
		background: transparent !important;
		border-left: 0 !important;
	}

	/* No mobile, somente o contorno externo do card deve ficar visível. */
	tr.wcmq-invalid-cart-item > td:first-child {
		border-left: 0 !important;
	}

	.wcmq-cart-item-status {
		max-width: none;
		margin-top: 10px;
	}

	.wcmq-invalid-cart-item .qty,
	.wcmq-invalid-cart-item input[type='number'] {
		min-width: 64px;
		min-height: 44px;
		font-size: 16px;
	}
}

.wcmq-default-checkout-message {
	display: none !important;
}

.wcmq-checkout-summary {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 24px;
	padding: 22px;
	gap: 16px;
	align-items: flex-start;
	color: #2d211e;
	background: linear-gradient(135deg, #fff8f5 0%, #fff 78%);
	border: 1px solid #efd4ca;
	border-left: 5px solid #b93b27;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(79, 38, 25, .09);
}

.wcmq-checkout-summary[hidden] {
	display: none !important;
}

.wcmq-checkout-summary__icon {
	position: relative;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	background: #b93b27;
	border-radius: 50%;
	box-shadow: 0 6px 16px rgba(185, 59, 39, .22);
}

.wcmq-checkout-summary__icon::before,
.wcmq-checkout-summary__icon::after {
	position: absolute;
	left: 50%;
	content: '';
	background: #fff;
	transform: translateX(-50%);
}

.wcmq-checkout-summary__icon::before {
	top: 10px;
	width: 3px;
	height: 13px;
	border-radius: 3px;
}

.wcmq-checkout-summary__icon::after {
	top: 28px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
}

.wcmq-checkout-summary__content {
	min-width: 0;
}

.wcmq-checkout-summary__content strong {
	display: block;
	margin: 0 0 5px;
	color: #241714;
	font-size: 1.08rem;
	line-height: 1.3;
}

.wcmq-checkout-summary__content p {
	max-width: 760px;
	margin: 0 0 14px;
	color: #654940;
	font-size: .95rem;
	line-height: 1.55;
}

.wcmq-checkout-summary__button {
	display: inline-flex;
	min-height: 42px;
	box-sizing: border-box;
	padding: 10px 17px;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	background: #171717;
	border: 0;
	border-radius: 8px;
	font-size: .88rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform .15s ease, background-color .15s ease;
}

.wcmq-checkout-summary__button:hover,
.wcmq-checkout-summary__button:focus-visible {
	color: #fff !important;
	background: #333;
	transform: translateY(-1px);
}

@media (max-width: 600px) {
	.wcmq-checkout-summary {
		margin-bottom: 18px;
		padding: 16px;
		gap: 12px;
		border-radius: 11px;
	}

	.wcmq-checkout-summary__icon {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
	}

	.wcmq-checkout-summary__icon::before { top: 8px; height: 11px; }
	.wcmq-checkout-summary__icon::after { top: 23px; }
	.wcmq-checkout-summary__content strong { font-size: .98rem; }
	.wcmq-checkout-summary__content p { font-size: .86rem; }
	.wcmq-checkout-summary__button { width: 100%; }
}
