/* ===== OO Stack =====
   Flexbox-Layout-Komponente als Ersatz für RadzenStack.
   Alle Werte werden per inline style aus dem Code-Behind gesetzt;
   diese Klasse liefert nur das Basis-Display und den Box-Sizing-Reset.
   ===================== */

.oo-stack {
    display: flex;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
}

/* StretchItems: bestimmte direkte Kinder auf flex:1 strecken. min-width und min-height 0, damit ein gestrecktes Kind
   auch in einem vertikalen Stack kleiner als sein Inhalt werden kann; sonst wächst es mit dem Inhalt, und ein
   Scrollbereich darin (Scroll, overflow) scrollt nie. */
.oo-stack-stretch-start > :first-child                         { flex: 1; min-width: 0; min-height: 0; }
.oo-stack-stretch-end   > :last-child                          { flex: 1; min-width: 0; min-height: 0; }
.oo-stack-stretch-all   > *                                    { flex: 1; min-width: 0; min-height: 0; }
.oo-stack-stretch-middle > :not(:first-child):not(:last-child) { flex: 1; min-width: 0; min-height: 0; }

/* Scroll: Der Stack scrollt selbst; seine Kinder behalten ihre Größe, statt gestaucht zu werden.
   Gestreckte Kinder (Regeln oben, spezifischer) geben weiter nach. */
.oo-stack--scroll {
    overflow: auto;
}

.oo-stack--scroll > * {
    flex-shrink: 0;
}
