
:root{--pomi-green:#2d7148;--pomi-soft:#f5f8f5;--pomi-line:#e0e6e1;--pomi-text:#18221c;--pomi-muted:#6f7a72}
body{background:#fff;color:var(--pomi-text)}
.shop-member-page{width:100%;padding:54px 16px 80px}
.shop-container{width:100%;max-width:1200px;margin:0 auto}
.join-wrap{width:100%;max-width:780px;margin:0 auto}
.join-heading{text-align:center;margin-bottom:30px}
.join-heading span{color:var(--pomi-green);font-size:13px;font-weight:800}
.join-heading h1{font-size:34px;margin:8px 0 8px}
.join-heading p{margin:0;color:var(--pomi-muted)}
.join-form{border-top:2px solid #26352c}
.join-section{padding:28px 0;border-bottom:1px solid var(--pomi-line)}
.join-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.join-section-title strong{font-size:18px}
.join-section-title span{font-size:12px;color:#d34b42}
.form-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 16px;align-items:center;margin-bottom:18px}
.form-row>label:first-child{font-size:13px;font-weight:700;color:#465148}
.form-row label b,.agreement-list b{color:#d8453e;font-size:11px}
.form-row input{width:100%;height:48px;border:1px solid #d8deda;border-radius:8px;padding:0 14px;font-size:14px;box-sizing:border-box}
.form-row small{grid-column:2;color:#8a938c;font-size:11px}
.field-with-button{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:8px}
.sub-button{height:48px;border:1px solid #d8deda;border-radius:8px;background:#fff;font-weight:700}
.sub-button:disabled{opacity:.75}
.mini-check{grid-column:2;font-size:12px!important;font-weight:500!important;color:#718078!important;display:flex;align-items:center;gap:7px}
.mini-check input{width:18px;height:18px}
.address-row>input{grid-column:2}
.address-row .field-with-button{grid-column:2}
.terms-section{padding-top:24px}
.agree-all{display:flex;align-items:center;gap:9px;padding:16px 0;border-bottom:1px solid var(--pomi-line);font-weight:800}
.agree-all input,.agreement-list input{width:19px;height:19px}
.agreement-list{padding:14px 16px}
.agreement-list label{display:flex;align-items:center;gap:8px;min-height:38px;font-size:13px}
.agreement-list label button{margin-left:auto;border:1px solid #d8deda;border-radius:7px;background:#fff;padding:6px 10px}
.terms-note{font-size:11px;color:#8a938c;margin:8px 16px}
.join-submit{display:block;width:290px;max-width:100%;height:52px;margin:30px auto 0;border:0;border-radius:8px;background:#303431;color:#fff;font-size:16px;font-weight:800}
.join-errors,.join-success{border-radius:10px;padding:16px 18px;margin-bottom:20px}
.join-errors{background:#fff3f1;color:#9c3028}
.join-errors p{margin:3px 0}
.join-success{background:#edf7ef;color:#245f38;text-align:center}
.join-success a{display:inline-block;margin-top:8px;color:inherit;font-weight:800}
@media(max-width:640px){
    .shop-member-page{padding:30px 16px 60px}
    .join-heading h1{font-size:28px}
    .form-row{grid-template-columns:1fr;gap:7px}
    .form-row small,.mini-check,.address-row>input,.address-row .field-with-button{grid-column:1}
    .field-with-button{grid-template-columns:minmax(0,1fr) 82px}
    .join-section{padding:22px 0}
}

.check-message{display:block!important;margin-top:-2px}.check-message.ok{color:#277545}.check-message.bad{color:#bf453c}
.term-view{margin-left:auto;border:1px solid #d8deda;border-radius:7px;padding:6px 10px;color:#4f5a52;text-decoration:none;background:#fff}
.login-wrap{width:100%;max-width:520px;margin:0 auto}.login-form{border-top:2px solid #26352c;padding-top:26px}
.login-form label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.login-form input{display:block;width:100%;height:50px;border:1px solid #d8deda;border-radius:8px;margin-top:8px;padding:0 14px;box-sizing:border-box}
.login-submit{width:100%;margin-top:8px}.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:12px;color:#78827a}.login-links a{font-weight:800;color:#315f43}
.term-page{max-width:900px}.term-content{border-top:2px solid #26352c;padding:28px 6px;line-height:1.8;color:#3f4942}.term-content h2{font-size:24px;margin:0 0 20px}.term-content h3{font-size:17px;margin:28px 0 8px}.term-content p{margin:8px 0}.term-table{width:100%;border-collapse:collapse;margin:18px 0}.term-table th,.term-table td{border:1px solid #dfe5df;padding:10px;text-align:left;vertical-align:top;font-size:12px}.term-table th{background:#f5f8f5}
@media(max-width:640px){.login-links{flex-direction:column}.term-table{display:block;overflow-x:auto}}

/* 사용자 페이지 공통 틀 안의 회원가입 */
.shop-member-page{
    background:#fff;
    min-height:calc(100vh - 200px);
}
.postcode-clickable{cursor:pointer;background:#fff!important}
.postcode-clickable:hover{border-color:#9ebfa8!important;box-shadow:0 0 0 3px rgba(55,119,78,.06)}
.term-view{
    margin-left:auto;
    border:1px solid #d8deda;
    border-radius:7px;
    padding:6px 10px;
    color:#4f5a52;
    background:#fff;
    cursor:pointer;
    font-size:12px;
    font-weight:700;
}
.term-view:hover{background:#f4f8f4;border-color:#bad0c0;color:#286b43}
.term-modal[hidden]{display:none!important}
.term-modal{
    position:fixed;
    inset:0;
    z-index:5000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.term-modal-backdrop{position:absolute;inset:0;background:rgba(18,29,22,.48);backdrop-filter:blur(2px)}
.term-modal-dialog{
    position:relative;
    width:min(760px,100%);
    max-height:min(78vh,760px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 28px 70px rgba(10,24,15,.22);
}
.term-modal-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:20px 22px 16px;
    border-bottom:1px solid #e4e9e4;
}
.term-modal-header span{font-size:11px;color:#37764d;font-weight:800}
.term-modal-header h2{font-size:20px;margin:4px 0 0}
.term-modal-close{
    border:0;
    background:#f2f5f2;
    width:36px;
    height:36px;
    border-radius:50%;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.term-modal-content{
    padding:22px;
    overflow:auto;
    color:#3f4942;
    font-size:13px;
    line-height:1.75;
}
.term-modal-content h2{font-size:21px;margin:0 0 18px}
.term-modal-content h3{font-size:16px;margin:24px 0 8px}
.term-modal-content p{margin:8px 0}
.term-modal-content .term-table{width:100%;border-collapse:collapse;margin:16px 0}
.term-modal-content .term-table th,.term-modal-content .term-table td{border:1px solid #dde5de;padding:9px;text-align:left;vertical-align:top;font-size:12px}
.term-modal-content .term-table th{background:#f5f8f5}
.term-modal-footer{padding:14px 22px 18px;border-top:1px solid #e4e9e4;text-align:right}
.term-modal-confirm{min-width:100px;height:42px;border:0;border-radius:9px;background:#347950;color:#fff;font-weight:800;cursor:pointer}
.term-modal-open{overflow:hidden}
@media(max-width:640px){
    .term-modal{padding:12px}
    .term-modal-dialog{max-height:88vh;border-radius:14px}
    .term-modal-header,.term-modal-content{padding-left:16px;padding-right:16px}
}

.shop-member-greeting{color:#2d7148!important;font-weight:850!important}
.mypage-wrap{width:100%;max-width:980px;margin:0 auto}
.mypage-heading{margin-bottom:26px}
.mypage-heading span{font-size:12px;color:#2d7148;font-weight:850}
.mypage-heading h1{font-size:32px;margin:7px 0 8px;letter-spacing:-.04em}
.mypage-heading p{color:#748078;margin:0}
.mypage-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.mypage-summary article,.mypage-card{border:1px solid #e0e6e1;border-radius:16px;background:#fff}
.mypage-summary article{padding:20px}
.mypage-summary span{display:block;font-size:11px;color:#78837b;margin-bottom:8px}
.mypage-summary strong{font-size:18px}
.mypage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.mypage-card{padding:22px;margin-bottom:14px}
.mypage-card header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.mypage-card h2{font-size:17px;margin:0}
.mypage-card header a{font-size:12px;color:#2f7148;font-weight:800;text-decoration:none}
.mypage-card header span{font-size:11px;color:#8a938c}
.mypage-card dl{margin:0}
.mypage-card dl>div{display:grid;grid-template-columns:90px 1fr;padding:8px 0;border-bottom:1px solid #f0f2f0}
.mypage-card dt{font-size:11px;color:#879088}
.mypage-card dd{font-size:13px;margin:0;color:#364139}
.mypage-address{font-size:13px;line-height:1.7;margin:0}
.mypage-placeholder,.mypage-empty{padding:20px;border-radius:10px;background:#f7f9f7;color:#7e8880;font-size:12px;text-align:center}
.mypage-point-list>div{display:grid;grid-template-columns:100px 1fr 110px;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ed;font-size:12px}
.mypage-point-list .plus{color:#277245}
.mypage-point-list .minus{color:#b34038;text-align:right}
.profile-wrap{width:100%;max-width:780px;margin:0 auto}
.profile-back{text-align:center;margin-top:18px}
.profile-back a{color:#597063;text-decoration:none;font-size:12px}
@media(max-width:720px){
 .mypage-summary{grid-template-columns:1fr}
 .mypage-grid{grid-template-columns:1fr}
 .mypage-heading h1{font-size:26px}
 .mypage-point-list>div{grid-template-columns:80px 1fr}
 .mypage-point-list strong{grid-column:2;text-align:left!important}
}


/* 회원 계정관리 */
.login-help-links{display:flex;align-items:center;gap:14px}
.login-help-links a{font-weight:700}
.account-bottom-links{display:flex;justify-content:center;gap:18px;margin-top:20px;font-size:12px}
.account-bottom-links a{color:#315f43;font-weight:800;text-decoration:none}
.account-result{padding:28px 20px;border-top:2px solid #26352c;text-align:center}
.account-result span{display:block;font-size:12px;color:#78827a;margin-bottom:8px}
.account-result strong{display:block;font-size:26px;margin-bottom:18px}
.account-result a{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:44px;border-radius:8px;background:#303431;color:#fff;font-weight:800;text-decoration:none}
.account-management-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.account-management-links a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px;border:1px solid #dfe6e0;border-radius:9px;background:#f8faf8;color:#355b42;font-size:12px;font-weight:800;text-decoration:none}
.account-management-links a:hover{background:#eef6f0;border-color:#bfd4c5}
.account-management-links a.danger{color:#a53e36;background:#fff7f6;border-color:#efd3cf}
.account-management-links a.danger:hover{background:#fff0ee}
.withdraw-notice{margin-bottom:22px;padding:18px;border:1px solid #efd9d5;border-radius:12px;background:#fff8f7;color:#71403b}
.withdraw-notice strong{display:block;margin-bottom:8px}
.withdraw-notice p{margin:5px 0;font-size:12px;line-height:1.65}
.withdraw-check{display:flex!important;align-items:flex-start;gap:10px;margin-top:8px!important;font-weight:500!important;line-height:1.5}
.withdraw-check input{width:18px!important;height:18px!important;margin:1px 0 0!important;flex:0 0 auto}
.withdraw-submit{display:block;width:100%;height:52px;margin-top:22px;border:0;border-radius:8px;background:#a9433b;color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.withdraw-submit:hover{background:#95372f}

@media(max-width:640px){
    .login-help-links{gap:10px}
    .account-management-links{grid-template-columns:1fr}
}
