/* =========================================================
   FAQ – Dark / Light Accordion
   ========================================================= */

/* Base ---------------------------------------------------- */

.c-faq {
  padding: var(--tc-space-12) var(--tc-container-padding) var(--tc-space-12);
  background: var(--tc-faq-bg);
  color: var(--tc-faq-text);
}

.c-faq__inner {
  max-width: var(--tc-container-width);
  margin: 0 auto;
}

/* Header -------------------------------------------------- */

.c-faq__header {
  text-align: center;
  margin-bottom: var(--tc-space-8);
}

.c-faq__title {
  font-size: var(--tc-font-size-h2);
  line-height: var(--tc-line-height-tight);
  letter-spacing: -0.03em;
  color: var(--tc-faq-title);
  margin-bottom: var(--tc-space-2);
}

.c-faq__intro {
  max-width: 40rem;
  margin: 0 auto;
  font-size: var(--tc-font-size-md);
  line-height: var(--tc-line-height-loose);
  color: var(--tc-faq-muted);
}

/* List ---------------------------------------------------- */

.c-faq__list {
  margin-top: var(--tc-space-6);
  border-radius: var(--tc-radius-xl, 24px);
  border: 1px solid var(--tc-faq-border-outer);
  background: var(--tc-faq-surface);
  overflow: hidden;
}

/* Item (= details) ---------------------------------------- */

.c-faq__item {
  border-bottom: 1px solid var(--tc-faq-border-inner);
}

.c-faq__item:last-child {
  border-bottom: none;
}

/* Fragezeile (summary) */

.c-faq__question {
  list-style: none;
  cursor: pointer;
  padding: 1.2rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--tc-space-3);
  font-size: var(--tc-font-size-base);
  color: var(--tc-faq-question);
}

.c-faq__question::-webkit-details-marker {
  display: none;
}

.c-faq__question-text {
  flex: 1;
}

/* Icon (Plus / Minus) */

.c-faq__icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  color: var(--tc-faq-icon);
}

/* Standard: Plus */
.c-faq__icon::before {
  content: "+";
  display: block;
  font-weight: 400;
}

/* Wenn Accordion geöffnet: Minus */
.c-faq__item[open] .c-faq__icon::before {
  content: "–"; /* echtes Gedankenstrich-Minus, sieht cleaner aus */
}

/* Hover/Focus States */

.c-faq__question:hover {
  background: var(--tc-faq-row-hover);
}

.c-faq__question:focus-visible {
  outline: 2px solid var(--tc-faq-accent);
  outline-offset: -2px;
}

/* Antwortbereich */

.c-faq__answer {
  padding: 0 1.5rem 1.1rem;
  font-size: var(--tc-font-size-sm);
  line-height: var(--tc-line-height-loose);
  color: var(--tc-faq-answer);
}

/* =========================================================
   DARK MODE
   ========================================================= */

.c-faq--dark {
  --tc-faq-bg: #020617;
  --tc-faq-title: #f9fafb;
  --tc-faq-text: #e5e7eb;
  --tc-faq-muted: #9ca3af;

  --tc-faq-surface: rgba(15, 23, 42, 0.9);
  --tc-faq-border-outer: rgba(148, 163, 184, 0.25);
  --tc-faq-border-inner: rgba(15, 23, 42, 0.95);

  --tc-faq-question: #e5e7eb;
  --tc-faq-answer: #9ca3af;

  --tc-faq-icon: #9ca3af;
  --tc-faq-row-hover: rgba(15, 23, 42, 0.9);

  --tc-faq-accent: #6366f1;
}

/* =========================================================
   LIGHT MODE
   ========================================================= */

.c-faq--light {
  --tc-faq-bg: #f9fafb;
  --tc-faq-title: #0f172a;
  --tc-faq-text: #020617;
  --tc-faq-muted: #6b7280;

  --tc-faq-surface: #ffffff;
  --tc-faq-border-outer: rgba(148, 163, 184, 0.35);
  --tc-faq-border-inner: rgba(229, 231, 235, 0.9);

  --tc-faq-question: #0f172a;
  --tc-faq-answer: #4b5563;

  --tc-faq-icon: #6b7280;
  --tc-faq-row-hover: rgba(243, 244, 246, 0.9);

  --tc-faq-accent: #4f46e5;
}

/* Responsive --------------------------------------------- */

@media (max-width: 900px) {
  .c-faq {
	padding-inline: 1.25rem;
  }

  .c-faq__title {
	font-size: var(--tc-font-size-h3);
  }

  .c-faq__list {
	border-radius: 18px;
  }

  .c-faq__question {
	padding: 1rem 1.25rem;
  }

  .c-faq__answer {
	padding: 0 1.25rem 1rem;
  }
}