/* responsive.css */
/* Responsive Styles */
/* Hero section responsive styles */
@media (max-width: 1024px) {
    .hero {
        padding: 150px 0 80px;
        min-height: 90vh;
    }
    
    .hero-title {
        font-size: 3rem;
    }
    
    .hero-subtitle {
        font-size: 1.3rem;
    }
    
    .hero-blur-card {
        top: -20px;
        left: -30px;
        right: -30px;
        bottom: -20px;
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
    }
    
    .hero-text-content {
        padding: 30px;
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 120px 0 60px;
        min-height: 80vh;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.2rem;
    }
    
    .hero-description {
        font-size: 1rem;
    }
    
    .hero-blur-card {
        top: -15px;
        left: -20px;
        right: -20px;
        bottom: -15px;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-radius: 15px;
    }
    
    .hero-text-content {
        padding: 25px;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 576px) {
    .hero {
        padding: 100px 0 50px;
        min-height: 70vh;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .hero-description {
        font-size: 0.95rem;
    }
    
    .hero-blur-card {
        top: -10px;
        left: -15px;
        right: -15px;
        bottom: -10px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 12px;
    }
    
    .hero-text-content {
        padding: 20px;
    }
    
    /* Optimize for mobile data */
    @media (max-resolution: 1dppx) {
        .hero-video {
            display: none;
        }
        
        .video-background::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #1a365d 0%, #2d7dd2 100%);
            z-index: -1;
        }
        
        .hero-blur-card {
            background: rgba(255, 255, 255, 0.12);
        }
    }
}

@media (max-width: 768px) {
    .hamburger {
        display: flex;
    }
    
    .nav-menu {
        position: fixed;
        top: 80px;
        right: -100%;
        flex-direction: column;
        background-color: var(--white);
        width: 100%;
        height: calc(100vh - 80px);
        text-align: center;
        transition: var(--transition);
        padding-top: 40px;
        box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
        z-index: 999;
    }
    
    .nav-menu.active {
        right: 0;
    }
    
    .nav-menu li {
        margin: 15px 0;
    }
    
    .nav-menu li a {
        font-size: 1.2rem;
    }
    
    .hero {
        padding: 150px 0 80px;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.2rem;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .process-steps {
        flex-direction: column;
    }
    
    .process-step {
        min-width: 100%;
    }
    
    .service-detail-header {
        flex-direction: column;
        text-align: center;
    }
    
    .service-detail-icon {
        margin-right: 0;
        margin-bottom: 20px;
    }
}

@media (max-width: 576px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .section {
        padding: 60px 0;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .cta-title {
        font-size: 2rem;
    }
    
    .page-hero-title {
        font-size: 2.5rem;
    }
    
    .service-detail-card {
        padding: 25px;
    }
}

@media (max-width: 768px) {
    .logo-image {
        height: 40px; /* Smaller on mobile */
    }
    
    .logo-main {
        font-size: 1.2rem;
    }
    
    .logo-tagline {
        font-size: 0.6rem;
    }
}

@media (max-width: 576px) {
    .logo-container {
        gap: 10px;
    }
    
    .logo-image {
        height: 35px;
    }
    
    .logo-main {
        font-size: 1rem;
    }
    
    .logo-tagline {
        font-size: 0.55rem;
    }
}

/* Trust bar responsive styles */
@media (max-width: 1024px) {
    .trust-bar {
        padding: 20px 0;
    }
    
    .marketplace-logos-container {
        height: 60px;
    }
    
    .marketplace-logos-track {
        gap: 60px;
        padding: 0 30px;
    }
    
    .marketplace-logo {
        height: 45px;
        min-width: 120px;
    }
    
    .marketplace-logo-img {
        height: 40px;
    }
    
    .logo-fallback {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    .trust-bar {
        padding: 18px 0;
    }
    
    .trust-label {
        font-size: 0.85rem;
        margin-bottom: 20px;
    }
    
    .marketplace-logos-container {
        height: 50px;
    }
    
    .marketplace-logos-track {
        gap: 50px;
        padding: 0 20px;
        animation-duration: 20s;
    }
    
    .marketplace-logo {
        height: 40px;
        min-width: 100px;
    }
    
    .marketplace-logo-img {
        height: 35px;
    }
    
    .logo-fallback {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .trust-bar {
        padding: 15px 0;
    }
    
    .trust-label {
        font-size: 0.8rem;
        margin-bottom: 15px;
    }
    
    .marketplace-logos-container {
        height: 45px;
    }
    
    .marketplace-logos-track {
        gap: 40px;
        padding: 0 15px;
        animation-duration: 15s;
    }
    
    .marketplace-logo {
        height: 35px;
        min-width: 80px;
    }
    
    .marketplace-logo-img {
        height: 30px;
    }
    
    .logo-fallback {
        font-size: 0.9rem;
    }
}

/* Footer responsive styles */
@media (max-width: 768px) {
    .footer-logo .logo-container {
        gap: 10px;
    }
    
    .footer-logo .logo-image {
        height: 40px;
    }
    
    .footer-logo .logo-main {
        font-size: 1.3rem;
    }
    
    .footer-logo .logo-tagline {
        font-size: 0.65rem;
    }
    
    .footer-description {
        font-size: 0.9rem;
        max-width: 100%;
    }
}

@media (max-width: 576px) {
    .footer-logo .logo-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .footer-logo .logo-image {
        height: 35px;
    }
    
    .footer-logo .logo-text {
        align-items: flex-start;
    }
    
    .footer-logo .logo-main {
        font-size: 1.2rem;
    }
    
    .footer-logo .logo-tagline {
        font-size: 0.6rem;
    }
}
@media (max-width: 768px) {
    .footer .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .footer-content {
        gap: 30px;
        padding-left: 10px;
    }
}

@media (max-width: 576px) {
    .footer .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .footer-content {
        gap: 25px;
        padding-left: 5px;
    }
    
    .footer-logo .logo-container {
        margin-left: 0;
    }
}

/* Contact Page Responsive */
@media (max-width: 1024px) {
    .contact-container {
        gap: 40px;
    }
    
    .contact-info,
    .contact-form-container {
        padding: 30px;
    }
}

@media (max-width: 768px) {
    .contact-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .contact-info,
    .contact-form-container {
        padding: 25px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .contact-detail-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .social-icons-contact {
        flex-direction: column;
    }
    
    .faq-question {
        padding: 15px 20px;
        font-size: 1rem;
    }
    
    .faq-answer p {
        padding: 0 20px 15px;
    }
    
    .modal-content {
        padding: 30px;
    }
}

@media (max-width: 576px) {
    .contact-info,
    .contact-form-container {
        padding: 20px;
    }
    
    .contact-icon {
        width: 45px;
        height: 45px;
    }
    
    .contact-icon i {
        font-size: 1rem;
    }
    
    .btn-submit {
        width: 100%;
        justify-content: center;
    }
    
    .social-icon-contact {
        justify-content: center;
    }
}

/* ========================================
   APPROACH SECTION RESPONSIVE (NEW FIX)
   ======================================== */

/* Tablet - Stack framework rows */
@media (max-width: 1024px) {
    .framework-row {
        flex-direction: column !important;
        gap: 30px;
        margin-bottom: 60px;
    }
    
    .framework-row.reverse {
        flex-direction: column !important;
    }
    
    .framework-visual,
    .framework-content {
        flex: none;
        width: 100%;
    }
    
    .framework-card {
        padding: 30px;
    }
    
    .step-number-lg {
        font-size: 4rem;
    }
    
    .framework-card p {
        font-size: 1.1rem;
    }
    
    .framework-content h3 {
        font-size: 1.8rem;
    }
}

/* Mobile - Further optimize */
@media (max-width: 768px) {
    .approach-alt {
        padding: 60px 0;
    }
    
    .framework-row {
        gap: 25px;
        margin-bottom: 50px;
    }
    
    .framework-card {
        padding: 25px;
    }
    
    .step-number-lg {
        font-size: 3.5rem;
        right: 15px;
    }
    
    .framework-card p {
        font-size: 1rem;
        line-height: 1.5;
    }
    
    .framework-tag {
        padding: 5px 12px;
        font-size: 0.7rem;
        margin-bottom: 10px;
    }
    
    .framework-content h3 {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }
    
    .framework-content p {
        font-size: 0.95rem;
    }
}

/* Small Mobile - Maximum compression */
@media (max-width: 576px) {
    .section-badge {
        font-size: 0.75rem;
        padding: 5px 14px;
    }
    
    .framework-row {
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .framework-card {
        padding: 20px;
    }
    
    .step-number-lg {
        font-size: 3rem;
        right: 10px;
        top: 10px;
    }
    
    .framework-card p {
        font-size: 0.9rem;
        line-height: 1.4;
    }
    
    .framework-content h3 {
        font-size: 1.3rem;
        margin-bottom: 10px;
    }
    
    .framework-content p {
        font-size: 0.9rem;
        line-height: 1.6;
    }
}

/* ========================================
   SERVICES DETAIL PAGE RESPONSIVE (NEW FIX)
   ======================================== */

/* Tablet - Stack service detail content */
@media (max-width: 1024px) {
    .service-detail-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .service-detail-card {
        padding: 35px;
    }
    
    .service-detail-title {
        font-size: 1.6rem;
    }
}

/* Mobile - Further optimize */
@media (max-width: 768px) {
    .service-detail-card {
        padding: 25px;
        margin-bottom: 30px;
    }
    
    .service-detail-header {
        flex-direction: row; /* KEEP HORIZONTAL */
        align-items: center; /* CENTER VERTICALLY */
        margin-bottom: 25px;
    }
    
    .service-detail-icon {
        margin-right: 15px; /* KEEP SPACE BETWEEN ICON AND TITLE */
        margin-bottom: 0; /* REMOVE BOTTOM MARGIN */
        width: 60px;
        height: 60px;
        flex-shrink: 0; /* PREVENT ICON FROM SHRINKING */
    }
    
    .service-detail-icon i {
        font-size: 1.5rem;
    }
    
    .service-detail-title {
        font-size: 1.5rem;
        line-height: 1.2; /* BETTER LINE HEIGHT FOR WRAPPING */
    }
    
    .service-detail-content {
        gap: 25px;
    }
    
    .service-detail-what h3,
    .service-detail-outcome h3 {
        font-size: 1.2rem;
        margin-bottom: 12px;
    }
    
    .service-detail-what ul li {
        font-size: 0.95rem;
        margin-bottom: 8px;
    }
    
    .service-detail-outcome p {
        font-size: 1rem;
        padding: 15px;
    }
}

/* Small Mobile - Maximum compression */
@media (max-width: 576px) {
    .service-detail-card {
        padding: 20px;
        margin-bottom: 25px;
    }
    
    .service-detail-header {
        flex-direction: row; /* KEEP HORIZONTAL */
        align-items: center; /* CENTER VERTICALLY */
    }
    
    .service-detail-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 0; /* REMOVE BOTTOM MARGIN */
        margin-right: 12px; /* SPACE BETWEEN ICON AND TITLE */
        flex-shrink: 0; /* PREVENT ICON FROM SHRINKING */
    }
    
    .service-detail-icon i {
        font-size: 1.3rem;
    }
    
    .service-detail-title {
        font-size: 1.3rem;
        line-height: 1.3;
    }
    
    .service-detail-what h3,
    .service-detail-outcome h3 {
        font-size: 1.1rem;
    }
    
    .service-detail-what ul li {
        font-size: 0.9rem;
        padding-left: 18px;
    }
    
    .service-detail-outcome p {
        font-size: 0.95rem;
        padding: 12px;
    }
}


/* ===== TRUST BAR MOBILE VISIBILITY FIX ===== */
/* Add at END of responsive.css */

@media (max-width: 768px) {
    .marketplace-logos-container {
        height: 80px;
    }

    .marketplace-logo {
        height: 70px;
        min-width: 130px;
    }

    .marketplace-logo-img {
        height: 55px;
    }

    .marketplace-logos-track {
        gap: 50px;
        animation-duration: 22s;
    }

    .marketplace-logos-container::before {
        width: 120px;
        background: linear-gradient(
            90deg,
            var(--primary) 0%,
            rgba(26, 54, 93, 0.9) 60px,
            rgba(26, 54, 93, 0.6) 90px,
            transparent 120px
        );
    }

    .marketplace-logos-container::after {
        width: 80px;
    }
}

@media (max-width: 576px) {
    .marketplace-logos-container {
        height: 90px;
    }

    .marketplace-logo {
        height: 80px;
        min-width: 150px;
    }

    .marketplace-logo-img {
        height: 65px;
    }

    .marketplace-logos-track {
        gap: 45px;
        animation-duration: 24s;
    }
}
