/* ════════════════════════════════════════════════════════════════
   FAQ page layout — search + sidebar + collapsible category panels
   Loaded only on /faq. Overrides the simple accordion from style.css.
   ════════════════════════════════════════════════════════════════ */
@keyframes faqFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes faqHighlight{0%{background:rgba(201,168,76,.25)}100%{background:transparent}}

/* HERO */
.faq-hero{background:linear-gradient(160deg,var(--obsidian) 0%,#3a3530 100%);padding:calc(var(--nav-h) + 60px) var(--g) 60px;position:relative;overflow:hidden}
.faq-hero::before,.faq-hero::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.faq-hero::before{top:0}.faq-hero::after{bottom:0}
.faq-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(201,168,76,.06) 0%,transparent 65%)}
.faq-hero-inner{max-width:var(--mw);margin:0 auto;position:relative;z-index:1}
.faq-eyebrow{font-size:.62rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:10px}
.faq-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}
.faq-title{font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:300;color:var(--cream);line-height:1.05;margin-bottom:1.5rem}
.faq-title em{font-style:italic;color:var(--gold-light)}
.faq-subtitle{font-size:.95rem;font-weight:300;color:var(--sand);line-height:1.85;max-width:560px;margin-bottom:3rem}

/* SEARCH */
.search-wrap{position:relative;max-width:600px}
.search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.1rem;pointer-events:none}
.search-input{width:100%;background:rgba(250,248,244,.08);border:1px solid var(--gold-line);padding:16px 16px 16px 48px;font-family:var(--font-body);font-size:.9rem;font-weight:300;color:var(--cream);outline:none;transition:border-color .3s,background .3s;letter-spacing:.04em}
.search-input::placeholder{color:rgba(200,191,176,.5)}
.search-input:focus{border-color:var(--gold);background:rgba(250,248,244,.12)}
.search-clear{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--taupe);cursor:pointer;font-size:1.1rem;display:none;transition:color .25s}
.search-clear:hover{color:var(--gold)}
.search-count{margin-top:10px;font-size:.72rem;font-weight:300;color:var(--sand);letter-spacing:.06em;min-height:20px}

/* STATS */
.faq-stats{display:flex;gap:3rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--gold-line);flex-wrap:wrap}
.faq-stat-num{font-family:var(--font-display);font-size:2.5rem;font-weight:300;line-height:1;background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.faq-stat-label{font-size:.62rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-top:2px}

/* LAYOUT */
.faq-body{max-width:var(--mw);margin:0 auto;padding:60px var(--g) 100px;display:grid;grid-template-columns:260px 1fr;gap:4rem;align-items:start}

/* SIDEBAR */
.faq-sidebar{position:sticky;top:calc(var(--nav-h) + 2rem)}
.sidebar-title{font-size:.62rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;padding-left:1rem;border-left:2px solid var(--gold)}
.sidebar-list{list-style:none}
.sidebar-item{margin-bottom:2px}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.78rem;font-weight:300;color:var(--taupe-dark);text-decoration:none;cursor:pointer;transition:all .25s;border-left:2px solid transparent;background:transparent}
.sidebar-link:hover{color:var(--gold-dark);border-left-color:var(--gold-line);background:var(--gold-dim)}
.sidebar-link.active{color:var(--gold-dark);border-left-color:var(--gold);background:var(--gold-dim);font-weight:400}
.sidebar-link-count{margin-left:auto;font-size:.65rem;color:var(--taupe);background:var(--sand-light);padding:2px 8px;border-radius:10px}
.sidebar-cta{margin-top:2.5rem;padding:1.5rem;border:1px solid var(--gold-line);background:var(--gold-dim)}
.sidebar-cta-title{font-size:.62rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.75rem}
.sidebar-cta-text{font-size:.78rem;font-weight:300;color:var(--taupe-dark);line-height:1.85;margin-bottom:1rem}
.sidebar-cta-text a{color:var(--gold-dark);text-decoration:none;font-weight:400;white-space:nowrap;border-bottom:1px solid var(--gold-line)}
.sidebar-cta-text a:hover{color:var(--gold)}
.sidebar-cta .bb{width:100%;text-align:center}

/* CONTENT */
.faq-content{min-width:0}
.no-results{display:none;text-align:center;padding:4rem 2rem}
.no-results-icon{font-size:3rem;margin-bottom:1rem;opacity:.4;color:var(--gold)}
.no-results-text{font-family:var(--font-display);font-size:1.5rem;font-weight:300;font-style:italic;color:var(--taupe)}
.no-results-sub{font-size:.85rem;font-weight:300;color:var(--taupe);margin-top:.5rem}

/* CATEGORY PANELS */
.faq-cat{margin-bottom:3px;animation:faqFadeUp .5s var(--ease) both}
.faq-cat-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--warm-white);cursor:pointer;transition:background .25s;border-left:3px solid transparent;user-select:none}
.faq-cat-header:hover{background:var(--parchment);border-left-color:var(--gold-line)}
.faq-cat.open .faq-cat-header{background:var(--parchment);border-left-color:var(--gold)}
.faq-cat-left{display:flex;align-items:center;gap:12px}
.faq-cat-icon{font-size:1.1rem;color:var(--gold);width:24px;text-align:center}
.faq-cat-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--obsidian)}
.faq-cat-count{font-size:.62rem;font-weight:400;letter-spacing:.1em;color:var(--gold-dark);background:var(--gold-dim);border:1px solid var(--gold-line);padding:2px 10px}
.faq-cat-chevron{font-size:1.4rem;color:var(--gold);transition:transform .35s var(--ease);line-height:1;font-weight:300}
.faq-cat.open .faq-cat-chevron{transform:rotate(90deg)}
.faq-items{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-cat.open .faq-items{max-height:6000px}

/* ITEMS (override the simple accordion from style.css) */
.faq-item{border-bottom:1px solid var(--sand-light);background:var(--cream)}
.faq-item:last-child{border-bottom:none}
.faq-item.hidden{display:none}
.faq-item.search-highlight{animation:faqHighlight .8s ease}
.faq-q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem 1.25rem 2rem;background:none;border:none;cursor:pointer;text-align:left;transition:background .25s;font-family:var(--font-body)}
.faq-q::after{content:none}
.faq-q:hover{background:var(--warm-white);color:inherit}
.faq-q[aria-expanded="true"]{background:var(--warm-white)}
.faq-q-text{font-size:.92rem;font-weight:400;color:var(--taupe-dark);line-height:1.5;flex:1}
.faq-q[aria-expanded="true"] .faq-q-text{color:var(--obsidian)}
.faq-q-icon{font-size:1.4rem;color:var(--gold);line-height:1;flex-shrink:0;transition:transform .3s var(--ease);font-weight:300}
.faq-q[aria-expanded="true"] .faq-q-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.faq-a.open{max-height:1200px}
.faq-a-inner{padding:.25rem 1.5rem 1.5rem 2rem;font-size:.875rem;font-weight:300;color:var(--taupe-dark);line-height:1.9;border-left:2px solid var(--gold-line);margin-left:2rem;margin-bottom:.5rem}
.faq-a-inner a{color:var(--gold-dark);text-decoration:none;border-bottom:1px solid var(--gold-line)}
mark{background:rgba(201,168,76,.28);color:var(--obsidian);padding:0 2px;border-radius:2px}

/* BOTTOM CTA */
.faq-cta{background:var(--parchment);padding:60px var(--g);text-align:center;position:relative}
.faq-cta::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.faq-cta-logo{height:64px;width:auto;margin:0 auto 1.5rem;display:block}
.faq-cta-label{font-size:.62rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.faq-cta-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;font-style:italic;color:var(--taupe-dark);margin-bottom:.75rem;line-height:1.2}
.faq-cta-title strong{font-style:normal;color:var(--gold-dark);font-weight:300}
.faq-cta-sub{font-size:.82rem;color:var(--taupe);margin-bottom:2rem}
.faq-cta-sub a{color:var(--gold-dark);text-decoration:none}

@media(max-width:900px){
  .faq-body{grid-template-columns:1fr}
  .faq-sidebar{position:static}
}
@media(max-width:640px){
  .faq-stats{gap:2rem}
  .sidebar-list{display:grid;grid-template-columns:1fr 1fr;gap:4px}
  .faq-a.open{max-height:2000px}
}
