/* 배경이미지는 살리고, 바탕색만 #2A2A2A */
html { background-color: #2A2A2A !important; }

/* 원본 배경이미지 위에 덮지 않도록 투명 유지 */
body,
#wrap, #container, #thema_wrapper, .wrapper, .page, .content, .page-wrapper {
  background-color: transparent !important;
}

/* 폼 클릭 방해 요소 전부 제거 */
body::before { content: none !important; display: none !important; }
#wrap, #container, #thema_wrapper, .wrapper, .page, .content, .page-wrapper {
  position: relative; z-index: 1; background: transparent !important;
}
/* 폼/입력요소는 항상 최상위 레이어 */
input, select, textarea, button, label { position: relative; z-index: 2; }

/* ===== 멤버 폼 레이아웃 조정: 폭 확장 + 불릿 제거 ===== */
/* 폼 전체 폭 넓히기 */
.mbskin.register_wrap, .register_wrap { 
  width: 90% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}
.register_wrap .tbl_frm01 {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto 24px !important;
}
/* 왼쪽 점(불릿) 완전 제거 */
.register_wrap .tbl_frm01 ul { 
  list-style: none !important; 
  padding-left: 0 !important; 
  margin-left: 0 !important;
}
.register_wrap .tbl_frm01 ul > li { 
  position: relative; 
  padding-left: 0 !important; 
  margin-left: 0 !important; 
}
.register_wrap .tbl_frm01 ul > li::before { 
  content: none !important; 
}
/* 입력 폭(너무 좁을 때) 보정 */
.register_wrap .frm_input.full_input,
.register_wrap input[type="text"],
.register_wrap input[type="password"],
.register_wrap input[type="email"],
.register_wrap input[type="tel"],
.register_wrap input[type="number"],
.register_wrap select,
.register_wrap textarea {
  max-width: 30% !important; /* ↓ 일반 입력칸 폭 축소 */
}

/* 닉네임 입력칸 = 캡챠 숫자 입력칸 폭 동일(반응형 축소 방지) */
#reg_mb_nick,
#captcha #captcha_key{
  width:150px !important;
  min-width:140px !important;
  max-width:140px !important;
  display:inline-block !important;
  box-sizing:border-box !important;
}

#captcha_mp3, #captcha_reload,
.captcha_audio, .captcha_reload {
  width:56px !important; min-width:56px !important;
  text-indent:-9999px !important; overflow:hidden !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:26px 26px !important;
  background-color:#3a3a3a !important;     /* ← 흰 배경 강제 제거 */
  border:1px solid #4a4a4a !important;
  border-radius:8px !important;
}
/* 스피커 아이콘 */
#captcha_mp3{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23e6e6e6' d='M9 1.5a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.79.407L5.5 12H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h2.5l3.21-2.407A.5.5 0 0 1 9 1.5zm3.707 3.793a1 1 0 1 0-1.414 1.414A2.5 2.5 0 0 1 12.5 8a2.5 2.5 0 0 1-.207 1.293 1 1 0 1 0 1.414 1.414A4.5 4.5 0 0 0 14.5 8a4.5 4.5 0 0 0-1.793-2.707z'/></svg>");
}
/* 리로드 아이콘 */
#captcha_reload, .captcha_reload{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23e6e6e6' d='M8 3a5 5 0 1 1-4.546 2.916.75.75 0 1 1 1.342-.664A3.5 3.5 0 1 0 8 4.5H6.5a.5.5 0 0 1 0-1H9a1 1 0 0 1 1 1v2.5a.5.5 0 0 1-1 0V3.986A4.99 4.99 0 0 1 8 3z'/></svg>");
}





/* =========================
   하단 버튼 영역 정렬/스타일
========================= */
.btn_confirm{
  display:flex !important;
  gap:12px !important;
  justify-content:center !important;
  align-items:stretch !important;          /* ← 두 버튼 높이 강제 동일 */
  margin:24px auto 0 !important;
  max-width: 95% !important;
}
.btn_confirm .btn_close,
.btn_confirm .btn_submit{
  flex:1 1 0 !important;
  display:flex !important;                 /* ← inline-flex 차이 제거 */
  justify-content:center !important;
  align-items:center !important;
  height:auto !important;
  min-height:46px !important;              /* ← 동일 최소높이 */
  line-height:46px !important;             /* ← 텍스트 기준 동일 */
  padding:0 20px !important;
  margin:0 !important;
  border:1px solid transparent !important; /* ↓ 아래에서 색만 교체 */
  border-radius:12px !important;
  box-sizing:border-box !important;
  font-size:20px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  vertical-align:middle !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
/* 취소 버튼 (다크 배경) */
.btn_confirm .btn_close{
  background:#3a3a3a !important;
  color:#e6e6e6 !important;
  border-color:#4a4a4a !important;
}
.btn_confirm .btn_close:hover{ filter:brightness(1.08); }
/* 정보수정(제출) 버튼 */
.btn_confirm .btn_submit{
  background:#2f7d32 !important;            /* 딥그린 */
  border:1px solid #2a6f2c !important;
  color:#ffffff !important;
  cursor:pointer !important;
}
.btn_confirm .btn_submit:hover{ filter:brightness(1.06); }




/* 닉네임 도움말: 줄간격/색상 정리 + 촘촘한 줄바꿈 */
.help-notice{
  display:block;
  line-height:1.15 !important;     /* 기본보다 촘촘 */
  color:#9aa3ad !important;
  margin-top:1px !important;
  font-size:0.7rem !important;
}

.help-nickname{
  display:block;
  line-height:1.15 !important;     /* 기본보다 촘촘 */
  color:#010101 !important;
  margin-top:1px !important;
  font-size:0.9rem !important;
}

.help-mobile{
  display:block;
  line-height:1.15 !important;     /* 기본보다 촘촘 */
  color:#9aa3ad !important;
  margin-top:1px !important;
  font-size:0.7rem !important;
}

/* 닉네임 도움말: 줄간격/색상 정리 + 촘촘한 줄바꿈 */
.help-note{
  display:block;
  line-height:1.15 !important;     /* 기본보다 촘촘 */
  color:#9aa3ad !important;
  margin-top:15px !important;
  font-size:0.42rem !important;
}
.help-note .br-tight{
  display:block;                   /* <br> 대체: 높이만 주는 블록 */
  height:4px !important;           /* 필요시 2~6px로 조절 */
  width:100%;
  content:"";
}

.help-captcha{
  display:block;
  line-height:1.15 !important;     /* 기본보다 촘촘 */
  color:#9aa3ad !important;
  margin-top:1px !important;
  font-size:0.7rem !important;
}




#captcha.captcha #captcha_img{
  height: 34px !important;        /* ← 원본보다 약간 작게(필요시 40~48px로 조절) */
  width: auto !important;
  image-rendering: -webkit-optimize-contrast; /* 축소 선명도 보정(웹킷) */
  image-rendering: crisp-edges;
  vertical-align: middle !important;
}


#btn_write{
  display:inline-flex !important;
  align-items:center !important;
  gap:.4rem;
  padding:.5rem .9rem;
  border-radius:.5rem;
  background:#0d6efd !important;
  color:#fff !important;
  text-decoration:none !important;
  line-height:1 !important;
}
#btn_write svg{width:16px;height:16px;vertical-align:-2px}


/* 게시판 전체 wrapper */
#bo_list {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 12px !important;
  overflow-x: hidden !important;
}

/* 목록 박스 내부 */
.list_01 ul {
  width: 100% !important;
  padding-left: 0;
  margin: 0;
  list-style: none;
  box-sizing: border-box;
}

.more_opt.is_view_btn li {
  white-space: nowrap;          /* 줄바꿈 방지 */
  overflow: hidden;             /* 넘침 숨김 */
  text-overflow: ellipsis;      /* 생략 부호 표시 */
  display: flex;                /* 아이콘과 텍스트 나란히 */
  align-items: center;
  gap: 6px;                     /* 아이콘과 텍스트 사이 여백 */
}

.more_opt.is_view_btn li a {
  display: flex;
  align-items: center;
  font-size: 14px;
  white-space: nowrap;
}

.more_opt.is_view_btn li i {
  min-width: 16px;
  text-align: center;
}

.register_wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    box-shadow: none !important;
}

.btn_confirm {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* 메시지는 기본적으로 공간을 차지하지 않음 */
.message {
  display: none;
}


.display-3{
  font-size: calc(2.15rem + 1.1vw);
}
@media (min-width:1400px){
  .display-3{ font-size: 4rem; }
}

.display-7{
  font-size: calc(1.2rem + 1.1vw);
}
@media (min-width:1400px){
  .display-7{ font-size: 1.7rem; }
}

.ps-3{
  font-size: calc(0.55rem + 0.5vw);
}
@media (min-width:1200px){
  .ps-3{ font-size: 1rem; }
}


#viewer .bd{ max-width: 70% !important; }

/* 태블릿 이하 */
@media (max-width: 992px){
  #viewer .bd{ max-width: 90% !important; }
}

/* 모바일 */
@media (max-width: 576px){
  #viewer .bd{
    max-width: 100% !important;   /* 꽉 차게 */
    padding-inline: 14px;          /* 좌우 약간 여백 */
    box-sizing: border-box;
  }
}

/* 읽기 페이지 좌우 거터 */
#bo_v_atc{ padding-inline:24px !important; box-sizing:border-box; }
#bo_v_con{ padding:0 !important; }

/* 위아래 여백 정리(선택) */
#bo_v_con > *:first-child{ margin-top:0; }
#bo_v_con > *:last-child{  margin-bottom:0; }

/* 메타/첨부/버튼 영역도 동일 거터(선택) */
#bo_v_info,
#bo_v_file,
#bo_v_act,
#bo_v_share{ padding-inline:24px !important; box-sizing:border-box; }

/* 이미지/표가 넘치지 않게 */
#bo_v_con img{ max-width:100%; height:auto; }
#bo_v_con table{ width:100%; }









/* 댓글 영역 글자색 강제 (읽기 페이지) */
#bo_vc,
#bo_vc *{
  color:#111 !important;
}

/* 댓글 본문 컨텐츠(문단/리스트 등) */
#bo_vc .cmt_contents,
#bo_vc .cmt_contents *{
  color:#111 !important;
}

/* 링크는 글자색 상속(원하면 별도 색으로 바꾸세요) */
#bo_vc a{ color:inherit !important; text-decoration:underline; }

/* 입력 폼(댓글쓰기) */
#bo_vc textarea,
#bo_vc input[type="text"],
#bo_vc input[type="password"]{
  color:#111 !important;
  background:#fff !important;
}
#bo_vc ::placeholder{ color:#666; }





/* ── 글읽기 상단(작성자) 아바타 숨김 ── */
#bo_v_info .pf_img,
#bo_v_info .sv_wrap img,
#bo_v_info .sv_member img { 
  display: none !important;
}

/* ── 댓글 리스트 아바타 숨김 ── */
#bo_vc .cmt_photo,
#bo_vc .cmt_profile,
#bo_vc .comment_box .photo,
#bo_vc .pf_img,
#bo_vc .sv_member img {
  display: none !important;
}


/* 댓글 리스트 전체 거터 */
#bo_vc{ padding-inline:24px !important; box-sizing:border-box; }


.bo_vc_act{
  position: absolute !important;
  top: 100%; right: 0; left: auto;   /* 버튼 오른쪽에 붙이기 */
  display: none;                     /* 기본은 숨김(스크립트로 show) */
  width: max-content;                /* 내용 길이만큼 */
  padding: 6px 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  z-index: 1000;

  /* 세로쪼개짐/풍선밖 출력 방지 */
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}




/* 갤러리 목록: 제목/글쓴이/부가정보 흰색 */
#bo_gall .gall_text_href .bo_tit,
#bo_gall .gall_text_href .bo_tit:link,
#bo_gall .gall_text_href .bo_tit:visited,
#bo_gall .gall_info,
#bo_gall .gall_info *,
#bo_gall .gall_option,
#bo_gall .gall_option * {
  color: #fff !important;
}

/* 제목 hover 시 살짝 밝게 */
#bo_gall .gall_text_href .bo_tit:hover,
#bo_gall .gall_text_href .bo_tit:active,
#bo_gall .gall_text_href .bo_tit:focus {
  color: #f2f2f2 !important;
}

/* 댓글 수 배지 등도 흰색 */
#bo_gall .cnt_cmt,
#bo_gall .new_icon { color:#fff !important; }


/* 갤러리 목록 댓글 배지 배경 제거 */
#bo_gall .cnt_cmt {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: red  !important;          /* 글자색은 부모와 동일 */
  padding: 0 !important;   /* 필요 시 숫자만 보이게 */
  margin-left: .25rem;     /* 제목과 살짝 간격 */
  border-radius: 0 !important;
}

/* 스킨에 아이콘/말풍선 효과가 의사요소로 있다면 제거 */
#bo_gall .cnt_cmt::before,
#bo_gall .cnt_cmt::after {
  content: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}







/* 글읽기 제목 크기 조절 */
#bo_v_title{
  font-size: 1.1rem !important;  /* 필요 크기로 수정 */
  text-align: center !important;
}



/* PC: 분류 탭(전체/진행중인/종료된) – 원(필) 제거 + 글자색 변경 */
@media (min-width: 992px){
  #bo_cate a, #bo_cate_ul li a{
    background: transparent !important;   /* 채움 제거 */
    border: 1px solid #3a3f4b !important; /* 라인만 */
    color: #FFF !important;            /* 기본 글자색(연한 회색) */
    border-radius: 10px !important;       /* 동그란 원 → 살짝 각진 버튼 */
    padding: .55rem 1rem;
    line-height: 1;
  }
  /* 활성(선택) 상태 */
  #bo_cate a.on, #bo_cate_ul li a.on, #bo_cate a.bo_cate_on{
    background: transparent !important;
    color: #4f8cff !important;            /* 활성 글자색 */
    border-color: #4f8cff !important;     /* 활성 테두리색 */
    box-shadow: none !important;
  }
  /* 호버 */
  #bo_cate a:hover{
    color: #93c5fd !important;
    border-color: #93c5fd !important;
  }
}

/* SmartEditor2 P모드 시 문단 여백 제거 */
.se2_input_area p{ margin:0; }



/* 카드 자체를 ‘컨테이너’로 선언 (카드 너비 기준으로 글자 크기 계산) */
.text-center.rounded{ container-type: inline-size; }

/* 한 줄 고정 + 카드 너비에 맞춰 폰트 자동 축소 */
.fit-text{
  white-space: nowrap;
  display: block;
  line-height: 1.15;
  overflow: hidden;           /* 혹시 너무 좁을 때 대비 */
  text-overflow: ellipsis;    /* 극단적으로 좁을 때 … 처리 */
  font-size: clamp(20px, 6cqw, 28px);
}


.nav-item .badge{
  display:inline-block; min-width:1.25em; padding:0 .35em;
  font-size:.75em; line-height:1.25; border-radius:.75em;
  background:#ff3b30; color:#fff;
}