/* ---------- FAQ / Central de ajuda ---------- */
.faq-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
}
.faq-modal.hidden{display:none!important;}
.faq-backdrop{
  position:absolute;
  inset:0;
  background:rgba(12,16,22,.72);
  backdrop-filter:blur(5px);
}
.faq-dialog{
  position:relative;
  width:min(860px,100%);
  max-height:min(88vh,900px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--bg-card);
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.faq-header{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:24px 26px 18px;
  border-bottom:1px solid var(--line);
}
.faq-header h2{margin:4px 0 6px;font-size:24px;line-height:1.15;}
.faq-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.faq-eyebrow{
  display:inline-flex;
  align-items:center;
  color:var(--orange);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.faq-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg-card);
  color:var(--black);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.faq-search-wrap{padding:16px 26px 10px;}
.faq-search{width:100%;}
.faq-content{
  padding:6px 26px 22px;
  overflow:auto;
  overscroll-behavior:contain;
}
.faq-item{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg-card);
  margin-bottom:10px;
  overflow:hidden;
}
.faq-item[open]{box-shadow:0 8px 24px rgba(0,0,0,.05);}
.faq-item summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:15px 44px 15px 16px;
  font-size:14px;
  font-weight:900;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';
  position:absolute;
  top:50%;
  right:16px;
  transform:translateY(-50%);
  color:var(--purple);
  font-size:20px;
  font-weight:900;
}
.faq-item[open] summary::after{content:'−';}
.faq-answer{
  padding:0 16px 16px;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.faq-answer p{margin:0 0 9px;}
.faq-answer ul{margin:4px 0 10px;padding-left:20px;}
.faq-formula,.faq-code{
  margin:10px 0;
  padding:11px 13px;
  border:1px solid rgba(102,22,216,.18);
  border-radius:10px;
  background:rgba(102,22,216,.07);
  color:var(--black);
  font-weight:800;
}
.faq-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
.faq-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 26px;
  border-top:1px solid var(--line);
  background:var(--bg-card);
  color:var(--muted);
  font-size:12px;
}
body.faq-open{overflow:hidden;}

body.dark-mode .faq-backdrop{background:rgba(3,6,10,.82);}
body.dark-mode .faq-dialog,
body.dark-mode .faq-item,
body.dark-mode .faq-close,
body.dark-mode .faq-footer{background:var(--bg-card);color:var(--white);}
body.dark-mode .faq-formula,
body.dark-mode .faq-code{
  background:rgba(122,42,242,.14);
  border-color:rgba(167,115,255,.28);
  color:var(--white);
}

@media (max-width:700px){
  .faq-modal{padding:0;}
  .faq-dialog{
    width:100%;
    max-height:100vh;
    height:100vh;
    border-radius:0;
  }
  .faq-header{padding:20px 18px 14px;}
  .faq-header h2{font-size:20px;}
  .faq-search-wrap{padding:14px 18px 8px;}
  .faq-content{padding:6px 18px 18px;}
  .faq-footer{padding:12px 18px;}
  .faq-footer span{display:none;}
}
