:root{color-scheme:dark;--bg:#0a111c;--p:#111e2c;--p2:#192b3b;--line:#30465c;--accent:#41d4c1;--fg:#eff7fc;--muted:#a5bac8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--fg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#1a2a3a;color:var(--fg);border-radius:10px;padding:10px 14px}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:#05241f;border-color:var(--accent);font-weight:700}.danger{color:#ffb3b3}.top{height:68px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(15px,4vw,70px);border-bottom:1px solid var(--line);background:#0d1724;gap:15px}.brand{white-space:nowrap;font-size:22px;color:var(--accent);font-weight:800;letter-spacing:1px}.brand span{color:var(--fg);font-size:16px}.top nav{display:flex;gap:8px}.top nav button{padding:9px 12px;background:transparent}main{max-width:1400px;margin:auto;padding:24px clamp(14px,3vw,45px)}[hidden]{display:none!important}.intro{padding:70px 0 32px;max-width:720px}.intro.compact{padding:18px 0}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:2.5px;font-weight:700}h1{font-size:clamp(32px,5vw,60px);letter-spacing:-1.5px;margin:10px 0}h2{margin:0 0 8px}p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.card{border:1px solid var(--line);border-radius:16px;background:var(--p);overflow:hidden;cursor:pointer;text-align:left}.card:hover{border-color:var(--accent)}.preview{height:180px;background:linear-gradient(130deg,#224359,#11212e);display:flex;justify-content:center;align-items:center;font-size:48px;color:var(--accent);background-size:cover;background-position:center}.cardInner{padding:18px}.cardInner h2{font-size:22px}.cardInner small{color:var(--accent)}.empty{padding:40px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.viewhead{display:flex;align-items:center;gap:20px;margin-bottom:14px;flex-wrap:wrap}.viewhead h2{font-size:20px}.viewhead p{margin:0;font-size:14px}.viewhead select{margin-left:auto;min-width:180px}.back{background:transparent}select,input,textarea{background:#101e2b;border:1px solid var(--line);border-radius:9px;padding:11px;color:var(--fg);width:100%}label{display:block;font-weight:600;font-size:14px;margin:16px 0 7px}input[type=checkbox]{width:auto;accent-color:var(--accent)}.checkLabel{display:flex;gap:10px;align-items:center}#stage{position:relative;width:100%;aspect-ratio:16/8;min-height:340px;max-height:75vh;background:#06101b;overflow:hidden;border-radius:14px;touch-action:none}#panorama{position:absolute;width:100%;height:100%;inset:0;display:block;cursor:grab}#panorama:active{cursor:grabbing}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);border-radius:40px;background:rgba(6,22,31,.88);border:2px solid var(--accent);color:white;padding:9px 13px;font-size:13px;pointer-events:auto;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 18px #0009}.hotspot:hover{background:var(--accent);color:#001a16}#hint,#compass,#editorPrompt{position:absolute;background:#0b1825ba;padding:10px 14px;border-radius:8px;font-size:12px;pointer-events:none}#hint{bottom:14px;left:14px}#compass{top:14px;right:14px;font-weight:700;color:var(--accent)}#editorPrompt{top:14px;left:50%;transform:translateX(-50%);color:var(--accent);text-align:center}#loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:16px 24px;background:#101d2b;border-radius:10px}.zplus,.zminus{position:absolute;right:15px;bottom:75px;width:40px;height:40px;font-size:22px;padding:0}.zminus{bottom:27px}#sceneBar{display:flex;flex-wrap:wrap;gap:10px;padding-top:16px}.toolbar,.adminrow,.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.toolbar{margin:20px 0}.adminTour{background:var(--p);padding:20px;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.adminTour h2{font-size:20px}.adminrow{justify-content:space-between}.sceneItem{padding:9px 0;border-top:1px solid #2c4051;display:flex;justify-content:space-between;gap:10px;align-items:center}.sceneItem span{min-width:0;overflow:hidden;text-overflow:ellipsis}.authbox{padding:26px;max-width:470px;border:1px solid var(--line);background:var(--p);border-radius:14px}.help{font-size:13px;color:var(--muted);line-height:1.5}.modal{position:fixed;inset:0;z-index:40;background:#020811d9;display:grid;place-items:center;padding:20px}.dialog{position:relative;background:#132332;border:1px solid var(--line);border-radius:16px;padding:25px;width:min(520px,100%);max-height:92vh;overflow:auto}.dialog .close{position:absolute;right:14px;top:14px}.dialog h2{padding-right:35px}.dialog .actions{margin-top:20px}.linkList{margin:15px 0}.linkRow{display:flex;gap:10px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.editnotice{color:var(--accent);font-size:13px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:55;background:#224b4a;color:#fff;border-radius:10px;padding:12px 20px;display:none;max-width:90vw}.isadmin{border:1px solid #345a51;border-radius:10px;padding:10px}.muted{color:var(--muted)}@media(max-width:650px){.top{height:auto;min-height:60px;flex-wrap:wrap;padding:10px 14px}.top nav button{font-size:12px;padding:7px}.intro{padding-top:34px}#stage{min-height:440px;aspect-ratio:auto;height:65vh}.viewhead{gap:9px}.viewhead select{margin:0;width:100%}#hint{max-width:70%;font-size:10px}.sceneItem{flex-wrap:wrap}}

.uploadResults{max-height:180px;overflow:auto;margin:8px 0}.uploadResults p{margin:4px 0;overflow-wrap:anywhere}.uploadOk{color:#58dfc7}.uploadError{color:#ffadad}

.uploadDropzone{border:2px dashed #51788d;border-radius:12px;padding:18px;text-align:center;cursor:pointer;background:#102331}.uploadDropzone.dragging,.uploadDropzone:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.uploadDropzone p{margin:6px 0 12px}.uploadFileList{max-height:180px;overflow:auto}.uploadFileRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.uploadFileRow span{overflow-wrap:anywhere;font-size:13px}.uploadFileRow button{flex-shrink:0;padding:5px 9px}

/* V5: drehbare Hotspots und Firmenlogos */
.hotspot{display:inline-flex;align-items:center;gap:7px;max-width:280px;white-space:normal;overflow:visible;text-overflow:clip;text-align:center}.hotArrow{display:inline-block;flex:none;font-size:19px;line-height:1}.hotLabel{white-space:pre-wrap;overflow-wrap:anywhere}.logoHotspot{position:absolute;transform:translate(-50%,-50%);background:transparent;border:0;padding:2px;pointer-events:auto;box-shadow:none;min-width:0}.logoHotspot img{max-width:100%;width:100%;height:auto;max-height:150px;object-fit:contain;filter:drop-shadow(0 2px 4px #000a)}.logoHotspot:hover{background:transparent;transform:translate(-50%,-50%) scale(1.05)}textarea{resize:vertical;min-height:80px}

/* V7: Marker direkt im Panorama verschieben */
.hotspot.isEditable,.logoHotspot.isEditable{cursor:grab}.hotspot.isEditable:active,.logoHotspot.isEditable:active,.hotspot.draggingMarker,.logoHotspot.draggingMarker{cursor:grabbing}.hotspot.draggingMarker,.logoHotspot.draggingMarker{opacity:.9}.logoHotspot.isEditable{border:1px dashed rgba(65,212,193,.55);border-radius:10px;background:rgba(10,17,28,.18)}

/* V11 logo preview and external embedded tours */
.logoPreview{padding:14px;border:1px dashed var(--line);border-radius:10px;min-height:95px;background:#0c1721;overflow:auto;display:flex;align-items:center;justify-content:center;margin-top:10px}.logoPreview img{max-width:none;height:auto;max-height:220px;object-fit:contain}.embedMode .top,.embedMode .viewhead .back,.embedMode #sceneBar,.embedMode .intro{display:none!important}.embedMode main{max-width:none;padding:0}.embedMode #stage{border-radius:0;height:85vh;max-height:none;aspect-ratio:auto}.embedMode .viewhead{padding:8px 14px;margin:0}.embedMode body{margin:0}

/* V12: zuschaltbares Ausrichtungsraster, nur im Editor sichtbar. */
#stage.showAlignmentGrid::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background-image:linear-gradient(to right,rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(to right,rgba(65,212,193,.7) 1px,transparent 1px),linear-gradient(to bottom,rgba(65,212,193,.7) 1px,transparent 1px);background-size:10% 10%,10% 10%,50% 50%,50% 50%;}

/* V13: Eine eigenständige Besucheransicht pro freigegebenem Rundgang. */
.visitorMode .top,.visitorMode #backBtn,.visitorMode #homeView,.visitorMode #adminView{display:none!important}
.visitorMode main{max-width:1440px;padding:18px clamp(12px,2vw,32px);margin:0 auto}
.visitorMode .viewhead{margin-bottom:10px}
.visitorMode .viewhead select{max-width:100%;width:100%;margin-left:0}
.visitorMode #sceneBar{display:flex!important;padding-top:12px}
.visitorMode #sceneBar button{font-size:14px}
.visitorMode #stage{max-height:78vh}
.visitorMode .visitorUnavailable{padding:30px 15px;color:var(--muted)}
.visitorMode.embedMode main{max-width:none;padding:10px}
.visitorMode.embedMode #stage{height:min(70vh,700px);max-height:none;border-radius:12px}
.visitorMode.embedMode #sceneBar{padding:12px 3px!important;display:flex!important}
.visitorMode.embedMode .viewhead{padding:4px 0;margin:0 0 8px}
@media(max-width:650px){.visitorMode main{padding:8px}.visitorMode #stage{height:65vh;max-height:none}.visitorMode #sceneBar button{padding:9px 12px}}

/* V14 editable construction information board */
.siteBoard{position:absolute;transform:translate(-50%,-50%);transform-style:preserve-3d;pointer-events:auto;background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);color:#142b44;border:2px solid #d9e4ec;border-radius:4px;text-align:left;padding:18px 20px 0;box-shadow:0 28px 48px rgba(0,0,0,.24),0 10px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.85);max-width:calc(100% - 16px);font-family:Arial,system-ui,sans-serif;overflow:hidden;user-select:none;backface-visibility:hidden}.siteBoard h3{margin:15px 0 5px;font-size:clamp(17px,2vw,24px);font-weight:800;color:#142840}.boardBrand{display:flex;flex-direction:column;border-bottom:2px solid #d7e3ed;padding-bottom:10px;gap:4px}.boardEyebrow{font-size:16px;font-weight:800;letter-spacing:.02em}.boardBrand small{font-size:11px;color:#687b88}.boardSub{font-size:13px;color:#536b7e;margin:0 0 12px}.boardFacts{display:grid;gap:9px;font-size:14px;padding:10px 0 12px}.boardFact{padding-left:22px;position:relative;white-space:pre-wrap}.boardFact:before{content:'●';position:absolute;left:1px;top:0;color:#147aa7}.boardLogos{display:flex;align-items:center;justify-content:space-around;gap:10px;flex-wrap:wrap;margin-top:10px;min-height:50px}.boardLogos img{width:auto;max-width:23%;max-height:54px;object-fit:contain}.boardWaves{height:27px;margin:14px -20px 0;background:linear-gradient(165deg,transparent 15%,#53c1e0 16% 42%,#1b8bb6 43% 68%,#145a92 69%);}.siteBoard.isEditable{cursor:grab;border:3px dashed #41d4c1}.siteBoard.draggingMarker{cursor:grabbing;opacity:.9}.boardLogoRow{display:flex;gap:10px;align-items:center;margin:8px 0}.boardLogoRow img{width:75px;max-height:55px;object-fit:contain}.boardLogoRow button{flex-shrink:0}.boardLogoEditor{max-height:260px;overflow:auto}.siteBoard .boardFact,.siteBoard .boardSub,.siteBoard h3{overflow-wrap:anywhere}@media(max-width:650px){.siteBoard{padding:11px 11px 0}.siteBoard h3{margin:10px 0 4px;font-size:15px}.boardEyebrow{font-size:13px}.boardBrand small{font-size:9px}.boardSub{font-size:10px;margin:0 0 8px}.boardFacts{font-size:11px;gap:5px;padding:8px 0 10px}.boardFact{padding-left:18px}.boardLogos{gap:6px;min-height:38px}.boardLogos img{max-height:38px;max-width:30%}.boardWaves{height:18px;margin-left:-11px;margin-right:-11px}.boardLogoRow{flex-wrap:wrap}}

/* V15: proportional scalable board, reusable server logo gallery. */
.siteBoard{max-width:none!important;transform-origin:center center;will-change:transform;}
.storedLogoPanel{margin-top:12px;max-height:270px;overflow-y:auto}
.storedLogoGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px;margin-top:9px}
.storedLogoOption{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;min-height:94px;background:#101e2b}
.storedLogoOption img{width:100%;height:53px;object-fit:contain;background:#fff;border-radius:4px;padding:3px}
.storedLogoOption small{font-size:10px;overflow-wrap:anywhere;line-height:1.25}
.storedLogoOption.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}

/* V18 — freestanding 3D construction sign and readable visitor details. */
.siteBoard{overflow:visible!important;border:5px solid #bdc8cf!important;border-right-color:#7e939e!important;border-bottom-color:#718893!important;border-radius:3px!important;background:#fff!important;box-shadow:11px 12px 0 #6f8793,18px 22px 28px #0008,0 4px 17px #0005!important;transform-style:preserve-3d;isolation:isolate;cursor:pointer;}
.siteBoard:before,.siteBoard:after{content:"";position:absolute;top:calc(100% + 12px);height:160px;width:14px;background:linear-gradient(90deg,#586b74,#c6d1d7 40%,#7c919c 75%,#4b5c66);border:1px solid #6b7a84;box-shadow:4px 6px 0 #0005;z-index:-2;pointer-events:none;}
.siteBoard:before{left:12%;}.siteBoard:after{right:12%;}
.siteBoard .boardWaves{margin-bottom:0;}
.siteBoard .boardBrand,.siteBoard h3,.siteBoard .boardSub,.siteBoard .boardFacts,.siteBoard .boardLogos,.siteBoard .boardWaves{position:relative;z-index:1;}
.siteBoard .boardFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding:12px 0;font-weight:600;}
.siteBoard .boardFact{border-left:3px solid #1278a6;padding:5px 6px 5px 12px;background:#f1f7fa;font-size:13px;line-height:1.35;}
.siteBoard .boardFact:before{display:none;}
.siteBoard .boardLogos{background:white;min-height:62px;flex-wrap:nowrap;}
.siteBoard .boardLogos img{max-width:23%;max-height:56px;}
.siteBoard .boardTapHint{position:absolute;right:7px;bottom:-31px;background:#153b54;color:#fff;font-size:10px;letter-spacing:.01em;padding:5px 8px;border-radius:0 0 5px 5px;z-index:1;}
.siteBoard:hover{filter:brightness(1.03);}
.siteBoard:focus-visible{outline:4px solid #41d4c1;outline-offset:8px;}
.siteBoard.isEditable{cursor:grab;border:3px dashed #41d4c1!important;}
.siteBoard.isEditable .boardTapHint{display:none;}
.boardDetail{color:#183348;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:white;padding:8px;border-radius:10px;}
.boardDetailKicker{font-weight:750;letter-spacing:.07em;font-size:13px;text-transform:uppercase;color:#1677a0;}
.boardDetailTitle{font-size:clamp(23px,4vw,32px);margin:12px 0 2px;line-height:1.18;color:#183348;}
.boardDetailSub{font-size:16px;font-weight:650;color:#31526a;margin:0 0 6px;}
.boardDetailAddress{font-size:13px;color:#627889;margin:0 0 17px;}
.boardDetailFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.boardDetailFact{background:#f0f7fb;border-left:4px solid #1783b1;color:#183348;padding:12px;font-size:14px;font-weight:600;line-height:1.4;}
.boardDetailHeading{margin:23px 0 12px;color:#183348;}
.boardDetailLogos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.boardDetailLogo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #dce7ed;border-radius:7px;min-height:86px;padding:8px;}
.boardDetailLogo img{width:100%;max-height:55px;object-fit:contain;}.boardDetailLogo small{color:#456;overflow-wrap:anywhere;text-align:center;font-size:10px;}
.dialog:has(.boardDetail){background:#fff;max-width:720px;width:min(720px,96vw);}
.dialog:has(.boardDetail) h2{color:#153b54;}
.dialog:has(.boardDetail) .close{background:#e8f3f7;color:#153b54;}
@media(max-width:650px){.siteBoard .boardFacts{gap:5px;}.siteBoard .boardFact{font-size:10px;padding:4px 5px;border-left-width:2px;}.siteBoard:before,.siteBoard:after{height:115px;width:11px;}.boardDetailFacts{grid-template-columns:1fr;}.boardDetailLogos{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* V22: Entirely HTML/CSS, photographed construction-board design. No cutout image. */
.siteBoard3D{position:absolute;width:470px;height:520px;transform-origin:50% 48%;pointer-events:auto;cursor:pointer;isolation:isolate;user-select:none;touch-action:none;filter:drop-shadow(9px 13px 7px rgba(0,0,0,.23));color:#172e4c;font-family:Arial,Helvetica,sans-serif;}
.siteBoard3D .boardMetalFrame{position:absolute;left:0;right:0;top:0;height:398px;border-style:solid;border-width:10px 15px 12px 11px;border-color:#b7c3c9 #71828d #7b8c95 #cad1d6;border-radius:2px;box-sizing:border-box;background:#f9fbfd;box-shadow:inset 0 0 0 2px #e6edf2,6px 3px 0 #5a6d79,10px 8px 13px #0005;z-index:2;}
.siteBoard3D .boardFace{position:relative;height:100%;box-sizing:border-box;overflow:hidden;padding:17px 22px 0;background:linear-gradient(115deg,#fff 0%,#f9fbff 80%,#f0f3f8 100%);}
.siteBoard3D .boardHeading{font-size:16px;letter-spacing:.01em;padding:0 0 11px;border-bottom:2px solid #6fa2cc;white-space:nowrap;color:#122e53;}
.siteBoard3D h3{font-size:29px;line-height:1.12;margin:19px 0 6px;letter-spacing:-.025em;font-weight:800;color:#142f56;overflow-wrap:anywhere;}
.siteBoard3D .boardDesignation{font-size:17px;color:#4f6680;margin:0 0 18px;line-height:1.25;}
.siteBoard3D .boardPoints{display:flex;flex-direction:column;gap:12px;min-height:96px;margin:0 0 12px;}
.siteBoard3D .boardPoint{position:relative;padding-left:21px;color:#1e3451;font-size:15px;font-weight:500;line-height:1.15;overflow-wrap:anywhere;}
.siteBoard3D .boardPoint:before{content:'';position:absolute;left:3px;top:5px;width:8px;height:8px;background:#167dd3;border-radius:50%;}
.siteBoard3D .boardCompanyLogos{display:flex;position:absolute;bottom:36px;left:22px;right:22px;height:72px;align-items:center;justify-content:space-around;gap:18px;}
.siteBoard3D .boardCompanyLogos img{display:block;max-width:29%;max-height:71px;width:auto;height:auto;object-fit:contain;}
.siteBoard3D .boardBlueWaves{position:absolute;bottom:0;left:0;right:0;height:35px;background:linear-gradient(167deg,transparent 27%,#55b9ed 28% 48%,#2194d5 49% 72%,#156db7 73%);}
.siteBoard3D .boardScrew{position:absolute;width:9px;height:9px;z-index:3;border-radius:50%;background:radial-gradient(circle at 36% 35%,#f8fbff 0 12%,#8b9ca9 25%,#5d7180 50%,#e0e6e9 70%);box-shadow:0 0 1px 1px #647784;}
.siteBoard3D .screw-tl{top:8px;left:8px}.siteBoard3D .screw-tr{top:8px;right:8px}.siteBoard3D .screw-bl{bottom:8px;left:8px}.siteBoard3D .screw-br{bottom:8px;right:8px}
.siteBoard3D .boardLeg{position:absolute;top:388px;width:17px;height:121px;background:linear-gradient(90deg,#6b7d86 0%,#cad4da 30%,#a4b5bf 58%,#5f7079 100%);box-shadow:4px 1px 3px #0003;z-index:1;}
.siteBoard3D .boardLegLeft{left:36px}.siteBoard3D .boardLegRight{right:36px}
.siteBoard3D .boardFoot{position:absolute;bottom:-5px;left:-19px;width:72px;height:20px;clip-path:polygon(10% 0,89% 0,100% 28%,100% 80%,77% 100%,0 79%,0 25%);background:linear-gradient(180deg,#d6d8d6 0%,#f2f0e8 38%,#9e9d94 39%,#b6b4ad 100%);box-shadow:2px 4px 3px #0004;}
.siteBoard3D .boardGroundShadow{position:absolute;top:499px;left:17px;right:7px;height:19px;transform:skewX(-18deg);border-radius:50%;background:rgba(0,0,0,.18);filter:blur(8px);z-index:0;}
.siteBoard3D.isEditable{cursor:grab;outline:2px dashed #42d4be;outline-offset:4px}.siteBoard3D.draggingMarker{cursor:grabbing;opacity:.91}.siteBoard3D:focus-visible{outline:4px solid #42d4be;outline-offset:5px}
@media(max-width:650px){.siteBoard3D{ /* scale belongs to panorama projection; preserve proportions */ }}

/* V23 - photo-reference-inspired milled metal board, kept as editable HTML/CSS */
.siteBoard3D{
  width:470px;height:520px;
  font-family:Arial,Helvetica,sans-serif;
  filter:drop-shadow(15px 16px 10px rgba(0,0,0,.30));
}
.siteBoard3D .boardMetalFrame{
  top:0;height:402px;
  border:solid;
  border-width:8px 15px 12px 9px;
  border-color:#a7b2bb #687a8a #6f8290 #c8d2d8;
  background:#ecf0f5;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.85),
    2px 0 0 #768998, 9px 2px 0 #647887,
    13px 7px 0 #536876, 17px 13px 20px #0005;
  border-radius:1px;
}
.siteBoard3D .boardMetalFrame::before{
  content:"";position:absolute;pointer-events:none;
  inset:-8px -15px -12px -9px;
  background:repeating-linear-gradient(114deg,transparent 0 2px,rgba(255,255,255,.14) 2px 3px,transparent 3px 6px);
  opacity:.34;z-index:4;
}
.siteBoard3D .boardFace{
  padding:22px 23px 0;
  background:linear-gradient(115deg,#f8fafe 0%,#fff 40%,#f4f6fa 98%);
  box-shadow:inset 0 0 7px rgba(13,47,82,.10);
}
.siteBoard3D .boardHeading{
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  color:#11274c;
  border-bottom:1px solid #1777be;
  padding-bottom:14px;
}
.siteBoard3D h3{
  font-size:32px;
  margin:19px 0 6px;
  letter-spacing:-.03em;
  font-weight:800;
  line-height:1.06;
}
.siteBoard3D .boardDesignation{
  font-size:17px;
  color:#425c79;
  margin:0 0 20px;
}
.siteBoard3D .boardPoints{gap:13px;margin-bottom:8px;min-height:auto;}
.siteBoard3D .boardPoint{
  font-size:16px;
  color:#203952;
  padding-left:20px;
  white-space:normal;
}
.siteBoard3D .boardPoint:before{left:2px;top:6px;background:#007bcc;}
.siteBoard3D .boardCompanyLogos{
  bottom:37px;left:22px;right:22px;height:78px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  justify-items:center;align-items:end;column-gap:18px;
}
.siteBoard3D .boardCompanyLogos img{
  width:100%;max-width:100%;max-height:74px;object-fit:contain;
}
.siteBoard3D .boardBlueWaves{
  height:31px;
  background:
    linear-gradient(168deg,transparent 26%,#49bbeb 26% 46%,transparent 46%),
    linear-gradient(166deg,transparent 32%,#258cd3 32% 68%,#0961aa 68%);
}
.siteBoard3D .boardScrew{width:11px;height:11px}
.siteBoard3D .boardLeg{
  top:392px;height:117px;width:21px;
  background:linear-gradient(90deg,#687785 0%,#ced9e0 28%,#9caeb8 60%,#546774 100%);
  border-left:1px solid #72828f;
  border-right:2px solid #5e7181;
  box-shadow:5px 4px 5px #0004;
}
.siteBoard3D .boardLegLeft{left:34px}
.siteBoard3D .boardLegRight{right:34px}
.siteBoard3D .boardFoot{
  left:-17px;bottom:-7px;width:81px;height:24px;
  clip-path:polygon(8% 0,91% 0,100% 31%,100% 80%,76% 100%,0 79%,0 29%);
  background:linear-gradient(175deg,#f5f4f0 0%,#d7d5cb 45%,#999992 47%,#a9a69e 100%);
  box-shadow:3px 6px 5px #0004;
}
.siteBoard3D .boardGroundShadow{left:5px;right:2px;top:501px;opacity:.65}


/* V24 – stärker an Referenzbild 1 angenähert: mehr Drehung, mittige Betonsockel */
.siteBoard3D{
  width:540px;
  height:590px;
  transform-origin:50% 46%;
  filter:drop-shadow(16px 18px 12px rgba(0,0,0,.31));
}
.siteBoard3D .boardMetalFrame{
  top:0;
  height:438px;
  border-style:solid;
  border-width:10px 18px 14px 10px;
  border-color:#b8c4ca #6f808a #70828d #d1d9dd;
  box-shadow:
    inset 0 0 0 2px #edf2f6,
    5px 0 0 #8b98a1,
    11px 4px 0 #748691,
    18px 9px 0 #647783,
    23px 15px 20px rgba(0,0,0,.22);
  background:linear-gradient(90deg,#d5dde1 0%,#b7c3c8 1.4%,#f9fbfd 2.8%,#f9fbfd 86%,#cdd6dc 97%,#9caab3 100%);
}
.siteBoard3D .boardMetalFrame::before{
  inset:-10px -18px -14px -10px;
  background:repeating-linear-gradient(112deg,transparent 0 3px,rgba(255,255,255,.16) 3px 4px,transparent 4px 7px);
  opacity:.36;
}
.siteBoard3D .boardFace{
  height:100%;
  padding:20px 24px 0;
  background:linear-gradient(112deg,#f9fbfd 0%,#ffffff 46%,#f3f6f9 100%);
}
.siteBoard3D .boardHeading{font-size:17px;padding:0 0 12px;border-bottom:2px solid #6eacde;}
.siteBoard3D h3{font-size:34px;margin:22px 0 7px;letter-spacing:-.03em;}
.siteBoard3D .boardDesignation{font-size:17px;margin:0 0 22px;}
.siteBoard3D .boardPoints{gap:16px;margin-bottom:10px;}
.siteBoard3D .boardPoint{font-size:17px;padding-left:23px;line-height:1.18;}
.siteBoard3D .boardPoint:before{left:2px;top:6px;width:10px;height:10px;box-shadow:0 0 0 2px rgba(0,123,204,.10);}
.siteBoard3D .boardCompanyLogos{
  bottom:42px;
  left:24px;
  right:24px;
  height:85px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:16px;
}
.siteBoard3D .boardCompanyLogos img{max-height:80px;}
.siteBoard3D .boardBlueWaves{
  height:34px;
  background:
    linear-gradient(166deg,transparent 18%,#67caf3 18% 42%,transparent 42%),
    linear-gradient(165deg,transparent 33%,#37a3df 33% 67%,#0b63af 67%);
}
.siteBoard3D .boardScrew{width:12px;height:12px;box-shadow:0 0 1px 1px #6a7c89, inset 0 0 1px rgba(255,255,255,.8);}
.siteBoard3D .screw-tl{top:8px;left:9px}.siteBoard3D .screw-tr{top:8px;right:9px}.siteBoard3D .screw-bl{bottom:8px;left:9px}.siteBoard3D .screw-br{bottom:8px;right:9px}
.siteBoard3D .boardLeg{
  top:430px;
  width:20px;
  height:126px;
  background:linear-gradient(90deg,#6a7a84 0%,#d8e1e6 32%,#a0afba 62%,#5d6f7b 100%);
  border-left:1px solid #85929a;
  border-right:1px solid #647785;
  box-shadow:4px 2px 5px rgba(0,0,0,.26);
}
.siteBoard3D .boardLegLeft{left:48px}
.siteBoard3D .boardLegRight{right:48px}
.siteBoard3D .boardFoot{
  left:50%;
  transform:translateX(-50%);
  bottom:-8px;
  width:74px;
  height:22px;
  clip-path:polygon(10% 0,90% 0,100% 32%,100% 80%,77% 100%,0 78%,0 28%);
  background:linear-gradient(180deg,#f2f1ed 0%,#d9d6cf 45%,#a2a198 47%,#bab7b0 100%);
  box-shadow:3px 5px 5px rgba(0,0,0,.28);
}
.siteBoard3D .boardGroundShadow{
  top:548px;
  left:36px;
  right:36px;
  height:22px;
  transform:skewX(-22deg);
  background:rgba(0,0,0,.20);
  filter:blur(9px);
}


/* V25 – realistischerer Look: verzinkter Rahmen, eckige Pfosten, massivere Sockel */
.siteBoard3D{
  width:560px;
  height:610px;
  transform-origin:50% 45%;
  filter:drop-shadow(18px 20px 14px rgba(0,0,0,.34));
}
.siteBoard3D .boardMetalFrame{
  top:0;
  height:452px;
  border-style:solid;
  border-width:8px 18px 13px 9px;
  border-color:#b7c0c6 #6c7d88 #70828e #d3dade;
  background:
    linear-gradient(90deg,#d6dde2 0%,#bfc9cf 1.6%,#fefefe 2.8%,#ffffff 82%,#d3dce1 96%,#98a7b0 100%);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.78),
    inset 0 0 0 3px rgba(150,165,174,.14),
    4px 1px 0 #8a98a1,
    10px 4px 0 #788993,
    16px 8px 0 #657784,
    24px 16px 20px rgba(0,0,0,.20);
}
.siteBoard3D .boardMetalFrame::before{
  content:"";
  position:absolute;
  inset:-8px -18px -13px -9px;
  pointer-events:none;
  background:
    linear-gradient(110deg,rgba(255,255,255,.14),transparent 20%,transparent 78%,rgba(0,0,0,.04)),
    repeating-linear-gradient(115deg,transparent 0 3px,rgba(255,255,255,.08) 3px 4px,rgba(0,0,0,.03) 4px 5px,transparent 5px 8px);
  opacity:.55;
}
.siteBoard3D .boardFace{
  background:linear-gradient(110deg,#fbfcfe 0%,#ffffff 44%,#f6f8fb 100%);
  box-shadow:inset 0 0 8px rgba(10,38,61,.08);
}
.siteBoard3D .boardHeading{font-size:17px;font-weight:800;color:#122b52;border-bottom:2px solid #5fa5da;padding-bottom:14px;}
.siteBoard3D h3{font-size:35px;line-height:1.03;margin:22px 0 8px;color:#112a53;}
.siteBoard3D .boardDesignation{font-size:18px;color:#536a83;margin:0 0 21px;}
.siteBoard3D .boardPoints{gap:16px;margin-bottom:12px;}
.siteBoard3D .boardPoint{font-size:17px;line-height:1.22;color:#1f3851;padding-left:24px;}
.siteBoard3D .boardPoint:before{left:2px;top:6px;width:10px;height:10px;background:#0b81d3;box-shadow:0 0 0 2px rgba(11,129,211,.12);}
.siteBoard3D .boardCompanyLogos{
  bottom:44px;left:24px;right:24px;height:86px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:end;column-gap:18px;
}
.siteBoard3D .boardCompanyLogos img{max-height:79px;max-width:100%;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35));}
.siteBoard3D .boardBlueWaves{
  height:33px;
  background:
    linear-gradient(168deg,transparent 18%,#6cccf2 18% 42%,transparent 42%),
    linear-gradient(166deg,transparent 33%,#2ea0df 33% 67%,#0860ab 67%);
}
.siteBoard3D .boardScrew{
  width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#ffffff 0 18%,#c8d0d6 19% 40%,#738390 41% 58%,#dfe6ea 59% 76%,#7e8d98 77%);
  box-shadow:0 0 0 1px rgba(88,100,111,.50), inset 0 0 1px rgba(255,255,255,.7);
}
.siteBoard3D .screw-tl{top:8px;left:8px}.siteBoard3D .screw-tr{top:8px;right:10px}.siteBoard3D .screw-bl{bottom:8px;left:8px}.siteBoard3D .screw-br{bottom:8px;right:10px}
.siteBoard3D .boardLeg{
  top:444px;
  width:26px;
  height:131px;
  background:
    linear-gradient(90deg,#657680 0%,#d8e1e5 24%,#f0f4f7 39%,#bac7ce 61%,#7a8b95 82%,#5f717b 100%);
  border-left:1px solid #84929a;
  border-right:2px solid #61737e;
  border-radius:1px;
  box-shadow:4px 3px 6px rgba(0,0,0,.26);
}
.siteBoard3D .boardLegLeft{left:56px}
.siteBoard3D .boardLegRight{right:56px}
.siteBoard3D .boardLeg::after{
  content:"";position:absolute;left:2px;right:2px;top:0;bottom:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 5px);
  opacity:.45;
}
.siteBoard3D .boardFoot{
  left:50%;transform:translateX(-50%);
  bottom:-10px;width:90px;height:27px;
  clip-path:polygon(10% 0,90% 0,100% 29%,100% 80%,79% 100%,0 80%,0 29%);
  background:
    linear-gradient(180deg,#f2f0ea 0%,#d6d2ca 48%,#a3a096 50%,#b9b5ad 100%);
  box-shadow:4px 6px 6px rgba(0,0,0,.28);
}
.siteBoard3D .boardFoot::before{
  content:"";position:absolute;inset:2px 7px 8px;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 2px,rgba(0,0,0,.02) 2px 4px);
  opacity:.55;
}
.siteBoard3D .boardGroundShadow{
  top:569px;left:44px;right:44px;height:18px;
  transform:skewX(-24deg);
  background:rgba(0,0,0,.18);
  filter:blur(10px);
}
@media(max-width:900px){
  .siteBoard3D{width:510px;height:560px}
  .siteBoard3D .boardMetalFrame{height:416px}
  .siteBoard3D .boardLeg{top:408px;height:120px;width:24px}
  .siteBoard3D .boardGroundShadow{top:525px}
}


/* V26 – komplett neu aufgebauter HTML-Look mit echten Vierkantpfosten */
.siteBoard3D{
  position:absolute;
  width:620px;
  height:668px;
  transform-origin:50% 46%;
  pointer-events:auto;
  cursor:pointer;
  isolation:isolate;
  user-select:none;
  touch-action:none;
  color:#18304d;
  font-family:Arial,Helvetica,sans-serif;
  filter:drop-shadow(22px 26px 18px rgba(0,0,0,.28));
}
.siteBoard3D .boardMetalFrame{
  position:absolute;
  inset:0 0 auto 0;
  height:488px;
  border-radius:2px;
  box-sizing:border-box;
  border-style:solid;
  border-width:8px 20px 14px 9px;
  border-color:#c2cad0 #84929c #778892 #d6dde2;
  background:
    linear-gradient(90deg,#e5eaed 0%,#c1cbd1 5%,#ffffff 7%,#ffffff 86%,#d7dee3 96%,#93a1aa 100%);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.72),
    inset 0 0 0 4px rgba(130,145,155,.18),
    8px 4px 0 rgba(118,132,142,.95),
    16px 11px 0 rgba(102,116,126,.72),
    22px 18px 24px rgba(0,0,0,.16);
  z-index:3;
}
.siteBoard3D .boardMetalFrame::before{
  content:"";
  position:absolute;
  left:-9px; right:-20px; top:-8px; bottom:-14px;
  pointer-events:none;
  background:
    linear-gradient(120deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 83%,rgba(0,0,0,.05) 100%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 3px,rgba(0,0,0,.02) 3px 5px,transparent 5px 8px);
  opacity:.6;
}
.siteBoard3D .boardFace{
  position:relative;
  height:100%;
  box-sizing:border-box;
  overflow:hidden;
  padding:18px 24px 0;
  background:linear-gradient(104deg,#fcfdff 0%,#ffffff 55%,#f2f5f9 100%);
}
.siteBoard3D .boardHeading{
  font-size:18px;
  font-weight:800;
  color:#0f2b52;
  border-bottom:2px solid #5ca8e6;
  padding:0 0 15px;
  white-space:nowrap;
}
.siteBoard3D h3{
  margin:24px 0 10px;
  font-size:50px;
  line-height:.98;
  letter-spacing:-.04em;
  color:#0f2b52;
  font-weight:800;
}
.siteBoard3D .boardDesignation{
  margin:0 0 26px;
  color:#465f7b;
  font-size:18px;
  line-height:1.2;
}
.siteBoard3D .boardPoints{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:0 0 18px;
}
.siteBoard3D .boardPoint{
  position:relative;
  padding-left:27px;
  color:#1d3854;
  font-size:18px;
  line-height:1.2;
}
.siteBoard3D .boardPoint:before{
  content:'';
  position:absolute;
  left:3px;
  top:7px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#1386dd;
  box-shadow:0 0 0 2px rgba(19,134,221,.12);
}
.siteBoard3D .boardCompanyLogos{
  position:absolute;
  left:28px;
  right:28px;
  bottom:44px;
  height:88px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-items:center;
  align-items:end;
  gap:18px;
}
.siteBoard3D .boardCompanyLogos img{
  max-width:100%;
  max-height:78px;
  object-fit:contain;
}
.siteBoard3D .boardBlueWaves{
  position:absolute;
  left:0; right:0; bottom:0;
  height:35px;
  background:
    linear-gradient(166deg,transparent 0 18%,#68caf0 18% 45%,transparent 45%),
    linear-gradient(166deg,transparent 0 34%,#2ca1df 34% 69%,#0a67b5 69% 100%);
}
.siteBoard3D .boardScrew{
  position:absolute;
  width:12px;
  height:12px;
  z-index:3;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%,#fbfcfe 0 16%,#ced6db 17% 34%,#7f8f9a 35% 58%,#eff3f5 59% 73%,#8595a0 74%);
  box-shadow:0 0 0 1px rgba(92,105,117,.52), inset 0 0 1px rgba(255,255,255,.86);
}
.siteBoard3D .screw-tl{top:8px;left:8px}
.siteBoard3D .screw-tr{top:8px;right:10px}
.siteBoard3D .screw-bl{bottom:8px;left:8px}
.siteBoard3D .screw-br{bottom:8px;right:10px}

/* Echte Vierkantpfosten */
.siteBoard3D .boardLeg{
  position:absolute;
  top:474px;
  width:30px;
  height:148px;
  background:linear-gradient(90deg,#758690 0%,#dfe6eb 18%,#eef3f6 34%,#c4d0d7 58%,#96a5af 72%,#697b86 100%);
  border-left:1px solid rgba(93,106,117,.7);
  border-right:2px solid rgba(89,101,112,.8);
  box-shadow:5px 4px 8px rgba(0,0,0,.24);
  z-index:2;
}
.siteBoard3D .boardLeg::before{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  right:-7px;
  width:7px;
  background:linear-gradient(180deg,#9baab3 0%,#82929d 100%);
  transform:skewY(0deg);
}
.siteBoard3D .boardLeg::after{
  content:'';
  position:absolute;
  left:3px;
  right:10px;
  top:0;
  bottom:0;
  background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 36%,rgba(255,255,255,.05) 64%,rgba(0,0,0,.05));
  pointer-events:none;
}
.siteBoard3D .boardLegLeft{left:74px}
.siteBoard3D .boardLegRight{right:74px}

.siteBoard3D .boardFoot{
  position:absolute;
  left:50%;
  bottom:-16px;
  width:104px;
  height:32px;
  transform:translateX(-50%);
  clip-path:polygon(8% 12%,92% 12%,100% 36%,100% 82%,78% 100%,0 82%,0 36%);
  background:linear-gradient(180deg,#f2efe8 0%,#ddd9d1 44%,#aba79e 46%,#c5c0b8 100%);
  box-shadow:4px 7px 8px rgba(0,0,0,.23);
}
.siteBoard3D .boardFoot::before{
  content:'';
  position:absolute;
  left:8px;
  right:12px;
  top:4px;
  height:11px;
  background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(0,0,0,.03));
  clip-path:polygon(4% 0,96% 0,100% 35%,100% 100%,0 100%,0 35%);
}

.siteBoard3D .boardGroundShadow{
  position:absolute;
  left:40px;
  right:40px;
  top:617px;
  height:20px;
  background:rgba(0,0,0,.20);
  filter:blur(11px);
  border-radius:50%;
  transform:skewX(-22deg);
  z-index:0;
}
.siteBoard3D.isEditable{cursor:grab;outline:2px dashed #42d4be;outline-offset:4px}
.siteBoard3D.draggingMarker{cursor:grabbing;opacity:.92}
.siteBoard3D:focus-visible{outline:4px solid #42d4be;outline-offset:5px}
@media(max-width:900px){
  .siteBoard3D{width:560px;height:610px}
  .siteBoard3D .boardMetalFrame{height:446px}
  .siteBoard3D h3{font-size:44px}
  .siteBoard3D .boardLeg{top:432px;height:138px}
  .siteBoard3D .boardGroundShadow{top:566px}
}

/* V27: approved Bamberg sign rendered as a realistic raster mockup for the visitor view. */
.siteBoardImageWrap{position:absolute;width:470px;transform-origin:50% 55%;pointer-events:auto;cursor:pointer;user-select:none;touch-action:none;filter:drop-shadow(12px 18px 14px rgba(0,0,0,.28));isolation:isolate}
.siteBoardImageWrap img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}
.siteBoardImageWrap.isEditable{cursor:grab;outline:2px dashed #42d4be;outline-offset:4px}
.siteBoardImageWrap.draggingMarker{cursor:grabbing;opacity:.92}
.siteBoardImageWrap:focus-visible{outline:4px solid #42d4be;outline-offset:6px}
@media(max-width:650px){.siteBoardImageWrap{width:330px}}

/* V29: live server logos, up to six; white sign face stays opaque */
.siteBoardImageWrap .refBoardLogoRow{
 position:absolute;left:15.8%;width:67.5%;top:52.4%;height:14.9%;
 display:flex;justify-content:space-evenly;align-items:center;gap:2.2%;
 pointer-events:none;transform:skewY(-.3deg);
}
.siteBoardImageWrap .refBoardLogoItem{min-width:0;flex:1 1 0;max-width:26%;height:100%;display:flex;justify-content:center;align-items:center}
.siteBoardImageWrap .refBoardLogoItem img{width:100%;max-height:100%;height:auto;object-fit:contain;}

/* V32 – unveränderte, freigestellte Referenztafel. */
.siteBoardImageWrap{width:470px;transform-origin:center center;filter:drop-shadow(4px 10px 10px rgba(0,0,0,.22))}
.siteBoardImageWrap img.referenceBoardArt{display:block;width:100%;height:auto}
.siteBoardImageWrap .referenceBoardTextCover{position:absolute;left:17%;right:15%;top:15%;height:34%;background:#fff;color:#10234d;display:flex;flex-direction:column;gap:2%;transform:skewY(-4deg);overflow:hidden;padding:1%;box-sizing:border-box}
.siteBoardImageWrap .referenceBoardHeader{font-size:12px;border-bottom:1px solid #198bdc;padding-bottom:5px}
.siteBoardImageWrap .referenceBoardTitle{font-size:26px;line-height:1.05;margin:7px 0 0;color:#081f4d}
.siteBoardImageWrap .referenceBoardSubtitle{font-size:12px;margin:2px 0 4px;color:#445b7d}
.siteBoardImageWrap .referenceBoardFacts{display:flex;flex-direction:column;gap:5px}
.siteBoardImageWrap .referenceBoardFact{font-size:11px;color:#102952;padding-left:13px;position:relative}
.siteBoardImageWrap .referenceBoardFact::before{content:'●';color:#008ce8;position:absolute;left:0}
.siteBoardImageWrap .referenceBoardCustomLogos{position:absolute;left:18%;right:16%;top:52%;height:12%;background:#fff;display:flex;justify-content:space-evenly;align-items:center;gap:3px;transform:skewY(-2deg);padding:2px}
.siteBoardImageWrap .referenceBoardCustomLogos img{flex:1 1 0;max-width:22%;width:0;height:90%;object-fit:contain}

/* V33: Nur dynamische Firmenlogos, ohne weiße Rechtecke über den Referenzdruck. */
.siteBoardImageWrap .referenceBoardCustomLogos{
 position:absolute;left:18%;right:16%;top:50.3%;height:15%;
 display:flex;align-items:center;justify-content:space-evenly;
 gap:1.8%;padding:0;background:transparent;transform:skewY(-2deg);
 pointer-events:none;
}
.siteBoardImageWrap .referenceBoardCustomLogos img{
 display:block;flex:0 1 auto;width:calc((100% - (var(--logo-count) - 1)*2%)/var(--logo-count));
 max-width:calc(100%/var(--logo-count));height:auto;max-height:100%;object-fit:contain;
}


/* V34: iPhone/Safari-kompatibles Raster; kein CSS-calc mit Division mehr. */
.siteBoardImageWrap .referenceBoardCustomLogos {
 display:grid !important;
 grid-auto-flow:column;
 grid-auto-columns:minmax(0,1fr);
 align-items:center;justify-items:center;
 top:50.3%;height:15%;left:18%;right:16%;
 background:transparent;overflow:visible;
}
.siteBoardImageWrap .referenceBoardCustomLogos img {
 display:block;box-sizing:border-box;
 width:100% !important;max-width:100% !important;min-width:0;
 height:100% !important;max-height:100% !important;
 object-fit:contain;
}


/* V36: Safari-/iPad-kompatibler Panorama-Vollbildmodus; nur den Rundgang ändern. */
html.panoramaFullscreenRoot,body.panoramaFullscreen{overflow:hidden!important;overscroll-behavior:none}
body.panoramaFullscreen #stage{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;border-radius:0!important;z-index:1000!important;background:#06101b}
body.panoramaFullscreen #stage #fullExit{display:block!important}
#fullExit{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));z-index:9;background:#0b1825df;border:1px solid #70babb;color:#fff;padding:12px 15px;font-size:14px;border-radius:11px;pointer-events:auto}
#fullExit[hidden]{display:none!important}
body.panoramaFullscreen #stage #compass{top:max(14px,env(safe-area-inset-top))}
body.panoramaFullscreen #stage .zminus{bottom:max(27px,env(safe-area-inset-bottom))}
body.panoramaFullscreen #stage .zplus{bottom:calc(max(27px,env(safe-area-inset-bottom)) + 48px)}
body.panoramaFullscreen #stage #hint{bottom:max(14px,env(safe-area-inset-bottom))}
#stage:fullscreen{width:100vw;height:100vh;max-height:none;aspect-ratio:auto;border-radius:0}

/* V37: sichtbarer Vollbildschalter auch in der Besucheransicht (Header ausgeblendet). */
#stage #fullExit{display:block!important;position:absolute;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));z-index:30;pointer-events:auto;touch-action:manipulation;background:#0b1825e8;color:#fff;border:1px solid #63b7bd;font-weight:650;box-shadow:0 2px 10px #0006}
#stage #fullExit[hidden]{display:none!important}
