@charset "UTF-8";
/* ============================================================
   페이지 이동 로딩 표시 — 메뉴/버튼 클릭 후 화면 전환까지의 공백 동안
   "지금 이동 중"임을 알려 재클릭·이탈을 막는다.
   호출처 : commFunctions.jsp goPageSubmit / goFormPageSubmit 의 실제 submit 직전
     (로그인 체크 등 조기 return 이후에만 → 검증 실패 시에는 안 뜬다).
   원칙   : 인라인 스타일 0건(전부 클래스).
   v1.0 (2026-07-12) — 딥그린 원형 스피너.
   v1.1 (2026-07-12) — 두레생협 심볼 로고 회전으로 교체.
   v1.2 (2026-07-12) — 원형 스피너로 원복(로고는 모바일 캐시 이슈). 회전 0.7s→0.6s(체감 빠르게).
   v1.3 (2026-07-12) — 모바일은 반투명 딤 레이어·blur 제거, 스피너만 노출.
   v1.4 (2026-07-12) — 모바일: 전체 딤 대신 스피너+글씨를 작은 흰 카드(그림자)에 담아 어떤 배경 위에서도 가독.
   ============================================================ */
.dz-page-loading {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .55);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}
.dz-page-loading.is-on { display: flex; }

.dz-page-loading-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.dz-page-loading-spin {
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 4px solid rgba(61, 96, 65, .2);
  border-top-color: #3d6041;
  animation: dzPageSpin .6s linear infinite;
}
.dz-page-loading-txt {
  font-size: 15px;
  font-weight: 600;
  color: #3d6041;
  letter-spacing: -.01em;
}

@keyframes dzPageSpin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .dz-page-loading-spin { animation-duration: 1.6s; }
}

/* 모바일: 전체 딤 제거 + 스피너·글씨를 작은 흰 카드에 담아 가독(2026-07-12) */
@media (max-width: 720px) {
  .dz-page-loading {
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .dz-page-loading-box {
    background: #fff;
    padding: 22px 28px;
    border-radius: 18px;
    box-shadow: 0 12px 32px -8px rgba(20, 40, 22, .38);
  }
}
