/* =========================================================
   INTERACTIVE FAQ ACCORDION (ZOMATO / GOOGLE STYLE)
   ========================================================= */

.tff-faq-container,
.schema-faq.wp-block-yoast-faq-block {
  margin: 32px 0 !important;
  padding: 0 !important;
}

/* Accordion Outer Card */
.tff-faq-card,
.schema-faq .schema-faq-section,
.tff-faq-item {
  background: var(--color-surface, #ffffff) !important;
  border: 1.5px solid var(--color-border, #E2EBE4) !important;
  border-radius: var(--radius-md, 14px) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
}

.tff-faq-card:hover,
.schema-faq .schema-faq-section:hover,
.tff-faq-item:hover {
  border-color: var(--color-primary, #1A7F4B) !important;
}

/* Question Header Bar */
.tff-faq-question,
.schema-faq .schema-faq-question,
.tff-faq-item summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  color: var(--color-text, #1A1F1A) !important;
  cursor: pointer !important;
  user-select: none !important;
  line-height: 1.4 !important;
  background: var(--color-bg-2, #F7F9F7) !important;
  transition: background 0.15s ease !important;
}

.tff-faq-question:hover,
.schema-faq .schema-faq-question:hover {
  background: var(--color-bg-3, #EEF3EE) !important;
}

/* Plus / Minus Circle Icon */
.tff-faq-icon,
.schema-faq-question::after,
.tff-faq-item summary::after {
  content: "+" !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--color-primary, #1A7F4B) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid var(--color-border, #E2EBE4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-left: 12px !important;
  transition: all 0.2s ease !important;
  line-height: 1 !important;
}

/* Open State Circle Icon */
.tff-faq-card.open .tff-faq-icon,
.schema-faq-section.open .schema-faq-question::after,
.tff-faq-item[open] summary::after {
  content: "−" !important;
  background: var(--color-primary, #1A7F4B) !important;
  color: #ffffff !important;
  border-color: var(--color-primary, #1A7F4B) !important;
}

/* Answer Content Area */
.tff-faq-answer,
.schema-faq .schema-faq-answer,
.tff-faq-item p {
  padding: 18px 20px !important;
  margin: 0 !important;
  font-family: var(--font-reading, Georgia, serif) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--color-text-2, #4A5C4E) !important;
  border-top: 1px solid var(--color-border, #E2EBE4) !important;
  background: #ffffff !important;
}

/* Hide answers by default */
.tff-faq-card:not(.open) .tff-faq-answer,
.schema-faq-section:not(.open) .schema-faq-answer {
  display: none !important;
}

@media (max-width: 768px) {
  .tff-faq-question,
  .schema-faq .schema-faq-question {
    padding: 14px 16px !important;
    font-size: 14.5px !important;
  }
  .tff-faq-answer,
  .schema-faq .schema-faq-answer {
    padding: 14px 16px !important;
    font-size: 14px !important;
  }
}