/**
 * NM Newsletter CTA Pro — premium RTL subscription block (Elementor).
 */

.nm-newsletter-cta-pro,
.nm-newsletter-cta-pro * {
	box-sizing: border-box;
}

.nm-newsletter-cta-pro {
	--nm-nlcta-section-bg: linear-gradient(
		135deg,
		color-mix(in srgb, var(--eb-card-bg, #071a2f) 92%, var(--eb-accent, #f6b938) 8%),
		color-mix(in srgb, var(--eb-section-bg, #0e2944) 88%, var(--eb-card-bg, #071a2f) 12%)
	);
	--nm-nlcta-border: var(--eb-card-border, rgba(255, 255, 255, 0.12));
	--nm-nlcta-radius: 28px;
	--nm-nlcta-headline: var(--eb-heading, #fff);
	--nm-nlcta-description: var(--eb-text, #e8eef5);
	--nm-nlcta-input-bg: color-mix(in srgb, var(--eb-heading, #fff) 4%, transparent);
	--nm-nlcta-input-border: var(--eb-card-border, rgba(255, 255, 255, 0.12));
	--nm-nlcta-input-text: var(--eb-text, #e8eef5);
	--nm-nlcta-input-placeholder: var(--eb-card-meta, rgba(200, 218, 236, 0.72));
	--nm-nlcta-btn-bg: var(--eb-accent, #f6b938);
	--nm-nlcta-btn-text: var(--eb-button-text, var(--eb-primary, #071a2f));
	--nm-nlcta-glow: var(--eb-accent, #f6b938);

	position: relative;
	display: block;
	inline-size: 100%;
	max-inline-size: 100%;
	margin-block: 0;
	overflow: hidden;
	border-radius: var(--nm-nlcta-radius);
	border: 1px solid var(--nm-nlcta-border);
	background: var(--nm-nlcta-section-bg);
	color: var(--nm-nlcta-description);
	font-family: 'Tajawal', 'Segoe UI', system-ui, sans-serif;
	box-shadow:
		0 28px 72px color-mix(in srgb, var(--eb-primary, #071a2f) 32%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--eb-heading, #fff) 8%, transparent);
}

.nm-newsletter-cta-pro__glow,
.nm-newsletter-cta-pro__pulse {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

.nm-newsletter-cta-pro__glow {
	inset: -20% auto auto -8%;
	inline-size: min(52%, 320px);
	block-size: min(72%, 280px);
	background: radial-gradient(
		circle at 50% 50%,
		color-mix(in srgb, var(--nm-nlcta-glow) 34%, transparent),
		transparent 68%
	);
	filter: blur(18px);
	opacity: 0.85;
}

.nm-newsletter-cta-pro__pulse {
	inset: auto -12% -28% auto;
	inline-size: 240px;
	block-size: 240px;
	border-radius: 50%;
	background: radial-gradient(
		circle,
		color-mix(in srgb, var(--nm-nlcta-glow) 16%, transparent),
		transparent 70%
	);
}

.nm-newsletter-cta-pro--animated .nm-newsletter-cta-pro__glow {
	animation: nm-nlcta-float 7s ease-in-out infinite;
}

.nm-newsletter-cta-pro--animated .nm-newsletter-cta-pro__pulse {
	animation: nm-nlcta-pulse 5.5s ease-in-out infinite;
}

.nm-newsletter-cta-pro__inner {
	position: relative;
	z-index: 1;
	padding: var(--nm-nlcta-pad, clamp(18px, 2.4vw, 28px));
}

.nm-newsletter-cta-pro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) minmax(0, 0.78fr);
	gap: var(--nm-nlcta-gap, clamp(14px, 2vw, 24px));
	align-items: center;
	text-align: start;
}

/* Copy — visual right in RTL */
.nm-newsletter-cta-pro__copy {
	min-inline-size: 0;
}

.nm-newsletter-cta-pro__headline {
	margin: 0 0 0.4rem;
	font-size: clamp(1.45rem, 2.4vw, 2.15rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--nm-nlcta-headline);
	text-align: start;
}

.nm-newsletter-cta-pro__description {
	margin: 0;
	max-inline-size: 42ch;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--nm-nlcta-description);
	text-align: start;
}

/* Form column */
.nm-newsletter-cta-pro__form-col {
	min-inline-size: 0;
	max-inline-size: var(--nm-nlcta-form-max, none);
	justify-self: var(--nm-nlcta-align, stretch);
}

.nm-newsletter-cta-pro__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: stretch;
}

.nm-newsletter-cta-pro__input {
	inline-size: 100%;
	min-block-size: var(--nm-nlcta-control-h, 44px);
	padding-inline: 14px;
	text-align: start;
	border-radius: 16px;
	border: 1px solid var(--nm-nlcta-input-border);
	background: var(--nm-nlcta-input-bg);
	color: var(--nm-nlcta-input-text);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

.nm-newsletter-cta-pro__input::placeholder {
	color: var(--nm-nlcta-input-placeholder);
	opacity: 1;
}

.nm-newsletter-cta-pro__input:focus {
	border-color: color-mix(in srgb, var(--nm-nlcta-glow) 55%, var(--nm-nlcta-input-border));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--nm-nlcta-glow) 18%, transparent);
	outline: none;
}

.nm-newsletter-cta-pro__submit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: var(--nm-nlcta-control-h, 44px);
	padding-inline: 1rem;
	border: none;
	border-radius: 16px;
	background: var(--nm-nlcta-btn-bg);
	color: var(--nm-nlcta-btn-text);
	font: inherit;
	font-size: 0.92rem;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition:
		filter 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
}

.nm-newsletter-cta-pro__submit:hover,
.nm-newsletter-cta-pro__submit:focus-visible {
	background: var(--nm-nlcta-btn-hover, var(--nm-nlcta-btn-bg));
	filter: brightness(1.04);
	box-shadow: 0 8px 18px color-mix(in srgb, var(--nm-nlcta-glow) 28%, transparent);
	transform: translateY(-1px);
	outline: 2px solid var(--nm-nlcta-glow);
	outline-offset: 2px;
}

.nm-newsletter-cta-pro__submit.is-loading {
	pointer-events: none;
	opacity: 0.88;
}

.nm-newsletter-cta-pro__submit-spinner {
	display: none;
	inline-size: 18px;
	block-size: 18px;
	margin-inline-start: 8px;
	border: 2px solid color-mix(in srgb, var(--nm-nlcta-btn-text) 35%, transparent);
	border-block-start-color: var(--nm-nlcta-btn-text);
	border-radius: 50%;
	animation: nm-nlcta-spin 0.7s linear infinite;
}

.nm-newsletter-cta-pro__submit.is-loading .nm-newsletter-cta-pro__submit-spinner {
	display: inline-block;
}

.nm-newsletter-cta-pro__feedback {
	margin: 8px 0 0;
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--nm-nlcta-glow);
	text-align: start;
}

.nm-newsletter-cta-pro__feedback.is-error {
	color: var(--eb-market-negative, #ef4444);
}

.nm-newsletter-cta-pro__feedback[hidden] {
	display: none !important;
}

.nm-newsletter-cta-pro__shortcode {
	text-align: start;
}

.nm-newsletter-cta-pro__shortcode input[type='email'],
.nm-newsletter-cta-pro__shortcode input[type='text'] {
	min-block-size: 58px;
	border-radius: 16px !important;
}

/* Decorative visual — visual left in RTL */
.nm-newsletter-cta-pro__visual {
	position: relative;
	min-block-size: 180px;
	display: grid;
	place-items: center;
	isolation: isolate;
}

.nm-newsletter-cta-pro__visual-icon {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	inline-size: 112px;
	block-size: 112px;
	border-radius: 28px;
	border: 1px solid color-mix(in srgb, var(--nm-nlcta-glow) 28%, var(--nm-nlcta-border));
	background: color-mix(in srgb, var(--eb-card-bg, var(--eb-secondary)) 55%, transparent);
	color: var(--nm-nlcta-glow);
	box-shadow:
		0 18px 42px color-mix(in srgb, var(--eb-primary) 28%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--eb-heading) 10%, transparent);
	backdrop-filter: blur(8px);
}

.nm-newsletter-cta-pro--animated .nm-newsletter-cta-pro__visual-icon {
	animation: nm-nlcta-float 6s ease-in-out infinite reverse;
}

.nm-newsletter-cta-pro__chart-line {
	position: absolute;
	block-size: 2px;
	border-radius: 99px;
	background: linear-gradient(
		90deg,
		transparent,
		color-mix(in srgb, var(--nm-nlcta-glow) 70%, transparent),
		transparent
	);
	opacity: 0.55;
}

.nm-newsletter-cta-pro__chart-line--1 {
	inset: 22% 8% auto 18%;
	inline-size: 58%;
	transform: rotate(-8deg);
}

.nm-newsletter-cta-pro__chart-line--2 {
	inset: auto 12% 30% 10%;
	inline-size: 48%;
	transform: rotate(6deg);
}

.nm-newsletter-cta-pro__chart-line--3 {
	inset: 48% 24% auto 6%;
	inline-size: 36%;
	transform: rotate(-14deg);
	opacity: 0.35;
}

.nm-newsletter-cta-pro__grid-dot {
	position: absolute;
	inline-size: 6px;
	block-size: 6px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--nm-nlcta-glow) 80%, transparent);
	box-shadow: 0 0 12px color-mix(in srgb, var(--nm-nlcta-glow) 50%, transparent);
}

.nm-newsletter-cta-pro__grid-dot--1 {
	inset: 18% 20% auto auto;
}

.nm-newsletter-cta-pro__grid-dot--2 {
	inset: auto 28% 22% auto;
}

.nm-newsletter-cta-pro__grid-dot--3 {
	inset: 62% auto auto 24%;
}

.nm-newsletter-cta-pro--no-visual .nm-newsletter-cta-pro__grid {
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}

.nm-newsletter-cta-pro--animated {
	animation: nm-nlcta-fade-in 0.65s ease both;
}

/* Tablet */
@media (max-width: 1024px) {
	.nm-newsletter-cta-pro__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.nm-newsletter-cta-pro__visual {
		grid-column: 1 / -1;
		min-block-size: 140px;
	}

	.nm-newsletter-cta-pro--no-visual .nm-newsletter-cta-pro__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Mobile */
@media (max-width: 640px) {
	.nm-newsletter-cta-pro__inner {
		padding: clamp(22px, 5vw, 32px);
	}

	.nm-newsletter-cta-pro__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.nm-newsletter-cta-pro__form {
		grid-template-columns: minmax(0, 1fr);
	}

	.nm-newsletter-cta-pro__submit {
		inline-size: 100%;
	}

	.nm-newsletter-cta-pro__description {
		max-inline-size: none;
	}

	.nm-newsletter-cta-pro__visual {
		min-block-size: 120px;
	}

	.nm-newsletter-cta-pro--no-visual .nm-newsletter-cta-pro__visual {
		display: none;
	}
}

@keyframes nm-nlcta-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-6px);
	}
}

@keyframes nm-nlcta-pulse {
	0%,
	100% {
		opacity: 0.45;
		transform: scale(1);
	}
	50% {
		opacity: 0.75;
		transform: scale(1.06);
	}
}

@keyframes nm-nlcta-fade-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes nm-nlcta-spin {
	to {
		transform: rotate(360deg);
	}
}

.nm-newsletter-cta-pro--financial {
	--nm-nlcta-section-bg: #0b5c5c;
	--nm-nlcta-headline: #ffffff;
	--nm-nlcta-description: rgba(255, 255, 255, 0.86);
	--nm-nlcta-btn-bg: #f5b719;
	--nm-nlcta-btn-text: #1a1404;
	--nm-nlcta-input-bg: #ffffff;
	--nm-nlcta-radius: 10px;
	background: var(--nm-nlcta-section-bg);
	border: 0;
	overflow: hidden;
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__inner {
	padding: var(--nm-nlcta-pad, 0.8rem 1.1rem);
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__grid {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: 5.5rem minmax(0, 1.5fr) minmax(16rem, 1fr);
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__visual {
	order: 0;
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__headline {
	color: var(--nm-nlcta-headline, #fff);
	font-size: 1.2rem;
	line-height: 1.25;
	margin: 0 0 0.2rem;
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__description {
	color: var(--nm-nlcta-description, rgba(255, 255, 255, 0.86));
	font-size: 0.88rem;
	line-height: 1.45;
	margin: 0;
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__form {
	display: flex;
	gap: 0.5rem;
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__input {
	background: var(--nm-nlcta-input-bg, #fff);
	border: 1px solid var(--nm-nlcta-input-border, transparent);
	border-radius: 8px;
	color: var(--nm-nlcta-input-text, #12202e);
	flex: 1 1 auto;
	min-block-size: var(--nm-nlcta-control-h, 2.35rem);
	padding: 0.4rem 0.75rem;
}

.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__submit {
	background: var(--nm-nlcta-btn-bg, #f5b719);
	border: 0;
	border-radius: 8px;
	color: var(--nm-nlcta-btn-text, #1a1404);
	font-weight: 800;
	min-block-size: var(--nm-nlcta-control-h, 2.35rem);
	padding-inline: 0.9rem;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__grid {
		grid-template-columns: 1fr;
	}

	.nm-newsletter-cta-pro--financial .nm-newsletter-cta-pro__visual {
		order: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nm-newsletter-cta-pro--animated,
	.nm-newsletter-cta-pro--animated .nm-newsletter-cta-pro__glow,
	.nm-newsletter-cta-pro--animated .nm-newsletter-cta-pro__pulse,
	.nm-newsletter-cta-pro--animated .nm-newsletter-cta-pro__visual-icon {
		animation: none;
	}
}
