/* XTBZ 152-ФЗ — cookie-баннер, подсказки, форма, ссылки в футере.
   Все селекторы с префиксом xtbz- , чтобы не задеть тему svoy и её блоки.

   ⚠️ Тема svoy — тёмная по умолчанию (canvas #080a0f, текст #f7f8fc) и умеет светлый режим.
   Поэтому цвета берём из палитры темы через var(--wp--preset--color-*), а не жёстко:
   тогда наши блоки читаемы и в тёмном, и в светлом оформлении.
   ⚠️ В комментариях НЕ должно быть последовательности, закрывающей комментарий:
   одна такая опечатка делает невалидным всё следующее правило (уже наступали). */

/* ---------- всплывающие подсказки ---------- */
.xtbz-tt {
  border-bottom: 1px dotted currentColor;
  cursor: help;
  position: relative;
}
.xtbz-tt::after {
  content: attr(data-tip);
  position: absolute;
  left: 0;
  bottom: 100%;
  z-index: 9999;
  width: max-content;
  max-width: 22rem;
  margin-bottom: .35rem;
  padding: .5rem .65rem;
  background: var(--wp--preset--color--paper, #11141c);
  color: var(--wp--preset--color--ink, #f7f8fc);
  border: 1px solid var(--wp--preset--color--acid, #45e6d0);
  border-radius: .35rem;
  font-size: .85rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.35;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
  display: none;
}
.xtbz-tt:hover::after,
.xtbz-tt:focus::after { display: block; }

/* ---------- cookie-баннер ---------- */
.xtbz-cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 100000;
  padding: 1rem;
  background: var(--wp--preset--color--paper, #11141c);
  color: var(--wp--preset--color--ink, #f7f8fc);
  border-top: 2px solid var(--wp--preset--color--electric, #7453f5);
  box-shadow: 0 -10px 40px rgba(0, 0, 0, .5);
}
.xtbz-cookie-banner[hidden] { display: none; }
.xtbz-cookie-inner {
  max-width: 60rem;
  margin: 0 auto;
  font-size: .95rem;
  line-height: 1.5;
}
.xtbz-cookie-inner h2 { margin: 0 0 .4rem; font-size: 1.1rem; }
.xtbz-cookie-inner p { margin: .35rem 0; }
.xtbz-cookie-inner a { color: var(--wp--preset--color--acid, #45e6d0); text-decoration: underline; }
.xtbz-cookie-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .8rem;
}
/* Две кнопки равнодоступны: одинаковый размер, обе видны сразу, без «Настроить». */
.xtbz-btn {
  display: inline-block;
  min-width: 9rem;
  padding: .55rem 1.1rem;
  font: inherit;
  font-weight: 600;
  border-radius: .35rem;
  border: 1px solid transparent;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
}
.xtbz-btn-primary {
  background: var(--wp--preset--color--electric, #7453f5);
  color: var(--wp--preset--color--ink, #f7f8fc);
}
.xtbz-btn-primary:hover { filter: brightness(1.15); color: var(--wp--preset--color--ink, #f7f8fc); }
.xtbz-btn-secondary {
  background: transparent;
  color: var(--wp--preset--color--ink, #f7f8fc);
  border-color: var(--wp--preset--color--line, #252a37);
}
.xtbz-btn-secondary:hover { border-color: var(--wp--preset--color--muted, #9ba3b5); }
.xtbz-cookie-note { margin-top: .6rem; font-size: .8rem; opacity: .8; }

/* ---------- ссылки в футере ---------- */
.xtbz-footer-links {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem 1rem 1.25rem;
  border-top: 1px solid var(--wp--preset--color--line, #252a37);
  color: var(--wp--preset--color--muted, #9ba3b5);
}
.xtbz-footer-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.xtbz-footer-links a {
  color: var(--wp--preset--color--acid, #45e6d0);
  text-decoration: underline;
}

/* ---------- тексты политик ---------- */
.xtbz-legal {
  max-width: 52rem;
  line-height: 1.62;
  color: var(--wp--preset--color--ink, #f7f8fc);
}
.xtbz-legal * { color: inherit; }
.xtbz-legal h2,
.xtbz-legal h3,
.xtbz-legal h4 { color: var(--wp--preset--color--ink, #f7f8fc); }
.xtbz-legal a { color: var(--wp--preset--color--acid, #45e6d0); text-decoration: underline; }
.xtbz-legal strong { color: var(--wp--preset--color--ink, #f7f8fc); }
.xtbz-legal p  { margin: .7rem 0; }
.xtbz-legal ul { margin: .6rem 0 .9rem 1.2rem; }
.xtbz-legal li { margin: .3rem 0; }
.xtbz-meta { margin: .2rem 0; opacity: .92; }
.xtbz-legal .xtbz-tt::after {
  background: var(--wp--preset--color--canvas, #080a0f);
  color: var(--wp--preset--color--ink, #f7f8fc);
}

/* ---------- форма обратной связи ---------- */
.xtbz-form {
  max-width: 44rem;
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--wp--preset--color--paper, #11141c);
  color: var(--wp--preset--color--ink, #f7f8fc);
  border: 1px solid var(--wp--preset--color--line, #252a37);
  border-radius: .5rem;
}
.xtbz-form * { color: inherit; }
.xtbz-form h2 { margin-top: 0; }
.xtbz-form a { color: var(--wp--preset--color--acid, #45e6d0); }
.xtbz-form-op {
  font-size: .9rem;
  color: var(--wp--preset--color--muted, #9ba3b5);
  border-left: 3px solid var(--wp--preset--color--electric, #7453f5);
  padding-left: .75rem;
  margin-bottom: 1.25rem;
}
.xtbz-field { margin-bottom: 1.1rem; }
.xtbz-field label { display: block; font-weight: 600; margin-bottom: .3rem; }
.xtbz-req { color: var(--wp--preset--color--signal, #ff6fd8); }
.xtbz-opt { font-weight: 400; opacity: .85; color: var(--wp--preset--color--muted, #9ba3b5); }
.xtbz-field input[type="text"],
.xtbz-field input[type="email"],
.xtbz-field input[type="tel"],
.xtbz-field textarea {
  width: 100%;
  padding: .6rem .7rem;
  font: inherit;
  color: #10131a;                 /* тёмный текст на светлом поле */
  background: #f7f8fc;
  border: 1px solid var(--wp--preset--color--line, #252a37);
  border-radius: .3rem;
  box-sizing: border-box;
}
.xtbz-field input:focus,
.xtbz-field textarea:focus {
  outline: 2px solid var(--wp--preset--color--acid, #45e6d0);
  outline-offset: 1px;
}
.xtbz-field textarea { resize: vertical; }
.xtbz-hint {
  margin: .3rem 0 0;
  font-size: .8rem;
  line-height: 1.4;
  color: var(--wp--preset--color--muted, #9ba3b5);
}
.xtbz-consent {
  margin: 1.25rem 0;
  padding: .9rem;
  border: 1px solid var(--wp--preset--color--electric, #7453f5);
  border-radius: .35rem;
  background: rgba(116, 83, 245, .12);
}
.xtbz-check {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  font-weight: 600;
  cursor: pointer;
}
.xtbz-check input[type="checkbox"] {
  margin-top: .2rem;
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  cursor: pointer;
  accent-color: var(--wp--preset--color--electric, #7453f5);
}
.xtbz-alert {
  max-width: 44rem;
  margin: 1rem 0;
  padding: .8rem 1rem;
  border-radius: .35rem;
  border: 1px solid;
}
.xtbz-alert-ok  { border-color: #34d399; background: rgba(52, 211, 153, .15); }
.xtbz-alert-err { border-color: #f87171; background: rgba(248, 113, 113, .15); }

/* ---------- мобильные ---------- */
@media (max-width: 600px) {
  .xtbz-cookie-actions { flex-direction: column; }
  .xtbz-btn { width: 100%; }
  .xtbz-tt::after { max-width: 80vw; }
  .xtbz-form { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .xtbz-tt::after { transition: none; }
}
