/* City-page FAQ accordion. Standalone file so it is not affected by the
   brace imbalance in city.css. Brand tokens with fallbacks. */

.faq-stack {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-row {
  background: var(--paper, #fff);
  border: 1px solid var(--rule, #e7e3da);
  border-radius: 14px;
  padding: 2px 26px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.faq-row:hover {
  border-color: var(--green-deep, #4f7d49);
}

.faq-row[open] {
  border-color: var(--green-deep, #4f7d49);
  box-shadow: 0 6px 22px rgba(31, 31, 27, 0.06);
}

.faq-row summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 0;
  font-family: "Josefin Sans", "Inter", system-ui, sans-serif;
  font-weight: 700;
  font-size: 17.5px;
  line-height: 1.35;
  color: var(--ink, #1F1F1B);
}

.faq-row summary::-webkit-details-marker { display: none; }

.faq-row summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(115, 185, 107, 0.16);
  color: var(--green-deep, #4f7d49);
  font-size: 22px;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.faq-row summary:hover::after {
  background: rgba(115, 185, 107, 0.28);
}

.faq-row[open] summary::after {
  content: "\2212";
  background: var(--green-deep, #4f7d49);
  color: #fff;
}

.faq-row[open] summary {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rule, #e7e3da);
}

.faq-body {
  margin: 0;
  padding: 16px 0 22px;
  font-family: "Josefin Sans", "Inter", system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-soft, #54534d);
  max-width: 68ch;
}

@media (max-width: 768px) {
  .faq-row { padding: 0 20px; }
  .faq-row summary { font-size: 16px; padding: 18px 0; gap: 14px; }
  .faq-row summary::after { width: 26px; height: 26px; font-size: 20px; }
  .faq-body { font-size: 15.5px; }
}
