/* N7 (2026-10-05): общие блоки сайта — окно cookie, FAQ главной (две колонки), карусель отзывов.
   Цвета и радиусы — токены tokens.css (с запасными значениями: на внутренних страницах tokens.css может не быть). */

/* ---------- Окно cookie: стекло, снизу по центру, поднимается над плавающими кнопками (stx-site.js) */
.stx-cookie {
  position: fixed; left: 50%; bottom: var(--stx-cookie-bottom, 24px); z-index: 1001;
  width: 560px; max-width: calc(100% - 32px);
  transform: translate(-50%, 16px); opacity: 0; visibility: hidden;
  display: flex; flex-direction: column; align-items: stretch; gap: 10px;
  padding: 16px 18px; box-sizing: border-box;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, .6);
  box-shadow: 0 10px 34px rgba(20, 40, 80, .14), 0 1px 2px rgba(20, 40, 80, .06), inset 0 1px 0 rgba(255, 255, 255, .8);
  font: 400 13px/1.45 "Inter", -apple-system, "Segoe UI", sans-serif; color: #1B2430;
  transition: bottom .35s cubic-bezier(.22, 1, .36, 1), transform .35s cubic-bezier(.22, 1, .36, 1), opacity .25s ease, visibility 0s linear .35s;
}
.stx-cookie.is-on { transform: translate(-50%, 0); opacity: 1; visibility: visible; transition-delay: 0s; }
.stx-cookie__text { flex: 1; min-width: 0; margin: 0; }
.stx-cookie__text a { display: inline; color: #1F52D9; text-decoration: underline; text-decoration-color: rgba(31, 82, 217, .35); text-underline-offset: 2px; }
.stx-cookie__text a:hover { text-decoration-color: currentColor; }
.stx-cookie__btn {
  flex: none; min-height: 40px; padding: 0 20px; border: 0; border-radius: 12px; cursor: pointer;
  background: var(--stx-accent, #2F6BFF); color: #fff; font: 600 14px/1 "Inter", sans-serif;
  box-shadow: 0 6px 16px rgba(47, 107, 255, .26); transition: background .18s ease;
}
.stx-cookie__btn:hover { background: var(--stx-accent-hover, #2258EE); }
.stx-cookie__btn:focus-visible { outline: 3px solid rgba(47, 107, 255, .35); outline-offset: 2px; }
/* TASKS-2026-10-20 п. 1: заголовок, переключатели и три кнопки */
.stx-cookie__title { margin: 0; font-weight: 600; font-size: 15px; line-height: 1.3; color: #1B2430; }
.stx-cookie__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.stx-cookie__btn--ghost { background: rgba(47, 107, 255, .1); color: #1F52D9; box-shadow: none; }
.stx-cookie__btn--ghost:hover { background: rgba(47, 107, 255, .18); }
.stx-cookie__btn--link { background: transparent; color: #1F52D9; box-shadow: none; padding: 0 10px; }
.stx-cookie__btn--link:hover { background: rgba(47, 107, 255, .08); }
.stx-cookie.is-setup .stx-cookie__btn--link { background: var(--stx-accent, #2F6BFF); color: #fff; padding: 0 20px; }
.stx-cookie__prefs { display: grid; gap: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .6); border: 1px solid rgba(20, 40, 80, .08); }
.stx-cookie__prefs[hidden] { display: none; }
.stx-cookie__opt { display: flex; align-items: flex-start; gap: 10px; margin: 0; cursor: pointer; text-align: left; }
.stx-cookie__opt input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #2F6BFF; }
.stx-cookie__opt input:disabled { cursor: default; }
@media (max-width: 560px) {
  .stx-cookie { bottom: var(--stx-cookie-bottom, 12px); gap: 8px; padding: 14px; font-size: 12.5px; max-height: calc(100vh - 24px); overflow-y: auto; background: rgba(255, 255, 255, .94); }
  .stx-cookie__btns { gap: 6px; }
  .stx-cookie__btns { flex-direction: column; align-items: stretch; }
  .stx-cookie__btn { min-height: 44px; width: 100%; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .stx-cookie { background: rgba(255, 255, 255, .97); } }
@media (prefers-reduced-transparency: reduce) { .stx-cookie { background: rgba(255, 255, 255, .97); } }
@media (prefers-reduced-motion: reduce) { .stx-cookie { transition: none; } }

/* ---------- FAQ главной: слева иллюстрация, описание и разделы, справа компактный аккордеон */
.faq--split .faq__layout { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.faq--split .faq__aside { position: sticky; top: 96px; text-align: left; }
.faq--split .faq__aside .section-subtitle, .faq--split .faq__aside .section-title { text-align: left; margin-left: 0; margin-right: 0; }
.faq--split .faq__aside .section-title { margin-bottom: 8px; }
.faq--split .faq__art { display: block; width: 100%; max-width: 240px; height: auto; margin: 16px 0 12px; }
.faq--split .faq__lead { margin: 0 0 20px; font: 400 15px/1.55 "Inter", sans-serif; color: var(--stx-text-2, #566274); }
.faq--split .faq__cats { display: grid; gap: 4px; }
.faq--split .faq__cat {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 12px; text-align: left;
  font: 500 15px/1.3 "Inter", sans-serif; color: var(--stx-text, #1B2430);
  transition: background-color .18s ease, color .18s ease;
}
.faq--split .faq__cat:hover { background: var(--stx-fill, rgba(27, 36, 48, .05)); }
.faq--split .faq__cat.is-active { background: var(--stx-accent-soft, rgba(47, 107, 255, .1)); color: var(--stx-accent-text, #1F52D9); font-weight: 600; }
.faq--split .faq__cat:focus-visible { outline: 3px solid rgba(47, 107, 255, .3); outline-offset: 1px; }
.faq--split .faq__cat-n { flex: none; min-width: 24px; font-size: 13px; font-weight: 500; color: var(--stx-text-3, #8A94A6); text-align: right; font-variant-numeric: tabular-nums; }
.faq--split .faq__cat.is-active .faq__cat-n { color: inherit; }

.faq--split .faq__wrapper { display: block; }
.faq--split .faq__group { display: grid; gap: 10px; }
.faq--split .faq__group + .faq__group { margin-top: 32px; }
.faq--split .faq__category-title { margin: 0 0 4px; font: 600 22px/1.3 "Inter", sans-serif; letter-spacing: -.01em; color: var(--stx-text, #1B2430); }
.faq--js .faq__group:not(.is-active) { display: none; }
.faq--js .faq__group + .faq__group { margin-top: 0; }
.faq--js .faq__category-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.faq--split .faq__item { padding: 18px 22px; border-radius: 16px; box-shadow: none; }
.faq--split .faq__item-top { font-size: 17px; line-height: 1.4; cursor: pointer; }
.faq--split .faq__item-top:focus-visible { outline: 3px solid rgba(47, 107, 255, .3); outline-offset: 6px; border-radius: 6px; }
.faq--split .faq__item-content { font-size: 16px; }
.faq--split .faq__item-content p { padding-top: 10px; }
.faq--js .faq__group.is-active { animation: stx-faq-in .25s ease; }
@keyframes stx-faq-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .faq--split .faq__layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .faq--split .faq__aside { position: static; text-align: center; }
  .faq--split .faq__aside .section-subtitle, .faq--split .faq__aside .section-title { text-align: center; }
  .faq--split .faq__art { max-width: 220px; margin: 16px auto 12px; }
  .faq--split .faq__lead { max-width: 560px; margin: 0 auto 20px; font-size: 15px; }
  .faq--split .faq__cats { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .faq--split .faq__cats::-webkit-scrollbar { display: none; }
  .faq--split .faq__cat { width: auto; flex: none; white-space: nowrap; border: 1px solid var(--stx-line, rgba(27, 36, 48, .14)); border-radius: 999px; padding: 8px 14px; }
  .faq--split .faq__cat.is-active { border-color: transparent; }
  .faq--split .faq__item { padding: 16px 18px; }
  .faq--split .faq__item-top { font-size: 16px; }
  .faq--split .faq__item-content { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .faq--js .faq__group.is-active { animation: none; } }

/* ---------- Отзывы: карусель во всю ширину (лента выходит за контейнер до краёв окна) */
.stx-rv { --rv-w: 1200px; margin: clamp(48px, 7vw, 96px) 0; font-family: "Inter", -apple-system, "Segoe UI", sans-serif; }
.stx-rv__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.stx-rv__title { margin: 0; font: 700 clamp(28px, 3.6vw, 40px)/1.15 "Inter", sans-serif; letter-spacing: -.02em; color: var(--stx-text, #1B2430); }
.stx-rv__nav { display: flex; gap: 8px; }
.stx-rv__nav[hidden] { display: none; }
.stx-rv__btn {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
  background: var(--stx-surface, #fff); border: 1px solid var(--stx-line, rgba(27, 36, 48, .14)); color: var(--stx-text, #1B2430); cursor: pointer;
  transition: border-color .18s ease, opacity .18s ease;
}
.stx-rv__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.stx-rv__btn:hover { border-color: var(--stx-accent, #2F6BFF); color: var(--stx-accent-text, #1F52D9); }
.stx-rv__btn:disabled { opacity: .35; cursor: default; border-color: var(--stx-line, rgba(27, 36, 48, .14)); color: inherit; }
.stx-rv__track {
  list-style: none; display: flex; gap: 20px; margin: 0 calc(50% - 50vw); padding: 8px max(16px, calc(50vw - var(--rv-w) / 2)) 24px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 max(16px, calc(50vw - var(--rv-w) / 2));
  scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
}
.stx-rv__track::-webkit-scrollbar { display: none; }
.stx-rv__track:focus-visible { outline: 3px solid rgba(47, 107, 255, .3); outline-offset: -3px; }
.stx-rv__card { flex: none; width: clamp(280px, 30vw, 400px); scroll-snap-align: start; margin: 0; }
.stx-rv__card figure {
  height: 100%; margin: 0; display: flex; flex-direction: column; gap: 24px; box-sizing: border-box;
  padding: 28px; border-radius: 20px; background: var(--stx-surface, #fff);
  border: 1px solid var(--stx-separator, rgba(27, 36, 48, .08));
  box-shadow: 0 1px 2px rgba(20, 40, 80, .04), 0 8px 24px rgba(20, 40, 80, .06);
}
.stx-rv__text { flex: 1; margin: 0; padding: 0; border: 0; font: 400 16px/1.6 "Inter", sans-serif; color: var(--stx-text, #1B2430); }
.stx-rv__text::before {
  content: ""; display: block; width: 28px; height: 22px; margin-bottom: 14px;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 22'%3E%3Cpath fill='%23B9CDFF' d='M0 22V13.6Q0 6.4 6.6 0l3 2.4Q5.8 6.6 5.6 10.4H11V22zm16.4 0V13.6q0-7.2 6.6-13.6l3 2.4q-3.8 4.2-4 8H28V22z'/%3E%3C/svg%3E");
}
.stx-rv__text p { margin: 0 0 10px; }
.stx-rv__text p:last-child { margin-bottom: 0; }
.stx-rv__who { display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.35; color: var(--stx-text-2, #566274); }
.stx-rv__who strong { display: block; font-size: 15px; font-weight: 600; color: var(--stx-text, #1B2430); }
.stx-rv__ava { flex: none; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; font: 600 16px/1 "Inter", sans-serif; letter-spacing: .02em; }
.stx-rv__ava--t0 { background: #E3EEFF; color: #2F6BFF; }
.stx-rv__ava--t1 { background: #E1F5EA; color: #1F9D55; }
.stx-rv__ava--t2 { background: #FFF1D6; color: #B86E00; }
.stx-rv__ava--t3 { background: #F0E6FF; color: #7A3FE0; }
.stx-rv__ava--t4 { background: #FFE5EA; color: #D23C57; }
.stx-rv__ava--t5 { background: #DDF4F7; color: #0E8A9A; }
@media (max-width: 560px) {
  .stx-rv__track { gap: 12px; }
  .stx-rv__card { width: calc(100vw - 56px); }
  .stx-rv__card figure { padding: 22px; }
  .stx-rv__nav { display: none; }
}
/* на посадочных — в ритме секций .lnd */
.lnd-rv .stx-rv { --rv-w: 1088px; margin: 0; }
/* .lnd обрезает выход за колонку (overflow-x: clip); ленте отзывов нужен выход до краёв окна,
   горизонтальную прокрутку страницы по-прежнему режет .wrapper { overflow: hidden } */
.lnd:has(.lnd-rv) { overflow-x: visible; }
.lnd-rv .stx-rv__title { font-weight: 700; }
