/*
 * Global, non-Tailwind styles served by Propshaft (linked as `:app`).
 *
 * Design tokens, fonts, and component atoms (.bm-*) are the single source of truth and
 * live in application.tailwind.css — do NOT redefine colors, fonts, or buttons here.
 * Keep this file to genuinely global concerns Tailwind utilities can't express: a few
 * animation helpers, line-clamp, and accessibility defaults. Read colors from --bm-*/--ui-*.
 */

/* Line clamp utilities (used across card descriptions). */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Backdrop blur fallback for older browsers. */
@supports not (backdrop-filter: blur(10px)) {
  .backdrop-blur-sm {
    background-color: rgba(255, 255, 255, 0.95);
  }
}

/* Smooth scroll behavior. */
html {
  scroll-behavior: smooth;
}

/* Accessibility: visible focus ring (reads the brand token, not a hardcoded hex). */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--bm-blue);
  outline-offset: 2px;
}

/* Accessibility: honor reduced-motion. */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
