* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Roboto', sans-serif; background:#f5f5f5; color:#333; line-height:1.6; }
.container { max-width:1100px; margin:0 auto; padding:0 20px; }

/* HEADER & FOOTER */
.header, .footer { background:#0f3d0f; color:white; }
.header .container, .footer .container { display:flex; justify-content:space-between; align-items:center; padding:15px 0; flex-wrap:wrap; }
.logo-img { height:55px; filter: brightness(1.1); }
.nav a { color:white; margin:0 15px; text-decoration:none; font-weight:500; font-size:15px; }
.nav a.active { text-decoration:underline; }

/* MAIN */
.main { padding:40px 0; }
h1 { color:#0f3d0f; text-align:center; margin-bottom:10px; font-size:2.2rem; }
.subtitle { text-align:center; color:#2e7d32; margin-bottom:30px; font-weight:500; font-size:1.1rem; }

.job-form { background:white; padding:35px; border-radius:14px; box-shadow:0 6px 20px rgba(0,0,0,0.08); }
.job-form h2 { color:#0f3d0f; margin:28px 0 16px; border-bottom:2px solid #2e7d32; padding-bottom:8px; font-size:1.4rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:22px; }
.form-grid input, .form-grid select, .form-grid textarea {
    width:100%; padding:13px; border:1px solid #bbb; border-radius:6px; font-size:15px; transition:border 0.3s;
}
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus {
    border-color:#2e7d32; outline:none;
}
.form-grid textarea { grid-column:1 / -1; }

.file-input { margin:12px 0; }
.file-input label { display:block; margin-bottom:6px; font-weight:500; color:#0f3d0f; font-size:14px; }

.btn-submit {
    background:#2e7d32; color:white; padding:15px; border:none; border-radius:8px;
    font-size:18px; font-weight:500; cursor:pointer; width:100%; margin-top:25px;
    transition:background 0.3s;
}
.btn-submit:hover { background:#1a5d1a; }

.alert { padding:16px; border-radius:8px; margin-bottom:25px; text-align:center; font-weight:500; }
.alert.success { background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.alert.error { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; }

/* FOOTER */
.footer-info, .footer-social { text-align:center; margin:12px 0; }
.email-link { color:#a8e6a8 !important; text-decoration:none; font-weight:500; }
.email-link:hover { color:white !important; }
.footer-social a {
    color:white; font-size:20px; margin:0 10px; transition:color 0.3s;
}
.footer-social a:hover { color:#a8e6a8; }
.footer-bottom { text-align:center; padding:14px; background:#0a2b0a; font-size:13px; color:#ccc; }

/* RESPONSIVE */
@media (max-width:768px) {
    .form-grid { grid-template-columns:1fr; }
    .header .container, .footer .container { flex-direction:column; text-align:center; }
    .nav { margin-top:12px; }
    .nav a { margin:0 8px; font-size:14px; }
    h1 { font-size:1.8rem; }
}