/* ==========================================================================
   Page: faq
   ========================================================================== */

/* FAQ (الأسئلة الشائعة) — namespace: faq- */

/* The design sets type rhythm per element and leaves the rest at the font's own line height. */
.faq-page { line-height: normal; }

/* Hero + category filter ------------------------------------------------- */
.faq-hero .page-hero__inner { padding-bottom: 32px; }
.faq-hero__lead { max-width: none; }
.faq-cats { gap: 8px; margin-top: 8px; }
.faq-cat { font-size: 14.5px; font-weight: 700; }
.faq-cat__count { font-size: 12.5px; opacity: 0.8; }

/* Layout: questions + help sidebar --------------------------------------- */
.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: start;
  padding-block: 40px 80px;
}

/* Questions (exclusive accordion) ---------------------------------------- */
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.faq-item__q {
  min-height: 60px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--c-ink);
  list-style: none;
  cursor: pointer;
  transition: background-color .15s ease;
}
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q:hover { background: var(--c-pale-2); }
.faq-item__q:focus-visible { outline-offset: -3px; }
.faq-item__head { display: flex; flex-direction: column; gap: 4px; }
.faq-item__cat { font-size: 12px; font-weight: 700; color: var(--c-primary); }
.faq-item__title { font-size: 16.5px; font-weight: 700; }
.faq-item__chev { color: var(--c-primary); transition: transform .2s ease; }
.faq-item[open] .faq-item__chev { transform: rotate(180deg); }
.faq-item__a { padding: 0 20px 20px; font-size: 15.5px; line-height: 1.85; color: var(--c-text-2); }

/* Help sidebar ----------------------------------------------------------- */
.faq-aside {
  position: sticky;
  top: calc(var(--sticky-top) + 24px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.faq-help {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px;
  background: #F2FAF6;
  border: 1.5px solid var(--c-success);
  border-radius: var(--radius-lg);
}
.faq-help__title { font-size: 19px; font-weight: 800; line-height: normal; }
.faq-help__text { font-size: 15px; line-height: 1.7; color: var(--c-text-2); }
.faq-help__btn { line-height: normal; border-radius: var(--radius-md); background: var(--c-success); color: var(--c-white); }
.faq-help__btn:hover { background: var(--c-success-ink); color: var(--c-white); }

.faq-links { display: flex; flex-direction: column; gap: 4px; padding: 22px 22px 20px; } /* 44px links, same rhythm as the design */
.faq-links__title { margin-bottom: 2px; font-family: var(--font-body); font-size: 16px; font-weight: 800; line-height: normal; }
.faq-links .text-link { font-size: 16px; font-weight: 600; }

/* Responsive ------------------------------------------------------------- */
@media (max-width: 900px) {
  .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .faq-aside { position: static; }
}
@media (max-width: 720px) {
  .faq-layout { padding-block: 28px 56px; }
  .faq-item__q { padding: 14px 16px; }
  .faq-item__a { padding: 0 16px 18px; }
}
