/* eoCMS — согласие на cookie: баннер внизу, окно настроек, заглушки плееров (.eo-embed).
   Положить в themes/<тема>/css/eo-consent.css и подключить в header.tpl (см. фрагмент).
   Палитра по умолчанию — как на Pazaris (синий #4a7ef8); для сайта заменить переменные под его фирменные цвета.
   Цвета и шрифт — через переменные ниже: переопределите их в стилях темы, подключённых ПОСЛЕ этого файла
   (:root { --eo-cc-accent: #c00; }). */
:root {
	--eo-cc-accent: #4a7ef8;          /* кнопки, переключатели, ссылки */
	--eo-cc-accent-hover: #3566d6;
	--eo-cc-accent-soft: #eef3ff;     /* фон наведения у кнопки-ссылки «Настроить» */
	--eo-cc-focus: rgba(74, 126, 248, .45);
	--eo-cc-link: #1a4fb0;            /* кнопка-ссылка «Настроить» */
	--eo-cc-bg: #fff;
	--eo-cc-text: #1b2333;
	--eo-cc-muted: #4a5263;
	--eo-cc-muted-2: #6b7385;
	--eo-cc-line: #eef0f4;
	--eo-cc-switch-off: #cfd5e1;
	--eo-cc-close-bg: #f2f4f8;
	--eo-cc-overlay: rgba(16, 24, 40, .5);
	--eo-cc-shadow: 0 12px 40px rgba(16, 24, 40, .22);
	--eo-cc-radius: 18px;
	--eo-cc-btn-radius: 22px;
	--eo-cc-font-bold: inherit;       /* например "manrope-bold", sans-serif */
	--eo-cc-z: 100000;
	--eo-embed-bg: linear-gradient(135deg, #1b2333, #2d3a55);
	--eo-embed-text: #dfe5f1;
	--eo-embed-muted: #c5cde0;
	--eo-embed-radius: 14px;
}

/* ---------- баннер ---------- */
.eo-cc { display: none; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: var(--eo-cc-z); }
.eo-cc.is-open { display: block; }
.eo-cc-box { max-width: 1040px; margin: 0 auto; display: flex; align-items: center; gap: 24px; padding: 20px 24px; background: var(--eo-cc-bg); color: var(--eo-cc-text); border-radius: var(--eo-cc-radius); box-shadow: var(--eo-cc-shadow); font-size: 14px; line-height: 1.5; box-sizing: border-box; }
.eo-cc-text { flex: 1 1 auto; }
.eo-cc-text b { display: block; font-size: 16px; margin: 0 0 4px; font-family: var(--eo-cc-font-bold); }
.eo-cc-text p { margin: 0; color: var(--eo-cc-muted); }
.eo-cc a { color: var(--eo-cc-accent); text-decoration: underline; }
.eo-cc-btns { display: flex; gap: 10px; flex: 0 0 auto; flex-wrap: wrap; }
/* «Принять» и «Отклонить» одинаковые по виду — требование регуляторов (нельзя выделять только «Принять») */
.eo-cc-btn { min-width: 150px; height: 44px; padding: 0 22px; border: 0; border-radius: var(--eo-cc-btn-radius); background: var(--eo-cc-accent); color: #fff; font: inherit; font-family: var(--eo-cc-font-bold); font-size: 14px; cursor: pointer; }
.eo-cc-btn:hover { background: var(--eo-cc-accent-hover); }
.eo-cc-btn:focus-visible, .eo-cc-x:focus-visible, .eo-cc-row input:focus-visible { outline: 3px solid var(--eo-cc-focus); outline-offset: 2px; }
.eo-cc-btn-link { min-width: 0; background: transparent; color: var(--eo-cc-link); text-decoration: underline; padding: 0 10px; }
.eo-cc-btn-link:hover { background: var(--eo-cc-accent-soft); }

/* ---------- окно настроек ---------- */
.eo-cc-modal { display: none; position: fixed; inset: 0; z-index: calc(var(--eo-cc-z) + 1); background: var(--eo-cc-overlay); align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; }
.eo-cc-modal.is-open { display: flex; }
.eo-cc-panel { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow: auto; background: var(--eo-cc-bg); color: var(--eo-cc-text); border-radius: var(--eo-cc-radius); padding: 26px 26px 20px; box-sizing: border-box; font-size: 14px; line-height: 1.5; }
.eo-cc-panel h3 { margin: 0 36px 8px 0; font-size: 20px; font-family: var(--eo-cc-font-bold); }
.eo-cc-panel > p { margin: 0 0 14px; color: var(--eo-cc-muted); }
.eo-cc-x { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--eo-cc-close-bg); font-size: 20px; line-height: 34px; cursor: pointer; color: var(--eo-cc-text); }
.eo-cc-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--eo-cc-line); cursor: pointer; }
.eo-cc-row span b { display: block; font-family: var(--eo-cc-font-bold); }
.eo-cc-row span small { display: block; color: var(--eo-cc-muted-2); font-size: 13px; margin-top: 2px; }
.eo-cc-row input { -webkit-appearance: none; appearance: none; flex: 0 0 auto; position: relative; width: 46px; height: 26px; margin: 0; border-radius: 13px; background: var(--eo-cc-switch-off); cursor: pointer; transition: background .15s; }
.eo-cc-row input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: left .15s; }
.eo-cc-row input:checked { background: var(--eo-cc-accent); }
.eo-cc-row input:checked::after { left: 23px; }
.eo-cc-row input:disabled { opacity: .55; cursor: default; }
.eo-cc-panel .eo-cc-btns { margin-top: 16px; justify-content: flex-end; }
.eo-cc-panel .eo-cc-btn { min-width: 0; flex: 1 1 auto; }
.eo-cc-foot { margin: 12px 0 0; font-size: 13px; }
.eo-cc-foot a { color: var(--eo-cc-accent); }

@media screen and (max-width: 800px) {
	.eo-cc { left: 8px; right: 8px; bottom: 8px; }
	.eo-cc-box { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
	.eo-cc-btns { flex-direction: column; }
	.eo-cc-btn { width: 100%; }
	.eo-cc-panel { padding: 22px 16px 16px; }
	.eo-cc-panel .eo-cc-btns { flex-direction: column; }
}

/* ---------- плееры: заглушка до «Показать» (Component::eoEmbedHtml) ---------- */
.eo-embed { position: relative; width: 100%; padding-top: 56.25%; border-radius: var(--eo-embed-radius); overflow: hidden; background: #000; margin: 0 0 16px; }
.eo-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.eo-embed-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; box-sizing: border-box; text-align: center; color: #fff; background: var(--eo-embed-bg); }
.eo-embed-ph p { margin: 0; max-width: 460px; font-size: 14px; line-height: 1.5; color: var(--eo-embed-text); }
.eo-embed-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.eo-embed-load { height: 44px; padding: 0 28px; border: 0; border-radius: var(--eo-cc-btn-radius); background: var(--eo-cc-accent); color: #fff; font: inherit; font-size: 15px; cursor: pointer; }
.eo-embed-load:hover { background: var(--eo-cc-accent-hover); }
.eo-embed-ext { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border-radius: var(--eo-cc-btn-radius); background: rgba(255, 255, 255, .12); color: #fff !important; text-decoration: none !important; font-size: 14px; }
.eo-embed-always { font-size: 13px; color: var(--eo-embed-muted); cursor: pointer; }
.eo-embed-always input { vertical-align: middle; margin: 0 6px 0 0; }
/* простая ссылка, если адрес не распознан (не YouTube/Vimeo/RuTube/Matterport) */
.eo-embed-link { display: inline-block; padding: 12px 20px; border-radius: 12px; background: var(--eo-cc-accent); color: #fff !important; text-decoration: none !important; margin: 0 10px 10px 0; }
@media screen and (max-width: 480px) {
	/* на узком экране 16:9 мало для текста заглушки */
	.eo-embed:not([data-embed-loaded]) { padding-top: 0; min-height: 260px; }
}
