/* RNDBOX 공통 오버라이드 (base.css 다음에 로드) */
:root { --rb-purple: #8A3DDC; --rb-yellow: #FFD100; --rb-red: #FF4D4F; --rb-gray: #646464; --rb-line: #EBEBEB; }
html { font-size: 10px; }
body { margin: 0; font-family: "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif; color: #232323; background: #fff; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button { font-family: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* SUIT 폰트 클래스 (원본은 개별 woff 파일, 여기서는 가변 폰트 CDN) */
.suit_light_font, .suit_regular_font, .suit_medium_font, .suit_bold_font, .suit_extrabold_font, .suit_semibold_font {
    font-family: "SUIT Variable", "Pretendard Variable", Pretendard, sans-serif;
}
.suit_light_font { font-weight: 300; }
.suit_regular_font { font-weight: 400; }
.suit_medium_font { font-weight: 500; }
.suit_semibold_font { font-weight: 600; }
.suit_bold_font { font-weight: 700; }
.suit_extrabold_font { font-weight: 800; }
.pretendard { font-family: "Pretendard Variable", Pretendard, sans-serif; }

/* 토스트 */
#rndbox-toast { position: fixed; left: 50%; bottom: 9rem; transform: translate(-50%, 2rem); background: rgba(35,35,35,.92); color: #fff; padding: 1.2rem 2rem; border-radius: 1rem; font-size: 1.4rem; opacity: 0; pointer-events: none; transition: all .25s; z-index: 100001; white-space: pre-line; }
#rndbox-toast.show { opacity: 1; transform: translate(-50%, 0); }

/* 로그인 상태 표시 */
.login_section_logout { font-size: 1.5rem; color: #232323; }
.login_section_logout .point { color: var(--rb-purple); font-weight: 700; }
.button_menu2.point_menu strong { color: var(--rb-purple); }

/* 모바일 하단 탭: 아이콘 위, 라벨 아래 (6탭 균등 분배, 줄바꿈 금지) */
.abb_nav .abb_nav_wrapper { display: flex; align-items: stretch; }
.abb_nav .tab { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; padding: .4rem 0; }
.abb_nav .tab .tab_icon img { width: 2.4rem; height: 2.4rem; }
.abb_nav .tab span { display: block; font-size: .95rem; line-height: 1.2; color: #646464; margin-top: .2rem; text-align: center; white-space: nowrap; letter-spacing: -.03em; }
.abb_nav .tab.active span { color: var(--rb-purple); font-weight: 700; }
.abb_nav .tab.active .tab_icon img { filter: invert(27%) sepia(81%) saturate(2900%) hue-rotate(258deg) brightness(90%) contrast(95%); }

/* 공용 에러 페이지 */
.error_page { text-align: center; padding: 10rem 2rem 14rem; }
.error_code { font-size: 6rem; color: var(--rb-purple); margin-bottom: 1rem; }
.error_message { font-size: 1.6rem; color: #646464; margin-bottom: 3rem; }
.error_home_btn { display: inline-block; padding: 1.4rem 3rem; background: #232323; color: #fff; border-radius: .8rem; font-size: 1.5rem; }

/* 공용 페이지 타이틀 */
.page_title_wrap { max-width: 128rem; margin: 0 auto; padding: 4rem 2rem 1rem; }
.page_title { font-size: 2.6rem; font-weight: 700; }
.page_sub_title { font-size: 1.4rem; color: #646464; margin-top: .6rem; }

/* 공용 버튼 */
.rb_btn { display: inline-flex; align-items: center; justify-content: center; min-height: 4.8rem; padding: 0 2.4rem; border-radius: .8rem; font-size: 1.5rem; font-weight: 600; cursor: pointer; border: 1px solid #232323; background: #232323; color: #fff; }
.rb_btn.purple { background: var(--rb-purple); border-color: var(--rb-purple); }
.rb_btn.ghost { background: #fff; color: #232323; }
.rb_btn.yellow { background: var(--rb-yellow); border-color: var(--rb-yellow); color: #232323; }
.rb_btn:disabled, .rb_btn.disabled { opacity: .45; cursor: not-allowed; }

/* 등급 색상 */
.ground_x_color { color: #8A3DDC; } .ground_a_color { color: #E0A41A; } .ground_b_color { color: #00A6E9; } .ground_c_color { color: #22AC38; } .ground_d_color { color: #646464; } .ground_e_color { color: #969696; }

/* 모바일 앱(웹뷰) 모드: 앱 다운로드 안내·국가 선택 숨김, 하단 탭 여백 */
html.is-app .app_download, html.is-app .bottombar_right_right, html.is-app .footer_app, html.is-app .popup[data-popup-key] { display: none !important; }
html.is-app .global_wrapper, html.is-app .left_global_wrapper { visibility: hidden; }
html.is-app body { padding-bottom: 6rem; }
html.is-app .abb_nav { display: flex !important; }

/* 공용 레이아웃 보정 */
main { min-height: 50vh; }
.desktop_only { display: block; } .mobile_only { display: none; }
@media all and (max-width: 512px) { .desktop_only { display: none; } .mobile_only { display: block; } }
