/*
=========================================================================
모달 공통
=========================================================================
*/
.modal{display: none; position: fixed; inset: 0; z-index: 2000; align-items: center; justify-content: center;}
.modal.open{display: flex;}

.modalBackdrop{position: absolute; inset: 0; background: rgba(5,10,22,.5); animation: fadeIn .22s var(--ease);}
@keyframes fadeIn{
    from{opacity:0;} 
    to{opacity:1;}
}

.modalBox{position: relative; z-index: 1; background: var(--navy2); border: 1px solid rgba(255,255,255,.1); border-radius: 2px; max-width: calc(100vw - 40px); box-shadow: 0 32px 80px rgba(0,0,0,.6); animation: modalUp .28s var(--ease);}
@keyframes modalUp { from{opacity:0; transform: translateY(18px) scale(.97);} to{opacity:1; transform: translateY(0) scale(1);}}
.modalCloseBtn{position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; background: rgba(255,255,255,.07); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.5); transition: background .2s, color .2s;}
.modalCloseBtn:hover{background: rgba(255,255,255,.15); color: var(--white); }
.modalCloseBtn svg{width: 14px; height: 14px;}
.modalDivider{height: 1px; background: rgba(255,255,255,.08); margin-bottom: 20px; }
.modalBtnSecondary { flex: 1; padding: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 2px; font-size: .9em; font-weight: 600; color: rgba(255,255,255,.6); transition: background .2s, color .2s; }
.modalBtnSecondary:hover{background: rgba(255,255,255,.12); color: var(--white); }
.modalBtnPrimary{flex: 2; padding: 12px; background: var(--blue); border-radius: 2px; font-size: .9em; font-weight: 700; color: var(--white); letter-spacing: .04em; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
.modalBtnPrimary:hover{background: var(--blue-hover)};
.modalBtnPrimary svg{width: 14px; height: 14px;}

/*
=========================================================================
문의 폼-문의완료 MODAL
=========================================================================
*/
.inquiryConfirmBox{padding: 48px 40px 40px; width: 400px; text-align: center;}
.inquiryConfirmIcon{width: 52px; height: 52px; margin: 0 auto 20px; background: rgba(60,115,255,.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--blue);}
.inquiryConfirmIcon svg { width: 26px; height: 26px; }
.inquiryConfirmBox .logo{width: 100px; height: 40px; margin: 0 auto;}
.inquiryConfirmTitle{font-size: 18px; font-weight: 700; color: var(--white); margin-bottom: 12px;}
.inquiryConfirmDesc{font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.85; margin-bottom: 28px;}

/*
=========================================================================
인증 MODAL
=========================================================================
*/
.certModalBox{padding: 40px; width: 480px; box-shadow: 0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(79,140,255,.1); }
.certModalTitle{font-family: 'Montserrat', sans-serif; font-size: 1.8em; font-weight: 700; color: var(--blue); letter-spacing: .02em; margin-bottom: 6px; }
.certModalSubtitle{font-weight: 600; color: var(--white); margin-bottom: 20px; }
.certModalDesc{color: rgba(255,255,255,.6); font-size: .8em; margin-bottom: 25px; }
.certModalActions{display: flex; gap: 10px; }

/*
=========================================================================
개인정보처리방침 MODAL
=========================================================================
*/
#privacyModal{z-index: 2100; }
.privacyModalBox{width: 560px; max-height: 80vh; display: flex; flex-direction: column; }
.privacyModalHead {padding: 28px 32px 20px; border-bottom: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.privacyModalTitle{font-weight: 700; color: var(--white); letter-spacing: -.01em; }
.privacyModalBody{padding: 24px 32px; overflow-y: auto; flex: 1;}
.privacyModalBody::-webkit-scrollbar{width: 4px;}
.privacyModalBody::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
.privacyModalBody::-webkit-scrollbar-thumb { background: rgba(79,140,255,.4); border-radius: 2px;}
.privacySection{margin-bottom: 24px;}
.privacySection:last-child{margin-bottom: 0;}
.privacySectionTitle{font-size: .8em; font-weight: 600; text-transform: uppercase; color: var(--white); margin-bottom: 10px; }
.privacySectionBody{font-size: .8em; color: rgba(255,255,255,.5); line-height: 1.8; }
.privacySectionBody strong { color: rgba(255,255,255,.75); font-weight: 600; }
.privacyTable{width: 100%; border-collapse: collapse; margin-top: 8px; font-size: .9em; }
.privacyTable th{font-weight: 700; letter-spacing: .07em; color: rgba(255,255,255,.35); text-align: left; padding: 7px 10px; border-bottom: 1px solid rgba(255,255,255,.07); }
.privacyTable td{color: rgba(255,255,255,.55); padding: 8px 10px; border-bottom: 1px solid rgba(255,255,255,.04); vertical-align: top; }
.privacyTable tr:last-child td { border-bottom: none; }
.privacyModalFoot{padding: 16px 32px; border-top: 1px solid rgba(255,255,255,.07); flex-shrink: 0;}
