/**
 * Product Showcase Component Styles
 * 产品橱窗组件样式
 * 
 * @package LightingTheme
 * @since 2.4.0
 */

/* ========================================
   产品橱窗容器
   ======================================== */

.lt-product-showcase {
    width: 100%;
}

.lt-product-showcase__header {
    text-align: center;
    margin-bottom: var(--theme-spacing-2xl);
}

.lt-product-showcase__title {
    font-size: var(--theme-font-size-3xl);
    font-weight: var(--theme-font-weight-bold);
    color: var(--theme-text-primary);
    margin: 0 0 var(--theme-spacing-sm);
}

.lt-product-showcase__subtitle {
    font-size: var(--theme-font-size-lg);
    color: var(--theme-text-secondary);
    margin: 0 0 var(--theme-spacing-md);
}

.lt-product-showcase__description {
    font-size: var(--theme-font-size-md);
    color: var(--theme-text-tertiary);
    max-width: 800px;
    margin: 0 auto;
}

/* ========================================
   网格布局
   ======================================== */

.lt-product-showcase__grid {
    display: grid;
    grid-template-columns: repeat(var(--product-columns, 4), 1fr);
    gap: var(--product-gap, var(--theme-product-grid-gap));
}

/* 响应式列数 */
@media (max-width: 1024px) {
    .lt-product-showcase__grid {
        grid-template-columns: repeat(var(--product-columns-tablet, 2), 1fr);
    }
}

@media (max-width: 768px) {
    .lt-product-showcase__grid {
        grid-template-columns: repeat(var(--product-columns-mobile, 1), 1fr);
    }
}

/* ========================================
   列表布局
   ======================================== */

.lt-product-showcase__list {
    display: flex;
    flex-direction: column;
    gap: var(--product-gap, var(--theme-product-grid-gap));
}

.lt-product-showcase__list .lt-product-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.lt-product-showcase__list .lt-product-card__image-wrapper {
    flex: 0 0 300px;
    max-width: 300px;
}

.lt-product-showcase__list .lt-product-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 768px) {
    .lt-product-showcase__list .lt-product-card {
        flex-direction: column;
    }
    
    .lt-product-showcase__list .lt-product-card__image-wrapper {
        flex: none;
        max-width: 100%;
    }
}

/* ========================================
   轮播布局
   ======================================== */

.lt-product-showcase__carousel {
    position: relative;
}

.lt-product-showcase__carousel .swiper-slide {
    height: auto;
}

.lt-product-showcase__carousel .swiper-button-prev,
.lt-product-showcase__carousel .swiper-button-next {
    width: var(--theme-product-carousel-nav-size);
    height: var(--theme-product-carousel-nav-size);
    background: var(--theme-product-carousel-nav-bg);
    border-radius: 50%;
    box-shadow: var(--theme-shadow-md);
    color: var(--theme-product-carousel-nav-color);
}

.lt-product-showcase__carousel .swiper-button-prev::after,
.lt-product-showcase__carousel .swiper-button-next::after {
    font-size: 16px;
}

.lt-product-showcase__carousel .swiper-pagination-bullet {
    width: var(--theme-product-carousel-dot-size);
    height: var(--theme-product-carousel-dot-size);
    background: var(--theme-product-carousel-dot-color);
    opacity: 1;
}

.lt-product-showcase__carousel .swiper-pagination-bullet-active {
    background: var(--theme-product-carousel-dot-active);
}

/* ========================================
   产品卡片
   ======================================== */

.lt-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--card-bg, var(--theme-product-card-bg));
    border-radius: var(--card-radius, var(--theme-product-card-radius));
    overflow: hidden;
    transition: var(--theme-transition);
    width: var(--card-width, auto);
    height: var(--card-height, auto);
}

/* 卡片风格变体 */
.lt-product-card--bordered {
    border: var(--theme-product-card-border);
    box-shadow: none;
}

.lt-product-card--shadow {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.lt-product-card--minimal {
    background: transparent;
    border: none;
    box-shadow: none;
}

/* ========================================
   产品图片
   ======================================== */

.lt-product-card__image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--image-border-radius, 12px);
    margin: var(--theme-spacing-sm);
}

.lt-product-card__image {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform 0.4s ease;
    border-radius: var(--image-border-radius, 12px);
}

/* 图片悬停放大 */
.lt-product-card--hover-image-zoom:hover .lt-product-card__image {
    transform: scale(1.08);
}

/* ========================================
   产品徽章
   ======================================== */

.lt-product-card__badge {
    position: absolute;
    top: var(--theme-spacing-sm);
    left: var(--theme-spacing-sm);
    padding: var(--theme-product-badge-padding);
    background: var(--theme-product-badge-bg);
    color: var(--theme-product-badge-color);
    font-size: var(--theme-product-badge-size);
    font-weight: var(--theme-font-weight-semibold);
    border-radius: var(--theme-product-badge-radius);
    z-index: 1;
}

/* 徽章颜色变体 */
.lt-product-card__badge--sale {
    background: var(--theme-danger);
}

.lt-product-card__badge--new {
    background: var(--theme-success);
}

.lt-product-card__badge--hot {
    background: var(--theme-warning);
}

/* ========================================
   产品内容
   ======================================== */

.lt-product-card__content {
    padding: var(--card-padding, var(--theme-product-card-padding));
    flex: 1;
    display: flex;
    flex-direction: column;
}

.lt-product-card__title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 var(--theme-spacing-xs);
    line-height: 1.3;
    padding: 0 var(--theme-spacing-sm);
}

.lt-product-card__title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.2s ease;
}

.lt-product-card__title a:hover {
    color: var(--theme-gradient-primary-start, var(--theme-primary, #2563eb));
}

.lt-product-card__description {
    font-size: var(--theme-product-desc-size);
    color: var(--theme-product-desc-color);
    margin: 0 0 var(--theme-spacing-md);
    display: -webkit-box;
    -webkit-line-clamp: var(--theme-product-desc-lines);
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

/* ========================================
   产品价格
   ======================================== */

.lt-product-card__price-wrapper {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: var(--theme-spacing-md);
    padding: 0 var(--theme-spacing-sm);
}

.lt-product-card__price {
    font-size: 15px;
    font-weight: 700;
    color: #e53935;
}

.lt-product-card__original-price {
    font-size: 12px;
    color: #999;
    text-decoration: line-through;
    font-weight: 400;
}

/* ========================================
   产品按钮
   ======================================== */

.lt-product-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--theme-spacing-xs);
    padding: var(--theme-button-padding-md);
    border-radius: var(--theme-button-radius);
    font-weight: var(--theme-font-weight-medium);
    text-decoration: none;
    transition: var(--theme-transition);
    cursor: pointer;
    border: none;
    margin-top: auto;
}

/* 按钮样式变体 */
.lt-product-card__button--primary {
    background: var(--theme-primary);
    color: var(--theme-text-inverse);
}

.lt-product-card__button--primary:hover {
    background: var(--theme-primary-dark);
}

.lt-product-card__button--secondary {
    background: var(--theme-bg-secondary);
    color: var(--theme-text-primary);
}

.lt-product-card__button--secondary:hover {
    background: var(--theme-bg-tertiary);
}

.lt-product-card__button--outline {
    background: transparent;
    color: var(--theme-primary);
    border: 2px solid var(--theme-primary);
}

.lt-product-card__button--outline:hover {
    background: var(--theme-primary);
    color: var(--theme-text-inverse);
}

.lt-product-card__button--ghost {
    background: transparent;
    color: var(--theme-primary);
}

.lt-product-card__button--ghost:hover {
    background: rgba(var(--theme-primary-rgb), 0.1);
}

/* 按钮大小 */
.lt-product-card__button--sm {
    padding: var(--theme-button-padding-sm);
    font-size: var(--theme-font-size-sm);
}

.lt-product-card__button--lg {
    padding: var(--theme-button-padding-lg);
    font-size: var(--theme-font-size-lg);
}

.lt-product-card__button--full {
    width: 100%;
}

/* ========================================
   悬停效果
   ======================================== */

/* 上浮效果 */
.lt-product-card--hover-lift:hover {
    transform: var(--theme-product-card-hover-transform);
    box-shadow: var(--theme-product-card-hover-shadow);
}

/* 放大效果 */
.lt-product-card--hover-zoom:hover {
    transform: scale(var(--theme-product-card-hover-scale));
    box-shadow: var(--theme-product-card-hover-shadow);
}

/* 发光效果 */
.lt-product-card--hover-glow:hover {
    box-shadow: 0 0 30px rgba(var(--theme-gradient-primary-rgb-start, var(--theme-primary-rgb)), 0.3);
}

/* 遮罩效果 */
.lt-product-card--hover-overlay .lt-product-card__image-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
}

.lt-product-card--hover-overlay:hover .lt-product-card__image-wrapper::after {
    background: rgba(0, 0, 0, 0.3);
}

/* ========================================
   空状态
   ======================================== */

.lt-product-showcase__empty {
    text-align: center;
    padding: var(--theme-spacing-3xl);
    color: var(--theme-text-tertiary);
}

.lt-product-showcase__empty-icon {
    font-size: 48px;
    margin-bottom: var(--theme-spacing-md);
    opacity: 0.5;
}

.lt-product-showcase__empty-text {
    font-size: var(--theme-font-size-lg);
}


/* ========================================
   WooCommerce 集成样式
   ======================================== */

/* 缺货徽章 */
.lt-product-card__badge--out-of-stock {
    background: var(--theme-text-tertiary);
    right: var(--theme-spacing-sm);
    left: auto;
}

/* 产品评分 */
.lt-product-card__rating {
    display: flex;
    align-items: center;
    gap: var(--theme-spacing-xs);
    margin-bottom: var(--theme-spacing-sm);
}

.lt-product-card__stars {
    display: flex;
    gap: 2px;
}

.lt-star {
    font-size: var(--theme-font-size-sm);
    line-height: 1;
}

.lt-star--full {
    color: #fbbf24;
}

.lt-star--half {
    color: #fbbf24;
    position: relative;
}

.lt-star--half::after {
    content: '☆';
    position: absolute;
    left: 0;
    color: #d1d5db;
}

.lt-star--empty {
    color: #d1d5db;
}

.lt-product-card__rating-count {
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-tertiary);
}

/* 库存状态 */
.lt-product-card__stock-status {
    font-size: var(--theme-font-size-sm);
    margin-bottom: var(--theme-spacing-sm);
}

.lt-product-card__stock-status--in-stock {
    color: var(--theme-success);
}

.lt-product-card__stock-status--out-of-stock {
    color: var(--theme-danger);
}

/* 操作按钮区域 */
.lt-product-card__actions {
    margin-top: auto;
}

/* 加入购物车按钮 */
.lt-product-card__add-to-cart {
    position: relative;
}

.lt-product-card__add-to-cart.lt-loading {
    pointer-events: none;
    opacity: 0.7;
}

.lt-product-card__add-to-cart.lt-added {
    background: var(--theme-success);
}

.lt-product-card__add-to-cart-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* WooCommerce 价格样式覆盖 */
.lt-product-card__price-wrapper .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.lt-product-card__price-wrapper del {
    font-size: var(--theme-font-size-sm);
    color: var(--theme-product-original-price-color);
    text-decoration: line-through;
    opacity: 0.7;
}

.lt-product-card__price-wrapper ins {
    text-decoration: none;
    font-weight: var(--theme-product-price-weight);
    color: var(--theme-product-price-color);
}

/* WooCommerce 促销价格 */
.lt-product-card__price-wrapper del + ins {
    margin-left: var(--theme-spacing-sm);
}

/* 通知样式 */
.lt-notification {
    font-family: var(--theme-font-family);
    font-size: var(--theme-font-size-sm);
}

/* 加载动画 */
.lt-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: lt-spin 0.75s linear infinite;
}

@keyframes lt-spin {
    to {
        transform: rotate(360deg);
    }
}


/* ========================================
   产品橱窗卡片优化 - 覆盖样式
   ======================================== */

/* 购物车按钮 - 圆形图标设计（与分类页一致） */
.lt-product-card__button,
.lt-product-card__add-to-cart {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--theme-primary, #2563eb) !important;
    border: none !important;
    border-radius: 50% !important;
    font-size: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    opacity: 0 !important;
    transform: scale(0.8) !important;
    z-index: 5 !important;
}

.lt-product-card:hover .lt-product-card__button,
.lt-product-card:hover .lt-product-card__add-to-cart {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* 购物车图标 */
.lt-product-card__button::before,
.lt-product-card__add-to-cart::before {
    content: "🛒" !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.lt-product-card__button:hover,
.lt-product-card__add-to-cart:hover {
    background: var(--theme-gradient-primary-start, var(--theme-primary, #2563eb)) !important;
    color: #fff !important;
    transform: scale(1.1) !important;
}

/* 隐藏按钮文字，只显示图标 */
.lt-product-card__button span,
.lt-product-card__add-to-cart span {
    display: none !important;
}

/* WooCommerce 价格样式优化 */
.lt-product-card__price-wrapper del {
    font-size: 12px !important;
    color: #999 !important;
    font-weight: 400 !important;
}

.lt-product-card__price-wrapper ins {
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #e53935 !important;
}
