.contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 50px; background-color: var(--fundo-pagina); padding: 50px; border-radius: 10px; }
.contact-info h3 { font-size: 1.6rem; color: var(--azul-escuro); margin-bottom: 20px; }
.contact-info p { margin-bottom: 25px; }
.info-item { display: flex; align-items: flex-start; margin-bottom: 20px; }
.info-item iconify-icon { font-size: 1.5rem; color: var(--dourado); margin-right: 15px; margin-top: 5px; }
.info-item a { color: var(--texto-primario); font-weight: 600; text-decoration: none; }
.info-item a:hover { color: var(--dourado); }

.contact-socials a { color: var(--azul-escuro); font-size: 1.8rem; margin-right: 15px; transition: color 0.2s, transform 0.2s; display: inline-block; }
.contact-socials a:hover { color: var(--dourado); transform: translateY(-2px); }

.contact-form .form-group { margin-bottom: 20px; }
.contact-form label { display: block; margin-bottom: 5px; font-weight: 600; }
.contact-form .input-field, .contact-form .textarea-field { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 5px; font-family: 'Nunito', sans-serif; font-size: 1rem; }
.contact-form .textarea-field { resize: vertical; min-height: 120px; }

/* Feedback Modal (Enviando formspree) */
.feedback-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 2000; display: flex; justify-content: center; align-items: center; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }
.feedback-modal-overlay.visible { opacity: 1; pointer-events: auto; }
.feedback-modal-content { background-color: var(--branco); padding: 40px; border-radius: 12px; text-align: center; transform: scale(0.9); transition: transform 0.3s ease; }
.feedback-modal-overlay.visible .feedback-modal-content { transform: scale(1); }
.feedback-modal-icon { margin-bottom: 20px; display: inline-block; width: 80px; height: 80px; }
.feedback-modal-message { font-size: 1.2rem; font-weight: 700; color: var(--texto-primario); }
.feedback-modal-close-btn { margin-top: 25px; background: var(--dourado); color: var(--azul-escuro); border: none; padding: 10px 25px; border-radius: 6px; cursor: pointer; font-weight: 700; }
.spinner-icon { animation: spin 1s linear infinite; }

@media (max-width: 992px) { .contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .contact-grid { padding: 30px; } }