﻿/*------------------------------------------------------------
	Card (Strata)
------------------------------------------------------------*/

.st-card {
	--st-card-padding-y: 0.75rem;
	--st-card-padding-x: 1.5rem;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding: var(--st-card-padding-y) 0;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	color: var(--st-color--text);
	text-decoration: none;
	background-color: var(--st-color--background);
	border: 1px solid var(--st-color--border);
	border-radius: var(--st-radius--md);
	outline: 0;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

a.st-card:hover,
a.st-card:active,
a.st-card:focus {
	text-decoration: none;
	border-color: var(--st-color--border-hover);
	box-shadow: var(--st-shadow--md);
}

/* Card Image & Placeholder */

.st-card__image,
.st-card__placeholder {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: calc(var(--st-card-padding-y) * -1) 0 var(--st-card-padding-y);
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
	background-color: var(--st-color--accent-5);
}

.st-card__image>* {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.st-card__placeholder-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0.4;
	color: var(--st-color--contrast);
	transform: translate(-50%, -50%);
}

.st-card__placeholder-icon svg {
	display: block;
}


/* Card Icon */

.st-card__icon {
	display: flex;
	justify-content: center;
	padding: var(--st-card-padding-y) var(--st-card-padding-x);
	width: 100%;
}

.st-card__icon>* {
	display: block;
	height: 4.5rem;
	width: 4.5rem;
}

/* Card Image Overlay on Hover */

.st-card__overlay {
	--st-card-overlay-height: 56px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	transform: translateY(100%);
	display: flex;
	align-items: center;
	height: var(--st-card-overlay-height);
	padding: 0.5rem var(--st-card-padding-x);
	color: #fff;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
	transition: transform 0.2s ease;
}

.st-card:hover .st-card__overlay {
	transform: translateY(calc(100% - var(--st-card-overlay-height)));
}

/* Card Header */

.st-card__header {
	padding: var(--st-card-padding-y) var(--st-card-padding-x);
	width: 100%;
}

/* Card Body */

.st-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: var(--st-card-padding-y) var(--st-card-padding-x);
	width: 100%;
}

.st-card__body>*:first-child {
	margin-top: 0;
}

.st-card__body>*:last-child {
	margin-bottom: 0;
}

/* Card Footer */

.st-card__footer {
	padding: var(--st-card-padding-y) var(--st-card-padding-x);
	width: 100%;
}
