.savol-form-wrap {
	--savol-border-color: #c7cdd4;
	--savol-focus-color: #2271b1;
	--savol-error-color: #b32d2e;
	--savol-radius: 4px;
	color: inherit;
	max-width: 100%;
	width: 100%;
}
.savol-form { display: grid; gap: 1rem; }
.savol-field { display: grid; gap: .4rem; margin: 0; }
.savol-field__label { font-size: .95rem; font-weight: 600; line-height: 1.4; }
.savol-field input:not([type="radio"]):not([type="checkbox"]),
.savol-field select,
.savol-field textarea {
	background: #fff;
	border: 1px solid var(--savol-border-color);
	border-radius: var(--savol-radius);
	box-sizing: border-box;
	color: #1d2327;
	font: inherit;
	line-height: 1.4;
	max-width: 100%;
	min-height: 44px;
	padding: .65rem .75rem;
	width: 100%;
}
.savol-field textarea { min-height: 120px; resize: vertical; }
.savol-field select { cursor: pointer; }
.savol-field [data-savol-fixed-model] { background: #f6f7f7; cursor: default; }
.savol-field input:not([type="radio"]):not([type="checkbox"]):focus,
.savol-field select:focus,
.savol-field textarea:focus {
	border-color: var(--savol-focus-color);
	box-shadow: 0 0 0 1px var(--savol-focus-color);
	outline: 0;
}
.savol-field__options { display: grid; gap: .5rem; }
.savol-field__options label,
.savol-consent { align-items: flex-start; display: flex; gap: .5rem; line-height: 1.5; }
.savol-field__options input,
.savol-consent input { flex: 0 0 auto; margin: .2rem 0 0; }
.savol-consent a { color: inherit; text-decoration: underline; text-underline-offset: .12em; }
.savol-form__submit {
	align-items: center;
	border: 0;
	border-radius: var(--savol-radius);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 600;
	justify-content: center;
	min-height: 44px;
	padding: .7rem 1.25rem;
	width: fit-content;
}
.savol-form__submit[aria-busy="true"] { cursor: wait; opacity: .65; }
.savol-form-wrap--custom-appearance .savol-form { gap: var(--savol-form-gap); }
.savol-form-wrap--custom-appearance .savol-form__submit {
	background: var(--savol-button-bg);
	border-radius: var(--savol-button-radius);
	color: var(--savol-button-text);
	gap: .6rem;
	transition: filter .18s ease, opacity .18s ease, transform .18s ease;
	width: var(--savol-button-width);
}
.savol-form-wrap--custom-appearance.savol-form-hover--subtle .savol-form__submit:not(:disabled):hover { opacity: .88; }
.savol-form-wrap--custom-appearance.savol-form-hover--darken .savol-form__submit:not(:disabled):hover { filter: brightness(.82); }
.savol-form-wrap--custom-appearance.savol-form-hover--lighten .savol-form__submit:not(:disabled):hover { filter: brightness(1.18); }
.savol-form-wrap--custom-appearance.savol-form-hover--lift .savol-form__submit:not(:disabled):hover { box-shadow: 0 5px 14px rgba(0, 0, 0, .16); transform: translateY(-1px); }
.savol-form__submit-icon { display: inline-flex; font-size: 1.15em; line-height: 1; transition: transform .18s ease; }
.savol-form__submit:not(:disabled):hover .savol-form__submit-icon { transform: translateX(2px); }
.savol-form__submit[aria-busy="true"] .savol-form__submit-icon {
	animation: savol-button-spin .7s linear infinite;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	font-size: 0;
	height: 12px;
	width: 12px;
}
@keyframes savol-button-spin { to { transform: rotate(360deg); } }
.savol-form--validated input:invalid,
.savol-form--validated select:invalid,
.savol-form--validated textarea:invalid { border-color: var(--savol-error-color); }
.savol-form-message { border-radius: var(--savol-radius); margin-bottom: 1rem; padding: .8rem 1rem; }
.savol-form-message--success { background: #edf8ef; border-left: 4px solid #218739; color: #145523; }
.savol-form-message--warning { background: #fff8e5; border-left: 4px solid #dba617; color: #614c00; }
.savol-form-message--error { background: #fcf0f1; border-left: 4px solid #d63638; color: #8a2424; }
.savol-form-return-message {
	border-radius: var(--savol-radius, 4px);
	box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
	box-sizing: border-box;
	font-size: 1rem;
	left: 50%;
	max-width: min(92vw, 620px);
	padding: .9rem 3rem .9rem 1rem;
	position: fixed;
	top: 1rem;
	transform: translateX(-50%);
	width: max-content;
	z-index: 100000;
}
.savol-form-return-message__close {
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	font-size: 1.4rem;
	line-height: 1;
	padding: .25rem;
	position: absolute;
	right: .45rem;
	top: .35rem;
}
.savol-hp { height: 0 !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 0 !important; }

.elementor-popup-modal .savol-form { gap: .7rem; }
.elementor-popup-modal .savol-field { gap: .25rem; }
.elementor-popup-modal .savol-field__label { font-size: .9rem; line-height: 1.25; }
.elementor-popup-modal .savol-field input:not([type="radio"]):not([type="checkbox"]),
.elementor-popup-modal .savol-field select,
.elementor-popup-modal .savol-field textarea {
	min-height: 40px;
	padding: .48rem .65rem;
}
.elementor-popup-modal .savol-field textarea { min-height: 88px; }
.elementor-popup-modal .savol-consent { gap: .4rem; line-height: 1.35; }
.elementor-popup-modal .savol-form__submit { min-height: 40px; padding: .55rem 1.1rem; }
.elementor-popup-modal .savol-form-wrap--custom-appearance .savol-form { gap: var(--savol-form-gap); }
@media (max-width: 600px) {
	.savol-form { gap: .9rem; }
	.savol-form-wrap:not(.savol-form-wrap--custom-appearance) .savol-form__submit { width: 100%; }
	.elementor-popup-modal .savol-form { gap: .6rem; }
	.elementor-popup-modal .savol-form-wrap:not(.savol-form-wrap--custom-appearance) .savol-form__submit { width: 100%; }
	.elementor-popup-modal .savol-form-wrap--custom-appearance .savol-form { gap: var(--savol-form-gap); }
}
