/* =========================================
   RESPONSIVE.CSS - Complete Fixes
   ========================================== */

/* =========================================
   LARGE TABLETS & SMALL LAPTOPS (max-width: 1199px)
   ========================================== */
@media (max-width: 1199px) {
    /* Hero Section */
    .hero-section {
        min-height: 600px;
    }
    
    .hero-section .overlay {
        min-height: 600px;
    }
    
    .hero-section h1 {
        font-size: 38px;
    }
    
    /* Statistics */
    .stats-section {
        margin-top: -40px;
    }
    
    .stat-card {
        min-height: 110px;
        padding: 22px 18px;
    }
    
    .stat-number {
        font-size: 26px;
    }
    
    /* Services */
    .service-image {
        height: 130px;
    }
    
    .service-content h5 {
        font-size: 16px;
    }
    
    /* Projects */
    .project-card img {
        height: 165px;
    }
}

/* =========================================
   TABLETS (max-width: 991px)
   ========================================== */
@media (max-width: 991px) {
    /* General */
    .section-title {
        font-size: 28px;
    }
    
    .section-title::after {
        margin: 10px auto 0;
    }
    
    .section-desc {
        font-size: 14px;
        padding: 0 15px;
    }
    
    /* Hero */
    .hero-section {
        min-height: 500px;
    }
    
    .hero-section .overlay {
        min-height: 500px;
        text-align: center;
    }
    
    .hero-section h1 {
        font-size: 32px;
    }
    
    .hero-section .lead {
        font-size: 16px;
    }
    
    .feature-box {
        justify-content: center !important;
        text-align: center;
    }
    
    /* Navigation */
    .navbar-nav .nav-link {
        margin-left: 0;
        padding: 8px 0;
    }
    
    .navbar-collapse {
        background: white;
        padding: 15px;
        border-radius: 8px;
        margin-top: 10px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }
    
    .navbar-nav .nav-link:hover {
        color: var(--color-primary);
    }
    
    /* Statistics */
    .stats-section {
        margin-top: -30px;
    }
    
    .stats-section .container {
        margin: 0 15px;
    }
    
    .stat-card {
        min-height: 100px;
        padding: 18px 15px;
        gap: 14px;
        border-bottom: 1px solid #eee;
    }
    
    .stat-card.with-divider::after {
        display: none;
    }
    
    .row > .col:nth-child(3n) .stat-card::after {
        display: none;
    }
    
    .stat-number {
        font-size: 22px;
    }
    
    .stat-label {
        font-size: 13px;
    }
    
    .stat-icon {
        width: 46px;
        height: 46px;
        min-width: 46px;
    }
    
    .stat-icon i {
        font-size: 22px;
    }
    
    /* Services */
    .services {
        padding: 60px 0;
    }
    
    .service-image {
        height: 120px;
    }
    
    .service-card {
        margin-bottom: 20px;
    }
    
    .btn-service {
        margin-top: 20px;
    }
    
    /* About */
    .about {
        padding: 60px 0;
    }
    
    .about .row > div {
        margin-bottom: 30px;
    }
    
    /* Projects */
    .projects {
        padding: 60px 0;
    }
    
    .project-card {
        margin-bottom: 20px;
    }
    
    .project-card img {
        height: 160px;
    }
    
    .btn-project {
        margin-top: 20px;
    }
    
    /* Counter */
    .counter-section {
        padding: 30px 0;
    }
    
    .counter-box {
        min-height: 75px;
        border-bottom: 1px solid rgba(255,255,255,0.05);
        padding: 15px 0;
    }
    
    .border-right::after {
        display: none;
    }
    
    .border-right:nth-child(2n)::after {
        display: none;
    }
    
    .counter-content h3 {
        font-size: 24px;
    }
    
    /* Why Us */
    .why-us .row > div {
        margin-bottom: 20px;
    }
    
    .why-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
    }
    
    .why-icon i {
        font-size: 22px;
    }
    
    /* Testimonials */
    .testimonial-card {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    /* Partners */
    .partner-logo {
        padding: 15px;
        margin-bottom: 15px;
    }
    
    /* CTA */
    .cta-wrapper {
        padding: 40px 25px;
        text-align: center;
    }
    
    .cta-wrapper h2 {
        font-size: 28px;
    }
    
    .footer-cta {
        text-align: center;
    }
    
    .footer-cta .btn {
        margin-top: 15px;
    }
    
    /* Footer */
    .footer {
        padding: 50px 0 20px;
    }
    
    .footer .row > div {
        margin-bottom: 30px;
    }
    
    .footer h5 {
        margin-bottom: 20px;
    }
}

/* =========================================
   MOBILE (max-width: 767px)
   ========================================== */
@media (max-width: 767px) {
    /* General */
    .section-title {
        font-size: 24px;
    }
    
    .section-desc {
        font-size: 13px;
        padding: 0 10px;
    }
    
    .section-tag {
        font-size: 12px;
    }
    
    /* Top Bar */
    .top-bar .contact-info li {
        font-size: 12px;
        margin-right: 10px !important;
    }
    
    .top-bar .social-icons {
        display: none !important;
    }
    
    .top-bar .me-3 {
        margin-right: 8px !important;
        font-size: 12px;
    }
    
    /* Hero */
    .hero-section {
        min-height: 400px;
    }
    
    .hero-section .overlay {
        min-height: 400px;
        padding: 30px 0;
    }
    
    .hero-section h1 {
        font-size: 26px;
    }
    
    .hero-section .lead {
        font-size: 14px;
        margin-bottom: 15px;
    }
    
    .hero-section .btn {
        font-size: 14px;
        padding: 10px 20px;
    }
    
    .feature-box {
        margin-bottom: 10px;
    }
    
    .feature-box i {
        font-size: 22px;
    }
    
    .feature-box span {
        font-size: 13px;
    }
    
    /* Statistics */
    .stats-section {
        margin-top: -20px;
    }
    
    .stats-section .container {
        margin: 0 10px;
        border-radius: 8px;
    }
    
    .stat-card {
        min-height: 85px;
        padding: 15px 12px;
        gap: 12px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .stat-card.with-divider::after {
        height: 45%;
    }
    
    .row > .col:nth-child(2n) .stat-card::after {
        display: none;
    }
    
    .stat-number {
        font-size: 20px;
    }
    
    .stat-label {
        font-size: 11px;
    }
    
    .stat-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }
    
    .stat-icon i {
        font-size: 18px;
    }
    
    /* Services */
    .services {
        padding: 50px 0;
    }
    
    .service-image {
        height: 180px;
    }
    
    .service-content {
        padding: 20px 15px 15px;
    }
    
    .service-content h5 {
        font-size: 17px;
    }
    
    .service-content p {
        font-size: 13px;
    }
    
    /* About */
    .about {
        padding: 50px 0;
        text-align: center;
    }
    
    .about-box {
        text-align: left;
        padding: 15px;
    }
    
    .about img {
        margin-bottom: 20px;
        width: 100%;
        height: auto;
    }
    
    /* Projects */
    .projects {
        padding: 50px 0;
    }
    
    .project-card img {
        height: 220px;
    }
    
    .project-overlay {
        padding: 12px;
    }
    
    .project-overlay h5 {
        font-size: 14px;
    }
    
    /* Counter */
    .counter-section {
        padding: 20px 0;
    }
    
    .counter-box {
        justify-content: flex-start;
        padding: 12px 0;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    
    .counter-content h3 {
        font-size: 22px;
    }
    
    .counter-content span {
        font-size: 11px;
    }
    
    .counter-icon {
        width: 36px;
        height: 36px;
    }
    
    .counter-icon i {
        font-size: 15px;
    }
    
    /* Why Us */
    .why-us {
        padding: 50px 0;
    }
    
    .why-us .row > div {
        margin-bottom: 15px;
    }
    
    .why-icon {
        width: 45px;
        height: 45px;
        min-width: 45px;
    }
    
    .why-icon i {
        font-size: 20px;
    }
    
    /* Testimonials */
    .testimonials {
        padding: 50px 0;
    }
    
    .testimonial-card {
        padding: 20px;
        margin-bottom: 15px;
    }
    
    .testimonial-text {
        font-size: 14px;
    }
    
    /* Partners */
    .partners {
        padding: 40px 0;
    }
    
    .partner-logo {
        padding: 12px;
        margin-bottom: 10px;
    }
    
    /* CTA */
    .cta-wrapper {
        padding: 30px 20px;
        border-radius: 12px;
    }
    
    .cta-wrapper h2 {
        font-size: 24px;
    }
    
    .cta-wrapper p {
        font-size: 14px;
    }
    
    .cta-wrapper .btn {
        padding: 10px 25px;
        font-size: 14px;
    }
    
    .footer-cta {
        padding: 25px 0;
        text-align: center;
    }
    
    .footer-cta h3 {
        font-size: 20px;
    }
    
    .footer-cta p {
        font-size: 14px;
    }
    
    .footer-cta .btn {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    /* Consult Card */
    .consult-card {
        padding: 25px 20px;
        margin: 20px 15px;
    }
    
    .consult-card h3 {
        font-size: 22px;
    }
    
    /* Footer */
    .footer {
        padding: 40px 0 15px;
        text-align: center;
    }
    
    .footer .row > div {
        margin-bottom: 25px;
    }
    
    .footer h5::after {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .footer-links a {
        font-size: 14px;
    }
    
    .footer-links a:hover {
        padding-left: 5px;
    }
    
    .footer-contact li {
        justify-content: center;
        font-size: 14px;
    }
    
    .social-icons {
        justify-content: center;
    }
    
    .footer input {
        text-align: center;
    }
    
    .footer .btn-theme {
        width: 100%;
    }
}

/* =========================================
   SMALL MOBILE (max-width: 575px)
   ========================================== */
@media (max-width: 575px) {
    /* Top Bar - Hide completely */
    .top-bar {
        display: none;
    }
    
    /* General */
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .section-title {
        font-size: 22px;
    }
    
    /* Hero */
    .hero-section {
        min-height: 350px;
    }
    
    .hero-section .overlay {
        min-height: 350px;
    }
    
    .hero-section h1 {
        font-size: 22px;
    }
    
    .hero-section .lead {
        font-size: 13px;
    }
    
    .hero-section .btn {
        font-size: 13px;
        padding: 8px 16px;
    }
    
    /* Statistics */
    .stats-section .container {
        margin: 0 5px;
        border-radius: 6px;
    }
    
    .stat-card {
        min-height: 75px;
        padding: 12px 10px;
        gap: 10px;
    }
    
    .stat-number {
        font-size: 18px;
    }
    
    .stat-label {
        font-size: 10px;
    }
    
    .stat-icon {
        width: 35px;
        height: 35px;
        min-width: 35px;
    }
    
    .stat-icon i {
        font-size: 16px;
    }
    
    /* Services */
    .service-image {
        height: 160px;
    }
    
    .service-content h5 {
        font-size: 16px;
    }
    
    /* Projects */
    .project-card img {
        height: 200px;
    }
    
    .project-overlay h5 {
        font-size: 13px;
    }
    
    .project-overlay span {
        font-size: 11px;
    }
    
    /* Counter */
    .counter-box {
        gap: 10px;
    }
    
    .counter-content h3 {
        font-size: 20px;
    }
    
    /* CTA */
    .cta-wrapper {
        padding: 25px 15px;
    }
    
    .cta-wrapper h2 {
        font-size: 22px;
    }
    
    .cta-wrapper .btn {
        padding: 8px 20px;
        font-size: 13px;
    }
    
    /* Consult Card */
    .consult-card {
        padding: 20px 15px;
        margin: 15px 10px;
    }
    
    .consult-card h3 {
        font-size: 20px;
    }
    
    .consult-card .form-control {
        height: 45px;
        font-size: 14px;
    }
    
    /* Footer */
    .footer {
        padding: 30px 0 10px;
    }
    
    .footer h5 {
        font-size: 16px;
        margin-bottom: 15px;
    }
    
    .footer-contact li {
        font-size: 13px;
    }
    
    .social-icons a {
        width: 35px;
        height: 35px;
        font-size: 13px;
    }
    
    .footer-divider {
        margin: 30px 0 15px;
    }
}

/* =========================================
   EXTRA SMALL MOBILE (max-width: 400px)
   ========================================== */
@media (max-width: 400px) {
    .hero-section h1 {
        font-size: 20px;
    }
    
    .stat-number {
        font-size: 16px;
    }
    
    .stat-label {
        font-size: 9px;
    }
    
    .stat-icon {
        width: 30px;
        height: 30px;
        min-width: 30px;
    }
    
    .stat-icon i {
        font-size: 14px;
    }
    
    .service-image {
        height: 140px;
    }
    
    .project-card img {
        height: 180px;
    }
    
    .section-title {
        font-size: 20px;
    }
}

/* =========================================
   FIX FOR ORIENTATION (Landscape Mobile)
   ========================================== */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-section {
        min-height: 300px;
    }
    
    .hero-section .overlay {
        min-height: 300px;
    }
    
    .hero-section h1 {
        font-size: 24px;
    }
    
    .hero-section .lead {
        font-size: 14px;
        margin-bottom: 10px;
    }
    
    .feature-box {
        margin-bottom: 5px;
    }
    
    .feature-box i {
        font-size: 18px;
    }
    
    .feature-box span {
        font-size: 12px;
    }
}