body.bb-checkout {
  background: #fff;
}

.bb-addr-top {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #000;
}

body.bb-checkout .bb-header {
  grid-template-columns: auto 1fr;
  background: #fff;
}

body.bb-checkout .bb-lock {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #0a8800;
  font-size: 14px;
  font-weight: 600;
}

body.bb-checkout .bb-lock svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

body.bb-checkout .entry-header,
body.bb-checkout .page-title,
body.bb-checkout .ct-page-title,
body.bb-checkout .hero-section,
body.bb-checkout .bb-tabbar {
  display: none;
}

body.bb-checkout #main-container,
body.bb-checkout #main,
body.bb-checkout .ct-container-full,
body.bb-checkout .entry-content {
  max-width: none;
  padding-top: 8px;
}

body.bb-checkout .entry-content.is-layout-constrained > .woocommerce {
  max-width: 1440px !important;
  width: 100%;
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 8px 44px 72px !important;
}

form.bb-addr.ct-woocommerce-checkout {
  display: block;
  width: 100%;
  max-width: none;
}

.bb-addr__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 48px;
  align-items: start;
}

.bb-crumb {
  margin: 0 0 18px;
  color: #757575;
  font-size: 13px;
}

.bb-crumb a {
  color: #757575;
  text-decoration: none;
}

.bb-crumb span {
  margin: 0 6px;
}

.bb-addr h1 {
  margin: 0 0 18px;
  color: #222;
  font-size: 20px;
  font-weight: 700;
}

.bb-addr .form-row {
  margin: 0 0 10px;
  padding: 0;
  float: none;
  width: 100%;
}

.bb-addr label {
  display: block;
  margin: 0 0 6px;
  color: #222;
  font-size: 14px;
  font-weight: 700;
}

.bb-addr label .required,
.bb-region__label .required {
  color: #fb7701;
  text-decoration: none;
  border: 0;
}

.bb-addr .input-text,
.bb-addr select,
.bb-addr .select2-container .select2-selection--single {
  height: 40px;
  border: 1px solid #222;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
  color: #222;
  font-size: 14px;
}

.bb-addr select.select2-hidden-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  border: 0 !important;
}

.bb-addr .input-text,
.bb-addr select {
  width: 100%;
  padding: 0 12px;
}

.bb-addr textarea.input-text {
  height: auto;
  padding: 10px 12px;
}

.bb-addr .select2-container {
  width: 100% !important;
}

.bb-addr .select2-container .select2-selection__rendered {
  line-height: 42px;
  padding-left: 12px;
  color: #222;
}

.bb-addr .select2-container .select2-selection__arrow {
  height: 42px;
}

#billing_country_field > label,
#billing_phone_field > label {
  display: flex;
  align-items: center;
  gap: 8px;
}

#billing_country_field > label::after {
  content: "Fastest delivery in 2 business days";
  margin-left: auto;
  padding: 2px 6px;
  border-radius: 2px;
  background: #0a8800;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

#billing_phone_field > label::after {
  content: "May be used to assist delivery";
  margin-left: auto;
  color: #888;
  font-size: 13px;
  font-weight: 400;
}

#billing_phone_field .woocommerce-input-wrapper {
  display: flex;
  align-items: center;
  height: 44px;
  border: 1px solid #222;
  border-radius: 4px;
  padding-left: 12px;
}

#billing_phone_field .woocommerce-input-wrapper::before {
  content: var(--bb-dial, "AU +61");
  flex: 0 0 auto;
  margin-right: 12px;
  padding-right: 12px;
  border-right: 1px solid #d8d8d8;
  color: #222;
  white-space: nowrap;
}

#billing_phone_field .input-text {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  height: 42px;
  border: 0;
  padding-left: 0;
}

.bb-find label {
  display: block;
}

.bb-find p {
  margin: 0 0 8px;
  color: #757575;
  font-size: 13px;
}

.bb-find__box {
  position: relative;
}

.bb-find__box input {
  width: 100%;
  height: 44px;
  padding: 0 36px 0 36px;
  border: 1px solid #222;
  border-radius: 4px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23222' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 12px 50% no-repeat;
  font-size: 14px;
}

.bb-find__clear {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #666;
  font-size: 18px;
  cursor: pointer;
}

.bb-or[hidden],
.bb-manual-toggle[hidden],
.bb-find__clear[hidden] {
  display: none !important;
}

.bb-or {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0;
  color: #888;
  font-size: 13px;
}

.bb-or::before,
.bb-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e6e6e6;
}

.bb-manual-toggle {
  width: 100%;
  height: 44px;
  border: 1px solid #222;
  border-radius: 999px;
  background: #fff;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.bb-manual {
  display: none;
  margin-top: 16px;
}

.bb-manual.is-open {
  display: block;
}

.bb-region__label {
  margin: 0 0 6px;
  color: #222;
  font-size: 14px;
  font-weight: 700;
}

.bb-region__fields {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.7fr;
  gap: 8px;
}

.bb-region__fields .form-row {
  margin: 0;
}

.bb-region__fields label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.bb-addr__side {
  position: sticky;
  top: 132px;
}

#order_review,
.woocommerce-checkout-review-order,
.ct-order-review,
#payment {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout-review-order-table,
#order_review_heading,
.woocommerce-shipping-fields,
#customer_details {
  display: none;
}

#payment {
  display: flex;
  flex-direction: column;
  background: transparent;
  border-radius: 0;
}

#payment .place-order {
  order: 1;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
  display: none;
}

.bb-continue,
.bb-addr__continue,
#place_order {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 999px;
  background: #fb7701;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.bb-pay {
  max-width: none;
  margin: 12px auto 48px;
}

.bb-pay .bb-addr__main {
  display: none;
}

.bb-pay .bb-addr__grid {
  grid-template-columns: minmax(280px, 520px);
  justify-content: center;
}

.bb-pay h1 {
  margin: 0 0 16px;
  font-size: 22px;
}

.bb-pay #payment {
  background: transparent;
}

#place_order:hover {
  background: #e56d00;
}

.wc_payment_methods {
  order: 3;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  border: 1px solid #eee;
  border-radius: 8px;
}

.wc_payment_methods li {
  padding: 10px 12px;
  border-bottom: 1px solid #eee;
}

.wc_payment_methods li:last-child {
  border-bottom: 0;
}

.bb-secure {
  margin-top: 16px;
}

.bb-secure__title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  color: #0a8800;
  font-size: 14px;
  font-weight: 700;
}

.bb-secure__title img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.bb-secure ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bb-secure li {
  display: flex;
  gap: 6px;
  margin: 0 0 6px;
  color: #555;
  font-size: 13px;
  line-height: 1.4;
}

.bb-secure li svg {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin-top: 2px;
  fill: #0a8800;
}

.bb-paymarks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.bb-paymarks img {
  height: 28px;
  width: auto;
  border: 1px solid #e6e6e6;
  border-radius: 2px;
  background: #fff;
  object-fit: contain;
}

body.bb-checkout .woocommerce-error,
body.bb-checkout .woocommerce-message,
body.bb-checkout .woocommerce-info {
  max-width: 1120px;
  margin: 12px auto;
}

@media (max-width: 900px) {
  .bb-addr__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .bb-addr__side {
    position: static;
  }

  .bb-region__fields {
    grid-template-columns: 1fr;
  }

  #billing_country_field > label,
  #billing_phone_field > label {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

@media (max-width: 768px) {
  body.bb-checkout .entry-content.is-layout-constrained > .woocommerce {
    padding: 8px 16px 48px !important;
  }

  body.bb-checkout .scale_layout,
  body.bb-checkout .main_scale,
  body.bb-checkout .mainContent,
  body.bb-checkout ._3bmWTnN_ {
    min-width: 0 !important;
    width: 100% !important;
  }

  #billing_country_field > label::after,
  #billing_phone_field > label::after {
    margin-left: 0;
  }
}
