/* Responsive tweaks */

@media (max-width: 992px) {
  .hero { min-height: 320px; }
  .hero h1 { font-size: 2rem; }
  .sticky-summary { position: static; }
}

@media (max-width: 768px) {
  body { font-size: 15px; }
  .hero { min-height: 260px; padding: 24px 0; }
  .hero h1 { font-size: 1.6rem; }
  .card-body { padding: 14px; }
  .navbar-nav .dropdown-menu { border: none; }
  .card.flex-row img { max-width: 90px; }
  .table-responsive { font-size: 13px; }
}

@media (max-width: 576px) {
  .container { padding-left: 12px; padding-right: 12px; }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.35rem; }
  h3 { font-size: 1.2rem; }
  .btn { font-size: 14px; }
  .d-flex.gap-2.flex-wrap > * { flex: 1 1 100%; }
  .favorite-btn { width: 32px; height: 32px; }
}

/* Print-friendly */
@media print {
  .navbar, footer, .btn, .no-print { display: none !important; }
  body { background: #fff; }
  .card { box-shadow: none; border: none; }
}