/* Contact Form 7 — map CF7 controls onto the theme's form design. */

/* Product-type checkboxes → .check-item look */
.form-check-block .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: max(8px, 12rem) max(20px, 24rem);
}
.form-check-block .wpcf7-list-item {
	position: relative;
	margin: 0;
}
.form-check-block .wpcf7-list-item label {
	display: block;
	position: relative;
	min-height: max(28px, 28rem);
	padding: 0 0 0 max(33px, 33rem);
	font-size: max(14px, 16rem);
	line-height: max(28px, 28rem);
	cursor: pointer;
}
.form-check-block .wpcf7-list-item input[type="checkbox"] {
	position: absolute;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.form-check-block .wpcf7-list-item-label::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: max(28px, 28rem);
	height: max(28px, 28rem);
	background: url(../images/checkbox.svg) 50% 50% no-repeat;
	background-size: contain;
}
.form-check-block .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-image: url(../images/checkbox-active.svg);
}

/* CF7 acceptance / checkbox → design's custom checkbox look */
.check-item .wpcf7-acceptance .wpcf7-list-item,
.check-item .wpcf7-checkbox .wpcf7-list-item {
	display: block;
	margin: 0;
}
.check-item .wpcf7-acceptance label,
.check-item .wpcf7-checkbox label {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font-weight: inherit;
}
.check-item .wpcf7-acceptance input[type="checkbox"],
.check-item .wpcf7-checkbox input[type="checkbox"] {
	position: absolute !important;
	left: 0;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	-webkit-appearance: none;
	appearance: none;
}
.check-item .wpcf7-acceptance .wpcf7-list-item-label,
.check-item .wpcf7-checkbox .wpcf7-list-item-label {
	position: relative;
	display: block;
	min-height: max(24px, 24rem);
	padding: 0 0 0 max(31px, 31rem);
	font-size: var(--caption_2);
	line-height: max(24px, 24rem);
}
.check-item .wpcf7-acceptance .wpcf7-list-item-label::before,
.check-item .wpcf7-checkbox .wpcf7-list-item-label::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: max(24px, 24rem);
	height: max(24px, 24rem);
	background: url(../images/checkbox-2.svg) 50% 50% no-repeat;
	background-size: contain;
}
.check-item .wpcf7-acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label::before,
.check-item .wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-image: url(../images/checkbox-2-active.svg);
}

/* Validation + response messages */
.wpcf7-not-valid-tip {
	margin: min(-4px, -8rem) 0 max(10px, 14rem);
	color: var(--red);
	font-size: max(14px, 14rem);
	line-height: 120%;
}
.wpcf7 form .wpcf7-response-output {
	margin: max(14px, 18rem) 0 0;
	padding: max(12px, 14rem) max(20px, 20rem);
	border-radius: max(12px, 12rem);
	font-size: max(14px, 16rem);
}
