/* =============================================================================
 * Convixo Direct Checkout (Buy Now) — Frontend Styles
 * Scoped under .convixo-buy-now
 * ============================================================================= */

.convixo-buy-now {
	--szdc-bg:     #7c3aed;
	--szdc-text:   #ffffff;
	--szdc-hover:  #6d28d9;
	--szdc-radius: 7px;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--szdc-bg);
	color: var(--szdc-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	padding: 12px 22px;
	border-radius: var(--szdc-radius);
	border: 2px solid var(--szdc-bg);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.08s ease;
	box-sizing: border-box;
}

.convixo-buy-now *,
.convixo-buy-now *::before,
.convixo-buy-now *::after {
	box-sizing: border-box;
}

/* Solid variant (default) */
.convixo-buy-now--solid {
	background: var(--szdc-bg);
	color: var(--szdc-text);
}

.convixo-buy-now--solid:hover,
.convixo-buy-now--solid:focus-visible {
	background: var(--szdc-hover);
	border-color: var(--szdc-hover);
	color: var(--szdc-text);
	text-decoration: none;
}

/* Outline variant */
.convixo-buy-now--outline {
	background: transparent;
	color: var(--szdc-bg);
}

.convixo-buy-now--outline:hover,
.convixo-buy-now--outline:focus-visible {
	background: var(--szdc-bg);
	color: var(--szdc-text);
	text-decoration: none;
}

/* Press feedback */
.convixo-buy-now:active {
	transform: scale(0.97);
}

/* Focus visible — accessibility */
.convixo-buy-now:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--szdc-bg) 35%, transparent);
	outline-offset: 2px;
}

/* Icon */
.convixo-buy-now__icon {
	font-size: 16px;
	line-height: 1;
}

/* Loading state */
.convixo-buy-now.is-loading {
	pointer-events: none;
	opacity: 0.75;
	cursor: wait;
}

.convixo-buy-now.is-loading .convixo-buy-now__label::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 8px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: szdc-spin 0.7s linear infinite;
	vertical-align: -2px;
}

@keyframes szdc-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.convixo-buy-now { transition: none; }
	.convixo-buy-now.is-loading .convixo-buy-now__label::after { animation: none; }
}

/* ── Context: single product page ──────────────────────────────────────────── */
.convixo-buy-now--single {
	margin-top: 10px;
}

.convixo-buy-now--full {
	display: flex;
	width: 100%;
}

/* ── Context: shop loop card ───────────────────────────────────────────────── */
.convixo-buy-now--loop {
	margin-top: 8px;
	font-size: 13px;
	padding: 8px 14px;
}

/* Visually hint that the button is below the regular Add to Cart on product page */
.woocommerce-variation-add-to-cart .convixo-buy-now,
.cart .convixo-buy-now {
	margin-left: 8px;
}

@media (max-width: 600px) {
	.convixo-buy-now--single,
	.convixo-buy-now--full {
		width: 100%;
		margin-left: 0 !important;
	}
}
