:root { --red:#C1272D; --grey-50:#f3f4f6; }
.hero--small{ padding: 28px 0; }

.contact-grid{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap:24px; padding:24px 0 56px;
}
.contact-card, .contact-side{
  background:#fff; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.06); padding:16px;
}
.two-cols{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
label{ display:block; margin-bottom:10px; }
input, textarea, select{ width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:8px; font:inherit; }
input:focus, textarea:focus, select:focus{ outline:2px solid var(--red); outline-offset:2px; }
.btn{ padding:10px 14px; border-radius:10px; border:1px solid #e5e7eb; background:#fff; cursor:pointer; font:inherit; }
.btn-primary{ background:var(--red); color:#fff; border-color:var(--red); }
.btn:hover{ filter:brightness(.98); }

.form-actions{ display:flex; align-items:center; gap:12px; margin-top:8px; }
.form-msg{ min-height:1em; font-size:.95rem; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.contact-infos{ margin:0; padding-left:18px; }
.map-wrap{ margin-top:12px; border-radius:12px; overflow:hidden; }
.map-wrap iframe{ width:100%; height:300px; display:block; border:0; }


@media (max-width:1080px){
  .contact-grid{ grid-template-columns: 1fr; }
}
