/* ---------- Fonts (project ke assets se hi) ---------- */
@font-face {
  font-family: "ArizonaFlare";
  src: url("../fonts/arizona_flare_300_normal_headings_h1-h6.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "ArizonaFlare";
  src: url("../fonts/arizona_flare_300_italic_headings_h1-h6.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Helveesti";
  src: url("../fonts/helveesti_400_normal_body_ui.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Helveesti";
  src: url("../fonts/helveesti_700_normal_body_labels.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

/* ---------- Section-scoped design tokens ---------- */
.qtab {
  --qtab-bg: #F8F2E9;
  --qtab-ink: #170B01;
  --qtab-accent: #AE1B74; /* (not visually used here, but reserved for links if needed) */

  --qtab-maxw: 1200px;
  --qtab-col-gap: 72px;

  --qtab-h2-size: 64px;       /* heading size to match screenshot */
  --qtab-h2-lh: 1.05;

  --qtab-q-size: 20px;
  --qtab-q-lh: 1.35;

  --qtab-body-size: 18px;
  --qtab-body-lh: 1.65;

  --qtab-rule: 1px solid #170B01;

  background: var(--qtab-bg);
  color: var(--qtab-ink);
  

  --section-pad-block: 0;
}

/* ---------- Layout ---------- */
.qtab__container {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(520px, 1.55fr);
  gap: 20px;
  align-items: start;
  margin-top: 40px;
  margin-bottom: 40px;
}

.qtab__title {
  grid-column: 1 / 2;
  font-family: "ArizonaFlare", serif;
  font-weight: 300;
  font-size: 36px;
  line-height: var(--qtab-h2-lh);
  letter-spacing: 0;
  margin: 0px 0 0 0;
  color: var(--qtab-ink);
}

.qtab__list {
  grid-column: 2 / 3;
}

/* ---------- Items ---------- */
.qtab__item {
  border-top: var(--qtab-rule);
}
.qtab__item:last-child {
  border-bottom: var(--qtab-rule);
}

.qtab__trigger {
  width: 100%;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--qtab-ink);
}

.qtab__qtext {
  font-family: "Helveesti", system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 400;
  text-align: left;
}

/* Circular +/- icon drawn via CSS to match screenshot */
.qtab__icon {
  position: relative;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 1.5px solid var(--qtab-ink);
  border-radius: 50%;
}
.qtab__icon::before,
.qtab__icon::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: var(--qtab-ink);
  transition: transform 220ms ease, opacity 220ms ease;
}
.qtab__icon::before { /* horizontal bar */
  width: 12px; height: 1.5px;
}
.qtab__icon::after {  /* vertical bar -> hidden when open (minus) */
  width: 1.5px; height: 12px;
}

/* Panel */
.qtab__panel {
  display: none;
  padding: 0 0 20px 0;
  font-family: "Helveesti", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.3;
}
.qtab__panel b {
  font-weight: 700; /* Helveesti 700 for emphasis */
}

/* Open state (single open at a time) */
.qtab__item.is-open .qtab__panel { display: block; }
.qtab__item.is-open .qtab__trigger { padding-bottom: 14px; }
.qtab__item.is-open .qtab__icon::after { transform: scaleY(0); opacity: 0; } /* plus -> minus */

/* ============ Mobile fixes: Question Tab (no HTML/JS changes) ============ */

/* Tablet & down: collapse to one column */
@media (max-width: 768px) {
  .qtab__container {
    grid-template-columns: 1fr;     /* kill the 260px/520px two-col grid */
    gap: 24px;
    margin-top: 24px;
    margin-bottom: 24px;
  }
  .qtab__title,
  .qtab__list {
    grid-column: 1 / -1;            /* ensure both span the single column */
  }

  /* Tweak type scale via existing CSS variables */
  .qtab {
    --qtab-h2-size: 40px;
    --qtab-q-size: 18px;
    --qtab-body-size: 16px;
    --qtab-col-gap: 24px;
  }

  .qtab__trigger { padding: 18px 0; }
  .qtab__panel   { padding-bottom: 18px; }
}

/* 430px & down: tighter type, icon, and spacing */
@media (max-width: 430px) {
  .qtab {
    --qtab-h2-size: 32px;
    --qtab-q-size: 16px;
    --qtab-body-size: 16px;
  }

  .qtab__trigger { gap: 12px; align-items: flex-start; }
  .qtab__qtext {
    font-size: 16px; 
    flex: 1;                        /* let text wrap without pushing the icon */
    overflow-wrap: anywhere; 
    line-height: 1.3;
  }

  /* Slightly smaller +/- icon so it never crowds the text */
  .qtab__icon { 
    flex: 0 0 24px; width: 24px; height: 24px; 
  }
  .qtab__icon::before { width: 11px; height: 1.5px; }
  .qtab__icon::after  { width: 1.5px; height: 11px; }
  .qtab__panel {
    font-size: 14px;
  }
}
