/* ========== Responsive Latest (respon-lt-) ========== */

.respon-lt-wrap{
  /* 색상 토큰 */
  --lt-ink:#111;
  --lt-muted:#6b7280;
  --lt-line:#e6e7ea;
  --lt-brand:#3045a5;
  --lt-bg:#fff;

  /* 레이아웃 토큰 */
  --lt-date-col: clamp(72px, 16vw, 160px);
  --lt-arrow-col: clamp(20px, 2.5vw, 24px);

  /* ===== Typography scale (slightly larger) ===== */
  --fs-sec-title: clamp(30px, 3.4vw, 40px);
  --lh-sec-title: 1.25;

  --fs-sec-desc: clamp(18px, 1.8vw, 22px);
  --lh-sec-desc: 1.55;

  --fs-head: clamp(16px, 1.5vw, 19px);
  --lh-head: 1.5;

  --fs-body: clamp(14.5px, 1.3vw, 17px);
  --lh-body: 1.6;
}

/* list */
.respon-lt-list{
  list-style:none; margin:0; padding:0;
  border-top: 2px solid #31376a;
}
.respon-lt-item{border-bottom:1px solid var(--lt-line)}

/* row */
.respon-lt-row{
  display:grid; align-items:center; gap:10px 12px;
  grid-template-columns: minmax(10ch, var(--lt-date-col)) 1fr var(--lt-arrow-col);
  padding: clamp(12px, 2.2vw, 20px) clamp(4px, 1vw, 10px);
  text-decoration:none; color:var(--lt-ink); background:transparent;
}

/* date */
.respon-lt-date{
  font-size: var(--fs-head);
  line-height: var(--lh-head);
  font-weight: 500;
  letter-spacing: -0.05em;
  color: #7a8191;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* text */
.respon-lt-text{min-width:0; display:flex; flex-direction:column; gap:4px}
.respon-lt-title{
  font-size: var(--fs-sec-desc);
  line-height: var(--lh-sec-desc);
  font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.respon-lt-desc{
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: #9aa3b1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* arrow */
.respon-lt-arrow{
  color: var(--lt-muted);
  height: clamp(20px, 2.5vw, 24px);
  position: relative;
}

/* hover state */
.respon-lt-row:hover .respon-lt-title{color:var(--lt-brand)}
.respon-lt-row:hover .respon-lt-arrow{color:var(--lt-brand);}
.respon-lt-row:active .respon-lt-arrow{color:#000;}

/* empty */
.respon-lt-empty .respon-lt-empty-text{
  display:block;
  padding:16px 0;
  color:var(--lt-muted);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

/* view more */
.respon-lt-more-wrap{display:flex; justify-content:center; padding: clamp(24px, 4vw, 36px) 0}
.respon-lt-more{
  display:inline-block;
  padding: clamp(8px, 1.2vw, 10px) clamp(14px, 2vw, 18px);
  border:2px solid var(--lt-brand);
  border-radius:10px;
  color:var(--lt-brand);
  font-weight:700;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  text-decoration:none;
  background:var(--lt-bg);
}
.respon-lt-more:hover{background:rgba(48,69,165,.06)}

/* micro breakpoints */
@media (max-width:360px){
  .respon-lt-desc{display:none}
  .respon-lt-row{ grid-template-columns: minmax(11ch, 34vw) 1fr var(--lt-arrow-col); }
}
@media (min-width:768px){
  .respon-lt-row{gap:12px 16px}
}
@media (min-width:1200px){
  .respon-lt-wrap{ --lt-date-col: 160px; }
}

/* default button */
.def_btn {
    --stroke: var(--white);
    --fg: var(--white);
    --bg: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 12px;
    border: 2px solid var(--stroke);
    background: var(--bg);
    color: var(--fg);
    font: 700 var(--fs-head)/1.1 "Pretendard","Noto Sans KR",system-ui,-apple-system,sans-serif;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.def_btn.b_b{
  --stroke:#31376a;
  --fg:#31376a;
}
.def_btn.b_b:hover{
  background:#31376a;
  color:#fff;
  border-color:#31376a;
}
