@charset "utf-8";
/* === GNUboard Latest (Responsive Card Grid) === */
.pic_partial_lt{
  --max:1200px;
  --gap:16px;
  --radius:16px;
  --primary:#3a8afd;
  --text:#111;
  --muted:#667085;
  --line:#e9eef5;
  --bg:#fff;

  max-width:var(--max);
  margin:0 auto;
  padding:0 16px;
  box-sizing:border-box;
}

/* Title & More */
.pic_partial_lt .lat_title{
  display:block;
  line-height:45px;
  font-size:1.2em;
  color:#253dbe;
  position:relative;
  padding-right:56px;
}
.pic_partial_lt .lat_title a{color:#000; display:inline-block; position:relative; text-decoration:none;}
.pic_partial_lt .lat_title a:hover{color:var(--primary);}

.pic_partial_lt .lt_more{
  position:absolute; top:10px; right:0;
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:28px; border-radius:6px;
  color:var(--primary); background:#f3f7ff;
  font-size:12px; text-decoration:none;
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
.pic_partial_lt .lt_more:hover{transform:translateY(-1px); background:#e9f1ff;}

/* Grid */
.pic_partial_lt ul{
  list-style:none; margin:12px 0 0; padding:0;
  display:grid; grid-template-columns:1fr; gap:var(--gap);
}
.pic_partial_lt li{margin:0; padding:0;}

/* Card */
.pic_partial_lt figure.card{
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--bg);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease;
}
.pic_partial_lt figure.card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(58,138,253,.18);
}

/* Image */
.pic_partial_lt figure.card > a,
.pic_partial_lt figure.card > a img{display:block;}
.pic_partial_lt figure.card > a{position:relative;}
.pic_partial_lt figure.card > a img{
  width:100%; height:100%; object-fit:cover;
  aspect-ratio:4 / 3; /* 모바일 기본 비율 */
}

/* Caption */
.pic_partial_lt figure.card > figcaption{
  padding:14px 16px 16px;
  display:grid; gap:8px;
}
.pic_partial_lt figcaption h2{
  font-size:16px; font-weight:700; color:var(--text);
  line-height:1.4;
  /* 핵심 */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  /* 카드 높이 균일용 */
  min-height:calc(1.4em * 2);
  /* 한글 줄바꿈 자연스럽게 */
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.pic_partial_lt figcaption a{color:inherit; text-decoration:none;}
.pic_partial_lt figcaption a:hover{color:var(--primary);}
.pic_partial_lt figcaption p{
  font-size:13px; color:var(--muted); line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* Empty */
.pic_partial_lt .empty_li{
  line-height:145px; color:#666; text-align:center; padding:0;
  border:1px dashed var(--line); border-radius:12px; background:#fafbfd;
}

/* Comment badge */
.pic_partial_lt .lt_cmt{
  background:#e9eff5; color:var(--primary);
  font-size:11px; line-height:16px; height:16px;
  padding:0 6px; border-radius:3px; vertical-align:middle;
}

/* Breakpoints */
@media (min-width:640px){
  .pic_partial_lt ul{grid-template-columns:repeat(2, minmax(0,1fr));}
  .pic_partial_lt figure.card > a img{aspect-ratio:16 / 10;}
}
@media (min-width:1024px){
  .pic_partial_lt ul{grid-template-columns:repeat(3, minmax(0,1fr));}
  .pic_partial_lt figure.card > a img{aspect-ratio:16 / 9;}
}

/* Reduce motion respect */
@media (prefers-reduced-motion: reduce){
  .pic_partial_lt figure.card{transition:none;}
}

@supports (line-clamp: 2) {
  .pic_partial_lt figcaption h2{
    display:block;
    line-clamp:2;
  }
}

/* Utility reset inside */
.pic_partial_lt *, .pic_partial_lt *::before, .pic_partial_lt *::after{box-sizing:border-box;}
