/* ==========================================================================
   Gravity Forms – WP-Clinic styled (light & dark)
   Scoped to .wpclinic-cta-form block wrapper
   ========================================================================== */

/* --------------------------------------------------------------------------
   Dark mode (default – matches CTAHosting design)
   -------------------------------------------------------------------------- */
.wpclinic-cta-form.wpclinic-cta-form-dark .wpclinic-cta-form__container {
	background-color: var(--color-surface-inverse, #101828);
	border-radius: var(--radius-lg, 24px);
	padding: var(--space-8, 32px) var(--space-10, 40px);
}

@media (min-width: 768px) {
	.wpclinic-cta-form.wpclinic-cta-form-dark .wpclinic-cta-form__container {
		padding: var(--space-10, 40px);
	}
}

.wpclinic-cta-form.wpclinic-cta-form-dark .wpclinic-cta-form__heading,
.wpclinic-cta-form.wpclinic-cta-form-dark .wpclinic-cta-form__form-heading {
	color: var(--color-text-inverse, #ffffff);
}

/* Form wrapper spacing */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_heading {
	margin-bottom: var(--space-8, 32px);
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_title {
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-h4, 24px);
	font-weight: var(--weight-bold, 700);
	margin: 0 0 var(--space-6, 24px);
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_description {
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--text-base, 18px);
	margin: 0 0 var(--space-8, 32px);
}

/* Fields list */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_body .gform_fields {
	display: flex;
	flex-direction: column;
	gap: var(--space-5, 20px);
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}

/* Field item */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_body .gform_fields .gfield {
	padding: 0;
	margin: 0;
	border: none;
	clear: both;
}

/* Labels */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_label,
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield .gfield_label {
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-xs, 14px);
	font-weight: var(--weight-semibold, 600);
	margin-bottom: var(--space-2, 8px);
	display: block;
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_required {
	color: inherit;
}

/* Inputs – text, email, tel, url */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="text"],
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="email"],
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="tel"],
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="url"],
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="number"],
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="search"] {
	width: 100%;
	height: 48px;
	padding: 0 var(--space-4, 16px);
	border-radius: var(--radius-md, 12px);
	background-color: #1f2937;
	border: 1px solid #374151;
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-sm, 16px);
	transition: border-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
}
.gform_wrapper .gfield input[type="checkbox"] {
	height: 28px;
	width: 28px;
	border-radius: 4px;
	padding: 0;
	border: var(--color-border, #E5E7EB) 1px solid;
	font-size: 20px;
	transition: border-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
	background-color: var(--color-bg, #F3F1ED);
	color: var(--color-text, #101828);
	box-shadow: none;
	cursor: pointer;
}
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="checkbox"] {
	background-color: #1f2937;
	color: var(--color-text-inverse, #ffffff);
	border: var(--color-surface-inverse) 1px solid;
}
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input[type="checkbox"] + label {
	line-height: 28px;
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_consent_label {
	color: #ffffff;
	line-height: 18px !important;
    font-size: 12px;
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_required.gfield_required_text {
	color: var(--color-brand-primary);
	margin-left: 4px;
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input::placeholder {
	color: rgba(159, 159, 159, 0.6);
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield input:focus {
	outline: none;
	border-color: var(--color-brand-primary, #0564FF);
	box-shadow: 0 0 0 2px rgba(5, 100, 255, 0.2);
}

/* Textarea */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield textarea {
	width: 100%;
	min-height: 120px;
	padding: var(--space-3, 12px) var(--space-4, 16px);
	border-radius: var(--radius-md, 12px);
	background-color: #1f2937;
	border: 1px solid #374151;
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-xs, 14px);
	resize: vertical;
	transition: border-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield textarea::placeholder {
	color: rgba(159, 159, 159, 0.6);
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield textarea:focus {
	outline: none;
	border-color: var(--color-brand-primary, #0564FF);
	box-shadow: 0 0 0 2px rgba(5, 100, 255, 0.2);
}

/* Radio & checkbox labels */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_radio .gchoice label,
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_checkbox .gchoice label {
	color: var(--color-text-inverse, #ffffff);
}

/* Select */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield select {
	width: 100%;
	height: 48px;
	padding: 0 var(--space-4, 16px);
	border-radius: var(--radius-md, 16px);
	background-color: #1f2937;
	border: 1px solid #374151;
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-xs, 14px);
}

/* Field description */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_description {
	color: rgba(255, 255, 255, 0.6);
	font-size: var(--text-xs, 14px);
	margin-top: var(--space-1, 4px);
}

/* Footer / validation / submit area */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer {
	margin-top: var(--space-6, 24px);
	padding: 0;
	border: none;
}

.gform_wrapper .gform_footer {
	width: 100%;
}

/* Submit button */
main .wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer input[type="submit"],
main .wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer button[type="submit"] {
	width: 100%!important;
	height: 48px;
	padding: 16px var(--space-6, 24px)!important;
	border-radius: var(--radius-md, 8px)!important;
	background-color: var(--color-brand-primary, #0564FF);
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-sm, 16px)!important;
	font-weight: var(--weight-semibold, 600);
	border: none;
	cursor: pointer;
	transition: background-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
}
main .gform_wrapper input[type="submit"] {
	border-radius: var(--radius-md, 8px)!important;
}

@media (prefers-reduced-motion: reduce) {
	.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer input[type="submit"],
	.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer button[type="submit"] {
		transition: none;
	}
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer input[type="submit"]:hover,
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer button[type="submit"]:hover {
	background-color: var(--color-brand-primary-hover, #0452D9);
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer input[type="submit"]:focus,
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_footer button[type="submit"]:focus {
	outline: 2px solid var(--color-brand-primary, #0564FF);
	outline-offset: 2px;
}

/* Validation errors */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_error input,
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_error textarea,
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gfield_error select {
	border-color: var(--color-danger, #DC2626);
}

.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .validation_message {
	color: var(--color-danger, #DC2626);
	font-size: var(--text-xs, 14px);
	margin-top: var(--space-1, 4px);
}

/* Confirmation message */
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .gform_confirmation_message {
	color: rgba(255, 255, 255, 0.9);
	font-size: var(--text-xs, 14px);
}

/* --------------------------------------------------------------------------
   Light mode
   -------------------------------------------------------------------------- */
.wpclinic-cta-form.wpclinic-cta-form-light .wpclinic-cta-form__container {
	background-color: var(--color-bg-off, #ffffff);
	border-radius: var(--radius-xl, 24px);
	padding: var(--space-8, 32px) var(--space-10, 40px);
	border: 1px solid var(--color-border, #E5E7EB);
}

@media (min-width: 768px) {
	.wpclinic-cta-form.wpclinic-cta-form-light .wpclinic-cta-form__container {
		padding: var(--space-10, 40px);
	}
}

.wpclinic-cta-form.wpclinic-cta-form-light .wpclinic-cta-form__heading,
.wpclinic-cta-form.wpclinic-cta-form-light .wpclinic-cta-form__form-heading {
	color: var(--color-text, #101828);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_heading {
	margin-bottom: var(--space-8, 32px);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_title {
	color: var(--color-text, #101828);
	font-size: var(--text-h4, 24px);
	font-weight: var(--weight-bold, 700);
	margin: 0 0 var(--space-6, 24px);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_description {
	color: var(--color-text-muted, #6B7280);
	font-size: var(--text-base, 18px);
	margin: 0 0 var(--space-8, 32px);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_body .gform_fields {
	display: flex;
	flex-direction: column;
	gap: var(--space-5, 20px);
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_body .gform_fields .gfield {
	padding: 0;
	margin: 0;
	border: none;
	clear: both;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_label,
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield .gfield_label {
	color: var(--color-text, #101828);
	font-size: var(--text-xs, 14px);
	font-weight: var(--weight-semibold, 600);
	margin-bottom: var(--space-2, 8px);
	display: block;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input[type="text"],
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input[type="email"],
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input[type="tel"],
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input[type="url"],
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input[type="number"],
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input[type="search"] {
	width: 100%;
	height: 48px;
	padding: 0 var(--space-4, 16px);
	border-radius: var(--radius-md, 16px);
	background-color: var(--color-bg, #F3F1ED);
	border: 1px solid var(--color-border, #E5E7EB);
	color: var(--color-text, #101828);
	font-size: var(--text-sm, 16px);
	transition: border-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
	box-shadow: none;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input::placeholder {
	color: rgba(159, 159, 159, 0.6);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield input:focus {
	outline: none;
	border-color: var(--color-brand-primary, #0564FF);
	box-shadow: 0 0 0 3px rgba(5, 100, 255, 0.4);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield textarea {
	width: 100%;
	min-height: 120px;
	padding: var(--space-3, 12px) var(--space-4, 16px);
	border-radius: var(--radius-md, 12px);
	background-color: var(--color-bg, #F3F1ED);
	border: 1px solid var(--color-border, #E5E7EB);
	color: var(--color-text, #101828);
	font-size: var(--text-xs, 14px);
	resize: vertical;
	transition: border-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield textarea::placeholder {
	color: rgba(159, 159, 159, 0.6);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield textarea:focus {
	outline: none;
	border-color: var(--color-brand-primary, #0564FF);
	box-shadow: 0 0 0 2px rgba(5, 100, 255, 0.2);
}

/* Radio & checkbox labels – light */
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_radio .gchoice label,
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_checkbox .gchoice label {
	color: var(--color-text, #101828);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield select {
	width: 100%;
	height: 48px;
	padding: 0 var(--space-4, 16px);
	border-radius: var(--radius-md, 16px);
	background-color: var(--color-bg, #F3F1ED);
	border: 1px solid var(--color-border, #E5E7EB);
	color: var(--color-text, #101828);
	font-size: var(--text-xs, 14px);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_description {
	color: var(--color-text-muted, #6B7280);
	font-size: var(--text-xs, 14px);
	margin-top: var(--space-1, 4px);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer {
	margin-top: var(--space-6, 24px);
	padding: 0;
	border: none;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer input[type="submit"],
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer button[type="submit"] {
	width: 100%;
	height: 48px;
	padding: 16px var(--space-6, 24px)!important;
	border-radius: var(--radius-md, 16px);
	background-color: var(--color-brand-primary, #0564FF);
	color: var(--color-text-inverse, #ffffff);
	font-size: var(--text-sm, 16px)!important;
	font-weight: var(--weight-semibold, 600);
	border: none;
	cursor: pointer;
	transition: background-color var(--duration-base, 250ms) var(--ease-standard, cubic-bezier(0.2, 0, 0, 1));
}

@media (prefers-reduced-motion: reduce) {
	.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer input[type="submit"],
	.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer button[type="submit"] {
		transition: none;
	}
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer input[type="submit"]:hover,
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer button[type="submit"]:hover {
	background-color: var(--color-brand-primary-hover, #0452D9);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer input[type="submit"]:focus,
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_footer button[type="submit"]:focus {
	outline: 2px solid var(--color-brand-primary, #0564FF);
	outline-offset: 2px;
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_error input,
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_error textarea,
.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gfield_error select {
	border-color: var(--color-danger, #DC2626);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .validation_message {
	color: var(--color-danger, #DC2626);
	font-size: var(--text-xs, 14px);
	margin-top: var(--space-1, 4px);
}

.wpclinic-cta-form.wpclinic-cta-form-light .gform_wrapper .gform_confirmation_message {
	color: var(--color-text, #101828);
	font-size: var(--text-xs, 14px);
}

.gform_wrapper .altcha {
	border: none;
	color: inherit;
}
.wpclinic-cta-form.wpclinic-cta-form-dark .gform_wrapper .altcha {
	color: #fff;
}
.gform_wrapper .altcha-main {
	padding: 0;
	gap: 12px;
}
.gform_wrapper .altcha-footer {
	display: none;
}
.gform_wrapper .altcha-main svg {
	display: none;
}
.gform_wrapper .altcha input[type="checkbox"] {
	height: 28px!important;
	width: 28px!important;
	flex-shrink: 0!important;
	min-width: 28px!important;
	flex: 1 1 0;
}
.gform_wrapper .altcha-label {
	flex: 1 1 0;
	font-size: 14px;
}
.gform_wrapper .altcha-checkbox {
	height: 28px;
	width: 28px;
}

body .gform_wrapper .gfield_required {
	margin-left: 4px;
	color: var(--color-brand-primary, #0564FF);
	font-weight: 600;
}

.gform_wrapper :is(.gfield_checkbox .gchoice, .ginput_container_consent) label {
	line-height: 28px;
	cursor: pointer;
}