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

/* ===== TESTIMONIALS ===== */
.alc-test { background: var(--paper-2); padding: 96px 56px 80px; }
.alc-test-inner { max-width: var(--max); margin: 0 auto; }
.alc-test-head { margin-bottom: 56px; max-width: 880px; }
.alc-test-h { font-size: clamp(28px, 3.6vw, 48px); font-weight: 700; color: var(--ink); letter-spacing: -0.022em; }
.alc-test-deck { font-size: 16px; line-height: 1.65; color: var(--ink-2); margin-top: 18px; max-width: 65ch; }
.alc-test-stage { position: relative; padding: 24px 64px; }
.alc-test-frame { position: absolute; top: 0; left: 24px; width: 56%; height: 100%; border: 4px solid var(--accent); pointer-events: none; }
.alc-test-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 80px; background: var(--ink); color: var(--paper); display: flex; align-items: center; justify-content: center; border-radius: 2px; z-index: 3; transition: background .15s; }
.alc-test-arrow:hover { background: var(--accent-deep); }
.alc-test-arrow.left { left: 0; }
.alc-test-arrow.right { right: 0; }
.alc-test-card { position: relative; background: var(--paper); padding: 36px; margin-left: 60px; display: grid; grid-template-columns: 280px 1fr; gap: 36px; align-items: center; z-index: 2; box-shadow: 0 16px 48px rgba(10,28,51,0.08); }
.alc-test-photo { aspect-ratio: 1/1; overflow: hidden; }
.alc-test-photo img { width: 100%; height: 100%; object-fit: cover; }
.alc-test-content { display: flex; flex-direction: column; gap: 22px; }
.alc-test-quote { font-size: 18px; line-height: 1.55; color: var(--ink-2); font-style: italic; }
.alc-test-attr { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; border-top: 1px solid var(--line); }
.alc-test-company { font-size: 14px; color: var(--ink); font-weight: 600; }
.alc-test-name { font-size: 14px; color: var(--ink-2); }
.alc-test-name strong { color: var(--ink); font-weight: 600; }
.alc-test-dots { display: flex; justify-content: center; gap: 10px; padding: 32px 0; }
.alc-test-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); transition: all .15s; }
.alc-test-dot.on { background: var(--ink); transform: scale(1.25); }
.alc-clients-wall { margin-top: 32px; display: grid; grid-template-columns: repeat(6, 1fr); background: var(--paper); border: 1px solid var(--line); border-radius: 4px; }
.alc-cw-logo { padding: 24px 16px; border-right: 1px solid var(--line); display: flex; align-items: center; justify-content: center; aspect-ratio: 2/1; transition: background .15s; }
.alc-cw-logo:last-child { border-right: none; }
.alc-cw-logo:hover { background: var(--paper-3); }
.alc-cw-name { font-size: 13px; color: var(--ink-2); font-weight: 600; text-align: center; opacity: 0.75; transition: opacity .15s; }
.alc-cw-logo:hover .alc-cw-name { opacity: 1; color: var(--ink); }
@media (max-width: 1024px) { .alc-test-stage { padding: 16px 56px; } }
@media (max-width: 820px) {
  .alc-test { padding: 48px 20px 56px; }
  .alc-test-h { font-size: clamp(28px, 6vw, 36px); }
  .alc-test-stage { padding: 12px 0; }
  .alc-test-card { grid-template-columns: 1fr; margin-left: 0; padding: 24px; gap: 18px; }
  .alc-test-photo { max-width: 140px; margin: 0 auto; border-radius: 999px; }
  .alc-test-frame { display: none; }
  .alc-test-arrow { width: 36px; height: 48px; }
  .alc-clients-wall { grid-template-columns: repeat(2, 1fr); }
  .alc-cw-logo:nth-child(2n) { border-right: none; }
}

