/* ==========================================================================
   EZAARO THEME RESPONSIVE STYLESHEET
   Carefully calibrated breakpoints: 1024px, 768px, 480px, 360px
   ========================================================================== */

@media (max-width: 1024px) {
  .ez-hero-title {
    font-size: 2.75rem;
  }

  .ez-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ez-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ez-benefits-grid,
  .ez-process-grid,
  .ez-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .ez-footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .ez-nav-desktop {
    display: none;
  }

  .ez-mobile-toggle {
    display: flex;
  }
}

@media (max-width: 768px) {
  .ez-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .ez-topbar-msg {
    display: none;
  }

  .ez-topbar-inner {
    justify-content: center;
  }

  .ez-hero {
    padding: 48px 0 64px;
  }

  .ez-hero-title {
    font-size: 2.125rem;
  }

  .ez-hero-subtitle {
    font-size: 1.0625rem;
    margin-bottom: 24px;
  }

  .ez-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .ez-hero-ctas .ez-btn {
    width: 100%;
  }

  .ez-hero-trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .ez-services-grid,
  .ez-benefits-grid,
  .ez-process-grid,
  .ez-grid-4,
  .ez-grid-3,
  .ez-grid-2,
  .ez-contact-grid,
  .ez-doc-tabs {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ez-section-title {
    font-size: 1.75rem;
  }

  .ez-section-desc {
    font-size: 1rem;
  }

  .ez-page-hero-title {
    font-size: 2rem;
  }

  .ez-cta-card {
    padding: 40px 24px;
  }

  .ez-cta-title {
    font-size: 1.875rem;
  }

  .ez-cta-desc {
    font-size: 1rem;
  }

  .ez-cta-btns {
    flex-direction: column;
  }

  .ez-cta-btns .ez-btn {
    width: 100%;
  }

  .ez-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ez-footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .ez-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ez-hero-title {
    font-size: 1.875rem;
  }

  .ez-service-card {
    padding: 24px 20px;
  }

  .ez-form-card {
    padding: 24px 16px;
  }

  .ez-topbar-contact {
    flex-direction: column;
    gap: 6px;
    font-size: 0.75rem;
  }

  .ez-btn {
    padding: 10px 16px;
    font-size: 0.875rem;
  }
}

@media (max-width: 360px) {
  .ez-hero-title {
    font-size: 1.625rem;
  }

  .ez-brand-logo img,
  .ez-brand-logo svg {
    height: 36px;
  }

  .ez-btn-sm {
    padding: 4px 10px;
    font-size: 0.75rem;
  }
}
