@charset "utf-8";

/* =====================================================================
   게시판 공통 스타일 (dp_basic / dp_faq / dp_gallery 목록 스킨 공용)
   - 분류 필터(.ins_filter) · 총 건수 + 검색(.ins_bar) · 게시물 없음(.no_data)
   - 목록 본문(테이블 / FAQ / 갤러리)은 각 스킨의 style.css 가 소유한다
   - 서브 본문 <main class="sub"> 안에서 렌더되므로 .sub 토큰을 그대로 쓰되,
     다른 곳에서 불러도 깨지지 않도록 var() 폴백을 함께 둔다
   ===================================================================== */

/* ===== 분류 필터 : .sub .pill_tabs 디자인 기반, PC 에서 한 단계 크게 ===== */
/* $category_option = <li><a>…</a></li>, 활성 항목 = a#bo_cate_on */
.ins_filter{margin-bottom:3.75rem;}
/* 한 줄 고정 + 가로 스크롤 : PC 창을 줄여 넘치면 스와이프(마우스 드래그는 sub_page.js initTabDrag) */
.ins_filter ul{display:flex; flex-wrap:nowrap; gap:.5rem; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;}
.ins_filter ul::-webkit-scrollbar{display:none;}
.ins_filter ul.is-scrollable{cursor:grab;}
.ins_filter ul.is-dragging{cursor:grabbing; user-select:none;}
.ins_filter ul.is-dragging *{pointer-events:none;}
.ins_filter li{flex:none; list-style:none;}
.ins_filter a{display:inline-flex; align-items:center; padding:.75rem 1.5rem; border:1px solid var(--line3,#e7e9ef); border-radius:6.25rem; background:#fff; font-size:1rem; font-weight:500; line-height:1.5; letter-spacing:-0.01em; color:var(--gray4,#8e8e8e); white-space:nowrap; transition:var(--t,all .3s ease);}
.ins_filter a:hover{border-color:var(--primary,#e7336e); color:var(--primary,#e7336e);}
.ins_filter a#bo_cate_on{background:var(--primary,#e7336e); border-color:var(--primary,#e7336e); font-weight:700; color:#fff;}

/* ===== 총 건수 + 검색 ===== */
.ins_bar{display:flex; align-items:flex-end; justify-content:space-between; gap:1.25rem; margin-bottom:2rem;}
.ins_total{font-size:1.125rem; font-weight:400; line-height:1.5; color:#000;}
.ins_total b{font-weight:700; color:var(--primary,#e7336e);}
.ins_search{display:flex; gap:.5rem;}
.ins_select{position:relative;}
.ins_select select{width:10.625rem; height:3.125rem; padding:0 2.5rem 0 1rem; border:0; border-bottom:1px solid var(--line2,#e3e3e3); border-radius:0; background:transparent; font-size:1rem; font-weight:500; line-height:1.5; color:#000; cursor:pointer; -webkit-appearance:none; appearance:none; outline:none !important;}
.ins_select::after{content:""; position:absolute; top:50%; right:.5rem; width:1.25rem; height:1.25rem; margin-top:-.625rem; background:url("/img/main/ic_chev.svg") no-repeat center/100%; transform:rotate(90deg); pointer-events:none;}
.ins_input{position:relative; width:24.4375rem; max-width:100%;}
.ins_input input{width:100%; height:3.125rem; padding:0 3rem 0 1rem; border:0; border-bottom:1px solid var(--line2,#e3e3e3); border-radius:0; background:transparent; font-size:1rem; font-weight:500; line-height:1.5; color:#000; outline:none !important;}
.ins_input input::placeholder{color:#bebebe;}
.ins_search_btn{position:absolute; top:50%; right:.75rem; width:1.5rem; height:1.5rem; margin-top:-.75rem; padding:0; border:0; background:none; cursor:pointer;}
.ins_search_btn img{display:block; width:100%;}

/* ===== 게시물 없음 (기본 형태는 main.css 의 .no_data 가 소유) ===== */
.no_data{width:100% !important; border-top:1px solid #000; border-bottom:1px solid #000; height:29.375rem !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:1.75rem; margin:0 !important; aspect-ratio:initial !important;}
.no_data .icon{width:2.375rem;}
.no_data p{font-size:1.25rem; font-weight:500; letter-spacing:-0.02em; color:var(--gray3,#6d6d6d); text-align:center;}

/* ===== 반응형 ===== */
@media screen and (max-width:1024px){
	.ins_filter{margin-bottom:2.5rem;}
	.ins_filter ul{gap:.375rem;}
	.ins_filter a{padding:.625rem 1.25rem; font-size:.9375rem; line-height:1.47;}

	.ins_bar{margin-bottom:1.75rem;}
	.ins_total{font-size:1rem;}
	.ins_search{justify-content:flex-end;}
	.ins_select select, .ins_input input{height:2.75rem; font-size:.875rem;}
	.ins_search_btn{width:1.25rem; height:1.25rem; margin-top:-.625rem;}

	.no_data{height:14.375rem !important; gap:1rem;}
	.no_data .icon{width:1.5rem;}
	.no_data p{font-size:.875rem;}
}

@media screen and (max-width:768px){
	/* 모바일에서는 .sub .pill_tabs 와 동일한 크기 + 가로 스크롤 */
	.ins_filter{margin-right:-1.25rem; margin-bottom:2rem;}
	.ins_filter ul{gap:.25rem; padding-right:1.25rem;}
	.ins_filter a{padding:.5rem 1rem; font-size:.875rem; line-height:1.43;}

	.ins_bar{flex-direction:column-reverse; align-items:flex-start; gap:1.5rem; margin-bottom:1rem;}
	.ins_search{gap:0; width:100%;}
	.ins_select{width:7rem;}
	.ins_select select{width:100%; padding:0 1.5rem 0 .5rem;}
	.ins_select::after{right:0;}
	.ins_input{width:calc(100% - 7rem);}
	.ins_input input{padding:0 2rem 0 1rem;}
	.ins_search_btn{right:0;}
}

/* =====================================================================
   온라인 상담(dp_apply 스킨) : 목록 .ap_tbl / 상단 안내 .ap_notice / 작성 .ap_write
   - 분류 필터·검색은 위 .ins_* 공용, 입력창·버튼은 온라인 예약 폼(.rsv_ip/.rsv_check/.rsv_btn) 재사용
   ===================================================================== */
/* ===== 목록 : 상단 안내 박스 ===== */
.ap_notice{display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; padding:2rem 2.5rem; border-radius:1.25rem; background:var(--bg-alt,#f7f7f8);}
.ap_notice_t strong{display:block; font-size:1.375rem; font-weight:700; line-height:1.4; letter-spacing:-.01em; color:var(--navy,#142d42);}
.ap_notice_t p{margin-top:.75rem; font-size:1rem; line-height:1.6; color:var(--body,#5a5c63); word-break:keep-all;}
.ap_notice_t .ap_notice_warn{margin-top:.5rem; font-size:.9375rem; color:var(--primary,#e7336e);}
.ap_notice_tel{flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:.25rem; min-width:12rem; padding:1.25rem 1.75rem; border-radius:1rem; background:#fff; border:1px solid var(--line,#e1e2e4); color:var(--navy,#142d42); transition:var(--t,all .3s ease);}
.ap_notice_tel:hover{border-color:var(--navy,#142d42);}
.ap_notice_tel img{width:1.5rem;}
.ap_notice_tel span{font-size:.875rem; color:var(--gray,#6d6d6d);}
.ap_notice_tel b{font-size:1.375rem; font-weight:800; letter-spacing:-.01em;}

/* ===== 목록 ===== */
.ap_tbl{border-top:1px solid var(--navy,#142d42);}
.ap_tr{display:flex; align-items:center; gap:1rem; min-height:4.25rem; padding:.875rem 1rem; border-bottom:1px solid var(--line,#e1e2e4); font-size:1rem; color:var(--body,#5a5c63);}
.ap_tr.ap_th{min-height:3.5rem; padding:.75rem 1rem; background:var(--bg-alt,#f7f7f8); font-size:.9375rem; font-weight:700; color:var(--navy,#142d42);}
.ap_tr.is-current{background:#fdf3f7;}
.ap_tr > span{min-width:0;}
.ap_num{flex:0 0 4.5rem; text-align:center; font-size:.9375rem; color:var(--gray3,#878a93);}
.ap_cate{flex:0 0 9rem; text-align:center;}
.ap_tit{flex:1 1 auto; text-align:left;}
.ap_name{flex:0 0 7rem; text-align:center;}
.ap_date{flex:0 0 7rem; text-align:center; font-size:.9375rem; color:var(--gray3,#878a93);}
.ap_state{flex:0 0 6rem; text-align:center;}
.ap_badge{display:inline-flex; align-items:center; height:1.5rem; padding:0 .5rem; border-radius:.375rem; background:var(--navy,#142d42); font-size:.75rem; font-weight:700; color:#fff;}
.ap_ct{display:inline-flex; align-items:center; height:1.75rem; padding:0 .75rem; border:1px solid var(--line,#e1e2e4); border-radius:1.75rem; font-size:.8125rem; font-weight:500; color:var(--gray,#6d6d6d); white-space:nowrap;}
.ap_ct:hover{border-color:var(--primary,#e7336e); color:var(--primary,#e7336e);}
.ap_tit a{display:flex; align-items:center; gap:.5rem; min-width:0; font-size:1.0625rem; font-weight:500; color:var(--title,#171719);}
.ap_tit a:hover .ap_subject{text-decoration:underline; text-underline-offset:.2rem;}
.ap_subject{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ap_lock{flex-shrink:0; width:1rem; height:1rem; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23878a93' stroke-width='1.6'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.5'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E") no-repeat center/contain;}
.ap_tit a img{vertical-align:middle;}
.ap_state em{display:inline-flex; align-items:center; height:1.75rem; padding:0 .75rem; border-radius:1.75rem; font-size:.8125rem; font-weight:700; font-style:normal;}
.ap_state em.wait{background:var(--bg-alt,#f7f7f8); color:var(--gray,#6d6d6d);}
.ap_state em.done{background:rgba(231,51,110,.1); color:var(--primary,#e7336e);}
.ap_foot{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; min-height:3.5rem; margin:2.5rem 0 3.75rem;}  /* 페이지네이션이 없어도 버튼 높이만큼 자리를 차지 */
.ap_foot .dpp_page_wrap{grid-column:2; margin:0;}
.ap_btns{display:flex; justify-content:center; gap:.75rem; margin-top:2.5rem;}
.ap_foot .ap_btns{grid-column:3; justify-self:end; margin-top:0;}
.ap_foot .rsv_btn{flex:0 0 auto; min-width:11rem;}

/* ===== 작성 ===== */
.ap_write{max-width:60rem; margin:0 auto;}
.ap_req_note{margin-bottom:.75rem; font-size:.875rem; line-height:1.5; color:var(--gray3,#878a93); text-align:right;}
.ap_req_note i{font-style:normal; font-weight:700; color:var(--primary,#e7336e);}
.ap_form{border-top:2px solid var(--navy,#142d42);}
.ap_lb i{font-style:normal; color:var(--primary,#e7336e);}
.ap_row{display:flex; align-items:flex-start; gap:1.5rem; padding:1.375rem 0; border-bottom:1px solid var(--line,#e1e2e4);}
.ap_row:last-child{border-bottom:0;}
.ap_lb{flex:0 0 11.5rem; display:flex; align-items:center; gap:.25rem; min-height:3.25rem; font-size:1.0625rem; font-weight:700; line-height:1.4; color:var(--title,#171719);}
.ap_lb span{display:inline-flex; align-items:center; height:1.375rem; margin-left:.25rem; padding:0 .5rem; border-radius:.375rem; background:var(--bg-alt,#f7f7f8); font-size:.75rem; font-weight:600; color:var(--gray,#6d6d6d);}
.ap_fd{flex:1 1 auto; min-width:0;}
.ap_row_ta .ap_lb{min-height:0; padding-top:.75rem;}
.ap_row_privacy .ap_lb{min-height:0;}
.ap_desc{display:none; margin-top:.5rem; font-size:.8125rem; line-height:1.5; color:var(--primary,#e7336e);}
.ap_desc.active{display:block;}
.ap_desc.blue{display:block; color:var(--gray3,#878a93);}
.ap_desc.blue.active{color:var(--primary,#e7336e);}
.ap_editor textarea, .sub .ap_editor textarea#wr_content{width:100%; height: auto !important; min-height:15rem; padding:1rem 1.125rem; border:1px solid var(--line,#e1e2e4); border-radius:.5rem; background:#fff; font-size:1rem; line-height:1.6; color:var(--title,#171719); resize:vertical; transition:var(--t,all .3s ease); resize: none; font-weight: 400; letter-spacing: normal;}
.ap_editor textarea:focus{border-color:var(--navy,#142d42) !important; outline:0;}
.ap_editor textarea::placeholder{color:#b4b8c0;}
.ap_file + .ap_file{margin-top:.5rem;}
.ap_file_lb{display:flex; align-items:stretch; gap:.5rem; cursor:pointer;}
.ap_file_ip{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden;}
.ap_file_name{flex:1 1 auto; display:flex; align-items:center; min-width:0; height:3.25rem; padding:0 1.125rem; border:1px solid var(--line,#e1e2e4); border-radius:.5rem; background:#fff; font-size:1rem; color:#b4b8c0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ap_file_name.on{color:var(--title,#171719);}
.ap_file_btn{flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; height:3.25rem; padding:0 1.5rem; border-radius:.5rem; background:var(--navy,#142d42); font-size:1rem; font-weight:700; color:#fff; white-space:nowrap; transition:var(--t,all .3s ease);}
.ap_file_lb:hover .ap_file_btn{background:var(--navy-strong,#0e2233);}
.ap_file_del{margin-top:.5rem;}
/* .ap_captcha #captcha{display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;} */
.ap_captcha #captcha legend{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
.ap_captcha #captcha_img{height:3.25rem; border:1px solid var(--line,#e1e2e4); border-radius:.5rem;}
.ap_captcha #captcha_reload, .ap_captcha #captcha_mp3{width:3.25rem; height:3.25rem; border:1px solid var(--line,#e1e2e4); border-radius:.5rem; background-color:#fff; font-size:0; text-indent:-999px; overflow:hidden;}
.ap_captcha #captcha_key{width:10rem; height:3.25rem; padding:0 1.125rem; border:1px solid var(--line,#e1e2e4); border-radius:.5rem; font-size:1rem; letter-spacing:.2em;}
.ap_captcha #captcha_key:focus{border-color:var(--navy,#142d42); outline:0;}
.ap_captcha #captcha_info{width:100%; font-size:.8125rem; color:var(--gray3,#878a93);}
.ap_write .ap_btns{margin-top:0 !important; padding-top:3rem; border-top:1px solid var(--line,#e1e2e4);}
/* 고객의 소리 : 구분선을 버튼 위가 아닌 폼 하단에 */
.vc_write .ap_form{border-bottom:1px solid var(--line,#e1e2e4);}
.vc_write .ap_btns{border-top:0;}
.ap_write .rsv_btn{flex:0 0 auto; min-width:13rem;}

/* ===== 보기 (온라인 상담 상세) ===== */
.ap_view{max-width:60rem; margin:0 auto;}
.ap_vhead{padding-bottom:1.5rem; border-bottom:2px solid var(--navy,#142d42);}
.ap_vtags{display:flex; align-items:center; gap:.5rem; margin-bottom:.875rem;}
.ap_vstate{display:inline-flex; align-items:center; height:1.75rem; padding:0 .75rem; border-radius:1.75rem; font-size:.8125rem; font-weight:700; font-style:normal;}
.ap_vstate.wait{background:var(--bg-alt,#f7f7f8); color:var(--gray,#6d6d6d);}
.ap_vstate.done{background:rgba(231,51,110,.1); color:var(--primary,#e7336e);}
.ap_vtit{font-size:1.75rem; font-weight:700; line-height:1.35; letter-spacing:-.02em; color:var(--title,#171719); word-break:keep-all;}
.ap_vmeta{display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:.875rem;}
.ap_vmeta li{display:flex; align-items:center; gap:.5rem; font-size:.9375rem; color:var(--gray3,#878a93);}
.ap_vmeta li b{font-weight:500; color:var(--body,#5a5c63);}
.ap_vinfo{display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:1.5rem;}
.ap_vinfo > div{padding:1rem 1.25rem; border-radius:.75rem; background:var(--bg-alt,#f7f7f8);}
.ap_vinfo dt{font-size:.8125rem; font-weight:600; color:var(--gray3,#878a93);}
.ap_vinfo dd{margin-top:.25rem; font-size:1.0625rem; font-weight:700; color:var(--title,#171719); word-break:break-all;}
.ap_vbody{margin-top:2rem;}
.ap_vlabel{margin-bottom:.75rem; font-size:1.0625rem; font-weight:700; color:var(--navy,#142d42);}
.ap_vcontent{font-size:1rem; line-height:1.5; color:var(--body,#5a5c63); word-break:break-word;}
.ap_vcontent img{max-width:100%; height:auto;}
.ap_vimgs{margin-bottom:1.25rem;}
.ap_vimgs img{display:block; max-width:100%; height:auto; margin-bottom:.75rem; border-radius:.5rem;}
.ap_vcontent .dp_youtube{position:relative; aspect-ratio:16/9; margin-bottom:1.25rem;}
.ap_vcontent .dp_youtube iframe{position:absolute; inset:0; width:100%; height:100%;}
.ap_vfiles{margin-top:2rem;}
.ap_vfiles li{display:flex; align-items:center; gap:1rem; padding:.875rem 1.25rem; border:1px solid var(--line,#e1e2e4); border-radius:.75rem; background:#fff;}
.ap_vfiles li + li{margin-top:.5rem;}
.ap_vfile_lb{flex-shrink:0; font-size:.8125rem; font-weight:700; color:var(--gray3,#878a93);}
.ap_vfiles a{display:inline-flex; align-items:center; gap:.5rem; min-width:0; font-size:.9375rem; font-weight:500; color:var(--title,#171719); text-decoration:underline; text-underline-offset:.2rem;}
.ap_vfiles a em{font-style:normal; font-size:.8125rem; color:var(--gray3,#878a93);}
/* 답변(관리자 댓글) */
.ap_vanswer{margin-top:2.5rem;}
.ap_ans{display:block !important;}
.ap_ans_tit{display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; font-size:1.25rem; font-weight:700; color:var(--navy,#142d42);}
.ap_ans_tit b{display:inline-flex; align-items:center; justify-content:center; min-width:1.5rem; height:1.5rem; padding:0 .5rem; border-radius:.75rem; background:var(--primary,#e7336e); font-size:.8125rem; color:#fff; line-height: 1;}
.ap_ans > div{position:relative; padding:1.5rem 1.75rem 1.5rem 3.75rem; border-radius:1rem; background:var(--bg-alt,#f7f7f8);}
.ap_ans > div + div{margin-top:.75rem;}
.ap_ans > div::before{content:'A'; position:absolute; left:1.25rem; top:1.5rem; display:flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; border-radius:50%; background:var(--navy,#142d42); font-family:var(--font-en,'Outfit',sans-serif); font-size:.9375rem; font-weight:700; color:#fff;}
.ap_ans header{display:flex; align-items:center; gap:.75rem; margin-bottom:.625rem;}
.ap_ans_who{font-size:1rem; font-weight:700; color:var(--navy,#142d42);}
.ap_ans .cmt_time{font-size:.8125rem; color:var(--gray3,#878a93);}
.ap_ans .dp_cmt_ct p{font-size:1rem; line-height:1.75; color:var(--body,#5a5c63); word-break:break-word;}
.ap_ans .dpp_rel_btn{display:none;}
.ap_ans_none{padding:1.5rem 1.75rem; border-radius:1rem; background:var(--bg-alt,#f7f7f8); font-size:.9375rem; line-height:1.6; color:var(--gray,#6d6d6d);}
/* dp_bd.css 의 #dp_cmt_wrap 기본 댓글 스타일 덮어쓰기 */
#dp_cmt_wrap.ap_ans h2.ap_ans_tit{position:static; font-size:1.25rem; line-height:1.4; overflow:visible;}
#dp_cmt_wrap.ap_ans > div{margin-top:0;}
#dp_cmt_wrap.ap_ans > div + div{margin-top:.75rem;}
#dp_cmt_wrap.ap_ans .dp_cmt_ct{padding:0; margin:0; border:0; border-radius:0; background:none; line-height:inherit; font-size:inherit;}
#dp_cmt_wrap.ap_ans .cmt_time{margin-left:0;}
#dp_cmt_wrap.ap_ans #dp_no_cmt{padding:1.5rem 1.75rem !important; border:0; text-align:left;}
#dp_cmt_wrap.ap_ans #dp_no_cmt::before{display:none;}
/* 답변의 답변(대댓글) 앞 화살표 */
#dp_cmt_wrap.ap_ans .dpp_cmm_inner{position:relative;}
#dp_cmt_wrap.ap_ans .dpp_cmm_inner::after{content:''; position:absolute; left:-2.5rem; top:.75rem; width:1.5rem; height:1.75rem; background:url(/img/board/re_answer_ic.png) no-repeat center; background-size:1.46875rem 1.71875rem;}
.ap_vbtns{margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--line,#e1e2e4);}
.ap_vbtns .rsv_btn{flex:0 0 auto; min-width:10rem;}
.ap_vbtns .rsv_btn.del{border-color:var(--line,#e1e2e4); color:var(--gray,#6d6d6d);}
.ap_vbtns .rsv_btn.del:hover{background:var(--gray,#6d6d6d); border-color:var(--gray,#6d6d6d); color:#fff;}

/* ===== 반응형 ===== */
@media screen and (max-width:1024px){
	.ap_notice{padding:1.5rem; gap:1.25rem;}
	.ap_notice_t strong{font-size:1.25rem;}
	.ap_notice_tel{min-width:10rem; padding:1rem 1.25rem;}
	.ap_cate{flex-basis:7.5rem;}
	.ap_name{flex-basis:5.5rem;}
	.ap_date{flex-basis:6rem;}
	.ap_state{flex-basis:5.5rem;}
	.ap_lb{flex-basis:8rem; font-size:1rem; min-height: 3rem;}
	.ap_editor textarea, .sub .ap_editor textarea#wr_content{font-size: 0.875rem; padding: 0.875rem 1rem; min-height: 12rem;}
	.ap_file_name{font-size: 0.875rem; height: 3rem; padding: 0 1rem;}
	.ap_file_btn{font-size: 0.875rem; height: 3rem;}
	.ap_lb br.mob{display: none !important;}
}
@media screen and (max-width:768px){
	.ap_notice{flex-direction:column; align-items:stretch; gap:1rem; margin-bottom:1.5rem; padding:1.25rem; border-radius:.75rem;}
	.ap_notice_t strong{font-size:1.125rem;}
	.ap_notice_t p{font-size:.875rem;}
	.ap_notice_t .ap_notice_warn{font-size:.8125rem;}
	.ap_notice_tel{flex-direction:row; justify-content:center; gap:.5rem; padding:.875rem 1rem;}
	.ap_notice_tel b{font-size:1.125rem;}
	.ap_tr{flex-wrap:wrap; gap:.375rem .75rem; padding:1rem .25rem;}
	.ap_tr.ap_th{display:none;}
	.ap_num{display:none;}
	.ap_tr.is-notice .ap_num{display:block; flex:0 0 auto;}
	.ap_cate{flex:0 0 auto; order:1; text-align:left;}
	.ap_state{flex:0 0 auto; order:2; margin-left:auto;}
	.ap_tit{flex:1 1 100%; order:3;}
	.ap_tit a{font-size:1rem;}
	.ap_subject{white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
	.ap_name{flex:0 0 auto; order:4; font-size:.8125rem; color:var(--gray3,#878a93); text-align:left;}
	.ap_name::after{content:'·'; margin-left:.5rem; color:#c5c8cf;}
	.ap_date{flex:0 0 auto; order:5; font-size:.8125rem; text-align:left;}
	.ap_foot{display:flex; flex-direction:column-reverse; gap:1.5rem; margin:1.5rem 0 2.5rem;}
	.ap_foot .rsv_btn, .ap_write .rsv_btn{font-size: 1rem; min-height: 3rem; min-width: 10rem;}
	.ap_row{flex-direction:column; gap:.5rem; padding:1rem 0;}
	.ap_lb{flex:none; min-height:0; font-size:.9375rem;}
	.ap_row_ta .ap_lb, .ap_row_privacy .ap_lb{padding-top:0;}
	.ap_file_btn{padding:0 1rem; font-size:.9375rem;}
	.ap_write .ap_btns{padding-top:1.5rem;}
	.ap_fd{width: 100%;}
	.ap_vtit{font-size:1.375rem;}
	.ap_vinfo{grid-template-columns:1fr; gap:.5rem; margin-top:1.25rem;}
	.ap_vinfo > div{display:flex; align-items:center; gap:.75rem; padding:.75rem 1rem;}
	.ap_vinfo dt{flex:0 0 4rem;}
	.ap_vinfo dd{margin-top:0; font-size:.9375rem;}
	.ap_vcontent{font-size:.9375rem;}
	.ap_ans > div{padding:1.25rem 1.25rem 1.25rem 3.25rem;}
	.ap_ans > div::before{left:1rem; top:1.25rem; width:1.5rem; height:1.5rem; font-size:.8125rem;}
	#dp_cmt_wrap.ap_ans .dpp_cmm_inner::after{left:-2.125rem; top:.5rem; width:1.25rem; height:1.5rem; background-size:1.1875rem 1.375rem;}
	.ap_vbtns{flex-direction:column; margin-top:1.5rem; padding-top:1.25rem;}
	.ap_vbtns .rsv_btn{width:100%; min-width:0;}
}

/* =====================================================================
   자주 묻는 질문(dp_faq 스킨) : 목록 .dpp_qna_wrap .faq_bd
   - 아코디언 본체(.faq / .faq_item / .faq_q / .faq_a)는 서브페이지 공통 스타일(sub_page.css)을 그대로 사용
   - 여기서는 게시판에서만 다른 점만 덮어쓴다 (기본 배경 var(--bg), 에디터 본문 보정, 첨부파일)
   ===================================================================== */
/* ===== 목록 : 기본(닫힘) 상태 배경은 화이트가 아니라 var(--bg) ===== */
.dpp_qna_wrap .faq_item{background:var(--bg,#f7f7f8);}
.dpp_qna_wrap .faq_item.on{background:var(--navy,#142d42);}

/* 답변 본문 : 에디터(HTML) 내용 보정 - button > span 구조 안에 들어오므로 폰트/여백을 상속값으로 맞춘다 */
.dpp_qna_wrap .faq_a .tx{word-break:keep-all; overflow-wrap:anywhere;}
.dpp_qna_wrap .faq_a .tx p{font-size:inherit; line-height:inherit; letter-spacing:inherit; color:inherit;}
.dpp_qna_wrap .faq_a .tx p + p{margin-top:.5rem;}
.dpp_qna_wrap .faq_a .tx img{display:block; max-width:100%; height:auto !important; margin:.75rem 0; border-radius:.75rem;}
.dpp_qna_wrap .faq_a .tx a{color:inherit; text-decoration:underline; text-underline-offset:.2rem;}

/* 첨부파일 */
.dpp_qna_wrap .faq_a .down{display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.25rem; margin-top:1.25rem;}
.dpp_qna_wrap .faq_a .down a{display:inline-flex; align-items:center; gap:.375rem; padding:.375rem .875rem; border:1px solid rgba(255,255,255,.35); border-radius:6.25rem; font-size:.9375rem; font-weight:600; line-height:1.4; color:#fff; text-decoration:none; transition:var(--t,all .3s ease);}
.dpp_qna_wrap .faq_a .down a:hover{background:rgba(255,255,255,.12);}
.dpp_qna_wrap .faq_a .down a img{width:1.125rem; filter:brightness(0) invert(1);}

/* 목록 아래 : 버튼 영역은 사용하지 않으므로 페이지네이션만 남긴다 */
.dpp_qna_wrap .dpp_btn_wrap{display:none;}
.dpp_qna_wrap .faq_bd + .dpp_btn_wrap + .dpp_page_wrap,
.dpp_qna_wrap .faq_bd + .dpp_page_wrap{margin-top:3.75rem;}

/* ===== 반응형 ===== */
@media screen and (max-width:768px){
	.dpp_qna_wrap .faq_a .tx img{margin:.5rem 0; border-radius:.5rem;}
	.dpp_qna_wrap .faq_a .down{gap:.375rem .75rem; margin-top:.875rem;}
	.dpp_qna_wrap .faq_a .down a{padding:.25rem .625rem; font-size:.8125rem;}
	.dpp_qna_wrap .faq_a .down a img{width:1rem;}
	.dpp_qna_wrap .faq_bd + .dpp_btn_wrap + .dpp_page_wrap,
	.dpp_qna_wrap .faq_bd + .dpp_page_wrap{margin-top:2rem;}
}

/* ===== 게시물 비밀번호 확인 팝업 (#secret-popup) : 간편예약 팝업(.ea_pop)과 같은 결 ===== */
#secret-popup.sp_pop .popBg{background:rgba(8,21,33,.6);}
#secret-popup.sp_pop .popInner{width:30rem; max-width:calc(100% - 2rem); padding:0; border-radius:1.25rem; box-shadow:0 1.5rem 3.75rem rgba(0,0,0,.25); font-family:var(--font); overflow:visible;}
#secret-popup.sp_pop .sp_close{position:absolute; right:1.25rem; top:1.25rem; z-index:2; display:flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; background:var(--navy); transition:var(--tr);}
#secret-popup.sp_pop .sp_close:hover{background:var(--pink);}
#secret-popup.sp_pop .sp_close img{width:.875rem; filter:brightness(0) invert(1);}
#secret-popup.sp_pop .head{display:block; padding:2.5rem 4.5rem 1.5rem 2.5rem; border-bottom:1px solid var(--line); font-size:inherit; font-weight:400; color:inherit;}
#secret-popup.sp_pop .sp_label{display:inline-flex; align-items:center; gap:.375rem; font-family:var(--font-en); font-size:.8125rem; font-weight:700; letter-spacing:.04em; color:var(--pink);}
#secret-popup.sp_pop .sp_label svg{width:1rem; height:1rem;}
#secret-popup.sp_pop .head h3{margin-top:.5rem; font-size:1.75rem; font-weight:700; line-height:1.3; letter-spacing:-.02em; color:var(--navy); word-break:keep-all;}
#secret-popup.sp_pop .sp_desc{margin-top:.625rem; font-size:.9375rem; line-height:1.6; color:var(--gray); word-break:keep-all;}
#secret-popup.sp_pop .body{margin-top:0; padding:1.75rem 2.5rem .5rem;}
#secret-popup.sp_pop .body .formWrap{margin-top:0;}
#secret-popup.sp_pop .sp_lb{display:block; margin-bottom:.375rem; font-size:.8125rem; font-weight:600; color:var(--gray3);}
#secret-popup.sp_pop .sp_lb i{font-style:normal; color:var(--pink);}
#secret-popup.sp_pop .body .formItem{height:3.125rem; padding:0 1rem; border:1px solid var(--line); border-radius:.625rem; font-family:var(--font); font-size:1rem; color:var(--txt); transition:var(--tr); outline: none !important;}
#secret-popup.sp_pop .body .formItem:focus{border-color:var(--navy) !important;}
#secret-popup.sp_pop .body .formItem::placeholder{color:#B4B8C0; font-weight:400;}
#secret-popup.sp_pop .body .formWrap .desc{margin-top:.5rem; font-size:.8125rem; font-weight:500; color:var(--pink);}
#secret-popup.sp_pop .foot{padding:1.25rem 2.5rem 2.5rem;}
#secret-popup.sp_pop .foot .btnWrap{margin-top:0;}
#secret-popup.sp_pop .foot .flex{gap:.625rem;}
#secret-popup.sp_pop .sp_btn{flex:1; width:auto; height:3.375rem; line-height:3.375rem; border:1px solid var(--navy); border-radius:3.375rem; font-size:1.0625rem; font-weight:700; transition:var(--tr);}
#secret-popup.sp_pop .sp_btn.fill{background:var(--pink); border-color:var(--pink); color:#fff;}
#secret-popup.sp_pop .sp_btn.fill:hover{background:#cf2760; border-color:#cf2760;}
#secret-popup.sp_pop .sp_btn.line{background:#fff; color:var(--navy);}
/* #secret-popup.sp_pop .sp_btn.line:hover{background:var(--navy); color:#fff;} */

@media screen and (max-width:768px){
	#secret-popup.sp_pop .popInner{left:0; top:auto; bottom:0; width:100%; max-width:none; transform:none; border-radius:1.25rem 1.25rem 0 0;}
	#secret-popup.sp_pop .sp_close{right:1rem; top:1rem; width:2.125rem; height:2.125rem;}
	#secret-popup.sp_pop .head{padding:1.75rem 3.75rem 1.25rem 1.25rem;}
	#secret-popup.sp_pop .head h3{font-size:1.375rem;}
	#secret-popup.sp_pop .sp_desc{font-size:.875rem;}
	#secret-popup.sp_pop .body{padding:1.25rem 1.25rem .5rem;}
	#secret-popup.sp_pop .body .formItem{height:2.875rem; font-size:.9375rem;}
	#secret-popup.sp_pop .foot{padding:1rem 1.25rem 1.5rem;}
	#secret-popup.sp_pop .sp_btn{height:3rem; line-height:3rem; font-size:.9375rem;}
}

/* ===== 보기 (갤러리 상세 / dp_gallery view.skin.php) ===== */
.gv_view{max-width:87.5rem; margin:0 auto;}
.gv_head{padding-bottom:1.5rem; border-bottom:2px solid var(--navy,#142d42);}
.gv_tags{display:flex; align-items:center; gap:.5rem; margin-bottom:.875rem;}
.gv_ct{display:inline-flex; align-items:center; height:1.75rem; padding:0 .75rem; border-radius:1.75rem; background:rgba(231,51,110,.1); font-size:.8125rem; font-weight:700; color:var(--primary,#e7336e);}
.gv_tit{font-size:1.75rem; font-weight:700; line-height:1.35; letter-spacing:-.02em; color:var(--title,#171719); word-break:keep-all;}
.gv_meta{display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:.875rem;}
.gv_meta li{display:flex; align-items:center; gap:.5rem; font-size:.9375rem; color:var(--gray3,#878a93);}
.gv_meta li b{font-weight:500; color:var(--body,#5a5c63); word-break:break-all;}
.gv_src{display:inline-flex; align-items:center; gap:.5rem; margin-top:1.25rem; padding:.6875rem 1.25rem; border:1px solid var(--navy,#142d42); border-radius:3rem; font-size:.9375rem; font-weight:700; color:var(--navy,#142d42); transition:var(--tr,all .3s ease);}
.gv_src:hover{background:var(--navy,#142d42); color:#fff;}
.gv_src svg{width:.875rem; height:.875rem;}
.gv_body{margin-top:2.5rem;}
.gv_imgs{margin-bottom:1.5rem;}
.gv_imgs img{display:block; max-width:100%; height:auto; margin:0 auto .75rem; border-radius:.75rem;}
.gv_content{font-size:1rem; line-height:1.75; color:var(--body,#5a5c63); word-break:break-word;}
.gv_content img{max-width:100%; height:auto;}
.gv_content .dp_youtube{position:relative; aspect-ratio:16/9; margin-bottom:1.25rem;}
.gv_content .dp_youtube iframe{position:absolute; inset:0; width:100%; height:100%; border-radius:.75rem;}
.gv_files{margin-top:2rem;}
.gv_files li{display:flex; align-items:center; gap:1rem; padding:.875rem 1.25rem; border:1px solid var(--line,#e1e2e4); border-radius:.75rem; background:#fff;}
.gv_files li + li{margin-top:.5rem;}
.gv_file_lb{flex-shrink:0; font-size:.8125rem; font-weight:700; color:var(--gray3,#878a93); min-width: 3rem;}
.gv_files a{display:inline-flex; align-items:center; gap:.5rem; min-width:0; font-size:.9375rem; font-weight:500; color:var(--title,#171719); text-decoration:underline; text-underline-offset:.2rem; word-break:break-all;}
.gv_files a em{flex-shrink:0; font-style:normal; font-size:.8125rem; color:var(--gray3,#878a93);}
.gv_links{margin-top:.5rem;}
.gv_nav{margin-top:2.5rem; border-top:1px solid var(--line,#e1e2e4);}
.gv_nav > div{display:flex; align-items:center; gap:1.25rem; min-height:3.75rem; padding:.875rem 0; border-bottom:1px solid var(--line,#e1e2e4);}
.gv_nav_lb{flex:0 0 4.5rem; font-size:.9375rem; font-weight:700; color:var(--navy,#142d42);}
.gv_nav_tx{min-width:0; font-size:1rem; color:var(--body,#5a5c63); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
a.gv_nav_tx{transition:var(--tr,all .3s ease);}
a.gv_nav_tx:hover{color:var(--primary,#e7336e); text-decoration:underline; text-underline-offset:.2rem;}
.gv_nav_tx.none{color:var(--gray3,#878a93);}
.gv_btns{display:flex; justify-content:center; gap:.75rem; margin-top:2.5rem;}
.gv_btns .rsv_btn{flex:0 0 auto; min-width:10rem;}

@media screen and (max-width:768px){
	.gv_tit{font-size:1.375rem;}
	.gv_meta{gap:.375rem 1rem; margin-top:.75rem;}
	.gv_meta li{font-size:.875rem;}
	.gv_src{margin-top:1rem; padding:.625rem 1rem; font-size:.875rem;}
	.gv_body{margin-top:1.75rem;}
	.gv_content{font-size:.9375rem;}
	.gv_files{margin-top:1.5rem;}
	.gv_files li{flex-direction:column; align-items:flex-start; gap:.375rem; padding:.875rem 1rem;}
	.gv_nav{margin-top:1.75rem;}
	.gv_nav > div{gap:.875rem; min-height:3.25rem;}
	.gv_nav_lb{flex:0 0 3.75rem; font-size:.875rem;}
	.gv_nav_tx{font-size:.9375rem;}
	.gv_btns{margin-top:1.75rem;}
	.gv_btns .rsv_btn{width:100%; min-width:0;}
}

/* ===== 학술·연구 갤러리 (dp_gallery_research) ===== */
/* 목록 카드 : 센터명 + 연구자 + 주제 */
.gvr_list > li{display:flex;}
.gvr_list .dpp_gal_in{display:flex; width:100%; border:1px solid var(--line,#e1e2e4); border-radius:.75rem; background:#fff; overflow:hidden; transition:var(--tr,all .3s ease);}
.gvr_list .dpp_pic_cn{display:flex; flex-direction:column; width:100%;}
.gvr_list .dpp_gal_in:hover{border-color:var(--navy,#142d42); box-shadow:0 .75rem 2rem rgba(8,21,33,.08);}
.gvr_list .dpp_gal_in .dpp_imgArea{margin-bottom:0; border-radius:0;}
.gvr_list .dpp_gal_in .dpp_imgArea a{background:var(--bg-alt,#f7f7f8);}
.gvr_list .dpp_gal_in .dpp_imgArea img{object-fit:cover;}
.gvr_txt{display:block; flex:1 1 auto; padding:1.25rem 1.375rem 1.5rem;}
.gvr_center{display:block; font-size:.875rem; font-weight:700; line-height:1.4; color:var(--primary,#e7336e);}
.gvr_who{display:block; margin-top:.5rem; font-size:1.125rem; font-weight:700; line-height:1.4; color:var(--title,#171719); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.gvr_subj{margin-top:.625rem; font-size:.9375rem; line-height:1.6; color:var(--gray,#6d6d6d); word-break:keep-all; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
/* .gvr_list .dpp_gal_in:hover .gvr_who{color:var(--primary,#e7336e);} */

/* 상세 연구 정보 */
/* 제목 영역 아래줄은 표 상단 네이비 라인으로 대신한다 (선 중복 방지) */
.gvr_view .gv_head{padding-bottom:1.5rem; border-bottom:0;}
.gvr_spec{margin-top:0; border-top:2px solid var(--navy,#142d42);}
.gvr_spec > div{display:flex; border-bottom:1px solid var(--line,#e1e2e4);}
.gvr_spec dt{flex:0 0 11rem; padding:1.125rem 1.5rem; background:var(--bg-alt,#f7f7f8); font-size:.9375rem; font-weight:700; line-height:1.6; color:var(--title,#171719);}
.gvr_spec dd{flex:1 1 auto; min-width:0; padding:1.125rem 1.5rem; font-size:1rem; line-height:1.6; color:var(--body,#5a5c63); word-break:break-word;}
/* .gvr_spec .gvr_cont dd{padding:1.5rem;} */
.gvr_spec .gvr_cont .gv_imgs{margin-bottom:1rem;}
.gvr_spec .gvr_cont .gv_content{font-size:1rem; line-height:1.75;}

@media screen and (max-width:768px){
	.gvr_txt{padding:1rem 1.125rem 1.25rem;}
	.gvr_center{font-size:.8125rem;}
	.gvr_who{margin-top:.375rem; font-size:1.125rem;}
	.gvr_subj{margin-top:.5rem; font-size:.875rem;}
	.gvr_spec > div{flex-direction:column;}
	.gvr_spec dt{flex:none; padding:.625rem 1rem; font-size:.875rem;}
	.gvr_spec dd{padding:.875rem 1rem; font-size:.9375rem;}
	/* .gvr_spec .gvr_cont dd{padding:1.25rem 1rem;} */
	.gvr_spec .gvr_cont .gv_content{font-size:.9375rem;}
}

/* ===== 건강정보 채널 바로가기 (disease_info 목록 상단) ===== */
.ds_sns{display:flex; gap:.75rem; margin-bottom:2.5rem;}
.ds_sns li{flex:1 1 0; min-width:0;}
.ds_sns_btn{display:flex; align-items:center; gap:.75rem; width:100%; height:100%; min-height:4.5rem; padding:1rem 1.25rem; border:1px solid var(--line,#e1e2e4); border-radius:.875rem; background:#fff; transition:var(--tr,all .3s ease);}
.ds_sns_btn:hover{border-color:var(--navy,#142d42); box-shadow:0 .75rem 2rem rgba(8,21,33,.08);}
.ds_sns_ic{flex-shrink:0; display:flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%;}
.ds_sns_ic img{width:1.375rem;}
.ds_sns_btn.yt .ds_sns_ic{background:#FF0000;}
.ds_sns_btn.blog .ds_sns_ic{background:#03C75A;}
.ds_sns_btn.cafe .ds_sns_ic{background:#1EC800;}
.ds_sns_btn.insta .ds_sns_ic{background:linear-gradient(45deg,#FEDA75,#FA7E1E,#D62976,#962FBF,#4F5BD5);}
.ds_sns_btn b{flex:1 1 auto; min-width:0; font-size:1rem; font-weight:700; color:var(--title,#171719); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ds_sns_ar{flex-shrink:0; width:.875rem; height:.875rem; color:var(--gray3,#878a93); transition:var(--tr,all .3s ease);}
.ds_sns_btn:hover .ds_sns_ar{color:var(--primary,#e7336e);}

@media screen and (max-width:1024px){
	.ds_sns{flex-wrap:wrap;}
	.ds_sns li{flex:1 1 calc(50% - .375rem);}
}
@media screen and (max-width:768px){
	.ds_sns{gap:.5rem; margin-bottom:1.75rem;}
	.ds_sns li{flex:1 1 calc(50% - .25rem);}
	.ds_sns_btn{gap:.5rem; min-height:3.75rem; padding:.75rem .875rem; border-radius:.75rem;}
	.ds_sns_ic{width:2rem; height:2rem;}
	.ds_sns_ic img{width:1.125rem;}
	.ds_sns_btn b{font-size:.875rem;}
}

/* ===== 치료사례 (dp_gallery_case / treatment_case) ===== */
/* 목록 : 좌 썸네일 + 우 정보 카드, 4열 */
.cs_list{display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem;}
.cs_card{display:flex; align-items:stretch; height:100%; border:1px solid var(--line,#e1e2e4); border-radius:.75rem; background:#fff; overflow:hidden; transition:var(--tr,all .3s ease);}
.cs_card:hover{border-color:var(--navy,#142d42); box-shadow:0 .75rem 2rem rgba(8,21,33,.08);}
.cs_thumb{flex:0 0 46%; position:relative; aspect-ratio:1/1; background:#111;}
.cs_thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.cs_thumb.no-image{background:var(--bg-alt,#f7f7f8) url(/img/main/no_data_ic.svg) no-repeat center / 2.5rem;}
.cs_info{flex:1 1 auto; min-width:0; display:flex; flex-direction:column; justify-content:center; padding:1rem 1.125rem;}
.cs_ct{align-self:flex-start; display:inline-flex; align-items:center; height:1.5rem; padding:0 .625rem; border-radius:1.5rem; background:rgba(231,51,110,.1); font-size:.75rem; font-weight:700; font-style:normal; color:var(--primary,#e7336e);}
.cs_tit{display:-webkit-box; margin-top:.625rem; font-size:1.125rem; font-weight:700; line-height:1.45; color:var(--title,#171719); word-break:keep-all; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:var(--tr,all .3s ease);}
.cs_card:hover .cs_tit{color:var(--primary,#e7336e);}
.cs_meta{margin-top:.625rem;}
.cs_meta li{position:relative; padding-left:.625rem; font-size:.875rem; line-height:1.6; color:var(--gray,#6d6d6d); word-break:keep-all;}
.cs_meta li::before{content:''; position:absolute; left:0; top:.625rem; width:3px; height:3px; border-radius:50%; background:var(--navy,#142d42);}

/* 상세 */
.cs_view .cs_head{position:relative; padding:2rem 2.5rem; border-radius:1rem; background:linear-gradient(110deg, var(--navy,#142d42) 0 62%, #1d4262 62% 100%); color:#fff; overflow:hidden;}
.cs_head_lb{font-size:.9375rem; font-weight:600; color:rgba(255,255,255,.75);}
.cs_head_lb i{font-style:normal; margin:0 .25rem;}
.cs_head_tit{margin-top:.5rem; font-size:1.875rem; font-weight:700; line-height:1.35; letter-spacing:-.02em; color:#fff; word-break:keep-all;}
.cs_sec{margin-top:2.5rem;}
.cs_sec_tit,
.cs_content h3{position:relative; margin:0 0 1rem; padding-bottom:.75rem; border-bottom:1px solid var(--line,#e1e2e4); font-size:1.375rem; font-weight:700; line-height:1.4; color:var(--title,#171719);}
.cs_sec_tit::after,
.cs_content h3::after{content:''; position:absolute; left:0; bottom:-1px; width:3.5rem; height:3px; background:var(--navy,#142d42);}
.cs_patient{display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem;}
.cs_patient > div{padding:1rem 1.25rem; border-radius:.75rem; background:var(--bg-alt,#f7f7f8);}
.cs_patient dt{font-size:.8125rem; font-weight:600; color:var(--gray3,#878a93);}
.cs_patient dd{margin-top:.25rem; font-size:1rem; font-weight:700; line-height:1.5; color:var(--title,#171719); word-break:keep-all;}
.cs_body{margin-top:2.5rem;}
.cs_content h3{margin-top:2.5rem;}
.cs_content h3:first-child{margin-top:0;}
.cs_content p{margin-bottom:.5rem;}
.cs_content img{display:block; max-width:100%; height:auto; margin:1rem 0; border-radius:.5rem;}
.cs_notice{margin-top:2.5rem; padding:1.25rem 1.5rem; border-radius:.75rem; background:var(--bg-alt,#f7f7f8);}
.cs_notice strong{display:block; margin-bottom:.375rem; font-size:.9375rem; font-weight:700; color:var(--navy,#142d42);}
.cs_notice p{position:relative; padding-left:.75rem; font-size:.875rem; line-height:1.6; color:var(--gray,#6d6d6d); word-break:keep-all;}
.cs_notice p::before{content:''; position:absolute; left:0; top:.625rem; width:3px; height:3px; border-radius:50%; background:var(--primary,#e7336e);}

@media screen and (max-width:1280px){
	.cs_list{grid-template-columns:repeat(3,1fr);}
}
@media screen and (max-width:1024px){
	.cs_list{grid-template-columns:repeat(2,1fr);}
	.cs_patient{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:768px){
	.cs_list{grid-template-columns:1fr; gap:.75rem;}
	.cs_thumb{flex-basis:38%;}
	.cs_info{padding:.875rem 1rem;}
	.cs_tit{font-size:.9375rem;}
	.cs_view .cs_head{padding:1.5rem 1.25rem; border-radius:.75rem;}
	.cs_head_lb{font-size:.8125rem;}
	.cs_head_tit{font-size:1.375rem;}
	.cs_sec, .cs_body{margin-top:1.75rem;}
	.cs_sec_tit, .cs_content h3{font-size:1.125rem;}
	.cs_content h3{margin-top:1.75rem;}
	.cs_patient{gap:.5rem;}
	.cs_patient > div{padding:.875rem 1rem;}
	.cs_patient dd{font-size:.9375rem;}
	.cs_notice{margin-top:1.75rem; padding:1rem 1.125rem;}
}

/* ===== 고객의 소리 (dp_apply_voice) ===== */
/* 목록 상단 안내 */
.vc_intro{text-align:center;}
.vc_intro strong{display:block; font-size:1.75rem; font-weight:700; line-height:1.4; letter-spacing:-.02em; color:var(--title,#171719); word-break:keep-all;}
.vc_intro p{margin-top:.875rem; font-size:1.0625rem; line-height:1.7; color:var(--body,#5a5c63); word-break:keep-all;}
/* 의견구분 카드 */
.vc_cards{display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin-top:2.5rem;}
.vc_card{display:flex; flex-direction:column; align-items:flex-start; height:100%; padding:2.25rem 2.5rem; border:1px solid var(--line,#e1e2e4); border-radius:1.25rem; background:#fff; transition:var(--tr,all .3s ease);}
.vc_card:hover{border-color:var(--navy,#142d42); box-shadow:0 1rem 2.5rem rgba(8,21,33,.08); transform:translateY(-.25rem);}
.vc_card_ic{display:flex; align-items:center; justify-content:center; width:3.5rem; height:3.5rem; border-radius:50%;}
.vc_card_ic::before{content:''; width:1.75rem; height:1.75rem; background:currentColor; -webkit-mask:var(--vc-ic) center / contain no-repeat; mask:var(--vc-ic) center / contain no-repeat;}
.vc_card.praise .vc_card_ic{--vc-ic:url(/img/main/ic_hands.svg); background:rgba(231,51,110,.1); color:var(--primary,#e7336e);}
.vc_card.improve .vc_card_ic{--vc-ic:url(/img/main/ic_chat.svg); background:rgba(20,45,66,.08); color:var(--navy,#142d42);}
.vc_card_tit{margin-top:1.25rem; font-size:1.5rem; font-weight:700; line-height:1.35; color:var(--title,#171719);}
.vc_card_desc{flex:1 1 auto; margin-top:.625rem; font-size:1rem; line-height:1.65; color:var(--gray,#6d6d6d); word-break:keep-all;}
.vc_card_btn{display:inline-flex; align-items:center; gap:.375rem; margin-top:1.75rem; padding:.75rem 1.375rem; border-radius:3rem; font-size:.9375rem; font-weight:700; transition:var(--tr,all .3s ease);}
.vc_card_btn svg{width:.875rem; height:.875rem;}
.vc_card.praise .vc_card_btn{background:var(--primary,#e7336e); color:#fff;}
.vc_card.improve .vc_card_btn{background:var(--navy,#142d42); color:#fff;}
.vc_card:hover .vc_card_btn svg{transform:translateX(.125rem);}
/* 작성폼 : 의견구분 라디오 */
.vc_type{display:flex; align-items: center; flex-wrap:wrap; gap:.75rem 2.5rem; min-height: 3.25rem;}
/* 의견구분 행만 최소 높이 축소 (라벨·라디오 둘 다) */
.ap_row_type .ap_lb,
.ap_row_type .vc_type{min-height:2.25rem;}
.vc_type_item{position:relative; cursor:pointer;}
.vc_type_item input{position:absolute; opacity:0; width:1px; height:1px;}
.vc_type_item span{display:inline-flex; align-items:center; gap:.5rem; font-size:1rem; font-weight:500; color:var(--body,#5a5c63); transition:var(--tr,all .3s ease);}
.vc_type_item span::before{content:''; flex-shrink:0; width:1.125rem; height:1.125rem; border:1px solid #c5c8cf; border-radius:50%; background:#fff; box-sizing:border-box; transition:var(--tr,all .3s ease);}
.vc_type_item input:checked + span{color:var(--navy,#142d42); font-weight:700;}
.vc_type_item input:checked + span::before{border:.3125rem solid var(--navy,#142d42);}
.vc_type_item input:focus-visible + span{outline:2px solid var(--navy,#142d42); outline-offset:2px;}
/* 작성폼 하단 안내 */
.vc_guide{max-width:60rem; margin:2.5rem auto 0; padding:1.5rem 1.75rem; border-radius:.75rem; background:var(--bg-alt,#f7f7f8);}
.vc_guide li{position:relative; padding-left:.875rem; font-size:.875rem; line-height:1.7; color:var(--gray,#6d6d6d); word-break:keep-all;}
.vc_guide li + li{margin-top:.375rem;}
.vc_guide li::before{content:''; position:absolute; left:0; top:.6875rem; width:3px; height:3px; border-radius:50%; background:var(--gray3,#878a93);}
.vc_guide li a b{color:var(--navy,#142d42);}

@media screen and (max-width:768px){
	.vc_intro strong{font-size:1.25rem;}
	.vc_intro p{margin-top:.625rem; font-size:.875rem;}
	.vc_intro p br{display:none;}
	.vc_cards{grid-template-columns:1fr; gap:.75rem; margin-top:1.75rem;}
	.vc_card{padding:1.5rem 1.25rem; border-radius:1rem;}
	.vc_card_ic{width:2.75rem; height:2.75rem;}
	.vc_card_ic::before{width:1.375rem; height:1.375rem;}
	.vc_card_tit{margin-top:.875rem; font-size:1.25rem;}
	.vc_card_desc{font-size:.875rem;}
	.vc_card_btn{margin-top:1.25rem; padding:.625rem 1.125rem; font-size:.875rem;}
	.vc_type{gap:.625rem 2rem;}
	.ap_row_type .ap_lb, .ap_row_type .vc_type{min-height:0;}
	.vc_type_item span{font-size:.9375rem;}
	.vc_guide{margin-top:1.75rem; padding:1.125rem 1.125rem;}
	.vc_guide li{font-size:.8125rem;}
}

/* 페이지가 1개 이하라 페이지네이션이 출력되지 않은 래퍼는 자리도 차지하지 않게 숨김 */
.dpp_page_wrap:not(:has(.pg_wrap)){display:none;}

/* ── 사용자 게시판 페이지네이션 (.dpp_page_wrap) : 테두리 없는 숫자 + 가는 화살표, 현재 페이지 굵게 ──
   마크업 : lib/common.lib.php get_board_paging (dpbbs/list.php) — 화살표는 항상 노출, 이동 불가 시 .is-disabled */
.dpp_page_wrap .pg{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:1rem;}
.dpp_page_wrap .pg .pg_page, .dpp_page_wrap .pg .pg_current{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:1.125rem;line-height:1;text-indent:0;overflow:visible;vertical-align:middle;}
.dpp_page_wrap .pg .pg_page{color:#999;font-weight:500;transition:color .2s;}
.dpp_page_wrap .pg a.pg_page:hover{color:#111;background:none;}
.dpp_page_wrap .pg .pg_current{color:#111;font-weight:700;}
.dpp_page_wrap .pg .pg_start, .dpp_page_wrap .pg .pg_prev, .dpp_page_wrap .pg .pg_next, .dpp_page_wrap .pg .pg_end{position:relative;width:2.25rem;font-size:0;color:#ccc;}
.dpp_page_wrap .pg .pg_start::before, .dpp_page_wrap .pg .pg_prev::before, .dpp_page_wrap .pg .pg_next::before, .dpp_page_wrap .pg .pg_end::before{content:'';width:1.625rem;height:1.625rem;background:currentColor;-webkit-mask:var(--pg-ic) no-repeat center/contain;mask:var(--pg-ic) no-repeat center/contain;}
.dpp_page_wrap .pg .pg_start{--pg-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.5 5L5.5 10L10.5 15M15 5L10 10L15 15'/%3E%3C/svg%3E");}
.dpp_page_wrap .pg .pg_prev{--pg-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.5 5L7.5 10L12.5 15'/%3E%3C/svg%3E");}
.dpp_page_wrap .pg .pg_next{--pg-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 5L12.5 10L7.5 15'/%3E%3C/svg%3E");}
.dpp_page_wrap .pg .pg_end{--pg-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5L10 10L5 15M9.5 5L14.5 10L9.5 15'/%3E%3C/svg%3E");}
.dpp_page_wrap .pg .is-disabled{color:#ddd;pointer-events:none;}
/* dp_bd.css 의 옛 화살표 배경 이미지(.dpp_page_wrap a.pg_page.pg_prev 등)·호버 배경 제거 — 우선순위를 한 단계 높여 덮어씀 */
.dpp_page_wrap .pg a.pg_page.pg_start, .dpp_page_wrap .pg a.pg_page.pg_prev, .dpp_page_wrap .pg a.pg_page.pg_next, .dpp_page_wrap .pg a.pg_page.pg_end,
.dpp_page_wrap .pg a.pg_page.pg_start:hover, .dpp_page_wrap .pg a.pg_page.pg_prev:hover, .dpp_page_wrap .pg a.pg_page.pg_next:hover, .dpp_page_wrap .pg a.pg_page.pg_end:hover{background:none;border:0;}
.dpp_page_wrap .pg .pg_prev{margin-right:.375rem;}
.dpp_page_wrap .pg .pg_next{margin-left:.375rem;}
.dpp_page_wrap .pg .pg_search{width:auto;padding:0 .5rem;font-size:.9375rem;}   /* 이전검색·다음검색 텍스트 링크 */
.dpp_page_wrap .pg .pg_search::before{display:none;}
@media (max-width:1024px){
.dpp_page_wrap .pg{gap:.125rem;}
.dpp_page_wrap .pg .pg_page, .dpp_page_wrap .pg .pg_current{width:2rem;height:2rem;font-size:.9375rem;}
.dpp_page_wrap .pg .pg_start, .dpp_page_wrap .pg .pg_prev, .dpp_page_wrap .pg .pg_next, .dpp_page_wrap .pg .pg_end{width:1.75rem;}
.dpp_page_wrap .pg .pg_start::before, .dpp_page_wrap .pg .pg_prev::before, .dpp_page_wrap .pg .pg_next::before, .dpp_page_wrap .pg .pg_end::before{width:1.375rem;height:1.375rem;}
.dpp_page_wrap .pg .pg_prev{margin-right:.25rem;}
.dpp_page_wrap .pg .pg_next{margin-left:.25rem;}
}

/* ── 게시판 목록 상단 소개 문구 (theme/basic/skin/board/_board_intro.inc.php) ── */
.board_intro{margin-bottom:4rem;text-align:center;}
.board_intro_tit{font-size:2.25rem;font-weight:700;line-height:1.3;letter-spacing:-.015em;color:#142d42;}
.board_intro_txt{margin-top:1.25rem;font-size:1.125rem;line-height:1.7;color:#5a5c63;word-break:keep-all;}
@media (max-width:1024px){
.board_intro{margin-bottom:2rem;}
.board_intro_tit{font-size:1.5rem;}
.board_intro_txt{margin-top:.75rem;font-size:.9375rem;}
}

/* ── 텍스트 게시판 목록 (dp_basic · dp_research : .dpp_bd_wrap.bd_list) — 사이트 톤으로 정리 ──
   네이비 상단선 · 넉넉한 행 높이 · 호버 시 연회색 행 + 핑크 제목 · 공지는 핑크 알약 뱃지 (온라인 상담 .ap_tbl 도 같은 디자인) */
.bd_list{border-top:1px solid var(--navy,#142d42); border-bottom:0;}
.bd_list .dpp_basic_tbl > li > div{padding:1.5rem .75rem; border-bottom:1px solid #e1e2e4; font-size:.9375rem; color:#878a93; transition:background .2s;}
.bd_list .dpp_basic_tbl > li.dpp_tbl_th > div{padding:1.125rem .75rem; background:#f7f7f8; border-bottom:1px solid #e1e2e4; font-size:1rem; font-weight:700; color:var(--navy,#142d42);}
.bd_list .dpp_basic_tbl .dpp_th_num{width:7rem;}
.bd_list .dpp_basic_tbl .dpp_th_date{width:9rem;}
.bd_list .dpp_basic_tbl .dpp_th_view{width:7rem;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_tt{padding-left:1.5rem; padding-right:1.5rem;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_tt a{font-size:1.125rem; line-height:1.5; font-weight:500; color:#171719; transition:color .2s;}
.bd_list .dpp_basic_tbl > li.dpp_tbl_td:hover > div{background:#f7f7f8;}
.bd_list .dpp_basic_tbl > li.dpp_tbl_td:hover > div.dpp_td_tt a{color:var(--primary,#e7336e);}
.bd_list .dpp_basic_tbl > li > div.dpp_td_cate a{display:inline-block; padding:.25rem .75rem; border-radius:2rem; background:#fff0f4; font-size:.8125rem; font-weight:700; line-height:1.4; color:var(--primary,#e7336e);}
.bd_list .dp_notice_ic{display:inline-flex; align-items:center; justify-content:center; width:auto; height:auto; padding:.25rem .75rem; border-radius:2rem; background:var(--primary,#e7336e);}
.bd_list .dp_notice_ic::before{content:'공지'; font-size:.8125rem; font-weight:700; line-height:1.4; color:#fff;}
@media (max-width:1024px){
.bd_list .dpp_basic_tbl > li{border-bottom:1px solid #e1e2e4;}
.bd_list .dpp_basic_tbl > li.dpp_tbl_td{padding:1.125rem .25rem;}
.bd_list .dpp_basic_tbl > li > div{padding:0; border:0; font-size:.8125rem; background:none !important;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_tt{padding:0 0 .5rem;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_tt a{font-size:1rem; font-weight:600; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.bd_list .dpp_basic_tbl .dpp_td_view{margin-left:.75rem;}
.bd_list .dpp_basic_tbl .dpp_td_date:before, .bd_list .dpp_basic_tbl .dpp_td_view:before{color:#b4b4b8;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_cate{margin-bottom:.5rem;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_cate a{padding:.125rem .625rem; font-size:.75rem;}
.bd_list .dpp_basic_tbl > li > div.dpp_td_num:has(.dp_notice_ic){display:block; margin-bottom:.5rem;}
.bd_list .dp_notice_ic{padding:.125rem .625rem;}
.bd_list .dp_notice_ic::before{font-size:.75rem;}
}

/* ── 온라인 상담 목록(.ap_tbl, dp_apply) : 위 텍스트 게시판 목록(.bd_list)과 같은 디자인으로 덮어씀 ── */
.ap_tbl{border-top:1px solid var(--navy,#142d42);}
.ap_tr{min-height:0; padding:1.5rem 1rem; color:#878a93; transition:background .2s;}
.ap_tr.ap_th{min-height:0; padding:1.125rem 1rem; background:#f7f7f8; font-size:1rem; font-weight:700; color:var(--navy,#142d42);}
.ap_tr:not(.ap_th):hover{background:#f7f7f8;}
.ap_tr.is-current{background:#fdf3f7;}
.ap_num, .ap_date, .ap_name{color:#878a93;}
.ap_tit a{font-size:1.125rem; font-weight:500; color:#171719;}
.ap_tit a .ap_subject{transition:color .2s;}
.ap_tit a:hover .ap_subject{text-decoration:none;}
.ap_tr:not(.ap_th):hover .ap_subject{color:var(--primary,#e7336e);}
.ap_badge{height:auto; padding:.25rem .75rem; border-radius:2rem; background:var(--primary,#e7336e); font-size:.8125rem; line-height:1.4;}
.ap_ct{height:auto; padding:.25rem .75rem; border:0; border-radius:2rem; background:#fff0f4; font-size:.8125rem; font-weight:700; line-height:1.4; color:var(--primary,#e7336e);}
.ap_ct:hover{background:var(--primary,#e7336e); color:#fff;}
@media screen and (max-width:768px){
.ap_tr{padding:1.125rem .25rem;}
.ap_tr:not(.ap_th):hover{background:none;}
.ap_tit a{font-size:1rem; font-weight:600;}
.ap_badge, .ap_ct{padding:.125rem .625rem; font-size:.75rem;}
}

