.gift-card {
  position: relative;
  width: 100%;
  margin-bottom: 16px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  background: #fff;
  transition: all 0.3s ease;

  &:active {
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }

  &.disabled {
    opacity: 0.7;
  }

  // 主题色彩
  &.gift-card-gold {
    .gift-card-header {
      background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
    }
    .use-btn {
      background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
      border: none;
      color: #333;
      font-weight: 600;
    }
  }

  &.gift-card-silver {
    .gift-card-header {
      background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
    }
    .use-btn {
      background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
      border: none;
      color: #333;
    }
  }

  &.gift-card-bronze {
    .gift-card-header {
      background: linear-gradient(135deg, #cd7f32 0%, #b8722c 100%);
    }
    .use-btn {
      background: linear-gradient(135deg, #cd7f32 0%, #b8722c 100%);
      border: none;
      color: #fff;
      font-weight: 600;
    }
  }

  &.gift-card-blue {
    .gift-card-header {
      background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
    }
    .use-btn {
      background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
      border: none;
      color: #fff;
      font-weight: 600;
    }
  }

  &.gift-card-green {
    .gift-card-header {
      background: linear-gradient(135deg, #5cb85c 0%, #449d44 100%);
    }
    .use-btn {
      background: linear-gradient(135deg, #5cb85c 0%, #449d44 100%);
      border: none;
      color: #fff;
      font-weight: 600;
    }
  }

  &.gift-card-purple {
    .gift-card-header {
      background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
    }
    .use-btn {
      background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
      border: none;
      color: #fff;
      font-weight: 600;
    }
  }

  .gift-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    color: #fff;
    position: relative;

    .gift-card-logo {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .gift-card-title {
      flex: 1;
      margin-left: 12px;

      .title-text {
        display: block;
        font-weight: 600;
        line-height: 1.3;
        margin-bottom: 2px;
        // 商品名称可能较长，需要处理溢出
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 200px;
      }

      .type-text {
        display: block;
        font-size: 14px;
        opacity: 0.9;
      }
    }

    .gift-card-status {
      .nut-tag {
        background: rgba(255, 255, 255, 0.9);
        color: #333;
        border: none;
      }
    }
  }

  .gift-card-body {
    padding: 20px;

    .gift-card-content {
      display: flex;
      align-items: flex-start;
      margin-bottom: 16px;

      .gift-image-container {
        margin-right: 16px;
        flex-shrink: 0;
        position: relative;

        .gift-image {
          position: relative;

          .gift-image-single {
            width: 180px;
            height: 180px;
            border-radius: 12px;
            object-fit: cover;
            background-color: #f5f5f5;
            // 添加加载状态和错误处理
            &::before {
              content: '';
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0;
              background: #f5f5f5;
              border-radius: 12px;
              z-index: -1;
            }
          }
        }

        .gift-image-swiper {
          position: relative;
          width: 80px;
          height: 80px;
          border-radius: 12px;
          overflow: hidden;

          .swiper-container {
            width: 100%;
            height: 100%;

            .swiper-image {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }
        }

        .discount-badge {
          position: absolute;
          top: -4px;
          right: -4px;
          background: #ff4757;
          border-radius: 8px;
          padding: 2px 6px;
          z-index: 2;

          .discount-text {
            font-size: 10px;
            color: #fff;
            font-weight: 600;
          }
        }
      }

      .gift-info {
        flex: 1;

        .goods-basic-info {
          margin-bottom: 12px;

          .brand-category {
            display: flex;
            align-items: center;
            margin-bottom: 8px;

            .brand-text {
              font-weight: 600;
              color: #333;
            }

            .category-text {
              font-size: 12px;
              color: #999;
              margin-left: 4px;
            }
          }

          .price-info {
            display: flex;
            align-items: baseline;
            margin-bottom: 8px;

            .current-price {
              display: flex;
              align-items: baseline;
              margin-right: 12px;

              .price-symbol {
                font-size: 16px;
                color: #ff4757;
                font-weight: 600;
              }

              .price-amount {
                font-size: 24px;
                font-weight: bold;
                color: #ff4757;
              }
            }

            .original-price {
              font-size: 14px;
              color: #999;
              text-decoration: line-through;
            }
          }

          .rating-info {
            display: flex;
            align-items: center;

            .rating-text {
              font-size: 12px;
              color: #333;
              margin-left: 4px;
              margin-right: 8px;
            }

            .review-count {
              font-size: 12px;
              color: #999;
            }
          }
        }

        .goods-tags {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
          margin-bottom: 12px;

          .nut-tag {
            font-size: 11px;
            padding: 2px 6px;
          }
        }

        .gift-description {
          font-size: 14px;
          color: #666;
          line-height: 1.4;
          margin-bottom: 12px;
        }

        .goods-specs {
          margin-bottom: 12px;

          .spec-item {
            display: flex;
            align-items: center;
            margin-bottom: 4px;

            .spec-label {
              font-size: 12px;
              color: #999;
              min-width: 40px;
            }

            .spec-value {
              font-size: 12px;
              color: #333;

              &.in-stock {
                color: #52c41a;
              }

              &.out-stock {
                color: #ff4757;
              }
            }
          }
        }

        .promotion-info {
          background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%);
          border-radius: 8px;
          padding: 12px;
          margin-bottom: 12px;
          border-left: 3px solid #ff4757;

          .promotion-header {
            display: flex;
            align-items: center;
            margin-bottom: 6px;

            .promotion-icon {
              color: #ff4757;
              margin-right: 6px;
            }

            .promotion-title {
              font-size: 13px;
              font-weight: 600;
              color: #ff4757;
            }
          }

          .promotion-desc {
            font-size: 12px;
            color: #333;
            line-height: 1.4;
            margin-bottom: 4px;
          }

          .promotion-valid {
            font-size: 11px;
            color: #999;
          }
        }

        .gift-code {
          background: #f8f9fa;
          border-radius: 8px;
          padding: 12px;
          border: 1px dashed #ddd;

          .code-label {
            display: block;
            color: #999;
            margin-bottom: 4px;
          }

          .code-value {
            font-weight: 600;
            color: #333;
            font-family: 'Courier New', monospace;
            letter-spacing: 1px;
          }
        }
      }
    }

    .goods-instructions {
      margin-bottom: 16px;

      .instruction-section {
        margin-bottom: 12px;

        &:last-child {
          margin-bottom: 0;
        }

        .section-header {
          display: flex;
          align-items: center;
          margin-bottom: 8px;

          .section-icon {
            color: #4a90e2;
            margin-right: 6px;

            &.warning {
              color: #ff9500;
            }
          }

          .section-title {
            font-size: 13px;
            font-weight: 600;
            color: #333;
          }
        }

        .instruction-list {
          .instruction-item {
            display: block;
            font-size: 12px;
            color: #666;
            line-height: 1.5;
            margin-bottom: 4px;
            padding-left: 8px;

            &.notice {
              color: #ff9500;
            }

            &:last-child {
              margin-bottom: 0;
            }
          }
        }

        .store-list {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;

          .store-tag {
            font-size: 11px;
            padding: 2px 6px;
          }
        }
      }
    }

    .gift-time-info {
      .time-item {
        display: flex;
        align-items: center;
        margin-bottom: 6px;

        .time-text {
          color: #666;
          margin-left: 6px;
        }

        &:last-child {
          margin-bottom: 0;
        }
      }
    }
  }

  .gift-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 20px;

    .footer-info {
      .contact-info {
        display: flex;
        align-items: center;

        .contact-text {
          font-size: 12px;
          color: #999;
          margin-left: 4px;
        }
      }
    }

    .footer-actions {
      display: flex;
      gap: 8px;

      .use-btn {
        min-width: 80px;
        font-weight: 600;
        transition: all 0.2s ease;

        &:active {
          transform: scale(0.95);
        }
      }
    }
  }

  .gift-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;

    .overlay-badge {
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      padding: 8px 16px;
      border-radius: 20px;
      font-weight: 600;
    }
  }
}

// 礼品卡基础样式
.gift-card {
  opacity: 1;
  transform: translateY(0);
}

// 使用按钮效果
.use-btn {
  transition: all 0.3s ease;
}

// 响应式设计
@media (max-width: 768px) {
  .gift-card {
    .gift-card-body {
      padding: 16px;

      .gift-card-content {
        .gift-image-container {
          margin-right: 12px;

          .gift-image .gift-image-single,
          .gift-image-swiper {
            width: 70px;
            height: 70px;
          }
        }

        .gift-info {
          .goods-basic-info {
            .price-info {
              .current-price {
                .price-amount {
                  font-size: 20px;
                }
              }
            }
          }

          .goods-tags {
            gap: 4px;
          }

          .promotion-info {
            padding: 10px;
          }
        }
      }

      .goods-instructions {
        .instruction-section {
          .instruction-list {
            .instruction-item {
              font-size: 11px;
            }
          }
        }
      }
    }

    .gift-card-footer {
      padding: 0 16px 16px;

      .footer-actions {
        gap: 6px;
      }
    }
  }
}

// 小屏幕优化
@media (max-width: 480px) {
  .gift-card {
    .gift-card-content {
      flex-direction: column;

      .gift-image-container {
        margin-right: 0;
        margin-bottom: 12px;
        align-self: center;
      }
    }

    .goods-instructions {
      .instruction-section {
        .store-list {
          .store-tag {
            font-size: 10px;
          }
        }
      }
    }
  }
}
