@charset "utf-8";

/* =========================================================
   0. RB BASIC / 공통 레이아웃
   ========================================================= */

#contents_wrap {background:#f4f5f6;}

/* 툴팁 */
.rb_bbs_wrap .tooltips {
    opacity: 0;
    transition: all 350ms cubic-bezier(0.645, 0.045, 0.355, 1);
    cursor: default;
    position: absolute;
    left: 50px;
    width: max-content;
    color: #fff;
    background-color: #212121;
    border-radius: 4px;
    padding: 4px 6px;
    font-size: 0.75rem;
    white-space: nowrap;
    z-index: 9999;
}
.rb_bbs_wrap .tooltips:before {
    content: "";
    position: absolute;
    left: -3px;
    top: 50%;
    margin-top: -3px;
    border-width: 3px;
    border-style: solid;
    border-color: transparent #212121 transparent transparent;
}
.rb_bbs_wrap .fl_btns {
    position: relative;
}
.rb_bbs_wrap .fl_btns:hover .tooltips {
    opacity: 1;
    bottom: -30px;
}

/* 공통 레이아웃 */
.rb_bbs_wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 10px 12px 40px;
    color: #f4f5fa;
    font-size: 14px;
    line-height: 1.6;
}

/* 게시글 내용 영역 (view) */
#scroll_container {
    margin-top: 20px;
}
#scroll_container .rb_bbs_top {
    display: none;
}

/* 기본 게시판 뷰 스타일 */
#bo_v {
    margin-top: 10px;
}
#bo_v_title {
    font-size: 1.5rem;
    margin: 0 0 8px;
    font-weight: 700;
}
#bo_v_info {
    font-size: 0.85rem;
    color: #aaa;
    margin-bottom: 12px;
}
#bo_v_con {
    padding: 16px 14px 20px;
    border-radius: 14px;
    font-size: 1rem;
}

/* 목록 상단/하단 버튼 */
.bo_v_nb {
    margin: 16px 0 10px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
}
.bo_v_nb a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.9rem;
    background: #212238;
    color: #f4f5fa;
}

/* 댓글 (대략 기본형) */
#bo_vc {
    margin-top: 30px;
}
.bo_vc_w {
    margin-bottom: 15px;
}
.bo_vc_w input,
.bo_vc_w textarea {
    width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
    border: 1px solid #333;
    background: #070710;
    color: #f4f5fa;
    padding: 8px 10px;
    font-size: 0.95rem;
}
.bo_vc_w textarea {
    min-height: 100px;
}
.bo_vc_w .btn_submit {
    margin-top: 8px;
    padding: 7px 13px;
    border-radius: 8px;
    border: 0;
    background: #00ff88;
    color: #111;
    cursor: pointer;
}
.bo_vc {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bo_vc li {
    padding: 10px 0;
    border-bottom: 1px dashed #2b3040;
}
.bo_vc .cmt_contents {
    margin-top: 4px;
}

/* =========================================================
   1. THEME TOKENS (dark / light)
   ========================================================= */

#pub-calendar[data-theme="dark"] {
    --nb-bg: #070710;
    --nb-bg-card: #14151d;
    --nb-card: #212238;
	--nb-card-text: #f1f1f1;
	--nb-card-text-r: #444;
    --nb-tnmt: #020045;
    --nb-text: #f4f5fa;
    --nb-text-muted: #aaa;
    --nb-border: #2B3040;
    --nb-accent: #00ff88;
    --nb-accent-hover: #00d872;
    --nb-danger: #ff4b6b;
    --nb-notice-bg-dark: #ff000021;
    --nb-radius: 10px;
}

#pub-calendar[data-theme="light"] {
    --nb-bg: #f1f2f3;
    --nb-bg-card: #ffffff;
    --nb-card: #b1b1b1;
	--nb-card-text: #444;
	--nb-card-text-r: #eee;
    --nb-tnmt: #0d2c7a;
    --nb-text-muted: #777;
    --nb-border: #d0d2e4;

    --nb-accent-hover: #00a45b;
    --nb-danger: #ff4b6b;
    --nb-notice-bg-dark: #ff000015;
    --nb-radius: 10px;
	
	--nb:#00ff88;
	--nb-week-bg:#0b0c10;
    --nb-text: #1d1d1d;
    --nb-r-text: #f4f5fa;
    --nb-sub-text: #959595;	
    --nb-accent: #005aff;	
	--nb-tnmt: #005aff;
	--nb-daily: #36a44a;
}

/* =========================================================
   2. 헤더 / 타이틀 (세 페이지 공통)
   ========================================================= */

#header {
    padding: 5px 0;
}
#logo_img img {
    max-height: 22px;
}

#pub-title {
    text-align: center;
    display: grid;
    grid-template-columns: 170px 1fr 170px;
    align-items: center;
    padding: 8px 2%;
}

/* 로고 */
#pub-title .pub-logo {
    text-align: left;
    margin-right: auto;
    max-width: 170px;
}
#pub-title .pub-logo img {
    max-height: 70px;
    margin: 0 auto;
    max-width: 100%;
}

/* 매장명 */
#pub-title .pub-name span {
    display: block;
    font-size: 0.95rem;
    margin-bottom: 0;
    font-weight: normal;
    letter-spacing: 0.1em;
    color: var(--nb-text-muted);
}
#pub-title .pub-name {
    color: var(--nb-text);
    margin: 0 auto;
    font-size: 2rem;
    text-align: center;
    font-weight: bold;
}
#pub-title .pub-name a{
    color: var(--nb-text);}

/* 우측 버튼영역 (매장정보, 카톡 등) */
#pub-title .pub-info {
    margin-left: auto;
    max-width: 170px;
    display: flex;
    text-align: center;
    gap: 3px;
}
#pub-title .pub-info li {
    width: 65px;
    height: 40px;
}
#pub-title .pub-info li i {
    display: block;
    font-size: 1.4rem;
	color: #f1f2f3;
}
#pub-title .pub-info li.pub-info-btn {
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #333;
    cursor: pointer;
    
}
#pub-title .pub-info li.pub-info-btn button {
    width: 100%;
    height: 100%;
}
#pub-title .pub-info li.pub-info-kakao a {
    width: 100%;
    height: 100%;
    color: #333;
    background: #ffeb00;
    border-radius: 5px;
    display: flex;
    align-items: center;
    border: 1px solid #efdd00;
}
#pub-title .pub-info li.pub-info-kakao img {
    max-height: 35px;
    display: block;
    margin: 0 auto;
}

/* =========================================================
   3. 월간 캘린더 (list)
   ========================================================= */

.nb-monthly-box {
    width: 100%;
    margin: 0 auto 0px;
}

.nb-monthly-wrap {
    background: linear-gradient(315deg, #002069, #2c5cc9);
    border-radius: 0 0 0 0;
    padding: 20px 22%;
}

/* 열기/접기 토글 */
.nb-monthly-toggle {
    text-align: center;
    background:linear-gradient(90deg, #1a1a1a,#3b3b3b);
    border-radius:15px 15px 0 0;
    transition: background-color 1s ease;
	transition: transform 1s ease;
}
.nb-monthly-toggle.closed {
    background:linear-gradient(90deg, #1a1a1a,#3b3b3b);
	border-radius:10px 10px 0 0;
	transition: background-color 1s ease;
}
.nb-monthly-toggle button {
    color: #fff; display:block; width:100%; padding:7px 0;
}
.nb-monthly-toggle button .nb-arrow {
    display: inline-block;
    font-size: 1rem;
    margin-right: 4px;
    transition: transform 0s ease;
    transform: rotate(0deg);
}
.nb-monthly-toggle button.is-closed .nb-arrow {
    transform: rotate(180deg);
}

/* 헤더 */
.nb-monthly-header {
    display: flex;
    max-width: 400px;
    margin: 0 auto 15px;
    justify-content: space-between;
    padding: 0 15px;
    align-items: flex-end;
}
.nb-monthly-title {
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
}
.nb-monthly-nav a.nb-month-btn {
    color: #fff;
    text-decoration: none;
    padding: 10px;
}

/* 바디 */
.nb-monthly-body {
    max-width: 400px;
    margin: 0 auto;
}
.nb-monthly-dow-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    color: var(--nb-sub-text);
    margin-top: 10px;
    margin-bottom: 2px;
    font-weight: bold;
}
.nb-monthly-dow {
    font-size: 0.8rem;
}
.nb-monthly-weeks {
}
.nb-monthly-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
}
.nb-monthly-week.is-selected-week {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 20px;
}

/* 날짜 셀 */
.nb-monthly-day {
    position: relative;
    display: block;
    padding: 10px;
    color: var(--nb-r-text);
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}
.nb-monthly-day.is-today::before {
    content: "TODAY";
    position: absolute;
    top: 2px;
    left: 50%;
    color: #1d1d1d;
    font-size: 0.7rem;
    background: var(--nb);
    transform: translate(-50%, -6px);
    padding: 0 6px;
    border-radius: 3px;
}
.nb-monthly-day.is-selected {
    z-index: 1;
    color: #fff;
}
.nb-monthly-day.is-selected::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #0000ff;
    width: 30px;
    height: 30px;
    z-index: -1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

/* 날짜 숫자 */
.nb-monthly-date {
    font-size: 1rem;
}

/* 일반 글 있는 날 점 (지금은 토너먼트 기준으로만 사용해도 됨) */
.nb-monthly-dot {
    width: 3px;
    height: 3px;
    background: #fff;
    border-radius: 50%;
    margin: 2px auto 0;
}

/* 토너먼트 있는 날 아이콘/표시 */
.nb-has-tournament-dot {
    display: block;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -1px);
    font-size: 0.65rem;
    color: #ffbf00;
}

/* =========================================================
   4. 주간 캘린더 (list)
   ========================================================= */

.nb-weekly-wrap {
    width: 98%;
    margin: 0 auto 30px;
}

.nb-weekly-header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin: 10px 0 5px;
}

.nb-weekly-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.nb-weekly-nav .nb-btn {
    display: inline-block;
    padding: 6px 10px;
    color: var(--nb-r-text);
    border-radius: 20px;
    text-decoration: none;
    font-size: 0.9rem;
	background:var(--nb-sub-text);
}
.nb-weekly-nav .nb-btn.today {
    color: #f4f5fa;
    background: var(--nb-accent);
    padding: 6px 30px;
}

/* 날짜 라인 */
.nb-weekly-days {
    background:linear-gradient(360deg, #0b0c10, #252731);
    display: grid;
    grid-template-columns: repeat(7, 76px);
    gap: 8px;
    margin: 0 auto;
    list-style: none;
    padding: 20px 0;
    border-radius: 0 0 10px 10px;
    justify-content: center;
}

/* 날짜 카드 */
.nb-weekly-day a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 76px;
    gap: 2px;
    border-radius: 12px;
    padding: 10px 6px;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.25s ease, color 0.25s ease;
}
.nb-weekly-day .nb-dow {
    font-size: 0.8rem;
    color: #aaa;
}
.nb-weekly-day .nb-date {
    position: relative;
    font-weight: bold;
    font-size: 1.8rem;
    color: var(--nb-r-text);
    margin-top: 6px;
    z-index: 2;
}

/* 선택된 날짜 원 */
.nb-weekly-day.is-selected .nb-date::after {
    content: "";
    position: absolute;
    width: 39px;
    height: 39px;
    background: var(--nb-accent);
    border-radius: 50%;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* 오늘 */
.nb-weekly-day.is-today a::before {
    content: "TODAY";
    position: absolute;
    top: 1px;
    left: 50%;
    color: #1d1d1d;
    font-size: 0.7rem;
    background: var(--nb);
    transform: translate(-50%, -6px);
    padding: 1px 6px;
    border-radius: 3px;
}

/* 요일 색 */
.nb-weekly-day.is-sat .nb-dow {
    color: #2e80ff;
}
.nb-weekly-day.is-sun .nb-dow {
    color: #d11e1e;
}

/* 아이콘 */
.nb-weekly-day .nb-icon {
    position: absolute;
    bottom: 0;
    z-index: 3;
}
.nb-weekly-day .nb-icon i {
    color: #ffbf00;
    font-size: 0.9rem;
}
.nb-weekly-day .nb-icon i.nb-holiday {
    color: #fb0574;
    font-size: 1.2rem;
}

/* =========================================================
   5. 공지 / 선택 날짜 / 이벤트 리스트 (list)
   ========================================================= */

/* notice box */
.nb-notice-box {
    margin-top: 5px;
    border-radius: 10px;
    padding: 12px 20px 12px;
    border: 1px dashed var(--nb-notice-bg-dark);
    background: #ede7e7;
}
.nb-notice-header {
    text-align: center;
    color: #ff0000;
    margin-bottom: 8px;
}
.nb-notice-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.nb-notice-list a {
    color: var(--nb-text);
    text-decoration: none;
}
.nb-notice-list a:hover {
    color: var(--nb-text-muted);
}
.nb-notice-item {
    margin-bottom: 3px;
}
.nb-notice-item i {
    font-size: 0.3rem;
}
.nb-notice-title {
    font-size: 1.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 100%;
    letter-spacing: 0.02rem;
}
.nb-notice-date {
    font-size: 1.2rem;
}

/* 선택된 날짜 타이틀/빈 상태 */
.nb-selected-date {
    margin-top: 0px;
}
.nb-selected-title {
	width:100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 10px 0 5px;
    font-size: 14px;
    color: var(--nb-text);
    font-weight: normal;
	text-align:center;
}
.nb-selected-title small {
    color: #ddd;
    font-weight: 400;
}
.nb-empty {
    padding: 24px;
    border: 1px dashed var(--nb-text-muted);
    border-radius: 12px;
    color: var(--nb-text);
    text-align: center;
}
.nb-arrow {
    font-size: 3rem;
    color: var(--nb-text-muted);
}

/* 이벤트 리스트 */
.nb-event-list {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
	width:95%;
}
.nb-event-item {
    border: 1px solid #ddd;
	border-left:5px solid var(--nb-daily);    
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    transition: background-color 0.25s ease, border-color 0.25s ease,margin 0.1s ease;
}
.nb-event-item:hover {
    background:#eaeaea;
}
.nb-event-item.tournament {
	border-left:5px solid var(--nb-tnmt);    
}
.nb-event-item:hover {
	margin-left:5px;
}
.nb-event-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 14px;
    text-decoration: none;
    color: inherit;
}
.nb-event-main {
    flex: 1;
}
.nb-event-title {
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.5rem;
    color: var(--nb-text);
    margin-bottom: 0px;
}
.nb-event-desc {
    color: var(--nb-sub-text);
    margin-bottom: 10px;
    font-size: 1.2rem;
}

/* key-value 메타 정보 */
.nb-event-meta {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.nb-kv {
    color: #777;
    font-size: 1rem;
    text-align: left;
    letter-spacing: -0.02rem;
}
.nb-kv p {
    color: #af7c3b;
    margin-top: 3px;
    font-size: 1.2rem;
}
.nb-event-type {margin-bottom:5px;}

/* 얼리버드/추가 정보 */
.nb-event-early {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.nb-e-kv {
    color: #777;
    font-size: 1rem;
    text-align: left;
}
.nb-e-kv p {
    color: #ff2c78;
    margin-top: 0;
    font-size: 1.2rem;
    font-weight: bold;
}

/* 배지 */
.nb-badge {
    display: inline-block;
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 999px;
    border: 1px solid var(--nb-border);
}
.nb-badge-off {
    background: #ffe9e9;
    border-color: #ffd0d0;
    color: #d11e1e;
}

/* =========================================================
   6. 디테일 뷰 (view.nb-detail-wrap)
   ========================================================= */

.nb-detail-wrap {
    --nb-ac: #00ff88;
    --nb-fg: #111;
    --nb-muted: #bbb;
    --nb-point: #8658db;
    --nb-br: #e9e9ec;
    --nb-sub: #212238;
    --nb-dark: #070710;
    background: #ebebeb !important;
    padding: 20px;
    border-radius: 20px;
	margin:0px auto 20px;
	max-width:98%; 
}
.nb-detail-bar {
    width: 96%;
    height: 1px;
    background: #2c2d47;
    margin: 0 auto;
}
.nb-detail-bar2 {
    width: 96%;
    height: 1px;
    background: #070710;
    margin: 0 auto;
}
.nb-detail-type {
    text-align: center;
    margin-bottom: 10px;
}
.nb-detail-date {
    text-align: center;
    color: var(--nb-sub-text);
    font-size: 1.2rem;
	margin-bottom:-5px;
}
.nb-detail-title h2 {
    margin-bottom: 10px;
    font-size: 1.8rem;
    color:var(--nb-text);
}
.nb-detail-info {
    margin-top: 4px;
    display: grid;
    gap: 25px;
    background: var(--nb-dark);
    padding: 15px;
    border-radius: 15px;
    justify-content: center;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    justify-items: center;
}
.nb-detail-info h4 {
    flex-basis: 100%;
    color: #fff;
    font-size: 0.9rem;
    text-align: center;
    letter-spacing: 0.05rem;
    grid-column: 1 / -1;
    margin-bottom: 10px;
}
.nb-d-kv {
    color: #777;
    font-size: 1rem;
    text-align: left;
    margin-bottom: 5px;
}
.nb-d-kv p {
    color: #fafdcb;
    margin-top: 2px;
    font-size: 1.2rem;
}
.nb-ee-kv {
    flex-basis: 100%;
    color: #ff2c78;
    font-size: 1rem;
    text-align: center;
    margin-top: 7px;
    grid-column: 1 / -1;
}
.nb-ee-kv p {
    color: #ff2c78;
    margin-top: 2px;
    font-size: 1.2rem;
    font-weight: bold;
}

/* =========================================================
   7. WRITE 폼에서 사용되는 그리드 / 아이콘
   ========================================================= */

/* rb write 공통은 rb 기본 스타일에 의존, 여기선 주요 grid만 */
.rb_bbs_wrap .rb_inp_wrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.rb_bbs_wrap .rb_inp_wrap ul li {
    margin-bottom: 10px;
}


@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}
/* 아이콘 */
#gametype-icon {padding:2px 10px; border-radius:5px; color:#fff; font-size:1.05rem;
animation:gradient 2s linear infinite;
}
#gametype-icon i {font-size:0.9rem}
#gametype-icon.daily { transform:translate(0,-50%); background:linear-gradient(135deg, #01510f,  #51cd68,  #01510f); background-size:400% 100%; }
#gametype-icon.daily i {color:#ffeb00; }
#gametype-icon.tournament {  transform:translate(0,-50%); background:linear-gradient(135deg, #073d83, #4c91e9, #073d83); background-size:200% 100%;}
#gametype-icon.tournament i {color:#ffeb00;}
#gametype-icon.closed { background:#fb0574; }
#gametype-icon.closed i {color:#ffeb00; }
#gametype-icon.notice {background:#ff0000;}
#gametype-icon.notice i {color:#fff; }


/* =========================================================
   8. 매장정보 모달
   ========================================================= */

.nb-modal[hidden] {
    display: none;
}
.nb-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
}
.nb-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(5px);
}
.nb-modal__panel {
    position: relative;
    margin: 6vh auto 0;
    max-width: 520px;
    background: linear-gradient(0deg, #232323, #555555);
    border-radius: 10px;
    padding: 16px 18px 18px;
}
.nb-modal__close {
    position: absolute;
    right: 10px;
    top: -10px;
    border: 0;
    background: transparent;
    font-size: 3.5rem;
    cursor: pointer;
    color: #fff;
}
.nb-modal__header {
    text-align: center;
    padding-bottom: 10px;
}
.nb-modal__title {
    margin: 10px 0;
    font-size: 1.7rem;
    color: #fff;
}
.nb-modal__title p {
    font-size: 0.95rem;
    font-weight: normal;
    color: #aaa;
    margin-bottom: 5px;
}
.nb-pubinfo__logo {
    height: 48px;
    margin-bottom: 10px;
}
.nb-modal__body {
    padding-top: 12px;
}
.nb-pubinfo__intro {
    margin: 0 0 10px;
    color: #eee;
    font-size: 1.1rem;
    line-height: 1.6rem;
}
.nb-pubinfo__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.nb-pubinfo__list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 0;
    border-bottom: 1px dotted #aaa;
    color: #fff;
    font-size: 1.1rem;
}
.nb-pubinfo__list li:last-child {
    border-bottom: none;
}
.nb-pubinfo__list li i {
    color: #ffeb00;
}
.nb-pubinfo__list a {
    color: #fff;
    text-decoration: none;
}
.nb-pubinfo__list .touch {
    text-align: center;
    color: #777;
    margin-top: 10px;
}
/* =========================================================
   9. 버튼 (글쓰기 / 등록 / 취소 공통)
   ========================================================= */

/* 리스트 하단 글쓰기 영역 */
.rb-write-wrap {
    margin-top: 20px;
    text-align: right;
}

/* 일정 등록 버튼 (list 하단) */
.btnEventWrite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    background: var(--nb);
    color: #111;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}
.btnEventWrite:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.35);
    transform: translateY(-1px);
}
.btnEventWrite:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* write / view 공통 submit / cancel 버튼 (btn + font-B 조합 대응) */
.btn_submit.btn,
.btn_cancel.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 600;
    border: 0;
    cursor: pointer;
    text-decoration: none;
}

/* 등록(제출) 버튼 - 메인 강조색 */
.btn_submit.btn {
    background: var(--nb-accent);
    color: #111;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}
.btn_submit.btn:hover {
    background: var(--nb-accent-hover);
    box-shadow: 0 4px 10px rgba(0,0,0,0.35);
    transform: translateY(-1px);
}
.btn_submit.btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* 취소 버튼 - 중립 톤 */
.btn_cancel.btn {
    background: transparent;
    color: var(--nb-text-muted);
    border: 1px solid var(--nb-border);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.btn_cancel.btn:hover {
    background: var(--nb-bg-card);
    color: var(--nb-text);
    border-color: var(--nb-text-muted);
}


.frm_group {margin:10px 0}
.frm_group input[type="radio"] { position:relative; display:inline-block;}
.frm_label{display:block;margin:0 0 6px;font-weight:600; color:#222}
.frm_controls label{cursor:pointer; padding:6px 13px; }



.rb_bbs_wrap.rb_bbs_write_wrap {margin:10px auto;background:#fff; width:98%; border-radius:10px; color:#222}
.rb_bbs_wrap #char_count_wrap {position: absolute; top:35px; right:17px; text-align: right;font-weight: normal; font-size: 12px; color:#999; margin: 0px;}
.rb_bbs_wrap .help_text {font-size: 12px; color:#999; display: block; margin-bottom: 10px; word-break: keep-all;}
.rb_bbs_wrap .help_text_gap {font-size: 12px; color:#999; display: block; margin-bottom: 10px; word-break: keep-all; margin-top: 15px;}
.rb_bbs_wrap .ca_name {width: 100%;}
.rb_bbs_wrap .wr_subject {width: 70%; height:60px; font-size: 18px; padding-left: 20px; padding-right: 20px; box-sizing: border-box;}
.rb_bbs_wrap .rb_inp_wrap {margin-bottom: 10px;}
.rb_bbs_wrap .rb_inp_wrap input.holiday  { display:inline-block !important; position:relative !important;}

.rb_bbs_wrap .rb_inp_wrap ul li {display:grid; flex-wrap:wrap; gap: 10px; grid-template-columns:1fr 1fr 1fr 1fr; align-items:center }
.rb_bbs_wrap .rb_inp_wrap ul li div.grid-type {grid-column:1 / 3}
.rb_bbs_wrap .rb_inp_wrap ul li div.grid-subject {grid-column:1 / -1}
.rb_bbs_wrap .rb_inp_wrap ul li div.grid-buyin {}
.rb_bbs_wrap .rb_inp_wrap ul li div.grid-event {grid-column:1 / 3}
.rb_bbs_wrap .rb_inp_wrap ul li div.grid-desc {grid-column:3 / 5}

.rb_bbs_wrap .rb_inp_wrap ul li div input::placeholder,
.rb_bbs_wrap .rb_inp_wrap ul li div textarea::placeholder {color:#bbb;}
.rb_bbs_wrap .rb_inp_wrap ul li div textarea {padding:7px !important;}
.rb_bbs_wrap .rb_inp_wrap ul li.grow {display:grid; gap:10px; align-items:center}
.rb_bbs_wrap .rb_inp_wrap ul li.grow.g3 {grid-template-columns:1fr 1fr 1fr;}
.rb_bbs_wrap .rb_inp_wrap ul li.grow.g31 {grid-template-columns:3fr 1fr;}
.rb_bbs_wrap .cke_sc {display: none !important;}
.rb_bbs_wrap .wr_content {position: relative;}
.rb_bbs_wrap .wr_content textarea {border:1px solid #ddd; padding: 20px; box-sizing: border-box; box-shadow: none; border-radius: 10px; resize: none;}
.rb_bbs_wrap .guest_inp_wrap {background-color: #f9f9f9; border-radius: 10px; padding: 20px; box-sizing: border-box;}
.rb_bbs_wrap .guest_inp_wrap .input_tiny {width: 20%}
.rb_bbs_wrap .guest_inp_wrap .email {margin-top: 5px; width: 60%}
.rb_bbs_wrap .rb_inp_wrap_link {position: relative; margin-bottom: 10px;}
.rb_bbs_wrap .rb_inp_wrap_link i {position: absolute; top:14px; left: 15px;}
.rb_bbs_wrap .rb_inp_wrap_link .input {padding-left: 40px; box-sizing: border-box;}
.rb_bbs_wrap .rb_inp_wrap_gap {margin-top: 30px;}
.rb_bbs_wrap .rb_inp_wrap_confirm {text-align: center; margin-top: 30px;}
.rb_bbs_wrap .rb_inp_wrap_confirm .btn_cancel {width:auto;background-color: #aaa;color: #fff;height: 47px;border-radius: 10px;border: 0px; line-height: 47px; font-size: 14px; font-weight: normal; padding-left: 30px; padding-right: 30px;}
.rb_bbs_wrap .rb_inp_wrap_confirm .btn_submit {width:auto;background-color: #AA20FF;color: #fff;height: 47px;border-radius: 10px;border: 0px; font-size: 14px; font-weight: normal; padding-left: 30px; padding-right: 30px;}
.rb_bbs_wrap .rb_inp_wrap_confirm .btn_submit:hover {opacity: 0.8}
.rb_bbs_wrap #bo_vc_w #wr_content {border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important;}
/* } */

/* 파일업로드 { */
.swiper-wfile {margin-top: 10px;}
.au_input{width:100%;height:100%;display:block;opacity:0;position:absolute;top:0;left:0;z-index:97;}
.au_btn_search_file{background-color:#279e6b;padding:15px;text-align:center;cursor:pointer; border-radius: 6px; color:#fff;}
                        
.au_file_list{width: 100%; box-sizing: border-box; position: relative;}
.au_file_list_img_wrap {height:90px; overflow: hidden; border-radius: 6px; border:1px solid #eee; box-sizing: border-box;}
.au_file_list img {width: 100%; height:auto; min-height:100%;}
.au_progress{display:none;border-radius:4px;text-align:center; margin-top: 10px; background-color: rgba(0,0,0,0.05);}
.au_bars {font-size: 10px; color:rgba(0,0,0,1); background-color: rgba(0,0,0,0.1); border-radius:4px; transition: all 350ms cubic-bezier(0.07, 1, 0.07, 1);}
.cut {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;width: 100%;display: block;}
.au_btn_del{border-radius:4px;background-color:#f00;color:#fff !important;opacity:1;cursor:pointer; position: absolute; bottom:25px; right:5px; font-size: 11px; padding: 2px 5px 2px 5px;}
.au_btn_del2{border-radius:4px;background-color:#279e6b;color:#fff;opacity:1;cursor:pointer; position: absolute; bottom:25px; right:5px; font-size: 11px; padding: 2px 5px 2px 5px; z-index: 3}
#file_list .swiper-slide_lists dd {display: none; right:37px; color:#fff !important;}
#file_list .swiper-slide_lists:nth-child(1) dd {display: block !important;}
                            
.au_btn_search_file {border:2px dashed #f0f0f0 !important; background-color: #fff !important; color:#999 !important; min-height:100px; padding-top: 35px !important;}
                            
.w_pd {padding-top: 23px; }
.w_etc {display: block; width: 40px; margin:0 auto; text-align: center; background-color: #aaa; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_pdf {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #e7191b; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_ppt {display: block; width: 40px; margin:0 auto; text-align: center; background-color: #f68100; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_pptx {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #f68100; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_jpg {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #87cd6d; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px}
.w_zip {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #fec200; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_hwp {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #006fbe; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_xlsx {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #00753e; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_xls {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #00753e; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_doc {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #01528a; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}
.w_docx {display: block;  width: 40px; margin:0 auto; text-align: center; background-color: #01528a; color:#fff; padding-top: 14px; padding-bottom: 18px; font-weight: bold; border-radius: 6px;}

#son {height:10px;}
/* } */
.rb_bbs_wrap .btns_gr_wrap .sub {padding: 0px; height:0px; min-height: 0px;}
.rb_bbs_wrap .btns_gr_wrap .btns_gr {float:right; width: 50px; margin-right: -100px;}
.rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns {width: 50px; height:50px; border:1px solid #ddd; background-color: #fff; border-radius: 6px; text-align: center; margin-bottom: 10px; position: relative; display: block; line-height: 45px;}
.rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns:hover {border-color:#AA20FF;}
.rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns.main_color_bg {background-color: #AA20FF; border-color:#AA20FF;}
.rb_bbs_wrap .btm_btns .fl_btns {line-height: 30px; display: inline-block; height:30px; border:var(--nb-dark); background-color:var(--nb-dark); border-radius: 6px; text-align: center; margin-bottom: 10px; position: relative; color:#999; padding-left: 15px; padding-right: 15px;}
.rb_bbs_wrap .btm_btns .fl_btns:hover {border-color:#AA20FF; color:#AA20FF;}
.rb_bbs_wrap .btm_btns .fl_btns.main_color_bg {border-color:#AA20FF; color:#fff !important; background-color: #AA20FF;}

.rb_bbs_wrap #bo_v_share {padding-top: 0px; padding-bottom: 0px; float:right;}
.rb_bbs_wrap #bo_v_share li a span {display: none;}
.rb_bbs_wrap #bo_v_share li { margin-right: 0px; margin-left: 5px;}
.rb_bbs_wrap .copy_urls {float:left;}
.rb_bbs_wrap .copy_urls li {  margin-right: 0px; margin-left: 5px;}
.rb_bbs_wrap .copy_urls li a {display: block; background: #eee; height: 32px;line-height: 34px;text-align: center;border-radius: 5px;color:var(--nb-dark);font-size: 0.8em; padding:0 10px}

#bo_v_img {width:100%; margin-top:10px; text-align:center; overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:20px;max-width:700px;height:auto}
.rb_bbs_wrap #bo_v_con {color:var(--nb-text);}
.rb_bbs_wrap #bo_v_con img {width:100%; max-width: 700px}