/**
 * Frontend CTA styles.
 */

/* Wrapper alignment */
.azura-cta-wrap {
	display: block;
	margin: 0.75rem 0;
}

.azura-cta-wrap--align-left { text-align: left; }
.azura-cta-wrap--align-center { text-align: center; }
.azura-cta-wrap--align-right { text-align: right; }

.azura-cta-wrap--full .azura-cta {
	width: 100%;
}

/* Base button */
.azura-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	text-decoration: none;
	cursor: pointer;
	border-color: var(--azura-border, #2271b1);
	background-color: var(--azura-bg, #2271b1);
	color: var(--azura-text, #fff) !important;
	box-sizing: border-box;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.azura-cta:hover,
.azura-cta:focus {
	background-color: var(--azura-hover-bg, #135e96);
	color: var(--azura-hover-text, #fff) !important;
	border-color: var(--azura-hover-border, #135e96);
	text-decoration: none;
	outline: none;
}

/* Variants */
.azura-cta--solid {
	background-color: var(--azura-bg, #2271b1);
	color: var(--azura-text, #fff) !important;
}

.azura-cta--outline {
	background-color: transparent !important;
	color: var(--azura-bg, #2271b1) !important;
	border-color: var(--azura-border, #2271b1);
}

.azura-cta--outline:hover,
.azura-cta--outline:focus {
	background-color: var(--azura-bg, #2271b1) !important;
	color: var(--azura-hover-text, #fff) !important;
}

.azura-cta--ghost {
	background-color: transparent !important;
	border-color: transparent !important;
	color: var(--azura-bg, #2271b1) !important;
	box-shadow: none !important;
}

.azura-cta--ghost:hover,
.azura-cta--ghost:focus {
	background-color: rgba(0, 0, 0, 0.05) !important;
	color: var(--azura-hover-bg, #135e96) !important;
}

.azura-cta--gradient {
	background: linear-gradient(135deg, var(--azura-gradient-from, #2271b1), var(--azura-gradient-to, #135e96)) !important;
	border-color: transparent !important;
	color: var(--azura-text, #fff) !important;
}

.azura-cta--gradient:hover,
.azura-cta--gradient:focus {
	filter: brightness(1.08);
	color: var(--azura-hover-text, #fff) !important;
}

/* Hover effects */
.azura-cta--hover-lift:hover,
.azura-cta--hover-lift:focus {
	transform: translateY(-2px);
	box-shadow: var(--azura-hover-shadow, 0 6px 16px rgba(0, 0, 0, 0.15)) !important;
}

.azura-cta--hover-glow:hover,
.azura-cta--hover-glow:focus {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--azura-bg, #2271b1) 35%, transparent) !important;
}

.azura-cta--hover-scale:hover,
.azura-cta--hover-scale:focus {
	transform: scale(1.03);
}

.azura-cta--hover-none:hover,
.azura-cta--hover-none:focus {
	transform: none;
}

/* Animations */
.azura-cta--anim-pulse {
	animation: azura-pulse 2s ease-in-out infinite;
}

.azura-cta--anim-bounce {
	animation: azura-bounce 2s ease infinite;
}

@keyframes azura-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.02); }
}

@keyframes azura-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-3px); }
}

.azura-cta__icon {
	display: inline-flex;
	width: 1.25em;
	height: 1.25em;
	flex-shrink: 0;
}

/* Device visibility */
.azura-hide-desktop { display: none !important; }
@media (max-width: 1024px) {
	.azura-hide-desktop { display: inline-flex !important; }
	.azura-hide-tablet { display: none !important; }
}
@media (max-width: 767px) {
	.azura-hide-tablet { display: inline-flex !important; }
	.azura-hide-mobile { display: none !important; }
}

/* Hide native WooCommerce ATC when CTA is active (fallback) */
body.azura-hide-native-atc form.cart .single_add_to_cart_button,
body.azura-hide-native-atc form.cart .quantity,
body.azura-hide-native-atc .woocommerce-variation-add-to-cart,
body.azura-hide-native-atc form.variations_form .woocommerce-variation-add-to-cart,
body.azura-hide-native-atc .wc-block-components-add-to-cart-button,
body.azura-hide-native-atc .wp-block-woocommerce-add-to-cart-form {
	display: none !important;
}

body.azura-hide-native-atc form.cart:not(.azura-keep-variations) table.variations,
body.azura-hide-native-atc form.cart:not(.azura-keep-variations) .reset_variations {
	display: none !important;
}

/* Modal */
.azura-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.55);
	padding: 1rem;
}

.azura-modal__dialog {
	background: #fff;
	max-width: 640px;
	width: 100%;
	max-height: 90vh;
	overflow: auto;
	padding: 1.5rem;
	border-radius: 8px;
	position: relative;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}

.azura-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	background: transparent;
	border: 0;
	font-size: 1.5rem;
	cursor: pointer;
	line-height: 1;
	color: #50575e;
}

.azura-inline-form {
	margin-top: 1rem;
}

.azura-payloads {
	display: none;
}
