/**
 * Travel Agency & Taxi Service - Responsive CSS Rules
 */

@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .packages-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vehicles-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }

  .why-us-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .why-us-image img {
    height: 320px;
  }

  .calc-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 868px) {
  .nav-links, .nav-actions .btn-book-nav {
    display: none;
  }

  .hamburger-btn {
    display: block;
  }

  .top-bar-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .top-bar-right {
    width: 100%;
    justify-content: space-between;
    border-top: 1px dashed rgba(255,255,255,0.15);
    padding-top: 0.35rem;
  }

  .routes-grid {
    grid-template-columns: 1fr;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }

  .cta-inner {
    flex-direction: column;
    text-align: center;
  }

  .cta-actions {
    justify-content: center;
    width: 100%;
  }

  .cta-actions .btn {
    flex: 1;
    min-width: 140px;
  }
}

@media (max-width: 640px) {
  html {
    font-size: 15px;
  }

  .section-padding {
    padding: 2.75rem 0;
  }

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

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

  .features-grid {
    grid-template-columns: 1fr;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .packages-grid {
    grid-template-columns: 1fr;
  }

  .vehicles-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .why-us-points {
    grid-template-columns: 1fr;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .calc-metric-row {
    grid-template-columns: 1fr;
  }

  .route-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .route-pricing {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--border-color);
    padding-top: 0.75rem;
  }

  .route-price-val {
    margin-bottom: 0;
  }

  .footer-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }

  .footer-legal-links {
    justify-content: center;
  }
}
