/* ONLY FOR MOBILE SCREENS */
@media (max-width: 767px) {
    /* Universal fix */
    html, body {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }
}

.tp-about-area {
    background: #f8f9fa; /* light background */
    padding: 80px 0;
}

.tp-about-content h2.tp-section-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: #0A3D62; /* your logo gradient main color */
}

.tp-about-content p {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
}

.tp-about-content a.btn-gradient-primary {
    display: inline-block;
    padding: 12px 30px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 50px;
    color: #fff;
    background: linear-gradient(90deg, #0A3D62 0%, #0077B6 100%);
    transition: all 0.3s ease;
    text-decoration: none;
}

.tp-about-content a.btn-gradient-primary:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
    .tp-about-content h2.tp-section-title {
        font-size: 1.8rem;
    }
    .tp-about-content p {
        font-size: 0.95rem;
    }
}

    /* ---------------- Testimonial Section ---------------- */
.tp-testimonial-area {
    background: #f5f7fa; /* light background like WB-DigiTech */
    padding: 80px 0;
    position: relative;
}

.tp-testimonial-slider-wrapper {
    position: relative;
}

.tp-testimonial-item {
    background: #fff;
    padding: 30px 25px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tp-testimonial-item p {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 15px;
}

.tp-testimonial-item span em {
    display: block;
    font-weight: 700;
    font-size: 0.95rem;
    color: #0077B6; /* your logo gradient color */
}

.tp-testimonial-slider-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
}

/* Arrows */
.tp-testimonial-arrow-box button {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
}

.tp-testimonial-arrow-box .tp-testimonial-prev {
    left: -20px;
}

.tp-testimonial-arrow-box .tp-testimonial-next {
    right: -20px;
}

.tp-testimonial-arrow-box button:hover {
    opacity: 0.85;
}

/* Swiper pagination (optional) */
.swiper-pagination {
    position: relative;
    margin-top: 25px;
    text-align: center;
}

.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: #0077B6;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #0A3D62;
}

/* Responsive */
@media(max-width: 992px) {
    .tp-testimonial-item {
        min-height: auto;
        padding: 25px 15px;
    }
    .tp-testimonial-arrow-box button {
        width: 35px;
        height: 35px;
    }
}

@media(max-width: 768px) {
    .tp-testimonial-arrow-box {
        display: none;
    }
}

    /* ---------------- Marquee ---------------- */
.we-promise-slide {
    background: #0A3D62;
    overflow: hidden;
    padding: 20px 0;
}

.marquee {
    display: flex;
    width: max-content;
    animation: marquee 15s linear infinite;
}

.marquee-content span {
    font-weight: 700;
    font-size: 1.2rem;
    margin-right: 40px;
    display: inline-flex;
    align-items: center;
    color: #fff;
}

.marquee-content i {
    margin-left: 5px;
    color: #FFD700;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ---------------- Industries ---------------- */
.tp-project-area {
    /* padding: 80px 0; */
    background: #f5f7fa;
}

.tp-project-area h2.tp-section-title {
    /* font-size: 2rem; */
    /* font-weight: 700; */
    color: #0077B6;
    /* margin-bottom: 40px; */
}




/* Buttons */
.tp-project-area .btn-warning {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    border: none;
    color: #fff;
    font-weight: 600;
    padding: 10px 25px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.tp-project-area .btn-warning:hover {
    opacity: 0.9;
}

/* ---------------- Blogs ---------------- */
.blog-details-realated-area {
    background: #0A3D62;
    padding: 80px 0;
}

.blog-details-realated-area .sv-service-title {
    color: #FFD700;
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 40px;
}

.tp-blog-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* background: #1b3b6a; */
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tp-blog-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.2);
}

.tp-blog-thumb img {
    border-radius: 15px 15px 0 0;
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.tp-blog-meta span {
    background: #0077B6;
    color: #fff;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
}

.tp-blog-content h2.tp-blog-title-sm a {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    transition: color 0.3s ease;
}

.tp-blog-content h2.tp-blog-title-sm a:hover {
    color: #FFD700;
}

/* Make all blog cards same height in row */
.blog-details-realated-area .row > div {
    display: flex;
}

/* Responsive Adjustments */
@media(max-width: 992px) {
    .tp-project-area h2.tp-section-title,
    .blog-details-realated-area .sv-service-title {
        font-size: 1.6rem;
    }

    .marquee-content span {
        font-size: 1rem;
        margin-right: 20px;
    }
}

@media(max-width: 768px) {
    .tp-blog-item {
        height: auto;
    }

    .tp-project-area .card {
        margin-bottom: 20px;
    }
}

  
/* Section Title */
.tp-service-area .tp-section-title span {
    color: #0077B6; /* primary logo color */
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

    /* Background */
.logo-slider-wrapper {
    background: #f9f9f9;
}

/* Section Title */
.logo-slider-wrapper .sub-title {
    color: #0077B6;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

.logo-slider-wrapper .title {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 10px;
}

/* Logo Items */
.logo-slider .item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    transition: transform 0.3s ease;
}

.logo-slider .item:hover {
    transform: scale(1.2);
}

.image-box-wrapper img {
    max-width: 150px;
    height: auto;
    transition: filter 0.3s ease, transform 0.3s ease;
}

/* Grayscale effect on hover */
.grayscale-hover {
    filter: grayscale(100%);
}

.grayscale-hover:hover {
    filter: grayscale(0%);
}

/* Slider reverse effect */
.logos-list.reverse {
    display: flex;
    gap: 30px;
    animation: slideLeft 30s linear infinite;
}

.logos-list {
    display: flex;
    gap: 30px;
    animation: slideRight 30s linear infinite;
}

/* Keyframes for smooth infinite slide */
@keyframes slideRight {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes slideLeft {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* Gradient for text / buttons based on your logo */
.gradient-text {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

.btn-gradient {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    color: #fff;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-gradient:hover {
    background: linear-gradient(90deg, #0077B6, #0A3D62);
    color: #fff;
}

/* Hero Section tweaks */
.tp-hero-area {
    padding-top: 120px;
    /* padding-bottom: 20px; */
    background: #f9f9f9;
}
.tp-hero-title-wrap {
    margin-bottom: 40px; /* space below the title wrapper */
}

.tp-hero-title {
    /* font-size: 42px; */
    line-height: 1.3;
    margin-bottom: 20px; /* space directly below the title */
}

.tp-hero-content p {
    margin-top: 0;        /* remove extra top gap */
    margin-bottom: 20px;  /* normal spacing */
}

.h1-home-page {
    font-size: 2.5rem;
    font-weight: 700;
    margin-top: 20px;
    color: #0A3D62;
}

/* Agency Section */
.agency .agency__thumb img {
    max-width: 100%;
    height: auto;
}

.agency__content .title {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 15px;
    color: #0077B6;
}

.progress {
    background: #e0e0e0;
    border-radius: 50px;
    height: 12px;
}

.progress-bar.bg-gradient {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    height: 12px;
    border-radius: 50px;
}


/* Team Section */
.team-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: transform 0.3s ease;
    cursor: pointer;
}

.team-card:hover {
    transform: translateY(-8px);
}

.team-img img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}

.team-info {
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    background: white;
    text-align: center;
    padding: 20px;
    transition: bottom 0.4s ease-in-out;
    border-top: 3px solid #0A3D62; /* accent color */
}

.team-card:hover .team-info {
    bottom: 0;
}

.team-info h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.team-info p {
    margin: 5px 0 0;
    font-size: 14px;
    color: #666;
}


/* Agency Section */
 .agency-section .visual-card{ position: relative; overflow: hidden; border-radius: 14px; }
    .agency-section .visual-card img{ display:block; height:100%; object-fit:cover; }
    .agency-section .trusted-badge{ position:absolute; left:18px; top:18px; background:#fff; color:#0A3D62; padding:6px 12px; border-radius:8px; font-weight:600; box-shadow:0 6px 18px rgba(10,61,98,0.12); }
    .agency-section .floating-card{ position:absolute; right:0; bottom:-30px; width:220px; transform:translateY(0); }
    .agency-section .features-list .icon{ width:38px; display:flex; align-items:center; justify-content:center; }
    .agency-section .title{ color:#0A3D62; }
    .btn-gradient{ background: linear-gradient(90deg,#0A3D62,#1287cb); color:#fff; border:none; }
    .btn-gradient:hover{ opacity:0.95; }

    /* Responsive adjustments */
    @media (max-width: 991px){
        .agency-section .floating-card{ display:none; }
        .agency-section .title{ font-size:1.6rem; }
    }

/* Services Section */
    
.home-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    z-index: 1;
    pointer-events: none;
}

.home-page .html-component {
     position: relative;  
    padding: 10px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center; 
    /* height: 70%;  */
}


/* Banner Section */
      .we-promise-banner {
            background: linear-gradient(90deg, #1166a3 0%, #31a8e8 100%);
            overflow: hidden;
            white-space: nowrap;
            padding: 12px 0;
        }

        .scrolling-text {
            display: flex;
            align-items: center;
            overflow: hidden;
        }

        .scrolling-content {
            display: inline-flex;
            align-items: center;
            animation: scroll-left 22s linear infinite;
        }

        @keyframes scroll-left {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .scrolling-content span {
            font-family: 'Poppins', sans-serif;
            font-weight: 800;
            font-size: 4.5rem;
            letter-spacing: 1px;
            display: flex;
            align-items: center;
            margin-right: 60px;
        }

        .outline {
            color: transparent;
            -webkit-text-stroke: 1.5px #ffffff;
        }

        .filled {
            color: #ffffff;
        }

        .arrow {
            width: 80px;
            height: 80px;
            margin-left: 12px;
        }

        @media (max-width: 992px) {
            .scrolling-content span {
                font-size: 3rem;
                margin-right: 40px;
            }
            .arrow {
                width: 30px;
                height: 30px;
            }
        }

        @media (max-width: 576px) {
            .scrolling-content span {
                font-size: 2rem;
                margin-right: 30px;
            }
            .arrow {
                width: 22px;
                height: 22px;
            }
        }

/* Blog Section */
 .home-blog-section {
            font-family: 'Poppins', sans-serif;
        }

        .home-blog-section h2 {
            font-size: 2.3rem;
            line-height: 1.2;
        }

        .home-blog-section .blog-item {
            transition: all 0.3s ease-in-out;
            border-radius: 12px;
        }

        .home-blog-section .blog-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
        }

        .home-blog-section .blog-img {
            height: 230px;
            object-fit: cover;
            border-top-left-radius: 12px;
            border-top-right-radius: 12px;
        }

        .home-blog-section .text-primary {
            color: #0A3D62 !important;
        }

        @media (max-width: 767px) {
            .home-blog-section h2 {
                font-size: 1.8rem;
            }
            .home-blog-section .blog-img {
                height: 180px;
            }
        }

/* Testimonial Section */
 .review-summary-card {
    background: #fff;
    border: 1px solid #eee;
}
.testimonial-card {
    border: 1px solid #eee;
    transition: transform 0.3s ease;
}
.testimonial-card:hover {
    transform: translateY(-5px);
}
.review-rating span {
    font-size: 1.2rem;
}
/* Fix side scroll issue */
.tp-testimonial-area {
    overflow-x: hidden; /* prevent horizontal scroll */
}

.swiper-container {
    width: 100% !important;
    max-width: 100% !important;
}

.swiper-wrapper {
    display: flex;
    width: 100%;
}

.swiper-slide {
    min-width: 0; /* allow shrink */
    box-sizing: border-box;
}

/* Ensure cards fit inside screen */
.testimonial-card {
    width: 100%;
    max-width: 100%;
    word-wrap: break-word;
}

/* Mobile spacing */
@media (max-width: 575px) {
    .testimonial-card {
        padding: 15px;
    }
    .review-summary-card {
        padding: 15px;
    }
}

/* About Page */
#abouT-info,
#about-info .ab-about-content {
    max-width: 520px;
        /* margin-top: 156px; */
}

#about-info span {
    font-size: 18px;
}

#about-info p {
    font-size: 15px;
    line-height: 1.7;
}

/* Image overlap */
.ab-about-right-thumb {
    /* position: relative; */
}

.ab-about-right-thumb img:first-child {
    width: 75%;
    /* position: relative; */
    z-index: 2;
    border-radius: 14px;
}

.ab-about-right-thumb img:last-child {
    position: absolute;
    right: 0;
    /* bottom: -40px; */
    width: 65%;
    z-index: 1;
    opacity: 0.95;
    border-radius: 14px;
}

/* Overrides for About Page */
#abouT-info,
#about-info .ab-about-content {
    margin-top: 0 !important;
    max-width: 520px;
}

#abouT-info span,
#about-info span {
    font-size: 20px;
    font-weight: bold;
}

#abouT-info p,
#about-info p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

/* Services list styling */
.ab-about-category-list ul {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    padding-left: 20px;
}

/* .ab-about-category-list ul li {
    margin-bottom: 10px;
} */

.ab-about-right-thumb img {
    position: static !important;
    /* z-index: auto !important; */
}

/* ========================================================= */
/* GLOBAL RESPONSIVE OVERRIDES - LAPTOPS, TABLETS, MOBILE    */
/* ========================================================= */

/* General Image Responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Laptops & Tablets Landscape (992px - 1199px) */
@media (max-width: 1199px) {
    .scrolling-content span { font-size: 3.5rem; margin-right: 50px; }
    .h1-home-page { font-size: 2.2rem; }
    .tp-about-content h2.tp-section-title { font-size: 2rem; }
    .title { font-size: 1.8rem; }
}

/* Tablets Portrait (768px - 991px) */
@media (max-width: 991px) {
    .scrolling-content span { font-size: 2.8rem; margin-right: 30px; }
    .h1-home-page { font-size: 1.8rem; }
    .tp-about-content h2.tp-section-title { font-size: 1.6rem; }
    
    .team-img img { height: 280px; }
    
    .ab-about-right-thumb img:first-child { width: 100%; }
    .ab-about-right-thumb img:last-child { display: none; /* Hide overlapping image on small screens */ }
}

/* Mobile Landscape (576px - 767px) */
@media (max-width: 767px) {
    .scrolling-content span { font-size: 2.2rem; margin-right: 20px; }
    .h1-home-page { font-size: 1.5rem; }
    
    .tp-about-area { padding: 40px 0; }
    .tp-testimonial-area { padding: 40px 0; }
    .blog-details-realated-area { padding: 40px 0; }
    
    /* Improve testimonial sliders */
    .testimonial-card, .review-summary-card { padding: 15px; margin-bottom: 20px; }
    .tp-testimonial-item { min-height: auto; }
}

/* Mobile Portrait (< 576px) */
@media (max-width: 575px) {
    .scrolling-content span { font-size: 1.8rem; margin-right: 15px; }
    .arrow { width: 20px; height: 20px; }
    
    .h1-home-page { font-size: 1.4rem; }
    .tp-about-content h2.tp-section-title { font-size: 1.4rem; }
    
    .btn-gradient-primary { padding: 10px 20px; font-size: 0.9rem; }
    
    .we-promise-banner { padding: 8px 0; }
    
    .team-img img { height: auto; aspect-ratio: 1; }
    
    #abouT-info span, #about-info span { font-size: 16px; }
    #abouT-info p, #about-info p { font-size: 14px; }
}
