/* Institutional blocks own their functional layout; Lumina supplies the visual vocabulary. */
.lue-campus-directory,
.lue-campus-catalog,
.lue-campus-deadlines,
.lue-campus-admissions,
.lue-campus-compare {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

.lue-campus-directory__head {
	margin-bottom: 2rem;
}

.lue-campus-directory__head h2 {
	margin: 0;
}

.lue-campus-cards,
.lue-campus-compare__grid,
.lue-campus-admissions__options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
}

.lue-campus-card,
.lue-campus-admissions__options > article,
.lue-campus-compare__grid > article {
	border: 1px solid currentColor;
	overflow: hidden;
}

.lue-campus-card__media {
	aspect-ratio: 16 / 9;
	border-bottom: 1px solid currentColor;
	background: var(--wp--preset--color--muted);
}

.lue-campus-card__media img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.lue-campus-card__media--icon {
	display: grid;
	place-items: center;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--accent);
}

.lue-campus-card__body,
.lue-campus-admissions__options > article,
.lue-campus-compare__grid > article {
	padding: 1.25rem;
}

.lue-campus-card h3,
.lue-campus-program h3,
.lue-campus-admissions h3,
.lue-campus-compare h3 {
	margin-top: 0;
}

.lue-campus-card__address,
.lue-campus-program__department,
.lue-campus-deadlines__date {
	font-weight: 700;
}

.lue-campus-catalog__rows {
	border-top: 1px solid currentColor;
}

.lue-campus-program {
	display: grid;
	grid-template-columns: minmax(12rem, 1.4fr) minmax(14rem, 2fr) auto;
	gap: 1rem;
	align-items: start;
	padding: 1.25rem 0;
	border-bottom: 1px solid currentColor;
}

.lue-campus-program__facts,
.lue-campus-compare dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
	gap: .75rem 1rem;
	margin: 0;
}

.lue-campus-program__facts dt,
.lue-campus-compare dt {
	font-size: .8em;
	font-weight: 700;
	text-transform: uppercase;
}

.lue-campus-program__facts dd,
.lue-campus-compare dd {
	margin: .15rem 0 0;
}

.lue-campus-deadlines__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid currentColor;
}

.lue-campus-deadlines__list li {
	display: grid;
	grid-template-columns: minmax(9.5rem, .75fr) minmax(0, 2fr);
	gap: 1.5rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid currentColor;
}

.lue-campus-deadline__when {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .35rem .65rem;
	align-items: center;
}

.lue-campus-deadlines__date {
	overflow-wrap: anywhere;
	font-size: .92rem;
}

.lue-campus-deadline__icon {
	display: grid;
	place-items: center;
	grid-row: 1 / 3;
	inline-size: 46px;
	block-size: 46px;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--primary);
}

.lue-campus-deadline__state {
	inline-size: max-content;
	padding: .15rem .45rem;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	background: var(--wp--preset--color--accent);
}

.lue-campus-deadline--approaching .lue-campus-deadline__state {
	color: var(--wp--preset--color--background);
	background: var(--wp--preset--color--primary);
}

.lue-campus-deadline__target,
.lue-campus-deadline__reviewed {
	color: var(--wp--preset--color--muted-foreground);
}

.lue-campus-deadline__reviewed {
	font-size: .82rem;
}

.lue-campus-deadlines__list p,
.lue-campus-deadlines__list h3 {
	margin: 0 0 .4rem;
}

.lue-campus-admissions__subhead {
	margin-top: 2rem;
}

.lue-campus-empty {
	padding: 1rem;
	border-inline-start: .25rem solid currentColor;
}

@media (max-width: 680px) {
	.lue-campus-program,
	.lue-campus-deadlines__list li {
		grid-template-columns: 1fr;
	}
}
