.cion-sub {
	--cion-title-size: 1.25em;
	--cion-text-size: 1em;
	--cion-gap: 24px;
	max-width: 100%;
}
.cion-sub__title { font-size: var(--cion-title-size); font-weight: 700; margin-bottom: 4px; line-height: 1.2; }
.cion-sub__text { font-size: var(--cion-text-size); opacity: .8; margin-bottom: 12px; }

/* Columns */
.cion-sub__col { min-width: 0; }
.cion-sub__col--text { margin-bottom: 12px; }

/* Layout: split (two columns) — used by the shortcode */
.cion-sub--split { display: flex; align-items: center; gap: var(--cion-gap); flex-wrap: wrap; }
.cion-sub--split .cion-sub__col { flex: 1 1 260px; margin-bottom: 0; }
.cion-sub--split .cion-sub__col--form { min-width: 260px; }

/* Layout: Elementor widget — the widget's responsive controls drive
   display/flex-direction; here we just provide sensible column defaults. */
.cion-sub--elementor { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cion-gap); }
.cion-sub--elementor .cion-sub__col { flex: 1 1 auto; margin-bottom: 0; }

/* Form row */
.cion-sub__row { display: flex; gap: 8px; }
.cion-sub--stacked .cion-sub__row { flex-direction: column; }

.cion-sub__email {
	flex: 1;
	padding: 12px 14px;
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 16px;
	min-width: 0;
}
.cion-sub__btn {
	padding: 12px 22px;
	border: none;
	border-radius: 8px;
	background: #2271b1;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s;
}
.cion-sub__btn:hover { background: #185a92; }
.cion-sub__btn:disabled { opacity: .6; cursor: default; }

/* Honeypot: hidden from humans, visible to bots. */
.cion-sub__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px;
	overflow: hidden;
}

.cion-sub__consent {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 12px;
	opacity: .75;
	margin-top: 8px;
	text-align: left;
}
.cion-sub__consent input { margin-top: 3px; }

.cion-sub__msg { margin-top: 10px; font-size: 14px; min-height: 1em; }
.cion-sub__msg--ok { color: #1a7f37; }
.cion-sub__msg--error { color: #b32d2e; }

/* Responsive: collapse the split layout on small screens. */
@media (max-width: 600px) {
	.cion-sub--split { flex-direction: column; align-items: stretch; }
	.cion-sub--split .cion-sub__col--text { max-width: 100% !important; flex-basis: auto !important; }
	.cion-sub__row { flex-direction: column; }
}
