/* components/cta-block/cta-block.css */

.mvc-cta-block {
	padding-block: var(--section-padding-sm);
}

/* ── Background variants ────────────────────────────────────────────────── */
.mvc-cta-block--primary {
	background: var(--mvc-gradient-section,
		linear-gradient(180deg, var(--mvc-color-primary, var(--color-primary)) 0%, var(--color-primary-dark, #111d4a) 100%));
}
.mvc-cta-block--dark {
	background: var(--mvc-gradient-hero-dark,
		linear-gradient(160deg, #060c1e 0%, var(--mvc-color-primary, var(--color-primary)) 55%, #0c1a52 100%));
}
.mvc-cta-block--alt     { background-color: var(--color-bg-alt); }
.mvc-cta-block--accent  {
	background: var(--mvc-gradient-accent,
		linear-gradient(135deg, var(--mvc-color-accent, var(--color-accent)) 0%, var(--color-accent-dark, #1d4ed8) 100%));
}

/* ── Inner layouts ──────────────────────────────────────────────────────── */
.mvc-cta-block__inner {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
}

/* Split: text left, actions right */
.mvc-cta-block--split .mvc-cta-block__inner {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

@media (max-width: 767px) {
	.mvc-cta-block--split .mvc-cta-block__inner {
		flex-direction: column;
	}
}

/* Centered */
.mvc-cta-block--center .mvc-cta-block__inner {
	align-items: center;
	text-align: center;
}

.mvc-cta-block--center .mvc-cta-block__actions {
	justify-content: center;
}

/* Boxed: add card-like container */
.mvc-cta-block--boxed .mvc-container {
	max-width: 900px;
}

.mvc-cta-block--boxed .mvc-cta-block__inner {
	background-color: var(--color-surface);
	border-radius: var(--radius-xl);
	padding: var(--space-12);
	box-shadow: var(--shadow-lg);
	align-items: center;
	text-align: center;
}

/* Banner: compact horizontal */
.mvc-cta-block--banner .mvc-cta-block__inner {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
}

@media (max-width: 767px) {
	.mvc-cta-block--banner .mvc-cta-block__inner {
		flex-direction: column;
		text-align: center;
	}
}

/* ── Text ───────────────────────────────────────────────────────────────── */
.mvc-cta-block__headline {
	font-size: var(--text-3xl);
	font-weight: var(--mvc-font-weight-heading, var(--font-weight-bold, 700));
	line-height: var(--leading-tight);
	margin: 0 0 var(--space-3);
}

.mvc-cta-block--primary .mvc-cta-block__headline,
.mvc-cta-block--dark    .mvc-cta-block__headline,
.mvc-cta-block--accent  .mvc-cta-block__headline {
	color: var(--color-text-inverse);
}

.mvc-cta-block__subtext {
	font-size: var(--text-lg);
	margin: 0;
	max-width: 60ch;
}

.mvc-cta-block--primary .mvc-cta-block__subtext,
.mvc-cta-block--dark    .mvc-cta-block__subtext,
.mvc-cta-block--accent  .mvc-cta-block__subtext {
	color: rgba(255, 255, 255, 0.85);
}

/* ── Actions ────────────────────────────────────────────────────────────── */
.mvc-cta-block__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);
	flex-shrink: 0;
}

/* Ghost button on dark/colored backgrounds */
.mvc-cta-block__btn--inverse-ghost {
	color: var(--color-text-inverse);
	border-color: rgba(255, 255, 255, 0.5);
}

.mvc-cta-block__btn--inverse-ghost:hover {
	background-color: rgba(255, 255, 255, 0.15);
	border-color: var(--color-text-inverse);
}

/* ── Phone link ─────────────────────────────────────────────────────────── */
.mvc-cta-block__phone {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--text-lg);
	font-weight: var(--mvc-font-weight-heading, var(--font-weight-bold, 700));
	text-decoration: none;
	color: var(--color-text-inverse);
	transition: opacity var(--transition-fast);
}

.mvc-cta-block__phone:hover { opacity: 0.85; }

.mvc-cta-block--alt .mvc-cta-block__phone {
	color: var(--color-primary);
}

@media (max-width: 479px) {
	.mvc-cta-block__headline { font-size: var(--text-2xl); }
	.mvc-cta-block__subtext  { font-size: var(--text-base); }
}

/* ── Style overrides ────────────────────────────────────────────────────── */

/* Full-width centered — max-width content centered, generous vertical space */
.mvc-cta-block--style-full-width-centered {
	padding-block: var(--section-py-lg);
}
.mvc-cta-block--style-full-width-centered .mvc-cta-block__inner {
	align-items: center;
	text-align: center;
}
.mvc-cta-block--style-full-width-centered .mvc-cta-block__actions {
	justify-content: center;
}
.mvc-cta-block--style-full-width-centered .mvc-cta-block__subtext {
	margin-inline: auto;
}

/* Split panel — headline left, actions right, primary bg */
.mvc-cta-block--style-split-panel .mvc-cta-block__inner {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-10);
}
@media (max-width: 767px) {
	.mvc-cta-block--style-split-panel .mvc-cta-block__inner {
		flex-direction: column;
		text-align: center;
	}
	.mvc-cta-block--style-split-panel .mvc-cta-block__actions {
		justify-content: center;
	}
}

/* Dark split — dark surface with accent-colored right column */
.mvc-cta-block--style-dark-split {
	background: var(--color-gray-900);
}
.mvc-cta-block--style-dark-split .mvc-cta-block__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.mvc-cta-block--style-dark-split .mvc-cta-block__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--space-12);
	background: var(--color-gray-900);
	color: var(--color-text-inverse);
	margin-bottom: 0;
}
.mvc-cta-block--style-dark-split .mvc-cta-block__headline,
.mvc-cta-block--style-dark-split .mvc-cta-block__subtext {
	color: var(--color-text-inverse);
}
.mvc-cta-block--style-dark-split .mvc-cta-block__actions {
	padding: var(--space-12);
	background: var(--mvc-color-accent, var(--color-accent));
	justify-content: center;
	align-items: center;
}
@media (max-width: 767px) {
	.mvc-cta-block--style-dark-split .mvc-cta-block__inner {
		grid-template-columns: 1fr;
	}
	.mvc-cta-block--style-dark-split .mvc-cta-block__actions {
		padding: var(--space-8);
	}
}

/* Minimal bar — compact, border-top/bottom only, no fill */
.mvc-cta-block--style-minimal-bar {
	background: transparent;
	border-block: 1px solid var(--color-border);
	padding-block: var(--space-8);
}
.mvc-cta-block--style-minimal-bar .mvc-cta-block__text {
	margin-bottom: 0;
}
.mvc-cta-block--style-minimal-bar .mvc-cta-block__headline {
	font-size: var(--text-xl);
	color: var(--color-heading);
	margin-bottom: 0;
}
.mvc-cta-block--style-minimal-bar .mvc-cta-block__headline:not(:last-child) {
	margin-bottom: var(--space-2);
}
.mvc-cta-block--style-minimal-bar .mvc-cta-block__subtext {
	color: var(--color-text-muted);
}
.mvc-cta-block--style-minimal-bar .mvc-cta-block__inner {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-8);
}
@media (max-width: 767px) {
	.mvc-cta-block--style-minimal-bar .mvc-cta-block__inner {
		flex-direction: column;
		text-align: center;
	}
}
