
/**
 * CTA Button Widget Styles
 *
 * Standalone CTA button enforcing design system variants.
 * Consolidates duplicated CTA styles from Hero and Image-Text widgets.
 *
 * Variants:
 * - Primary: aqua bg (#6EDAD5), dark text/border (#133844)
 * - Secondary: white bg, dark text/border
 * - Link: transparent bg, orange text (#ff5000)
 *
 * Figma Specs:
 * - Font: Plus Jakarta Sans Bold
 * - Font size: clamp(14px..17px)
 * - Padding: 12px horizontal, --spacing-lg vertical
 * - Primary border: 1px solid --color-container-blue
 *
 * @package Zededa
 */

/* ==========================================================================
   1. Wrapper
   ========================================================================== */
.zededa-cta-button {
	text-align: center;
}

/* ==========================================================================
   2. Elementor Kit Specificity Overrides
   Elementor Kit sets global a { color: brand-primary } that cascades
   into widget links. Parent widgets (hero, blog-hero) also set
   a { color: white } with 0,2,1 specificity. We use element + two classes
   (a.zededa-cta.zededa-cta--variant = 0,3,1) to always win regardless of
   which background section the CTA is placed in.
   ========================================================================== */
[class*="elementor-kit-"] .zededa-cta, [class*="elementor-kit-"] .zededa-cta:visited {
	text-decoration: none;
	border-radius: 0;
}

[class*="elementor-kit-"] a.zededa-cta.zededa-cta--primary, [class*="elementor-kit-"] a.zededa-cta.zededa-cta--primary:visited {
	color: var(--color-container-blue);
}

[class*="elementor-kit-"] a.zededa-cta.zededa-cta--secondary, [class*="elementor-kit-"] a.zededa-cta.zededa-cta--secondary:visited {
	color: var(--color-container-blue);
}

[class*="elementor-kit-"] a.zededa-cta.zededa-cta--link, [class*="elementor-kit-"] a.zededa-cta.zededa-cta--link:visited {
	color: var(--color-brand-primary);
}

/* ==========================================================================
   3. Base CTA Styles (shared across all variants)
   ========================================================================== */
.zededa-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px var(--spacing-lg);
	font-family: var(--typography-font-family-cta);
	font-size: clamp(14px, calc(.19vw + 13.28px), 17px);
	font-weight: var(--typography-font-weight-bold);
	letter-spacing: -.005em;
	line-height: 1.45;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .2s ease, box-shadow .2s ease;
	white-space: nowrap;
}

/* ==========================================================================
   4. Primary Variant: aqua background, dark text/border
   ========================================================================== */
.zededa-cta--primary {
	background-color: var(--color-navigation-cta-background);
	color: var(--color-container-blue);
	border: var(--border-width-thin) solid var(--color-container-blue);
}

.zededa-cta--primary:hover {
	opacity: .9;
	box-shadow: var(--shadow-md);
}

.zededa-cta--primary:visited {
	color: var(--color-container-blue);
}

/* ==========================================================================
   5. Secondary Variant: white background, dark border/text
   ========================================================================== */
.zededa-cta--secondary {
	background-color: var(--color-neutral-white);
	color: var(--color-container-blue);
	border: var(--border-width-thin) solid var(--color-container-blue);
}

.zededa-cta--secondary:hover {
	opacity: .9;
	box-shadow: var(--shadow-md);
}

.zededa-cta--secondary:visited {
	color: var(--color-container-blue);
}

/* ==========================================================================
   6. Link Variant: transparent bg, orange text
   ========================================================================== */
.zededa-cta--link {
	background-color: transparent;
	color: var(--color-brand-primary);
	border: none;
	padding-left: 0;
	padding-right: 0;
}

.zededa-cta--link:hover {
	opacity: .8;
}

.zededa-cta--link:visited {
	color: var(--color-brand-primary);
}

/* ==========================================================================
   7. Arrow
   ========================================================================== */
.zededa-cta__arrow {
	margin-left: var(--spacing-xs);
}

/* ==========================================================================
   8. Accessibility
   ========================================================================== */
.zededa-cta:focus {
	outline: 2px solid var(--color-container-blue);
	outline-offset: 2px;
}

.zededa-cta--link:focus {
	outline-color: var(--color-brand-primary);
}

@media (prefers-reduced-motion: reduce) {
	.zededa-cta, .zededa-cta *, .zededa-cta *::before, .zededa-cta *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
