#navbar-placeholder { position: sticky; top: 0; z-index: 1000; }
.nav-links a { display: block; }
.menu-toggle { min-width: 44px; min-height: 44px; }
:focus-visible { outline: 3px solid #1769aa; outline-offset: 4px; }
.game-card { flex-shrink: 0; }
.gift-info, .hero-content { min-width: 0; }
.gift-info h4, .gift-info p { overflow-wrap: anywhere; }
.modal-dialog { max-height: 90vh; overflow-y: auto; }
.library-tools { display: flex; flex-wrap: wrap; gap: 16px; padding: 20px; margin-bottom: 20px; background: #fff; border: 1px solid var(--border); border-radius: 12px; align-items: end; }
.library-tools label { display: grid; gap: 8px; font-size: 14px; color: var(--text-gray); }
.library-tools label:first-child { flex: 1; min-width: 180px; }
.library-tools input, .library-tools select { width: 100%; padding: 11px 14px; border: 1px solid #cbd0d8; border-radius: 8px; font: inherit; color: var(--text-dark); background: #fff; }
.library-results { color: var(--text-gray); font-size: 14px; margin: 0 0 20px; }
.library-empty { padding: 48px 20px; text-align: center; background: #fff; border-radius: 12px; color: var(--text-gray); grid-column: 1 / -1; }
.game-card[hidden], .library-empty[hidden] { display: none; }
@media (max-width: 480px) {
  .navbar { padding: 0; }
  .navbar .container { gap: 8px; padding: 0 16px; }
  .logo-text { font-size: 18px; }
  .container { padding: 0 16px; }
  .hero-slide { padding: 30px 44px; }
  .carousel-arrow.left { left: 6px; }
  .carousel-arrow.right { right: 6px; }
  .library-tools label { width: 100%; }
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
