/* =========================================================
   ДАРСИ — FAQ. Тёмный фон, два столбца аккордеонов.
   ========================================================= */

.faq{
  --q-ink:#0B0B0C;
  --q-muted:rgba(255,255,255,.64);
  --q-line:rgba(255,255,255,.13);
  --q-rose:#E3A9BA;

  position:relative;
  padding:clamp(56px,7vw,110px) var(--pad-x);
  background:
    radial-gradient(70% 50% at 100% 0%, rgba(227,169,186,.10) 0%, rgba(227,169,186,0) 60%),
    var(--q-ink);
  color:#fff;
  letter-spacing:-.022em;
}
.faq__inner{width:100%; max-width:var(--maxw); margin:0 auto}

/* ---------- шапка ---------- */
.faq__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin-bottom:clamp(28px,3.4vw,48px);
}
.faq__title{
  font-family:var(--f-head); font-weight:400;
  font-size:clamp(30px, 3.6vw, 50px); line-height:1; letter-spacing:-.015em;
  margin:0; max-width:22ch;
}
.faq__ask{
  flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:clamp(48px,3.2vw,56px); padding:0 clamp(22px,1.8vw,30px);
  background:var(--accent-grad); color:var(--accent-ink);
  font-family:var(--f-body); font-size:15px; font-weight:400; letter-spacing:-.03em;
  transition:background .25s ease, transform .2s ease;
}
.faq__ask:hover{background:var(--accent-grad-hi); transform:translateY(-1px)}
.faq__ask svg{width:15px; height:15px; fill:currentColor; transition:transform .25s ease}
.faq__ask:hover svg{transform:translateX(3px)}

/* ---------- сетка ---------- */
.faq__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:0 clamp(28px,3.4vw,64px);
  align-items:start;
}
.faq__col{display:flex; flex-direction:column}

/* ---------- вопрос ---------- */
.qa{border-top:1px solid var(--q-line)}
.qa:last-child{border-bottom:1px solid var(--q-line)}

.qa__btn{
  width:100%; display:flex; align-items:flex-start; gap:16px;
  padding:clamp(16px,1.5vw,22px) 0;
  background:none; color:#fff; text-align:left; cursor:pointer;
  font-family:var(--f-head); font-weight:400;
  font-size:clamp(15.5px,1.2vw,19px); line-height:1.25; letter-spacing:-.012em;
  transition:color .25s ease;
}
.qa__btn:hover{color:var(--q-rose)}

.qa__ico{
  position:relative; width:18px; height:18px; flex:0 0 auto; margin-top:2px;
  transition:transform .35s cubic-bezier(.2,.7,.3,1);
}
.qa__ico::before,
.qa__ico::after{
  content:''; position:absolute; left:50%; top:50%;
  background:var(--q-rose); transform:translate(-50%,-50%);
  transition:opacity .3s ease;
}
.qa__ico::before{width:15px; height:1.5px}
.qa__ico::after{width:1.5px; height:15px}
.qa.is-open .qa__ico{transform:rotate(180deg)}
.qa.is-open .qa__ico::after{opacity:0}

.qa__wrap{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .42s cubic-bezier(.2,.7,.3,1);
}
.qa.is-open .qa__wrap{grid-template-rows:1fr}
.qa__inner{overflow:hidden}
.qa__txt{
  margin:0; padding:0 34px clamp(18px,1.6vw,24px) 0;
  font-size:clamp(13.5px,1vw,15.5px); line-height:1.55;
  letter-spacing:-.03em; color:var(--q-muted);
  opacity:0; transform:translateY(-6px);
  transition:opacity .35s ease .06s, transform .35s ease .06s;
}
.qa.is-open .qa__txt{opacity:1; transform:none}
.qa__txt b{color:#fff; font-weight:600}

/* =========================================================
   АДАПТИВ
   ========================================================= */
@media (max-width:900px){
  .faq__grid{grid-template-columns:1fr}
  /* второй столбец продолжает первый — верхняя граница не дублируется */
  .faq__col:last-child .qa:first-child{border-top:0}
  .faq__col:first-child .qa:last-child{border-bottom:0}
}

@media (max-width:900px){
  /* кнопка уезжает под список вопросов */
  .faq__inner{display:flex; flex-direction:column}
  .faq__head{display:contents}
  .faq__title{order:1; max-width:none; margin-bottom:clamp(24px,4vw,34px)}
  .faq__grid{order:2}
  .faq__ask{order:3; width:100%; margin-top:clamp(24px,4vw,34px)}
}

@media (max-width:720px){
  .faq{padding-bottom:calc(var(--bar-h, 0px) + env(safe-area-inset-bottom))}
}

@media (prefers-reduced-motion:reduce){
  .qa__wrap,.qa__txt,.qa__ico{transition:none}
}
