/* ============================================
   Responsive Styles - Mobile First Approach
   ============================================ */

/* === TABLET (768px+) === */
@media (max-width: 1023px) {
  .features-grid {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  }
  
  .testimonials-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

/* === MOBILE (< 768px) === */
@media (max-width: 767px) {
  /* Typography */
  h1 {
    font-size: 32px;
  }
  
  h2 {
    font-size: 28px;
  }
  
  h3 {
    font-size: 22px;
  }
  
  h4 {
    font-size: 20px;
  }
  
  .hero h1 {
    font-size: 36px;
  }
  
  .section-title {
    font-size: 32px;
  }
  
  /* Spacing */
  section {
    padding: var(--spacing-xl) 0;
  }
  
  .section-header {
    margin-bottom: var(--spacing-xl);
  }
  
  /* Navigation */
  .nav-menu {
    position: fixed;
    top: 60px;
    left: -100%;
    flex-direction: column;
    background: var(--white);
    width: 100%;
    padding: var(--spacing-md);
    box-shadow: var(--shadow-lg);
    transition: left var(--transition-normal);
    gap: var(--spacing-sm);
  }
  
  .nav-menu.active {
    left: 0;
  }
  
  .mobile-menu-toggle {
    display: block;
  }
  
  /* Hero */
  .hero {
    min-height: 100vh;
    padding: var(--spacing-xl) var(--spacing-sm);
  }
  
  .hero-content {
    padding: var(--spacing-md);
  }
  
  .hero-subtitle {
    font-size: 18px;
  }
  
  .hero-cta {
    flex-direction: column;
    gap: var(--spacing-sm);
  }
  
  .btn {
    width: 100%;
    padding: 14px 24px;
  }
  
  /* Badges */
  .badges-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-sm);
  }
  
  /* Features */
  .features-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  .feature-image-container {
    height: 250px;
  }
  
  .feature-content {
    padding: var(--spacing-md);
  }
  
  .feature-title {
    font-size: 24px;
  }
  
  /* Products */
  .product-gallery {
    grid-template-columns: 1fr;
    gap: var(--spacing-sm);
  }
  
  .product-gallery img {
    height: 250px;
  }
  
  /* Testimonials */
  .testimonials-grid {
    grid-template-columns: 1fr;
  }
  
  .testimonial {
    padding: var(--spacing-md);
  }
  
  /* Statistics */
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md);
  }
  
  .stat-number {
    font-size: 36px;
  }
  
  .stat-label {
    font-size: 14px;
  }
  
  /* Footer */
  .footer-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  /* Forms */
  .form-container {
    padding: var(--spacing-md);
  }
  
  .form-group input,
  .form-group textarea {
    font-size: 16px; /* Prevents zoom on iOS */
  }
}

/* === SMALL MOBILE (< 480px) === */
@media (max-width: 479px) {
  .container {
    padding: 0 var(--spacing-sm);
  }
  
  .hero h1 {
    font-size: 28px;
  }
  
  .badges-grid {
    grid-template-columns: 1fr;
  }
  
  .stats-grid {
    grid-template-columns: 1fr;
  }
  
  .stat-item {
    padding: var(--spacing-md) var(--spacing-sm);
  }
}

/* === LARGE DESKTOP (1440px+) === */
@media (min-width: 1440px) {
  .container {
    max-width: 1200px;
  }
  
  .hero h1 {
    font-size: 64px;
  }
  
  .section-title {
    font-size: 48px;
  }
}

/* === TOUCH DEVICE OPTIMIZATIONS === */
@media (hover: none) and (pointer: coarse) {
  /* Touch-friendly buttons */
  .btn {
    min-height: 44px;
    min-width: 44px;
  }
  
  .nav-menu a {
    padding: var(--spacing-sm) 0;
  }
  
  /* Remove hover effects on touch devices */
  .feature-item:hover,
  .testimonial:hover,
  .badge-item:hover {
    transform: none;
  }
}

/* === PRINT STYLES === */
@media print {
  .header,
  .footer,
  .hero,
  .cta-section,
  .form-section {
    display: none;
  }
  
  * {
    background: white !important;
    color: black !important;
  }
}
