/*
 * svetlana-security: свёрнутая строка-капча + раскрывающаяся панель со
 * слайдером. Оформление под светлые карточки сайта. Без вложенного CSS:
 * файл отдаётся как есть, без сборки.
 */

.sveta-sec-captcha {
	margin: 1.25rem 0;
}

/* Строка-чекбокс (свёрнутое состояние). */
.sveta-sec-captcha-row {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	width: 100%;
	max-width: 300px;
	padding: 0.625rem 0.75rem;
	background: #f9f9f9;
	border: 1px solid #d9d9d9;
	border-radius: 6px;
	cursor: pointer;
	font-size: 0.875rem;
	line-height: 1.2;
	color: #3c434a;
	text-align: left;
	transition: border-color 0.2s;
}

.sveta-sec-captcha-row:hover {
	border-color: #a7aaad;
}

.sveta-sec-captcha-row:focus-visible {
	outline: 2px solid #c9a86a;
	outline-offset: 1px;
}

.sveta-sec-captcha-mark {
	flex: 0 0 auto;
	width: 1.125rem;
	height: 1.125rem;
	border: 2px solid #b5b5b5;
	border-radius: 3px;
	background: #fff;
	position: relative;
}

/* Решено: зелёная галочка в квадрате, зелёная рамка строки. */
.sveta-sec-captcha.is-solved .sveta-sec-captcha-row {
	border-color: #2e9e44;
	background: #f0f9f0;
	cursor: default;
}

.sveta-sec-captcha.is-solved .sveta-sec-captcha-mark {
	border-color: #2e9e44;
	background: #2e9e44;
}

.sveta-sec-captcha.is-solved .sveta-sec-captcha-mark::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* Панель со слайдером. */
.sveta-sec-captcha-panel {
	margin-top: 0.625rem;
}

.sveta-sec-captcha-panel[hidden] {
	display: none;
}

.sveta-sec-captcha .go-captcha {
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid #d9d9d9;
}

.sveta-sec-captcha.is-error {
	color: #b32d2e;
	font-size: 0.875rem;
}

/* ── Woo-форма регистрации: капча под инпутами, перед кнопкой ────────────
   Рендер идёт в register_form_end (после кнопки в DOM), порядок чинится
   flex-ом: поля (0) → капча (50) → сабмит (60). */
form.woocommerce-form-register {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

form.woocommerce-form-register .sveta-sec-captcha {
	order: 50;
}

form.woocommerce-form-register .form-row:has(.woocommerce-form-register__submit) {
	order: 60;
	margin-top: 1.25rem;
}

/* Загрузка челленджа: спиннер в строке (класс ставит sveta-sec-captcha.js). */
.sveta-sec-captcha.is-loading .sveta-sec-captcha-row {
	position: relative;
	border-color: #c9a86a;
}

.sveta-sec-captcha.is-loading .sveta-sec-captcha-row::after {
	content: '';
	position: absolute;
	right: 0.75rem;
	top: 50%;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	border: 2px solid #d9d9d9;
	border-top-color: #9b7b3a;
	border-radius: 50%;
	animation: sveta-sec-spin 0.8s linear infinite;
}

.sveta-sec-captcha.is-loading .sveta-sec-captcha-panel {
	position: relative;
	min-height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.sveta-sec-captcha.is-loading .sveta-sec-captcha-panel::before {
	content: '';
	width: 26px;
	height: 26px;
	border: 3px solid #d9d9d9;
	border-top-color: #9b7b3a;
	border-radius: 50%;
	animation: sveta-sec-spin 0.8s linear infinite;
}

@keyframes sveta-sec-spin {
	to {
		transform: rotate(360deg);
	}
}
