/**
 * Components
 * 通用组件样式
 */

/* Buttons - 已在 hero.css 定义基础样式，这里补充其他变体 */
.btn--secondary {
  background-color: var(--color-secondary);
  color: var(--color-white);
}

.btn--secondary:hover {
  background-color: var(--color-primary);
  transform: translateY(-2px);
}

.btn--small {
  padding: 10px 20px;
  font-size: 14px;
}

.btn--large {
  padding: 18px 40px;
  font-size: 18px;
}

/* Section Title */
.section-title {
  font-size: var(--fs-h2);
  color: var(--color-primary);
  text-align: center;
  margin-bottom: 16px;
}

.section-subtitle {
  font-size: var(--fs-body);
  color: var(--color-text);
  text-align: center;
  margin-bottom: 48px;
}

/* Cards */
.card {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 24px;
  transition: var(--transition-normal);
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

/* Icons */
.icon {
  width: 24px;
  height: 24px;
  display: inline-block;
}

.icon--small {
  width: 16px;
  height: 16px;
}

.icon--large {
  width: 48px;
  height: 48px;
}

/* Divider */
.divider {
  width: 60px;
  height: 3px;
  background-color: var(--color-secondary);
  margin: 16px auto;
}

/* 3D Tilt Card Effect */
.tilt-card {
  transform-style: preserve-3d;
  will-change: transform;
}

.tilt-card-wrapper {
  perspective: 1000px;
}

/* Screen Reader Only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
