/*-----------------------------------*\
  #RESPONSIVE.CSS
\*-----------------------------------*/

/* Mobile First Approach */

/* Extra Small Devices (phones, 480px and down) */
@media (max-width: 480px) {
  :root {
    --font-size-4xl: 2rem;
    --font-size-3xl: 1.75rem;
    --font-size-2xl: 1.5rem;
    --spacing-2xl: 2.5rem;
    --spacing-xl: 1.5rem;
  }
  
  .container {
    padding: 0 var(--spacing-sm);
  }
  
  .section {
    padding: var(--spacing-xl) 0;
  }
  
  .hero {
    min-height: 60vh;
    padding: var(--spacing-xl) 0;
  }
  
  .card {
    padding: var(--spacing-md);
  }
}

/* Small Devices (tablets, 768px and down) */
@media (max-width: 768px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
  
  .hero-actions {
    flex-direction: column;
  }
  
  .btn {
    width: 100%;
  }
  
  .timeline {
    padding-left: var(--spacing-lg);
  }
  
  .timeline-item {
    padding-left: var(--spacing-md);
  }
}

/* Medium Devices (tablets, 1024px and down) */
@media (max-width: 1024px) {
  .grid-3,
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Large Devices (desktops, 1280px and up) */
@media (min-width: 1280px) {
  .container {
    padding: 0 var(--spacing-xl);
  }
  
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Print Styles */
@media print {
  .header,
  .footer,
  .btn,
  .menu-toggle {
    display: none;
  }
  
  body {
    background: white;
    color: black;
  }
  
  .section {
    page-break-inside: avoid;
  }
}
