/**
 * Responsive Styles - Mobile First
 */

/* ==========================================================================
   Mobile (default)
   ========================================================================== */

/* Navigation mobile */
/* phones: the same page rhythm, one step tighter */
@media (max-width: 767px) {
  :root {
    --site-hero-top: calc(var(--nav-h) + 24px);
    --site-section-y: 40px;
    --site-header-gap: 24px;
    --site-block-gap: 16px;
  }
}

@media (max-width: 768px) {
  .nav-links,
  .nav-actions .btn {
    display: none;
  }

  .nav-toggle {
    display: flex;
  }

  .nav-links.active {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: var(--nav-h);
    left: 0;
    right: 0;
    background: var(--card-bg);
    padding: var(--spacing-md);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
  }

  .nav-links.active a {
    padding: var(--spacing-md);
  }

  /* Hero mobile */
  .hero {
    padding: var(--site-hero-top) 0 var(--site-section-y);
  }

  .hero-title {
    font-size: var(--font-size-3xl);
  }

  .hero-subtitle {
    font-size: var(--font-size-base);
  }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .btn {
    width: 100%;
  }

  /* Sections mobile */
  .section {
    padding: var(--site-section-y) 0;
  }

  .section-title {
    font-size: var(--font-size-2xl);
  }

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

  /* Pain points: single column on mobile */
  .painpoints .features-grid {
    grid-template-columns: 1fr;
  }

  /* Pricing mobile */
  .pricing-grid,
  .pricing-grid-4 {
    grid-template-columns: 1fr;
  }

  /* Download mobile */
  .download-grid {
    flex-direction: column;
    align-items: center;
  }

  .download-btn {
    width: 100%;
    max-width: 300px;
  }

  .download-btn.is-yours {
    min-width: 0;
    max-width: 360px;
  }

  /* Footer mobile */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--site-header-gap);
  }

  .footer-bottom {
    flex-direction: column;
    gap: var(--spacing-md);
    text-align: center;
  }

  /* Page hero mobile */
  .page-hero {
    padding: var(--site-hero-top) 0 var(--site-hero-bottom);
  }

  .page-hero-title {
    font-size: var(--font-size-2xl);
  }

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

  .stat-number {
    font-size: var(--font-size-2xl);
  }

  /* Quick links mobile */
  .quick-links {
    grid-template-columns: 1fr;
  }

  /* About hero mobile */
  .about-logo {
    width: 60px;
    height: 60px;
  }

  .about-product-name {
    font-size: var(--font-size-2xl);
  }
}

/* ==========================================================================
   Tablet (min-width: 640px)
   ========================================================================== */

@media (min-width: 640px) {
  .container {
    padding: 0 var(--spacing-lg);
  }

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

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

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

  .download-grid {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* ==========================================================================
   Desktop (min-width: 768px)
   ========================================================================== */

@media (min-width: 768px) {
  .nav-toggle {
    display: none;
  }

  .nav-links {
    display: flex;
  }

  .nav-actions .btn {
    display: inline-flex;
  }

  .hero-actions {
    flex-direction: row;
  }

  .hero-actions .btn {
    width: auto;
  }

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

/* ==========================================================================
   Large Desktop (min-width: 1024px)
   ========================================================================== */

@media (min-width: 1024px) {
  .hero-title {
    font-size: var(--font-size-5xl);
  }

  .features-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .pricing-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .pricing-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ==========================================================================
   Extra Large Desktop (min-width: 1280px)
   ========================================================================== */

@media (min-width: 1280px) {
  .container {
    padding: 0 var(--spacing-xl);
  }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
  .nav,
  .scroll-top,
  .download-grid {
    display: none;
  }

  .hero {
    padding-top: var(--spacing-xl);
  }

  .section {
    padding: var(--spacing-lg) 0;
    page-break-inside: avoid;
  }
}

/* ==========================================================================
   Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
