@charset "utf-8";

/* --- [변수 설정: 브랜드 컬러 및 테마] --- */
:root {
    --primary-blue: #003366;       /* 로얄 블루 */
    --accent-blue: #0071e3;        /* 애플 포인트 블루 */
    --matte-gray: #f5f5f7;         /* 매트 그레이 배경 */
    --border-color: #d2d2d7;       /* 소프트 보더 */
    --text-main: #1d1d1f;          /* 딥 다크 그레이 */
    --text-sub: #86868b;           /* 서브 텍스트 그레이 */
    --white: #ffffff;
}

/* --- [기본 레이아웃 및 초기화] --- */
body { background-color: var(--matte-gray); margin: 0; padding: 0; }
.register { 
    max-width: 800px; 
    margin: 40px auto; 
    padding: 30px; 
    background: var(--white); 
    border-radius: 18px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    font-family: 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}


/* --- [반응형 타이틀] --- */
.register h2 { 
    font-size: 1.5rem; 
    font-weight: 700; 
    color: var(--text-main); 
    margin-bottom: 25px; 
    letter-spacing: -0.02em;
}

/* --- [약관 섹션 (Textarea 대체 디자인)] --- */
#fregister section {
    margin-bottom: 25px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
}

#fregister h2 {
    font-size: 1rem;
    padding: 15px 20px;
    background: #fafafa;
    border-bottom: 1px solid var(--border-color);
}

#fregister textarea {
    width: 100%;
    height: 160px;
    padding: 20px;
    border: 0;
    line-height: 1.6;
    font-size: 0.95rem;
    color: #424245;
    background: var(--white);
    resize: none;
    box-sizing: border-box;
}

/* --- [입력 필드 스타일] --- */
.frm_input {
    width: 100%;
    height: 52px;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    padding: 0 16px;
    font-size: 16px;
    background-color: var(--white);
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
}

.frm_input:focus {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.1);
    outline: none;
}

/* --- [커스텀 체크박스: 프리미엄 스타일] --- */
.fregister_agree, .chk_box {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* 우측 정렬 유지 */
    gap: 8px;
    padding: 12px 0;
}

/* 실제 체크박스 숨김 */
input[type="checkbox"].selec_chk, 
.fregister_agree input[type="checkbox"] {
    display: none;
}

/* 체크박스 가상 요소 */
input[type="checkbox"] + label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 15px;
    color: var(--text-main);
}

input[type="checkbox"] + label span {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    margin-right: 10px;
    position: relative;
    transition: all 0.2s;
}

/* 체크 시 상태 */
input[type="checkbox"]:checked + label span {
    background-color: var(--accent-blue);
    border-color: var(--accent-blue);
}

input[type="checkbox"]:checked + label span::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 7px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
/* 컨테이너: 우측 정렬 및 수직 중앙 맞춤 */
.fregister_agree {
    display: flex;
    justify-content: flex-end; /* 오른쪽 정렬 */
    align-items: center;      /* 체크박스와 텍스트 수직 중앙 정렬 */
    margin: 10px 0;
    padding: 0;
    border: none;
    position: relative;
}

/* --- [커스텀 체크박스: 중복 노출 해결 및 최적화] --- */

/* 1. 실제 체크박스 숨김 (기본 디자인 노출 차단) */
.fregister_agree input[type="checkbox"] {
    display: none !important;
}

/* 2. 체크박스 라벨 및 가상 요소(디자인된 박스) 설정 */
.fregister_agree label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #676e70;
    line-height: 1;
    position: relative;
}

/* 3. 디자인된 커스텀 체크박스 (span) */
.fregister_agree input[type="checkbox"] + label span {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    margin-right: 8px;
    flex-shrink: 0;
    position: relative;
    top: 0;
}

/* 4. 체크 시 상태 (이미지 경로 확인 필요) */
.fregister_agree input[type="checkbox"]:checked + label span {
    background-color: var(--accent-blue); /* 포인트 컬러 배경 */
    border-color: #1471f6;
    background-image: url('./img/chk.png'); /* 체크 아이콘이 있다면 적용 */
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

/* 5. 체크 시 내부 체크 표시 (이미지가 없을 경우를 대비한 가상 요소 가이드) */
.fregister_agree input[type="checkbox"]:checked + label span::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 6px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* 6. 숨겨진 텍스트(b.sound_only) 노출 방지 */
.fregister_agree label b.sound_only {
    display: none !important;
}
/* (필수) 안내 문구 제외, 실제 텍스트가 보이도록 처리 */
.fregister_agree label b.sound_only {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: normal;
    font-size: 14px;
    color: inherit;
}

/* 전체동의 섹션 예외 처리 (가운데 정렬) */
#fregister_chkall {
    justify-content: center; 
    background: #f8f9fa;
    padding: 20px;
    margin-top: 20px;
    border-radius: 5px;
}


/* --- [버튼 그룹: 반응형 Flexbox] --- */
.btn_confirm {
    display: flex;
    flex-wrap: wrap; /* 모바일에서 자동 줄바꿈 */
    justify-content: center;
    gap: 12px;
    margin-top: 50px;
}

.btn_submit, .btn_close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 56px;
    border-radius: 28px; /* 알약 형태의 Apple 스타일 */
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s, background-color 0.2s;
    border: none;
    cursor: pointer;
}

/* 회원가입 버튼 (로얄 블루) */
.btn_submit {
    background-color: var(--primary-blue);
    color: var(--white);
}

.btn_submit:hover {
    background-color: #002244;
    transform: scale(1.02);
}

/* 취소 버튼 (매트 그레이) */
.btn_close {
    background-color: #e8e8ed;
    color: var(--text-main);
}

.btn_close:hover {
    background-color: #d2d2d7;
}

/* --- [수신 설정 및 하위 항목] --- */
.consent-group {
    background: #fcfcfd;
    border-radius: 12px;
    padding: 10px 20px;
    margin-bottom: 10px;
}

.sub-consents {
    margin-left: 30px;
    padding-left: 15px;
    border-left: 1px solid var(--border-color);
}

/* --- [미디어 쿼리: 모바일 대응] --- */
@media (max-width: 768px) {
    .register {
        margin: 0;
        padding: 20px;
        border-radius: 0; /* 모바일은 꽉 차게 */
    }

    .btn_confirm {
        flex-direction: column; /* 세로로 나열 */
    }

    .btn_submit, .btn_close {
        width: 100%;
        min-width: unset;
    }

    .fregister_agree {
        justify-content: flex-start; /* 모바일은 좌측 정렬이 가독성 좋음 */
    }

    .frm_input {
        font-size: 14px;
        height: 48px;
    }
    
    #fregister textarea {
        height: 120px;
    }
}

/* --- [기타 유틸리티] --- */
.tooltip {
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(5px);
    border-radius: 8px;
    padding: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
/* Gnuboard 5 회원가입 커스텀 스타일 */
.register {
    max-width: 1200px;
    margin: 50px auto;
    padding: 20px;
    background-color: #ffffff; /* 매트 그레이 배경 */
    font-family: 'Pretendard', -apple-system, sans-serif;
}

.register_form_inner {
    background: #fff;
    margin-bottom: 30px;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.register_form_inner h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1d1d1f;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.register ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.register li {
    margin-bottom: 20px;
    position: relative;
}

.register label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
    font-size: 0.95rem;
}

/* 입력창 스타일 */
.frm_input {
    width: 100%;
    height: 45px;
    padding: 0 15px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    background-color: #fff;
    font-size: 1rem;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.frm_input:focus {
    border-color: #0071e3; /* 로얄 블루 */
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,113,227,0.1);
}

/* 툴팁 및 아이콘 */
.tooltip_icon {
    border: none;
    background: none;
    color: #86868b;
    cursor: pointer;
    margin-left: 5px;
}

.tooltip {
    display: none;
    position: absolute;
    top: -40px;
    left: 0;
    background: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    z-index: 10;
}

/* 버튼 스타일 */
.btn_frmline {
    background: #0071e3;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 6px;
    font-size: 0.85rem;
    cursor: pointer;
    margin: 5px 0;
}

.btn_confirm {
    text-align: center;
    margin-top: 40px;
}

.btn_submit {
    background: #22447b;
    color: #fff;
    border: none;
    padding: 15px 60px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 30px;
    cursor: pointer;
    transition: background 0.2s;
}

.btn_submit:hover {
    background: #0071e3;
}

.btn_close {
    display: inline-block;
    padding: 15px 40px;
    font-size: 1.1rem;
    color: #86868b;
    text-decoration: none;
}

/* 체크박스 커스텀 */
.chk_box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.selec_chk {
    width: 18px;
    height: 18px;
    accent-color: #0071e3;
}

/* 약관 섹션 공통 스타일 */
.fregister_terms {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.fregister_terms h2 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1d1d1f;
    margin-bottom: 15px;
}

/* 테이블 컨테이너 - 가로 스크롤 방지 및 라운딩 */
.fregister_terms div {
    overflow-x: auto;
    border: 1px solid #e5e5e7;
    border-radius: 8px;
}

/* 테이블 정의 */
.fregister_terms table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    line-height: 1.6;
    min-width: 500px; /* 모바일에서 너무 좁아지는 것 방지 */
}

.fregister_terms th, 
.fregister_terms td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #f2f2f7;
}

.fregister_terms thead th {
    background-color: #f9f9fb;
    color: #86868b;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
}

.fregister_terms tbody td {
    color: #333;
}

/* 동의 체크박스 영역 */
.fregister_agree {
    margin-top: 15px;
    padding: 10px 0;
    display: flex;
    justify-content: flex-end; /* 오른쪽 정렬 */
    align-items: center;
    border: none;
}

.fregister_agree label {
    font-size: 0.9rem;
    color: #1d1d1f;
    cursor: pointer;
    font-weight: 500;
}

/* 체크박스 커스텀 (로얄 블루 포인트) */
.selec_chk {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    accent-color: #0071e3; /* 포인트 컬러 */
}

/* 모바일 대응 스택 레이아웃 (선택 사항) */
@media (max-width: 600px) {
    .fregister_terms {
        padding: 15px;
    }
    
    .fregister_terms table {
        min-width: 100%; /* 스크롤 대신 꽉 차게 */
    }
    
    .fregister_terms th, 
    .fregister_terms td {
        padding: 10px;
        font-size: 0.85rem;
    }
}

/* 자동등록방지 섹션 스타일 */
.is_captcha_use {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 10px 0;
}

.captcha {
    border: 1px solid #e5e5e7;
    border-radius: 12px;
    padding: 20px;
    background-color: #f9f9fb; /* 매우 연한 그레이 */
}

.captcha legend {
    display: none; /* 필드셋 제목 숨김 */
}

/* 캡차 이미지와 입력창 배치 */
#captcha_img {
    display: block;
    margin-bottom: 15px;
    border-radius: 6px;
    border: 1px solid #d2d2d7;
    height: 45px !important; /* 이미지 높이 고정 */
    width: auto;
}

.captcha_box {
    width: 100% !important;
    max-width: 150px;
    height: 45px;
    padding: 0 15px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 2px;
    transition: border-color 0.2s;
}

.captcha_box:focus {
    border-color: #0071e3;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,113,227,0.1);
}

/* 버튼 세트 (새로고침, 음성듣기) */
#captcha_mp3, 
#captcha_reload {
    background-color: #fff;
    border: 1px solid #d2d2d7;
    color: #333;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.85rem;
    cursor: pointer;
    margin-right: 5px;
    transition: all 0.2s;
    vertical-align: middle;
}

#captcha_mp3:hover, 
#captcha_reload:hover {
    background-color: #f5f5f7;
    border-color: #86868b;
}

/* 안내 문구 */
#captcha_info {
    display: block;
    margin-top: 10px;
    font-size: 0.85rem;
    color: #86868b;
    letter-spacing: -0.02em;
}

/* 모바일 대응 */
@media (max-width: 600px) {
    .captcha {
        padding: 15px;
    }
    
    .captcha_box {
        max-width: 100%; /* 모바일에서는 입력창도 넓게 */
    }
}


/* 로그인 페이지 배경 및 컨테이너 */
#mb_login {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 500px; /* 푸터와의 간격 확보 */
    padding: 40px 20px;
}

.mbskin_box {
    width: 100%;
    max-width: 400px; /* 로그인 박스 최대 너비 */
    background: #fff;
    padding: 40px;
    border-radius: 18px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05); /* 은은한 그림자 */
    border: 1px solid #f2f2f7;
}

/* 제목 및 회원가입 링크 */
.mbskin_box h1 {
    font-size: 0; /* 기본 타이틀 숨김 (이미지나 로고가 없을 경우 대비) */
}

.mb_log_cate {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
    border-bottom: 2px solid #1d1d1f;
    padding-bottom: 10px;
}

.mb_log_cate h2 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #1d1d1f;
    margin: 0;
}

.mb_log_cate .join {
    font-size: 0.9rem;
    color: #0071e3; /* 로얄 블루 */
    text-decoration: none;
}

/* 입력 필드 스타일 */
#login_fs {
    border: none;
    padding: 0;
    margin: 0;
}

.frm_input {
    width: 100%;
    height: 50px;
    margin-bottom: 12px;
    padding: 0 15px;
    border: 1px solid #d2d2d7;
    border-radius: 10px;
    font-size: 1rem;
    box-sizing: border-box;
    background-color: #f5f5f7;
    transition: all 0.2s ease;
}

.frm_input:focus {
    border-color: #0071e3;
    background-color: #fff;
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.1);
}

/* 로그인 버튼 */
.btn_login_submit {
    width: 100%;
    height: 52px;
    background-color: #0071e3; /* 로얄 블루 */
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 10px;
    transition: opacity 0.2s;
}

.btn_submit:hover {
    opacity: 0.9;
}

/* 하단 정보 (자동로그인, 비번 찾기) */
#login_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    font-size: 0.85rem;
    color: #86868b;
}

.login_if_auto label {
    cursor: pointer;
}

.login_if_lpl a {
    color: #86868b;
    text-decoration: none;
}

.login_if_lpl a:hover {
    text-decoration: underline;
}

/* 모바일 대응 */
@media (max-width: 480px) {
    .mbskin_box {
        padding: 25px;
        box-shadow: none; /* 모바일은 평면적으로 */
        border: none;
    }
}

/* 정보 찾기 컨테이너 (로그인 페이지와 통일) */
#find_info {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 20px;
    min-height: 600px;
}

.new_win_con {
    width: 100%;
    max-width: 450px; /* 박스 최대 너비 제한 */
    background: #fff;
    padding: 40px;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid #f2f2f7;
    margin-bottom: 20px;
}

#find_info h3 {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1d1d1f;
    margin-bottom: 20px;
    border-bottom: 2px solid #1d1d1f;
    padding-bottom: 10px;
}

/* 설명 문구 */
#info_fs p {
    font-size: 0.95rem;
    color: #86868b;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* 입력 필드 (통일감 유지) */
.full_input {
    width: 100% !important;
    height: 52px;
    padding: 0 15px;
    border: 1px solid #d2d2d7;
    border-radius: 10px;
    background-color: #f5f5f7;
    font-size: 1rem;
    box-sizing: border-box;
    margin-bottom: 20px;
    transition: all 0.2s ease;
}

.full_input:focus {
    background-color: #fff;
    border-color: #0071e3;
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.1);
}

/* 버튼 스타일 (로얄 블루) */
.win_btn .btn_submit,
.cert_btn .btn_submit {
    width: 100%;
    height: 52px;
    background-color: #0071e3;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
}

.cert_btn {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* 본인인증 버튼 스타일 차별화 (선택사항) */
.cert_btn .btn_submit {
    background-color: #fff;
    color: #0071e3;
    border: 1px solid #0071e3;
}

.cert_btn .btn_submit:hover {
    background-color: #f5faff;
}

/* 캡차(자동등록방지) 영역 정렬 */
.captcha {
    margin: 20px 0;
    padding: 15px;
    background: #f9f9fb;
    border-radius: 10px;
    border: 1px solid #e5e5e7;
}

#captcha_img {
    border-radius: 6px;
    margin-bottom: 10px;
}

/* 모바일 대응 */
@media (max-width: 480px) {
    .new_win_con {
        padding: 25px;
        box-shadow: none;
    }
}
/* 정보 찾기 필드셋 테두리 제거 */
#info_fs {
    border: none !important; /* 문제의 라인 제거 */
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

/* 안내 문구와 레이블 스타일 */
#info_fs p {
    font-size: 0.95rem;
    color: #636366; /* 조금 더 부드러운 회색 */
    line-height: 1.6;
    margin-bottom: 25px;
    word-break: keep-all; /* 한글 단어 끊김 방지 */
}

/* 'E-mail 주소' 레이블 텍스트 */
#info_fs label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1d1d1f;
    margin-bottom: 8px;
}

/* 입력 필드 보더 수정 (애플 스타일의 연한 보더만 남김) */
.full_input.email {
    border: 1px solid #d2d2d7 !important; /* 기본 검정 라인 강제 해제 */
    background-color: #f5f5f7;
    border-radius: 10px;
    height: 50px;
    font-size: 1rem;
}
비밀번호 확인 페이지(password_confirm.skin.php)는 보안을 위해 나타나는 화면인 만큼, 사용자가 당황하지 않게 신뢰감을 주는 깔끔한 중앙 정렬 레이아웃이 중요합니다.

기존의 엉성한 배치를 잡고, <li> 점이 나타나지 않도록 리셋 처리를 포함한 반응형 디자인으로 정의해 드립니다.

💻 비밀번호 확인 페이지 개선 (CSS + HTML)
HTML
<style>
    /* 전체 배경 설정 */
    body { background-color: #f5f6f7; }

    /* 컨테이너 중앙 정렬 */
    #mb_confirm {
        max-width: 450px;
        margin: 100px auto;
        padding: 40px 30px;
        background: #fff;
        border-radius: 15px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.08);
        text-align: center;
        font-family: 'Pretendard', sans-serif;
    }

    /* 로고/타이틀 */
    #mb_confirm h1 {
        font-size: 24px;
        font-weight: 800;
        color: #003399;
        margin-bottom: 20px;
    }

    /* 안내 메시지 */
    #mb_confirm p {
        font-size: 15px;
        color: #666;
        line-height: 1.6;
        margin-bottom: 30px;
        word-break: keep-all;
    }
    #mb_confirm p strong {
        display: block;
        font-size: 18px;
        color: #333;
        margin-bottom: 5px;
    }

    /* 폼 내부 레이아웃 */
    #mb_confirm fieldset {
        border: none;
        padding: 0;
        margin: 0;
    }

    /* 아이디 표시 영역 */
    .confirm_id_wrap {
        background: #f9f9f9;
        padding: 12px;
        border-radius: 8px;
        margin-bottom: 15px;
        font-size: 14px;
        color: #888;
        display: flex;
        justify-content: center;
        gap: 10px;
    }
	.confirm_id {font-size:16px;}
	.mb_confirm_id {font-size:18px;}
    #mb_confirm_id {
        color: #333;
        font-weight: 700;
    }

    /* 비밀번호 입력창 */
    .frm_input {
        width: 100%;
        height: 50px;
        padding: 0 15px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        box-sizing: border-box;
        margin-bottom: 20px;
        text-align: left;
        transition: all 0.3s;
    }
    .frm_input:focus {
        border-color: #FF6666;
        outline: none;
        box-shadow: 0 0 0 3px rgba(255, 102, 102, 0.1);
    }

    /* 확인 버튼 */
    .btn_psubmit {
        width: 100%;
        height: 55px;
        background:#0066cc ;
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 17px;
        font-weight: 700;
        cursor: pointer;
        transition: background 0.2s;
    }
    .btn_psubmit:hover {
        background: #161750;
    }

    /* 하단 돌아가기 링크가 있다면 */
    .btn_cancel {
        display: inline-block;
        margin-top: 20px;
        font-size: 14px;
        color: #999;
        text-decoration: none;
    }

    /* 리스트 점 제거 (전역 설정) */
    li { list-style: none !important; }

    /* 모바일 대응 */
    @media (max-width: 480px) {
        #mb_confirm {
            margin: 50px 20px;
            padding: 30px 20px;
        }
    }
	
	/* 전체 컨테이너 */
    #reg_result {
        max-width: 600px;
        margin: 60px auto;
        padding: 50px 30px;
        background: #fff;
        border-radius: 20px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.06);
        text-align: center;
        font-family: 'Pretendard', sans-serif;
    }

    /* 상단 축하 아이콘 및 메시지 */
    .reg_result_p {
        margin-bottom: 40px;
    }
    .reg_result_p i {
        font-size: 60px;
        color: #003c77;
        margin-bottom: 20px;
        display: inline-block;
        animation: bounce 2s infinite;
    }
    .reg_result_p strong {
        display: block;
        font-size: 24px;
        color: #333;
        margin-top: 15px;
    }

    /* 이메일 인증 정보 박스 */
    #result_email {
        background: #fff5f5;
        border: 1px solid #ffebeb;
        padding: 25px;
        border-radius: 12px;
        margin: 25px 0;
        text-align: left;
        display: inline-block;
        min-width: 80%;
    }
    #result_email span {
        display: inline-block;
        width: 100px;
        color: #888;
        font-size: 14px;
    }
    #result_email strong {
        color: #333;
        font-size: 15px;
    }

    /* 안내 문구 공통 */
    .result_txt {
        font-size: 15px;
        color: #666;
        line-height: 1.8;
        margin-bottom: 20px;
        word-break: keep-all;
    }

    /* 하단 버튼 */
    .btn_confirm_reg {
        text-align: center;
        margin: 40px 0 100px;
    }
    .reg_btn_submit {
        display: inline-block;
        padding: 15px 60px;
        background: #003399;
        color: #fff;
        text-decoration: none;
        border-radius: 30px;
        font-size: 18px;
        font-weight: 700;
        transition: all 0.3s;
        
    }
    .reg_btn_submit:hover {
        background: #002d59;
        transform: translateY(-3px);
        color: #fff;
    }

    /* 애니메이션 효과 */
    @keyframes bounce {
        0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
        40% {transform: translateY(-10px);}
        60% {transform: translateY(-5px);}
    }

    /* 모바일 대응 */
    @media (max-width: 768px) {
        #reg_result {
            margin: 30px 20px;
            padding: 40px 20px;
        }
        .reg_result_p strong { font-size: 20px; }
        .result_txt { font-size: 14px; }
        #result_email { width: 100%; box-sizing: border-box; }
    }
	#pw_confirm {
    max-width: 400px; /* 너무 넓지 않게 중앙 제한 */
    margin: 50px auto;
    padding: 30px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    background: #ffffff;
}

#pw_confirm h1 {
    font-size: 1.5em;
    margin-bottom: 15px;
    color: #333;
}
#pw_confirm p {
    font-size: 1.3em;
    margin-bottom: 15px;
    color: #333;
}
.pw_desc {
    color: #666;
    margin-bottom: 25px;
    line-height: 1.5;
}

.pw_form_box {
    display: flex;
    justify-content: center;
    gap: 10px; /* 입력창과 버튼 사이 간격 */
}

.pw_form_box .frm_input {
    width: 200px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.pw_form_box .btn_submit {
    height: 40px;
    padding: 0 20px;
    background: #333;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}