/* ==========================================================================
   TOOLPULSE GLOBAL RESPONSIVE ADJUSTMENTS & ACCESSIBILITY CONTROLS
   ========================================================================== */

/* 1. TABLET & SMALL LAPTOP VIEWS */
@media (max-width: 1024px) {
  .site-header .header-container {
    gap: 20px;
  }

  .nav-menu {
    gap: 16px;
  }

  .nav-menu a {
    font-size: 13px;
  }
}

/* 2. MOBILE CONTEXT LAYOUT BREAKPOINTS */
@media (max-width: 768px) {
  .site-header {
    height: auto;
  }

  .site-header .header-container {
    min-height: 68px;
    padding-block: 12px;
  }

  /* Responsive layout shifts to convert desktop grids into readable mobile views */
  .grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
  }

  .hero-section {
    padding-block: 60px;
  }

  .hero-container {
    max-width: 580px;
  }

  .search-container {
    width: 100%;
  }

  .section {
    padding-block: 48px;
  }

  .callout-box {
    padding: 36px 24px;
  }
}

/* 3. SMALL HANDSET AND MOBILE PHONE SCREENS */
@media (max-width: 480px) {
  .site-logo-link {
    font-size: 19px;
  }

  .site-logo {
    height: 28px;
  }

  .hero-section {
    padding-block: 48px;
  }

  .hero-subtitle {
    font-size: 0.95rem;
  }

  /* Stack form inputs vertically to optimize small screens */
  #global-search-form {
    flex-direction: column;
    gap: 10px;
  }

  #global-search-form input,
  #global-search-form .btn-search {
    width: 100%;
    min-height: 48px;
  }

  .grid {
    grid-template-columns: 1fr;
  }

  .section {
    padding-block: 40px;
  }

  .section-title {
    font-size: 24px;
  }

  .category-card, .tool-mini-card {
    padding: 20px;
  }
}

/* 4. PERFORMANCE ACCESSIBILITY REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
}
