/*.mypage {background: #F6F4EF; padding:120px 0;}
.mypage .content_card {width:60%; margin:0 auto; background:#FFF; border-radius: 20px; padding:40px 8vw;}
.mypage .withdraw_card {width:60%; margin:0 auto; background:#FFF; border-radius: 20px; padding:40px 8vw; margin-top:40px;}

.mypage .content_card > h2 {font-size: 48px; color:#2b2b2b; font-weight:600; margin:0 0 40px 0; line-height:100%;}
.mypage .section_title {font-size: 24px; font-weight: 500; line-height:100%; margin:0 0 15px 0; color:#2b2b2b;}
.mypage .line {width:100%; border: 1px solid #c0c0c0; margin-bottom:40px;}
.mypage .form_row label {font-size:18px; font-weight:500; color:#2b2b2b; margin:0;}
.mypage input[type=email], 
.mypage input[type=password],
.mypage input[type=text] {border-radius:10px !important; padding: 13px 30px !important; border:1px solid #eee !important; width: 97%;}



.content_card {
    border:1px solid #e5e5e5;
    border-radius:20px;
    padding:40px;
    background:#fff;
}

.mypage_title {
    font-size:32px;
    font-weight:700;
    margin-bottom:40px;
}

.mypage_section + .mypage_section {margin-top:48px;}

.section_title {
    font-size:20px;
    font-weight:600;
    margin-bottom:16px;
}

.line {
    width:100%;
    height:1px;
    background:#e5e5e5;
    margin-bottom:12px;
}

.list_row {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:64px;
    border-bottom:1px solid #f2f2f2;
}

.list_row label {
    width:120px;
    font-size:15px;
    font-weight:500;
    color:#666;
}

.list_row span {
    flex:1;
    font-size:16px;
    color:#111;
}

.list_row button {
    border:0;
    background:transparent;
    cursor:pointer;
    font-size:20px;
    color:#999;
    padding:8px;
}



.modal_overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:9999;

    display:none;
    align-items:center;
    justify-content:center;

    padding:20px;
}

.modal_box {
    width:100%;
    max-width:480px;
    background:#fff;
    border-radius:20px;
    padding:32px;
}

.modal_title {
    font-size:24px;
    font-weight:700;
    margin-bottom:28px;
}

.form_row_sub {margin-bottom:18px;}

.form_row_sub label {
    display:block;
    margin-bottom:10px;
    font-size:14px;
    font-weight:500;
    color:#555;
}

.form_row_sub input {
    width:100%;
    height:52px;
    border:1px solid #ddd;
    border-radius:12px;
    padding:0 16px;
    font-size:15px;
    outline:none;
    transition:border-color .2s;
}

.form_row_sub input:focus {border-color:#111;}

.modal_btns {
    display:flex;
    gap:12px;
    margin-top:32px;
}

.modal_btns button {
    flex:1;
    height:52px;
    border-radius:12px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
}

.btn_light {
    border:1px solid #ddd;
    background:#fff;
    color:#111;
}

.btn_dark {
    border:1px solid #111;
    background:#111;
    color:#fff;
}


@media (max-width:768px) {

    .mypage {margin:40px auto;}

    .content_card {
        padding:28px 20px;
        border-radius:16px;
    }

    .mypage_title {
        font-size:26px;
        margin-bottom:32px;
    }

    .section_title {font-size:18px;}

    .list_row {min-height:58px;}

    .list_row label {
        width:90px;
        font-size:14px;
    }

    .list_row span {font-size:15px;}

    .modal_box {
        border-radius:18px;
        padding:24px 20px;
    }

    .modal_title {
        font-size:22px;
        margin-bottom:24px;
    }

    .modal_btns button {height:48px;}
}

.modal_box input[type=email], .modal_box input[type=password], .modal_box input[type=text] {border-radius:10px !important; padding:13px 30px !important; border:1px solid #eee !important; width:100%; box-sizing:border-box; font-size:15px;}
.modal_box input::placeholder {color:#aaa;}

.modal_btns {display:flex; gap:12px; margin-top:32px;}

.modal_btns button {
    flex:1;
    min-height:52px;
    border-radius:10px;
    font-size:18px;
    font-weight:500;
    cursor:pointer;
}

.modal_btns .btn_dark {
    background:#2b2b2b;
    color:#fff;
    border:1px solid #2b2b2b;
}

.modal_btns .btn_light {
    background:#fff;
    color:#2b2b2b;
    border:1px solid #eee;
}

.form_row_sub {margin-bottom:24px;}

.form_row_sub label {
    display:block;
    font-size:18px;
    font-weight:500;
    color:#2b2b2b;
    margin-bottom:8px;
}

.form_row_sub label span {
    color:#C21616;
}

.modal_title {
    font-size:32px;
    font-weight:500;
    color:#2b2b2b;
    margin-bottom:40px;
}

.modal_overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.2);
    z-index:9999;

    display:none;
    align-items:center;
    justify-content:center;

    padding:20px;
}

.modal_box {
    width:100%;
    max-width:520px;
    background:#fff;
    border-radius:20px;
    padding:40px;
}



.signup_alert_popup {
    position:fixed;
    inset:0;
    z-index:99999;
}

.signup_alert_popup[style*="display:none"] {
    pointer-events:none;
}

.signup_alert_dim {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.18);
}

.signup_alert_box {
    position:absolute;
    top:50%;
    left:50%;
    width:min(420px, calc(100vw - 32px));
    transform:translate(-50%, -50%);
    background:#f3f3f3;
    border:1px solid #8f8f8f;
    border-radius:10px;
    box-shadow:0 10px 28px rgba(0,0,0,.25);
    padding:22px 22px 18px;
    box-sizing:border-box;
}

.signup_alert_message {
    margin:0 0 18px;
    color:#111;
    font-size:15px;
    line-height:1.5;
    word-break:keep-all;
}

.signup_alert_close {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    height:34px;
    padding:0 18px;
    border:1px solid #7f9db9;
    border-radius:18px;
    background:linear-gradient(to bottom, #fefefe 0%, #e9e9e9 100%);
    color:#111;
    font-size:14px;
    font-weight:400;
    cursor:pointer;
    float:right;
}

body.signup-popup-open {overflow:hidden;}

@media (max-width:768px) {

    .modal_box {
        padding:32px 24px;
        border-radius:16px;
    }

    .modal_title {
        font-size:28px;
        margin-bottom:32px;
    }

    .form_row_sub label {
        font-size:16px;
    }

    .modal_btns button {
        min-height:48px;
        font-size:16px;
    }

    .modal_box input[type=email], .modal_box input[type=password], .modal_box input[type=text] {
        padding:13px 20px !important;
    }
}

.mypage .withdraw_card {width:60%; margin:40px auto 0; background:#FFF; border-radius:20px; padding:40px 8vw; text-align:center; box-sizing:border-box;}
.withdraw_card p {font-size:16px; font-weight:400; color:#2b2b2b; margin:0 0 22px;}
.withdraw_btn {min-width:120px; min-height:44px; padding:0 24px; border-radius:10px; font-size:16px; font-weight:500; cursor:pointer; background:#fff; color:#2b2b2b; border:1px solid #eee;}
.withdraw_modal_text {font-size:17px; line-height:1.7; color:#2b2b2b; margin:0 0 32px; word-break:keep-all;}
.withdraw_modal_box {text-align:center;}

@media (max-width:768px) {
    .mypage .withdraw_card {width:100%; border-radius:0; margin-top:0; padding:40px 4vw;}
    .withdraw_btn {min-width:110px; min-height:42px; font-size:15px;}
}
*/

/* =========================
   My Page
========================= */

.mypage {background:#F6F4EF; padding:120px 0;}
.mypage .content_card {width:60%; margin:0 auto; background:#FFF; border-radius:20px; padding:40px 8vw; box-sizing:border-box;}
.mypage .withdraw_card {width:60%; margin:40px auto 0; background:#FFF; border-radius:20px; padding:40px 8vw; text-align:center; box-sizing:border-box;}

.mypage_title {font-size:48px; color:#2b2b2b; font-weight:600; margin:0 0 40px 0; line-height:100%;}
.mypage_section + .mypage_section {margin-top:56px;}
.section_title {font-size:24px; font-weight:500; line-height:100%; margin:0 0 15px 0; color:#2b2b2b;}
.line {width:100%; height:1px; background:#c0c0c0; margin-bottom:32px;}

.list_row {display:flex; align-items:center; gap:12px; min-height:64px; border-bottom:1px solid #f2f2f2;}
.list_row label {width:140px; font-size:18px; font-weight:500; color:#2b2b2b; margin:0;}
.list_row span {flex:1; font-size:18px; color:#404040; word-break:break-all;}
.list_row button {border:0; background:transparent; cursor:pointer; font-size:22px; color:#999; padding:8px;}

.withdraw_card p {font-size:18px; font-weight:400; color:#2b2b2b; margin:0 0 22px;}
.withdraw_btn {min-width:120px; min-height:44px; padding:0 24px; border-radius:10px; font-size:16px; font-weight:500; cursor:pointer; background:#fff; color:#2b2b2b; border:1px solid #eee;}

/* =========================
   Modal
========================= */

.modal_overlay {position:fixed; inset:0; background:rgba(0,0,0,.2); z-index:9999; display:none; align-items:center; justify-content:center; padding:20px;}
.modal_box {width:100%; max-width:520px; background:#fff; border-radius:20px; padding:40px; box-sizing:border-box;}
.modal_title {font-size:32px; font-weight:500; color:#2b2b2b; margin:0 0 40px 0;}
.form_row_sub {margin-bottom:24px;}
.form_row_sub label {display:block; font-size:18px; font-weight:500; color:#2b2b2b; margin-bottom:8px;}
.form_row_sub label span {color:#C21616;}

.modal_box input[type=email], .modal_box input[type=password], .modal_box input[type=text] {border-radius:10px !important; padding:13px 30px !important; border:1px solid #eee !important; width:100%; box-sizing:border-box; font-size:15px;}
.modal_box input::placeholder {color:#aaa;}

.modal_btns {display:flex; gap:12px; margin-top:32px;}
.modal_btns button {flex:1; min-height:52px; border-radius:10px; font-size:18px; font-weight:500; cursor:pointer;}
.modal_btns .btn_dark {background:#2b2b2b; color:#fff; border:1px solid #2b2b2b;}
.modal_btns .btn_light {background:#fff; color:#2b2b2b; border:1px solid #eee;}

.withdraw_modal_box {text-align:center;}
.withdraw_modal_text {font-size:17px; line-height:1.7; color:#2b2b2b; margin:0 0 32px; word-break:keep-all;}

/* =========================
   Alert Popup
========================= */

.signup_alert_popup {position:fixed; inset:0; z-index:99999;}
.signup_alert_popup[style*="display:none"] {pointer-events:none;}
.signup_alert_dim {position:absolute; inset:0; background:rgba(0,0,0,.18);}
.signup_alert_box {position:absolute; top:50%; left:50%; width:min(420px, calc(100vw - 32px)); transform:translate(-50%, -50%); background:#f3f3f3; border:1px solid #8f8f8f; border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,.25); padding:22px 22px 18px; box-sizing:border-box;}
.signup_alert_message {margin:0 0 18px; color:#111; font-size:15px; line-height:1.5; word-break:keep-all;}
.signup_alert_close {display:inline-flex; align-items:center; justify-content:center; min-width:86px; height:34px; padding:0 18px; border:1px solid #7f9db9; border-radius:18px; background:linear-gradient(to bottom, #fefefe 0%, #e9e9e9 100%); color:#111; font-size:14px; font-weight:400; cursor:pointer; float:right;}
body.signup-popup-open {overflow:hidden;}

/* =========================
   Responsive
========================= */

@media (max-width:1440px) {
  .mypage_title {font-size:44px;}
}

@media (max-width:1280px) {
  .mypage .content_card {width:70%; padding:40px 6vw;}
  .mypage .withdraw_card {width:70%; padding:40px 6vw;}
  .mypage_title {font-size:40px;}
  .section_title {font-size:22px;}
  .list_row label {font-size:17px;}
  .list_row span {font-size:17px;}
}

@media (max-width:1024px) {
  .mypage .content_card {width:75%; padding:40px 4vw;}
  .mypage .withdraw_card {width:75%; padding:40px 4vw;}
  .mypage_title {font-size:36px;}
}

@media (max-width:768px) {
  .mypage {padding:0;}
  .mypage .content_card {width:100%; padding:120px 4vw 60px; border-radius:0;}
  .mypage .withdraw_card {width:100%; margin:0; padding:40px 4vw 120px; border-radius:0;}

  .mypage_title {font-size:32px; margin-bottom:40px;}
  .mypage_section + .mypage_section {margin-top:48px;}
  .section_title {font-size:20px;}

  .list_row {min-height:60px;}
  .list_row label {width:100px; font-size:16px;}
  .list_row span {font-size:16px;}
  .list_row button {font-size:20px;}

  .withdraw_card p {font-size:16px;}
  .withdraw_btn {min-width:110px; min-height:42px; font-size:15px;}

  .modal_box {padding:32px 24px; border-radius:16px;}
  .modal_title {font-size:28px; margin-bottom:32px;}
  .form_row_sub label {font-size:16px;}
  .modal_btns button {min-height:48px; font-size:16px;}
  .modal_box input[type=email], .modal_box input[type=password], .modal_box input[type=text] {padding:13px 20px !important;}
}

@media (max-width:480px) {
  .mypage .content_card {padding:80px 16px 50px;}
  .mypage .withdraw_card {padding:40px 16px 80px;}

  .mypage_title {font-size:30px;}
  .section_title {font-size:19px;}

  .list_row {gap:8px;}
  .list_row label {width:86px; font-size:15px;}
  .list_row span {font-size:15px;}

  .modal_overlay {padding:16px;}
  .modal_box {padding:28px 20px;}
  .modal_title {font-size:26px;}
  .signup_alert_box {width:calc(100vw - 20px); padding:18px 16px 14px;}
  .signup_alert_message {font-size:15px; margin-bottom:14px;}
  .signup_alert_close {min-width:74px; height:32px; font-size:13px;}
}