/* Single product (single-product.php) */

.single-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6); align-items: start; }

.single-gallery { position: relative; background: #fafafa; border: 1px solid var(--border-light); border-radius: var(--r-md); overflow: hidden; }
.single-gallery img { width: 100%; height: auto; display: block; }
.single-sale-badge { position: absolute; top: var(--sp-3); left: var(--sp-3); z-index: 2; background: var(--accent-gold); color: #fff; font-size: var(--fs-xs); font-weight: bold; padding: 4px 12px; border-radius: var(--r-pill); }

.single-product-gallery { display: flex; gap: 12px; margin: 16px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
.single-product-gallery::-webkit-scrollbar { display: none; }
.gallery-thumb { width: 80px; height: 80px; flex-shrink: 0; border: 2px solid transparent; border-radius: 8px; cursor: pointer; overflow: hidden; opacity: 0.7; transition: all 0.3s; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.gallery-thumb.active, .gallery-thumb:hover { border-color: var(--primary); opacity: 1; }

.single-summary { padding-top: var(--sp-2); }
.single-brand { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; font-weight: bold; color: var(--muted); margin-bottom: var(--sp-1); }
.single-title { font-family: var(--title); font-size: var(--fs-5xl); line-height: 1.1; color: var(--ink); margin: 0 0 var(--sp-3); }
.single-rating { display: flex; align-items: center; gap: var(--sp-1); margin-bottom: var(--sp-3); font-size: var(--fs-sm); }
.single-rating .stars { color: var(--primary); font-size: var(--fs-lg); letter-spacing: 2px; }
.single-rating .rating-count { color: var(--primary); }
.single-price { font-size: var(--fs-3xl); font-weight: bold; color: var(--primary); margin-bottom: var(--sp-4); }
.single-price del { color: var(--muted); font-size: var(--fs-xl); font-weight: normal; margin-right: var(--sp-2); }
.single-price ins { text-decoration: none; }
.single-excerpt { color: var(--ink); line-height: 1.7; margin-bottom: var(--sp-4); }
.single-excerpt p { margin: 0 0 var(--sp-2); }

.single-add { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.single-add .qty-selector { width: 130px; flex: 0 0 auto; }
.single-add-to-cart { height: 44px; padding: 0 var(--sp-5); border-radius: var(--r-pill); }
.single-add-to-cart .icon { width: 20px; height: 20px; stroke: #fff; }
.single-add-to-cart.loading { opacity: 0.7; pointer-events: none; }
.single-add .added_to_cart { display: none; }
.single-stock-out { color: var(--color-sale); font-weight: 600; margin-bottom: var(--sp-4); }

.single-meta { list-style: none; margin: 0; padding: var(--sp-4) 0 0; border-top: 1px solid var(--border-light); }
.single-meta li { font-size: var(--fs-sm); color: var(--muted); margin-bottom: var(--sp-1); }
.single-meta li span { color: var(--ink); font-weight: 600; }
.single-meta a { color: var(--primary); font-weight: 600; }

.single-description { margin-top: var(--sp-7); }
.single-description .section-title { text-align: left; }
.single-description-body { color: var(--ink); line-height: 1.8; max-width: 820px; }
.single-description-body p { margin: 0 0 var(--sp-3); }

.related-products .product-grid {
  max-width: 928px;
  margin: 0 auto;
}

/* Reviews (WooCommerce native comments, restyled to match the theme) */
.single-reviews-section { padding-top: 0; }
.woocommerce-Reviews-title { font-family: var(--title); font-size: var(--fs-4xl); color: var(--ink); margin: 0 0 var(--sp-4); }
.woocommerce-noreviews { color: var(--muted); }
.commentlist { list-style: none; margin: 0 0 var(--sp-5); padding: 0; }
.commentlist .comment_container { display: flex; gap: var(--sp-3); padding: var(--sp-4) 0; border-bottom: 1px solid var(--border-light); }
.commentlist img.avatar { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0; }
.commentlist .star-rating { margin-bottom: var(--sp-1); }
.commentlist p.meta { margin: 0 0 var(--sp-1); font-size: var(--fs-sm); color: var(--muted); }
.commentlist .woocommerce-review__author { color: var(--ink); font-weight: 700; }
.commentlist .description p { margin: 0; color: var(--ink); line-height: 1.6; }

#review_form_wrapper { max-width: 640px; }
#review_form #reply-title { font-family: var(--title); font-size: var(--fs-2xl); color: var(--ink); display: block; margin: 0 0 var(--sp-3); }
.comment-form-rating label,
.comment-form-comment label,
#review_form .comment-form-author label,
#review_form .comment-form-email label { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.comment-form-rating select,
#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea { padding: var(--sp-3); border: 1px solid #e2d8f2; border-radius: var(--r-sm); width: 100%; box-sizing: border-box; font-family: var(--body); color: var(--ink); margin-bottom: var(--sp-3); }
#review_form .form-submit input[type="submit"] { background: var(--primary); color: var(--white); padding: var(--sp-3) 32px; border: none; border-radius: var(--r-pill); font-weight: bold; cursor: pointer; }
#review_form .form-submit input[type="submit"]:hover { background: #3d1c80; }
