/* ORG Contact Form (CF7) — matches design mock */

.wpcf7 .org-contact-form,
.elementor-widget-shortcode .org-contact-form,
.org-contact-form {
	margin: 0;
	width: 100%;
	max-width: 100%;
}

.wpcf7 .org-contact-form .wpcf7-form,
.org-contact-form .wpcf7-form {
	margin: 0;
	display: block;
}

/* CF7 autop empty paragraphs */
.wpcf7 .org-contact-form .wpcf7-form > p:empty,
.org-contact-form .wpcf7-form > p:empty {
	display: none;
	margin: 0;
}

.wpcf7 .org-contact-form .wpcf7-form > p,
.org-contact-form .wpcf7-form > p {
	margin: 0;
}

.wpcf7 .org-contact-form .wpcf7-form label br,
.org-contact-form .wpcf7-form label br {
	display: none !important;
}

/* Labels */
.wpcf7 .org-contact-form .wpcf7-form label,
.wpcf7 .org-contact-form label,
.org-contact-form .wpcf7-form label,
.org-contact-form label {
	display: block !important;
	width: 100% !important;
	margin: 0 0 22px !important;
	color: #0000c0 !important;
	font-family: Outfit, system-ui, sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	letter-spacing: 2px !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}
.wpcf7-list-item{display: flex;align-items: center;gap: 12px;color: #303339;}

.wpcf7 .org-contact-form .wpcf7-form-control-wrap,
.org-contact-form .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
	margin-top: 10px !important;
}

/* Inputs / selects / textarea */
.wpcf7 .org-contact-form input.wpcf7-form-control:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
.wpcf7 .org-contact-form select.wpcf7-form-control,
.wpcf7 .org-contact-form textarea.wpcf7-form-control,
.org-contact-form input.wpcf7-form-control:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
.org-contact-form select.wpcf7-form-control,
.org-contact-form textarea.wpcf7-form-control {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 56px !important;
	height: auto !important;
	padding: 12px 16px !important;
	border: 1px solid #86a2d8 !important;
	border-radius: 0 !important;
	background-color: #fff !important;
	color: #1a1a1a !important;
	font-family: Outfit, system-ui, sans-serif !important;
	font-weight: 300 !important;
	font-size: 22px !important;
	line-height: 1.35 !important;
	box-shadow: none !important;
	outline: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.wpcf7 .org-contact-form textarea.wpcf7-form-control,
.org-contact-form textarea.wpcf7-form-control {
	min-height: 170px !important;
	padding-top: 8px !important;
	padding-bottom: 16px !important;
	resize: vertical;
}

.wpcf7 .org-contact-form select.wpcf7-form-control,
.org-contact-form select.wpcf7-form-control {
	padding-right: 44px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230000C0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-color: #fff !important;
	cursor: pointer;
}

.wpcf7 .org-contact-form input.wpcf7-form-control::placeholder,
.wpcf7 .org-contact-form textarea.wpcf7-form-control::placeholder,
.org-contact-form input.wpcf7-form-control::placeholder,
.org-contact-form textarea.wpcf7-form-control::placeholder {
	color: #9a9a9a !important;
	opacity: 1 !important;
	font-weight: 300 !important;
}

/* Two-column rows */
.wpcf7 .org-contact-form .org-contact-form-row,
.org-contact-form .org-contact-form-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 24px !important;
	margin: 0 0 22px !important;
	width: 100% !important;
}

.wpcf7 .org-contact-form .org-contact-form-row > label,
.org-contact-form .org-contact-form-row > label {
	margin: 0 !important;
	width: 100% !important;
}

/* Full-width fields stay full width */
.wpcf7 .org-contact-form > label,
.org-contact-form > label,
.wpcf7 .org-contact-form .wpcf7-form > label,
.org-contact-form .wpcf7-form > label {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Radios */
.wpcf7 .org-contact-form .org-contact-form-radio .wpcf7-form-control-wrap,
.org-contact-form .org-contact-form-radio .wpcf7-form-control-wrap {
	margin-top: 14px !important;
}

.wpcf7 .org-contact-form .org-contact-form-radio .wpcf7-radio,
.org-contact-form .org-contact-form-radio .wpcf7-radio {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 32px !important;
	margin: 0 !important;
	font-size: 22px !important;
	font-weight: 200 !important;
}

.wpcf7 .org-contact-form .org-contact-form-radio .wpcf7-list-item,
.org-contact-form .org-contact-form-radio .wpcf7-list-item {
	margin: 0 !important;
}

.wpcf7 .org-contact-form .org-contact-form-radio .wpcf7-list-item label,
.org-contact-form .org-contact-form-radio .wpcf7-list-item label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: auto !important;
	margin: 0 !important;
	color: #1a1a1a !important;
	font-size: 18px !important;
	font-weight: 300 !important;
	letter-spacing: 0.2px !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	cursor: pointer;
}

.wpcf7 .org-contact-form .org-contact-form-radio .wpcf7-list-item-label,
.org-contact-form .org-contact-form-radio .wpcf7-list-item-label {
	color: inherit !important;
	font: inherit !important;
	text-transform: none !important;
	letter-spacing: inherit !important;
}

.wpcf7 .org-contact-form .org-contact-form-radio input[type="radio"],
.org-contact-form .org-contact-form-radio input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #0000c0 !important;
	border-radius: 50% !important;
	background: #fff !important;
	cursor: pointer;
	flex-shrink: 0;
	position: relative;
	box-shadow: none !important;
}

.wpcf7 .org-contact-form .org-contact-form-radio input[type="radio"]:checked,
.org-contact-form .org-contact-form-radio input[type="radio"]:checked {
	border-color: #0000c0 !important;
}

.wpcf7 .org-contact-form .org-contact-form-radio input[type="radio"]:checked::after,
.org-contact-form .org-contact-form-radio input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: #0000c0;
}

/* Half-width preferred time */
.wpcf7 .org-contact-form .org-contact-form-time,
.org-contact-form .org-contact-form-time {
	max-width: calc(50% - 16px) !important;
}

.wpcf7 .org-contact-form .org-contact-form-note,
.org-contact-form .org-contact-form-note {
	margin: 0px 0 24px !important;
	color: #455577 !important;
	font-family: Outfit, system-ui, sans-serif !important;
	font-size: 22px !important;
	font-weight: 200 !important;
	line-height: 1.5 !important;
	text-transform: none !important;
	letter-spacing: 1% !important;
}

.wpcf7 .org-contact-form input.wpcf7-submit,
.wpcf7 .org-contact-form .wpcf7-submit,
.org-contact-form input.wpcf7-submit,
.org-contact-form .wpcf7-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-height: 54px !important;
	padding: 16px 32px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #0000c0 !important;
	background-color: #0000c0 !important;
	color: #fff !important;
	font-family: Outfit, system-ui, sans-serif !important;
	font-size: 22px !important;
	font-weight: 300 !important;
	letter-spacing: 1.8px !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
}

.wpcf7 .org-contact-form input.wpcf7-submit:hover,
.wpcf7 .org-contact-form .wpcf7-submit:hover,
.wpcf7 .org-contact-form input.wpcf7-submit:focus,
.org-contact-form input.wpcf7-submit:hover,
.org-contact-form .wpcf7-submit:hover,
.org-contact-form input.wpcf7-submit:focus {
	background: #0000c0 !important;
	background-color: #0000c0 !important;
	color: #fff !important;
	opacity: 0.9;
	outline: none !important;
}

.wpcf7 .org-contact-form .wpcf7-not-valid-tip,
.wpcf7 .org-contact-form .wpcf7-response-output,
.org-contact-form .wpcf7-not-valid-tip,
.org-contact-form .wpcf7-response-output {
	font-family: Outfit, system-ui, sans-serif;
	font-size: 13px;
}

@media (max-width: 767px) {
	.wpcf7 .org-contact-form .org-contact-form-row,
	.org-contact-form .org-contact-form-row {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
		margin-bottom: 14px !important;
	}

	.wpcf7 .org-contact-form .wpcf7-form label,
	.wpcf7 .org-contact-form label,
	.org-contact-form label {
		margin-bottom: 14px !important;
		font-size: 11px !important;
		letter-spacing: 1.2px !important;
	}

	.wpcf7 .org-contact-form input.wpcf7-form-control:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
	.wpcf7 .org-contact-form select.wpcf7-form-control,
	.wpcf7 .org-contact-form textarea.wpcf7-form-control,
	.org-contact-form input.wpcf7-form-control:not([type="submit"]):not([type="radio"]):not([type="checkbox"]),
	.org-contact-form select.wpcf7-form-control,
	.org-contact-form textarea.wpcf7-form-control {
		min-height: 44px !important;
		padding: 10px 12px !important;
		font-size: 13px !important;
	}

	.wpcf7 .org-contact-form .org-contact-form-radio .wpcf7-list-item label,
	.org-contact-form .org-contact-form-radio .wpcf7-list-item label {
		font-size: 13px !important;
	}

	.wpcf7 .org-contact-form .org-contact-form-time,
	.org-contact-form .org-contact-form-time {
		max-width: 100% !important;
	}

	.wpcf7 .org-contact-form .org-contact-form-note,
	.org-contact-form .org-contact-form-note {
		font-size: 12px !important;
		margin-bottom: 18px !important;
	}

	.wpcf7 .org-contact-form input.wpcf7-submit,
	.org-contact-form input.wpcf7-submit {
		min-height: 44px !important;
		padding: 10px 18px !important;
		font-size: 12px !important;
		letter-spacing: 1.2px !important;
	}
}
