/* Empty slots have no spacing; existing site typography remains authoritative. */
.cms-added-content:empty { display: none; }
.practice-modern .cms-added-content:not(:empty) { margin-block: 24px; }
.practice-modern .cms-added-content > * { margin-block: 0 16px; }
.practice-modern .cms-added-content > :last-child { margin-bottom: 0; }
.practice-modern .cms-added-content ul { padding-inline-start: 1.25em; list-style: disc; }
.practice-modern .cms-added-content li { margin-block: .4em; }
/* Shared output uses the homepage typography. Editor chrome is scoped to editing. */
.practice-modern #cc-inner [data-cms-id] u { text-decoration: underline !important; text-underline-offset: .12em; }
.practice-modern [data-cms-id][hidden] { display: none !important; }
.practice-modern [data-cms-media][hidden] { display: none !important; }
.practice-modern .practice-hero:has(.practice-portrait[hidden]) { grid-template-columns: minmax(0,1fr); grid-template-areas: 'introduction'; }
.practice-modern .practice-portrait-wrap:has(.practice-portrait[hidden]) { display: none; }
.practice-modern .cms-added-content ol { padding-inline-start: 1.4em; list-style: decimal; }
.practice-modern .cms-added-content li { padding-inline-start: .2em; }
.practice-modern #content_area .cms-added-content > :is(h1,h2,h3,h4) { font-family: Asap,sans-serif; font-weight: 600; line-height: 1.35; color: inherit; text-transform: none; letter-spacing: 0; }
.practice-modern #content_area .cms-added-content > h1 { font-size: 30px; }
.practice-modern #content_area .cms-added-content > h2 { font-size: 24px; }
.practice-modern #content_area .cms-added-content > h3 { font-size: 20px; }
.practice-modern #content_area h4[data-cms-id] { font: 600 16px/24px Asap,sans-serif; color: inherit; margin: 32px 0 16px; text-transform: none; letter-spacing: 0; }
.cms-slot-shell { list-style: none !important; padding: 0 !important; }
.cms-slot-shell:has(>.cms-added-content:empty) { display: none; }
.cms-preview [data-cms-id] { cursor: text; outline-offset: 4px; border-radius: 4px; }
.cms-preview [data-cms-id]:hover { outline: 1px dashed #499b886b; }
.cms-preview [data-cms-id].cms-selected { outline: 2px solid #368f7c; background: #eafffa24; }
.cms-preview .cms-original-media { cursor: pointer; outline-offset: 5px; }
.cms-preview .cms-original-media:hover { outline: 2px dashed #368f7c; }
.cms-preview [data-cms-id] .tiptap { min-height: 1em; padding: 0; margin: 0; border: 0; font: inherit; color: inherit; line-height: inherit; text-align: inherit; outline: none !important; white-space: pre-wrap; overflow-wrap: anywhere; caret-color: #146b55; }
.cms-preview [data-cms-id] .tiptap:focus-visible { outline: none !important; }
.cms-preview .tiptap:has(>br.ProseMirror-trailingBreak:only-child)::before { content: attr(data-placeholder); color: #648477; opacity: .8; pointer-events: none; float: left; height: 0; font-size: .9em; font-weight: 400; }
.cms-preview [data-cms-id]:empty::before { content: 'Text eingeben …'; color: #648477; font-weight: 400; }
.cms-preview .cms-movable { position: relative; }
.cms-preview #content_area .cms-drag-handle { position: absolute; left: -30px; top: 0; z-index: 5; width: 27px; min-width: 27px; height: 32px; min-height: 32px; padding: 0; margin: 0; border: 1px solid #bfd7cf; border-radius: 7px; background: #f9fffc; color: #385e53; font: 22px/30px sans-serif; cursor: grab; touch-action: none; opacity: 0; box-shadow: 0 2px 5px #173d3410; transition: opacity .12s ease; user-select: none; }
.cms-preview #content_area .cms-movable:hover>.cms-drag-handle,.cms-preview #content_area .cms-movable:hover>.cms-drag-shell>.cms-drag-handle,.cms-preview #content_area .cms-selected>.cms-drag-handle,.cms-preview #content_area .cms-selected>.cms-drag-shell>.cms-drag-handle,.cms-preview #content_area .cms-drag-handle:focus-visible { opacity: 1; }
.cms-preview [data-cms-slot] { position: relative; }
.cms-preview .cms-slot-empty { display: block; min-height: 0; height: 0; padding: 0 !important; margin: 0 !important; border: 0; }
.cms-preview .cms-slot-shell { display: block; margin: 0 !important; }
.cms-preview .cms-slot-shell:has(.cms-slot-empty) { height: 0; }
.cms-preview .cms-insert-point { display: block; position: relative; height: 0; margin: 0 !important; padding: 0; }
.cms-preview #content_area .cms-insert-button { position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); z-index: 8; display: flex; align-items: center; justify-content: center; gap: 5px; width: 176px; max-width: 90%; min-height: 28px; padding: 3px 9px; margin: 0 auto; border: 1px solid #b5d5ca; border-radius: 30px; background: #f7fffc; color: #356757; font: 12px/1.4 system-ui,sans-serif; box-shadow: 0 2px 8px #1748350c; cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .12s ease; user-select: none; }
.cms-preview #content_area .cms-insert-button>span:first-child { font-size: 18px; line-height: 1; }
.cms-preview #content_area .cms-insert-button:focus-visible,.cms-preview #content_area .cms-selected+[data-cms-slot]>.cms-insert-point>.cms-insert-button,.cms-preview #content_area .cms-movable:hover+[data-cms-slot]>.cms-insert-point>.cms-insert-button,.cms-preview #content_area [data-cms-slot]:hover>.cms-insert-point>.cms-insert-button { opacity: 1; pointer-events: auto; }
.cms-preview #content_area .cms-slot-redundant>.cms-insert-point>.cms-insert-button { display: none; }
.cms-preview .cms-drop-target { outline: 2px solid #3baf91; outline-offset: 5px; background: #bcf4e35c; }
.cms-preview.cms-dragging #content_area .cms-insert-button { pointer-events: auto; opacity: 1 !important; width: 95% !important; min-height: 34px !important; }
#cms-floating-toolbar,#cms-add-menu { position: fixed; z-index: 100000; box-sizing: border-box; border: 1px solid #d1e3da; border-radius: 12px; background: #fbfffded; color: #15392f; box-shadow: 0 6px 24px #163d3420; backdrop-filter: blur(14px); font: 14px/1.4 system-ui,sans-serif; }
#cms-floating-toolbar[hidden],#cms-add-menu[hidden],#cms-more-actions[hidden] { display: none; }
#cms-floating-toolbar { width: max-content; display: flex; flex-wrap: wrap; gap: 2px; align-items: center; padding: 5px; }
#cms-floating-toolbar .cms-element-context { display: flex; flex-wrap: wrap; flex-basis: 100%; gap: 6px; align-items: center; border-bottom: 1px solid #dbe9e2; padding: 0 3px 4px; margin-bottom: 3px; color: #587468; font: 12px/1.4 system-ui,sans-serif; }
#cms-floating-toolbar .cms-element-context button { min-height: 30px; padding: 3px 7px; font-size: 12px; }
#cms-floating-toolbar .cms-element-kind { font-weight: 600; }
#cms-floating-toolbar .cms-element-actions { display: flex; margin-left: auto; gap: 2px; }
#cms-floating-toolbar [hidden] { display: none !important; }
#cms-add-menu [hidden] { display: none !important; }
.cms-preview .cms-cut-pending { outline: 2px dashed #438d75 !important; outline-offset: 4px; }
#cms-add-menu .cms-clipboard-option { display: flex; flex-direction: column; gap: 5px; width: 100%; text-align: left; padding: 13px 16px; margin: 0 0 12px; border: 1px solid #86baa5; border-radius: 10px; background: #dff4e9; color: #1c5140; font: 14px/1.4 system-ui,sans-serif; cursor: pointer; }
#cms-add-menu .cms-clipboard-option span { font-size: 12px; }
#cms-floating-toolbar .cms-element-actions button { min-width: 32px; font-size: 21px; }
#cms-floating-toolbar [data-cmd=quick-remove] { color: #963f33; }
#cms-floating-toolbar button,#cms-floating-toolbar select,#cms-add-menu button { box-sizing: border-box; font: 14px/1.4 system-ui,sans-serif; color: #15392f; border: 0; border-radius: 7px; padding: 8px 10px; min-width: 38px; min-height: 38px; margin: 0; cursor: pointer; background: transparent; box-shadow: none; text-transform: none; letter-spacing: 0; }
#cms-floating-toolbar button:hover,#cms-floating-toolbar select:hover,#cms-add-menu button:hover { background: #e2f5ee; }
#cms-floating-toolbar [aria-pressed=true] { background: #ceefe2; color: #084832; }
#cms-floating-toolbar button:focus-visible,#cms-floating-toolbar select:focus-visible,#cms-add-menu button:focus-visible { outline: 2px solid #126f52 !important; outline-offset: 1px !important; }
#cms-floating-toolbar button u { text-decoration: underline !important; }
#cms-floating-toolbar button:disabled { opacity: .35; cursor: default; }
#cms-floating-toolbar select { width: 132px; background: #f0f7f3; min-width: 0; }
#cms-floating-toolbar select[hidden],#cms-floating-toolbar button[hidden] { display: none; }
.cms-toolbar-divider { height: 22px; width: 1px; background: #cfdfd8; margin: 0 3px; }
#cms-more-actions { position: absolute; right: 0; top: calc(100% + 6px); width: min(238px,calc(100vw - 20px)); max-height: min(440px,calc(100vh - 30px)); overflow: auto; padding: 5px; background: #fff; border: 1px solid #d1e3da; border-radius: 12px; box-shadow: 0 6px 24px #163d3420; }
#cms-more-actions button { display: block; width: 100%; text-align: left; }
#cms-more-actions hr { border: 0; border-top: 1px solid #e1ece6; margin: 5px; }
#cms-more-actions [data-cmd=remove] { color: #963f33; }
#cms-add-menu { width: 240px; padding: 8px; }
#cms-add-menu>span { display: block; padding: 5px 10px 9px; font-size: 12px; color: #587468; }
#cms-add-menu button { display: block; width: 100%; text-align: left; }
@media(max-width:600px) { #cms-floating-toolbar { gap: 1px; padding: 4px; } #cms-floating-toolbar button { padding-inline: 8px; min-height: 42px; } .cms-preview #content_area .cms-drag-handle { left: -25px; min-width: 23px; width: 23px; } }
@media(pointer:coarse) { .cms-preview #content_area .cms-drag-handle { opacity: .6; } .cms-preview #content_area .cms-insert-button { opacity: 0; min-height: 44px; } #cms-floating-toolbar button,#cms-add-menu button { min-height: 44px; } }
@media(prefers-reduced-motion:reduce) { .cms-preview * { transition: none !important; } }

#cms-drop-line { position: fixed; z-index: 100002; height: 3px; border-radius: 2px; background: #178d68; pointer-events: none; box-shadow: 0 0 0 3px #eafffa; }
#cms-drop-line[hidden] { display: none; }
.cms-preview.cms-dragging,.cms-preview.cms-dragging * { cursor: grabbing !important; user-select: none !important; }

.cms-preview #content_area .cms-drag-shell { display: block; height: 0; margin: 0 !important; padding: 0 !important; list-style: none; }
/* Text appearance is scoped to explicit user formatting. */
.practice-modern [data-cms-style][style*="font-size"] { line-height: 1.35; }
#cms-floating-toolbar .cms-size-field { display: flex; align-items: center; gap: 4px; padding: 0 3px 0 5px; margin: 0; color: #345c4f; font: 12px/1.3 system-ui,sans-serif; }
#cms-floating-toolbar #cms-font-size { box-sizing: border-box; width: 66px; min-width: 0; min-height: 36px; height: 36px; margin: 0; padding: 4px; border: 1px solid #c6dbd1; border-radius: 6px; color: #15392f; background: #fff; font: 14px/1.3 system-ui,sans-serif; }
#cms-floating-toolbar #cms-font-size:focus-visible { outline: 2px solid #126f52; outline-offset: 1px; }
#cms-floating-toolbar [data-cmd="size-default"] { min-width: 28px; padding-inline: 5px; }
.cms-color-icon { display: inline-block; padding: 0 3px 1px; border-bottom: 4px solid #000; font: 600 17px/1 system-ui,sans-serif; }
#cms-color-menu { position: absolute; left: 0; top: calc(100% + 6px); width: min(252px,calc(100vw - 20px)); box-sizing: border-box; padding: 12px; background: #fff; color: #15392f; border: 1px solid #d1e3da; border-radius: 12px; box-shadow: 0 6px 24px #163d3420; }
#cms-color-menu[hidden] { display: none; }
#cms-color-menu>span { display: block; padding: 0 2px 9px; font-weight: 600; }
#cms-color-menu .cms-swatches { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }
#cms-color-menu .cms-swatches button { min-width: 42px; min-height: 38px; border: 5px solid #fff; border-radius: 9px; background: var(--cms-swatch); box-shadow: inset 0 0 0 1px #163d3440; }
#cms-color-menu .cms-swatches button[aria-pressed=true] { outline: 2px solid #23846a; outline-offset: -2px; }
#cms-color-menu .cms-custom-color { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 4px; color: inherit; font: 14px/1.4 system-ui,sans-serif; }
#cms-color-menu input[type=color] { width: 54px; height: 36px; padding: 2px; border: 1px solid #c6dbd1; border-radius: 6px; cursor: pointer; }
#cms-color-menu>[data-color=default] { width: 100%; text-align: left; font-size: 12px; padding-inline: 2px; }
/* Additional content follows the practice's quiet mint, rounded corners and clear text. */
.practice-modern #content_area .cms-columns { display: grid; grid-template-columns: var(--cms-tracks,repeat(var(--cms-columns,2),minmax(0,1fr))); gap: 28px; position: relative; align-items: start; }
.practice-modern #content_area .cms-column { min-width: 0; padding: 0; margin: 0; }
.practice-modern #content_area .cms-column-content { margin: 0; }
.practice-modern #content_area .cms-action-button { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 13px 26px; border: 1px solid #45bda8; border-radius: 16px; background: #45dbc3; color: #071f24; font: 600 17px/1.4 Asap,sans-serif; text-decoration: none; overflow-wrap: anywhere; box-shadow: 0 4px 14px #23675c12; }
.practice-modern #content_area .cms-action-outline { background: transparent; border: 1px solid #2f8171; }
.practice-modern #content_area .cms-action-button:hover { filter: brightness(.97); }
.practice-modern #content_area .cms-action-button:focus-visible { outline: 3px solid #146b55; outline-offset: 4px; }
.practice-modern #content_area .cms-divider { padding-block: 10px; }
.practice-modern #content_area .cms-divider hr { display: block; width: 100%; border: 0; border-top: 1px solid #396e6199; margin: 0; }
.cms-preview #content_area .cms-divider { min-height: 44px; display: flex; align-items: center; box-sizing: border-box; cursor: pointer; }
.practice-modern #content_area .cms-spacer { margin: 0; }
.practice-modern #content_area .cms-image-frame img,.practice-modern #content_area .cms-media-gallery img { display: block; width: 100%; max-height: 520px; object-fit: contain; border-radius: 16px; margin: 0; }
.practice-modern #content_area .cms-image-text { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; align-items: start; }
.practice-modern #content_area .cms-image-text[data-image-side=right] .cms-image-frame { order: 1; }
.practice-modern #content_area .cms-image-copy { min-width: 0; }
.practice-modern #content_area .cms-media-gallery { position: relative; }
.practice-modern #content_area .cms-gallery-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 16px; }
.practice-modern #content_area .cms-gallery-track::-webkit-scrollbar { display: none; }
.practice-modern #content_area .cms-gallery-track figure { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; padding: 0; margin: 0; }
.practice-modern #content_area .cms-gallery-track img { height: 380px; }
.practice-modern #content_area .cms-media-gallery[data-layout=grid] .cms-gallery-track { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; overflow: visible; }
.practice-modern #content_area .cms-media-gallery[data-layout=grid] img { height: 240px; object-fit: cover; }
.practice-modern #content_area .cms-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #eafffa; border-radius: 50%; background: #eafffae8; color: #193f35; font: 32px/1 sans-serif; cursor: pointer; }
.practice-modern #content_area .cms-gallery-prev { left: 10px; }.practice-modern #content_area .cms-gallery-next { right: 10px; }
.cms-preview #content_area .cms-columns { outline: 1px dashed #6d9e8d7a; padding: 52px 12px 12px; border-radius: 12px; }
.cms-preview #content_area .cms-column { min-height: 76px; border-inline-end: 1px dashed #9ab9ad88; padding-inline-end: 10px; }
.cms-preview #content_area .cms-column:last-of-type { border-inline-end: 0; padding-inline-end: 0; }
.cms-preview #content_area .cms-column-content.cms-slot-empty { height: 64px; }
.cms-preview #content_area .cms-container-label { position: absolute; top: 8px; left: 12px; z-index: 9; border: 1px solid #bdd7cb; border-radius: 6px; padding: 4px 9px; margin: 0; font: 12px/1.4 system-ui,sans-serif; color: #33594c; background: #f5fffa; cursor: pointer; }
.cms-preview #content_area .cms-column-resizer { position: absolute; top: 48px; bottom: 12px; width: 24px; transform: translateX(-50%); z-index: 10; cursor: col-resize; touch-action: none; user-select: none; outline-offset: 1px; border-radius: 8px; }
.cms-preview #content_area .cms-column-resizer::before { content: ''; position: absolute; inset: 0 11px; background: #5c9a8570; border-radius: 2px; }
.cms-preview #content_area .cms-column-resizer i { position: absolute; top: 50%; left: 0; width: 24px; height: 46px; transform: translateY(-50%); display: grid; place-items: center; border: 1px solid #83b6a4; border-radius: 8px; background: #f0fff9; color: #245e4c; font: 18px/1 system-ui,sans-serif; box-shadow: 0 2px 8px #17483512; }
.cms-preview #content_area .cms-column-resizer span { position: absolute; top: -24px; left: 50%; transform: translateX(-50%); padding: 2px 7px; border-radius: 6px; background: #245e4c; color: white; white-space: nowrap; font: 12px/1.5 system-ui,sans-serif; opacity: 0; pointer-events: none; }
.cms-preview #content_area .cms-column-resizer:hover span,.cms-preview #content_area .cms-column-resizer:focus-visible span,.cms-preview #content_area .cms-resizing .cms-column-resizer span { opacity: 1; }
.cms-preview #content_area .cms-column-resizer:focus-visible { outline: 2px solid #146b55; }
.cms-preview #content_area .cms-resizing { cursor: col-resize; user-select: none; }
.cms-preview #content_area .cms-resizing .cms-insert-button,.cms-preview #content_area .cms-resizing .cms-drag-handle { pointer-events: none; opacity: 0; }
@media(max-width:680px) { .cms-preview #content_area .cms-column-resizer { display: none; } }
.cms-preview #content_area .cms-spacer { outline: 1px dashed #95b4a655; border-radius: 8px; min-height: 8px; background: repeating-linear-gradient(135deg,transparent,transparent 8px,#89ab9710 8px,#89ab9710 9px); }
.cms-preview #content_area .cms-image-placeholder { width: 100%; min-height: 140px; display: grid; place-items: center; border: 1px dashed #83ae9e; border-radius: 16px; color: #335e50; background: #f5fff66b; font: 15px/1.5 system-ui,sans-serif; cursor: pointer; margin: 0; }
#cms-floating-toolbar [data-cms-inline-control][hidden] { display: none !important; }
#cms-block-options { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
#cms-block-options:empty { display: none; }
#cms-block-options label { display: flex; gap: 5px; align-items: center; color: #345c4f; font: 12px/1.4 system-ui,sans-serif; margin: 0; }
#cms-block-options input { box-sizing: border-box; max-width: 190px; min-width: 90px; width: 190px; min-height: 38px; padding: 6px 8px; margin: 0; border: 1px solid #c6dbd1; border-radius: 6px; font: 13px/1.4 system-ui,sans-serif; color: #173e32; background: #fff; }
#cms-block-options select { width: auto; max-width: 170px; }
#cms-add-menu { width: min(680px,calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow-y: auto; padding: 14px; }
#cms-add-menu .cms-add-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 10px; }
#cms-add-menu .cms-add-heading button { width: auto; min-width: 38px; font-size: 26px; }
#cms-add-menu .cms-tile-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
#cms-add-menu .cms-tile-grid button { min-height: 98px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; border: 1px solid #d9e9e0; border-radius: 10px; padding: 12px 5px; text-align: center; background: #f6fcf9; color: #204c3d; font: 13px/1.3 system-ui,sans-serif; }
#cms-add-menu .cms-tile-grid svg { width: 30px; height: 30px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#cms-add-menu .cms-tile-grid button:hover { border-color: #58a489; background: #e4f6ed; }
#cms-add-menu .cms-tile-grid button:disabled { opacity: .35; cursor: default; }
.cms-media-dialog { width: min(720px,calc(100vw - 32px)); max-height: calc(100vh - 32px); box-sizing: border-box; overflow-y: auto; padding: 22px; color: #193e31; background: #fcfffd; border: 1px solid #c7dfd1; border-radius: 18px; font: 14px/1.5 system-ui,sans-serif; box-shadow: 0 20px 80px #0c302344; }
.cms-media-dialog::backdrop { background: #153b2b50; backdrop-filter: blur(3px); }
.cms-media-dialog .cms-media-heading { display: flex; justify-content: space-between; align-items: center; }
.cms-media-dialog h2 { font: 600 24px/1.3 system-ui,sans-serif !important; color: inherit; margin: 0; }
.cms-media-dialog h3 { font: 600 16px/1.4 system-ui,sans-serif !important; margin: 18px 0 10px; }
.cms-media-dialog p { margin: 10px 0 14px; font: inherit; }
.cms-media-dialog button { min-height: 38px; padding: 6px 10px; border: 1px solid #c4dbce; border-radius: 8px; background: #f2faf5; color: #204c3b; font: 14px/1.4 system-ui,sans-serif; cursor: pointer; }
.cms-media-dialog .cms-upload-label { display: inline-flex; padding: 10px 16px; border: 1px solid #9fcbb7; border-radius: 9px; color: #204c3b; background: #e0f4e8; cursor: pointer; }
.cms-media-dialog input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cms-media-dialog .cms-media-library { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.cms-media-dialog .cms-media-library button { padding: 3px; height: 100px; overflow: hidden; }
.cms-media-dialog .cms-media-library button[aria-pressed=true] { outline: 3px solid #2f9270; outline-offset: -3px; }
.cms-media-dialog img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }
.cms-media-dialog .cms-selected-image { display: flex; align-items: center; gap: 5px; margin-block: 6px; }
.cms-media-dialog .cms-selected-image img { width: 64px; height: 50px; flex: 0 0 64px; }
.cms-media-dialog input[type=text] { width: 100%; min-width: 30px; box-sizing: border-box; min-height: 36px; border: 1px solid #c4dbce; border-radius: 6px; padding: 6px; margin: 0; font: inherit; color: inherit; }
.cms-media-dialog .cms-library-search { display: block; font: 500 13px/1.5 system-ui,sans-serif; margin: 0; }
.cms-media-dialog input[type=search] { display: block; box-sizing: border-box; width: 100%; min-height: 42px; border: 1px solid #c4dbce; border-radius: 8px; margin-top: 5px; padding: 8px 10px; background: white; font: 14px/1.5 system-ui,sans-serif; color: inherit; }
.cms-media-dialog .cms-library-count { font-size: 12px; color: #5c786a; margin-block: 6px 10px; }
.cms-media-dialog footer { position: sticky; bottom: -22px; display: flex; justify-content: flex-end; gap: 10px; padding-block: 14px; margin-top: 12px; background: #fcfffdf5; }
.cms-media-dialog [data-apply] { background: #45dbc3; border-color: #3fb49d; color: #073b2c; }
@media(max-width:680px) { .practice-modern #content_area .cms-columns,.practice-modern #content_area .cms-columns[data-layout] { grid-template-columns: minmax(0,1fr); gap: 20px; } .cms-preview #content_area .cms-column { border-inline-end: 0; padding-inline-end: 0; } .practice-modern #content_area .cms-image-text { grid-template-columns: minmax(0,1fr); } .practice-modern #content_area .cms-image-text[data-image-side=right] .cms-image-frame { order: 0; } #cms-add-menu .cms-tile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .cms-media-dialog .cms-media-library { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:430px) { #cms-add-menu .cms-tile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } #cms-add-menu .cms-tile-grid button { min-height: 78px; } .cms-media-dialog { padding: 14px; } .cms-media-dialog .cms-media-library { grid-template-columns: repeat(2,minmax(0,1fr)); } .practice-modern #content_area .cms-gallery-track img { height: 280px; } }

.cms-preview #content_area .cms-empty-text { min-height: 32px; }
.cms-preview #content_area .cms-empty-text:not(:has(.tiptap))::before { content: "Text hier eingeben …"; color: #668778; font: 14px/1.7 system-ui,sans-serif; }

.cms-preview #content_area .cms-column-content.cms-slot-empty>.cms-insert-point>.cms-insert-button{opacity:1;pointer-events:auto;top:32px;min-height:44px}

/* One edit surface per semantic section, without adding a visible card. */
.cms-text-group { min-width: 0; }
.cms-preview #content_area .cms-rich-text > .tiptap { display: block; white-space: normal; }
.cms-preview #content_area .cms-rich-text > .tiptap :is(p,h1,h2,h3,h4,li) { white-space: pre-wrap; }
.cms-preview #content_area [data-cms-group-slot]:not(:has([data-cms-extra])) { display: none; }
.cms-preview #content_area .cms-rich-text [data-cms-section] { min-width: 0; }
.cms-preview #content_area .cms-rich-text .practice-team-member > p { margin: 0; }

/* The default toolbar has its own row outside the editable page. */
#editor-toolbar-dock { flex: none; position: relative; z-index: 20; background: #f7fcfa; }
#editor-toolbar-dock:has(>#cms-floating-toolbar[hidden]) { display: none; }
#editor-toolbar-dock #cms-floating-toolbar.cms-toolbar-docked { position: relative; left: auto; top: auto; width: 100%; max-width: none !important; box-sizing: border-box; border-radius: 0; border: 0; border-bottom: 1px solid #d2e5dc; box-shadow: none; margin: 0; padding: 5px 12px; }
#editor-toolbar-dock.has-free-toolbar { min-height: var(--cms-dock-height,92px); background: transparent; }
#editor-toolbar-dock #cms-floating-toolbar.cms-toolbar-free { position: fixed; width: min(650px,calc(100vw - 16px)); max-width: calc(100vw - 16px) !important; border: 1px solid #b9dace; border-radius: 12px; box-shadow: 0 8px 28px #163d3425; }
#cms-floating-toolbar .cms-toolbar-grip { cursor: grab; touch-action: none; font-size: 22px; min-width: 36px; padding: 0 6px; color: #62857a; }
#cms-floating-toolbar .cms-toolbar-grip:active { cursor: grabbing; }
#cms-floating-toolbar .cms-toolbar-dock-button { font-size: 12px; white-space: nowrap; color: #216650; background: #e3f4ed; }
#cms-floating-toolbar .cms-element-context { align-items: center; }
.practice-modern #content_area .cms-rich-text li > p:only-child { margin: 0; }
#cms-floating-toolbar .cms-element-context .cms-toolbar-grip { font-size: 22px; min-width: 36px; }
#cms-floating-toolbar .cms-format-row { display: flex; align-items: center; flex: 1 0 100%; min-width: 0; max-width: 100%; gap: 2px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
#cms-floating-toolbar .cms-format-row > * { flex-shrink: 0; }
#cms-floating-toolbar .cms-format-row > [data-cmd=more] { position: sticky; right: 0; background: #fbfffd; }
#cms-floating-toolbar .cms-format-row > #cms-heading-level { width: 132px; }
.cms-preview #content_area .cms-rich-text { min-height: 32px; }

/* Font-size dropdown and optional custom value. */
#cms-floating-toolbar #cms-font-size { width: 110px; min-width: 110px; padding: 5px 25px 5px 9px; appearance: none; -webkit-appearance: none; cursor: pointer; }
#cms-floating-toolbar .cms-custom-size { display: flex; align-items: center; gap: 4px; margin: 0; color: #345c4f; font: 12px/1.3 system-ui,sans-serif; }
#cms-floating-toolbar #cms-font-size-custom { box-sizing: border-box; width: 72px; min-height: 36px; height: 36px; margin: 0; padding: 4px 6px; border: 1px solid #c6dbd1; border-radius: 6px; background: #fff; color: #15392f; font: 14px/1.3 system-ui,sans-serif; }
/* The popup belongs to the editor DOM, including inside the desktop app. */
#cms-floating-toolbar #cms-font-size { position: relative; appearance: none; -webkit-appearance: none; text-align: left; white-space: nowrap; }
#cms-floating-toolbar #cms-font-size::after { content: ''; position: absolute; right: 10px; top: 14px; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
#cms-size-menu { position: absolute; z-index: 2; top: calc(100% + 5px); left: 10px; width: 190px; max-width: calc(100vw - 30px); max-height: min(340px,calc(100vh - 80px)); overflow-y: auto; overscroll-behavior: contain; padding: 5px; background: #fff; border: 1px solid #b9dace; border-radius: 10px; box-shadow: 0 8px 24px #163d3425; }
#cms-floating-toolbar #cms-size-menu button { display: block; width: 100%; min-height: 34px; padding: 6px 10px; text-align: left; font: 14px/1.4 system-ui,sans-serif; }
#cms-floating-toolbar #cms-size-menu [aria-selected=true] { background: #d9f2e7; font-weight: 600; }

/* Selection survives toolbar focus; the dock never collapses during selection. */
.cms-preview .tiptap .cms-preserved-selection { background: #bdebdc; color: inherit; box-shadow: inset 0 -1px 0 #57a48d; }
#editor-toolbar-dock { min-height: 96px; }
#editor-toolbar-dock:has(>#cms-floating-toolbar[hidden]) { display: block; }
#editor-toolbar-dock[hidden] { display: none !important; }
#editor-toolbar-dock #cms-floating-toolbar.cms-toolbar-docked { min-height: 96px; }
#editor-toolbar-dock .cms-toolbar-placeholder { display: none; align-items: center; height: 96px; padding: 0 18px; color: #587468; font: 13px/1.4 system-ui,sans-serif; }
#editor-toolbar-dock:not(:has(>#cms-floating-toolbar:not([hidden]))) .cms-toolbar-placeholder { display: flex; }
