/* Project: Adrit Packers and Movers
   Updated CSS: Responsive Fixes for Images and Mobile Menu
*/

:root {
    --primary: #0B3C91;
    --secondary: #F97316;
    --accent: #E8F1FF;
    --text-dark: #0F172A;
    --text-light: #64748B;
    --white: #ffffff;
    --border: #E2E8F0;
    --stars: #F59E0B;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; color: var(--text-dark); line-height: 1.6; background: #fff; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 60px 0; }
.bg-light { background: #F8FAFC; }

/* --- Header & Nav --- */
header { background: var(--white); position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.nav-container { display: flex; justify-content: space-between; align-items: center; height: 80px; }
.logo img { height: 55px; width: auto; display: block; }

.main-nav { display: flex; gap: 20px; list-style: none; align-items: center; }
.main-nav a { text-decoration: none; color: var(--text-dark); font-weight: 600; font-size: 0.95rem; transition: 0.3s; }
.main-nav a:hover { color: var(--primary); }

/* --- Mobile Menu Button (Burger Icon) --- */
.mobile-menu-btn {
    display: none; /* Hidden on desktop */
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    z-index: 1100;
}

.mobile-menu-btn span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--primary);
    border-radius: 3px;
    transition: 0.3s ease;
}

/* --- Hero & Sections --- */
.hero { 
    background: linear-gradient(rgba(11, 60, 145, 0.85), rgba(11, 60, 145, 0.85)), url('../images/kolkata-bg.jpg'); 
    background-size: cover; background-position: center; color: var(--white); padding: 60px 0; 
}

.hero-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; }
.hero-text h1 { color: #fff; font-size: 2.8rem; margin-bottom: 20px; }
.hero-card { background: var(--white); padding: 30px; border-radius: 12px; color: var(--text-dark); box-shadow: 0 10px 25px rgba(0,0,0,0.1); }

/* --- IMAGE FIX: Responsive Resizing --- */
.about-image img, 
.service-card img {
    width: 100%;
    height: auto; /* Maintains original ratio */
    max-height: 400px; 
    object-fit: cover; /* High quality crop for uniform cards */
    border-radius: 8px;
    display: block;
}

/* For the "Adrit Story" image to ensure it is never too small */
.about-image {
    width: 100%;
    display: block;
}

.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.service-card { background: #fff; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; height: 100%; }
.service-body { padding: 20px; }

/* --- Review Summary --- */
.summary-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 30px; align-items: center; }
.bar-track { height: 10px; background: #EDF2F7; border-radius: 10px; overflow: hidden; }
.bar-fill { height: 100%; background: var(--primary); }

/* --- MOBILE RESPONSIVE FIXES --- */
@media (max-width: 900px) {
    .section { padding: 40px 0; }
    
    /* Force grids to 1 column so images are full width */
    .hero-grid, 
    .summary-grid,
    .hero-grid[style*="grid-template-columns: 1fr 1fr"] { 
        grid-template-columns: 1fr !important; 
    }

    .about-text { order: 2; } /* Text below image on mobile */
    .about-image { order: 1; margin-bottom: 20px; }

    /* Show Burger Icon */
    .mobile-menu-btn { display: flex; }

    /* Navigation Overlay */
    .main-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        height: 100vh;
        background: #fff;
        flex-direction: column;
        justify-content: center;
        box-shadow: -10px 0 20px rgba(0,0,0,0.1);
        transition: 0.4s ease;
        z-index: 1050;
    }

    .main-nav.nav-active {
        right: 0;
    }

    .main-nav li { width: 100%; text-align: center; }
    .main-nav a { display: block; padding: 15px; font-size: 1.2rem; }
}

/* Forms & Buttons */
.form-group { margin-bottom: 15px; }
.form-input { width: 100%; padding: 12px; border: 1px solid var(--border); border-radius: 6px; font-size: 1rem; }
.btn-submit { width: 100%; padding: 15px; background: var(--secondary); color: #fff; border: none; border-radius: 6px; font-weight: 700; cursor: pointer; transition: 0.3s; }
.btn-submit:hover { background: #EA580C; }