.home-map-layout { display: grid; grid-template-columns: minmax(230px,.7fr) minmax(0,1.65fr); background: var(--surface-soft,#f3f5f6); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; }
.home-map-copy { padding: clamp(24px,3vw,44px); align-self: center; }
.home-map-copy h2 { font-size: 26px; line-height: 1.15; letter-spacing: -.035em; margin: 20px 0; }
.home-map-copy p { color: var(--muted); }
.home-map-copy .home-map-note { font-size: 12px; line-height: 1.65; margin: 14px 0 24px; }
.home-map-count { display: inline-flex; font-size: 12px; background: #fff; color: var(--green); border: 1px solid var(--line); padding: 6px 12px; border-radius: 30px; margin-top: 12px; }
.home-map-panel { position: relative; display: flex; flex-direction: column; min-width: 0; background: #e6ebe4; }
.home-company-map { flex: 1; min-height: 490px; z-index: 0; font-family: inherit; }
.home-map-reset { position: absolute; z-index: 1; right: 16px; top: 16px; border: 1px solid #d8ddda; border-radius: 10px; padding: 10px 14px; background: #fff; color: #24322b; font-size: 12px; box-shadow: 0 3px 14px #14282015; cursor: pointer; }
.home-map-footer { display: flex; gap: 12px; flex-wrap: wrap; justify-content: space-between; padding: 10px 16px; background: #fff; color: var(--muted); font-size: 11px; }
.home-map-footer a { color: var(--green); }
.home-map-status { position: absolute; inset: auto 16px 68px; z-index: 1; background: #fff; border-radius: 10px; padding: 12px 16px; color: #24322b; font-size: 13px; }
.home-map-status[hidden],.home-map-reset[hidden] { display: none; }
.home-map-marker { background: none; border: 0; }
.home-map-marker > span { display: flex; align-items: center; justify-content: center; height: 38px; width: 38px; background: var(--studio-accent,var(--green)); color: var(--studio-on-accent,#fff); border: 3px solid #fff; border-radius: 50% 50% 50% 8px; transform: rotate(-45deg); box-shadow: 0 3px 10px #14282035; font-weight: 700; }
.home-map-marker b { transform: rotate(45deg); font-size: 13px; }
.home-map-popup { min-width: 180px; max-height: 260px; overflow-y: auto; padding-right: 8px; }
.home-map-popup article + article { border-top: 1px solid #ddd; padding-top: 10px; margin-top: 10px; }
.home-map-popup strong { display: block; color: #24322b; font-size: 15px; }
.home-map-popup p { margin: 6px 0; color: #58675f; font-size: 12px; }
.home-map-popup a { color: var(--studio-link,var(--green)); font-weight: 600; }
.home-company-map .leaflet-control-attribution { font-size: 10px; background: #fffffff2; color: #333; }
.home-company-map .leaflet-control-attribution a { color: #176089; }
.home-company-map .leaflet-popup-content-wrapper { border-radius: 14px; }
@media (max-width: 800px) {
  .home-map-layout { grid-template-columns: minmax(0,1fr); }
  .home-map-copy { padding: 28px; }
  .home-map-copy h2 br { display: none; }
  .home-company-map { flex: none; height: 390px; min-height: 390px; }
}
body .home-map-section { padding:42px 0 0; max-width:1200px; font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; --surface-soft:#eef4fc; --line:#dce3ec; --muted:#62738a; --green:#245fc5; --studio-accent:#245fc5; --studio-on-accent:#fff; --studio-link:#245fc5; color:#233856; }
body .home-map-copy .kicker { display:inline; background:none; padding:0; margin:0; color:#245fc5; font:500 12px/1.6 "Segoe UI Variable Text","Segoe UI",Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
body .home-map-copy h2 { font-family:inherit; font-size:24px; font-weight:500; line-height:1.15; margin:20px 0; color:#233856; }
body .home-map-copy > p { font-size:16px; line-height:1.65; margin:16px 0; }
body .home-map-copy > .home-map-note { font-size:12px; margin:14px 0 24px; }
body .home-map-copy .primary-button { padding:12px 19px; border:0; border-radius:10px; background:#245fc5; color:#fff; font:500 14px/1.4 "Segoe UI Variable Text","Segoe UI",Arial,sans-serif; }
body .home-map-reset { font-family:inherit; font-weight:400; line-height:1.65; }
body:not(.admin-page) .home-hero { padding-top:62px; padding-bottom:42px; }
body:not(.admin-page) .home-hero .stats { margin-bottom:0; }
body:not(.admin-page) #kategorie { padding-top:50px; padding-bottom:42px; }
body:not(.admin-page) #kategorie .category-card h3,body:not(.admin-page) #kategorie .category-card h3 a { font-weight:400; }
body .home-hero .hero-search .advanced-search-main > button { font-weight:400; }
body main > .latest { padding-top:42px; padding-bottom:42px; }
body:not(.admin-page) .home-map-section.home-map-section { padding:42px 0 0; width:calc(100% - 40px); max-width:1200px; }
body:not(.admin-page) .home-map-section .home-map-copy .primary-button { border-radius:10px; font-weight:500; }
body:not(.admin-page) #kategorie.section { padding-top:50px; padding-bottom:42px; }
body:not(.admin-page) #kategorie .category-card h3 a { font-weight:400 !important; }
/* The divider has equal 42px gaps above (stats) and below (map). */
body:not(.admin-page) main > section.hero.home-hero { padding-bottom:42px !important; }
