/**
 * PressPrimer Certificate School - registry pages (S-003)
 *
 * The public issuer profiles and program pages. Depends on the free
 * frontend.css design tokens; the issuer's brand accent arrives as
 * --ppcert-school-accent via validated inline CSS and falls back to
 * the free primary color.
 */

.ppcert-school-registry {
	--ppcert-school-accent: var(--ppcert-primary);

	max-width: 720px;
	margin: 0 auto var(--ppcert-space-2xl);
	padding: var(--ppcert-space-xl);
	border: 1px solid var(--ppcert-border-light);
	border-top: 4px solid var(--ppcert-school-accent);
	border-radius: var(--ppcert-radius-lg);
	background: var(--ppcert-background);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	color: var(--ppcert-text);
}

.ppcert-school-registry__header {
	text-align: center;
	padding-bottom: var(--ppcert-space-lg);
	margin-bottom: var(--ppcert-space-lg);
	border-bottom: 1px solid var(--ppcert-border-light);
}

.ppcert-school-registry__kicker {
	margin: 0;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ppcert-text-light);
}

.ppcert-school-registry__label {
	font-weight: 600;
	color: var(--ppcert-text);
	margin-right: var(--ppcert-space-xs);
}

.ppcert-school-registry__hint {
	margin: 0 0 var(--ppcert-space-md);
	color: var(--ppcert-text-light);
	font-size: 0.9rem;
}

.ppcert-school-issuer__logo {
	margin: 0 auto var(--ppcert-space-md);
}

.ppcert-school-issuer__logo-img {
	max-height: 96px;
	max-width: 280px;
	display: block;
	margin: 0 auto;
}

.ppcert-school-issuer__description,
.ppcert-school-program__description,
.ppcert-school-program__criteria {
	margin: 0 0 var(--ppcert-space-md);
	color: var(--ppcert-text-secondary);
}

.ppcert-school-issuer__website a,
.ppcert-school-program__verify a,
.ppcert-school-issuer__program a,
.ppcert-school-program__issuer a {
	color: var(--ppcert-school-accent);
}

.ppcert-school-issuer__programs-title,
.ppcert-school-issuer__holders-title,
.ppcert-school-program__criteria-title {
	margin: var(--ppcert-space-xl) 0 var(--ppcert-space-sm);
	font-size: 1.125rem;
	font-weight: 700;
}

.ppcert-school-issuer__programs {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Program rows take the free My Certificates item treatment (white
   card, 2px light border, large radius, hover lift). */
.ppcert-school-issuer__program {
	padding: var(--ppcert-space-md) var(--ppcert-space-lg);
	margin-bottom: var(--ppcert-space-sm);
	border: 2px solid var(--ppcert-border-light);
	border-radius: var(--ppcert-radius-lg);
	background: var(--ppcert-background);
	transition: var(--ppcert-transition);
}

.ppcert-school-issuer__program:hover {
	border-color: var(--ppcert-primary-light);
	box-shadow: var(--ppcert-shadow-md);
}

.ppcert-school-issuer__program-link {
	display: block;
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--ppcert-school-accent);
	text-decoration: none;
}

.ppcert-school-issuer__program-description {
	display: block;
	margin-top: var(--ppcert-space-xs);
	color: var(--ppcert-text-secondary);
	font-size: 0.875rem;
}

.ppcert-school-program__sample {
	margin: var(--ppcert-space-lg) 0;
}

.ppcert-school-program__sample-img {
	max-width: 100%;
	height: auto;
	display: block;
	border: 1px solid var(--ppcert-border);
	border-radius: var(--ppcert-radius-md);
}

.ppcert-school-program__sample-caption {
	margin-top: var(--ppcert-space-xs);
	font-size: 0.85rem;
	color: var(--ppcert-text-light);
	text-align: center;
}

.ppcert-school-program__directory {
	margin: 0 0 var(--ppcert-space-md);
}

.ppcert-school-program__directory a {
	color: var(--ppcert-school-accent);
}

.ppcert-school-program__earners {
	font-weight: 600;
	margin: var(--ppcert-space-lg) 0 var(--ppcert-space-sm);
}

.ppcert-school-program__issuer {
	margin: 0 0 var(--ppcert-space-sm);
	color: var(--ppcert-text-secondary);
}

/* The credential directory (S-004). */
.ppcert-school-directory__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ppcert-space-sm);
	margin-bottom: var(--ppcert-space-lg);
}

.ppcert-school-directory__label {
	font-weight: 600;
}

.ppcert-school-directory__input {
	flex: 0 1 28ch;
	padding: 6px 10px;
	border: 1px solid var(--ppcert-border);
	border-radius: var(--ppcert-radius-sm);
}

.ppcert-school-directory__prompt,
.ppcert-school-directory__empty {
	color: var(--ppcert-text-secondary);
}

.ppcert-school-directory__scope {
	font-weight: 600;
	margin: 0 0 var(--ppcert-space-sm);
}

/* The result table: labeled columns, one row per certificate. Wide
   content scrolls inside its own container. */
.ppcert-school-directory__table-wrap {
	overflow-x: auto;
}

.ppcert-school-directory__results {
	width: 100%;
	border-collapse: collapse;
}

.ppcert-school-directory__results th {
	text-align: left;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--ppcert-text-light);
	padding: var(--ppcert-space-sm);
	border-bottom: 2px solid var(--ppcert-border);
}

.ppcert-school-directory__results td {
	padding: var(--ppcert-space-sm);
	border-bottom: 1px solid var(--ppcert-border-light);
	vertical-align: middle;
}

.ppcert-school-directory__name {
	font-weight: 600;
}

.ppcert-school-directory__year {
	white-space: nowrap;
}

.ppcert-school-directory__actions {
	text-align: right;
}

.ppcert-school-directory__pagination {
	margin-top: var(--ppcert-space-md);
}
