.product-header{background:var(--bg);padding:8px var(--space-4);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border)}.product-header .header-top{display:flex;align-items:center;justify-content:space-between;height:44px}.product-header .back-button,.product-header .share-button{background:none;border:none;color:var(--accent);padding:8px;border-radius:var(--radius-sm);display:flex;cursor:pointer}.product-header .header-center{text-align:center;flex:1}.product-header .page-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.main-image-container{position:relative;width:100%;height:300px;overflow:hidden;background:var(--card)}.main-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--dur-med) var(--ease)}.image-indicators{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.indicator{width:8px;height:8px;border-radius:50%;background:hsla(0,0%,100%,.5);cursor:pointer;transition:all var(--dur-fast)}.indicator.active{background:#fff;transform:scale(1.2)}.thumbnail-images{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;scrollbar-width:none}.thumbnail-images::-webkit-scrollbar{display:none}.thumbnail{width:60px;height:60px;border-radius:var(--radius-sm);-o-object-fit:cover;object-fit:cover;cursor:pointer;border:2px solid transparent;flex:none;transition:all var(--dur-fast)}.thumbnail.active{border-color:var(--accent)}.product-info-section{padding:var(--space-4) var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.product-type-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-lg);font-size:12px;font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.product-type-badge.physical{background:var(--accent-soft);color:var(--accent)}.product-type-badge.digital{background:rgba(100,210,255,.16);color:var(--info)}.product-info-section .product-name{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);margin-bottom:var(--space-3);line-height:1.3}.product-info-section .product-rating{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.product-info-section .rating-stars .star{color:var(--border);font-size:16px}.product-info-section .rating-stars .star.filled{color:var(--warning)}.product-info-section .rating-text{font-size:var(--fs-sm);color:var(--text-muted)}.product-info-section .product-price{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.product-info-section .current-price{font-size:28px;font-weight:var(--fw-bold);color:var(--accent)}.product-info-section .original-price{font-size:var(--fs-lg);color:var(--text-muted);text-decoration:line-through}.product-info-section .discount-badge{position:static;background:var(--danger);color:#fff;padding:3px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:var(--fw-semibold)}.product-availability{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-sm)}.availability-status.in-stock{color:var(--accent);font-weight:var(--fw-medium)}.availability-status.out-of-stock{color:var(--danger);font-weight:var(--fw-medium)}.stock-count{color:var(--text-muted)}.product-inline-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.product-inline-actions .chip{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.bundle{gap:var(--space-2)}.bundle,.bundle__item{display:flex;align-items:center}.bundle__item{flex:1;min-width:0;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);flex-direction:column;gap:4px;color:var(--text)}.bundle__item img{width:56px;height:56px;border-radius:var(--radius-sm);-o-object-fit:cover;object-fit:cover}.bundle__name{font-size:var(--fs-xs);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bundle__plus{color:var(--text-muted);font-weight:var(--fw-bold);font-size:var(--fs-lg)}.product-content .section-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--space-4)}.product-description-section,.product-specs-section,.purchase-options-section,.related-products-section,.reviews-section{padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--border)}.option-title{font-size:var(--fs-md);font-weight:var(--fw-medium);margin-bottom:var(--space-3)}.variant-chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5)}.variant-chip{padding:10px 18px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--dur-fast)}.variant-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.quantity-input-container{gap:var(--space-3);margin-bottom:var(--space-4)}.quantity-btn-large,.quantity-input-container{display:flex;align-items:center;justify-content:center}.quantity-btn-large{width:48px;border:2px solid var(--accent);background:transparent;color:var(--accent);font-size:20px;border-radius:var(--radius-md);cursor:pointer}.quantity-btn-large,.quantity-input{height:48px;font-weight:var(--fw-semibold)}.quantity-input{width:80px;border:2px solid var(--border);border-radius:var(--radius-md);text-align:center;font-size:18px;color:var(--text);background:var(--bg);outline:none}.quantity-price-display{display:flex;justify-content:space-between;font-size:var(--fs-sm)}.quantity-price-display .unit-price{color:var(--text-muted)}.quantity-price-display .total-price{font-weight:var(--fw-semibold)}.description-content{color:var(--text-muted);line-height:1.6;font-size:var(--fs-md)}.description-content ul{margin:var(--space-3) 0 0;padding-inline-start:20px}.description-content li{margin-bottom:6px}.specs-list{display:flex;flex-direction:column;gap:var(--space-2)}.spec-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md)}.spec-label{font-weight:var(--fw-medium)}.spec-value{color:var(--text-muted);text-align:right}.reviews-section .reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.reviews-section .see-all{color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.rev-summary{display:flex;align-items:center;gap:var(--space-5);background:var(--card);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.rev-summary__num{font-size:32px;font-weight:var(--fw-bold)}.rev-summary__stars .star{color:var(--border);font-size:16px}.rev-summary__stars .star.filled{color:var(--warning)}.rev-summary__count{font-size:var(--fs-sm);color:var(--text-muted)}.related-products-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.bottom-action-bar{position:fixed;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:100%;max-width:var(--app-max-width);background:var(--bg);border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));display:flex;align-items:center;gap:var(--space-3);z-index:15}.favorite-btn{width:48px;height:48px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:all var(--dur-fast)}.favorite-btn.is-wished{color:var(--danger);border-color:var(--danger)}.cart-summary{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.cart-quantity{font-size:var(--fs-xs);color:var(--text-muted)}.add-to-cart-btn,.cart-total{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.add-to-cart-btn{flex:1.4;height:48px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--dur-fast) var(--ease)}.add-to-cart-btn:disabled{opacity:.5;pointer-events:none}@media (hover:hover) and (pointer:fine){.product-header .back-button:hover,.product-header .share-button:hover{background:var(--surface)}.variant-chip:hover{border-color:var(--accent)}.quantity-btn-large:hover{background:var(--accent);color:var(--accent-contrast)}.add-to-cart-btn:hover{filter:brightness(1.06)}.favorite-btn:hover{color:var(--danger)}}