/* ===== 종친회 디자인 시스템: Bootswatch Lux + 어르신 친화 =====
   로드 순서: lux/bootstrap.min.css → bootstrap-icons → style.css → theme.css(마지막)
*/

:root {
    /* === Bootstrap 변수 오버라이드 === */
    --bs-primary: #0D1B2A;
    --bs-primary-rgb: 13, 27, 42;
    --bs-secondary: #1B3A5C;
    --bs-secondary-rgb: 27, 58, 92;
    --bs-warning: #C8963E;
    --bs-warning-rgb: 200, 150, 62;
    --bs-success: #2E7D32;
    --bs-success-rgb: 46, 125, 50;
    --bs-danger: #C62828;
    --bs-danger-rgb: 198, 40, 40;
    --bs-body-color: #2C2C2C;
    --bs-body-bg: #F2F2F2;
    --bs-link-color: #0D1B2A;
    --bs-border-radius: 10px;
    --bs-border-radius-sm: 6px;
    --bs-border-radius-lg: 14px;

    /* Lux는 영문 서리프 폰트 기본 → 한글 우선 강제 */
    --bs-body-font-family: -apple-system, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
    --bs-body-line-height: 1.6;

    /* 종친회 전용 토큰 (style.css 호환) */
    --navy: #0D1B2A;
    --gold: #C8963E;
    --gold-light: #D4A853;
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* ===== 한글 폰트 강제 (Lux의 Playfair/Nunito 덮어쓰기) ===== */
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.btn, .form-control, .form-select, .form-label, .badge, .navbar, .nav-link {
    font-family: var(--bs-body-font-family) !important;
}

/* ===== 사용자 화면: 어르신 친화 (최소 18px) ===== */
body:not(.is-admin) {
    font-size: 1.125rem;        /* 18px */
    line-height: 1.6;
}
body:not(.is-admin) .form-control,
body:not(.is-admin) .form-select,
body:not(.is-admin) textarea.form-control {
    font-size: 1.125rem;        /* 18px */
    padding: 14px 16px;
    min-height: 56px;
    border-width: 1.5px;
}
body:not(.is-admin) textarea.form-control { min-height: 88px; }
body:not(.is-admin) .form-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 4px;
}
body:not(.is-admin) .btn {
    font-size: 1.125rem;        /* 18px */
    padding: 12px 16px;
    min-height: 52px;
    font-weight: 600;
    letter-spacing: 0;
}
body:not(.is-admin) .btn-lg {
    font-size: 1.25rem;         /* 20px */
    padding: 14px 18px;
    min-height: 60px;
}
body:not(.is-admin) .btn-link {
    min-height: 0;
    text-decoration: none;
    font-weight: 600;
}

/* ===== 관리자 화면: 표준 16px ===== */
body.is-admin {
    font-size: 1rem;
}

/* ===== 모바일 480px 컨테이너 (사용자 화면만) ===== */
@media (min-width: 768px) {
    body:not(.is-admin) { background: #E8E8E8; }
    body:not(.is-admin) .topbar,
    body:not(.is-admin) .tabbar { max-width: 480px; left: 50%; transform: translateX(-50%); }
    body:not(.is-admin) .content { max-width: 480px; margin: 0 auto; background: var(--bs-body-bg); min-height: 100vh; }
    body:not(.is-admin) .fab { right: calc(50% - 240px + 16px); }
}

/* ===== 종친회 그라데이션 ===== */
.bg-clan-gradient {
    background: linear-gradient(135deg, var(--navy), var(--bs-secondary));
    color: #fff;
}

/* ===== 부트스트랩 .badge 종친회 톤 ===== */
.badge.bg-warning { color: #fff !important; }

/* ===== 입력 포커스 컬러 ===== */
.form-control:focus, .form-select:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 0.2rem rgba(200, 150, 62, 0.15);
}

/* ===== 버튼 기본 다듬기 ===== */
.btn-primary, .btn-warning, .btn-secondary { color: #fff; }
.btn-primary:hover, .btn-primary:focus { background: #1a2940; border-color: #1a2940; color: #fff; }
.btn-warning:hover, .btn-warning:focus { background: #B8862E; border-color: #B8862E; color: #fff; }
