/* ==========================================================
   Green Jofiyat — Single Product
   ========================================================== */

.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-3xl); padding-block: var(--space-xl); }
.single-product .woocommerce-product-gallery { position: sticky; top: calc(var(--header-height) + 16px); }
.single-product .woocommerce-product-gallery__image img { border-radius: var(--radius-lg); }
.single-product .flex-control-thumbs { display: flex; gap: 8px; margin-top: 10px; padding: 0; }
.single-product .flex-control-thumbs li { width: 72px !important; }
.single-product .flex-control-thumbs img { border-radius: var(--radius-md); cursor: pointer; opacity: .65; transition: opacity var(--transition-fast); }
.single-product .flex-control-thumbs img:hover, .single-product .flex-control-thumbs .flex-active { opacity: 1; }

.single-product .product_title { font-size: var(--text-4xl); margin-bottom: var(--space-sm); }
.single-product .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: var(--space-md); }
.single-product p.price, .single-product span.price { font-size: var(--text-3xl); font-weight: 800; color: var(--gj-primary-dark); }
.single-product p.price del { color: var(--gj-text-muted); font-size: var(--text-xl); font-weight: 500; }
.single-product .woocommerce-product-details__short-description { color: var(--gj-text-secondary); margin: var(--space-md) 0; }

/* Quantity + add to cart */
.single-product form.cart { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin: var(--space-lg) 0; }
.single-product .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--gj-border); border-radius: var(--radius-pill); overflow: hidden; }
.single-product .quantity input.qty { width: 56px; text-align: center; border: none; background: transparent; padding: 0.7rem 0; }
.single-product form.cart .single_add_to_cart_button {
    background: var(--gradient-primary); color: #fff; padding: 0.9rem 2.4rem;
    border-radius: var(--radius-pill); font-weight: 700; font-size: var(--text-lg);
    transition: var(--transition-base); border: none;
}
.single-product form.cart .single_add_to_cart_button::before {
    font-family: "bootstrap-icons"; content: "\f179"; margin-inline-end: .5rem; font-weight: normal; vertical-align: -2px;
}
.single-product form.cart .single_add_to_cart_button:hover { box-shadow: 0 10px 24px rgba(46,125,79,0.32); transform: translateY(-2px); color: #fff; }
.single-product form.cart .single_add_to_cart_button:active { transform: translateY(0) scale(.99); }
/* Quantity stepper */
.single-product .quantity input.qty:focus { outline: none; }

/* Trust + vendor */
.gj-single__trust { margin: var(--space-lg) 0; padding: var(--space-md) 0; border-block: 1px solid var(--gj-border); flex-direction: column; gap: var(--space-sm); }
.gj-single__vendor {
    display: inline-flex; align-items: center; gap: 8px; margin-top: var(--space-md);
    padding: 0.7rem 1.1rem; border-radius: var(--radius-md); background: var(--gj-bg-alt); color: var(--gj-olive-dark); font-size: var(--text-sm);
}
.gj-single__vendor:hover { background: var(--gj-sand); color: var(--gj-primary); }

/* Tabs */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: var(--space-2xl); }
.woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 2px solid var(--gj-border); padding: 0; margin-bottom: var(--space-lg); }
.woocommerce-tabs ul.tabs li { list-style: none; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 0.8rem 1.4rem; font-weight: 600; color: var(--gj-text-muted); border-bottom: 2px solid transparent; margin-bottom: -2px; }
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: var(--gj-primary); border-bottom-color: var(--gj-primary); }
.gj-tab-content { line-height: 1.9; }

/* Related / upsells */
.related.products, .upsells.products { grid-column: 1 / -1; margin-top: var(--space-3xl); }
.related.products > h2, .upsells.products > h2 { font-size: var(--text-3xl); margin-bottom: var(--space-lg); text-align: center; }

@media (max-width: 900px) {
    .single-product div.product { grid-template-columns: 1fr; gap: var(--space-xl); }
    .single-product .woocommerce-product-gallery { position: static; }
}
