body { padding-bottom: 80px; }

.form-field {
	margin-bottom: 1.5rem;
}

.section-hidden {
	display: none !important;
}
.section-active {
	display: block;
}

/* Section progress bar */
.section-progress {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.section-step {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: #e9ecef;
	border-radius: 4px;
}
.section-step.active {
	background: #0d6efd;
	color: white;
}
.section-step.done {
	background: #198754;
	color: white;
}

/* Projektspezifische Erweiterungen */

/* Table fields */
.attr-table { width: 100%; border-collapse: collapse; }
.attr-table th, .attr-table td { padding: 0.5rem; border: 1px solid #dee2e6; }
.attr-table th { background: #f8f9fa; }

/* Layout */
.template-article-row { display: flex; gap: 0.5rem; margin: 0.5rem 0; }
.form-hint { color: #6c757d; font-size: 0.875rem; }

/* Toast */
.toast { 
    position: fixed; 
    bottom: 50%;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.75rem 1.25rem; 
    border-radius: 4px; 
    background: #333; 
    color: white; 
    opacity: 0; 
    transition: opacity 0.3s; 
    z-index: 9999; 
    display: block !important;
}
.toast-show { opacity: 1; }
.toast-success { background: #198754; }
.toast-warning { background: #ffc107; color: #000; }
.toast-error { background: #dc3545; }

/* Dropzone */
.file-dropzone {
    position: relative;
    border: 2px dashed #aaa;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    background: #fafafa;
}
.file-dropzone.dragover {
    background: #e8f4ff;
    border-color: #0d6efd;
}
.file-dropzone .dropzone-hint {
    margin: 0;
    color: #666;
    pointer-events: none; /* Klicks gehen an die Dropzone, nicht den Text */
}

/* Natives File-Input verstecken – Klick läuft über die Dropzone */
.file-field .form-control-file {
    position: absolute;
    left: -9999px;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Vorschau neu ausgewählter (noch nicht gespeicherter) Dateien */
.file-preview {
    margin-top: 8px;
}
.file-preview > div {
    padding: 2px 0;
    font-size: 0.9em;
    color: #555;
}

/* Bereits hochgeladene Dateien */
.uploaded-files-list {
    margin-top: 10px;
}
.uploaded-file {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    margin-bottom: 4px;
    background: #fff;
}
.uploaded-file a {
    flex: 1;
    text-decoration: none;
    color: #0d6efd;
}
.uploaded-file a:hover {
    text-decoration: underline;
}
.uploaded-file .btn-delete-file {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1em;
    padding: 2px 6px;
    border-radius: 4px;
    transition: background 0.15s;
}
.uploaded-file .btn-delete-file:hover {
    background: #fee;
}







.file-list {
	list-style: none;
	padding: 0;
	margin: 8px 0;
}

.file-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	border-bottom: 1px solid #eee;
}

.file-list li a {
	flex: 1;
	text-decoration: none;
	color: #333;
}

.file-list li a:hover {
	text-decoration: underline;
}

.file-size {
	color: #888;
	font-size: 0.85em;
}

.btn-delete-file {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1em;
	padding: 2px 4px;
	border-radius: 4px;
	transition: background 0.2s;
}

.btn-delete-file:hover {
	background: #fdd;
}

