/* =========================================================
   FAQ (/faq) — в стилистике contacts.css/shop-shared.css: тот же
   .wrap/h1, та же типографика (Bebas Neue заголовки, Inter текст),
   те же CSS-переменные из shop-shared.css. Accordion — вопрос/ответ,
   плюс/минус справа, раскрытие через CSS grid-template-rows
   (0fr -> 1fr), без JS-измерения высоты и без сторонних библиотек.
   ========================================================= */
.wrap{max-width:760px; margin:0 auto; padding:40px clamp(16px,4vw,40px) 60px;}
h1{
  font-family:'Bebas Neue',sans-serif; text-transform:uppercase; letter-spacing:.01em;
  font-size:clamp(34px,6vw,52px); margin:0 0 10px;
}
.faq-intro{color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 34px; max-width:56ch;}

.faq-section{margin-bottom:8px;}
.faq-section + .faq-section{margin-top:30px;}
.faq-section-title{
  font-family:'Bebas Neue',sans-serif; text-transform:uppercase; letter-spacing:.04em;
  font-size:clamp(18px,3vw,22px); color:var(--gold); margin:0 0 4px;
}

.faq-item{border-bottom:1px solid var(--line);}

.faq-q-wrap{margin:0; font-weight:inherit;}
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:none; border:none; text-align:left; cursor:pointer; color:var(--text);
  padding:17px 2px; font-family:inherit; font-size:15px; font-weight:600; line-height:1.4;
}
.faq-q:hover{color:var(--gold);}
.faq-q:focus-visible{outline:2px solid var(--gold-dim); outline-offset:2px; border-radius:6px;}

.faq-icon{
  position:relative; flex-shrink:0; width:24px; height:24px; border-radius:50%;
  border:1px solid var(--gold-dim); color:var(--gold);
}
.faq-icon::before, .faq-icon::after{
  content:''; position:absolute; top:50%; left:50%; background:currentColor;
  transform:translate(-50%,-50%); transition:transform .25s ease, opacity .2s ease;
}
.faq-icon::before{width:10px; height:1.6px;}
.faq-icon::after{width:1.6px; height:10px;}
.faq-item.open .faq-icon::after{transform:translate(-50%,-50%) scaleY(0); opacity:0;}

/* Плавное раскрытие без измерения высоты в JS: 0fr -> 1fr на гриде,
   overflow:hidden на внутреннем блоке прячет контент до анимации. */
.faq-a-wrap{display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease;}
.faq-item.open .faq-a-wrap{grid-template-rows:1fr;}
.faq-a{overflow:hidden;}
.faq-a-inner{padding:0 2px 18px;}
.faq-a-inner p{margin:0 0 10px; font-size:14px; line-height:1.6; color:var(--muted);}
.faq-a-inner p:last-child{margin-bottom:0;}
.faq-a-inner a{color:var(--gold); text-decoration:none;}
.faq-a-inner a:hover{text-decoration:underline;}

.back-link{
  display:inline-flex; align-items:center; gap:6px; margin-top:36px;
  color:var(--muted); text-decoration:none; font-size:13px; text-transform:uppercase; letter-spacing:.04em;
}
.back-link:hover{color:var(--gold);}

@media (max-width: 640px){
  .faq-q{font-size:14px; padding:15px 0;}
  .faq-icon{width:22px; height:22px;}
}
