/* style.css - UPDATED VERSION */
:root {
    --primary: #008080; /* Teal */
    --accent: #FFD700;  /* Yellow */
    --dark: #333;
    --light: #f9f9f9;
    --white: #fff;
    --text-grey: #555;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
body { line-height: 1.6; color: var(--dark); background: var(--light); display: flex; flex-direction: column; min-height: 100vh; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; height: auto; } /* Ensures images are responsive */

/* Header */
header { background: var(--white); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 1000; }
.container { max-width: 1200px; margin: auto; padding: 0 20px; }
.navbar { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; }
.logo img { height: 60px; width: auto; } 
.nav-links { display: flex; gap: 25px; }
.nav-links a { font-weight: 600; color: var(--dark); transition: 0.3s; }
.nav-links a:hover, .nav-links a.active { color: var(--primary); border-bottom: 2px solid var(--accent); }

/* Mobile Menu */
.menu-toggle { display: none; font-size: 1.5rem; cursor: pointer; }

/* UPDATED Hero Section */
/* Note: I added a darker overlay (0.7) so the text pops against the photo */
.hero { 
    background: linear-gradient(rgba(0, 50, 50, 0.85), rgba(0, 128, 128, 0.7)), url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=1600&q=80'); 
    background-size: cover; 
    background-position: center; 
    color: var(--white); 
    padding: 140px 20px; 
    text-align: center; 
}
.hero h1 { font-size: 3.5rem; margin-bottom: 15px; font-weight: 700; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
.hero p { font-size: 1.3rem; margin-bottom: 30px; opacity: 0.95; max-width: 800px; margin-left: auto; margin-right: auto; }
.btn { display: inline-block; background: var(--accent); color: var(--dark); padding: 15px 35px; font-weight: bold; border-radius: 5px; transition: 0.3s; font-size: 1.1rem; }
.btn:hover { background: #e6c200; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4); }

/* Sections */
.section { padding: 80px 0; }
.section-title { text-align: center; margin-bottom: 50px; }
.section-title h2 { font-size: 2.5rem; color: var(--primary); margin-bottom: 10px; }
.section-title p { color: var(--text-grey); max-width: 700px; margin: auto; }

/* NEW: Two Column Split Layout */
.split-container { display: flex; align-items: center; gap: 50px; flex-wrap: wrap; }
.split-text { flex: 1; min-width: 300px; }
.split-image { flex: 1; min-width: 300px; }
.split-image img { border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); width: 100%; object-fit: cover; height: 400px; }

/* Grid Layouts */
.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.card { background: var(--white); padding: 30px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: 0.3s; border-bottom: 4px solid transparent; }
.card:hover { transform: translateY(-5px); border-bottom-color: var(--accent); }
.card-icon { font-size: 3rem; margin-bottom: 20px; display: block; }
.card h3 { margin-bottom: 15px; color: var(--primary); }

/* Footer & Rest... (Same as before, simplified here for length) */
footer { background: var(--dark); color: var(--white); padding: 40px 0 20px; margin-top: auto; }
.footer-content { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 30px; margin-bottom: 30px; }
.footer-logo { font-size: 1.5rem; font-weight: bold; color: var(--primary); margin-bottom: 15px; }
.footer-links a { display: block; margin-bottom: 10px; color: #ccc; }
.footer-links a:hover { color: var(--accent); }
.copyright { text-align: center; border-top: 1px solid #444; padding-top: 20px; font-size: 0.9rem; color: #888; }
.whatsapp-float { position: fixed; bottom: 20px; right: 20px; z-index: 1000; background: #25D366; border-radius: 50%; width: 60px; height: 60px; display: flex; justify-content: center; align-items: center; box-shadow: 0 4px 10px rgba(0,0,0,0.3); transition: 0.3s; }
.whatsapp-float:hover { transform: scale(1.1); }
.whatsapp-float img { width: 35px; height: 35px; }

/* Responsive */
@media(max-width: 768px) {
    .navbar { flex-direction: column; align-items: flex-start; }
    .nav-links { display: none; width: 100%; flex-direction: column; padding-top: 20px; }
    .nav-links.active { display: flex; }
    .menu-toggle { display: block; position: absolute; right: 20px; top: 25px; }
    .hero h1 { font-size: 2.5rem; }
    .split-container { flex-direction: column; } /* Stacks image and text on mobile */
    .split-image { order: -1; } /* Puts image on top in mobile view */
}

/* --- NEW: Service Image Cards --- */
.service-card {
    background: var(--white);
    border-radius: 10px;
    overflow: hidden; /* Keeps the image inside the round corners */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.service-card:hover {
    transform: translateY(-10px); /* Lifts up on hover */
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

.service-img-box {
    height: 200px; /* Fixed height for uniformity */
    width: 100%;
    overflow: hidden;
}

.service-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image fills box without stretching */
    transition: transform 0.5s ease;
}

.service-card:hover .service-img-box img {
    transform: scale(1.1); /* Smooth zoom effect */
}

.service-content {
    padding: 30px 25px;
    text-align: center;
    position: relative;
    flex-grow: 1;
}

/* The floating icon circle */
.service-icon-float {
    width: 70px;
    height: 70px;
    background: var(--accent);
    color: var(--dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    position: absolute;
    top: -35px; /* Pulls it up to overlap image */
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid var(--white);
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
}

/* --- NEW: About Page Styles --- */

/* Smaller Page Header for internal pages */
.page-header {
    background: linear-gradient(rgba(0, 128, 128, 0.9), rgba(0, 50, 50, 0.8)), url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1600&q=80');
    background-size: cover;
    background-position: center;
    color: var(--white);
    padding: 100px 20px; /* Shorter than Home Hero */
    text-align: center;
}
.page-header h1 { font-size: 3rem; margin-bottom: 10px; }

/* Mission & Vision Cards */
.mv-card {
    background: var(--primary);
    color: var(--white);
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    transition: 0.3s;
    border: 2px solid rgba(255,255,255,0.1);
}
.mv-card:hover { transform: translateY(-5px); background: #006666; }
.mv-icon { font-size: 3rem; margin-bottom: 20px; color: var(--accent); display: block; }

/* Team Section */
.team-card {
    background: var(--white);
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    overflow: hidden;
    text-align: center;
    transition: 0.3s;
}
.team-card:hover { transform: translateY(-5px); }
.team-img { width: 100%; height: 250px; object-fit: cover; }
.team-info { padding: 20px; }
.team-name { font-size: 1.2rem; font-weight: bold; color: var(--primary); }
.team-role { color: #777; font-size: 0.9rem; margin-bottom: 10px; }

/* ===== Pop-up Modal (Careers & Contact) ===== */

.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;           /* shown via JS */
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.modal-overlay.active {
    display: flex;
}

.modal-box {
    background: var(--white);
    max-width: 520px;
    width: 92%;
    border-radius: 10px;
    padding: 25px 25px 22px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.18);
    position: relative;
}

.modal-close {
    position: absolute;
    top: 10px;
    right: 14px;
    border: none;
    background: none;
    font-size: 1.4rem;
    cursor: pointer;
    color: var(--text-grey);
}

.modal-title {
    margin-bottom: 6px;
    font-size: 1.3rem;
    color: var(--primary);
}

.modal-subtitle {
    font-size: 0.9rem;
    color: #777;
    margin-bottom: 16px;
}

.modal-message {
    display: none;
    margin-bottom: 12px;
    font-size: 0.9rem;
    padding: 8px 10px;
    border-radius: 5px;
}

.modal-message.success {
    display: block;
    background: #e6ffed;
    color: #0a7a2a;
}

.modal-message.error {
    display: block;
    background: #ffe6e6;
    color: #b30000;
}

/* Tighter form alignment inside modals & contact box */
.modal-box .form-group,
.contact-form .form-group {
    margin-bottom: 14px;
}

.modal-box .form-group label,
.contact-form .form-group label {
    margin-bottom: 6px;
    font-size: 0.9rem;
}

.modal-box input,
.modal-box select,
.modal-box textarea,
.contact-form input,
.contact-form select,
.contact-form textarea {
    font-size: 0.9rem;
}

/* Make full-width CTA buttons consistent */
.btn.btn-full {
    width: 100%;
    text-align: center;
    border: none;
    cursor: pointer;
}
.contact-card {
    background: var(--white);
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* Ensure labels sit above fields in modal & contact forms */
.modal-box .form-group label,
.contact-form .form-group label {
    display: block;          /* <--- this is the key line */
    margin-bottom: 6px;
    font-size: 0.9rem;
}

.modal-box input,
.modal-box select,
.modal-box textarea,
.contact-form input,
.contact-form select,
.contact-form textarea {
    display: block;
    width: 100%;             /* full width under the label */
    font-size: 0.9rem;
}

/* Inputs in modal & contact: borderless, soft background */
.modal-box input,
.modal-box select,
.modal-box textarea,
.contact-form input,
.contact-form select,
.contact-form textarea {
    display: block;
    width: 100%;
    font-size: 0.9rem;
    padding: 11px 12px;              /* slightly broader */
    border: none;                    /* remove border */
    border-radius: 6px;
    background: #f3f5f6;             /* light grey so box is visible */
    outline: none;
}

.modal-box input:focus,
.modal-box select:focus,
.modal-box textarea:focus,
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    background: #eef7f7;             /* subtle change on focus */
    box-shadow: 0 0 0 2px rgba(0,128,128,0.15);
}
