/**
 * M8 Contao Optimizer – Ace Auto-Höhe / Performance im Backend
 *
 * Wichtig:
 * - Regeln nur noch für Editoren im Autoheight-Modus.
 * - Lange Dateien bleiben im nativen Ace-Scrollmodus.
 */

/* Kleine/mittlere Dateien: keine internen Scrollbars */
.ace_editor.m8-ace-autoheight .ace_scrollbar,
.ace_editor.m8-ace-autoheight .ace_scrollbar-v,
.ace_editor.m8-ace-autoheight .ace_scrollbar-h {
  display: none !important;
}

.ace_editor.m8-ace-autoheight .ace_scroller {
  overflow: hidden !important;
}

.ace_editor.m8-ace-autoheight .ace_layer {
  overflow: visible !important;
}

/* Lange Dateien: Ace wieder nativ und flüssig arbeiten lassen */
.ace_editor.m8-ace-largefile {
  min-height: 620px;
}

.ace_editor.m8-ace-largefile .ace_scroller {
  overflow: auto !important;
}

/*
 * Für große Dateien keine erzwungene Scrollbar-Darstellung mehr.
 * Ace soll hier wieder mit seinen nativen Default-Werten arbeiten,
 * damit nichts optisch abgeschnitten wirkt.
 */
.ace_editor.m8-ace-largefile .ace_scrollbar,
.ace_editor.m8-ace-largefile .ace_scrollbar-v,
.ace_editor.m8-ace-largefile .ace_scrollbar-h {
  display: inherit !important;
}

/*
 * Wichtige Layout-Synchronisierung für große Dateien:
 * Der innere Ace-Bereich (Code + Zeilennummern + interne Scrollbars)
 * muss bis zur gleichen Höhe wie der äußere Editor gezogen werden.
 */
.ace_editor.m8-ace-largefile,
.ace_editor.m8-ace-largefile .ace_gutter,
.ace_editor.m8-ace-largefile .ace_scroller {
  min-height: inherit !important;
}

.ace_editor.m8-ace-largefile .ace_gutter,
.ace_editor.m8-ace-largefile .ace_scroller {
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
}

.ace_editor.m8-ace-largefile .ace_content,
.ace_editor.m8-ace-largefile .ace_layer,
.ace_editor.m8-ace-largefile .ace_gutter-layer,
.ace_editor.m8-ace-largefile .ace_text-layer,
.ace_editor.m8-ace-largefile .ace_marker-layer,
.ace_editor.m8-ace-largefile .ace_cursor-layer {
  min-height: 100% !important;
}
