.resident-map-section-v11118{padding:34px 0 58px;background:linear-gradient(180deg,#f7fbfa 0%,#fff 100%)}
.resident-map-heading-v11118{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.resident-map-heading-v11118 h2{margin:7px 0 8px;font-size:clamp(30px,4vw,52px);line-height:1.03;color:#102a4a;max-width:880px}
.resident-map-heading-v11118 p{margin:0;max-width:840px;color:#64788e;font-size:17px;line-height:1.6}
.resident-map-count-v11118{min-width:142px;border:1px solid #dce8e8;background:#fff;border-radius:18px;padding:14px 16px;text-align:center;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.resident-map-count-v11118 strong{display:block;color:#0a9f8c;font-size:28px;line-height:1}.resident-map-count-v11118 span{display:block;margin-top:5px;color:#64788e;font-size:12px;font-weight:800}
.resident-map-shell-v11118{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:560px;border:1px solid #d7e5e4;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 20px 54px rgba(15,23,42,.08)}
.resident-map-canvas-v11118{min-height:560px;background:#eaf2f1}
.resident-map-panel-v11118{padding:30px 28px;border-left:1px solid #e3eceb;display:flex;flex-direction:column;align-items:flex-start;background:#fff}
.resident-map-panel-kicker-v11118{font-size:12px;letter-spacing:.1em;color:#009b87;font-weight:900}
.resident-map-panel-v11118 h3{margin:14px 0 10px;font-size:29px;line-height:1.1;color:#102a4a}.resident-map-panel-v11118 p{margin:0;color:#687d91;line-height:1.55}
.resident-map-panel-score-v11118{margin-top:28px;width:100%;padding:24px;border:1px solid #dce8e8;border-radius:20px;background:#f8fbfb}.resident-map-panel-score-v11118 strong{display:block;font-size:48px;color:#102a4a;line-height:1}.resident-map-panel-score-v11118 span{display:block;margin-top:8px;color:#687d91;font-weight:700}
.resident-map-panel-meta-v11118{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:14px 0 20px}.resident-map-panel-meta-v11118 span{padding:11px 10px;border-radius:12px;background:#f4f8f8;color:#546a7f;font-size:12px;font-weight:800;text-align:center}
.resident-map-panel-v11118 button{margin-top:auto;width:100%;border:0;border-radius:14px;padding:13px 16px;background:#47d3c0;color:#0b2744;font-weight:900;cursor:pointer}.resident-map-panel-v11118 button:disabled{opacity:.45;cursor:not-allowed}
.resident-map-note-v11118{margin:12px 4px 0;color:#7a8c9e;font-size:12px}
.v11118-resident-marker{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#47d3c0;border:3px solid #fff;box-shadow:0 7px 18px rgba(16,42,74,.28);color:#0b2744;font-weight:950;font-size:13px;white-space:nowrap}
.v11118-resident-marker.low{background:#f4d37c}.v11118-resident-marker.high{background:#70dfbd}
.v11118-resident-popup{min-width:180px}.v11118-resident-popup strong{display:block;color:#102a4a;font-size:14px;margin-bottom:5px}.v11118-resident-popup span{display:block;color:#687d91;font-size:12px}.v11118-resident-popup b{display:block;margin-top:7px;color:#079983;font-size:13px}
@media(max-width:900px){.resident-map-heading-v11118{align-items:flex-start;flex-direction:column}.resident-map-count-v11118{min-width:0}.resident-map-shell-v11118{grid-template-columns:1fr}.resident-map-canvas-v11118{min-height:460px}.resident-map-panel-v11118{border-left:0;border-top:1px solid #e3eceb;min-height:360px}}
@media(max-width:600px){.resident-map-section-v11118{padding:24px 0 40px}.resident-map-shell-v11118{border-radius:20px}.resident-map-canvas-v11118{min-height:420px}.resident-map-panel-v11118{padding:22px 20px}.resident-map-heading-v11118 h2{font-size:34px}}

/* V111.31 – city photo in Germany map detail panel */
.map-city-photo-v11131{margin:10px 0 12px;border:1px solid #dce7eb;border-radius:16px;overflow:hidden;background:#eef4f7;position:relative;aspect-ratio:16/8.2}
.map-city-photo-v11131[hidden]{display:none!important}
.map-city-photo-v11131 img{width:100%;height:100%;object-fit:cover;display:block}
.map-city-photo-v11131 span{position:absolute;left:8px;bottom:7px;background:rgba(8,31,56,.72);color:#fff;padding:4px 7px;border-radius:999px;font-size:10px;line-height:1}
