/**
 * 기본 스타일 정의
 */

/* 모달 z-index 조정 */
.modal {
    z-index: 1050 !important;
}
.modal-backdrop {
    z-index: 1040 !important;
}
.modal-dialog {
    z-index: 1050 !important;
}

/* 기본 타이포그래피 */
body {
    font-family: 'Noto Sans KR', 'Helvetica Neue', Roboto, Arial, sans-serif;
    color: #16191f;
    background-color: #fafafa;
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: #000716;
    margin-bottom: 0.5rem;
}

a {
    color: #0972d3;
    text-decoration: none;
}

a:hover {
    color: #033160;
    text-decoration: underline;
}

/* 공통 레이아웃 */
.container {
    max-width: 1400px;
    padding: 0 20px;
}

.page-section {
    margin-bottom: 24px;
}

/* 유틸리티 클래스 */
.text-primary {
    color: #0972d3 !important;
}

.text-success {
    color: #037f0c !important;
}

.text-warning {
    color: #d09118 !important;
}

.text-danger {
    color: #d91515 !important;
}

.text-muted {
    color: #5f6b7a !important;
}

.bg-light {
    background-color: #f2f3f3 !important;
}

.bg-primary-light {
    background-color: #f1faff !important;
}

.bg-success-light {
    background-color: #f2fcf3 !important;
}

.bg-warning-light {
    background-color: #fffdf7 !important;
}

.bg-danger-light {
    background-color: #fff8f8 !important;
}

/* 반응형 유틸리티 */
@media (max-width: 768px) {
    .d-sm-none {
        display: none !important;
    }
    
    .d-sm-block {
        display: block !important;
    }
    
    .text-sm-center {
        text-align: center !important;
    }
}

@media (min-width: 769px) and (max-width: 992px) {
    .d-md-none {
        display: none !important;
    }
    
    .d-md-block {
        display: block !important;
    }
}

@media (min-width: 993px) {
    .d-lg-none {
        display: none !important;
    }
    
    .d-lg-block {
        display: block !important;
    }
}