.contact-section { max-width: 1200px; margin: 0 auto 100px auto; padding: 0 20px; }

/* Fundo agora usa a variável do cartão */
.contact-container { display: flex; gap: 40px; background: var(--cor-cartao); padding: 40px; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.04); transition: background-color 0.3s ease; }
.contact-info { flex: 1; display: flex; flex-direction: column; gap: 25px; }

.contact-card { background: var(--fundo-site); padding: 20px 25px; border-radius: 12px; border-left: 4px solid var(--azul-etcetera); transition: transform 0.3s ease, background-color 0.3s ease; }
.contact-card:hover { transform: translateX(5px); }
.contact-card h3 { display: flex; align-items: center; color: var(--cinza-escuro); font-size: 1.1rem; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 1px; transition: color 0.3s ease; }

/* Corrigida a cor dos textos e links */
.contact-card p, .contact-card a { color: var(--cinza-escuro); opacity: 0.8; margin: 0; font-size: 1rem; line-height: 1.6; text-decoration: none; transition: color 0.3s, opacity 0.3s; }
.contact-card a:hover { color: var(--laranja-saltimbanco); font-weight: bold; opacity: 1; }

.icon-contact { width: 24px; height: 24px; stroke: var(--laranja-saltimbanco); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; fill: none; vertical-align: middle; margin-right: 10px; display: inline-block; }

.social-btn {background-color: var(--fundo-site); width: 45px; height: 45px; border-radius: 50%; color: var(--azul-etcetera) !important; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: all 0.3s;}
.social-btn:hover {background-color: var(--laranja-saltimbanco);color: #fff !important; transform: translateY(-3px);}

/* --- MAPA DO GOOGLE --- */
.contact-map { 
    flex: 1.2; 
    height: 400px; 
    border-radius: 12px; 
    overflow: hidden; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    display: flex; 
}

.contact-map iframe { 
    width: 100% !important; 
    height: 100% !important; 
    border: none !important; 
    display: block; 
}

/* Responsividade */
@media (max-width: 850px) {
    .contact-container { flex-direction: column; }
    .contact-map { height: 350px; } 
}