.ks-bundle-box { margin-bottom:18px; padding:16px 18px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; }
.ks-bundle-box ul { list-style:none; margin:10px 0 0; padding:0; }
.ks-bundle-box li { display:flex; justify-content:space-between; gap:20px; padding:7px 0; border-bottom:1px solid #e2e8f0; }
.ks-bundle-box .ksb-component { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 0; }
.ksb-component-thumb { display:block; width:56px; height:56px; overflow:hidden; border:1px solid #e2e8f0; border-radius:9px; background:#fff; }
.ksb-component-thumb img { display:block; width:100%; height:100%; margin:0; object-fit:cover; }
.ksb-component-name { min-width:0; }
.ks-bundle-box li:last-child { border-bottom:0; }
.ks-savings-notice { display:inline-flex; margin:0 0 5px; padding:8px 15px; border-radius:10px; background:#16a34a; color:#fff; font-weight:800; font-size:14px; }
.ks-market-value { margin-bottom:15px; color:#64748b; font-size:12px; }
.ksb-contents { display:grid; gap:5px; margin:6px 0 9px !important; padding:9px 10px !important; list-style:none !important; border:1px solid #e2e8f0; border-radius:10px; background:#f8fafc; }
.ksb-contents li { display:grid !important; grid-template-columns:25px minmax(0,1fr); gap:6px !important; min-height:0; padding:0 !important; border:0 !important; color:#334155; font-size:12px; line-height:1.35; }
.ksb-cart-contents { display:block; width:100%; min-width:220px; max-width:440px; box-sizing:border-box; }
.ksb-cart-contents-title { display:none; margin:0 0 6px; color:#0f172a; font-size:12px; }
/* WooCommerce classic cart/order tables otherwise float dt and dd next to each other. */
dl.variation dt:has(+ dd .ksb-cart-contents),
dl.variation dd:has(.ksb-cart-contents) { float:none !important; clear:both !important; display:block !important; width:100% !important; max-width:none !important; margin:0 !important; }
dl.variation dt:has(+ dd .ksb-cart-contents) { display:none !important; }
dl.variation dd:has(.ksb-cart-contents) p { margin:0 !important; }
dl.variation dd:has(.ksb-cart-contents) .ksb-cart-contents-title { display:block; }
/* WooCommerce Blocks product details use a flex/grid row for name and value. */
.wc-block-components-product-details > li:has(.ksb-cart-contents) { display:block !important; width:100% !important; }
.wc-block-components-product-details > li:has(.ksb-cart-contents) > :not(.wc-block-components-product-details__value) { display:none !important; }
.wc-block-components-product-details__value:has(.ksb-cart-contents) { display:block !important; width:100% !important; margin:0 !important; }
.wc-block-components-product-details .ksb-cart-contents-title { display:block; }

/* Klasyczny checkout KrystalSpace: produkt i cena w pierwszym wierszu,
   zawartość zestawu pod nimi na pełnej szerokości. */
.woocommerce-checkout-review-order-table tr.cart_item:has(.ksb-cart-contents) {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start !important;
    gap:8px 14px !important;
}
.woocommerce-checkout-review-order-table tr.cart_item:has(.ksb-cart-contents) td.product-name {
    display:block !important;
    width:auto !important;
    min-width:0;
    grid-column:1;
}
.woocommerce-checkout-review-order-table tr.cart_item:has(.ksb-cart-contents) td.product-total {
    display:block !important;
    width:auto !important;
    grid-column:2;
    grid-row:1;
    align-self:start;
    padding-top:18px !important;
}
.woocommerce-checkout-review-order-table td.product-name:has(.ksb-cart-contents) .checkout-product-wrapper {
    align-items:flex-start;
    margin-bottom:10px;
}
.woocommerce-checkout-review-order-table td.product-name:has(.ksb-cart-contents) dl.variation {
    float:none !important;
    clear:both !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
}
.woocommerce-checkout-review-order-table td.product-name:has(.ksb-cart-contents) .ksb-cart-contents {
    min-width:0;
    max-width:none;
}
.woocommerce-checkout-review-order-table td.product-name:has(.ksb-cart-contents) .ksb-contents {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 12px;
    margin-bottom:0 !important;
}
.ksb-qty { display:inline-flex; align-items:center; justify-content:center; min-width:25px; height:20px; border-radius:6px; background:#e2e8f0; color:#0f172a; font-size:10px; font-weight:800; }
.wc-block-cart-items .ks-bundle-part,.wc-block-components-order-summary .ks-bundle-part { display:none !important; }
.wc-block-cart-items .ks-bundle-parent .wc-block-components-product-metadata__description,
.wc-block-components-order-summary .ks-bundle-parent .wc-block-components-product-metadata__description,
.ks-bundle-parent .wc-block-components-product-metadata__description {
    display:none !important;
}
.woocommerce-cart .ksb-cart-contents,
.woocommerce-checkout .ksb-cart-contents,
.wc-block-cart-items .ksb-cart-contents,
.wc-block-components-order-summary .ksb-cart-contents {
    display:none !important;
}
/* Twarde ukrycie starego atrybutu "Zawartość". Aktualny skład jest
   prezentowany wyłącznie przez .ksb-cart-contents. */
.woocommerce-cart dl.variation dt[class*="variation-Zawarto"],
.woocommerce-cart dl.variation dd[class*="variation-Zawarto"],
.woocommerce-checkout dl.variation dt[class*="variation-Zawarto"],
.woocommerce-checkout dl.variation dd[class*="variation-Zawarto"],
.wc-block-components-product-details > li[class*="zawarto"],
.wc-block-components-product-details > li[class*="Zawarto"] {
    display:none !important;
}
.ks-bundle-box .ksb-component-price {
    color: inherit;
    opacity: .72;
    text-decoration-thickness: 1px;
}
@media (max-width:480px) {
    .ks-bundle-box .ksb-component { grid-template-columns:48px minmax(0,1fr); gap:10px; }
    .ksb-component-thumb { width:48px; height:48px; }
    .ks-bundle-box .ksb-component-price { grid-column:2; justify-self:start; }
    .ksb-cart-contents { min-width:0; max-width:100%; }
    .woocommerce-checkout-review-order-table tr.cart_item:has(.ksb-cart-contents) {
        grid-template-columns:minmax(0,1fr) auto;
    }
    .woocommerce-checkout-review-order-table td.product-name:has(.ksb-cart-contents) .ksb-contents {
        grid-template-columns:1fr;
    }
}
