.kb-visit {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--kb-gap-group);
}

.kb-visit > .kb-sectionhead {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.kb-visit__rows {
  display: flex;
  flex-direction: column;
  gap: var(--kb-gap-group);
  min-width: 0;
}

.kb-visit__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "question more" "answer more";
  align-items: center;
  column-gap: var(--kb-space-24);
  row-gap: var(--kb-space-6);
  padding: var(--kb-space-24) var(--kb-space-32);
  background: var(--kb-surface-content);
  transition: background var(--kb-duration) ease;
}

.kb-visit__question {
  grid-area: question;
  margin: 0;
  color: var(--kb-text-primary);
  font-size: var(--kb-type-h2);
  font-weight: var(--kb-weight-heading);
  line-height: var(--kb-leading-heading);
  transition: color var(--kb-duration) ease;
}

.kb-visit__answer {
  grid-area: answer;
  color: var(--kb-text-secondary);
  font-size: var(--kb-type-body);
  line-height: var(--kb-leading-body);
  text-wrap: pretty;
}

.kb-visit__answer > * {
  margin: 0;
}

.kb-visit__answer > * + * {
  margin-top: var(--kb-gap-text);
}

.kb-visit__answer a {
  position: relative;
  z-index: 2;
}

.kb-visit__more {
  grid-area: more;
  position: static;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  min-height: var(--kb-tap-min);
  color: var(--kb-link);
  font-size: var(--kb-type-h3);
  text-decoration: none;
  transition: color var(--kb-duration) ease;
}

.kb-visit__more::after {
  content: "";
  position: absolute;
  inset: 0;
}

.kb-visit__more > .kb-arrow {
  padding-inline-end: 0;
}

.kb-visit__more > .kb-arrow::after {
  margin-left: 0;
}

.kb-visit__item:has(.kb-visit__more:is(:hover, :focus-visible)) :is(.kb-visit__question, .kb-visit__more) {
  color: var(--kb-link-hover);
}

.kb-visit__item:has(.kb-visit__more:is(:hover, :focus-visible)) .kb-arrow::before {
  transform: translateX(0.282em) rotate(45deg);
}

.kb-visit__item:has(.kb-visit__more:is(:hover, :focus-visible)) .kb-arrow::after {
  transform: scaleX(1.32);
}

.kb-visit__item:has(.kb-visit__more:focus-visible) {
  outline: var(--kb-focus-ring-width) solid var(--kb-focus-ring-outer);
  outline-offset: var(--kb-focus-ring-width);
}

.kb-visit__more:focus-visible {
  outline: 0;
  box-shadow: none;
}

.kb-visit > .kb-map.kb-hero-frame {
  min-height: 22rem;
}

.kb-visit > .kb-map .kb-map__stage.kb-hero {
  height: 100%;
  min-height: 22rem;
}

@media (width <= 720px) {
  .kb-visit {
    grid-template-columns: minmax(0, 1fr);
  }

  .kb-visit__item {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "question" "answer" "more";
    padding: var(--kb-space-20) var(--kb-space-16);
  }

  .kb-visit__more {
    justify-self: start;
  }

  .kb-visit > .kb-map.kb-hero-frame,
  .kb-visit > .kb-map .kb-map__stage.kb-hero {
    min-height: 18rem;
  }
}
