/* =========================================================================
 * 华世家 · 明清科举进士榜样式（keju）
 * 主题对齐：--paper / --ink / --red / --gold / --serif
 * ========================================================================= */

/* ---------- 首页区块 ---------- */
.keju-block{margin:0 0 18px}
.keju-block-inner{background:linear-gradient(160deg,#f6f1e6,#f1e8d6);border:1px solid #e4d5b8;border-radius:12px;padding:22px 26px;box-shadow:0 4px 18px rgba(80,50,10,.06)}
.keju-block-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.keju-seal{width:52px;height:52px;border:2px solid var(--clan-red,#a93426);color:var(--clan-red,#a93426);border-radius:8px;display:flex;align-items:center;justify-content:center;font:700 24px var(--serif);transform:rotate(-3deg);flex-shrink:0}
.keju-block-copy{flex:1;min-width:220px}
.keju-block-copy .eyebrow{font:600 11px var(--serif);letter-spacing:.18em;color:var(--clan-red,#a93426)}
.keju-block-copy h2{font:700 22px var(--serif);color:var(--ink,#1f1a14);margin:2px 0}
.keju-block-copy p{font:400 13px/1.7 var(--serif);color:#7c6f5a;margin:0}
.keju-block-head .btn{margin-left:auto}
.keju-block-body{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:18px;align-items:stretch}
.keju-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px}
.keju-mini-row{display:flex;align-items:center;gap:8px;font:400 13px var(--serif);color:var(--ink,#1f1a14)}
.keju-mini-no{width:18px;height:18px;border-radius:4px;background:var(--clan-red,#a93426);color:#fff;font:600 11px/18px var(--serif);text-align:center;flex-shrink:0}
.keju-mini-name{font-weight:600;min-width:32px}
.keju-mini-track{flex:1;height:6px;background:#e5dac4;border-radius:3px;overflow:hidden}
.keju-mini-track i{display:block;height:100%;background:linear-gradient(90deg,var(--clan-red,#a93426),#c8762e);border-radius:3px}
.keju-mini em{font:600 12px var(--serif);font-style:normal;color:#8a6d3b;min-width:38px;text-align:right}
.keju-search{display:flex;gap:8px;align-items:center}
.keju-search input{flex:1;min-width:0;height:40px;border:1px solid #d8c6a2;border-radius:8px;background:#fffdf7;padding:0 14px;font:400 14px var(--serif);color:var(--ink,#1f1a14);outline:none}
.keju-search input:focus{border-color:var(--clan-red,#a93426);box-shadow:0 0 0 3px rgba(169,52,38,.12)}
.keju-search button{height:40px;padding:0 18px;border:0;border-radius:8px;background:var(--clan-red,#a93426);color:#fff;font:600 14px var(--serif);cursor:pointer;white-space:nowrap}
.keju-search button:hover{background:#7c2016}

/* ---------- Hero ---------- */
.keju-hero{isolation:isolate;background:#2a1e1c;color:#f5eee0;padding:46px 0 42px;position:relative;overflow:hidden}
.keju-poster-carousel{position:absolute;inset:0;z-index:-3;pointer-events:none}
.keju-poster-slide{position:absolute;inset:0;opacity:0;background-position:center;background-size:cover;background-repeat:no-repeat;animation:kejuPosterFade 36s infinite ease-in-out;animation-delay:var(--kp-delay);transform:scale(1.006)}
.keju-poster-slide.kp1{background-image:url('/images/keju/keju-poster-1.webp')}
.keju-poster-slide.kp2{background-image:url('/images/keju/keju-poster-2.webp')}
.keju-poster-slide.kp3{background-image:url('/images/keju/keju-poster-3.webp')}
.keju-poster-slide.kp4{background-image:url('/images/keju/keju-poster-4.webp')}
.keju-poster-slide.kp5{background-image:url('/images/keju/keju-poster-5.webp')}
.keju-poster-slide.kp6{background-image:url('/images/keju/keju-poster-6.webp')}
.keju-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(35,22,19,.97) 0%,rgba(43,26,22,.91) 38%,rgba(45,28,22,.62) 61%,rgba(40,26,21,.22) 85%,rgba(32,23,20,.12) 100%)}
.keju-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(25,17,15,.48),transparent 45%),radial-gradient(ellipse at 78% 20%,rgba(216,178,110,.14),transparent 55%);pointer-events:none}
.keju-hero-content{position:relative;z-index:2}
.keju-poster-progress{position:absolute;right:3.2%;bottom:20px;z-index:3;width:126px;height:2px;background:rgba(255,255,255,.22);overflow:hidden}.keju-poster-progress i{display:block;width:100%;height:100%;background:#e8c98a;transform-origin:left;animation:kejuPosterProgress 6s linear infinite}
@keyframes kejuPosterFade{0%{opacity:0;transform:scale(1.009)}2.5%,14%{opacity:.96;transform:scale(1)}17%,100%{opacity:0;transform:scale(1)}}
@keyframes kejuPosterProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.keju-hero .crumb{color:rgba(245,238,224,.75);font:400 13px var(--serif);margin-bottom:14px}
.keju-hero .crumb a{color:#e8c98a;text-decoration:none}
.keju-hero .eyebrow{font:600 12px var(--serif);letter-spacing:.22em;color:#e8c98a}
.keju-hero h1{font:700 42px/1.2 var(--serif);margin:10px 0 14px;letter-spacing:.04em}
.keju-hero p{max-width:780px;font:400 15px/1.9 var(--serif);color:rgba(245,238,224,.88);margin:0 0 24px}
.keju-hero p b{color:#f0cf94}
.keju-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.keju-stat{background:rgba(46,30,26,.68);border:1px solid rgba(240,207,148,.38);border-radius:10px;padding:14px 22px;text-align:center;min-width:110px;box-shadow:0 8px 24px rgba(0,0,0,.14);backdrop-filter:blur(4px)}
.keju-stat strong{display:block;font:700 24px var(--serif);color:#f0cf94;line-height:1.35}
.keju-stat span{font:400 12px var(--serif);color:rgba(245,238,224,.75)}
.keju-search-hero{max-width:640px}
.keju-search-hero input{background:rgba(45,30,26,.76);border-color:rgba(240,207,148,.48);color:#f5eee0;backdrop-filter:blur(4px)}
.keju-search-hero input::placeholder{color:rgba(245,238,224,.5)}
.keju-search-hero button{background:#c8762e}

/* ---------- 主区 ---------- */
.keju-main{padding:26px 0 46px}
.keju-note{background:#f6f1e6;border:1px solid #e6d9bd;border-left:3px solid var(--clan-red,#a93426);border-radius:8px;padding:12px 16px;font:400 13px/1.8 var(--serif);color:#5c5342;margin-bottom:20px}
.keju-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.keju-tab{height:38px;padding:0 18px;border:1px solid #d8c6a2;border-radius:20px;background:#fff;color:#5c5342;font:600 14px var(--serif);cursor:pointer}
.keju-tab.active{background:var(--clan-red,#a93426);border-color:var(--clan-red,#a93426);color:#fff}
.keju-title{font:700 20px var(--serif);color:var(--ink,#1f1a14);margin:4px 0 2px}
.keju-desc{font:400 13px/1.7 var(--serif);color:#7c6f5a;margin-bottom:12px}
.keju-panel{border:1px solid #e4d5b8;border-radius:10px;overflow:hidden}
.keju-panel-inner{background:#fffdf7;padding:16px}
.keju-chart{margin-bottom:14px}
.keju-table{width:100%;border-collapse:collapse;font:400 13px var(--serif)}
.keju-table th{background:#efe6d2;color:#4c4030;font-weight:600;text-align:left;padding:9px 12px;border-bottom:2px solid #d8c6a2;white-space:nowrap}
.keju-table td{padding:8px 12px;border-bottom:1px solid #efe6d2;color:var(--ink,#1f1a14);vertical-align:middle}
.keju-table tr:nth-child(even){background:#faf6ec}
.keju-table tr.kj-top3{background:#f7ead6}
.keju-table tr.kj-top3 td{font-weight:600}
.kj-no{color:#a08050;font-weight:600;text-align:center}
.kj-name{font-weight:600;white-space:nowrap}
.kj-fs{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;background:#efe6d2;color:#8a6d3b;font:600 10px var(--serif);vertical-align:1px}
.kj-year{color:#8a6d3b;white-space:nowrap}
.kj-place{color:#5c5342}
.kj-rank{margin-left:6px;color:#8a6d3b;font-size:12px;white-space:nowrap}
.kj-num{white-space:nowrap}
.kj-num b{margin-left:8px}
.kj-j1{color:#8a2a1e;font-weight:600;white-space:nowrap}
.kj-zy{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:3px;background:linear-gradient(90deg,#f0cf94,#d9a84e);color:#5c3a10;font:600 10px var(--serif)}
.kj-pct{color:#8a6d3b;white-space:nowrap}
.kj-track{display:inline-block;width:150px;height:8px;background:#efe6d2;border-radius:4px;overflow:hidden;vertical-align:middle}
.kj-track i{display:block;height:100%;background:linear-gradient(90deg,#c8762e,var(--clan-red,#a93426));border-radius:4px}

/* 甲第标签 */
.kj-badge{display:inline-block;min-width:40px;padding:2px 8px;border-radius:4px;font:600 11px/1.6 var(--serif);text-align:center}
.b-zy{background:linear-gradient(135deg,#f5d98a,#d9a84e);color:#5c3a10;border:1px solid #c8903a}
.b-by{background:linear-gradient(135deg,#e8c98a,#c69a52);color:#4c3620;border:1px solid #b08440}
.b-th{background:linear-gradient(135deg,#d8b178,#a8773a);color:#3f2c14;border:1px solid #96682f}
.b-yj{background:#8a2a1e;color:#fff}
.b-ej{background:#a93426;color:#fff}
.b-sj{background:#d3c6ae;color:#5c5342}

/* 分页 */
.keju-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}
.keju-pager button{height:34px;padding:0 14px;border:1px solid #d8c6a2;border-radius:6px;background:#fff;color:var(--ink,#1f1a14);font:600 13px var(--serif);cursor:pointer}
.keju-pager button:hover:not(:disabled){border-color:var(--clan-red,#a93426);color:var(--clan-red,#a93426)}
.keju-pager button:disabled{opacity:.4;cursor:not-allowed}
.keju-pager .info{font:400 13px var(--serif);color:#8a6d3b}

/* 年代柱状图 */
.kj-dec-bars{display:flex;align-items:flex-end;gap:3px;height:180px;padding:8px 4px 0;background:#faf6ec;border:1px solid #efe6d2;border-radius:8px}
.kj-dec-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.kj-dec-col i{width:70%;max-width:26px;border-radius:3px 3px 0 0;display:block}
.kj-dec-col i.m{background:linear-gradient(180deg,#c8762e,#a93426)}
.kj-dec-col i.q{background:linear-gradient(180deg,#4a7a6e,#173a34)}
.kj-dec-col span{font:600 9px var(--serif);color:#8a6d3b;writing-mode:vertical-lr;transform:rotate(180deg)}
.kj-dec-legend{display:flex;gap:18px;justify-content:center;margin-top:10px;font:400 12px var(--serif);color:#5c5342}
.kj-dec-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.kj-dec-legend i.m{background:#a93426}
.kj-dec-legend i.q{background:#173a34}

/* 脚注 */
.keju-footnote{margin-top:18px;padding:12px 16px;background:#faf6ec;border:1px solid #efe6d2;border-radius:8px;font:400 12px/1.8 var(--serif);color:#7c6f5a}

/* ================= 姓氏宗亲网 · 科甲进士 ================= */
/* 宗亲网首页区块 */
.clan-keju-zone{margin:0 0 18px}
.clan-keju-zone>.wrap{background:linear-gradient(160deg,#fdf9f0,#f6ecd8);border:1px solid #e6d3ae;border-radius:12px;padding:26px 30px;box-shadow:0 4px 18px rgba(80,50,10,.07)}
.clan-keju-zone .section-head{margin:0 0 16px}
.clan-keju-zone .section-head .eyebrow{font:600 11px var(--serif);letter-spacing:.18em;color:var(--clan-red,#a93426)}
.clan-keju-zone .section-head h2{font:700 24px var(--serif);color:var(--ink,#1f1a14);margin:2px 0 0}
.clan-keju-grid{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:stretch}
.clan-keju-stats{display:grid;grid-template-columns:repeat(4,minmax(76px,1fr));gap:10px}
.clan-keju-stats>div{background:#fffdf7;border:1px solid #eadfc6;border-radius:10px;padding:14px 10px;text-align:center}
.clan-keju-stats strong{display:block;font:700 24px var(--serif);color:var(--clan-red,#a93426)}
.clan-keju-stats span{display:block;margin-top:4px;font:400 12px var(--serif);color:#7c6f5a}
.clan-keju-figs{background:#fffdf7;border:1px solid #eadfc6;border-radius:10px;padding:14px 16px;min-width:0}
.clan-keju-figs>b{display:block;font:600 13px var(--serif);color:var(--ink,#1f1a14);margin-bottom:10px}
.clan-keju-fig-row{display:flex;gap:8px;flex-wrap:wrap}
.clan-keju-fig{display:inline-flex;flex-direction:column;gap:2px;background:#f7f0e0;border:1px solid #e7d9bb;border-radius:8px;padding:8px 12px;font:700 15px var(--serif);color:var(--ink,#1f1a14)}
.clan-keju-fig small{font:400 11px var(--serif);color:#8a7a5c}
.clan-keju-note{margin:14px 0 0;font:400 12px/1.7 var(--serif);color:#8a7a5c}

/* 本姓进士榜页 */
.clan-keju-head .clan-keju-stats{margin-top:18px;max-width:560px}
.clan-keju-main{padding:0 0 46px}
.clan-keju-main .keju-search{margin:18px 0 6px}
.clan-keju-total{margin:4px 0 14px;font:400 13px var(--serif);color:#7c6f5a}
.clan-keju-total b{color:var(--clan-red,#a93426)}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
  .keju-block-body{grid-template-columns:1fr}
  .keju-hero h1{font-size:34px}
  .clan-keju-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .keju-block-head .btn{margin-left:0}
  .keju-mini{grid-template-columns:1fr}
  .keju-search{flex-wrap:wrap}
  .keju-search input{flex:1 1 100%}
  .keju-stats{gap:8px}
  .keju-stat{min-width:90px;padding:10px 14px}
  .keju-stat strong{font-size:19px}
  .keju-hero h1{font-size:28px}
  .kj-track{width:90px}
  .keju-table td,.keju-table th{padding:6px 8px;font-size:12px}
  .clan-keju-zone>.wrap{padding:18px 16px}
  .clan-keju-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.keju-hero{animation:none}}
