@charset "utf-8";
/* =====================================================================
   엔플러스병원 새 게시판 (/bbs) - 공지사항 · 온라인상담
   색·글꼴은 홈페이지 리뉴얼(renew.css)의 --nh-* 값을 따른다
   ===================================================================== */
.nbbs{
	--b-main:var(--nh-main,#168c86); --b-main-d:var(--nh-main-d,#0f6b66); --b-main-l:var(--nh-main-l,#e7f4f3);
	--b-sub:var(--nh-sub,#00b0c9); --b-grad:var(--nh-grad,linear-gradient(120deg,#aacd06,#00b0c9));
	--b-text:var(--nh-text,#222628); --b-text2:var(--nh-text2,#55595c); --b-text3:var(--nh-text3,#8a8f92);
	--b-line:var(--nh-line,#e1e6e7); --b-bg:var(--nh-bg,#f5f8f8); --b-danger:#c93c3c;
	--b-radius:var(--nh-radius-s,10px);
	max-width:1080px; margin:0 auto; padding:8px 0 40px; text-align:left;
	font-family:var(--nh-font,'Pretendard',-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif);
	font-size:16px; line-height:1.65; color:var(--b-text); word-break:keep-all; overflow-wrap:anywhere;
}
.nbbs *,.nbbs *::before,.nbbs *::after{box-sizing:border-box;}
.nbbs a{color:inherit; text-decoration:none;}
.nbbs img{max-width:100%; height:auto;}
.nbbs ul{list-style:none; margin:0; padding:0;}
.nbbs p{margin:0;}

/* 상단(헤더) 로그아웃 버튼: 헤더의 링크 모양에 맞춤 */
.nbbs-toplogout{display:inline; margin:0;}
.nbbs-toplogout button{display:inline-block; padding:2px 10px; border-radius:20px; background:rgba(255,255,255,.12); color:#fff; font:inherit; font-size:12.5px; border:0; margin:0; cursor:pointer;}
.nbbs-toplogout button:hover{background:rgba(255,255,255,.24);}

/* 관리자 표시줄 */
.nbbs-adminbar{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; padding:10px 16px; border-radius:var(--b-radius); background:var(--b-main-l); color:var(--b-main-d); font-size:14px;}
.nbbs-adminbar form{margin:0;}
.nbbs-adminbar button{border:0; background:none; color:var(--b-main-d); font:inherit; font-weight:700; text-decoration:underline; cursor:pointer;}

/* 버튼 */
.nbbs-btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:84px; height:46px; padding:0 22px; border-radius:var(--b-radius); border:1px solid var(--b-line); background:#fff; color:var(--b-text); font:inherit; font-size:15px; font-weight:700; cursor:pointer; white-space:nowrap; transition:border-color .15s,background .15s,color .15s; list-style:none;}
.nbbs-btn::-webkit-details-marker{display:none;}
.nbbs-btn:hover{border-color:var(--b-main); color:var(--b-main);}
.nbbs-btn.is-primary{background:var(--b-main); border-color:var(--b-main); color:#fff;}
.nbbs-btn.is-primary:hover{background:var(--b-main-d); border-color:var(--b-main-d); color:#fff;}
.nbbs-btn.is-danger:hover{border-color:var(--b-danger); color:var(--b-danger);}
/* base.css의 a:link{color:#333} 보다 우선 */
.nbbs a.nbbs-btn:link,.nbbs a.nbbs-btn:visited{color:var(--b-text);}
.nbbs a.nbbs-btn:hover{color:var(--b-main);}
.nbbs a.nbbs-btn.is-primary:link,.nbbs a.nbbs-btn.is-primary:visited,.nbbs a.nbbs-btn.is-primary:hover{color:#fff;}
.nbbs a.nbbs-intro__tel:link,.nbbs a.nbbs-intro__tel:visited{color:var(--b-main-d);}
.nbbs-btn:focus-visible,.nbbs input:focus-visible,.nbbs textarea:focus-visible,.nbbs select:focus-visible,.nbbs a:focus-visible{outline:3px solid rgba(22,140,134,.35); outline-offset:2px;}
.nbbs-actions{display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:flex-start; margin:28px 0 0;}
.nbbs-actions__right{display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start;}
.nbbs-actions form.is-inline{margin:0;}

/* 입력 */
.nbbs input:not([type=checkbox]):not([type=radio]):not([type=file]),.nbbs select,.nbbs textarea{width:100%; height:48px; padding:0 14px; border:1px solid var(--b-line); border-radius:var(--b-radius); background:#fff; font:inherit; font-size:16px; color:var(--b-text);}
.nbbs select{-webkit-appearance:none; appearance:none; padding:0 34px 0 14px; line-height:46px; cursor:pointer;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355595c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center/14px no-repeat;}
.nbbs textarea{height:auto; min-height:160px; padding:12px 14px; line-height:1.65; resize:vertical;}
.nbbs input:focus,.nbbs select:focus,.nbbs textarea:focus{outline:0; border-color:var(--b-main); box-shadow:0 0 0 3px rgba(22,140,134,.14);}
.nbbs input[type=checkbox]{accent-color:var(--b-main); width:20px; height:20px; margin:0; flex:none;}
.nbbs input[type=file]{font:inherit; font-size:14px; max-width:100%;}

/* 목록 상단 */
.nbbs-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px;}
.nbbs-head__count{color:var(--b-text2); font-size:15px;}
.nbbs-head__count b{color:var(--b-main);}
.nbbs-search{display:flex; gap:6px; flex:0 1 420px; margin:0;}
.nbbs .nbbs-search select{width:96px; flex:none;}
.nbbs-search button{flex:none; height:48px; padding:0 18px; border:0; border-radius:var(--b-radius); background:var(--b-text); color:#fff; font:inherit; font-weight:700; cursor:pointer;}
.nbbs-search button:hover{background:var(--b-main);}
.nbbs-guide{margin-bottom:18px; padding:14px 18px; border-radius:var(--b-radius); background:var(--b-bg); color:var(--b-text2); font-size:15px;}
.nbbs-guide b{color:var(--b-main-d);}

/* 상담 안내 */
.nbbs-intro{position:relative; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px 40px; margin:0 0 36px; padding:34px 38px; border-radius:22px; background:linear-gradient(120deg,var(--b-main-l),#e3f6f9); overflow:hidden;}
.nbbs-intro::after{content:""; position:absolute; right:-60px; bottom:-80px; width:240px; height:240px; border-radius:50%; background:rgba(255,255,255,.55);}
.nbbs-intro__txt,.nbbs-intro__cta{position:relative; z-index:1;}
.nbbs-intro__eyebrow{display:block; margin-bottom:8px; color:var(--b-main); font-size:13px; font-weight:800; letter-spacing:.16em;}
.nbbs-intro__title{margin:0 0 12px; font-size:24px; font-weight:800; line-height:1.4; color:var(--b-text);}
.nbbs-intro__points li{position:relative; padding-left:24px; color:var(--b-text2); font-size:15px;}
.nbbs-intro__points li+li{margin-top:4px;}
.nbbs-intro__points li::before{content:""; position:absolute; left:0; top:5px; width:16px; height:16px; border-radius:50%; background:var(--b-main) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/10px no-repeat;}
.nbbs-intro__points b{color:var(--b-text);}
.nbbs-intro__cta{display:flex; flex-direction:column; align-items:center; gap:12px;}
.nbbs-btn.is-lg{min-width:220px; height:52px; font-size:16px;}
.nbbs-intro__tel{display:flex; align-items:baseline; gap:8px; color:var(--b-main-d); font-size:22px; font-weight:800;}
.nbbs-intro__tel span{color:var(--b-text3); font-size:13px; font-weight:600;}

/* 목록 (상담) */
.nbbs-list{border-top:2px solid var(--b-text);}
.nbbs-list li{border-bottom:1px solid var(--b-line);}
.nbbs-row{display:flex; align-items:center; gap:18px; padding:18px 8px; transition:background .15s;}
.nbbs-row:hover{background:var(--b-bg);}
.nbbs-row__no{flex:none; width:52px; text-align:center; color:var(--b-text3); font-size:14px; font-variant-numeric:tabular-nums;}
.nbbs-row__main{flex:1; min-width:0;}
.nbbs-row__title{display:block; font-size:17px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.nbbs-row:hover .nbbs-row__title{color:var(--b-main);}
.nbbs-meta{display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:4px; color:var(--b-text3); font-size:14px;}
.nbbs-meta span+span::before{content:""; display:inline-block; width:1px; height:11px; margin-right:14px; background:var(--b-line); vertical-align:-1px;}
.nbbs-state{flex:none; min-width:76px; padding:5px 12px; border-radius:99px; background:#f1f2f3; color:var(--b-text3); font-size:13px; font-weight:700; text-align:center;}
.nbbs-state.is-done{background:var(--b-main-l); color:var(--b-main-d);}
.nbbs-new{display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-left:4px; border-radius:50%; background:#ff6a3d; color:#fff; font-size:10px; font-style:normal; font-weight:800; vertical-align:2px;}
.nbbs-lock{display:inline-block; width:14px; height:16px; margin-right:6px; vertical-align:-2px; background:currentColor; color:var(--b-text3);
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2Zm-7-2a2 2 0 0 1 4 0v2h-4Z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2Zm-7-2a2 2 0 0 1 4 0v2h-4Z'/%3E%3C/svg%3E") center/contain no-repeat;}
.nbbs-lock.is-big{width:34px; height:40px; color:var(--b-main);}

/* 목록 (공지 카드) */
.nbbs-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;}
.nbbs-card{display:flex; flex-direction:column; height:100%; border:1px solid var(--b-line); border-radius:var(--nh-radius,16px); overflow:hidden; background:#fff; transition:box-shadow .2s,transform .2s;}
.nbbs-card:hover{box-shadow:var(--nh-shadow,0 10px 30px rgba(10,60,60,.08)); transform:translateY(-3px);}
.nbbs-card__thumb{display:block; aspect-ratio:4/3; background:var(--b-bg); overflow:hidden;}
.nbbs-card__thumb img{width:100%; height:100%; object-fit:cover; transition:transform .4s;}
.nbbs-card:hover .nbbs-card__thumb img{transform:scale(1.04);}
.nbbs-card__thumb.is-empty{display:flex; align-items:center; justify-content:center; background:var(--b-grad); color:rgba(255,255,255,.9); font-weight:800; letter-spacing:.08em; font-size:14px;}
.nbbs-card__body{display:flex; flex-direction:column; flex:1; justify-content:space-between; gap:10px; padding:18px 20px 20px;}
.nbbs-card__title{font-size:17px; font-weight:700; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.nbbs-card:hover .nbbs-card__title{color:var(--b-main);}

/* 빈 목록 / 안내 */
.nbbs-empty{padding:70px 20px; text-align:center; color:var(--b-text2); border-top:2px solid var(--b-text); border-bottom:1px solid var(--b-line);}
.nbbs-empty__title{margin-bottom:12px !important; font-size:18px; font-weight:700; color:var(--b-text);}
.nbbs-empty .nbbs-btn{margin-top:18px;}

/* 페이지 번호 */
.nbbs-pager{display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:32px;}
.nbbs-pager a,.nbbs-pager strong{display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 8px; border-radius:var(--b-radius); font-size:15px; font-variant-numeric:tabular-nums;}
.nbbs-pager a{color:var(--b-text2);}
.nbbs-pager a:hover{background:var(--b-bg); color:var(--b-main);}
.nbbs-pager strong{background:var(--b-main); color:#fff;}
.nbbs-pager .is-arrow{font-size:20px;}

/* 글보기 */
.nbbs-view{border-top:2px solid var(--b-text);}
.nbbs-view__head{padding:26px 4px 20px; border-bottom:1px solid var(--b-line);}
.nbbs-view__title{margin:0; font-size:24px; font-weight:700; line-height:1.4;}
.nbbs-view__head .nbbs-meta{margin-top:10px;}
.nbbs-view__images{display:flex; flex-direction:column; align-items:center; gap:16px; padding:30px 4px 0;}
.nbbs-view__images img{border-radius:var(--b-radius);}
.nbbs-view__body{padding:30px 4px 40px; min-height:160px; border-bottom:1px solid var(--b-line);}
.nbbs-content{font-size:16px; line-height:1.8;}
.nbbs-content p{margin:0 0 .6em;}
.nbbs-content img{border-radius:6px;}
.nbbs-content iframe{max-width:100%; aspect-ratio:16/9; height:auto; width:100%; border:0; border-radius:var(--b-radius);}
.nbbs-content table{max-width:100%; border-collapse:collapse;}
.nbbs-content td,.nbbs-content th{border:1px solid var(--b-line); padding:6px 10px;}
.nbbs-files{display:flex; flex-direction:column; gap:6px; padding:16px 4px; border-bottom:1px solid var(--b-line); font-size:14px;}
.nbbs-files a{color:var(--b-main-d); font-weight:600; text-decoration:underline;}
.nbbs-files span{color:var(--b-text3);}
.nbbs-near{border-bottom:1px solid var(--b-line);}
.nbbs-near a{display:flex; gap:18px; padding:14px 4px; color:var(--b-text2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.nbbs-near a+a{border-top:1px solid var(--b-line);}
.nbbs-near a:hover{color:var(--b-main);}
.nbbs-near span{flex:none; width:56px; color:var(--b-text3); font-size:14px;}

/* 답변 */
.nbbs-answers{margin-top:28px;}
.nbbs-answers__wait{padding:20px; border-radius:var(--b-radius); background:var(--b-bg); color:var(--b-text2); text-align:center;}
.nbbs-answer{position:relative; margin-top:14px; padding:22px 24px; border-radius:var(--nh-radius,16px); background:var(--b-main-l);}
.nbbs-answer__head{display:flex; flex-wrap:wrap; gap:4px 12px; align-items:center; margin-bottom:10px !important;}
.nbbs-answer__head b{color:var(--b-main-d);}
.nbbs-answer__head span{color:var(--b-text3); font-size:14px;}
.nbbs-answer__admin{margin-top:14px;}
.nbbs-answer__admin summary{color:var(--b-main-d); font-size:14px; font-weight:700; cursor:pointer;}
.nbbs-answer__admin textarea{margin-top:10px; background:#fff;}
.nbbs-answer__admin .nbbs-actions{justify-content:flex-end; margin-top:10px;}
.nbbs-answer-form{margin-top:20px; padding:22px 24px; border:1px dashed var(--b-main); border-radius:var(--nh-radius,16px);}
.nbbs-answer-form label{display:block; margin-bottom:8px; font-weight:700;}
.nbbs-answer-form .nbbs-actions{margin-top:12px;}

/* 비밀번호 확인 / 로그인 */
.nbbs-gate{max-width:440px; margin:20px auto; padding:44px 28px; border:1px solid var(--b-line); border-radius:var(--nh-radius,16px); text-align:center; color:var(--b-text2);}
.nbbs-gate__title{margin:12px 0 6px !important; font-size:20px; font-weight:700; color:var(--b-text);}
.nbbs-gate__form,.nbbs-login{display:flex; gap:8px; margin:22px 0 16px;}
.nbbs-login{flex-direction:column;}
.nbbs-gate .nbbs-btn{flex:none;}
.nbbs-owner{position:relative;}
.nbbs-owner[open] summary{border-color:var(--b-main); color:var(--b-main);}
.nbbs-owner form{position:absolute; right:0; top:54px; z-index:5; display:flex; gap:6px; width:300px; padding:12px; border:1px solid var(--b-line); border-radius:var(--b-radius); background:#fff; box-shadow:var(--nh-shadow,0 10px 30px rgba(10,60,60,.08));}
.nbbs-owner form .nbbs-btn{min-width:0; padding:0 16px;}
.nbbs-error{margin:12px 0 0 !important; color:var(--b-danger); font-size:14px; font-weight:600;}
.nbbs-error:empty{display:none;}
.nbbs-error ul{margin:0; padding:0;}

/* 글쓰기 */
.nbbs-form{border-top:2px solid var(--b-text);}
.nbbs-field{display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px 20px; align-items:start; padding:20px 4px; border-bottom:1px solid var(--b-line);}
.nbbs-field>label{padding-top:12px; font-weight:700;}
.nbbs-field.is-block{grid-template-columns:minmax(0,1fr);}
.nbbs-field.is-block>label{padding-top:0;}
.nbbs-field em,.nbbs-check em{color:var(--b-danger); font-style:normal; margin-left:2px;}
.nbbs-field__help{margin-top:6px !important; color:var(--b-text3); font-size:14px;}
.nbbs-field__error{display:block; margin-top:6px; color:var(--b-danger); font-size:14px; font-weight:600;}
.nbbs-field__error:empty{display:none;}
.nbbs-form>.nbbs-field__help{padding:10px 4px 0;}
.nbbs-check{display:inline-flex; align-items:center; gap:8px; font-weight:600; cursor:pointer;}
.nbbs-check.is-small{margin-left:10px; font-size:14px; font-weight:500;}
.nbbs-consent{margin-top:20px; padding:20px 22px; border-radius:var(--b-radius); background:var(--b-bg);}
.nbbs-consent__title{margin-bottom:8px !important; font-weight:700;}
.nbbs-consent ul{margin-bottom:14px; color:var(--b-text2); font-size:14px;}
.nbbs-consent li::before{content:"· ";}
.nbbs-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.nbbs-editor{min-height:420px; background:#fff;}
.nbbs .ql-toolbar.ql-snow{border-color:var(--b-line); border-radius:var(--b-radius) var(--b-radius) 0 0; font-family:inherit;}
.nbbs .ql-container.ql-snow{border-color:var(--b-line); border-radius:0 0 var(--b-radius) var(--b-radius); font-family:inherit; font-size:16px;}
.nbbs .ql-editor{min-height:380px; line-height:1.8;}
.nbbs-editor.is-uploading{opacity:.6; pointer-events:none;}

@media (max-width:1100px){
	.nbbs{padding-left:16px; padding-right:16px;}
}
@media (max-width:860px){
	.nbbs-cards{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
}
@media (max-width:640px){
	.nbbs{font-size:15px;}
	.nbbs-intro{padding:26px 22px; border-radius:18px;}
	.nbbs-intro__title{font-size:20px;}
	.nbbs-intro__cta{width:100%;}
	.nbbs-intro__cta .nbbs-btn{width:100%;}
	.nbbs-head{flex-direction:column; align-items:stretch;}
	.nbbs-search{flex:auto;}
	.nbbs-row{gap:10px; padding:16px 2px; flex-wrap:wrap;}
	.nbbs-row__no{display:none;}
	.nbbs-row__title{font-size:16px; white-space:normal;}
	.nbbs-state{min-width:0; font-size:12px; padding:4px 10px;}
	.nbbs-cards{grid-template-columns:minmax(0,1fr);}
	.nbbs-view__title{font-size:20px;}
	.nbbs-field{grid-template-columns:minmax(0,1fr); padding:16px 2px;}
	.nbbs-field>label{padding-top:0;}
	.nbbs-actions .nbbs-btn{min-width:0; padding:0 16px;}
	.nbbs-owner form{width:min(300px,calc(100vw - 32px));}
	.nbbs-answer,.nbbs-answer-form{padding:18px;}
	.nbbs-gate{padding:32px 18px;}
}
