/* Single product page. WooCommerce's own single-product templates own
   the structure (images | summary via woocommerce_show_product_images /
   woocommerce_output_product_data_tabs etc.) — this file restyles that
   real markup; no template override was needed for this page. */

.single-product .souq-shop{ padding-block:24px; }

div.product{ display:grid; gap:32px; grid-template-columns:1fr; }
@media (min-width:1024px){ div.product{ grid-template-columns:1fr 1fr; align-items:start; } }

/* Gallery */
.woocommerce-product-gallery{ position:relative; }
.woocommerce-product-gallery .flex-viewport{ border-radius:var(--souq-radius-lg); overflow:hidden; aspect-ratio:1/1; background:var(--souq-surface-secondary); }
.woocommerce-product-gallery img{ width:100%; height:100%; object-fit:cover; }
.woocommerce-product-gallery__wrapper{ margin:0; }
.flex-control-thumbs{ display:flex; gap:8px; margin-block-start:10px; list-style:none; padding:0; flex-wrap:wrap; }
.flex-control-thumbs li{ width:64px; height:64px; }
.flex-control-thumbs img{ width:100%; height:100%; object-fit:cover; border-radius:var(--souq-radius-sm); border:2px solid transparent; cursor:pointer; }
.flex-control-thumbs img.flex-active{ border-color:var(--souq-primary); }

/* Summary */
.summary.entry-summary{ display:flex; flex-direction:column; gap:12px; }
.summary.entry-summary .product_title{ font-size:24px; font-weight:900; color:var(--souq-text); margin:0; }
.summary.entry-summary .woocommerce-product-rating{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--souq-text-muted); }
.summary.entry-summary p.price{ font-size:28px; font-weight:900; color:var(--souq-primary); margin:4px 0; }
.summary.entry-summary p.price ins{ text-decoration:none; color:var(--souq-danger); }
.summary.entry-summary p.price del{ font-size:16px; font-weight:400; color:var(--souq-text-muted); margin-inline-end:8px; order:2; }
.summary.entry-summary .woocommerce-product-details__short-description{ font-size:14px; line-height:1.7; color:var(--souq-text-secondary); }
.summary.entry-summary .stock{ font-size:13px; font-weight:700; padding:4px 0; }
.summary.entry-summary .stock.in-stock{ color:var(--souq-success); }
.summary.entry-summary .stock.out-of-stock{ color:var(--souq-danger); }

/* Variations */
table.variations{ width:100%; border:0; margin-block:8px; }
table.variations td{ border:0; padding:6px 0; }
table.variations select{
	width:100%; background:var(--souq-surface); border:1px solid var(--souq-border); border-radius:var(--souq-radius-sm);
	padding:11px 14px; min-height:44px;
}
.woocommerce-variation-price .price{ font-size:20px !important; }
a.reset_variations{ font-size:12px; color:var(--souq-text-muted); }

/* Cart form / quantity / add to cart / buy now */
form.cart{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-block-start:8px; }
form.cart .quantity{ display:flex; }
form.cart .single_add_to_cart_button{ flex:1; min-width:160px; }
.souq-buy-now{ flex:1; min-width:160px; margin-block-start:0; }

/* Meta (SKU, categories, tags) kept subtle per spec section 63 */
.product_meta{ font-size:12px; color:var(--souq-text-muted); margin-block-start:12px; padding-block-start:12px; border-block-start:1px solid var(--souq-border); }
.product_meta > span{ display:block; margin-block-end:2px; }
.product_meta a{ color:var(--souq-text-secondary); }

/* Tabs */
.woocommerce-tabs ul.tabs{ display:flex; gap:4px; list-style:none; padding:0; margin:32px 0 0; border-block-end:1px solid var(--souq-border); flex-wrap:wrap; }
.woocommerce-tabs ul.tabs li{ margin:0; }
.woocommerce-tabs ul.tabs li a{ display:block; padding:12px 18px; font-size:14px; font-weight:700; color:var(--souq-text-muted); }
.woocommerce-tabs ul.tabs li.active a{ color:var(--souq-primary); border-block-end:2px solid var(--souq-primary); }
.woocommerce-tabs .panel{ padding-block:20px; }
@media (max-width:767px){
	.woocommerce-tabs ul.tabs{ flex-direction:column; border:1px solid var(--souq-border); border-radius:var(--souq-radius-md); overflow:hidden; }
	.woocommerce-tabs ul.tabs li a{ border-block-end:1px solid var(--souq-border); }
	.woocommerce-tabs ul.tabs li.active a{ background:var(--souq-primary-light); border-inline-start:3px solid var(--souq-primary); }
}

/* Reviews */
#reviews #comments ol.commentlist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
#reviews .comment-text{ background:var(--souq-surface); border:1px solid var(--souq-border); border-radius:var(--souq-radius-md); padding:14px; }
#reviews .star-rating{ margin-block-end:6px; }
#review_form #respond textarea{ width:100%; min-height:110px; }

/* Related / upsells — reuse .souq-product-grid so cards match the rest of the site */
.related.products,
.up-sells.upsells.products{ margin-block-start:40px; }
.related.products > h2,
.up-sells.upsells.products > h2{ font-size:20px; font-weight:900; margin:0 0 16px; }
.related.products ul.products,
.up-sells.upsells.products ul.products{ display:grid; gap:16px; grid-template-columns:repeat(2, 1fr); list-style:none; padding:0; margin:0; }
@media (min-width:768px){ .related.products ul.products, .up-sells.upsells.products ul.products{ grid-template-columns:repeat(4, 1fr); } }

/* Cross-sells (Cart page) */
.cross-sells{ margin-block-start:24px; }
.cross-sells ul.products{ display:grid; gap:16px; grid-template-columns:repeat(2, 1fr); list-style:none; padding:0; }
@media (min-width:768px){ .cross-sells ul.products{ grid-template-columns:repeat(3, 1fr); } }

/* Sticky mobile add-to-cart bar (Phase 3 basic version, populated by product.js).
   Architecture only — Phase 4 will swap the button for the COD quick-order CTA. */
.souq-sticky-cta{
	position:fixed; inset-inline:0; bottom:0; z-index:60; background:var(--souq-surface);
	box-shadow:0 -6px 20px rgba(16,34,29,.1); padding:10px 16px;
	display:flex; align-items:center; gap:12px;
	transform:translateY(100%); transition:transform var(--souq-motion-base);
	padding-bottom:calc(10px + env(safe-area-inset-bottom));
}
.souq-sticky-cta.is-visible{ transform:translateY(0); }
.souq-sticky-cta__price{ font-weight:900; color:var(--souq-primary); font-size:15px; white-space:nowrap; }
.souq-sticky-cta__name{ display:none; }
.souq-sticky-cta button{ flex:1; }
@media (min-width:768px){ .souq-sticky-cta{ display:none; } } /* mobile-only, per spec section 26/48 */
