/* ============================================================
   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);
}

/* --- THREE-location modifier.
   auto-fit with a 560px floor fits exactly two cards in the container, so an
   odd third card lands alone on row two and the row reads broken. Rock Run has
   three clinics, so this forces one full-width split card per row: each clinic
   keeps a readable map and a full NAP block instead of being squeezed into a
   third of the row. Use this whenever the card count is odd and above one. --- */
.sec-13-location__grid--stack {
  grid-template-columns: 1fr;
}

.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: 1fr;
  }
  .sec-13-location__card {
    grid-template-columns: 1fr;
  }
  .sec-13-location__map {
    min-height: 280px;
  }
  .sec-13-location__map iframe {
    min-height: 252px;
  }
}
