@charset "utf-8";

/* ============================================
   게시판 스킨 - basic (Bootstrap 5 기반)
   ============================================ */

/* 
 * 최신글 스킨과 동일한 디자인 언어 적용
 * Bootstrap 컴포넌트 사용으로 커스텀 스타일 최소화
 */

/* 색상 팔레트 (최신글 스킨과 동일) */
:root {
    --board-text-primary: #1a1a1a;
    --board-text-secondary: #2d3748;
    --board-text-muted: #9ca3af;
    --board-link-color: #5b7cff;
    --board-border-color: #e8e8e8;
    --board-bg-light: #fafafa;
}

/* 카드 기본 스타일 */
.card {
    border: 1px solid var(--board-border-color);
    border-radius: 8px;
}

.card-header.bg-light {
    background-color: var(--board-bg-light) !important;
    border-bottom: 1px solid var(--board-border-color);
}

/* 테이블 스타일 */
.table {
    font-size: 0.9375rem;
}

.table thead.table-light {
    background-color: var(--board-bg-light);
    border-bottom: 2px solid var(--board-border-color);
}

.table thead th {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--board-text-primary);
    padding: 0.875rem 0.75rem;
    border-bottom: 2px solid var(--board-border-color);
}

.table tbody td {
    padding: 0.875rem 0.75rem;
    vertical-align: middle;
    color: var(--board-text-secondary);
}

.table tbody tr {
    transition: background-color 0.12s ease;
}

.table-hover tbody tr:hover {
    background-color: var(--board-bg-light);
}

/* 공지사항 행 */
.table-warning {
    background-color: #f8f9ff !important;
    border-left: 2px solid var(--board-link-color);
}

.table-warning:hover {
    background-color: #f3f4ff !important;
}

/* 제목 링크 */
.table tbody td a.text-dark {
    color: var(--board-text-secondary) !important;
    transition: color 0.15s ease;
}

.table tbody td a.text-dark:hover {
    color: var(--board-link-color) !important;
}

/* 배지 */
.badge {
    font-size: 0.625rem;
    font-weight: 600;
    padding: 0.25em 0.5em;
    border-radius: 3px;
}

.badge.bg-danger {
    background-color: #ef4444 !important;
}

.badge.bg-primary {
    background-color: var(--board-link-color) !important;
}

.badge.bg-secondary {
    background-color: #6b7280 !important;
}

/* 버튼 스타일 */
.btn-sm {
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
}

.btn-outline-secondary {
    color: var(--board-text-muted);
    border-color: var(--board-border-color);
}

.btn-outline-secondary:hover {
    color: #6b7280;
    background-color: var(--board-bg-light);
    border-color: #6b7280;
}

.btn-outline-danger:hover {
    background-color: #ef4444;
    border-color: #ef4444;
}

.btn-primary {
    background-color: var(--board-link-color);
    border-color: var(--board-link-color);
}

.btn-primary:hover {
    background-color: #4a6cff;
    border-color: #4a6cff;
}

/* 드롭다운 */
.dropdown-menu {
    border: 1px solid var(--board-border-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-radius: 6px;
}

.dropdown-item {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    transition: background-color 0.12s ease;
}

.dropdown-item:hover {
    background-color: var(--board-bg-light);
    color: var(--board-link-color);
}

.dropdown-item i {
    width: 1.25rem;
    opacity: 0.6;
}

/* 폼 요소 */
.form-check-input {
    cursor: pointer;
}

.form-check-input:checked {
    background-color: var(--board-link-color);
    border-color: var(--board-link-color);
}

/* 모달 */
.modal-header {
    border-bottom: 1px solid var(--board-border-color);
}

.modal-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--board-text-primary);
}

.modal-body {
    padding: 1.5rem;
}

.form-select,
.form-control {
    border-color: var(--board-border-color);
    font-size: 0.9375rem;
}

.form-select:focus,
.form-control:focus {
    border-color: var(--board-link-color);
    box-shadow: 0 0 0 0.2rem rgba(91, 124, 255, 0.15);
}

/* 페이징 (그누보드 기본 스타일 유지하되 색상만 조정) */
.pg_wrap {
    margin-top: 1rem;
}

.pg_wrap a,
.pg_wrap strong {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    margin: 0 2px;
    border: 1px solid var(--board-border-color);
    border-radius: 4px;
    color: var(--board-text-secondary);
    text-decoration: none;
    font-size: 0.875rem;
    transition: all 0.15s ease;
}

.pg_wrap a:hover {
    background-color: var(--board-bg-light);
    border-color: var(--board-link-color);
    color: var(--board-link-color);
}

.pg_wrap strong {
    background-color: var(--board-link-color);
    border-color: var(--board-link-color);
    color: #fff;
}

/* 반응형 조정 */
@media (max-width: 768px) {
    .table {
        font-size: 0.875rem;
    }

    .table thead th,
    .table tbody td {
        padding: 0.625rem 0.5rem;
    }

    .btn-sm {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
    }
}

@media (max-width: 576px) {
    .card-body {
        padding: 1rem;
    }

    .table thead th,
    .table tbody td {
        padding: 0.5rem 0.375rem;
    }
}

/* 아이콘 */
.fa {
    font-size: 0.875rem;
}

/* 유틸리티 오버라이드 */
.text-muted {
    color: var(--board-text-muted) !important;
}

.text-dark {
    color: var(--board-text-primary) !important;
}

.fw-medium {
    font-weight: 500 !important;
}