/**
 * JASSO 官方信息速查样式（page-jasso.php）
 *
 * 命名前缀 jsa-，与决策专题 tp-/tpc- 保持同一套配色与字号口径。
 * 基准字号 10px（主题 main.css），1.4rem = 14px。
 */

.jsa-page {
	--jsa-navy: #21365c;
	--jsa-blue: #6085c8;
	--jsa-gold: #d99a3f;
	--jsa-ink: #2b3242;
	--jsa-grey: #6b7484;
	--jsa-line: #e3eaf4;
	--jsa-bg: #f5f8fd;
	--jsa-rush: #c0442f;
	--jsa-safe: #2f7d55;
	color: var(--jsa-ink);
	background: #fff;
}

.jsa-page h1,
.jsa-page h2,
.jsa-page h3,
.jsa-page h4,
.jsa-page p,
.jsa-page ul,
.jsa-page ol {
	margin: 0;
	padding: 0;
}

.jsa-page ul,
.jsa-page ol {
	list-style: none;
}

/* ------------------------------------------------------------------ Hero */
.jsa-hero {
	background: linear-gradient(120deg, #1b2f52 0%, #2b4a7d 60%, #3c6099 100%);
	color: #fff;
	padding: 5.4rem 0 4.6rem;
}
.jsa-hero-inner {
	max-width: 900px;
}
.jsa-kicker {
	display: inline-block;
	font-size: 1.2rem;
	letter-spacing: .12em;
	color: #f0c987;
	border: 1px solid rgba(240, 201, 135, .45);
	border-radius: 2rem;
	padding: .4rem 1.4rem;
	margin-bottom: 1.8rem;
}
.jsa-hero-title {
	font-size: 3.6rem;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: .02em;
	margin-bottom: 1.4rem;
}
.jsa-hero-lead {
	font-size: 1.5rem;
	line-height: 1.9;
	color: rgba(255, 255, 255, .88);
	max-width: 780px;
}
.jsa-hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 3.2rem;
	margin: 3rem 0 1.8rem;
}
.jsa-hstat {
	display: flex;
	flex-direction: column;
}
.jsa-hstat b {
	font-size: 2.4rem;
	font-weight: 700;
	color: #f0c987;
	line-height: 1.2;
}
.jsa-hstat span {
	font-size: 1.2rem;
	color: rgba(255, 255, 255, .75);
	margin-top: .4rem;
}
.jsa-hero-note {
	font-size: 1.2rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, .62);
	max-width: 820px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	padding-top: 1.4rem;
}

/* ------------------------------------------------------------- 页内导航 */
.jsa-subnav {
	background: #fff;
	border-bottom: 1px solid var(--jsa-line);
	position: sticky;
	top: 0;
	z-index: 20;
}
.jsa-subnav .container {
	display: flex;
	gap: 2.4rem;
	overflow-x: auto;
	white-space: nowrap;
}
.jsa-subnav a {
	display: inline-block;
	font-size: 1.3rem;
	color: var(--jsa-grey);
	padding: 1.5rem 0;
	border-bottom: 2px solid transparent;
	text-decoration: none;
}
.jsa-subnav a:hover,
.jsa-subnav a:focus {
	color: var(--jsa-navy);
	border-bottom-color: var(--jsa-gold);
}

/* ------------------------------------------------------------------ 主体 */
.jsa-body {
	padding-top: 4.4rem;
	padding-bottom: 6rem;
}
.jsa-section {
	margin-bottom: 5.6rem;
	scroll-margin-top: 6rem;
}
.jsa-sec-head {
	display: flex;
	align-items: flex-start;
	gap: 1.8rem;
	margin-bottom: 2.4rem;
}
.jsa-sec-num {
	flex: none;
	min-width: 5.2rem;
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
	background: var(--jsa-navy);
	border-radius: .4rem;
	text-align: center;
	padding: .7rem .8rem;
	letter-spacing: .06em;
}
.jsa-mod-kicker {
	font-size: 1.2rem;
	color: var(--jsa-gold);
	letter-spacing: .08em;
	margin-bottom: .5rem;
}
.jsa-sec-title {
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 700;
	color: var(--jsa-navy);
	margin-bottom: .8rem;
}
.jsa-sec-desc {
	font-size: 1.4rem;
	line-height: 1.85;
	color: var(--jsa-grey);
	max-width: 880px;
}
.jsa-sub-title {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--jsa-navy);
	margin: 2.8rem 0 1.2rem;
	padding-left: 1.2rem;
	border-left: 3px solid var(--jsa-gold);
}

/* --------------------------------------------------------- 入境第一周清单 */
.jsa-checklist {
	background: var(--jsa-bg);
	border: 1px solid var(--jsa-line);
	border-radius: 1rem;
	padding: 2.8rem 3rem;
}
.jsa-check-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.8rem;
}
.jsa-check {
	display: flex;
	gap: 1.4rem;
	background: #fff;
	border: 1px solid var(--jsa-line);
	border-radius: .8rem;
	padding: 1.8rem 1.6rem;
}
.jsa-check-n {
	flex: none;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 50%;
	background: var(--jsa-navy);
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jsa-check h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--jsa-navy);
	margin-bottom: .7rem;
}
.jsa-check p {
	font-size: 1.3rem;
	line-height: 1.8;
	color: var(--jsa-grey);
}

/* -------------------------------------------------------------- 关键数字 */
.jsa-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.4rem;
	margin-bottom: 1rem;
}
.jsa-card {
	background: #fff;
	border: 1px solid var(--jsa-line);
	border-top: 3px solid var(--jsa-blue);
	border-radius: .6rem;
	padding: 1.8rem 1.6rem;
}
.jsa-card b {
	display: block;
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--jsa-navy);
	line-height: 1.3;
	margin-bottom: .6rem;
}
.jsa-card-k {
	display: block;
	font-size: 1.3rem;
	color: var(--jsa-ink);
	margin-bottom: .4rem;
}
.jsa-card-s {
	display: block;
	font-size: 1.2rem;
	line-height: 1.7;
	color: var(--jsa-grey);
}

/* -------------------------------------------------------------- 数据表 */
.jsa-table-scroll {
	overflow-x: auto;
	border: 1px solid var(--jsa-line);
	border-radius: .6rem;
}
.jsa-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.3rem;
	min-width: 720px;
}
.jsa-table th,
.jsa-table td {
	text-align: left;
	vertical-align: top;
	padding: 1.3rem 1.4rem;
	border-bottom: 1px solid var(--jsa-line);
	line-height: 1.75;
}
.jsa-table thead th {
	background: var(--jsa-bg);
	color: var(--jsa-navy);
	font-size: 1.2rem;
	font-weight: 700;
	white-space: nowrap;
}
.jsa-table tbody tr:last-child th,
.jsa-table tbody tr:last-child td {
	border-bottom: 0;
}
.jsa-table tbody th {
	font-weight: 700;
	color: var(--jsa-navy);
	white-space: nowrap;
}
.jsa-table tbody th a {
	color: var(--jsa-blue);
	text-decoration: none;
}
.jsa-td-src,
.jsa-td-asof {
	color: var(--jsa-grey);
	font-size: 1.2rem;
}
.jsa-frame-table {
	min-width: 760px;
}

/* -------------------------------------------------------------- 条件解读 */
.jsa-points {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.4rem;
}
.jsa-point {
	display: flex;
	align-items: flex-start;
	gap: 1.2rem;
	background: var(--jsa-bg);
	border: 1px solid var(--jsa-line);
	border-radius: .6rem;
	padding: 1.6rem;
}
.jsa-tag {
	flex: none;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: .04em;
	border-radius: .3rem;
	padding: .35rem .8rem;
	color: #fff;
	white-space: nowrap;
}
.jsa-tag-fix    { background: var(--jsa-rush); }
.jsa-tag-must   { background: var(--jsa-blue); }
.jsa-tag-decide { background: var(--jsa-safe); }
.jsa-tag-note   { background: var(--jsa-gold); }
.jsa-tag-extra  { background: #7d879b; }
.jsa-point h4 {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--jsa-navy);
	margin-bottom: .6rem;
}
.jsa-point p {
	font-size: 1.3rem;
	line-height: 1.85;
	color: var(--jsa-ink);
}

/* -------------------------------------------------------------- 误区对照 */
.jsa-myth {
	display: flex;
	align-items: stretch;
	gap: 1.4rem;
	margin-top: 2rem;
	border: 1px solid var(--jsa-line);
	border-radius: .6rem;
	overflow: hidden;
}
.jsa-myth-col {
	flex: 1;
	padding: 1.6rem 1.8rem;
}
.jsa-myth-col > span {
	display: block;
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: .7rem;
}
.jsa-myth-col p {
	font-size: 1.3rem;
	line-height: 1.85;
}
.jsa-myth-col.is-wrong {
	background: #fdf4f2;
}
.jsa-myth-col.is-wrong > span { color: var(--jsa-rush); }
.jsa-myth-col.is-right {
	background: #f1f8f4;
}
.jsa-myth-col.is-right > span { color: var(--jsa-safe); }
.jsa-myth-arrow {
	flex: none;
	display: flex;
	align-items: center;
	font-size: 2rem;
	color: var(--jsa-grey);
}

/* ------------------------------------------------------------------ FAQ */
.jsa-faq {
	margin-top: 1.8rem;
	border-top: 1px solid var(--jsa-line);
}
.jsa-faq details {
	border-bottom: 1px solid var(--jsa-line);
}
.jsa-faq summary {
	cursor: pointer;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--jsa-navy);
	padding: 1.4rem .4rem;
	list-style: none;
}
.jsa-faq summary::-webkit-details-marker { display: none; }
.jsa-faq summary::before {
	content: '+';
	display: inline-block;
	width: 2rem;
	color: var(--jsa-gold);
	font-weight: 700;
}
.jsa-faq details[open] summary::before { content: '−'; }
.jsa-faq details p {
	font-size: 1.3rem;
	line-height: 1.9;
	color: var(--jsa-ink);
	padding: 0 .4rem 1.6rem 2.4rem;
}

/* ------------------------------------------------------------ 模块页脚 */
.jsa-mod-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.2rem 2rem;
	margin-top: 2rem;
	padding-top: 1.4rem;
	border-top: 1px dashed var(--jsa-line);
	font-size: 1.2rem;
}
.jsa-source-link {
	color: var(--jsa-blue);
	text-decoration: none;
}
.jsa-source-link:hover { text-decoration: underline; }
.jsa-inner a {
	color: var(--jsa-navy);
	text-decoration: none;
	margin-right: 1.2rem;
}
.jsa-inner a:hover { color: var(--jsa-gold); }
.jsa-asof {
	margin-left: auto;
	color: var(--jsa-grey);
}

/* -------------------------------------------------------------- 纠错说明 */
.jsa-corr {
	background: #fffaf2;
	border: 1px solid #f0dfbe;
	border-radius: 1rem;
	padding: 2.8rem 3rem;
}
.jsa-corr-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.8rem 2.4rem;
}
.jsa-corr-item {
	display: flex;
	gap: 1.2rem;
}
.jsa-corr-n {
	flex: none;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--jsa-gold);
}
.jsa-corr-item h3 {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--jsa-navy);
	margin-bottom: .6rem;
}
.jsa-corr-item p {
	font-size: 1.3rem;
	line-height: 1.85;
	color: var(--jsa-ink);
}

/* -------------------------------------------------------------- 来源清单 */
.jsa-sources {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem 2.4rem;
}
.jsa-sources li {
	border-bottom: 1px solid var(--jsa-line);
	padding: 1.1rem 0;
}
.jsa-src-org {
	display: block;
	font-size: 1.1rem;
	color: var(--jsa-grey);
	margin-bottom: .3rem;
}
.jsa-sources a {
	font-size: 1.3rem;
	color: var(--jsa-blue);
	text-decoration: none;
	line-height: 1.7;
}
.jsa-sources a:hover { text-decoration: underline; }

/* -------------------------------------------------------------------- CTA */
.jsa-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2.4rem;
	background: var(--jsa-navy);
	color: #fff;
	border-radius: 1rem;
	padding: 2.8rem 3.2rem;
}
.jsa-cta-title {
	font-size: 1.9rem;
	font-weight: 700;
	margin-bottom: .8rem;
}
.jsa-cta-sub {
	font-size: 1.3rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, .78);
	max-width: 620px;
}
.jsa-cta-actions {
	display: flex;
	gap: 1rem;
	flex: none;
}
.jsa-btn {
	display: inline-block;
	font-size: 1.3rem;
	border-radius: .4rem;
	padding: 1.1rem 2rem;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}
.jsa-btn-ghost {
	border: 1px solid rgba(255, 255, 255, .5);
	color: #fff;
}
.jsa-btn-solid {
	background: var(--jsa-gold);
	color: #fff;
}

/* ---------------------------------------------------------------- 响应式 */
@media (max-width: 991px) {
	.jsa-check-grid,
	.jsa-cards,
	.jsa-points,
	.jsa-corr-grid,
	.jsa-sources { grid-template-columns: 1fr; }
	.jsa-hero-stats { gap: 2rem; }
	.jsa-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
	.jsa-hero { padding: 3.6rem 0 3rem; }
	.jsa-hero-title { font-size: 2.6rem; }
	.jsa-hero-lead { font-size: 1.4rem; }
	.jsa-sec-title { font-size: 2rem; }
	.jsa-checklist,
	.jsa-corr { padding: 2rem 1.6rem; }
	.jsa-myth { flex-direction: column; }
	.jsa-myth-arrow { justify-content: center; transform: rotate(90deg); }
	.jsa-asof { margin-left: 0; }
	.jsa-cta { padding: 2.2rem 1.8rem; }
	.jsa-cta-actions { flex-wrap: wrap; }
}

/* ------------------------------------------- 按人群的阅读路径（1.5.11） */
.jsa-path-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.6rem;
	margin-top: 2.6rem;
}
.jsa-path {
	background: var(--jsa-bg);
	border: 1px solid var(--jsa-line);
	border-radius: .4rem;
	padding: 2.2rem 2.4rem;
}
.jsa-path-who {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--jsa-navy);
}
.jsa-path-goal {
	font-size: 1.2rem;
	color: var(--jsa-blue);
	margin-top: .4rem;
}
.jsa-path-desc {
	font-size: 1.3rem;
	line-height: 1.8;
	color: var(--jsa-grey);
	margin: 1.4rem 0;
}
.jsa-path-mods {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
}
.jsa-path-mods a {
	font-size: 1.2rem;
	color: var(--jsa-blue);
	background: #fff;
	border: 1px solid var(--jsa-line);
	border-radius: 2rem;
	padding: .5rem 1.2rem;
	text-decoration: none;
}
.jsa-path-mods a:hover,
.jsa-path-mods a:focus {
	color: var(--jsa-navy);
	border-color: var(--jsa-gold);
}
.jsa-path-go {
	display: inline-block;
	margin-top: 1.8rem;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--jsa-navy);
	text-decoration: none;
}
.jsa-path-go:hover { color: var(--jsa-gold); }

/* ------------------------------------------- 2026 EJU 作战时间轴（1.5.11） */
.jsa-tl-list {
	margin-top: 2.6rem;
}
.jsa-tl-item {
	display: grid;
	grid-template-columns: 6.4rem 5.2rem minmax(0, 1fr);
	gap: 1.4rem;
	align-items: start;
	background: var(--jsa-bg);
	border-left: .3rem solid var(--jsa-blue);
	border-radius: 0 .3rem .3rem 0;
	padding: 1.6rem 2rem;
	margin-bottom: 1.2rem;
}
.jsa-tl-r2 { border-left-color: var(--jsa-gold); }
.jsa-tl-day {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--jsa-navy);
	line-height: 1.5;
}
.jsa-tl-kind {
	display: inline-block;
	font-size: 1.2rem;
	color: var(--jsa-blue);
	background: #fff;
	border: 1px solid var(--jsa-line);
	border-radius: 2rem;
	padding: .3rem 1rem;
	text-align: center;
}
.jsa-tl-r2 .jsa-tl-kind { color: #a26d21; }
.jsa-tl-body h3 {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--jsa-ink);
	line-height: 1.5;
}
.jsa-tl-body p {
	font-size: 1.3rem;
	line-height: 1.8;
	color: var(--jsa-grey);
	margin-top: .6rem;
}
.jsa-fineprint {
	font-size: 1.2rem;
	line-height: 1.9;
	color: var(--jsa-grey);
	margin-top: 1.6rem;
}
.jsa-fineprint a { color: var(--jsa-blue); }

/* ------------------------------------------- 待核实 / 不写死（1.5.11） */
.jsa-pending-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.6rem;
	margin-top: 2.6rem;
}
.jsa-pending-item {
	border: 1px dashed var(--jsa-gold);
	border-radius: .4rem;
	background: #fffaf2;
	padding: 2rem;
}
.jsa-pending-item h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--jsa-navy);
	line-height: 1.5;
}
.jsa-pending-why {
	font-size: 1.3rem;
	line-height: 1.8;
	color: var(--jsa-grey);
	margin-top: 1rem;
}
.jsa-pending-act {
	font-size: 1.3rem;
	line-height: 1.8;
	color: var(--jsa-ink);
	border-top: 1px solid rgba(217, 154, 63, .35);
	margin-top: 1.4rem;
	padding-top: 1.2rem;
}
.jsa-pending-act b {
	display: block;
	font-size: 1.1rem;
	letter-spacing: .06em;
	color: #a26d21;
	margin-bottom: .4rem;
}

@media (max-width: 991px) {
	.jsa-path-grid,
	.jsa-pending-grid { grid-template-columns: 1fr; }
	.jsa-tl-item { grid-template-columns: 6rem minmax(0, 1fr); }
	.jsa-tl-body { grid-column: 2; }
}
@media (max-width: 767px) {
	.jsa-path { padding: 1.8rem; }
	.jsa-tl-item {
		grid-template-columns: 1fr;
		gap: .6rem;
		padding: 1.6rem;
	}
	.jsa-tl-body { grid-column: 1; }
	.jsa-tl-kind { justify-self: start; }
	.jsa-pending-item { padding: 1.8rem; }
}

/* 官方原文与翻译入口（1.5.12） */
.jsa-originals {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
.jsa-originals li {
	border: 1px solid var(--jsa-line);
	border-radius: 8px;
	padding: 1.4rem 1.6rem;
	background: var(--jsa-bg);
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.jsa-originals li a {
	color: var(--jsa-navy);
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.5;
}
.jsa-originals li a:hover { color: var(--jsa-blue); }
.jsa-originals li span {
	color: var(--jsa-grey);
	font-size: 1.2rem;
}
.jsa-originals-all {
	display: inline-block;
	margin-top: 1.4rem;
	color: var(--jsa-blue);
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
}
@media (max-width: 767px) {
	.jsa-originals { grid-template-columns: 1fr; }
}
