/**
 * Componentes transversales: vacíos, foco, botones de marketing.
 * Carga después de mobbi-shell.css.
 */

/* Estados vacíos unificados */
.mobbi-empty-state {
  text-align: center;
  padding: 48px 20px 56px;
  color: var(--mobbi-gray-500);
}
.mobbi-empty-state .mobbi-empty-state__icon {
  font-size: 2.75rem;
  opacity: 0.35;
  color: var(--mobbi-gray-400);
  margin-bottom: 0.25rem;
}
.mobbi-empty-state h2,
.mobbi-empty-state .mobbi-empty-state__title {
  font-size: 1.05rem;
  font-weight: var(--mobbi-font-weight-semibold);
  color: var(--mobbi-gray-700);
  margin: 0 0 8px;
}
.mobbi-empty-state p,
.mobbi-empty-state .mobbi-empty-state__text {
  font-size: 0.9rem;
  margin: 0;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.45;
}
.mobbi-empty-state .btn {
  margin-top: 1rem;
}

/* Enlace / botón: foco visible coherente (superpuesto a Bootstrap) */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
  outline: none;
  box-shadow: var(--mobbi-focus-ring);
}

.app-footer .footer-item:focus-visible {
  outline: none;
  border-radius: 10px;
  box-shadow: var(--mobbi-focus-ring);
  color: var(--mobbi-brand);
}

/* Marketing CTA: foco accesible */
.btn-search:focus-visible,
.btn-login:focus-visible,
.btn-register:focus-visible {
  outline: none;
  box-shadow: var(--mobbi-focus-ring);
}
