/* Mindvalley Article CTAs v1.0.0
 * One stylesheet for all four patterns. Change a value here and every
 * CTA on the blog updates. Font inherits from the theme by default.
 */
.mvcta {
	--mvcta-font: inherit;
	--mvcta-bg: radial-gradient(90% 140% at 100% 50%, #8f3fdd 0%, rgba(143, 63, 221, 0) 60%),
		linear-gradient(135deg, #7618d1 0%, #5d12b2 100%);
	--mvcta-heading: #ffffff;
	--mvcta-text: #eadcfc;
	--mvcta-muted: #dccaf7;
	--mvcta-yellow: linear-gradient(180deg, #fde572 0%, #f7c535 100%);
	--mvcta-yellow-glow: 0 8px 22px rgba(247, 197, 53, 0.35);
	--mvcta-ink: #1c1030;
	--mvcta-field: #ffffff;
	--mvcta-radius: 16px;

	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 2.5rem;
	margin: 2.5rem 0;
	padding: 2.5rem 2.75rem;
	border-radius: var(--mvcta-radius);
	background: var(--mvcta-bg);
	color: var(--mvcta-text);
	font-family: var(--mvcta-font);
	overflow: hidden;
}
.mvcta *,
.mvcta *::before,
.mvcta *::after { box-sizing: border-box; }

/* Classic themes wrap group content in an extra div: make it invisible to layout. */
.mvcta .wp-block-group__inner-container { display: contents; }

/* Neutralise theme/block-gap margins inside the card. */
.mvcta.mvcta > *,
.mvcta .mvcta__body > * { margin: 0; }

.mvcta--article,
.mvcta--quiz { grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr); }

/* Text column */
.mvcta .mvcta__body {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	max-width: 34rem;
}
.mvcta .mvcta__title {
	color: var(--mvcta-heading);
	font-family: var(--mvcta-font);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 1.9rem);
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: -0.01em;
}
.mvcta .mvcta__text {
	color: var(--mvcta-text);
	font-family: var(--mvcta-font);
	font-size: 1rem;
	line-height: 1.55;
}
.mvcta .mvcta__text a { color: #ffffff; text-decoration: underline; }

/* Button (article + quiz) */
.mvcta .mvcta__actions { margin-top: 1rem; gap: 0.75rem; }
.mvcta .mvcta__btn { margin: 0; }
.mvcta .wp-block-button__link,
.mvcta .mvcta-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.1rem;
	padding: 0.85rem 2rem;
	border: 0;
	border-radius: 999px;
	background: var(--mvcta-yellow);
	box-shadow: var(--mvcta-yellow-glow);
	color: var(--mvcta-ink);
	font-family: var(--mvcta-font);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, filter 0.15s ease;
}
.mvcta .wp-block-button__link:hover,
.mvcta .mvcta-form__submit:hover {
	transform: translateY(-1px);
	filter: brightness(1.04);
	color: var(--mvcta-ink);
	background: var(--mvcta-yellow);
}
.mvcta .wp-block-button__link:focus-visible,
.mvcta .mvcta-form__submit:focus-visible,
.mvcta .mvcta-form input:focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: 3px;
}

/* Illustration (article + quiz) */
.mvcta .mvcta__art {
	justify-self: center;
	width: 100%;
	max-width: 15rem;
}
.mvcta .mvcta__art img { display: block; width: 100%; height: auto; }

/* Forms (masterclass + newsletter) */
.mvcta .mvcta-form { display: flex; flex-direction: column; gap: 0.6rem; margin: 0; }
.mvcta .mvcta-form__fields { display: grid; gap: 0.6rem; }
.mvcta .mvcta__form--masterclass .mvcta-form__fields { grid-template-columns: 1fr 1fr; }
.mvcta .mvcta-form input[type="text"],
.mvcta .mvcta-form input[type="email"] {
	width: 100%;
	min-height: 3rem;
	margin: 0;
	padding: 0.7rem 1.1rem;
	border: 2px solid transparent;
	border-radius: 12px;
	background: var(--mvcta-field);
	color: var(--mvcta-ink);
	font-family: var(--mvcta-font);
	font-size: 1rem;
	box-shadow: none;
}
.mvcta .mvcta-form input::placeholder { color: #3a2d52; opacity: 1; }
.mvcta .mvcta-form input[aria-invalid="true"] { border-color: #ffb4b4; }
.mvcta .mvcta-form__submit { width: 100%; margin-top: 0.15rem; }
.mvcta .mvcta-form__submit[disabled] { opacity: 0.7; cursor: progress; transform: none; }
.mvcta .mvcta-form__legal {
	margin: 0.2rem 0 0;
	color: var(--mvcta-muted);
	font-size: 0.8rem;
	line-height: 1.5;
}
.mvcta .mvcta-form__legal a { color: #ffffff; text-decoration: underline; }
.mvcta .mvcta-form__status { margin: 0; font-size: 0.9rem; color: #ffffff; }
.mvcta .mvcta-form__status:empty { display: none; }
.mvcta .mvcta-form__status.is-error { color: #ffd0d0; }
.mvcta .mvcta__done {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 600;
}
.mvcta .mvcta__notice {
	margin: 0 0 0.6rem;
	padding: 0.6rem 0.8rem;
	border-radius: 8px;
	background: #fff4c2;
	color: #4a3500;
	font-size: 0.85rem;
}
.mvcta .mvcta-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

/* Tablet and mobile */
@media (max-width: 767px) {
	.mvcta,
	.mvcta--article,
	.mvcta--quiz {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
		padding: 2rem 1.5rem;
	}
	.mvcta .mvcta__art { display: none; }
}
@media (max-width: 480px) {
	.mvcta .mvcta__form--masterclass .mvcta-form__fields { grid-template-columns: 1fr; }
	.mvcta .wp-block-button__link { width: 100%; }
	.mvcta .mvcta__actions .mvcta__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.mvcta .wp-block-button__link,
	.mvcta .mvcta-form__submit { transition: none; }
}

/* Keep CTA text colours above Elementor's post-content styles */
.mvcta .mvcta__title:not(.has-text-color) { color: var(--mvcta-heading) !important; }
.mvcta .mvcta__text:not(.has-text-color) { color: var(--mvcta-text) !important; }
.mvcta .mvcta-form__legal { color: var(--mvcta-muted) !important; }
.mvcta .mvcta__text a,
.mvcta .mvcta-form__legal a { color: #ffffff !important; }
