/* =========================================================
   ANYAHA 리디자인 테마 (analogy-book 톤) - 2026
   마룬 + 스톤 + 골드 / Noto Serif KR(제목) + Noto Sans KR(본문)
   PC/모바일 반응형
   ========================================================= */
:root{
  --maroon:#7f1d1d; --maroon-d:#450a0a; --red:#dc2626;
  --gold:#fbbf24; --gold-soft:#fef3c7; --gold-line:#fde68a;
  --ink:#1c1917; --stone:#57534e; --muted:#78716c; --faint:#a8a29e;
  --line:#e7e5e4; --bg:#fafaf9; --bg2:#f5f5f4; --rose:#fef2f2; --white:#fff;
  --serif:"Noto Serif KR","Nanum Myeongjo",Georgia,serif;
  --sans:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --wrap:1120px; --radius:14px;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html,body{margin:0; padding:0;}
body{font-family:var(--sans); color:var(--ink); background:var(--bg); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px;}
h1,h2,h3{font-family:var(--serif); font-weight:700; letter-spacing:-.01em; margin:0;}

/* ===== 헤더 ===== */
.t-hd{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); backdrop-filter:saturate(160%) blur(6px); border-bottom:1px solid var(--line);}
.t-hd .in{display:flex; align-items:center; justify-content:space-between; height:68px;}
.t-logo{display:flex; align-items:center; flex:1; min-width:0;}
.t-logo .logo-link{display:inline-flex; align-items:center; gap:9px;}
.t-logo .logo-ico{width:30px; height:30px; flex:none;}
.t-logo .logo-ico svg{display:block; width:100%; height:100%;}
.t-logo .logo-txt{display:flex; flex-direction:column; line-height:1.15;}
.t-logo .nm{font-family:var(--sans); font-weight:800; font-size:18px; color:var(--maroon); letter-spacing:.14em;}
.t-logo .tag{font-size:11.5px; color:var(--muted); letter-spacing:0;}
.t-nav{display:flex; align-items:center; gap:13px; flex:1; justify-content:flex-end;}
.t-nav a{font-size:13px; color:var(--stone)!important; font-weight:500; white-space:nowrap;}
.t-nav a:hover{color:var(--maroon)!important;}
.t-nav .me{color:var(--maroon)!important; font-weight:700;}
.t-burger{display:none; background:none; border:0; font-size:26px; color:var(--maroon); cursor:pointer;}
/* 자매 사이트(ANYTHINK) - 2줄 컴팩트 외부링크 버튼 */
a.sibling{display:inline-flex; flex-direction:column; align-items:flex-start; gap:1px; border:1px solid var(--maroon); border-radius:9px; padding:5px 11px; background:#fff; color:var(--maroon)!important; line-height:1.2;}
a.sibling b{color:var(--maroon); font-weight:800; font-size:13px;}
a.sibling b:after{content:" \2197"; font-size:11px;}
a.sibling .s-desc{color:var(--stone); font-weight:500; font-size:11px; white-space:nowrap;}
a.sibling:hover{background:var(--maroon); color:#fff!important;}
a.sibling:hover b, a.sibling:hover .s-desc, a.sibling:hover b:after{color:#fff;}
/* 헤더 검색 + 카테고리바 (공통 top.html용) */
.hd-search{display:flex; gap:6px; flex:0 1 340px; margin:0 16px;}
.hd-search input{flex:1; min-width:0; height:42px; border:1px solid #d6d3d1; border-radius:9px; padding:0 14px; font-size:14px; font-family:var(--sans);}
.hd-search button{height:42px; padding:0 18px; border:0; border-radius:9px; background:var(--maroon); color:#fff; font-weight:700; font-size:14px; cursor:pointer;}
.t-cat{background:var(--maroon); border-bottom:2px solid var(--gold);}
.t-cat .in{display:flex; flex-wrap:wrap; justify-content:center; gap:2px 4px; padding:0;}
.t-cat a{color:rgba(255,255,255,.92)!important; font-size:14px; font-weight:500; padding:11px 13px; white-space:nowrap;}
.t-cat a:hover{color:var(--gold)!important; background:rgba(0,0,0,.15);}
@media (max-width:760px){
  .hd-search{display:none;}
  .t-cat .in{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;}
}

/* ===== 히어로 + 검색 ===== */
.hero{background:radial-gradient(130% 130% at 50% -5%, #8c2424 0%, #6d1818 38%, #4a0f0f 74%, #380a0a 100%); border-bottom:3px solid var(--gold);}
.hero .in{padding:76px 0 68px; text-align:center;}
.hero .eyebrow{display:inline-block; font-size:13px; font-weight:600; letter-spacing:.22em; color:var(--gold); background:none; border:0; padding:0;}
.hero h1{font-family:var(--serif); font-size:38px; line-height:1.3; margin:20px 0 16px; color:#fff; font-weight:700; letter-spacing:-.5px;}
.hero h1 b{color:var(--gold); font-weight:700;}
.hero p{font-size:17px; color:rgba(255,255,255,.8); margin:0 0 34px; letter-spacing:.01em;}
.hero .searchbox{max-width:720px; margin:0 auto; display:flex; gap:10px; background:#fff; border:2px solid var(--gold); border-radius:14px; padding:8px; box-shadow:0 16px 44px rgba(0,0,0,.28);}
.hero .searchbox input{flex:1; min-width:0; border:0; outline:0; font-size:17px; padding:0 14px; background:transparent;}
.hero .searchbox button{border:0; background:var(--maroon); color:#fff; font-weight:700; font-size:16px; padding:0 26px; height:50px; border-radius:10px; cursor:pointer;}
.hero .searchbox button:hover{background:var(--maroon-d);}

/* ===== 섹션 공통 ===== */
.section{padding:54px 0;}
.section .head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:26px;}
.section .head h2{font-size:27px; color:var(--ink);}
.section .head .more{font-size:14px; color:var(--muted);}
.section .head .more:hover{color:var(--maroon);}

/* ===== 카테고리 카드 그리드 ===== */
.cards{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.card{display:block; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px 20px; transition:.18s; position:relative; overflow:hidden;}
.card:hover{border-color:var(--maroon); box-shadow:0 12px 28px rgba(28,25,23,.08); transform:translateY(-2px);}
.card .card-top{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.card .ic{width:42px; height:42px; border-radius:11px; background:var(--rose); color:var(--maroon); display:flex; align-items:center; justify-content:center; font-size:21px; border:1px solid var(--gold-line); flex:none;}
.card .ti{font-family:var(--serif); font-weight:700; font-size:18px; color:var(--ink);}
.card .de{font-size:13px; color:var(--muted); line-height:1.5;}
.card .arr{position:absolute; right:16px; top:20px; color:var(--gold); opacity:0; transition:.18s;}
.card:hover .arr{opacity:1; right:14px;}

/* ===== 분야별 서식 블록(메인) ===== */
.cat-blocks{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.cat-block{border:1px solid var(--line); border-radius:14px; padding:20px 22px; background:#fff; min-width:0;}
.cat-block .cb-head{display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid var(--maroon); padding-bottom:10px; margin-bottom:8px;}
.cat-block .cb-ti{font-family:var(--serif); font-size:18px; font-weight:700; color:var(--ink);}
.cat-block .cb-ti:hover{color:var(--maroon);}
.cat-block .cb-more{font-size:13px; color:var(--muted);}
.cat-block .cb-more:hover{color:var(--maroon);}
.cat-block .cb-doc{display:block; padding:9px 0; font-size:14.5px; color:#444; border-bottom:1px dashed var(--line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cat-block .cb-doc:last-child{border-bottom:0;}
.cat-block .cb-doc:hover{color:var(--maroon);}
.cat-block .cb-doc:before{content:"\B7"; color:var(--gold); font-weight:700; margin-right:6px;}
@media (max-width:760px){ .cat-blocks{grid-template-columns:1fr;} }


/* ===== 로그인/CTA 박스 ===== */
.panel{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px;}
.panel.cta{background:linear-gradient(135deg,var(--maroon),var(--maroon-d)); color:#fff; border:0;}
.login-grid{display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:center;}
.login-grid input{height:48px; border:1px solid #d6d3d1; border-radius:10px; padding:0 14px; font-size:15px;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 22px; border:0; border-radius:10px; font-weight:700; font-size:15px; cursor:pointer; font-family:var(--sans);}
.btn-maroon{background:var(--maroon); color:#fff;} .btn-maroon:hover{background:var(--maroon-d);}
.btn-gold{background:var(--gold); color:var(--maroon-d);} .btn-gold:hover{background:#f0b417;}
.btn-line{background:#fff; color:var(--maroon); border:1.5px solid var(--maroon);}
.btn-ghost{background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.4);}
.btn-block{display:flex; width:100%;}

/* ===== 푸터 ===== */
.t-ft{background:#450a0a; color:#c9b4ae; margin-top:30px; border-top:1px solid rgba(251,191,36,.25);}
.t-ft .in{padding:40px 0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px;}
.t-ft .nm{display:inline-flex; align-items:center; gap:8px;}
.t-ft .nm .fico{width:26px; height:26px; flex:none;}
.t-ft .nm .fico svg{display:block; width:100%; height:100%;}
.t-ft .nm .fnm{font-family:var(--sans); font-weight:800; font-size:18px; color:var(--gold); letter-spacing:.14em;}
.t-ft .info{font-size:13px; line-height:1.9;}
.t-ft a{color:#d6d3d1;} .t-ft a:hover{color:#fff;}
.t-ft .cs{font-size:13px;} .t-ft .cs .num{font-family:var(--serif); font-size:24px; color:#fff;}

/* ===== 문서 목록 페이지 ===== */
.clist{text-align:left; padding:6px 0 20px;}
.submenu{display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 20px; padding-bottom:18px; border-bottom:1px solid var(--line);}
.submenu a{font-size:14px; color:var(--stone); padding:8px 15px; border:1px solid var(--line); border-radius:20px; background:#fff;}
.submenu a:hover{border-color:var(--maroon); color:var(--maroon);}
.submenu a.on{background:var(--maroon); color:#fff; border-color:var(--maroon); font-weight:700;}
@media (max-width:680px){ .submenu{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;} .submenu a{white-space:nowrap;} }
.clist-head{display:flex; align-items:baseline; gap:12px; border-bottom:2px solid var(--maroon); padding-bottom:14px;}
.clist-head h1{font-size:27px; color:var(--ink);}
.clist-head .cnt{font-size:14px; color:var(--muted);}
.sorttabs{display:flex; gap:8px; padding:16px 0;}
.sorttabs a{font-size:14px; color:var(--stone); padding:7px 16px; border:1px solid var(--line); border-radius:20px; background:#fff;}
.sorttabs a.on{background:var(--maroon); color:#fff; border-color:var(--maroon); font-weight:700;}
.doc-list{border-top:1px solid var(--line);}
.doc-row{display:flex; align-items:center; gap:14px; padding:17px 8px; border-bottom:1px solid var(--line); transition:.12s;}
.doc-row:hover{background:var(--bg2);}
.doc-row .d-cat{flex:none; width:118px; font-size:12px; color:var(--maroon); font-weight:700;}
.doc-row .d-ti{flex:1; font-size:16px; color:var(--ink); font-family:var(--serif); font-weight:400;}
.doc-row:hover .d-ti{color:var(--maroon);}
.doc-row .d-dt{flex:none; font-size:13px; color:var(--faint);}
.empty-box{text-align:center; padding:60px 0; color:var(--muted);}
.pager{display:flex; justify-content:center; gap:6px; flex-wrap:wrap; padding:28px 0 10px;}
.pager a,.pager span{min-width:38px; height:38px; line-height:38px; text-align:center; border:1px solid var(--line); border-radius:9px; font-size:14px; background:#fff; padding:0 8px;}
.pager .on{background:var(--maroon); color:#fff; border-color:var(--maroon); font-weight:700;}
@media (max-width:680px){
  .clist-head h1{font-size:22px;}
  .doc-row{flex-wrap:wrap; gap:4px 10px; padding:14px 6px;}
  .doc-row .d-cat{width:auto; order:1;}
  .doc-row .d-dt{order:2; margin-left:auto;}
  .doc-row .d-ti{order:3; flex:1 0 100%; font-size:15px;}
}

/* ===== 문서 상세 페이지 ===== */
.vwrap{text-align:left; max-width:880px;}
.v-bc{font-size:13px; color:var(--maroon); font-weight:700; margin-bottom:10px;}
.v-title{font-size:30px; color:var(--ink); line-height:1.32;}
.v-meta{margin-top:12px; display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:18px;}
.v-sec{margin-top:26px;}
.v-sec h3{font-size:17px; color:var(--ink); margin-bottom:12px; padding-left:10px; border-left:3px solid var(--gold);}
.v-preview{text-align:center;}
.v-preview img{max-width:212px; height:auto; border:1px solid var(--line); border-radius:8px; box-shadow:0 6px 20px rgba(28,25,23,.07);}
/* 기본값만 지정(강제 X) — 에디터에서 지정한 스타일이 그대로 보이도록 */
.v-body{font-family:var(--sans); font-size:15.5px; line-height:1.85; color:#3a3a3a; word-break:keep-all; overflow-wrap:break-word;}
.v-body img{max-width:100%; height:auto;}
.v-body a{color:var(--maroon);}
.v-body table{max-width:100%;}
.v-act{margin-top:36px; padding:26px; background:var(--bg2); border:1px solid var(--line); border-radius:14px; text-align:center;}
.v-act .note{font-size:13px; color:var(--muted); margin-bottom:16px; line-height:1.7;}
.v-act .btnrow{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
.v-act .btn{min-width:220px;}
@media (max-width:680px){
  .v-title{font-size:23px;}
  .v-act{padding:18px;}
  .v-act .btn{min-width:0; flex:1;}
}

/* ===== 로그인 / 인증 ===== */
.auth{max-width:440px; margin:40px auto; text-align:left;}
.auth h1{font-size:27px; text-align:center; margin-bottom:6px;}
.auth .sub{text-align:center; color:var(--muted); font-size:14px; margin-bottom:24px;}
.auth .fld{margin-bottom:12px;}
.auth .fld input{width:100%; height:50px; border:1px solid #d6d3d1; border-radius:10px; padding:0 16px; font-size:16px;}
.auth .links{display:flex; justify-content:center; gap:18px; margin-top:18px; font-size:14px; color:var(--muted);}
.auth .links a:hover{color:var(--maroon);}

/* ===== 마이페이지 ===== */
.mp{max-width:760px; margin:10px auto; text-align:left;}
.mp h1{font-size:26px; margin-bottom:18px;}
.mp h1 b{color:var(--maroon);}
.mp .pass{padding:22px 24px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--maroon),var(--maroon-d)); margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;}
.mp .pass .big{font-family:var(--serif); font-size:20px; font-weight:700;}
.mp .pass .dt{opacity:.85; font-size:14px; margin-top:4px;}
.mp .info{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff;}
.mp .info .row{display:flex; padding:15px 18px; border-bottom:1px solid var(--line); font-size:15px;}
.mp .info .row:last-child{border-bottom:0;}
.mp .info .row .lb{width:120px; color:var(--muted); flex:none;}
.mp .info .row .vl{flex:1; font-weight:600; word-break:break-all;}
.mp .acts{display:flex; gap:10px; margin-top:18px; flex-wrap:wrap;}
.mp .pass, .mp .pass .big{color:#fff !important;}
.mp .pass .dt{color:#fff !important; opacity:.9;}
.mp .acts .btn-maroon{color:#fff !important;}
@media (max-width:680px){ .mp .info .row .lb{width:88px;} .mp .acts .btn{flex:1;} }

/* ===== 회원가입 폼 ===== */
.join{max-width:560px; margin:30px auto; text-align:left;}
.join h1{font-size:27px; text-align:center; margin-bottom:6px;}
.join .sub{text-align:center; color:var(--muted); font-size:14px; margin-bottom:26px;}
.join .row{margin-bottom:16px;}
.join label{display:block; font-size:14px; font-weight:700; color:var(--stone); margin-bottom:6px;}
.join input[type=text], .join input[type=password]{width:100%; height:48px; border:1px solid #d6d3d1; border-radius:10px; padding:0 14px; font-size:15px;}
.join .id-row{display:flex; gap:8px;}
.join .id-row input{flex:1;}
.join .id-row button{flex:none; height:48px; padding:0 16px; border:0; border-radius:10px; background:var(--stone); color:#fff; font-weight:700; cursor:pointer; font-size:14px;}
.join .phone-row{display:flex; gap:8px; align-items:center;}
.join .phone-row input{flex:1; text-align:center;}
.join .msg{font-size:13px; margin-top:6px;}
.join .msg.ok{color:#0a8a3a;} .join .msg.no{color:var(--red);}
.join .hint{font-size:12px; color:var(--faint); margin-top:5px;}
.join .submit{margin-top:24px;}

/* ===== 결제 페이지 ===== */
.paytbl{width:100%; border-collapse:collapse; margin:8px 0 4px; border-top:2px solid var(--maroon);}
.paytbl th{background:var(--bg2); font-size:14px; color:var(--stone); padding:13px; border-bottom:1px solid var(--line);}
.paytbl td{text-align:center; padding:18px 12px; border-bottom:1px solid var(--line); font-size:16px;}
.paytbl input[type=radio]{width:18px; height:18px; cursor:pointer;}
.pay-sec{font-size:17px; font-weight:700; color:var(--ink); margin:28px 0 12px; padding-left:10px; border-left:3px solid var(--gold);}
.paymethod{border:1px solid var(--line); border-radius:12px; padding:18px 20px; background:#fff;}
.paymethod label{margin-right:20px; font-size:15px; cursor:pointer;}
.paymethod input[type=radio]{margin-right:6px; vertical-align:middle;}
#onlineFrm{margin-top:14px; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--bg);}
#onlineFrm select, #onlineFrm input[type=text]{height:38px; border:1px solid #d6d3d1; border-radius:8px; padding:0 10px; font-size:14px;}
.payinfo{width:100%; border-collapse:collapse; border-top:2px solid var(--maroon);}
.payinfo td{padding:15px 18px; border-bottom:1px solid var(--line); font-size:15px;}
.payinfo td.pl{width:150px; background:var(--bg2); color:var(--stone); font-weight:600;}

/* ===== 약관/개인정보 등 안내 페이지 ===== */
.legal{max-width:860px; margin:10px auto 24px; text-align:left;}
.legal-tit{font-family:var(--serif); font-size:27px; color:var(--ink); border-bottom:2px solid var(--maroon); padding-bottom:14px; margin-bottom:22px;}
.legal-body{font-family:var(--sans); font-size:15px; line-height:1.85; color:#3a3a3a; word-break:keep-all; overflow-wrap:break-word;}
.legal-body p{margin:0 0 10px;}
.legal-body table{max-width:100%;}
.legal-body img{max-width:100%; height:auto;}
@media (max-width:680px){ .legal-tit{font-size:22px;} }
/* 변호사 소개(프로필) */
.legal-sub{font-family:var(--serif); font-size:19px; color:var(--ink); margin:32px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--line);}
.prof-list{list-style:none; padding:0; margin:0;}
.prof-list li{display:flex; gap:16px; padding:7px 0; font-size:14.5px; color:#444;}
.prof-list li .yr{flex:none; width:110px; color:var(--maroon); font-weight:700;}
.prof-act{list-style:none; padding:0; margin:0;}
.prof-act li{padding:8px 0 8px 14px; border-left:2px solid var(--gold-line); margin-bottom:7px; font-size:14.5px; color:#444; background:#fff;}
.prof-links a{display:inline-block; margin-right:16px; color:var(--maroon); font-size:14px;}
@media (max-width:680px){ .prof-list li .yr{width:88px;} }

/* ===== 메인 칼럼 미리보기(게시판에서) ===== */
.col-prev{max-width:960px; margin:0 auto; border-top:2px solid var(--maroon);}
.col-prev a{display:flex; justify-content:space-between; gap:14px; align-items:center; padding:15px 8px; border-bottom:1px solid var(--line); color:inherit;}
.col-prev a:hover{background:var(--bg2);}
.col-prev .t{flex:1; font-size:15px; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.col-prev a:hover .t{color:var(--maroon);}
.col-prev .d{flex:none; font-size:13px; color:var(--faint);}

/* ===== 칼럼(자체 제작, anythink 스타일) ===== */
.col2-wrap{max-width:760px; margin:0 auto; text-align:left;}
.col2-head{margin-bottom:20px;}
.col2-head .eyebrow{font-size:12px; color:var(--maroon); letter-spacing:3px; margin-bottom:6px;}
.col2-head h1{font-family:var(--serif); font-size:30px; color:var(--ink);}
.col2-head p{color:var(--muted); margin-top:8px; font-size:14px;}
.col2-search{display:block; width:100%; height:46px; border:1px solid #d6d3d1; border-radius:10px; padding:0 14px; font-size:15px; margin:0 0 22px; box-sizing:border-box; font-family:var(--sans);}
.col2-list{display:flex; flex-direction:column; gap:16px;}
.col2-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
@media (max-width:680px){ .col2-grid{grid-template-columns:1fr;} }
.col2-card{display:block; background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 22px; transition:.18s;}
a.col2-card, a.col2-card:link, a.col2-card:visited, a.col2-card:hover, a.col2-card *{text-decoration:none!important;}
.col2-card:hover{border-color:#fca5a5; box-shadow:0 8px 24px rgba(28,25,23,.07);}
.col2-card .dt{font-size:12px; color:var(--muted); letter-spacing:.03em; margin-bottom:7px;}
.col2-card .ti{font-size:20px; font-weight:700; color:var(--ink); line-height:1.4; margin-bottom:9px;}
.col2-card:hover .ti{color:var(--maroon);}
.col2-card .ex{font-size:14px; color:var(--stone); line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.col2-card .more{margin-top:14px; font-size:12px; color:var(--maroon); font-weight:600; letter-spacing:.03em;}
.col2-pager{display:flex; justify-content:center; gap:6px; flex-wrap:wrap; margin-top:34px;}
.col2-pager a, .col2-pager span{min-width:40px; height:40px; line-height:40px; text-align:center; border:1px solid var(--line); border-radius:8px; font-size:14px; background:#fff; color:var(--stone);}
.col2-pager a:hover{border-color:var(--maroon); color:var(--maroon);}
.col2-pager .on{background:var(--maroon); color:#fff; border-color:var(--maroon); font-weight:700;}
/* 상세 */
.col2-view{max-width:760px; margin:0 auto; text-align:left;}
.col2-view .v-dt{font-size:13px; color:var(--maroon); letter-spacing:2px; margin-bottom:10px;}
.col2-view .v-ti{font-family:var(--serif); font-size:30px; color:var(--ink); line-height:1.35; padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:30px;}
.col2-view .v-body{font-family:'Nanum Myeongjo',"Noto Serif KR",serif; font-size:16px; line-height:2; color:#3a3a3a; text-align:justify; word-break:break-all;}
.col2-view .v-body, .col2-view .v-body *{font-family:'Nanum Myeongjo',"Noto Serif KR",serif !important; font-size:16px !important; line-height:2 !important;}
.col2-view .v-body p{margin:0 0 1em;}
.col2-view .v-body img{max-width:100%; height:auto;}
.col2-view .v-body a{color:var(--maroon);}
.col2-back{display:inline-block; margin-top:44px; padding:11px 24px; border:1px solid var(--line); border-radius:24px; color:var(--stone); font-size:14px;}
.col2-back:hover{border-color:var(--maroon); color:var(--maroon);}
@media (max-width:680px){ .col2-head h1, .col2-view .v-ti{font-size:24px;} .col2-card .ti{font-size:18px;} }

/* ===== 자료 등록 폼 ===== */
.regform{margin:0 auto; text-align:left;}
.rf-row{display:flex; gap:16px; padding:18px 4px; border-bottom:1px solid var(--line); align-items:flex-start;}
.rf-row > label{flex:0 0 120px; font-weight:700; font-size:14px; color:var(--ink); padding-top:9px; line-height:1.4;}
.rf-field{flex:1; min-width:0;}
.regform input.reg-input{width:100%; height:42px; border:1px solid #d6d3d1; border-radius:8px; padding:0 12px; font-size:14px; box-sizing:border-box; font-family:var(--sans);}
.regform input[type=file]{font-size:13px; max-width:100%;}
.rf-help{font-size:12px; color:var(--muted); margin-top:6px; line-height:1.6;}
.rf-byte{font-size:12px; color:var(--muted); margin-top:6px;}
.rf-keys{display:grid; grid-template-columns:repeat(5,1fr); gap:8px;}
.rf-keys input{width:100%; height:40px; border:1px solid #d6d3d1; border-radius:8px; padding:0 10px; font-size:13px; box-sizing:border-box; font-family:var(--sans);}
.rf-actions{display:flex; gap:10px; justify-content:center; margin:28px 0 10px;}
@media (max-width:680px){ .rf-row{flex-direction:column; gap:6px;} .rf-row>label{flex:none; padding-top:0;} .rf-keys{grid-template-columns:repeat(2,1fr);} }

/* ===== 게시판(변호사 칼럼 등) 모던 리스킨 ===== */
.board-wrap{font-family:var(--sans); color:var(--ink); text-align:left; line-height:1.7;}
.board-wrap > table{float:none!important; margin-left:auto!important; margin-right:auto!important; width:100%!important; max-width:1120px!important;}
/* dotum 9pt(구형) → 모던 폰트/크기 */
.board-wrap, .board-wrap td, .board-wrap a, .board-wrap span, .board-wrap div, .board-wrap font{font-family:var(--sans)!important; letter-spacing:0!important;}
.board-wrap td{font-size:14px!important; color:#3a3a3a!important;}
.board-wrap a{color:inherit!important; text-decoration:none!important;}
.board-wrap a:hover{color:var(--maroon)!important;}
/* 목록 헤더(컬럼명) 행 → 마룬 */
.board-wrap td.board_title{background:var(--maroon)!important; color:#fff!important; font-weight:700!important; font-size:14px!important; height:46px!important; border:0!important;}
.board-wrap td.board_title a, .board-wrap td.board_title font, .board-wrap td.board_title .rank{color:#fff!important;}
/* 스킨 장식 이미지/배경 제거(버튼 gif는 보존) */
.board-wrap img[src*="titlebar"], .board-wrap img[src*="/bg0"]{display:none!important;}
.board-wrap td[background*="title_bg"], .board-wrap td[background*="view_titlebar"]{background-image:none!important;}
/* 데이터 행 */
.board-wrap td.border{border-bottom:1px solid var(--line)!important; padding:13px 6px!important;}
.board-wrap tr.notice td.border, .board-wrap .notice{background:#fdf7f3!important;}
.board-wrap tr:hover td.border{background:var(--bg2);}
/* 글보기: 제목바·메타·내용 */
.board-wrap .view_outline{border:1px solid var(--line)!important;}
.board-wrap td[background*="view_titlebar"], .board-wrap .title{background:#faf7f3!important; color:var(--ink)!important; font-family:var(--serif)!important; font-size:18px!important; font-weight:700!important;}
.board-wrap .view_text{color:var(--muted)!important; font-size:13px!important; font-weight:500!important;}
.board-wrap #div_content{height:auto!important; min-height:120px; font-size:15px!important; line-height:1.85!important;}
/* 검색 입력 */
.board-wrap input[type=text], .board-wrap .enable, .board-wrap .enable2{height:38px!important; border:1px solid #d6d3d1!important; border-radius:8px!important; padding:0 12px!important; font-size:14px!important;}
/* 목록 칼럼: 작성자(4번째) 넓히고 → 제목(3번째) 자동 축소 */
.board-wrap td.board_title:nth-child(4){width:150px!important;}
.board-wrap td:nth-child(4){white-space:nowrap!important;}

/* ===== 반응형 ===== */
@media (max-width:900px){
  .cards{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:27px;}
}
@media (max-width:680px){
  .t-hd .in{height:58px;}
  .t-logo .nm{font-size:16px;} .t-logo .tag{display:none;} .t-logo .logo-ico{width:26px; height:26px;}
  .t-nav{display:none;} .t-burger{display:block;}
  .hero .in{padding:40px 0 36px;}
  .hero h1{font-size:26px;} .hero p{font-size:15px;}
  .hero .searchbox{flex-direction:column; border-radius:12px;}
  .hero .searchbox input{height:46px;}
  .hero .searchbox button{width:100%; height:48px;}
  .section{padding:36px 0;}
  .section .head h2{font-size:22px;}
  .cards{grid-template-columns:1fr 1fr; gap:12px;}
  .card{padding:16px 14px;}
  .login-grid{grid-template-columns:1fr;}
}
