/* 어드민 글쓰기형 게시판 (칼럼·Q&A·사례 / 신종사기) — 사이트 공통 스타일. 대표색은 .rs-board 의 --rs-accent 로 지정 */
.rs-board { --rs-accent:#31394c; --rs-soft:#eef0f4; --rs-line:#e3e5ea; --rs-text:#1d2330; --rs-sub:#5d6472; box-sizing:border-box; width:100%; max-width:1200px; margin:0 auto; padding:0 20px; color:var(--rs-text); font-size:16px; line-height:1.7; letter-spacing:-0.01em; word-break:keep-all; }
.rs-board *, .rs-board *:before, .rs-board *:after { box-sizing:border-box; }
.rs-board a { color:inherit; text-decoration:none; }
.rs-board img { max-width:100%; }

/* 제목 영역 */
.rs-head { text-align:center; margin:0 0 40px; }
.rs-head .rs-page-title { font-size:40px; line-height:1.25; font-weight:600; margin:0; color:#111; }


/* 카드 목록 */
.rs-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px 24px; margin:0; padding:0; list-style:none; }
.rs-list > li { margin:0; padding:0; list-style:none; }
.rs-card { display:flex; flex-direction:column; height:100%; border:1px solid var(--rs-line); border-radius:10px; overflow:hidden; background:#fff; transition:box-shadow .2s, transform .2s; }
.rs-card:hover { box-shadow:0 10px 28px rgba(20,26,40,.10); transform:translateY(-2px); }
.rs-card .rs-thumb { position:relative; display:block; aspect-ratio:16/10; background:var(--rs-soft); overflow:hidden; }
.rs-card .rs-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.rs-card .rs-thumb--txt { background:var(--rs-accent); }
.rs-card .rs-thumb .rs-thumb-txt { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 24px; text-align:center; font-size:17px; font-weight:500; line-height:1.45; color:rgba(255,255,255,.85); }
.rs-card .rs-thumb .rs-thumb-txt em { display:block; margin-bottom:6px; font-style:normal; font-size:24px; font-weight:700; letter-spacing:-0.01em; color:#fff; }
.rs-card .rs-body { display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.rs-card .rs-title { margin:0; font-size:19px; font-weight:600; line-height:1.45; color:#111; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rs-card .rs-sum { margin:8px 0 0; font-size:15px; color:var(--rs-sub); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.rs-card .rs-meta { margin-top:auto; padding-top:16px; font-size:14px; color:#8a909c; }
.rs-board .rs-dot { margin:0 7px; opacity:.6; }

.rs-empty { padding:80px 20px; border:1px dashed var(--rs-line); border-radius:10px; text-align:center; color:var(--rs-sub); font-size:17px; }

/* 페이지 번호 */
.rs-paging { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin:48px 0 0; }
.rs-paging a, .rs-paging strong { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 10px; border:1px solid var(--rs-line); border-radius:6px; font-size:15px; color:var(--rs-sub); background:#fff; }
.rs-paging a:hover { border-color:var(--rs-accent); color:var(--rs-accent); }
.rs-paging strong { background:var(--rs-accent); border-color:var(--rs-accent); color:#fff; font-weight:600; }

/* 상세 */
.rs-view { max-width:860px; margin:0 auto; }
.rs-crumb { font-size:14px; color:#8a909c; margin:0 0 6px; }
.rs-crumb a:hover { color:var(--rs-accent); }
.rs-crumb .rs-sep { margin:0 6px; }
.rs-view .rs-view-title { margin:12px 0 0; font-size:34px; line-height:1.4; font-weight:700; color:#111; }
.rs-view .rs-view-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 0; margin:16px 0 0; padding:0 0 22px; border-bottom:2px solid var(--rs-accent); font-size:15px; color:var(--rs-sub); }
.rs-view .rs-view-meta a { color:var(--rs-accent); font-weight:600; }
.rs-view .rs-lead { margin:28px 0 0; padding:20px 24px; border-left:4px solid var(--rs-accent); background:var(--rs-soft); font-size:17px; line-height:1.75; color:#2b3140; }
.rs-content { margin:32px 0 0; font-size:17px; line-height:1.85; color:#222; overflow-wrap:anywhere; }
.rs-content p { margin:0 0 1em; }
.rs-content h2 { margin:1.8em 0 .7em; font-size:25px; line-height:1.45; font-weight:700; color:#111; }
.rs-content h3 { margin:1.6em 0 .6em; font-size:21px; line-height:1.5; font-weight:700; color:#111; }
.rs-content h4 { margin:1.4em 0 .5em; font-size:18px; font-weight:700; }
.rs-content ul, .rs-content ol { margin:0 0 1em; padding-left:1.4em; }
.rs-content ul li { list-style:disc; }
.rs-content ol li { list-style:decimal; }
.rs-content blockquote { margin:1.2em 0; padding:14px 20px; border-left:4px solid var(--rs-line); background:#fafbfc; color:#444; }
.rs-content img { height:auto !important; max-width:100% !important; }
.rs-content table { width:100% !important; border-collapse:collapse; margin:1em 0; font-size:15px; }
.rs-content table td, .rs-content table th { border:1px solid var(--rs-line); padding:8px 10px; }
.rs-content a { color:var(--rs-accent); text-decoration:underline; }
.rs-tags { display:flex; flex-wrap:wrap; gap:8px; margin:36px 0 0; padding:0; list-style:none; }
.rs-tags li { list-style:none; margin:0; padding:5px 12px; border-radius:999px; background:var(--rs-soft); color:var(--rs-sub); font-size:14px; }

/* 담당 변호사 */
.rs-lawyer { display:flex; align-items:center; gap:20px; margin:40px 0 0; padding:22px 24px; border:1px solid var(--rs-line); border-radius:10px; }
.rs-lawyer .rs-lawyer-photo { flex:0 0 84px; width:84px; height:84px; border-radius:50%; overflow:hidden; background:var(--rs-soft); }
.rs-lawyer .rs-lawyer-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.rs-lawyer .rs-lawyer-label { font-size:13px; color:#8a909c; }
.rs-lawyer .rs-lawyer-name { margin:2px 0 0; font-size:20px; font-weight:700; color:#111; }
.rs-lawyer .rs-lawyer-name span { margin-left:6px; font-size:15px; font-weight:500; color:var(--rs-sub); }
.rs-lawyer .rs-lawyer-link { display:inline-block; margin-top:6px; font-size:14px; color:var(--rs-accent); font-weight:600; }

/* 상담 안내 */
.rs-cta { margin:40px 0 0; padding:30px 28px; border-radius:10px; background:var(--rs-accent); color:#fff; text-align:center; }
.rs-cta .rs-cta-tit { margin:0; font-size:22px; font-weight:700; line-height:1.45; }
.rs-cta .rs-cta-txt { margin:8px 0 0; font-size:16px; opacity:.85; }
.rs-cta .rs-cta-btns { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.rs-cta .rs-cta-btns a { display:inline-block; min-width:180px; padding:12px 22px; border-radius:6px; font-size:16px; font-weight:700; }
.rs-cta .rs-btn-tel { background:#fff; color:var(--rs-accent); }
.rs-cta .rs-btn-online { border:1px solid rgba(255,255,255,.7); color:#fff; }

/* 이전·다음 */
.rs-nav { margin:44px 0 0; border-top:1px solid var(--rs-line); padding:0; list-style:none; }
.rs-nav li { display:flex; gap:16px; margin:0; padding:15px 4px; border-bottom:1px solid var(--rs-line); list-style:none; font-size:15px; }
.rs-nav li .rs-nav-lb { flex:0 0 56px; color:#8a909c; }
.rs-nav li a { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#333; }
.rs-nav li a:hover { color:var(--rs-accent); }
.rs-nav li .rs-none { color:#aaa; }
.rs-btns { display:flex; justify-content:center; gap:10px; margin:32px 0 0; }
.rs-btns a { display:inline-block; min-width:140px; padding:12px 24px; border:1px solid var(--rs-accent); border-radius:6px; text-align:center; font-size:16px; font-weight:600; color:var(--rs-accent); }
.rs-btns a:hover { background:var(--rs-accent); color:#fff; }
.rs-btns a.rs-admin { border-color:#999; color:#666; }

@media (max-width:1024px) {
    .rs-list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px) {
    .rs-board { padding:0 16px; font-size:15px; }
    .rs-head { margin-bottom:28px; }
    .rs-head .rs-page-title { font-size:28px; }
    .rs-list { grid-template-columns:1fr; gap:18px; }
    .rs-card .rs-thumb--txt { display:none; }   /* 모바일: 이미지 없는 글은 대체 타일 생략 */
    .rs-card .rs-title { font-size:18px; }
    .rs-view .rs-view-title { font-size:25px; }
    .rs-content { font-size:16px; }
    .rs-content h2 { font-size:21px; }
    .rs-content h3 { font-size:19px; }
    .rs-lawyer { padding:18px; gap:14px; }
    .rs-lawyer .rs-lawyer-photo { flex-basis:64px; width:64px; height:64px; }
    .rs-cta { padding:24px 18px; }
    .rs-cta .rs-cta-tit { font-size:19px; }
    .rs-cta .rs-cta-btns a { min-width:0; width:100%; }
    .rs-nav li .rs-nav-lb { flex-basis:44px; }
}
