/* Container + layout */
.gw-faq{ --gw-faq-gap:1rem; color:var(--gw-faq-text); max-width: var(--gw-faq-max, none); }
.gw-faq[data-align="center"]{ margin-left:auto; margin-right:auto; }
.gw-faq[data-align="right"]{ margin-left:auto; margin-right:0; }
.gw-faq *{ box-sizing:border-box; }
.gw-faq .gw-faq__toolbar{ display:flex; gap:.5rem; align-items:center; margin:0 0 1rem 0; flex-wrap:wrap; }
.gw-faq .gw-faq__search,.gw-faq .gw-faq__filter{ padding:.6rem .8rem; border:var(--gw-faq-border) solid rgba(0,0,0,.12); border-radius:var(--gw-faq-radius); width: clamp(180px, 40%, 420px); }
.gw-faq .gw-faq__items{ display:grid; gap:var(--gw-faq-gap); }
.gw-faq--display-grid .gw-faq__items{ grid-template-columns: repeat(var(--gw-faq-cols,2), minmax(0,1fr)); }

/* Base item */
.gw-faq__item{ background:transparent; border:0; }
.gw-faq__group-title{ margin:1.2rem 0 .6rem; font-size:1rem; color:var(--gw-faq-primary); }

/* Toggle (accordion) */
.gw-faq__toggle{ width:100%; text-align:left; display:flex !important; align-items:center; gap:.65rem; padding:.9rem 1rem; background:var(--gw-faq-hbg,transparent); border:1px solid var(--gw-faq-hborder,transparent); color:var(--gw-faq-hcolor,currentColor); cursor:pointer; border-radius: var(--gw-faq-radius,6px); }
.gw-faq--iconpos-right .gw-faq__toggle{ justify-content:space-between; }
.gw-faq--iconpos-left .gw-faq__toggle{ justify-content:flex-start; }
.gw-faq__q-text{ font-weight:600; font-size:1.05rem; line-height:1.35; }
.gw-faq__toggle:focus{ outline:2px solid var(--gw-faq-accent); outline-offset:2px; }

/* Icon styles */
.gw-faq__icon{ inline-size:1.1rem; block-size:1.1rem; transition:transform var(--gw-faq-anim) ease; flex:0 0 auto; }
.gw-faq--icon-chevron .gw-faq__icon{ border:2px solid currentColor; border-left:0; border-top:0; transform:rotate(45deg); }
.gw-faq--icon-chevron .gw-faq__toggle[aria-expanded="true"] .gw-faq__icon{ transform:rotate(225deg); }
.gw-faq--icon-plusminus .gw-faq__icon{ position:relative; width:1rem; height:1rem; }
.gw-faq--icon-plusminus .gw-faq__icon::before,
.gw-faq--icon-plusminus .gw-faq__icon::after{ content:""; position:absolute; left:0; right:0; top:50%; height:2px; background:currentColor; transform:translateY(-50%); }
.gw-faq--icon-plusminus .gw-faq__toggle[aria-expanded="false"] .gw-faq__icon::after{ transform:translateY(-50%) rotate(90deg); }
.gw-faq--icon-plusminus .gw-faq__toggle[aria-expanded="true"] .gw-faq__icon::after{ display:none; }

/* Answer panel */
.gw-faq__answer{ background:var(--gw-faq-cbg,#fff); color:var(--gw-faq-ccolor,#374151); border:1px solid var(--gw-faq-cborder,#e5e7eb); border-top:0; margin-top:-.5rem; border-bottom-left-radius: var(--gw-faq-radius,6px); border-bottom-right-radius: var(--gw-faq-radius,6px); padding: .9rem 1rem 1rem; }
.gw-faq__answer[hidden]{ display:block; height:0; padding:0; border-width:0; overflow:hidden; }

/* EASY skin */
.gw-faq--skin-easy .gw-faq__item{ background:#fff; border:1px solid rgba(14,23,38,.08); box-shadow:0 8px 24px rgba(14,23,38,.08); border-radius:20px; }
.gw-faq--skin-easy .gw-faq__toggle{ background:transparent; border:0; padding:1.05rem 1.25rem; }
.gw-faq--skin-easy .gw-faq__answer{ padding:0 1.25rem 1.15rem; margin-top:0; border:0; }

/* Tabs/Split */
.gw-faq__tabs .gw-faq__nav, .gw-faq__split .gw-faq__nav{ display:flex; gap:.25rem; border-bottom: var(--gw-faq-border) solid rgba(0,0,0,.12); overflow:auto; padding-bottom:.25rem; }
.gw-faq__tab-btn{ background:transparent; border:0; padding:.6rem .8rem; cursor:pointer; border-radius: var(--gw-faq-radius); }
.gw-faq__tab-btn[aria-selected="true"]{ background: rgba(0,0,0,.05); }
.gw-faq__panels{ padding:1rem 0; }
.gw-faq__panel{ padding:.25rem 0; }
.gw-faq__split{ display:grid; grid-template-columns: 280px 1fr; gap: var(--gw-faq-gap); }
.gw-faq__split .gw-faq__nav{ display:flex; flex-direction:column; border: var(--gw-faq-border) solid rgba(0,0,0,.08); border-radius: var(--gw-faq-radius); padding:.5rem; position:sticky; top:0; align-self:start; max-height: 70vh; overflow:auto; }
.gw-faq__split .gw-faq__tab-btn{ text-align:left; }
@media (max-width: 900px){
  .gw-faq__split{ grid-template-columns: 1fr; }
  .gw-faq__split .gw-faq__nav{ position:static; max-height:none; }
}
