/* RGR FAQ Accordion */

.rgr-faq,
.rgr-faq * { box-sizing: border-box; }

.rgr-faq {
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  color: var(--rgr-black);
  padding: clamp(32px, 4vw, 64px) clamp(24px, 3vw, 48px);
}

.rgr-faq__heading {
  margin: 0 0 20px;
  font-size: clamp(26px, 2.4vw, 40px);
  font-weight: 800;
  line-height: 1.1;
  color: var(--rgr-black);
}

.rgr-faq__rule {
  border: none;
  border-top: 1.5px solid var(--rgr-line-dark);
  margin: 0;
}

.rgr-faq__item {
  /* no additional styles needed — children handle it */
}

.rgr-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 18px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: clamp(15px, 1vw, 17px);
  font-weight: 600;
  color: var(--rgr-black);
  text-align: left;
  line-height: 1.35;
}
.rgr-faq__trigger:hover { color: var(--rgr-red); }

/* +/− icon via pseudo-element */
.rgr-faq__icon {
  flex-shrink: 0;
  position: relative;
  width: 20px;
  height: 20px;
  color: var(--rgr-red);
}
.rgr-faq__icon::before,
.rgr-faq__icon::after {
  content: '';
  position: absolute;
  background: var(--rgr-red);
  border-radius: 999px;
  transition: transform 240ms ease, opacity 240ms ease;
}
/* horizontal bar (always visible) */
.rgr-faq__icon::before {
  width: 14px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* vertical bar (visible when closed, hidden when open) */
.rgr-faq__icon::after {
  width: 2px;
  height: 14px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rgr-faq__item.is-open .rgr-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.rgr-faq__body {
  padding-bottom: 18px;
}
.rgr-faq__body p {
  margin: 0;
  font-size: clamp(14px, 0.92vw, 16px);
  line-height: 1.6;
  color: rgba(3,4,5,0.68);
}
