/* ============================================================
   Contact overlay: scoped tweaks ONLY for #contactOverlay
   - Make the map reach the bottom edge of the viewport
   - Make address more readable while reducing vertical footprint
   ============================================================ */

#contactOverlay .overlay__panel {
  /* Panel width override (scoped) */
  --contact-panel-w: 35vw;
  /* Keep original padding on top/sides, remove bottom gap */
  padding-bottom: 0;

  /* Let the content fill full height and keep the map pinned to the bottom
     when the form/meta content is shorter than the viewport. */
  display: flex;
  flex-direction: column;
}

#contactOverlay .contactGrid {
  /* Overlay forces this to 1 column already; use flex for predictable height fill */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

/* Form: force full-width controls inside the overlay */
#contactOverlay .contactGrid__form {
  width: 100%;
  max-width: none;
}
#contactOverlay .contactGrid__form .formRow {
  width: 100%;
}
#contactOverlay .contactGrid__form .input,
#contactOverlay .contactGrid__form textarea,
#contactOverlay .contactGrid__form select,
#contactOverlay .contactGrid__form .btn {
  width: 100%;
  box-sizing: border-box;
}
#contactOverlay .contactGrid__form .btn {
  display: block;
}

#contactOverlay .contactGrid__side {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  gap: 10px;
}

#contactOverlay .contactMap {
  /* Fill remaining space; keep a sensible minimum for small screens */
  flex: 1;
  height: auto;
  min-height: 220px;
}

/* Reduce extra spacing above the address block */
#contactOverlay .contactMeta {
  margin-top: 8px;
  white-space: normal; /* address is now rendered compact */
}

/* Address: larger type, tighter line-height (net: more readable + less height) */
#contactOverlay .contactMeta__address {
  font-size: 14px;
  line-height: 1.25;
}

/* Keep Email/Phone compact */
#contactOverlay .contactMeta__item {
  font-size: 12px;
  line-height: 1.25;
}

/* Tighten spacing between meta rows */
#contactOverlay .contactMeta > div {
  margin: 0;
}
#contactOverlay .contactMeta > div + div {
  margin-top: 4px;
}

/* Responsive: full-width panel on small screens */
@media (max-width: 920px) {
  #contactOverlay .overlay__panel {
    --contact-panel-w: 100vw;
  }
}
