// 主题颜色
$primary-color: #0f95b0;
$primary-light: rgba($primary-color, 0.1);
$primary-gradient: linear-gradient(135deg, #0f95b0, #89C4C1);

// 文字颜色
$text-primary: #333333;
$text-regular: #666666;
$text-secondary: #999999;

// 背景颜色
$bg-color: #F5F6FA;
$card-bg: #FFFFFF;

// 边框颜色
$border-color: #EEEEEE;

// 功能色
$success: #67C23A;
$warning: #E6A23C;
$danger: #F56C6C;
$info: #909399;

// 圆角
$radius-sm: 4rpx;
$radius-md: 12rpx;
$radius-lg: 24rpx;
$radius-xl: 36rpx;

// 阴影
$shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
$shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
$shadow-lg: 0 8rpx 24rpx rgba(0, 0, 0, 0.12);

// 混入
@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@mixin multi-ellipsis($line: 2) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: $line;
  overflow: hidden;
}

// 价格相关混入
@mixin price-normal {
  font-size: 32rpx;
  color: $danger;
  font-weight: bold;
}

@mixin price-free {
  font-size: 32rpx;
  color: $success;
  font-weight: bold;
}

@mixin price-original {
  font-size: 24rpx;
  color: $text-secondary;
  text-decoration: line-through;
  margin-left: 10rpx;
}

// 通用样式类
.primary-btn {
  background: $primary-gradient;
  color: #fff;
  border-radius: $radius-xl;
  text-align: center;
  font-size: 30rpx;
  height: 88rpx;
  line-height: 88rpx;
  
  &:active {
    transform: scale(0.98);
  }
}

.card {
  background: #fff;
  border-radius: $radius-lg;
  padding: 30rpx;
  margin-bottom: 30rpx;
  box-shadow: $shadow-sm;
}

.tag {
  display: inline-block;
  font-size: 22rpx;
  color: $primary-color;
  background: $primary-light;
  padding: 4rpx 12rpx;
  border-radius: $radius-sm;
  margin-right: 10rpx;
}

.section-title {
  font-size: 34rpx;
  font-weight: bold;
  color: $text-primary;
  position: relative;
  padding-left: 20rpx;
  margin-bottom: 30rpx;
  
  &::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6rpx;
    height: 30rpx;
    background: $primary-color;
    border-radius: 3rpx;
  }
}

.price {
  font-size: 32rpx;
  color: $danger;
  font-weight: bold;
  
  &.free {
    color: $success;
  }
  
  &.original {
    font-size: 24rpx;
    color: $text-secondary;
    text-decoration: line-through;
    margin-left: 10rpx;
  }
}

// 隐藏滚动条
::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
  color: transparent;
}

// 禁止页面横向滚动
page {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

// 或者使用混入
@mixin hide-scrollbar {
  &::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
    color: transparent;
  }
}