/*
  CSS für Kassenseite
  Autor: AD / Stefan Biba

  Version: 6.03
  Zuletzt aktualisiert: 09.07.2026
*/

.bb-checkout-page {

  --bb-text:     var(--color-body);
  --bb-white:    var(--color-white);
  --bb-field-bg: var(--color-grey);
  --bb-green:    var(--color-green);
  --bb-red:      var(--color-red);
  --bb-badge:    var(--color-body);

  --bb-border: #eee;
  --bb-radio:  #ccc;
  --bb-muted:  #777;
  --bb-shadow: 0 0 20px -10px rgba(0, 0, 0, .3);

  --bb-fs:        var(--fs-p);
  --bb-fs-h4:     var(--fs-h4);
  --bb-fs-small:  var(--fs-small);
  --bb-fs-button: var(--fs-button);
  --bb-lh:        var(--lh-p);
  --bb-lh-h4:     var(--lh-h4);
  --bb-lh-button: var(--lh-button);
}

.bb-checkout-page #customer_details,
.bb-checkout-page #order_review {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bb-checkout-page #order_review,
.bb-checkout-page .woocommerce-checkout-review-order,
.bb-checkout-page .bb-order-review,
.bb-checkout-page .bb-order-review__products,
.bb-checkout-page .bb-order-review__totals {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.bb-checkout-page .payment_methods li {
  border: none !important;
  padding: 0 !important;
}

.bb-checkout-page .bb-checkout-layout {
  display: grid !important;
  grid-template-columns: 70fr 30fr !important;
  gap: 32px !important;
  align-items: start !important;
}

.bb-checkout-page #content {
  overflow: visible !important;
  overflow-x: clip !important;
}

.bb-checkout-sidebar {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 220px !important;
  align-self: start !important;
}

@media (max-width: 1024px) {
  .bb-checkout-page .bb-checkout-layout {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }
  .bb-checkout-sidebar { position: static !important; }
}

@media (max-width: 768px) {
  .bb-checkout-page .bb-checkout-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .bb-checkout-main    { order: 1 !important; }
  .bb-checkout-sidebar { order: 2 !important; }
  .bb-checkout-section { scroll-margin-top: 60px; }
}

.bb-checkout-section {
  background: var(--bb-white);
  border: 2px solid transparent !important;
  border-radius: 24px !important;
  box-shadow: var(--bb-shadow);
  margin-bottom: 16px;
  overflow: hidden;
  scroll-margin-top: 220px;
}
.bb-checkout-section:last-child { margin-bottom: 0; }

.bb-checkout-section:has(.bb-section-toggle[aria-expanded="false"]):hover {
  border-color: var(--color-yellow) !important;
}

.bb-checkout-section:has(.bb-section-toggle[aria-expanded="true"]) {
  border-color: var(--color-yellow) !important;
}

.bb-order-review-section {
    border-color: var(--color-yellow) !important;
}

.bb-section-body {
  padding: 24px;
}

.bb-section-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 20px 24px !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  color: var(--bb-text) !important;
  font-family: inherit !important;
  gap: 12px !important;
}

.bb-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: var(--bb-fs-h4) !important;
  font-weight: normal !important;
  line-height: var(--bb-lh-h4) !important;
  color: var(--bb-text) !important;
}

.bb-section-number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--bb-badge) !important;
  color: var(--bb-white) !important;
  font-size: var(--bb-fs-h4) !important;
  font-weight: normal !important;
  flex-shrink: 0 !important;
}

.bb-section-arrow {
  flex-shrink: 0;
  transition: none;
  opacity: .4;
  filter: none !important;
}

.bb-acc-ready .bb-section-arrow {
  transition: transform .28s ease;
}
.bb-section-toggle[aria-expanded="false"] .bb-section-arrow {
  transform: rotate(-90deg);
}

.bb-section-toggle[aria-expanded="true"] {
  border-bottom: 1px solid var(--bb-border) !important;
}

.bb-order-review-section .bb-section-number { display: none; }

.bb-order-review-section .bb-section-title,
#bb-section-order-review .bb-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.bb-order-review__count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgb(255, 240, 100) !important;
  color: rgb(43, 37, 37) !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.bb-section-header {
  display: flex;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--bb-border);
}

.bb-section-header .bb-section-title {
  font-size: var(--bb-fs-h4) !important;
  font-weight: normal !important;
  color: var(--bb-text) !important;
}

.bb-login-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
}
.bb-login-heading {
  font-size: var(--bb-fs-h4) !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  color: var(--bb-text) !important;
}
.bb-login-subtitle {
  font-size: var(--bb-fs) !important;
  color: var(--bb-text) !important;
  margin: 0 0 16px !important;
}
.bb-login-col .form-row { margin: 0 0 12px !important; padding: 0 !important; }
.bb-login-remember {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: var(--bb-fs) !important;
  margin: 4px 0 0 !important;
  cursor: pointer !important;
  color: var(--bb-text) !important;
}
.bb-login-btn,
.bb-guest-continue {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--bb-text) !important;
  color: var(--bb-white) !important;
  border: 2px solid var(--bb-text) !important;
  border-radius: 60px !important;
  font-size: var(--bb-fs-button) !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  padding: clamp(14px, 3vw, 18px) clamp(20px, 3vw, 24px) !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: opacity .2s ease !important;
  line-height: var(--bb-lh-button) !important;
}

.bb-guest-continue {
  background: var(--bb-white) !important;
  color: var(--bb-text) !important;
  border: 2px solid var(--bb-text) !important;
}
.bb-login-btn:hover,
.bb-guest-continue:hover { opacity: .85 !important; }
.bb-login-btn[disabled] { opacity: .6 !important; cursor: default !important; }
.bb-login-lost { margin: 8px 0 12px !important; font-size: var(--bb-fs) !important; }
.bb-login-lost a { color: var(--color-green) !important; text-decoration: none !important; }
.bb-login-error { margin: 10px 0 0 !important; color: var(--bb-red) !important; font-size: var(--bb-fs-small) !important; }
.bb-login-col--guest p { font-size: var(--bb-fs) !important; margin: 0 0 16px !important; color: var(--bb-text) !important; }

.bb-login-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  margin-top: 20px !important;
}

@media (max-width: 768px) {
  .bb-login-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .bb-login-actions { grid-template-columns: 1fr !important; gap: 12px !important; }

  #bb-section-login .bb-section-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  #bb-section-login .bb-login-grid:not(.bb-reset-active),
  #bb-section-login .bb-login-grid:not(.bb-reset-active) ~ .bb-login-actions {
    display: contents !important;
  }
  #bb-section-login .bb-login-grid:not(.bb-reset-active) .bb-login-col--login { order: 1 !important; }
  #bb-section-login .bb-login-grid:not(.bb-reset-active) ~ .bb-login-actions #bb-login-submit { order: 2 !important; }
  #bb-section-login .bb-login-grid:not(.bb-reset-active) .bb-login-col--guest { order: 3 !important; }
  #bb-section-login .bb-login-grid:not(.bb-reset-active) ~ .bb-login-actions #bb-guest-continue { order: 4 !important; }
}

#customer_details .col-1,
#customer_details .col-2 {
  float: none !important;
  width: 100% !important;
}

.bb-checkout-form .woocommerce-billing-fields > h3 {
  display: none !important;
}

.bb-checkout-form .form-row label,
.bb-checkout-form label {
  font-size: var(--bb-fs) !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
  color: var(--bb-text) !important;
  display: block !important;
}

.bb-checkout-form .form-row input.input-text {
  background: var(--bb-field-bg) !important;
  border: none !important;
  border-radius: 60px !important;
  font-size: var(--bb-fs) !important;
  font-family: inherit !important;
  padding: clamp(12px, 3vw, 16px) clamp(20px, 3vw, 24px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: box-shadow .2s ease !important;
  height: auto !important;
}

.bb-checkout-form .form-row textarea,
#order_comments {
  background: var(--bb-field-bg) !important;
  border: none !important;
  border-radius: 24px !important;
  font-size: var(--bb-fs) !important;
  font-family: inherit !important;
  padding: clamp(12px, 3vw, 16px) clamp(20px, 3vw, 24px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 200px !important;
  resize: vertical !important;
  line-height: var(--bb-lh) !important;
}

.bb-checkout-form .form-row input.input-text:focus,
.bb-checkout-form .form-row textarea:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--bb-text) !important;
}

.bb-checkout-form .form-row .select2-container .select2-selection {
  transition: box-shadow .2s ease !important;

  box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 10px -5px inset !important;
}

#billing_country_field .select2-selection,
#shipping_country_field .select2-selection {
  background-image: none !important;
}
#billing_country_field .select2-selection::after,
#billing_country_field .select2-selection::before,
#shipping_country_field .select2-selection::after,
#shipping_country_field .select2-selection::before {
  content: none !important;
  background-image: none !important;
  display: none !important;
}

#billing_country_field .select2-selection__arrow,
#shipping_country_field .select2-selection__arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  right: 14px !important;
  width: 36px !important;
}

#billing_country_field .select2-selection__arrow b,
#shipping_country_field .select2-selection__arrow b {
  position: relative !important;
  top: 0 !important;
  left: auto !important;
  margin: 0 !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background-image: url("/wp-content/uploads/arrow-bottom.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  transition: transform .15s ease !important;
}

#billing_country_field .select2-container--open .select2-selection__arrow b,
#shipping_country_field .select2-container--open .select2-selection__arrow b {
  top: -2px !important;
  transform: rotate(180deg) !important;
  transform-origin: center !important;
}

#billing_country_field .select2-container--open .select2-selection,
#shipping_country_field .select2-container--open .select2-selection {
  border-radius: 22px 22px 0 0 !important;
  box-shadow: -2px 0 0 0 #1B1C1C, 2px 0 0 0 #1B1C1C, 0 -2px 0 0 #1B1C1C !important;
  position: relative !important;
}
.select2-container--default.select2-container--open .select2-dropdown--below {
  transform: translateY(4px) !important;
  background: #F1F1F1 !important;
  border: none !important;

  border-radius: 0 0 22px 22px !important;
  box-shadow: -2px 0 0 0 #1B1C1C, 2px 0 0 0 #1B1C1C, 0 2px 0 0 #1B1C1C, 0 14px 24px -14px rgba(0, 0, 0, 0.25) !important;
  overflow: hidden !important;
}

@media (min-width: 769px) {
  #billing_country_field .select2-container--open .select2-selection,
  #shipping_country_field .select2-container--open .select2-selection {
    border-radius: 27px 27px 0 0 !important;
  }
  .select2-container--default.select2-container--open .select2-dropdown--below {
    border-radius: 0 0 27px 27px !important;
  }
}

.select2-container--default.select2-container--open .select2-dropdown--below .select2-results {
  position: relative !important;
}
.select2-container--default.select2-container--open .select2-dropdown--below .select2-results::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 24px !important;
  right: 20px !important;
  height: 1px !important;
  background: rgba(0, 0, 0, 0.35) !important;
}
.select2-container--default.select2-container--open .select2-dropdown--below .select2-results__options {
  background: #F1F1F1 !important;
  padding: 8px 0 !important;
  max-height: 320px !important;
}
.select2-container--default.select2-container--open .select2-dropdown--below .select2-results__option {
  padding: 10px 24px !important;
  border-radius: 0 !important;
}
.select2-container--default.select2-container--open .select2-dropdown--below .select2-results__option--highlighted {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #000 !important;
}
.select2-container--default.select2-container--open .select2-dropdown--below .select2-results__option[aria-selected="true"] {
  background: #2B2525 !important;
  color: #fff !important;
}

.bb-checkout-form .form-row .select2-container--focus .select2-selection,
.bb-checkout-form .form-row .select2-container--open .select2-selection,
.bb-checkout-form .form-row .select2-container .select2-selection:focus,
.bb-checkout-form .form-row .select2-container--focus .select2-selection--single,
.bb-checkout-form .form-row .select2-container--open .select2-selection--single {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--bb-text) !important;
}

.bb-checkout-form .form-row .select2-container--default .select2-selection--single {
  transition: none !important;
}
.bb-checkout-form .form-row .select2-container--default .select2-selection--single:focus:not(:focus-visible) {
  border: 0 !important;
  border-color: transparent !important;
  outline: 0 !important;
}

.bb-checkout-form .form-row select:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--bb-text) !important;
}

@media (max-width: 768px) {
  .bb-checkout-form .form-row .select2-container .select2-selection {
    height: 44px !important;
    min-height: 44px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .bb-checkout-form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 20px !important;
  }
}

#order_comments_field > label {
  font-size: var(--bb-fs) !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

#bb-section-address-body .woocommerce-account-fields .create-account label.checkbox,
#bb-section-address-body #ship-to-different-address label.checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--bb-fs) !important;
  font-weight: 400 !important;
}

#bb-section-address-body .woocommerce-account-fields .create-account label.checkbox input[type="checkbox"],
#bb-section-address-body #ship-to-different-address label.checkbox input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.bb-checkout-form #customer_details .col-2 h3#ship-to-different-address,
#bb-section-address-body h3#ship-to-different-address {
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  font-size: var(--bb-fs) !important;
  font-weight: 400 !important;
}

#bb-section-address-body .woocommerce-account-fields .form-row.create-account {
  margin: 0 !important;
  padding: 0 !important;
}

#bb-section-address-body .woocommerce-account-fields {
  margin-top: 20px !important;
}

#bb-section-address-body .woocommerce-additional-fields {
  margin-top: 24px !important;
}

#bb-section-shipping-body .woocommerce-shipping-methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

#bb-section-shipping-body .woocommerce-shipping-methods li {
  border: 2px solid var(--bb-border) !important;
  border-radius: 16px !important;
  background: var(--bb-white) !important;
  transition: border-color .2s ease !important;
}

#bb-section-shipping-body .woocommerce-shipping-methods li:has(input:checked) {
  border-color: var(--bb-text) !important;
}

#bb-section-shipping-body .woocommerce-shipping-methods li label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 14px 18px !important;
  cursor: pointer !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: var(--bb-fs) !important;
}

#bb-section-shipping-body .woocommerce-shipping-methods .woocommerce-Price-amount {
  font-weight: 700 !important;
  margin-left: auto !important;
}

#bb-section-shipping-body .wgm-tax.product-tax {
  display: none !important;
}

.bb-coupon-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

.bb-coupon-wrapper form.bb-coupon-form,
#bb-checkout-form-coupon,
.bb-coupon-wrapper .bb-coupon-form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 100% !important;
}

.bb-coupon-wrapper .form-row-first {
  flex: 0 0 60% !important;
  max-width: 60% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bb-coupon-wrapper .form-row-last {
  flex: 0 0 calc(40% - 10px) !important;
  max-width: calc(40% - 10px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bb-coupon-wrapper input#coupon_code {
  background: var(--bb-field-bg) !important;
  border: none !important;
  border-radius: 60px !important;
  font-size: var(--bb-fs) !important;
  font-family: inherit !important;
  padding: clamp(12px,3vw,16px) clamp(20px,3vw,24px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.bb-coupon-submit {
  background: var(--bb-text) !important;
  color: var(--bb-white) !important;
  border: 1px solid var(--bb-text) !important;
  border-radius: 60px !important;
  font-size: var(--bb-fs) !important;
  font-family: inherit !important;
  font-weight: normal !important;
  padding: clamp(12px,3vw,16px) clamp(12px,3vw,16px) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: opacity .2s ease !important;
  line-height: var(--bb-lh-button) !important;
}
.bb-coupon-submit:hover { opacity: .85 !important; }

.woocommerce-remove-coupon {
  font-size: var(--bb-fs-small) !important;
  color: var(--bb-red) !important;
  text-decoration: none !important;
  margin-left: 8px !important;
}

#bb-section-payment-body #payment {
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

#bb-section-payment-body .add_gift_card_form,
#bb-section-payment-body .wc-gift-cards,
#bb-section-payment-body .woocommerce-gift-card-fields {
  display: none !important;
}

#bb-section-payment-body .wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border: none !important;
}

.bb-payment-fully-paid {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  color: var(--bb-muted) !important;
  font-size: var(--bb-fs) !important;
}

#bb-section-payment-body .wc_payment_method {
  border: 2px solid var(--bb-border) !important;
  border-radius: 16px !important;
  background: var(--bb-white) !important;
  transition: border-color .2s ease !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#bb-section-payment-body .wc_payment_method:has(input:checked) {
  border-color: var(--bb-text) !important;
}

#bb-section-payment-body .wc_payment_method input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#bb-section-payment-body .wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 14px 18px !important;
  cursor: pointer !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: var(--bb-fs) !important;
  border: none !important;
  background: none !important;
  box-sizing: border-box !important;
}

#bb-section-payment-body #payment .form-row {
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#bb-section-payment-body .wc_payment_method > label img:first-of-type {
  margin-left: auto !important;
}

#bb-section-payment-body .wc_payment_method > label::before {
  content: '' !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  border: 2px solid var(--bb-radio) !important;
  background: var(--bb-white) !important;
  box-sizing: border-box !important;
  margin-right: 12px !important;
  transition: border-color .2s ease, background .2s ease !important;
}

#bb-section-payment-body .wc_payment_method:has(input:checked) > label::before {
  border-color: var(--bb-text) !important;
  background: var(--bb-text) !important;
  box-shadow: inset 0 0 0 4px var(--bb-white) !important;
}

#bb-section-payment-body .wc_payment_method > label img {
  margin-left: 0 !important;
  max-height: 22px !important;
  width: auto !important;
  border-radius: 0 !important;
}

#bb-section-payment-body .payment_box {
  padding: 0 18px 14px !important;
  font-size: var(--bb-fs-small) !important;
  color: var(--bb-muted) !important;
  border: none !important;
  background: none !important;
}

#bb-section-payment-body .payment_box::before {
  display: none !important;
}

#bb-section-payment-body .mollie-component-label {
  display: block !important;
  font-size: var(--bb-fs) !important;
  font-weight: 400 !important;
  margin-bottom: 6px !important;
  color: var(--bb-text) !important;
}

#bb-section-payment-body #cardHolder,
#bb-section-payment-body #cardNumber,
#bb-section-payment-body #expiryDate,
#bb-section-payment-body #verificationCode {
  margin-bottom: 14px !important;
}

#bb-section-payment-body .mollie-components > div {
  margin-top: -11px !important;
  margin-bottom: 0 !important;
}

#bb-section-payment-body .mollie-component {
  background: var(--bb-field-bg) !important;
  border: 0 !important;
  border-radius: 60px !important;
  padding: clamp(12px, 3vw, 16px) clamp(20px, 3vw, 24px) !important;
  box-sizing: border-box !important;
  box-shadow: inset 0 2px 10px -5px rgba(0, 0, 0, 0.2) !important;
  transition: box-shadow .2s ease !important;
}

#bb-section-payment-body .mollie-component iframe {
  display: block !important;
  width: 100% !important;
}

#bb-section-payment-body .mollie-component.has-focus {
  box-shadow: 0 0 0 2px var(--bb-text) !important;
}
#bb-section-payment-body .mollie-component.is-invalid {
  box-shadow: 0 0 0 2px var(--bb-red) !important;
}

#bb-section-payment-body .place-order,
#bb-section-payment-body #place_order,
#bb-section-payment-body .bb-place-order-btn {
  display: none !important;
}

#bb-section-payment-body .woocommerce-terms-and-conditions-wrapper {
  font-size: var(--bb-fs-small) !important;
  margin-top: 12px !important;
}

.bb-order-review__products {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

.bb-order-review__count-divider {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 19px 0 11px !important;
  font-size: .95rem !important;
  color: rgba(0, 0, 0, .45) !important;
  line-height: 1 !important;
}
.bb-order-review__count-divider::before,
.bb-order-review__count-divider::after {
  content: "" !important;
  flex: 1 !important;
  height: 8px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8' viewBox='0 0 16 8'%3E%3Cpath d='M0 4 Q 4 0 8 4 T 16 4' fill='none' stroke='rgba(0,0,0,0.28)' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  background-repeat: repeat-x !important;
  background-position: center !important;
}
.bb-order-review__count-divider span {
  white-space: nowrap !important;
}

.bb-order-review__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  min-height: 72px !important;
}

.bb-order-review__item-image {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 12px !important;
  overflow: visible !important;
  background: var(--bb-field-bg) !important;
}
.bb-order-review__item-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px !important;
}

.bb-order-review__item-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0 !important;
  border-radius: 12px !important;
}

.bb-qty-badge {
  position: absolute !important;
  right: -8px !important;
  bottom: -8px !important;
  min-width: 30px !important;
  height: 30px !important;
  padding: 0 7px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: var(--color-body) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18) !important;
}

.bb-order-review__item-details {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin-top: 6px !important;
}

.bb-order-review__item-qty {
  display: none !important;
}

.bb-order-review__item-name {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--bb-text) !important;
  line-height: 1.3 !important;
  display: block !important;
  margin-bottom: .2em !important;
}

.bb-order-review__item-meta {
  font-size: calc(var(--bb-fs-small) * 1.2) !important;
  line-height: 1.3;
  color: var(--bb-muted) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin-bottom: .64em;
}

.bb-order-review__item-bulk {
  color: var(--bb-green) !important;
  font-weight: 400 !important;
  font-size: .875rem !important;
}
.bb-order-review__item-bulk .bb-bulk-amount {
  font-weight: 700 !important;
}

.bb-order-review__item-price {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--bb-text) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  text-align: right !important;
  line-height: 1.3 !important;
  margin-top: 6px !important;
}

.bb-order-review__item-price .wgm-tax {
  display: none !important;
}

.bb-order-review__totals {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.bb-order-review__row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 8px !important;
  font-size: var(--bb-fs) !important;
}

.bb-order-review__label { color: var(--bb-text) !important; }

.bb-order-review__subtotal > .bb-order-review__label,
.bb-order-review__shipping > .bb-order-review__label,
.bb-order-review__discount > .bb-order-review__label,
.bb-order-review__giftcard-line > .bb-order-review__label {
  font-weight: 700 !important;
}
.bb-order-review__value { font-weight: 500 !important; color: var(--bb-text) !important; text-align: right !important; }
.bb-order-review__value--discount { color: var(--bb-green) !important; font-weight: 700 !important; }
.bb-order-review__value--giftcard { color: var(--bb-green) !important; font-weight: 700 !important; }

.bb-order-review__bulk-savings .bb-order-review__value {
  display: none !important;
}
.bb-order-review__bulk-savings .bb-bulk-inline-val {
  color: var(--bb-green) !important;
  font-weight: 400 !important;
  font-size: .8em !important;
}

.bb-order-review__discount + .bb-order-review__discount,
.bb-order-review__discount + .bb-order-review__giftcard-line,
.bb-order-review__giftcard-line + .bb-order-review__discount,
.bb-order-review__giftcard-line + .bb-order-review__giftcard-line,
.bb-order-review__bulk-savings + .bb-order-review__discount {
  margin-top: 4px !important;
}

/* Wert-Bündigkeit ohne Box-Vergrößerung: Label (inkl. Icon) und Wert mittig. */
.bb-order-review__discount,
.bb-order-review__giftcard-line {
  align-items: center !important;
}

.bb-order-review__shipping-label--inline {
  justify-content: flex-start !important;
  margin-top: 0 !important;
}
.bb-order-review__shipping-by {
  color: var(--bb-text) !important;
  text-align: left !important;
}

.bb-order-review__subtotal > .bb-order-review__label,
.bb-order-review__subtotal > .bb-order-review__value,
.bb-order-review__shipping > .bb-order-review__label,
.bb-order-review__shipping > .bb-order-review__value {
  font-size: 20px !important;
}

.bb-order-review__shipping > .bb-order-review__value {
  transform: translateY(-5.7px) !important;
}

.bb-free-shipping    { color: var(--bb-green) !important; font-weight: 700 !important; }
.bb-shipping-pending { color: var(--bb-muted) !important; font-style: italic !important; }

.bb-order-review__total {
  margin-top: 0 !important;
}
.bb-order-review__total .bb-order-review__label {
  font-size: var(--bb-fs-h4) !important;
  font-weight: 700 !important;
}
.bb-order-review__total .bb-order-review__value {
  font-size: var(--bb-fs-h4) !important;
  font-weight: 700 !important;
}

.bb-order-review__tax-line {
  font-size: var(--bb-fs-small) !important;
  color: var(--bb-muted) !important;
  margin-top: 0 !important;
}

.bb-order-review__totals label[for="use_gift_card_balance"],
.bb-order-review__totals #use_gift_card_balance {
  display: none !important;
}

#bb-section-coupon-body .bb-giftcard-card {
  flex: 0 0 100% !important;
  width: 100% !important;
  border: 2px solid var(--bb-border) !important;
  border-radius: 16px !important;
  background: var(--bb-white) !important;
  transition: border-color .2s ease !important;
  margin-top: 4px !important;
  overflow: hidden !important;
}
#bb-section-coupon-body .bb-giftcard-card:has(input[type="checkbox"]:checked) {
  border-color: var(--bb-text) !important;
}
#bb-section-coupon-body .bb-giftcard-card__label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  font-size: var(--bb-fs) !important;
}

#bb-section-coupon-body .bb-giftcard-card__text {
  color: var(--bb-text) !important;
}

#bb-section-coupon-body .bb-giftcard-card__amount {
  margin-left: auto !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
#bb-section-coupon-body .bb-giftcard-card__amount .woocommerce-Price-amount {
  font-weight: 700 !important;
}

#bb-section-coupon-body .bb-giftcard-card__amount--available,
#bb-section-coupon-body .bb-giftcard-card__amount--available .woocommerce-Price-amount {
  color: var(--bb-green) !important;
}

#bb-section-coupon-body .bb-giftcard-card__amount--active,
#bb-section-coupon-body .bb-giftcard-card__amount--active .woocommerce-Price-amount {
  color: var(--bb-green) !important;
}

#bb-section-coupon-body .bb-giftcard-notice {
  margin: 12px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--bb-text) !important;
}

.bb-order-review__cta {
  margin-top: 20px !important;
}

.bb-order-review__sep {
  border: 0 !important;
  border-top: 1px solid var(--bb-border, #e5e5e5) !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  background: none !important;
  width: 100% !important;
}

/* Einheitlich 12px sichtbarer Abstand ober- und unterhalb jeder Trennlinie.
   Da die Nachbarzeilen unterschiedliche Eigenluft (line-height) haben, werden
   die Abstände pro Trennlinie über die jeweils folgende Zeile justiert. */
.bb-order-review__sep:has(+ .bb-order-review__shipping) {
  margin-top: 9px !important;
  margin-bottom: 10.2px !important;
}
.bb-order-review__sep:has(+ .bb-order-review__bulk-savings) {
  margin-top: 13px !important;
  margin-bottom: 9px !important;
}
.bb-order-review__sep:has(+ .bb-order-review__discount) {
  margin-top: 9px !important;
  margin-bottom: 10.2px !important;
}
.bb-order-review__sep:has(+ .bb-order-review__giftcard-line) {
  margin-top: 9px !important;
  margin-bottom: 10.2px !important;
}
.bb-order-review__sep:has(+ .bb-order-review__total) {
  margin-top: 9px !important;
  margin-bottom: 12px !important;
}

.bb-order-review__cta-btn {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--bb-text) !important;
  color: var(--bb-white) !important;
  border: none !important;
  border-radius: 60px !important;
  font-size: var(--bb-fs-button) !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  padding: 12px 24px !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: opacity .2s ease !important;
  line-height: 30px !important;
}
.bb-order-review__cta-btn:hover { opacity: .85 !important; }

@media (max-width: 600px) {

  .bb-section-body { padding-left: 18px !important; padding-right: 18px !important; }
  .bb-section-toggle { padding: 16px 18px !important; }

  .bb-section-header { padding: 16px 18px !important; }
  .bb-coupon-wrapper { flex-wrap: wrap !important; }
  .bb-coupon-wrapper .form-row-first  { flex: 0 0 60% !important; max-width: 60% !important; }
  .bb-coupon-wrapper .form-row-last   { flex: 0 0 calc(40% - 10px) !important; max-width: calc(40% - 10px) !important; }
  .bb-coupon-submit { width: 100% !important; }
}

#bb-section-coupon-body .bb-gc-notice {
  width: 100%;
  margin: 12px 1em 0;
  box-sizing: border-box;
}
#bb-section-coupon-body .bb-coupon-success.bb-gc-notice { color: #2e7d32; }
#bb-section-coupon-body .bb-coupon-error.bb-gc-notice   { color: var(--bb-red); }

#bb-section-coupon-body .bb-gc-rest { white-space: nowrap; }

#bb-section-coupon-body .bb-gc-session-list {
  width: 100%;
  margin-top: 12px;
}
#bb-section-coupon-body .bb-gc-session-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  margin: 0 1em;
  border-top: 1px solid #eee;
}
#bb-section-coupon-body .bb-gc-session-info {
  display: flex;
  flex-direction: column;
}
#bb-section-coupon-body .bb-gc-session-code {
  color: #777;
  font-size: .9em;
}
#bb-section-coupon-body .bb-gc-remove {
  background: none;
  border: none;
  color: #c0392b;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
  font-size: inherit;
  white-space: nowrap;
  flex: 0 0 auto;
}

@media (max-width: 600px) {

  #bb-section-coupon-body .bb-gc-session-info {
    width: 100%;
    align-items: flex-start;
    text-align: left;
  }
  #bb-section-coupon-body .bb-gc-session-amount,
  #bb-section-coupon-body .bb-gc-session-code {
    text-align: left;
  }
}

@media (max-width: 768px) {
  #bb-section-coupon-body .bb-gc-session-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  #bb-section-coupon-body .bb-gc-remove {
    margin-top: 0.6em;
    margin-left: 0;
    text-align: left !important;
  }
}

#bb-checkout-reset-views { display: none; }
.bb-reset-view { display: none; }
.bb-reset-view.active { display: block; }

.bb-login-grid.bb-reset-active { grid-template-columns: 1fr !important; }
.bb-login-grid.bb-reset-active .bb-login-col--guest { display: none !important; }
.bb-login-grid.bb-reset-active .bb-login-col--login > *:not(#bb-checkout-reset-views) { display: none !important; }
.bb-login-grid.bb-reset-active #bb-checkout-reset-views { display: block !important; }

.bb-login-actions.bb-reset-hidden { display: none !important; }

.bb-reset-view .bb-login-col-fields {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}
.bb-reset-view .bb-login-col-fields .form-row {
	margin: 0 !important;
}

.bb-reset-actions {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
	margin-top: 12px !important;
}

.bb-reset-actions--single {
	grid-template-columns: 1fr !important;
}
.bb-reset-actions--single .bb-login-btn {
	text-align: center !important;
	text-decoration: none !important;
}

.bb-lost-error,
.bb-reset-error {
	display: block !important;
	color: var(--color-red, #c00) !important;
	font-size: var(--fs-small, .85rem) !important;
	line-height: 1.5 !important;
	margin-bottom: 16px !important;
}
.bb-lost-error[hidden],
.bb-reset-error[hidden] {
	display: none !important;
}

@media (max-width: 600px) {
	.bb-reset-actions { grid-template-columns: 1fr !important; }
}

#customer_details.bb-single-col { display: block !important; }
#customer_details.bb-single-col .col-1,
#customer_details.bb-single-col .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

.bb-checkout-form .woocommerce-billing-fields__field-wrapper,
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0 20px;
}
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > .form-row,
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > .form-row {
  flex: 0 0 100%;
  max-width: 100%;
}

.bb-checkout-form #billing_first_name_field,
.bb-checkout-form #billing_last_name_field,
.bb-checkout-form #shipping_first_name_field,
.bb-checkout-form #shipping_last_name_field,
.bb-checkout-form #billing_postcode_field,
.bb-checkout-form #billing_city_field,
.bb-checkout-form #shipping_postcode_field,
.bb-checkout-form #shipping_city_field,
.bb-checkout-form #billing_email_field,
.bb-checkout-form #billing_phone_field {
  flex: 0 0 calc(50% - 10px) !important;
  max-width: calc(50% - 10px) !important;
}

.bb-checkout-form #billing_country_field { margin-bottom: 40px !important; }

.bb-checkout-form #shipping_company_field,
.bb-checkout-form #shipping_email_field,
.bb-checkout-form #shipping_phone_field { display: none !important; }

.bb-checkout-form .bb-toggle-row {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
}

.bb-checkout-form #bb-biz-row { margin-top: 20px !important; }

.bb-checkout-form .bb-toggle-row label.checkbox,
.bb-checkout-form #bb-section-address-body #ship-to-different-address label.checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--bb-fs) !important;
  font-weight: 400 !important;
}
.bb-checkout-form .bb-toggle-row label.checkbox input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.bb-checkout-form #customer_details .col-2 h3#ship-to-different-address,
#bb-section-address-body h3#ship-to-different-address {
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  font-size: var(--bb-fs) !important;
  font-weight: 400 !important;
}

#bb-section-address-body #ship-to-different-address label.checkbox span { font-size: 0 !important; }
#bb-section-address-body #ship-to-different-address label.checkbox span::after {
  content: "Abweichende Lieferadresse";
  font-size: var(--bb-fs) !important;
}

.bb-checkout-form #bb-biz-fields {
  display: none;
  flex-wrap: wrap;
  gap: 0 20px;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-top: 11px !important;
  margin-bottom: 6px !important;
}
.bb-checkout-form #bb-biz-fields.bb-open { display: flex !important; }
.bb-checkout-form #bb-biz-fields > .form-row {
  flex: 0 0 calc(50% - 10px) !important;
  max-width: calc(50% - 10px) !important;
}

.bb-checkout-form #bb-section-address-body .shipping_address {
  margin-top: 44px !important;
  margin-bottom: 12px !important;
}

.bb-checkout-form #bb-section-address-body .woocommerce-additional-fields {
  margin-top: 11px !important;
}
#bb-section-address-body #order_comments_field > label { display: none !important; }

@media (max-width: 600px) {
  .bb-checkout-form #billing_first_name_field,
  .bb-checkout-form #billing_last_name_field,
  .bb-checkout-form #shipping_first_name_field,
  .bb-checkout-form #shipping_last_name_field,
  .bb-checkout-form #billing_postcode_field,
  .bb-checkout-form #billing_city_field,
  .bb-checkout-form #shipping_postcode_field,
  .bb-checkout-form #shipping_city_field,
  .bb-checkout-form #billing_email_field,
  .bb-checkout-form #billing_phone_field,
  .bb-checkout-form #bb-biz-fields > .form-row {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

.bb-checkout-form .col2-set,
.bb-checkout-form .col-1,
.bb-checkout-form .col-2,
.bb-checkout-form .woocommerce-billing-fields,
.bb-checkout-form .woocommerce-shipping-fields,
.bb-checkout-form .woocommerce-additional-fields,
.bb-checkout-form #bb-biz-fields {
  transition: none !important;
}

.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_company_field,
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_vat_number_field {
  display: none !important;
}
.bb-checkout-form #bb-biz-fields.bb-open > #billing_company_field,
.bb-checkout-form #bb-biz-fields.bb-open > #billing_vat_number_field {
  display: block !important;
}

.bb-checkout-form .col-2 .woocommerce-shipping-fields {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

.col2-set:has(#createaccount:checked) .woocommerce-shipping-fields {
  margin-top: 24px !important;
}
.bb-checkout-form #customer_details .col-2 h3#ship-to-different-address {
  margin: 0 !important;
}

.bb-checkout-form .col-2 > #bb-biz-row {
  margin-top: 8px !important;
}

.bb-checkout-form .col-2 > #bb-note-row {
  margin-top: 8px !important;
}

.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_postcode_field,
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_postcode_field {
  flex: 0 0 calc(40% - 10px) !important;
  max-width: calc(40% - 10px) !important;
  width: calc(40% - 10px) !important;
}
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_city_field,
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_city_field {
  flex: 0 0 calc(60% - 10px) !important;
  max-width: calc(60% - 10px) !important;
  width: calc(60% - 10px) !important;
}

@media (max-width: 768px) {
  .bb-checkout-form .woocommerce-billing-fields__field-wrapper,
  .bb-checkout-form .woocommerce-shipping-fields__field-wrapper {
    column-gap: 8px !important;
  }

  .bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_first_name_field,
  .bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_last_name_field,
  .bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_first_name_field,
  .bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_last_name_field {
    flex: 0 0 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
  }

  .bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_postcode_field,
  .bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_postcode_field {
    flex: 0 0 calc(40% - 4px) !important;
    max-width: calc(40% - 4px) !important;
    width: calc(40% - 4px) !important;
  }
  .bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_city_field,
  .bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_city_field {
    flex: 0 0 calc(60% - 4px) !important;
    max-width: calc(60% - 4px) !important;
    width: calc(60% - 4px) !important;
  }
}

.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_first_name_field { order: 0 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_last_name_field  { order: 1 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_address_1_field  { order: 2 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_postcode_field   { order: 3 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_city_field       { order: 4 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_country_field    { order: 5 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_email_field      { order: 7 !important; }
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > #billing_phone_field      { order: 8 !important; }

/* Trennlinie "Kontaktdetails" zwischen Land (order 5) und E-Mail (order 7) */
.bb-checkout-form .woocommerce-billing-fields__field-wrapper > .bb-section-divider {
  order: 6 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center;
  text-align: center;
  margin: -18px 0 16px !important;
  color: #888;
}
.bb-section-divider::before,
.bb-section-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(0, 0, 0, 0.14);
}
.bb-section-divider__label {
  padding: 0 14px;
  font-size: .95rem;
  font-weight: 400;
  white-space: nowrap;
}

.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_first_name_field { order: 0 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_last_name_field  { order: 1 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_company_field    { order: 2 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_address_1_field  { order: 3 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_postcode_field   { order: 4 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_city_field       { order: 5 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_country_field    { order: 6 !important; }
.bb-checkout-form .woocommerce-shipping-fields__field-wrapper > #shipping_phone_field      { order: 7 !important; }

#bb-section-address-body .woocommerce-password-strength {
  position: relative !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  height: 8px !important;
  padding: 0 !important;
  margin: 18px 6px 44px 6px !important;
  font-size: 0 !important;
}

#bb-section-address-body .woocommerce-password-strength::before {
  content: "" !important;
  position: absolute !important;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 999px !important;
  background:
    linear-gradient(#e6e6e6, #e6e6e6) 0   0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#e6e6e6, #e6e6e6) 50% 0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#e6e6e6, #e6e6e6) 100% 0 / calc(33.333% - 7px) 100% no-repeat !important;
}

#bb-section-address-body .woocommerce-password-strength::after {
  position: absolute !important;
  left: 2px !important;
  top: 26px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#bb-section-address-body .woocommerce-password-strength.short,
#bb-section-address-body .woocommerce-password-strength.bad {
  background:
    linear-gradient(#e74c3c, #e74c3c) 0   0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#e6e6e6, #e6e6e6) 50% 0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#e6e6e6, #e6e6e6) 100% 0 / calc(33.333% - 7px) 100% no-repeat !important;
}
#bb-section-address-body .woocommerce-password-strength.short::before,
#bb-section-address-body .woocommerce-password-strength.bad::before { content: none !important; }
#bb-section-address-body .woocommerce-password-strength.short::after,
#bb-section-address-body .woocommerce-password-strength.bad::after {
  content: "Schwach" !important;
  color: #c0392b !important;
}

#bb-section-address-body .woocommerce-password-strength.good {
  background:
    linear-gradient(#e0a52e, #e0a52e) 0   0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#e0a52e, #e0a52e) 50% 0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#e6e6e6, #e6e6e6) 100% 0 / calc(33.333% - 7px) 100% no-repeat !important;
}
#bb-section-address-body .woocommerce-password-strength.good::before { content: none !important; }
#bb-section-address-body .woocommerce-password-strength.good::after {
  content: "Mittel" !important;
  color: #b7791f !important;
}

#bb-section-address-body .woocommerce-password-strength.strong {
  background:
    linear-gradient(#3aaa5a, #3aaa5a) 0   0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#3aaa5a, #3aaa5a) 50% 0 / calc(33.333% - 7px) 100% no-repeat,
    linear-gradient(#3aaa5a, #3aaa5a) 100% 0 / calc(33.333% - 7px) 100% no-repeat !important;
}
#bb-section-address-body .woocommerce-password-strength.strong::before { content: none !important; }
#bb-section-address-body .woocommerce-password-strength.strong::after {
  content: "Stark" !important;
  color: #2e7d32 !important;
}

#bb-section-address-body .woocommerce-password-hint {
  display: block !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: #888 !important;
  line-height: 1.6 !important;
  margin: 30px 6px 0 6px !important;
}

.select2-container--open .select2-results__options {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.select2-container--open .select2-results__options::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.bb-login-col--login .bb-login-meta-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  column-gap: 12px !important;
  margin: 4px 0 !important;
}
.bb-login-col--login .bb-login-meta-row .bb-login-remember {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  gap: 0 !important;
  line-height: 1.2 !important;
  font-size: 1rem !important;
  flex: 0 1 auto !important;
}
.bb-login-col--login .bb-login-meta-row .bb-login-remember input[type="checkbox"] {
  margin: 0 9px 0 0 !important;
  flex: 0 0 auto !important;
}
.bb-login-col--login .bb-login-meta-row .bb-login-lost {
  display: flex !important;
  align-items: center !important;
  margin: 0 12px 0 0 !important;
  line-height: 1.2 !important;
  text-align: right !important;
  flex: 0 1 auto !important;
}
.bb-login-col--login .bb-login-meta-row .bb-show-lost {
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

.bb-reset-view .bb-reset-inline-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
}
.bb-reset-view .bb-reset-inline-row .bb-login-col-fields {
  flex: 0 0 70% !important;
  max-width: 70% !important;
  display: flex !important;
  flex-direction: column !important;
}
.bb-reset-view .bb-reset-inline-row .bb-login-col-fields .form-row {
  margin: 0 !important;
  height: 100% !important;
}
.bb-reset-view .bb-reset-inline-row .bb-login-col-fields .form-row input {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.bb-reset-view .bb-reset-inline-row .bb-login-btn {
  flex: 0 0 calc(30% - 12px) !important;
  width: calc(30% - 12px) !important;
  margin: 0 !important;
}

.bb-reset-view .bb-reset-actions.bb-reset-actions--backlink {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  margin-top: 18px !important;
}
.bb-reset-view .bb-reset-actions--backlink .bb-co-back {
  width: auto !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  font-weight: 400 !important;
  color: #6b6b6b !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
  font-size: .9rem !important;
}
.bb-reset-view .bb-reset-actions--backlink .bb-co-back:hover { opacity: .7 !important; }

@media (max-width: 768px) {
  .bb-reset-view .bb-reset-inline-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .bb-reset-view .bb-reset-inline-row .bb-login-col-fields {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .bb-reset-view .bb-reset-inline-row .bb-login-col-fields .form-row {
    height: auto !important;
  }
  .bb-reset-view .bb-reset-inline-row .bb-login-col-fields .form-row input {
    width: 100% !important;
    height: auto !important;
  }
  .bb-reset-view .bb-reset-inline-row .bb-login-btn {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

.bb-section-number.bb-section-icon {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.bb-section-number.bb-section-icon svg {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
}

#bb-login-submit.bb-login-btn--icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
#bb-login-submit.bb-login-btn--icon .bb-btn-text {
  font-weight: normal !important;
  line-height: 1 !important;
  display: inline-flex;
  align-items: center;
}
#bb-login-submit.bb-login-btn--icon .bb-svg-icon svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
}

#bb-login-submit.bb-login-btn,
.bb-guest-continue {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

label.woocommerce-form__label-for-checkbox:has(#createaccount) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}
label.woocommerce-form__label-for-checkbox:has(#createaccount) > span::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-left: 0;
  margin-right: 6px;
  vertical-align: middle;
  background-color: #282828;
  -webkit-mask: url("/wp-content/uploads/users-profile-group.svg") no-repeat center / contain;
  mask: url("/wp-content/uploads/users-profile-group.svg") no-repeat center / contain;
}

.bb-order-review-section .bb-section-title,
#bb-section-order-review .bb-section-title {
  gap: 12px !important;
}
.bb-cart-icon svg {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
}

.bb-order-review__item-bulk {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  white-space: nowrap !important;
}
.bb-order-review__item-bulk .bb-bulk-icon {
  margin-right: 4px;
}
.bb-order-review__item-bulk .bb-bulk-icon svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
}
.bb-order-review__item-bulk .bb-bulk-amount {
  display: none !important;
}

.bb-order-review__row .bb-order-review__label:has(.bb-totals-icon) {
  display: inline-flex !important;
  align-items: center !important;
}
.bb-totals-icon {
  margin-right: 7px;
}
.bb-totals-icon svg {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
}
.bb-order-review__giftcard-line .bb-totals-icon svg {
  width: 26px !important;
  height: 26px !important;
}
.bb-order-review__bulk-savings .bb-bulk-inline-val {
  margin-left: 4px;
}

.bb-order-review__totals .bb-order-review__row.bb-order-review__shipping-label--inline {
  margin-top: 0 !important;
}
.bb-order-review__shipping-by {
  font-size: 17px !important;
  line-height: 1 !important;
  padding-left: 32px !important;
}

.bb-order-review__cta-btn.bb-continue-to-review {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.bb-cta-icon {
  align-self: center !important;
}
.bb-cta-icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  margin-top: -4px !important;
  margin-bottom: -4px !important;
}

.bb-cta-icon svg path:not([fill="none"]),
.bb-cta-icon svg [style*="fill"]:not([fill="none"]),
.bb-cta-icon svg [fill]:not([fill="none"]) {
  fill: #ffffff !important;
}
.bb-cta-icon svg,
.bb-cta-icon svg path,
.bb-cta-icon svg * {
  stroke: none !important;
}

.bb-cart-icon svg path:not([fill="none"]) {
  fill: #282828 !important;
}
#bb-login-submit.bb-login-btn--icon .bb-svg-icon svg path:not([fill="none"]),
#bb-login-submit.bb-login-btn--icon .bb-svg-icon svg [fill]:not([fill="none"]) {
  fill: #ffffff !important;
}