/* ══════════════════════════════════════════════════
   STOBOX — faq.css
   FAQ page: search, category filters, accordion, CTA
   ══════════════════════════════════════════════════ */

/* ══ SEARCH ══ */
.faq-search{max-width:640px;margin:0 auto 0;position:relative;}
.faq-search-input{width:100%;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--border);border-radius:8px;padding:14px 44px 14px 44px;outline:none;transition:border-color .16s,box-shadow .16s;}
.faq-search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.faq-search-input::placeholder{color:var(--soft);}
.faq-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--soft);pointer-events:none;}
.faq-search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--soft);cursor:pointer;padding:2px;display:none;}
.faq-search-clear.show{display:block;}
.faq-search-count{font-size:12px;color:var(--soft);margin-top:8px;text-align:center;}
.faq-search-kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:'DM Mono',monospace;font-size:10px;color:var(--soft);border:1px solid var(--border);border-radius:4px;padding:2px 6px;pointer-events:none;}

/* ══ CATEGORY FILTER BAR ══ */
.faq-filters{background:var(--white);padding:20px 80px;position:sticky;top:60px;z-index:200;border-bottom:1px solid var(--border);}
.faq-filters-inner{max-width:1200px;margin:0 auto;display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;}
.faq-filters-inner::-webkit-scrollbar{display:none;}
.faq-cat-pill{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;padding:7px 16px;border-radius:20px;border:1px solid var(--border);color:var(--mid);background:transparent;cursor:pointer;transition:all .16s ease;white-space:nowrap;flex-shrink:0;}
.faq-cat-pill:hover{border-color:var(--soft);color:var(--ink);}
.faq-cat-pill.active{background:var(--blue);color:#fff;border-color:var(--blue);}

/* ══ FAQ SECTIONS ══ */
.faq-sections{max-width:800px;margin:0 auto;}
.faq-category{margin-bottom:48px;scroll-margin-top:140px;}
.faq-cat-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.faq-cat-heading h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;color:var(--ink);}
.faq-cat-icon{width:32px;height:32px;border-radius:8px;background:var(--off);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.faq-cat-icon svg{width:16px;height:16px;color:var(--blue);stroke-width:1.5;}

/* ══ ACCORDION ══ */
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:first-child{border-top:1px solid var(--border);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;color:var(--ink);line-height:1.45;transition:color .14s;}
.faq-q:hover{color:var(--blue);}
.faq-q svg{width:18px;height:18px;flex-shrink:0;color:var(--soft);transition:transform .25s ease,color .14s;}
.faq-q[aria-expanded="true"] svg{transform:rotate(180deg);color:var(--blue);}
.faq-a{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.faq-a-inner{padding:0 0 20px;font-size:14.5px;color:var(--mid);line-height:1.75;}
.faq-a-inner a{color:var(--blue);text-decoration:none;}
.faq-a-inner a:hover{text-decoration:underline;}

/* Empty state */
.faq-empty{text-align:center;padding:60px 20px;color:var(--mid);font-size:15px;}

/* ══ CTA ══ */
.faq-cta-card{max-width:800px;margin:0 auto;background:var(--ink);border-radius:12px;padding:48px;text-align:center;}
.faq-cta-card h3{font-family:'Playfair Display',serif;font-size:28px;font-weight:400;color:#fff;margin-bottom:12px;}
.faq-cta-card p{font-size:15px;color:rgba(255,255,255,.5);margin-bottom:28px;max-width:440px;margin-left:auto;margin-right:auto;line-height:1.7;}
.faq-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .faq-filters{padding:16px 40px;}
}
@media(max-width:680px){
  .faq-filters{padding:14px 20px;top:60px;}
  .faq-sections{padding:0;}
  .faq-cta-card{padding:32px 20px;border-radius:0;}
  .faq-cat-heading h3{font-size:19px;}
}
