/* ── CONTATO / FAQ ── */
#contact { background: var(--gray-100); padding: 7rem 0; }
.contact-box {
   background: var(--navy);
   border-radius: 14px;
   padding: 2.75rem;
}
.contact-box h2 {
   font-family: 'Playfair Display', serif;
   font-size: 1.8rem;
   color: var(--white);
   margin-bottom: 0.75rem;
}
.contact-box .sub { font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.8; margin-bottom: 1.75rem; }
.contact-line {
   display: flex; align-items: flex-start; gap: 0.75rem;
   margin-bottom: 0.85rem;
   font-size: 13px; color: rgba(255,255,255,0.65);
}
.contact-line i { color: var(--accent); font-size: 15px; margin-top: 1px; flex-shrink: 0; }
.btn-wa {
   background: #25D366; color: var(--white);
   font-family: 'Montserrat', sans-serif;
   font-weight: 700; font-size: 13px;
   padding: 0.8rem 1.5rem; border-radius: 6px; border: none;
   display: inline-flex; align-items: center; gap: 8px;
   text-decoration: none;
   transition: background 0.2s, transform 0.15s;
   margin-top: 1.25rem;
}
.btn-wa:hover { background: #1EBE57; transform: translateY(-2px); color: var(--white); }
.btn-wa i { font-size: 17px; }

/* FAQ */
.faq-label {
   font-family: 'Montserrat', sans-serif;
   font-size: 11px; font-weight: 700;
   letter-spacing: 2.5px; text-transform: uppercase;
   color: var(--navy); margin-bottom: 1.25rem;
   display: block;
}
.accordion-item {
   border: none;
   border-left: 2px solid transparent;
   background: transparent;
   transition: border-color 0.2s;
   margin-bottom: 4px;
}
.accordion-item:has(.accordion-button:not(.collapsed)) {
   border-left-color: var(--accent);
   background: var(--white);
   border-radius: 0 8px 8px 0;
}
.accordion-button {
   background: transparent !important;
   color: var(--navy) !important;
   font-family: 'Montserrat', sans-serif;
   font-size: 13.5px; font-weight: 600;
   box-shadow: none !important;
   padding: 1rem 1rem 1rem 0.75rem;
   border-bottom: 1px solid var(--gray-200);
}
.accordion-item:has(.accordion-button:not(.collapsed)) .accordion-button {
   border-bottom: none;
}
.accordion-button:not(.collapsed) { color: var(--navy) !important; }
.accordion-body {
   font-family: 'Montserrat', sans-serif;
   font-size: 13px; color: var(--gray-500);
   line-height: 1.85; padding: 0.25rem 1rem 1rem 0.75rem;
}
.faq-badge {
   font-size: 10px; font-weight: 700;
   letter-spacing: 0.5px; vertical-align: middle;
   white-space: nowrap;
}

/* ── MAPA ── */
#map { padding: 0; }
#mapid { height: 380px; }
