/* === ALC Abogados · componente "faq" ===
   Reglas portadas verbatim de design/css/sections.css (líneas 357-383). NO reescribir. */

/* ===== FAQ ===== */
.alc-faq { background: var(--paper); padding: 96px 56px; position: relative; }
.alc-faq-block { position: relative; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; min-height: 560px; }
.alc-faq-photo { position: relative; aspect-ratio: 4/5; max-height: 620px; overflow: hidden; border-radius: 4px; z-index: 1; }
.alc-faq-photo img { width: 100%; height: 100%; object-fit: cover; }
.alc-faq-photo-tint { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,28,51,0.30) 0%, rgba(10,28,51,0.10) 100%); }
.alc-faq-frame { position: absolute; top: 40px; left: -40px; width: 56%; height: calc(100% + 60px); border: 4px solid var(--accent); z-index: 1; pointer-events: none; }
.alc-faq-card { position: relative; background: var(--paper); padding: 48px 56px; margin-right: -56px; z-index: 2; box-shadow: 0 24px 60px rgba(10,28,51,0.10); border-radius: 4px; display: flex; flex-direction: column; gap: 8px; }
.alc-faq-h { font-size: clamp(28px, 3vw, 40px); font-weight: 700; letter-spacing: -0.018em; padding-bottom: 16px; }
.alc-faq-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.alc-faq-item { border-bottom: 1px solid var(--line); }
.alc-faq-q { display: grid; grid-template-columns: 1fr 24px; gap: 16px; align-items: center; width: 100%; text-align: left; padding: 20px 0; color: var(--ink); transition: color .15s; }
.alc-faq-q:hover { color: var(--ink-2); }
.alc-faq-q-text { font-size: 16px; font-weight: 600; line-height: 1.4; }
.alc-faq-q-icon { color: var(--ink); justify-self: end; font-size: 22px; line-height: 1; }
.alc-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.alc-faq-item.open .alc-faq-a { max-height: 400px; }
.alc-faq-a p { font-size: 15px; line-height: 1.65; color: var(--ink-2); padding: 0 0 22px; }
@media (max-width: 1024px) { .alc-faq-card { padding: 36px 32px; } }
@media (max-width: 820px) {
  .alc-faq { padding: 48px 20px; }
  .alc-faq-block { grid-template-columns: 1fr; min-height: 0; }
  .alc-faq-photo { aspect-ratio: 16/10; max-height: 240px; order: 1; }
  .alc-faq-card { margin-right: 0; padding: 28px 24px; order: 2; box-shadow: 0 12px 32px rgba(10,28,51,0.08); }
  .alc-faq-frame { display: none; }
}

