.camping-map {
  --camping-map-content-max: 103.75rem;
  --camping-map-media-ratio: 1920 / 1277;
  color: var(--dia-front-color-heading);
  background: var(--dia-front-color-surface);
}
.camping-map__inner {
  display: grid;
  gap: var(--dia-front-space-40);
  justify-items: center;
  padding: var(--dia-front-space-56) var(--dia-front-container-gutter);
}
.camping-map__title {
  width: 100%;
  text-align: center;
}
.camping-map__title :where(h2) {
  color: inherit;
  text-wrap: balance;
  margin: 0;
  font-family: var(--dia-front-font-heading);
  font-size: var(--dia-front-font-size-section-title-mobile);
  font-weight: var(--dia-front-font-weight-heading);
  line-height: var(--dia-front-line-height-solid);
}
.camping-map__frame {
  box-sizing: border-box;
  width: min(100%, var(--camping-map-content-max));
  padding: var(--dia-front-space-16);
  overflow: hidden;
  border-radius: var(--dia-front-radius-24);
  background: var(--dia-front-color-white);
}
.camping-map__media {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: var(--camping-map-media-ratio);
  overflow: hidden;
  border-radius: var(--dia-front-radius-16);
}
.camping-map__media > :where(dia-supermedia),
.camping-map__media > :where(dia-supermedia) > *,
.camping-map__media > :where(dia-supermedia) :where(.supermedia-image, .supermedia-video, .supermedia-swiper, .supermedia-gallery-swiper),
.camping-map__media > :where(dia-supermedia) :where(.swiper-container, .swiper-wrapper, .swiper-slide) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.camping-map__media > :where(dia-supermedia) :where(img, video, hls-video) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.camping-map__media :where(img) {
  object-fit: contain;
}
.camping-map__detail-action {
  display: flex;
  justify-content: center;
  padding-top: var(--dia-front-space-16);
}
.camping-map__original-link {
  max-width: 100%;
}

@media (min-width: 62rem) {
  .camping-map {
    --camping-map-display-scale: 1.25;
  }
  .camping-map__inner {
    gap: var(--dia-front-space-64);
    padding-block: var(--dia-front-space-144);
  }
  .camping-map__title :where(h2) {
    font-size: calc(var(--dia-front-font-size-section-title) * var(--camping-map-display-scale));
  }
  .camping-map__frame {
    padding: var(--dia-front-space-32);
    border-radius: var(--dia-front-space-48);
  }
}
