/* Auris Reader - Sistema de botones
 *
 * Fuente de verdad: doc/imagen_corporativa/02_color_palette.md §"Cuándo usar qué color"
 *                   doc/imagen_corporativa/06_visual_principles.md §Restraint
 *
 * Regla: máximo UNA CTA primaria (amarilla) por sección visible.
 * Las secundarias usan outline. Cualquier otro estilo se valida con
 * el principio de "Restraint".
 */

.btn,
.btn:link,
.btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition:
    background var(--transition-fast),
    color var(--transition-fast),
    border-color var(--transition-fast),
    transform var(--transition-fast);
  user-select: none;
  white-space: nowrap;
}

.btn:focus-visible {
  outline: 2px solid var(--color-yellow-brand);
  outline-offset: 4px;
}

.btn:active {
  transform: translateY(1px);
}

/* ----- CTA primaria: amarillo brand + texto negro puro ----- */

.btn--primary,
.btn--primary:link,
.btn--primary:visited {
  background: var(--color-yellow-brand);
  color: var(--color-black-pure);
  font-weight: 700;
  border-color: var(--color-yellow-brand);
}

.btn--primary:hover {
  background: var(--color-yellow-dim);
  border-color: var(--color-yellow-dim);
  color: var(--color-black-pure);
}

.btn--primary:disabled,
.btn--primary[disabled] {
  background: var(--color-gray-300);
  border-color: var(--color-gray-300);
  color: var(--color-gray-500);
  cursor: not-allowed;
  transform: none;
}

/* ----- CTA secundaria: outline ----- */

.btn--secondary,
.btn--secondary:link,
.btn--secondary:visited {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--color-gray-700);
}

.btn--secondary:hover {
  background: var(--bg-secondary);
  border-color: var(--color-gray-500);
  color: var(--text-primary);
}

.btn--secondary:disabled,
.btn--secondary[disabled] {
  border-color: var(--color-gray-700);
  color: var(--color-gray-500);
  cursor: not-allowed;
}

/* ----- CTA terciaria: texto puro con flecha sutil (links de "Learn more") ----- */

.btn--ghost,
.btn--ghost:link,
.btn--ghost:visited {
  background: transparent;
  color: var(--accent);
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
  text-decoration: none;
}

.btn--ghost:hover {
  color: var(--accent-hover);
}

/* ----- Tamaños ----- */

.btn--lg {
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-lg);
  gap: var(--space-3);
}

.btn--sm {
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
}

.btn--xs {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-xs);
}

/* ----- Block (full width) ----- */

.btn--block {
  display: flex;
  width: 100%;
}

/* ----- Iconos dentro del botón ----- */

.btn .btn__icon {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}

/* ----- Grupos de botones (CTA primaria + secundaria juntas) ----- */

.btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

@media (max-width: 480px) {
  .btn-group {
    flex-direction: column;
    align-items: stretch;
  }
  .btn-group .btn { width: 100%; }
}
