/* Публичные стили BY Cookie Consent. */
.bycc-root {
	--bycc-bg: #fff;
	--bycc-text: #161616;
	--bycc-accent: #1769aa;
	--bycc-border: #d6d9dd;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	color: var(--bycc-text);
}
.bycc-root [hidden] { display: none !important; }
.bycc-has-valid-consent #bycc-banner { display: none !important; }
.bycc-banner {
	position: fixed;
	z-index: 2147483000;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--bycc-bg);
	color: var(--bycc-text);
	border-top: 1px solid var(--bycc-border);
	box-shadow: 0 -10px 30px rgba(0, 0, 0, .14);
}
.bycc-banner__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 22px 24px;
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto;
	gap: 14px 24px;
	align-items: center;
}
.bycc-banner__content h2,
.bycc-modal__panel h2,
.bycc-category h3 {
	margin: 0 0 8px;
	padding: 0;
	color: var(--bycc-text);
	font-family: inherit;
	line-height: 1.25;
}
.bycc-banner__content h2,
.bycc-modal__panel h2 { font-size: 1.35rem; }
.bycc-category h3 { font-size: 1.05rem; }
.bycc-banner__content p,
.bycc-category p { margin: 0; color: var(--bycc-text); }
.bycc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}
.bycc-button,
.bycc-open-settings {
	appearance: none;
	-webkit-appearance: none;
	border-radius: 5px;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
}
.bycc-button {
	min-height: 44px;
	min-width: 150px;
	padding: 11px 16px;
	border: 2px solid var(--bycc-accent);
}
.bycc-button--decision {
	background: var(--bycc-accent);
	color: #fff;
}
.bycc-button--settings {
	background: var(--bycc-bg);
	color: var(--bycc-text);
}
.bycc-button:hover,
.bycc-button:focus-visible,
.bycc-open-settings:hover,
.bycc-open-settings:focus-visible,
.bycc-policy-link:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--bycc-accent) 35%, transparent);
	outline-offset: 2px;
}
.bycc-policy-link {
	grid-column: 1 / -1;
	color: var(--bycc-accent);
	text-decoration: underline;
	width: fit-content;
}
.bycc-layout-modal .bycc-banner {
	top: 0;
	display: grid;
	place-items: center;
	padding: 18px;
	background: rgba(0, 0, 0, .55);
	border: 0;
}
.bycc-layout-modal .bycc-banner__inner {
	max-width: 760px;
	width: min(760px, 100%);
	background: var(--bycc-bg);
	border: 1px solid var(--bycc-border);
	box-shadow: 0 20px 70px rgba(0, 0, 0, .25);
	grid-template-columns: 1fr;
}
.bycc-layout-modal .bycc-actions { width: 100%; }
.bycc-layout-modal .bycc-button { flex: 1 1 190px; }
.bycc-modal {
	position: fixed;
	z-index: 2147483001;
	inset: 0;
	padding: 20px;
	background: rgba(0, 0, 0, .58);
	display: grid;
	place-items: center;
	overflow: auto;
}
.bycc-modal__panel {
	position: relative;
	width: min(760px, 100%);
	max-height: calc(100vh - 40px);
	overflow: auto;
	background: var(--bycc-bg);
	color: var(--bycc-text);
	border: 1px solid var(--bycc-border);
	border-radius: 7px;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .3);
	padding: 26px;
}
.bycc-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	color: var(--bycc-text);
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}
.bycc-category {
	border: 1px solid var(--bycc-border);
	border-radius: 5px;
	padding: 16px;
	margin: 14px 0;
}
.bycc-category__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.bycc-storage { margin-top: 9px !important; font-size: .92em; }
.bycc-switch { position: relative; flex: 0 0 auto; display: inline-block; width: 50px; height: 28px; }
.bycc-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.bycc-switch span {
	position: absolute;
	inset: 0;
	background: #858585;
	border-radius: 999px;
	transition: .16s ease;
}
.bycc-switch span::before {
	content: '';
	position: absolute;
	width: 22px;
	height: 22px;
	left: 3px;
	top: 3px;
	background: #fff;
	border-radius: 50%;
	transition: .16s ease;
	box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.bycc-switch input:checked + span { background: var(--bycc-accent); }
.bycc-switch input:checked + span::before { transform: translateX(22px); }
.bycc-switch input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--bycc-accent) 35%, transparent); outline-offset: 2px; }
.bycc-switch input:disabled + span { opacity: .72; cursor: not-allowed; }
.bycc-actions--modal { margin-top: 18px; }
.bycc-actions--modal .bycc-button { flex: 1 1 190px; }
.bycc-footer-control {
	padding: 10px 16px;
	text-align: center;
	font-size: 14px;
}
.bycc-open-settings {
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	text-decoration: underline;
}
.bycc-protected-content {
	min-height: 140px;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 10px;
	padding: 24px;
	border: 1px dashed #8c8f94;
	background: #f5f5f5;
	text-align: center;
}
.bycc-protected-content p { margin: 0; }
.bycc-status-message {
	position: fixed;
	z-index: 2147483002;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	max-width: min(90vw, 640px);
}
.bycc-lock-scroll { overflow: hidden !important; }
.bycc-policy-table-wrap { overflow-x: auto; }
.bycc-policy-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.bycc-policy-table th,
.bycc-policy-table td { border: 1px solid #d6d9dd; padding: 9px; text-align: left; vertical-align: top; }
.bycc-policy-table th { background: #f4f5f6; }
.bycc-snippet-container { display: contents; }
@supports not (color: color-mix(in srgb, black 50%, white)) {
	.bycc-button:focus-visible,
	.bycc-open-settings:focus-visible,
	.bycc-policy-link:focus-visible,
	.bycc-switch input:focus-visible + span { outline: 3px solid #6aa9db; }
}
@media (max-width: 820px) {
	.bycc-banner__inner { grid-template-columns: 1fr; padding: 18px 16px; }
	.bycc-actions { width: 100%; }
	.bycc-button { flex: 1 1 180px; min-width: 0; }
	.bycc-modal { padding: 10px; }
	.bycc-modal__panel { max-height: calc(100vh - 20px); padding: 22px 16px; }
}
@media (max-width: 520px) {
	.bycc-actions { display: grid; grid-template-columns: 1fr; }
	.bycc-button { width: 100%; }
}

.bycc-noscript { margin: 0; padding: 10px 16px; background: #fff3cd; color: #3d3300; text-align: center; }
