/* =========================================================
   AURAMOD — JOURNAL
   列表页 /journal.html 与详情页 /journal/<slug>.html 专用
   只在 journal 页引用，不影响其它页面
   ========================================================= */

/* ---------- 列表 ---------- */
.jgrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
  gap:26px;
}
.jcard{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  overflow:hidden;
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.jcard:hover{
  border-color:var(--gold-soft);
  box-shadow:0 18px 38px rgba(17,17,17,.07);
  transform:translateY(-2px);
}
.jcard-a{display:flex;flex-direction:column;height:100%}
.jcard-media{
  aspect-ratio:4/3;
  background:var(--surface-2,#F6F6F3);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.jcard-media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.jcard:hover .jcard-media img{transform:scale(1.03)}
.jcard-imgph{
  display:block;width:100%;height:100%;
  background:
    radial-gradient(60% 60% at 50% 45%,rgba(169,131,47,.12),transparent 70%),
    var(--surface-2,#F6F6F3);
}
.jcard-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.jcard-meta{
  display:flex;align-items:center;gap:9px;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim,#8A8A8A);margin-bottom:12px;
}
.jcard-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);display:inline-block}
.jcard-t{
  font-family:var(--display);
  font-size:19px;line-height:1.32;font-weight:600;
  letter-spacing:-.012em;color:var(--text);
  margin:0 0 10px;
}
.jcard-x{
  font-size:13.5px;line-height:1.65;color:var(--muted,#585858);
  margin:0 0 18px;
}
.jcard-more{
  margin-top:auto;
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--display);font-size:10.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2,#2B4132);
}
.jcard-more svg{width:14px;height:14px;transition:transform .22s}
.jcard:hover .jcard-more svg{transform:translateX(4px)}

/* 空态 */
.jempty{
  max-width:640px;
  padding:56px 0 40px;
  border-top:1px solid var(--line);
}
.jempty .h2{margin-bottom:14px}
.jempty .btn-row{margin-top:26px}

/* ---------- 详情 ---------- */
.jhero .in.narrow-in{max-width:860px}
.jhero{padding-bottom:52px}
.jhero .h1{max-width:720px}
.jhero-img{
  margin:0 0 44px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--surface-2,#F6F6F3);
}
.jhero-img img{
  width:100%;display:block;
  max-height:460px;object-fit:cover;object-position:center 45%;
}
.sec.jpost{padding-top:56px}
.jpost-in{max-width:700px;margin:0 auto}

.jbody{
  font-size:16.5px;
  line-height:1.82;
  color:#232323;
  margin-top:0;
}

.jbody > * + *{margin-top:22px}
.jbody p{margin:0}
.jbody h2{
  font-family:var(--display);
  font-size:clamp(22px,2.4vw,28px);
  line-height:1.26;letter-spacing:-.015em;
  margin:44px 0 0;
  color:var(--text);
}
.jbody h3{
  font-family:var(--display);
  font-size:18px;line-height:1.34;
  margin:32px 0 0;
  color:var(--text);
}
.jbody h2 + p,.jbody h3 + p{margin-top:12px}
.jbody a{color:var(--gold-2,#2B4132);border-bottom:1px solid var(--gold-soft)}
.jbody a:hover{color:var(--text);border-bottom-color:currentColor}
.jbody ul,.jbody ol{padding-left:22px;margin:0}
.jbody li{margin:8px 0}
.jbody blockquote{
  margin:32px 0;padding:4px 0 4px 24px;
  border-left:2px solid var(--gold);
  font-family:var(--serif);
  font-size:19px;line-height:1.6;
  color:var(--text);
}
.jbody blockquote p{margin:0}
.jbody figure{margin:34px 0}
.jbody figure img{border-radius:var(--radius);border:1px solid var(--line);width:100%}
.jbody figcaption{
  margin-top:10px;font-size:12.5px;color:var(--dim,#8A8A8A);
  letter-spacing:.01em;
}
.jbody img{border-radius:var(--radius);height:auto}
.jbody hr{
  border:0;border-top:1px solid var(--line);margin:40px 0;
}
.jbody code{
  font-size:13.5px;background:var(--surface-2,#F6F6F3);
  padding:2px 6px;border-radius:3px;
}
.jbody table{width:100%;border-collapse:collapse;font-size:14px}
.jbody th,.jbody td{
  border-bottom:1px solid var(--line);
  padding:11px 12px;text-align:left;vertical-align:top;
}
.jbody th{
  font-family:var(--display);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dim,#8A8A8A);
}

.jpost-foot{
  margin-top:54px;padding-top:26px;
  border-top:1px solid var(--line);
}
.jpost-foot .small{margin:0 0 20px}
.jpost-foot .btn-row{margin-top:0}

/* ---------- 响应式 ---------- */
@media(max-width:1000px){
  .jgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
}
@media(max-width:680px){
  .jgrid{grid-template-columns:1fr;gap:20px}
  .jcard-body{padding:18px 18px 16px}
  .jcard-t{font-size:17.5px}
  .jbody{font-size:16px;line-height:1.78}
  .jhero{padding-bottom:30px}
}
