/* Bio·Peptides — capa visual aditiva (OpenAI/Codex, 2026-08-13).
   Cargar DESPUÉS de los estilos actuales. No cambia lógica ni contenido. */

:root {
  --bp-focus: #0b66c3;
  --bp-focus-ring: rgba(11, 102, 195, .26);
  --bp-shadow-soft: 0 10px 30px rgba(13, 34, 64, .10);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

/* Foco visible consistente para teclado. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--bp-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px var(--bp-focus-ring) !important;
}

/* Controles cómodos en móvil sin inflar radios/checkboxes. */
:where(button, a.btn, .btn, select, input:not([type="checkbox"]):not([type="radio"]), textarea) {
  min-height: 44px;
}

:where(input, select, textarea) {
  font-size: max(16px, 1em); /* evita zoom involuntario de Safari iOS */
}

:where(button, .btn, [role="button"]) {
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
@media (hover: hover) {
  :where(button, .btn, [role="button"]):not(:disabled):hover {
    transform: translateY(-1px);
    filter: brightness(.98);
  }
}
:where(button, .btn, [role="button"]):active { transform: translateY(0); }
:where(button, .btn, [role="button"]):disabled { cursor: not-allowed; opacity: .58; }

/* Lectura: líneas razonables y cortes de texto largos. */
:where(p, li) { overflow-wrap: break-word; }
:where(main p, main li) { line-height: max(1.55, 1em); }

/* Respeta a personas sensibles al movimiento y elimina esperas decorativas. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 640px) {
  :where(button, .btn, a.btn) { min-height: 46px; }
  :where(.modal, [role="dialog"]) { max-width: calc(100vw - 24px); }
}

