/* CSP Contact Form public styles. Every selector is scoped to plugin markup. */
.cspform-wrap,
.cspform-wrap *{box-sizing:border-box}

.cspform-wrap{
	width:100%;
	max-width:var(--cspf-max-width,720px);
	margin:0 auto;
	color:var(--cspf-text,#182230);
	font-family:var(--cspf-font-family,inherit);
	font-size:16px;
	line-height:1.5;
	border-radius:var(--cspf-container-radius,18px);
}

.cspform-container-transparent{
	background:transparent;
	padding:0;
	border:0;
	box-shadow:none;
}

.cspform-container-solid{
	background:var(--cspf-bg,#fff);
	padding:var(--cspf-padding,30px);
	border:var(--cspf-container-border-width,1px) solid var(--cspf-container-border,#e4e7ec);
	box-shadow:var(--cspf-shadow,none);
}

.cspform-container-border{
	background:var(--cspf-bg,#fff);
	padding:var(--cspf-padding,30px);
	border:var(--cspf-container-border-width,1px) solid var(--cspf-container-border,#e4e7ec);
	box-shadow:var(--cspf-shadow,none);
}

/* Plugin Design intentionally neutralizes theme styling on the form element itself.
   This is narrowly scoped and prevents themes from adding unexpected heavy borders,
   backgrounds or padding like the ones that can otherwise surround the entire form. */
[data-cspform-wrap].cspform-mode-plugin .cspform{
	margin:0!important;
	padding:0!important;
	border:0!important;
	outline:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	min-width:0;
}

.cspform{margin:0}

.cspform-heading{
	margin:0 0 8px;
	padding:0;
	border:0;
	font-family:var(--cspf-heading-font-family,var(--cspf-font-family,inherit));
	font-size:var(--cspf-heading-size,30px);
	font-weight:var(--cspf-heading-weight,700);
	line-height:1.18;
	letter-spacing:-.018em;
	color:var(--cspf-heading-color,var(--cspf-text,#182230));
}
.cspform-heading-center .cspform-heading,.cspform-heading-center .cspform-intro{text-align:center}
.cspform-heading-right .cspform-heading,.cspform-heading-right .cspform-intro{text-align:right}

.cspform-intro{
	margin:0 0 26px;
	padding:0;
	font-family:inherit;
	font-size:var(--cspf-intro-size,16px);
	font-weight:400;
	line-height:1.65;
	color:var(--cspf-intro-color,var(--cspf-muted,#667085));
}

.cspform-grid{
	display:grid;
	grid-template-columns:repeat(12,minmax(0,1fr));
	column-gap:var(--cspf-field-gap,18px);
	row-gap:var(--cspf-row-gap,20px);
}

.cspform-field{grid-column:span 12;min-width:0;margin:0;padding:0}
.cspform-layout-one .cspform-field{grid-column:1/-1}
.cspform-layout-two .cspform-width-full{grid-column:span 12}
.cspform-width-half{grid-column:span 6}
.cspform-width-third{grid-column:span 4}
.cspform-width-two-thirds{grid-column:span 8}
.cspform-field[hidden]{display:none!important}

.cspform-fieldset{border:0;margin:0;padding:0;min-width:0}

.cspform-label,
.cspform-fieldset .cspform-label{
	display:block;
	margin:0 0 7px;
	padding:0;
	font-family:inherit;
	font-size:var(--cspf-label-size,14px);
	font-weight:var(--cspf-label-weight,600);
	line-height:1.4;
	letter-spacing:0;
	color:var(--cspf-label-color,var(--cspf-text,#182230));
}

.cspform-required{color:var(--cspf-required,#b42318)}

[data-cspform-wrap].cspform-mode-plugin .cspform-control{
	display:block;
	width:100%;
	max-width:100%;
	min-width:0;
	min-height:var(--cspf-height,52px);
	margin:0;
	padding:11px var(--cspf-field-padding-x,14px);
	border:var(--cspf-border-width,1px) solid var(--cspf-border,#d0d5dd);
	border-radius:var(--cspf-radius,12px);
	outline:0;
	background:var(--cspf-field-bg,#fff);
	background-image:none;
	color:var(--cspf-field-text-effective,var(--cspf-field-text,var(--cspf-text,#182230)));
	font-family:var(--cspf-font-family,inherit);
	font-size:var(--cspf-input-size,16px);
	font-weight:400;
	font-style:normal;
	line-height:1.4;
	letter-spacing:0;
	text-transform:none;
	box-shadow:0 1px 2px rgba(16,24,40,.04);
	transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

[data-cspform-wrap].cspform-mode-plugin textarea.cspform-control{
	min-height:var(--cspf-textarea-height,156px);
	height:auto;
	resize:vertical;
	padding-top:13px;
	padding-bottom:13px;
}

[data-cspform-wrap].cspform-mode-plugin select.cspform-control{
	appearance:auto;
	-webkit-appearance:auto;
}

[data-cspform-wrap].cspform-mode-plugin .cspform-control::placeholder{
	color:var(--cspf-placeholder-effective,var(--cspf-placeholder,#667085));
	opacity:1;
}

.cspform-control:focus,
.cspform-control:focus-visible{
	outline:2px solid var(--cspf-focus,#2563eb);
	outline-offset:1px;
	border-color:var(--cspf-focus,#2563eb);
	box-shadow:0 0 0 4px color-mix(in srgb,var(--cspf-focus,#2563eb) 16%,transparent);
}

.cspform-focus-outline .cspform-control:focus,.cspform-focus-outline .cspform-control:focus-visible{box-shadow:none;outline:3px solid var(--cspf-focus,#2563eb);outline-offset:2px}
.cspform-focus-subtle .cspform-control:focus,.cspform-focus-subtle .cspform-control:focus-visible{outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--cspf-focus,#2563eb) 22%,transparent);border-color:var(--cspf-focus,#2563eb)}

.cspform-control[aria-invalid=true]{border-color:var(--cspf-error-text,#d92d20)}
.cspform-control[aria-invalid=true]:focus{outline-color:#d92d20;box-shadow:0 0 0 4px rgba(217,45,32,.12)}

.cspform-help{
	margin-top:6px;
	font-size:var(--cspf-help-size,13px);
	line-height:1.5;
	color:var(--cspf-muted,#667085);
}

.cspform-error{
	min-height:0;
	margin-top:6px;
	font-size:13px;
	font-weight:500;
	line-height:1.45;
	color:var(--cspf-error-text,#b42318);
}
.cspform-error:empty{display:none}

.cspform-human-check{margin-top:22px;padding:16px;border:1px solid var(--cspf-border,#d0d5dd);border-radius:var(--cspf-radius,12px);background:color-mix(in srgb,var(--cspf-field-bg,#fff) 88%,var(--cspf-focus,#2563eb) 12%)}
.cspform-human-check[hidden]{display:none!important}.cspform-human-check-head{margin-bottom:12px}.cspform-human-check-head strong{display:block;color:var(--cspf-label-color,var(--cspf-text,#182230));font-size:var(--cspf-label-size,14px);font-weight:var(--cspf-label-weight,600);line-height:1.4}.cspform-human-check-head p{margin:4px 0 0;color:var(--cspf-muted,#667085);font-size:var(--cspf-help-size,13px);line-height:1.5}.cspform-human-check-label{display:block;margin:0 0 7px;color:var(--cspf-label-color,var(--cspf-text,#182230));font-size:var(--cspf-label-size,14px);font-weight:var(--cspf-label-weight,600);line-height:1.45}.cspform-human-check-answer{display:block;width:100%;max-width:260px;min-height:var(--cspf-height,52px);margin:0;padding:11px var(--cspf-field-padding-x,14px);border:var(--cspf-border-width,1px) solid var(--cspf-border,#d0d5dd);border-radius:var(--cspf-radius,12px);background:var(--cspf-field-bg,#fff);color:var(--cspf-field-text-effective,var(--cspf-field-text,var(--cspf-text,#182230)));font:400 var(--cspf-input-size,16px)/1.4 var(--cspf-font-family,inherit);box-shadow:0 1px 2px rgba(16,24,40,.04)}.cspform-human-check-answer:focus,.cspform-human-check-answer:focus-visible{outline:2px solid var(--cspf-focus,#2563eb);outline-offset:1px;border-color:var(--cspf-focus,#2563eb);box-shadow:0 0 0 4px color-mix(in srgb,var(--cspf-focus,#2563eb) 16%,transparent)}.cspform-human-check-answer[aria-invalid=true]{border-color:var(--cspf-error-text,#b42318)}.cspform-human-check-error{margin-top:6px;color:var(--cspf-error-text,#b42318);font-size:13px;font-weight:500;line-height:1.45}.cspform-human-check-error:empty{display:none}

.cspform-choices{display:flex;flex-direction:column;gap:10px;margin-top:2px}
.cspform-choice{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:0;
	padding:0;
	font-family:var(--cspf-font-family,inherit);
	font-size:var(--cspf-input-size,16px);
	font-weight:400;
	line-height:1.5;
	color:var(--cspf-text,#182230);
	cursor:pointer;
}

[data-cspform-wrap] .cspform-choice input{
	position:static;
	flex:0 0 auto;
	width:19px;
	height:19px;
	min-width:19px;
	min-height:19px;
	margin:2px 0 0;
	padding:0;
	border:1px solid var(--cspf-border,#d0d5dd);
	box-shadow:none;
	accent-color:var(--cspf-focus,#2563eb);
}
.cspform-choice-cards .cspform-choice{padding:12px 14px;border:1px solid var(--cspf-border,#d0d5dd);border-radius:var(--cspf-radius,12px);background:var(--cspf-field-bg,#fff)}
.cspform-choice-cards .cspform-choice:has(input:checked){border-color:var(--cspf-focus,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--cspf-focus,#2563eb) 12%,transparent)}
.cspform-choice input:focus-visible{outline:3px solid color-mix(in srgb,var(--cspf-focus,#2563eb) 26%,transparent);outline-offset:3px}
.cspform-consent{font-size:var(--cspf-label-size,14px);color:var(--cspf-muted,#667085)}
.cspform-consent label{cursor:pointer;margin:0;font:inherit;color:inherit}
.cspform-consent a{color:var(--cspf-focus,#2563eb);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.cspform-consent a:focus-visible{outline:3px solid color-mix(in srgb,var(--cspf-focus,#2563eb) 26%,transparent);outline-offset:2px}

[data-cspform-wrap].cspform-mode-plugin .cspform-file{height:auto;min-height:var(--cspf-height,52px);padding:9px 11px}

.cspform-actions{display:flex;margin-top:26px}
.cspform-align-center{justify-content:center}
.cspform-align-right{justify-content:flex-end}

[data-cspform-wrap].cspform-mode-plugin .cspform-submit{
	-webkit-appearance:none!important;
	appearance:none!important;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:var(--cspf-button-width,auto);
	min-width:0;
	min-height:var(--cspf-button-height,50px);
	margin:0;
	padding:0 var(--cspf-button-padding-x,22px);
	border:var(--cspf-button-border-width,1px) solid var(--cspf-button-border,var(--cspf-button-bg,#2457d6))!important;
	border-radius:var(--cspf-button-radius,12px);
	outline:0;
	background:var(--cspf-button-bg,#2457d6);
	background-image:none;
	color:var(--cspf-button-text,#fff);
	font-family:var(--cspf-font-family,inherit);
	font-size:var(--cspf-button-size,16px);
	font-weight:var(--cspf-button-weight,700);
	font-style:normal;
	line-height:1.2;
	letter-spacing:0;
	text-transform:none;
	text-decoration:none;
	box-shadow:0 1px 2px rgba(16,24,40,.08),0 4px 10px rgba(36,87,214,.13);
	cursor:pointer;
	transition:filter .16s ease,transform .16s ease,box-shadow .16s ease;
}


.cspform-button-outline .cspform-submit{background:transparent!important;color:var(--cspf-button-bg,#2457d6)!important;border-color:var(--cspf-button-border,var(--cspf-button-bg,#2457d6))!important;box-shadow:none}
.cspform-button-outline .cspform-submit:hover{background:color-mix(in srgb,var(--cspf-button-bg,#2457d6) 8%,transparent)!important;filter:none}

.cspform-hover-darken .cspform-submit:hover{filter:brightness(.93)}
.cspform-hover-lift .cspform-submit:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(16,24,40,.08),0 8px 18px rgba(36,87,214,.18)}
.cspform-hover-none .cspform-submit:hover{filter:none;transform:none}
.cspform-submit:focus-visible{outline:3px solid color-mix(in srgb,var(--cspf-focus,#2563eb) 34%,transparent);outline-offset:3px}
.cspform-submit:disabled{cursor:wait;opacity:.68;transform:none!important;filter:none!important}

.cspform-status{margin-top:18px;padding:0;font-size:14px;line-height:1.55}
.cspform-status.is-success{padding:13px 15px;border:1px solid var(--cspf-success-border,#a6e0bb);border-radius:12px;background:var(--cspf-success-bg,#f2fbf5);color:var(--cspf-success-text,#17653a)}
.cspform-status.is-error{padding:13px 15px;border:1px solid var(--cspf-error-border,#f2b8b3);border-radius:12px;background:var(--cspf-error-bg,#fff6f5);color:var(--cspf-error-text,#8f2119)}

.cspform-supplement{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}
.cspform-turnstile{margin-top:22px;max-width:100%;overflow:hidden}

/* Inherit Theme keeps the theme's typography and button character while CSP Form
   still owns essential sizing, spacing and accessibility behavior. */
.cspform-mode-inherit{color:var(--cspf-theme-text,inherit)}
.cspform-mode-inherit.cspform-container-solid,
.cspform-mode-inherit.cspform-container-border{background:var(--cspf-theme-bg,var(--cspf-bg,#fff))}
.cspform-mode-inherit.cspform-theme-global-styles .cspform-heading{color:var(--cspf-theme-heading,inherit)}
.cspform-mode-inherit .cspform-heading,
.cspform-mode-inherit .cspform-label,
.cspform-mode-inherit .cspform-choice{color:inherit}
.cspform-mode-inherit .cspform-intro,
.cspform-mode-inherit .cspform-help,
.cspform-mode-inherit .cspform-consent{color:inherit;opacity:.76}
.cspform-mode-inherit .cspform-control{display:block;width:100%;max-width:100%;min-height:var(--cspf-height,52px);font-family:inherit;font-size:var(--cspf-input-size,16px);border-radius:var(--cspf-radius,12px)}
.cspform-mode-inherit textarea.cspform-control{min-height:var(--cspf-textarea-height,156px)}
.cspform-mode-inherit .cspform-submit{min-height:var(--cspf-button-height,50px);font-family:inherit;font-size:var(--cspf-button-size,16px);border-radius:var(--cspf-button-radius,12px)}

/* Theme-aware safe fields: inherit typography/accent from the active theme without
   allowing broad theme card/content colors to become input surfaces. Administrators
   can still change these colors in CSP Contact Form itself. */
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-safe .cspform-control{
	display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
	min-height:var(--cspf-height,52px)!important;margin:0!important;padding:11px var(--cspf-field-padding-x,14px)!important;
	border:var(--cspf-border-width,1px) solid var(--cspf-border,#d0d5dd)!important;border-radius:var(--cspf-radius,12px)!important;
	outline:0!important;background:var(--cspf-field-bg,#fff)!important;background-image:none!important;
	color:var(--cspf-field-text-effective,var(--cspf-field-text,#182230))!important;
	font-family:inherit!important;font-size:var(--cspf-input-size,16px)!important;font-weight:400!important;font-style:normal!important;
	line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
}
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-safe textarea.cspform-control{min-height:var(--cspf-textarea-height,156px)!important;height:auto!important;padding-block:13px!important;resize:vertical}
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-safe select.cspform-control{appearance:auto!important;-webkit-appearance:auto!important}
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-safe .cspform-control::placeholder{color:var(--cspf-placeholder-effective,var(--cspf-placeholder,#667085))!important;opacity:1!important}
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-safe .cspform-file{height:auto!important;min-height:var(--cspf-height,52px)!important;padding:9px 11px!important}
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-safe .cspform-choice-cards .cspform-choice{background:var(--cspf-field-bg,#fff)!important;color:var(--cspf-field-text-effective,var(--cspf-field-text,#182230))!important;border-color:var(--cspf-border,#d0d5dd)!important}

/* If an administrator deliberately chooses theme-controlled field surfaces, Auto/Strong
   compatibility can still recover unreadable controls after seeing the computed styles. */
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-theme.cspform-contrast-guard.cspform-compat-active.cspform-compat-issue-field-contrast .cspform-control{
	background:var(--cspf-field-bg,#fff)!important;color:var(--cspf-field-text-effective,var(--cspf-field-text,#182230))!important;border-color:var(--cspf-border,#d0d5dd)!important;
}
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-theme.cspform-contrast-guard.cspform-compat-active.cspform-compat-issue-placeholder-contrast .cspform-control::placeholder,
[data-cspform-wrap].cspform-mode-inherit.cspform-fields-theme.cspform-contrast-guard.cspform-compat-active.cspform-compat-issue-field-contrast .cspform-control::placeholder{
	color:var(--cspf-placeholder-effective,var(--cspf-placeholder,#667085))!important;opacity:1!important;
}

.cspform-wrap .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

@media(max-width:640px){
	.cspform-grid{grid-template-columns:1fr}
	.cspform-width-half,.cspform-width-third,.cspform-width-two-thirds,.cspform-field{grid-column:1/-1}
	.cspform-wrap{max-width:100%;border-radius:min(var(--cspf-container-radius,18px),16px)}
	.cspform-container-solid,.cspform-container-border{padding:clamp(0px,var(--cspf-padding,30px),22px)}
	.cspform-heading{font-size:min(var(--cspf-heading-size,30px),28px)}
	.cspform-intro{margin-bottom:22px}
	.cspform-submit{min-height:max(48px,var(--cspf-button-height,50px))}
	.cspform-control{font-size:max(16px,var(--cspf-input-size,16px))}
}

@media(max-width:360px){
	.cspform-container-solid,.cspform-container-border{padding:clamp(0px,var(--cspf-padding,30px),18px)}
	.cspform-actions{margin-top:22px}
}

@media(prefers-reduced-motion:reduce){
	.cspform-control,.cspform-submit{transition:none}
	.cspform-hover-lift .cspform-submit:hover{transform:none}
}


/* Absolutely CSP Free/Pro v2.8+ compatibility. Inherit Theme intentionally consumes the
   theme's own custom properties; Plugin Design remains self-contained and predictable. */
.cspform-theme-absolutely-csp.cspform-mode-inherit{
	--cspf-font-family:var(--cspc-font-body,inherit);
	--cspf-heading-font-family:var(--cspc-font-heading,var(--cspc-font-body,inherit));
	--cspf-focus:var(--cspc-primary,#2457d6);
	color:var(--cspc-text,inherit);
}
.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-heading{font-family:var(--cspc-font-heading,var(--cspc-font-body,inherit));color:var(--cspc-heading,inherit);font-weight:var(--cspc-heading-weight,700)}
.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-label,.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-choice{color:var(--cspc-text,inherit)}
.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-intro,.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-help,.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-consent{color:var(--cspc-muted,inherit);opacity:1}
.cspform-theme-absolutely-csp.cspform-mode-inherit .cspform-submit{background:var(--cspc-primary,#2457d6);color:#fff;border-color:transparent}

/* Absolutely CSP's optional broad form/button design-choice selectors intentionally have
   no authority over Plugin Design. This selector remains scoped to CSP Contact Form only. */
.cspform-theme-absolutely-csp.cspform-mode-plugin .cspform-control{font-family:var(--cspf-font-family,inherit)!important;min-height:var(--cspf-height,52px)!important;padding:11px var(--cspf-field-padding-x,14px)!important;border:var(--cspf-border-width,1px) solid var(--cspf-border,#d0d5dd)!important;border-radius:var(--cspf-radius,12px)!important;background:var(--cspf-field-bg,#fff)!important;color:var(--cspf-field-text,var(--cspf-text,#182230))!important}
.cspform-theme-absolutely-csp.cspform-mode-plugin textarea.cspform-control{min-height:var(--cspf-textarea-height,156px)!important;padding-block:13px!important}
.cspform-theme-absolutely-csp.cspform-mode-plugin .cspform-submit{background:var(--cspf-button-bg,#2457d6)!important;background-image:none!important;color:var(--cspf-button-text,#fff)!important;border:var(--cspf-button-border-width,1px) solid var(--cspf-button-border,var(--cspf-button-bg,#2457d6))!important;border-radius:var(--cspf-button-radius,12px)!important;padding-inline:var(--cspf-button-padding-x,22px)!important;min-height:var(--cspf-button-height,50px)!important;font-size:var(--cspf-button-size,16px)!important;font-weight:var(--cspf-button-weight,700)!important;text-transform:none!important}
.cspform-theme-absolutely-csp.cspform-mode-plugin .cspform-submit:hover{background:var(--cspf-button-bg,#2457d6)!important;color:var(--cspf-button-text,#fff)!important}
.cspform-theme-absolutely-csp.cspform-mode-plugin.cspform-button-outline .cspform-submit{background:transparent!important;color:var(--cspf-button-bg,#2457d6)!important}
.cspform-theme-absolutely-csp.cspform-mode-plugin.cspform-button-outline .cspform-submit:hover{background:color-mix(in srgb,var(--cspf-button-bg,#2457d6) 8%,transparent)!important;color:var(--cspf-button-bg,#2457d6)!important}

/* v1.6 Theme Compatibility Engine.
   Auto mode activates these scoped safeguards only when the browser detects a
   concrete layout/accessibility conflict. Strong mode keeps the same isolation
   active all the time. No selector escapes the CSP Contact Form wrapper. */
[data-cspform-wrap].cspform-compat-strong,
[data-cspform-wrap].cspform-compat-active{
	max-width:min(100%,var(--cspf-max-width,720px))!important;
	min-width:0!important;
	box-sizing:border-box!important;
}
[data-cspform-wrap].cspform-compat-strong *,
[data-cspform-wrap].cspform-compat-strong *::before,
[data-cspform-wrap].cspform-compat-strong *::after,
[data-cspform-wrap].cspform-compat-active *,
[data-cspform-wrap].cspform-compat-active *::before,
[data-cspform-wrap].cspform-compat-active *::after{box-sizing:border-box!important}
[data-cspform-wrap].cspform-compat-strong form.cspform,
[data-cspform-wrap].cspform-compat-active form.cspform{
	display:block!important;
	position:relative!important;
	float:none!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	margin:0!important;
}
[data-cspform-wrap].cspform-compat-strong .cspform-grid,
[data-cspform-wrap].cspform-compat-active .cspform-grid{
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
}
[data-cspform-wrap].cspform-compat-strong .cspform-field,
[data-cspform-wrap].cspform-compat-strong .cspform-fieldset,
[data-cspform-wrap].cspform-compat-active .cspform-field,
[data-cspform-wrap].cspform-compat-active .cspform-fieldset{
	min-width:0!important;
	max-width:100%!important;
}
[data-cspform-wrap].cspform-compat-strong .cspform-choice input[type=checkbox],
[data-cspform-wrap].cspform-compat-strong .cspform-choice input[type=radio],
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-tiny-choice-control .cspform-choice input[type=checkbox],
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-tiny-choice-control .cspform-choice input[type=radio]{
	width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;flex:0 0 19px!important;transform:none!important;
}
[data-cspform-wrap].cspform-compat-strong .cspform-control,
[data-cspform-wrap].cspform-compat-active .cspform-control{
	display:block!important;
	position:static!important;
	float:none!important;
	clear:none!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	margin-inline:0!important;
}
[data-cspform-wrap].cspform-compat-strong input.cspform-control:not([type=file]),
[data-cspform-wrap].cspform-compat-strong select.cspform-control,
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-small-control input.cspform-control:not([type=file]),
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-small-control select.cspform-control{min-height:max(44px,var(--cspf-height,52px))!important}
[data-cspform-wrap].cspform-compat-strong .cspform-label,
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-hidden-label .cspform-label{
	display:block!important;
	visibility:visible!important;
	opacity:1!important;
	position:static!important;
	clip:auto!important;
	clip-path:none!important;
	width:auto!important;
	height:auto!important;
}
[data-cspform-wrap].cspform-compat-strong .cspform-submit,
[data-cspform-wrap].cspform-compat-active .cspform-submit{
	display:inline-flex!important;
	position:static!important;
	float:none!important;
	align-items:center!important;
	justify-content:center!important;
	max-width:100%!important;
	min-height:max(44px,var(--cspf-button-height,50px))!important;
	box-sizing:border-box!important;
	white-space:normal!important;
}
[data-cspform-wrap].cspform-compat-strong.cspform-button-full .cspform-submit,
[data-cspform-wrap].cspform-compat-active.cspform-button-full .cspform-submit{width:100%!important}
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-invisible-control-text .cspform-control,
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-tiny-control-text .cspform-control{
	color:var(--cspf-field-text,var(--cspf-text,#182230))!important;
	font-size:max(13px,var(--cspf-input-size,16px))!important;
	opacity:1!important;
}
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-tiny-label .cspform-label{font-size:max(12px,var(--cspf-label-size,14px))!important}
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-button-contrast .cspform-submit,
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-hidden-button .cspform-submit,
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-tiny-button-text .cspform-submit{
	visibility:visible!important;
	opacity:1!important;
	font-size:max(13px,var(--cspf-button-size,16px))!important;
	background:var(--cspf-button-bg,#2457d6)!important;
	background-image:none!important;
	color:var(--cspf-button-text,#fff)!important;
	border-color:var(--cspf-button-border,var(--cspf-button-bg,#2457d6))!important;
}
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-hidden-form form.cspform{display:block!important;visibility:visible!important;opacity:1!important}
[data-cspform-wrap].cspform-compat-active.cspform-compat-issue-hidden-control .cspform-control{display:block!important;visibility:visible!important;opacity:1!important}
.cspform-recaptcha{margin-top:22px;max-width:100%;overflow:hidden}.cspform-recaptcha[hidden]{display:none!important}

/* Windows High Contrast / forced-colors support. Keep native system colors authoritative
   inside CSP Contact Form instead of fighting accessibility settings with brand colors. */
@media(forced-colors:active){
  [data-cspform-wrap] .cspform-control,[data-cspform-wrap] .cspform-human-check-answer{forced-color-adjust:auto!important;background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important}
  [data-cspform-wrap] .cspform-submit{forced-color-adjust:auto!important;background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important}
  [data-cspform-wrap] .cspform-control:focus,[data-cspform-wrap] .cspform-human-check-answer:focus,[data-cspform-wrap] .cspform-submit:focus-visible{outline:2px solid Highlight!important;outline-offset:2px!important}
  [data-cspform-wrap] .cspform-error,[data-cspform-wrap] .cspform-human-check-error{color:CanvasText!important}
}

/* Pro survey field primitives are rendered by the Free core so validation and accessibility stay centralized. */
[data-cspform-wrap] .cspform-rating{flex-direction:row;flex-wrap:wrap;gap:8px}
[data-cspform-wrap] .cspform-rating .cspform-choice{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:6px 9px;border:1px solid var(--cspf-border,#d0d5dd);border-radius:var(--cspf-radius,12px);background:var(--cspf-field-bg,#fff);font-size:24px;line-height:1;color:var(--cspf-muted,#667085);cursor:pointer}
[data-cspform-wrap] .cspform-rating .cspform-choice input{position:absolute;opacity:0;width:1px!important;height:1px!important;margin:0!important}
[data-cspform-wrap] .cspform-rating .cspform-choice:has(input:checked){border-color:var(--cspf-focus,#2563eb);color:var(--cspf-focus,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--cspf-focus,#2563eb) 14%,transparent)}
[data-cspform-wrap] .cspform-rating .cspform-choice:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--cspf-focus,#2563eb) 28%,transparent);outline-offset:2px}
[data-cspform-wrap] .cspform-nps{display:grid;grid-template-columns:repeat(11,minmax(38px,1fr));gap:6px}
[data-cspform-wrap] .cspform-nps .cspform-choice{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:6px;border:1px solid var(--cspf-border,#d0d5dd);border-radius:10px;background:var(--cspf-field-bg,#fff);cursor:pointer;font-weight:700}
[data-cspform-wrap] .cspform-nps .cspform-choice input{position:absolute;opacity:0;width:1px!important;height:1px!important;margin:0!important}
[data-cspform-wrap] .cspform-nps .cspform-choice:has(input:checked){border-color:var(--cspf-focus,#2563eb);background:color-mix(in srgb,var(--cspf-focus,#2563eb) 10%,var(--cspf-field-bg,#fff));box-shadow:0 0 0 2px color-mix(in srgb,var(--cspf-focus,#2563eb) 14%,transparent)}
[data-cspform-wrap] .cspform-nps .cspform-choice:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--cspf-focus,#2563eb) 28%,transparent);outline-offset:2px}
[data-cspform-wrap] .cspform-nps-scale{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;color:var(--cspf-muted,#667085);font-size:12px;line-height:1.35;margin-top:2px}
[data-cspform-wrap] .cspform-likert{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
[data-cspform-wrap] .cspform-likert .cspform-choice{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:9px 10px;border:1px solid var(--cspf-border,#d0d5dd);border-radius:10px;background:var(--cspf-field-bg,#fff);cursor:pointer}
[data-cspform-wrap] .cspform-likert .cspform-choice input{position:absolute;opacity:0;width:1px!important;height:1px!important;margin:0!important}
[data-cspform-wrap] .cspform-likert .cspform-choice:has(input:checked){border-color:var(--cspf-focus,#2563eb);background:color-mix(in srgb,var(--cspf-focus,#2563eb) 9%,var(--cspf-field-bg,#fff));box-shadow:0 0 0 2px color-mix(in srgb,var(--cspf-focus,#2563eb) 12%,transparent)}
[data-cspform-wrap] .cspform-likert .cspform-choice:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--cspf-focus,#2563eb) 28%,transparent);outline-offset:2px}
@media(max-width:640px){[data-cspform-wrap] .cspform-nps{grid-template-columns:repeat(6,minmax(40px,1fr))}[data-cspform-wrap] .cspform-nps-scale{grid-column:1/-1}[data-cspform-wrap] .cspform-likert{grid-template-columns:1fr}}
@media(forced-colors:active){[data-cspform-wrap] .cspform-rating .cspform-choice,[data-cspform-wrap] .cspform-nps .cspform-choice,[data-cspform-wrap] .cspform-likert .cspform-choice{forced-color-adjust:auto;background:Canvas;color:CanvasText;border-color:CanvasText}[data-cspform-wrap] .cspform-rating .cspform-choice:has(input:checked),[data-cspform-wrap] .cspform-nps .cspform-choice:has(input:checked),[data-cspform-wrap] .cspform-likert .cspform-choice:has(input:checked){background:Highlight;color:HighlightText;border-color:Highlight}}
