/* ===== FAQ (scoped) ===== */
#faq-module{
  --faq-bg:#ffffff;
  --faq-text:#355735;
  --faq-muted:#5b6b7a;
  --faq-border:#e7eef5;
  --faq-accent:#355735;
  --faq-radius:16px;
  color:var(--faq-text);
}

#faq-module .faq-title{margin:0 0 24px;font-size:30px;line-height:1.1;font-weight:800}

#faq-module .faq-section{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:start;
}

#faq-module .faq-accordion{display:flex;flex-direction:column;gap:12px}

#faq-module details{
  background:#fff;border:1px solid var(--faq-border);border-radius:var(--faq-radius);
  overflow:hidden;box-shadow:0 1px 1px rgba(0,0,0,.03);
  transition:border-color .2s ease, box-shadow .2s ease;
}
#faq-module details[open]{border-color:#d9e6f7;box-shadow:0 6px 16px rgba(15,107,242,.08)}

#faq-module summary{
  list-style:none;cursor:pointer;padding:20px 56px 20px 20px;position:relative;
  font-size:18px;font-weight:650;outline:none;user-select:none;
}
#faq-module summary::-webkit-details-marker{display:none}
#faq-module summary::after{
  content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;
  border-right:2px solid var(--faq-muted);border-bottom:2px solid var(--faq-muted);
  transform:translateY(-50%) rotate(-45deg);
  transition:transform .2s ease, border-color .2s ease;
}
#faq-module details[open] > summary::after{
  transform:translateY(-50%) rotate(45deg);border-color:var(--faq-accent);
}

#faq-module .faq-panel{padding:0 20px 20px;color:#007400(--faq-muted);font-size:16px;line-height:1.6}
#faq-module .faq-panel p{margin:0}

#faq-module .faq-visual{
  position:sticky;top:24px;border-radius:24px;overflow:hidden;border:1px solid var(--faq-border);
}
#faq-module .faq-visual img{display:block;width:90%;height:auto}

@media (max-width:980px){
  #faq-module .faq-section{grid-template-columns:1fr}
  #faq-module .faq-visual{order:2}
  #faq-module .faq-title{font-size:32px}
}
