/* =========================================================
   PINOSS 중첩 팝업 강제 레이어 보정 v2.0
   DOM 이동 없음 / 새로 열린 레이어와 부모 체인만 승격
   ========================================================= */

.gexchange-modal{
  z-index:100000!important;
}

/* JS가 정확히 찾은 서브 팝업 */
.gift-submodal-force-front{
  z-index:2147483000!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* 서브 팝업의 fixed/absolute 부모 체인 */
.gift-submodal-force-context{
  z-index:2147482000!important;
}

/* 메인 팝업이 서브 팝업을 자르지 않도록 */
/* 서브 팝업이 떠도 메인 신청폼의 스크롤 컨테이너는 유지합니다. */
.gexchange-modal.has-submodal-force .gexchange-modal__panel{
  overflow:hidden!important;
}

.gexchange-modal.has-submodal-force .gexchange-modal__body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  touch-action:pan-y!important;
}

/* 일반적인 별도 modal/dialog가 메인 팝업보다 뒤에 숨는 경우 안전 보정 */
body.gift-submodal-active > [role="dialog"]:not(.gexchange-modal),
body.gift-submodal-active > [aria-modal="true"]:not(.gexchange-modal),
body.gift-submodal-active > [class*="modal"]:not(.gexchange-modal),
body.gift-submodal-active > [class*="popup"]:not(.gexchange-modal),
body.gift-submodal-active > [class*="overlay"]:not(.gexchange-modal){
  z-index:2147483000!important;
}

@media(max-width:760px){
  .gift-submodal-force-front{
    max-width:100vw!important;
    max-height:100dvh!important;
  }
}


/* v2.1: 서브 팝업 활성/종료와 관계없이 메인 폼 스크롤 보장 */
body.gift-submodal-active .gexchange-modal__body{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}
