/**
 * VendaPay Frontend — Theme Variables and Accessibility Base
 *
 * This file defines CSS custom properties used by all VendaPay components.
 * Override these variables in your theme to customize the VendaPay look.
 */

:root {
	--vendapay-primary: #667eea;
	--vendapay-secondary: #764ba2;
	--vendapay-gradient: linear-gradient(135deg, var(--vendapay-primary) 0%, var(--vendapay-secondary) 100%);
	--vendapay-success: #00a32a;
	--vendapay-error: #d63638;
	--vendapay-warning: #dba617;
	--vendapay-text: #1d2327;
	--vendapay-text-muted: #666;
	--vendapay-bg: #fff;
	--vendapay-bg-light: #f8f9ff;
	--vendapay-border: #e0e4f0;
	--vendapay-radius: 8px;
	--vendapay-radius-lg: 12px;
	--vendapay-shadow: 0 2px 8px rgba(102, 126, 234, 0.08);
	--vendapay-shadow-hover: 0 4px 14px rgba(102, 126, 234, 0.2);
	--vendapay-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--vendapay-touch-target: 44px;
}

/* Focus styles — visible keyboard focus rings */
.vendapay-pay-btn:focus-visible,
.vendapay-preset-btn:focus-visible,
.vendapay-qty-btn:focus-visible,
.vendapay-add-to-cart:focus-visible,
.vendapay-remove-item:focus-visible,
.vendapay-share-btn:focus-visible,
.vendapay-input:focus-visible,
.vendapay-amount-input:focus-visible {
	outline: 3px solid var(--vendapay-primary);
	outline-offset: 2px;
}

/* Minimum touch targets for mobile */
.vendapay-pay-btn,
.vendapay-preset-btn,
.vendapay-add-to-cart,
.vendapay-share-btn {
	min-height: var(--vendapay-touch-target);
}

.vendapay-qty-btn {
	min-width: 36px;
	min-height: 36px;
}

/* Screen reader only utility */
.vendapay-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Reduced motion: disable transitions and animations */
@media (prefers-reduced-motion: reduce) {
	.vendapay-product-card,
	.vendapay-pay-btn,
	.vendapay-preset-btn,
	.vendapay-share-btn,
	.vendapay-input,
	.vendapay-amount-input,
	.vendapay-toggle-slider,
	.vendapay-toggle-slider::before {
		transition: none !important;
		animation: none !important;
	}
}

/* High contrast mode support */
@media (forced-colors: active) {
	.vendapay-pay-btn {
		border: 2px solid ButtonText;
	}

	.vendapay-preset-btn.active {
		border: 3px solid Highlight;
	}
}

/* Print styles — hide interactive elements */
@media print {
	.vendapay-pay-btn,
	.vendapay-add-to-cart,
	.vendapay-qty-controls,
	.vendapay-remove-item,
	.vendapay-share-buttons,
	.vendapay-cart-badge,
	.vendapay-message {
		display: none !important;
	}

	.vendapay-qr-code {
		break-inside: avoid;
	}
}
