/* WOW-CAMPUS Custom Styles */
.container { 
  max-width: 1200px; 
}

.fade-in { 
  animation: fadeIn 0.5s ease-in; 
}

@keyframes fadeIn { 
  from { opacity: 0; } 
  to { opacity: 1; } 
}

.hover-scale { 
  transition: transform 0.2s; 
}

.hover-scale:hover { 
  transform: scale(1.02); 
}

/* 모달 스타일 */
.modal-backdrop {
  backdrop-filter: blur(4px);
}

/* 모달 안정성을 위한 CSS */
.modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

.modal-content {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 10000 !important;
}

/* 모달이 열렸을 때 body 스타일 */
body.modal-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
}

/* 모달 외부 요소들 비활성화 */
body.modal-open > *:not(.modal-overlay) {
  pointer-events: none !important;
  user-select: none !important;
}

/* 모달 애니메이션 */
.modal-overlay {
  animation: modalFadeIn 0.2s ease-out;
}

@keyframes modalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.modal-content {
  animation: modalSlideIn 0.2s ease-out;
}

@keyframes modalSlideIn {
  from { 
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to { 
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Missing Animations for Auth Modals */
.animate-fade-in {
  animation: fadeIn 0.3s ease-out forwards;
}

.animate-scale-in {
  animation: modalSlideIn 0.3s ease-out forwards;
}

/* 버튼 호버 효과 */
.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

/* 알림 애니메이션 */
@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.notification {
  animation: slideIn 0.3s ease-out;
}
/* Force Re-upload */
