/* Certificates — colours and type come from the theme. */
.ksc-panel { border: 1px solid #b89b6a; padding: 22px 26px; margin: 32px 0; }
.ksc-panel h2 { margin: 0 0 8px; }
.ksc-panel > p { margin: 0 0 16px; opacity: 0.8; }
.ksc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ksc-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; }
.ksc-meta { display: block; font-size: 13px; opacity: 0.7; }

.ksc-intro { margin: 0 0 28px; max-width: 62ch; }
.ksc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.ksc-card { border: 1px solid rgba(127, 127, 127, 0.3); display: flex; flex-direction: column; }
.ksc-card.is-void { opacity: 0.6; }
.ksc-card__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ksc-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ksc-card__no { margin: 0; font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; color: #b89b6a; }
.ksc-card__title { margin: 0; font-size: 24px; line-height: 1.2; }
.ksc-card__meta { margin: 0 0 10px; font-size: 13px; opacity: 0.75; }
.ksc-card__actions { margin: auto 0 0; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }

.ksc-verify { max-width: 760px; }
.ksc-verify__form label { display: block; margin: 0 0 8px; }
.ksc-verify__row { display: flex; gap: 12px; flex-wrap: wrap; }
.ksc-verify__row input { flex: 1 1 260px; letter-spacing: 0.08em; text-transform: uppercase; }
.ksc-verify__row .button { flex: 0 0 auto; }
.ksc-verify__help { margin-top: 28px; opacity: 0.8; }
.ksc-result { margin-top: 36px; border: 1px solid rgba(127, 127, 127, 0.35); padding: 28px; }
.ksc-result.is-valid { border-color: #b89b6a; }
.ksc-result.is-void, .ksc-result.is-missing { border-color: #c98a7a; }
.ksc-result__badge { margin: 0 0 22px; font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; }
.ksc-result.is-valid .ksc-result__badge { color: #b89b6a; }
.ksc-result.is-void .ksc-result__badge, .ksc-result.is-missing .ksc-result__badge { color: #e4a493; }
.ksc-result__badge::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; margin-right: 12px; vertical-align: middle; }
.ksc-result__grid { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; align-items: start; }
.ksc-result__grid:not(:has(.ksc-result__img)) { grid-template-columns: minmax(0, 1fr); }
.ksc-result__img img { display: block; width: 100%; height: auto; }
.ksc-result__facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.ksc-result__facts div { margin: 0; }
.ksc-result__facts dt { font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; opacity: 0.6; margin: 0 0 4px; }
.ksc-result__facts dd { margin: 0; }
.ksc-result__hash { grid-column: 1 / -1; }
.ksc-result__hash code { font-size: 12px; word-break: break-all; background: none; padding: 0; opacity: 0.8; }
.ksc-check { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(127, 127, 127, 0.3); }
.ksc-check__title { margin: 0 0 6px; font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; }
.ksc-check p { opacity: 0.85; }
.ksc-check__out.is-ok { color: #b89b6a; }
.ksc-check__out.is-bad { color: #e4a493; }
@media (max-width: 600px) {
	.ksc-result { padding: 20px; }
	.ksc-result__grid { grid-template-columns: 1fr; }
	.ksc-result__img { max-width: 220px; }
	.ksc-result__facts { grid-template-columns: 1fr; }
}
.ksc-cards .ksc-card .ksc-card__body > * { margin: 0; }
.ksc-cards .ksc-card .ksc-card__meta { margin-bottom: 12px; }
.ksc-cards .ksc-card .ksc-card__title { font-size: 24px; }
.ksc-card__img { line-height: 0; }
.ksc-cards .ksc-card__img img { margin: 0; height: auto; }
