
/* MapLibre 全球矢量地图：弹窗沿用 Kanso 原有地点卡片视觉。 */
.kanso-footprints-map .maplibregl-canvas{outline:none;}
.kanso-footprints-map .maplibregl-ctrl-attrib{font-size:10px;line-height:1.25;background:rgba(255,255,255,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.kanso-map-popup .maplibregl-popup-content{padding:0;background:transparent;box-shadow:none;border-radius:11px;overflow:visible;}
.kanso-map-popup .maplibregl-popup-tip{border-top-color:#fff;border-bottom-color:#fff;}
.kanso-map-popup .maplibregl-popup-close-button{display:none;}
.kanso-map-popup{z-index:40;}
.kanso-footprints-map .maplibregl-marker{will-change:transform;}

.kanso-footprints-page{
  width:min(100%,760px);
  margin:0 auto 58px;
  padding:0 18px;
  box-sizing:border-box;
  position:relative;
}
.kanso-footprints-stats{display:none}
.kanso-footprints-stats__intro{
  font-size:21px;
  line-height:1.5;
  letter-spacing:.16em;
  color:rgba(35,35,35,.70);
  white-space:nowrap;
  font-weight:400;
}
.kanso-footprints-map{
  width:100%;
  height:min(78vh,760px);
  min-height:520px;
  border:1px solid rgba(25,35,45,.12);
  border-radius:12px;
  overflow:hidden;
  background:#dce6e4;
  box-shadow:0 14px 34px rgba(24,34,44,.12),0 2px 8px rgba(24,34,44,.06);
  position:relative;
}
.kanso-footprints-map:before{
  content:"";
  position:absolute;
  z-index:20;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.kanso-footprints-map__notice{
  height:100%;
  display:grid;
  place-items:center;
  padding:24px;
  text-align:center;
  box-sizing:border-box;
  color:rgba(40,50,55,.68);
}

/* 左下角统计，贴在地图内部，尽量接近截图中的白色圆角信息牌。 */
.kanso-footprints-stat{
  position:absolute;
  z-index:30;
  right:12px;
  left:auto;
  bottom:12px;
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-start;
  gap:5px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 22px rgba(40,55,60,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:none;
}
.kanso-footprints-stat__label{font-size:14px;line-height:1;color:#4f575a;letter-spacing:.01em}
.kanso-footprints-stat__value{font-size:22px;line-height:1;font-weight:700;letter-spacing:-.035em;color:#d8422f}
.kanso-footprints-stat__unit{font-size:14px;color:#4f585b}

/* 自定义地图缩放按钮 */
.kanso-map-tools{
  position:absolute;
  z-index:31;
  right:12px;
  top:12px;
  width:28px;
  max-width:28px;
  min-width:28px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(40,50,58,.10);
  border-radius:7px;
  background:rgba(255,255,255,.96);
  box-shadow:0 3px 10px rgba(25,35,40,.16);
}
.kanso-map-tools button{
  appearance:none;
  width:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  height:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(60,70,75,.12);
  background:transparent;
  color:#314253;
  font:400 16px/28px Arial,sans-serif !important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.kanso-map-tools button:last-child{border-bottom:0}
.kanso-map-tools button:hover{background:rgba(245,247,248,.96)}
.kanso-map-tools button:active{background:rgba(232,237,239,.96)}
.kanso-map-tools button:focus-visible{position:relative;z-index:1;outline:2px solid #4b8a62;outline-offset:-2px}
.kanso-map-tools button[data-action="home"],.kanso-map-tools button[data-action="theme"]{display:grid;place-items:center;font-size:0 !important}
.kanso-map-tools button[data-action="home"] svg,.kanso-map-tools button[data-action="theme"] svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kanso-map-tools button[data-action="theme"][aria-pressed="true"]{background:#e8edf0;color:#263849}
.kanso-map-tools.is-night{background:rgba(30,34,39,.96);border-color:rgba(255,255,255,.14)}
.kanso-map-tools.is-night button{color:#eef1f4;border-color:rgba(255,255,255,.12)}
.kanso-map-tools.is-night button:hover{background:rgba(255,255,255,.12)}
.kanso-map-tools.is-night button[data-action="theme"][aria-pressed="true"]{background:#4c5967;color:#fff}

/* 高德底图上的地点 pin 与聚合点：复刻截图中的圆形彩色足迹标记。 */
.kanso-map-pin{
  position:relative;
  width:42px;
  height:42px;
  border-radius:50%;
  box-sizing:border-box;
  border:3px solid rgba(255,255,255,.96);
  background:linear-gradient(145deg,#bfe9ef 0 49%,#5fc878 50% 100%);
  box-shadow:0 2px 9px rgba(0,0,0,.26),0 0 0 1px rgba(75,95,100,.18);
}
.kanso-map-pin:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:18px;
  border-radius:50% 50% 50% 0;
  background:#df4937;
  transform:translate(-50%,-43%) rotate(-45deg);
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.kanso-map-pin span{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}

.kanso-map-cluster{
  box-sizing:border-box;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(224,76,58,.92);
  border:2px solid rgba(255,255,255,.96);
  box-shadow:0 2px 6px rgba(0,0,0,.22);
  color:#fff;
  font:700 12px/1 Arial,sans-serif;
}

.kanso-map-info{
  position:relative;
  width:min(300px,calc(100vw - 34px));
  background:#fff;
  border-radius:11px;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(20,30,35,.22);
  color:#222;
}
.kanso-map-info__image-link{display:block;text-decoration:none}
.kanso-map-info__image{display:block;width:100%;height:170px;object-fit:cover;background:#eef1f1}
.kanso-map-info__body{padding:12px 14px 14px}
.kanso-map-info__location{display:flex;align-items:baseline;gap:10px;line-height:1.25;margin:0 0 10px;padding-right:24px}
.kanso-map-info__location strong{font-size:19px;font-weight:750;letter-spacing:.01em}
.kanso-map-info__location span{font-size:13px;color:#858a8d}
.kanso-map-info__posts{display:flex;flex-direction:column;gap:10px}
.kanso-map-info__post{display:flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none}
.kanso-map-info__post-title{font-size:15px;line-height:1.4;color:#252525;text-decoration:underline;text-decoration-color:rgba(70,70,70,.45);text-underline-offset:3px}
.kanso-map-info__post-excerpt{font-size:12px;line-height:1.5;color:#74797c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kanso-map-info__more{font-size:13px;color:#8a8f91;padding-top:2px}
.kanso-map-info__meta{margin-top:8px;font-size:12px;line-height:1.55;color:#6b7174;word-break:break-word}
.kanso-map-info__close{
  position:absolute;
  z-index:2;
  top:8px;
  right:8px;
  width:26px;
  height:26px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(45,50,52,.72);
  color:#fff;
  font-size:20px;
  line-height:24px;
  cursor:pointer;
}
.kanso-map-info__close:hover{background:rgba(30,35,38,.86)}

.kanso-footprints-list{display:none}
.kanso-footprints-empty{padding:64px 0;text-align:center;opacity:.58}
body.kanso-map-footprints-page .wp-block-post-title{display:block !important;text-align:center;margin:38px 0 30px;font-size:42px;line-height:1.2;font-weight:500;letter-spacing:.04em}

html.theme-dark .kanso-footprints-stats__intro{color:rgba(245,245,245,.76)}
html.theme-dark .kanso-footprints-map{border-color:rgba(255,255,255,.12)}
html.theme-dark .kanso-footprints-stat{background:rgba(24,28,30,.92);border-color:rgba(255,255,255,.14)}
html.theme-dark .kanso-footprints-stat__label,html.theme-dark .kanso-footprints-stat__unit{color:rgba(255,255,255,.78)}
html.theme-dark .kanso-map-tools{background:rgba(30,34,36,.94)}
html.theme-dark .kanso-map-tools button{color:#fff;border-color:rgba(255,255,255,.1)}
html.theme-dark .kanso-map-info{background:#fff !important;color:#222 !important}
html.theme-dark .kanso-map-info__meta{color:#6b7174 !important}

@media(max-width:600px){
  .kanso-footprints-page{width:100%;margin:0 auto 38px;padding:0 12px}
  .kanso-footprints-stats{display:none}
  .kanso-footprints-map{
    width:89%;
    height:auto;
    min-height:0;
    aspect-ratio:0.614/1;
    margin-left:auto;
    margin-right:auto;
    border-radius:8px;
    box-shadow:0 5px 16px rgba(24,34,44,.10);
  }
  .kanso-footprints-stat{right:27px;left:auto;bottom:12px;padding:18px 26px;gap:8px}
  .kanso-footprints-stat__label{font-size:20px}
  .kanso-footprints-stat__value{font-size:31px}
  .kanso-footprints-stat__unit{font-size:20px}
  .kanso-map-tools{right:12px;top:12px;width:38px;max-width:38px;min-width:38px}
  .kanso-map-tools button{width:38px !important;min-width:38px !important;max-width:38px !important;height:38px !important;min-height:38px !important;max-height:38px !important}
  .kanso-map-info{width:min(340px,calc(100vw - 34px))}
  .kanso-map-info__image{height:150px}
  .kanso-map-info__body{padding:15px 17px 17px}
  .kanso-map-info__location strong{font-size:21px}
  .kanso-map-info__location span{font-size:15px}
  .kanso-map-info__post-title{font-size:17px}
  .kanso-map-info__meta{font-size:14px}
}
@media(max-width:390px){
  .kanso-footprints-map{width:89%;aspect-ratio:0.614/1;min-height:0}
  .kanso-footprints-stat{right:22px;left:auto;bottom:50px;padding:15px 20px}
  .kanso-footprints-stat__label{font-size:17px}
  .kanso-footprints-stat__value{font-size:26px}
  .kanso-footprints-stat__unit{font-size:17px}
}

/* 截图中的地点照片标记：圆形缩略图 + 白色外圈 + 轻微阴影 */
.kanso-map-pin--photo{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.kanso-map-pin--photo:before{display:none}
.kanso-map-pin--photo span{
  left:50%;top:50%;width:12px;height:12px;
  background:rgba(255,255,255,.86);
  box-shadow:0 1px 4px rgba(0,0,0,.22);
}

/* 手机端统一缩小地图控件、聚合点与地点卡，避免高 DPI 屏幕下视觉放大。 */
.kanso-map-info{width:min(300px,calc(100vw - 34px)) !important;background:#fff !important;color:#222 !important;border-radius:11px !important;}
.kanso-map-info__image{height:140px !important;}
.kanso-map-info__body{padding:12px 14px 14px !important;}
.kanso-map-info__location strong{font-size:19px !important;color:#222 !important;}
.kanso-map-info__location span{font-size:13px !important;color:#858a8d !important;}
.kanso-map-info__post-title{font-size:15px !important;line-height:1.4 !important;color:#252525 !important;}
.kanso-map-info__post-excerpt{font-size:12px !important;line-height:1.5 !important;color:#74797c !important;}
.kanso-map-info__meta{font-size:12px !important;line-height:1.55 !important;color:#6b7174 !important;}
.kanso-map-info__close{width:26px !important;height:26px !important;font-size:20px !important;line-height:24px !important;}
@media(max-width:600px){
  body.kanso-map-footprints-page .wp-block-post-title{margin:26px 0 25px;font-size:42px}
  .kanso-footprints-page{padding:0}
  .kanso-footprints-map{width:89%;margin-left:auto;margin-right:auto}
  .kanso-map-tools{right:10px;top:10px;width:28px;max-width:28px;min-width:28px}
  .kanso-map-tools button{width:28px !important;min-width:28px !important;max-width:28px !important;height:28px !important;min-height:28px !important;max-height:28px !important;font-size:16px !important;line-height:28px !important}
  .kanso-map-info{width:min(300px,calc(100vw - 34px)) !important}
  .kanso-map-info__image{height:140px !important}
  .kanso-map-info__body{padding:12px 14px 14px !important}
  .kanso-map-info__location strong{font-size:19px !important}
  .kanso-map-info__location span{font-size:13px !important}
  .kanso-map-info__post-title{font-size:15px !important}
  .kanso-map-info__meta{font-size:12px !important}
  .kanso-footprints-stat{right:12px;bottom:12px;padding:8px 12px;gap:5px}
  .kanso-footprints-stat__label{font-size:14px}
  .kanso-footprints-stat__value{font-size:22px}
  .kanso-footprints-stat__unit{font-size:14px}
}
@media(max-width:390px){
  .kanso-footprints-map{width:89%;aspect-ratio:0.614/1;min-height:0}
  .kanso-footprints-stat{right:10px;bottom:10px;padding:7px 10px}
  .kanso-footprints-stat__label{font-size:13px}
  .kanso-footprints-stat__value{font-size:20px}
  .kanso-footprints-stat__unit{font-size:13px}
}

/* 1.0.27：进一步缩小移动端足迹标记与控件，并修复聚合数字点击后的地点列表。 */
.kanso-map-pin{
  width:28px !important;
  height:28px !important;
  border-width:2px !important;
  box-shadow:0 1px 5px rgba(0,0,0,.24),0 0 0 1px rgba(75,95,100,.14) !important;
}
.kanso-map-pin:before{width:11px !important;height:11px !important}
.kanso-map-pin span{width:4px !important;height:4px !important}
.kanso-map-pin--photo span{width:6px !important;height:6px !important}
.kanso-map-cluster{border-width:2px !important;font-size:11px !important}
.kanso-map-info--cluster .kanso-map-info__body{padding:11px 13px 13px !important}
.kanso-map-info__cluster-list{display:flex;flex-direction:column;gap:5px;max-height:240px;overflow:auto}
.kanso-map-info__cluster-item{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:7px 8px;border:1px solid rgba(35,45,50,.10);border-radius:7px;background:#f7f8f8;color:#222;text-align:left;cursor:pointer;font:inherit}
.kanso-map-info__cluster-item:hover{background:#eef2f2}
.kanso-map-info__cluster-name{font-size:13px;font-weight:650;line-height:1.35}
.kanso-map-info__cluster-region{font-size:11px;color:#7a8083;white-space:nowrap}
.kanso-map-tools{width:28px !important;max-width:28px !important;min-width:28px !important;border-radius:7px !important}
.kanso-map-tools button{width:28px !important;min-width:28px !important;max-width:28px !important;height:28px !important;min-height:28px !important;max-height:28px !important;font-size:16px !important;line-height:28px !important}
.kanso-map-tools button[data-action="home"] svg,.kanso-map-tools button[data-action="theme"] svg{width:15px;height:15px}
.kanso-footprints-stat{right:10px !important;bottom:10px !important;padding:4px 7px !important;gap:3px !important}
.kanso-footprints-stat__label{font-size:11px !important}
.kanso-footprints-stat__value{font-size:16px !important}
.kanso-footprints-stat__unit{font-size:11px !important}
@media(max-width:600px){
  .kanso-map-pin{width:28px !important;height:28px !important}
  .kanso-map-tools{right:10px !important;top:10px !important;width:28px !important;max-width:28px !important;min-width:28px !important}
  .kanso-map-tools button{width:28px !important;min-width:28px !important;max-width:28px !important;height:28px !important;min-height:28px !important;max-height:28px !important;font-size:16px !important;line-height:28px !important}
  .kanso-map-tools button[data-action="home"] svg,.kanso-map-tools button[data-action="theme"] svg{width:15px;height:15px}
  .kanso-footprints-stat{right:10px !important;bottom:10px !important;padding:4px 7px !important;gap:3px !important}
}

/* 1.0.28：选中地点后只显示名称，列表也不显示省/市或序号。 */
.kanso-map-info--cluster .kanso-map-info__location span{display:none !important}
.kanso-map-info__cluster-item{justify-content:flex-start !important;padding:9px 10px !important}
.kanso-map-info__cluster-name{font-size:14px;line-height:1.4;font-weight:650;color:#222}
.kanso-map-info__cluster-region{display:none !important}
.kanso-map-info__location strong{display:block !important}

/* 1.0.29：进一步缩小地点名称信息框，移动端保持紧凑。 */
.kanso-map-info{
  width:min(220px,calc(100vw - 44px)) !important;
  border-radius:9px !important;
}
.kanso-map-info__image{height:90px !important;}
.kanso-map-info__body{padding:9px 11px 11px !important;}
.kanso-map-info__location strong{font-size:13px !important;line-height:1.25 !important;}
.kanso-map-info__post-title{font-size:13px !important;line-height:1.35 !important;}
.kanso-map-info__post-excerpt{font-size:11px !important;line-height:1.4 !important;}
.kanso-map-info__meta{font-size:10px !important;line-height:1.45 !important;}
.kanso-map-info__close{width:22px !important;height:22px !important;font-size:17px !important;line-height:20px !important;}
.kanso-map-info--cluster .kanso-map-info__body{padding:8px 10px 10px !important;}
.kanso-map-info__cluster-list{gap:4px !important;max-height:190px !important;}
.kanso-map-info__cluster-item{padding:6px 7px !important;border-radius:6px !important;}
.kanso-map-info__cluster-name{font-size:11px !important;line-height:1.25 !important;}
@media(max-width:600px){
  .kanso-map-info{width:min(220px,calc(100vw - 44px)) !important;}
  .kanso-map-info__image{height:90px !important;}
  .kanso-map-info__body{padding:9px 11px 11px !important;}
  .kanso-map-info__location strong{font-size:13px !important;line-height:1.25 !important;}
  .kanso-map-info__post-title{font-size:13px !important;}
  .kanso-map-info__meta{font-size:10px !important;}
}
/* 1.0.32：手机端进一步缩小聚合图标。 */
@media(max-width:600px){
  .kanso-map-cluster{
    width:22px !important;
    height:22px !important;
    border-width:1.5px !important;
    box-shadow:0 1px 4px rgba(0,0,0,.18) !important;
    font-size:10px !important;
  }
  .kanso-map-cluster span{font-size:10px !important;line-height:1 !important;}
}

/* 1.0.33：聚合地点列表允许手机端独立纵向滑动，不把滑动手势交给地图。 */
.kanso-map-info--cluster .kanso-map-info__cluster-list{
  touch-action:pan-y !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  pointer-events:auto !important;
}
.kanso-map-info--cluster .kanso-map-info__cluster-item{
  touch-action:manipulation !important;
  pointer-events:auto !important;
}
@media(max-width:600px){
  .kanso-map-info--cluster .kanso-map-info__cluster-list{
    max-height:180px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }
}

/* 1.0.34：足迹页顶部标题改为“一程山水，一段人间”，不再显示大号“足迹”。 */
body.kanso-map-footprints-page .wp-block-post-title{
  font-size:0 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  margin:30px 0 24px !important;
}
body.kanso-map-footprints-page .wp-block-post-title::after{
  content:'一程山水，一段人间';
  display:block;
  font-size:30px;
  line-height:1.35;
  font-weight:500;
  letter-spacing:.08em;
  color:inherit;
}
@media(max-width:600px){
  body.kanso-map-footprints-page .wp-block-post-title{margin:22px 0 22px !important}
  body.kanso-map-footprints-page .wp-block-post-title::after{
    font-size:24px;
    letter-spacing:.06em;
  }
}


/* 1.0.42：地点详情改为旅行足迹卡片样式。仅影响地图地点详情。 */
.kanso-map-info--place{
  width:min(360px,calc(100vw - 34px)) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(20,30,35,.22) !important;
}
.kanso-map-info--place .kanso-map-info__image-link{display:block !important}
.kanso-map-info--place .kanso-map-info__image{
  width:100% !important;
  height:150px !important;
  object-fit:cover !important;
  display:block !important;
}
.kanso-map-info--place .kanso-map-info__body{
  padding:15px 18px 17px !important;
}
.kanso-map-info--place .kanso-map-info__location{
  display:flex !important;
  align-items:baseline !important;
  gap:10px !important;
  margin:0 0 9px !important;
  padding-right:28px !important;
}
.kanso-map-info--place .kanso-map-info__location strong{
  display:inline !important;
  font-size:24px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
  color:#161616 !important;
}
.kanso-map-info--place .kanso-map-info__location span{
  display:inline !important;
  font-size:17px !important;
  line-height:1.3 !important;
  color:#8b8b8b !important;
}
.kanso-map-info--place .kanso-map-info__posts{
  gap:3px !important;
}
.kanso-map-info--place .kanso-map-info__post{
  display:block !important;
  padding:0 !important;
  color:#5d6f8c !important;
  text-decoration:underline !important;
  text-decoration-color:rgba(93,111,140,.75) !important;
  text-underline-offset:2px !important;
}
.kanso-map-info--place .kanso-map-info__post-title{
  display:inline !important;
  font-size:18px !important;
  line-height:1.45 !important;
  color:#5d6f8c !important;
  text-decoration:none !important;
}
.kanso-map-info--place .kanso-map-info__post-excerpt{display:none !important}
.kanso-map-info--place .kanso-map-info__close{
  top:12px !important;
  right:12px !important;
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  background:rgba(20,25,25,.78) !important;
  color:#fff !important;
  font-size:21px !important;
  line-height:26px !important;
}
.kanso-map-info--place .kanso-map-info__close:hover{background:rgba(20,25,25,.9) !important}
.kanso-map-info--place:not(:has(.kanso-map-info__image)){
  width:min(360px,calc(100vw - 34px)) !important;
}
@media(max-width:600px){
  .kanso-map-info--place{width:min(360px,calc(100vw - 28px)) !important;border-radius:12px !important}
  .kanso-map-info--place .kanso-map-info__image{height:145px !important}
  .kanso-map-info--place .kanso-map-info__body{padding:13px 16px 15px !important}
  .kanso-map-info--place .kanso-map-info__location strong{font-size:21px !important}
  .kanso-map-info--place .kanso-map-info__location span{font-size:15px !important}
  .kanso-map-info--place .kanso-map-info__post-title{font-size:16px !important;line-height:1.42 !important}
  .kanso-map-info--place .kanso-map-info__close{top:10px !important;right:10px !important;width:27px !important;height:27px !important}
}

/* 1.0.43：地点详情按参考图重做移动端比例。注意高 DPI 手机截图的物理像素约为 CSS 像素的 1.5 倍。 */
.kanso-map-info--place{
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.kanso-map-info--place .kanso-map-info__location strong,
.kanso-map-info--place .kanso-map-info__location span{
  white-space:normal !important;
}
@media(max-width:600px){
  .kanso-map-info--place{
    width:240px !important;
    max-width:240px !important;
    min-width:240px !important;
    border-radius:11px !important;
    box-shadow:0 8px 22px rgba(20,30,35,.20) !important;
  }
  .kanso-map-info--place .kanso-map-info__image{
    height:118px !important;
    width:240px !important;
    object-fit:cover !important;
  }
  .kanso-map-info--place .kanso-map-info__body{
    padding:10px 12px 12px !important;
  }
  .kanso-map-info--place .kanso-map-info__location{
    gap:8px !important;
    margin:0 0 7px !important;
    padding-right:25px !important;
    align-items:baseline !important;
  }
  .kanso-map-info--place .kanso-map-info__location strong{
    font-size:18px !important;
    line-height:1.3 !important;
    font-weight:750 !important;
  }
  .kanso-map-info--place .kanso-map-info__location span{
    font-size:13px !important;
    line-height:1.3 !important;
    color:#8a8a8a !important;
  }
  .kanso-map-info--place .kanso-map-info__posts{
    gap:2px !important;
  }
  .kanso-map-info--place .kanso-map-info__post-title{
    font-size:15px !important;
    line-height:1.45 !important;
    color:#5d6f8c !important;
  }
  .kanso-map-info--place .kanso-map-info__close{
    top:9px !important;
    right:9px !important;
    width:26px !important;
    height:26px !important;
    font-size:19px !important;
    line-height:24px !important;
  }
}


/* 1.0.44：足迹页标题移入地图左上角，并按手机参考图缩小地点卡片。 */
body.kanso-map-footprints-page .wp-block-post-title{display:none !important;}
.kanso-footprints-map{position:relative !important;overflow:hidden !important;}
.kanso-footprints-map__title{
  position:absolute !important;
  z-index:35 !important;
  top:14px !important;
  left:16px !important;
  right:16px !important;
  margin:0 !important;
  padding:0 !important;
  font-size:20px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
  letter-spacing:.05em !important;
  color:rgba(28,34,36,.88) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  pointer-events:none !important;
  text-shadow:0 1px 3px rgba(255,255,255,.78) !important;
}
.kanso-map-info--place{
  width:300px !important;
  max-width:300px !important;
  min-width:300px !important;
  border-radius:12px !important;
}
.kanso-map-info--place .kanso-map-info__image{height:105px !important;}
.kanso-map-info--place .kanso-map-info__body{padding:11px 13px 13px !important;}
.kanso-map-info--place .kanso-map-info__location{gap:7px !important;margin-bottom:6px !important;padding-right:24px !important;}
.kanso-map-info--place .kanso-map-info__location strong{font-size:19px !important;line-height:1.25 !important;}
.kanso-map-info--place .kanso-map-info__location span{font-size:13px !important;line-height:1.25 !important;}
.kanso-map-info--place .kanso-map-info__post-title{font-size:14px !important;line-height:1.4 !important;}
.kanso-map-info--place .kanso-map-info__close{top:8px !important;right:8px !important;width:25px !important;height:25px !important;font-size:18px !important;line-height:23px !important;}
@media(max-width:600px){
  .kanso-footprints-map__title{
    top:11px !important;
    left:13px !important;
    right:13px !important;
    font-size:17px !important;
    line-height:1.25 !important;
    letter-spacing:.04em !important;
  }
  .kanso-map-info--place{
    width:180px !important;
    max-width:180px !important;
    min-width:180px !important;
    border-radius:10px !important;
    box-shadow:0 7px 18px rgba(20,30,35,.18) !important;
  }
  .kanso-map-info--place .kanso-map-info__image{width:180px !important;height:88px !important;}
  .kanso-map-info--place .kanso-map-info__body{padding:8px 10px 10px !important;}
  .kanso-map-info--place .kanso-map-info__location{gap:6px !important;margin-bottom:5px !important;padding-right:22px !important;}
  .kanso-map-info--place .kanso-map-info__location strong{font-size:16px !important;line-height:1.25 !important;}
  .kanso-map-info--place .kanso-map-info__location span{font-size:11px !important;line-height:1.25 !important;}
  .kanso-map-info--place .kanso-map-info__post-title{font-size:13px !important;line-height:1.35 !important;}
  .kanso-map-info--place .kanso-map-info__close{top:7px !important;right:7px !important;width:23px !important;height:23px !important;font-size:17px !important;line-height:21px !important;}
}

/* 1.0.45：进一步缩小手机端地点详情卡片及地址名称。 */
@media(max-width:600px){
  .kanso-map-info--place{
    width:155px !important;
    max-width:155px !important;
    min-width:155px !important;
    border-radius:9px !important;
  }
  .kanso-map-info--place .kanso-map-info__image{
    width:155px !important;
    height:68px !important;
  }
  .kanso-map-info--place .kanso-map-info__body{
    padding:7px 8px 8px !important;
  }
  .kanso-map-info--place .kanso-map-info__location{
    gap:5px !important;
    margin-bottom:4px !important;
    padding-right:18px !important;
  }
  .kanso-map-info--place .kanso-map-info__location strong{
    font-size:14px !important;
    line-height:1.2 !important;
  }
  .kanso-map-info--place .kanso-map-info__location span{
    font-size:9px !important;
    line-height:1.2 !important;
  }
  .kanso-map-info--place .kanso-map-info__post-title{
    font-size:11px !important;
    line-height:1.3 !important;
  }
  .kanso-map-info--place .kanso-map-info__close{
    top:5px !important;
    right:5px !important;
    width:20px !important;
    height:20px !important;
    font-size:15px !important;
    line-height:18px !important;
  }
}

/* 1.0.48：再次缩小手机端地点详情卡片，避免遮挡地图。 */
@media(max-width:600px){
  .kanso-map-info--place{
    width:128px !important;
    max-width:128px !important;
    min-width:128px !important;
    border-radius:8px !important;
    box-shadow:0 5px 13px rgba(20,30,35,.16) !important;
  }
  .kanso-map-info--place .kanso-map-info__image{
    width:128px !important;
    height:54px !important;
  }
  .kanso-map-info--place .kanso-map-info__body{
    padding:6px 7px 7px !important;
  }
  .kanso-map-info--place .kanso-map-info__location{
    gap:4px !important;
    margin-bottom:3px !important;
    padding-right:17px !important;
  }
  .kanso-map-info--place .kanso-map-info__location strong{
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
  }
  .kanso-map-info--place .kanso-map-info__location span{
    font-size:8px !important;
    line-height:1.2 !important;
  }
  .kanso-map-info--place .kanso-map-info__post-title{
    font-size:9px !important;
    line-height:1.25 !important;
  }
  .kanso-map-info--place .kanso-map-info__close{
    top:4px !important;
    right:4px !important;
    width:18px !important;
    height:18px !important;
    font-size:13px !important;
    line-height:16px !important;
  }
}

/* 1.0.49：修正高 DPI 手机下地点卡片视觉尺寸偏大的问题。之前仅缩 CSS 宽度，物理屏幕仍显得过大；这里继续压缩实际内容尺寸。 */
@media(max-width:600px){
  .kanso-map-info--place{
    width:92px !important;
    max-width:92px !important;
    min-width:92px !important;
    border-radius:7px !important;
    box-shadow:0 4px 10px rgba(20,30,35,.14) !important;
    overflow:hidden !important;
  }
  .kanso-map-info--place .kanso-map-info__image{
    width:92px !important;
    height:40px !important;
    display:block !important;
  }
  .kanso-map-info--place .kanso-map-info__body{
    padding:5px 5px 6px !important;
  }
  .kanso-map-info--place .kanso-map-info__location{
    gap:2px !important;
    margin-bottom:2px !important;
    padding-right:12px !important;
    flex-wrap:wrap !important;
  }
  .kanso-map-info--place .kanso-map-info__location strong{
    font-size:9px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
  }
  .kanso-map-info--place .kanso-map-info__location span{
    font-size:7px !important;
    line-height:1.15 !important;
  }
  .kanso-map-info--place .kanso-map-info__post-title{
    font-size:8px !important;
    line-height:1.2 !important;
  }
  .kanso-map-info--place .kanso-map-info__close{
    top:3px !important;
    right:3px !important;
    width:15px !important;
    height:15px !important;
    font-size:11px !important;
    line-height:13px !important;
  }
}


/* 1.0.52：重新校准地点卡片尺寸。上一版未覆盖到实际生效的末尾规则，这里使用最终覆盖值。 */
.kanso-map-info--place{
  width:210px !important;
  max-width:210px !important;
  min-width:210px !important;
  border-radius:9px !important;
  overflow:hidden !important;
}
.kanso-map-info--place .kanso-map-info__image{
  width:210px !important;
  height:78px !important;
}
.kanso-map-info--place .kanso-map-info__body{padding:8px 10px 10px !important;}
.kanso-map-info--place .kanso-map-info__location{gap:4px !important;margin-bottom:4px !important;padding-right:20px !important;}
.kanso-map-info--place .kanso-map-info__location strong{font-size:14px !important;line-height:1.2 !important;}
.kanso-map-info--place .kanso-map-info__location span{font-size:10px !important;line-height:1.2 !important;}
.kanso-map-info--place .kanso-map-info__post-title{font-size:11px !important;line-height:1.3 !important;}
.kanso-map-info--place .kanso-map-info__close{top:5px !important;right:5px !important;width:19px !important;height:19px !important;font-size:14px !important;line-height:17px !important;}

@media(max-width:600px){
  .kanso-map-info--place{
    width:145px !important;
    max-width:145px !important;
    min-width:145px !important;
    border-radius:8px !important;
  }
  .kanso-map-info--place .kanso-map-info__image{
    width:145px !important;
    height:62px !important;
  }
  .kanso-map-info--place .kanso-map-info__body{padding:7px 8px 8px !important;}
  .kanso-map-info--place .kanso-map-info__location{gap:3px !important;margin-bottom:3px !important;padding-right:16px !important;}
  .kanso-map-info--place .kanso-map-info__location strong{font-size:12px !important;line-height:1.2 !important;}
  .kanso-map-info--place .kanso-map-info__location span{font-size:8px !important;line-height:1.2 !important;}
  .kanso-map-info--place .kanso-map-info__post-title{font-size:10px !important;line-height:1.25 !important;}
  .kanso-map-info--place .kanso-map-info__close{top:4px !important;right:4px !important;width:17px !important;height:17px !important;font-size:12px !important;line-height:15px !important;}
}

/* 1.0.53：地点详情中的文章标题过多时，像地点列表一样独立纵向滚动。 */
.kanso-map-info--place .kanso-map-info__posts{
  max-height:132px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:4px !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:thin;
}
.kanso-map-info--place .kanso-map-info__posts::-webkit-scrollbar{width:5px}
.kanso-map-info--place .kanso-map-info__posts::-webkit-scrollbar-thumb{background:rgba(80,90,90,.28);border-radius:8px}
@media(max-width:600px){
  .kanso-map-info--place .kanso-map-info__posts{
    max-height:118px !important;
    padding-right:3px !important;
  }
}


/* 1.0.70：聚合序号适度放大，提升地图缩放后的可读性；不放大真实地点 pin。 */
.kanso-map-cluster{
  width:26px !important;
  height:26px !important;
  border-width:2px !important;
  box-shadow:0 2px 6px rgba(0,0,0,.20) !important;
  font-size:10px !important;
  line-height:1 !important;
}
.kanso-map-cluster span{
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
}
@media(max-width:600px){
  .kanso-map-cluster{
    width:23px !important;
    height:23px !important;
    border-width:2px !important;
    box-shadow:0 2px 5px rgba(0,0,0,.18) !important;
    font-size:9px !important;
  }
  .kanso-map-cluster span{
    font-size:9px !important;
  }
}


/* 1.0.79：修复聚合地点总列表无法完整向下滑动的问题。
 * 所有聚合地点均进入同一个独立滚动容器，支持鼠标滚轮、触摸滑动和触控板。
 */
.kanso-map-info--cluster{
  overflow:hidden !important;
}
.kanso-map-info--cluster .kanso-map-info__body{
  overflow:visible !important;
}
.kanso-map-info--cluster .kanso-map-info__cluster-list{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  max-height:min(320px,55vh) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  pointer-events:auto !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(80,90,90,.35) transparent;
  padding-right:3px !important;
}
.kanso-map-info--cluster .kanso-map-info__cluster-list::-webkit-scrollbar{width:5px}
.kanso-map-info--cluster .kanso-map-info__cluster-list::-webkit-scrollbar-track{background:transparent}
.kanso-map-info--cluster .kanso-map-info__cluster-list::-webkit-scrollbar-thumb{background:rgba(80,90,90,.30);border-radius:8px}
.kanso-map-info--cluster .kanso-map-info__cluster-item{
  flex:0 0 auto !important;
  touch-action:manipulation !important;
  pointer-events:auto !important;
}
@media(max-width:600px){
  .kanso-map-info--cluster .kanso-map-info__cluster-list{
    max-height:min(300px,52vh) !important;
    gap:4px !important;
    padding-right:3px !important;
  }
}


/* ==========================================================================
   1.1.0：足迹页整体视觉优化
   - 标题「一程山水，一段人间」升级为居中装饰性标题 + 动态统计副标题
   - 地图容器圆角/阴影更精致；页面载入淡入动效
   - 不改变任何交互、地点卡片尺寸与地图行为
   ========================================================================== */
.kanso-footprints-map{
  border-radius:16px;
  border-color:rgba(25,35,45,.10);
  box-shadow:0 18px 44px rgba(24,34,44,.14),0 3px 10px rgba(24,34,44,.05);
}
@media(prefers-reduced-motion:no-preference){
  .kanso-footprints-page{
    animation:kanso-fp-rise .55s cubic-bezier(.22,.9,.36,1) both;
  }
  @keyframes kanso-fp-rise{
    from{opacity:0;transform:translateY(14px)}
    to{opacity:1;transform:none}
  }
}
@media(min-width:601px){
}
@media(max-width:600px){
  .kanso-footprints-map{border-radius:12px}
}
/* 深色模式 */
html.theme-dark .kanso-footprints-map-sub{color:rgba(235,240,240,.62)}
