/* ========== 主体：卡片式设计 ========== */
.main-content {
	padding: 75px 15px;
}

.query-card {
	margin: 0 auto;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.03);
	padding: 65px 55px 45px;
	transition: box-shadow 0.3s;
}
.query-card:hover {
	box-shadow: 0 16px 60px rgba(0, 0, 0, 0.08);
}

/* 头部 */
.query-header {
	text-align: center;
	margin-bottom: 36px;
}
.query-header .icon-badge {
	display: inline-block;
	width: 64px;
	height: 64px;
	line-height: 68px;
	background: #fef0f0;
	border-radius: 50%;
	font-size: 32px;
	margin-bottom: 12px;
	color: #9d1f2c;
}
.query-header h2 {
	font-size: 24px;
	font-weight: 700;
	color: #1a1a2e;
	letter-spacing: 1px;
}
.query-header p {
	color: #999;
	font-size: 14px;
	margin-top: 6px;
}

/* 表单：三列并排 */
.query-form {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px 60px;
	align-items: end;
}
.query-form .field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.query-form .field label {
	font-size: 13px;
	font-weight: 600;
	color: #444;
	letter-spacing: 0.3px;
}
.query-form .field label .required {
	color: #c62828;
	margin-left: 2px;
}
.query-form .field input {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #e4e7ed;
	border-radius: 10px;
	font-size: 14px;
	outline: none;
	transition: border-color 0.25s, box-shadow 0.25s;
	background: #fafbfc;
	color: #333;
}
.query-form .field input:focus {
	border-color: #9d1f2c;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(157, 31, 44, 0.06);
}
.query-form .field input::placeholder {
	color: #bfc5ce;
	font-size: 13px;
}

/* 按钮区域 */
.form-actions {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: 40px;
}
.form-actions .btn-query {
	padding: 15px 120px;
	background: linear-gradient(135deg, #9d1f2c, #b03a47);
	color: #fff;
	border: none;
	border-radius: 50px;
	font-size: 17px;
	font-weight: 600;
	cursor: pointer;
	letter-spacing: 1.2px;
	box-shadow: 0 6px 20px rgba(157, 31, 44, 0.3);
	min-width: 315px;
	transition: background 0.2s; /* 可选背景色过渡 */
}
.form-actions .btn-query:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none !important;
}
/* ================================================================
   查询结果 - 卡片式布局（含两寸照片）
   ================================================================ */
.result-area {
    margin-top: 40px;
    border-top: 1px solid #edf0f5;
    padding-top: 32px;
    display: none;          /* 默认隐藏，不占位 */
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.result-area.show {
    display: block;         /* 显示时占位，触发动画 */
    opacity: 1;
    transform: translateY(0);
}
#resultContent, #noResult {
    display: none;
}
#resultContent.show, #noResult.show {
    display: block;
}
.result-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}
.result-header .result-title {
	font-size: 17px;
	font-weight: 700;
	color: #1a1a2e;
}
.result-header .result-stats {
	font-size: 13px;
	color: #8892a0;
	background: #f4f6fa;
	padding: 4px 18px;
	border-radius: 30px;
}
.result-header .result-stats strong {
	color: #9d1f2c;
	font-weight: 700;
}

/* ===== 结果卡片 ===== */
.result-card {
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid #e8ecf1;
	overflow: hidden;
	transition: box-shadow 0.3s;
}
.result-card:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.05);
}

/* 卡片主体：照片 + 信息 左右布局 */
.card-main {
	display: flex;
	align-items: stretch;
	padding: 20px 24px;
	gap: 40px;
	background: #fafbfc;
}

/* ---- 左侧：两寸照片 ---- */
.photo-area {
	flex-shrink: 0;
	width: 140px;
	height: 185px;
	border-radius: 6px;
	overflow: hidden;
	background: #e8f0fe;
	border: 2px solid #dce3ed;
	position: relative;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.photo-area svg {
	width: 100%;
	height: 100%;
	display: block;
}
.photo-area .photo-label {
	position: absolute;
	bottom: 4px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 9px;
	color: rgba(255, 255, 255, 0.7);
	background: rgba(0, 0, 0, 0.35);
	padding: 0 10px;
	border-radius: 10px;
	letter-spacing: 1px;
	font-weight: 500;
	white-space: nowrap;
}

/* ---- 右侧：信息区域 ---- */
.info-area {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

/* 姓名 + 状态 行 */
.info-row-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
}
.info-row-top .name-group {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.info-row-top .name-group .name {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a2e;
}
.info-row-top .name-group .level {
	font-size: 14px;
	color: #9d1f2c;
	font-weight: 600;
	background: #fdf0f0;
	padding: 2px 14px;
	border-radius: 20px;
}
.info-row-top .status-badge {
	display: inline-block;
	padding: 4px 18px;
	border-radius: 30px;
	font-size: 13px;
	font-weight: 600;
	flex-shrink: 0;
}
.status-badge.valid {
	background: #e3f5e9;
	color: #1e7b4a;
}
.status-badge.invalid {
	background: #fde8e8;
	color: #b33636;
}
.status-badge.expired {
	background: #fff0e0;
	color: #b45a1c;
}

/* 信息网格 */
.info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 35px;
}
.info-grid .info-item {
	display: flex;
	flex-direction: column;
	padding: 4px 0;
	border-bottom: 1px dashed #edf0f5;
}
.info-grid .info-item:last-child {
	border-bottom: none;
}
.info-grid .info-item .label {
	font-size: 11px;
	color: #b0b8c4;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	margin-right: 0px;
}
.info-grid .info-item .value {
	font-size: 14px;
	color: #2d3436;
	font-weight: 500;
}
.info-grid .info-item .value .highlight {
	color: #9d1f2c;
}

/* ---- 卡片底部：证书编号 ---- */
.card-footer {
	padding: 12px 24px;
	background: #f8f9fc;
	border-top: 1px solid #e8ecf1;
	font-size: 12px;
	color: #999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.card-footer .verify-link {
	color: #9d1f2c;
	font-weight: 500;
	cursor: pointer;
}
.card-footer .verify-link:hover {
	text-decoration: underline;
}

/* ---- 无结果 ---- */
.no-result {
	text-align: center;
	padding: 40px 0 28px;
}
.no-result .icon {
	font-size: 56px;
	display: block;
	margin-bottom: 14px;
	opacity: 0.3;
}
.no-result .main-text {
	font-size: 16px;
	color: #666;
}
.no-result .sub-text {
	font-size: 13px;
	color: #b0b8c4;
	margin-top: 6px;
}

/* ===== 底部查询说明 ===== */
.query-notes {
	margin-top: 25px;
}
.query-notes h4 {
	font-size: 14px;
	font-weight: 600;
	color: #1a1a2e;
	margin-bottom: 12px;
}
.query-notes ul {
	list-style: none;
	padding: 0;
	grid-template-columns: 1fr 1fr;
	gap: 4px 30px;
	font-size: 13px;
	color: #7a8698;
}
.query-notes ul li {
	padding: 4px 0;
}

/* ================================================================
   响应式 - 重点优化手机端查询结果
   ================================================================ */
@media (max-width: 992px) {
	.container { padding: 0 24px; }
	.query-card { 
		padding: 35px 30px; 
		max-width: 100%;
		margin: 25px 10px;
	}
	.query-form {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 16px 18px;
	}
	.form-actions .btn-query {
		padding: 14px 50px;
		min-width: 160px;
	}
	.query-notes ul {
		grid-template-columns: 1fr 1fr;
	}
	.photo-area {
		width: 110px;
		height: 145px;
	}
	.card-main {
		padding: 16px 20px;
		gap: 18px;
	}
	.info-grid {
		grid-template-columns: 1fr 1fr;
		gap: 2px 20px;
	}
	.info-row-top .name-group .name {
		font-size: 18px;
	}
}

/* ============================================================
   手机端核心优化 (≤768px)
   ============================================================ */
@media (max-width: 768px) {
	.page-banner { height: 150px; }
	.page-banner h2 { font-size: 22px; }
	.page-banner p { font-size: 12px; }

	.main-content { padding: 16px 0 24px; }
	.container { padding: 45px 15px; }

	.query-card { 
		padding: 16px 12px 18px; 
		border-radius: 12px;
		margin: 0;
		max-width: 100%;
	}
	.query-header { margin-bottom: 16px; }
	.query-header .icon-badge { 
		width: 44px; height: 44px; line-height: 48px; font-size: 20px; 
		margin-bottom: 6px;
	}
	.query-header h2 { font-size: 18px; }
	.query-header p { font-size: 11px; }

	.query-form {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.query-form .field input {
		padding: 10px 12px;
		font-size: 14px;
		border-radius: 8px;
	}
	.form-actions { margin-top: 18px; }
	.form-actions .btn-query {
		width: 100%;
		padding: 12px;
		min-width: unset;
		font-size: 15px;
		border-radius: 25px;
	}

	/* ---- ★★★ 结果区域手机端深度优化 ★★★ ---- */
	.result-area {
		margin-top: 20px;
		padding-top: 16px;
	}
	.result-header {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 6px;
		margin-bottom: 12px;
	}
	.result-header .result-title {
		font-size: 14px;
		font-weight: 700;
	}
	.result-header .result-stats {
		font-size: 11px;
		padding: 2px 12px;
		border-radius: 20px;
		flex-shrink: 0;
	}

	/* ===== 卡片手机端 - 精致紧凑布局 ===== */
	.result-card {
		border-radius: 10px;
		border-color: #eef0f4;
	}

	.card-main {
		flex-direction: row;
		padding: 10px 12px;
		gap: 12px;
		align-items: center;
		background: #fafbfc;
	}

	/* 照片 - 适中大小，视觉平衡 */
	.photo-area {
		width: 95px;
		height: 115px;
		flex-shrink: 0;
		border-radius: 4px;
		border-width: 1.5px;
	}
	.photo-area .photo-label {
		font-size: 6.5px;
		padding: 0 6px;
		bottom: 2px;
		letter-spacing: 0.5px;
		background: rgba(0, 0, 0, 0.4);
	}

	/* 信息区域 - 弹性填充 */
	.info-area {
		flex: 1;
		min-width: 0;
	}

	/* 姓名行 - 更紧凑 */
	.info-row-top {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 4px;
		margin-bottom: 6px;
		flex-wrap: nowrap;
	}
	.info-row-top .name-group {
		display: flex;
		align-items: center;
		gap: 6px;
		flex-wrap: nowrap;
		min-width: 0;
	}
	.info-row-top .name-group .name {
		font-size: 15px;
		font-weight: 700;
		color: #1a1a2e;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.info-row-top .name-group .level {
		font-size: 10px;
		padding: 1px 10px;
		border-radius: 14px;
		white-space: nowrap;
		flex-shrink: 0;
		background: #fdf0f0;
		color: #9d1f2c;
		font-weight: 600;
	}
	.info-row-top .status-badge {
		font-size: 10px;
		padding: 2px 12px;
		border-radius: 20px;
		flex-shrink: 0;
		font-weight: 600;
		white-space: nowrap;
	}

	/* 信息网格 - 两列，更紧凑 */
	.info-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2px 10px;
	}
	.info-grid .info-item {
		padding: 2px 0;
		border-bottom: none;
		display: flex;
		flex-direction: row;
		align-items: baseline;
		gap: 4px;
		flex-wrap: wrap;
	}
	.info-grid .info-item .label {
		font-size: 9px;
		color: #b0b8c4;
		letter-spacing: 0.2px;
		text-transform: none;
		white-space: nowrap;
	}
	.info-grid .info-item .value {
		font-size: 12px;
		font-weight: 500;
		color: #2d3436;
		word-break: break-all;
	}
	.info-grid .info-item .value .highlight {
		color: #9d1f2c;
	}

	/* 卡片底部 - 证书编号 */
	.card-footer {
		padding: 8px 12px;
		font-size: 10px;
		flex-wrap: wrap;
		gap: 4px;
		background: #f8f9fc;
		border-top: 1px solid #eef0f4;
	}
	.card-footer .cert-no {
		font-size: 10px;
	}
	.card-footer .verify-link {
		font-size: 11px;
		color: #9d1f2c;
		font-weight: 500;
		white-space: nowrap;
	}

	/* 无结果 */
	.no-result .icon { font-size: 40px; }
	.no-result .main-text { font-size: 14px; }
	.no-result .sub-text { font-size: 12px; }

	/* 查询说明 */
	.query-notes {
		margin-top: 15px;
	}
	.query-notes h4 { font-size: 13px; margin-bottom: 6px; }
	.query-notes ul {
		grid-template-columns: 1fr;
		gap: 2px 0;
		font-size: 12px;
	}
	.query-notes ul li { padding: 3px 0; }

	/* 加载状态 */
	.loading-spinner {
		padding: 14px 0 8px;
		font-size: 13px;
	}
	.loading-spinner .spinner {
		width: 22px;
		height: 22px;
		border-width: 2.5px;
		margin-right: 8px;
	}
}
@media (max-width: 600px) {
	.card-main {
		flex-direction: column;
		align-items: center;
		padding: 12px 10px;
		gap: 10px;
	}
	.photo-area {
		width: 95px;
		height: 115px;
		flex-shrink: 0;
	}
	.info-area {
		width: 100%;
	}
	.info-row-top {
		justify-content: center;
		flex-wrap: wrap;
	}
	.info-row-top .name-group {
		justify-content: center;
		flex-wrap: wrap;
	}
	.info-row-top .name-group .name {
		font-size: 14px;
		white-space: normal;
		text-align: center;
	}
	.info-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px 20px;
	}
	.info-grid .info-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}
	.info-grid .info-item .value {
		font-size: 12px;
	}
	.card-footer {
		flex-direction: column;
		align-items: center;
		gap: 4px;
	}
	.card-footer .verify-link {
		white-space: normal;
	}
	.info-grid .info-item .label{
		margin-right: 0px;
	}
}
/* ============================================================
   小屏手机 (≤420px) - 进一步紧凑
   ============================================================ */
@media (max-width: 500px) {
	.info-grid{
		grid-template-columns: auto;
		gap: 10px 20px;
	}
}