/* faq.css — accordion with smooth height animation */
.sm-faq-list{display:flex;flex-direction:column;gap:0.625rem;margin-top:1.5rem}
.sm-faq-item{background:var(--sm-paper-2);border:1px solid var(--sm-border);border-radius:var(--sm-r-lg);overflow:hidden;transition:border-color var(--sm-transition-md),box-shadow var(--sm-transition-md)}
.sm-faq-item:hover{border-color:var(--sm-mint)}
.sm-faq-item.is-open{border-color:var(--sm-green);box-shadow:var(--sm-shadow-sm);background:var(--sm-paper)}

.sm-faq-btn{width:100%;background:none;border:none;text-align:left;padding:1.1rem 1.25rem;font-family:var(--sm-font-body);
  font-size:var(--sm-size-md);font-weight:500;color:var(--sm-ink);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color var(--sm-transition)}
.sm-faq-btn:hover{color:var(--sm-green-dark)}
.sm-faq-btn>span:first-child{flex:1;line-height:1.4}

.sm-faq-icon{width:1.75rem;height:1.75rem;border-radius:var(--sm-r-full);background:var(--sm-mint-tint);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;
  transition:transform .25s cubic-bezier(.4,0,.2,1),background .2s ease}
.sm-faq-icon::before,.sm-faq-icon::after{content:"";position:absolute;background:var(--sm-green-dark);
  border-radius:1px;transition:opacity .2s ease,transform .25s cubic-bezier(.4,0,.2,1)}
.sm-faq-icon::before{width:0.75rem;height:2px}
.sm-faq-icon::after{width:2px;height:0.75rem}
.sm-faq-item.is-open .sm-faq-icon{background:var(--sm-green);transform:rotate(180deg)}
.sm-faq-item.is-open .sm-faq-icon::before,.sm-faq-item.is-open .sm-faq-icon::after{background:var(--sm-paper)}
.sm-faq-item.is-open .sm-faq-icon::after{transform:scaleY(0)}

.sm-faq-answer{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.sm-faq-answer>*{padding:0 1.25rem}
.sm-faq-answer>*:first-child{padding-top:0}
.sm-faq-answer>*:last-child{padding-bottom:1.25rem}
.sm-faq-answer p{font-family:var(--sm-font-body);font-size:var(--sm-size-base);color:var(--sm-ink-3);line-height:1.7;margin:0}
.sm-faq-item.is-open .sm-faq-answer{max-height:37.5rem}

@media(prefers-reduced-motion:reduce){
  .sm-faq-answer{transition:none}
  .sm-faq-icon,.sm-faq-icon::before,.sm-faq-icon::after{transition:none}
}
