.dual-cta {
	padding: 100px 40px;
	background: var(--theme-palette-color-3, #1A2A3A);
	position: relative;
	overflow: hidden;
}

.dual-cta::before {
	content: '';
	position: absolute;
	top: -100px;
	right: -100px;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(232, 185, 49, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.dual-cta__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	position: relative;
	z-index: 1;
}

/* ---- Card base ---- */
.dual-cta__card {
	padding: 48px 40px;
	border-radius: 16px;
}

/* Direct card (left) — subtle glass effect */
.dual-cta__card--direct {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Relational card (right) — yellow tinted */
.dual-cta__card--relational {
	background: rgba(232, 185, 49, 0.08);
	border: 1px solid rgba(232, 185, 49, 0.15);
}

/* ---- Labels ---- */
.dual-cta__label {
	font-family: var(--fw-font-mono, 'JetBrains Mono', monospace);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 16px;
}

.dual-cta__card--direct .dual-cta__label {
	color: var(--fw-text-tertiary, #9CA3AF);
}

.dual-cta__card--relational .dual-cta__label {
	color: var(--theme-palette-color-1, #E8B931);
}

/* ---- Text ---- */
.dual-cta__headline {
	font-family: var(--fw-font-serif, 'DM Serif Display', Georgia, serif);
	font-size: 1.75rem;
	font-weight: 400;
	color: var(--theme-palette-color-8, #FFFFFF);
	margin-bottom: 12px;
	line-height: 1.25;
}

.dual-cta__desc {
	font-size: 0.9375rem;
	color: var(--fw-text-tertiary, #9CA3AF);
	line-height: 1.65;
	margin-bottom: 28px;
}

/* ---- Direct CTA button ---- */
.dual-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--theme-palette-color-8, #FFFFFF);
	color: var(--theme-palette-color-3, #1A2A3A);
	padding: 14px 28px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.9375rem;
	transition: transform 0.1s, box-shadow 0.2s;
}

.dual-cta__btn:hover {
	color: var(--theme-palette-color-3, #1A2A3A);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

/* ---- Relational form ---- */
.dual-cta__simple-form {
	display: flex;
	gap: 10px;
}

.dual-cta__simple-form input[type="email"] {
	flex: 1;
	padding: 12px 16px;
	border: 1.5px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.06);
	font-family: var(--fw-font-sans, 'DM Sans', sans-serif);
	font-size: 0.875rem;
	color: var(--theme-palette-color-8, #FFFFFF);
	outline: none;
	transition: border-color 0.2s;
}

.dual-cta__simple-form input[type="email"]:focus {
	border-color: var(--theme-palette-color-1, #E8B931);
}

.dual-cta__simple-form input[type="email"]::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.dual-cta__simple-form button {
	background: var(--theme-palette-color-1, #E8B931);
	color: var(--theme-palette-color-3, #1A2A3A);
	border: none;
	padding: 12px 20px;
	border-radius: 8px;
	font-family: var(--fw-font-sans, 'DM Sans', sans-serif);
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s;
	white-space: nowrap;
}

.dual-cta__simple-form button:hover {
	background: var(--theme-palette-color-2, #D4A72A);
	color: var(--theme-palette-color-3, #1A2A3A);
}

/* ---- Shortcode form overrides on dark bg ---- */
.dual-cta__card--relational .fluentform {
	text-align: left;
}

.dual-cta__card--relational .ff-el-group {
	margin-bottom: 10px;
}

.dual-cta__card--relational .ff-el-form-control {
	border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--fw-offwhite, #E5E7EB) !important;
	border-radius: 8px !important;
	font-family: var(--fw-font-sans, 'DM Sans', sans-serif) !important;
	font-size: 0.875rem !important;
	padding: 12px 16px !important;
	height: 50px !important;
	box-sizing: border-box !important;
	line-height: 1.25 !important;
}

.dual-cta__card--relational .ff-el-form-control::placeholder {
	color: rgba(255, 255, 255, 0.35) !important;
}

.dual-cta__card--relational .ff-el-form-control:focus {
	border-color: var(--theme-palette-color-1, #E8B931) !important;
}

.dual-cta__card--relational .ff-btn-submit {
	background: var(--theme-palette-color-1, #E8B931) !important;
	color: var(--theme-palette-color-3, #1A2A3A) !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-family: var(--fw-font-sans, 'DM Sans', sans-serif) !important;
	font-size: 0.875rem !important;
	padding: 12px 20px !important;
	height: 50px !important;
	box-sizing: border-box !important;
	line-height: 1.25 !important;
}

.dual-cta__card--relational .ff-btn-submit:hover {
	background: var(--theme-palette-color-2, #D4A72A) !important;
}

.dual-cta__card--relational .ff-el-input--label label {
	color: var(--fw-offwhite, #E5E7EB) !important;
	font-size: 0.8125rem !important;
}

/* ---- Note text ---- */
.dual-cta__note {
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.3);
	margin-top: 10px;
}

/* ==========================================================================
   Simple CTA Variant
   ========================================================================== */

.dual-cta--simple {
	text-align: center;
}

.dual-cta__simple-inner {
	max-width: 680px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.dual-cta--simple .dual-cta__label {
	color: var(--theme-palette-color-1, #E8B931);
}

.dual-cta--simple .dual-cta__headline {
	font-size: clamp(1.75rem, 3.5vw, 2.375rem);
	margin-bottom: 16px;
}

.dual-cta--simple .dual-cta__desc {
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 36px;
}

/* Yellow button variant for simple CTA */
.dual-cta__btn--yellow {
	background: var(--theme-palette-color-1, #E8B931);
	color: var(--theme-palette-color-3, #1A2A3A);
}

.dual-cta__btn--yellow:hover {
	background: var(--theme-palette-color-2, #D4A72A);
	color: var(--theme-palette-color-3, #1A2A3A);
	box-shadow: 0 4px 20px rgba(232, 185, 49, 0.3);
}

/* ---- Color picker support ---- */
.dual-cta.has-text-color .dual-cta__headline,
.dual-cta.has-text-color .dual-cta__label,
.dual-cta.has-text-color .dual-cta__desc,
.dual-cta.has-text-color .dual-cta__note {
	color: inherit;
}

.dual-cta.has-text-color .dual-cta__desc {
	opacity: 0.7;
}

.dual-cta.has-text-color .dual-cta__note {
	opacity: 0.4;
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.dual-cta__inner {
		grid-template-columns: 1fr;
	}

	.dual-cta__simple-form {
		flex-direction: column;
	}
}

@media (max-width: 768px) {
	.dual-cta {
		padding: 64px 20px;
	}

	.dual-cta__card {
		padding: 36px 28px;
	}
}
