.cert-page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.cert-page .footer {
	margin-top: auto;
}

.cert-page .footer .button.is-warning {
	background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%);
	border: none;
	color: #fff;
	font-weight: 700;
}

.cert-page .footer .button.is-warning:hover {
	background: linear-gradient(135deg, #b45309 0%, #d97706 100%);
	color: #fff;
}

.cert-nav-title {
	font-weight: 600;
	opacity: 0.95;
}

.cert-hero {
	background: linear-gradient(135deg, var(--theme-primary-dark) 0%, var(--theme-primary-mid) 58%, var(--theme-accent-dark) 100%);
	color: #fff;
	padding: 3rem 1.25rem 2.75rem;
	text-align: center;
}

.cert-hero-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	height: 4.25rem;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: rgba(251, 191, 36, 0.16);
	color: #fbbf24;
	font-size: 1.85rem;
	box-shadow: 0 0 0 8px rgba(251, 191, 36, 0.08);
}

.cert-hero h1 {
	margin: 0 0 0.5rem;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
}

.cert-hero p {
	margin: 0 auto;
	max-width: 42rem;
	padding: 0 0.75rem;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.65;
}

.cert-search-box {
	margin-top: -1.75rem;
	position: relative;
	z-index: 2;
	padding: 1.5rem;
}

.cert-search-box .label {
	color: var(--theme-primary-dark);
}

.cert-empty {
	text-align: center;
	padding: 2.5rem 1.25rem;
	color: var(--theme-muted);
}

.cert-empty .icon {
	font-size: 2.25rem;
	margin-bottom: 0.75rem;
	color: var(--theme-accent);
}

.cert-result-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.cert-cards {
	display: none;
	flex-direction: column;
	gap: 0.85rem;
}

.cert-card {
	background: var(--theme-surface);
	border: 1px solid var(--theme-border);
	border-radius: var(--theme-radius);
	box-shadow: var(--theme-shadow);
	padding: 1rem 1.1rem;
}

.cert-card-name {
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--theme-primary-dark);
}

.cert-card-school {
	margin-top: 0.2rem;
	color: var(--theme-muted);
	font-size: 0.92rem;
}

.cert-card-tags {
	margin: 0.75rem 0;
}

.cert-download {
	white-space: nowrap;
}

.cert-download-group {
	flex-direction: column;
	align-items: stretch;
	margin-bottom: 0;
}

.cert-download-group .button {
	margin-bottom: 0.35rem;
}

@media screen and (max-width: 1023px) {
	.cert-table-wrap {
		display: none;
	}

	.cert-cards {
		display: flex;
	}
}

.cert-not-found {
	min-height: 50vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 3rem 1rem;
}

.cert-not-found .icon {
	font-size: 2.5rem;
	color: var(--theme-warning);
	margin-bottom: 0.75rem;
}
