/* Front-end verification display + verification landing page. */

.neo-verify-block {
	margin: 2em 0;
	padding: 1.25em;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	background: #fafafa;
}
.neo-verify-block h2 { margin-top: 0; }

.neo-verify-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}
.neo-verify-card {
	background: #fff;
	border: 1px solid #eaeaea;
	border-radius: 8px;
	padding: 16px;
	text-align: center;
}
.neo-verify-name { font-weight: 600; margin-bottom: 10px; }
.neo-verify-qr { display: block; margin: 0 auto 10px; height: auto; max-width: 100%; }
.neo-verify-code {
	font-family: Consolas, Menlo, monospace;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 10px;
	word-break: break-all;
}
.neo-verify-btn { display: inline-block; }

/* Verification landing page */
.neo-verify-page { max-width: 640px; margin: 0 auto; }
.neo-verify-form { margin-bottom: 1.5em; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.neo-verify-form input[type="text"] { flex: 1 1 220px; padding: 8px 10px; }

.neo-verify-intro { margin-bottom: 1.25em; }
.neo-verify-intro h2 { margin: 0 0 .25em; }
.neo-verify-intro p { margin: 0; opacity: .85; }

.neo-verify-result {
	position: relative;
	padding: 1.75em;
	border-radius: 10px;
	border: 2px solid;
	text-align: left;
}
.neo-verify-result h3 { margin: 0 0 .4em; font-size: 1.5em; }
.neo-verify-result h4 { margin: 0 0 .5em; font-size: 1.05em; }
.neo-verify-lead { font-size: 1.02em; margin: 0 0 1.2em; }

/* Status badge (top-right corner) */
.neo-verify-badge {
	position: absolute;
	top: 1em;
	right: 1em;
	font-size: .72em;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: .3em .8em;
	border-radius: 999px;
	background: #1a7f37;
	color: #fff;
}
.neo-verify-badge-warn { background: #b32d2e; }

.neo-verify-valid {
	border-color: #46b450;
	background: #f2faf3;
	color: #14351b;
}
.neo-verify-valid h3 { color: #1a7f37; }
.neo-verify-valid h3::before { content: "\2714\00a0"; }

.neo-verify-invalid {
	border-color: #dc3232;
	background: #fdf1f1;
	color: #4a1616;
}
.neo-verify-invalid h3 { color: #b32d2e; }
.neo-verify-invalid h3::before { content: "\26a0\00a0"; }

/* Product card */
.neo-verify-product-card {
	display: flex;
	gap: 16px;
	align-items: center;
	background: rgba(255, 255, 255, .7);
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 8px;
	padding: 12px;
	margin-bottom: 1.2em;
}
.neo-verify-thumb img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}
.neo-verify-product-name { font-weight: 700; font-size: 1.1em; margin-bottom: .25em; }
.neo-verify-product-desc { font-size: .9em; opacity: .85; margin-bottom: .4em; }
.neo-verify-product-link { font-weight: 600; }

/* Details table */
.neo-verify-details {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.2em;
	background: rgba(255, 255, 255, .6);
	border-radius: 8px;
	overflow: hidden;
}
.neo-verify-details th,
.neo-verify-details td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid rgba(0, 0, 0, .07);
	vertical-align: top;
	font-size: .95em;
}
.neo-verify-details th {
	width: 40%;
	font-weight: 600;
	opacity: .8;
	white-space: nowrap;
}
.neo-verify-details tr:last-child th,
.neo-verify-details tr:last-child td { border-bottom: 0; }
.neo-verify-details code { background: rgba(0, 0, 0, .06); padding: 2px 6px; border-radius: 4px; }

/* Pills */
.neo-verify-pill {
	display: inline-block;
	font-size: .8em;
	font-weight: 700;
	padding: .2em .7em;
	border-radius: 999px;
}
.neo-verify-pill-ok { background: #d6f0da; color: #1a7f37; }
.neo-verify-pill-bad { background: #f7d7d7; color: #b32d2e; }

/* History + guidance */
.neo-verify-history,
.neo-verify-steps { margin-top: 1em; }
.neo-verify-history p { margin: .3em 0; }
.neo-verify-firstscan { font-weight: 600; }
.neo-verify-caution {
	background: #fff6e5;
	border-left: 4px solid #dba617;
	color: #6b4e00;
	padding: .7em .9em;
	border-radius: 4px;
	margin-top: .8em !important;
}
.neo-verify-steps ul { margin: .3em 0 0 1.1em; }
.neo-verify-steps li { margin: .3em 0; }

.neo-verify-contact-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 1.2em;
	padding-top: 1em;
	border-top: 1px solid rgba(0, 0, 0, .1);
	font-size: .95em;
}
.neo-verify-contact { text-decoration: none; }

.neo-verify-note { font-size: 0.9em; opacity: 0.85; }

@media (max-width: 480px) {
	.neo-verify-product-card { flex-direction: column; text-align: center; }
	.neo-verify-details th { width: auto; }
}
