/* WP Fix Doctor — Responsive */

@media (max-width: 1100px) {
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-grid > .service-card,
  .service-grid > .service-card:nth-child(4),
  .service-grid > .service-card:nth-child(5) {
    grid-column: auto / span 1;
  }
  .service-grid--four { grid-template-columns: repeat(2, 1fr); }
  .process-steps { grid-template-columns: repeat(2, 1fr) !important; }
  .process-steps::before { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .article-layout { grid-template-columns: 1fr; }
  .toc { position: static; }
}

@media (max-width: 900px) {
  .hero__grid,
  .quick-grid,
  .benefit-list,
  .quote-grid,
  .article-grid,
  .featured-article,
  .related-grid {
    grid-template-columns: 1fr;
  }
  .path-strip {
    margin-top: -1.5rem;
    padding: 0 0 0.5rem;
  }
  .benefit-list > div:first-child {
    position: static;
  }
  .hero {
    padding: 4rem 0 4.5rem;
  }

  .nav-toggle { display: inline-flex; }

  .nav {
    position: fixed;
    inset: var(--header-h) 0 auto 0;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    padding: 1rem;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    max-height: calc(100vh - var(--header-h));
    overflow: auto;
    box-shadow: var(--shadow-lg);
  }
  .nav.is-open { display: flex; }

  .nav__list {
    flex-direction: column;
    align-items: stretch;
  }
  .nav__submenu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    display: none;
    padding: 0.25rem 0 0.25rem 0.75rem;
    min-width: 0;
  }
  .nav__item--has-sub.is-open > .nav__submenu { display: block; }

  .header-ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .header-ctas .btn { width: 100%; }

  .hero { padding: 3.5rem 0 3rem; }
  .hero h1 { max-width: none; }
  .section { padding: 3.5rem 0; }
}

@media (max-width: 640px) {
  .service-grid,
  .process-steps,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .service-grid > .service-card,
  .service-grid > .service-card:nth-child(4),
  .service-grid > .service-card:nth-child(5) {
    grid-column: auto;
  }
  .process-steps::before { display: none; }
  .wrap { width: calc(100% - 1.5rem); }
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn { width: 100%; }
  .site-header__inner { min-height: 64px; }
  :root { --header-h: 64px; }
  .footer-bottom { flex-direction: column; }
}

@media (min-width: 901px) {
  .header-ctas .btn--secondary { display: inline-flex; }
}
