/* Product page: quantity | Add to cart | Buy now in one tidy row, plus the "Select Color & Size" state. */
.product-info form.cart .woocommerce-variation-add-to-cart,
.product-info form.cart:not(.variations_form) {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
}
.product-info form.cart .quantity { grid-column: 1; margin: 0 !important; }
.product-info form.cart .quantity .qty { height: 100% !important; min-height: 54px; width: 100% !important; }
.product-info form.cart .single_add_to_cart_button:not(.sr-buy-now):not(#buyNowBtn) {
	grid-column: 2;
	width: 100% !important; min-height: 54px; height: auto !important; margin: 0 !important;
	padding: 0 14px !important; white-space: nowrap; line-height: 1.2;
	display: inline-flex !important; align-items: center; justify-content: center; text-align: center;
	overflow: hidden; text-overflow: ellipsis;
}
.product-info form.cart .wc-proceed-to-checkoutt {
	grid-column: 3; width: 100% !important; margin: 0 !important; padding: 0 !important; min-height: 54px; position: relative;
}
.product-info form.cart .wc-proceed-to-checkoutt .shiprocket-headless { margin: 0 !important; height: 100%; }
.product-info form.cart .sr-headless-checkout.sr-buy-now,
.product-info form.cart .sr-buy-now {
	width: 100% !important; min-height: 54px; height: 100% !important; margin: 0 !important; position: relative;
}
/* The theme's own Buy now (when Fastrr is off) joins the same row. */
.product-info form.cart .utsv-buy-now { grid-column: 3; min-height: 54px; margin: 0 !important; width: 100%; }
/* Variable products: the variation messages / price block span the whole row. */
.product-info form.cart .woocommerce-variation-add-to-cart > :not(.quantity):not(.single_add_to_cart_button):not(.wc-proceed-to-checkoutt):not(.utsv-buy-now) { grid-column: 1 / -1; }

/* ---- "Select Color & Size" state ---- */
.product-info form.utsv-needs-options .single_add_to_cart_button:not(.sr-buy-now):not(#buyNowBtn),
.product-info form.utsv-needs-options .utsv-buy-now {
	opacity: .55; cursor: not-allowed; font-size: 13px; letter-spacing: .04em;
}
.product-info form.utsv-needs-options .sr-buy-now,
.product-info form.utsv-needs-options button#buyNowBtn,   /* Fastrr's own CSS styles #buyNowBtn: match its specificity */
.product-info form.utsv-needs-options .wc-proceed-to-checkoutt,
.product-info form.utsv-needs-options .shiprocket-headless { cursor: not-allowed; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.product-info form.utsv-needs-options .sr-buy-now > * { visibility: hidden; }
.product-info form.utsv-needs-options .sr-buy-now::after {
	content: attr(data-need);
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: rgba(92, 10, 36, .55); color: #fff; border-radius: 0;
	font: 700 13px/1.2 inherit; letter-spacing: .04em; text-transform: uppercase; text-align: center; padding: 0 12px;
}

@media (max-width: 860px) {
	.product-info form.cart .woocommerce-variation-add-to-cart,
	.product-info form.cart:not(.variations_form) { grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
	.product-info form.cart .single_add_to_cart_button:not(.sr-buy-now):not(#buyNowBtn) { padding: 0 6px !important; font-size: 12px; letter-spacing: .02em; }
	.product-info form.utsv-needs-options .single_add_to_cart_button:not(.sr-buy-now):not(#buyNowBtn),
	.product-info form.utsv-needs-options .utsv-buy-now,
	.product-info form.utsv-needs-options .sr-buy-now::after { font-size: 11px; white-space: normal; line-height: 1.15; }
}

/* Tapping a disabled button: the option rows still to choose pulse once or twice. */
.product-info form.cart table.variations tr.utsv-attn td.value,
.product-info form.cart table.variations tr.utsv-attn th.label { animation: utsv-attn 1.1s ease-in-out 2; }
.product-info form.cart table.variations tr.utsv-attn td.value { outline: 2px solid var(--color-accent, #5c0a24); outline-offset: 4px; }
.product-info form.cart table.variations tr.utsv-attn th.label { color: var(--color-accent, #5c0a24); font-weight: 700; }
@keyframes utsv-attn {
	0%, 100% { background-color: transparent; transform: translateX(0); }
	20% { background-color: rgba(92, 10, 36, .10); transform: translateX(-5px); }
	40% { transform: translateX(5px); }
	60% { background-color: rgba(92, 10, 36, .10); transform: translateX(-3px); }
	80% { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) { .product-info form.cart table.variations tr.utsv-attn td.value { animation: none; background-color: rgba(92, 10, 36, .10); } }
