/* Юридическое и доступность (ISCO_Legal, ISCO_Cookies): уведомление в формах, согласие на рассылку,
   баннер cookie, ссылки в подвале, видимый фокус у полей, прокрутка к элементу не под шапку. */

/* Уведомление о данных под формой. */
.isco-legal-notice {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--isco-text-secondary, #4b5f55);
	text-align: start;
}

.isco-legal-notice a {
	color: var(--isco-text-brand, #147a45);
	text-decoration: underline;
}

/* Согласие на рекламные сообщения — по умолчанию не отмечено. */
.isco-legal-marketing {
	margin: 12px 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--isco-text-primary, #10221a);
	text-align: start;
}

.isco-legal-marketing label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
	font-weight: 400;
}

.isco-legal-marketing input[type="checkbox"] {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	margin: 2px 0 0;
	accent-color: var(--isco-bg-brand, #147a45);
}

/* Ссылки на политики в подвале. */
.isco-legal-links a {
	margin-inline-start: 12px;
}

/* Баннер cookie. */
.isco-cookies {
	position: fixed;
	inset-inline: 16px;
	inset-block-end: 16px;
	z-index: 100000;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.isco-cookies[hidden] {
	display: none;
}

.isco-cookies__box {
	pointer-events: auto;
	inline-size: 100%;
	max-inline-size: 720px;
	padding: 18px 20px;
	border: 1px solid var(--isco-border-default, #dce6df);
	border-radius: 16px;
	background: var(--isco-bg-surface, #fff);
	box-shadow: 0 12px 40px rgba(16, 34, 26, 0.18);
	color: var(--isco-text-primary, #10221a);
	direction: rtl;
	text-align: start;
}

.isco-cookies__title {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
}

.isco-cookies__text {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--isco-text-secondary, #4b5f55);
}

.isco-cookies__text a {
	color: var(--isco-text-brand, #147a45);
	text-decoration: underline;
}

.isco-cookies__prefs {
	display: grid;
	gap: 8px;
	margin: 0 0 12px;
	font-size: 14px;
}

.isco-cookies__prefs[hidden] {
	display: none;
}

.isco-cookies__prefs label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.isco-cookies__prefs input {
	inline-size: 18px;
	block-size: 18px;
	accent-color: var(--isco-bg-brand, #147a45);
}

.isco-cookies__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.isco-cookies__actions .isco-btn {
	min-block-size: 44px;
	padding-inline: 18px;
}

.isco-cookies__actions [hidden] {
	display: none;
}

@media (max-width: 600px) {
	.isco-cookies {
		inset-inline: 8px;
		inset-block-end: 8px;
	}

	.isco-cookies__actions .isco-btn {
		flex: 1 1 auto;
	}
}

/* Видимый фокус у полей форм с клавиатуры (WCAG 2.4.7): у части полей рамку сбрасывали стили форм. */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--isco-text-brand, #147a45) !important;
	outline-offset: 2px !important;
}

/* Поле в обёртке с иконкой (.isco-field__control): рамка — у всей обёртки, а не у поля внутри неё. */
.isco-field__control:has(:focus-visible) {
	outline: 3px solid var(--isco-text-brand, #147a45) !important;
	outline-offset: 2px !important;
}

.isco-field__control :focus-visible {
	outline: none !important;
}

/* При переходе по Tab (и по якорю) элемент не уходит под фиксированную шапку (WCAG 2.4.11). */
html {
	scroll-padding-top: calc(var(--isco-header-bottom, 65px) + 16px);
}
