/* ========== BF Cart: base (scoped) ========== */

body.woocommerce-cart.bf-cart{
  --bf-accent: var(--global-palette1, #8b1d0a);
  --bf-cart-sep: #eee; /* merged from customizer */
  background: #faf7f3;
}

body.woocommerce-cart.bf-cart .bf-cart-page{
  padding: 22px 0;
}

/* === FIX Kadence cart grid (keep notices above, form+totals in 2-col grid) === */
body.woocommerce-cart.bf-cart .bf-cart-page .woocommerce{
  display: block !important; /* parent should NOT be grid/flex */
  margin-bottom: 55px;
}

body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 20px;
  align-items: start;
}

/* Kill Kadence clearfix pseudo-elements so they don't become grid items */
body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap::before,
body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap::after{
  content: none !important;
  display: none !important;
}

/* Force placement */
body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap > form.woocommerce-cart-form{
  grid-column: 1 !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  min-width: 0;
}

body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap > .cart-collaterals{
  grid-column: 2 !important;
  float: none !important;
  clear: none !important;   /* Woo sometimes sets clear:both */
  width: auto !important;
  margin: 0 !important;
}

body.woocommerce-cart.bf-cart .bf-cart-page .cart-collaterals .cart_totals{
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Mobile */
@media (max-width: 1024px){
  body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap{
    grid-template-columns: 1fr;
  }
  body.woocommerce-cart.bf-cart .bf-cart-page .kadence-woo-cart-form-wrap > .cart-collaterals{
    grid-column: 1 !important;
  }
}

/* Cart page header (custom) */
body.woocommerce-cart.bf-cart .bf-cart-header{
  text-align: center;
  margin: 0 0 18px;
}

body.woocommerce-cart.bf-cart .bf-cart-title{
  margin: 55px 0 25px;
  font-size: 32px;
  font-weight: 700;
}

/* Hide the standard block headings */
body.woocommerce-cart.bf-cart .cart-summary{
  display: none !important;
}

body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals > h2{
  display: none !important;
}

/* Kill unwanted margins on the wrapper */
#primary.bf-cart-page{
  margin: 0 !important;
}

/* Make the two main areas look like cards (no shadow) */
body.woocommerce-cart.bf-cart .woocommerce-cart-form,
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  box-shadow: none !important;
  padding: 18px;
}
	
/* Hide native Woo fee/shipping rows instantly to prevent flicker */
body.woocommerce-cart.bf-cart .cart_totals tr.fee,
body.woocommerce-cart.bf-cart .cart_totals tr.woocommerce-shipping-totals.shipping{
  display: none !important;
}

/* Force ALL content inside totals value cells to align right */
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td,
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td *{
  text-align: right !important;
}

/* Totals: FORCE the Shipping row content to align right */
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td ul#shipping_method,
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td ul#shipping_method li,
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td ul#shipping_method li label,
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td .woocommerce-shipping-destination,
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td .shipping-calculator-button{
  text-align: right !important;
}

/* label is often a block/clearfix – make it fill the cell */
body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals td ul#shipping_method li label{
  display: block;
  width: 100%;
}

/* Cart totals: make Zwischensumme + Gesamtsumme typography match your fee amounts */
body.woocommerce-cart.bf-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-cart.bf-cart .cart_totals tr.cart-subtotal td .amount,
body.woocommerce-cart.bf-cart .cart_totals tr.cart-subtotal td .woocommerce-Price-amount,
body.woocommerce-cart.bf-cart .cart_totals tr.cart-subtotal td bdi,
body.woocommerce-cart.bf-cart .cart_totals tr.cart-subtotal td strong{
  font-size: 17px;
  font-weight: 600;
  line-height: 1.1;
  color: #222;
  white-space: nowrap;
}

body.woocommerce-cart.bf-cart .cart_totals tr.cart-subtotal th{
  font-size: 17px;
  font-weight: 700;
  color: #222;
}

body.woocommerce-cart.bf-cart .cart_totals tr.order-total td,
body.woocommerce-cart.bf-cart .cart_totals tr.order-total td .amount,
body.woocommerce-cart.bf-cart .cart_totals tr.order-total td .woocommerce-Price-amount,
body.woocommerce-cart.bf-cart .cart_totals tr.order-total td bdi,
body.woocommerce-cart.bf-cart .cart_totals tr.order-total td strong{
  font-size: 17px;
  font-weight: 600;
  line-height: 1.1;
  color: #222;
  white-space: nowrap;
}

body.woocommerce-cart.bf-cart .cart_totals tr.order-total th{
  font-size: 17px;
  font-weight: 700;
  color: #222;
}


/* ------------------------------------------------------------------
   Part 2 merge: Cart totals delivery block must NOT inherit td{right}
   ------------------------------------------------------------------ */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap,
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap *{
  text-align: left !important;
}

/* keep actual amounts right-aligned inside the delivery block */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee__amount,
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown-amount,
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown-amount *{
  text-align: right !important;
}

/* Table: less “spreadsheet”, more clean */
body.woocommerce-cart.bf-cart table.shop_table{
  border: 0 !important;
  margin: 0;
  width: 100%;
  table-layout: auto; /* keep auto so name can grow naturally */
}

/* -------- MERGED (Customizer): header separator line under column headers -------- */
body.woocommerce-cart.bf-cart table.shop_table thead{
  border-bottom: 2px solid var(--bf-cart-sep);
}

body.woocommerce-cart.bf-cart table.shop_table th{
  border: 0 !important;
  padding: 10px 10px;
  font-weight: 700;
  text-align: left;
}

body.woocommerce-cart.bf-cart table.shop_table td{
  border: 0 !important;
  padding: 5px 10px;
  vertical-align: middle;
}

/* Header alignment */
body.woocommerce-cart.bf-cart table.shop_table thead th{
  text-align: left;
  font-weight: 700;
  /* MERGED (Customizer): stronger header typography + spacing */
  padding-bottom: 18px !important;
  font-size: 17px;
  font-weight: 700 !important;
}

/* -------- MERGED (Customizer): separator ABOVE coupon/actions row -------- */
body.woocommerce-cart.bf-cart table.shop_table tr:last-child td.actions{
  border-top: 2px solid var(--bf-cart-sep) !important;
  padding-top: 14px !important;
}

/* Produkt left */
body.woocommerce-cart.bf-cart th.product-name,
body.woocommerce-cart.bf-cart td.product-name{
  text-align: left;
}

/* Preis + Zwischensumme right */
body.woocommerce-cart.bf-cart th.product-price,
body.woocommerce-cart.bf-cart td.product-price,
body.woocommerce-cart.bf-cart th.product-subtotal,
body.woocommerce-cart.bf-cart td.product-subtotal{
  text-align: right !important;
  white-space: nowrap;
}

/* Anzahl centered */
body.woocommerce-cart.bf-cart th.product-quantity,
body.woocommerce-cart.bf-cart td.product-quantity{
  text-align: center !important;
}

/* Tighten remove + thumbnail columns */
body.woocommerce-cart.bf-cart th.product-remove,
body.woocommerce-cart.bf-cart td.product-remove{
  width: 56px;
  padding-left: 8px !important;
  padding-right: 8px !important;
  text-align: center;
  vertical-align: middle;
}

body.woocommerce-cart.bf-cart th.product-thumbnail,
body.woocommerce-cart.bf-cart td.product-thumbnail{
  width: 84px;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* Product thumbs */
body.woocommerce-cart.bf-cart td.product-thumbnail img{
  width: 60px;
  height: 60px;
  border-radius: 10px !important;
  object-fit: cover;
}

/* Keep “icon products” (SVG) from being huge */
body.woocommerce-cart.bf-cart td.product-thumbnail img,
body.woocommerce-cart.bf-cart td.product-thumbnail svg{
  width: 80px;
  height: 60px;
  max-width: 100px;
  max-height: 75px;
}

/* Cart product link hover: match mini-cart (no underline / no movement) */
body.woocommerce-cart.bf-cart td.product-name a{
  font-size: 16px;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  transition: color .15s ease;
}

body.woocommerce-cart.bf-cart td.product-name{
  font-size: 16px;
  font-weight: 600;
}

body.woocommerce-cart.bf-cart td.product-name a:hover,
body.woocommerce-cart.bf-cart td.product-name a:focus{
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  transform: none !important;
  color: var(--global-palette-highlight) !important;
}

/* Remove button (cart) – mini-cart style */
body.woocommerce-cart.bf-cart td.product-remove a.remove{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 24px;
  height: 24px;

  border-radius: 25px;
  border: 0 !important;
  background: transparent !important;

  /* hide the default "×" text but keep it accessible */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px;
  overflow: hidden;

  transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

body.woocommerce-cart.bf-cart td.product-remove a.remove::before{
  content: "";
  width: 19px;
  height: 19px;
  transform: translateY(2px);

  /* icon color */
  background: #000;

  /* trash icon mask */
  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M3 6h18'/>\
<path d='M8 6V4h8v2'/>\
<path d='M6 6l1 16h10l1-16'/>\
<path d='M10 11v6'/>\
<path d='M14 11v6'/>\
</svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M3 6h18'/>\
<path d='M8 6V4h8v2'/>\
<path d='M6 6l1 16h10l1-16'/>\
<path d='M10 11v6'/>\
<path d='M14 11v6'/>\
</svg>") center / contain no-repeat;
}

body.woocommerce-cart.bf-cart td.product-remove a.remove:hover,
body.woocommerce-cart.bf-cart td.product-remove a.remove:focus{
  border-color: var(--global-palette-highlight);
  background: rgba(0,0,0,.02) !important;
  transform: none;
}

body.woocommerce-cart.bf-cart td.product-remove a.remove:hover::before,
body.woocommerce-cart.bf-cart td.product-remove a.remove:focus::before{
  background: var(--global-palette-highlight);
}

/* Remove icon disabled state (non-removable items) */
body.woocommerce-cart.bf-cart td.product-remove a.remove[aria-disabled="true"],
body.woocommerce-cart.bf-cart td.product-remove a.remove.disabled,
body.woocommerce-cart.bf-cart td.product-remove a.remove.is-disabled{
  pointer-events: none;
  cursor: not-allowed;
  opacity: .35;
}

body.woocommerce-cart.bf-cart td.product-remove a.remove[aria-disabled="true"]::before,
body.woocommerce-cart.bf-cart td.product-remove a.remove.disabled::before,
body.woocommerce-cart.bf-cart td.product-remove a.remove.is-disabled::before{
  background: rgba(0,0,0,.35);
}

/* ------------------------------------------------------------------
   Part 2 merge: helper items trash icon disabled (main cart)
   ------------------------------------------------------------------ */
body.bf-cart tr.bf-cart-helper-item a.remove{
  pointer-events: none;
  opacity: .3;
  filter: grayscale(1);
  cursor: not-allowed;
}

/* Quantity input (fallback) */
body.woocommerce-cart.bf-cart .quantity input.qty{
  height: 38px;
  border-radius: 25px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 0 12px;
  font-weight: 600;
}

/* === Cart quantity: pill style like your product cards (cart table only) === */
body.woocommerce-cart.bf-cart td.product-quantity .quantity{
  display: inline-flex;
  align-items: center;
  gap: 0;
  height: 35px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 25px;
  background: #fff;
  padding: 3px;
}

/* the input (center value) */
body.woocommerce-cart.bf-cart td.product-quantity .quantity input.qty{
  width: 35px;
  height: 32px;
  border: 0 !important;
  background: transparent !important;
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
}
body.woocommerce-cart.bf-cart td.product-quantity .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart.bf-cart td.product-quantity .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* plus/minus buttons (covers most themes/plugins) */
body.woocommerce-cart.bf-cart td.product-quantity .quantity button.minus,
body.woocommerce-cart.bf-cart td.product-quantity .quantity button.plus,
body.woocommerce-cart.bf-cart td.product-quantity .quantity .minus,
body.woocommerce-cart.bf-cart td.product-quantity .quantity .plus{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 32px;
  border: 0 !important;
  background: transparent !important;
  border-radius: 25px;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: var(--bf-accent) !important;
  transform: translateY(-1px);
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

/* optional subtle hover */
body.woocommerce-cart.bf-cart td.product-quantity .quantity button.minus:hover,
body.woocommerce-cart.bf-cart td.product-quantity .quantity button.plus:hover,
body.woocommerce-cart.bf-cart td.product-quantity .quantity .minus:hover,
body.woocommerce-cart.bf-cart td.product-quantity .quantity .plus:hover{
  background: rgba(0,0,0,.04) !important;
}

/* ------------------------------------------------------------------
   Part 2 merge: locked quantity pill for helper items (no +/-)
   ------------------------------------------------------------------ */
body.bf-cart tr.bf-cart-helper-item .bf-qty-pill--locked,
body.bf-cart tr.bf-cart-reward-item .bf-qty-pill--locked{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  min-width: 55px;
  padding: 6px 14px;
  border: 1px solid #d8d8d8;
  border-radius: 25px;
  background: #fff;
  margin: 0 auto; /* center in cell */
}

body.bf-cart tr.bf-cart-helper-item .bf-qty-pill__num,
body.bf-cart tr.bf-cart-reward-item .bf-qty-pill__num{
  font-size: 17px;
  font-weight: 600;
}

/* =========================================================
   COUPON / ACTIONS ROW (MERGED FROM CUSTOMIZER)
   - collapsible Gutscheincode input
   - chip-like apply button
   ========================================================= */

/* Coupon is usually inside td.actions */
body.woocommerce-cart.bf-cart td.actions .coupon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
  position: relative;
}

/* Hide label if present */
body.woocommerce-cart.bf-cart td.actions .coupon label{
  display:none;
}

/* Original input base styles (animated) */
body.woocommerce-cart.bf-cart td.actions .coupon #coupon_code,
body.woocommerce-cart.bf-cart td.actions .coupon input[name="coupon_code"]{
  height:36px;
  padding:0 12px;
  border-radius:25px;
  border:1px solid #e7e2da;
  background:#fff;
  font-size:15px;
  line-height:36px;
  outline:none;
  transition:
    width .22s ease,
    opacity .18s ease,
    transform .22s ease,
    border-color .15s ease,
    box-shadow .15s ease;
}

body.woocommerce-cart.bf-cart td.actions .coupon #coupon_code:focus,
body.woocommerce-cart.bf-cart td.actions .coupon input[name="coupon_code"]:focus{
  border-color:#9d0b02;
}

/* Apply button becomes a “chip” */
body.woocommerce-cart.bf-cart td.actions .coupon button[name="apply_coupon"],
body.woocommerce-cart.bf-cart td.actions .coupon input[name="apply_coupon"]{
  height:36px;
  padding:0 14px;
  border-radius:25px;
  border:1px solid #e7e2da;
  background:#faf7f3;
  color:#111;
  line-height: 1;
  font-weight:600 !important;
  font-size:15px;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .15s ease, border-color .15s ease, transform .05s ease;
}

body.woocommerce-cart.bf-cart td.actions .coupon button[name="apply_coupon"]:hover,
body.woocommerce-cart.bf-cart td.actions .coupon input[name="apply_coupon"]:hover{
  border-color:#9d0b02;
}

body.woocommerce-cart.bf-cart td.actions .coupon button[name="apply_coupon"]:active,
body.woocommerce-cart.bf-cart td.actions .coupon input[name="apply_coupon"]:active{
  transform:translateY(1px);
}

/* Collapsed state: input hidden */
body.woocommerce-cart.bf-cart td.actions .coupon.bf-coupon-collapsed #coupon_code,
body.woocommerce-cart.bf-cart td.actions .coupon.bf-coupon-collapsed input[name="coupon_code"]{
  width:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  border-color:transparent !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(10px);
}

/* Expanded state: input visible */
body.woocommerce-cart.bf-cart td.actions .coupon.bf-coupon-expanded #coupon_code,
body.woocommerce-cart.bf-cart td.actions .coupon.bf-coupon-expanded input[name="coupon_code"]{
  width:220px;
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}

/* Small screens: expand full width */
@media (max-width:700px){
  body.woocommerce-cart.bf-cart td.actions .coupon.bf-coupon-expanded #coupon_code,
  body.woocommerce-cart.bf-cart td.actions .coupon.bf-coupon-expanded input[name="coupon_code"]{
    width:100%;
  }
}

/* Buttons */
body.woocommerce-cart.bf-cart .button,
body.woocommerce-cart.bf-cart button.button{
  border-radius: 25px !important;
  font-weight: 700 !important;
}

/* Primary checkout button */
/* Cart page: checkout button like mini-cart "Kasse" (centered pill) */
body.woocommerce-cart.bf-cart .wc-proceed-to-checkout{
  display: flex;
  padding-bottom: 0px;
  justify-content: center;
}

body.woocommerce-cart.bf-cart .wc-proceed-to-checkout a.checkout-button{
  flex: 0 0 auto;
  width: 250px;
  max-width: 100%;
  margin: 0 auto;

  box-sizing: border-box;
  text-align: center;
  text-transform: uppercase;

  border-radius: 25px !important;
  font-weight: 400 !important;

  /* slim pill sizing */
  padding: 7px 18px !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  min-height: 0 !important;
  height: auto !important;

  /* force same palette as normal buttons (kills .alt differences) */
  background: var(--global-palette-btn-bg, var(--bf-accent, #9d0b02)) !important;
  border-color: var(--global-palette-btn-bg, var(--bf-accent, #9d0b02)) !important;
  color: var(--global-palette-btn, #ffffff) !important;

  box-shadow: none !important;
  transition: background-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

body.woocommerce-cart.bf-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart.bf-cart .wc-proceed-to-checkout a.checkout-button:focus{
  background: var(--global-palette-btn-bg-hover, var(--global-palette-btn-bg, var(--bf-accent, #9d0b02))) !important;
  border-color: var(--global-palette-btn-bg-hover, var(--global-palette-btn-bg, var(--bf-accent, #9d0b02))) !important;
  color: var(--global-palette-btn-hover, var(--global-palette-btn, #ffffff)) !important;
  box-shadow: none !important;
}

body.woocommerce-cart.bf-cart .wc-proceed-to-checkout a.checkout-button:active{
  transform: translateY(1px);
}

/* Mobile: full width if needed */
@media (max-width: 480px){
  body.woocommerce-cart.bf-cart .wc-proceed-to-checkout a.checkout-button{
    width: 100%;
  }
}

/* Cart: price font (family + size + weight) */
body.woocommerce-cart.bf-cart td.product-price,
body.woocommerce-cart.bf-cart td.product-subtotal{
  font-size: 17px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
}

/* MERGED (Customizer): Update cart button polish */
body.woocommerce-cart.bf-cart form.woocommerce-cart-form button.button[name="update_cart"]{
  padding:8px 12px;
  min-height:36px;
  font-size:15px;
  font-weight:500 !important;
  line-height: 1;
}
	
body.woocommerce-cart.bf-cart td.actions .bf-continue-shopping {
	min-height:36px;
	font-size:15px;
	font-weight: 500 !important;
}

/* Mobile: reduce padding a bit */
@media (max-width: 768px){
  body.woocommerce-cart.bf-cart .woocommerce-cart-form,
  body.woocommerce-cart.bf-cart .cart-collaterals .cart_totals{
    padding: 14px;
  }
}

/* ========== BF Cart: Sättigungsrechner (full-cart) layout ========== */
/* Cart-only so it never touches mini-cart/shop */
body.woocommerce-cart.bf-cart .top-cart-texte.full-cart{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}

body.woocommerce-cart.bf-cart .top-cart-texte.full-cart .cart-top-text{
  display: flex;
  gap: 12px;
  align-items: flex-start;

  background: #fff;
  border: 1px solid rgba(0,0,0,.14); /* solid 1px grey border */
  border-radius: 16px;
  box-shadow: none !important;       /* no shadows */
  padding: 14px 14px;
}

body.woocommerce-cart.bf-cart .top-cart-texte.full-cart .cart-top-text img{
  width: 60px;
  height: 60px;
  object-fit: contain;
  flex: 0 0 auto;
}

body.woocommerce-cart.bf-cart .top-cart-texte.full-cart h5{
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
}

body.woocommerce-cart.bf-cart .top-cart-texte.full-cart{
  font-size: 15px;
  line-height: 1.35;
}

/* Gäste inline pill (the - / number / + inside the text) */
body.woocommerce-cart.bf-cart .top-cart-texte.full-cart .anzahl-gaeste-inline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 6px;
  vertical-align: middle;
}

body.woocommerce-cart.bf-cart .top-cart-texte.full-cart .anzahl-gaeste-inline input[type="button"]{
  width: 34px;
  height: 34px;
  border-radius: 25px;
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  font-weight: 700;
  line-height: 1;
  padding: 0;
}

body.woocommerce-cart.bf-cart .top-cart-texte.full-cart .anzahl-gaeste-inline input[type="number"]{
  width: 60px;
  height: 34px;
  border-radius: 25px;
  border: 1px solid rgba(0,0,0,.14);
  padding: 0 10px;
  text-align: center;
  font-weight: 700;
}

/* Responsive */
@media (max-width: 980px){
  body.woocommerce-cart.bf-cart .top-cart-texte.full-cart{
    grid-template-columns: 1fr;
  }
}

/* Full-width top block above title */
body.woocommerce-cart.bf-cart .bf-cart-sat-full{
  width: 100%;
  padding: 0 24px;
  margin: 0 auto 14px;
}

/* Optional: keep cards centered inside that full width */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .top-cart-texte.full-cart{
  max-width: 1400px;
  margin: 0 auto;
}

body.woocommerce-cart.bf-cart .bf-cart-pretitle{
  margin: 55px 0 25px;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
}

/* Remove any item meta/variation block under product name (cart only) */
body.woocommerce-cart.bf-cart td.product-name dl.variation{
  display: none !important;
}

/* Center the 3 Sättigungs boxes above the title */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .top-cart-texte.full-cart{
  display: grid;
  justify-content: center;
  gap: 65px;
  margin: 0 auto 10px;
}

body.woocommerce-cart.bf-cart .bf-cart-sat-full .top-cart-texte.full-cart .cart-top-text{
  flex-direction: column;
  align-items: center;
  text-align: center;
}
/* Force inner text areas to span full card width (align-items:center would otherwise shrink them) */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .carttotal-inner,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .saettigungstext-inner,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .litertext-inner{
  width: 100%;
}


body.woocommerce-cart.bf-cart .bf-cart-sat-full .top-cart-texte.full-cart .cart-top-text img{
  margin: 0 0 0 0;
}

body.woocommerce-cart.bf-cart .bf-cart-sat-full .top-cart-texte.full-cart h5{
  text-align: center;
}

@media (max-width: 1050px){
  body.woocommerce-cart.bf-cart .bf-cart-sat-full .top-cart-texte.full-cart{
    grid-template-columns: 1fr;
  }
}

/* Sättigungs cards: clickable title with info+chevron (no DOM injection) */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .preis h5,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .saettigung h5,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .getraenke h5{
  position: relative;
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0 56px; /* room for icons on both sides */
  text-align: center;
  cursor: pointer;
  user-select: none;
}

/* hidden by default (JS will slideDown/slideUp, so DO NOT use bf-sat-open to display:block) */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .preis p,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .saettigung p,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .getraenke p,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .bf-sat-desc{
  display: none;
  margin: 0;
}

/* Sliding panel targets (keep wrappers/text visibility consistent for JS slideUp/slideDown) */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .saettigung .bf-sat-desc p{
  display: block !important;
  margin: 0 !important;
}

body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .preis .bf-sat-desc{
  display: block !important;
  margin: 0 !important;
}

body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .getraenke .bf-sat-desc{
  display: block !important;
  margin: 0 !important;
}

/* ------------------------------------------------------------------
   Part 2 merge: Info text size inside the slide-down panels
   ------------------------------------------------------------------ */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .bf-sat-desc,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .bf-sat-desc p{
  font-size: 14px;
  line-height: 1.35;
}

/* info icon */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .preis h5::before,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .saettigung h5::before,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .getraenke h5::before{
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  opacity: .9;
  background: var(--bf-accent);
  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<circle cx='12' cy='12' r='10'/>\
<path d='M12 16v-4'/>\
<path d='M12 8h.01'/>\
</svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<circle cx='12' cy='12' r='10'/>\
<path d='M12 16v-4'/>\
<path d='M12 8h.01'/>\
</svg>") center / contain no-repeat;
}

/* chevron (down/up via class) */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .preis h5::after,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .saettigung h5::after,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text .getraenke h5::after{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  width: 16px;
  height: 16px;
  opacity: .9;
  background: var(--bf-accent);
  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M6 9l6 6 6-6'/>\
</svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M6 9l6 6 6-6'/>\
</svg>") center / contain no-repeat;
  transition: transform .15s ease;
}

/* open state: rotate chevron up */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text.bf-sat-open h5::after{
  transform: translateY(-50%) rotate(180deg);
}

/* Prevent pointer-events on icons; only title toggles */
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text h5::before,
body.woocommerce-cart.bf-cart .bf-cart-sat-full .cart-top-text h5::after{
  pointer-events: none;
}

/* BF shop hero spacing (if present on cart) */
#primary.bf-cart-page .bf-shop-hero{
  margin: 0 0 25px;
}

/* Hover like shop: outer pill border becomes red */
body.woocommerce-cart.bf-cart td.product-quantity .quantity:hover{
  border-color: var(--bf-accent) !important;   /* your red */
}

/* Optional: also when hovering the actual +/- buttons */
body.woocommerce-cart.bf-cart td.product-quantity .quantity:has(.minus:hover),
body.woocommerce-cart.bf-cart td.product-quantity .quantity:has(.plus:hover){
  border-color: var(--bf-accent) !important;
}

/* Remove the grey hover background on the +/- */
body.woocommerce-cart.bf-cart td.product-quantity .quantity button.minus:hover,
body.woocommerce-cart.bf-cart td.product-quantity .quantity button.plus:hover,
body.woocommerce-cart.bf-cart td.product-quantity .quantity .minus:hover,
body.woocommerce-cart.bf-cart td.product-quantity .quantity .plus:hover{
  background: transparent !important;
}


/* =========================================================
   Part 2 merge: Delivery fees block styling inside cart totals
   (your injected mini-cart-fees markup inside bf-cart-fees-wrap)
   ========================================================= */

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee.bf-mini-cart-fee--info{
  justify-content: flex-start;
}

/* label + arrow together on the left */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee--info .bf-mini-cart-fee__label{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee__label{
  font-size: 14px;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee--info .bf-fee-arrow{
  order: 1;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee--info .bf-mini-cart-fee__amount{
  order: 2;
  margin-left: auto;
}

/* =========================================================
   Lieferkosten: info icon + SVG chevron (like Sättigungs boxes)
   ========================================================= */

/* button */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-arrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  width: auto;
  height: auto;
  padding: 0;
  margin-left: 6px;

  border: 0;
  background: none;
  color: var(--bf-accent, #9d0b02);
  cursor: pointer;
}

/* INFO icon (never rotates) */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-arrow::before{
  content: "";
  width: 16px;
  height: 16px;
  opacity: .9;
  background: currentColor;

  transform: none !important;
  transition: none !important;

  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<circle cx='12' cy='12' r='10'/>\
<path d='M12 16v-4'/>\
<path d='M12 8h.01'/>\
</svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<circle cx='12' cy='12' r='10'/>\
<path d='M12 16v-4'/>\
<path d='M12 8h.01'/>\
</svg>") center / contain no-repeat;
}

/* CHEVRON icon (this one rotates) */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-arrow::after{
  content: "";
  width: 16px;
  height: 16px;
  opacity: .9;
  background: currentColor;

  -webkit-mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M6 9l6 6 6-6'/>\
</svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M6 9l6 6 6-6'/>\
</svg>") center / contain no-repeat;

  transform: rotate(0deg);
  transition: transform 180ms ease;
}

/* open state: rotate ONLY the chevron */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap
.bf-mini-cart-fee--info[data-open="1"] .bf-fee-arrow::after{
  transform: rotate(180deg);
}

/* safety: if any old rule still targets ::before in open state, kill it */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap
.bf-mini-cart-fee--info[data-open="1"] .bf-fee-arrow::before{
  transform: none !important;
}


/* Breakdown block under Lieferkosten */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown{
  padding: 4px 1px 2px 0px;
  font-size: 13px;
}

/* Each breakdown line: label | amount */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown-row{
  display: flex;
  justify-content: space-between;
  gap: 6px;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown-label{
  color: #666;
  font-size: 12px;
  font-weight: 500;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown-amount{
  color: #666;
  font-size: 15px;
  font-weight: 500;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-fee-breakdown-amount .woocommerce-Price-amount{
  white-space: nowrap;
}

/* Kill Kadence default button styling for the toggle IN CART TOTALS too */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-delivery-toggle,
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-delivery-toggle:hover,
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-delivery-toggle:focus,
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-delivery-toggle:active{
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
  border: 0;
  padding: 0;
}

/* Generic fee row + 2nd line support (window) */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0;
  padding: 1px 0;
}

body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-delivery-toggle .bf-delivery-toggle__text{
  text-align: center !important;
}

/* delivery window line should be left and full width */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap .bf-mini-cart-fee__window{
  flex: 0 0 100%;
  text-align: left !important;
  font-size: 14px;
  line-height: 1;
  color: #666;
  margin-top: 0px;
}

/* push Lieferzeitfenster toggle towards the right (shop-like) */
body.woocommerce-cart.bf-cart .cart_totals .bf-cart-fees-wrap
.bf-mini-cart-fee--delivery .bf-delivery-toggle{
  margin-left: auto;
  margin-right: 10px;
}

/* =========================================================
   CART AJAX OVERLAY (MERGED FROM CUSTOMIZER)
   - remove theme spinners
   - use our minimal spinner
   ========================================================= */

body.woocommerce-cart.bf-cart .blockUI.blockOverlay{
  background-image: none !important;
}

/* remove spinner pseudo-elements some themes inject */
body.woocommerce-cart.bf-cart .blockUI.blockOverlay::before,
body.woocommerce-cart.bf-cart .blockUI.blockOverlay::after{
  content: none !important;
  display: none !important;
  background: none !important;
}

/* some themes add a second spinner via "processing" on the form */
body.woocommerce-cart.bf-cart .woocommerce-cart-form.processing::before{
  content: none !important;
  display: none !important;
}

/* overlay appearance */
body.woocommerce-cart.bf-cart .blockUI.blockOverlay{
  background: rgba(255, 255, 255, 0.75) !important;
  opacity: 1 !important;
}

body.woocommerce-cart.bf-cart .blockUI.blockMsg{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #9d0b02;
}

/* Hide Woo’s default spinner image if present */
body.woocommerce-cart.bf-cart .blockUI.blockMsg img{
  display: none !important;
}

/* Custom minimal spinner */
body.woocommerce-cart.bf-cart .blockUI.blockMsg::before{
  content: "";
  display: inline-block;
  width: 35px;
  height: 35px;
  border-radius: 999px;
  border: 3px solid rgba(0,0,0,0.15);
  border-top-color: currentColor;
  animation: bf-spin 0.7s linear infinite;
}

/* Shared keyframes used in cart overlay */
@keyframes bf-spin{
  to { transform: rotate(360deg); }
}

/* Cart table: add "zzgl. MwSt." under the subtotal amount without changing HTML */
body.bf-cart .woocommerce-cart-form td.product-subtotal {
  position: relative;
}

body.bf-cart .woocommerce-cart-form td.product-subtotal::after {
  content: "zzgl. MwSt.";
  display: block;
  margin-top: 4px;
  font-size: 12px;
  opacity: .75;
  line-height: 1.1;
}

body.woocommerce-cart.bf-cart .cart_totals tr.tax-rate td .woocommerce-Price-amount.amount{
  font-size: 17px;
  font-weight: 600;
  line-height: 1.1;
  color: #222;
  white-space: nowrap;
}

.bf-cart-progress__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

@media (max-width: 1200px){
  .bf-cart-progress__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px){
  .bf-cart-progress__grid{
    grid-template-columns:1fr;
  }
}

.bf-cart-progress{
  border: none; 
  padding: 12px 12px;
 }
