/* 自定义字体和颜色定义 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@300;400;700&family=Playfair+Display:wght@400;700&display=swap');

:root {
  /* 主色调 */
  --oatmeal: #f5f5f0;
  --ivory: #fffff0;
  --light-gray: #e8e8e8;
  
  /* 辅助色 */
  --clay-pink: #d8a48f;
  --sage-green: #87a087;
  --deep-blue: #2c3e50;
  
  /* 文字色 */
  --dark-gray: #333333;
  --light-gray-text: #666666;
}

/* 全局样式 */
* {
  transition: all 0.3s ease;
}

/* 字体族 */
.font-serif {
  font-family: 'Noto Serif SC', 'Playfair Display', serif;
}

/* 颜色类 */
.bg-oatmeal {
  background-color: var(--oatmeal);
}

.bg-ivory {
  background-color: var(--ivory);
}

.bg-light-gray {
  background-color: var(--light-gray);
}

.bg-clay-pink {
  background-color: var(--clay-pink);
}

.bg-sage-green {
  background-color: var(--sage-green);
}

.bg-deep-blue {
  background-color: var(--deep-blue);
}

.text-dark-gray {
  color: var(--dark-gray);
}

.text-light-gray {
  color: var(--light-gray-text);
}

.text-clay-pink {
  color: var(--clay-pink);
}

.text-sage-green {
  color: var(--sage-green);
}

.text-deep-blue {
  color: var(--deep-blue);
}

/* 悬停效果 */
.hover\:text-clay-pink:hover {
  color: var(--clay-pink);
}

.hover\:text-sage-green:hover {
  color: var(--sage-green);
}

.hover\:text-deep-blue:hover {
  color: var(--deep-blue);
}

/* 动画效果 */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fadeIn {
  animation: fadeIn 1s ease-in;
}

.animate-slideInUp {
  animation: slideInUp 0.8s ease-out;
}

/* 图片悬停效果 */
.image-hover {
  transition: transform 0.3s ease;
}

.image-hover:hover {
  transform: scale(1.05);
}

/* 视差滚动效果 */
.parallax {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* 页面切换动画 */
.page-transition {
  animation: fadeIn 0.6s ease-in-out;
}

/* 文字排版 */
.leading-relaxed {
  line-height: 1.6;
}

/* 响应式文字大小 */
.text-responsive {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
}

/* 卡片悬停效果 */
.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* 按钮样式 */
.btn-elegant {
  background-color: var(--clay-pink);
  color: var(--ivory);
  padding: 12px 24px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.btn-elegant:hover {
  background-color: #c69582;
}

/* 导航栏固定 */
.nav-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  backdrop-filter: blur(10px);
}

/* 滚动条美化 */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--light-gray);
}

::-webkit-scrollbar-thumb {
  background: var(--clay-pink);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #c69582;
}