/* cards.css — list-card primitives (.file-list, .file-item, .resource-item,
   .forum-category-card, .forum-topic-list-card) + bulk checkbox infra.
   Loaded after components.css, before style.css. */

.file-list {
    list-style:none;
    padding:0;
    display:grid;
    gap:.5rem
}

.file-item,a.forum-category-card,.forum-topic-list-card {
    background:rgba(255,255,255,0.03);
    border:1px solid var(--surface-border);
    padding:.6rem 1rem;
    transition:background-color .2s cubic-bezier(0.4,0,0.2,1),border-color .2s cubic-bezier(0.4,0,0.2,1),box-shadow .2s cubic-bezier(0.4,0,0.2,1);
    position:relative;
    overflow:visible;
    backdrop-filter:blur(5px);
    margin-bottom:.2rem;
    max-width:100%;
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent
}

.file-item {
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    backdrop-filter:none;
    -webkit-backdrop-filter:none
}

.file-item > .list-row-with-bulk {
    display:flex;
    align-items:flex-start;
    gap:.5rem;
    flex:1 1 auto;
    width:100%;
    min-width:0
}

a.forum-category-card {
    display:flex;
    align-items:stretch;
    gap:.5rem;
    text-decoration:none;
    color:inherit
}

.forum-topic-list-card {
    margin-bottom:0 !important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none
}

@media(max-width:768px) {
    .file-item,a.forum-category-card,.forum-topic-list-card {
        padding:.5rem
    }

    .file-item {
        flex-wrap:wrap
    }
}

/* ─── Bulk checkbox + title row infrastructure ───────────────── */

.list-bulk-checkbox-cell {
    flex-shrink:0;
    display:flex;
    align-items:flex-start;
    align-self:flex-start;
    padding:0 .35rem 0 0;
    z-index:4;
    position:relative
}

.list-bulk-checkbox-cell label {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    cursor:pointer
}

.list-card-title-row > .list-bulk-checkbox-cell {
    flex-shrink:0;
    padding:0;
    margin:0;
    align-self:center;
    align-items:center;
    overflow:visible
}

/* file-title defaults to overflow:hidden for long titles — don't clip bulk-checkbox glow */
.file-title:has(> .list-bulk-checkbox-cell),
.list-card-title-row:has(> .list-bulk-checkbox-cell) {
    overflow:visible
}

.list-card-title-row {
    align-items:center;
    min-height:30px
}

.list-card-main:has(> .list-card-title-row .list-bulk-checkbox-cell) > .list-card-title-row,
.forum-topic-list-card-content:has(> .list-card-title-row .list-bulk-checkbox-cell) > .list-card-title-row,
.item-main-row--forum-topic .list-card-title-actions-row:has(> .list-card-title-row .list-bulk-checkbox-cell) > .list-card-title-row,
.list-card-vstack .list-card-title-actions-row:has(> .list-card-title-row .list-bulk-checkbox-cell) > .list-card-title-row {
    flex-wrap:nowrap
}

.list-card-main:has(> .list-card-title-row .list-bulk-checkbox-cell) > :not(.list-card-title-row):not(.resource-description-box),
.forum-topic-list-card-content:has(> .list-card-title-row .list-bulk-checkbox-cell) > :not(.list-card-title-row),
.list-card-vstack:has(.list-card-title-actions-row > .list-card-title-row .list-bulk-checkbox-cell) .list-card-body-rows,
.item-main-row--forum-topic:has(.list-card-title-actions-row > .list-card-title-row .list-bulk-checkbox-cell) .forum-topic-list-card-body,
.item-main-row--forum-topic:has(.list-card-title-actions-row > .list-card-title-row .list-bulk-checkbox-cell) .list-card-body-rows {
    padding-left:0 !important;
    margin-left:0
}

/* ─── list-card-shell variants ───────────────────────────────── */

.file-item.list-card-shell {
    animation:slideDown .5s ease;
    cursor:pointer;
    width:100%
}

.file-item.resource-item.list-card-shell {
    display:flex;
    gap:.5rem;
    align-items:flex-start;
    box-sizing:border-box;
    flex-wrap:nowrap
}

.list-card-row {
    display:flex;
    align-items:stretch;
    gap:.5rem;
    width:100%
}

@media(max-width:768px) {
    .file-item>.list-row-with-bulk {
        flex:1 1 100%;
        min-width:0;
        width:100%
    }

    .file-item .list-card-row {
        flex-direction:column;
        align-items:stretch
    }

    .file-item .list-card-row .list-card-main,
    .file-item .list-card-row .list-card-body {
        width:100%;
        flex:none;
        min-width:0
    }

    .file-item .list-card-row .item-actions-container,
    .file-item .list-card-row .file-actions-container {
        width:100%;
        margin-top:.42rem
    }
}

.list-card-body,.list-card-title-col {
    flex:1;
    min-width:0
}
