/* FAQ & Accordion — фронтовый виджет.
   Нейтральная палитра: цвета наследуются от темы (currentColor + прозрачные
   рамки), поэтому виджет прилично выглядит в любой теме без настройки. */

.cfaq { margin: 1.25em 0; }

.cfaq-search {
  display: flex;
  align-items: center;
  gap: .5em;
  padding: .55em .8em;
  margin-bottom: .75em;
  border: 1px solid rgba(128, 128, 128, .3);
  border-radius: .5em;
  opacity: .95;
}
.cfaq-search svg { flex: 0 0 auto; opacity: .55; }
.cfaq-search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font: inherit;
  color: inherit;
}

.cfaq-list { display: flex; flex-direction: column; gap: .5em; }

.cfaq-item {
  border: 1px solid rgba(128, 128, 128, .3);
  border-radius: .5em;
  overflow: hidden;
}
.cfaq-item[hidden] { display: none !important; }

.cfaq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding: .85em 1em;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  user-select: none;
}
.cfaq-q::-webkit-details-marker { display: none; }
.cfaq-q::marker { content: ""; }
.cfaq-q:hover { background: rgba(128, 128, 128, .08); }
.cfaq-q:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

.cfaq-chev { flex: 0 0 auto; opacity: .55; transition: transform .2s ease; }
.cfaq-item[open] > .cfaq-q .cfaq-chev { transform: rotate(180deg); }

.cfaq-a {
  padding: 0 1em .95em;
  line-height: 1.6;
  opacity: .92;
}
.cfaq-a > p { margin: 0 0 .6em; }
.cfaq-a > p:last-child { margin-bottom: 0; }

.cfaq-empty { margin: .75em 0 0; opacity: .65; font-style: italic; }
.cfaq-empty[hidden] { display: none !important; }

/* Подсветка совпадения при поиске. */
.cfaq-q mark { background: rgba(255, 200, 0, .35); color: inherit; border-radius: .2em; padding: 0 .1em; }
