/**
 * Daytify — согласия: 18+ и термсы при регистрации, согласие на обработку
 * данных в формах, которые отправляют почту.
 *
 * Токены (совпадают с остальным сайтом):
 *   primary        #A765FC
 *   primary hover  #914BEC
 *   primary light  #F8ECFF
 *   dark           #191250
 *   body text      rgba(0, 0, 0, .75)
 *   border         #EFEEF0
 *   error          #C62828  (контраст на белом ≈ 5.4:1)
 *
 * Шрифты Sora / Work Sans намеренно НЕ подключаются — наследуются от темы.
 */

.daytify-consent {
	--dt-consent-primary: #a765fc;
	--dt-consent-primary-hover: #914bec;
	--dt-consent-primary-light: #f8ecff;
	--dt-consent-dark: #191250;
	--dt-consent-body: rgba(0, 0, 0, .75);
	--dt-consent-border: #efeef0;
	--dt-consent-error: #c62828;
	--dt-consent-radius: 8px;
}

/* -------------------------------------------------------------------------
 * Регистрация
 * ---------------------------------------------------------------------- */

.daytify-consent.register-terms-group {
	clear: both;
	float: none;
	width: 100%;
	margin: 4px 0 20px;
	padding: 0;
}

.daytify-consent .daytify-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	float: none;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	color: var(--dt-consent-body, rgba(0, 0, 0, .75));
	text-align: left;
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
}

.daytify-consent .daytify-consent__text {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	padding-top: 1px;
}

.daytify-consent .daytify-consent__text a {
	color: var(--dt-consent-primary, #a765fc);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.daytify-consent .daytify-consent__text a:hover,
.daytify-consent .daytify-consent__text a:focus {
	color: var(--dt-consent-primary-hover, #914bec);
}

/* Сам чекбокс: своя отрисовка, но это по-прежнему настоящий input —
   с фокусом, клавиатурой и скринридером.
 *
 * !important здесь не по лени. Тема и wpdating-elementor-extension держат
 * правила вида
 *   .wpee-lr-tab-content-wrap form input { width:100%; height:50px; padding:0 15px }
 *   .wpee-register-form-wrap #wpee-registration-form .form-group
 *       input[type=checkbox] { width:auto; height:auto; margin-right:5px }
 * Второе — специфичность (1,3,1), и без него чекбокс схлопывается в полоску
 * 24×4 px. Править чужой CSS нельзя, а гонка специфичностей внутри чужой
 * разметки хрупче, чем явное !important на своём же классе: селектор
 * .daytify-consent__input не совпадает больше ни с чем на сайте. */
.daytify-consent .daytify-consent__input,
.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	flex: 0 0 auto;
	display: inline-block !important;
	width: 22px !important;
	min-width: 22px !important;
	max-width: 22px !important;
	height: 22px !important;
	min-height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
	border: 2px solid #d8d4dd;
	border-radius: 6px !important;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.daytify-consent .daytify-consent__label:hover .daytify-consent__input,
.wpcf7 form.wpcf7-form .wpcf7-acceptance label:hover input[type="checkbox"] {
	border-color: var(--dt-consent-primary, #a765fc);
	background-color: var(--dt-consent-primary-light, #f8ecff);
}

.daytify-consent .daytify-consent__input:checked,
.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked {
	background-color: var(--dt-consent-primary, #a765fc);
	border-color: var(--dt-consent-primary, #a765fc);
	/* Галочка нарисована инлайн, внешних запросов нет. */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3 8.4l3.2 3.2L13 4.8'/%3E%3C/svg%3E");
}

.daytify-consent .daytify-consent__label:hover .daytify-consent__input:checked,
.wpcf7 form.wpcf7-form .wpcf7-acceptance label:hover input[type="checkbox"]:checked {
	background-color: var(--dt-consent-primary-hover, #914bec);
	border-color: var(--dt-consent-primary-hover, #914bec);
}

/* Видимое кольцо фокуса — обязательное требование доступности. */
.daytify-consent .daytify-consent__input:focus,
.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:focus {
	outline: none;
	border-color: var(--dt-consent-primary, #a765fc);
	box-shadow: 0 0 0 3px rgba(167, 101, 252, .35);
}

.daytify-consent .daytify-consent__input:focus-visible,
.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--dt-consent-primary, #a765fc);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * Состояние ошибки
 * ---------------------------------------------------------------------- */

.daytify-consent.form-group-error .daytify-consent__input,
.daytify-consent .daytify-consent__input[aria-invalid="true"] {
	border-color: var(--dt-consent-error, #c62828);
	background-color: #fff;
}

.daytify-consent.form-group-error .daytify-consent__input:focus,
.daytify-consent .daytify-consent__input[aria-invalid="true"]:focus {
	box-shadow: 0 0 0 3px rgba(198, 40, 40, .28);
}

.daytify-consent.form-group-error .daytify-consent__text {
	color: var(--dt-consent-body, rgba(0, 0, 0, .75));
}

/* Подпись об ошибке. Класс input-error — тот же, что использует штатный
   скрипт формы, поэтому серверная и клиентская ошибка выглядят одинаково. */
.daytify-consent .input-error,
.register-terms-group .input-error,
.register-birth-date-group .input-error {
	display: block;
	clear: both;
	float: none;
	width: 100%;
	margin: 8px 0 0;
	padding: 0;
	color: var(--dt-consent-error, #c62828);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

.daytify-consent .input-error i,
.register-terms-group .input-error i,
.register-birth-date-group .input-error i {
	margin-right: 6px;
}

/* -------------------------------------------------------------------------
 * Contact Form 7 — согласие на обработку данных
 * ---------------------------------------------------------------------- */

.wpcf7 form.wpcf7-form .wpcf7-acceptance {
	display: block;
}

.wpcf7 form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
	display: block;
	margin: 0;
}

.wpcf7 form.wpcf7-form .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(0, 0, 0, .75);
	cursor: pointer;
}

.wpcf7 form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label {
	flex: 1 1 auto;
	min-width: 0;
	padding-top: 1px;
}

.wpcf7 form.wpcf7-form .wpcf7-acceptance a {
	color: #a765fc;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.wpcf7 form.wpcf7-form .wpcf7-acceptance a:hover,
.wpcf7 form.wpcf7-form .wpcf7-acceptance a:focus {
	color: #914bec;
}

/* CF7 сам вешает класс на обёртку поля, когда валидация не прошла. */
.wpcf7 form.wpcf7-form .wpcf7-form-control-wrap[data-name="daytify-privacy-consent"] .wpcf7-not-valid-tip {
	display: block;
	margin-top: 8px;
	color: #c62828;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"].wpcf7-not-valid {
	border-color: #c62828;
}

/* Кнопка отправки в общем стиле сайта. */
.wpcf7 form.wpcf7-form input.wpcf7-submit {
	font-size: 16px;
	font-weight: 700;
	border-radius: 8px;
}

/* -------------------------------------------------------------------------
 * Мобильные: цель нажатия не меньше 44 px
 * ---------------------------------------------------------------------- */

@media (max-width: 767px) {

	.daytify-consent .daytify-consent__label,
	.wpcf7 form.wpcf7-form .wpcf7-acceptance label {
		min-height: 44px;
		align-items: center;
		padding: 6px 0;
	}

	.daytify-consent .daytify-consent__input,
	.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
		width: 24px !important;
		min-width: 24px !important;
		max-width: 24px !important;
		height: 24px !important;
		min-height: 24px !important;
		background-size: 15px 15px;
	}

	/* Кликабельна вся подпись целиком — цель нажатия заведомо больше 44 px
	   и по высоте, и по ширине, без невидимых накладок поверх ссылок. */
	.daytify-consent .daytify-consent__label,
	.wpcf7 form.wpcf7-form .wpcf7-acceptance label {
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
 * Уважение к настройкам пользователя
 * ---------------------------------------------------------------------- */

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

	.daytify-consent .daytify-consent__input,
	.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
		transition: none;
	}
}

@media (prefers-contrast: more) {

	.daytify-consent .daytify-consent__input,
	.wpcf7 form.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
		border-color: #191250;
	}
}
