/* Product loops reuse .pf-product-card / .pf-product-grid from components.css.
   This file covers the section wrapper and the single-product experience. */
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--text); font-size: 15px; line-height: 1.45; padding: 15px 15px 4px; }
.woocommerce span.onsale { background: var(--primary); border-radius: 0 0 7px 0; left: 0; line-height: 1; margin: 0; min-height: 0; min-width: 0; padding: 7px 9px; top: 0; }
.pf-featured-products { background: #fff; }

.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { width: calc(50% - 20px); }
.single-product div.product .woocommerce-product-gallery__wrapper { border-radius: var(--radius); overflow: hidden; }
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--radius); }
.single-product div.product .flex-control-thumbs { gap: 10px; margin-top: 12px; }
.single-product div.product .flex-control-thumbs li img { border: 1px solid var(--border); border-radius: 8px; opacity: 1; transition: border-color 180ms ease; }
.single-product div.product .flex-control-thumbs li img.flex-active, .single-product div.product .flex-control-thumbs li:hover img { border-color: var(--primary); }
.single-product div.product .summary .product_title { color: var(--text); font-size: clamp(28px, 3vw, 40px); line-height: 1.2; margin-bottom: 10px; }
.single-product div.product .summary .woocommerce-product-rating { align-items: center; display: flex; gap: 10px; margin-bottom: 14px; }
.single-product div.product .summary .star-rating { color: #f0a400; }
.single-product div.product .summary .woocommerce-review-link { color: var(--text-light); font-size: 13px; }
.single-product div.product p.price, .single-product div.product span.price { color: var(--primary); font-size: 23px; font-weight: 700; }
.single-product div.product p.price ins { text-decoration: none; }
.single-product div.product p.price del { color: var(--text-light); font-size: 16px; margin-right: 8px; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--text-light); line-height: 1.75; margin: 16px 0; }
.single-product div.product .stock { color: var(--text-light); font-size: 13px; font-weight: 600; }
.single-product div.product .stock.in-stock { color: #1a7d3d; }
.single-product div.product .stock.out-of-stock { color: #b3261e; }

/* Variation form (color/size swatches via native <select>, per WooCommerce core). */
.single-product table.variations { margin-bottom: 16px; width: 100%; }
.single-product table.variations td.label { font-weight: 600; padding-bottom: 8px; }
.single-product table.variations select { min-height: 46px; width: 100%; }
.single-product .woocommerce-variation-add-to-cart { align-items: center; display: flex; gap: 14px; }
.single-product .woocommerce-variation-price .price { font-size: 20px; }

.single-product .quantity .qty { border: 1px solid var(--border); border-radius: 8px; min-height: 46px; text-align: center; width: 64px; }
.single-product div.product form.cart { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; }
.single-product div.product form.cart .button { background: var(--primary); border-radius: 8px; min-height: 46px; padding: 0 28px; }
.single-product div.product form.cart .button:hover { background: var(--primary-dark); }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 22px; padding: 0; }
.single-product .woocommerce-tabs ul.tabs::before { border-color: var(--border); }
.single-product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li a { color: var(--text-light); padding: 12px 0; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--primary); }
.single-product .related.products, .single-product .upsells.products { margin-top: clamp(40px, 6vw, 64px); }
.single-product .related.products > h2, .single-product .upsells.products > h2 { color: var(--text); font-size: clamp(22px, 2.6vw, 28px); margin: 0 0 22px; }

@media (max-width: 640px) {
    .single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { float: none; width: 100%; }
}
