/* Interactive SVG region map + synced card carousel (SvgMapBlock). */
.svgmap-block .svgmap-map-frame {
  width: 100%; max-width: 1024px; margin: 0 auto;
  background-size: cover; background-position: center; border-radius: 10px;
}
.svgmap-block .region-map { display: block; width: 100%; height: auto; }

/* Region hover / active highlight (JS toggles .is-active). */
.svgmap-block .rm-region { fill: transparent; cursor: pointer; transition: fill .12s ease; }
.svgmap-block .rm-region.is-active { fill: rgba(224, 0, 0, .30); }
.svgmap-block .rm-region-label { cursor: pointer; }
.svgmap-block a { text-decoration: none; }

/* Card carousel. */
.svgmap-swiper { max-width: 1024px; margin: 0 auto; padding: 16px 0 8px; }
.svgmap-card {
  display: block; height: 100%; text-decoration: none; color: inherit; background: #fff;
  border: 1px solid #e2e2e2; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.10);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.svgmap-card.is-active { border-color: #e00000; box-shadow: 0 3px 12px rgba(224,0,0,.18); }
.svgmap-active-card { position: sticky; top: 1rem; }
.svgmap-card__img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; }
.svgmap-card__body { padding: 14px 18px; }
.svgmap-card__eyebrow {
  color: #8a8a8a; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
}
.svgmap-card__title { font-size: 1.3rem; font-weight: 800; color: #222; }
.svgmap-card__text { color: #555; font-size: .95rem; margin-top: 4px; }

/* Mobile: centered carousel with blurred, peeking neighbours (japan-guide style). */
@media (max-width: 991px) {
  .svgmap-swiper .swiper-slide:not(.swiper-slide-active) {
    filter: blur(2.5px); opacity: .55; transition: filter .25s ease, opacity .25s ease;
  }
}

/* White circular nav buttons with red chevrons. */
.svgmap-swiper .swiper-button-prev, .svgmap-swiper .swiper-button-next {
  width: 46px; height: 46px; border-radius: 50%; background: #fff; color: #e00000;
  box-shadow: 0 2px 8px rgba(0,0,0,.22); top: 50%; margin-top: 0;
}
.svgmap-swiper .swiper-button-prev::after, .svgmap-swiper .swiper-button-next::after {
  font-size: 18px; font-weight: 700;
}
