/* ============================================================
   13-location — scoped under .sec-13-location
   ============================================================ */

.sec-13-location {
  background: radial-gradient(120% 85% at 50% 0%, var(--bone) 0%, var(--bone-2) 55%, #e7e0d2 100%);
}

/* --- Location card array: auto-fit grid.
   One card fills the row (full-width split card); a second card
   drops the layout into a multi-card row automatically. --- */
.sec-13-location__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(560px, 1fr));
  gap: clamp(1.5rem, 3vw, 2rem);
}

.sec-13-location__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

/* --- Map half with custom styled frame --- */
.sec-13-location__map {
  position: relative;
  display: flex;
  min-height: 380px;
  padding: 14px;
  background: var(--bone-2);
}
.sec-13-location__map::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px solid var(--accent-soft);
  border-radius: calc(var(--radius-card) + 4px);
  pointer-events: none;
  z-index: 2;
}
.sec-13-location__map iframe {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 352px;
  border: 0;
  border-radius: var(--radius-card);
  position: relative;
  z-index: 1;
}

/* --- Info half --- */
.sec-13-location__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.4rem;
  padding: clamp(1.75rem, 1.3rem + 2vw, 3rem);
}

.sec-13-location__name {
  margin-bottom: 0.1rem;
}

.sec-13-location__rows {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.sec-13-location__row {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.sec-13-location__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.sec-13-location__row a,
.sec-13-location__row span {
  padding-top: 0.45rem;
  font-weight: 500;
}
.sec-13-location__row a {
  text-decoration: none;
  color: var(--text-on-bone);
  transition: color 200ms var(--ease-out);
}
.sec-13-location__row a:hover {
  color: var(--accent);
}

.sec-13-location__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.4rem;
}

@media (max-width: 760px) {
  .sec-13-location__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .sec-13-location__card {
    grid-template-columns: minmax(0, 1fr);
  }
  .sec-13-location__map {
    min-height: 280px;
  }
  .sec-13-location__map iframe {
    min-height: 252px;
  }
  /* Long unbreakable tokens (the email address) were forcing the card's
     1fr track past its container, pushing the whole info column off the
     right edge of the screen instead of centering within it. */
  .sec-13-location__info {
    min-width: 0;
  }
  .sec-13-location__row a,
  .sec-13-location__row span {
    overflow-wrap: anywhere;
    min-width: 0;
  }
}
