@charset "utf-8";


/* 회원가입 약관 (register.skin.php) */
/* 상위 테마 CSS의 position/float 간섭으로 두 동의 체크박스 라벨이
   페이지 상단에서 겹쳐 보이는 문제를 막기 위해 이 영역 안은 항상
   일반적인 문서 흐름(static)으로 강제한다. */
#fregister,
#fregister * {
    position: static !important;
    float: none !important;
}

#fregister {
    width: 100%;
    margin: 30px 0;
    padding: 0;
    box-sizing: border-box;
}

#fregister > p {
    margin: 0 0 20px;
    padding: 12px;
    border: 1px solid #fed7d7;
    background: #fff5f5;
    color: #e8180c;
    text-align: center;
    font-size: 0.9rem;
}

#fregister section {
    margin: 0 0 20px;
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

#fregister h2 {
    margin: 0 0 15px;
    padding: 0 0 10px;
    border-bottom: 2px solid #333;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: left;
}

#fregister textarea {
    display: block;
    box-sizing: border-box;
    margin-bottom: 12px;
    padding: 10px;
    width: 100%;
    height: 200px;
    border: 1px solid #e2e8f0;
    background: #f7f7f7;
    font-size: 0.85rem;
    line-height: 1.6;
    resize: vertical;
}

#fregister .fregister_agree {
    margin: 0;
    padding: 12px 0 0;
    border: none;
    text-align: right;
}

#fregister .fregister_agree label {
    display: inline-block;
    margin-right: 8px;
    font-size: 0.9rem;
    vertical-align: middle;
    cursor: pointer;
}

#fregister .fregister_agree input[type="checkbox"] {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    cursor: pointer;
}

#fregister .btn_confirm {
    margin: 0 0 20px;
    text-align: center;
}

#fregister_private .tbl_head01 {
    overflow-x: auto;
}
#fregister_private .tbl_head01 table {width:100%;border-collapse:collapse}
#fregister_private .tbl_head01 th {text-align:center;border:1px solid #d1dee2;background:#f5f6fa;padding:10px;width:33%;font-size:0.85rem}
#fregister_private .tbl_head01 td {border:1px solid #e9e9e9;padding:10px;text-align:center;font-size:0.85rem}
#fregister_private .tbl_head01 caption {display: none;}

/* 회원가입 입력 */
#fregisterform textarea {height:50px}
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform .frm_address {margin:5px 0 0}
#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle}
#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0}

/* 회원가입 완료 */
#reg_result {padding:50px 0 0}
#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;background:#fff;line-height:2em}
#reg_result #result_email span {display:inline-block;width:150px}
#reg_result #result_email strong {color:#e8180c;font-size:1.2em}
#reg_result p {line-height:1.8em}
#reg_result .btn_confirm {margin:50px 0}

/* 아이디/비밀번호 찾기 */
#find_info #mb_hp_label {display:inline-block;margin-left:10px}
#find_info #info_fs {margin:0 20px 20px;padding:0;background:#fff}
#find_info #info_fs .frm_input {width:70%}
#find_info p {margin:0 0 10px;line-height:1.8em}
#find_info #captcha {margin:0 20px}

/* ==========================================================================
   회원정보 찾기 (password_lost.skin.php) - 모바일 캡차/입력창 완벽 고정 정렬 (Single-line)
   ========================================================================== */

@media (max-width: 480px) {
    #find_info.mbskin { width: 100% !important; max-width: 100% !important; margin: 15px auto !important; padding: 0 12px !important; box-sizing: border-box !important; }
    #find_info form { width: 100% !important; max-width: 100% !important; padding: 20px 15px !important; box-sizing: border-box !important; overflow: hidden !important; }
    #find_info h1#win_title { font-size: 1.15rem !important; margin-bottom: 15px !important; text-align: center !important; }
    #find_info #info_fs { width: 100% !important; max-width: 100% !important; margin-bottom: 15px !important; box-sizing: border-box !important; margin-left:0 !important; }
     #find_info #info_fs p { line-height:150% !important;}
    #find_info #info_fs input#mb_email { width: 100% !important; max-width: 100% !important; height: 40px !important; box-sizing: border-box !important; }
    #find_info #captcha { width: 100% !important; max-width: 100% !important; display: grid !important; grid-template-columns: 1fr 40px 40px !important; grid-template-areas: "img btn1 btn2" "key key key" "info info info" !important; gap: 6px !important; align-items: center !important; margin-bottom: 15px !important; box-sizing: border-box !important; }
    #find_info #captcha audio { grid-area: info !important; width: 100% !important; height: 32px !important; margin-bottom: 5px !important; box-sizing: border-box !important; }
    #find_info #captcha #captcha_img { grid-area: img !important; width: 100% !important; height: 40px !important; object-fit: contain !important; border: 1px solid #cbd5e0 !important; border-radius: 3px !important; background: #fff !important; box-sizing: border-box !important; }
    #find_info #captcha #captcha_mp3 { grid-area: btn1 !important; width: 40px !important; height: 40px !important; box-sizing: border-box !important; }
    #find_info #captcha #captcha_reload { grid-area: btn2 !important; width: 40px !important; height: 40px !important; box-sizing: border-box !important; }
    #find_info #captcha #captcha_key { grid-area: key !important; width: 100% !important; height: 40px !important; box-sizing: border-box !important; }
    #find_info #captcha #captcha_info { grid-area: info !important; width: 100% !important; font-size: 0.75rem !important; margin-top: 2px !important; box-sizing: border-box !important; }
    #find_info .win_btn { width: 100% !important; margin-top: 15px !important; box-sizing: border-box !important; }
    #find_info .win_btn .btn_submit { width: 100% !important; max-width: 100% !important; height: 44px !important; line-height: 44px !important; box-sizing: border-box !important; }
}

/* ==========================================================================
   로그인 스킨 (login.skin.php) 
   ========================================================================== */
#mb_login { width: 100%; max-width: 420px; margin: 40px auto !important; padding: 0 15px; box-sizing: border-box; }
#mb_login h1 { text-align: center; margin-bottom: 25px; }
#mb_login h1 img { display: inline-block; max-width: 100%; height: auto; }
#mb_login #login_fs { all: unset !important; display: block !important; position: relative !important; padding: 25px !important; background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 4px 4px 0 0 !important; margin: 0 !important; box-sizing: border-box !important; }
#mb_login #login_fs legend { display: none !important; }
#mb_login #login_fs label.login_id, #mb_login #login_fs label.login_pw { all: unset !important; display: inline-block !important; width: 75px !important; height: 38px !important; line-height: 38px !important; font-size: 0.9rem !important; color: #4a5568 !important; font-weight: 500 !important; vertical-align: middle !important; margin-bottom: 8px !important; }
#mb_login #login_fs input#login_id, #mb_login #login_fs input#login_pw { all: unset !important; display: inline-block !important; width: calc(100% - 85px) !important; max-width: 180px !important; height: 38px !important; padding: 0 10px !important; border: 1px solid #cbd5e0 !important; border-radius: 3px !important; font-size: 0.9rem !important; box-sizing: border-box !important; background-color: #fff !important; color: #2d3748 !important; vertical-align: middle !important; margin-bottom: 8px !important; }
#mb_login #login_fs .btn_submit { all: unset !important; display: block !important; width: 100% !important; height: 44px !important; background-color: #3182ce !important; color: #fff !important; font-size: 0.95rem !important; font-weight: 600 !important; border-radius: 3px !important; text-align: center !important; line-height: 44px !important; cursor: pointer !important; box-sizing: border-box !important; margin-top: 10px !important; transition: background-color 0.2s ease !important; }
#mb_login #login_fs .btn_submit:hover { background-color: #2b6cb0 !important; }
#mb_login #login_fs input#login_auto_login { all: unset !important; display: inline-block !important; width: 16px !important; height: 16px !important; border: 1px solid #cbd5e0 !important; border-radius: 3px !important; cursor: pointer !important; accent-color: #3182ce !important; vertical-align: middle !important; margin-top: 10px !important; }
#mb_login #login_fs label[for="login_auto_login"] { all: unset !important; display: inline-block !important; font-size: 0.85rem !important; color: #718096 !important; cursor: pointer !important; vertical-align: middle !important; margin-top: 10px !important; margin-left: 6px !important; }
#mb_login #login_info { padding: 20px 25px; background-color: #f8fafc; border: 1px solid #e2e8f0; border-top: none; border-radius: 0 0 4px 4px; box-sizing: border-box; }
#mb_login #login_info h2 { font-size: 0.95rem; font-weight: 600; color: #2d3748; margin-top: 0; margin-bottom: 8px; }
#mb_login #login_info p { font-size: 0.83rem; color: #718096; line-height: 1.5; margin: 0 0 15px 0; }
#mb_login #login_info div { text-align: right; }
#mb_login #login_info .btn02 { display: inline-block; padding: 8px 14px; background-color: #4a5568; color: #ffffff; font-size: 0.83rem; text-decoration: none; border-radius: 3px; }
#mb_login .btn_confirm { text-align: center; margin-top: 25px; }
#mb_login .btn_confirm a { display: inline-block; margin: 0 auto; ;min-width: 160px; max-width: 100%; height: 42px; line-height: 42px; padding: 0 20px; background-color: #718096; color: #ffffff; font-size: 0.9rem; font-weight: 500; text-decoration: none; border-radius: 4px; box-sizing: border-box; }


/* 쪽지 */
#memo_view_contents {margin:0 auto 20px;width:90%}
#memo_view_contents h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#memo_view_ul {margin:0;padding:0 0 10px;border-bottom:1px solid #eee;list-style:none}
.memo_view_li {position:relative;padding:5px 0}
.memo_view_subj {display:inline-block;width:65px}
#memo_view p {padding:10px 0;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em}

#memo_write textarea {height:100px}

/* 스크랩 */
/* ==========================================================================
   스크랩 팝업 및 목록 반응형 완벽 최적화 (모든 화면 폭 대응)
   ========================================================================== */
#scrap_do, #scrap { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; }
#scrap_do form, #scrap form { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
#scrap_do table, #scrap table { width: 100% !important; max-width: 100% !important; table-layout: fixed !important; box-sizing: border-box !important; }
#scrap_do td, #scrap td, #scrap_do th, #scrap th { box-sizing: border-box !important; word-break: break-all !important; }
#scrap_do input[type="text"], #scrap_do textarea, #scrap input[type="text"], #scrap textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
#scrap_do table caption { display: none; }

@media (max-width: 768px) {
    #scrap_do .new_win_con, #scrap_do .tbl_wrap { width: 100% !important; max-width: 100% !important; margin: 0 0 15px 0 !important; padding: 0 !important; box-sizing: border-box !important; }
    #scrap_do .tbl_frm01 textarea { min-width: 0 !important; }
    #scrap_do.new_win { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 15px !important; box-sizing: border-box !important; overflow-x: hidden !important; }
    #scrap_do.new_win form { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; }
    #scrap_do #win_title { font-size: 1.15rem !important; margin: 0 0 15px 0 !important; text-align: center !important; border-bottom: 2px solid #333 !important; line-height: 1.4 !important; box-sizing: border-box !important; }
    #scrap_do .tbl_frm01 { width: 100% !important; max-width: 100% !important; margin: 0 0 15px 0 !important; padding: 0 !important; border: none !important; box-sizing: border-box !important; overflow: hidden !important; }
    #scrap_do .tbl_frm01 table { width: 100% !important; max-width: 100% !important; table-layout: fixed !important; box-sizing: border-box !important; border-collapse: collapse !important; }

    #scrap_do .tbl_frm01 tr { display: block !important; width: 100% !important; max-width: 100% !important; margin-bottom: 12px !important; border-bottom: 0 !important; padding-bottom: 8px !important; box-sizing: border-box !important; }
    #scrap_do .tbl_frm01 th { display: block !important; width: 100% !important; max-width: 100% !important; padding: 2px 0 4px 0 !important; background: transparent !important; text-align: left !important; font-weight: 600 !important; font-size: 0.9rem !important; color: #4a5568 !important; box-sizing: border-box !important; }
    #scrap_do .tbl_frm01 td { display: block !important; width: 100% !important; max-width: 100% !important; padding: 2px 0 !important; background: transparent !important; text-align: left !important; word-break: break-all !important; overflow-wrap: break-word !important; box-sizing: border-box !important; color: #2d3748 !important; font-size: 0.95rem !important; }
    #scrap_do .tbl_frm01 textarea#wr_content { display: block !important; width: 100% !important; max-width: 100% !important; height: 100px !important; padding: 10px !important; border: 1px solid #cbd5e0 !important; border-radius: 4px !important; background: #fff !important; box-sizing: border-box !important; resize: vertical !important; font-size: 0.95rem !important; }

    #scrap_do .tbl_frm01 table, #scrap_do .tbl_frm01 tbody, #scrap_do .tbl_frm01 tr, #scrap_do .tbl_frm01 th, #scrap_do .tbl_frm01 td { border: 0 !important; }
    #scrap_do .win_desc { width: 100% !important; max-width: 100% !important; padding: 10px 12px !important; margin: 0 0 15px 0 !important; background: #fff5f5 !important; border: 1px solid #fed7d7 !important; border-radius: 4px !important; color: #c53030 !important; font-size: 0.85rem !important; line-height: 1.4 !important; box-sizing: border-box !important; word-break: break-all !important; }
    #scrap_do .win_desc::before, #scrap_do .win_desc::after { display: none !important; content: none !important; }
    #scrap_do .win_btn { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important; text-align: center !important; }
    #scrap_do .win_btn .btn_submit { display: block !important; width: 100% !important; max-width: 100% !important; height: 44px !important; line-height: 44px !important; padding: 0 !important; background-color: #3182ce !important; color: #fff !important; font-size: 1rem !important; font-weight: 600 !important; border: none !important; border-radius: 4px !important; box-sizing: border-box !important; text-align: center !important; cursor: pointer !important; }
}

/* 회원 비밀번호 확인 */
#mb_confirm {margin:0 auto;padding:100px 0;width:500px}
#mb_confirm h1 {margin:0 0 20px;font-size:1.3em}
#mb_confirm p {padding:20px;border:1px solid #dde4e9;border-bottom:0;background:#fff}
#mb_confirm p strong {display:block}
#mb_confirm fieldset {margin:0 0 30px;padding:30px 0;border:1px solid #e9e9e9;background:#f5f6fa;text-align:center}
#mb_confirm fieldset .frm_input {background-color:#fff !important}
#mb_confirm label {letter-spacing:-0.1em}
#mb_confirm_id {display:inline-block;margin-right:20px;font-weight:bold}

/* 비밀글 비밀번호 확인 */
#pw_confirm {margin:0 auto;padding:100px 0;width:500px}
#pw_confirm h1 {margin:0 0 20px;font-size:1.3em}
#pw_confirm p {padding:20px;border:1px solid #dde4e9;border-bottom:0;background:#fff}
#pw_confirm p strong {display:block}
#pw_confirm fieldset {margin:0 0 30px;padding:30px 0;border:1px solid #e9e9e9;background:#f5f6fa;text-align:center}
#pw_confirm fieldset .frm_input {background-color:#fff !important}
#pw_confirm label {letter-spacing:-0.1em}
#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold}

/* 폼메일 */
#formmail #subject {width:386px}
#formmail textarea {height:100px}

/* 자기소개 */
#profile table {margin-bottom:0}
#profile section {margin:0 auto 20px;padding:20px;width:86%}
#profile h2 {margin:0}

/* ==========================================================================
   회원가입 / 정보수정 (register_form.skin.php) 커스텀 스타일
   ========================================================================== */

/* 전체 영역 레이아웃 - 좌우 마진/패딩 제거 */
.mbskin {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #333;
    box-sizing: border-box;
}

.mbskin *, .mbskin *::before, .mbskin *::after {
    box-sizing: inherit;
}

/* 영역 구분 제어 (박스 외곽선 제거, 라운드 제거, 그림자 제거) */
.mbskin .tbl_frm01 {
    margin-bottom: 25px;
    background: #fff;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.mbskin .tbl_frm01 h4 {
    margin: 0;
    padding: 10px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #2d3748;
    background-color: transparent;
    border-bottom: 2px solid #333;
    border-radius: 0;
}

.mbskin .tbl_frm01 table {
    width: 100%;
    border-collapse: collapse;
}

.mbskin .tbl_frm01 caption {
    display: none;
}

.mbskin .tbl_frm01 tr {
    border-bottom: 1px solid #e2e8f0;
}

.mbskin .tbl_frm01 th {
    width: 130px;
    padding: 10px 10px 10px 12px;
    background-color: transparent;
    color: #4a5568;
    font-weight: 500;
    text-align: left;
    vertical-align: middle;
    font-size: 0.95rem;
}

.mbskin .tbl_frm01 td {
    padding: 8px 12px;
    background-color: transparent;
    color: #4a5568;
    vertical-align: middle;
    font-size: 0.95rem;
}

/* 필수 항목 표시 */
.mbskin .sound_only {
    display: inline-block;
    width: 0;
    height: 0;
    overflow: hidden;
}

.mbskin th label strong,
.mbskin th strong {
    color: #e53e3e;
    margin-left: 3px;
}

/* Input 박스 높이 축소 (32px) 및 테두리/라운드 스타일 조정 */
.mbskin .frm_input {
    height: 32px;
    padding: 0 8px;
    border: 1px solid #ccc;
    border-radius: 0; /* 라운드 제거 */
    font-size: 0.9rem;
    color: #2d3748;
    background-color: #fff;
    vertical-align: middle;
}

.mbskin .frm_input:focus,
.mbskin textarea:focus {
    border-color: #3182ce;
    outline: none;
}

.mbskin .frm_input[readonly],
.mbskin .frm_input[disabled] {
    background-color: #f7fafc;
    color: #a0aec0;
    cursor: not-allowed;
}

.mbskin textarea {
    width: 100%;
    height: 60px;
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 0; /* 라운드 제거 */
    font-size: 0.9rem;
    color: #2d3748;
    resize: vertical;
}

/* 라디오 / 체크박스 */
.mbskin input[type="radio"],
.mbskin input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin-right: 3px;
    vertical-align: middle;
    cursor: pointer;
}

.mbskin td label {
    margin-right: 12px;
    cursor: pointer;
    vertical-align: middle;
}

/* 필수 항목 강조 테두리 제거 원할 시 제거 가능 */
.mbskin .required {
    border-color: #e53e3e !important;
}

/* 안내 및 헬프 텍스트 */
.mbskin .frm_info {
    display: block;
    margin-bottom: 4px;
    font-size: 0.83rem;
    color: #718096;
    line-height: 1.3;
}

/* ==========================================================================
   회원가입 (register_form.skin.php) - PC 유지 / 모바일 라디오 및 캡차 완벽 정렬 (Single-line)
   ========================================================================== */

@media (max-width: 768px) {
    .mbskin { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 10px !important; box-sizing: border-box !important; }
    .mbskin form { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
    .mbskin .tbl_frm01 { width: 100% !important; overflow: hidden !important; margin-bottom: 20px !important; }
    .mbskin .tbl_frm01 table { width: 100% !important; table-layout: fixed !important; }
    .mbskin .tbl_frm01 tr { display: block !important; width: 100% !important; margin-bottom: 12px !important; border-bottom: 1px solid #e2e8f0 !important; padding-bottom: 10px !important; }
    .mbskin .tbl_frm01 th { display: block !important; width: 100% !important; height: auto !important; padding: 4px 0 !important; background: transparent !important; text-align: left !important; font-weight: 600 !important; font-size: 0.9rem !important; }
    .mbskin .tbl_frm01 td { display: block !important; width: 100% !important; height: auto !important; padding: 4px 0 !important; background: transparent !important; box-sizing: border-box !important; text-align: left !important; }
    .mbskin .confirm_member { padding: 12px !important; font-size: 0.85rem !important; line-height: 1.5 !important; word-break: keep-all !important; }
    .mbskin .frm_input { width: 100% !important; max-width: 100% !important; height: 38px !important; box-sizing: border-box !important; }
    .mbskin textarea { width: 100% !important; max-width: 100% !important; height: 80px !important; box-sizing: border-box !important; }
    .mbskin .btn_frmline { display: inline-block !important; width: 100% !important; height: 38px !important; line-height: 38px !important; margin: 6px 0 0 0 !important; text-align: center !important; box-sizing: border-box !important; }
    .mbskin input[type="text"]#reg_mb_zip, .mbskin input[type="text"]#mb_4 { width: calc(100% - 100px) !important; display: inline-block !important; vertical-align: middle !important; margin-right: 5px !important; }
    .mbskin input[type="text"]#reg_mb_zip + .btn_frmline, .mbskin input[type="text"]#mb_4 + .btn_frmline { width: 90px !important; display: inline-block !important; vertical-align: middle !important; margin-top: 0 !important; }
    .mbskin input[type="text"].frm_address { width: 100% !important; margin-top: 5px !important; box-sizing: border-box !important; }
    
    /* 성별, 수령처, 회원구분 등 라디오 버튼 영역 가로 정렬 및 인라인 강제 */
    .mbskin .tbl_frm01 td input[type="radio"] { display: inline-block !important; width: 16px !important; height: 16px !important; margin: 0 4px 0 10px !important; vertical-align: middle !important; }
    .mbskin .tbl_frm01 td input[type="radio"]:first-of-type { margin-left: 0 !important; }
    .mbskin .tbl_frm01 td label { display: inline-block !important; vertical-align: middle !important; margin-right: 15px !important; font-weight: normal !important; }
    
    /* 자동등록방지 캡차 영역 모바일 가로 정렬 최적화 */
    .mbskin #captcha { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 6px !important; width: 100% !important; }
    .mbskin #captcha audio { width: 100% !important; height: 36px !important; box-sizing: border-box !important; }
    .mbskin #captcha #captcha_img { height: 40px !important; width: auto !important; max-width: 140px !important; object-fit: contain !important; border: 1px solid #ccc !important; box-sizing: border-box !important; }
    .mbskin #captcha #captcha_key { width: 90px !important; height: 40px !important; box-sizing: border-box !important; }
    .mbskin #captcha #captcha_mp3, .mbskin #captcha #captcha_reload { width: 40px !important; height: 40px !important; box-sizing: border-box !important; }
    .mbskin #captcha #captcha_info { width: 100% !important; font-size: 0.75rem !important; margin-top: 4px !important; }

    .mbskin .btn_confirm { display: flex !important; gap: 8px !important; width: 100% !important; margin: 20px 0 !important; box-sizing: border-box !important; }
    .mbskin .btn_confirm .btn_submit, .mbskin .btn_confirm .btn_cancel { flex: 1 !important; width: auto !important; height: 44px !important; line-height: 44px !important; padding: 0 !important; text-align: center !important; box-sizing: border-box !important; }
}

#fregisterform #msg_certify {
    margin-top: 6px;
    padding: 6px 10px;
    background-color: #ebf8ff;
    border: 1px solid #bee3f8;
    border-radius: 0;
    color: #2b6cb0;
    font-size: 0.85rem;
}

/* 주소 입력란 간격 */
#fregisterform .frm_address {
    margin-top: 4px;
}

/* 우편번호/본인인증 버튼 - 라운드 제거 및 높이 일치 */
.mbskin .btn_frmline,
.mbskin button.btn_frmline {
    display: inline-block;
    height: 32px;
    line-height: 30px;
    padding: 0 10px;
    margin-left: 4px;
    background-color: #4a5568;
    color: #ffffff;
    border: 1px solid #4a5568;
    border-radius: 0; /* 라운드 제거 */
    font-size: 0.85rem;
    cursor: pointer;
    vertical-align: middle;
    text-decoration: none;
}

.mbskin .btn_frmline:hover,
.mbskin button.btn_frmline:hover {
    background-color: #2d3748;
}

/* ==========================================================================
   캡차(자동등록방지) - 이미지 크기 확대 및 높이 밸런스 조정
   ========================================================================== */
.mbskin fieldset#captcha_grp {
    all: unset !important;
    display: block !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mbskin #captcha {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 캡차 이미지 확대 (기존 32px -> 45px) */
.mbskin #captcha #captcha_img {
    position: static !important;
    float: none !important;
    height: 45px !important;         /* 이미지 높이 확대 */
    width: auto !important;
    border: 1px solid #ccc !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    object-fit: contain !important;   /* 이미지 비율 유지하며 선명하게 */
}

/* 입력창 크기 높이 조절 */
.mbskin #captcha #captcha_key {
    position: static !important;
    float: none !important;
    width: 110px !important;
    height: 45px !important;         /* 이미지와 동일한 높이 */
    padding: 0 10px !important;
    border: 1px solid #ccc !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
    font-size: 1rem !important;      /* 입력 텍스트 크기 확대 */
}

/* 음성/새로고침 버튼 크기 조정 */
.mbskin #captcha #captcha_mp3,
.mbskin #captcha #captcha_reload {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 45px !important;          /* 버튼 가로 크기 확대 */
    height: 45px !important;         /* 버튼 세로 크기 확대 */
    box-sizing: border-box !important;
    border: 1px solid #ccc !important;
    background-color: #f8fafc !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
}

.mbskin #captcha #captcha_mp3:hover,
.mbskin #captcha #captcha_reload:hover {
    background-color: #e2e8f0 !important;
}

/* 1. 음성듣기 아이콘 크기 확대 */
.mbskin #captcha #captcha_mp3::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background: currentColor !important;
    clip-path: polygon(0% 35%, 35% 35%, 70% 0%, 70% 100%, 35% 65%, 0% 65%) !important;
    color: #333 !important;
    position: absolute !important;
    left: 11px !important;
    top: 12px !important;
}

/* 2. 새로고침 아이콘 크기 확대 */
.mbskin #captcha #captcha_reload::before {
    content: "↻" !important;
    text-indent: 0 !important;
    font-size: 22px !important;
    font-weight: bold !important;
    color: #333 !important;
    line-height: 1 !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* 버튼 내부 기존 요소 무효화 */
.mbskin #captcha #captcha_mp3 *,
.mbskin #captcha #captcha_reload * {
    display: none !important;
}

/* 하단 안내 문구 */
.mbskin #captcha #captcha_info {
    width: 100% !important;
    margin-top: 6px !important;
    font-size: 0.8rem !important;
    color: #666 !important;
}

/* 하단 제출/취소 버튼 */
.mbskin .btn_confirm {
    margin-top: 25px;
    margin-bottom: 30px;
    text-align: center;
}

.mbskin .btn_submit {
    display: inline-block;
    min-width: 120px;
    height: 42px;
    padding: 0 20px;
    background-color: #3182ce;
    color: #ffffff;
    border: none;
    border-radius: 0; /* 라운드 제거 */
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    vertical-align: middle;
}

.mbskin .btn_submit:hover {
    background-color: #2b6cb0;
}

.mbskin .btn_cancel {
    display: inline-block;
    min-width: 90px;
    height: 42px;
    line-height: 40px;
    padding: 0 16px;
    margin-left: 6px;
    background-color: #edf2f7;
    color: #4a5568;
    border: 1px solid #cbd5e0;
    border-radius: 0; /* 라운드 제거 */
    font-size: 0.95rem;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
}

/* 반응형 모바일 대응 */
@media (max-width: 640px) {
    .mbskin .tbl_frm01 th,
    .mbskin .tbl_frm01 td {
        display: block;
        width: 100%;
        padding: 4px 0;
    }

    .mbskin .frm_input,
    .mbskin .frm_address {
        width: 100% !important;
    }

    .mbskin .btn_frmline {
        margin-top: 4px;
        margin-left: 0;
        width: 100%;
    }
}

/* ==========================================================================
   로그인 스킨 (login.skin.php) - CSS 전용 완벽 정렬
   ========================================================================== */

#mb_login {
    max-width: 420px;
    margin: 40px auto;
    padding: 0;
    box-sizing: border-box;
}

#mb_login h1 {
    text-align: center;
    margin-bottom: 25px;
}

#mb_login h1 img {
    display: inline-block;
    height: auto;
}

/* 1. 폼 컨테이너 무효화 및 높이 고정 */
#mb_login #login_fs {
    all: unset !important;
    display: block !important;
    position: relative !important;
    padding: 25px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    height: 160px !important; /* 내부 요소들을 위한 고정 높이 */
}

#mb_login #login_fs legend {
    display: none !important;
}

/* 2. 아이디/비밀번호 라벨 (왼쪽 열) */
#mb_login #login_fs label.login_id,
#mb_login #login_fs label.login_pw {
    all: unset !important;
    position: absolute !important;
    left: 25px !important;
    width: 75px !important;
    height: 38px !important;
    line-height: 38px !important;
    font-size: 0.9rem !important;
    color: #4a5568 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mb_login #login_fs label.login_id { top: 25px !important; }
#mb_login #login_fs label.login_pw { top: 71px !important; }

/* 3. 아이디/비밀번호 입력창 (중앙 열) */
#mb_login #login_fs input#login_id,
#mb_login #login_fs input#login_pw {
    all: unset !important;
    position: absolute !important;
    left: 100px !important;
    width: 180px !important;
    height: 38px !important;
    padding: 0 10px !important;
    border: 1px solid #cbd5e0 !important;
    border-radius: 3px !important;
    font-size: 0.9rem !important;
    box-sizing: border-box !important;
    background-color: #fff !important;
    color: #2d3748 !important;
}

#mb_login #login_fs input#login_id { top: 25px !important; }
#mb_login #login_fs input#login_pw { top: 71px !important; }

/* 4. 로그인 버튼 (오른쪽 열, 수직 통합) */
#mb_login #login_fs .btn_submit {
    all: unset !important;
    position: absolute !important;
    top: 25px !important;
    right: 25px !important;
    width: 85px !important;
    height: 84px !important; /* 입력창 2개 높이 + 간격 */
    background-color: #3182ce !important;
    color: #fff !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    text-align: center !important;
    line-height: 84px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease !important;
}

#mb_login #login_fs .btn_submit:hover {
    background-color: #2b6cb0 !important;
}

/* 5. 자동로그인 (하단 배치) */
#mb_login #login_fs input#login_auto_login {
    all: unset !important;
    position: absolute !important;
    top: 121px !important;
    left: 100px !important;
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #cbd5e0 !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    accent-color: #3182ce !important;
}

#mb_login #login_fs label[for="login_auto_login"] {
    all: unset !important;
    position: absolute !important;
    top: 119px !important;
    left: 122px !important;
    font-size: 0.85rem !important;
    color: #718096 !important;
    cursor: pointer !important;
    line-height: 20px !important;
}

/* 6. 하단 안내 영역 */
#mb_login #login_info {
    padding: 20px 25px;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-top: none;
    border-radius: 0 0 4px 4px;
}

#mb_login #login_info h2 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #2d3748;
    margin-top: 0;
    margin-bottom: 8px;
}

#mb_login #login_info p {
    font-size: 0.83rem;
    color: #718096;
    line-height: 1.5;
    margin: 0 0 15px 0;
}

#mb_login #login_info div {
    text-align: right;
}

#mb_login #login_info .btn02 {
    display: inline-block;
    padding: 8px 14px;
    background-color: #4a5568;
    color: #ffffff;
    font-size: 0.83rem;
    text-decoration: none;
    border-radius: 3px;
}

/* 7. 메인으로 돌아가기 버튼 */
#mb_login .btn_confirm {
    text-align: center;
    margin-top: 25px;
}

#mb_login .btn_confirm a {
    display: inline-block;
    min-width: 160px;
    height: 42px;
    line-height: 42px;
    padding: 0 20px;
    background-color: #718096;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: 4px;
}

.mbskin .confirm_member {
    margin:0 0 20px;
    padding:16px 20px;
    border:1px solid #dbecff;
    border-radius:6px;
    background:#eaf4ff;
    color:#333;
    font-size:0.95em;
    line-height:1.6em;
    font-weight:bold;
}

/* ==========================================================================
   스크랩 스킨 (scrap.skin.php) 
   ========================================================================== */
@media (max-width: 768px) {
    #scrap .tbl_head01 table, #scrap .tbl_head01 thead, #scrap .tbl_head01 tbody, #scrap .tbl_head01 tr, #scrap .tbl_head01 th, #scrap .tbl_head01 td { display: block !important; width: 100% !important; box-sizing: border-box !important; }
    #scrap .tbl_head01 thead { display: none !important; }
    #scrap .tbl_head01 tr { position: relative !important; background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; margin-bottom: 8px !important; padding: 10px 14px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; box-sizing: border-box !important; }
    #scrap .tbl_head01 td { border: none !important; padding: 0 !important; background: transparent !important; text-align: left !important; height:auto !important;}
    #scrap .tbl_head01 td.empty_table { text-align: center !important; padding: 20px 0 !important; color: #718096 !important; }
    #scrap .tbl_head01 td.td_num { display: none !important; }
    #scrap .tbl_head01 td.td_board { margin: 0 0 4px 0 !important; height:auto !important;}
    #scrap .tbl_head01 td.td_board a { display: inline-block !important; font-size: 0.75rem !important; color: #3182ce !important; background: #ebf8ff !important; padding: 2px 7px !important; border-radius: 4px !important; font-weight: 500 !important; text-decoration: none !important; }
    #scrap .tbl_head01 tr td:nth-child(3) { margin: 0 0 6px 0 !important; padding-right: 45px !important; height:auto !important;}
    #scrap .tbl_head01 tr td:nth-child(3) a { display: block !important; font-size: 0.95rem !important; font-weight: 600 !important; color: #2d3748 !important; word-break: break-all !important; text-decoration: none !important; }
    #scrap .tbl_head01 tr td:nth-child(3) a:hover { color: #3182ce !important; }
    #scrap .tbl_head01 td.td_datetime { font-size: 0.78rem !important; color: #a0aec0 !important; margin: 0 !important; }
    #scrap .tbl_head01 td.td_mng { position: absolute !important; top: 10px !important; right: 14px !important; width: auto !important; }
    #scrap .tbl_head01 td.td_mng a { display: inline-block !important; padding: 3px 8px !important; font-size: 0.75rem !important; color: #e53e3e !important; background: #fff5f5 !important; border: 1px solid #fed7d7 !important; border-radius: 4px !important; text-decoration: none !important; }
}

/* ==========================================================================
   포인트 스킨 (point.skin.php) 
   ========================================================================== */
@media (max-width: 768px) {
    #point .tbl_head01 table, #point .tbl_head01 thead, #point .tbl_head01 tbody, #point .tbl_head01 tfoot, #point .tbl_head01 tr, #point .tbl_head01 th, #point .tbl_head01 td { display:block !important; width:100% !important; box-sizing:border-box !important; height:auto !important;}
    #point .tbl_head01 thead { display:none !important; }
    #point .tbl_head01 tbody tr { position:relative !important; background:#fff !important; border:1px solid #e2e8f0 !important; border-radius:8px !important; margin-bottom:10px !important; padding:12px 14px !important; box-shadow:0 1px 3px rgba(0,0,0,0.04) !important; }
    #point .tbl_head01 tbody td { border:none !important; padding:2px 0 !important; background:transparent !important; text-align:left !important; font-size:0.9rem !important; height:auto !important; }
    #point .tbl_head01 tbody td.td_datetime { font-size:0.78rem !important; color:#a0aec0 !important; margin-bottom:4px !important; }
    #point .tbl_head01 tbody td:nth-child(2) { font-size:0.95rem !important; font-weight:600 !important; color:#2d3748 !important; margin-bottom:6px !important; }
    #point .tbl_head01 tbody td.td_date { font-size:0.85rem !important; color:#718096 !important; margin-bottom:4px !important; }
    #point .tbl_head01 tbody td.td_numbig { display:inline-block !important; width:auto !important; font-weight:bold !important; margin-right:12px !important; }
    #point .tbl_head01 tbody td.td_numbig:nth-child(4):not(:empty)::before { content:"지급: "; color:#718096; font-weight:normal;  }
    #point .tbl_head01 tbody td.td_numbig:nth-child(5):not(:empty)::before { content:"사용: "; color:#718096; font-weight:normal;  }
    #point .tbl_head01 tfoot tr { display:block !important; background:#f8fafc !important; border:1px solid #e2e8f0 !important; border-radius:8px !important; margin-bottom:8px !important; padding:10px 14px !important; }
    #point .tbl_head01 tfoot th, #point .tbl_head01 tfoot td { display:inline-block !important; width:auto !important; border:0 !important; background:transparent !important; padding:0 !important; font-size:0.9rem !important; }
    #point .tbl_head01 tfoot th { font-weight:600 !important; color:#4a5568 !important; margin-right:10px !important; }
}
