/* Wrapper */
.tx-fffilelist {
    font-family: Arial, Helvetica, sans-serif;
    max-width: 100%;
    overflow-x: auto;
}

/* Tabelle */
.tx-fffilelist table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

/* Tabellenkopf */
.tx-fffilelist thead {
    background-color: transparent;
    color: #004674;
    border-bottom:2px solid #004674
}

.tx-fffilelist th,
.tx-fffilelist td {
    padding: 12px 14px;
    font-size:1.8rem;
    line-height:1.2;
    text-align: left;
    vertical-align: middle;
}

/* Kopfzeile */
.tx-fffilelist thead th {
    font-weight: 600;
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Normale Zeilen */
.tx-fffilelist tbody tr {
    border-bottom: 1px solid #e0e0e0;
}

/* Hover-Effekt */
.tx-fffilelist tbody tr:hover {
    background-color: rgba(0, 70, 116, 0.05);
}

/* Dezente Gruppenzeile */
.tx-fffilelist tbody tr th[colspan] {
    background: none;
    color: #004674;
    font-weight: 600;
    font-size: 15px;
    padding: 24px 14px 8px 14px;
    letter-spacing: 0.3px;
}

/* Optional: mehr Abstand vor neuer Gruppe */
.tx-fffilelist tbody tr th[colspan]:not(:first-child) {
    margin-top: 20px;
}

/* Links */
.tx-fffilelist a {
    font-size:1.8rem;
    color: #004674;
    text-decoration: none;
    word-break: break-word;
}

.tx-fffilelist a:hover {
    text-decoration: underline;
}

/* File-Beschreibung */
.tx-fffilelist td span {
    display: block;
}

.tx-fffilelist td span:last-child {
    font-size: 13px;
    color: #555;
    margin-top: 4px;
}

/* Checkbox-Spalte */
.tx-fffilelist td:first-child {
    width: 40px;
}

/* Submit Button */
.tx-fffilelist input[type="submit"] {
    margin-top: 25px;

}

.tx-fffilelist input[type="submit"]:hover {
    background-color: #000000;
}

/* Responsive Design */
@media (max-width: 900px) {

    .tx-fffilelist a {
        font-size:1.6rem;
    }

    .tx-fffilelist table,
    .tx-fffilelist thead,
    .tx-fffilelist tbody,
    .tx-fffilelist th,
    .tx-fffilelist td,
    .tx-fffilelist tr {
        display: block;
        width: 100%;
    }

    .tx-fffilelist thead {
        display: none;
    }

    .tx-fffilelist tbody tr {
        margin-bottom: 16px;
        border: 1px solid #e0e0e0;
        padding: 12px;
    }

    .tx-fffilelist tbody tr.filegroup {
        border:none; 
        padding:0;
    }
    .tx-fffilelist tbody tr.filegroup th {
        padding-left:0;
        padding-right:0;
    }
    .tx-fffilelist tbody tr.filegroup td[colspan="3"] {
        display:none;
    }

    .tx-fffilelist tbody tr td {
        padding: 6px 0;
        border: none;
        font-size:1.6rem;
    }

    .tx-fffilelist tbody tr td::before {
        content: attr(data-label);
        font-weight: 600;
        display: block;
        color: #004674;
        font-size: 1.6rem;
        margin-bottom: 5px;
    }

    .tx-fffilelist tbody tr th[colspan] {
        display: block;
        width: 100%;
        margin-bottom: 8px;
    }

    .tx-fffilelist td:first-child {
        display:flex;
        gap: 8px;
        align-items: flex-start;
        line-height: 1;
    }
    .tx-fffilelist td:first-child input {
        margin:0;
    }
    .tx-fffilelist td:first-child::before {
        font-size:1.4rem;
        content: "Select";
        order:2;
    }

}

@media (max-width: 900px) {
 td {margin:0;}
}