@charset "utf-8";

/********************************************************************
🎯 TOTOLINE BOARD v6.0 — Dark Elegant Edition
- 완전 다크톤 통일 (#2f313b, #3b3d4a)
- 가독성 향상, 댓글/본문/입력폼 라운드 일체화
********************************************************************/

/* 모바일 목록 */
@media all and (max-width:767px) {
  .responsive #bo_list .float-left.float-md-none { margin-right:1rem; }
  .responsive #bo_list .na-title { margin-bottom:0.2rem; }
}

.bg-light-custom { background-color: #2f3142 !important; }

/* 게시판 읽기 제목 */
#bo_v_title {
  font-size:23px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:-0.5px;
  color:#f1f2f6;
  margin-bottom:14px;
  border-left:4px solid #7a84ff;
  padding-left:10px;
}

#bo_v_con {
  min-height:200px;
  word-break:break-word;
  overflow:hidden;
  color:#d7dae3;
  line-height:1.8;
  font-size:15px;
}

/* 반응형 타이틀/본문 */
@media all and (max-width:575px) {
  .responsive #bo_v_title {
    font-size:20px;
    line-height:1.5;
  }
  .responsive #bo_v_con { min-height:140px; }
}

/* 이미지 처리 */
#bo_v_con img {
  max-width:100%;
  height:auto;
  border-radius:8px;
  margin:20px auto;
  display:block;
  box-shadow:0 0 8px rgba(0,0,0,0.4);
}

#bo_v_img {
  width:100%;
  text-align:center;
  overflow:hidden;
}
#bo_v_img a.view_image { display:block; }
#bo_v_img img { margin-bottom:1rem; }

/* SNS 공유 */
#bo_v_sns_icon {
  margin:10px auto;
  text-align:center;
}
#bo_v_sns_icon img {
  width:40px;
  border-radius:50%;
  margin:5px;
  transition:transform .2s ease;
}
#bo_v_sns_icon img:hover { transform:scale(1.1); }

/* 댓글 영역 */
.cmt-reply { top:0; left:-16px; }
.by-writer {
  background:#3c2e2e !important;
  border-top:1px solid #ff6b6b !important;
  color:#ffdcdc;
}
.cmt-content {
  word-break:break-word;
  overflow:hidden;
  color:#d9dce5;
  line-height:1.7;
  font-size:14.5px;
}
.cmt-content img {
  max-width:100%;
  height:auto;
  border-radius:6px;
}

/* 댓글 버튼 */
.cmt-btn ul {
  list-style:none;
  margin:0;
  padding:0;
}
.cmt-btn ul>li {
  float:left;
  font-size:12.5px;
  padding:0 10px;
  color:#999;
}
.cmt-btn ul>li::before {
  float:left;
  color:#555;
  content:"|";
  margin-left:-12px;
}
.cmt-btn ul>li:first-child::before,
.cmt-btn ul>li.no-bar::before { content:""; margin-left:0; }
.cmt-btn ul>li>a {
  color:#9fa4ff;
  white-space:nowrap;
  transition:color .2s;
}
.cmt-btn ul>li>a:hover { color:#bfc2ff; }

/* 댓글 작성 폼 */
#fviewcomment #wr_content {
  resize:none;
  background:#2f313b;
  border:1px solid #3e4155;
  color:#f2f3f7;
  padding:10px;
  border-radius: 4px 0px 0px 4px;
  line-height:1.6;
}
#fviewcomment #wr_content:focus {
  border-color:#7a84ff;
  box-shadow:0 0 0 2px rgba(122,132,255,0.25);
  outline:none;
}

/* 반응형 댓글 정리 */
@media all and (max-width:575px) {
  .responsive .cmt-box { border-right:0 !important; }
  .responsive #bo_vc_w .cmt-box {
    border-left:0 !important;
    border-radius:0 !important;
  }
  .responsive #bo_vc_login {
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
  }
}

/* 댓글 SNS 등록 */
#bo_vc_opt ol {
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  background:#3b3d4a;
  border-radius:5px;
}
#bo_vc_opt ol li {
  flex:1;
  text-align:center;
  padding:6px 0;
  color:#ccc;
}
#bo_vc_opt ol li:hover { color:#7a84ff; }

#bo_vc_send_sns ul {
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  gap:10px;
}
#bo_vc_send_sns ul li {
  margin:0;
}
#bo_vc_send_sns input { margin-left:0.5rem; }

/* 게시판 쓰기 */
#bo_w #wr_content {
  margin-bottom:1rem !important;
  background:#2f313b;
  border:1px solid #3e4155;
  border-radius:8px;
  color:#f0f0f0;
  padding:12px;
  line-height:1.6;
}
#bo_w #wr_content:focus {
  border-color:#7a84ff;
  box-shadow:0 0 0 2px rgba(122,132,255,0.25);
  outline:none;
}

/* 모바일 쓰기폼 */
@media all and (max-width:575px) {
  #bo_w .list-group-item {
    padding:0 1rem;
  }
  .responsive #bo_w #wr_content {
    max-height:160px !important;
  }
}

/* 표 디자인 (본문, 댓글 내 공통) */
#bo_v_con table {
  width:100%;
  border-collapse:collapse;
  background:#343642;
  color:#e4e6ef;
  font-size:14px;
  margin:18px 0;
  border-radius:6px;
  overflow:hidden;
}
#bo_v_con th {
  background:#3b3d4a;
  color:#a3a7ff;
  padding:10px;
  border-bottom:1px solid #2e3250;
}
#bo_v_con td {
  padding:10px;
  border-bottom:1px solid #2e3250;
}

/* 인용구, 코드박스 등 */
#bo_v_con blockquote {
  background:#3b3d4a;
  border-left:4px solid #7a84ff;
  padding:12px 16px;
  margin:16px 0;
  color:#cfd1da;
  border-radius:6px;
}
#bo_v_con pre {
  background:#2f313b;
  color:#dcdfe8;
  border:1px solid #3e4155;
  border-radius:8px;
  padding:10px;
  font-size:13px;
  overflow-x:auto;
}

/* 링크 강조 */
#bo_v_con a {
  color:#7a84ff;
  text-decoration:none;
  font-weight:500;
}
#bo_v_con a:hover {
  color:#a2a8ff;
  text-decoration:underline;
}

/********************************************************************
TOTOLINE BoardList v8.0 — Border-Neon Edition
(의사요소 제거 / 완벽 정렬 / 네온효과 유지)
********************************************************************/

/* 헤더 */
#bo_list .na-table-head, .list-head {
  background:#343642;
  color:#bfc4cc;
  border-bottom:1px solid rgba(122,132,255,.2);
  font-weight:600;
}

/* 리스트 행 */
#bo_list .na-table {
  width:100%;
  border-collapse:collapse;
}
#bo_list .na-table li {
  display:table-row;
  position:relative;
  transition:all .25s ease;
}
#bo_list .na-table li:nth-child(odd){ background:rgba(47,49,64,0.9); }
#bo_list .na-table li:nth-child(even){ background:rgba(52,54,70,0.9); }
#bo_list .na-table li:hover {
  background:rgba(58,61,80,.95);
  box-shadow:inset 3px 0 8px rgba(122,132,255,.3);\
}

/* 공지 행 */
#bo_list .na-notice { border-radius:4px; }
#bo_list .na-table li.is_notice {
  border-left:3px solid #f0b84d;
  background:rgba(70,72,85,0.95);
  box-shadow:inset 3px 0 10px rgba(240,184,77,.3);
}

/* 제목 */
#bo_list .na-subject {
  color:#d4d6e4;
  text-decoration:none;
  font-weight:500;
  display:inline-block;
}
#bo_list .na-subject:hover {
  color:#7a84ff;
  text-shadow:0 0 6px rgba(122,132,255,.6);
}

/* 댓글 카운트 */
#bo_list .count-plus {
  background:linear-gradient(90deg,#6b7cff,#7a84ff);
  color:#fff !important;
  font-size:12px;
  font-weight:700;
  padding:2px 7px;
  border-radius:6px;
  margin-left:5px;
  box-shadow:0 0 6px rgba(122,132,255,.4);
  transition:all .25s ease;
}
#bo_list .na-table li:hover .count-plus {
  box-shadow:0 0 10px rgba(122,132,255,.7);
}

/* 버튼 / 페이징 */
.btn-primary {
  background:linear-gradient(90deg,#6b7cff,#7a84ff);
  border:none;
  color:#fff !important;
  font-weight:600;
}
.btn-primary:hover {
  box-shadow:0 0 12px rgba(122,132,255,.6);
}
.pagination .page-link {
  background:#2f313b;
  border:1px solid rgba(255,255,255,.08);
  color:#cfd1da;
}
.pagination .page-item.active .page-link {
  background:linear-gradient(90deg,#6b7cff,#7a84ff);
  color:#fff;
  border:none;
  box-shadow:0 0 8px rgba(122,132,255,.6);
}

#bo_gallery .img-wrap .img-item .chk-box {
  position: absolute;
  margin-left: 8px;
}

/* 모바일 */
@media (max-width:768px){
  #bo_list {
    background:#3b3d4a;
    border-radius:0px;
    border:none;
    box-shadow: inset 0 0 0 1px rgba(122,132,255,.06);
    color:#cfd1da;
    overflow:hidden;
  }
  #bo_list .na-table li {
    display:block;
    background:#343642;
    border:1px solid rgba(255,255,255,.05);
    border-radius:10px;
    margin-left:10px !important;
    margin-right:10px !important;
    margin-bottom:10px;
    padding:14px 12px;
    border-left:none; /* 모바일에선 제거 */
    box-shadow:none;
  }
  /* ✅ 첫 번째 게시물 위쪽 여백 추가 */
  #bo_list .na-table li:first-child {
    margin-top:10px;
  }
}

#bo_gallery .list-item .list-item-div {
  background: rgba(47, 49, 64, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(122, 132, 255, 0.12), inset 0 0 8px rgba(122, 132, 255, 0.08);
}
#bo_gallery .list-item .list-item-div .list-item-title {
  text-align: center;
  padding: 10px;
  border-bottom: 1px solid #2e3250;
  background: rgba(47,49,64,0.9);
  color: #bfc4cc;
  font-weight: 600;
}
#bo_gallery .list-item .list-item-div .list-item-wrap {
  padding: 10px;
}
#bo_gallery .list-item .list-item-div .list-item-wrap:after {
  content: ''; display: block; visibility: hidden; clear: both;
}

/* hover 시 카드 강조 */
#bo_gallery .list-item:hover .list-item-div {
  border: 2px solid #7a84ff;
  box-shadow: 0 0 12px rgba(122,132,255,0.3);
  overflow: hidden;
}
#bo_gallery .list-item:hover .list-item-div .list-item-title {
  background: rgba(122,132,255,0.15);
  color: #fff;
}
#bo_gallery .list-item:hover .list-item-div .list-item-wrap {
  margin: -2px;
  overflow: hidden;
}

/* 이미지 */
#bo_gallery .img-wrap .img-item img {
  display: block;
    border: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}
#bo_gallery .img-wrap {
  box-shadow: 0px 2px 6px rgba(0,0,0,0.3);
  border-radius: 10px;
  overflow: hidden;
}
#bo_gallery .img-wrap .img-hover-cover {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  z-index: 2;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  transition: opacity 0.3s ease;
}
#bo_gallery .img-wrap:hover .img-hover-cover {
  opacity: 1;
}
#bo_gallery .img-wrap .img-hover-cover > div {position: relative; height: 100%;}
#bo_gallery .img-wrap .img-hover-cover > div > span {
  position: absolute; width: 100%;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
#bo_gallery .list-item-div.is_end .img-hover-cover {
  background-color: rgba(0,0,0,0.8);
}

/* 테이블 */
#bo_gallery .list-safety-info {
  margin-top: 10px;
}
#bo_gallery .list-safety-info table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
#bo_gallery .list-safety-info table tr th {
  width: 90px;
  text-align: center;
  border: 1px solid #2e3250;
  border-bottom: 1px solid #2e3250;
  border-top: 0;
  background: rgba(122,132,255,0.08);
  color: #bfc4ff;
  font-weight: normal;
  height: 34px;
  letter-spacing: -0.05rem;
}
#bo_gallery .list-safety-info table tr td {
  width: calc(100% - 90px);
  word-break: break-all;
  height: 34px;
  overflow: hidden;
  text-align: center;
  border: 1px solid #2e3250;
  border-top: 0;
  background: rgba(255,255,255,0.04);
  color: #e0e2ef;
}
#bo_gallery .list-safety-info table tr td.site_name {font-weight: bold; color: #fff;}
#bo_gallery .list-safety-info table tr td.site_code {font-weight: bold; color: #ff5c5c;}
#bo_gallery .list-safety-info table tbody tr:first-child th {border-top: 1px solid #2e3250; border-radius: 5px 0 0 0;}
#bo_gallery .list-safety-info table tbody tr:first-child td {border-top: 1px solid #2e3250; border-radius: 0 5px 0 0;}
#bo_gallery .list-safety-info table tbody tr:last-child th {border-radius: 0 0 0 5px;}
#bo_gallery .list-safety-info table tbody tr:last-child td {border-radius: 0 0 5px 0;}

/* 버튼 */
#bo_gallery .list-safety-item-btn-wrap {
  margin-top: 10px;
}
#bo_gallery .list-safety-item-btn-wrap:after {
  content: ''; display: block; visibility: hidden; clear: both;
}
#bo_gallery .list-safety-item-btn-wrap a {
  float: left;
  width: calc((100% - 4px) / 2);
  border-radius: 6px;
  text-align: center;
  font-weight: 600;
  padding: 6px 0 4px;
  transition: all 0.2s ease;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view {
  border: 2px solid #2e3250;
  color: #fff;
  background: rgba(255,255,255,0.04);
  margin-right: 2px;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_view:hover {
  background: rgba(122,132,255,0.25);
  color: #fff !important;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site {
  border: 2px solid #7a84ff;
  color: #ffd95b;
  margin-left: 2px;
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site:hover {
  background: linear-gradient(90deg, #7a84ff, #5f68fa);
  color: #fff !important;
  box-shadow: 0 0 8px rgba(122,132,255,0.5);
}
#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site img {
  vertical-align: top; margin-top: 6px;
}

/* 금액 라벨 */
#bo_gallery .list-item .list-item-div .list-item-wrap .img-wrap .mtwon {
  position: absolute;
  color: #fff;
  padding: 0 8px;
  border-radius: 4px;
  right: 5px;
  bottom: 5px;
  background: linear-gradient(90deg, #7a84ff, #5f68fa);
  font-weight: 600;
}
@media (max-width:575px) {
	#bo_gallery {}
	#bo_gallery .img-wrap {float:left; width:38%; height:92px; margin-right:10px; padding-bottom:0 !important;}
	#bo_gallery .img-wrap .img-item {position:unset;}
	#bo_gallery .list-safety-info {float:left; width:calc(100% - 38% - 10px); margin-top:0;}
	#bo_gallery .list-safety-info table tr th {width:42%;}
	#bo_gallery .list-safety-info table tr th,
	#bo_gallery .list-safety-info table tr td {font-size:13px; padding:0 3px; height:29px;}
	#bo_gallery .list-safety-info table tr td {padding-top:2px;}
	#bo_gallery .list-safety-info table tr td.site_name img {max-width:15px;}
	#bo_gallery .list-safety-info table tbody tr:first-child th,
	#bo_gallery .list-safety-info table tbody tr:first-child td  {*height:30px;}
	#bo_gallery .list-safety-item-btn-wrap {float:left; width:calc(100% - 38% - 10px); margin-top:5px;}
	#bo_gallery .list-safety-item-btn-wrap a {font-size:13px; padding:0; height:32px; line-height:30px;}
	#bo_gallery .list-safety-item-btn-wrap a.btn_safety_site img {margin-top:6px;}
	#bo_gallery .list-item .list-item-div .list-item-wrap .img-wrap .mtwon { font-size:10px; }
}

#bo_v_con h1 {white-space:inherit !important;}
.bo_safety_top_con_wrap {margin:10px 0 40px;}
.bo_safety_top_con_wrap:after {display:block; content:''; visibility:hidden; clear:both;}
.bo_safety_info_img_wrap {float:left; width:330px; height:232px; margin-right:15px;}
.bo_safety_info_img_wrap .img_wrap {
  box-shadow:0 4px 12px rgba(122,132,255,0.15);
  border-radius:10px;
  background:rgba(47,49,59,0.95);
  border:1px solid rgba(122,132,255,0.2);
}
.bo_safety_info_img_wrap .img_wrap,
.bo_safety_info_img_wrap .img_wrap #bo_v_img .view_image,
.bo_safety_info_img_wrap .img_wrap #bo_v_img {height:100%;}
.bo_safety_info_img_wrap .img_wrap #bo_v_img img {
  width:100%; height:100%;
  border-radius:10px !important;
  margin-bottom:0 !important;
}

.bo_safety_info_tbl_wrap {
  float:left;
  width:calc(100% - 345px);
  background:rgba(67,69,82,0.95);
  border-radius:10px;
  border:1px solid rgba(122,132,255,0.18);
  overflow:hidden; /* ✅ 핵심: 내부 테이블 라운드 클리핑 */
}

.tbl_bo_safety_info {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border-radius:10px; /* ✅ 추가: 테이블 자체도 둥글게 */
  overflow:hidden;    /* ✅ Safari 대응 */
}

.tbl_bo_safety_info tr th {
  width:146px;
  border:1px solid rgba(122,132,255,0.15);
  border-bottom:1px solid rgba(122,132,255,0.15);
  border-top:0;
  background:rgba(47,49,64,0.75); /* 투명도 낮춰 대비 강화 */
  color:#cfd2ff;
  font-weight:600;
  height:44px;
  letter-spacing:-0.05rem;
  padding:8px 18px;
  font-size:16px;
}
.tbl_bo_safety_info tr td {
  word-break:break-all;
  height:44px;
  overflow:hidden;
  border:1px solid rgba(122,132,255,0.12);
  border-top:0;
  padding:8px 16px;
  font-size:16px;
  color:#f1f1f1;
  background:#2c2f40;
}
.tbl_bo_safety_info tbody tr:first-child th,
.tbl_bo_safety_info tbody tr:first-child td {border-top:1px solid rgba(122,132,255,0.15);}
.tbl_bo_safety_info tbody tr:last-child th {border-radius:0 0 0 10px;}
.tbl_bo_safety_info tbody tr:last-child td {border-radius:0 0 10px 0;}

/* 포인트 컬러 */
.tbl_bo_safety_info tr td a {color:#7a84ff;}
.tbl_bo_safety_info tr td a:hover {color:#aab0ff; text-decoration:underline;}

/* 구분 라인 */
.bo_safety_view_con_line {
  position:relative;
  margin-bottom:40px;
}
.bo_safety_view_con_line .text {
  position:relative;
  z-index:2;
  display:inline-block;
  border:4px solid #7a84ff;
  border-radius:8px 8px 0 0;
  border-bottom:0;
  padding:7px 25px;
  background:#2f3248;
  color:#fff;
  font-weight:700;
  text-shadow:0 0 6px rgba(122,132,255,0.4);
}
.bo_safety_view_con_line .bar {
  position:relative;
  z-index:1;
  background:#7a84ff;
  width:100%;
  height:4px;
  margin-top:-4px;
}

/* 반응형 */
@media (max-width:1200px) {
  .bo_safety_info_img_wrap {width:100%; height:auto;}
  .bo_safety_info_img_wrap .img_wrap {width:330px; margin:0 auto;}
  .bo_safety_info_tbl_wrap {width:100%; margin:15px auto 0;}
}
@media (max-width:768px) {
  .bo_safety_top_con_wrap {padding:0;}
}
@media (max-width:576px) {
  .bo_safety_top_con_wrap {margin:0 0 30px;}
  .bo_safety_info_img_wrap .img_wrap {width:100%;}
  .bo_safety_info_tbl_wrap {margin-top:10px;}
  .tbl_bo_safety_info tr th {width:80px;}
  .tbl_bo_safety_info tr th,
  .tbl_bo_safety_info tr td {font-size:13px; padding:5px 8px !important; height:36px;}
  .tbl_bo_safety_info tbody tr:first-child th,
  .tbl_bo_safety_info tbody tr:first-child td {height:37px;}
}

/* 종료된 아이템 전체 클릭 방지 */
.list-item.is-expired {
    position: relative;
    pointer-events: none; /* 클릭 안되게 막음 */
}

/* 이미지 블러 처리 */
.expired-blur-img {
    filter: blur(8px) grayscale(100%); /* 블러와 흑백처리로 가시성 저하 */
    opacity: 0.6;
}

/* 중앙 파트너 종료 문구 */
.expired-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 0, 0, 0.8); /* 붉은색 반투명 배경 */
    color: white;
    padding: 7px 15px;
    font-weight: bold;
    font-size: 10px;
    border-radius: 6px;
    z-index: 10;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    white-space: nowrap;
}

/* 종료 시 버튼 스타일 변경 */
.btn_expired_notice {
    background: #888 !important;
    color: #fff !important;
    text-align: center;
    padding: 8px 0;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
}

/* [중요] 파트너십 기간 만료 버튼 (전체 너비 사용) */
.btn_expired_status {
    width: 100%;
    padding: 7px 0 7px;
    text-align: center;
    background: #555555; /* 어두운 회색 */
    color: #bbbbbb; /* 흐릿한 글자색 */
    border-radius: 6px;
    font-size: 13px;
    font-weight: bold;
    border: 1px solid #444444;
    cursor: default; /* 클릭 불가 표시 */
}

/* 종료된 가입코드 배경 및 글자색 변경 */
.expired-hidden-text {
    display: none !important;
}

/* 사이트 이름/주소 텍스트 흐리게 */
.text-muted {
    color: #666 !important;
    font-size: 0.9em;
}

/* 관리자일 때는 만료되어도 정보를 볼 수 있게 구분 */
.is-admin-expired {
    border: 1px dashed #ff4d4d;
}

@media (max-width: 576px) {
  .btn_expired_status { padding: 2px 0 2px; }
}