/* navbar-section */

@media (max-width: 768px) {
  .navbar {
    flex-direction: column;
    padding: 15px;
  }

  .hero h1 {
    font-size: 1.6rem;
  }

  .hero h2 {
    font-size: 1.4rem;
  }
}

@media (max-width: 768px) {

  /* Make navbar vertical */
  .navbar {
    flex-direction: row;
    height: auto;
    padding: 20px 25px;
    gap: 20px;
    text-align: center;
  }

  /* Convert nav links into block layout */
  .nav-container {
    flex-direction: row;
    gap: 20px;
  }

  .nav-links {
    flex-direction: row;
    gap: 15px;
    padding: 0;
  }

  .nav-links li a {
    font-size: 18px;
  }

  .contact-btn {
    padding: 10px 25px;
  }
}

@media (max-width: 1024px) {


  .navbar {
    flex-direction: row;
    height: auto;
    padding: 20px 25px;
    gap: 20px;
    text-align: center;
  }

  /* Convert nav links into block layout */
  .nav-container {
    flex-direction: row;
    gap: 20px;
  }

  .nav-links {
    flex-direction: row;
    gap: 15px;
    padding: 0;
  }

  .nav-links li a {
    font-size: 18px;
  }

  .contact-btn {
    padding: 10px 25px;
  }
}


@media (max-width: 768px) {

    /* LOGO LEFT + MENU RIGHT EXACT LIKE IMAGE */
    .navbar {
        padding: 18px 20px;
    }

    .menu-icon {
        display: flex;
    }

    .nav-container {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: #000;
        padding: 35px 20px;
        transition: 0.4s ease;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .nav-container.active {
        right: 0;
    }

    .nav-links {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .close-btn1 {
        display: block;
        font-size: 30px;
        color: #fff;
        cursor: pointer;
        margin-bottom: 20px;
        align-self: flex-end;
    }
}

/* DESKTOP (≥ 768px) */
@media (min-width: 769px) {

    .menu-icon {
        display: none;
    }

    .close-btn {
        display: none;
    }

    .nav-container {
        position: static;
        height: auto;
        width: auto;
        background: none;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 20px;
    }

    .nav-links {
        display: flex;
        flex-direction: row;
        gap: 25px;
    }
}



/* hero-section */

/* Large Screens (1200px) */
@media (max-width: 1200px) {
  .hero h1 {
    font-size: 3.5rem;
  }
}

/* Tablet (992px) */
@media (max-width: 992px) {
  .hero h1 {
    font-size: 3rem;
  }

  .hero p {
    font-size: 1.2rem;
  }
}

/* Small Tablet (768px) */
@media (max-width: 768px) {
  .hero {
    padding: 20px 20px;
  }

  .hero h1 {
    font-size: 2.5rem;
  }

  .animate-btn {
    font-size: 0.95rem;
    padding: 12px 30px;
  }
}

/* Mobile (576px) */
@media (max-width: 576px) {

  .hero h1 {
    font-size: 2.1rem;
    line-height: 1.3;
  }

  .hero p {
    font-size: 1.1rem;
  }

  .animate-btn {
    display: block;
    width: 100%;
    max-width: 260px;
    margin: 10px auto;
  }
}

/* Small Mobile (400px) */
@media (max-width: 400px) {
  .hero h1 {
    font-size: 1.8rem;
  }

  .animate-btn {
    padding: 10px 25px;
    font-size: 0.9rem;
  }
}


/* logo-slider-section */

/* Large Screens 1440px */
@media (max-width: 1440px) {
  .logo-track img {
    width: 90px;
    margin: 20px 25px;
  }
}

/* Tablets 1024px */
@media (max-width: 1024px) {
  .logo-track img {
    width: 80px;
    margin: 18px 20px;
  }
}

/* Small Tablets 768px */
@media (max-width: 768px) {
  .logo-track img {
    width: 70px;
    margin: 15px 18px;
  }
}

/* Large Mobile 480px */
@media (max-width: 480px) {
  .logo-track img {
    width: 55px;
    margin: 12px 15px;
  }

  .logo-slider {
    padding: 10px 0;
  }
}

/* Small Mobile 360px */
@media (max-width: 360px) {
  .logo-track img {
    width: 45px;
    margin: 10px 12px;
  }
}

/* Ultra Small Screens 320px */
@media (max-width: 320px) {
  .logo-track img {
    width: 40px;
    margin: 8px 10px;
  }
}


/* services-section */

/* XL Screens (1440px–2000px) */
@media (max-width: 1440px) {
  .sidebar h2 { font-size: 1.8rem; }
}

/* Laptop screens (1024px–1440px) */
@media (max-width: 1024px) {
  .container-part {
    padding: 40px 20px;
  }
  .sidebar {
    max-width: 240px;
  }
}

/* Tablets (768px–1024px) */
@media (max-width: 768px) {
  .container-part {
    flex-direction: column;
  }

  .sidebar {
    max-width: 100%;
    flex: 1 1 100%;
  }

  .tab-content {
    flex: 1 1 100%;
  }

  #contentBox #serviceImg {
    height: 200px;
    width: 100%;
    object-fit: cover;
  }
}

/* Large Mobile (480px–768px) */
@media (max-width: 480px) {
  .sidebar h2 { font-size: 1.6rem; }
  .content-box h3 { font-size: 1.5rem; }
  .content-box img { max-height: 240px; }
}

/* Small Mobile (320px–480px) */
@media (max-width: 360px) {
  .sidebar h2 { font-size: 1.4rem; }
  .tab { font-size: 1rem; }
  .content-box h3 { font-size: 1.3rem; }
  .content-box p { font-size: 0.9rem; }
  .content-box img { max-height: 200px; }
}



/* technology-section */

@media (max-width: 600px) {
  .container-part {
    flex-direction: column;
    padding: 20px;
    gap: 20px;
  }

  .sidebar {
    max-width: 100%;
    padding-left: 0;
    text-align: center;
    align-items: center;
  }

  .tabs {
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: left;
  }

  .tab.active::before {
    display: none;
  }

  .content {
    flex-direction: column;
    text-align: center;
    margin: 0;
    margin-bottom: 25px;
    padding: 20px;
  }

  .text-section {
    flex: none;
  }

  .text-section p {
    max-width: 100%;
  }

  .text-section .tech-icons {
    text-align: center;
    margin: 0 20px;
  }

  .image-section {
    margin-top: 20px;
  }

  .image-section img {
    width: 100%;
    max-width: 250px;
  }
}


/* ============================
      TABLET: 601–900px
   ============================ */
@media (min-width: 601px) and (max-width: 900px) {
  .container-part {
    flex-direction: column;
    padding: 30px 40px;
  }

  .sidebar {
    max-width: 100%;
    text-align: center;
    padding-left: 0;
    align-items: center;
  }

  .tabs {
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .tab.active::before {
    display: none;
  }

  .content {
    flex-direction: column;
    text-align: center;
    padding: 25px;
  }

  .image-section {
    margin-top: 25px;
  }

  .image-section img {
    max-width: 300px;
  }
}

@media (max-width: 768px) {
  .content {
    flex-direction: column;
    max-width: 100%;
  }

}

@media (max-width: 1024px) {
  .content {
    flex-direction: column;
    max-width: 100%;
  }
}
  

  





/* work-section */

/* Wrapper becomes a grid */
.box-wrapper {
    display: grid;
    gap: 20px;
}

/* 0–425px → 1 box per row */
@media (max-width: 425px) {
    .box-wrapper {
        grid-template-columns: 1fr;
    }

    .box {
        width: 100%;
    }
}

/* 426px and above → 2 boxes per row */
@media (min-width: 426px) {
    .box-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .box {
        width: 100%;
    }
}



/* blog-section */

@media (max-width: 767px) {
    .blogs-container {
        grid-template-columns: 1fr; /* 1 blog per row */
        padding: 20px;
        gap: 20px;
    }

    .filter-buttons {
        margin-left: 0;
        justify-content: center;
        flex-wrap: wrap;
    }

    .blog-box img {
        height: 200px;
    }
}

/* ---------- MEDIUM SCREENS (Tablets 768px–1024px) ----------- */
@media (min-width: 768px) and (max-width: 1023px) {
    .blogs-container {
        grid-template-columns: repeat(2, 1fr); /* 2 blog boxes per row */
        padding: 40px;
    }

    .filter-buttons {
        margin-left: 0;
        justify-content: center;
    }
}

/* ---------- LARGE SCREENS (Desktops 1024px+) ----------- */
@media (min-width: 1024px) {
    .blogs-container {
        grid-template-columns: repeat(2, 1fr); /* same as your design */
    }

    .filter-buttons {
        margin-left: 0;
        justify-content: center;
    }
}




/* portfolio-section */

.portfolio-section {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
    text-align: center;
}

/* GRID SYSTEM */
.portfolio-grid {
    display: grid;
    gap: 25px;
}

/* MOBILE: 1 card per row */
@media (max-width: 768px) {
    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-card {
        width: 100%;
    }

    .project-img {
        width: 100%;
        max-width: 250px;
        margin: 20px auto 10px;
        display: block;
    }

    .view-project {
        margin: 0;
    }
}

/* DESKTOP + TABLET: 2 cards per row */
@media (min-width: 769px) {
    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .portfolio-card {
        width: 100%;
    }
    .project-img {
        width: 100%;
        max-width: 250px;
        margin: 20px auto 10px;
        display: block;
    }

    .view-project {
        margin: 0;
        text-align: right;
    }
}

/* CARD STYLE */
.portfolio-card {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #eee;
    position: relative;
    transition: 0.3s ease;
    animation: fadeUp 0.8s ease forwards;
    opacity: 0;
}

/* REMOVE FIXED WIDTH + REMOVE MARGIN LEFT FOR IMAGES */
.project-img {
    width: 140px;
    height: auto;
    border-radius: 10px;
    margin-top: 15px;
}

/* TEXT FIX */
.view-project {
    color: #ff8c00;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    margin-top: 10px;
}


/* testimonal-section */

.testimonial-card {
    min-width: 100%;
}

/* ==========================================
   425px to 767px → 1 CARD PER ROW + ARROWS
   ========================================== */
@media (max-width: 767px) {
    .slider-window {
        width: 100%;
    }

    .slider-track {
        gap: 20px;
    }

    .testimonial-card {
        min-width: 100%;
    }

    .client-data img {
      width: 50px;
      height: 55px;
    }

    .arrow-btn {
        display: block;
    }
}

/* ==========================================
   >= 768px → 2 CARD PER ROW + ARROWS
   ========================================== */
@media (min-width: 768px) {
    .slider-window {
        width: 90%;
    }

    .slider-track {
        gap: 30px;
    }

    .testimonial-card {
        min-width: calc(50% - 30px); 
        /* 2 cards in 1 row */
    }

    .arrow-btn {
        display: block;
    }
}

/* ==========================================
   >= 1200px → Better spacing for large screens
   ========================================== */
@media (min-width: 1200px) {
    .testimonial-card {
        min-width: calc(50% - 40px);
    }

    .slider-window {
        width: 80%;
    }
}

@media (min-width: 768px) {
    .slider-window {
        width: 90%;
        margin: auto;
    }

    .testimonial-card {
        min-width: calc(50% - 20px); /* 2 cards */
    }

    .prev {
        left: -25px;
    }

    .next {
        right: -25px;
    }
}

/* ============================
   >= 1200px → More spacing
   ============================ */
@media (min-width: 1200px) {
    .testimonial-card {
        min-width: calc(50% - 30px);
    }

    .slider-window {
        width: 80%;
    }

    .prev {
        left: -35px;
    }

    .next {
        right: -35px;
    }
}

@media (min-width: 768px) {
    .testimonial-card {
        min-width: calc(50% - 20px); 
    }
}

@media (min-width: 768px) {
    .testimonial-card {
        min-width: calc(50% - 20px);
    }
}

/* 1024px → 3 slides */
@media (min-width: 1024px) {
    .testimonial-card {
        min-width: calc(33.33% - 20px);
    }
}

/* Arrows spacing */
.arrow-btn {
    position: relative;
    z-index: 10;
}


/* contact-section */

@media (max-width: 992px) {

  .contact-container {
    padding: 40px;
    gap: 30px;
    flex-direction: column;
  }

  .contact-left,
  .contact-right {
    flex: 1 1 100%;
  }

  .contact-left h2 {
    font-size: 2rem;
  }

  .contact-left p {
    font-size: 1.1rem;
    max-width: 100%;
  }

  .contact-right {
    padding: 40px;
  }
}

/* =====================================
   📌 768px (Tablet Portrait)
===================================== */
@media (max-width: 768px) {

  .contact-container {
    padding: 30px 20px;
  }

  .contact-left h2 {
    font-size: 1.8rem;
  }

  .contact-left h4 {
    font-size: 1.2rem;
  }

  .contact-left p {
    font-size: 1.05rem;
  }

  .google-review img {
    width: 150px;
    margin-top: 20px;
  }

  .contact-right {
    padding: 30px;
  }

  form label {
    font-size: 1.1rem;
  }

  form input,
  form textarea {
    font-size: 1rem;
  }

  form button {
    width: 100%;
  }

  .phone-group {
    flex-direction: row;
  }
}

/* =====================================
   📌 600px (Medium Mobile)
===================================== */
@media (max-width: 600px) {

  .contact-container {
    padding: 25px 15px;
  }

  .contact-left h2 {
    font-size: 1.6rem;
  }

  .contact-left p {
    font-size: 1rem;
  }

  .contact-right {
    padding: 25px;
  }

  .phone-group {
    flex-direction: column;
    align-items: flex-start;
    border-bottom: none;
  }

  .phone-group input {
    width: 100%;
    border-bottom: 1px solid #aaa;
    padding-left: 0;
  }

  .country-select {
    border-bottom: 1px solid #aaa;
    width: 100%;
    padding-bottom: 8px;
  }

  form button {
    width: 100%;
    font-size: 1rem;
  }
}

/* =====================================
   📌 480px (Small Mobile)
===================================== */
@media (max-width: 480px) {

  .contact-left {
    gap: 15px;
  }

  .contact-left h2 {
    font-size: 1.5rem;
  }

  .contact-left h4 {
    font-size: 1.1rem;
  }

  .google-review img {
    width: 130px;
    margin-top: 15px;
  }

  .social-icons a {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .contact-right {
    padding: 20px;
  }

  form label {
    font-size: 1rem;
  }

  form button {
    padding: 12px;
    font-size: 0.95rem;
  }
}

/* =====================================
   📌 360px (Extra Small Phones)
===================================== */
@media (max-width: 360px) {

  .contact-left h2 {
    font-size: 1.3rem;
  }

  .contact-left p {
    font-size: 0.95rem;
  }

  .contact-right {
    padding: 15px;
  }

  .social-icons a {
    width: 32px;
    height: 32px;
  }

  form button {
    font-size: 0.9rem;
  }
}


/* cta-section */

/* Tablet (992px and below) */
@media (max-width: 992px) {
    .cta-section h2 {
        font-size: 34px;
    }

    .cta-section p {
        font-size: 17px;
        margin-bottom: 30px;
    }

    .cta {
        padding: 60px 20px;
    }

    .cta-buttons {
        gap: 15px;
    }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {
    .cta-section h2 {
        font-size: 28px;
        line-height: 1.3;
    }

    .cta-section p {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .cta {
        padding: 50px 15px;
    }

    /* Buttons full width on mobile */
    .cta-buttons {
        flex-direction: column;
        width: 100%;
        gap: 15px;
    }

    .btn-orange,
    .btn-dark {
        width: 100%;
        text-align: center;
        padding: 14px 0;
    }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
    .cta-section h2 {
        font-size: 24px;
    }

    .cta-section p {
        font-size: 15px;
    }
}



/* footer-section */


/* 📌 992px to 768px → 2 Columns */
@media (max-width: 1024px) {
    .footer-row {
        grid-template-columns: repeat(2, 2fr);
        gap: 40px;
        text-align: left;
    }

    .footer-col h4,
    .footer-col ul li,
    .footer-text,
    .footer-info p {
        text-align: left;
    }
}

/* 📌 Below 768px → 1 Column */
@media (max-width: 768px) {
    .footer-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        text-align: left;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: left;
        gap: 15px;
    }
}


/* 📌 Below 768px → 1 Column */
@media (max-width: 425px) {
    .footer-row {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
        text-align: left;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: left;
        gap: 15px;
    }
}


/* ------------------------------
      MOBILE NAV MENU
------------------------------ */
@media(max-width: 768px) {

    /* Hide desktop nav */
    .nav-container {
        position: absolute;
        top: 100px;
        right: 0;
        width: 100%;
        background: #000;
        display: none;
        flex-direction: column;
        padding: 25px 0;
        text-align: center;
        z-index: 999;
    }

    /* When menu opens */
    .nav-container.active {
        display: flex;
    }

    .nav-links {
        flex-direction: column;
        gap: 20px;
        padding: 0;
    }

    .btn {
        margin-top: 15px;
    }

    /* Show hamburger */
    .menu-icon {
        display: flex;
    }

    /* Adjust logo position */
    .logo img {
        padding-left: 0;
    }
}







/* Responsive */
@media (max-width: 768px) {
  .navbar {
    flex-direction: column;
    padding: 15px;
  }

  .hero h1 {
    font-size: 1.6rem;
  }

  .hero h2 {
    font-size: 1.4rem;
  }
}

@media (max-width: 767px) {

    /* dropdown container */
    .nav-links .dropdown {
        position: relative;
    }

    /* submenu */
    .nav-links .dropdown-menu {
        position: static !important;   /* absolute remove */
        width: 100%;
        max-width: 100%;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    .close-btn {
        display: flex;
        width: 50px;
        height: 50px;
        font-size: 32px;
        line-height: 1;

        align-items: center;
        justify-content: center;

        position: relative;
        top: 5px;
        right: 10px;

        color: #fff;
        cursor: pointer;
        z-index: 1000;
    }
}


@media (max-width: 768px) {

  /* Make navbar vertical */
  .navbar {
    flex-direction: row;
    height: auto;
    padding: 20px 25px;
    gap: 20px;
    text-align: center;
  }

  /* Convert nav links into block layout */
  .nav-container {
    flex-direction: row;
    gap: 20px;
  }

  .nav-links {
    flex-direction: row;
    gap: 15px;
    padding: 0;
  }

  .nav-links li a {
    font-size: 18px;
  }

  .contact-btn {
    padding: 10px 25px;
  }
}

@media (max-width: 1024px) {


  .navbar {
    flex-direction: row;
    height: auto;
    padding: 20px 25px;
    gap: 20px;
    text-align: center;
  }

  /* Convert nav links into block layout */
  .nav-container {
    flex-direction: row;
    gap: 20px;
  }

  .nav-links {
    flex-direction: row;
    gap: 15px;
    padding: 0;
  }

  .nav-links li a {
    font-size: 18px;
  }

  .contact-btn {
    padding: 10px 25px;
  }
}


@media (max-width: 768px) {

    /* LOGO LEFT + MENU RIGHT EXACT LIKE IMAGE */
    .navbar {
        padding: 18px 20px;
    }

    .logo {
      padding-left: 10px;
    }

    .menu-icon {
        display: flex;
        padding-right: 10px;
    }

    .nav-container {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: #000;
        padding: 35px 20px;
        transition: 0.4s ease;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .nav-container.active {
        right: 0;
    }

    .nav-links {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .close-btn1 {
        display: block;
        font-size: 30px;
        color: #fff;
        cursor: pointer;
        margin-bottom: 20px;
        align-self: flex-end;
    }
}

/* DESKTOP (≥ 768px) */
@media (min-width: 769px) {

    .menu-icon {
        display: none;
    }

    .close-btn {
        display: none;
    }

    .nav-container {
        position: static;
        height: auto;
        width: auto;
        background: none;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 20px;
    }

    .nav-links {
        display: flex;
        flex-direction: row;
        gap: 25px;
    }
}



@media (max-width: 900px) {
  .services-content {
    flex-direction: column;
  }

  .service-details img {
    height: 180px;
  }
}


@media (max-width: 992px) {
      .container {
        flex-direction: column;
        padding: 30px;
      }
      .content {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
      .text-section p {
        max-width: 100%;
      }
      .image-section img {
        max-width: 250px;
      }
    }

/* contact-section */
 @media (max-width: 900px) {
      .contact-container {
        flex-direction: column;
        padding: 40px 6%;
      }

      .contact-right {
        width: 100%;
      }

      .contact-left {
        width: 100%;
      }

      .contact-left p {
        max-width: 100%;
      }
    }



@media (max-width: 768px) {
  .footer {
    padding: 50px 25px;
  }
  .footer-top {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}


/* work-section */

@media (max-width: 992px) {
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .process-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}


/* --- Responsive additions appended by assistant --- */
/* Make images flexible */
img, .img-fluid {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Make containers responsive */
.container, .wrapper, .main, .content {
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Flexible columns */
.row, .flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.col, .column, .card {
    flex: 1 1 250px;
    min-width: 220px;
}

/* Navigation: stack on small screens */
nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-left: 0;
    list-style: none;
}
nav li { margin: 0; }

/* Utility */
.center { text-align: center; }

/* Media queries for smaller screens */
@media (max-width: 900px) {
    .container { width: 95%; }
    .col, .column, .card { flex: 1 1 200px; min-width: 180px; }
    header .logo, nav { text-align: center; }
}

/* Small phones */
@media (max-width: 480px) {
    .row, .flex-row { gap: 12px; }
    .col, .column, .card { flex-basis: 100%; min-width: 0; }
    nav ul { flex-direction: column; gap: 8px; }
    h1 { font-size: 1.4rem; }
    h2 { font-size: 1.1rem; }
    .hero { padding: 20px 0; }
}




