.contact-section { padding: 40px 0; }
.contact-section .container { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.contact-info h2 { color: #1a3e72; margin-bottom: 20px; }
.info-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 15px; font-size: 1.1rem; }
.info-item .icon { font-size: 1.3rem; }
.inline-qrcode { width: 120px; margin-top: 10px; display: block; }
.contact-form { background: #f8f9fa; padding: 30px; border-radius: 8px; }
.contact-form h3 { margin-bottom: 10px; }
.contact-form form { display: flex; flex-direction: column; gap: 15px; margin-top: 20px; }
.contact-form input, .contact-form select, .contact-form textarea { padding: 10px 15px; border: 1px solid #dee2e6; border-radius: 4px; font-size: 1rem; }
.contact-form button { align-self: flex-start; padding: 12px 30px; }
.map-section { padding: 0 0 40px; }
.map-wrapper { margin-top: 20px; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
@media (max-width: 768px) {
    .contact-section .container { grid-template-columns: 1fr; }
}