@charset "utf-8";/** =====================================================================================================
   1. 초기화 및 유틸리티 (Common & Reset)
   ======================================================================================================= */
p{margin:0!important;}
li,ul{list-style:none;padding:0;margin:0;}
button{outline:none;cursor:pointer;border:none;background:transparent;}
select{outline:none;}
input:focus,select:focus{border-color:#333!important;}
a{text-decoration:none;color:inherit;}
textarea{resize:none;}
/* 텍스트 말줄임 */
.text-cut{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* 정렬 및 여백 */
.cb{clear:both;}
.mobile{display:none;}
.fr{float:right;}
.fl{float:left;}
.mt-20{margin-top:20px;}
.mb-20{margin-bottom:20px;}
.vwcate{color:#1fa597;font-size:0.8em;margin-right:5px;vertical-align:2px;}
/** =====================================================================================================
   2. 게시판 상단 (카테고리 + 검색창)
   ======================================================================================================= */
.bbs_divs{padding-top:30px;min-height:500px;}
/* 상단 컨테이너 (Flexbox) */
.bbs_top{padding-top:15px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;}
/* 2-1. 왼쪽:카테고리 탭 */
.bbs_top_left{flex:1;min-width:200px;}
.btn_category_list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.btn_category_list li{margin:0;}
.btn_category_list a{display:flex;align-items:center;justify-content:center;height:36px;padding:0 18px;background:#fff;border:1px solid #ddd;color:#555;font-size:14px;border-radius:20px;box-sizing:border-box;transition:all 0.2s;}
.btn_category_list a:hover{background:#f9f9f9;border-color:#bbb;color:#111;}
.btn_category_list a.active{background:#31415e;border-color:#31415e;color:#fff;font-weight:600;}
/* 2-2. 오른쪽:검색창 */
.bbs_top_right{width:auto;position:relative;}
/* 검색 박스 */
.search_box{display:flex;align-items:center;width:340px;max-width:100%;height:40px;border:1px solid #ddd;border-radius:5px;background:#fff;box-sizing:border-box;overflow:hidden;}
.search_box .b_sch_sel{width:95px;height:100%;border:0;border-right:1px solid #eee;background:#fdfdfd;font-size:13px;color:#555;padding-left:10px;cursor:pointer;}
.search_box .sch_inp{flex:1;height:100%;border:0;background:transparent;padding:0 12px;font-size:14px;color:#333;}
.search_box .b_inp_ico{width:45px;height:100%;display:flex;justify-content:center;align-items:center;background:#fff;}
.search_box .b_inp_ico svg{stroke:#888;transition:0.3s;}
.search_box .b_inp_ico:hover svg{stroke:#333;}
/* 관리자 옵션 버튼 (우측 상단 절대좌표) */
.bbs_top_opt{;}
.admin_btn_list{display:flex;gap:5px;}
.admin_btn_list button{height:32px;padding:0 12px;background:#fff;border:1px solid #ddd;color:#666;font-size:12px;border-radius:3px;transition:all 0.2s;}
.admin_btn_list button:hover{border-color:#888;color:#333;}
/** =====================================================================================================
   3. 갤러리 리스트 스타일 (Swiper 기반)
   ======================================================================================================= */
.swiper-container-ga{width:100%;padding-bottom:30px;}
.swiper-slide-ga{height:auto!important;box-sizing:border-box;margin-bottom:30px;}
/* 썸네일 이미지 박스 */
.img_link{background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;position:relative;overflow:hidden;margin-bottom:15px;display:block;width:100%;padding:0;}
/* NEW / HOT 뱃지 */
.main_lists_new{position:absolute;top:15px;right:15px;border-radius:50%;height:40px;width:40px;padding-top:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800!important;vertical-align:middle;box-shadow:2px 2px 5px rgba(0,0,0,0.2);z-index:999999;}
.bg-gradient-orange-pink{background:linear-gradient(135deg,#f96,#ff5e62);}
.bg-gradient-fast-blue-purple{background:linear-gradient(135deg,#667eea,#764ba2);}
/* 동영상 아이콘 */
.mov_ico{position:absolute;bottom:15px;left:15px;}
.mov_ico i{font-size:30px;color:rgba(255,255,255,0.9);text-shadow:0 2px 5px rgba(0,0,0,0.5);}
/* 관리자 체크박스 (이미지 위 오버레이) */
.chk_boxs{position:absolute;top:0;left:15px;z-index:10;}
/* 텍스트 영역 */
.main_lists_tit{margin-top:10px;text-align:center;padding:0 5px;}
.titles{color:#333;font-size:1rem;font-weight:500;display:block;line-height:1.4;word-break:break-all;}
.main_lists_cont{color:#565656;text-align:left;}
.main_lists_date{margin-top:8px;color:#999;font-size:14px!important;text-align:center;}
.cnt_cmt{color:#f66;font-weight:bold;margin-left:3px;font-size:12px;}
.list_ca{display:inline-block;color:#1fa597!important;margin-left:5px;font-weight:500;font-size:14px!important;}
/** =====================================================================================================
   4. 하단 (페이징,버튼) - 레이아웃 수정됨
   ======================================================================================================= */

/* 1. 페이징 영역  */
.page_divs{display:flex;/* Flex 모드 활성화 */
 justify-content:center;/* 가로 중앙 정렬 */
 align-items:center;/* 세로 중앙 정렬 */
 width:100%;/* 전체 너비 */
 margin-top:20px;/* 위쪽 여백 */
 margin-bottom:20px;/* 아래쪽 여백 */
 padding:0;/* 패딩 초기화 */;}
.pg_page{display:inline-block;min-width:32px;height:32px;line-height:32px;background:#f5f5f5;color:#444!important;border-radius:4px;margin:0 2px;text-decoration:none;padding:0 5px;font-size:13px;border:0;}
.pg_current{display:inline-block;min-width:32px;height:32px;line-height:32px;background:#333;color:#fff;border-radius:4px;margin:0 2px;font-weight:bold;padding:0 5px;font-size:13px;border:0;}
/* 2. 하단 버튼 영역 컨테이너 */
.bo_fx{margin-bottom:20px;margin-top:30px!important;/* 하단 여백 */
 overflow:hidden;/* 자식 요소 float 감지 */
 width:100%;clear:both;/* 겹침 방지 핵심 */
 display:flex;/* Flexbox로 좌우 배치 */
 justify-content:space-between;/* 양끝 정렬 */
 align-items:center;/* 수직 중앙 정렬 */
 text-align:right;}
/* 왼쪽:관리자 버튼 (삭제/복사/이동) */
.list_btns{display:flex;gap:5px;}
.br_more_btn4{background:#68707f;color:#fff;border:0;padding:0 15px;height:35px;border-radius:4px;font-size:13px;cursor:pointer;transition:background 0.2s;}
.br_more_btn4:hover{background:#505762;}
/* 오른쪽:일반 버튼 (글쓰기,목록,새로고침) */
.btn_bo_user_btm{fdisplay:flex;gap:5px;margin:0;padding:0;}
.br_more_btn{background:#333;color:#fff;border:0;padding:0 20px;height:40px;border-radius:5px;font-size:14px;cursor:pointer;transition:background 0.2s;}
.br_more_btn:hover{background:#111;}
.br_more_btn2{background:#eee;color:#555;border:0;padding:0 20px;height:40px;border-radius:5px;font-size:14px;cursor:pointer;transition:background 0.2s;}
.br_more_btn2:hover{background:#ccc;}
/* 모바일 반응형 */
@media all and (max-width:768px){.bo_fx{display:block;margin-bottom:30px;margin-top:-30px;/* 모바일에서는 위아래로 쌓임 */;}.list_btns{width:100%;display:flex;gap:5px;margin-bottom:10px;/* 아래 버튼과의 간격 */;}.br_more_btn4{flex:1;}/* 버튼 너비 균등 분배 */  .btn_bo_user_btm{width:100%;display:flex;gap:5px;}.br_more_btn,.br_more_btn2{flex:1;margin:0;}}
/** =====================================================================================================
   5. 반응형 (모바일)
   ======================================================================================================= */

/* PC 화면 (1024px 이상) */
@media all and (min-width:768px){.mobile_icon{display:none;}/* PC에서는 제목 옆 아이콘 숨김 */;}/* 모바일 화면 (1023px 이하) */@media all and (max-width:768px){.mobile{display:block;}.bbs_divs{padding-top:0;}.bbs_top{display:block;}.bbs_top{padding-top:10px;}/* 모바일에서 버튼 높이 조정 (필요시) */  .btn_category_list a{height:30px;font-size:13px;}.bbs_top_left,.bbs_top_right{width:100%;margin-bottom:10px;}.bbs_top_opt{;}.search_box{width:100%;height:38px;}.tables_th{display:none;}.tables_td{padding:15px 5px;position:relative;}.pa_chk,.pa_date,.pa_hit,.pa_name,.pa_no{display:none;}.pa_subject{width:100%;padding:0;}.pa_subject a{font-size:16px;font-weight:500;}.mobile_icon{display:inline-block;margin-right:3px;}.btn_bo_user_btm{float:none;display:flex;gap:5px;}.br_more_btn,.br_more_btn2{flex:1;margin-top:30px;width:100%;font-size:17px;font-weight:500;}}
/** =====================================================================================================
   6. 게시판 보기 (View Page) 
   ======================================================================================================= */
.view_wrap{padding-top:20px;}
/* 상단 헤더 영역 */
.v_top_div{margin-top:30px;border-bottom:1px solid #ddd;padding-bottom:15px;margin-bottom:30px;}
/* 제목 스타일 */
.v_title{font-size:22px;font-weight:500;color:#111;margin-bottom:10px;line-height:1.4;word-break:break-all;}
/* 목록 버튼 래퍼 — PC에서 우측 float 유지 */
.v_title__toolbar{float:right;margin-left:14px;margin-bottom:6px;}
.v_title__body{display:block;overflow:hidden;word-break:break-all;}
.v_title__subject{font-weight:inherit;}
/* 제목 하단 정보 (작성자,날짜,조회수) */
.v_info{font-size:13px;color:#888;display:flex;flex-wrap:wrap;align-items:center;gap:15px;/* 항목 간 간격 */
 margin-bottom:15px;/* 버튼과의 간격 */;}
.v_info i,.v_info .ph{margin-right:4px;font-size:14px;line-height:1;vertical-align:-0.15em;}
.v_info span,.v_info__item{display:inline-flex;align-items:center;}
/* 관리자 버튼 리스트 (가로 나열) */
.view_btn_list{display:flex;gap:5px;justify-content:flex-end;margin-top:-10px;/* 우측 정렬 */;}
.view_btn_list a{display:inline-block;padding:6px 12px;background:#fff;border:1px solid #ddd;color:#666;font-size:13px;border-radius:3px;transition:all 0.2s;text-decoration:none;line-height:1;}
/* 버튼 호버 효과 */
.view_btn_list a:hover{border-color:#888;color:#333;background:#f9f9f9;}
/* 관련 링크: URL 숨김 · 흰색 버튼형 라벨 — 본문 하단·이전다음글 사이 */
#bo_v_link{margin-top:1.5rem;margin-bottom:0.5rem;}
/* 관련 링크: 가로 나열 */
#bo_v_link ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 12px;
}
#bo_v_link .bo_v_link-item{margin:0;padding:0;}
#bo_v_link .bo_v_link-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 18px;background:#fff;color:#0d4a9c;
  border:1px solid rgba(0,56,227,0.28);border-radius:8px;
  font-size:15px;font-weight:600;text-decoration:none;line-height:1.3;
  box-shadow:0 1px 2px rgba(0,56,227,0.06);
  transition:border-color .2s,box-shadow .2s,background .2s,color .2s;
}
#bo_v_link .bo_v_link-btn:hover{background:#f0f5ff;border-color:#0038e3;color:#0038e3;box-shadow:0 2px 8px rgba(0,56,227,0.12);}
.v-con img,.v_images,.view_con,.view_image,.view_img{max-width:100%!important;height:auto!important;}
.mpx5 {padding: 0;}
/* 모바일 반응형 (헤더 부분만) */
@media all and (max-width:768px){
   .mpx5 {padding-left: 2rem; padding-right: 2rem;word-break: keep-all;}
  /* 보기 상단: 보더 제거에 맞춰 하단 여백 축소 → 본문 시작 위로 */
  .v_top_div{
    border-bottom:none;
    padding-bottom:6px;
    margin-bottom:12px;
    margin-top:20px;
  }
  /* 본문 블록 상단 간격 (기본 m-t-20 대체) */
  .v-con.m-t-20{margin-top:10px!important;}
  /* 보기 상단: 제목 영역 — 버튼은 그대로, 제목은 아래로 정리 */
  .v_title{
    font-size:1.125rem;
    line-height:1.5;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin-bottom:10px;
  }
  .v_title__toolbar{
    float:none!important;
    display:flex;
    justify-content:flex-end;
    width:100%;
    margin:0 0 12px 0;
    order:0;
  }
  .v_title__toolbar .br_more_btn2,
  .v_title__toolbar button{
    float:none!important;
    margin-top:0!important;
  }
  .v_title__body{
    overflow:visible;
    width:100%;
    order:1;
    padding:0;
    text-align:center;
  }
  .v_title__subject{display:block;text-align:center;}
  /* 메타 정보 — 한 줄 나열 (좁으면 가로 스크롤) */
  .v_info{
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:center;
    gap:8px 12px;
    margin-bottom:8px;
    padding:10px 12px;
    background:#f5f6f8;
    border-radius:12px;
    border:1px solid #e8eaef;
    font-size:12px;
    color:#4a4f59;
    line-height:1.35;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .v_info__item{
    display:inline-flex;
    align-items:center;
    gap:5px;
    flex-shrink:0;
    white-space:nowrap;
  }
  .v_info__item .ph{
    flex-shrink:0;
    margin-right:0;
    font-size:1.05rem;
    color:#31415e;
    opacity:0.9;
  }
  .view_btn_list{justify-content:flex-start;flex-wrap:wrap;margin-top:10px;}
  .view-content img{max-width:100%!important;height:auto!important;}
}
/** =====================================================================================================
   7. 게시판 쓰기 (Write Page)
   ======================================================================================================= */
.write_wrap{padding-top:20px;max-width:100%;}
/* 각 입력 행 감싸기 */
.write_div{margin-bottom:20px;position:relative;}
/* 입력창 공통 스타일 (가로 꽉 참,깔끔한 디자인) */
.frm_file,.frm_input{width:100%;height:50px;/* 터치하기 좋은 높이 */
 padding:0 15px;border:1px solid #ddd;background:#fff;color:#333;font-size:15px;border-radius:5px;box-sizing:border-box;/* 패딩 포함 너비 계산 */
 outline:none;transition:all 0.2s;}
/* 입력창 포커스 효과 */
.frm_input:focus{border-color:#333;box-shadow:0 0 0 1px #333;/* 포커스 시 진하게 */;}
/* 텍스트 영역 (파일 설명 등) */
.frm_input.full_input{width:100%;}
/* 이름/비밀번호 가로 배치용 */
.write_group{display:flex;gap:10px;width:100%;}
.write_group .frm_input{flex:1;/* 반반씩 차지 */;}
/* 옵션 체크박스 영역 */
.write_option{display:flex;flex-wrap:wrap;gap:20px;padding:10px 0;margin-bottom:5px;}
.write_option input[type="checkbox"]{margin-right:5px;vertical-align:middle;}
.write_option label{font-size:14px;color:#555;vertical-align:middle;cursor:pointer;}
/* 파일 첨부 영역 */
.file_wrap{border:1px solid #eee;background:#fafafa;padding:15px;border-radius:5px;margin-bottom:10px;}
.file_wrap .frm_file{border:1px solid #ddd;background:#fff;height:auto;padding:10px;}
.file_wrap .frm_input{margin-top:10px;height:40px;font-size:13px;}
.file_del{margin-top:8px;display:block;font-size:13px;color:#e8180c;}
/* 자동등록방지(Captcha) 여백 */
.captcha_div{margin-bottom:20px;}
/* 모바일 반응형 */
@media all and (max-width:768px){.write_group{flex-direction:column;gap:10px;}/* 모바일에서 이름/비번 위아래로 */;}/** =====================================================================================================         이전글 / 다음글 (Next/Prev Post)          ======================================================================================================= */.bo_v_nb{margin-top:30px;border-top:2px solid #676767;border-bottom:1px solid #ddd;margin-bottom:30px;background:#fff;}.bo_v_nb li{display:flex;/* 가로 정렬 핵심 */ align-items:center;/* 수직 중앙 정렬 */ padding:12px 15px;border-bottom:1px solid #eee;transition:background 0.2s;}.bo_v_nb li:last-child{border-bottom:0;}.bo_v_nb li:hover{background:#f9f9f9;/* 마우스 오버 시 배경색 */;}/* 1. 라벨 (이전글/다음글) */.bo_v_nb .nb_tit{width:90px;/* 고정 너비 */ font-weight:500;color:#333;font-size:15px!important;}.bo_v_nb .nb_tit i{color:#888;margin-right:5px;font-size:12px;}/* 2. 제목 링크 */.bo_v_nb .nb_link{flex:1;/* 남은 공간 모두 차지 */ overflow:hidden;text-overflow:ellipsis;/* 말줄임표 */ white-space:nowrap;padding:0 20px;/* 좌우 여백 */;}.bo_v_nb .nb_link a{color:#555;font-size:15px!important;text-decoration:none;display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.bo_v_nb .nb_link a:hover{color:#000;text-decoration:underline;}/* 3. 날짜 */.bo_v_nb .nb_date{width:100px;text-align:right;color:#999;font-size:13px;font-family:verdana,sans-serif;}/* 모바일 반응형 */@media all and (max-width:768px){.bo_v_nb .nb_tit{width:70px;font-size:13px;}/* 라벨 너비 줄임 */  .bo_v_nb .nb_date{display:none;}/* 모바일에선 날짜 숨김 (제목 공간 확보) */  .bo_v_nb .nb_link{padding:0 10px;}}

/** =====================================================================================================
   목록 썸네일 호버 — master .xshadow(빨간 테두리·box-shadow !important) 덮어쓰기
   ======================================================================================================= */
.swiper-container-ga a.img_link.xshadow{
  transition:border-color .35s ease,box-shadow .35s ease!important;
  border:1px solid rgba(49,65,94,.12)!important;
  box-shadow:0 4px 18px rgba(49,65,94,.08)!important;
  background-color:transparent!important;
}
@media (hover:hover) and (pointer:fine){
.swiper-container-ga a.img_link.xshadow:hover{
  border-color:rgba(44,68,128,.35)!important;
  box-shadow:0 14px 36px rgba(49,65,94,.14),0 0 0 1px rgba(44,68,128,.1)!important;
  background-color:transparent!important;
}
.swiper-container-ga a.img_link.xshadow::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(180deg,transparent 50%,rgba(44,68,128,.11) 100%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
.swiper-container-ga a.img_link.xshadow:hover::after{opacity:1;}
.swiper-container-ga a.img_link.xshadow img{transition:filter .35s ease;}
.swiper-container-ga a.img_link.xshadow:hover img{filter:brightness(1.04);}
}
.mov_ico{z-index:2;}