/* Certificate Manager — public verification.
 * Inherits the theme's font and colours, but uses doubled class selectors so
 * theme rules such as `.entry-content dt` cannot restyle the result card. */
.certman-verify { --cmv-good: #047857; --cmv-bad: #b91c1c; --cmv-muted: #6b7280; --cmv-text: #111827; --cmv-border: #e5e7eb; max-width: 640px; margin: 0 auto 2em; box-sizing: border-box; }
.certman-verify *, .certman-verify *::before, .certman-verify *::after { box-sizing: border-box; }
.certman-verify .certman-verify__title { margin: 0 0 .4em; font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.2; }
.certman-verify .certman-verify__intro { margin: 0 0 1.4em; color: var(--cmv-muted); }
.certman-verify .certman-verify__form { margin: 0; }
.certman-verify .certman-verify__form label { display: block; font-weight: 600; margin: 0 0 .4em; font-size: 1rem; }
.certman-verify .certman-verify__row { display: flex; gap: .5em; flex-wrap: wrap; margin: 0; }
.certman-verify .certman-verify__row input { flex: 1 1 220px; min-width: 0; height: 48px; margin: 0; padding: 0 .9em; border: 1px solid #9ca3af; border-radius: 6px; background: #fff; color: var(--cmv-text); font: inherit; font-size: 1rem; text-transform: uppercase; letter-spacing: .03em; }
.certman-verify .certman-verify__row input::placeholder { text-transform: none; letter-spacing: 0; color: #9ca3af; }
.certman-verify .certman-verify__row input:focus { outline: 2px solid var(--cmv-text); outline-offset: 1px; border-color: var(--cmv-text); }
.certman-verify .certman-verify__row button { flex: 0 0 auto; height: 48px; margin: 0; padding: 0 1.5em; border: 0; border-radius: 6px; background: #111827; color: #fff; font: inherit; font-size: 1rem; font-weight: 600; line-height: 1; cursor: pointer; }
.certman-verify .certman-verify__row button:hover, .certman-verify .certman-verify__row button:focus-visible { background: #374151; }
.certman-verify .certman-verify__hint { color: var(--cmv-muted); font-size: .875rem; line-height: 1.5; margin: .6em 0 0; }
.certman-verify .certman-verify__result { margin: 1.5em 0 0; border: 1px solid var(--cmv-border); border-left-width: 6px; border-radius: 8px; padding: 1.1em 1.25em; background: #fff; }
.certman-verify .certman-verify__result--valid { border-left-color: var(--cmv-good); }
.certman-verify .certman-verify__result--revoked, .certman-verify .certman-verify__result--notfound { border-left-color: var(--cmv-bad); }
.certman-verify .certman-verify__result--warn { border-left-color: #b45309; }
.certman-verify .certman-verify__result p { margin: 0 0 .6em; font-size: 1rem; line-height: 1.5; }
.certman-verify .certman-verify__result .certman-verify__status { font-size: 1.25rem; font-weight: 700; line-height: 1.3; margin: 0 0 .7em; }
.certman-verify .certman-verify__result--valid .certman-verify__status { color: var(--cmv-good); }
.certman-verify .certman-verify__result--valid .certman-verify__status::before { content: "\2713\00a0"; }
.certman-verify .certman-verify__result--revoked .certman-verify__status, .certman-verify .certman-verify__result--notfound .certman-verify__status { color: var(--cmv-bad); }
.certman-verify .certman-verify__result dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .55em 1.5em; margin: 0; padding: 0; }
.certman-verify .certman-verify__result dl dt { margin: 0; padding: 0; color: var(--cmv-muted); font-size: .9375rem; font-weight: 400; line-height: 1.45; }
.certman-verify .certman-verify__result dl dd { margin: 0; padding: 0; color: var(--cmv-text); font-size: 1rem; font-weight: 600; line-height: 1.45; word-break: break-word; }
@media (max-width: 480px) {
	.certman-verify .certman-verify__result { padding: 1em; }
	.certman-verify .certman-verify__result dl { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.certman-verify .certman-verify__result dl dt { font-size: .8125rem; text-transform: uppercase; letter-spacing: .04em; }
	.certman-verify .certman-verify__result dl dd { margin: .1em 0 .8em; }
	.certman-verify .certman-verify__result dl dd:last-child { margin-bottom: 0; }
	.certman-verify .certman-verify__row button { flex: 1 1 100%; }
}
