/* -------------------------------------------------------- */
/* 🔹 FAQ Expansion Tile                                    */
/* -------------------------------------------------------- */
/* Native <details>/<summary> accordion                     */
/* Mirrors faq_expansion_tile.dart                          */


/* -------------------------------------------------------- */
/* 🔹 Reset                                                 */
/* -------------------------------------------------------- */
/* Remove default browser disclosure marker                 */

.faq-tile {
  border: none;
}

.faq-tile__header {
  list-style: none;
}

.faq-tile__header::-webkit-details-marker,
.faq-tile__header::marker {
  display: none;
  content: '';
}


/* -------------------------------------------------------- */
/* 🔹 Header                                                */
/* -------------------------------------------------------- */
/* Matches ListTile with contentPadding                     */

.faq-tile__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  min-height: 56px;
  padding: var(--space-xxxl) var(--space-l);
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

.faq-tile__question {
  flex: 1;
  min-width: 0;
  font-size: var(--text-title-medium);
  font-weight: 400;
  line-height: 1.4;
}



/* -------------------------------------------------------- */
/* 🔹 Toggle Icon                                           */
/* -------------------------------------------------------- */
/* Crossfade between + (collapsed) and - (expanded)         */

.faq-tile__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.faq-tile__icon--add {
  color: var(--color-info);
}

.faq-tile__icon--remove {
  color: var(--color-primary);
}

.faq-tile:not([open]) .faq-tile__icon--remove,
.faq-tile[open] .faq-tile__icon--add {
  display: none;
}


/* -------------------------------------------------------- */
/* 🔹 Answer                                                */
/* -------------------------------------------------------- */

.faq-tile__answer {
  padding: 0 var(--space-l) var(--space-xxxl);
  font-size: var(--text-body-medium);
  line-height: 1.6;
}


/* -------------------------------------------------------- */
/* 🔹 Rich text styles (inside answers)                     */
/* -------------------------------------------------------- */

.faq-tile__answer a,
.rich-text-link {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
}

.faq-tile__answer a:hover,
.rich-text-link:hover {
  opacity: 0.8;
}

.rich-text-bullet {
  display: block;
  padding-left: 24px;
  text-indent: -16px;
  margin: 0.3em 0;
}

/* Extra breathing room before the first bullet in a group —
   text→bullet transitions only get a <br> (not a paragraph break)
   after formatAnswer() strips \n adjacent to bullet spans */
br + .rich-text-bullet {
  margin-top: 0.6em;
}


/* -------------------------------------------------------- */
/* 🔹 Calculation example                                   */
/* -------------------------------------------------------- */
/* Collapsible disclosure widget for calculation examples   */

.calc-example {
  margin-top: var(--space-xl);
}

.calc-example__summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: var(--text-body-small);
  font-weight: 600;
  color: var(--color-primary);
  list-style: none;
  user-select: none;
  -webkit-user-select: none;
}

.calc-example__summary::-webkit-details-marker,
.calc-example__summary::marker {
  display: none;
  content: '';
}

.calc-example__summary::after {
  content: '+';
  order: -1;
  flex-shrink: 0;
  width: 1em;
  text-align: center;
  font-size: var(--text-body-small);
  font-weight: 600;
  color: var(--color-primary);
}

.calc-example[open] > .calc-example__summary::after {
  content: '−';
}

.calc-example__body {
  margin-top: var(--space-l);
  line-height: 1.6;
}


/* -------------------------------------------------------- */
/* 🔹 Desktop                                              */
/* -------------------------------------------------------- */
/* Scale question and answer text on wider screens          */

@media (min-width: 768px) {
  .faq-tile__question {
    font-size: 18px;
  }

  .faq-tile__answer {
    font-size: var(--text-body-large);
    line-height: var(--text-body-large-height);
  }
}
