/* ==========================================================================
   CF7 EXTEND
   Base Contact Form 7 styling + CF7 Extend enhancements.

   The base CF7 section provides a complete neutral form UI.
   CF7 Extend sections add multi-step, progress, conditional fields,
   navigation, and related functionality.

   Themes can customize the design by overriding the CF7 Extend tokens.
   ========================================================================== */


/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */

:root {

	/* Colors */

	--cf7-extend-color-primary: #1f2937;
	--cf7-extend-color-accent: #f59e0b;
	--cf7-extend-color-background: #ffffff;
	--cf7-extend-color-surface: #ffffff;
	--cf7-extend-color-foreground: #111827;
	--cf7-extend-color-muted: #6b7280;
	--cf7-extend-color-border: #d1d5db;
	--cf7-extend-color-border-focus: var(--cf7-extend-color-accent);

	--cf7-extend-color-error: #dc2626;
	--cf7-extend-color-error-background: #fef2f2;

	--cf7-extend-color-success: #15803d;
	--cf7-extend-color-success-background: #f0fdf4;

	--cf7-extend-color-on-primary: #ffffff;
	--cf7-extend-color-on-accent: #111827;


	/* Spacing */

	--cf7-extend-space-xs: 0.5rem;
	--cf7-extend-space-sm: 0.75rem;
	--cf7-extend-space-md: 1rem;
	--cf7-extend-space-lg: 1.5rem;
	--cf7-extend-space-xl: 2rem;
	--cf7-extend-space-2xl: 3rem;


	/* Form */

	--cf7-extend-form-padding: 2rem;
	--cf7-extend-control-height: 3rem;
	--cf7-extend-control-padding-block: 0.8rem;
	--cf7-extend-control-padding-inline: 1rem;
	--cf7-extend-textarea-min-height: 8rem;


	/* Typography */

	--cf7-extend-font-family: inherit;
	--cf7-extend-font-size-xs: 0.75rem;
	--cf7-extend-font-size-sm: 0.875rem;
	--cf7-extend-font-size-base: 1rem;

	--cf7-extend-line-height: 1.5;
	--cf7-extend-heading-line-height: 1.2;


	/* Borders */

	--cf7-extend-border-width: 1px;
	--cf7-extend-border: var(--cf7-extend-border-width) solid var(--cf7-extend-color-border);

	--cf7-extend-radius-sm: 0.25rem;
	--cf7-extend-radius-md: 0.375rem;
	--cf7-extend-radius-lg: 0.75rem;
	--cf7-extend-radius-pill: 999px;


	/* Focus */

	--cf7-extend-focus-width: 3px;
	--cf7-extend-focus-color: var(--cf7-extend-color-accent);


	/* Effects */

	--cf7-extend-shadow-form: 0 4px 20px rgb(0 0 0 / 8%);
	--cf7-extend-transition: 180ms ease;


	/* Progress */

	--cf7-extend-progress-size: 2rem;
	--cf7-extend-progress-line-width: 2px;
}


/* ==========================================================================
   2. CONTACT FORM 7 — BASE
   ========================================================================== */


/* --------------------------------------------------------------------------
   Form Wrapper
   -------------------------------------------------------------------------- */

.wpcf7 form {
	max-width: 100%;
	padding: var(--cf7-extend-form-padding);
	background: var(--cf7-extend-color-surface);
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-lg);
	box-shadow: var(--cf7-extend-shadow-form);
	font-family: var(--cf7-extend-font-family);
	color: var(--cf7-extend-color-foreground);
}

.wpcf7 form > *:last-child {
	margin-bottom: 0;
}


/* --------------------------------------------------------------------------
   Hidden Fields
   -------------------------------------------------------------------------- */

.wpcf7 .hidden-fields-container {
	display: none;
}


/* --------------------------------------------------------------------------
   Headings
   -------------------------------------------------------------------------- */

.wpcf7 h1,
.wpcf7 h2,
.wpcf7 h3,
.wpcf7 h4,
.wpcf7 h5,
.wpcf7 h6 {
	margin-block: 0 var(--cf7-extend-space-lg);
	color: var(--cf7-extend-color-primary);
	line-height: var(--cf7-extend-heading-line-height);
}


/* --------------------------------------------------------------------------
   Fieldsets
   -------------------------------------------------------------------------- */

.wpcf7 fieldset {
	min-width: 0;
}

.wpcf7 .cf7-form-fieldset {
	margin-block-end: var(--cf7-extend-space-xl);
}

.wpcf7 .cf7-form-fieldset fieldset {
	margin: 0;
	padding: var(--cf7-extend-space-xl);
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-lg);
	background: var(--cf7-extend-color-background);
}

.wpcf7 .cf7-form-fieldset legend {
	width: auto;
	max-width: 100%;
	margin: 0;
	padding-inline: var(--cf7-extend-space-xs);
	color: var(--cf7-extend-color-primary);
	font-size: var(--cf7-extend-font-size-base);
	font-weight: 600;
	line-height: 1.4;
}


/* --------------------------------------------------------------------------
   Form Fields
   -------------------------------------------------------------------------- */

.wpcf7 .cf7-form-field {
	margin-block-end: var(--cf7-extend-space-xl);
}

.wpcf7 .cf7-form-field:last-child {
	margin-block-end: 0;
}


/* --------------------------------------------------------------------------
   Labels
   -------------------------------------------------------------------------- */

.wpcf7 label {
	display: block;
	margin-block-end: var(--cf7-extend-space-xs);
	color: var(--cf7-extend-color-foreground);
	font-size: var(--cf7-extend-font-size-sm);
	font-weight: 600;
	line-height: 1.4;
}

.wpcf7 .required {
	color: var(--cf7-extend-color-accent);
	font-weight: 700;
}


/* --------------------------------------------------------------------------
   Text Inputs, Selects & Textareas
   -------------------------------------------------------------------------- */

.wpcf7 input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.wpcf7 select,
.wpcf7 textarea {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0;
	padding: var(--cf7-extend-control-padding-block) var(--cf7-extend-control-padding-inline);
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-background);
	color: var(--cf7-extend-color-foreground);
	font-family: inherit;
	font-size: var(--cf7-extend-font-size-base);
	line-height: var(--cf7-extend-line-height);
	transition:
		border-color var(--cf7-extend-transition),
		background-color var(--cf7-extend-transition),
		box-shadow var(--cf7-extend-transition);
}

.wpcf7 input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.wpcf7 select {
	min-height: var(--cf7-extend-control-height);
}

.wpcf7 textarea {
	min-height: var(--cf7-extend-textarea-min-height);
	resize: vertical;
}

.wpcf7 select {
	cursor: pointer;
}


/* --------------------------------------------------------------------------
   Focus
   -------------------------------------------------------------------------- */

.wpcf7 input:not([type="radio"]):not([type="checkbox"]):focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--cf7-extend-color-border-focus);
	background: var(--cf7-extend-color-surface);
	box-shadow:
		0 0 0 var(--cf7-extend-focus-width)
		color-mix(
			in srgb,
			var(--cf7-extend-focus-color) 20%,
			transparent
		);
}


/* --------------------------------------------------------------------------
   Placeholder
   -------------------------------------------------------------------------- */

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--cf7-extend-color-muted);
	opacity: 1;
}


/* --------------------------------------------------------------------------
   Radio & Checkbox
   -------------------------------------------------------------------------- */

.wpcf7 .wpcf7-radio,
.wpcf7 .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cf7-extend-space-xs) var(--cf7-extend-space-sm);
	margin: 0;
}

.wpcf7 .wpcf7-list-item {
	display: inline-flex;
	margin: 0;
}

.wpcf7 .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: var(--cf7-extend-space-xs);
	margin: 0;
	padding: 0.65rem 0.85rem;
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-surface);
	font-size: var(--cf7-extend-font-size-sm);
	font-weight: 500;
	cursor: pointer;
	transition:
		border-color var(--cf7-extend-transition),
		background-color var(--cf7-extend-transition),
		box-shadow var(--cf7-extend-transition);
}

.wpcf7 .wpcf7-list-item label:hover {
	border-color: var(--cf7-extend-color-primary);
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
	accent-color: var(--cf7-extend-color-accent);
}

.wpcf7 input[type="radio"]:focus-visible,
.wpcf7 input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--cf7-extend-focus-color);
	outline-offset: 2px;
}


/* --------------------------------------------------------------------------
   Checkbox Field
   -------------------------------------------------------------------------- */

.wpcf7 .cf7-form-field-checkbox {
	margin-block-end: var(--cf7-extend-space-xl);
}

.wpcf7 .cf7-form-field-checkbox .wpcf7-checkbox {
	display: block;
}

.wpcf7 .cf7-form-field-checkbox .wpcf7-list-item,
.wpcf7 .cf7-form-field-checkbox .wpcf7-list-item label {
	width: 100%;
	box-sizing: border-box;
}


/* --------------------------------------------------------------------------
   File Upload
   -------------------------------------------------------------------------- */

.wpcf7 input[type="file"] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 0.65rem;
	border: 1px dashed var(--cf7-extend-color-border);
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-background);
	color: var(--cf7-extend-color-foreground);
	font-family: inherit;
	font-size: var(--cf7-extend-font-size-sm);
	cursor: pointer;
}

.wpcf7 input[type="file"]:hover {
	border-color: var(--cf7-extend-color-primary);
}

.wpcf7 input[type="file"]::file-selector-button {
	margin-inline-end: var(--cf7-extend-space-xs);
	padding: 0.55rem 0.85rem;
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-surface);
	color: var(--cf7-extend-color-primary);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}


/* --------------------------------------------------------------------------
   Help Text
   -------------------------------------------------------------------------- */

.wpcf7 .cf7-form-help {
	margin-block-start: calc(var(--cf7-extend-space-lg) * -1);
	margin-block-end: var(--cf7-extend-space-xl);
}

.wpcf7 .cf7-extend-form-help {
	margin: 0;
	color: var(--cf7-extend-color-muted);
	font-size: var(--cf7-extend-font-size-xs);
	line-height: 1.5;
}


/* --------------------------------------------------------------------------
   Validation
   -------------------------------------------------------------------------- */

.wpcf7 .wpcf7-not-valid {
	border-color: var(--cf7-extend-color-error);
}

.wpcf7 .wpcf7-not-valid:focus {
	border-color: var(--cf7-extend-color-error);
	box-shadow:
		0 0 0 var(--cf7-extend-focus-width)
		color-mix(
			in srgb,
			var(--cf7-extend-color-error) 15%,
			transparent
		);
}

.wpcf7 .wpcf7-not-valid-tip {
	display: block;
	margin-block-start: var(--cf7-extend-space-xs);
	color: var(--cf7-extend-color-error);
	font-size: var(--cf7-extend-font-size-xs);
	line-height: 1.4;
}


/* --------------------------------------------------------------------------
   Response Messages
   -------------------------------------------------------------------------- */

.wpcf7 .wpcf7-response-output {
	margin: var(--cf7-extend-space-xl) 0 0;
	padding: var(--cf7-extend-space-sm);
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-background);
	color: var(--cf7-extend-color-foreground);
	font-size: var(--cf7-extend-font-size-sm);
	line-height: 1.5;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--cf7-extend-color-success);
	background: var(--cf7-extend-color-success-background);
	color: var(--cf7-extend-color-success);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
	border-color: var(--cf7-extend-color-error);
	background: var(--cf7-extend-color-error-background);
	color: var(--cf7-extend-color-error);
}


/* --------------------------------------------------------------------------
   Standard CF7 Buttons
   -------------------------------------------------------------------------- */

.wpcf7 input[type="submit"],
.wpcf7 input[type="button"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--cf7-extend-control-height);
	margin: 0;
	padding: 0.7rem 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-primary);
	color: var(--cf7-extend-color-on-primary);
	font-family: inherit;
	font-size: var(--cf7-extend-font-size-base);
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition:
		background-color var(--cf7-extend-transition),
		border-color var(--cf7-extend-transition),
		color var(--cf7-extend-transition),
		transform var(--cf7-extend-transition);
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="button"]:hover {
	background: var(--cf7-extend-color-foreground);
}

.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 input[type="button"]:focus-visible {
	outline: 2px solid var(--cf7-extend-focus-color);
	outline-offset: 3px;
}

.wpcf7 input[type="submit"]:active,
.wpcf7 input[type="button"]:active {
	transform: translateY(1px);
}


/* --------------------------------------------------------------------------
   Disabled Controls
   -------------------------------------------------------------------------- */

.wpcf7 button:disabled,
.wpcf7 input:disabled,
.wpcf7 select:disabled,
.wpcf7 textarea:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}


/* ==========================================================================
   2.1 CONTACT FORM 7 — RESPONSIVE
   ========================================================================== */

@media (max-width: 600px) {

	.wpcf7 form {
		padding: var(--cf7-extend-space-lg);
	}

	.wpcf7 .wpcf7-radio,
	.wpcf7 .wpcf7-checkbox {
		flex-direction: column;
		align-items: stretch;
	}

	.wpcf7 .wpcf7-list-item,
	.wpcf7 .wpcf7-list-item label {
		width: 100%;
		box-sizing: border-box;
	}

	.wpcf7 .cf7-form-fieldset fieldset {
		padding: var(--cf7-extend-space-lg);
	}

}


/* ==========================================================================
   3. CF7 EXTEND — MULTI-STEP FORM
   ========================================================================== */


/* --------------------------------------------------------------------------
   Step
   -------------------------------------------------------------------------- */

.cf7-extend-step {
	width: 100%;
	margin: 0;
	padding: 0;
	animation: cf7ExtendFadeIn 0.25s ease;
}

.cf7-extend-step[hidden] {
	display: none !important;
}

.cf7-extend-step-header {
	margin-block-end: var(--cf7-extend-space-xl);
}

.cf7-extend-step-title {
	margin: 0;
	padding-block-end: var(--cf7-extend-space-sm);
	border-block-end: 2px solid var(--cf7-extend-color-border);
	color: var(--cf7-extend-color-primary);
	font-size: clamp(1.15rem, 1rem + 0.35vw, 1.35rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.cf7-extend-step-content {
	display: flow-root;
}


/* ==========================================================================
   4. CF7 EXTEND — PROGRESS
   ========================================================================== */


/* Progress Wrapper */

.cf7-extend-progress {
	width: 100%;
	margin-block-end: var(--cf7-extend-space-xl);
}


/* Progress List */

.cf7-extend-progress-list {
	display: flex;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cf7-extend-progress-list li {
	position: relative;
	flex: 1 1 0;
	margin: 0;
	padding: 0;
	text-align: center;
}


/* Connector */

.cf7-extend-progress-steps .cf7-extend-progress-list li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(var(--cf7-extend-progress-size) / 2);
	left: calc(50% + 1.25rem);
	right: calc(-50% + 1.25rem);
	height: var(--cf7-extend-progress-line-width);
	background: var(--cf7-extend-color-border);
	transform: translateY(-50%);
}


/* Progress Item */

.cf7-extend-progress-item {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--cf7-extend-progress-size);
	height: var(--cf7-extend-progress-size);
	margin: 0;
	padding: 0;
	border: 2px solid var(--cf7-extend-color-border);
	border-radius: 50%;
	background: var(--cf7-extend-color-surface);
	color: var(--cf7-extend-color-muted);
	font-family: inherit;
	font-size: 0;
	font-weight: 600;
	line-height: 1;
	cursor: default;
	transition:
		background-color var(--cf7-extend-transition),
		border-color var(--cf7-extend-transition),
		color var(--cf7-extend-transition);
}

.cf7-extend-progress-item::before {
	content: attr(data-cf7-extend-step-indicator);
	font-size: var(--cf7-extend-font-size-xs);
}

.cf7-extend-progress-item:disabled {
	opacity: 1;
}


/* Active Item */

.cf7-extend-progress-item.is-active {
	border-color: var(--cf7-extend-color-accent);
	background: var(--cf7-extend-color-accent);
	color: var(--cf7-extend-color-on-accent);
}

.cf7-extend-progress-item.is-active::after {
	content: "";
	position: absolute;
	inset: -5px;
	border: 1px solid var(--cf7-extend-color-accent);
	border-radius: inherit;
	opacity: 0.35;
}


/* Complete / Available Items */

.cf7-extend-progress-item.is-complete {
	border-color: var(--cf7-extend-color-primary);
	background: var(--cf7-extend-color-primary);
	color: var(--cf7-extend-color-on-primary);
}

.cf7-extend-progress-item:not(:disabled):not(.is-active) {
	cursor: pointer;
}

.cf7-extend-progress-item:not(:disabled):not(.is-active):hover {
	border-color: var(--cf7-extend-color-primary);
	color: var(--cf7-extend-color-primary);
}

.cf7-extend-progress-item:focus-visible {
	outline: 2px solid var(--cf7-extend-focus-color);
	outline-offset: 3px;
}


/* --------------------------------------------------------------------------
   Progress Pills
   -------------------------------------------------------------------------- */

.cf7-extend-progress-pills .cf7-extend-progress-list {
	gap: var(--cf7-extend-space-xs);
}

.cf7-extend-progress-pills .cf7-extend-progress-item {
	width: 100%;
	height: auto;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--cf7-extend-color-border);
	border-radius: var(--cf7-extend-radius-pill);
	font-size: var(--cf7-extend-font-size-sm);
	line-height: 1.4;
}

.cf7-extend-progress-pills .cf7-extend-progress-item::before {
	content: none;
}


/* --------------------------------------------------------------------------
   Progress Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 600px) {

	.cf7-extend-progress {
		margin-block-end: var(--cf7-extend-space-lg);
	}

	.cf7-extend-progress-steps .cf7-extend-progress-list li:not(:last-child)::after {
		left: calc(50% + 1rem);
		right: calc(-50% + 1rem);
	}

	.cf7-extend-progress-item {
		width: 2rem;
		height: 2rem;
	}

}


/* ==========================================================================
   5. CF7 EXTEND — CONDITIONAL FIELDS
   ========================================================================== */

.cf7-extend-conditional {
	width: 100%;
	margin-block: var(--cf7-extend-space-xl);
	animation: cf7ExtendFadeIn 0.2s ease;
}

.cf7-extend-conditional[hidden] {
	display: none !important;
}

.cf7-extend-form-fieldset {
	min-width: 0;
	margin: 0;
	padding: var(--cf7-extend-space-xl);
	border: var(--cf7-extend-border);
	border-radius: var(--cf7-extend-radius-lg);
	background: var(--cf7-extend-color-surface);
}

.cf7-extend-form-fieldset legend {
	width: auto;
	max-width: 100%;
	margin: 0;
	padding-inline: var(--cf7-extend-space-xs);
	color: var(--cf7-extend-color-primary);
	font-size: var(--cf7-extend-font-size-base);
	font-weight: 600;
	line-height: 1.4;
}

.cf7-extend-form-fieldset .cf7-form-field:last-child {
	margin-block-end: 0;
}

.cf7-extend-form-fieldset-intro,
.cf7-form-fieldset-intro {
	margin-block: var(--cf7-extend-space-xs) var(--cf7-extend-space-lg);
	color: var(--cf7-extend-color-muted);
	font-size: var(--cf7-extend-font-size-sm);
	line-height: 1.5;
}


/* Conditional Responsive */

@media (max-width: 600px) {

	.cf7-extend-form-fieldset {
		padding: var(--cf7-extend-space-lg);
	}

}


/* ==========================================================================
   6. CF7 EXTEND — FORM ACTIONS
   ========================================================================== */

.cf7-form-actions {
	display: flex;
	justify-content: flex-end;
	margin-block-start: var(--cf7-extend-space-xl);
	padding-block-start: var(--cf7-extend-space-lg);
	border-block-start: var(--cf7-extend-border);
}

.cf7-extend-navigation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--cf7-extend-space-sm);
	width: 100%;
}


/* --------------------------------------------------------------------------
   Navigation Buttons
   -------------------------------------------------------------------------- */

.cf7-extend-navigation button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--cf7-extend-control-height);
	margin: 0;
	padding: 0.7rem 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--cf7-extend-radius-md);
	background: var(--cf7-extend-color-primary);
	color: var(--cf7-extend-color-on-primary);
	font-family: inherit;
	font-size: var(--cf7-extend-font-size-base);
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition:
		background-color var(--cf7-extend-transition),
		border-color var(--cf7-extend-transition),
		color var(--cf7-extend-transition),
		transform var(--cf7-extend-transition);
}

.cf7-extend-navigation button:hover {
	background: var(--cf7-extend-color-foreground);
}

.cf7-extend-navigation button:focus-visible {
	outline: 2px solid var(--cf7-extend-focus-color);
	outline-offset: 3px;
}

.cf7-extend-navigation button:active {
	transform: translateY(1px);
}


/* Previous */

.cf7-extend-navigation .cf7-extend-prev {
	border-color: var(--cf7-extend-color-border);
	background: transparent;
	color: var(--cf7-extend-color-primary);
}

.cf7-extend-navigation .cf7-extend-prev:hover {
	border-color: var(--cf7-extend-color-primary);
	background: var(--cf7-extend-color-background);
}


/* Next */

.cf7-extend-navigation .cf7-extend-next {
	min-width: 7rem;
}


/* Submit */

.cf7-extend-navigation .cf7-extend-submit {
	background: var(--cf7-extend-color-accent);
	color: var(--cf7-extend-color-on-accent);
}

.cf7-extend-navigation .cf7-extend-submit:hover {
	background: var(--cf7-extend-color-primary);
	color: var(--cf7-extend-color-on-primary);
}


/* Hidden Navigation Controls */

.cf7-extend-navigation button[hidden] {
	display: none !important;
}


/* Actions Responsive */

@media (max-width: 600px) {

	.cf7-form-actions {
		margin-block-start: var(--cf7-extend-space-lg);
		padding-block-start: var(--cf7-extend-space-md);
	}

	.cf7-extend-navigation {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.cf7-extend-navigation button {
		width: 100%;
	}

}


/* ==========================================================================
   7. CF7 EXTEND — ANIMATION
   ========================================================================== */

@keyframes cf7ExtendFadeIn {

	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}

}


/* ==========================================================================
   8. ACCESSIBILITY
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.wpcf7 *,
	.wpcf7 *::before,
	.wpcf7 *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

}