/* Smart Bundles: show a bundle as one block in the cart, side cart and checkout.
 * The free item (or first item) is the header; the picked items sit indented under it.
 * Every product stays its own order line for packing slips and ShipStation. */

/* Hide the "In bundle:" label; the status text is enough. */
dt.variation-Inbundle,
.wc-block-components-product-details__in-bundle .wc-block-components-product-details__name { display: none !important; }
dd.variation-Inbundle, dd.variation-Inbundle p { margin: 0 !important; }
dd.variation-Inbundle p, .wc-block-components-product-details__in-bundle .wc-block-components-product-details__value { font-size: .92em; color: #1F6B33; }
.sbd-gid { display: none !important; }

/* ---------- Classic cart, checkout review, mini cart (server adds the classes) ---------- */
tr.sbd-line--header > td { background: #FFFBEA; border-top: 2px solid var(--sbd-accent, #F8C822) !important; }
tr.sbd-line--header .product-name > a { font-weight: 700; }
tr.sbd-line--header .product-name dl.variation { font-weight: 400; }
tr.sbd-line--child > td { background: #FFFEF8; }
tr.sbd-line--child > td.product-thumbnail { position: relative; padding-left: 30px !important; }
tr.sbd-line--child > td.product-thumbnail::before { content: ""; position: absolute; left: 14px; top: 0; bottom: 0; border-left: 2px solid #EADFAE; }
tr.sbd-line--child > td.product-thumbnail img { max-width: 52px; }
li.sbd-line--child { margin-left: 18px !important; padding-left: 12px !important; border-left: 2px solid #EADFAE; }
li.sbd-line--header { background: #FFFBEA; border-radius: 10px; }

/* ---------- Cart & Checkout blocks (structure detected with :has) ---------- */
.wc-block-cart-items__row:has(.wc-block-components-product-details__bundle) > td { background: #FFFBEA; border-top: 2px solid var(--sbd-accent, #F8C822); }
.wc-block-cart-items__row:has(.wc-block-components-product-details__bundle) .wc-block-components-product-name { font-weight: 700; }
.wc-block-cart-items__row:has(.wc-block-components-product-details__in-bundle) > td { background: #FFFEF8; }
.wc-block-cart-items__row:has(.wc-block-components-product-details__in-bundle) .wc-block-cart-item__image { position: relative; padding-left: 26px !important; }
.wc-block-cart-items__row:has(.wc-block-components-product-details__in-bundle) .wc-block-cart-item__image::before { content: ""; position: absolute; left: 10px; top: 0; bottom: 0; border-left: 2px solid #EADFAE; }
.wc-block-components-order-summary-item:has(.wc-block-components-product-details__in-bundle) { margin-left: 18px; padding-left: 12px; border-left: 2px solid #EADFAE; }
.wc-block-components-order-summary-item:has(.wc-block-components-product-details__bundle) { background: #FFFBEA; border-radius: 10px; }

/* ---------- FunnelKit side cart ---------- */
.fkcart--item-parent:has(.sbd-fk-role--header) .fkcart--item { background: #FFFBEA; border-radius: 12px; box-shadow: inset 3px 0 0 var(--sbd-accent, #F8C822); }
.fkcart--item-parent:has(.sbd-fk-role--header) .fkcart-item-title-price > a,
.fkcart--item-parent:has(.sbd-fk-role--header) .fkcart-item-title-price > span:first-child { font-weight: 700; }
.fkcart--item-parent:has(.sbd-fk-role--child) .fkcart--item { margin-left: 20px; padding-left: 12px; border-left: 2px solid #EADFAE; }
.fkcart--item-parent:has(.sbd-fk-role--child) .fkcart-thumb-wrap { transform: scale(.88); transform-origin: left top; }

/* Edit link in the header */
a.sbd-edit-link { font-weight: 700; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }

/* FunnelKit side cart prints item details as key/value spans */
.fkcart-attr-key[data-attr-key="variation-Inbundle"] { display: none !important; }
.fkcart-attr-wrap:has(.fkcart-attr-key[data-attr-key="variation-Inbundle"]) .fkcart-attr-value { color: #1F6B33; padding-left: 0 !important; margin-left: 0 !important; }

.sbd-coupon-note { display: block; color: #697080; font-weight: 400; font-size: .85em; }
