/* Field width control — admin sets each field to Full or Half width in
   the form builder. flex-wrap means half-width fields pair up two-per-row
   automatically regardless of order or count, unlike a fixed grid that
   needs fields hand-paired in matching sets of two. */
.cccf-form-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0 14px;
}
.cccf-form-grid .cy-field {
	margin-bottom: 16px;
}
.cccf-field--full {
	flex: 1 1 100%;
}
.cccf-field--half {
	flex: 1 1 calc(50% - 7px);
	min-width: 200px;
}
@media (max-width: 639px) {
	.cccf-field--half {
		flex-basis: 100%;
	}
}

/* Honeypot field — invisible to real visitors, present for bots that
   auto-fill every input they find. */
.cccf-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Response message — mirrors the site's existing .wpcf7-response-output
   pattern (see assets/css/cyclone-pages.css) so it feels native to the
   theme even though this plugin doesn't depend on that CSS being present. */
.cccf-response {
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 11px;
	font-size: 14px;
	border: 1.5px solid #dde6ef;
}
.cccf-response--success {
	background: #e9f9ee;
	border-color: #8fd6a6;
	color: #1e7a3d;
}
.cccf-response--error {
	background: #fdecec;
	border-color: #f3b7b7;
	color: #b32424;
}

/* Turnstile widget spacing to match the rest of the field stack */
.cy-cform .cf-turnstile {
	margin-bottom: 4px;
}

/* Disabled submit state while a request is in flight */
.cccf-form button[type="submit"]:disabled {
	opacity: .6;
	cursor: not-allowed;
}
