.dsf-container { max-width: 100%; }
.dsf-search-bar input { width: 100%; padding: 10px; margin-bottom: 20px; font-size: 16px; border: 1px solid #ddd; border-radius: 4px; }

.dsf-category-toggle { margin-bottom: 15px; border: 1px solid #eee; background: #fff; border-radius: 4px; }
.dsf-category-toggle summary { padding: 15px; background: #f5f5f5; cursor: pointer; font-weight: bold; outline: none; }

.dsf-file-list { padding: 15px; }

.dsf-file-item { 
    display: flex; 
    border-bottom: 1px solid #eee; 
    padding: 15px 0; 
    align-items: center; /* Vertikal zentrieren für schlanken Look */
    flex-wrap: nowrap;
}
.dsf-file-item:last-child { border-bottom: none; }

.dsf-file-cover { flex: 0 0 80px; margin-right: 20px; }
.dsf-file-cover img { max-width: 100%; height: auto; border: 1px solid #ddd; padding: 2px; display: block;}

/* Der Textbereich nimmt den verfügbaren Platz ein */
.dsf-file-content { 
    flex: 1; 
    padding-right: 20px; /* Abstand zu den Buttons */
    min-width: 0; /* Verhindert Flexbox-Overflow bei langen Wörtern */
}

.dsf-file-content h5 { 
    margin: 0 0 3px 0; 
    font-size: 1.1em;
    font-weight: 600;
}

.dsf-description {
    font-size: 0.9em;
    color: #666;
    line-height: 1.4;
}
.dsf-description p { margin: 0; }

/* Die Buttons stehen jetzt rechts */
.dsf-actions { 
    display: flex; 
    gap: 10px;
    flex-shrink: 0; /* Buttons nicht stauchen */
}

.dsf-actions .button { 
    display: inline-block; 
    padding: 6px 12px; 
    text-decoration: none; 
    border-radius: 3px; 
    font-size: 13px; 
    text-align: center;
    white-space: nowrap;
}

.dsf-btn-view { background: #007cba; color: #fff; }
.dsf-btn-download { background: #f0f0f1; color: #333; border: 1px solid #ccc; }

.dsf-btn-view:hover { background: #005a87; color: #fff; }
.dsf-btn-download:hover { background: #ddd; border-color: #999; }

/* Responsive: Auf Handys Buttons wieder unter den Text */
@media (max-width: 600px) {
    .dsf-file-item {
        flex-wrap: wrap;
    }
    .dsf-file-content {
        flex: 1 1 100%; /* Volle Breite */
        padding-right: 0;
        margin-bottom: 10px;
    }
    .dsf-actions {
        flex: 1 1 100%;
        justify-content: flex-start;
    }
}