/* ============================================================
   Responsive rules - mobile-first overrides
   ============================================================ */

@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .hero h1 { font-size: 30px; line-height: 36px; }
  .hero p { font-size: 16px; }

  .nav-toggle { display: block; }
  .nav-menu {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 24px;
    display: none;
    gap: 14px;
  }
  .nav-menu.nav-menu-open { display: flex; }
  .nav-auth { flex-direction: column; align-items: flex-start; width: 100%; }

  .entity-header-top { flex-direction: column; }
  .entity-stats { gap: 20px; }
  .highlights-grid { grid-template-columns: 1fr; }
  .trust-hero { padding: 40px 16px 28px; }
  .trust-hero-icon { width: 60px; height: 60px; font-size: 28px; }
  .trust-hero-headline { font-size: 20px; flex-wrap: wrap; }

  .admin-report-row { flex-direction: column; }
  .admin-report-actions { width: 100%; }

  .review-list { grid-template-columns: 1fr; }
  .review-list dt { margin-top: 8px; }
}

@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .hero { padding: 40px 0 32px; }
  .btn { width: 100%; }
  .hero-actions .btn { width: auto; }
  .search-input-row { flex-direction: column; }
  .search-input-row button { margin-top: 6px; }
}
