/*
 Theme Name: Kadence Child (bärliFood)
 Template: kadence
 Version: 1.3.0
 Author: musashi_yaro
*/

/* ==========================================================================
   GLOBAL / SITE-WIDE (keep here)
   ========================================================================== */

/* BFANT26 */
/* Seitenraender Container */
@media (min-width: 1649px) {
  .elementor>.e-con-boxed { padding-left: 0; padding-right: 0; }
  .elementor>.e-con-boxed>.e-con-inner { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 768px) and (max-width: 1648px) {
  .elementor>.e-con-boxed { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (max-width: 767px) {
  .elementor>.e-con-boxed { padding-left: 1rem; padding-right: 1rem; }
}

/* Seitenraender Elementor Editor */
@media (min-width: 768px) {
  .elementor-editor-active .elementor-section-wrap .e-con-boxed { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (max-width: 767px) {
  .elementor-editor-active .elementor-section-wrap .e-con-boxed { padding-left: 1rem; padding-right: 1rem; }
}

/* Seitenraender Footer identische wie Header */
@media (max-width: 767px) {
  .site-footer-row-container-inner>.site-container { padding: 0rem 1rem; }
}

/* Woo icons hidden */
body:not(.woocommerce):not(.woocommerce-cart):not(.woocommerce-checkout) .header-cart-button,
body:not(.woocommerce):not(.woocommerce-cart):not(.woocommerce-checkout) .header-account-button{
  display: none;
}
/* icon list link */
.elementor-widget-icon-list .elementor-icon-list-item a {
  color: inherit !important;
  text-decoration: none !important;
}

.elementor-widget-icon-list .elementor-icon-list-item a .elementor-icon-list-text {
  color: inherit !important;
}

.elementor-widget-icon-list .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: inherit !important;
}

/* WP edit not like elementor button style */
.customize-partial-edit-shortcut button,
button.customize-partial-edit-shortcut-button{
  border: 0 !important;
  box-shadow: none !important;
}

/* grid fix mobile */
@media (max-width: 767px){
  .grid-fix .e-con-inner{ grid-template-rows: auto !important; }
}

/* button unten auf einer Linie */
@media (min-width: 768px){
  .button-info-box .elementor-widget-button{ margin-top: auto; }
}

/* === MINI CART ITEMS: 4-COLUMN LAYOUT (QTY | NAME | PRICE | ICON) ===== */

/* Each cart item is a single flex row */
.bf-right .bf-mini-cart .woocommerce-mini-cart-item{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 5px 0 10px 0;
}

/* IMPORTANT: allow flex children to shrink properly (prevents weird wrapping) */
.bf-right .bf-mini-cart .woocommerce-mini-cart-item > *{
  min-width: 0;
}

/* Quantity wrapper – its children become flex items */
.bf-right .bf-mini-cart .woocommerce-mini-cart-item .quantity{
  display: contents;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
}

/* 1) LEFT COLUMN: qty pill / controls */
.bf-right .bf-mini-cart .bf-mini-qty{
  order: 1;
  flex: 0 0 50px;
  display: flex;
  padding-right: 6px;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* 2) MIDDLE COLUMN: product name */
.bf-right .bf-mini-cart .woocommerce-mini-cart-item > a:not(.remove_from_cart_button){
  order: 2;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  color: #222;
  text-decoration: none;

  /* THIS is what stops the “name dropping under qty” */
  white-space: normal;
  overflow-wrap: anywhere;
}

/* 3) PRICE COLUMN */
.bf-right .bf-mini-cart .bf-mini-price{
  order: 3;
  flex: 0 0 65px;
  font-size: 15px;
  font-weight: 600;
  text-align: right;
  line-height: 1.4;
  white-space: nowrap;
}

/* 4) TRASH ICON */
.bf-right .bf-mini-cart .woocommerce-mini-cart-item .remove_from_cart_button{
  order: 4;
  flex: 0 0 auto;
  margin-left: 4px;
  align-self: center;
}

/* ==========================================================================
   MINI CART / SÄTTIGUNGSRECHNER + FEES (keep here if used outside shop archive)
   ========================================================================== */

.cart-top-text{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.widget .cart-top-text .saettigungstext-inner{
  width: 100%;
  font-size: 15px;
  position: relative;
  text-align: center;
  padding-right: 24px; /* reserve space so text doesn't go under the icon */
  line-height: 2;
}

.widget .cart-top-text .saettigungstext-inner p{ margin: 0; }

.widget .cart-top-text .saettigungstext-inner .mini-cart-headline,
.widget .cart-top-text .saettigungstext-inner .mini-cart-personen,
.widget .cart-top-text .saettigungstext-inner .mini-cart-price-per-person,
.widget .cart-top-text .saettigungstext-inner .mini-cart-gramm-per-person{
  color: #111;
  font-weight: bold;
}

/* Tooltip bubble */
.saettigungstext .tooltip{
  visibility: hidden;
  min-width: 200px;
  max-width: 230px;
  background-color: #222;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  position: absolute;
  z-index: 1;
  padding: 5px;
  font-size: 13px;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

/* Arrow variants */
.saettigungstext .tooltip-arrow-left::before{
  content: '';
  position: absolute;
  display: block;
  width: 0px;
  left: 0;
  top: 50%;
  border: 10px solid transparent;
  border-left: 0;
  border-right: 10px solid #222;
  transform: translate(calc(-100% - 0px), -50%);
}
.saettigungstext .tooltip-arrow-right::before{
  content: '';
  position: absolute;
  display: block;
  width: 0px;
  right: 0;
  bottom: 3px;
  border: 10px solid transparent;
  border-right: 0;
  border-left: 10px solid #222;
  transform: translate(calc(100% - 1px), -50%);
}
.saettigungstext .tooltip-arrow-top::before{
  content: '';
  position: absolute;
  display: block;
  width: 0px;
  left: 50%;
  top: 0;
  border: 10px solid transparent;
  border-top: 0;
  border-bottom: 1px solid #222;
  transform: translate(-50%, calc(-100% - 5px));
}
.saettigungstext .tooltip-arrow-bottom::before{
  content: '';
  position: absolute;
  display: block;
  width: 0px;
  left: 50%;
  bottom: 0;
  border: 10px solid transparent;
  border-bottom: 0;
  border-top: 10px solid #222;
  transform: translate(-50%, calc(100% + 5px));
}

/* INFO ICON in mini cart */
.widget .cart-top-text .saettigungstext-inner i.popup-icon{
  display: inline-block;
  width: 16px;
  height: 16px;
  font-style: normal;
  cursor: pointer;
  position: absolute;
  top: 6px;
  right: 0;
  margin-left: 0;
  background-image: url("assets/img/saettigungsrechner-images/info-icon.svg");
  vertical-align: sub;
}

/* Show tooltip on hover */
.widget .cart-top-text .saettigungstext-inner i.popup-icon:hover .tooltip{
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

/* spacing after the left Sättigungsrechner icon */
.widget .cart-top-text > img{
  margin-right: 10px;
  margin-bottom: 10px;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
}

/* INLINE Gäste-Pill in Sättigungsrechner line */
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart{
  margin: 0 4px;
  padding: 0;
  border: none;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 0;
  vertical-align: middle;
}

/* Hide Gäste -/+ buttons (keep only number) */
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart #minus-personen,
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart #plus-personen,
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart > .minus,
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart > .plus{
  display: none !important;
}

/* Make the remaining number pill look centered + clean */
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart{ gap: 0 !important; }

.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart #anz_person{
  width: 44px;
  height: 26px;
  box-sizing: border-box;
  border-radius: 25px !important;
  border: 1px solid #ddd !important;
  background: #faf7f3;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  -moz-appearance: textfield;
  appearance: textfield;
}

/* remove native number arrows */
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart #anz_person::-webkit-inner-spin-button,
.bf-mini-cart-saettigung #anzahl-gaeste-mini-cart #anz_person::-webkit-outer-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

.bf-mini-cart-saettigung {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, .12);
}

.bf-right .bf-mini-cart .mini-cart-price-per-person{ white-space: nowrap; }


/* --- Delivery-slot fees in mini cart ----------------------------------- */
.bf-mini-cart-fees{
  margin: 4px 0 8px;
  padding: 10px 0 10px 0;
  border-top: 2px solid #eee;
  border-bottom: 2px solid #eee;
}

.bf-mini-cart-fee{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 0;
  padding: 1px 0;
}

.bf-mini-cart-fee__label{
  font-size: 13px;
  font-weight: 600;
}

.bf-mini-cart-fee__amount{
  font-size: 15px;
  font-weight: 500;
}

/* Layout INSIDE helper quantity: pill | label | price */
.bf-mini-cart .quantity.bf-mini-helper-quantity{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* pill locked, but same look */
.bf-mini-cart .quantity.bf-mini-helper-quantity .bf-mini-qty--locked{
  pointer-events: none;
}

/* make sure label takes the middle space */
.bf-mini-cart .quantity.bf-mini-helper-quantity .bf-mini-label{
  flex: 1;
  font-size: 16px;
  font-weight: 500 !important;
}

/* price sticks to the right within the row */
.bf-mini-cart .quantity.bf-mini-helper-quantity .bf-mini-price{
  margin-left: auto;
}

/* trash icon on helper lines: visible but not clickable */
.bf-mini-cart li.bf-mini-helper-item > a.remove{
  pointer-events: none;
  opacity: .3;
}


/* The clickable button around the pill */
.bf-delivery-toggle{
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

/* The pill container */
.bf-delivery-toggle__pill{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 80px;
  height: 30px;
  border-radius: 25px;
  background: #faf7f3;
  box-sizing: border-box;
  font-size: 11px;
  text-transform: uppercase;
  border: 1px solid rgba(0,0,0,.12);
}

/* Moving knob */
.bf-delivery-toggle__knob{
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: 1px;
  width: 50%;
  border-radius: 25px;
  background: #9d0b02;
  transition: left 0.2s ease, right 0.2s ease;
}

.bf-delivery-toggle__text{
  position: relative;
  z-index: 1;
  width: 50%;
  text-align: center;
  font-weight: 600;
  color: #222;
}

/* Active text white */
.bf-delivery-toggle[data-current="1h"] .bf-delivery-toggle__text--left,
.bf-delivery-toggle[data-current="2h"] .bf-delivery-toggle__text--right{
  color: #ffffff;
}

/* Knob positions */
.bf-delivery-toggle[data-current="1h"] .bf-delivery-toggle__knob{ left: -1px; right: auto; }
.bf-delivery-toggle[data-current="2h"] .bf-delivery-toggle__knob{ left: auto; right: -1px; }

/* Hover: turn the pill border red */
.bf-delivery-toggle:hover .bf-delivery-toggle__pill,
.bf-delivery-toggle:focus-visible .bf-delivery-toggle__pill{
  border-color: #9d0b02;
}

/* Optional: mini-cart fee row spacing so toggle doesn’t squash amount */
.bf-mini-cart-fee--delivery .bf-mini-cart-fee__label{ margin-right: 6px; }
.bf-mini-cart-fee--delivery .bf-mini-cart-fee__amount{ margin-left: 6px; }

/* Kill Kadence default button background for the Liefer-toggle */
.bf-mini-cart .bf-delivery-toggle,
.bf-mini-cart .bf-delivery-toggle:hover,
.bf-mini-cart .bf-delivery-toggle:focus,
.bf-mini-cart .bf-delivery-toggle:active{
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
  border: 0;
}

/* Mini-cart "Gesamtsumme" line */
.bf-mini-cart-total{
  margin: 10px 0 16px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
}

.bf-mini-cart-total__label{ font-weight: bold; }

/* Helper lines (Abholung / Speisewärmer / Aufbau) */
.bf-right .bf-mini-cart li.bf-mini-helper-item{
  display: flex;
  align-items: center;
}

/* Internal layout: [qty pill] [name] [price] – full-width row */
.bf-right .bf-mini-cart li.bf-mini-helper-item .bf-mini-helper-quantity{
  display: flex;
  align-items: center;
  gap: 3px;
  width: 100%;
}

/* explicit order inside the helper block */
.bf-right .bf-mini-cart .bf-mini-helper-quantity .bf-mini-qty{ order: 1; }
.bf-right .bf-mini-cart .bf-mini-helper-quantity .bf-mini-label{ order: 2; }
.bf-right .bf-mini-cart .bf-mini-helper-quantity .bf-mini-price{
  order: 3;
  margin-left: auto;
}

/* optional: tiny spacing before the trash icon */
.bf-right .bf-mini-cart li.bf-mini-helper-item a.remove{ margin-left: 4px; }

/* generic fee row + second line (time window) */
.bf-right .bf-mini-cart .bf-mini-cart-fee{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* first line: label left, amount right */
.bf-right .bf-mini-cart .bf-mini-cart-fee__label{ flex: 1 1 auto; }
.bf-right .bf-mini-cart .bf-mini-cart-fee__amount{ margin-left: auto; }

/* second line: delivery window under Lieferzeitfenster */
.bf-right .bf-mini-cart .bf-mini-cart-fee__window{
  flex: 0 0 100%;
  font-size: 13px;
  line-height: 1;
  color: #666;
  margin-top: 0px;
}

/* Nudge the Lieferzeitfenster toggle a bit to the left */
.bf-right .bf-mini-cart .bf-mini-cart-fee--delivery .bf-delivery-toggle{
  margin-right: 8px;
}

/* === Lieferpauschale breakdown arrow =================================== */

/* Main row: label + arrow + amount */
.bf-right .bf-mini-cart .bf-mini-cart-fee.bf-mini-cart-fee--info{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

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

.bf-right .bf-mini-cart .bf-mini-cart-fee--info .bf-fee-arrow{ order: 1; }
.bf-right .bf-mini-cart .bf-mini-cart-fee--info .bf-mini-cart-fee__amount{ order: 2; }

/* amount pushed right */
.bf-right .bf-mini-cart .bf-mini-cart-fee--info .bf-mini-cart-fee__amount{
  margin-left: auto;
}

/* Arrow button: kill Kadence look */
.bf-right .bf-mini-cart .bf-fee-arrow{
  border: none;
  background: none;
  color: #9d0b02;
  padding: 0;
  margin-left: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* caret icon */
.bf-right .bf-mini-cart .bf-fee-arrow::before{
  content: "";
  width: 7px;
  height: 7px;
  border: 2px solid currentColor;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg);
}

/* open state → arrow up */
.bf-right .bf-mini-cart .bf-mini-cart-fee--info[data-open="1"] .bf-fee-arrow::before{
  transform: rotate(-135deg);
}

/* Breakdown block under Lieferpauschale */
.bf-right .bf-mini-cart .bf-fee-breakdown{
  padding: 4px 1px 2px 0px;
  font-size: 13px;
}

/* Each breakdown line: label | amount */
.bf-right .bf-mini-cart .bf-fee-breakdown-row{
  display: flex;
  justify-content: space-between;
  gap: 6px;
}

.bf-right .bf-mini-cart .bf-fee-breakdown-label{
  color: #666;
  font-size: 12px;
  font-weight: 500;
}

.bf-right .bf-mini-cart .bf-fee-breakdown-amount{
  color: #666;
  font-size: 15px;
  font-weight: 500;
}

.bf-right .bf-mini-cart .bf-fee-breakdown-amount .woocommerce-Price-amount{
  white-space: nowrap;
}


/* hard kill transitions so nothing “lags” */
.bf-archive-qty-wrap > .bf-archive-minus,
.bf-archive-qty-wrap > .bf-archive-qty-input,
.bf-archive-qty-wrap > .bf-archive-plus{
  transition: none !important;
  animation: none !important;
}

/* Old price stays above, smaller and muted */
.woocommerce ul.products li.product .price del{
  display: block !important;
  opacity: 0.55 !important;
	font-size: 16px;
  font-weight: 500 !important;
  margin: 0 0 1px 0 !important;
  color: #777 !important;
  text-decoration-thickness: 1px;
}

/* New/current price stays same size/weight as normal products */
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price > .woocommerce-Price-amount{
  font-size: 16px !important;
  font-weight: 500 !important;
  color: inherit !important;
}

/* bffantnew */
/* 4 number boxen */
.number-top-box {
	margin-top: -40px;
	height: 50px;
}
.number-top-box p {
	margin: 0;
	padding: 0;
}
.icon-middle-box {
	margin-top: -20px;
}

/* Reorder Borlabs groups in the first modal row */
.borlabs-cookie ._brlbs-group[data-borlabs-cookie-group="essential"] {
  order: 1 !important;
}

.borlabs-cookie ._brlbs-group[data-borlabs-cookie-group="statistics"] {
  order: 2 !important;
}

.borlabs-cookie ._brlbs-group[data-borlabs-cookie-group="marketing"] {
  order: 3 !important;
}

.borlabs-cookie ._brlbs-group[data-borlabs-cookie-group="external-media"] {
  order: 4 !important;
}

.borlabs-cookie ._brlbs-legal[data-borlabs-cookie-group="essential"] {
  order: 1 !important;
}

.borlabs-cookie ._brlbs-legal[data-borlabs-cookie-group="statistics"] {
  order: 2 !important;
}

.borlabs-cookie ._brlbs-legal[data-borlabs-cookie-group="marketing"] {
  order: 3 !important;
}

.borlabs-cookie ._brlbs-legal[data-borlabs-cookie-group="external-media"] {
  order: 4 !important;
}

.borlabs-cookie ._brlbs-checkboxes,
.borlabs-cookie ._brlbs-legal-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}