/* =========================================================
   CARDS CSS
   assets/css/components/cards.css
   ========================================================= */

/* =========================================================
   BASE CARD
   ========================================================= */

.vb-card {
	position: relative;

	display: flex;
	flex-direction: column;

	background: var(--vb-surface);
	color: var(--vb-text);

	border: 1px solid var(--vb-border-soft);
	border-radius: var(--vb-radius-lg);

	box-shadow: var(--vb-shadow-card);

	transition:
		border-color var(--vb-transition),
		box-shadow var(--vb-transition),
		transform var(--vb-transition);
}

.vb-card:hover,
.vb-card:focus-within {
	border-color: var(--vb-info-border);

	box-shadow:
		0 16px 34px rgba(16, 24, 40, .10);

	transform: translateY(-2px);
}

/* =========================================================
   CARD BODY
   ========================================================= */

.vb-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;

	padding: 22px;
}

.vb-card-body > :last-child {
	margin-bottom: 0;
}

/* =========================================================
   CARD IMAGE
   ========================================================= */

.vb-card-image {
	position: relative;
	overflow: hidden;

	border-top-left-radius: inherit;
	border-top-right-radius: inherit;

	background:
		linear-gradient(
			135deg,
			var(--vb-info-border),
			var(--vb-surface-soft)
		);
}

.vb-card-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;

	transition:
		transform .35s ease;
}

.vb-card:hover .vb-card-image img {
	transform: scale(1.03);
}

/* =========================================================
   CARD TITLE
   ========================================================= */

.vb-card-title {
	margin: 0 0 12px;

	color: var(--vb-text);

	font-size: var(--vb-text-lg);
	font-weight: var(--vb-weight-bold);
	line-height: var(--vb-line-heading);

	letter-spacing: -0.015em;
}

/* =========================================================
   CARD TEXT
   ========================================================= */

.vb-card-text {
	margin: 0 0 18px;

	color: var(--vb-text-soft);

	font-size: var(--vb-text-sm);
	line-height: var(--vb-line-relaxed);
}

/* =========================================================
   CARD FOOTER
   ========================================================= */

.vb-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;

	margin-top: auto;
	padding-top: 18px;
}

/* =========================================================
   INTERACTIVE CARD
   ========================================================= */

a.vb-card,
a.vb-card:hover,
a.vb-card:focus,
a.vb-card:active,
a.vb-card:visited {
	text-decoration: none !important;
	color: var(--vb-text);
}

/* =========================================================
   SOFT CARD
   ========================================================= */

.vb-card-soft {
	background: var(--vb-surface-soft);
	border-color: var(--vb-border);
	box-shadow: none;
}

/* =========================================================
   OUTLINE CARD
   ========================================================= */

.vb-card-outline {
	background: transparent;
	border-color: var(--vb-border-strong);
	box-shadow: none;
}

/* =========================================================
   COMPACT CARD
   ========================================================= */

.vb-card-compact .vb-card-body {
	padding: 16px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 640px) {

	.vb-card-body {
		padding: 18px;
	}

	.vb-card-title {
		font-size: var(--vb-text-base);
	}
}