/* Frontend Styles - Minimal for theme compatibility */
.lightweight-faq-schema-block {
  /* Container - no styles, let theme handle it */
}

.faq-schema-block.faq-grid {
  display: grid;
  gap: 1rem;
}

.faq-list {
  /* List container - no styles */
}

/* Ensure list styles are visible */
.faq-list.faq-list-ol {
  list-style-type: decimal !important;
  padding-left: 2em !important;
  margin-left: 0 !important;
}

.faq-list.faq-list-ul {
  list-style-type: disc !important;
  padding-left: 2em !important;
  margin-left: 0 !important;
}

.faq-list.faq-list-ol > .faq-item,
.faq-list.faq-list-ul > .faq-item {
  display: list-item !important;
  margin-bottom: 1rem;
}

.faq-item {
  /* FAQ item container - no styles */
  margin-bottom: 1rem;
}

.faq-question {
  /* Question container - no styles, inherit heading styles */
}

.faq-question .faq-toggle {
  /* Reset button styles for accessibility */
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit !important;
  cursor: pointer;
  outline: inherit;
  text-align: inherit;
  width: 100%;
  position: relative;
  display: block;
}

/* Add arrow indicators for accordion - 3 clean styles */
.faq-question .faq-toggle:after {
  position: absolute;
  right: 0;
  top: 0;
  transition: transform 0.2s ease;
  color: inherit;
  font-weight: bold;
}

/* Chevron style (default) */
.faq-arrow-chevron .faq-question .faq-toggle:after {
  content: "⌄";
  font-size: 1.4em;
  font-weight: normal;
}

/* Classic triangle */
.faq-arrow-triangle .faq-question .faq-toggle:after {
  content: "▼";
  font-size: 0.8em;
}

/* Plus sign - rotates on expand */
.faq-arrow-plus .faq-question .faq-toggle:after {
  content: "+";
  font-size: 1.4em;
  transform: rotate(0deg);
}

.faq-arrow-plus .faq-question .faq-toggle[aria-expanded="true"]:after {
  transform: rotate(45deg);
}

.faq-question .faq-toggle[aria-expanded="true"]:after {
  transform: rotate(180deg);
}

/* Override rotation for plus sign which handles its own rotation */
.faq-arrow-plus .faq-question .faq-toggle[aria-expanded="true"]:after {
  transform: rotate(45deg);
}

.faq-answer {
  /* Answer container - no styles */
}

/* Accordion functionality */
.faq-accordion .faq-answer-collapsible {
  display: none;
  overflow: hidden;
}

.faq-accordion .faq-answer-collapsible.faq-answer-open {
  display: block;
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    max-height: 0;
  }
  to {
    opacity: 1;
    max-height: 200px;
  }
}

/* Screen reader only text for accessibility */
.faq-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}