/**
 * TDS Component: Dossier Cards
 * Version: 3.2.5
 * Patch: 50+ Interaction and Typography Hardening
 * Architecture: Dossier & Registry Cards
 * Performance: GPU-Accelerated (scaleX)
 */

.uh-dossier-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	border-top: 1px solid var(--tds-border);
}

.uh-dossier-card {
	flex: 1 1 300px;
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2.5rem;
	background: #fff;
	border-right: 1px solid var(--tds-border);
	border-bottom: 1px solid var(--tds-border);
	min-height: 220px;
	overflow: hidden;
	z-index: 1; /* Establishes stacking context for the GPU layer */
}

/* --- GPU Interaction Layer --- */
/* Uses scaleX to prevent layout paint thrashing */
.uh-dossier-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--tds-surface-soft);
	z-index: -1;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--tds-motion-duration-standard) var(--tds-motion-easing-expressive);
}

.uh-dossier-card:hover::before {
	transform: scaleX(1);
}

.uh-icon-wireframe {
	display: block;
	width: 32px;
	height: 32px;
	margin-bottom: var(--tds-space-03);
	color: var(--tds-brand-strong);
	flex-shrink: 0;
}
.uh-card-header {
	display: flex;
	align-items: center;
	gap: var(--tds-space-03);
	margin-bottom: var(--tds-space-03);
}

.uh-card-header .uh-icon-wireframe {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

.uh-card-header .uh-dossier-card__kicker {
	margin: 0;
	line-height: 1;
}

.uh-dossier-card__kicker,
.uh-card-header .uh-dossier-card__kicker {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-label);
	letter-spacing: var(--tds-type-track-label);
	color: var(--tds-text-muted);
	text-transform: uppercase;
	margin: 0 0 var(--tds-space-02);
}

.uh-card-header .uh-dossier-card__kicker {
	margin: 0;
}

.uh-dossier-card__title {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-ui);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-ui);
	letter-spacing: var(--tds-type-track-ui);
	color: var(--tds-text-main);
	margin: 0 0 var(--tds-space-02);
}

.uh-dossier-card__text {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	line-height: var(--tds-type-line-body);
	color: var(--tds-text-muted);
	margin: 0 0 var(--tds-space-04);
	flex-grow: 1;
}

.uh-dossier-card__action {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: var(--tds-tap-target-min);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-label);
	text-transform: uppercase;
	letter-spacing: var(--tds-type-track-label);
	color: var(--tds-brand-strong);
	text-decoration: none;
	margin-top: auto;
	transition: color var(--tds-motion-duration-snappy) ease;
}

.uh-dossier-card__action:hover,
.uh-dossier-card__action:focus-visible {
	color: var(--tds-brand-strong);
}

/* --- Neutral Card Text Roles --- */
.uh-card-eyebrow {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-label);
	letter-spacing: var(--tds-type-track-label);
	color: var(--tds-text-muted);
	text-transform: uppercase;
	margin: 0 0 var(--tds-space-02);
}

.uh-card-title {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-ui);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-ui);
	letter-spacing: var(--tds-type-track-ui);
	color: var(--tds-text-main);
	margin: 0 0 var(--tds-space-02);
}

.uh-card-excerpt {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	line-height: var(--tds-type-line-body);
	color: var(--tds-text-muted);
	margin: 0 0 var(--tds-space-04);
}

.uh-card-meta {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-meta);
	color: var(--tds-text-muted);
	margin: 0;
}

/* --- Neutral Related-Record Roles --- */
.uh-related-records {
	margin: var(--tds-space-05) 0;
	padding: var(--tds-space-04);
	border: 1px solid var(--tds-border);
	border-radius: var(--tds-radius-md);
	background: #fff;
}

.uh-related-record {
	display: flex;
	gap: var(--tds-space-03);
	align-items: flex-start;
	padding: var(--tds-space-03) 0;
	border-bottom: 1px solid var(--tds-border);
	color: inherit;
	text-decoration: none;
}

.uh-related-record:last-child {
	border-bottom: 0;
}

.uh-related-record:hover,
.uh-related-record:focus-visible {
	color: inherit;
	text-decoration: none;
}

.uh-related-record__label {
	display: block;
	margin: 0 0 var(--tds-space-02);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-label);
	letter-spacing: var(--tds-type-track-label);
	text-transform: uppercase;
	color: var(--tds-text-muted);
}

.uh-related-record__title {
	display: block;
	margin: 0 0 var(--tds-space-01);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-h1);
	letter-spacing: var(--tds-type-track-h1);
	color: var(--tds-text-main);
}

.uh-related-record__excerpt {
	display: block;
	margin: 0;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	line-height: var(--tds-type-line-meta);
	color: var(--tds-text-muted);
}
