/* ================================================================
   ZipPDF Website — Responsive Stylesheet
   Mobile-first breakpoints
   ================================================================ */

/* ----------------------------------------------------------------
   Large Desktop (1400px+)
   ---------------------------------------------------------------- */
@media (min-width: 1400px) {
  :root { --container: 1320px; }
}

/* ----------------------------------------------------------------
   Desktop adjustments (≤ 1199px)
   ---------------------------------------------------------------- */
@media (max-width: 1199px) {
  .hero-inner { gap: 2.5rem; }
  .footer-inner { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-inner .footer-col:last-child { grid-column: 2; }
}

/* ----------------------------------------------------------------
   Tablet (≤ 1023px)
   ---------------------------------------------------------------- */
@media (max-width: 1023px) {

  /* Navbar */
  .nav-links  { display: none; }
  .btn-nav    { display: none; }
  .hamburger  { display: flex; }

  /* Hero */
  .hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 3.5rem;
    padding: 4rem 0;
  }
  .hero-content   { max-width: 100%; }
  .hero-subtitle  { max-width: 100%; }
  .hero-actions   { justify-content: center; }
  .hero-stats     { justify-content: center; }
  .hero-visual    { order: -1; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }

  /* Features */
  .features-grid { grid-template-columns: repeat(2, 1fr); }

  /* Benefits */
  .benefits-content { grid-template-columns: 1fr; gap: 3rem; }

  /* How it works */
  .hiw-steps {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .hiw-arrow {
    transform: rotate(90deg);
    padding-top: 0;
    justify-content: center;
  }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; gap: 1.25rem; }

  /* About */
  .about-intro-grid    { grid-template-columns: 1fr; }
  .values-grid         { grid-template-columns: repeat(2, 1fr); }
  .about-mission-inner { grid-template-columns: 1fr; gap: 2rem; }
  .team-grid           { grid-template-columns: repeat(2, 1fr); }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }

  /* Footer */
  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
  .footer-brand {
    grid-column: 1 / -1;
  }

  /* Download */
  .requirements-grid { grid-template-columns: repeat(2, 1fr); }

  /* Download hero title */
  .download-hero-title { font-size: 2.75rem; }
  .page-hero-title     { font-size: 2.75rem; }
}

/* ----------------------------------------------------------------
   Mobile (≤ 767px)
   ---------------------------------------------------------------- */
@media (max-width: 767px) {

  /* Base */
  section { padding: 5rem 0; }
  .section-title    { font-size: 2rem; }
  .section-subtitle { font-size: 1rem; }

  /* Navbar */
  :root { --nav-h: 64px; }

  /* Hero */
  .hero-title     { font-size: 2rem; }
  .hero-subtitle  { font-size: 1rem; }
  .hero-actions   { flex-direction: column; align-items: center; }
  .hero-stats     { justify-content: space-between; }
  .hero-badge-dot { display: none; }

  /* Phone mockup */
  .phone-mockup   { width: 190px; height: 390px; }
  .floating-card  { display: none; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  .stat-value { font-size: 1.875rem; }

  /* Features */
  .features-grid { grid-template-columns: 1fr; }

  /* Benefits */
  .benefits-text h2 { font-size: 2rem; }
  .benefits-cards   { grid-template-columns: 1fr 1fr; }

  /* Screenshots — horizontal scroll on mobile */
  .screenshots-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    scrollbar-width: none;
    padding-bottom: 1.5rem;
  }
  .screenshots-wrapper::-webkit-scrollbar { display: none; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }

  /* Download CTA */
  .download-cta-title    { font-size: 2.25rem; }
  .download-cta-subtitle { font-size: 1rem; }

  /* Footer */
  .footer-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-brand   { grid-column: auto; }
  .footer-desc    { max-width: 100%; }
  .footer-bottom  { flex-direction: column; text-align: center; }

  /* About */
  .values-grid  { grid-template-columns: 1fr; }
  .team-grid    { grid-template-columns: 1fr; }

  /* FAQ */
  .faq-categories     { gap: .5rem; }
  .faq-card-question  { font-size: .95rem; padding: 1.25rem; }

  /* Contact */
  .form-row          { grid-template-columns: 1fr; }
  .contact-form-wrapper { padding: 1.75rem 1.5rem; }
  .contact-info h2   { font-size: 2rem; }

  /* Download */
  .download-hero-title    { font-size: 2.25rem; }
  .download-hero-subtitle { font-size: 1rem; }
  .requirements-grid      { grid-template-columns: 1fr 1fr; gap: 1rem; }

  /* Page Hero */
  .page-hero-title    { font-size: 2.25rem; }
  .page-hero-subtitle { font-size: 1rem; }

  /* Legal */
  .legal-section h2 { font-size: 1.25rem; }

  /* Back to top */
  .back-to-top { bottom: 1.25rem; right: 1.25rem; width: 44px; height: 44px; }

  /* How it works */
  .hiw-step { padding: 2rem 1.25rem; }
}

/* ----------------------------------------------------------------
   Small Mobile (≤ 479px)
   ---------------------------------------------------------------- */
@media (max-width: 479px) {
  .container { padding: 0 1rem; }

  .hero-title        { font-size: 1.875rem; }
  .hero-stat-value   { font-size: 1.25rem; }

  .download-cta-title     { font-size: 1.875rem; }
  .page-hero-title        { font-size: 1.875rem; }
  .download-hero-title    { font-size: 1.875rem; }
  .about-text h2          { font-size: 1.875rem; }
  .benefits-text h2       { font-size: 1.875rem; }

  .btn { padding: .75rem 1.5rem; font-size: .9rem; }

  .requirements-grid { grid-template-columns: 1fr; }
  .benefits-cards    { grid-template-columns: 1fr; }
  .stats-grid        { grid-template-columns: 1fr 1fr; }

  .section-title  { font-size: 1.75rem; }
  .section-header { margin-bottom: 2.5rem; }
}

/* ----------------------------------------------------------------
   Print Styles
   ---------------------------------------------------------------- */
@media print {
  .navbar, .mobile-menu, .back-to-top,
  .scroll-progress, .loader, .hero-bg { display: none !important; }

  .hero { padding-top: 2rem; min-height: auto; }
  body  { background: #fff; color: #000; }
}
