/* ============================================================
   templates/board_list_v1/view.css — 게시판 목록(카드형)
   _SimpleERP의 listMyOrders.php 카드형 리스트가 현장직/모바일에서 크게 호평받은
   패턴(feedback_simpleerp_card_list_style 참고)이라, 공개 게시판도 표(Tabulator)
   대신 카드형으로 — 방문자 다수가 모바일이라는 점도 같은 이유.
   ============================================================ */
:root{
  --navy:#1f3760; --blue:#5b8fd6; --sky:#dbe8f8; --bg:#f4f2ed; --ink:#1b2b4b; --sub:#6b7690; --line:#e4e0d6; --red:#e8492a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

.topbar{background:#fff;border-bottom:1px solid var(--line);padding:16px 0}
.topbar .wrap{display:flex;align-items:center;gap:12px}
.topbar .brand{font-weight:800;color:var(--navy);text-decoration:none}
.btn{border:0;border-radius:999px;padding:9px 18px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block}
.btn-primary{background:var(--navy);color:#fff}

.list-wrap{padding-top:28px;padding-bottom:60px}
.list-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0 0 18px;display:flex;align-items:center;gap:10px}
.empty{padding:60px 0;text-align:center;color:var(--sub)}

/* 게시판 상단/하단 배너이미지("일반게시판관리" 설정, 2026-09-24) */
.board-banner{display:block;width:100%;max-width:100%;border-radius:16px}
.board-banner-top{margin-bottom:18px}
.board-banner-bottom{margin-top:24px}

/* ── 텍스트형(썸네일 없음/작은 썸네일) 카드 ── */
.post-card{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;align-items:center}
.post-card .thumb{background-color:#dbe8f8;background-size:cover;background-position:center}
.post-card .thumb-sm{width:76px;height:76px;flex-shrink:0;border-radius:12px}
.post-card .body{min-width:0;flex:1}
.post-card .title{font-weight:700;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 4px}
.post-card .meta{font-size:12.5px;color:var(--sub)}

/* ── 갤러리형(이미지만 / 이미지+제목·시간) — 2026-09-23 추가 ── */
.grid-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.grid-card .thumb{position:relative;aspect-ratio:4/3;background-color:#dbe8f8;background-size:cover;background-position:center}
.grid-card .play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.grid-cap{padding:10px 12px}
.grid-cap .title{font-weight:700;font-size:14px;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid-cap .meta{font-size:12px;color:var(--sub)}
/* 유튜브형 그리드 캡션 전용(2026-09-24, Benny: "제목/말씀/설교자로 여긴 사이즈때문에
   별개의 줄이 좋을 것 같아") — 카드가 좁아서(3열) 한 줄에 "|"로 합치면 답답해짐. */
.grid-cap .meta-stack{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--sub)}

.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:20px}
.pagination .pg-gap{color:var(--ink);opacity:.5;padding:0 2px}
.pagination a{border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--ink);background:#fff}
.pagination a.active{background:var(--navy);color:#fff;border-color:var(--navy)}

/* 웹진형(주보·목회서신 등 세로 이미지, 2026-10-05): 카드를 세로형(2:3)으로 — 가로 4칸, 태블릿 3칸, 모바일 2칸 */
.grid-list.wz-portrait{grid-template-columns:repeat(4,1fr)}
.grid-list.wz-portrait .grid-card .thumb{aspect-ratio:2/3}
@media(max-width:820px){.grid-list.wz-portrait{grid-template-columns:repeat(3,1fr)}}

@media(max-width:480px){
  .post-card .thumb-sm{width:60px;height:60px}
  .grid-list,.grid-list.wz-portrait{grid-template-columns:repeat(2,1fr)}
}

/* 목록 검색(2026-10-20) */
.list-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}
.list-search select,.list-search input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}
.list-search input[type=search]{flex:1 1 160px;min-width:0}
.list-search .ls-dates{display:flex;align-items:center;gap:4px;color:var(--sub)}
.list-search .ls-dates input{padding:7px 8px;font-size:13px}
.list-search .btn{padding:8px 18px}
.list-search .ls-reset{font-size:13px;color:var(--sub);text-decoration:underline}
@media(max-width:560px){.list-search .ls-dates{flex:1 1 100%}.list-search .ls-dates input{flex:1;min-width:0}}
