/* ============ CONTACTO ============ */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:20px}
.loc-card{background:var(--white);border:1px solid var(--line-soft);border-radius:20px;overflow:hidden}
.loc-card .loc-map{aspect-ratio:16/10;width:100%;border:0;filter:grayscale(.25) contrast(1.02)}
.loc-card .loc-body{padding:26px}
.loc-card .loc-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-deep);font-weight:600;margin-bottom:8px}
.loc-card h3{font-size:1.25rem;margin-bottom:14px}
.loc-detail{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink-soft);margin-bottom:10px}
.loc-detail svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--gold-deep)}
.loc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

.contact-form-wrap{background:var(--white);border-radius:20px;border:1px solid var(--line-soft);padding:clamp(26px,4vw,44px);margin-top:20px}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.8rem;color:var(--ink-soft);font-weight:500}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-family:inherit;font-size:.92rem;background:var(--cream);color:var(--ink);transition:border-color .3s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-deep)}
.field textarea{resize:vertical;min-height:100px}
.field-check{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;color:var(--ink-soft)}
.field-check input{margin-top:3px}
.cf-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.cf-note{font-size:.78rem;color:var(--ink-faint)}
.cf-status{font-size:.85rem;margin-top:14px;display:none}
.cf-status.show{display:block}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .loc-grid{grid-template-columns:1fr}
  .cf-grid{grid-template-columns:1fr}
}
