/* ==========================================================================
   Almunia — CTA widget
   Full-width band with dark or image background.
   ========================================================================== */

.almunia-cta {
	position: relative;
	overflow: hidden;
	background-color: var(--color-dark);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	color: #fff;
	isolation: isolate;
}

/* Decorative gold gradient — visible on solid dark bg, subtle otherwise */
.almunia-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(60% 80% at 100% 0%,  rgba(201, 162, 39, .18) 0%, transparent 60%),
		radial-gradient(50% 70% at 0%  100%, rgba(201, 162, 39, .12) 0%, transparent 65%);
	pointer-events: none;
	z-index: 1;
}
.almunia-cta--bg-image::before { opacity: .25; z-index: 2; }

/* Overlay used when a background image is set.
   Vertical gradient (softer at top → stronger at bottom) + radial vignette
   for depth. Color and intensity are controllable in Elementor. */
.almunia-cta__overlay {
	--almunia-overlay: #111214;
	--almunia-overlay-opacity: 0.7;
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--almunia-overlay) calc(var(--almunia-overlay-opacity) * 60%), transparent) 0%,
			color-mix(in srgb, var(--almunia-overlay) calc(var(--almunia-overlay-opacity) * 100%), transparent) 100%
		),
		radial-gradient(
			120% 90% at 50% 50%,
			transparent 0%,
			color-mix(in srgb, var(--almunia-overlay) calc(var(--almunia-overlay-opacity) * 40%), transparent) 100%
		);
	z-index: 1;
	pointer-events: none;
}

/* Fallback for browsers without color-mix() (older Safari) */
@supports not (background: color-mix(in srgb, red, blue)) {
	.almunia-cta__overlay {
		background: rgba(17, 18, 20, .7);
	}
}

/* Content sits above decorations */
.almunia-cta__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 96px 20px;
	display: flex;
	justify-content: center;
	text-align: center;
}

.almunia-cta__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	max-width: 720px;
	width: 100%;
}

.almunia-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border: 1px solid rgba(201, 162, 39, .4);
	border-radius: 999px;
	background: rgba(201, 162, 39, .08);
	font-family: inherit;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--color-primary);
}

.almunia-cta__title {
	margin: 0;
	font-family: inherit;
	font-weight: 700;
	font-size: 42px;
	line-height: 1.15;
	letter-spacing: .005em;
	color: #fff;
	text-wrap: balance;
}

.almunia-cta__desc {
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
	color: rgba(255, 255, 255, .8);
	text-wrap: pretty;
}

.almunia-cta__actions {
	margin-top: 12px;
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.almunia-cta__btn {
	gap: 10px;
	padding: 14px 28px;
	font-size: 14px;
	letter-spacing: .06em;
}
.almunia-cta__btn svg {
	transition: transform .2s ease;
}
.almunia-cta__btn:hover svg {
	transform: translateX(3px);
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
	.almunia-cta__title { font-size: 28px; }
	.almunia-cta__desc  { font-size: 15px; }
	.almunia-cta__inner { padding: 64px 16px; }
	.almunia-cta__btn   { width: 100%; }
	.almunia-cta__actions { width: 100%; }
}
