/* Contact page layout (80% container) */
#main.contact .container { width: var(--container) !important; margin: 0 auto; }

.contact__cover {
  height: var(--h, 180px);
  border-radius: 14px;
  margin: 18px 0 24px;
  background: #f1f5fb;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: var(--shadow-sm);
}
.contact__cover.has-img {
  aspect-ratio: 34 / 9;
  height: auto;
  min-height: var(--h, 180px);
}
.contact__cover.no-img { border: 1px dashed #d3dbea; }

.contact__section { margin: 10px 0 28px; }
.contact__title {
  margin: 0 0 14px;
  color: var(--brand);
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}
.contact__title::after{
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 4px; background:#021734; border-radius: 999px;
}
.contact__subtitle { color: #021734; margin: 0 0 12px; }

/* 3/5 - 2/5 grid for map/info */
.contact__grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: stretch; }
.contact__card { background: transparent; border:0; border-radius: 0; padding: 0; box-shadow: none; }
.contact__panel { display:block; }
.contact__panel .contact__list{ margin: 0; }

.contact__list { list-style: none; margin: 0; padding: 0; display: block; }
.contact__list li { display:block; color:#223; line-height: 1.4; margin: 0; padding: 0; }
.contact__list strong { display:block; margin: 0 0 2px; color: #5a6b7d; font-weight: 700; min-width: 0; }
.contact__list a, .contact__list span { display:block; margin: 0 0 8px; }

.contact__map { border-radius: 0; overflow: visible; box-shadow: none; background: transparent; }
.contact__map iframe { display:block; width:100%; height:420px; border:0; }
.contact__map--placeholder { padding: 36px; text-align:center; color:#6f7f93; font-size: 15px; }
/* Flash messages */
.flash{ margin: 8px 0 16px; padding: 10px 12px; border-radius: 10px; font-weight:600; }
.flash--ok{ background:#e8f7ee; color:#0a7a3d; border:1px solid #bde6cd; }
.flash--err{ background:#ffefef; color:#9a1f1f; border:1px solid #f2caca; }

/* Form */
.form { display: grid; gap: 14px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact__form .form__row{ grid-template-columns: 1fr; }
.form__row label { display:flex; flex-direction: column; gap: 6px; }
.form__row input, .form__row textarea {
  display:block; width:100%; padding:12px 12px; border:1px solid #d9e2ef; border-radius: 10px;
  outline:none; background:#fff; box-shadow: inset 0 1px 0 rgba(10,31,68,.03);
}
.form__row input:focus, .form__row textarea:focus { border-color:#a9bbd4; box-shadow: 0 0 0 3px rgba(33,90,166,.08); }
.form__row textarea { resize: vertical; }
.form__row .form__full { grid-column: 1 / -1; }

.form__actions { margin-top: 6px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius: 12px; padding: 12px 16px; font-weight:700; cursor:pointer; border:0; }
.btn--primary { background: var(--brand); color: #fff; }
.btn--primary:hover { filter: brightness(.95); }

@media (max-width: 768px){
  .form__row { grid-template-columns: 1fr; }
  .contact__grid { grid-template-columns: 1fr; }
}

/* Honeypot visually hidden but accessible for bots */
.hpwrap{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
