/* 2026-08-31 shop_info final: match local preview map polish. */
html body.lower-page-shop_info .ssm-mapwrap {
  position: relative !important;
  max-width: 560px !important;
  margin: 0 auto 42px !important;
  padding: clamp(18px, 5vw, 34px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(196, 188, 174, 0.54) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.54) 42%, transparent 72%),
    linear-gradient(145deg, #fffefd 0%, #f5f1e9 48%, #e6ded1 100%) !important;
  box-shadow:
    0 24px 54px rgba(54, 45, 34, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 -20px 42px rgba(118, 105, 86, 0.08) !important;
}

html body.lower-page-shop_info .ssm-mapwrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 12px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(90deg, transparent 0 24%, rgba(139, 130, 116, 0.08) 24.3%, transparent 24.6% 49%, rgba(139, 130, 116, 0.07) 49.3%, transparent 49.6% 73%, rgba(139, 130, 116, 0.06) 73.3%, transparent 73.6%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.44), rgba(255, 255, 255, 0)) !important;
  pointer-events: none !important;
}

html body.lower-page-shop_info .ssm-canvas {
  max-width: 500px !important;
  filter: drop-shadow(0 18px 22px rgba(72, 62, 49, 0.12)) !important;
}

html body.lower-page-shop_info .ssm-japan-svg {
  overflow: visible !important;
}

html body.lower-page-shop_info .ssm-japan-svg path {
  fill: rgba(250, 248, 243, 0.98) !important;
  stroke: rgba(145, 135, 120, 0.76) !important;
  stroke-width: 1.9 !important;
  filter:
    drop-shadow(0 2px 0 rgba(255, 255, 255, 0.92))
    drop-shadow(0 5px 3px rgba(120, 108, 91, 0.22))
    drop-shadow(0 12px 12px rgba(80, 70, 58, 0.16)) !important;
  transition: fill 180ms ease, stroke 180ms ease, filter 180ms ease !important;
}

html body.lower-page-shop_info .ssm-canvas::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.50), transparent 18%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.28), transparent 42%) !important;
  pointer-events: none !important;
}

html body.lower-page-shop_info .ssm-overlay {
  z-index: 3 !important;
  min-height: 34px !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.14)),
    rgba(91, 84, 75, 0.64) !important;
  color: #fff !important;
  box-shadow:
    0 9px 18px rgba(63, 55, 45, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.50),
    inset 0 -12px 18px rgba(28, 26, 24, 0.12) !important;
  backdrop-filter: blur(14px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.14) !important;
}

html body.lower-page-shop_info .ssm-overlay::before {
  background:
    radial-gradient(circle at 24% 18%, rgba(255, 255, 255, 0.52), transparent 18%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.30), transparent 58%) !important;
}

html body.lower-page-shop_info .ssm-overlay:hover:not(.is-disabled) {
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow:
    0 14px 24px rgba(63, 55, 45, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

html body.lower-page-shop_info .ssm-overlay.is-disabled {
  opacity: 0.74 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.18)),
    rgba(214, 208, 198, 0.58) !important;
  color: rgba(98, 91, 82, 0.78) !important;
  box-shadow:
    0 7px 14px rgba(63, 55, 45, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
}

html body.lower-page-shop_info .ssm-overlay-label {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: clamp(10px, 2.8vw, 13px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.22) !important;
}

html body.lower-page-shop_info .ssm-overlay.is-disabled .ssm-overlay-label {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.54) !important;
}

@media (max-width: 480px) {
  html body.lower-page-shop_info .ssm-mapwrap {
    padding: 18px 10px 22px !important;
    border-radius: 22px !important;
  }

  html body.lower-page-shop_info .ssm-overlay {
    min-height: 28px !important;
  }

  html body.lower-page-shop_info .ssm-overlay--chugoku {
    width: 24% !important;
  }
}

/* Client 2026-09-06: instruction and compact card; preserve map coordinates. */
html body.lower-page-shop_info .ssm-mapwrap { margin-bottom: 24px !important; }
html body.lower-page-shop_info .ssm-map-instruction {
  position: relative; z-index: 2; margin: 0 0 8px; text-align: center;
  color: #34302c; font-size: clamp(13px, 3.5vw, 16px); font-weight: 700; line-height: 1.6;
}

/* Audit: trim unused SVG canvas; retain geography and rebase label positions. */
html body.lower-page-shop_info .ssm-canvas { aspect-ratio: 538.16 / 570 !important; }
html body.lower-page-shop_info .ssm-overlay:not(.is-disabled) {
  background: #6b5b48 !important; color: #fff !important;
  box-shadow: 0 3px 8px rgba(50,40,30,.18) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html body.lower-page-shop_info .ssm-overlay::before { display: none !important; }
html body.lower-page-shop_info .ssm-overlay-label { font-size: 12px !important; text-shadow: none !important; }
html body.lower-page-shop_info .ssm-overlay { min-height: 36px !important; }
html body.lower-page-shop_info .ssm-overlay:focus-visible { outline: 3px solid #175bb5; outline-offset: 3px; }
html body.lower-page-shop_info .ssm-map-instruction { margin-bottom: 14px; }
