/* ==========================================================================
   온라인 상담 게시판 (.jcons 스코프 — .tx2 안에서 사용)
   핸드오프: 온라인상담-상담게시판.dc.html (크림/테라코타 팔레트, treatment2 계열)
   목록·상세·글쓰기 3개 뷰 공용. 사이트 크롬은 테마 header/footer 사용.
   ========================================================================== */

/* ---------- 히어로 서브카피(treatment2 히어로 확장) ---------- */
.tx2 .tx2-hero-sub{font-size:17px; color:rgba(255,255,255,.82); margin-top:16px; max-width:520px;
  animation:tx2Fade 1s var(--ease) .16s both}

/* ---------- 안내 스트립 ---------- */
.jcons-notice{background:#F6EBE5; border-bottom:1px solid #EBD5CE}
.jcons-notice .in{max-width:1180px; margin:0 auto; padding:30px 40px;
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px}
.jcons-notice .it{display:flex; gap:12px; align-items:flex-start}
.jcons-notice .it svg{flex:none; width:20px; height:20px; stroke:var(--accent); fill:none; stroke-width:1.6; margin-top:4px}
.jcons-notice .it p{font-size:13.5px; line-height:1.7}
.jcons-notice .it b{color:var(--accent); font-weight:700}

/* ---------- 목록 ---------- */
.jcons-board{background:#fff; padding:80px 0 96px; scroll-margin-top:88px}
.jcons-board .wrap{max-width:1080px}
.jcons-count{color:var(--body); font-size:15px; margin-top:11px}
.jcons-count b{color:var(--accent)}

.jcons-bar{display:flex; align-items:center; justify-content:space-between; gap:14px; margin:40px 0 14px}
.jcons-bar form{display:flex; gap:8px; align-items:center}
.jcons-bar select,.jcons-bar input[type=text]{height:44px; border:1px solid #EBD5CE; border-radius:12px;
  padding:0 12px; font-size:13.5px; color:var(--body); background:#fff; outline:none; font-family:inherit}
.jcons-bar input[type=text]{width:240px; padding:0 16px; color:var(--ink)}
.jcons-bar input[type=text]:focus,.jcons-bar select:focus{border-color:var(--accent-tint)}
.jcons-bar .sbtn{height:44px; display:inline-flex; align-items:center; gap:7px; background:#F6EBE5; color:var(--accent);
  border:1px solid #EBD5CE; font-weight:700; font-size:13.5px; padding:0 18px; border-radius:12px; cursor:pointer; font-family:inherit}
.jcons-bar .sbtn:hover{background:#F1E4E0}
.jcons-bar .sbtn svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.8}

.jcons-write{display:inline-flex; align-items:center; gap:8px; background:var(--accent-hi); color:#fff !important;
  font-weight:700; font-size:14px; padding:12px 26px; border-radius:999px;
  box-shadow:0 10px 26px -18px rgba(38,29,24,.6); transition:background .18s var(--ease)}
.jcons-write:hover{background:var(--accent)}
.jcons-write svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.7}

.jcons-cols{display:grid; grid-template-columns:64px 1fr 96px 104px 56px 76px; gap:10px; align-items:center;
  padding:14px 4px; border-top:2px solid var(--ink); border-bottom:1px solid #EBD5CE;
  font-size:12.5px; font-weight:700; color:var(--ink)}
.jcons-cols span{text-align:center}
.jcons-cols .t{text-align:left}

.jcons-row{display:grid; grid-template-columns:64px 1fr 96px 104px 56px 76px; gap:10px; align-items:center;
  border-bottom:1px solid #F1E4E0; padding:17px 4px; color:inherit; transition:background .18s ease}
.jcons-row:hover{background:#FDFBF7}
.jcons-row .no{text-align:center; font-size:13px; color:var(--meta)}
.jcons-row .tt{font-size:14.5px; font-weight:600; color:var(--ink); overflow:hidden; white-space:nowrap;
  display:flex; align-items:center; gap:7px; min-width:0}
.jcons-cat{font-size:12px; font-weight:700; color:var(--accent); background:#F6EBE5;
  border:1px solid #EBD5CE; border-radius:999px; padding:4px 13px; white-space:nowrap}
.jcons-row .tt svg{flex:none; width:13px; height:13px; stroke:var(--meta); fill:none; stroke-width:1.8}
.jcons-row .au,.jcons-row .dt,.jcons-row .vw{text-align:center; font-size:13px}
.jcons-row .au{color:var(--body)}
.jcons-row .dt,.jcons-row .vw{color:var(--meta)}
.jcons-row .st{justify-self:center; font-size:11.5px; font-weight:700; border-radius:999px; padding:3px 12px; white-space:nowrap}
.jcons-st-done{color:var(--accent); background:#F6EBE5; border:1px solid #EBD5CE}
.jcons-st-wait{color:var(--meta); background:#fff; border:1px solid #D8D1CA}

.jcons-empty{text-align:center; padding:70px 0; color:var(--meta); font-size:14.5px; border-bottom:1px solid #F1E4E0}

/* ---------- 페이지네이션 ---------- */
.jcons-pager{display:flex; justify-content:center; align-items:center; gap:6px; margin-top:36px; flex-wrap:wrap}
.jcons-pager a,.jcons-pager span{min-width:36px; height:36px; display:grid; place-items:center; padding:0 6px;
  border:1px solid #EBD5CE; border-radius:10px; font-size:13px; color:var(--body); transition:all .15s ease}
.jcons-pager a:hover{border-color:var(--accent-tint); color:var(--accent)}
.jcons-pager .current{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:700}
.jcons-pager .dots{border:none}

/* ---------- 상세 ---------- */
.jcons-detail{background:#fff; padding:64px 0 96px; scroll-margin-top:88px}
.jcons-detail .wrap{max-width:920px}
.jcons-back{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600;
  color:var(--meta) !important; margin-bottom:28px}
.jcons-back:hover{color:var(--accent) !important}
.jcons-dhead{border-bottom:2px solid var(--ink); padding-bottom:24px}
.jcons-chips{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap}
.jcons-chip{font-size:11.5px; font-weight:700; border-radius:999px; padding:4px 13px}
.jcons-chip.br{font-weight:600; color:var(--accent); background:#F6EBE5; border:1px solid #EBD5CE}
.jcons-dhead h1{font-family:"Pretendard",sans-serif; font-size:clamp(21px,2.6vw,28px); line-height:1.42; font-weight:700}
.jcons-dmeta{display:flex; gap:18px; margin-top:14px; font-size:13px; color:var(--meta); flex-wrap:wrap}
.jcons-dmeta b{color:var(--body); font-weight:600}

.jcons-q{padding:36px 8px 44px; border-bottom:1px dashed #EBD5CE}
.jcons-q p{font-size:15.5px; line-height:1.9; color:var(--body); margin:0 0 10px}
.jcons-q p:last-child{margin-bottom:0}

.jcons-locked{background:#FDFBF7; border:1px solid #EBD5CE; border-radius:22px; padding:44px 34px;
  margin:36px 0 0; text-align:center}
.jcons-locked svg{width:30px; height:30px; stroke:var(--accent); fill:none; stroke-width:1.5; margin:0 auto 12px}
.jcons-locked b{display:block; font-size:15.5px; color:var(--ink); margin-bottom:8px}
.jcons-locked p{font-size:13.5px; color:var(--meta); line-height:1.8}
.jcons-locked a{color:var(--accent); font-weight:700; text-decoration:underline; text-underline-offset:3px}
.jcons-passerr{color:#b32d2e !important; font-weight:600; margin-top:10px}
.jcons-passform{display:flex; justify-content:center; gap:10px; margin-top:20px}
.jcons-passform input{width:150px; text-align:center; letter-spacing:.5em; font-size:16px; font-weight:700;
  border:1px solid #DFC9C2; border-radius:10px; padding:12px 14px; background:#fff; color:var(--ink)}
.jcons-passform input:focus{outline:none; border-color:var(--accent-tint)}
.jcons-passform button{border:none; background:var(--accent-hi); color:#fff; font-weight:700; font-size:14.5px;
  border-radius:10px; padding:12px 24px; cursor:pointer; transition:background .2s ease}
.jcons-passform button:hover{background:var(--accent)}

.jcons-memberbox{display:flex; flex-direction:column; gap:6px; background:#F6EBE5; border:1px solid #EBD5CE;
  border-radius:14px; padding:16px 18px}
.jcons-memberbox b{font-size:14px; color:var(--accent)}
.jcons-memberbox span{font-size:13px; color:var(--body); line-height:1.7}
.jcons-loginhint{font-size:13px; color:var(--meta); margin:-8px 0 22px}
.jcons-loginhint a{color:var(--accent); font-weight:700; text-decoration:underline; text-underline-offset:3px}

.jcons-a{background:#FDFBF7; border:1px solid #EBD5CE; border-radius:22px; padding:38px 42px; margin-top:36px}
.jcons-a .ahead{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid #F1E4E0}
.jcons-a .who{display:flex; align-items:center; gap:13px}
.jcons-a .who .av{flex:none; width:44px; height:44px; border-radius:50%; background:#F6EBE5; display:grid; place-items:center}
.jcons-a .who .av svg{width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:1.6}
.jcons-a .who b{display:block; font-size:15px; color:var(--ink)}
.jcons-a .who span{font-size:12.5px; color:var(--meta)}
.jcons-a .adate{font-size:12.5px; color:var(--meta)}
.jcons-a .abody p{font-size:15px; line-height:1.9; color:var(--body); margin:0 0 12px}
.jcons-a .abody p:last-child{margin-bottom:0}
.jcons-a .abody p.ind{padding-left:14px}

.jcons-wait{background:#FDFBF7; border:1px dashed var(--accent-tint); border-radius:22px; padding:34px;
  margin-top:36px; text-align:center}
.jcons-wait p{font-size:14.5px; color:var(--accent); font-weight:600}

.jcons-nav{margin-top:44px; border-top:1px solid #EBD5CE}
.jcons-nav .r{display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:center;
  padding:15px 4px; border-bottom:1px solid #F1E4E0}
.jcons-nav .r:last-child{border-bottom:1px solid #EBD5CE}
.jcons-nav b{font-size:13px; color:var(--ink)}
.jcons-nav a{font-size:13.5px; color:var(--body) !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.jcons-nav a:hover{color:var(--accent) !important}
.jcons-nav .none{font-size:13.5px; color:#C4BBB3}

.jcons-btns{display:flex; justify-content:center; gap:12px; margin-top:36px}
.jcons-btn-ghost{display:inline-flex; align-items:center; gap:8px; background:#F6EBE5; color:var(--accent) !important;
  border:1px solid #EBD5CE; font-weight:700; font-size:14px; padding:13px 30px; border-radius:999px; cursor:pointer; font-family:inherit}
.jcons-btn-ghost:hover{background:#F1E4E0}

/* ---------- 글쓰기 폼 ---------- */
.jcons-form{background:#fff; border:1px solid #EBD5CE; border-radius:22px; padding:40px 42px; margin-top:36px}
.jcons-form .frow{margin-bottom:22px}
.jcons-form label{display:block; font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:8px}
.jcons-form label small{font-weight:400; color:var(--meta); margin-left:6px}
.jcons-form input[type=text],.jcons-form input[type=tel],.jcons-form input[type=password],.jcons-form select,.jcons-form textarea{
  width:100%; border:1px solid #EBD5CE; border-radius:12px; padding:12px 16px; font-size:14.5px;
  color:var(--ink); background:#fff; outline:none; font-family:inherit; line-height:1.6}
.jcons-form input:focus,.jcons-form select:focus,.jcons-form textarea:focus{border-color:var(--accent-tint)}
.jcons-form .cols2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.jcons-form textarea{min-height:220px; resize:vertical}
.jcons-flabel{display:block; font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:8px}
.jcons-flabel small{font-weight:400; color:var(--meta); margin-left:6px}
.jcons-bsel{margin-left:10px; font-size:12px; font-weight:700; color:var(--accent)}
/* 지점 선택 — 한 줄 가로 스크롤 칩 스트립(필터바 스타일) */
.jcons-bpick{display:flex; gap:8px; overflow-x:auto; padding:2px 2px 10px;
  scrollbar-width:thin; scrollbar-color:#EBD5CE transparent; -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent)}
.jcons-bpick::-webkit-scrollbar{height:5px}
.jcons-bpick::-webkit-scrollbar-thumb{background:#EBD5CE; border-radius:99px}
.jcons-bpick .chip{position:relative; cursor:pointer; margin:0; flex:none}
.jcons-bpick .chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none}
.jcons-bpick .chip span{display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600;
  color:var(--body); background:#fff; border:1px solid #EBD5CE; border-radius:999px; padding:9px 17px;
  transition:all .16s var(--ease); user-select:none; white-space:nowrap}
.jcons-bpick .chip span::before{content:""; width:6px; height:6px; border-radius:50%;
  background:#EBD5CE; transition:all .16s var(--ease)}
.jcons-bpick .chip:hover span{border-color:var(--accent-tint); color:var(--accent)}
.jcons-bpick .chip input:checked + span{background:var(--accent); border-color:var(--accent);
  color:#fff; box-shadow:0 8px 20px -12px rgba(180,105,92,.7)}
.jcons-bpick .chip input:checked + span::before{background:#fff}
.jcons-bpick .chip input:focus-visible + span{outline:2px solid var(--accent-tint); outline-offset:2px}

.jcons-agree{display:flex; gap:10px; align-items:flex-start; background:#FDFBF7; border:1px solid #F1E4E0;
  border-radius:14px; padding:16px 18px; margin-bottom:26px}
.jcons-agree input{margin-top:3px; accent-color:var(--accent)}
.jcons-agree p{font-size:13px; line-height:1.75; color:var(--body)}
.jcons-agree b{color:var(--accent)}
.jcons-form .submit{display:flex; justify-content:center; gap:12px}
.jcons-form .submit button{border:none}
.jcons-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

.jcons-msg{border-radius:14px; padding:16px 20px; margin:26px 0 0; font-size:14px; font-weight:600}
.jcons-msg.ok{background:#F0F7F1; border:1px solid #CBE3CE; color:#2E6B39}
.jcons-msg.err{background:#FBEFEA; border:1px solid #F0D5CB; color:#A6533F}

/* ---------- 반응형 ---------- */
@media (max-width:860px){
  .jcons-notice .in{grid-template-columns:1fr; padding:26px 20px; gap:14px}
  .jcons-board{padding:56px 0 64px}
  .jcons-detail{padding:48px 0 64px}
  .jcons-bar{flex-direction:column; align-items:stretch}
  .jcons-bar form{width:100%}
  .jcons-bar input[type=text]{flex:1; min-width:0; width:auto}
  .jcons-bar .wr{width:100%; display:flex}
  .jcons-bar .wr .jcons-write{flex:1; justify-content:center}
  .jcons-cols{display:none}
  .jcons-row{display:flex; flex-wrap:wrap; align-items:center; gap:5px 8px; padding:16px 4px}
  .jcons-row .no,.jcons-row .vw{display:none}
  .jcons-row .tt{width:100%; order:-1; white-space:normal; font-size:15px}
  .jcons-row .tt .txt{white-space:normal}
  .jcons-row .au,.jcons-row .dt{font-size:12px}
  .jcons-dmeta{gap:4px 12px}
  .jcons-q{padding:28px 2px 34px}
  .jcons-a{padding:28px 22px}
  .jcons-nav .r{grid-template-columns:64px 1fr}
  .jcons-form{padding:28px 22px}
  .jcons-form .cols2{grid-template-columns:1fr}
  .jcons-bpick .chip span{padding:8px 15px; font-size:13px}
}
@media (max-width:480px){
  .jcons-btns{flex-direction:column}
  .jcons-btns a,.jcons-btns button{width:100%; justify-content:center}
  .jcons-pager{gap:4px}
}

/* 글쓰기 — 지점 검색 */
.jcons-bsearch{display:flex; align-items:center; gap:9px; border:1px solid #DFC9C2; border-radius:10px; background:#fff; padding:0 14px; margin-bottom:10px}
.jcons-bsearch svg{flex:none; width:15px; height:15px; stroke:var(--accent); fill:none; stroke-width:1.8}
.jcons-form .jcons-bsearch input[type=text]{flex:1; border:0; border-radius:0; height:44px; padding:0; font:inherit; font-size:14px; color:var(--ink); background:transparent; width:auto}
.jcons-form .jcons-bsearch input[type=text]:focus{outline:none; border:0}
.jcons-bsearch:focus-within{border-color:var(--accent-tint)}
.jcons-bpick .chip[hidden]{display:none}
.jcons-bnone{width:100%; font-size:12.5px; color:var(--meta); padding:6px 2px}
.jcons-bnone[hidden]{display:none}
/* 본인 글 삭제 */
.jcons-btn-danger{border:1px solid #E5C4BC; background:#fff; color:#B4695C; font:inherit; font-size:14px; font-weight:700; border-radius:999px; padding:13px 26px; cursor:pointer; transition:.2s}
.jcons-btn-danger:hover{background:#B4695C; border-color:#B4695C; color:#fff}
