.faq-shell{ padding:4rem 0 5rem; }

.faq-subtitle{
  color:#6A6480;
  font-size:.98rem;
  max-width:30rem;
  margin-top:.6rem;
}

/* ---------- Accordion (Bootstrap 5 native, re-themed via its own CSS vars) ---------- */
.knqa-accordion{
  --bs-accordion-border-color: var(--line);
  --bs-accordion-border-radius: 12px;
  --bs-accordion-inner-border-radius: 11px;
  --bs-accordion-btn-color: var(--ink);
  --bs-accordion-btn-bg: #fff;
  --bs-accordion-active-color: var(--indigo-800);
  --bs-accordion-active-bg: var(--paper-2);
  --bs-accordion-btn-focus-border-color: var(--gold-500);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(214,160,63,.16);
  --bs-accordion-body-padding-x: 1.6rem;
  --bs-accordion-body-padding-y: 1.3rem;
  --bs-accordion-btn-padding-x: 1.4rem;
  --bs-accordion-btn-padding-y: 1.1rem;
}
.knqa-accordion .accordion-item{
  border-radius:12px;
  overflow:hidden;
  margin-bottom:.9rem;
  border:1px solid var(--line);
}
.knqa-accordion .accordion-item:last-child{ margin-bottom:0; }

/* Hide Bootstrap's default chevron background-image; we render our own icon instead */
.knqa-accordion .accordion-button::after{ display:none; }
.knqa-accordion .accordion-button{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.02rem;
  display:flex;
  align-items:center;
  gap:.8rem;
}
.faq-icon{
  flex:none;
  font-size:.85rem;
  color:var(--gold-600);
  transition:color .15s ease;
}
.knqa-accordion .accordion-button:not(.collapsed) .faq-icon{ color:var(--indigo-800); }

.knqa-accordion .accordion-body{
  font-size:.95rem;
  line-height:1.7;
  color:#3A3550;
}
.knqa-accordion .accordion-body p{ margin-bottom:.9rem; }
.knqa-accordion .accordion-body p:last-child{ margin-bottom:0; }
.knqa-accordion .accordion-body ul,
.knqa-accordion .accordion-body ol{ padding-left:1.2rem; margin-bottom:0; }
.knqa-accordion .accordion-body li{ margin-bottom:.5rem; }
.knqa-accordion .accordion-body li::marker{ color:var(--gold-600); }

/* Sensible defaults for rich-text HTML rendered via |safe (e.g. a
   database-authored "resolution steps" field), beyond just plain
   paragraphs and lists. */
.knqa-accordion .accordion-body h1,
.knqa-accordion .accordion-body h2,
.knqa-accordion .accordion-body h3,
.knqa-accordion .accordion-body h4,
.knqa-accordion .accordion-body h5,
.knqa-accordion .accordion-body h6{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--ink);
  margin:1.1rem 0 .5rem;
}
.knqa-accordion .accordion-body h1:first-child,
.knqa-accordion .accordion-body h2:first-child,
.knqa-accordion .accordion-body h3:first-child,
.knqa-accordion .accordion-body h4:first-child{ margin-top:0; }
.knqa-accordion .accordion-body a{ color:var(--indigo-800); font-weight:600; }
.knqa-accordion .accordion-body a:hover{ color:var(--gold-600); }
.knqa-accordion .accordion-body strong{ color:var(--ink); }
.knqa-accordion .accordion-body img{
  max-width:100%;
  height:auto;
  border-radius:8px;
  margin:.6rem 0;
}
.knqa-accordion .accordion-body blockquote{
  border-left:3px solid var(--gold-500);
  padding-left:1rem;
  margin:.9rem 0;
  color:#5B5670;
  font-style:italic;
}
.knqa-accordion .accordion-body code{
  font-family:'IBM Plex Mono', monospace;
  font-size:.85em;
  background:var(--paper-2);
  padding:.1rem .35rem;
  border-radius:4px;
  color:var(--indigo-800);
}
.knqa-accordion .accordion-body table{
  width:100%;
  border-collapse:collapse;
  margin:.9rem 0;
  font-size:.9rem;
}
.knqa-accordion .accordion-body th,
.knqa-accordion .accordion-body td{
  border:1px solid var(--line);
  padding:.5rem .7rem;
  text-align:left;
}
.knqa-accordion .accordion-body th{
  background:var(--paper-2);
  font-weight:600;
}

/* ---------- Fee table ---------- */
.faq-fee-table{
  font-size:.92rem;
  margin-bottom:1.3rem;
}
.faq-fee-table thead th{
  font-family:'IBM Plex Mono', monospace;
  font-size:.7rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#8A8499;
  border-bottom:2px solid var(--line);
  font-weight:500;
  padding-bottom:.6rem;
}
.faq-fee-table tbody td{
  padding:.7rem .5rem;
  border-bottom:1px solid var(--line);
  color:#3A3550;
}
.faq-fee-table tbody tr:last-child td{ border-bottom:none; }
.faq-fee-table td.text-end{
  font-family:'IBM Plex Mono', monospace;
  font-weight:500;
  color:var(--indigo-800);
}

/* ---------- Bank details ---------- */
.faq-bank-card{
  background:var(--paper-2);
  border-left:3px solid var(--gold-500);
  border-radius:4px 10px 10px 4px;
  padding:1.3rem 1.5rem;
}
.faq-bank-label{ color:var(--gold-600); margin-bottom:.4rem; }
.faq-bank-note{
  font-size:.88rem;
  color:#5B5670;
  margin-bottom:.9rem;
}
.faq-bank-row{
  display:flex; justify-content:space-between; gap:1rem;
  font-size:.88rem;
  padding:.45rem 0;
  border-bottom:1px dashed var(--line);
  color:#5B5670;
}
.faq-bank-row:last-child{ border-bottom:none; }
.faq-bank-row b{ color:var(--ink); font-weight:600; text-align:right; }

@media (max-width: 575px){
  .faq-bank-row{ flex-direction:column; gap:.1rem; }
  .faq-bank-row b{ text-align:left; }
}

.faq-empty{
  text-align:center;
  padding:2.5rem 1.5rem;
  color:#8A8499;
  border:1px dashed var(--line);
  border-radius:14px;
}
.faq-empty i{ font-size:1.4rem; color:var(--gold-600); display:block; margin-bottom:.6rem; }
.faq-empty p{ margin:0; font-size:.92rem; }
