/* ============================================
   Responsive Breakpoints
   ============================================ */

/* Container padding handled in base.css @media blocks */

@media (max-width: 900px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .card-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .section { padding: 3.5rem 0; }
  .event-card { grid-template-columns: 70px 1fr; gap: 1rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .sec-hdr { flex-direction: column; align-items: flex-start; gap: .5rem; }
  .newsletter-inline { flex-direction: column; align-items: stretch; gap: 1rem; }
  .newsletter-form { max-width: none; }
}

/* 768px breakpoint removed: card-grid-3 already handled at 900px */

@media (max-width: 640px) {
  .grid-4, .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-2 { grid-template-columns: 1fr; }
  .card-grid-3, .card-grid-2 { grid-template-columns: 1fr; }
  .section { padding: 3rem 0; }
  .newsletter-form { flex-direction: column; }
  .event-card { grid-template-columns: 1fr; }
  .event-date { flex-direction: row; gap: .5rem; padding: .65rem .85rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .filter-pills { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .5rem; }
  blockquote { padding: 1rem 1.25rem; font-size: 1rem; }
  .doc-card { flex-direction: column; }
}

/* ── Touch targets: ensure 48px minimum on mobile ── */
@media (max-width: 1200px) {
  .search-toggle, .lang-btn, .btn-nav {
    min-height: 48px;
    min-width: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .nav-links a, .nav-links button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
  }
  .filter-pill {
    min-height: 44px;
    padding: .5rem 1rem;
  }
  .quote-dot {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-clip: content-box;
    padding: 18px;
  }
  .share-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .tag {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 380px) {
  .section-header h2 { font-size: 1.4rem; }
  .container, .container-narrow { padding: 0 var(--space-md); }
  .grid-4, .grid-3, .grid-2 { gap: var(--space-md); }
  .card { padding: 1.25rem; }
  .pub-card-body { padding: 1.15rem; }
  .pub-card-title { font-size: 0.95rem; }
  .event-card { padding: 1.15rem; gap: 0.75rem; }
  .event-date .event-day { font-size: 1.3rem; }
  .section { padding: 2.5rem 0; }
  .filter-pills { padding: 0 var(--space-md); gap: 0.25rem; }
  .filter-pill { padding: .3rem .7rem; font-size: .7rem; }
  .btn { padding: .6rem 1.2rem; font-size: .82rem; }
  .btn-lg { padding: .7rem 1.5rem; font-size: .88rem; }
  blockquote { padding: .75rem var(--space-md); font-size: .92rem; }
  .team-card { padding: 1.15rem; }
  .team-avatar { width: 60px; height: 60px; font-size: 1.2rem; }
  .newsletter-form input[type="email"] { padding: .55rem .75rem; font-size: .85rem; }
  .newsletter-form button { padding: .55rem var(--space-md); font-size: .78rem; }
}
