/* ==========================================================================
   UTILITIES & HELPER CLASSES (Globale Werkzeuge)
   ========================================================================== */

/* --- Seiten-Header (Intranet Standard) --- */
.page-header-simple { display: flex; flex-direction: column; justify-content: flex-end; margin-bottom: 30px; }
.page-title { color: var(--rhoendorf-blau); margin-bottom: 5px; margin-top: 0; }
.page-desc { color: #64748b; margin-top: 0; }

/* --- Formular-Helfer --- */
.full-width-select { width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 4px; font-family: 'IBM Plex Serif', serif; font-size: 15px; }
.full-width-select:focus { outline: none; border-color: var(--cadenabbia-tuerkis); box-shadow: 0 0 0 3px rgba(82, 183, 193, 0.15); }
.block-label { display: block; font-weight: bold; }
.inline-radio-label { display: inline-block; margin-right: 15px; cursor: pointer; }
.scale-checkbox { transform: scale(1.2); width: auto; cursor: pointer; }

/* --- Button-Erweiterungen --- */
.btn-full-large { width: 100%; padding: 12px; font-size: 16px; text-align: center; box-sizing: border-box; }

/* --- Abstände (Margin & Padding Utilities) --- */
.m-0 { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mt-15 { margin-top: 15px !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-8 { margin-bottom: 8px !important; }
.mr-8 { margin-right: 8px !important; }

/* --- Flexbox & Layout Helfer --- */
.flex-center { display: flex; align-items: center; }

/* --- Typografie & Interaktion --- */
.bold { font-weight: bold !important; }
.cursor-pointer { cursor: pointer !important; }
.text-center { text-align: center !important; }

/* Trick für Platzhalter in WYSIWYG Feldern (<div contenteditable="true" data-placeholder="...">) */
[contenteditable]:empty:before {
    content: attr(data-placeholder);
    color: #94a3b8;
    pointer-events: none;
    display: block; /* For Firefox */
}