/* Elegant folder-tile treatment + hover-to-clear blur */
.folder-tile {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  box-shadow: 0 6px 20px rgba(0,0,0,0.55);
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.18));
  transition: transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s, opacity .28s;
  min-height: 8rem;
}

/* overlay that blurs the underlying preview; clears on hover/focus */
.folder-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  background: linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.36));
  transition: backdrop-filter .28s ease, -webkit-backdrop-filter .28s ease, background .28s ease, opacity .28s ease;
}

/* reveal on hover / keyboard focus */
.folder-tile:hover,
.folder-tile:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(0,0,0,0.7);
}
.folder-tile:hover::before,
.folder-tile:focus-visible::before {
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  background: linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.08));
  opacity: 0.85;
}

/* subtle image/video scale on hover */
.folder-tile img,
.folder-tile video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.folder-tile:hover img,
.folder-tile:focus-visible img,
.folder-tile:hover video,
.folder-tile:focus-visible video {
  transform: scale(1.03);
}

/* label stays on top */
.folder-tile .folder-label {
  z-index: 3;
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  pointer-events: none;
}

/* accessibility: respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .folder-tile,
  .folder-tile::before,
  .folder-tile img,
  .folder-tile video {
    transition: none !important;
  }
}
