/* ideta.cookiealert */
.ideta-cc {
	--icc-bg: #ffffff;
	--icc-text: #1f2933;
	--icc-link: #1d6fdc;
	--icc-primary-bg: #1d6fdc;
	--icc-primary-text: #ffffff;
	--icc-secondary-bg: #eef1f5;
	--icc-secondary-text: #1f2933;
	--icc-border: rgba(0, 0, 0, .08);
	--icc-shadow: 0 8px 32px rgba(15, 23, 42, .18);
	--icc-radius: 8px;
	--icc-offset: 16px;
	--icc-max-width: 1200px;

	position: fixed;
	z-index: 10000;
	left: 0;
	right: 0;
	bottom: 0;
	padding: var(--icc-offset);
	pointer-events: none;
	font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--icc-text);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .25s ease, transform .25s ease;
}
.ideta-cc[hidden] { display: none !important; }
.ideta-cc *, .ideta-cc *::before, .ideta-cc *::after { box-sizing: border-box; }
.ideta-cc--visible { opacity: 1; transform: none; }

.ideta-cc__box {
	pointer-events: auto;
	margin: 0 auto;
	max-width: var(--icc-max-width);
	background: var(--icc-bg);
	color: var(--icc-text);
	border: 1px solid var(--icc-border);
	border-radius: var(--icc-radius);
	box-shadow: var(--icc-shadow);
	padding: 16px 20px;
}

.ideta-cc__main {
	display: flex;
	align-items: center;
	gap: 16px;
}
.ideta-cc__img {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	object-fit: contain;
}
.ideta-cc__text {
	flex: 1 1 auto;
	min-width: 0;
}
.ideta-cc__text p { margin: 0 0 .5em; }
.ideta-cc__text p:last-child { margin-bottom: 0; }
.ideta-cc__text a { color: var(--icc-link); text-decoration: underline; }
.ideta-cc__text a:hover { text-decoration: none; }

.ideta-cc__actions {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.ideta-cc__btn {
	appearance: none;
	margin: 0;
	border: 1px solid transparent;
	border-radius: calc(var(--icc-radius) * .75);
	padding: 9px 18px;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: filter .15s ease, background-color .15s ease;
}
.ideta-cc__btn:hover { filter: brightness(.94); }
.ideta-cc__btn:focus-visible { outline: 2px solid var(--icc-link); outline-offset: 2px; }
.ideta-cc__btn--primary { background: var(--icc-primary-bg); color: var(--icc-primary-text); }
.ideta-cc__btn--secondary { background: var(--icc-secondary-bg); color: var(--icc-secondary-text); }
.ideta-cc__btn--link {
	background: transparent;
	color: var(--icc-link);
	padding-left: 8px;
	padding-right: 8px;
	text-decoration: underline;
}

/* панель категорий */
.ideta-cc__prefs {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--icc-border);
}
.ideta-cc__prefs[hidden] { display: none; }
.ideta-cc__prefs-title { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.ideta-cc__prefs .ideta-cc__actions { margin-top: 12px; }
.ideta-cc__cat {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	cursor: pointer;
}
.ideta-cc__cat input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--icc-primary-bg);
	cursor: pointer;
}
.ideta-cc__cat input:disabled { cursor: default; opacity: .7; }
.ideta-cc__cat-body { display: flex; flex-direction: column; }
.ideta-cc__cat-title { font-weight: 600; }
.ideta-cc__cat-desc { font-size: 13px; opacity: .75; }

/* ---------- расположение ---------- */
.ideta-cc--bar-top { top: 0; bottom: auto; transform: translateY(-12px); }
.ideta-cc--bar-top.ideta-cc--visible { transform: none; }

.ideta-cc--static { position: relative; transform: none; }

.ideta-cc--box-left,
.ideta-cc--box-right { right: auto; max-width: calc(380px + var(--icc-offset) * 2); }
.ideta-cc--box-right { left: auto; right: 0; }
.ideta-cc--box-left .ideta-cc__main,
.ideta-cc--box-right .ideta-cc__main,
.ideta-cc--modal .ideta-cc__main { flex-direction: column; align-items: stretch; text-align: left; }
.ideta-cc--box-left .ideta-cc__img,
.ideta-cc--box-right .ideta-cc__img { display: none; }

.ideta-cc--modal {
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: scale(.97);
}
.ideta-cc--modal.ideta-cc--visible { transform: none; }
.ideta-cc--modal .ideta-cc__box { width: 100%; max-width: 520px; max-height: calc(100vh - var(--icc-offset) * 2); overflow: auto; padding: 24px; }
.ideta-cc--modal .ideta-cc__img { align-self: center; width: 64px; height: 64px; }

.ideta-cc--prefs-open .ideta-cc__box { max-height: calc(100vh - var(--icc-offset) * 2); overflow: auto; }

/* ---------- блокировка страницы ---------- */
.ideta-cc-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(15, 23, 42, .45);
	opacity: 0;
	transition: opacity .25s ease;
}
.ideta-cc-overlay[hidden] { display: none; }
.ideta-cc-overlay--visible { opacity: 1; }
html.ideta-cc-locked, html.ideta-cc-locked body { overflow: hidden; }

/* ---------- темы ---------- */
.ideta-cc--theme-dark {
	--icc-bg: #1f2430;
	--icc-text: #e8ebf0;
	--icc-link: #8ab4ff;
	--icc-primary-bg: #ffffff;
	--icc-primary-text: #1f2430;
	--icc-secondary-bg: #343b4a;
	--icc-secondary-text: #e8ebf0;
	--icc-border: rgba(255, 255, 255, .08);
}
.ideta-cc--theme-blue {
	--icc-bg: #1d6fdc;
	--icc-text: #ffffff;
	--icc-link: #ffffff;
	--icc-primary-bg: #ffffff;
	--icc-primary-text: #1d6fdc;
	--icc-secondary-bg: rgba(255, 255, 255, .16);
	--icc-secondary-text: #ffffff;
	--icc-border: transparent;
}
.ideta-cc--theme-green {
	--icc-bg: #f2faf5;
	--icc-text: #17311f;
	--icc-link: #1c7c43;
	--icc-primary-bg: #1c7c43;
	--icc-primary-text: #ffffff;
	--icc-secondary-bg: #dcefe3;
	--icc-secondary-text: #17311f;
	--icc-border: #cfe6d7;
}

/* ---------- адаптив ---------- */
@media (max-width: 767px) {
	.ideta-cc { padding: calc(var(--icc-offset) / 2); }
	.ideta-cc--box-left,
	.ideta-cc--box-right { max-width: none; left: 0; right: 0; }
	.ideta-cc__box { padding: 14px; }
	.ideta-cc__main { flex-direction: column; align-items: stretch; gap: 12px; }
	.ideta-cc__img { display: none; }
	.ideta-cc__actions { display: grid; grid-template-columns: 1fr 1fr; }
	.ideta-cc__actions .ideta-cc__btn--primary,
	.ideta-cc__prefs .ideta-cc__actions .ideta-cc__btn { grid-column: 1 / -1; }
	.ideta-cc__btn { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
	.ideta-cc, .ideta-cc-overlay { transition: none; transform: none; }
}

@media print {
	.ideta-cc, .ideta-cc-overlay { display: none !important; }
}
