				/* Minimal, theme-friendly styling */
				#faq details {
				  background: var(--faq-bg);
				  border: 1px solid var(--faq-border);
				  border-radius: 10px;
				  margin-bottom: 12px;
				  overflow: hidden;
				}
				#faq summary {
				  cursor: pointer;
				  list-style: none;
				  padding: 16px 18px;
				  font-weight: 600;
				  display: flex;
				  align-items: center;
				  justify-content: space-between;
				  line-height: 1.5;
				}
				#faq summary::-webkit-details-marker { display: none; }
				#faq summary .q {
				  color: var(--faq-accent);
				}
				#faq summary .icon {
				  flex: 0 0 auto;
				  width: 1em;
				  height: 1em;
				  position: relative;
				  margin-inline-start: 12px; /* RTL-safe gap */
				}
				#faq summary .icon:before,
				#faq summary .icon:after {
				  content: "";
				  position: absolute;
				  inset: 0;
				  margin: auto;
				  width: 100%;
				  height: 2px;
				  background: currentColor;
				  transform-origin: 50% 50%;
				  transition: transform .2s ease;
				}
				#faq summary .icon:after { transform: rotate(90deg); }
				#faq details[open] summary .icon:after { transform: rotate(0deg); }

				#faq .answer {
				  padding: 0 18px 16px 18px;
				  color: #111;
				}
				#faq .answer p { margin: .5rem 0; }
				#faq .answer ul { margin: .5rem 1rem .5rem 0; padding: 0; }
				#faq .answer li { margin: .25rem 0; }
				#faq .muted { color: var(--faq-muted); }
				/* Alt background for open state */
				#faq details[open] { background: var(--faq-bg-alt); }
