/* Responsive Styles */

/* Large Devices */
@media (max-width: 1200px) {
  .services {
    margin: 50px 20px;
  }

  .service-card {
    width: 48%;
    margin-bottom: 20px;
  }

  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pricing-item:nth-child(2n) {
    border-right: none;
  }

  .pricing-item:nth-child(3n) {
    border-right: 1px solid #000000;
  }

  /* Swiper Carousel Responsive */
  .mySwiper {
    height: 80vh;
  }

  .text-stroke {
    font-size: 34px;
  }

  .carousel-caption .btn {
    margin-top: 40px;
  }
 
}

/* Tablet Devices */
@media (max-width: 992px) {
  .section-container {
    flex-direction: column;
  }

  .section-column {
    margin-bottom: 30px;
  }

  .about-content,
  .contact-content {
    flex-direction: column;
  }

  .about-image,
  .about-text,
  .contact-info,
  .contact-form {
    width: 100%;
  }

  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero h1 {
    font-size: 42px;
  }

  .steps-container {
    gap: 20px;
  }

  .step {
    max-width: 180px;
  }

  .circle {
    width: 100px;
    height: 100px;
    line-height: 100px;
    font-size: 24px;
  }

  .carousel {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }

  .carousel-item img {
    height: 200px;
  }

  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }

  .photo-box {
    height: 350px;
  }

  /* Swiper Carousel Responsive */
  .mySwiper {
    height: 70vh;
  }

  .text-stroke {
    font-size: 30px;
    margin-bottom: 20px;
  }

  .carousel-caption {
    bottom: 15%;
  }

  .carousel-caption .btn {
    padding: 8px 18px;
    font-size: 16px;
    margin-top: 30px;
  }
  main .hero__image {
    aspect-ratio: 16 / 7;
    overflow: hidden;
    width: 100%;
    position: relative;
  }
}

/* Mobile Devices */
@media (max-width: 768px) {
  header {
    flex-direction: column;
    height: auto;
    padding: 10px;
  }

  header .logo {
    margin-bottom: 15px;
  }

  header nav ul {
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .hero {
    padding: 60px 20px;
  }

  .hero h1 {
    font-size: 36px;
  }

  .hero p {
    font-size: 18px;
  }

  .hero .info {
    flex-direction: column;
    gap: 20px;
  }

  .service-card {
    width: 100%;
  }

  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .portfolio-filter {
    flex-wrap: wrap;
  }

  .filter-btn {
    margin-bottom: 10px;
  }

  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .pricing-item {
    border-right: none;
    border-bottom: 1px solid #000000;
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .pricing-item:last-child {
    border-bottom: none;
  }

  .grid-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .photo-box {
    height: 300px;
  }

  .carousel {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .carousel-item img {
    height: 150px;
  }

  .newsletter form {
    flex-direction: column;
  }

  .newsletter button {
    width: 100%;
    padding: 12px;
    margin-top: 10px;
  }

  .contact-container {
    flex-direction: column;
  }

  .contact-info {
    order: -1;
    margin-bottom: 30px;
  }

  .icons {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Swiper Carousel Responsive */
  .mySwiper {
    height: 60vh;
  }

  .text-stroke {
    font-size: 26px;
    margin-bottom: 15px;
    -webkit-text-stroke: 0.5px black;
  }

  .carousel-caption {
    bottom: 15%;
    width: 90%;
  }

  .carousel-caption .btn {
    padding: 8px 16px;
    font-size: 14px;
    margin-top: 20px;
  }

  .mySwiper .card img {
    object-fit: cover;
    height: 100%;
  }

  /* Navigation arrows adjustments */
  .arrow-left,
  .arrow-right {
    font-size: 30px;
    padding: 5px;
  }
}

/* Small Mobile Devices */
@media (max-width: 480px) {
  .hero h1 {
    font-size: 28px;
  }

  .hero p {
    font-size: 16px;
  }

  .section-column {
    min-width: 100%;
  }

  .hero-content {
    padding: 15px;
  }

  .herodua h1 {
    font-size: 2rem;
  }

  .overlay {
    padding: 20px;
  }

  .cta-button {
    padding: 12px 20px;
  }

  .top-classes .classes {
    flex-direction: column;
    align-items: center;
  }

  .top-classes .class-item {
    width: 80%;
    max-width: 250px;
    margin-bottom: 20px;
  }

  .photo-box {
    height: 250px;
  }

  .carousel {
    grid-template-columns: 1fr;
  }

  .carousel-item img {
    height: 200px;
  }

  .info-btn {
    width: 100%;
  }

  /* Swiper Carousel Responsive */
  .mySwiper {
    height: 50vh;
  }

  .text-stroke {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .carousel-caption {
    bottom: 10%;
  }

  .carousel-caption .btn {
    padding: 6px 14px;
    font-size: 12px;
    margin-top: 15px;
  }
}

/* Fix for footer on mobile */
@media (max-height: 700px) {
  footer {
    position: static;
  }
}

/* Landscape orientation for mobile devices */
@media (max-width: 768px) and (orientation: landscape) {
  .mySwiper {
    height: 100vh;
  }

  .carousel-caption {
    bottom: 5%;
  }
}
