.ml-withdrawal{width:100%;background:#fff;box-sizing:border-box}
.ml-withdrawal *{box-sizing:border-box}

/* 기본(비로그인/이미탈퇴) 박스 */
.ml-withdrawal__box{width:100%;max-width:560px;margin:0 auto;padding:40px 24px 48px;text-align:center;background:#f9fafb;border-radius:16px;border:1px solid #e5e7eb}
.ml-withdrawal__title{margin:0 0 10px;font-size:26px;line-height:1.25;color:#111;font-weight:700}
.ml-withdrawal__muted{margin:0 0 18px;font-size:14px;line-height:1.6;color:#666}

.ml-withdrawal__container{width:100%;max-width:100%;margin:0 auto;padding:32px 0}

.ml-withdrawal__header{text-align:center;margin-bottom:32px;padding:0 24px}
.ml-withdrawal__h1{margin:0 0 8px;font-size:32px;line-height:1.2;color:#111;font-weight:700}
.ml-withdrawal__sub{margin:0;font-size:14px;line-height:1.5;color:#666}

.ml-withdrawal__error{margin:0 24px 18px;border:1px solid #f1c1c1;background:#fff5f5;color:#a61b1b;border-radius:12px;padding:12px 14px;font-size:13px}

.ml-withdrawal__section{padding:0 24px;margin-bottom:28px}
.ml-withdrawal__section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.ml-withdrawal__section-title h2{margin:0;font-size:18px;line-height:1.3;color:#111;font-weight:700}

.ml-withdrawal__icon{width:20px;height:20px}
.ml-withdrawal__icon--info{color:#2563eb}
.ml-withdrawal__icon--warn{color:#dc2626}

.ml-withdrawal__panel{border-radius:12px;padding:16px 16px;border:1px solid transparent}
.ml-withdrawal__panel ul{margin:0;padding-left:18px}
.ml-withdrawal__panel li{margin:8px 0;font-size:13px;line-height:1.6;color:#333}

.ml-withdrawal__panel--info{background:#eff6ff;border-color:#dbeafe}
.ml-withdrawal__panel--warn{background:#fef2f2;border-color:#fee2e2}

.ml-withdrawal__hr{border:none;border-top:1px solid #e5e7eb;margin:18px 24px !important}

/* Elementor/테마에서 HR 여백이 0으로 덮이는 경우 대비: HR 아래 콘텐츠 간격 유지 */
.ml-withdrawal__hr + .ml-withdrawal__section{padding-top:12px}

.ml-withdrawal__step{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ml-withdrawal__step-num{width:32px;height:32px;border-radius:999px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.ml-withdrawal__step-title{font-size:18px;line-height:1.3;color:#111;font-weight:700}
.ml-withdrawal__req{color:#ef4444;font-weight:700}
.ml-withdrawal__opt{color:#9ca3af;font-weight:500;font-size:14px}

.ml-withdrawal__reasons{display:flex;flex-direction:column;gap:12px}
.ml-withdrawal__reason{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;position:relative}
/* 테마/엘리멘터에서 checkbox 스타일을 강제로 덮는 경우가 있어, input 자체를 '완전 숨김'으로 강제 */
.ml-withdrawal__reason-input{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;overflow:hidden !important;margin:0 !important;padding:0 !important;border:0 !important;outline:0 !important;box-shadow:none !important;-webkit-appearance:none !important;appearance:none !important}
.ml-withdrawal__reason-box{width:20px;height:20px;border-radius:4px;border:1px solid #d1d5db;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.ml-withdrawal__reason-label{font-size:13px;color:#111;line-height:1.4}
.ml-withdrawal__reason-input:checked + .ml-withdrawal__reason-box{background:#111;border-color:#111}
.ml-withdrawal__reason-input:checked + .ml-withdrawal__reason-box::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);margin-top:-1px}

.ml-withdrawal__textarea{width:100%;border:1px solid #e5e7eb;border-radius:12px;padding:12px 12px;background:#f7f8fa;color:#111;font-size:13px;line-height:1.5;resize:none;outline:none}
.ml-withdrawal__textarea:focus{border-color:#c7c7c7}
.ml-withdrawal__count{margin-top:8px;font-size:12px;color:#6b7280}

.ml-withdrawal__label{display:block;margin:0 0 8px;color:#111;font-size:13px;font-weight:600}
.ml-withdrawal__input{width:100%;max-width:520px;border:1px solid #e5e7eb;border-radius:12px;padding:12px 12px;background:#f7f8fa;color:#111;font-size:13px;outline:none}
.ml-withdrawal__input:focus{border-color:#c7c7c7}

.ml-withdrawal__confirm{background:#f3f4f6;border-radius:12px;padding:14px 14px}
.ml-withdrawal__confirm-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer;position:relative}
/* 테마/엘리멘터 체크박스 강제 스타일 방어 */
.ml-withdrawal__confirm-input{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:1px !important;height:1px !important;overflow:hidden !important;margin:0 !important;padding:0 !important;border:0 !important;outline:0 !important;box-shadow:none !important;-webkit-appearance:none !important;appearance:none !important}
.ml-withdrawal__confirm-text{font-size:13px;color:#111;line-height:1.5}
.ml-withdrawal__confirm-input:checked + .ml-withdrawal__reason-box{background:#111;border-color:#111}
.ml-withdrawal__confirm-input:checked + .ml-withdrawal__reason-box::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);margin-top:-1px}

.ml-withdrawal__actions{display:flex;flex-direction:column;gap:12px;padding:0 24px 32px}

.ml-withdrawal__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:14px 14px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;user-select:none;width:100% !important;max-width:100% !important;flex:0 0 100%;border:1px solid transparent}
.ml-withdrawal__btn--outline{background:#fff;border-color:#e5e7eb;color:#111}
.ml-withdrawal__btn--outline:hover{border-color:#d1d5db}
.ml-withdrawal__btn--danger{background:#333 !important;color:#fff !important;border-color:#333 !important}
.ml-withdrawal__btn--danger:hover,.ml-withdrawal__btn--danger:active,.ml-withdrawal__btn--danger:focus{background:#cc3366 !important;border-color:#cc3366 !important;color:#fff !important}
.ml-withdrawal__btn--danger:disabled{opacity:.5;cursor:not-allowed}
.ml-withdrawal__btn--primary{background:#111;color:#fff;border-color:#111}
.ml-withdrawal__btn--primary:hover{background:#000;border-color:#000}

/* Done */
.ml-withdrawal__done{max-width:560px;margin:0 auto;padding:40px 24px 48px;text-align:center;background:#f9fafb;border-radius:16px;border:1px solid #e5e7eb}
.ml-withdrawal__done-icon{width:72px;height:72px;border-radius:999px;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.ml-withdrawal__check{width:40px;height:40px}
.ml-withdrawal__done-text h2{margin:0 0 6px;font-size:26px;color:#111}
.ml-withdrawal__done-text p{margin:0 0 18px;font-size:14px;color:#666}
.ml-withdrawal__done-panel{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:0 0 18px}
.ml-withdrawal__done-panel h3{margin:0 0 10px;font-size:13px;color:#111}
.ml-withdrawal__done-panel ul{margin:0;padding-left:18px}
.ml-withdrawal__done-panel li{margin:8px 0;font-size:13px;color:#333;line-height:1.5}

/* Modal */
.ml-withdrawal__modal{position:fixed;inset:0;display:none;z-index:99999}
.ml-withdrawal__modal.is-open{display:block}
.ml-withdrawal__modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.ml-withdrawal__modal-dialog{position:relative;max-width:520px;width:calc(100% - 32px);margin:10vh auto 0;background:#fff;border-radius:16px;padding:18px 18px 16px;border:1px solid #e5e7eb}
.ml-withdrawal__modal-title{margin:0;font-size:18px;color:#111}
.ml-withdrawal__modal-desc{margin:10px 0 16px;color:#444;font-size:14px;line-height:1.6}
.ml-withdrawal__modal-actions{display:flex;gap:10px}

/* Responsive (Elementor breakpoints alignment) */
@media (max-width:1300px){
  .ml-withdrawal__container{max-width:100%}
}
@media (max-width:1024px){
  .ml-withdrawal__h1{font-size:28px}
}
@media (max-width:880px){
  .ml-withdrawal__container{padding:24px 0}
  .ml-withdrawal__section{padding:0 16px}
  .ml-withdrawal__hr{margin:18px 16px !important}
  .ml-withdrawal__hr + .ml-withdrawal__section{padding-top:12px}
  .ml-withdrawal__actions{padding:0 16px 24px}
}
@media (max-width:500px){
  .ml-withdrawal__h1{font-size:24px}
  .ml-withdrawal__btn{padding:13px 12px}
  .ml-withdrawal__done{border-radius:14px}
}
