/************************************************************
 * WORLDMAP V2 – BASIS
 ************************************************************/

.wm2{width:100%;max-width:100%;min-width:0;box-sizing:border-box;color:var(--font_main)}
.wm2>table{width:100%!important;max-width:100%;table-layout:fixed;box-sizing:border-box}
.wm2 .trow1,.wm2 .trow2{max-width:100%;box-sizing:border-box}
.wm2-page-intro{margin-bottom:10px;line-height:1.6}


/************************************************************
 * FORMULARE / BUTTONS – BASIS
 ************************************************************/

.wm2 input[type="text"],.wm2 input[type="search"],.wm2 input[type="file"],.wm2 select,.wm2 textarea{box-sizing:border-box;border:1px solid var(--factshr);background:var(--forumhg);color:var(--font_main);font:inherit;outline:0}
.wm2 input[type="text"],.wm2 input[type="search"],.wm2 select{min-height:30px;padding:3px 7px}
.wm2 textarea{padding:6px 8px}
.wm2 button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:28px;padding:3px 9px;box-sizing:border-box;border:1px solid var(--factshr);background:var(--forumhg_tabletitle);color:var(--font_main);font:inherit;font-size:10px;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.wm2 button:hover{background:var(--andarna_ondark);color:var(--font_onhigh);border-color:var(--andarna_ondark)}
.wm2 button:disabled{opacity:.5;cursor:not-allowed}


/************************************************************
 * PROVINZ-NAVIGATION
 ************************************************************/

.wm2-province-nav{display:flex;align-items:center;width:100%;box-sizing:border-box;padding:8px 10px 10px;background:transparent;border:0}
.wm2-province-nav-items{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0}
.wm2-province-nav-item{position:relative;width:38px;height:48px;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer;opacity:.72;transition:opacity .2s ease,transform .2s ease}
.wm2-province-nav-item:hover,.wm2-province-nav-item.active{border:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;opacity:1;transform:translateY(-2px)}
.wm2-province-nav-item img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.wm2-province-nav-item span{position:absolute;left:50%;bottom:-5px;z-index:60;padding:3px 6px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,100%);background:var(--profilhg_ofd);border:1px solid var(--factshr);color:var(--font_main);font-size:9px;transition:opacity .15s ease}
.wm2-province-nav-item:hover span{opacity:1}


/************************************************************
 * SUCHE / FILTER
 ************************************************************/

.wm2-search{width:100%;min-width:0;box-sizing:border-box;padding:10px 0 4px;margin:0}
.wm2-search-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,.8fr) auto auto;gap:8px;align-items:center;width:100%;min-width:0;box-sizing:border-box}
.wm2-search-row>*{min-width:0;max-width:100%;box-sizing:border-box}
.wm2-search-check{display:flex;align-items:center;gap:6px;white-space:nowrap}
.wm2-search-results{margin-top:8px;padding:6px;max-height:180px;overflow:auto;background:var(--profilhg_ofd);border:1px solid var(--factshr)}
.wm2-search-result{display:flex;width:100%;min-height:0!important;padding:7px 9px;box-sizing:border-box;border:0!important;border-bottom:1px solid var(--factshr)!important;background:transparent!important;color:var(--font_main)!important;text-align:left;cursor:pointer}
.wm2-search-result:last-child{border-bottom:0!important}
.wm2-search-result:hover{background:var(--forumhg_tablecat)!important;color:var(--font_main)!important}
.wm2-search-result-name{font-weight:600}
.wm2-search-result-meta{margin-left:5px;font-size:9px;opacity:.7}
.wm2-search-result-count{padding:3px 5px 6px;font-size:9px;font-weight:bold;letter-spacing:.5px;text-transform:uppercase;opacity:.7}
.wm2-search-empty{padding:6px;font-size:10px;opacity:.65}
.wm2-place.wm2-filter-hidden{display:none!important}


/************************************************************
 * VERWALTUNGSLEISTE
 ************************************************************/

.wm2-adminbar-row .wm2-adminbar-cell{box-sizing:border-box}
.wm2-adminbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;box-sizing:border-box}
.wm2-adminbar .wm2-admin-toggle{min-height:28px;padding:3px 9px;font-size:10px}
.wm2-adminbar .wm2-admin-toggle:hover,.wm2-adminbar .wm2-admin-toggle.active{background:var(--andarna_ondark);color:var(--font_onhigh)}


/************************************************************
 * KARTE / RAHMEN
 ************************************************************/

.wm2-map-frame{width:100%;min-width:0;padding:5px;box-sizing:border-box;background:var(--forumhg_tabletitle);border:2px solid var(--grey2)}
.wm2-stage{position:relative;width:100%;overflow:hidden;box-sizing:border-box;background:var(--bodyhg);border:1px solid var(--factshr)}
.wm2-viewport{position:relative;width:100%;aspect-ratio:1672/941;overflow:hidden}
.wm2-mover{position:absolute;inset:0;width:100%;height:100%;transform:translate(0,0) scale(1);transform-origin:0 0;transition:transform .75s cubic-bezier(.22,.61,.36,1);will-change:transform}
.wm2-map{display:block;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.wm2-layer{position:absolute;inset:0;width:100%;height:100%}
.wm2-place-layer{z-index:20;pointer-events:auto}


/************************************************************
 * KARTE – GESAMTANSICHT
 ************************************************************/

.wm2-map-reset{position:absolute;z-index:45;top:10px;right:10px;left:auto;min-height:26px;padding:3px 8px;font-size:9px}
.wm2-panel-open:not(.wm2-panel-left) .wm2-map-reset{right:auto;left:10px}
.wm2-panel-left .wm2-map-reset{left:auto;right:10px}


/************************************************************
 * ORTSMARKER
 ************************************************************/

.wm2-place{position:absolute;left:var(--wm2-place-x);top:var(--wm2-place-y);z-index:2;width:18px;height:18px;min-height:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-50%);cursor:pointer}
.wm2-place:hover,.wm2-place:focus,.wm2-place:active{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important}
.wm2-place::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;box-sizing:border-box;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(0,0,0,.25);transform:translate(-50%,-50%);opacity:.75;transition:opacity .15s ease,transform .15s ease}
.wm2-place span{position:absolute;left:50%;bottom:calc(100% + 2px);padding:3px 6px;white-space:nowrap;background:var(--profilhg_ofd);border:1px solid var(--factshr);color:var(--font_main);font-size:9px;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease; z-index:10}
.wm2-place:hover::before,.wm2-place.active::before,.wm2-place.wm2-place-admin-selected::before,.wm2-place.wm2-place-preview::before{opacity:1;transform:translate(-50%,-50%) scale(1.2)}
.wm2-place:hover span,.wm2-place.active span,.wm2-place.wm2-place-admin-selected span,.wm2-place.wm2-place-preview span{opacity:1;transform:translate(-50%,0)}
.wm2-place.wm2-place-preview::before{border-style:dashed}
.wm2.wm2-place-edit-position .wm2-place{pointer-events:none}
.wm2.wm2-place-edit-position .wm2-viewport,.wm2.wm2-edit-focus .wm2-viewport,.wm2.wm2-edit-map .wm2-viewport{cursor:crosshair}


/************************************************************
 * SEITENPANEL
 ************************************************************/

.wm2-panel{position:absolute;z-index:50;top:0;right:0;left:auto;width:min(390px,42%);height:100%;box-sizing:border-box;overflow:hidden;background:var(--forumhg);border-left:1px solid var(--factshr);box-shadow:-8px 0 24px rgba(0,0,0,.35);transform:translateX(100%);transition:transform .45s ease}
.wm2-panel-open .wm2-panel{transform:translateX(0)}
.wm2-panel-left .wm2-panel{left:0;right:auto;border-left:0;border-right:1px solid var(--factshr);box-shadow:8px 0 24px rgba(0,0,0,.35);transform:translateX(-100%)}
.wm2-panel-open.wm2-panel-left .wm2-panel{transform:translateX(0)}
.wm2-panel-inner{height:100%;padding:28px 20px 24px;box-sizing:border-box;overflow-y:auto}


/************************************************************
 * PANEL – STEUERUNG
 ************************************************************/

.wm2-panel-close{position:absolute;z-index:2;top:8px;right:10px;width:32px;height:32px;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--font_main)!important;font-size:25px!important;line-height:28px;box-shadow:none!important}
.wm2-panel-close:hover{border:0!important;background:transparent!important;color:var(--font_main)!important;box-shadow:none!important}
.wm2-panel-back{display:inline-block;min-height:0!important;margin:0 0 14px;padding:0!important;border:0!important;background:transparent!important;color:var(--font_main)!important;font-size:9px;letter-spacing:1px;text-transform:uppercase;opacity:.65;box-shadow:none!important;transition:opacity .15s ease}
.wm2-panel-back:hover{border:0!important;background:transparent!important;color:var(--font_main)!important;opacity:1}
.wm2-panel-back[hidden]{display:none!important}
.wm2-panel-kicker{margin-bottom:3px;font-size:9px;letter-spacing:2px;text-transform:uppercase;opacity:.7}
.wm2-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.wm2-panel-title{margin:0;min-width:0}
.wm2-panel-edit{flex:0 0 auto;min-height:24px;padding:2px 7px;font-size:9px}
.wm2-panel-edit[hidden]{display:none!important}


/************************************************************
 * PANEL – PROVINZ
 ************************************************************/

.wm2-panel-banner{display:block;width:auto;max-width:110px;max-height:150px;margin:0 auto 16px;object-fit:contain}
.wm2-panel-banner[hidden]{display:none!important}
.wm2:not(.wm2-place-panel) .wm2-panel-inner{display:flex;flex-direction:column;overflow:hidden}
.wm2:not(.wm2-place-panel) .wm2-panel-back,.wm2:not(.wm2-place-panel) .wm2-panel-kicker,.wm2:not(.wm2-place-panel) .wm2-panel-title-row,.wm2:not(.wm2-place-panel) .wm2-panel-banner,.wm2:not(.wm2-place-panel) .wm2-panel-stats{flex:0 0 auto}
.wm2:not(.wm2-place-panel) .wm2-panel-description{flex:1 1 auto;min-height:100px;padding-right:10px;box-sizing:border-box;overflow-y:auto}


/************************************************************
 * PANEL – METADATEN / BESCHREIBUNG
 ************************************************************/

.wm2-panel-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;margin-bottom:10px}
.wm2-stat{padding:3px 0;font-size:10px;white-space:nowrap;text-align:center}
.wm2-stat:last-child:nth-child(4){grid-column:2}
.wm2-stat:nth-child(4):nth-last-child(2){grid-column:1}
.wm2-stat:nth-child(5):last-child{grid-column:3}
.wm2-panel-description{line-height:1.6;text-align:justify}
.wm2-panel-description p:first-child{margin-top:0}


/************************************************************
 * ORTSPANEL
 ************************************************************/

.wm2.wm2-place-panel .wm2-panel-inner{display:flex;flex-direction:column;overflow:hidden}
.wm2.wm2-place-panel .wm2-panel-description{flex:1 1 auto;min-height:120px;margin-bottom:16px;padding-right:10px;box-sizing:border-box;overflow-y:auto}


/************************************************************
 * ORTSPANEL – GALERIE
 ************************************************************/

.wm2-place-gallery{flex:0 0 auto;width:100%;margin:0 0 14px}
.wm2-place-gallery[hidden]{display:none!important}
.wm2-place-gallery-frame{position:relative;width:100%;aspect-ratio:16/7;overflow:hidden;box-sizing:border-box;border:1px solid var(--factshr)}
.wm2-place-gallery-frame img{display:block;width:100%;height:100%;object-fit:cover}
.wm2-place-gallery-arrow{position:absolute;top:50%;z-index:2;width:20px!important;height:48px;min-height:44px!important;padding:0!important;border:1px solid var(--factshr)!important;background:var(--forumhg)!important;color:var(--font_main)!important;font-size:26px!important;line-height:1;opacity:.88;transform:translateY(-50%)}
.wm2-place-gallery-arrow:hover{background:var(--andarna_ondark)!important;color:var(--font_onhigh)!important;opacity:1}
.wm2-place-gallery-prev{left:8px}
.wm2-place-gallery-next{right:8px}
.wm2-place-gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.wm2-place-gallery-dots{display:flex;align-items:center;gap:7px}
.wm2-place-gallery-dot{width:11px!important;height:11px;min-height:11px!important;padding:0!important;border:1px solid var(--factshr)!important;border-radius:50%;background:transparent!important;box-shadow:none!important;cursor:pointer}
.wm2-place-gallery-dot:hover,.wm2-place-gallery-dot.active{background:var(--font_main)!important}
.wm2-place-gallery-count{font-size:11px;line-height:1.2;opacity:.75}


/************************************************************
 * ORTSPANEL – WER IST HIER?
 ************************************************************/

.wm2-panel-users{flex:0 0 auto;padding-top:12px;border-top:1px solid var(--factshr)}
.wm2-panel-users[hidden]{display:none!important}
.wm2-panel-users-title{margin-bottom:8px;font-size:9px;font-weight:bold;letter-spacing:2px;text-transform:uppercase}
.wm2-panel-users-list{display:flex;flex-wrap:wrap;gap:5px 12px;max-height:60px;overflow-y:auto;line-height:1.5}
.wm2-panel-users-list a{color:var(--font_main);text-decoration:none}
.wm2-panel-users-list a:hover{text-decoration:underline; color: var(--font_main)!important;}
.wm2-panel-users-empty{font-size:10px;opacity:.65}


/************************************************************
 * ADMIN – ALLGEMEIN
 ************************************************************/

.wm2-admin{width:100%;max-width:100%;min-width:0;margin:8px 0 0;padding:12px;box-sizing:border-box;background:var(--profilhg_ofd);border:1px solid var(--factshr)}
.wm2-admin[hidden]{display:none}
.wm2-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-12px -12px 12px;padding:6px 10px;background:var(--forumhg_tablecat)}
.wm2-admin-title{font-weight:bold;letter-spacing:.5px}
.wm2-admin label{display:flex;align-items:center;gap:7px}
.wm2-admin select,.wm2-admin input,.wm2-admin textarea{font:inherit}
.wm2-admin button.active{background:var(--andarna_ondark);color:var(--font_onhigh)}
.wm2-admin-status{font-size:10px}
.wm2-admin-save,.wm2-admin-status.success,.wm2-admin-status.error{font-weight:bold}


/************************************************************
 * PROVINZ-ADMIN
 ************************************************************/

.wm2-province-admin-form{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,.8fr);grid-template-areas:"province descr banner" "map descr banner" "width descr banner" "focus descr banner" "zoom descr banner" "actions actions actions";gap:10px 14px;align-items:start;width:100%;min-width:0}
.wm2-province-admin-field{min-width:0}
.wm2-province-admin-field>label{display:block;margin-bottom:5px;font-weight:600}
.wm2-province-admin-province{grid-area:province}
.wm2-province-admin-descr{grid-area:descr}
.wm2-province-admin-banner{grid-area:banner}
.wm2-province-admin-map{grid-area:map}
.wm2-province-admin-width{grid-area:width}
.wm2-province-admin-focus{grid-area:focus}
.wm2-province-admin-zoom{grid-area:zoom}
.wm2-province-admin-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.wm2-province-admin-descr textarea{width:100%;min-height:250px;box-sizing:border-box;resize:vertical}
.wm2-province-banner-preview{display:flex;align-items:center;justify-content:center;width:100%;height:360px;overflow:hidden;box-sizing:border-box;background:var(--forumhg_tabletitle);border:1px solid var(--factshr)}
.wm2-province-banner-preview img{display:block;width:100%;height:100%;object-fit:contain}
.wm2-province-banner-empty{opacity:.6}
.wm2-province-admin-banner input[type="file"]{width:100%;margin-top:6px}
.wm2-province-admin-banner small{display:block;margin-top:4px;font-size:9px;opacity:.65}
.wm2-admin-position-line,.wm2-admin-range-line{display:flex;align-items:center;gap:8px;min-width:0}
.wm2-admin-position-line{flex-wrap:wrap}
.wm2-admin-position-line span{flex:0 1 auto;min-width:0}
.wm2-admin-range-line input{flex:1;min-width:0}
.wm2-admin-range-line span{min-width:52px;text-align:right}
#wm2AdminSetMap.active,#wm2AdminSetFocus.active{font-weight:700}


/************************************************************
 * PROVINZ-ADMIN – KARTENMARKER
 ************************************************************/

.wm2-map-marker{position:absolute;z-index:40;width:14px;height:14px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.7);transform:translate(-50%,-50%);pointer-events:none}
.wm2-focus-marker{position:absolute;z-index:40;width:18px;height:18px;box-sizing:border-box;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 2px rgba(0,0,0,.65),0 0 8px rgba(0,0,0,.65)}
.wm2-focus-marker::before,.wm2-focus-marker::after{content:"";position:absolute;background:#fff}
.wm2-focus-marker::before{left:6px;top:-6px;width:2px;height:26px}
.wm2-focus-marker::after{left:-6px;top:6px;width:26px;height:2px}


/************************************************************
 * ORT BEARBEITEN / ANLEGEN
 ************************************************************/

.wm2-place-admin{padding:12px 14px}
.wm2-place-admin .wm2-admin-head{margin:-12px -14px 12px}
.wm2-place-admin-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;min-width:0}
.wm2-place-admin-head label{font-weight:bold}
.wm2-place-admin-head select{width:min(390px,100%);min-width:0}
#wm2PlaceAdminFilter{width:180px;max-width:180px;flex:0 0 180px}
.wm2-place-delete{margin-left:auto}
.wm2-place-admin-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr) minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"name name kingdom province" "size flags militarytype images" "descr descr descr images" "position position actions images";gap:9px 12px;align-items:start;width:100%;min-width:0}
.wm2-place-admin-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.wm2-place-admin-field label{font-size:10px}
.wm2-place-admin-field input[type="text"],.wm2-place-admin-field select,.wm2-place-admin-field textarea{width:100%;min-width:0;box-sizing:border-box}
.wm2-place-admin-field textarea{height:110px;min-height:80px;resize:vertical}
.wm2-place-admin-field[hidden]{display:none!important}
.wm2-pa-name{grid-area:name}
.wm2-pa-kingdom{grid-area:kingdom}
.wm2-pa-province{grid-area:province}
.wm2-pa-size{grid-area:size}
.wm2-pa-flags{grid-area:flags}
.wm2-pa-militarytype{grid-area:militarytype}
.wm2-pa-descr{grid-area:descr}
.wm2-pa-images{grid-area:images}
.wm2-pa-position{grid-area:position}
.wm2-pa-actions{grid-area:actions}


/************************************************************
 * ORT BEARBEITEN – FLAGS
 ************************************************************/

.wm2-place-admin-flags{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;min-height:30px}
.wm2-place-admin-flags label{display:flex;align-items:center;gap:5px;margin:0;white-space:nowrap}
.wm2-place-admin-flags input:disabled{opacity:.45;cursor:not-allowed}
.wm2-place-admin-flags label:has(input:disabled){opacity:.6;cursor:not-allowed}


/************************************************************
 * ORT BEARBEITEN – POSITION / AKTIONEN
 ************************************************************/

.wm2-place-admin-position{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:8px;border-top:1px solid var(--factshr)}
.wm2-place-admin-position>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:10px}
.wm2-place-admin-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--factshr)}


/************************************************************
 * ORT BEARBEITEN – BILDER
 ************************************************************/

.wm2-place-admin-images{min-width:0;padding-left:12px;box-sizing:border-box;border-left:1px solid var(--factshr)}
.wm2-place-admin-images-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:10px}
.wm2-place-admin-image-list{display:flex;flex-direction:column;gap:4px;max-height:178px;margin-bottom:7px;overflow-y:auto}
.wm2-place-admin-image{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px;border:1px solid var(--factshr)}
.wm2-place-admin-image img{display:block;width:44px;height:30px;object-fit:cover}
.wm2-place-admin-image-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px}
.wm2-place-admin-image-actions{display:flex;gap:2px}
.wm2-place-admin-image-actions button{min-width:22px;min-height:22px;padding:1px 4px;font-size:9px}
.wm2-place-admin-image-actions button:disabled{opacity:.35;cursor:default}
.wm2-place-admin-image-empty{padding:8px 0;font-size:10px;opacity:.6}
.wm2-place-admin-upload{display:flex;align-items:center;gap:5px}
.wm2-place-admin-upload input[type="file"]{min-width:0;width:100%;font-size:9px}
.wm2-place-admin-upload button{flex:0 0 auto}
.wm2-place-admin-images small{display:block;margin-top:4px;font-size:8px;opacity:.6}


/************************************************************
 * ORT BEARBEITEN – STATUS
 ************************************************************/

.wm2-place-admin-status{display:block;min-height:18px;margin:8px 0;padding:0;box-sizing:border-box;font-weight:600}
.wm2-place-admin-status.success{padding:8px 10px;border:1px solid #5f8f68;background:rgba(95,143,104,.14);font-size:10px}
.wm2-place-admin-status.error{padding:8px 10px;border:1px solid #a64f4f;background:rgba(166,79,79,.14);font-size:10px}
.wm2-place-admin-status.success::before{content:"✓ ";font-weight:900}
.wm2-place-admin-status.error::before{content:"! ";font-weight:900}


/************************************************************
 * RECHTE / CREATE MODE
 ************************************************************/

.wm2[data-can-manage="0"] .wm2-manage-only,.wm2[data-can-create="0"] .wm2-create-only{display:none!important}
.wm2.wm2-place-create-mode #wm2PlaceAdminManageHead{display:none!important}


/************************************************************
 * REISEZEITENRECHNER
 ************************************************************/

.wm2-distance{position:relative;margin:0;padding:12px 0 2px;box-sizing:border-box;background:transparent;border:0}
.wm2-distance-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 210px auto;gap:8px;align-items:end}
.wm2-distance-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.wm2-distance-field label{font-size:10px;font-weight:bold}
.wm2-distance-input-wrap{position:relative;min-width:0}
.wm2-distance-input-wrap input[type="text"]{width:100%;box-sizing:border-box}
.wm2-distance-input-wrap input:disabled{opacity:.55;cursor:not-allowed}
.wm2-distance-actions{display:flex;align-items:center;gap:6px;padding:0}
.wm2-distance-actions button{min-height:28px;padding:3px 9px;font-size:10px}


/************************************************************
 * REISEZEITENRECHNER – VORSCHLÄGE
 ************************************************************/

.wm2-distance-suggest{position:static;width:100%;max-height:135px;margin-top:4px;overflow-y:auto;box-sizing:border-box;background:var(--profilhg_ofd);border:1px solid var(--factshr)}
.wm2-distance-suggest[hidden]{display:none!important}
.wm2-distance-suggest-head{padding:5px 8px;background:var(--forumhg_tablecat);border-bottom:1px solid var(--factshr);font-size:8px;font-weight:bold;letter-spacing:1px;text-transform:uppercase}
.wm2-distance-suggest-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:0!important;padding:6px 8px;box-sizing:border-box;border:0!important;border-bottom:1px solid var(--factshr)!important;background:transparent!important;color:var(--font_main)!important;text-align:left}
.wm2-distance-suggest-item:last-child{border-bottom:0!important}
.wm2-distance-suggest-item:hover{background:var(--forumhg_tablecat)!important;color:var(--font_main)!important}
.wm2-distance-suggest-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}
.wm2-distance-suggest-meta{font-size:8px;white-space:nowrap;opacity:.65}
.wm2-distance-suggest-empty{padding:7px 8px;font-size:10px;opacity:.65}


/************************************************************
 * REISEZEITENRECHNER – ERGEBNIS
 ************************************************************/

.wm2-distance-result{margin-top:12px;padding-top:10px;border-top:1px solid var(--factshr)}
.wm2-distance-result[hidden]{display:none!important}
.wm2-distance-result-head{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin-bottom:9px;font-size:13px}
.wm2-distance-result-head strong{font-size:13px}
.wm2-distance-result-head span{opacity:.5}
.wm2-distance-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.wm2-distance-result-item{padding:7px 9px;background:var(--forumhg_tabletitle);border:1px solid var(--factshr);text-align:left}
.wm2-distance-result-item span{display:block;margin-bottom:2px;font-size:8px;letter-spacing:.6px;text-transform:uppercase;opacity:.6}
.wm2-distance-result-item strong{display:block;font-size:10px;line-height:1.3}
.wm2-distance-result-time{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:7px;padding:8px 10px;background:var(--forumhg_tablecat);border:1px solid var(--factshr)}
.wm2-distance-result-time span{font-size:9px;font-weight:bold;letter-spacing:.6px;text-transform:uppercase}
.wm2-distance-result-time strong{text-align:right;font-size:12px}
.wm2-distance-result-note{margin-top:6px;font-size:9px;opacity:.7}
.wm2-distance-result-difficulty{margin-top:6px;padding-top:6px;border-top:1px solid var(--factshr);font-size:9px;line-height:1.4;opacity:.72}


/************************************************************
 * REISEZEITENRECHNER – MELDUNGEN
 ************************************************************/

.wm2-distance-message{padding:8px 10px;background:var(--forumhg_tabletitle);border:1px solid var(--factshr);font-size:10px}
.wm2-distance-message.error{border-color:#a64f4f;background:rgba(166,79,79,.14);font-weight:600}


/************************************************************
 * RESPONSIVE – GROSS
 ************************************************************/

@media(max-width:1100px){
.wm2-distance-form{grid-template-columns:1fr 1fr}
.wm2-distance-actions{grid-column:1/-1;justify-content:flex-end;padding-top:0}
.wm2-distance-result-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:1050px){
.wm2-province-admin-form{grid-template-columns:1fr 1fr;grid-template-areas:"province province" "descr descr" "banner banner" "map width" "focus zoom" "actions actions"}
.wm2-province-banner-preview{height:300px}
.wm2-place-admin-form{grid-template-columns:1fr 1fr;grid-template-areas:"name name" "kingdom province" "size militarytype" "flags flags" "descr descr" "position actions" "images images"}
.wm2-place-admin-images{padding:10px 0 0;border-left:0;border-top:1px solid var(--factshr)}
}


/************************************************************
 * RESPONSIVE – MITTEL
 ************************************************************/

@media(max-width:900px){
.wm2-search-row{grid-template-columns:1fr 1fr 1fr}
.wm2-search-check{min-height:30px}
}

@media(max-width:800px){
.wm2-province-nav-items{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;width:100%;gap:6px;overflow:visible;padding-bottom:0}
	.wm2-province-nav-item{flex:0 0 38px;width:38px;height:47px}
}


/************************************************************
 * RESPONSIVE – PANEL
 ************************************************************/

@media(max-width:700px){
.wm2-stage{position:relative;width:100%;height:auto!important;aspect-ratio:auto!important;overflow:visible!important;padding-top:48px;box-sizing:border-box;background:var(--forumhg)!important;}
.wm2-map-reset{position:absolute!important;top:6px!important;right:6px!important;left:auto!important;bottom:auto!important;box-shadow:none!important}
.wm2-panel-open .wm2-map-reset,.wm2-panel-open.wm2-panel-left .wm2-map-reset{top:6px!important;right:6px!important;left:auto!important}
.wm2-map-reset.button{background:var(--forumhg_tabletitle)!important;color:var(--font_main)!important;border:1px solid var(--factshr)!important;box-shadow:none!important;border-radius:0!important}
.wm2-viewport{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:1672/941;overflow:hidden!important}
.wm2-panel{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;box-sizing:border-box;overflow:visible!important;transform:none!important;opacity:1!important;visibility:visible;background:var(--forumhg)!important;color:var(--font_main)!important;border:0!important;border-top:1px solid var(--factshr)!important;box-shadow:none!important}
.wm2:not(.wm2-panel-open) .wm2-panel{display:none!important}
.wm2.wm2-panel-open .wm2-panel{display:block!important;transform:none!important}
.wm2-panel-left .wm2-panel,.wm2-panel-open.wm2-panel-left .wm2-panel{position:relative!important;left:auto!important;right:auto!important;transform:none!important;box-shadow:none!important;border-right:0!important}
.wm2-panel-inner{height:auto!important;max-height:none!important;overflow:visible!important;background:var(--forumhg)!important;color:var(--font_main)!important}
.wm2-panel-head,.wm2-panel-body,.wm2-panel-stats,.wm2-panel-users,.wm2-panel-description{color:var(--font_main)!important}
.wm2-panel-description,.wm2-panel-description p,.wm2-panel-users,.wm2-panel-users a,.wm2-stat{color:var(--font_main)!important}
.wm2-panel-description{height:auto!important;max-height:none!important;overflow:visible!important}
.wm2-panel-users-list{height:auto!important;max-height:none!important;overflow:visible!important}
.wm2-place-gallery{width:100%;max-width:none;margin-bottom:10px}
.wm2-place span{display:none!important}
.wm2-place:hover span,.wm2-place.active span,.wm2-place.wm2-place-admin-selected span,.wm2-place.wm2-place-preview span{display:none!important}
.wm2.wm2-place-panel .wm2-panel-description{min-height:0}
.wm2-panel-open .wm2-map-reset,.wm2-panel-open.wm2-panel-left .wm2-map-reset{top:10px;right:10px;left:auto}
}


/************************************************************
 * RESPONSIVE – MOBILE
 ************************************************************/

@media(max-width:650px){
.wm2-distance-form{grid-template-columns:1fr}
.wm2-distance-actions{grid-column:auto;justify-content:flex-start;flex-wrap:wrap}
.wm2-distance-result-grid{grid-template-columns:1fr}
.wm2-distance-result-head{flex-wrap:wrap}
.wm2-distance-result-time{grid-template-columns:1fr}
.wm2-distance-result-time strong{text-align:left}
}

@media(max-width:600px){
.wm2-province-nav{padding-left:6px;padding-right:6px}
.wm2-search{padding-left:0;padding-right:0}
.wm2-search-row{grid-template-columns:1fr}
.wm2-adminbar{justify-content:flex-start;flex-wrap:wrap}
.wm2-adminbar .wm2-admin-toggle{flex:1 1 auto}
.wm2-place-admin-head{align-items:stretch;flex-direction:column}
#wm2PlaceAdminFilter{width:100%;max-width:none;flex:auto}
.wm2-place-delete{margin-left:0}
.wm2-place-admin-form{grid-template-columns:1fr;grid-template-areas:"name" "kingdom" "province" "size" "flags" "militarytype" "descr" "position" "actions" "images"}
.wm2-place-admin-position{align-items:flex-start;flex-direction:column}
.wm2-place-admin-actions{justify-content:flex-start}
.wm2-province-admin-form{grid-template-columns:1fr;grid-template-areas:"province" "descr" "banner" "map" "width" "focus" "zoom" "actions"}
.wm2-province-banner-preview{height:260px}
.wm2-map-frame{padding:3px}
}

/************************************************************
 * REISEZEIT – ANIMIERTE FORTBEWEGUNG
 ************************************************************/

.wm2-distance-travel{position:relative;width:100%;height:46px;margin:8px 0 3px;overflow:hidden}
.wm2-distance-travel-track{position:absolute;left:0;right:0;top:50%;height:1px;border-top:1px dashed var(--factshr);transform:translateY(-50%);opacity:.55}
.wm2-distance-travel-icon{position:absolute;z-index:2;left:0;top:50%;display:block;width:38px;height:38px;object-fit:contain;filter:var(--wm2-travel-icon-filter);transform:translate(0,-50%);animation:wm2TravelMove 3.5s ease-in-out forwards}
@keyframes wm2TravelMove{from{left:0;transform:translate(0,-50%)}to{left:100%;transform:translate(-100%,-50%)}}