.restWorldMap{display:grid;gap:14px;overflow:hidden;padding:clamp(17px,2vw,24px)}
.restWorldMap__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.restWorldMap__head .restMuted{margin:.35rem 0 0;max-width:75ch}
.restWorldMap__count{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgba(255,179,71,.34);border-radius:999px;background:rgba(255,179,71,.10);font-size:12px;font-weight:900;color:var(--rest-text)}
.restMapFilters{display:grid;grid-template-columns:minmax(190px,1.65fr) repeat(8,minmax(105px,1fr));gap:8px;padding:12px;border:1px solid var(--rest-border);border-radius:19px;background:var(--rest-surface-soft)}
.restMapField{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;min-height:58px;padding:8px 9px;border:1px solid var(--rest-border);border-radius:14px;background:var(--rest-input-bg)}
.restMapField>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,179,71,.13);color:#ffd07a;font-size:13px}
.restMapField>div{display:grid;gap:2px;min-width:0}.restMapField small{font-size:9px;font-weight:850;color:var(--rest-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restMapField input,.restMapField select{width:100%;min-width:0;border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;color:var(--rest-text)!important;font-size:11px!important;min-height:25px!important;outline:0}
.restMapFilters__actions{display:flex;grid-column:1/-1;gap:8px;justify-content:flex-end}.restMapFilters__actions .btn{min-height:40px}
.restMapRoute{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;padding:14px 15px;border:1px solid rgba(87,200,255,.23);border-radius:18px;background:linear-gradient(135deg,rgba(87,200,255,.08),rgba(255,179,71,.05))}
.restMapRoute__copy{display:grid;gap:3px}.restMapRoute__copy strong{font-size:14px}.restMapRoute__copy span{font-size:11px;color:var(--rest-muted)}.restMapRoute__copy small{font-size:9px;color:var(--rest-muted);opacity:.82}
.restMapRoute__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.restMapRoute__actions .btn{min-height:38px;padding:8px 11px;font-size:11px}.restMapRoute__actions .is-active{border-color:#57c8ff;background:rgba(87,200,255,.12);box-shadow:0 0 0 3px rgba(87,200,255,.08)}
.restMapRoute__status{grid-column:1/-1;display:flex;align-items:center;min-height:36px;padding:9px 11px;border:1px solid var(--rest-border);border-radius:12px;background:var(--rest-input-bg);font-size:11px;color:var(--rest-muted)}
.restMapRoute__status[data-state="success"]{border-color:rgba(63,217,179,.38);color:#a8f1da;background:rgba(63,217,179,.07)}.restMapRoute__status[data-state="error"],.restMapRoute__status[data-state="warning"]{border-color:rgba(255,75,106,.38);color:#ffb7c2}.restMapRoute__status[data-state="selecting"]{border-color:rgba(87,200,255,.40);color:#b9e8ff}
.restWorldMap__stage{position:relative;width:100%;height:clamp(430px,57vh,660px);min-height:430px;overflow:hidden;border:1px solid rgba(255,179,71,.25);border-radius:23px;background:#07111d;isolation:isolate}
.restWorldMap__stage .leaflet-container{background:#07111d}.restWorldMap__stage .leaflet-tile-pane{filter:saturate(.72) brightness(.73) contrast(1.04)}:root[data-theme="light"] .restWorldMap__stage .leaflet-tile-pane{filter:saturate(.77) brightness(1.02) contrast(.96)}
.restWorldMap__fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#17345a,#07111d 70%)}.restWorldMap__fallback[hidden]{display:none}.restWorldMap__fallback span{padding:9px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(0,0,0,.35);color:#fff;font-size:11px;font-weight:850}
.restMapMarker{background:transparent!important;border:0!important}.restMapMarker>span{display:grid;place-items:center;width:44px;height:44px;border:2px solid #fff;border-radius:15px 15px 15px 4px;transform:rotate(-45deg);background:linear-gradient(135deg,#ffb347,#ffcf70);box-shadow:0 11px 25px rgba(0,0,0,.35)}.restMapMarker img{width:31px;height:31px;border-radius:9px;transform:rotate(45deg)}
.restMapPopup{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;min-width:250px}.restMapPopup>img,.restMapPopup__placeholder{width:72px;height:72px;border-radius:13px;object-fit:cover;background:#111d32;display:grid;place-items:center;font-size:28px}.restMapPopup>div{display:grid;gap:3px}.restMapPopup strong{font-size:13px;color:#152033}.restMapPopup span,.restMapPopup small{font-size:10px;color:#5b687c}.restMapPopup a{font-size:10px;font-weight:900;color:#c06a00;text-decoration:none;margin-top:3px}
.restWorldMap__rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.restMapMini{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:9px;border:1px solid var(--rest-border);border-radius:15px;background:var(--rest-surface-soft);color:var(--rest-text);text-decoration:none}.restMapMini:hover{transform:translateY(-1px);border-color:rgba(255,179,71,.46)}.restMapMini img{width:46px;height:46px;border-radius:12px;object-fit:cover;background:var(--rest-input-bg)}.restMapMini>span{display:grid;gap:3px;min-width:0}.restMapMini strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restMapMini small{font-size:9px;color:var(--rest-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1380px){.restMapFilters{grid-template-columns:repeat(5,minmax(110px,1fr))}.restMapField--wide{grid-column:span 2}.restWorldMap__rail{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.restMapFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.restMapField--wide{grid-column:1/-1}.restWorldMap__rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.restWorldMap{padding:13px}.restMapRoute{grid-template-columns:1fr}.restMapRoute__actions{display:grid;grid-template-columns:1fr}.restMapRoute__actions .btn{width:100%;justify-content:center}.restWorldMap__stage{height:430px;min-height:430px;border-radius:18px}.restWorldMap__rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.restMapMini{flex:0 0 225px;scroll-snap-align:start}.restMapFilters__actions{display:grid;grid-template-columns:1fr 1fr}.restMapFilters__actions .btn{width:100%;justify-content:center}}
@media(max-width:430px){.restMapFilters{grid-template-columns:1fr}.restMapField--wide{grid-column:auto}.restWorldMap__stage{height:390px;min-height:390px}.restWorldMap__head{display:grid}}

/* R150 mobile containment: long family rails and forms must never widen the page. */
@media(max-width:820px){
  body[data-category="restposten"]{overflow-x:clip}
  body[data-category="restposten"] *,body[data-category="restposten"] *::before,body[data-category="restposten"] *::after{box-sizing:border-box}
  body[data-category="restposten"] main,.restPage,.restPage>* ,.restHero,.restHero>* ,.restSideStack,.restDiscoveryBlock,.restDiscoveryBody,.restSearchFamilies,.restSearchPanel,.restWorldMap,[data-rest-results-view]{min-width:0;max-width:100%;width:100%}
  .restHero,.restSplit,.restListingGrid,.restGrid3,.restGrid2,.restQuickSearch{grid-template-columns:minmax(0,1fr)!important}
  .restHero>.restSideStack{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}
  .restStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .restFamilyGrid,.restFamilyGrid--compact{max-width:100%;min-width:0}
  .restField input,.restField textarea,.restField select,.restQuickSearch input,.restQuickSearch select{min-width:0;max-width:100%}
  .restCardTitle,.restTitle,.restLead,.restMuted,.restHint,.restField,.restField label,.restField small{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:760px){
  .restMobileDiscovery{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto auto}
  .restMobileDiscovery .restMobileDiscoveryCount{min-width:0;margin-right:0;overflow:hidden;text-overflow:ellipsis}
  .restMobileDiscovery .btn{min-width:0;padding-inline:9px}
}
@media(max-width:430px){
  .restMobileDiscovery{grid-template-columns:1fr 1fr 1fr}.restMobileDiscoveryCount{grid-column:1/-1}.restMobileDiscovery .btn{width:100%;justify-content:center}
}

/* Restored native product-family discovery; contained on small screens. */
.restFamilyGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin-top:14px}
.restFamilyGrid--compact{max-height:300px;overflow:auto}
.restFamilyCard{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid var(--rest-border);border-radius:15px;background:var(--rest-surface-soft);color:var(--rest-text);text-decoration:none}
.restFamilyCard:hover,.restFamilyCard:focus-visible,.restFamilyCard.is-active{border-color:#ffb347}
.restFamilyCard>span{display:grid;min-width:0;gap:3px;overflow-wrap:anywhere}.restFamilyCard small{color:var(--rest-muted)}
.restFamilyIcon{width:44px;height:44px;flex:0 0 44px}.restSectionHead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.restDiscoveryBlock{padding:18px}
.restMarketSignals{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--rest-muted);margin-block:8px}
@media(max-width:520px){.restFamilyGrid{grid-template-columns:minmax(0,1fr)}}

/* Keep mobile map controls readable and give each action its own row. */
@media(max-width:760px){
  .restMapFilters__actions{grid-template-columns:minmax(0,1fr)}
  .restMapField input,.restMapField select{font-size:16px!important;min-height:44px!important}
  .restMapFilters__actions .btn,.restMapRoute__actions .btn{min-height:44px;font-size:16px;line-height:1.35;white-space:normal;overflow-wrap:normal;word-break:normal}
}

/* Keep mobile map field labels legible and let longer translations wrap. */
@media(max-width:760px){
  .restMapField small{font-size:12px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
}

/* Keep desktop map captions as readable as their mobile counterparts. */
@media(min-width:761px){
  .restMapField small{font-size:12px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
}
