.kukan-property-map { margin-block: 20px; }
.kukan-property-map p { margin-bottom: 12px; font-size: 13px; line-height: 1.7; }
.kukan-property-map__canvas { width: 100%; height: 520px; max-height: 70vh; min-height: 320px; margin-top: 16px; background: var(--color-bg01); }
.kukan-property-map__canvas[hidden] { display: none; }
.kukan-map-pin { display: grid; place-items: center; min-width: 34px; height: 34px; padding-inline: 6px; border: 2px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); color: #222; background: #f6dd3b; box-shadow: 0 2px 5px #0005; font: bold 14px sans-serif; }
.kukan-map-pin > span { transform: rotate(45deg); }
.kukan-map-pin.is-multiple { background: #f5b54b; }
.kukan-map-popup { width: 230px; max-width: 60vw; max-height: 320px; overflow-y: auto; }
.kukan-map-popup__card { position: relative; display: grid; gap: 7px; padding: 12px; color: var(--color-txt); text-decoration: none; border-bottom: 1px solid var(--color-border01); }
.kukan-map-popup__card strong { color: var(--color-main); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.kukan-map-popup__card img { display: block; width: 100%; height: 130px; object-fit: cover; }
.kukan-map-popup__new { position: absolute; top: 12px; left: 12px; width: fit-content; padding: 3px 8px; background: var(--color-accent01); color: #fff; font-weight: bold; }

/* Popup price only: reuse the existing house asset and preserve full units for AT. */
.kukan-map-popup__price { display: block; min-width: 0; }
.kukan-map-popup__price-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.kukan-map-popup__price-visual { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px; min-width: 0; font-weight: 700; line-height: 1.4; }
.kukan-map-popup__price-primary { display: inline-flex; align-items: baseline; gap: 4px; max-width: 100%; min-width: 0; font-size: 20px; }
.kukan-map-popup__price-icon { display: inline-block; flex: 0 0 14px; width: 14px; height: 14px; background: currentColor; -webkit-mask: url(../img/common/ico_home01.svg) center / contain no-repeat; mask: url(../img/common/ico_home01.svg) center / contain no-repeat; }
.kukan-map-popup__price-value { min-width: 0; overflow-wrap: anywhere; }
.kukan-map-popup__price-fee { max-width: 100%; font-size: 14px; overflow-wrap: anywhere; }
