/* Portada - preguntas frecuentes */
.faq { max-width: 1180px; margin: 0 auto; padding: 96px 40px 0; }
.faq__grid { display: grid; grid-template-columns: 330px 1fr; gap: 40px; align-items: start; }
.faq__intro { position: sticky; top: 120px; }
.admin-bar .faq__intro { top: 152px; }
.faq__title { margin: 10px 0 12px; font: 800 36px/1.15 'Manrope', sans-serif; letter-spacing: -.035em; color: var(--ink); }
.faq__lead { margin: 0 0 20px; font: 400 16px/1.7 'IBM Plex Sans', sans-serif; color: var(--gray-600); }

.btn-outline {
  display: inline-flex; align-items: center;
  background: #fff; color: var(--ink);
  border: 1px solid var(--gray-300);
  font: 600 15px 'IBM Plex Sans', sans-serif;
  padding: 12px 22px; border-radius: 999px; text-decoration: none;
}
.btn-outline:hover { border-color: var(--cyan-600); color: var(--info); text-decoration: none; }

.faq__list { display: flex; flex-direction: column; gap: 12px; }
.faq__item {
  background: #fff;
  border: 1px solid var(--border-200);
  border-radius: 22px;
  padding: 24px 26px;
  box-shadow: 0 12px 30px -26px rgba(16,24,32,.5);
}
.faq__item:hover { border-color: var(--cyan-100); }
.faq__item[open] {
  background: linear-gradient(165deg,#FFFFFF,#F0F8FE);
  border-color: var(--cyan-100);
  box-shadow: 0 18px 40px -32px rgba(0,137,190,.6);
}
.faq__q { display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; list-style: none; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q::marker { content: ""; }
.faq__qtext { font: 700 17px/1.4 'Manrope', sans-serif; color: var(--ink); letter-spacing: -.02em; }
.faq__icon {
  width: 32px; height: 32px; flex: none; border-radius: 12px;
  background: var(--canvas); border: 1px solid var(--border-200); color: var(--ink);
  display: flex; align-items: center; justify-content: center;
}
.faq__minus { display: none; }
.faq__item[open] .faq__icon { background: var(--ink); border: 0; color: #fff; }
.faq__item[open] .faq__plus { display: none; }
.faq__item[open] .faq__minus { display: block; }
.faq__a { margin: 16px 0 0; max-width: 76ch; font: 400 15px/1.75 'IBM Plex Sans', sans-serif; color: var(--gray-600); }

@media (max-width: 900px) {
  .faq__grid { grid-template-columns: 1fr; gap: 28px; }
  .faq__intro, .admin-bar .faq__intro { position: static; }
}
@media (max-width: 600px) {
  .faq { padding: 56px 20px 0; }
  .faq__title { font-size: 28px; }
  .faq__item { padding: 20px 22px; }
}