/*
 * Shredder2u — Single Product Page Styles (Consolidated)
 * File: shr-product-page.css
 * Loaded only on single product pages — conditional enqueue in functions.php
 *
 * Colors: red #e63946, navy #111d2e, text #374151/#6b7280,
 *         muted #9ca3af, border #e8edf2/#f0f2f5, bg #f8fafc,
 *         quote-blue #0066b4
 */

/* =============================================================
   1. SUMMARY — Flex column layout & element ordering
   ============================================================= */

.single-product div.product .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
}

.single-product div.product .summary { padding-left: 24px; }

/* Element order within summary */
.single-product .summary .product_title { order: 1 !important; }
.single-product .summary p.price,
.single-product .summary span.price { order: 2 !important; }
.single-product .summary .onsale { order: 2 !important; }
.single-product .summary .stock,
.single-product .summary .woocommerce-product-details__short-description { order: 3 !important; }
.single-product .summary form.cart { order: 4 !important; }
.single-product .summary .yith-ywraq-add-to-quote,
.single-product .summary div.yith-ywraq-add-to-quote { order: 5 !important; }
.single-product .summary .clear { order: 6 !important; }
.single-product .summary .product_meta { order: 7 !important; }
.single-product .summary .pwb-single-product-brands,
.single-product .summary .pwb-clearfix { order: 8 !important; }
.single-product .summary .edit-link { order: 9 !important; }
.single-product .summary .storefront-product-sharing { order: 10 !important; }

/* =============================================================
   2. PRICE & ADD TO CART BUTTON
   ============================================================= */

.single-product div.product p.price,
.single-product div.product span.price {
    color: #e63946 !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
}

.single-product div.product p.price del {
    color: #9ca3af !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
}

.single-product div.product .single_add_to_cart_button {
    background: #e63946 !important;
    color: #fff !important;
    border-color: #e63946 !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: 14px 28px !important;
    transition: background 0.2s !important;
}

.single-product div.product .single_add_to_cart_button:hover {
    background: #c1121f !important;
    border-color: #c1121f !important;
}

/* =============================================================
   3. REQUEST A QUOTE (YITH) — flush left, blue CTA
   ============================================================= */

.single-product div.yith-ywraq-add-to-quote {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: none !important;
}

.single-product div.yith-ywraq-add-to-quote a,
.single-product div.yith-ywraq-add-to-quote a.button,
.single-product a.add-request-quote-button,
.single-product a.add-request-quote-button.button {
    background: #0066b4 !important;
    color: #fff !important;
    border: none !important;
    padding: 9px 20px !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    border-radius: 5px !important;
    display: inline-block !important;
    text-decoration: none !important;
    cursor: pointer !important;
    float: none !important;
    margin: 0 !important;
    width: auto !important;
    position: static !important;
    transform: none !important;
}

.single-product div.yith-ywraq-add-to-quote a.button:hover,
.single-product a.add-request-quote-button.button:hover {
    background: #004f8a !important;
}

/* =============================================================
   4. PRODUCT META — SKU, category, tags, brand
   ============================================================= */

.single-product .summary .product_meta {
    font-size: 0.85rem !important;
    color: #6b7280 !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #e8edf2 !important;
}

/* Category & tag links — dark navy */
.single-product .product_meta .posted_in a,
.single-product .product_meta .tagged_as a,
.single-product .product_meta a[href*="product-category"],
.single-product .product_meta a[href*="product-tag"] {
    color: #111d2e !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.single-product .product_meta .posted_in a:hover,
.single-product .product_meta .tagged_as a:hover,
.single-product .product_meta a[href*="product-category"]:hover,
.single-product .product_meta a[href*="product-tag"]:hover {
    color: #e63946 !important;
    text-decoration: underline !important;
}

/* Brand link — red accent */
.single-product .product_meta .pwb-single-product-brands a,
.single-product .product_meta .pwb-clearfix a {
    color: #e63946 !important;
    font-weight: 600 !important;
}

.single-product .product_meta .pwb-single-product-brands a:hover,
.single-product .product_meta .pwb-clearfix a:hover {
    color: #c1121f !important;
}

/* =============================================================
   5. TABS — Scrollable row, grey inactive / white active
   ============================================================= */

.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    background: transparent !important;
    border-bottom: 2px solid #e8edf2 !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 4px !important;
    align-items: flex-end !important;
}

.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Each tab — grey background (inactive) */
.single-product .woocommerce-tabs ul.tabs li {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    float: none !important;
    display: block !important;
    background: #f0f2f5 !important;
    border: 1px solid #e8edf2 !important;
    border-bottom: none !important;
    border-radius: 6px 6px 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    bottom: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    padding: 10px 18px !important;
    display: block !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
}

/* Active tab — white bg, overlaps bottom border */
.single-product .woocommerce-tabs ul.tabs li.active {
    background: #fff !important;
    border-color: #e8edf2 !important;
    border-bottom: 2px solid #fff !important;
    position: relative !important;
    bottom: -2px !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #e63946 !important;
    font-weight: 700 !important;
}

.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: #e63946 !important;
    background: transparent !important;
}

/* Tab panel — bordered card */
.single-product .woocommerce-tabs .panel {
    background: #fff !important;
    border: 1px solid #e8edf2 !important;
    border-top: none !important;
    padding: 24px !important;
    border-radius: 0 0 6px 6px !important;
    margin: 0 !important;
}

/* Additional info table */
.single-product .woocommerce-product-attributes th {
    background: #f8fafc !important;
    color: #374151 !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    width: 36% !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #f0f2f5 !important;
}

.single-product .woocommerce-product-attributes td {
    font-size: 0.88rem !important;
    color: #4b5563 !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #f0f2f5 !important;
}

.single-product .woocommerce-product-attributes tr:last-child th,
.single-product .woocommerce-product-attributes tr:last-child td {
    border-bottom: none !important;
}

/* =============================================================
   6. BUNDLE ITEMS — Horizontal card layout
   Uses exact class names from WC Product Bundles DevTools.
   CAUTION: Do not modify without checking live page first!
   ============================================================= */

/* --- 6a. Legacy selectors (wc-bundle-data / bundled_items) --- */

/* Outer bundle data wrapper — horizontal flex row */
.single-product form.cart .wc-bundle-data,
.single-product .wc-bundle-data {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
    overflow-x: auto !important;
}

/* Dissolve the ul so li items join the flex row */
.single-product form.cart .bundled_items,
.single-product .bundled_items {
    display: contents !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Each bundle item li — compact pill card */
.single-product .bundled_items li.bundled_item,
.single-product .bundled_items .bundled_item_cart_details {
    flex: 1 1 0 !important;
    min-width: 140px !important;
    max-width: 220px !important;
    background: #f8fafc !important;
    border: 1px solid #e8edf2 !important;
    border-top: 3px solid #e63946 !important;
    border-radius: 8px !important;
    padding: 10px 10px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Bundle thumbnail — tiny square */
.single-product .bundled_items li.bundled_item img,
.single-product .bundled_items .bundled_item_cart_details img,
.single-product .bundled_item_cart_details>a>img,
.single-product .bundled_item_cart_details>img {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    object-fit: contain !important;
    border-radius: 4px !important;
    border: 1px solid #e8edf2 !important;
    background: #fff !important;
    margin: 0 0 4px !important;
    display: block !important;
    flex-shrink: 0 !important;
}

/* Hide large thumbnail wrapper */
.single-product .bundled_item_cart_details .woocommerce-product-gallery,
.single-product .bundled_item_cart_details .wc-bundle-product-thumbnail {
    display: none !important;
}

/* Bundle title */
.single-product .bundled_items li.bundled_item h4,
.single-product .bundled_items li.bundled_item h3,
.single-product .bundled_item_cart_details h4,
.single-product .bundled_item_cart_details h3 {
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    color: #111d2e !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Bundle description */
.single-product .bundled_items li.bundled_item p,
.single-product .bundled_item_cart_details p {
    font-size: 0.7rem !important;
    color: #6b7280 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Price row */
.single-product .bundled_item_cart_details .wc-bundle-product-price,
.single-product .bundled_item_cart_details .bundled_item_price_wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    font-size: 0.72rem !important;
}

.single-product .bundled_item_cart_details .price,
.single-product .bundled_items li.bundled_item .price {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #e63946 !important;
    margin: 0 !important;
    display: inline !important;
}

.single-product .bundled_item_cart_details .price del {
    color: #9ca3af !important;
    font-size: 0.68rem !important;
}

/* Quantity input */
.single-product .bundled_item_cart_details .quantity input.qty {
    width: 40px !important;
    height: 26px !important;
    padding: 0 4px !important;
    font-size: 0.78rem !important;
    border: 1px solid #e8edf2 !important;
    border-radius: 4px !important;
    text-align: center !important;
}

/* Checkbox */
.single-product .bundled_item_cart_details .bundled_item_optional_checkbox {
    margin: 0 3px 0 0 !important;
}

/* Insufficient stock message */
.single-product .bundled_item_cart_details .bundled_item_stock {
    font-size: 0.68rem !important;
    color: #e63946 !important;
    margin: 0 !important;
}

/* --- 6b. Modern selectors (bundled_product_summary) --- */

/* Form — horizontal flex row */
.single-product form.cart.bundle_form {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: flex-start !important;
}

/* Each bundle card */
.single-product .bundled_product.bundled_product_summary {
    flex: 1 1 160px !important;
    max-width: 200px !important;
    background: #f8fafc !important;
    border: 1px solid #e8edf2 !important;
    border-top: 3px solid #e63946 !important;
    border-radius: 8px !important;
    padding: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    order: 1 !important;
}

/* Direct children bundle items (alternate markup) */
.single-product form.cart.bundle_form>[class*="bundled_item_"] {
    flex: 1 1 160px !important;
    max-width: 200px !important;
    order: 1 !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Bundle card image — tiny thumbnail */
.single-product .bundled_product.bundled_product_summary .bundled_product_images.images {
    width: 52px !important;
    height: 52px !important;
    float: none !important;
    margin: 0 0 6px !important;
    flex-shrink: 0 !important;
}

.single-product .bundled_product.bundled_product_summary .bundled_product_images.images img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    object-fit: contain !important;
    border-radius: 4px !important;
    border: 1px solid #e8edf2 !important;
    background: #fff !important;
    display: block !important;
}

/* Disable gallery zoom/lightbox inside bundle */
.single-product .bundled_product_images .woocommerce-product-gallery__trigger,
.single-product .bundled_product_images figure a {
    pointer-events: none !important;
}

/* Details block */
.single-product .bundled_product.bundled_product_summary .details {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Bundle title — small grey */
.single-product .bundled_product.bundled_product_summary h4.bundled_product_title {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    color: #9ca3af !important;
    margin: 0 0 2px !important;
    line-height: 1.2 !important;
}

/* Bundle description */
.single-product .bundled_product.bundled_product_summary .bundled_product_excerpt {
    font-size: 0.72rem !important;
    color: #6b7280 !important;
    line-height: 1.4 !important;
    margin: 0 0 4px !important;
}

.single-product .bundled_product.bundled_product_summary .bundled_product_excerpt p {
    font-size: 0.72rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
}

/* Optional checkbox label */
.single-product .bundled_product.bundled_product_summary .bundled_product_optional_checkbox {
    font-size: 0.72rem !important;
    color: #374151 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 2px 0 !important;
    flex-wrap: wrap !important;
}

/* Bundle price */
.single-product .bundled_product.bundled_product_summary .price {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #e63946 !important;
    display: block !important;
    margin: 0 !important;
}

.single-product .bundled_product.bundled_product_summary .price del {
    font-size: 0.68rem !important;
    color: #9ca3af !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

/* Quantity */
.single-product .bundled_product.bundled_product_summary .bundled_item_wrap div.quantity {
    margin: 4px 0 0 !important;
}

.single-product .bundled_product.bundled_product_summary .bundled_item_wrap input.qty {
    width: 42px !important;
    height: 26px !important;
    padding: 0 4px !important;
    font-size: 0.78rem !important;
    border: 1px solid #e8edf2 !important;
    border-radius: 4px !important;
    text-align: center !important;
}

/* Stock notice */
.single-product .bundled_product.bundled_product_summary .bundled_product_stock {
    font-size: 0.68rem !important;
    margin: 2px 0 0 !important;
}

/* --- 6c. Bundle data / button wrapper — full row below cards --- */

.single-product form.cart.bundle_form>div.cart.bundle_data,
.single-product form.cart.bundle_form>[class*="bundle_data"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid #f0f2f5 !important;
}

.single-product form.cart.bundle_form>div.cart.bundle_data div.quantity,
.single-product form.cart.bundle_form>[class*="bundle_data"] div.quantity {
    margin: 0 !important;
    float: none !important;
}

.single-product form.cart.bundle_form>div.cart.bundle_data input.qty {
    width: 56px !important;
    height: 42px !important;
}

.single-product form.cart.bundle_form>div.cart.bundle_data button.single_add_to_cart_button,
.single-product form.cart.bundle_form>[class*="bundle_data"] button[type="submit"] {
    flex: 0 0 auto !important;
    margin: 0 !important;
    float: none !important;
}

/* Alternate wrappers for qty + button */
.single-product form.cart.bundle_form .wc-bundle-quantity,
.single-product form.cart.bundle_form .bundle_button_wrap,
.single-product form.cart.bundle_form .woocommerce-bundles-add-to-cart-button {
    order: 2 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid #f0f2f5 !important;
    flex-wrap: nowrap !important;
}

/* Bundle section heading */
.single-product .bundle_form_section_title,
.single-product .wc-bundle-heading,
.single-product .wc-bundle-container .wc-bundle-style {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #9ca3af !important;
    margin: 0 0 8px !important;
}

/* =============================================================
   7. SOCIAL SHARING — Single-row buttons
   ============================================================= */

.single-product .storefront-product-sharing {
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid #f0f2f5 !important;
    overflow: hidden !important;
}

.single-product .storefront-product-sharing span {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.single-product .storefront-product-sharing ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: hidden !important;
}

.single-product .storefront-product-sharing ul li {
    flex-shrink: 0 !important;
    display: inline-flex !important;
}

.single-product .storefront-product-sharing ul li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 6px 10px !important;
    background: #f0f2f5 !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.2s, color 0.2s !important;
}

.single-product .storefront-product-sharing ul li a:hover {
    background: #e63946 !important;
    color: #fff !important;
}

/* =============================================================
   8. UP-SELLS & RELATED — Centered 4-column grid
   ============================================================= */

/* Section container */
.single-product .up-sells,
.single-product .related {
    text-align: center !important;
}

/* Section headings — left-aligned with red accent underline */
.single-product .up-sells h2,
.single-product .related h2 {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: #111d2e !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #f0f2f5 !important;
    position: relative !important;
    text-align: left !important;
}

.single-product .up-sells h2::after,
.single-product .related h2::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 48px !important;
    height: 2px !important;
    background: #e63946 !important;
}

/* Product grid — centered, max 220px per card */
.single-product .up-sells ul.products,
.single-product .related ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 220px)) !important;
    justify-content: center !important;
    gap: 14px !important;
    float: none !important;
    text-align: left !important;
}

/* Kill clearfix pseudo-elements that create ghost grid cells */
.single-product .up-sells ul.products::before,
.single-product .up-sells ul.products::after,
.single-product .related ul.products::before,
.single-product .related ul.products::after {
    display: none !important;
    content: none !important;
}

/* Product card */
.single-product .up-sells ul.products li.product,
.single-product .related ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    background: #fff !important;
    border: 1px solid #e8edf2 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    padding: 0 !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05) !important;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s !important;
    text-align: left !important;
}

/* Reset nth-child float clears */
.single-product .up-sells ul.products li.product:nth-child(n),
.single-product .related ul.products li.product:nth-child(n) {
    clear: none !important;
    margin-left: 0 !important;
}

.single-product .up-sells ul.products li.product:hover,
.single-product .related ul.products li.product:hover {
    box-shadow: 0 6px 20px rgba(230, 57, 70, 0.1) !important;
    border-color: #e63946 !important;
    transform: translateY(-2px) !important;
}

/* Card image */
.single-product .up-sells ul.products li.product img,
.single-product .related ul.products li.product img {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.single-product .up-sells ul.products li.product:hover img,
.single-product .related ul.products li.product:hover img {
    transform: scale(1.04) !important;
}

/* Card title */
.single-product .up-sells ul.products li.product .woocommerce-loop-product__title,
.single-product .related ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: #111d2e !important;
    line-height: 1.4 !important;
    padding: 10px 12px 4px !important;
    margin: 0 !important;
}

/* Card price */
.single-product .up-sells ul.products li.product .price,
.single-product .related ul.products li.product .price {
    color: #e63946 !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    padding: 0 12px 4px !important;
    margin: 0 !important;
    display: block !important;
}

.single-product .up-sells ul.products li.product .price del,
.single-product .related ul.products li.product .price del {
    color: #9ca3af !important;
    font-size: 0.74rem !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

/* Card button */
.single-product .up-sells ul.products li.product .button,
.single-product .related ul.products li.product .button {
    display: block !important;
    width: calc(100% - 24px) !important;
    margin: 8px 12px 12px !important;
    padding: 8px 10px !important;
    background: #111d2e !important;
    color: #fff !important;
    border-radius: 5px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    border: none !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    box-sizing: border-box !important;
}

.single-product .up-sells ul.products li.product .button:hover,
.single-product .related ul.products li.product .button:hover {
    background: #e63946 !important;
    color: #fff !important;
}

/* Sale badge */
.single-product .up-sells ul.products li.product .onsale,
.single-product .related ul.products li.product .onsale {
    background: #e63946 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    padding: 3px 7px !important;
    top: 8px !important;
    left: 8px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
}

/* =============================================================
   9. RESPONSIVE — All breakpoints consolidated
   ============================================================= */

/* --- Mid-size tablets & small laptops (601–1024px) --- */
@media (max-width: 1024px) and (min-width: 601px) {
    /* Tabs — smaller text */
    .single-product .woocommerce-tabs ul.tabs li a {
        font-size: 0.78rem !important;
        padding: 10px 12px !important;
    }

    /* Bundle cards — equal width, remove cap */
    .single-product form.cart.bundle_form>[class*="bundled_item_"] {
        flex: 1 1 0 !important;
        max-width: none !important;
        min-width: 120px !important;
    }

    /* Bundle image — slightly smaller */
    .single-product .bundled_product.bundled_product_summary .bundled_product_images.images {
        width: 48px !important;
        height: 48px !important;
        overflow: hidden !important;
    }

    .single-product .bundled_product.bundled_product_summary .bundled_product_images.images img {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }
}

/* --- Tablets (≤900px) — 3-column grid --- */
@media (max-width: 900px) {
    .single-product .up-sells ul.products,
    .single-product .related ul.products {
        grid-template-columns: repeat(3, minmax(0, 220px)) !important;
    }

    /* Bundle row wraps on narrow screens */
    .single-product .wc-bundle-data {
        flex-wrap: wrap !important;
    }
}

/* --- Small tablets (≤768px) — stack layout --- */
@media (max-width: 768px) {
    /* Summary — remove left padding */
    .single-product div.product .summary {
        padding-left: 0;
    }

    /* Product image + summary — full width stack */
    .single-product div.product .images,
    .single-product div.product .woocommerce-product-gallery {
        width: 100% !important;
        float: none !important;
        margin-bottom: 24px !important;
    }

    .single-product div.product .summary {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        padding-left: 0 !important;
    }

    /* Bundle items — stack vertically */
    .single-product .bundled_items {
        flex-direction: column !important;
    }

    /* Grid — 2 columns */
    .single-product .up-sells ul.products,
    .single-product .related ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}

/* --- Mobile (≤600px) --- */
@media (max-width: 600px) {
    /* Grid — 2 columns, tighter */
    .single-product .up-sells ul.products,
    .single-product .related ul.products {
        grid-template-columns: repeat(2, minmax(0, 180px)) !important;
    }

    /* Bundle cards — 2 per row */
    .single-product form.bundle_form {
        flex-direction: row !important;
    }

    .single-product .bundled_product.bundled_product_summary {
        flex: 1 1 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }

    .single-product .bundled_item_cart_details,
    .single-product .wc-bundled-item {
        flex-wrap: wrap !important;
    }

    /* Social sharing — 2 per row */
    .single-product .storefront-product-sharing ul {
        flex-wrap: wrap !important;
        overflow: visible !important;
    }

    .single-product .storefront-product-sharing ul li {
        flex: 1 1 calc(50% - 6px) !important;
    }

    .single-product .storefront-product-sharing ul li a {
        width: 100% !important;
        justify-content: center !important;
        padding: 5px 8px !important;
        font-size: 0.7rem !important;
    }
}
