.doc-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    background: linear-gradient(145deg, #f7f8fb 0%, #e8ecf3 100%);
    aspect-ratio: 12 / 17;
}
.doc-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.doc-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.doc-card-overlay {
    background: linear-gradient(0deg, rgba(9, 18, 31, 0.9) 0%, rgba(9, 18, 31, 0.58) 58%, rgba(9, 18, 31, 0) 100%);
    padding-top: 48px !important;
}
.doc-card-title {
    font-size: 13px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (min-width: 768px) {
    .doc-card-title {
        font-size: 14px;
    }
}

/* File type badge */
.doc-type-badge {
    top: 8px;
    left: 8px;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    z-index: 2;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.doc-type-badge .fa-file-pdf { color: #fff; }
.doc-type-badge .fa-file-word { color: #fff; }
.doc-type-badge .fa-file-excel { color: #fff; }
.doc-type-badge .fa-file-powerpoint { color: #fff; }
.doc-type-badge .fa-file-archive { color: #fff; }
.doc-type-badge .fa-file-image { color: #fff; }
.doc-type-badge .fa-file { color: #fff; }

/* Color based on file type */
.doc-type-badge:has(.fa-file-pdf) { background: #e53e3e; }
.doc-type-badge:has(.fa-file-word) { background: #2b6cb0; }
.doc-type-badge:has(.fa-file-excel) { background: #25855a; }
.doc-type-badge:has(.fa-file-powerpoint) { background: #c05621; }
.doc-type-badge:has(.fa-file-archive) { background: #6b46c1; }
.doc-type-badge:has(.fa-file-image) { background: #2b6cb0; }
.doc-type-badge:has(.fa-file) { background: #718096; }
