/* Compléments CALF : pages Documents et Galerie (réutilise les couleurs du site) */
.calf-doc-card {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
    padding: 22px;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.calf-doc-card:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(15, 23, 42, 0.09); }
.calf-doc-icon {
    width: 46px; height: 46px; border-radius: 12px; flex-shrink: 0;
    background: rgba(0, 38, 200, 0.08); color: #0026C8;
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
}
.calf-doc-meta { font-size: 0.8rem; color: #6b7280; }
.calf-search .form-control:focus { border-color: #0026C8; box-shadow: 0 0 0 0.2rem rgba(0, 38, 200, 0.12); }

.calf-gallery-thumb {
    position: relative; display: block; border-radius: 18px; overflow: hidden;
    background: #0f172a; aspect-ratio: 4 / 3;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}
.calf-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.calf-gallery-thumb:hover img { transform: scale(1.06); }
.calf-media-card {
    background: #ffffff; border-radius: 18px; overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}
.calf-media-card video { width: 100%; display: block; background: #000; }
.calf-media-card audio { width: 100%; display: block; }
.calf-media-body { padding: 16px 18px; }
