/* ============================================================
   Resource Hub 模块专属样式
   ============================================================ */


/* ===== 主体区域 ===== */
.resource-main {
	padding: 50px 0 80px;
}


/* ===== Application Note 文章列表 ===== */
.app-note-list {
	margin-bottom: 48px;
}
.app-note-item {
	display: flex;
	align-items: stretch;
	gap: 40px;
	padding: 0 0 40px;
	/* border-bottom: 1px solid #efefef; */
}
.app-note-item:first-child {
	/* border-top: 1px solid #efefef; */
}

/* 左侧图片 */
.app-note-img {
	flex-shrink: 0;
	width: 440px;
	height: 260px;
	overflow: hidden;
	border-radius: 6px;
	display: block;
}
.app-note-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}
.app-note-img:hover img {
	transform: scale(1.04);
}

/* 右侧文字 */
.app-note-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 4px;
}
.app-note-title {
	margin: 0 0 4px;
}
.app-note-title a {
	font-size: 24px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	line-height: 1.5;
	transition: color 0.2s;
}
.app-note-title a:hover {
	color: var(--my-color);
}
.app-note-meta {
	margin: 0;
	font-size: 20px;
	color: #333;
	line-height: 1.6;
}
/* ===== 响应式 ===== */
@media (max-width: 767px) {
	.resource-main { padding: 28px 0 48px; }
	.app-note-item { flex-direction: column; gap: 16px; padding: 24px 0; }
	.app-note-img { width: 100%; height: 200px; }
	.app-note-title a { font-size: 16px; }
	.app-note-meta { font-size: 13px; }
}

@media (min-width: 768px) and (max-width: 1199px) {
	.resource-main { padding: 40px 0 64px; }
	.app-note-img { width: 220px; height: 150px; }
	.app-note-title a { font-size: 17px; }
	.app-note-meta { font-size: 14px; }
}


/* ============================================================
   resource模块 post-card 覆盖（Blog / Publication 3列网格）
   ============================================================ */

.resource-main .post-card-col { margin-bottom: 48px; }
.resource-main .post-card-img { /* aspect-ratio: 4 / 3; */ border-radius: 8px; }
.resource-main .post-card-body { padding-top: 16px; }
.resource-main .post-card-title a { font-weight: 500; }
.resource-main .post-card-tags { margin: 0 0 24px; }

/* resource模块 Read more 按钮字号覆盖（24px）*/
.resource-main .btn-read-more { font-size: 24px; padding: 10px 20px; }

@media (max-width: 767px) {
	.resource-main .post-card-col { margin-bottom: 24px; }
	.resource-main .btn-read-more { font-size: 13px; padding: 8px 16px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.resource-main .post-card-col { margin-bottom: 28px; }
}


/* ============================================================
   Newsletter Registration 页面
   ============================================================ */

.newsletter-wrap {
	/* padding: 0 0 40px; */
}

/* 标题 */
.newsletter-title {
	font-size: 36px;
	font-weight: 500;
	color: #000;
	margin: 0 0 16px;
	line-height: 1.3;
}

/* 副文字 */
.newsletter-desc {
	color: #00000099;
 	font-size: 20px;
	line-height: 1.7;
	margin: 0 0 8px;
}

/* 提示说明 */
.newsletter-notice {
	color: #142949;
	font-size: 20px;
	font-weight: 700;
	line-height: 2;
	margin: 0 0 24px;
}

/* 订阅声明 checkbox 行 */
.nl-check-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 50px;
}
.nl-check-row input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin-top: 2px;
	flex-shrink: 0;
	cursor: pointer;
	accent-color: var(--my-color);
}
.nl-check-row label {
	color: #142949;
 	font-size: 18px;
	/* line-height: 1.6; */
	cursor: pointer;
}

/* 表单组 */
.newsletter-form.message-form .row{
	margin-left:-35px;
	margin-right:-35px;
}
.newsletter-form.message-form .column{
	margin-bottom:50px;
	padding-left:35px;
	padding-right:35px;
}
.newsletter-form.message-form .column:last-child{
	margin-bottom:0;
}
.newsletter-form.message-form .public-button-href{
	padding-top:0;
	margin-top:-20px;
}
.newsletter-form.message-form .form-control{
	height:52px;
}
.newsletter-form.message-form .public-button-href>.more{
	width:100%;
	padding:8px 12px;
	font-size:16px;
}
.nl-form-group {
	margin: 20px 0;
}
.nl-label {
	display: block;
	color: #142949;
 	font-size: 20px;
	font-weight: 500;
	margin-bottom: 6px;
}
.nl-required {
	/* color: #e00;
	margin-left: 2px; */
}
.nl-input {
	display: block;
	width: 100%;
	height: 44px;
	padding: 0 12px;
	font-size: 14px;
	color: #222;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	outline: none;
	transition: border-color 0.2s;
}
.nl-input:focus {
	border-color: var(--my-color);
}

/* Select2 覆盖样式 */
.nl-form-group .select2-container {
	width: 100% !important;
}
.nl-form-group .select2-container--default .select2-selection--single {
	height: 44px;
	border: 1px solid #ccc;
	border-radius: 4px;
	display: flex;
	align-items: center;
}
.nl-form-group .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
	padding-left: 12px;
	font-size: 14px;
	color: #222;
}
.nl-form-group .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px;
	right: 8px;
}
.nl-form-group .select2-container--default.select2-container--focus .select2-selection--single,
.nl-form-group .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--my-color);
}

/* 隐私 checkbox */
.nl-privacy-check {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 8px 0 14px;
}
.nl-privacy-check input[type="checkbox"] {
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	cursor: pointer;
	accent-color: var(--my-color);
}
.nl-privacy-check label {
	color: #142949;
 	font-size: 20px;
	cursor: pointer;
}
.nl-privacy-link {
	color: var(--my-color);
	text-decoration: underline;
}
.nl-privacy-link:hover {
	color: #1a2565;
}

/* 隐私说明文字 */
.nl-privacy-text {
	color: #142949;
 	font-size: 16px;
	line-height: 1.7;
	margin: 20px 0 0;
}

/* 提交按钮 */
.nl-submit {
	display: block;
	height: 48px;
	background: #142949;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.2s;
}
.nl-submit:hover {
	background: #1a2565;
}

/* nl-input 验证状态 */
.was-validated .nl-input:invalid,
.was-validated .nl-input.is-invalid {
	border-color: #dc3545;
}
.was-validated .nl-input:valid {
	border-color: #198754;
}

/* Select2 Country 验证 */
.is-invalid-select {
	border-color: #dc3545 !important;
}
#countryError {
	display: none;
	font-size: 0.875em;
	color: #dc3545;
	margin-top: 4px;
}

/* 隐私 checkbox 未勾选提示 */
.nl-privacy-error {
	display: none;
	font-size: 0.875em;
	color: #dc3545;
	margin-top: 4px;
}

/* 响应式 */
@media (max-width: 767px) {
	.nl-check-row input[type="checkbox"],
	.nl-privacy-check input[type="checkbox"] {
		width: 24px;
		height: 24px;
	}
	.newsletter-title { font-size: 22px; }
	.newsletter-desc { font-size: 14px; }
	.nl-submit { max-width: 100%; }
}
@media (max-width: 991px) {
	.nl-check-row input[type="checkbox"],
	.nl-privacy-check input[type="checkbox"] {
		width: 22px;
		height: 22px;
		margin-top: 0;
	}
	.nl-check-row {
		align-items: center;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.newsletter-title { font-size: 26px; }
}


/* ============================================================
   COA 页面
   ============================================================ */

/* 双列外层 */
.coa-wrap {
	margin: 0 15px;
	padding: 50px;
	background: #f8f8f8;
}

/* ----- 左侧搜索区 ----- */
.coa-left {
	flex: 1;
	min-width: 0; 
	padding-right: 50px;
}

.coa-title {
	font-size: 30px;
	font-weight: 700;
	color: #000;
	margin: 0 0 24px;
	line-height: 1.3;
}

.coa-input {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 16px;
	font-size: 15px;
	color: #333;
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	outline: none;
	transition: border-color 0.2s;
	margin-bottom: 14px;
}
.coa-input::placeholder { color: #999; font-size: 14px; }

.coa-search-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 184px;
	height: 52px;
	padding: 0 40px;
	background: #142949;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.2s;
	margin-bottom: 32px;
}
.coa-search-btn:hover { background: var(--my-color-2);color:#000 }

/* ----- 右侧帮助区 ----- */
.coa-right {
	width: 50%;
	flex-shrink: 0;
	padding-left: 50px;
	border-left: 1px solid #e0e0e0;
}
.coa-help-title {
	font-size: 18px;
	font-weight: 500;
	color: #000;
	margin: 0 0 12px;
	line-height: 1.4;
}
.coa-help-text {
	font-size: 16px;
	color: #333;
	line-height: 1.7;
	margin: 0 0 20px;
}
.coa-example-box {
	background: #f5f5f5;
	padding: 16px 20px;
	margin-bottom: 28px;
	border-radius: 4px;
}
.coa-example-label {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	margin: 0 0 8px;
}
.coa-lot-number {
	font-size: 16px;
	font-weight: 600;
	color: #111;
	margin: 0 0 6px;
}
.coa-lot-note {
	font-size: 14px;
	color: rgba(0,0,0,0.5);
	margin: 0;
	line-height: 1.5;
}
.coa-view-examples {
	font-size: 16px;
	font-weight: 500;
	color: #142949;
	text-decoration: underline;
	cursor: pointer;
	display: inline-block;
	margin-top: 8px;
	background: none;
	border: none;
	padding: 0;
}
.coa-view-examples:hover { color: #1a2565; }

/* Search Results */
.coa-results {
	margin-top: 30px;
	border-top: 1px solid #e8e8e8;
	padding-top: 20px;
}
.coa-results-label {
	font-size: 13px;
	font-weight: 600;
	color: #888;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 14px;
}

.coa-result-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
	background: #fff;
}
.coa-result-icon {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.coa-result-name {
	flex: 1;
	font-size: 16px;
	font-weight: 500;
	color: #111;
	line-height: 1.4;
}
.coa-result-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
}
.coa-view-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: transparent;
	border: none;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	cursor: pointer;
	padding: 0;
	transition: color 0.2s;
}
.coa-view-btn:hover,
.coa-view-btn.active { color: var(--my-color); }

.coa-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: transparent;
	border: none;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	cursor: pointer;
	text-decoration: none;
	padding: 0;
	transition: color 0.2s;
}
.coa-download-btn:hover { color: var(--my-color); }

.coa-view-btn .bi,
.coa-download-btn .bi {
	font-size: 20px;
	font-weight: 600;
}

/* 展开 COA 图片面板 */
.coa-image-panel {
	margin-top: 16px;
	background: #e8e8e8;
	border-radius: 6px;
	padding: 40px 32px;
	text-align: center;
}
.coa-image-panel-title {
	font-size: 18px;
	font-weight: 500;
	color: #111;
	margin: 0 0 24px;
}
.coa-preview-area {
	width: 100%;
	min-width: 0;
}
.coa-image-panel img {
	display: block;
	max-width: 420px;
	width: 100%;
	margin: 0 auto 28px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.12);
	border-radius: 4px;
	background: #fff;
}
/* 须同时设 height：仅用 min-height 时部分浏览器仍保留 iframe 默认 300×150 */
.coa-pdf-iframe {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	height: 80vh !important;
	min-height: 560px !important;
	max-width: 100%;
	margin: 0 auto 28px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}
.coa-image-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #142949;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	padding: 12px 40px;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.2s;
}
.coa-image-download-btn:hover { background: #1a2565; color: #fff; }

/* 示例图片弹窗 */
.coa-examples-modal .modal-dialog { max-width: 700px; }
.coa-examples-modal .modal-content { border: none; border-radius: 8px; overflow: hidden; }
.coa-examples-modal .modal-header {
	padding: 14px 20px;
	border-bottom: 1px solid #f0f0f0;
}
.coa-examples-modal .modal-title {
	font-size: 16px;
	font-weight: 600;
	color: #111;
}
.coa-examples-modal .modal-body { padding: 16px; }
.coa-examples-modal .modal-body img { display: block; width: 100%; border-radius: 4px; }

/* 响应式 */
@media (max-width: 991px) {
	.coa-wrap { flex-direction: column; padding: 32px 16px;}
	.coa-right { width: 100%; border-left: none; padding-left: 0; border-top: 1px solid #e0e0e0; padding-top: 32px; }
}
@media (max-width: 767px) {
	.coa-title { font-size: 20px; }
	.coa-search-btn { width: 100%; min-width: unset; padding: 0 20px; }
	.coa-image-panel { padding: 24px 16px; }
	.coa-image-panel-title { font-size: 15px; }
	.coa-pdf-iframe {
		height: 65vh !important;
		min-height: 360px !important;
	}
	.coa-result-name { font-size: 13px; }
	.coa-image-download-btn { font-size: 14px; padding: 10px 28px; }
	.coa-result-actions { gap: 10px; }
	.coa-view-btn, .coa-download-btn { font-size: 12px; }
	.coa-help-title { font-size: 16px; }
	.coa-help-text { font-size: 14px; }
}


/* ============================================================
   COA 无匹配结果弹窗
   ============================================================ */

.coa-nomatch-modal .modal-dialog {
	max-width: 540px;
}
.coa-nomatch-modal .modal-content {
	border: none;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 40px rgba(0,0,0,0.12);
}
.coa-nomatch-body {
	padding: 52px 48px 44px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.coa-nomatch-icon {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	font-size: 50px;
	color: #fff;
	background: #142949;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	flex-shrink: 0;
}
.coa-nomatch-icon svg {
	display: block;
}
.coa-nomatch-title {
	font-size: 22px;
	font-weight: 700;
	color: #111;
	margin: 0 0 14px;
	line-height: 1.3;
}
.coa-nomatch-desc {
	font-size: 18px;
	font-weight: 400;
	color: #222;
	margin: 0 0 36px;
	line-height: 1.6;
}
.coa-nomatch-btn {
	display: inline-block;
	min-width: 220px;
	height: 54px;
	padding: 0 40px;
	background: #142949;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.2s;
}
.coa-nomatch-btn:hover {
	background: #1a3560;
}

@media (max-width: 767px) {
	.coa-nomatch-modal .modal-dialog { margin: auto; max-width: 90%; }
	.coa-nomatch-body { padding: 40px 28px 36px; }
	.coa-nomatch-title { font-size: 18px; }
	.coa-nomatch-desc { font-size: 15px; }
	.coa-nomatch-btn { font-size: 15px; min-width: 160px; height: 48px; }
}
