/* stylelint-disable no-descending-specificity, selector-id-pattern */
:root {
	--neuro-ai-flow-ink: #1a1a1a;
	--neuro-ai-flow-ink-2: #4a4a4a;
	--neuro-ai-flow-ink-3: #888;
	--neuro-ai-flow-bg: #fff;
	--neuro-ai-flow-bg-2: #f7f6f4;
	--neuro-ai-flow-bg-3: #f0ede8;
	--neuro-ai-flow-accent: #2563d4;
	--neuro-ai-flow-accent-dark: #1a4db8;
	--neuro-ai-flow-green: #0f7c4a;
	--neuro-ai-flow-green-bg: #edf7f2;
	--neuro-ai-flow-red: #c0392b;
	--neuro-ai-flow-border: #e5e0d8;
	--neuro-ai-flow-border-2: #d0c9bf;
	--neuro-ai-flow-afterpay: #b2fce4;
	--neuro-ai-flow-afterpay-text: #0d3d2e;
	--neuro-ai-flow-radius: 10px;
	--neuro-ai-flow-radius-lg: 16px;
	--neuro-ai-flow-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.neuro-ai-flow-page {
	background: var(--neuro-ai-flow-bg);
	color: var(--neuro-ai-flow-ink);
	font-size: 15px;
	line-height: 1.6;
}

.neuro-ai-flow-shell {
	width: min(100%, 1120px);
	margin-inline: auto;
	padding: 48px 24px 88px;
	box-sizing: border-box;
}

.neuro-ai-flow-head {
	max-width: 680px;
	margin: 0 auto 28px;
	text-align: center;
}

.neuro-ai-flow-kicker {
	margin: 0 0 8px;
	color: var(--neuro-ai-flow-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.neuro-ai-flow-title {
	margin: 0;
	color: var(--neuro-ai-flow-ink);
	font-family:
		var(--wp--preset--font-family--sora),
		Sora,
		Arial,
		Helvetica,
		sans-serif;
	font-size: clamp(34px, 5vw, 56px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.neuro-ai-flow-subtitle {
	max-width: 560px;
	margin: 12px auto 0;
	color: var(--neuro-ai-flow-ink-2);
	font-size: 15px;
	line-height: 1.7;
}

.neuro-ai-flow-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 auto 34px;
}

.neuro-ai-flow-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 13px;
	background: var(--neuro-ai-flow-bg-3);
	border-radius: 999px;
	color: var(--neuro-ai-flow-ink-3);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.neuro-ai-flow-step.is-active {
	background: var(--neuro-ai-flow-ink);
	color: #fff;
}

.neuro-ai-flow-step.is-done {
	background: var(--neuro-ai-flow-green);
	color: #fff;
}

.neuro-ai-flow-step-line {
	width: min(8vw, 72px);
	height: 1px;
	background: var(--neuro-ai-flow-border);
}

.neuro-ai-flow-step-line.is-done {
	background: var(--neuro-ai-flow-green);
}

/* Cart block layout */
.neuro-ai-flow-page .wc-block-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
}

.neuro-ai-flow-page .wc-block-cart__main {
	min-width: 0;
	padding: 0;
}

.neuro-ai-flow-page .wc-block-cart__sidebar {
	position: sticky;
	top: 88px;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 24px;
	box-sizing: border-box;
	background: var(--neuro-ai-flow-bg-2);
	border: 0;
	border-radius: var(--neuro-ai-flow-radius-lg);
	box-shadow: none;
}

.neuro-ai-flow-page .wc-block-cart-items {
	border: 0;
}

.neuro-ai-flow-page .wc-block-cart-items__header {
	display: none;
}

.neuro-ai-flow-page .wc-block-cart-items__row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto;
	gap: 16px;
	padding: 20px 0;
	border-top: 1px solid var(--neuro-ai-flow-border);
	border-bottom: 0;
}

.neuro-ai-flow-page .wc-block-cart-items__row:last-child {
	border-bottom: 1px solid var(--neuro-ai-flow-border);
}

.neuro-ai-flow-page .wc-block-cart-item__image {
	width: 92px;
}

.neuro-ai-flow-page .wc-block-cart-item__image img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	background: var(--neuro-ai-flow-bg-2);
	border-radius: 8px;
}

.neuro-ai-flow-page .wc-block-cart-item__wrap {
	min-width: 0;
}

.neuro-ai-flow-page .wc-block-components-product-name {
	color: var(--neuro-ai-flow-ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.neuro-ai-flow-page .wc-block-components-product-name:hover {
	color: var(--neuro-ai-flow-accent);
}

.neuro-ai-flow-page .wc-block-components-product-metadata,
.neuro-ai-flow-page .wc-block-components-product-metadata__description,
.neuro-ai-flow-page .wc-block-components-product-details {
	color: var(--neuro-ai-flow-ink-3);
	font-size: 12px;
	line-height: 1.45;
}

.neuro-ai-flow-page .wc-block-components-quantity-selector,
.neuro-ai-flow-page .neuro-ai-cart-quantity-selector,
.neuro-ai-flow-page .neuro-ai-custom-qty-wrapper {
	display: flex !important;
	align-items: center !important;
	width: fit-content !important;
	min-width: 108px !important;
	height: 34px !important;
	margin-top: 10px !important;
	border: 1px solid var(--neuro-ai-flow-border-2) !important;
	border-radius: 7px !important;
	overflow: hidden !important;
}

.neuro-ai-flow-page .wc-block-components-quantity-selector__button,
.neuro-ai-flow-page .neuro-ai-cart-quantity-selector .quantity-button,
.neuro-ai-flow-page .neuro-ai-custom-qty-wrapper .quantity-button {
	width: 32px !important;
	height: 34px !important;
	background: var(--neuro-ai-flow-bg-2) !important;
	color: var(--neuro-ai-flow-ink) !important;
	font-size: 16px !important;
	border: 0 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.neuro-ai-flow-page .wc-block-components-quantity-selector__input,
.neuro-ai-flow-page .neuro-ai-cart-quantity-input,
.neuro-ai-flow-page .neuro-ai-custom-qty-input {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 34px !important;
	line-height: 34px !important;
	color: var(--neuro-ai-flow-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	outline: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.neuro-ai-flow-page .wc-block-cart-item__prices {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 6px !important;
	text-align: right !important;
}

.neuro-ai-flow-page .wc-block-cart-item__price {
	color: var(--neuro-ai-flow-ink-3) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	display: block !important;
}

.neuro-ai-flow-page .wc-block-cart-item__subtotal {
	color: var(--neuro-ai-flow-ink) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	display: block !important;
}

.neuro-ai-flow-page .wc-block-cart-item__total {
	color: var(--neuro-ai-flow-ink);
	font-size: 15px;
	font-weight: 700;
}

.neuro-ai-flow-page .wc-block-cart-item__remove-link {
	color: var(--neuro-ai-flow-ink-3);
	font-size: 22px !important;
	font-weight: 400;
	line-height: 1 !important;
	text-decoration: none;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
}

.neuro-ai-flow-page .wc-block-cart-item__remove-link:hover {
	color: var(--neuro-ai-flow-red) !important;
}

.neuro-ai-flow-page .wc-block-cart-item__remove-link:hover {
	color: var(--neuro-ai-flow-red);
}

/* Summary */
.neuro-ai-flow-page .wc-block-cart__totals-title,
.neuro-ai-flow-page .wp-block-woocommerce-cart-order-summary-heading-block,
.neuro-ai-flow-page .wc-block-components-title {
	margin: 0 0 18px;
	color: var(--neuro-ai-flow-ink);
	font-size: 16px;
	font-weight: 800;
}

.neuro-ai-flow-page .wc-block-components-totals-wrapper {
	padding: 0;
	border-top: 0;
}

.neuro-ai-flow-page .wc-block-components-totals-item {
	padding: 8px 0;
	color: var(--neuro-ai-flow-ink-2);
	font-size: 14px;
}

.neuro-ai-flow-page .wc-block-components-totals-item__label {
	color: var(--neuro-ai-flow-ink-2);
}

.neuro-ai-flow-page .wc-block-components-totals-item__value {
	color: var(--neuro-ai-flow-ink);
	font-weight: 700;
}

.neuro-ai-flow-page .wc-block-components-totals-footer-item {
	margin-top: 10px;
	padding-top: 16px;
	border-top: 1px solid var(--neuro-ai-flow-border-2);
}

.neuro-ai-flow-page
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label,
.neuro-ai-flow-page
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {
	font-size: 17px;
	font-weight: 800;
}

/* Coupon */
.neuro-ai-flow-page .wc-block-components-totals-coupon {
	margin-top: 16px;
}

.neuro-ai-flow-page .wc-block-components-totals-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.neuro-ai-flow-page .wc-block-components-text-input input,
.neuro-ai-flow-page
.wc-block-components-form
.wc-block-components-text-input
input,
.neuro-ai-flow-page
.wc-block-components-combobox
.wc-block-components-combobox-control
input.components-combobox-control__input {
	min-height: 44px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid var(--neuro-ai-flow-border-2);
	border-radius: 8px;
	color: var(--neuro-ai-flow-ink);
	font-size: 14px;
}

.neuro-ai-flow-page .wc-block-components-text-input input:focus,
.neuro-ai-flow-page
.wc-block-components-form
.wc-block-components-text-input
input:focus {
	border-color: var(--neuro-ai-flow-ink);
	box-shadow: none;
	outline: none;
}

.neuro-ai-flow-page .wc-block-components-button,
.neuro-ai-flow-page .wc-block-cart__submit-button,
.neuro-ai-flow-page .wc-block-components-checkout-place-order-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	background: var(--neuro-ai-flow-ink);
	border: 0;
	border-radius: var(--neuro-ai-flow-radius);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	transition:
		background 0.15s ease,
		transform 0.1s ease;
}

.neuro-ai-flow-page .checkout-cta {
	width: 100% !important;
}

.neuro-ai-flow-page .wc-block-cart__sidebar form {
	width: 100% !important;
	display: block !important;
}

.neuro-ai-flow-page .wc-block-cart__sidebar .neuro-ai-cart-express-checkout {
	margin-top: 12px;
}

.neuro-ai-flow-page .wc-block-cart__sidebar .wc-block-components-order-summary,
.neuro-ai-flow-page .wc-block-cart__sidebar .neuro-ai-cart-express-checkout,
.neuro-ai-flow-page .wc-block-cart__sidebar #wc-stripe-express-checkout-element,
.neuro-ai-flow-page .wc-block-cart__sidebar #wc-stripe-payment-request-button {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Match Afterpay's current black-on-mint express checkout button. */
.neuro-ai-flow-page .btn-afterpay_express,
.neuro-ai-flow-page #afterpay_express_button {
	border: 0 !important;
	background-color: #00d64f !important;
	background-image: url("https://static.sandbox.afterpay.com/button/buy-now-with-cashappafterpay/black-on-mint.svg") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 100% 100% !important;
	box-shadow: none !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer !important;
}

.neuro-ai-flow-page .btn-afterpay_express img,
.neuro-ai-flow-page #afterpay_express_button img {
	display: none !important;
}

.neuro-ai-flow-page .btn-afterpay_express:disabled,
.neuro-ai-flow-page #afterpay_express_button:disabled {
	cursor: wait !important;
	opacity: 0.65 !important;
}

.neuro-ai-flow-page .wc-block-components-button:hover,
.neuro-ai-flow-page .wc-block-cart__submit-button:hover,
.neuro-ai-flow-page .wc-block-components-checkout-place-order-button:hover {
	background: #333;
	color: #fff;
}

.neuro-ai-flow-page .wc-block-components-button:active,
.neuro-ai-flow-page .wc-block-cart__submit-button:active,
.neuro-ai-flow-page .wc-block-components-checkout-place-order-button:active {
	transform: scale(0.99);
}

.neuro-ai-flow-page .wc-block-cart__submit-button::before,
.neuro-ai-flow-page .wc-block-components-checkout-place-order-button::before {
	content: "🔒";
	margin-right: 8px;
}

/* Trust */
.neuro-ai-flow-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 28px;
}

.neuro-ai-flow-trust-item {
	display: grid;
	gap: 4px;
	padding: 14px 12px;
	background: var(--neuro-ai-flow-bg-2);
	border-radius: 10px;
	text-align: center;
}

.neuro-ai-flow-trust-item span {
	font-size: 18px;
}

.neuro-ai-flow-trust-item strong {
	color: var(--neuro-ai-flow-ink);
	font-size: 12px;
	font-weight: 800;
}

.neuro-ai-flow-trust-item small {
	color: var(--neuro-ai-flow-ink-2);
	font-size: 11px;
	line-height: 1.35;
}

/* Checkout layout */
.neuro-ai-flow-page .wc-block-checkout:not(.neuro-ai-checkout-block) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 48px;
	align-items: start;
}

.neuro-ai-checkout-block {
	display: block !important;
}

.neuro-ai-checkout-block .checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 48px;
	align-items: start;
}

.neuro-ai-flow-page .wc-block-checkout__main {
	min-width: 0;
	padding: 0;
}

.neuro-ai-flow-page .wc-block-checkout__sidebar {
	position: sticky;
	top: 88px;
	width: auto;
	margin: 0;
	padding: 24px;
	background: var(--neuro-ai-flow-bg-2);
	border: 0;
	border-radius: var(--neuro-ai-flow-radius-lg);
}

/* Checkout sections */
.neuro-ai-flow-page .wc-block-checkout__contact-fields,
.neuro-ai-flow-page .wc-block-checkout__shipping-fields,
.neuro-ai-flow-page .wc-block-checkout__billing-fields,
.neuro-ai-flow-page .wc-block-checkout__payment-method,
.neuro-ai-flow-page .wc-block-checkout__additional-fields,
.neuro-ai-flow-page .wc-block-checkout__pickup-options {
	margin-bottom: 28px;
}

.neuro-ai-flow-page .wc-block-components-checkout-step {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
}

.neuro-ai-flow-page .wc-block-components-checkout-step__heading {
	margin-bottom: 14px;
}

.neuro-ai-flow-page .wc-block-components-checkout-step__title {
	color: var(--neuro-ai-flow-ink);
	font-size: 15px;
	font-weight: 800;
}

.neuro-ai-flow-page .wc-block-components-checkout-step__description {
	color: var(--neuro-ai-flow-ink-3);
	font-size: 12px;
}

.neuro-ai-flow-page .wc-block-components-address-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.neuro-ai-flow-page .wc-block-components-address-form > * {
	margin: 0;
}

.neuro-ai-flow-page .wc-block-components-address-form__address_1,
.neuro-ai-flow-page .wc-block-components-address-form__address_2,
.neuro-ai-flow-page .wc-block-components-address-form__country,
.neuro-ai-flow-page .wc-block-components-address-form__phone {
	grid-column: 1 / -1;
}

.neuro-ai-flow-page .wc-block-components-text-input label,
.neuro-ai-flow-page .wc-block-components-combobox label,
.neuro-ai-flow-page .wc-block-components-country-input label,
.neuro-ai-flow-page .wc-block-components-state-input label {
	color: var(--neuro-ai-flow-ink-2);
	font-size: 12px;
	font-weight: 700;
}

/* Payment methods - dynamic gateway safe */
.neuro-ai-flow-page .wc-block-checkout__payment-method {
	padding: 0;
}

.neuro-ai-flow-page .wc-block-components-radio-control {
	display: grid;
	gap: 10px;
}

.neuro-ai-flow-page .wc-block-components-radio-control__option {
	padding: 14px;
	background: #fff;
	border: 2px solid var(--neuro-ai-flow-border);
	border-radius: 10px;
	color: var(--neuro-ai-flow-ink-2);
	transition:
		border-color 0.15s ease,
		background 0.15s ease;
}

.neuro-ai-flow-page .wc-block-components-radio-control__option:hover,
.neuro-ai-flow-page .wc-block-components-radio-control__option-checked {
	background: #fff;
	border-color: var(--neuro-ai-flow-ink);
	color: var(--neuro-ai-flow-ink);
}

.neuro-ai-flow-page .wc-block-components-radio-control__label {
	color: var(--neuro-ai-flow-ink);
	font-size: 13px;
	font-weight: 800;
}

.neuro-ai-flow-page .wc-block-components-radio-control__description,
.neuro-ai-flow-page .wc-block-components-payment-method-label,
.neuro-ai-flow-page .wc-block-components-payment-method-icons {
	color: var(--neuro-ai-flow-ink-3);
	font-size: 12px;
}

.neuro-ai-flow-page .wc-block-components-payment-method-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.neuro-ai-flow-page .wc-block-components-payment-method-icons img,
.neuro-ai-flow-page .wc-block-components-payment-method-label img {
	max-height: 24px;
	width: auto;
}

/* Any gateway added later like Afterpay / Stripe / PayPal adapts here */
.neuro-ai-flow-page
.wc-block-components-radio-control__option[class*="afterpay"],
.neuro-ai-flow-page
.wc-block-components-radio-control__option:has(img[alt*="Afterpay" i]),
.neuro-ai-flow-page
.wc-block-components-radio-control__option:has([class*="afterpay" i]) {
	background: var(--neuro-ai-flow-afterpay);
	border-color: transparent;
	color: var(--neuro-ai-flow-afterpay-text);
}

.neuro-ai-flow-page .wc-block-components-radio-control__option[class*="stripe"],
.neuro-ai-flow-page
.wc-block-components-radio-control__option[class*="paypal"] {
	background: #fff;
}

/* Order summary */
.neuro-ai-flow-page .wc-block-components-order-summary {
	border: 0;
}

.neuro-ai-flow-page .wc-block-components-order-summary-item {
	padding: 10px 0;
	border-bottom: 1px solid var(--neuro-ai-flow-border);
}

.neuro-ai-flow-page .wc-block-components-order-summary-item__image {
	width: 60px;
	height: 60px;
	position: relative;
}

.neuro-ai-flow-page .wc-block-components-order-summary-item__image img {
	width: 60px;
	height: 60px;
	object-fit: cover;
	background: #fff;
	border: 1px solid var(--neuro-ai-flow-border);
	border-radius: 8px;
}

.neuro-ai-flow-page .wc-block-components-order-summary-item__quantity {
	background: var(--neuro-ai-flow-ink);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	top: 3px;
	right: 3px;
}

.neuro-ai-flow-page .wc-block-components-order-summary-item__description {
	padding-left: 12px;
}

.neuro-ai-flow-page .wc-block-components-order-summary-item__individual-prices,
.neuro-ai-flow-page .wc-block-components-order-summary-item__total-price {
	color: var(--neuro-ai-flow-ink);
	font-size: 13px;
	font-weight: 700;
}

/* Guarantee box injected by JS */
.neuro-ai-flow-guarantee {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 16px;
	padding: 14px;
	background: var(--neuro-ai-flow-green-bg);
	border-radius: var(--neuro-ai-flow-radius);
	color: var(--neuro-ai-flow-green);
	font-size: 12px;
	line-height: 1.5;
}

.neuro-ai-flow-guarantee strong {
	font-weight: 800;
}

/* Notices */
.neuro-ai-flow-page .wc-block-components-notice-banner,
.neuro-ai-flow-page .woocommerce-message,
.neuro-ai-flow-page .woocommerce-error,
.neuro-ai-flow-page .woocommerce-info {
	margin-bottom: 18px;
	border-radius: var(--neuro-ai-flow-radius);
}

/* Classic checkout fallback */
.neuro-ai-flow-page form.checkout:not(.neuro-ai-checkout-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 48px;
	align-items: start;
}

.neuro-ai-flow-page #customer_details,
.neuro-ai-flow-page #order_review {
	min-width: 0;
}

.neuro-ai-flow-page #order_review {
	position: sticky;
	top: 88px;
	padding: 24px;
	background: var(--neuro-ai-flow-bg-2);
	border-radius: var(--neuro-ai-flow-radius-lg);
}

/* Responsive */
@media (max-width: 900px) {

	.neuro-ai-flow-shell {
		padding: 36px 18px 64px;
	}

	.neuro-ai-flow-page .wc-block-cart,
	.neuro-ai-flow-page .wc-block-checkout,
	.neuro-ai-flow-page .neuro-ai-checkout-block .checkout-layout,
	.neuro-ai-flow-page form.checkout:not(.neuro-ai-checkout-form) {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.neuro-ai-flow-page .wc-block-cart__sidebar,
	.neuro-ai-flow-page .wc-block-checkout__sidebar,
	.neuro-ai-flow-page #order_review {
		position: static;
	}

	.neuro-ai-flow-page .wc-block-cart-items__row {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.neuro-ai-flow-page .wc-block-cart-item__total {
		grid-column: 2;
	}

	.neuro-ai-flow-page .wc-block-components-address-form {
		grid-template-columns: 1fr;
	}

	.neuro-ai-flow-page .wc-block-components-address-form > * {
		grid-column: 1 / -1;
	}

	.neuro-ai-flow-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.neuro-ai-flow-steps {
		overflow-x: auto;
		justify-content: center;
		padding-bottom: 4px;
	}
}

@media (max-width: 560px) {

	.neuro-ai-flow-trust {
		grid-template-columns: 1fr;
	}

	.neuro-ai-flow-page .wc-block-components-totals-coupon__form {
		grid-template-columns: 1fr;
	}

	.neuro-ai-flow-page .wc-block-cart-items__row {
		grid-template-columns: 70px minmax(0, 1fr);
		gap: 12px;
	}

	.neuro-ai-flow-page .wc-block-cart-item__image,
	.neuro-ai-flow-page .wc-block-cart-item__image img {
		width: 64px;
		height: 64px;
	}
}

/* Quantity controls (support both WC block and classic .quantity) */
.neuro-ai-flow-page .quantity {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.quantity-button {
	width: 32px;
	height: 34px;
	border: 0;
	background: var(--neuro-ai-flow-bg-2);
	color: var(--neuro-ai-flow-ink);
	font-weight: 700;
	border-radius: 6px;
	cursor: pointer;
	display: inline-flex !important;
	justify-content: center;
	align-items: center;
}

/* ensure quantity container and inputs are visible and interactive */
.neuro-ai-flow-page .quantity {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}

/* ensure buttons and CTA are clickable */
.checkout-cta,
.neuro-ai-cart-coupon__apply,
.neuro-ai-quick-pay__btn {
	pointer-events: auto !important;
	z-index: 2;
}

.quantity .qty,
.neuro-ai-flow-page .wc-block-components-quantity-selector__input,
.neuro-ai-flow-page .neuro-ai-cart-quantity-input,
.neuro-ai-flow-page .neuro-ai-custom-qty-input {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 34px !important;
	line-height: 34px !important;
	text-align: center !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--neuro-ai-flow-ink) !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	outline: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.neuro-ai-custom-qty-input::-webkit-outer-spin-button,
.neuro-ai-custom-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Mini-cart totals/buttons */

/* Summary layout: ensure labels left, prices right in a vertical list */
.neuro-ai-cart-summary-list .wc-block-components-totals-item,
.neuro-ai-cart-summary-list .wc-block-components-totals-footer-item {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
}

.neuro-ai-cart-summary-list .neuro-ai-cart-product-line {
	border-bottom: 0;
}

.neuro-ai-cart-product-label {
	font-size: 13px;
	color: var(--neuro-ai-flow-ink-2);
}

.neuro-ai-cart-product-price,
.neuro-ai-cart-summary-list .wc-block-components-totals-item__value {
	font-weight: 800;
	color: var(--neuro-ai-flow-ink);
	text-align: right;
}

/* Quick-pay buttons (use WooCommerce available gateways) */
.neuro-ai-quick-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.neuro-ai-quick-pay__form {
	margin: 0;
}

.neuro-ai-quick-pay__btn {
	background: #fff;
	border: 1px solid var(--neuro-ai-flow-border-2);
	padding: 8px 12px;
	border-radius: 8px;
	font-weight: 700;
	color: var(--neuro-ai-flow-ink);
}

/* Checkout CTA to match apply button style and new green bg */
.checkout-cta {
	background: #329901 !important;
	border: 0;
	color: #fff !important;
	padding: 12px 18px;
	border-radius: 8px;
	font-weight: 800;
}

/* Coupon form moved below products */
.neuro-ai-cart-coupon {
	margin: 18px 0 8px;
	display: block;
	width: 100%;
	box-sizing: border-box;
}

/* place coupon in the LEFT/main column only (not spanning sidebar) */
.neuro-ai-flow-page .wc-block-cart .neuro-ai-cart-coupon {
	grid-column: 1 / 2;
	width: 100%;
	box-sizing: border-box;
}

.neuro-ai-cart-coupon__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px; /* visible gap between input and button */
	align-items: center;
	width: 100%;
}

.neuro-ai-cart-coupon__input {
	min-height: 44px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid var(--neuro-ai-flow-border-2);
	border-radius: 8px;
	color: var(--neuro-ai-flow-ink);
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

.neuro-ai-cart-coupon__apply {
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 8px;
	background: var(--neuro-ai-flow-ink);
	color: #fff;
	font-weight: 800;
	border: 0;
	white-space: nowrap; /* prevent button wrapping */
	min-width: 120px; /* keep button compact */
}

.neuro-ai-coupon-message {
	margin-top: 8px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

.neuro-ai-coupon-message.is-success {
	color: var(--neuro-ai-flow-green, #167a3a);
}

.neuro-ai-coupon-message.is-error {
	color: var(--neuro-ai-flow-red, #d63638);
}

.neuro-ai-applied-coupons {
	display: grid;
	gap: 8px;
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid rgba(50, 153, 1, 0.18);
	border-radius: 10px;
	background: rgba(50, 153, 1, 0.06);
}

.neuro-ai-applied-coupons__label {
	color: var(--neuro-ai-flow-ink-2, #5f6368);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.neuro-ai-applied-coupons__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.neuro-ai-applied-coupon {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 30px;
	padding: 0 8px 0 12px;
	border: 1px solid rgba(22, 122, 58, 0.18);
	border-radius: 999px;
	background: #fff;
	color: var(--neuro-ai-flow-green, #167a3a);
	box-shadow: 0 4px 14px rgba(17, 17, 17, 0.04);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.neuro-ai-applied-coupon__code {
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.neuro-ai-remove-coupon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(22, 122, 58, 0.16);
	color: inherit;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
}

.neuro-ai-remove-coupon:hover,
.neuro-ai-remove-coupon:focus {
	background: rgba(22, 122, 58, 0.26);
}

.neuro-ai-cart-discount-row {
	justify-content: space-between !important;
	gap: 12px !important;
}

.neuro-ai-cart-discount-value {
	margin-left: auto !important;
	text-align: right !important;
	white-space: nowrap !important;
}

/* On mobile, stack and make both full width with gap */
@media (max-width: 900px) {

	.neuro-ai-cart-coupon__form {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.neuro-ai-cart-coupon__apply {
		width: 100%;
		min-width: 0;
	}
}

/* ==========================================================================
   Neuro AI Custom Checkout & Payment Steps Styles
   ========================================================================== */

.neuro-ai-checkout-step-container {
	animation: neuroAiFadeIn 0.25s ease-out;
}

@keyframes neuroAiFadeIn {

	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.returning-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--neuro-ai-flow-border);
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 20px;
	font-size: 13px;
	color: var(--neuro-ai-flow-ink-2);
	background: var(--neuro-ai-flow-bg-2);
	cursor: pointer;
	transition: background 0.15s;
}

.returning-bar:hover {
	background: var(--neuro-ai-flow-bg-3);
}

.form-section {
	margin-bottom: 28px;
}

.form-section-title {
	font-size: 14px;
	font-weight: 800;
	color: var(--neuro-ai-flow-ink);
	margin-bottom: 14px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}

.field-row.single {
	grid-template-columns: 1fr;
}

.field-row.three {
	grid-template-columns: 1fr 1fr 1fr;
}

.field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.field label {
	font-size: 12px;
	font-weight: 700;
	color: var(--neuro-ai-flow-ink-2);
}

.field label .req {
	color: var(--neuro-ai-flow-red);
}

.field input,
.field select {
	padding: 11px 13px;
	border: 1px solid var(--neuro-ai-flow-border-2);
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	color: var(--neuro-ai-flow-ink);
	background: #fff;
	outline: none;
	transition: border-color 0.15s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 100%;
}

.field select {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a4a4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 14px;
	padding-right: 36px;
}

.field input:focus,
.field select:focus {
	border-color: var(--neuro-ai-flow-ink);
}

.field input::placeholder {
	color: var(--neuro-ai-flow-ink-3);
}

.payment-methods {
	display: flex;
	gap: 10px;
	margin-bottom: 16px;
}

.pay-method {
	flex: 1;
	padding: 12px;
	border: 2px solid var(--neuro-ai-flow-border);
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--neuro-ai-flow-ink-2);
	transition: all 0.15s;
	font-family: inherit;
}

.pay-method:hover {
	border-color: var(--neuro-ai-flow-border-2);
}

.pay-method.active {
	border-color: var(--neuro-ai-flow-ink);
	color: var(--neuro-ai-flow-ink);
	background: var(--neuro-ai-flow-bg-2);
}

.place-order-btn {
	width: 100%;
	padding: 17px;
	background: var(--neuro-ai-flow-accent) !important;
	color: #fff !important;
	border: none;
	border-radius: var(--neuro-ai-flow-radius);
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
	font-family: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition:
		background 0.15s,
		transform 0.1s;
	margin-top: 8px;
	letter-spacing: 0.01em;
}

.place-order-btn::before {
	content: "🔒";
	margin-right: 6px;
}

.place-order-btn:hover {
	background: var(--neuro-ai-flow-accent-dark) !important;
}

.place-order-btn:active {
	transform: scale(0.99);
}

.passive-consent {
	font-size: 12px;
	color: var(--neuro-ai-flow-ink-3);
	text-align: center;
	margin-top: 10px;
	line-height: 1.5;
}

.passive-consent a {
	color: var(--neuro-ai-flow-ink-2);
}

.neuro-ai-checkout-errors-container {
	display: none !important;
}

@media (max-width: 900px) {

	.field-row {
		grid-template-columns: 1fr;
	}

	.field-row.three {
		grid-template-columns: 1fr;
	}

	.payment-methods {
		flex-direction: column;
		gap: 8px;
	}
}

/* Custom Stripe Form elements & flow line style fixes */
.neuro-ai-flow-steps a.neuro-ai-flow-step {
	text-decoration: none;
	cursor: pointer;
}

/* Ensure Stripe UPE enqueued styling fields extract light backgrounds, borders and dark fonts */
#wc-stripe-hidden-style-input,
#wc-stripe-hidden-style-invalid-input,
.woocommerce form .form-row input.input-text,
.woocommerce-checkout #payment input.input-text,
.wc-stripe-elements-container input,
.wc-stripe-upe-element input,
.wc-stripe-checkout-payment-box input,
input.wc-stripe-hidden-style {
	background-color: #fff !important;
	background: #fff !important;
	color: var(--neuro-ai-flow-ink) !important;
	border: 1px solid var(--neuro-ai-flow-border-2) !important;
	border-radius: 8px !important;
	font-family: inherit !important;
	font-size: 14px !important;
	padding: 11px 13px !important;
	box-shadow: none !important;
}

#wc-stripe-hidden-style-invalid-input,
.woocommerce form .form-row input.input-text.invalid,
.woocommerce-checkout #payment input.input-text.invalid {
	color: var(--neuro-ai-flow-red) !important;
	border-color: var(--neuro-ai-flow-red) !important;
}

/* Custom design wrappers for card field frames */
.wc-stripe-elements-container,
.wc-stripe-upe-element,
#stripe-card-element,
.wc-stripe-checkout-payment-box,
.wc-stripe-card-element-wrapper {
	background-color: #fff !important;
	background: #fff !important;
	border: 1px solid var(--neuro-ai-flow-border-2) !important;
	border-radius: 8px !important;
	padding: 11px 13px !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment ul.payment_methods,
.payment-method-fields-box,
.payment-method-fields-wrapper {
	background-color: #fff !important;
	background: #fff !important;
}
