/* ===== FAQ ACCORDION (shared component) ===== */
/* Used with <details>/<summary> elements inside .faq-content */

.faq-content details {
  border-bottom: 1px solid var(--gb-border, #e5e5e5);
  padding: 0;
  overflow: hidden;
}

.faq-content details.faq-animating {
  overflow: hidden;
}

.faq-content details:last-child {
  border-bottom: none;
}

.faq-content summary {
  padding: 1rem 2rem 1rem 0;
  font-weight: 600;
  font-size: 1rem;
  color: var(--gb-navy, #1a2744);
  cursor: pointer;
  list-style: none;
  position: relative;
  line-height: 1.5;
}

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

.faq-content summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--gb-gold, #c5a44e);
  transition: transform 0.2s ease;
}

.faq-content details[open] summary::after {
  content: '\2212';
}

.faq-content summary:hover {
  color: var(--gb-gold, #c5a44e);
}

.faq-content details > *:not(summary) {
  padding: 0 0 1.5rem 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--gb-text, #333);
}

.faq-content details p {
  margin: 0 0 1rem;
}

.faq-content details p:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .faq-content summary {
    font-size: 0.95rem;
    padding: 0.85rem 2rem 0.85rem 0;
  }
}
