/* Responsive styles for domain.com */

/* Base styles are mobile-first */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  h1 {
    font-size: 3rem;
  }
  
  h2 {
    font-size: 2.25rem;
  }
  
  .container {
    padding: 0 2rem;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  h1 {
    font-size: 3.5rem;
  }
  
  .benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  h1 {
    font-size: 4rem;
  }
  
  section {
    padding: 6rem 0;
  }
  
  .benefits-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

/* Mobile styles (max-width breakpoints) */
@media (max-width: 991px) {
  .services-container {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .timeline::before {
    left: 40px;
  }
  
  .timeline-item::before {
    left: 40px;
    transform: translateX(0);
  }
  
  .timeline-content {
    width: 80%;
    margin-left: 70px !important;
  }
}

@media (max-width: 767px) {
  .main-nav {
    display: none;
  }
  
  .mobile-menu-toggle {
    display: flex;
  }
  
  .site-footer .container {
    grid-template-columns: 1fr;
  }
  
  .about-content {
    grid-template-columns: 1fr;
  }
  
  .services-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .hero h1 {
    font-size: 2.5rem;
  }
  
  .section-title {
    font-size: 1.8rem;
  }
  
  .footer-links {
    grid-template-columns: 1fr;
  }
  
  .footer-links > div {
    margin-bottom: 1.5rem;
  }
  
  .form-container {
    padding: 1.5rem;
  }
  
  /* Fix for mobile overflow issues */
  img {
    max-width: 100%;
    height: auto;
  }
  
  .container {
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
    box-sizing: border-box;
  }
  
  table, iframe, video, pre {
    max-width: 100%;
  }
  
  .service-card {
    padding: 1rem;
  }
  
  .timeline-content {
    width: 90%;
    margin-left: 50px !important;
  }
  
  .cookie-consent {
    max-width: 100%;
  }
}
