/*==================================================
EVER THEME
Forms
Version 2.0.0
==================================================*/

/* FORM
==================================================*/

.ever-form {
	width: 100%;
}

.ever-form__group {
	margin-bottom: var(--space-5);
}

.ever-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5);
}

/* LABELS
==================================================*/

.ever-form label,
.wpcf7-form label {
	display: block;

	margin-bottom: var(--space-2);

	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--fw-medium);
	line-height: 1.4;

	color: var(--color-primary-dark);
}

/* REQUIRED
==================================================*/

.ever-form__required {
	color: var(--color-primary);
}

/* INPUTS
==================================================*/

.ever-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.ever-form textarea,
.ever-form select,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form textarea,
.wpcf7-form select {
	width: 100%;

	padding: 15px 18px;

	font-family: var(--font-body);
	font-size: 16px;
	font-weight: var(--fw-regular);
	line-height: 1.5;

	color: var(--color-text);
	background: var(--color-surface);

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	box-shadow: none;

	transition:
		border-color var(--transition-fast),
		box-shadow var(--transition-fast),
		background var(--transition-fast);
}

/* INPUT HEIGHT
==================================================*/

.ever-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.ever-form select,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form select {
	min-height: 54px;
}

/* TEXTAREA
==================================================*/

.ever-form textarea,
.wpcf7-form textarea {
	min-height: 180px;

	resize: vertical;
}

/* PLACEHOLDER
==================================================*/

.ever-form ::placeholder,
.wpcf7-form ::placeholder {
	color: var(--color-text-light);

	opacity: 0.65;
}

/* FOCUS
==================================================*/

.ever-form input:focus,
.ever-form textarea:focus,
.ever-form select:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
	outline: none;

	border-color: var(--color-primary);

	box-shadow:
		0 0 0 3px rgba(141, 119, 182, 0.12);
}

/* SELECT
==================================================*/

.ever-form select,
.wpcf7-form select {
	padding-right: 48px;

	appearance: none;
	-webkit-appearance: none;

	background-image:
		linear-gradient(
			45deg,
			transparent 50%,
			var(--color-primary) 50%
		),
		linear-gradient(
			135deg,
			var(--color-primary) 50%,
			transparent 50%
		);

	background-position:
		calc(100% - 20px) 50%,
		calc(100% - 15px) 50%;

	background-size:
		5px 5px,
		5px 5px;

	background-repeat: no-repeat;
}

/* CHECKBOX / RADIO
==================================================*/

.ever-form input[type="checkbox"],
.ever-form input[type="radio"],
.wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"] {
	width: 18px;
	height: 18px;

	margin: 0 var(--space-2) 0 0;

	accent-color: var(--color-primary);

	cursor: pointer;
}

.ever-form__choice,
.wpcf7-list-item label {
	display: inline-flex;
	align-items: center;

	margin: 0;

	cursor: pointer;
}

/* CONTACT FORM 7
==================================================*/

.wpcf7-form p {
	margin-bottom: var(--space-5);
}

.wpcf7-form-control-wrap {
	display: block;

	margin-top: var(--space-2);
}

.wpcf7-list-item {
	margin:
		0
		var(--space-4)
		var(--space-2)
		0;
}

.wpcf7-spinner {
	margin-inline: var(--space-3);
}

/* FORM MESSAGES
==================================================*/

.ever-form__message,
.wpcf7 form .wpcf7-response-output {
	margin:
		var(--space-5)
		0
		0;

	padding: var(--space-4) var(--space-5);

	font-size: 14px;
	line-height: var(--lh-normal);

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

/* SUCCESS
==================================================*/

.ever-form__message--success,
.wpcf7 form.sent .wpcf7-response-output {
	color: #476451;
	background: #f1f7f3;

	border-color: #bfd4c5;
}

/* ERROR
==================================================*/

.ever-form__message--error,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	color: #7b4545;
	background: #faf1f1;

	border-color: #dfbcbc;
}

/* FIELD ERROR
==================================================*/

.wpcf7-not-valid {
	border-color: #c98989 !important;
}

.wpcf7-not-valid-tip {
	display: block;

	margin-top: var(--space-2);

	font-size: 13px;

	color: #9a5757;
}

/* FORM CARD
==================================================*/

.ever-form-card {
	padding: var(--space-7);

	background: var(--color-surface);

	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);

	box-shadow: var(--shadow-xs);
}

.ever-form-card__title {
	margin-bottom: var(--space-5);

	font-size: 30px;
}

.ever-form-card__intro {
	margin-bottom: var(--space-6);

	color: var(--color-text-light);
}

/* SEARCH FORM
==================================================*/

.ever-search-form {
	position: relative;

	display: flex;
	align-items: center;
}

.ever-search-form input[type="search"] {
	width: 100%;
	min-height: 54px;

	padding:
		14px
		64px
		14px
		18px;

	font-size: 16px;

	background: var(--color-surface);

	border: 1px solid var(--color-border);
	border-radius: var(--radius-round);
}

.ever-search-form input[type="search"]:focus {
	outline: none;

	border-color: var(--color-primary);

	box-shadow:
		0 0 0 3px rgba(141, 119, 182, 0.12);
}

.ever-search-form button {
	position: absolute;
	top: 50%;
	right: 5px;

	width: 44px;
	height: 44px;
	min-height: 0;
	padding: 0;

	border-radius: var(--radius-round);

	transform: translateY(-50%);
}

.ever-search-form button:hover {
	transform:
		translateY(-50%)
		scale(1.03);
}

/* DISABLED
==================================================*/

.ever-form input:disabled,
.ever-form textarea:disabled,
.ever-form select:disabled,
.wpcf7-form input:disabled,
.wpcf7-form textarea:disabled,
.wpcf7-form select:disabled {
	opacity: 0.55;

	cursor: not-allowed;

	background: var(--color-background);
}

/* AUTOFILL
==================================================*/

.ever-form input:-webkit-autofill,
.wpcf7-form input:-webkit-autofill {
	-webkit-text-fill-color: var(--color-text);

	box-shadow:
		0 0 0 1000px
		var(--color-surface)
		inset;
}

/* RESPONSIVE
==================================================*/

@media (max-width: 768px) {

	.ever-form__row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ever-form-card {
		padding: var(--space-6);
	}

}

@media (max-width: 480px) {

	.ever-form-card {
		padding: var(--space-5);

		border-radius: var(--radius-md);
	}

	.ever-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
	.ever-form textarea,
	.ever-form select,
	.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
	.wpcf7-form textarea,
	.wpcf7-form select {
		font-size: 16px;
	}

}
