/* v1.1: component-scoped styles; do not alter WordPress admin or unrelated pages. */
body.kmh-new-home { background:#fff; color:#26392f; }
#kumamiru-home { --kmh-ink:#26392f; --kmh-accent:#314e40; }
#kumamiru-home h1, #kumamiru-home h2, #kumamiru-home h3 {
 border:0; border-radius:0; background:none; box-shadow:none; padding:0;
}
#kumamiru-home h1::before, #kumamiru-home h1::after,
#kumamiru-home h2::before, #kumamiru-home h2::after,
#kumamiru-home h3::before, #kumamiru-home h3::after { content:none; display:none; }
#kumamiru-home .daily-header { padding:24px 5%; gap:20px; background:#fff; color:var(--kmh-ink); }
#kumamiru-home .kmh-brand { display:block; text-decoration:none; flex-shrink:0; }
#kumamiru-home .kmh-brand span { font:400 clamp(22px,2.3vw,32px)/1.4 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.16em; }
#kumamiru-home .kmh-brand small { display:block; font-size:9px; letter-spacing:.26em; margin-top:7px; }
#kumamiru-home .daily-header nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
#kumamiru-home .daily-nav { font-size:14px; text-decoration:underline; text-underline-offset:6px; }
#kumamiru-home a[aria-current="page"] { font-weight:700; text-decoration-thickness:2px; }
#kumamiru-home .daily-gallery { width:100%; max-width:1080px; height:auto; max-height:none; aspect-ratio:3/2; margin:0 auto; background:#fff; }
#kumamiru-home .daily-controls { width:100%; max-width:1080px; margin:0 auto; padding:8px 20px; }
#kumamiru-home .daily-intro { padding:48px 24px 64px; }
#kumamiru-home .daily-intro h1 { font:400 clamp(28px,3vw,38px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.04em; margin:0 0 26px; color:var(--kmh-ink); }
#kumamiru-home .daily-description { line-height:2.1; }
#kumamiru-home .world-intro { padding:48px 5% 28px; }
#kumamiru-home .world-intro h2 { margin:8px 0 0; }
#kumamiru-home .world-stage { isolation:isolate; }
#kumamiru-home[data-world="moon"] .world-switch { left:22%; right:auto; top:3%; width:130px; min-width:0; height:62px; min-height:44px; transform:translateX(-50%); align-items:center; justify-content:flex-end; }
#kumamiru-home .world-stage .hotspot, #kumamiru-home #world-switch-label { font-size:clamp(12px,1.3vw,17px); }
#kumamiru-home .world-links { padding:24px 5% 36px; gap:12px 32px; }
#kumamiru-home .world-links button { font-size:16px; }
#kumamiru-home .place-top { position:relative; padding:14px 5%; }
#kumamiru-home .place-top .route-location { padding-bottom:4px; }
#kumamiru-home .wp-links { padding:28px 5%; border-top:1px solid #dce3dd; gap:12px 28px; }
#kumamiru-home .wp-links a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
#kumamiru-home .kmh-index { color:var(--kmh-ink); background:#fff; padding:50px 6% 64px; }
#kumamiru-home .kmh-index h1 { font:400 clamp(28px,3vw,40px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; margin:8px 0 18px; letter-spacing:.06em; }
#kumamiru-home .kmh-eyebrow { display:block; color:#586b5f; font-size:13px; letter-spacing:.08em; }
#kumamiru-home .kmh-index-lead { max-width:42em; line-height:2; }
#kumamiru-home .kmh-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:36px; }
#kumamiru-home .kmh-story-card { display:block; color:var(--kmh-ink); text-decoration:none; padding-bottom:20px; border-bottom:1px solid #bdcabe; }
#kumamiru-home .kmh-story-card img { width:100%; height:auto; aspect-ratio:424/600; object-fit:contain; max-height:420px; margin-bottom:20px; }
#kumamiru-home .kmh-story-card h2 { font:400 clamp(19px,2vw,25px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif; margin:8px 0; }
#kumamiru-home .kmh-story-card p { font-size:14px; line-height:1.9; margin:8px 0 18px; }
#kumamiru-home .kmh-card-action { text-decoration:underline; text-underline-offset:6px; display:flex; justify-content:space-between; min-height:44px; align-items:center; }
#kumamiru-home .kmh-story-card:hover .kmh-card-action { text-decoration-thickness:2px; }
#kumamiru-home .kmh-index-tail { margin-top:40px; }
#kumamiru-home .kmh-index-tail a, #kumamiru-home .kmh-updates a { text-decoration:underline; text-underline-offset:5px; }
#kumamiru-home .kmh-updates { max-width:840px; margin:auto; }
#kumamiru-home .kmh-updates p { margin:22px 0; overflow-wrap:anywhere; }
#kumamiru-home .kmh-reading { color:#26392f; background:#f4f6f2; padding:30px; margin:28px 6% 48px; border-top:1px solid #c4d0c6; }
#kumamiru-home .kmh-reading h3 { font:400 clamp(21px,2.4vw,29px)/1.6 "Yu Mincho",serif; margin:6px 0 12px; }
#kumamiru-home .kmh-reading p { color:#40564a; font-size:15px; line-height:1.9; margin-bottom:18px; }
#kumamiru-home .kmh-reading-links { display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center; }
#kumamiru-home .kmh-reading a { color:#26392f; min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:5px; }
#kumamiru-home .kmh-reading .daily-read { color:#fff; }
body.kmh-new-home .page_top_btn { display:none!important; }
/* Added destinations use the uploaded image's proportions, without cropping. */
#kumamiru-home .place-image-wrap[data-custom="true"] img { width:100%; height:auto; min-height:0; object-fit:contain; transform:none; }
#kumamiru-home .hotspot[data-custom="true"] { --pin-x:-50%; --pin-y:-50%; max-width:min(180px,46vw); white-space:normal; text-align:center; line-height:1.5; transform:translate(var(--pin-x),var(--pin-y)); }
#kumamiru-home .hotspot[data-custom="true"][data-edge="left"] { --pin-x:0%; text-align:left; }
#kumamiru-home .hotspot[data-custom="true"][data-edge="right"] { --pin-x:-100%; text-align:right; }
#kumamiru-home .hotspot[data-custom="true"][data-vertical="top"] { --pin-y:0%; }
#kumamiru-home .hotspot[data-custom="true"][data-vertical="bottom"] { --pin-y:-100%; }
#kumamiru-home .hotspot[data-custom="true"] .map-label { overflow-wrap:anywhere; }
@media(min-width:1100px) {
 #kumamiru-home .daily-gallery, #kumamiru-home .daily-controls { width:min(100%, calc(72vh * 1.5)); max-width:1080px; }
}
@media(max-width:700px) {
 #kumamiru-home .daily-header { padding:18px 20px; flex-wrap:wrap; gap:8px 16px; }
 #kumamiru-home .daily-header nav { gap:8px 20px; }
 #kumamiru-home .daily-nav { font-size:13px; }
 #kumamiru-home .daily-gallery, #kumamiru-home .daily-controls { width:100%; }
 #kumamiru-home .daily-intro { padding:36px 22px 48px; }
 #kumamiru-home .daily-controls { padding:6px 10px 6px 18px; }
 #kumamiru-home .world-intro { padding:32px 22px 24px; }
 #kumamiru-home[data-world="moon"] .world-switch { width:108px; top:0; height:44px; }
 #kumamiru-home .kmh-index { padding:30px 22px 44px; }
 #kumamiru-home .kmh-story-grid { grid-template-columns:1fr; gap:30px; }
 #kumamiru-home .kmh-story-card { display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:18px; }
 #kumamiru-home .kmh-story-card img { grid-column:1; grid-row:1/5; margin:0; align-self:start; }
 #kumamiru-home .kmh-story-card h2 { font-size:20px; }
 #kumamiru-home .kmh-story-card p { font-size:13px; }
 #kumamiru-home .kmh-story-card .kmh-card-action { font-size:14px; }
 #kumamiru-home .kmh-reading { margin:20px 22px 36px; padding:24px 20px; }
 #kumamiru-home .kmh-reading-links { flex-direction:column; align-items:flex-start; }
}
@media(max-width:360px) {
 #kumamiru-home .kmh-story-card { grid-template-columns:88px minmax(0,1fr); column-gap:14px; }
 #kumamiru-home .daily-header { padding-inline:16px; }
}

/* v1.2.2: the map remains interactive; only non-interactive headings sit outside. */
#kumamiru-home .world-panel { position:relative; }
#kumamiru-home .world-toolbar { display:flex; align-items:center; padding:18px 5%; background:#fff; }
#kumamiru-home .world-toolbar .world-title { position:static; inset:auto; padding:0; background:none; color:var(--kmh-ink); text-shadow:none; }
#kumamiru-home .world-toolbar .world-title p { margin:0 0 4px; color:#586b5f; font-size:11px; line-height:1.5; letter-spacing:.12em; }
#kumamiru-home .world-toolbar .world-title h2 { margin:0; color:var(--kmh-ink); font-size:24px; line-height:1.5; }
#kumamiru-home .world-stage { position:relative; width:100%; padding:0; }
#kumamiru-home .world-stage .world-image { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; }
#kumamiru-home .world-stage .world-shade { display:none; }
#kumamiru-home #hotspots,#kumamiru-home #map-leaders { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
#kumamiru-home #map-leaders { stroke:#fff; stroke-width:1.5; filter:drop-shadow(0 1px 2px #14231f); }
#kumamiru-home .world-stage .hotspot.map-target {
 position:absolute; transform:none; margin:0; padding:6px 10px; border:0; border-radius:0;
 min-width:48px; min-height:48px; max-width:none; display:flex; align-items:center; justify-content:center;
 pointer-events:auto; touch-action:manipulation; background:transparent; color:white;
 font-size:14px; line-height:1.5; letter-spacing:.02em; text-align:center; white-space:normal; overflow-wrap:anywhere;
}
#kumamiru-home .map-target-measure { position:absolute; visibility:hidden; pointer-events:none; width:max-content; max-width:180px; min-width:48px; min-height:48px; padding:6px 10px; border:0; font-size:14px; font-weight:500; line-height:1.5; letter-spacing:.02em; overflow-wrap:anywhere; }
#kumamiru-home .world-stage .map-target:before { content:none; }
#kumamiru-home .world-stage .map-label { font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; color:white; text-shadow:0 1px 3px #071a23,0 0 7px #071a23,0 0 2px #071a23; }
#kumamiru-home .world-stage .world-switch { position:absolute; inset:auto; transform:none; min-width:48px; min-height:48px; margin:0; padding:6px; display:flex; align-items:center; justify-content:flex-end; flex-direction:column; z-index:2; touch-action:manipulation; }
#kumamiru-home .world-stage #world-switch-label { font-size:14px; line-height:1.5; padding:0; color:#fff; background:transparent; text-shadow:0 1px 3px #071a23,0 0 7px #071a23; }
#kumamiru-home .world-stage button:focus-visible { outline:3px solid white; outline-offset:0; box-shadow:0 0 0 2px #16392b; }
#kumamiru-home .world-stage button:active .map-label { text-decoration-thickness:2px; }
#kumamiru-home .map-choice { padding:12px 5% 20px; background:#fff; border-bottom:1px solid #c6d0c9; }
#kumamiru-home #map-choice-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
#kumamiru-home #map-choice-close { display:block; margin-left:auto; min-height:48px; padding:6px 4px; border:0; background:none; color:var(--kmh-ink); text-decoration:underline; text-underline-offset:5px; }
#kumamiru-home .map-choice .world-place-link { border:0; background:none; color:var(--kmh-ink); min-height:48px; padding:8px 2px; text-decoration:underline; text-underline-offset:5px; font-size:15px; text-align:left; overflow-wrap:anywhere; }
#kumamiru-home .map-list { padding:8px 5% 24px; background:#fff; color:var(--kmh-ink); }
#kumamiru-home .map-list>summary { min-height:48px; width:fit-content; padding:10px 0; cursor:pointer; text-decoration:underline; text-underline-offset:5px; font-size:14px; }
#kumamiru-home .map-list .world-links { padding:4px 0 12px; }
#kumamiru-home .map-list .world-place-link { min-height:48px; }
@media(max-width:700px) {
 #kumamiru-home .world-toolbar { padding:16px 20px; }
 #kumamiru-home .world-toolbar .world-title h2 { font-size:21px; }
 #kumamiru-home .map-choice { padding-inline:20px; }
 #kumamiru-home .map-list { padding:8px 20px 24px; }
 #kumamiru-home .map-list .world-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 #kumamiru-home .world-links .world-place-link { min-width:0; padding:12px 2px; font-size:15px; line-height:1.6; text-align:left; white-space:normal; overflow-wrap:anywhere; }
}
