/* ── v11.9 — Pulido general: profundidad unificada, accesibilidad,
   micro-interacciones consistentes en todo el sitio ─────────── */

:root {
  --shadow-sm: 0 6px 18px rgba(11,27,44,.08);
  --shadow-md: 0 16px 38px rgba(11,27,44,.12);
  --shadow-lg: 0 24px 56px rgba(11,27,44,.16);
  --shadow-cta: 0 10px 28px rgba(1,117,201,.28);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
}

/* ══════════════════════════════════════════════════════════
   Accesibilidad — foco visible consistente (faltaba en todo el sitio)
   ══════════════════════════════════════════════════════════ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2.5px solid var(--cta);
  outline-offset: 3px;
  border-radius: 4px;
}
.btn:focus-visible { outline-color: #fff; box-shadow: 0 0 0 4px rgba(1,117,201,.35); }
.pf-close:focus-visible, .hdr__burger:focus-visible { outline-offset: 5px; }

/* ══════════════════════════════════════════════════════════
   Profundidad unificada — misma "física" de sombra en todas las
   tarjetas interactivas del sitio (antes variaba de sección a sección)
   ══════════════════════════════════════════════════════════ */
.news-card:hover,
.voice:hover,
.doc:hover,
.emp-job:hover,
.comm:hover,
.purpose-card:hover,
.premium-card:hover,
.standard-card:hover,
.plan-44:hover,
.tile:hover {
  box-shadow: var(--shadow-md) !important;
}
.platinum-card:hover { box-shadow: var(--shadow-lg) !important; }
.plan-44--featured:hover { box-shadow: 0 20px 50px rgba(1,117,201,.22) !important; }

/* Elevación consistente: -4px en todas las cards con hover translateY */
.news-card:hover, .doc:hover, .emp-job:hover, .comm:hover,
.premium-card:hover, .standard-card:hover, .plan-44:hover, .tile:hover {
  transform: translateY(-4px);
}

/* ══════════════════════════════════════════════════════════
   Header/footer links — micro-motion en hover (antes solo color)
   ══════════════════════════════════════════════════════════ */
.foot ul a, .foot ul button {
  transition: color .25s, transform .25s;
  display: inline-block;
}
.foot ul a:hover, .foot ul button:hover { transform: translateX(3px); }

.nav__item { transition: color .2s, background .2s; }
.nav__item:hover { background: rgba(1,117,201,.06); }

/* ══════════════════════════════════════════════════════════
   Inputs — estado focus consistente en todos los formularios
   ══════════════════════════════════════════════════════════ */
input, select, textarea {
  transition: border-color .2s, box-shadow .2s;
}
.emp-modal-card input:focus, .emp-modal-card select:focus, .emp-modal-card textarea:focus,
.biblio-search input:focus, .emp-searchfield input:focus {
  box-shadow: 0 0 0 3px rgba(1,117,201,.12);
}

/* ══════════════════════════════════════════════════════════
   Tipografía — mejoras de legibilidad transversales
   ══════════════════════════════════════════════════════════ */
p { max-width: 68ch; }
.news-card__excerpt, .voice blockquote, .doc p, .comm p { max-width: none; }

/* Subrayado animado en enlaces de texto dentro de contenido largo */
.s-link, .pf-hint { transition: gap .25s, color .2s; }

/* ══════════════════════════════════════════════════════════
   Botones — pulido del estado activo/presionado (feedback táctil)
   ══════════════════════════════════════════════════════════ */
.btn:active { transform: translateY(0) scale(.97); }
.btn--primary:active { box-shadow: 0 4px 14px rgba(1,117,201,.3); }

/* ══════════════════════════════════════════════════════════
   Scrollbar de marca (webkit) — detalle de pulido
   ══════════════════════════════════════════════════════════ */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--ink-50); }
::-webkit-scrollbar-thumb { background: var(--ink-200); border-radius: 99px; border: 2px solid var(--ink-50); }
::-webkit-scrollbar-thumb:hover { background: var(--p2); }

/* ══════════════════════════════════════════════════════════
   Consistencia de radios en tarjetas menores (antes 14/16/18 mezclados)
   ══════════════════════════════════════════════════════════ */
.voice, .doc, .purpose-card, .linea, .stat-box, .pf-stat-box { border-radius: var(--radius-md); }
.news-card, .comm, .plan-44, .emp-job, .standard-card { border-radius: var(--radius-md); }
.premium-card, .platinum-card { border-radius: var(--radius-lg); }

@media (prefers-reduced-motion: reduce) {
  .foot ul a:hover, .foot ul button:hover { transform: none; }
  .news-card:hover, .doc:hover, .emp-job:hover, .comm:hover,
  .premium-card:hover, .standard-card:hover, .plan-44:hover, .tile:hover { transform: none; }
}
