/* ---------- Callout blocks ---------- */
.ccb-block {
	margin: 1.5em 0;
	padding: 1em 1.25em;
	border-left: 4px solid var(--ccb-color, #3b82f6);
	background: var(--ccb-bg, #eff6ff);
	border-radius: 4px;
}

.ccb-block-header {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 700;
	color: var(--ccb-color, #3b82f6);
	margin-bottom: 0.4em;
}

.ccb-icon {
	font-size: 1.15em;
	line-height: 1;
}

.ccb-block-body {
	color: #1f2937;
}

.ccb-block-body p:first-child {
	margin-top: 0;
}

.ccb-block-body p:last-child {
	margin-bottom: 0;
}

/* ---------- CTA banner ---------- */
.ccb-cta-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	margin: 2em 0;
	padding: 1.5em 1.75em;
	background: linear-gradient(135deg, #4f46e5, #7c3aed);
	border-radius: 8px;
	color: #ffffff;
}

.ccb-cta-title {
	margin: 0 0 0.25em;
	color: #ffffff;
	font-size: 1.2em;
}

.ccb-cta-desc {
	color: rgba(255, 255, 255, 0.9);
}

.ccb-cta-desc p {
	margin: 0;
}

.ccb-cta-button {
	flex-shrink: 0;
	display: inline-block;
	padding: 0.7em 1.4em;
	background: #ffffff;
	color: #4f46e5;
	font-weight: 700;
	text-decoration: none;
	border-radius: 6px;
	white-space: nowrap;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ccb-cta-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	color: #4f46e5;
}

/* ---------- Pros & Cons ---------- */
.ccb-pros-cons {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25em;
	margin: 1.5em 0;
}

.ccb-pc-column {
	flex: 1 1 260px;
	padding: 1.1em 1.3em;
	border-radius: 8px;
}

.ccb-pc-pros {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
}

.ccb-pc-cons {
	background: #fef2f2;
	border: 1px solid #fecaca;
}

.ccb-pc-heading {
	margin: 0 0 0.6em;
	font-size: 1.05em;
}

.ccb-pc-pros .ccb-pc-heading {
	color: #15803d;
}

.ccb-pc-cons .ccb-pc-heading {
	color: #b91c1c;
}

.ccb-pc-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ccb-pc-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
	margin: 0 0 0.5em;
	color: #1f2937;
}

.ccb-pc-list li:last-child {
	margin-bottom: 0;
}

.ccb-pc-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.4em;
	height: 1.4em;
	border-radius: 50%;
	font-weight: 700;
	line-height: 1;
}

.ccb-pc-pros .ccb-pc-icon {
	background: #22c55e;
	color: #ffffff;
}

.ccb-pc-cons .ccb-pc-icon {
	background: #ef4444;
	color: #ffffff;
}

/* ---------- Contact Form 7 wrapper ---------- */
.ccb-form-wrap {
	margin: 1.5em 0;
	padding: 1.5em;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}
