/* Container Fix */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hero Section */
.contact-hero {
    background: #004a99;
    color: white;
    padding: 80px 0;
    text-align: center;
}
.contact-hero h1 { font-size: 2.8rem; margin-bottom: 10px; }
.contact-hero p { opacity: 0.9; font-size: 1.1rem; }

/* Contact Grid */
.contact-wrapper { padding: 80px 0; background: #f8fafc; }
.contact-grid { 
    display: grid; 
    grid-template-columns: 1fr 1.5fr; 
    gap: 40px; 
    margin-bottom: 60px;
}

/* Left Info Card */
.info-card {
    background: #fff;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    height: 100%;
}
.info-card h3 { color: #004a99; margin-bottom: 20px; }
.info-item { display: flex; gap: 15px; margin-bottom: 25px; }
.info-item .icon { font-size: 24px; }
.info-item strong { display: block; color: #1e293b; font-size: 15px; }
.info-item p { color: #64748b; font-size: 14px; margin: 0; }

/* Contact Form */
.contact-form-container {
    background: #fff;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.contact-form h3 { margin-bottom: 30px; color: #1e293b; }

.form-group { margin-bottom: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

label { display: block; margin-bottom: 8px; font-weight: 600; color: #334155; font-size: 14px; }
input, select, textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    background: #fdfdfd;
}
input:focus, textarea:focus { outline-color: #004a99; border-color: #004a99; }

.btn-submit {
    width: 100%;
    padding: 15px;
    background: #004a99;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.3s;
}
.btn-submit:hover { background: #003366; }

/* Map */
.map-container { 
    margin-top: 50px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .contact-grid { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
}