/* ===================================
   RESPONSIVE TRANG KHÁCH HÀNG
   Thiết kế chuẩn UX/UI
   Không thay đổi desktop
   =================================== */

/* ===================================
   TABLET (≤ 992px)
   =================================== */
@media (max-width: 992px) {
    /* Main Content */
    main {
        padding: 50px 30px !important;
    }
    
    /* Title Section */
    main > div > div:first-child h1 {
        font-size: 26px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) {
        flex-direction: column !important;
        text-align: center !important;
    }
    
    main > div > div:first-child > div:nth-child(3) img {
        height: 70px !important;
        width: 70px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) > div {
        text-align: center !important;
    }
    
    main > div > div:first-child > div:nth-child(3) p {
        font-size: 15px !important;
    }
    
    /* World Map Section */
    main > div > div:nth-child(2) {
        max-width: 95% !important;
        padding: 30px 20px !important;
    }
    
    /* Customer Logos Section */
    main > div > div:nth-child(3) {
        max-width: 95% !important;
        padding: 30px 25px !important;
    }
    
    main > div > div:nth-child(3) h2 {
        font-size: 26px !important;
        margin-bottom: 30px !important;
    }
    
    /* Customer Logos Grid - GIỮ 5 CỘT */
    .customer-logos-grid {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 12px !important;
    }
    
    .customer-logo-item {
        padding: 12px !important;
    }
    
    .customer-logo-item img {
        height: 100px !important;
    }
}

/* ===================================
   MOBILE LỚN (≤ 768px)
   =================================== */
@media (max-width: 768px) {
    /* Main Content */
    main {
        padding: 40px 20px !important;
    }
    
    /* Title Section */
    main > div > div:first-child {
        margin-bottom: 30px !important;
    }
    
    main > div > div:first-child h1 {
        font-size: 22px !important;
        margin-bottom: 15px !important;
    }
    
    main > div > div:first-child > div:nth-child(2) {
        width: 80px !important;
        height: 3px !important;
        margin-bottom: 25px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) {
        gap: 15px !important;
        margin-bottom: 25px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) img {
        height: 60px !important;
        width: 60px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) p {
        font-size: 14px !important;
        line-height: 1.7 !important;
    }
    
    /* World Map Section */
    main > div > div:nth-child(2) {
        max-width: 100% !important;
        padding: 25px 15px !important;
        margin-bottom: 30px !important;
        border-radius: 12px !important;
    }
    
    /* Customer Logos Section */
    main > div > div:nth-child(3) {
        max-width: 100% !important;
        padding: 25px 20px !important;
        border-radius: 12px !important;
    }
    
    main > div > div:nth-child(3) h2 {
        font-size: 22px !important;
        margin-bottom: 25px !important;
    }
    
    /* Customer Logos Grid - GIỮ 5 CỘT */
    .customer-logos-grid {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 8px !important;
    }
    
    .customer-logo-item {
        padding: 8px !important;
        border-radius: 8px !important;
    }
    
    .customer-logo-item img {
        height: 70px !important;
    }
}

/* ===================================
   MOBILE NHỎ (≤ 480px)
   =================================== */
@media (max-width: 480px) {
    /* Main Content */
    main {
        padding: 30px 15px !important;
    }
    
    /* Title Section */
    main > div > div:first-child {
        margin-bottom: 25px !important;
    }
    
    main > div > div:first-child h1 {
        font-size: 19px !important;
        margin-bottom: 12px !important;
    }
    
    main > div > div:first-child > div:nth-child(2) {
        width: 60px !important;
        height: 3px !important;
        margin-bottom: 20px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) {
        gap: 12px !important;
        margin-bottom: 20px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) img {
        height: 50px !important;
        width: 50px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) p {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    /* World Map Section */
    main > div > div:nth-child(2) {
        padding: 20px 12px !important;
        margin-bottom: 25px !important;
        border-radius: 10px !important;
    }
    
    main > div > div:nth-child(2) img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Customer Logos Section */
    main > div > div:nth-child(3) {
        padding: 20px 15px !important;
        border-radius: 10px !important;
    }
    
    main > div > div:nth-child(3) h2 {
        font-size: 19px !important;
        margin-bottom: 20px !important;
    }
    
    /* Customer Logos Grid - GIỮ 5 CỘT */
    .customer-logos-grid {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 6px !important;
    }
    
    .customer-logo-item {
        padding: 6px !important;
        border-radius: 6px !important;
    }
    
    .customer-logo-item img {
        height: 55px !important;
    }
}

/* ===================================
   MOBILE CỰC NHỎ (≤ 360px)
   =================================== */
@media (max-width: 360px) {
    main {
        padding: 25px 12px !important;
    }
    
    main > div > div:first-child h1 {
        font-size: 17px !important;
    }
    
    main > div > div:first-child > div:nth-child(3) p {
        font-size: 12px !important;
    }
    
    main > div > div:nth-child(3) h2 {
        font-size: 17px !important;
    }
    
    /* Customer Logos Grid - GIỮ 5 CỘT */
    .customer-logos-grid {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 4px !important;
    }
    
    .customer-logo-item {
        padding: 4px !important;
    }
    
    .customer-logo-item img {
        height: 45px !important;
    }
}

/* ===================================
   UX/UI IMPROVEMENTS
   =================================== */

/* Smooth transitions */
.customer-logo-item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Better hover states on mobile */
@media (hover: hover) {
    .customer-logo-item:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important;
    }
}

/* Touch feedback */
@media (max-width: 768px) {
    .customer-logo-item:active {
        transform: scale(0.98) !important;
    }
}

/* Improved readability */
@media (max-width: 768px) {
    main p {
        line-height: 1.7 !important;
    }
}

/* Better spacing for mobile */
@media (max-width: 480px) {
    main > div > div {
        margin-bottom: 20px !important;
    }
    
    main > div > div:last-child {
        margin-bottom: 0 !important;
    }
}

/* Accessibility: Focus states */
.customer-logo-item:focus-within {
    outline: 2px solid #28a745 !important;
    outline-offset: 2px !important;
}

/* Loading optimization */
@media (max-width: 768px) {
    .customer-logo-item {
        will-change: transform;
    }
}

/* Prevent text overflow */
@media (max-width: 480px) {
    main h1,
    main h2,
    main p {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
}

/* Grid layout improvements */
@media (max-width: 768px) {
    .customer-logos-grid {
        justify-items: center !important;
        align-items: center !important;
    }
}

/* Image optimization */
@media (max-width: 768px) {
    .customer-logo-item img {
        object-fit: contain !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Container max-width adjustments */
@media (max-width: 768px) {
    main > div {
        max-width: 100% !important;
    }
}

/* Banner responsive */
@media (max-width: 992px) {
    .banner {
        height: 60vh !important;
        min-height: 400px !important;
    }
    
    .banner-text {
        width: 90% !important;
        padding: 30px 40px !important;
    }
    
    .banner-heading {
        font-size: 42px !important;
    }
    
    .banner-description {
        font-size: 20px !important;
    }
}

@media (max-width: 768px) {
    .banner {
        height: 50vh !important;
        min-height: 350px !important;
    }
    
    .banner-text {
        width: 92% !important;
        padding: 25px 30px !important;
        border-radius: 15px !important;
    }
    
    .banner-heading {
        font-size: 32px !important;
        margin-bottom: 15px !important;
    }
    
    .banner-description {
        font-size: 16px !important;
    }
}

@media (max-width: 480px) {
    .banner {
        height: 45vh !important;
        min-height: 300px !important;
    }
    
    .banner-text {
        width: 95% !important;
        padding: 20px 25px !important;
        border-radius: 12px !important;
    }
    
    .banner-heading {
        font-size: 24px !important;
        margin-bottom: 12px !important;
    }
    
    .banner-description {
        font-size: 14px !important;
    }
}

/* Landscape mode */
@media (max-width: 768px) and (orientation: landscape) {
    .banner {
        height: 70vh !important;
    }
    
    main {
        padding: 30px 20px !important;
    }
}
