/*==========================================================================
  Kangnam Times — 카테고리/아카이브 (상단 band + 피처드 3(전체폭) + 세로 리스트)
==========================================================================*/

/* 좌측 본문 폭: 컨테이너 1392 - gap 48 - 사이드바 324 = 1020 */
@media screen and (min-width:840px){
  .category .left-wrap.left-696{ width:1020px !important; min-width:1020px !important; }
}

/* ---- 상단 band ---- */
.category .left-wrap{ position:relative; }
.cat-head{ position:relative; text-align:center; padding:40px 0 26px; margin-bottom:30px;
  border-bottom:1px solid var(--np-line); overflow:hidden; }
.cat-head .cat-breadcrumb{ font-size:1.3rem; color:var(--np-gray); margin-bottom:16px; position:relative; z-index:1; }
.cat-head .cat-breadcrumb a{ color:var(--np-gray); text-decoration:none; }
.cat-head .cat-breadcrumb a:hover{ color:var(--np-navy); }
.cat-head .cat-breadcrumb span{ margin:0 6px; }
.cat-head h1{ font-size:6rem; font-weight:900; color:var(--np-navy); line-height:1.05;
  margin:0 0 20px; position:relative; z-index:1; letter-spacing:-0.02em; }
.cat-head::before{ content:"江南"; position:absolute; top:50%; right:12px; transform:translateY(-50%);
  font-size:10rem; font-weight:900; color:rgba(1,23,94,.05); line-height:1; pointer-events:none; z-index:0; }
.cat-subtabs{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:4px 0; justify-content:center; align-items:center; }
.cat-subtabs a{ font-size:1.6rem; font-weight:700; color:#222; padding:2px 18px; text-decoration:none; }
.cat-subtabs a + a{ border-left:1px solid var(--np-line); }
.cat-subtabs a:hover{ color:var(--np-navy); }
.cat-subtabs a.active{ color:var(--np-point); }

/* ---- 최상단 피처드 3개 (정사각 이미지 + 오버레이) ---- */
.cat-featured{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:34px; }
.feat-card{ position:relative; overflow:hidden; }
.feat-card .img-box{ position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:#eee; }
.feat-card .img-box img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:none;
  transition:transform .45s ease; }
.feat-card:hover .img-box img{ transform:scale(1.1) !important; }
.feat-card > a{ position:absolute; inset:0; z-index:3; }
.feat-card::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(transparent 40%, rgba(0,0,0,.8)); pointer-events:none; }
/* 라벨 + 제목을 하단에 스택 (제목 여러 줄이어도 라벨과 안 겹침) */
.feat-text{ position:absolute; left:16px; right:16px; bottom:16px; z-index:2; }
.feat-text .cat-label.pill{ display:inline-block; margin-bottom:10px; font-size:1.2rem; }
.feat-title{ display:block; color:#fff; font-size:2.1rem; font-weight:700; line-height:1.35;
  font-family:'Noto Serif JP',serif !important;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ---- 세로 리스트 (썸네일 좌 + 텍스트 우) ---- */
.cat-list{ display:block; margin:0; padding:0; list-style:none; }
.list-card{ position:relative; display:flex; gap:24px; align-items:flex-start;
  padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--np-line); }
.list-card > a{ position:absolute; inset:0; z-index:3; }
.list-card .img-box{ position:relative; flex:0 0 300px; width:300px; aspect-ratio:16/10; overflow:hidden; background:#eee; }
.list-card .img-box img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:none;
  transition:transform .45s ease; }
.list-card:hover .img-box img{ transform:scale(1.1) !important; }
.list-card .list-text{ flex:1; min-width:0; }
.list-card .cat-label{ display:block; margin-bottom:6px; }
.list-card .title{ font-size:2.1rem; font-weight:700; line-height:1.4; color:#141414;
  font-family:'Noto Serif JP',serif !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.list-card .date{ display:block; color:var(--np-gray); font-size:1.25rem; margin:8px 0; }
.list-card .preview{ color:#666; font-size:1.4rem; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ---- 페이지네이션 ---- */
.pagenation{ margin-top:30px; text-align:center; }
.pagenation a, .pagenation .page-numbers{ border:1px solid var(--np-line); }
.pagenation a.current, .pagenation .current.current{ color:#fff !important; background:var(--np-navy); border-color:var(--np-navy) !important; }

/* ---- 모바일 ---- */
@media screen and (max-width:840px){
  .category .left-wrap.left-696{ width:auto !important; min-width:0 !important; }
  .cat-featured{ grid-template-columns:1fr; }
  .list-card{ flex-direction:column; gap:10px; }
  .list-card .img-box{ flex:none; width:100%; }
}

/*==========================================================================
  author archive / search / 404 (카테고리 리스트 스타일 재사용)
==========================================================================*/
.cat-empty{ padding:40px 0; color:var(--np-gray); font-size:1.5rem; text-align:center; }

/* ---- 작성자 아카이브 헤더 ---- */
.author-head .author-head-profile{ position:relative; z-index:1; }
.author-head .author-thumb{ margin:0 auto 14px; width:72px; height:72px; }
.author-head .author-thumb img{ width:72px; height:72px; border-radius:50%; object-fit:cover; background:#fff; border:1px solid var(--np-line); }
.author-head .author-count{ margin:8px 0 0; font-size:1.4rem; color:var(--np-point); font-weight:700; }
.author-head .author-bio{ margin:12px auto 0; max-width:680px; font-size:1.4rem; line-height:1.7; color:#666; }

/* ---- 검색 헤더 / 결과 없음 ---- */
.search-head h1{ font-size:4.4rem; }
.search-head .search-count{ margin:6px 0 0; font-size:1.4rem; color:var(--np-point); font-weight:700; }
.search-no-result{ padding:30px 0 60px; text-align:center; }
.search-no-result .nr-lead{ font-size:1.9rem; font-weight:700; color:#222; margin:0 0 22px; }
.search-no-result .nr-form{ display:flex; justify-content:center; gap:0; margin:0 auto 20px; max-width:460px; }
.search-no-result .nr-form input{ flex:1; height:46px; padding:0 14px; font-size:1.5rem; border:1px solid var(--np-line); border-right:none; outline:none; }
.search-no-result .nr-btn{ flex:0 0 auto; height:46px; padding:0 26px; background:var(--np-navy); color:#fff; border:none; font-weight:700; font-size:1.4rem; cursor:pointer; }
.search-no-result .nr-btn:hover{ background:var(--np-point); }
.search-no-result .nr-tips{ list-style:none; margin:0; padding:0; color:var(--np-gray); font-size:1.35rem; line-height:1.9; }

/* ---- 404 ---- */
.error-404{ margin-left:auto; margin-right:auto; padding:60px 0 70px; }
.error-404 .error-hero{ text-align:center; padding:20px 0 50px; border-bottom:1px solid var(--np-line); margin-bottom:44px; }
.error-404 .err-code{ display:block; font-size:9rem; font-weight:900; line-height:1; color:var(--np-navy); letter-spacing:-0.02em; }
.error-404 .err-code::after{ content:""; display:block; width:60px; height:4px; background:var(--np-point); margin:18px auto 0; }
.error-404 .err-title{ margin:26px 0 12px; font-size:2.6rem; font-weight:900; color:#111; }
.error-404 .err-desc{ font-size:1.5rem; line-height:1.8; color:#666; margin:0 0 26px; }
.error-404 .err-btn{ display:inline-block; padding:13px 40px; background:var(--np-navy); color:#fff; font-weight:700; font-size:1.5rem; text-decoration:none; border-radius:2px; }
.error-404 .err-btn:hover{ background:var(--np-point); }
.error-404 .err-h{ text-align:center; font-size:2.4rem; font-weight:900; color:var(--np-navy); margin:0 0 26px; position:relative; padding-bottom:10px; }
.error-404 .err-h::after{ content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:70px; height:3px; background:var(--np-point); }
.error-404 .err-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.error-404 .err-card .img-box{ display:block; position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; background:#eee; height:auto; }
.error-404 .err-card .img-box img{ position:absolute; inset:0; top:0; left:0; width:100%; height:100%; object-fit:cover; transform:none; }
.error-404 .err-card .cat-label{ display:block; margin:10px 0 4px; color:var(--np-point); font-weight:700; }
.error-404 .err-card .t{ display:block; font-family:'Noto Serif JP',serif; font-size:1.55rem; font-weight:700; line-height:1.4; color:#141414; text-decoration:none;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.error-404 .err-card .t:hover{ color:var(--np-navy); }

@media screen and (max-width:840px){
  .error-404 .err-grid{ grid-template-columns:1fr 1fr; }
  .error-404 .err-code{ font-size:6.5rem; }
  .search-head h1{ font-size:3rem; }
}
