/* 사용자 정의 테마 - 기본 Bootstrap 스타일 오버라이드 */

/* 사용자 정의 색상 변수 */
:root {
  --primary-color: #00bcd4; /* 새로운 주 색상 */
  --secondary-color: #6c757d; /* 보조 색상 */
  --success-color: #28a745; /* 성공 색상 */
  --info-color: #17a2b8; /* 정보 색상 */
  --warning-color: #ffc107; /* 경고 색상 */
  --danger-color: #dc3545; /* 위험 색상 */
  --light-color: #f8f9fa; /* 밝은 색상 */
  --dark-color: #343a40; /* 어두운 색상 */
  --body-bg: #f5f7fa; /* 본문 배경색 */
  --card-bg: #ffffff; /* 카드 배경색 */
  --border-radius: 12px; /* 경계 반경 */
}

/* 기본 배경 및 텍스트 스타일 */
body {
  background-color: var(--body-bg);
  font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* 네비게이션 바 스타일 */
.navbar-dark.bg-dark {
  background: linear-gradient(135deg, #00bcd4, #1fc7dd) !important;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.navbar-brand {
  font-weight: 700;
  font-size: 1.3rem;
}

/* 버튼 스타일 */
.btn-primary {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  border-radius: 8px;
  font-weight: 500;
  box-shadow: 0 2px 5px rgba(74, 107, 255, 0.2);
}

.btn-primary:hover, .btn-primary:focus {
  background-color: #2196f3;
  border-color: #2196f3;
  box-shadow: 0 4px 10px rgba(74, 107, 255, 0.3);
}

.btn-outline-primary {
  color: var(--primary-color);
  border-color: var(--primary-color);
  border-radius: 8px;
}

.btn-outline-primary:hover, .btn-outline-primary:focus {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

/* 카드 스타일 */
.card {
  border: none;
  border-radius: var(--border-radius);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s, box-shadow 0.2s;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.card-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  font-weight: 600;
}

.card-header.bg-primary {
  background: linear-gradient(135deg, #00bcd4, #00bcd4) !important;
  color: white;
  border-radius: 12px 12px 0 0 !important;
}

.card-header.bg-info {
  background: linear-gradient(135deg, #17a2b8, #138496) !important;
  color: white;
  border-radius: 12px 12px 0 0 !important;
}

/* 폼 요소 스타일 */
.form-control {
  border-radius: 8px;
  border: 1px solid #e1e5eb;
  padding: 10px 15px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 0.2rem rgba(74, 107, 255, 0.15);
}

/* 배지 스타일 */
.badge {
  font-weight: 500;
  padding: 0.4em 0.8em;
  border-radius: 6px;
}

.badge.bg-primary {
  background-color: var(--primary-color) !important;
}

.badge.bg-info {
  background-color: var(--info-color) !important;
}

.badge.bg-success {
  background-color: var(--success-color) !important;
}

/* 드롭다운 스타일 */
.dropdown-menu {
  border: none;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 0;
}

.dropdown-item {
  padding: 0.5rem 1.5rem;
}

.dropdown-item:hover, .dropdown-item:focus {
  background-color: rgba(74, 107, 255, 0.05);
}

/* 리스트 그룹 스타일 */
.list-group {
  border-radius: 12px;
  overflow: hidden;
}

.list-group-item {
  border-left: none;
  border-right: none;
  padding: 12px 16px;
}

.list-group-item:first-child {
  border-top: none;
}

.list-group-item:last-child {
  border-bottom: none;
}

/* 알림 스타일 */
.alert {
  border-radius: 12px;
  border: none;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

/* 푸터 스타일 */
.container-fluid.mt-5.py-4.bg-light {
  background: linear-gradient(to bottom, #f8f9fa, #f1f3f5) !important;
}

/* 전체 사이트 링크 스타일 */
a {
  color: var(--primary-color);
  text-decoration: none;
}

a:hover {
  color: #3a5bff;
  text-decoration: none;
}

/* 이미지 스타일 */
.card-img-top {
  object-fit: cover;
}

/* 로케이션 카드 부분 스타일 */
.row-cols-1.row-cols-md-2.g-4 .card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.row-cols-1.row-cols-md-2.g-4 .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

/* 특별 애니메이션 효과 */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.row > .col {
  animation: fadeIn 0.5s ease-out forwards;
}

/* 프로필 페이지 특별 스타일 */
.rounded-circle.img-fluid {
  border: 3px solid white;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* 로그인/회원가입 페이지 특별 스타일 */
.card-header h2 {
  font-weight: 700;
  color: #343a40;
}

.btn-warning {
  background-color: #FEE500;
  border-color: #FEE500;
  color: #000;
}

.btn-warning:hover {
  background-color: #FDC02F;
  border-color: #FDC02F;
  color: #000;
}