/* Bigger, clearer contact page */
.contact-page {
  padding: var(--content-pad, 20px);
  font-size: clamp(1rem, 1.05rem + 0.2vw, 1.15rem);
}

.contact-wrap {
  max-width: 920px;
  margin: 0 auto;   /* centered */
}


.contact-wrap h2 {
  font-size: clamp(1.6rem, 2.2vw, 2.1rem);
  margin: 0 0 12px;
}

.contact-item {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: start;
  gap: 10px;
  margin: 12px 0;
}

.contact-ico {
  font-size: 26px;
  opacity: .9;
  line-height: 1;
  margin-top: 2px;
}

.contact-label {
  font-weight: 600;
  opacity: .95;
  margin-bottom: 2px;
}

.contact-link {
  text-decoration: underline;
}

.hours {
  margin: 14px 0 8px;
  opacity: .95;
}

/* Map embed: 16:9 responsive frame */
.map-wrap {
  position: relative;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: #111;
  margin-top: 10px;
  aspect-ratio: 16 / 9;
}

.map-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.contact-location {
  margin-top: 2rem;
}

.map-wrap {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0,0,0,0.4);
}

.map-heading {
  margin-bottom: 0.8rem;
  opacity: 0.8;
  font-weight: 400;
}


/* --- Upsize on ultra-wide screens --- */
@media (min-width: 1920px) {
  .contact-wrap { max-width: 1400px; }
  .contact-page { font-size: clamp(1.14rem, 0.85rem + 0.9vw, 1.6rem); }
  .contact-item { grid-template-columns: 44px 1fr; gap: 14px; }
  .contact-ico { font-size: 30px; }
  .map-wrap { height: clamp(420px, 34vh, 700px); }
}

@media (min-width: 2560px) {
  .contact-wrap { max-width: 1600px; }
  .contact-page { font-size: clamp(1.2rem, 0.8rem + 1.2vw, 1.8rem); }
  .contact-item { grid-template-columns: 48px 1fr; gap: 16px; }
  .contact-ico { font-size: 32px; }
  .map-wrap { height: clamp(500px, 38vh, 780px); }
}

@media (min-width: 3840px) { /* 4K */
  .contact-wrap { max-width: 1800px; }
  .contact-page { font-size: clamp(1.28rem, 0.7rem + 1.6vw, 2rem); }
  .contact-item { grid-template-columns: 52px 1fr; gap: 18px; }
  .contact-ico { font-size: 34px; }
  .map-wrap { height: clamp(580px, 42vh, 900px); }
}
