* { margin:0; padding:0; box-sizing:border-box; }

body { 
    font-family: Arial, sans-serif; 
    background: #ffffff; 
    min-height:100vh; 
    display:flex; 
    justify-content:center; 
    align-items:center; 
    padding:20px; 
}

.form-container { 
    background: #2d4a8c;
    padding:50px 40px; 
    max-width:700px; 
    width:100%; 
    border-radius: 12px; 
    box-shadow:0 10px 40px rgba(0,0,0,0.2);
}

h1 { 
    color: #222222; 
    font-size:42px; 
    margin-bottom:10px; 
    font-weight:300; 
    letter-spacing:1px;
}

.title-underline { 
    width:250px; 
    height:2px; 
    background: #000000; 
    margin-bottom:50px; 
}

.form-group { margin-bottom:20px; position:relative; }

.required-star { 
    color: #000000; 
    font-size:20px; 
    margin-bottom:8px; 
    display:block; 
}

input[type="text"], 
input[type="email"], 
input[type="tel"], 
select { 
    width:100%; 
    padding:18px 20px; 
    border:none; 
    background:#f5f5f5; 
    font-size:16px; 
    color: #222222; 
    outline:none; 
    border-radius: 12px;
}

input::placeholder { 
    color: #999999; 
}

.phone-wrapper { display:flex; background:#f5f5f5; gap:5px; }

.phone-wrapper select { 
    flex:0 0 120px; 
    color: #222222; 
}

.phone-input { flex:1; }

.error-message { 
    color: #000000; 
    font-size:14px; 
    margin-top:8px; 
    display:none; 
}

.error-message.show { display:block; }

.submit-btn { 
    width:100%; 
    padding:20px; 
    background: #0b6efd; 
    border:none; 
    color: #222222; 
    font-size:18px; 
    cursor:pointer; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    gap:10px; 
    margin-top:30px; 
    border-radius: 12px;
    transition:background 0.3s ease; 
}

.submit-btn:hover { opacity:0.9; }

.submit-btn::before { content:'➤'; font-size:20px; }

@media (max-width:600px) { 
    .form-container { padding:40px 25px; } 
    h1 { font-size:32px; } 
    .phone-wrapper { flex-direction:column; } 
}
