/* style.css */

/* 구글 폰트: Noto Sans KR (토스 디자인에서 주로 사용되는 계열) */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

:root {
    /* 토스 다크모드와 유사한 컬러 팔레트 */
    --toss-black: #1A1A1A; /* 거의 검정에 가까운 다크 배경 */
    --toss-dark-gray: #2D2D2D; /* 카드, 모달 등 서브 배경 */
    --toss-light-gray: #4A4A4A; /* 구분선, 테두리 */
    --toss-text-primary: #FFFFFF; /* 기본 텍스트 */
    --toss-text-secondary: #AAAAAA; /* 보조 텍스트, Placeholder */
    --toss-accent-blue: #3E8EFF; /* 토스 시그니처 블루, 버튼 등 */
    --toss-accent-blue-hover: #0066FF; /* 토스 시그니처 블루 호버 */
    --toss-red: #FF5252; /* 에러 메시지 */
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: var(--toss-black);
    color: var(--toss-text-primary);
    line-height: 1.6;
    padding-top: 56px; /* 고정 내비게이션 바 높이 */
}

/* 부트스트랩 다크 모드 기본 스타일 적용 */
[data-bs-theme="dark"] {
    --bs-body-color: var(--toss-text-primary);
    --bs-body-bg: var(--toss-black);
    --bs-border-color: var(--toss-light-gray); /* 테두리 색상 */
}

/* 내비게이션 바 커스터마이징 */
.navbar {
    background-color: var(--toss-dark-gray) !important;
    border-bottom: 1px solid var(--toss-light-gray);
}

.navbar-brand, .nav-link {
    color: var(--toss-text-primary) !important;
    font-weight: 500;
}

.nav-link:hover {
    color: var(--toss-accent-blue) !important;
}

/* 버튼 스타일 */
.btn-primary {
    background-color: var(--toss-accent-blue);
    border-color: var(--toss-accent-blue);
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 8px; /* 부드러운 모서리 */
    transition: all 0.2s ease-in-out;
}

.btn-primary:hover {
    background-color: var(--toss-accent-blue-hover);
    border-color: var(--toss-accent-blue-hover);
    transform: translateY(-2px); /* 약간의 호버 효과 */
}

.btn-outline-primary {
    color: var(--toss-accent-blue);
    border-color: var(--toss-accent-blue);
    background-color: transparent;
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.2s ease-in-out;
}

.btn-outline-primary:hover {
    background-color: var(--toss-accent-blue);
    color: var(--toss-text-primary);
    border-color: var(--toss-accent-blue);
    transform: translateY(-2px);
}

/* 카드 스타일 */
.card {
    background-color: var(--toss-dark-gray);
    border: 1px solid var(--toss-light-gray);
    border-radius: 12px; /* 좀 더 둥근 모서리 */
    box-shadow: none; /* 그림자 제거로 깔끔함 강조 */
}

/* 폼 컨트롤 (입력 필드) */
.form-control {
    background-color: var(--toss-dark-gray);
    border: 1px solid var(--toss-light-gray);
    color: var(--toss-text-primary);
    border-radius: 8px;
    padding: 10px 15px;
    transition: all 0.2s ease-in-out;
}

.form-control::placeholder { /* 플레이스홀더 색상 */
    color: var(--toss-text-secondary);
    opacity: 1; /* 파이어폭스에서도 동일하게 적용 */
}

.form-control:focus {
    background-color: var(--toss-dark-gray);
    color: var(--toss-text-primary);
    border-color: var(--toss-accent-blue); /* 포커스 시 토스 블루 */
    box-shadow: 0 0 0 0.25rem rgba(62, 142, 255, 0.25); /* 은은한 블루 샤인 */
}

/* 폼 라벨 */
.form-label {
    color: var(--toss-text-primary);
    font-weight: 500;
}

/* 링크 색상 */
a {
    color: var(--toss-accent-blue);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: var(--toss-accent-blue-hover);
    text-decoration: underline;
}

/* 푸터 */
footer {
    background-color: var(--toss-dark-gray);
    border-top: 1px solid var(--toss-light-gray);
    color: var(--toss-text-secondary);
}

/* 여백 관련 유틸리티 */
.py-6 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.my-6 { margin-top: 4rem !important; margin-bottom: 4rem !important; }