/* --- Content cards --- */

.ipac-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 24px;
	color: var(--primary-color);
	text-decoration: none;
	transition: gap var(--ipac-transition);
}
.ipac-link-arrow:hover { gap: 12px; color: var(--primary-color); }

/* Base card theming via BS custom properties */
.ipac-content-card,
.ipac-article-card,
.ipac-bento-card,
.ipac-about-card,
.ipac-team-card,
.ipac-pub-card {
	--bs-card-border-width: 0;
	--bs-card-border-radius: var(--ipac-radius-md);
	--bs-card-box-shadow: var(--ipac-shadow);
	box-shadow: var(--bs-card-box-shadow);
	transition: all var(--ipac-transition);
	overflow: hidden;
}
.ipac-bento-card,
.ipac-about-card,
.ipac-team-card {
	--bs-card-border-radius: var(--ipac-radius-lg);
}

.ipac-content-card {
	text-decoration: none;
	color: inherit;
}
.ipac-content-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--ipac-shadow-hover);
	color: inherit;
}
.ipac-content-card__image {
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(var(--primary-color-rgb),0.08) 0%, rgba(var(--alternative-color-rgb),0.12) 50%, rgba(var(--primary-color-rgb),0.06) 100%);
}
.ipac-content-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}
.ipac-content-card:hover .ipac-content-card__image img { transform: scale(1.05); }
.ipac-content-card__body { padding: 24px; }
.ipac-content-card__date {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 19px;
	color: var(--ipac-text-light);
	margin-bottom: 12px;
}
.ipac-content-card__title {
	font-size: 24px;
	font-weight: 500;
	color: var(--ipac-text-dark);
	line-height: 1;
	margin-bottom: 12px;
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color var(--ipac-transition);
}
.ipac-content-card:hover .ipac-content-card__title { color: var(--primary-color); }
.ipac-content-card__excerpt {
	font-size: 20px;
	color: var(--ipac-text-light);
	line-height: 1.5;
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* .ipac-content-card__readmore display replaced by: d-none d-sm-flex */
.ipac-content-card__readmore {
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	font-size: 20px;
	color: var(--primary-color);
	margin-top: 20px;
	opacity: 0;
	transition: opacity var(--ipac-transition);
}
.ipac-content-card:hover .ipac-content-card__readmore { opacity: 1; }
