/* ═══════════════════════════════════════════════════
   DTV MOTORS — FAQ page styles (faq.css)
   ═══════════════════════════════════════════════════ */

.faq-hero {
  position: relative;
  padding: 8rem 0 3rem;
  text-align: center;
  overflow: hidden;
}
.faq-hero__glow {
  position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 40rem; height: 20rem;
  background: radial-gradient(ellipse, rgba(242,196,0,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.faq-hero__title {
  font-family: var(--font-display);
  font-size: 2.5rem; font-weight: 700;
  color: var(--text-white);
  margin: 1rem 0 0.75rem;
}
@media (min-width: 640px) { .faq-hero__title { font-size: 3.25rem; } }
@media (min-width: 1024px) { .faq-hero__title { font-size: 4rem; } }
.faq-hero__subtitle {
  font-size: 1.125rem; color: var(--text-secondary);
  max-width: 36rem; margin: 0 auto 2rem; line-height: 1.6;
}

/* Search */
.faq-search { max-width: 32rem; margin: 0 auto; position: relative; }
.faq-search__icon {
  position: absolute; left: 1.25rem; top: 50%; transform: translateY(-50%);
  color: var(--text-muted); pointer-events: none;
}
.faq-search__input {
  width: 100%; padding: 1rem 3rem 1rem 3.25rem;
  background: var(--surface-800); border: 1px solid var(--border-light);
  border-radius: 1rem; color: var(--text-primary);
  font-family: var(--font-body); font-size: 1rem; font-weight: 500;
  transition: all 0.2s ease;
}
.faq-search__input::placeholder { color: var(--text-muted); }
.faq-search__input:focus {
  outline: none; border-color: var(--brand-500);
  box-shadow: 0 0 0 4px rgba(242,196,0,0.1);
}
.faq-search__clear {
  position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%);
  width: 2rem; height: 2rem; border: none;
  background: rgba(255,255,255,0.05); color: var(--text-secondary);
  border-radius: 0.5rem; font-size: 1.25rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.faq-search__clear:hover { background: rgba(255,255,255,0.1); color: var(--text-white); }

/* Category pills */
.faq-categories {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  justify-content: center; margin-bottom: 2.5rem;
}
.faq-cat {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.5rem 1rem; background: var(--surface-800);
  border: 1px solid var(--border-subtle); border-radius: 9999px;
  color: var(--text-secondary); font-family: var(--font-body);
  font-size: 0.875rem; font-weight: 600; cursor: pointer;
  transition: all 0.2s ease;
}
.faq-cat:hover { border-color: var(--border-brand); color: var(--text-white); }
.faq-cat--active {
  background: var(--brand-500) !important;
  border-color: var(--brand-500) !important;
  color: var(--surface-950) !important;
}

/* Accordion */
.faq-list {
  max-width: 48rem; margin: 0 auto;
  display: flex; flex-direction: column; gap: 0.75rem;
}
.faq-item {
  background: var(--surface-800); border: 1px solid var(--border-subtle);
  border-radius: var(--radius); overflow: hidden; transition: all 0.2s ease;
}
.faq-item:hover { border-color: var(--border-brand); }
.faq-item__question {
  width: 100%; padding: 1.25rem 1.5rem; background: transparent;
  border: none; color: var(--text-white); font-family: var(--font-body);
  font-size: 1rem; font-weight: 600; text-align: left; cursor: pointer;
  display: flex; align-items: center; gap: 0.75rem;
}
.faq-item__question:hover { color: var(--brand-400); }
.faq-item__icon { font-size: 1.25rem; flex-shrink: 0; width: 2rem; text-align: center; }
.faq-item__text { flex: 1; }
.faq-item__chevron {
  flex-shrink: 0; color: var(--text-muted); transition: transform 0.3s ease;
}
.faq-item__chevron--open { transform: rotate(180deg); color: var(--brand-500); }

.faq-item__answer { overflow: hidden; }
.faq-item__answer-inner {
  padding: 0 1.5rem 1.25rem 4.25rem;
  font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7;
}
.faq-item__answer-inner strong { color: var(--text-white); font-weight: 600; }
.faq-item__answer-inner a {
  color: var(--brand-400); text-decoration: underline; text-underline-offset: 2px;
}

/* Empty state */
.faq-empty { text-align: center; padding: 3rem 1rem; }
.faq-empty__icon { font-size: 3rem; margin-bottom: 1rem; }
.faq-empty__title { font-family: var(--font-display); font-size: 1.25rem; color: var(--text-white); margin-bottom: 0.5rem; }
.faq-empty__desc { font-size: 0.9375rem; color: var(--text-muted); }

/* Contact CTA */
.faq-contact {
  max-width: 40rem; margin: 0 auto; text-align: center;
  padding: 3rem 2rem; background: var(--surface-800);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-xl);
}
.faq-contact__icon { font-size: 2.5rem; margin-bottom: 1rem; }
.faq-contact__title {
  font-family: var(--font-display); font-size: 1.75rem; font-weight: 700;
  color: var(--text-white); margin-bottom: 0.75rem;
}
.faq-contact__desc {
  font-size: 1rem; color: var(--text-secondary);
  max-width: 28rem; margin: 0 auto 1.5rem; line-height: 1.6;
}
.faq-contact__buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
