/* editor in Flexbox */ .article-editor-scope.editor-container { display: flex; min-height: 100vh; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e1e1e; background-color: #f0f2f5; box-sizing: border-box; max-width: 1200px; margin: 0 auto; /* Zentriert den gesamten Container horizontal */ width: 100%; } .article-editor-scope * { box-sizing: border-box; margin: 0; padding: 0; } /* Hauptbereich */ .article-editor-scope .editor-main { flex: 1; padding: 40px; display: flex; flex-direction: column; gap: 20px; background: #ffffff; } .article-editor-scope #title { font-size: 2.5rem; font-weight: 700; border: none; outline: none; width: 100%; background: transparent; } .article-editor-scope #content { flex: 1; font-size: 1.1rem; line-height: 1.6; border: none; outline: none; resize: none; width: 100%; background: transparent; } /* Seitenleiste */ .article-editor-scope .editor-sidebar { width: 300px; background-color: #ffffff; border-left: 1px solid #e0e0e0; padding: 20px; display: flex; flex-direction: column; gap: 24px; } .article-editor-scope .sidebar-block { display: flex; flex-direction: column; gap: 8px; } .article-editor-scope .sidebar-block label { font-weight: 600; font-size: 0.9rem; } .article-editor-scope .required { color: #d94f4f; } /* Formularelemente innerhalb der Editor-Sidebar */ .article-editor-scope .editor-sidebar select, .article-editor-scope .editor-sidebar input[type="text"] { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; background: #ffffff; } /* Button-Zeugs */ .button#editor-button { padding: 18px 12px; } /* Container für die dynamisch per JS eingefügten Blöcke */ .article-editor-scope #block-container { width: 100%; display: flex; flex-direction: column; gap: 20px; } /* Styling für jeden einzelnen dynamisch generierten Block */ .article-editor-scope .editor-block { position: relative; /* Wichtig für die absolute Positionierung des Lösch-Buttons */ width: 100%; padding: 15px; background-color: #fafafa; border: 1px dashed #cccccc; border-radius: 6px; } /* Textarea innerhalb eines dynamischen Textblocks */ .article-editor-scope .editor-block textarea { width: 100%; min-height: 120px; padding: 10px; border: 1px solid #dddddd; border-radius: 4px; font-family: inherit; font-size: 1.1rem; line-height: 1.6; resize: vertical; outline: none; background: #ffffff; } /* Komfort-Löschbutton oben rechts an jedem Block */ .article-editor-scope .delete-block-btn { position: absolute; top: -10px; right: -10px; width: 24px; height: 24px; border-radius: 50%; background-color: #e74c3c; color: #ffffff; border: none; font-size: 12px; font-weight: bold; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); transition: background-color 0.2s ease; } .article-editor-scope .delete-block-btn:hover { background-color: #c0392b; } /* Steuerungselement für den Plus-Button und das Pop-up */ .article-editor-scope .add-block-control { position: relative; /* Dient als Anker für das absolut positionierte Pop-up */ margin-top: 10px; display: inline-block; align-self: flex-start; /* Verhindert, dass der Button die volle Breite spannt */ } /* Der runde Plus-Button */ .article-editor-scope .plus-button { width: 45px; height: 45px; border-radius: 50%; background-color: #3498db; color: #ffffff; border: none; font-size: 26px; font-weight: 300; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); transition: background-color 0.2s ease, transform 0.2s ease; } .article-editor-scope .plus-button:hover { background-color: #2980b9; transform: scale(1.05); } /* Das Pop-up Menü */ .article-editor-scope .block-popup { position: absolute; left: 60px; /* Platziert das Menü rechts neben dem Plus-Button */ top: 50%; transform: translateY(-50%); /* Zentriert das Menü vertikal zum Button */ background-color: #ffffff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 8px; display: flex; gap: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15); z-index: 999; white-space: nowrap; } /* Die entscheidende Klasse zum Ausblenden */ .article-editor-scope .block-popup.hidden { display: none !important; } /* Buttons im Pop-up (Textblock / Bild einfügen) */ .article-editor-scope .block-popup button { background-color: #f8f9fa; border: 1px solid #dcdde1; padding: 8px 16px; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500; color: #2f3640; transition: background-color 0.15s ease, border-color 0.15s ease; } .article-editor-scope .block-popup button:hover { background-color: #f1f2f6; border-color: #b2bec3; } /* Responsive Anpassungen unter 760px (für z.B. Smartphones) */ @media (max-width: 760px) { .article-editor-scope.editor-container { /* Sidebar nach unten */ flex-direction: column; } .article-editor-scope .editor-main { /* weniger Innenabstand */ padding: 20px; } .article-editor-scope #content { /* Verhindert, dass das Textfeld auf kleinen Displays kollabiert */ min-height: 300px; } .article-editor-scope .editor-sidebar { width: 100%; /* Entfernt den linken Rand und setzt ihn nach oben als Trenner */ border-left: none; border-top: 1px solid #e0e0e0; } .article-editor-scope .editor-block textarea { min-height: 150px; } }