/*
=========================================================================
모달 공통
=========================================================================
*/
.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(0,0,0,.6); backdrop-filter:blur(4px);}
.modalBox{position:relative; background:#fff; border-radius:4px; padding:40px; max-width:520px; width:90%; max-height:90dvh; overflow-y:auto; z-index:1; box-shadow:0 20px 60px rgba(0,0,0,.2); scrollbar-width:none;}
.modalBox::-webkit-scrollbar{display:none;}
.demoConfirmBox{overflow-y:hidden; display:flex; flex-direction:column;}
.modalCloseBtn{position:absolute; top:20px; right:30px; width: 32px; height: 32px; background: rgba(100,100,100,.07); cursor:pointer; color:var(--gray4); transition:color .2s; border-radius: 50%;  display: flex; align-items: center; justify-content: center;}
.modalCloseBtn:hover{background: rgba(100,100,100,.15);}
.modalCloseBtn svg{width:20px; height:20px;}
.modalBtnPrimary{font-family:var(--f-sub-en); font-weight:700; font-size:.9em; letter-spacing:.06em; background:var(--red); color:#fff; padding:14px 24px; border-radius:var(--radius);transition:background .2s; cursor:pointer; border:none;}
.modalBtnPrimary:hover{background:var(--red-hover);}
.modalBtnSecondary{font-family:var(--f-sub-en); font-weight:500; font-size:.9em; letter-spacing:.04em; background:transparent; color:var(--gray4); padding:14px 24px; border-radius:var(--radius); border:1px solid var(--gray2); transition:background .2s,color .2s; cursor:pointer;}
.modalBtnSecondary:hover{background:var(--gray1); color:var(--text-dark);}
.modalDivider{height:1px;background:var(--gray2); margin:18px 0;}

@media (max-width:600px) {
  .modalBox{padding:20px;}
  .modalCloseBtn{top: 15px; right: 20px;}
}

/*
=========================================================================
문의 폼-문의완료 MODAL
=========================================================================
*/
.demoConfirmBox{text-align:center;}
.demoConfirmIcon{width:52px; height:52px; margin:0 auto 14px; color:var(--red);}
.demoConfirmIcon svg{width:100%; height:100%;}
.demoConfirmLabel{font-family:var(--f-sub-en); font-size:.75em; font-weight:700; letter-spacing:.12em; color:var(--red); margin-bottom:8px;}
.demoConfirmTitle{font-size:1.4em; font-weight:700; color:var(--text-dark); margin-bottom:10px; line-height:1.3;}
.demoConfirmDesc{font-size:.88em; color:var(--gray3); margin-bottom:22px; line-height:1.7;}
.demoStepList{background:var(--gray1); border-radius:4px; padding:22px 24px; margin-bottom:28px; text-align:left; overflow-y:auto; flex-shrink:1; min-height:0; scrollbar-width:none;}
.demoStepList::-webkit-scrollbar {display:none;}
.demoStepListTitle{font-size:.78em; color:var(--red); font-weight:700; letter-spacing:.06em; margin-bottom:14px; display:flex; align-items:center;gap:8px;}
.demoStep {display:grid; grid-template-columns:26px 1fr; gap:10px;margin-bottom:16px;align-items:start;}
.demoStep:last-child {margin-bottom:0;}
.demoStepNum{width:26px; height:26px; background:var(--dark); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--f-sub-en); font-size:.78em;font-weight:700; color:#fff; flex-shrink:0; margin-top:1px;}
.demoStepTxt strong{display:block; font-size:.88em; font-weight:700; color:var(--text-dark); margin-bottom:3px;}
.demoStepTxt span{font-size:.8em; color:var(--gray4);}

@media (max-width:600px) {
  .demoConfirmIcon{width:40px; height:40px; margin:0 auto 8px;}
  .demoConfirmDesc{margin-bottom: 10px;}
  .demoStepList{padding:15px 17px;}
  .demoStep{grid-template-columns:15px 1fr; gap: 8px;}
  .demoStepNum{width:15px; height:15px; font-size: .65em; margin-top:4px;}
  .demoStepTxt span{display: block;}
}

/*
=========================================================================
개인정보처리방침 MODAL
=========================================================================
*/
.privacyModalBox{max-width:600px;}
.privacyModalHead{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--gray2);}
.privacyModalTitle{font-family:var(--f-sub-en); font-size:1em; font-weight:700; color:var(--text-dark);}
.privacyModalBody{color:var(--gray4); line-height:1.75; max-height:60vh; overflow-y:auto; scrollbar-width:none;}
.privacyModalBody::-webkit-scrollbar {display:none;}
.privacyModalFoot{margin-top:20px;}
.privacySection{margin-bottom:18px;}
.privacySectionTitle{font-size:.8em; font-weight:700; color:var(--text-dark); margin-bottom:5px;}
.privacySectionBody{font-size:.8em; color:var(--gray4); line-height:1.7;}