/* FAQ page-specific styles: minimal and complementary to base.css */

.faq-hero {
  padding: clamp(2rem, 3vw, 4rem) 0;
}
.faq-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}
.faq-hero__content .lead {
  margin-top: 0.75rem;
  opacity: 0.9;
}
.faq-hero__media img {
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  display: block;
}
.faq-search {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-top: 1rem;
  flex-wrap: wrap;
}
.faq-search input[type="search"] {
  flex: 1 1 320px;
  min-width: 240px;
  padding: 0.75rem 0.9rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
}
.faq-search .hint {
  width: 100%;
  font-size: 0.9rem;
  opacity: 0.7;
}

.faq-list {
  padding: clamp(1rem, 2vw, 2rem) 0 clamp(3rem, 4vw, 5rem);
}
.faq-accordion {
  display: grid;
  gap: 0.75rem;
}
.faq-item {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0.75rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  overflow: hidden;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 1.1rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary h3 {
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}
.faq-item[open] summary {
  background: rgba(255,255,255,0.05);
}
.faq-item__content {
  padding: 0 1.1rem 1.1rem;
}
.faq-media-inline {
  margin-top: 0.75rem;
}
.faq-media-inline img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.faq-secondary-nav {
  margin-top: clamp(1.5rem, 3vw, 2rem);
}
.link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.5rem;
}
.link-grid a {
  display: block;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0.5rem;
  text-align: center;
  background: rgba(255,255,255,0.04);
}

/* Responsive adjustments */
@media (max-width: 960px) {
  .faq-hero__grid { grid-template-columns: 1fr; }
}

/* Utility */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}
