/* Freistellen – Stile fuer freistellen.js (ITMedia-Standarddesign) */
.fs-free .fs-container { display: block !important; position: relative; }
.fs-free .fs-container > .fs-box { position: absolute; margin: 0 !important; display: flex; flex-direction: column; overflow: hidden; box-sizing: border-box; }
.fs-free .fs-container > .fs-box > .fs-grow { flex: 1; min-height: 0; position: relative; overflow: auto; }
.fs-edit .fs-box { user-select: none; }

/* Bearbeiten-Modus: gestrichelter Rahmen, Griffe an Raendern und Ecken */
.fs-ov { position: absolute; inset: 0; z-index: 60; cursor: move; background: rgba(76,141,255,.08);
         outline: 2px dashed #4c8dff; outline-offset: -2px; border-radius: 14px; touch-action: none; }
.fs-h { position: absolute; display: block; z-index: 61; }
.fs-n, .fs-s { left: 16px; right: 16px; height: 12px; cursor: ns-resize; } .fs-n { top: 0; } .fs-s { bottom: 0; }
.fs-e, .fs-w { top: 16px; bottom: 16px; width: 12px; cursor: ew-resize; } .fs-e { right: 0; } .fs-w { left: 0; }
.fs-ne, .fs-nw, .fs-se, .fs-sw { width: 16px; height: 16px; background: #4c8dff; border-radius: 50%; opacity: .85; }
.fs-ne { top: 3px; right: 3px; cursor: nesw-resize; } .fs-nw { top: 3px; left: 3px; cursor: nwse-resize; }
.fs-se { bottom: 3px; right: 3px; cursor: nwse-resize; } .fs-sw { bottom: 3px; left: 3px; cursor: nesw-resize; }
.fs-on { border-color: #4c8dff !important; color: #fff !important; background: rgba(76,141,255,.22) !important; }
