/* ============================================================
   Dominion Jewelers | Custom Styles
   dominionjewelers.com
   Load via <link> tag in Punchmark Global Header
   ============================================================ */


/* ── Contact Info Block ── */

.dj-contact-info {
  padding: 48px 16px !important;
  background-color: #f8f4f4 !important;
  border-top: 3px solid #500a1d !important;
  border-bottom: 3px solid #500a1d !important;
}

.dj-contact-info__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  align-items: stretch !important;
  background: #ffffff !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 32px rgba(80,10,29,0.10) !important;
  overflow: hidden !important;
}

.dj-contact-info__map {
  flex: 1 1 55% !important;
  min-height: 420px !important;
}

.dj-contact-info__map iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 420px !important;
  display: block !important;
  border: 0 !important;
}

.dj-contact-info__details {
  flex: 1 1 30% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 36px !important;
  justify-content: center !important;
  padding: 40px 36px !important;
  background: #ffffff !important;
}

.dj-contact-info__block {
  border-left: 3px solid #500a1d !important;
  padding-left: 20px !important;
}

.dj-contact-info__heading {
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #500a1d !important;
  font-weight: 600 !important;
  margin-bottom: 14px !important;
}

.dj-contact-info__hours {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dj-contact-info__hours li {
  font-size: 0.975rem !important;
  color: #222 !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid #e6e6e6 !important;
  display: flex !important;
  gap: 8px !important;
}

.dj-contact-info__hours li:last-child {
  border-bottom: none !important;
}

.dj-contact-info__hours li span {
  font-weight: 600 !important;
  min-width: 90px !important;
  color: #333 !important;
}

.dj-contact-info__address {
  font-style: normal !important;
  font-size: 0.975rem !important;
  color: #333 !important;
  line-height: 1.8 !important;
}

.dj-contact-info__address strong {
  display: block !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 2px !important;
}

.dj-contact-info__phone {
  display: inline-block !important;
  margin-top: 6px !important;
  color: #500a1d !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

.dj-contact-info__phone:hover {
  color: #721730 !important;
  text-decoration: underline !important;
}

@media (max-width: 767px) {
  .dj-contact-info__inner {
    flex-direction: column !important;
  }

  .dj-contact-info__map,
  .dj-contact-info__map iframe {
    min-height: 300px !important;
  }

  .dj-contact-info__details {
    padding: 32px 24px !important;
  }
}
