/* Media Queries and Mobile Optimization */

/* Tablets and smaller desktops */
@media (max-width: 1024px) {
  .container {
    padding: 0 var(--space-md);
  }

  .header-container,
  .footer-container {
    padding: 0 var(--space-md);
  }

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

  .grid-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-container {
    gap: var(--space-xl);
  }

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

  .section {
    padding: var(--space-2xl) 0;
  }
}

/* Mobile devices */
@media (max-width: 768px) {
  html {
    font-size: 14px;
  }

  h1 {
    font-size: var(--fs-4xl);
  }

  h2 {
    font-size: var(--fs-3xl);
  }

  h3 {
    font-size: var(--fs-2xl);
  }

  /* Header Mobile */
  .header-container {
    padding: var(--space-md) var(--space-md);
  }

  .menu-toggle {
    display: flex;
  }

  .header-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: white;
    border-bottom: 1px solid var(--color-border);
    flex-direction: column;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .header-nav.active {
    max-height: 400px;
  }

  .nav-list {
    flex-direction: column;
    gap: 0;
    padding: var(--space-lg);
  }

  .nav-link {
    padding: var(--space-md) 0;
    border-bottom: 1px solid var(--color-border);
  }

  .nav-link-primary {
    margin-top: var(--space-md);
  }

  /* Mobile Dropdown */
  .nav-submenu {
    position: static;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transform: none;
    transition: all 0.3s ease;
    background: #fafafa;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0;
  }

  .nav-item-dropdown:hover .nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: none;
    max-height: 300px;
    padding: 8px 0;
  }

  .nav-sublink {
    padding-left: 32px;
    font-size: 0.9rem;
  }

  .nav-sublink:hover {
    padding-left: 36px;
  }

  /* Hero Mobile */
  .hero {
    padding: var(--space-2xl) 0;
  }

  .hero-container {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

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

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

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

  .btn {
    width: 100%;
  }

  /* Grid Mobile */
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }

  .grid-cols-3 {
    grid-template-columns: 1fr;
  }

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

  /* Spacing Mobile */
  .py-2xl {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }

  .py-3xl {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }

  /* Section Mobile */
  .section {
    padding: var(--space-xl) 0;
  }

  .section-alt {
    padding: var(--space-xl) 0;
  }

  /* Footer Mobile */
  .footer-top {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .footer-bottom {
    text-align: center;
  }

  /* Cards Mobile */
  .card {
    padding: var(--space-md);
  }

  /* Forms Mobile */
  .form-group {
    margin-bottom: var(--space-md);
  }

  /* Text alignment mobile */
  @media (max-width: 640px) {
    .text-center-mobile {
      text-align: center;
    }

    .flex-col-mobile {
      flex-direction: column;
    }
  }
}

/* Very small devices */
@media (max-width: 480px) {
  html {
    font-size: 13px;
  }

  .container {
    padding: 0 var(--space-SM);
  }

  .btn {
    padding: var(--space-xs) var(--space-md);
    font-size: var(--fs-sm);
  }

  h1 {
    font-size: var(--fs-3xl);
  }

  h2 {
    font-size: var(--fs-2xl);
  }

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

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

  /* Copy less space on very small devices */
  .gap-lg {
    gap: var(--space-md);
  }

  .p-lg {
    padding: var(--space-md);
  }

  .py-lg {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
}

/* Print Styles */
@media print {
  .no-print {
    display: none;
  }

  .header,
  .footer {
    display: none;
  }

  body {
    background: white;
    color: black;
  }

  a {
    text-decoration: underline;
  }
}
/* Hero and Service Card Mobile Optimization */
@media (max-width: 768px) {
  .hero-container {
    grid-template-columns: 1fr;
  }

  .hero-title {
    font-size: 2.5rem;
  }

  .hero-subtitle {
    font-size: 1rem;
  }

  .hero-image {
    height: 350px;
    order: -1;
  }

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

  .service-card-image {
    height: 180px;
  }

  .service-card-icon {
    width: 60px;
    height: 60px;
    margin: -30px auto 12px;
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 2rem;
  }

  .hero-subtitle {
    font-size: 0.9rem;
  }

  .hero-image {
    height: 280px;
  }

  .service-card {
    margin-bottom: 8px;
  }

  .service-card-image {
    height: 150px;
  }

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

  .grid-cols-3 {
    grid-template-columns: 1fr;
  }

  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
}