/* Enhanced Responsive Design for Daya Ram Website */

/* Mobile First Approach - Base styles for mobile */
@media (max-width: 576px) {
  .hero h2 {
    font-size: 1.8rem;
    line-height: 1.3;
  }
  
  .hero p {
    font-size: 0.95rem;
  }
  
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  
  .section-title h2 {
    font-size: 1.8rem;
  }
  
  .stats-item {
    margin-bottom: 2rem;
  }
  
  .service-item {
    margin-bottom: 2rem;
  }
  
  .portfolio-item {
    margin-bottom: 2rem;
  }
  
  .member {
    margin-bottom: 2rem;
  }
  
  .info-item {
    margin-bottom: 1.5rem;
  }
  
  .footer-about, .footer-links, .footer-contact {
    text-align: center;
    margin-bottom: 2rem;
  }
}

/* Tablet styles */
@media (min-width: 577px) and (max-width: 768px) {
  .hero h2 {
    font-size: 2.2rem;
  }
  
  .stats-item {
    margin-bottom: 1.5rem;
  }
  
  .service-item {
    margin-bottom: 1.5rem;
  }
}

/* Desktop styles */
@media (min-width: 769px) {
  .hero h2 {
    font-size: 2.5rem;
  }
  
  .container {
    max-width: 1200px;
  }
}

/* Large desktop styles */
@media (min-width: 1200px) {
  .hero h2 {
    font-size: 3rem;
  }
  
  .container {
    max-width: 1400px;
  }
}

/* Touch-friendly improvements */
@media (hover: none) and (pointer: coarse) {
  .cta-btn {
    padding: 15px 30px;
    font-size: 1.1rem;
  }
  
  .navmenu ul li a {
    padding: 15px 20px;
  }
  
  .social-links a {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
  }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .hero-img img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  :root {
    --background-color: #1a1a1a;
    --default-color: #e0e0e0;
    --heading-color: #ffffff;
    --surface-color: #2d2d2d;
  }
}

/* Print styles */
@media print {
  .header, .footer, .scroll-top, .mobile-nav-toggle {
    display: none !important;
  }
  
  .hero, .about, .services, .contact {
    page-break-inside: avoid;
  }
  
  body {
    font-size: 12pt;
    line-height: 1.4;
  }
}
