diff --git a/src/components/ui/cards/CardBlog.astro b/src/components/ui/cards/CardBlog.astro
new file mode 100644
index 0000000..b478245
--- /dev/null
+++ b/src/components/ui/cards/CardBlog.astro
@@ -0,0 +1,52 @@
+---
+import AvatarBlog from "../avatars/AvatarBlog.astro";
+import {Image} from "astro:assets";
+
+import {formatDate} from "../../../utils";
+import type {CollectionEntry} from "astro:content";
+
+const {blogEntry} = Astro.props;
+
+interface Props {
+ blogEntry: CollectionEntry<"blog">;
+}
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {blogEntry.data.author}
+
+
+ {formatDate(blogEntry.data.pubDate)}
+
+
+
+
+
+
+
+
+
+
+ {blogEntry.data.title}
+
+
+ {blogEntry.data.description}
+
+
+
+
\ No newline at end of file
diff --git a/src/components/ui/cards/CardBlogRecent.astro b/src/components/ui/cards/CardBlogRecent.astro
new file mode 100644
index 0000000..cdfd9b5
--- /dev/null
+++ b/src/components/ui/cards/CardBlogRecent.astro
@@ -0,0 +1,50 @@
+---
+
+import { Image } from "astro:assets";
+
+
+import type { CollectionEntry } from "astro:content";
+import AvatarBlogLarge from "../avatars/AvatarBlogLarge.astro";
+import PrimaryCTA from "../buttons/PrimaryCTA.astro";
+
+const { blogEntry } = Astro.props;
+
+interface Props {
+ blogEntry: CollectionEntry<"blog">;
+}
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {blogEntry.data.author}
+
+
+ {blogEntry.data.role}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/ui/cards/CardSmall.astro b/src/components/ui/cards/CardSmall.astro
new file mode 100644
index 0000000..af38f25
--- /dev/null
+++ b/src/components/ui/cards/CardSmall.astro
@@ -0,0 +1,42 @@
+---
+import { Image } from "astro:assets";
+
+import type { CollectionEntry } from "astro:content";
+
+const { product } = Astro.props;
+
+interface Props {
+ product: CollectionEntry<"products">;
+}
+
+const imageClass =
+ "absolute inset-0 h-full w-full object-cover object-center transition duration-[600ms] ease-[cubic-bezier(0.45,0,0.55,1)] group-hover:scale-110";
+const AnchorSVG = `
+ `;
+---
+
+
+
+
+
+
+
+ {product.data.main.subTitle}
+
+
diff --git a/src/components/ui/cards/CardWide.astro b/src/components/ui/cards/CardWide.astro
new file mode 100644
index 0000000..fe68893
--- /dev/null
+++ b/src/components/ui/cards/CardWide.astro
@@ -0,0 +1,42 @@
+---
+import { Image } from "astro:assets";
+
+import type { CollectionEntry } from "astro:content";
+
+const { product } = Astro.props;
+
+interface Props {
+ product: CollectionEntry<"products">;
+}
+
+const imageClass =
+ "absolute inset-0 h-full w-full object-cover object-center transition duration-[600ms] ease-[cubic-bezier(0.45,0,0.55,1)] group-hover:scale-110";
+const AnchorSVG = `
+ `;
+---
+
+
+
+
+
+
+
+ {product.data.main.subTitle}
+