.asovera-direct-order {
	align-items: center;
	background: var(--wp--preset--color--forest, #092622);
	border: 1px solid var(--wp--preset--color--forest, #092622);
	color: var(--wp--preset--color--paper, #fff);
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 500;
	gap: 0.55rem;
	justify-content: center;
	letter-spacing: 0.02em;
	min-height: 52px;
	padding: 0.85rem 1.5rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, color 180ms ease;
}

.asovera-direct-order:hover,
.asovera-direct-order:focus-visible {
	background: transparent;
	color: var(--wp--preset--color--forest, #092622);
}

.asovera-direct-order--single { margin-top: 0.75rem; width: 100%; }
.asovera-direct-order[aria-busy="true"] { cursor: wait; opacity: .7; }
.asovera-direct-order-status { display: block; font-size: 12px; line-height: 20px; margin-top: 8px; width: 100%; }
.asovera-direct-order-status.is-error { color: #b42318; }
.asovera-direct-order--archive { width: 100%; }
.asovera-direct-order__icon { font-size: 0.8rem; }

.variations_form.asovera-direct-needs-variation select:invalid,
.variations_form.asovera-direct-needs-variation select[value=""] {
	outline: 2px solid #b42318;
	outline-offset: 2px;
}

/* The WhatsApp-only flow deliberately uses the same WooCommerce checkout
 * shell as paid checkout. These rules cover the few native controls replaced
 * by the lightweight form. */
.asovera-whatsapp-checkout__name-fields {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 12px;
}

.asovera-whatsapp-checkout .wc-block-components-text-input { position: relative; }
.asovera-whatsapp-checkout .wc-block-components-checkout-step__content > .wc-block-components-text-input + .wc-block-components-text-input { margin-top: 12px; }
.asovera-whatsapp-checkout__name-fields + .wc-block-components-text-input { margin-top: 12px; }
.asovera-whatsapp-checkout__name-fields .wc-block-components-text-input { margin-top: 0 !important; }

/* Keep empty fields easy to scan, then raise the label only when the field is
 * active or has a value. The blank placeholder makes :placeholder-shown work
 * without exposing placeholder copy alongside the label. */
body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input label {
	color: #717978;
	font: 400 16px/20px "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	left: 15px;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: color 160ms ease, font-size 160ms ease, line-height 160ms ease, top 160ms ease, transform 160ms ease;
}

body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input textarea::placeholder {
	color: transparent;
}

body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input:focus-within label,
body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input:has(input:not(:placeholder-shown)) label,
body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input:has(textarea:not(:placeholder-shown)) label {
	font: 500 9px/11px "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	top: 5px;
	transform: none;
}

/* Keep the label and entered value visually centred as one group, with a
 * small gap between them. */
body.woocommerce-checkout .asovera-whatsapp-checkout .wc-block-components-text-input input {
	padding: 20px 15px 8px;
}

.asovera-whatsapp-checkout__address textarea.wc-block-components-textarea {
	box-sizing: border-box;
	font-size: 16px;
	line-height: 25px;
	min-height: 104px;
	padding: 20px 15px 8px;
	resize: vertical;
	width: 100%;
}

.asovera-whatsapp-checkout__marketing { margin-bottom: 0 !important; }
.asovera-whatsapp-checkout__marketing .wc-block-components-checkbox > label { align-items: center; column-gap: 8px; }
.asovera-whatsapp-checkout__marketing .wc-block-components-checkbox__input { flex: 0 0 auto; margin: 0 !important; }
.asovera-whatsapp-checkout__marketing .wc-block-components-checkbox__label { margin: 0; }
.asovera-whatsapp-checkout__pending {
	background: var(--asovera-soft, #f6f6f6);
	border: 1px solid var(--asovera-border, #d8dcdb);
	border-radius: 8px;
	color: var(--asovera-ink, #12201e);
	margin: 20px 0 0;
	padding: 16px;
}
.asovera-whatsapp-checkout__pending p { margin: 0; }
.asovera-whatsapp-checkout__pending p + p { margin-top: 6px; }
.asovera-whatsapp-checkout__pending-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px; margin-top: 14px; }
.asovera-whatsapp-checkout__pending-actions a,
.asovera-whatsapp-checkout__pending-actions button {
	background: transparent;
	border: 0;
	color: var(--asovera-action, #092622);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.asovera-whatsapp-checkout__honeypot {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.asovera-whatsapp-checkout__status {
	color: var(--asovera-muted, #52605f);
	font-size: .8125rem;
	margin: 10px 0 0;
	min-height: 1.3em;
}

.asovera-whatsapp-checkout__status.is-error { color: #b42318; }
.asovera-whatsapp-checkout .wc-block-components-checkout-place-order-button:disabled { cursor: wait; opacity: .7; }
.asovera-whatsapp-checkout .wc-block-components-checkout-place-order-button,
.asovera-checkout-place-order-proxy--whatsapp {
	align-items: center;
	column-gap: 8px;
	display: inline-flex;
	justify-content: center;
}
.asovera-whatsapp-checkout__button-icon {
	display: block;
	flex: 0 0 18px;
	filter: brightness(0) invert(1);
	height: 18px;
	width: 18px;
}
.asovera-whatsapp-checkout__product-image-link { display: block; height: 100%; }
.asovera-whatsapp-checkout .wc-block-components-product-name[href] {
	color: inherit;
	text-decoration: none;
}
.asovera-whatsapp-checkout .wc-block-components-product-name[href]:hover,
.asovera-whatsapp-checkout .wc-block-components-product-name[href]:focus-visible { text-decoration: underline; }

/* Keep the quantity within the thumbnail's top-right corner rather than
 * letting it escape into the summary header. */
.asovera-whatsapp-checkout .wc-block-components-order-summary-item__quantity { top: 8px !important; }

.asovera-whatsapp-checkout--empty { display: grid; min-height: 50vh; place-items: center; text-align: center; }
.asovera-whatsapp-checkout--empty > div { max-width: 380px; padding: 96px 24px; }
.asovera-whatsapp-checkout--empty h1 { color: #092622; margin: 0 0 10px; }
.asovera-whatsapp-checkout--empty p { color: #52605f; margin: 0 0 24px; }
.asovera-whatsapp-checkout__shop { color: #092622; font-weight: 600; }

@media (max-width: 599px) {
	.asovera-whatsapp-checkout__name-fields { grid-template-columns: 1fr; }
}
