@utility card-base {
  @apply transition-all duration-300
         rounded-xl
         border border-neutral-100 dark:border-stone-500/20
         bg-background-card hover:bg-neutral-100 dark:hover:bg-neutral-800/90
         shadow-xs hover:shadow-md dark:shadow-md dark:hover:shadow-lg
}

@utility card-base-hidden {
  @apply transition-all duration-300
         rounded-2xl
         border border-transparent
         hover:bg-neutral-400/20 dark:hover:bg-neutral-800/40
}

@utility card-hover-icon-color {
  @apply transition-all duration-300
         text-primary
         group-hover:text-main
}

@utility card-hover-icon-scale {
  @apply transition-transform duration-300 will-change-transform 
         drop-shadow-md dark:drop-shadow-xl dark:drop-shadow-neutral-500/60
         group-hover:scale-3d group-hover:scale-105
}

@utility card-text-header {
  @apply text-header
         text-4xl md:text-5xl
         font-bold leading-tight tracking-tight text-balance
}

@utility card-text-header-minor {
  @apply text-header
         text-2xl md:text-3xl
         font-semibold leading-tight tracking-tight text-balance
}

@utility card-text-header-description {
  @apply text-primary
         text-lg
         text-pretty leading-relaxed
}

@utility card-text-title {
  @apply text-primary
         font-bold
}

@utility card-text-title-major {
  @apply text-header
         text-4xl md:text-3xl
         font-bold leading-tight tracking-tight text-balance
}

@utility card-hover-text-title {
  @apply transition-all duration-300
         group-hover:text-main
}

@utility card-hover-text-neutral {
  @apply transition-all duration-300
         group-hover:text-primary-hover
}

@utility card-hover-text-gitea {
  @apply transition-all duration-300
         group-hover:text-gitea-primary
}

@utility card-text-description {
  @apply text-secondary
}

@utility card-hover-text-description {
  @apply transition-all duration-300
       text-secondary-hover
}
