label {display:flex;justify-content:center;}
input[type="checkbox"] {width:20px;height:20px;}

/* 공통 모달 프레임 */
.pay-modal {position:fixed;top:50%;left:50%;transform:translate(-50%,-48%);z-index:-1;background:#fff;border-radius:20px;padding:24px 24px 22px;box-shadow:0 24px 80px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-height:calc(100dvh - 32px);overflow-y:auto;}
.pay-modal.active {opacity:1;pointer-events:auto;transform:translate(-50%,-50%);z-index:30000;}
.pay-modal::-webkit-scrollbar,
.pay-terms-box::-webkit-scrollbar {display:none;}

.pay-overlay {position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .2s;}
.pay-overlay.active {opacity:1;pointer-events:auto;z-index:29999;}

.pay-modal-close {position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;background:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#666;}

.pay-modal-btn {width:100%;padding:16px;border:none;border-radius:14px;background:linear-gradient(135deg,#ff6b9d,#ff4081);color:#fff;font-size:16px;font-weight:600;cursor:pointer;}
.pay-modal-btn:disabled {opacity:.5;cursor:not-allowed;}

/* 모달 헤더 */
.pay-modal-head {display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;margin-bottom:12px;}
.pay-modal-title {font-size:18px;font-weight:600;color:#222;}
.pay-modal-sub {font-size:13px;color:#222;}
.pay-perday {font-size:11px;color:#aaa;font-weight:500;white-space:nowrap;}

/* 구독 모달 */
.sub-profile-img {width:44px;height:44px;border-radius:50%;margin-bottom:6px;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:pointer;}

/* 공통 가격 박스 */
.pass-price-box {display:flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;padding:15px;margin:0 0 8px;text-align:center;line-height:1;}
#pay-modal .pass-price-box {background:linear-gradient(135deg,rgba(255,64,129,.07),rgba(255,107,157,.12));border:1px solid rgba(255,64,129,.2);}
#allpass-modal .pass-price-box {background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(255,140,0,.15));border:1px solid rgba(255,215,0,.35);}
#aipass-modal .pass-price-box {background:linear-gradient(135deg,rgba(123,111,232,.1),rgba(168,200,255,.15));border:1px solid rgba(123,111,232,.35);}

.pass-price-item {font-size:13px;font-weight:700;}
#pay-modal .pass-price-item {color:#ff4081;}
#allpass-modal .pass-price-item {color:#c87800;}
#aipass-modal .pass-price-item {color:#5b3fa0;}

.pass-price-won {font-size:13px;color:#555;font-weight:600;}

.sub-wallet {font-size:12px;color:#888;text-align:center;margin:0 0 14px;}
.sub-wallet b {color:#111;font-weight:600;}

/* 충전 모달 */
#order-modal .pay-modal-btn {display:none;margin-top:15px;}
#order-modal .pay-terms {padding-top:5px;padding-bottom:0;}

.order-packages {display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px;}
.order-pkg {border:1.5px solid #eee;border-radius:14px;padding:14px 8px 12px;text-align:center;cursor:pointer;background:#fff;}
.order-pkg:hover {border-color:#ffb3cc;}
.order-pkg.selected {border-color:#ff4081;background:#fff5f8;}
.order-pkg-item {font-size:16px;font-weight:600;color:#ff4081;line-height:1;margin-bottom:6px;}
.order-pkg-price {font-size:12px;color:#555;font-weight:600;}
.order-pkg-daily {font-size:11px;color:#aaa;margin-top:3px;}

.order-wallet {font-size:12px;color:#888;text-align:center;margin:0 0 10px;}
.order-wallet b {color:#111;font-weight:600;}

.order-custom {display:flex;align-items:center;gap:8px;border:1.5px solid #eee;border-radius:14px;padding:12px 16px;margin-bottom:8px;font-size:13px;color:#555;transition:border-color .15s;}
.order-custom-label {font-size:14px;font-weight:700;color:#ff4081;}
.order-custom-input {width:100%;padding:5px 8px;font-size:12px;font-weight:700;color:#ff4081;text-align:right;outline:none;-moz-appearance:textfield;transition:border-color .15s;}
.order-custom-input::-webkit-inner-spin-button,
.order-custom-input::-webkit-outer-spin-button {-webkit-appearance:none;}
.order-custom-price {margin-left:auto;font-size:12px;color:#aaa;white-space:nowrap;}
.order-custom-price.filled {font-weight:600;color:#111;}

.order-notice {display:none;font-size:11px;color:#aaa;text-align:center;margin-top:12px;line-height:1.6;}

/* 결제수단 */
.pay-methods {display:none;grid-template-columns:repeat(2,1fr);gap:6px;margin:14px 0;}
.pay-method-btn {padding:10px 0;border:1.5px solid #eee;border-radius:10px;background:#fff;font-size:12px;font-weight:500;color:#555;cursor:pointer;transition:.15s;}
.pay-method-btn.selected {border-color:#ff4081;background:#fff5f8;color:#ff4081;font-weight:600;}

/* 이용약관 */
.pay-terms {display:none;padding-top:12px;padding-bottom:18px;}
.pay-terms-title {display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:#111;}
.pay-terms-box {max-height:90px;overflow-y:auto;padding:14px;border:1px solid #eee;border-radius:12px;background:#fafafa;font-size:12px;line-height:1.7;color:#666;margin:4px 0 8px;}
.pay-terms-box .policy {font-size:12px;}
.pay-terms-check {display:flex;align-items:center;justify-content:center;gap:0;padding-top:4px;}
.pay-terms-check label {display:inline;cursor:pointer;}

/* 가상계좌 */
.vbank-result-box {display:none;}
.vbank-result {background:#f0f7ff;border-radius:14px;padding:20px 16px;text-align:center;margin:16px 0;}
.vbank-result-bank {font-size:14px;font-weight:600;color:#333;margin-bottom:4px;}
.vbank-result-acnt {font-size:20px;font-weight:700;color:#1a73e8;letter-spacing:1px;margin-bottom:2px;}
.vbank-result-amt {font-size:14px;font-weight:600;color:#111;margin-bottom:4px;}
.vbank-result-expire {font-size:12px;color:#999;}

/* 패스 공통 (황제코스 + 귀족코스 + 구독) */
.sub-features {list-style:none;padding:0;margin:0 0 12px;font-size:13px;color:#666;display:flex;flex-direction:column;align-items:center;gap:5px;}
.sub-features li::before {content:"✓ ";font-weight:700;padding-right:2px;}
.sub-pass-notice {font-size:12px;color:#e55;text-align:center;margin-bottom:12px;line-height:1.5;}

/* 구독 모달 체크마크 색상 */
#pay-modal .sub-features li::before {color:#ff4081;}

/* 결제수단 선택 색상 분기 */
#pay-modal .pay-method-btn.selected {border-color:#ff4081;background:#fff5f8;color:#ff4081;}

/* 황제 */
#allpass-modal .pay-modal-title {color:#ffd000;}
#allpass-modal .sub-features li::before {color:#c87800;}
#allpass-modal .pay-method-btn.selected {color:#c87800;border:1px solid rgba(255,215,0,.35);background:#fff;}
#allpass-modal .pay-modal-btn {background:linear-gradient(135deg,#c87800,#FFD700,#FFA500);color:#3a1f00;}

/* 귀족 */
#aipass-modal .pay-modal-title {color:#5b3fa0;}
#aipass-modal .sub-features li::before {color:#5b3fa0;}
#aipass-modal .pay-method-btn.selected {color:#5b3fa0;border:1px solid rgba(123,111,232,.35);background:#fff;}
#aipass-modal .pay-modal-btn {background:linear-gradient(135deg,#4f2aff 0%,#9b4dff 50%,#d46bff 100%);color:#fff;}

/* 크라운 아이콘 */
#allpass-modal .pass-modal-crown {color:#ffd000;}
#aipass-modal .pass-modal-crown {color:#a44cff;}

#pay-modal,
#order-modal,
#allpass-modal,
#aipass-modal {width:calc(100% - 60px);max-width:420px;}

@media (max-width:799px) {
    .pay-modal-title {font-size:14px;}
    .pay-modal-sub {font-size:10px;}
    .pay-modal-btn {font-size:13px;}
    .pay-method-btn {font-size:10px;padding:12px 0;}
    .pay-methods {gap:4px;margin-top:10px;}
    .vbank-result-acnt {font-size:17px;}
    .pay-terms-box {max-height:60px;}
	.pay-terms-box .policy {font-size:11px;}
	.order-custom-input {font-size:10px;}
	
    .pass-price-box {padding:13px 14px;margin-bottom:12px;}
    #pay-modal .pass-price-box {gap:10px;}
    .pass-price-item {font-size:11px;}
    .pass-price-won {font-size:11px;}

    #allpass-modal .pay-modal-title,
    #aipass-modal .pay-modal-title {padding-top:5px;}
    #allpass-modal .pay-terms,
    #aipass-modal .pay-terms {padding:0 0 12px;}
    #allpass-modal .pay-modal-head,
    #aipass-modal .pay-modal-head {margin-bottom:12px;}

    #order-modal {padding:28px 18px 22px;}
    #order-modal .pay-terms {padding-bottom:0;}
    .order-packages {gap:8px;margin-bottom:8px;}
    .order-pkg {padding:18px 6px 16px;border-radius:12px;}
    .order-pkg-item {font-size:13px;margin-bottom:4px;}
    .order-pkg-price {font-size:11px;}
    .order-pkg-daily {font-size:10px;margin-top:2px;}
    .order-wallet {font-size:11px;margin-bottom:8px;}
    .order-custom {padding:10px 14px;}
    .order-custom-price {font-size:11px;}

    .sub-features {font-size:10px;}
    .sub-pass-notice {font-size:10px;}

    #SPC_LAYER,div[id^="settle_"],div[class*="settle"] {width:calc(100% - 16px) !important;}
}