/* TAARSAZ FAQ — black & gold theme, scoped under .tfaq-page-bg */

.tfaq-page-bg {
  --tfaq-black: #ffffff;
  --tfaq-panel: #f7f4ee;
  --tfaq-line: #e3ddcf;
  --tfaq-gold: #c9a04e;
  --tfaq-gold-bright: #a9822f;
  --tfaq-ivory: #1a1a1a;
  --tfaq-muted: #55524a;
  --tfaq-serif: 'Cormorant Garamond', serif;
  --tfaq-sans: 'Jost', sans-serif;

  /* Full-bleed: breaks out of the theme's centered content column
     so the black background reaches both edges of the browser window. */
  background: var(--tfaq-black);
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 56px 24px 72px;
  color: var(--tfaq-ivory);
  font-family: var(--tfaq-sans);
  -webkit-font-smoothing: antialiased;
}
.tfaq-page-bg *,
.tfaq-page-bg *::before,
.tfaq-page-bg *::after { box-sizing: border-box; }

.tfaq-wrap {
  max-width: 840px;
  margin: 0 auto;
}

/* Tabs */
.tfaq-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 44px; }
.tfaq-tab {
  border: 1px solid var(--tfaq-line); background: transparent; color: var(--tfaq-muted);
  padding: 9px 18px; font-family: var(--tfaq-sans); font-size: 13px; letter-spacing: .04em;
  border-radius: 999px; cursor: pointer; transition: all .25s ease;
}
.tfaq-tab:hover { border-color: var(--tfaq-gold); color: var(--tfaq-gold-bright); }
.tfaq-tab.active { background: var(--tfaq-gold); border-color: var(--tfaq-gold); color: #171310; font-weight: 500; }

/* Groups */
.tfaq-group { margin-bottom: 8px; }
.tfaq-group-title {
  font-family: var(--tfaq-serif); font-style: italic; font-size: 24px; color: var(--tfaq-gold-bright);
  margin: 40px 0 16px; display: flex; align-items: center; gap: 14px;
}
.tfaq-group-title::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, var(--tfaq-line), transparent); }

/* Accordion */
.tfaq-item { border-bottom: 1px solid var(--tfaq-line); }
.tfaq-q {
  width: 100%; text-align: left; background: none; border: none; cursor: pointer;
  padding: 20px 4px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  color: var(--tfaq-ivory); font-family: var(--tfaq-sans); font-size: 16.5px; font-weight: 400;
}
.tfaq-q:hover { color: var(--tfaq-gold-bright); }
.tfaq-mark {
  flex-shrink: 0; width: 26px; height: 26px; border: 1px solid var(--tfaq-gold);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--tfaq-gold); font-size: 15px; font-family: var(--tfaq-serif);
  transition: transform .35s ease, background .3s ease;
}
.tfaq-item.open .tfaq-mark { background: var(--tfaq-gold); color: #171310; transform: rotate(135deg); }
.tfaq-a { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.tfaq-a-inner { padding: 0 42px 22px 4px; color: var(--tfaq-muted); font-size: 15.5px; line-height: 1.75; }
.tfaq-a-inner a { color: var(--tfaq-gold-bright); text-decoration: none; border-bottom: 1px solid rgba(169,130,47,.4); }

/* CTA */
.tfaq-cta {
  margin-top: 66px; padding: 42px 34px; text-align: center;
  background: var(--tfaq-panel); border: 1px solid var(--tfaq-line); border-radius: 6px;
  position: relative; overflow: hidden;
}
.tfaq-cta::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(201,160,78,0.12), transparent 65%);
}
.tfaq-cta h2 {
  font-family: var(--tfaq-serif); font-style: italic; font-weight: 600; font-size: 28px;
  margin: 0 0 10px; color: var(--tfaq-ivory); position: relative;
}
.tfaq-cta p { color: var(--tfaq-muted); margin: 0 0 26px; font-size: 15px; position: relative; }
.tfaq-cta-links { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; position: relative; }
.tfaq-btn {
  display: inline-flex; align-items: center; gap: 9px; padding: 13px 26px;
  font-family: var(--tfaq-sans); font-size: 14px; letter-spacing: .03em; text-decoration: none;
  border-radius: 4px; transition: all .25s ease;
}
.tfaq-btn-primary { background: var(--tfaq-gold); color: #171310; font-weight: 600; }
.tfaq-btn-primary:hover { background: var(--tfaq-gold-bright); color: #171310; }
.tfaq-btn-ghost { border: 1px solid var(--tfaq-line); color: var(--tfaq-ivory); }
.tfaq-btn-ghost:hover { border-color: var(--tfaq-gold); color: var(--tfaq-gold-bright); }

@media (prefers-reduced-motion: reduce) {
  .tfaq-mark, .tfaq-a { transition: none; }
}
