/* Horizon Responsive Buy Box 1.4.96
 * Desktop/product-column and tablet layouts are deliberately compact.
 * Typography is enqueued by the plugin so this stylesheet has no import chain.
 */
.hbb-container,
.hbb-container * {
  box-sizing: border-box;
}

.hbb-container {
  display: block;
  width: min(100%, var(--hbb-max-width, 760px), 760px) !important;
  max-width: min(100%, 760px) !important;
  margin: 0 auto !important;
  container-name: hbb;
  container-type: inline-size;
}

/* Align the desktop buy box with the centre of the product features. */
@media (min-width: 1195px) {
  body.single-product .hbb-container {
    position: relative;
    left: -44px;
  }
}

.hbb {
  --hbb-bg: #eaf7ff;
  --hbb-bg-strong: #ffffff;
  --hbb-text: #0b2a5d;
  --hbb-muted: #6b7f99;
  --hbb-border: #b9d9ef;
  --hbb-divider: #bfd4e4;
  --hbb-blue: #0879d8;
  --hbb-cyan: #03c9f4;
  --hbb-green: #36b74a;
  --hbb-lime: #86dd48;
  --hbb-orange: #ff8a0b;
  --hbb-card: rgba(255,255,255,.34);
  --hbb-trust: transparent;
  --hbb-shadow: 0 14px 38px rgba(8,52,95,.11);
  --hbb-button-shadow: 0 11px 24px rgba(6,113,188,.25);
  --hbb-wishlist-bg: rgba(255,255,255,.82);
  --hbb-wishlist-border: #9ac9e8;
  --hbb-wishlist-text: #0b2a5d;
  --hbb-wishlist-hover-bg: #dff3ff;
  --hbb-wishlist-hover-border: #0879d8;
  --hbb-wishlist-hover-text: #075fac;
  --hbb-wishlist-active-bg: #fff0f5;
  --hbb-wishlist-active-border: #d6336c;
  --hbb-wishlist-active-text: #a91f50;
  --hbb-wishlist-active-hover-bg: #ffe2ec;
  --hbb-wishlist-focus: rgba(3,201,244,.34);
  --hbb-wishlist-shadow: 0 5px 13px rgba(29,71,110,.10);
  --hbb-wishlist-hover-shadow: 0 8px 18px rgba(8,121,216,.18);
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(24px,2.3vw,34px);
  border: 2px solid var(--hbb-border);
  border-radius: clamp(18px,1.9vw,28px);
  background:
    radial-gradient(circle at 56% 73%, rgba(85,199,255,.17), transparent 34%),
    var(--hbb-bg);
  color: var(--hbb-text);
  box-shadow: var(--hbb-shadow);
  font-family: "Montserrat",sans-serif;
  font-size: 16px;
  line-height: 1.18;
  overflow: hidden;
  isolation: isolate;
}

.hbb-theme-dark {
  --hbb-bg: #062450;
  --hbb-bg-strong: #0a2f63;
  --hbb-text: #ffffff;
  --hbb-muted: #bed0e5;
  --hbb-border: #0c356d;
  --hbb-divider: #1b4d82;
  --hbb-blue: #4c98ff;
  --hbb-cyan: #00d4ff;
  --hbb-green: #5be36d;
  --hbb-lime: #83dd46;
  --hbb-card: rgba(5,29,66,.33);
  --hbb-trust: rgba(8,34,72,.72);
  --hbb-shadow: 0 18px 46px rgba(0,0,0,.22);
  --hbb-button-shadow: 0 12px 27px rgba(0,197,244,.20);
  --hbb-wishlist-bg: rgba(10,47,99,.88);
  --hbb-wishlist-border: rgba(112,176,255,.46);
  --hbb-wishlist-text: #f3f8ff;
  --hbb-wishlist-hover-bg: #12477f;
  --hbb-wishlist-hover-border: #61adff;
  --hbb-wishlist-hover-text: #ffffff;
  --hbb-wishlist-active-bg: rgba(255,95,139,.16);
  --hbb-wishlist-active-border: #ff7aa2;
  --hbb-wishlist-active-text: #ffb5ca;
  --hbb-wishlist-active-hover-bg: rgba(255,95,139,.25);
  --hbb-wishlist-focus: rgba(0,212,255,.42);
  --hbb-wishlist-shadow: 0 6px 15px rgba(0,0,0,.18);
  --hbb-wishlist-hover-shadow: 0 9px 20px rgba(0,150,255,.22);
  background:
    radial-gradient(circle at 56% 72%, rgba(0,181,255,.14), transparent 32%),
    linear-gradient(115deg,#082d62 0%,#061f47 56%,#061a3d 100%);
}

@media (prefers-color-scheme: dark) {
  .hbb-theme-auto {
    --hbb-bg: #062450;
    --hbb-bg-strong: #0a2f63;
    --hbb-text: #ffffff;
    --hbb-muted: #bed0e5;
    --hbb-border: #0c356d;
    --hbb-divider: #1b4d82;
    --hbb-blue: #4c98ff;
    --hbb-cyan: #00d4ff;
    --hbb-green: #5be36d;
    --hbb-lime: #83dd46;
    --hbb-card: rgba(5,29,66,.33);
    --hbb-trust: rgba(8,34,72,.72);
    --hbb-shadow: 0 18px 46px rgba(0,0,0,.22);
    --hbb-button-shadow: 0 12px 27px rgba(0,197,244,.20);
    --hbb-wishlist-bg: rgba(10,47,99,.88);
    --hbb-wishlist-border: rgba(112,176,255,.46);
    --hbb-wishlist-text: #f3f8ff;
    --hbb-wishlist-hover-bg: #12477f;
    --hbb-wishlist-hover-border: #61adff;
    --hbb-wishlist-hover-text: #ffffff;
    --hbb-wishlist-active-bg: rgba(255,95,139,.16);
    --hbb-wishlist-active-border: #ff7aa2;
    --hbb-wishlist-active-text: #ffb5ca;
    --hbb-wishlist-active-hover-bg: rgba(255,95,139,.25);
    --hbb-wishlist-focus: rgba(0,212,255,.42);
    --hbb-wishlist-shadow: 0 6px 15px rgba(0,0,0,.18);
    --hbb-wishlist-hover-shadow: 0 9px 20px rgba(0,150,255,.22);
    background:
      radial-gradient(circle at 56% 72%, rgba(0,181,255,.14), transparent 32%),
      linear-gradient(115deg,#082d62 0%,#061f47 56%,#061a3d 100%);
  }
}

/* Follow the site's Rizon theme toggle when the buy box is set to Automatic.
 * These selectors intentionally outrank the device colour-scheme fallback. */
html[data-rizon-theme="light"] .hbb-theme-auto {
  --hbb-bg: #eaf7ff;
  --hbb-bg-strong: #ffffff;
  --hbb-text: #0b2a5d;
  --hbb-muted: #6b7f99;
  --hbb-border: #b9d9ef;
  --hbb-divider: #bfd4e4;
  --hbb-blue: #0879d8;
  --hbb-cyan: #03c9f4;
  --hbb-green: #36b74a;
  --hbb-lime: #86dd48;
  --hbb-card: rgba(255,255,255,.34);
  --hbb-trust: transparent;
  --hbb-shadow: 0 14px 38px rgba(8,52,95,.11);
  --hbb-button-shadow: 0 11px 24px rgba(6,113,188,.25);
  --hbb-wishlist-bg: rgba(255,255,255,.82);
  --hbb-wishlist-border: #9ac9e8;
  --hbb-wishlist-text: #0b2a5d;
  --hbb-wishlist-hover-bg: #dff3ff;
  --hbb-wishlist-hover-border: #0879d8;
  --hbb-wishlist-hover-text: #075fac;
  --hbb-wishlist-active-bg: #fff0f5;
  --hbb-wishlist-active-border: #d6336c;
  --hbb-wishlist-active-text: #a91f50;
  --hbb-wishlist-active-hover-bg: #ffe2ec;
  --hbb-wishlist-focus: rgba(3,201,244,.34);
  --hbb-wishlist-shadow: 0 5px 13px rgba(29,71,110,.10);
  --hbb-wishlist-hover-shadow: 0 8px 18px rgba(8,121,216,.18);
  background:
    radial-gradient(circle at 56% 73%, rgba(85,199,255,.17), transparent 34%),
    var(--hbb-bg);
}

html[data-rizon-theme="dark"] .hbb-theme-auto {
  --hbb-bg: #062450;
  --hbb-bg-strong: #0a2f63;
  --hbb-text: #ffffff;
  --hbb-muted: #bed0e5;
  --hbb-border: #0c356d;
  --hbb-divider: #1b4d82;
  --hbb-blue: #4c98ff;
  --hbb-cyan: #00d4ff;
  --hbb-green: #5be36d;
  --hbb-lime: #83dd46;
  --hbb-card: rgba(5,29,66,.33);
  --hbb-trust: rgba(8,34,72,.72);
  --hbb-shadow: 0 18px 46px rgba(0,0,0,.22);
  --hbb-button-shadow: 0 12px 27px rgba(0,197,244,.20);
  --hbb-wishlist-bg: rgba(10,47,99,.88);
  --hbb-wishlist-border: rgba(112,176,255,.46);
  --hbb-wishlist-text: #f3f8ff;
  --hbb-wishlist-hover-bg: #12477f;
  --hbb-wishlist-hover-border: #61adff;
  --hbb-wishlist-hover-text: #ffffff;
  --hbb-wishlist-active-bg: rgba(255,95,139,.16);
  --hbb-wishlist-active-border: #ff7aa2;
  --hbb-wishlist-active-text: #ffb5ca;
  --hbb-wishlist-active-hover-bg: rgba(255,95,139,.25);
  --hbb-wishlist-focus: rgba(0,212,255,.42);
  --hbb-wishlist-shadow: 0 6px 15px rgba(0,0,0,.18);
  --hbb-wishlist-hover-shadow: 0 9px 20px rgba(0,150,255,.22);
  background:
    radial-gradient(circle at 56% 72%, rgba(0,181,255,.14), transparent 32%),
    linear-gradient(115deg,#082d62 0%,#061f47 56%,#061a3d 100%);
}

.hbb button,
.hbb input {
  font: inherit;
}

.hbb button {
  -webkit-tap-highlight-color: transparent;
}

.hbb__form,
.hbb__top-cell,
.hbb__purchase-row > *,
.hbb__payment,
.hbb__trust {
  min-width: 0;
  margin: 0;
}

.hbb__top {
  display: grid;
  grid-template-columns: minmax(280px,1.15fr) minmax(185px,.76fr) minmax(190px,.72fr) minmax(265px,.95fr);
  align-items: center;
  gap: clamp(14px,1.7vw,26px);
}

.hbb__top-cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hbb__delivery {
  position: relative;
  min-height: 124px;
  padding-right: clamp(18px,2.1vw,34px);
}

.hbb__delivery::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 2px;
  background: var(--hbb-divider);
}

.hbb__delivery-title {
  margin: 0;
  color: var(--hbb-text);
  font-size: clamp(18px,1.35vw,22px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.hbb__delivery-line {
  margin: clamp(18px,2vw,28px) 0 0;
  color: var(--hbb-green);
  font-size: clamp(13px,1.12vw,16px);
  font-weight: 700;
  line-height: 1.12;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

.hbb-theme-light .hbb__delivery-line,
.hbb-theme-auto .hbb__delivery-line { color: var(--hbb-blue); }

@media (prefers-color-scheme: dark) {
  .hbb-theme-auto .hbb__delivery-line { color: var(--hbb-green); }
}

html[data-rizon-theme="light"] .hbb-theme-auto .hbb__delivery-line { color: var(--hbb-blue); }
html[data-rizon-theme="dark"] .hbb-theme-auto .hbb__delivery-line { color: var(--hbb-green); }

.hbb__availability {
  gap: clamp(18px,2vw,29px);
  text-align: center;
}

.hbb__stock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  color: var(--hbb-green);
  font-size: clamp(16px,1.05vw,19px);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.hbb__stock.is-out-of-stock { color: #d94747; }

.hbb__stock-dot {
  width: clamp(16px,1.42vw,23px);
  aspect-ratio: 1;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--hbb-lime);
  box-shadow: 0 0 0 6px color-mix(in srgb,var(--hbb-lime) 20%,transparent);
}

.hbb__stock.is-out-of-stock .hbb__stock-dot {
  background: #d94747;
  box-shadow: 0 0 0 6px rgba(217,71,71,.18);
}

.hbb__returns {
  color: var(--hbb-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.05;
  white-space: nowrap;
}

.hbb__wishlist-wrap,
.hbb__quantity-wrap { align-items: center; }

.hbb__wishlist {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: max-content;
  max-width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 8px 14px;
  border: 1.5px solid var(--hbb-wishlist-border);
  border-radius: 999px;
  background: var(--hbb-wishlist-bg);
  color: var(--hbb-wishlist-text);
  font-size: clamp(9px,.68vw,11px);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: var(--hbb-wishlist-shadow);
  -webkit-appearance: none;
  appearance: none;
  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    color .18s ease;
}

.hbb__wishlist:focus-visible {
  border-color: var(--hbb-wishlist-hover-border);
  background: var(--hbb-wishlist-hover-bg);
  color: var(--hbb-wishlist-hover-text);
  box-shadow: 0 0 0 4px var(--hbb-wishlist-focus),var(--hbb-wishlist-hover-shadow);
}

.hbb__wishlist:active {
  transform: translateY(0) scale(.98);
  border-color: var(--hbb-wishlist-hover-border);
  background: var(--hbb-wishlist-hover-bg);
  color: var(--hbb-wishlist-hover-text);
  box-shadow: var(--hbb-wishlist-shadow);
}

.hbb__wishlist.is-active {
  border-color: var(--hbb-wishlist-active-border);
  background: var(--hbb-wishlist-active-bg);
  color: var(--hbb-wishlist-active-text);
}

.hbb__wishlist.is-active:focus-visible {
  border-color: var(--hbb-wishlist-active-border);
  background: var(--hbb-wishlist-active-hover-bg);
  color: var(--hbb-wishlist-active-text);
}

@media (hover: hover) and (pointer: fine) {
  .hbb__wishlist:hover {
    transform: translateY(-1px);
    border-color: var(--hbb-wishlist-hover-border);
    background: var(--hbb-wishlist-hover-bg);
    color: var(--hbb-wishlist-hover-text);
    box-shadow: var(--hbb-wishlist-hover-shadow);
  }

  .hbb__wishlist.is-active:hover {
    border-color: var(--hbb-wishlist-active-border);
    background: var(--hbb-wishlist-active-hover-bg);
    color: var(--hbb-wishlist-active-text);
  }
}

.hbb__wishlist:disabled {
  cursor: wait;
  opacity: .72;
}

.hbb__wishlist svg { width: 23px; height: 23px; flex: 0 0 auto; }
.hbb__wishlist-label { overflow-wrap: anywhere; }

.hbb__quantity {
  display: grid;
  grid-template-columns: minmax(54px,1fr) minmax(68px,1.18fr) minmax(54px,1fr);
  width: min(100%,286px);
  min-height: 78px;
  overflow: hidden;
  border: 3px solid var(--hbb-border);
  border-radius: 24px;
  background: color-mix(in srgb,var(--hbb-bg-strong) 55%,transparent);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35),0 7px 18px rgba(38,83,125,.09);
}

.hbb__qty-button,
.hbb__qty-input {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--hbb-text);
  text-align: center;
}

.hbb__qty-button {
  margin: 7px;
  border: 2px solid var(--hbb-border);
  border-radius: 17px;
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}

.hbb__qty-input {
  appearance: textfield;
  -moz-appearance: textfield;
  border-left: 1px solid var(--hbb-divider);
  border-right: 1px solid var(--hbb-divider);
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  outline: 0;
}

/* Brizy and some WooCommerce themes force number inputs to a white field.
 * These high-specificity declarations keep the quantity centre transparent
 * and readable in both themes. */
html body .hbb-container .hbb input.hbb__qty-input {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  appearance: textfield !important;
  -webkit-appearance: none !important;
  color: var(--hbb-text) !important;
  -webkit-text-fill-color: var(--hbb-text) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.hbb-theme-dark .hbb__quantity,
.hbb-theme-dark .hbb__qty-input { color-scheme: dark; }

.hbb__qty-input::-webkit-inner-spin-button,
.hbb__qty-input::-webkit-outer-spin-button { appearance: none; margin: 0; }

.hbb__divider {
  height: 2px;
  margin: 0 0 clamp(18px,2vw,28px);
  background: var(--hbb-divider);
}

.hbb__purchase-row {
  display: grid;
  grid-template-columns: minmax(240px,.92fr) minmax(185px,.70fr) minmax(285px,1.06fr) minmax(290px,1.08fr);
  align-items: center;
  gap: clamp(14px,2vw,30px);
}

.hbb__price-block {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hbb__price-label {
  margin: 0 0 9px;
  color: var(--hbb-muted);
  font-size: clamp(17px,1.25vw,21px);
  font-weight: 500;
  line-height: 1;
}

.hbb__price {
  margin: 0;
  color: var(--hbb-text);
  font-size: clamp(36.3px,2.45vw,45.3px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: .94;
  white-space: nowrap;
}

.hbb__price .woocommerce-Price-currencySymbol {
  display: inline-block !important;
  margin-right: 4px !important;
  font-size: 1em !important;
}

.hbb__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin: 0;
  color: #fff;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  overflow: hidden;
}

.hbb__button:disabled { cursor: not-allowed; opacity: .5; }

.hbb__button-cart,
.hbb__button-buy,
.hbb__guest {
  position: relative;
  left: 27px;
  top: 12px;
}

.hbb__button-cart {
  min-height: 38px;
  padding: 6px 15px;
  border: 1px solid #de7e19;
  border-radius: 16px;
  background: #b45309;
  box-shadow: 0 3px 8px rgba(229,131,27,.22);
  font-size: 11.2px;
}

html body .hbb-container .hbb button.hbb__button-cart:hover,
html body .hbb-container .hbb button.hbb__button-cart:active,
html body .hbb-container .hbb button.hbb__button-cart:focus,
html body .hbb-container .hbb button.hbb__button-cart:focus-visible {
  border-color: #92400e !important;
  background: #b45309 !important;
  color: #fff !important;
  box-shadow: 0 3px 8px rgba(229,131,27,.22) !important;
  filter: none !important;
  opacity: 1;
}

.hbb__button-buy {
  min-height: 54px;
  padding: 11px 24px;
  border: 3px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(160deg,#0a1628 0%,#0c3a5c 35%,#0d6fa8 70%,#16c8ff 100%) padding-box,
    conic-gradient(from var(--hbb-trail-angle,0deg),#0c3a5c 0%,#0d6fa8 40%,#16c8ff 70%,#16c8ff 84%,#16c8ff 90%,#2dd7ff 94%,#16c8ff 97%,#0c3a5c 100%) border-box !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(55,140,224,.22) !important;
  font-size: 15px;
  animation: hbb-trail-rotate 1.6s linear infinite !important;
  transition: none !important;
  filter: none !important;
}

.hbb__button-buy::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.4 11h10.5L22 7H6.2'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

html body .hbb-container .hbb button.hbb__button-buy:hover,
html body .hbb-container .hbb button.hbb__button-buy:active,
html body .hbb-container .hbb button.hbb__button-buy:focus,
html body .hbb-container .hbb button.hbb__button-buy:focus-visible {
  background:
    linear-gradient(160deg,#0a1628 0%,#0c3a5c 35%,#0d6fa8 70%,#16c8ff 100%) padding-box,
    conic-gradient(from var(--hbb-trail-angle,0deg),#0c3a5c 0%,#0d6fa8 40%,#16c8ff 70%,#16c8ff 84%,#16c8ff 90%,#2dd7ff 94%,#16c8ff 97%,#0c3a5c 100%) border-box !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(55,140,224,.22) !important;
  animation: hbb-trail-rotate 1.6s linear infinite !important;
  transform: none !important;
  filter: none !important;
  opacity: 1;
}

.hbb__guest {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  min-height: 51px;
  padding: 4.5px 12px;
  border: 2px solid rgba(21,94,155,.34);
  border-radius: 18px;
  background: rgba(226,243,255,.62);
  box-shadow: 0 8px 18px rgba(16,57,96,.08);
}

.hbb__guest-icon {
  position: relative;
  display: inline-flex;
  width: 35px;
  height: 35px;
  min-width: 35px;
  border: 2px solid rgba(54,121,211,.32);
  border-radius: 999px;
  background: rgba(76,143,235,.16);
  color: #3f82dc;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}

.hbb__guest-icon::before,
.hbb__guest-icon::after { content: ""; position: absolute; left: 50%; background: currentColor; transform: translateX(-50%); }
.hbb__guest-icon::before { top: 21%; width: 24%; height: 24%; border-radius: 999px; }
.hbb__guest-icon::after { bottom: 17%; width: 52%; height: 24%; border-radius: 13px 13px 5px 5px; }
.hbb__guest-copy { display: grid; gap: 5px; min-width: 0; line-height: 1; text-align: center; }
.hbb__guest-title { display: block; margin: 0; white-space: nowrap; }
.hbb__guest-title { color: #0f2544; font-size: 13px; font-weight: 800; }

.hbb-theme-dark .hbb__guest { border-color: rgba(43,121,202,.46); background: rgba(4,23,47,.54); box-shadow: 0 12px 28px rgba(0,0,0,.22),inset 0 0 0 1px rgba(86,164,255,.06); }
.hbb-theme-dark .hbb__guest-icon { border-color: rgba(72,141,238,.42); background: rgba(45,112,220,.20); color: #5f9ef6; box-shadow: inset 0 0 0 1px rgba(112,174,255,.12); }
.hbb-theme-dark .hbb__guest-title { color: #fff; }

@media (prefers-color-scheme: dark) {
  .hbb-theme-auto .hbb__guest { border-color: rgba(43,121,202,.46); background: rgba(4,23,47,.54); box-shadow: 0 12px 28px rgba(0,0,0,.22),inset 0 0 0 1px rgba(86,164,255,.06); }
  .hbb-theme-auto .hbb__guest-icon { border-color: rgba(72,141,238,.42); background: rgba(45,112,220,.20); color: #5f9ef6; box-shadow: inset 0 0 0 1px rgba(112,174,255,.12); }
  .hbb-theme-auto .hbb__guest-title { color: #fff; }
}

html[data-rizon-theme="light"] .hbb-theme-auto .hbb__guest { border-color: rgba(21,94,155,.34); background: rgba(226,243,255,.62); box-shadow: 0 8px 18px rgba(16,57,96,.08); }
html[data-rizon-theme="light"] .hbb-theme-auto .hbb__guest-icon { border-color: rgba(54,121,211,.32); background: rgba(76,143,235,.16); color: #3f82dc; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
html[data-rizon-theme="light"] .hbb-theme-auto .hbb__guest-title { color: #0f2544; }
html[data-rizon-theme="dark"] .hbb-theme-auto .hbb__guest { border-color: rgba(43,121,202,.46); background: rgba(4,23,47,.54); box-shadow: 0 12px 28px rgba(0,0,0,.22),inset 0 0 0 1px rgba(86,164,255,.06); }
html[data-rizon-theme="dark"] .hbb-theme-auto .hbb__guest-icon { border-color: rgba(72,141,238,.42); background: rgba(45,112,220,.20); color: #5f9ef6; box-shadow: inset 0 0 0 1px rgba(112,174,255,.12); }
html[data-rizon-theme="dark"] .hbb-theme-auto .hbb__guest-title { color: #fff; }

@property --hbb-trail-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@keyframes hbb-trail-rotate {
  to { --hbb-trail-angle: 360deg; }
}

/* Brizy replaces the normal WooCommerce summary on some products. This bridge
 * keeps WooCommerce's native variable form usable without nesting it inside the
 * Horizon purchase form. */
.hbb-variation-bridge {
  box-sizing: border-box;
  width: min(100%,760px);
  margin: 0 auto 18px;
  padding: clamp(16px,2.2vw,24px);
  border: 1px solid rgba(38,91,146,.2);
  border-radius: 16px;
  background: #fff;
  color: #102a48;
  box-shadow: 0 12px 34px rgba(15,66,123,.08);
}
.hbb-variation-bridge__title { margin: 0 0 14px; color: inherit; font-size: clamp(18px,2.4vw,24px); line-height: 1.2; }
.hbb-variation-bridge form.variations_form { margin: 0; }
.hbb-variation-bridge table.variations { width: 100%; margin: 0 0 12px; table-layout: auto; }
.hbb-variation-bridge table.variations th,
.hbb-variation-bridge table.variations td { display: table-cell; padding: 6px 8px 6px 0; background: transparent; list-style: none; vertical-align: middle; }
.hbb-variation-bridge table.variations th { width: 30%; color: inherit; text-align: left; }
.hbb-variation-bridge table.variations select { width: 100%; max-width: none; min-height: 44px; }
.hbb-variation-bridge .reset_variations { display: inline-block; margin: 8px 0 0; }
.hbb-variation-bridge .single_variation { margin: 12px 0; }
.hbb-variation-bridge .woocommerce-variation-price,
.hbb-variation-bridge .woocommerce-variation-availability { color: inherit; }
.hbb-variation-bridge .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hbb-variation-bridge .quantity { margin: 0; }
.hbb-variation-bridge .single_add_to_cart_button { min-height: 44px; }
html[data-rizon-theme="dark"] .hbb-variation-bridge,
.rizon-theme-dark .hbb-variation-bridge { border-color: rgba(78,150,229,.35); background: #071a31; color: #eef7ff; box-shadow: 0 14px 38px rgba(0,0,0,.3); }

@media (max-width: 767px) {
  .hbb-variation-bridge table.variations th,
  .hbb-variation-bridge table.variations td { display: block; width: 100%; padding-right: 0; }
  .hbb-variation-bridge table.variations th { padding-bottom: 2px; }
}

.hbb__variation-note { margin: 12px 0 0; color: var(--hbb-muted); font-size: 13px; }

.hbb__payment-section { margin-top: clamp(20px,2.3vw,32px); }
.hbb__section-heading { margin: 0 0 9px; color: var(--hbb-text); font-size: 9.2px; font-weight: 600; line-height: 1; letter-spacing: .09em; }

.hbb__payment-grid {
  display: grid;
  grid-template-columns: repeat(8,minmax(0,1fr));
  gap: 8px;
}

.hbb__payment {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 8px;
  min-height: 60px;
  padding: 8px 9px;
  border: 1.5px solid var(--hbb-border);
  border-radius: 11px;
  background: var(--hbb-card);
}

.hbb__payment-dot {
  width: 17px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #136fc6;
  box-shadow: 0 0 0 3px rgba(19,111,198,.14);
}

.hbb__payment--klarna .hbb__payment-dot { background: #f09ab8; }
.hbb__payment--clearpay .hbb__payment-dot { background: #76dfd4; }
.hbb__payment--visa .hbb__payment-dot { background: #1c4fd2; }
.hbb__payment--mastercard .hbb__payment-dot { background: #ff003c; }
.hbb__payment--applepay .hbb__payment-dot { background: #fff; border: 1px solid #bcc6d3; box-shadow: none; }
.hbb-theme-light .hbb__payment--applepay .hbb__payment-dot { background: #252525; border: 0; }
html[data-rizon-theme="light"] .hbb-theme-auto .hbb__payment--applepay .hbb__payment-dot { background: #252525; border: 0; }
.hbb__payment--googlepay .hbb__payment-dot { background: #70d9ab; }
.hbb__payment--samsungpay .hbb__payment-dot { background: #315ed4; }

.hbb__payment-copy { min-width: 0; }
.hbb__payment-logo { display: none; }
.hbb__payment strong,
.hbb__payment small { display: block; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.hbb__payment strong { color: var(--hbb-text); font-size: 10.2px; font-weight: 700; line-height: 1.02; white-space: nowrap; }
.hbb__payment small { margin-top: 4px; color: var(--hbb-muted); font-size: 9.2px; font-weight: 500; line-height: 1.04; white-space: nowrap; }
.hbb__payment--mastercard strong { overflow-wrap: normal; word-break: normal; white-space: nowrap; }
.hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) strong { font-size: 9.2px; }
.hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) small { font-size: 8.2px; }

.hbb__trust-grid {
  display: grid;
  grid-template-columns: minmax(310px,1.65fr) minmax(260px,1.14fr) minmax(180px,.68fr);
  gap: 10px;
  width: 100%;
  max-width: 1210px;
  margin: 18px 0 0;
}

.hbb__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 9px 14px;
  border: 1.5px solid var(--hbb-border);
  border-radius: 12px;
  background: var(--hbb-trust);
  color: var(--hbb-text);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.05;
  white-space: nowrap;
}

.hbb__trust-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='10' width='16' height='11' rx='2' fill='black'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='10' width='16' height='11' rx='2' fill='black'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  font-size: 20px;
  line-height: 1;
}
.hbb__check { display: inline-grid; place-items: center; width: 25px; aspect-ratio: 1; flex: 0 0 auto; border: 2px solid #2f9c4b; border-radius: 50%; color: #21823b; font-size: 17px; font-weight: 800; line-height: 1; }

.hbb button:focus-visible,
.hbb input:focus-visible { outline: 3px solid color-mix(in srgb,var(--hbb-cyan) 75%,white); outline-offset: 2px; }

/*
 * Product-page compact layout.
 * This is the important desktop/right-column and iPad portrait layout.
 * It deliberately remains horizontal instead of switching to stacked cards.
 */
@container hbb (min-width: 650px) and (max-width: 999px) {
  .hbb {
    padding: 24px;
    border-width: 1px;
    border-radius: 20px;
  }

  .hbb__top {
    grid-template-columns: minmax(0,1.24fr) minmax(0,.88fr) minmax(0,.72fr) minmax(0,1fr);
    gap: 12px;
  }

  .hbb__delivery { min-height: 83px; padding-right: 18px; }
  .hbb__delivery-title { font-size: 20px; }
  .hbb__delivery-line { margin-top: 18px; font-size: clamp(14px,2.11cqi,16px); }
  .hbb__availability { gap: 18px; }
  .hbb__stock { gap: 8px; font-size: 19px; }
  .hbb__stock-dot { width: 13px; box-shadow: 0 0 0 4px color-mix(in srgb,var(--hbb-lime) 20%,transparent); }
  .hbb__returns { font-size: 16px; }
  .hbb__wishlist { width: 100%; min-height: 36px; padding: 5px 6px; gap: 4px; font-size: 11px; line-height: 1.05; white-space: normal; }
  .hbb__wishlist svg { width: 18px; height: 18px; }
  .hbb__quantity { grid-template-columns: minmax(39px,1fr) minmax(51px,1.12fr) minmax(39px,1fr); width: 100%; min-height: 58px; border-width: 2px; border-radius: 18px; }
  .hbb__qty-button { margin: 5px; border-width: 1px; border-radius: 12px; font-size: 25px; }
  .hbb__qty-input { font-size: 28px; }

  .hbb__divider { height: 1px; margin: 0 0 13px; }

  .hbb__purchase-row {
    grid-template-columns: minmax(0,1.05fr) minmax(0,.78fr) minmax(0,1.18fr) minmax(0,1.2fr);
    gap: 12px;
  }

  .hbb__price-label { margin-bottom: 8px; font-size: 21px; }
  .hbb__price { font-size: 45.3px; }
  .hbb__payment-section { margin-top: 16px; }
  .hbb__section-heading { margin-bottom: 7px; font-size: 9.2px; }
  .hbb__payment-grid { gap: 5px; }
  .hbb__payment { min-height: 41px; gap: 5px; padding: 5px 6px; border-width: 1px; border-radius: 8px; }
  .hbb__payment-dot { width: 12px; box-shadow: 0 0 0 2px rgba(19,111,198,.14); }
  .hbb__payment strong { font-size: 10.2px; white-space: nowrap; overflow-wrap: normal; }
  .hbb__payment small { margin-top: 3px; font-size: 9.2px; white-space: nowrap; }
  .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) strong { font-size: 9.2px; }
  .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) small { font-size: 8.2px; }

  .hbb__trust-grid {
    grid-template-columns: minmax(260px,1.65fr) minmax(190px,1.12fr) minmax(115px,.65fr);
    gap: 7px;
    max-width: 690px;
    margin-top: 13px;
  }

  .hbb__trust { min-height: 36px; gap: 7px; padding: 6px 9px; border-width: 1px; border-radius: 8px; font-size: 11px; }
  .hbb__trust-icon { font-size: 14px; }
  .hbb__check { width: 17px; border-width: 1px; font-size: 12px; }
}

@media (min-width: 1195px) {
  @container hbb (min-width: 650px) {
    .hbb {
      padding-top: 6px;
      padding-bottom: 8px;
    }

    .hbb__wishlist {
      font-size: 9.2px;
    }
  }
}

/* Portrait tablets at 650px and wider intentionally use the same compact
 * horizontal geometry as desktop product columns. This keeps the proportions
 * identical when the device rotates or when Brizy changes the column width. */

/* Existing phone behaviour retained for the later mobile-specific pass. */
@container hbb (max-width: 649px) {
  .hbb__top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hbb__delivery::after { display: none; }
  .hbb__delivery,
  .hbb__availability { min-height: 118px; padding: 16px; border: 1.5px solid var(--hbb-border); border-radius: 16px; background: var(--hbb-card); }
  .hbb__wishlist-wrap,
  .hbb__quantity-wrap { align-items: stretch; }
  .hbb__wishlist,
  .hbb__quantity { width: 100%; }
  .hbb__purchase-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hbb__payment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hbb__trust-grid { grid-template-columns: 1fr; max-width: none; }
  .hbb__trust { white-space: normal; text-align: center; }
}

@container hbb (max-width: 480px) {
  .hbb__top,
  .hbb__purchase-row { grid-template-columns: 1fr; }
  .hbb__delivery,
  .hbb__availability { min-height: auto; text-align: left; }
  .hbb__stock { justify-content: flex-start; }
  .hbb__price-block { align-items: center; text-align: center; }
  .hbb__button { width: 100%; }
  .hbb__guest { width: max-content; justify-self: center; }
  .hbb__guest-title,
  .hbb__guest-sub,
  .hbb__returns,
  .hbb__price { white-space: normal; }
}

@container hbb (max-width: 390px) {
  .hbb__payment-grid { grid-template-columns: 1fr; }
  .hbb__guest { flex-direction: row; text-align: center; }
  .hbb__guest-copy { text-align: center; }
}

/*
 * Compact tablet layout for narrow shortcode containers.
 * It applies to landscape tablets in a two-column product page and to portrait
 * tablets whose Brizy/container width falls below 650px. Phones remain unchanged.
 */
@media (min-width: 700px) and (orientation: landscape),
       (min-width: 600px) and (orientation: portrait) {
  @container hbb (min-width: 300px) and (max-width: 649px) {
    .hbb {
      padding: 12px;
      border-width: 1px;
      border-radius: 13px;
    }

    .hbb__top {
      grid-template-columns: 1.15fr .93fr .42fr 1fr;
      gap: 5px;
    }

    .hbb__delivery,
    .hbb__availability {
      min-height: 49px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
    }
    .hbb__delivery { padding-right: 8px; }
    .hbb__delivery::after { display: block; }
    .hbb__delivery-title { font-size: 13px; line-height: 1; }
    .hbb__delivery-line { margin-top: 11px; font-size: 8px; line-height: 1; }
    .hbb__availability { gap: 9px; text-align: center; }
    .hbb__stock { justify-content: center; gap: 5px; font-size: 11px; }
    .hbb__stock-dot { width: 8px; box-shadow: 0 0 0 2px color-mix(in srgb,var(--hbb-lime) 20%,transparent); }
    .hbb__returns { font-size: 9px; }
    .hbb__wishlist { width: 100%; min-height: 27px; padding: 4px; border-width: 1px; font-size: 0; }
    .hbb__wishlist svg { width: 14px; height: 14px; }
    .hbb__wishlist-label { display: none; }
    .hbb__quantity { grid-template-columns: minmax(23px,1fr) minmax(31px,1.35fr) minmax(23px,1fr); width: 100%; min-height: 35px; border-width: 1px; border-radius: 10px; }
    .hbb__qty-button { margin: 3px; border-width: 1px; border-radius: 7px; font-size: 15px; }
    .hbb__qty-input { font-size: 17px; }

    .hbb__divider { height: 1px; margin: 0 0 5px; }

    .hbb__purchase-row {
      grid-template-columns: 1fr .72fr 1.1fr .9fr;
      gap: 5px;
    }

    .hbb__price-block { align-items: stretch; text-align: left; }
    .hbb__price-label { margin-bottom: 4px; font-size: 11px; }
    .hbb__price { font-size: 23.3px; }
    .hbb__button { min-height: 35px; gap: 4px; padding: 5px 4px; border-radius: 10px; font-size: 9px; white-space: normal; }
    .hbb__button-cart { min-height: 30px; font-size: 7.2px; }
    .hbb__button-buy { min-height: 35px; border-width: 2px; }
    .hbb__button-buy::before { width: 15px; height: 15px; flex-basis: 15px; background-size: 15px 15px; }
    .hbb__guest { min-height: 32px; gap: 5px; padding: 3px 5px; border-width: 1px; border-radius: 10px; text-align: left; }
    .hbb__guest-icon { width: 20px; height: 20px; min-width: 20px; border-width: 1px; box-shadow: inset 0 0 0 2px rgba(89,151,225,.08); }
    .hbb__guest-copy { gap: 2px; }
    .hbb__guest-title { font-size: 8px; white-space: normal; }

    .hbb__payment-section { margin-top: 6px; }
    .hbb__section-heading { margin-bottom: 4px; font-size: 4.7px; letter-spacing: .07em; }
    .hbb__payment-grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 3px; }
    .hbb__payment { min-height: 28px; gap: 3px; padding: 3px; border-width: 1px; border-radius: 5px; }
    .hbb__payment-dot { width: 7px; box-shadow: 0 0 0 1px rgba(19,111,198,.14); }
    .hbb__payment strong { font-size: 6px; white-space: nowrap; overflow-wrap: normal; }
    .hbb__payment small { margin-top: 1px; font-size: 4.4px; line-height: 1; white-space: nowrap; }
    .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) strong { font-size: 5px; }
    .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) small { font-size: 3.4px; }

    .hbb__trust-grid {
      grid-template-columns: 1.65fr 1.12fr .66fr;
      gap: 4px;
      max-width: 100%;
      margin-top: 6px;
    }

    .hbb__trust { min-height: 24px; gap: 4px; padding: 3px 5px; border-width: 1px; border-radius: 5px; font-size: 6.2px; line-height: 1; white-space: normal; text-align: center; }
    .hbb__trust > span:last-child { min-width: 0; overflow-wrap: anywhere; }
    .hbb__trust-icon { font-size: 9px; }
    .hbb__check { width: 11px; border-width: 1px; font-size: 7px; }
  }

  /* Very narrow tablet columns stay horizontal, but payment badges use two rows. */
  @container hbb (min-width: 300px) and (max-width: 449px) {
    .hbb__top { gap: 3px; }
    .hbb__delivery { padding-right: 5px; }
    .hbb__delivery-title { font-size: 11px; }
    .hbb__delivery-line { margin-top: 8px; font-size: 6px; }
    .hbb__availability { gap: 7px; }
    .hbb__stock { gap: 3px; font-size: 9px; }
    .hbb__returns { font-size: 7.5px; }
    .hbb__quantity { min-height: 31px; }
    .hbb__qty-button { margin: 2px; font-size: 13px; }
    .hbb__qty-input { font-size: 14px; }
    .hbb__purchase-row { gap: 3px; }
    .hbb__price-label { font-size: 9px; }
    .hbb__price { font-size: 18.3px; }
    .hbb__button { padding-inline: 2px; font-size: 7.5px; }
    .hbb__button-cart { font-size: 5.7px; }
    .hbb__button-buy::before { width: 12px; height: 12px; flex-basis: 12px; background-size: 12px 12px; }
    .hbb__guest { gap: 3px; padding-inline: 3px; }
    .hbb__guest-icon { width: 16px; height: 16px; min-width: 16px; }
    .hbb__guest-title { font-size: 7px; }
    .hbb__payment-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3px; }
    .hbb__payment { min-height: 24px; }
    .hbb__payment strong { font-size: 5.7px; }
    .hbb__payment small { font-size: 4.2px; }
    .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) strong { font-size: 4.7px; }
    .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) small { font-size: 3.2px; }
    .hbb__trust-grid { gap: 3px; }
    .hbb__trust { padding-inline: 3px; font-size: 5.6px; }
  }
}

/* Keep tablet-landscape buyboxes compact instead of stretching with the
 * product column. The width cap also keeps the 650px container breakpoint
 * from switching to the oversized desktop geometry. */
@media (min-width: 993px) and (max-width: 1366px) and (orientation: landscape) {
  body.single-product .hbb-container {
    --hbb-max-width: clamp(600px, calc(100vw - 565px), 620px) !important;
    left: 0;
  }

  .hbb-container .hbb .hbb__button-cart {
    font-size: 11.2px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
  /* Tablet-landscape product columns need larger content than the narrow-column
 * compact layout, while retaining its efficient sub-650px geometry. */
  @container hbb (min-width: 520px) and (max-width: 649px) {
    .hbb {
      padding: 16px;
      border-radius: 15px;
    }

    .hbb__top { gap: 7px; }
    .hbb__delivery,
    .hbb__availability { min-height: 60px; }
    .hbb__delivery { padding-right: 10px; }
    .hbb__delivery-title { font-size: 16px; }
    .hbb__delivery-line { margin-top: 13px; font-size: 10px; }
    .hbb__availability { gap: 11px; }
    .hbb__stock { gap: 6px; font-size: 13px; }
    .hbb__stock-dot { width: 9px; }
    .hbb__returns { font-size: 11px; }
    .hbb__wishlist { min-height: 31px; }
    .hbb__wishlist svg { width: 16px; height: 16px; }
    .hbb__quantity { min-height: 42px; }
    .hbb__qty-button { font-size: 18px; }
    .hbb__qty-input { font-size: 20px; }

    .hbb__divider { margin-bottom: 7px; }
    .hbb__purchase-row { gap: 7px; }
    .hbb__price-label { margin-bottom: 5px; font-size: 13px; }
    .hbb__price { font-size: 30.3px; }
    .hbb__button { min-height: 39px; font-size: 11px; }
    .hbb__button-cart { min-height: 34px; }
    .hbb__button-buy { min-height: 39px; }
    .hbb__button-buy::before { width: 16px; height: 16px; flex-basis: 16px; background-size: 16px 16px; }
    .hbb__guest { min-height: 36px; }
    .hbb__guest-icon { width: 22px; height: 22px; min-width: 22px; }
    .hbb__guest-title { font-size: 9.5px; }
    .hbb__guest-sub { font-size: 8px; }

    .hbb__payment-section { margin-top: 8px; }
    .hbb__section-heading { margin-bottom: 5px; font-size: 6.2px; }
    .hbb__payment-grid { gap: 4px; }
    .hbb__payment { min-height: 32px; gap: 4px; padding: 4px; border-radius: 6px; }
    .hbb__payment-dot { width: 8px; }
    .hbb__payment strong { font-size: 7.2px; }
    .hbb__payment small { font-size: 5.4px; }
    .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) strong { font-size: 6.2px; }
    .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) small { font-size: 4.4px; }

    .hbb__trust-grid { gap: 5px; margin-top: 8px; }
    .hbb__trust { min-height: 28px; gap: 5px; padding: 4px 6px; font-size: 7.4px; }
    .hbb__trust-icon { font-size: 10px; }
    .hbb__check { width: 13px; font-size: 8px; }
  }

  @container hbb (min-width: 520px) and (max-width: 559px) {
    .hbb__payment--mastercard strong { font-size: 6.3px; }
  }
}


/* Fallbacks for browsers without container queries. */
@supports not (container-type: inline-size) {
  @media (max-width: 980px) {
    .hbb__top,.hbb__purchase-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hbb__payment-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .hbb__trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: none; }
  }
  @media (max-width: 650px) {
    .hbb__payment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hbb__trust-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 480px) {
    .hbb__top,.hbb__purchase-row { grid-template-columns: 1fr; }
  }
}

/* Two-strip mobile purchase dock. */
.hbb__mobile-cart {
  display: none;
}

.hbb__button-cart-mobile {
  display: none !important;
}

.hbb__landscape-delivery-meta,
.hbb__landscape-price-meta {
  display: none;
}

.hbb__guest-landscape {
  display: none !important;
}

@media (max-width: 767px), (max-width: 950px) and (max-height: 500px) {
  .hbb-container {
    --hbb-mobile-dock-main-h: 68px;
    --hbb-mobile-dock-top-h: 53px;
  }

  .hbb-container .hbb {
    isolation: auto !important;
    overflow: visible !important;
  }

  .hbb-container .hbb__delivery {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(50px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 9998 !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    min-height: var(--hbb-mobile-dock-top-h) !important;
    margin: 0 !important;
    padding: 0 10px 0 12px !important;
    border: 0 !important;
    border-top: 1px solid rgba(16,43,79,.22) !important;
    border-bottom: 1px solid rgba(16,43,79,.14) !important;
    border-radius: 12px 12px 0 0 !important;
    background: #e0eff2 !important;
    box-shadow: 0 -6px 14px rgba(16,43,79,.12) !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  .hbb-container .hbb__delivery::after {
    display: none !important;
  }

  .hbb-container .hbb__delivery-title,
  .hbb-container .hbb__delivery-line {
    display: inline !important;
    margin: 0 !important;
    font-size: clamp(11.2px,3.4vw,13px) !important;
    line-height: 1.2 !important;
    text-align: left !important;
    white-space: nowrap !important;
    transform: translateY(-5.8px) !important;
  }

  .hbb-container .hbb__delivery-title {
    flex: 0 0 auto;
    color: #247934 !important;
    font-weight: 700 !important;
  }

  .hbb-container .hbb__delivery-line {
    min-width: 0;
    overflow: hidden;
    color: #102b4f !important;
    font-weight: 800 !important;
    text-overflow: ellipsis;
  }

  .hbb-container .hbb__mobile-cart {
    position: relative;
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 74px;
    height: 28px;
    margin-left: auto !important;
    padding: 0 8px;
    border: 1px solid rgba(16,43,79,.2);
    border-radius: 999px;
    background: linear-gradient(160deg,#e9f4ff 0%,#d9ecff 100%);
    box-shadow: 0 2px 8px rgba(16,43,79,.12);
    color: #0f2746;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transform: translateY(-4px) !important;
  }

  .hbb-container .hbb__mobile-cart:hover,
  .hbb-container .hbb__mobile-cart:focus {
    color: #0f2746;
    text-decoration: none;
  }

  .hbb-container .hbb__mobile-cart svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
  }

  .hbb-container .hbb__mobile-cart-count {
    position: absolute;
    top: -7px;
    right: -7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 999px;
    background: rgba(225,29,72,.88);
    box-shadow: 0 1px 4px rgba(0,0,0,.18);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
  }

  .hbb-container .hbb__price-block {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: calc(var(--hbb-mobile-dock-main-h) + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 0 190px env(safe-area-inset-bottom, 0px) 16px !important;
    border-top: 1px solid #1b4d82 !important;
    background: linear-gradient(180deg, #051230 0%, #030d24 100%) !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,.28) !important;
    text-align: left !important;
    pointer-events: none;
  }

  .hbb-container .hbb__price-label {
    position: relative !important;
    top: -2.5px !important;
    margin: 0 !important;
    color: #bed0e5 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .hbb-container .hbb__price {
    position: relative !important;
    top: -2.5px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(30px,10vw,41px) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
  }

  .hbb-container .hbb__availability {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-items: center !important;
    gap: 0 !important;
    min-height: 54px !important;
    padding: 10px 12px !important;
  }

  .hbb-container .hbb__stock {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 7px !important;
    padding: 0 !important;
    font-size: 14px !important;
  }

  .hbb-container .hbb__stock-dot {
    position: static !important;
    width: 12px !important;
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--hbb-lime) 20%,transparent) !important;
  }

  .hbb-container .hbb__returns {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 1px solid var(--hbb-divider) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .hbb-container .hbb__trust-grid > .hbb__trust:last-child {
    display: none !important;
  }

  .hbb-container .hbb__wishlist-wrap {
    align-items: center !important;
  }

  .hbb-container .hbb__wishlist {
    width: min(100%,260px) !important;
    min-height: 44px !important;
    padding: 6px 12px !important;
  }

  .hbb-container .hbb__wishlist svg {
    width: 19px !important;
    height: 19px !important;
  }

  .hbb-container .hbb__quantity-wrap {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
  }

  .hbb-container .hbb__quantity {
    grid-template-columns: minmax(30px,1fr) minmax(38px,1.08fr) minmax(30px,1fr) !important;
    flex: 0 1 132px !important;
    width: clamp(112px,45%,132px) !important;
    min-height: 44px !important;
    border-width: 2px !important;
    border-radius: 14px !important;
  }

  .hbb-container .hbb__qty-button {
    margin: 4px !important;
    border-width: 1px !important;
    border-radius: 9px !important;
    font-size: 17px !important;
  }

  .hbb-container .hbb__qty-input {
    font-size: 19px !important;
  }

  .hbb-container .hbb__divider {
    display: none !important;
  }

  .hbb-container .hbb__purchase-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin-top: 12px !important;
  }

  .hbb-container .hbb__purchase-row > .hbb__button-cart {
    display: none !important;
  }

  .hbb-container .hbb__button-cart-mobile {
    display: inline-flex !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: 152px !important;
  }

  .hbb-container .hbb__button-cart {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #075fac !important;
    border-radius: 13px !important;
    background: #0879d8 !important;
    box-shadow: 0 3px 8px rgba(8,121,216,.25) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    gap: 6px !important;
  }

  .hbb-container .hbb__button-cart::before {
    content: "";
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.4 11h10.5L22 7H6.2'/%3E%3C/svg%3E") center/16px 16px no-repeat;
  }

  html body .hbb-container .hbb button.hbb__button-cart:hover,
  html body .hbb-container .hbb button.hbb__button-cart:active,
  html body .hbb-container .hbb button.hbb__button-cart:focus,
  html body .hbb-container .hbb button.hbb__button-cart:focus-visible {
    border-color: #075fac !important;
    background: #0879d8 !important;
    box-shadow: 0 3px 8px rgba(8,121,216,.25) !important;
    color: #fff !important;
  }

  .hbb-container .hbb__guest {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(100%,190px) !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 5px 9px !important;
    justify-self: auto !important;
  }

  .hbb-container .hbb__guest-copy {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
  }

  .hbb-container .hbb__guest-title {
    white-space: nowrap !important;
  }

  .hbb-container .hbb__payment-grid {
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    gap: 6px !important;
  }

  .hbb-container .hbb__payment {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: span 2;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    gap: 5px !important;
    padding: 6px !important;
    border-radius: 9px !important;
    text-align: center !important;
  }

  .hbb-container .hbb__payment-copy {
    flex: 0 1 auto !important;
    text-align: center !important;
  }

  .hbb-container .hbb__payment--paypal { order: 1; }
  .hbb-container .hbb__payment--klarna { order: 2; }
  .hbb-container .hbb__payment--visa { order: 3; }
  .hbb-container .hbb__payment--applepay { order: 4; }
  .hbb-container .hbb__payment--googlepay { order: 5; }
  .hbb-container .hbb__payment--clearpay { order: 6; }
  .hbb-container .hbb__payment--mastercard { order: 7; grid-column: span 3; }
  .hbb-container .hbb__payment--samsungpay { order: 8; grid-column: span 3; }

  .hbb-container .hbb__payment--mastercard,
  .hbb-container .hbb__payment--samsungpay {
    display: none !important;
  }

  .hbb-container .hbb__payment-dot {
    width: 13px !important;
    box-shadow: 0 0 0 2px rgba(19,111,198,.14) !important;
  }

  .hbb-container .hbb__payment strong {
    font-size: 10px !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }

  .hbb-container .hbb__payment small {
    margin-top: 3px !important;
    font-size: 7.5px !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }

  .hbb-container .hbb__button-buy {
    position: fixed !important;
    left: auto !important;
    top: auto !important;
    right: 12px !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 10001 !important;
    width: 130px !important;
    height: 42px !important;
    min-width: 130px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    border-width: 2px !important;
    border-color: transparent !important;
    border-radius: 11px !important;
    background:
      linear-gradient(160deg,#0a1628 0%,#0c3a5c 35%,#0d6fa8 70%,#16c8ff 100%) padding-box,
      conic-gradient(from var(--hbb-trail-angle,0deg),#0c3a5c 0%,#0d6fa8 40%,#16c8ff 70%,#16c8ff 84%,#16c8ff 90%,#2dd7ff 94%,#16c8ff 97%,#0c3a5c 100%) border-box !important;
    box-shadow: 0 6px 14px rgba(55,140,224,.22) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    gap: 6px !important;
    animation: hbb-trail-rotate 1.6s linear infinite !important;
  }

  .hbb-container .hbb__button-buy::before {
    width: 15px !important;
    height: 15px !important;
    flex-basis: 15px !important;
    background-size: 15px 15px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.4 11h10.5L22 7H6.2'/%3E%3C/svg%3E") !important;
  }

  html body .hbb-container .hbb button.hbb__button-buy:hover,
  html body .hbb-container .hbb button.hbb__button-buy:active,
  html body .hbb-container .hbb button.hbb__button-buy:focus,
  html body .hbb-container .hbb button.hbb__button-buy:focus-visible {
    border-color: transparent !important;
    background:
      linear-gradient(160deg,#0a1628 0%,#0c3a5c 35%,#0d6fa8 70%,#16c8ff 100%) padding-box,
      conic-gradient(from var(--hbb-trail-angle,0deg),#0c3a5c 0%,#0d6fa8 40%,#16c8ff 70%,#16c8ff 84%,#16c8ff 90%,#2dd7ff 94%,#16c8ff 97%,#0c3a5c 100%) border-box !important;
    box-shadow: 0 6px 14px rgba(55,140,224,.22) !important;
    color: #ffffff !important;
    animation: hbb-trail-rotate 1.6s linear infinite !important;
  }

  html body .hbb-container .hbb-theme-light .hbb__price-block,
  html[data-rizon-theme="light"] body .hbb-container .hbb-theme-auto .hbb__price-block {
    border-top-color: rgba(122,190,235,.45) !important;
    background: radial-gradient(circle at 56% 73%, rgba(85, 199, 255, 0.17), transparent 34%), #eaf7ff !important;
    box-shadow:
      0 -1px 0 rgba(255,255,255,.95) inset,
      0 -12px 30px rgba(9,62,111,.14),
      0 -22px 42px rgba(58,160,225,.08) !important;
  }

  html body .hbb-container .hbb-theme-light .hbb__price-label,
  html[data-rizon-theme="light"] body .hbb-container .hbb-theme-auto .hbb__price-label {
    color: #6b7f99 !important;
  }

  html body .hbb-container .hbb-theme-light .hbb__price,
  html[data-rizon-theme="light"] body .hbb-container .hbb-theme-auto .hbb__price {
    color: #0b2a5d !important;
  }
}

@media (max-width: 308px) {
  .hbb-container .hbb__delivery-title {
    display: none !important;
  }

  .hbb-container .hbb__delivery-line {
    flex: 0 1 auto !important;
    width: auto !important;
  }
}

/* Fill the wider mobile-landscape dock without altering its existing controls. */
@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  .hbb-container .hbb__landscape-delivery-meta,
  .hbb-container .hbb__landscape-price-meta {
    position: absolute;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 28px;
    padding: 0 12px;
    border: 1px solid rgba(16,43,79,.14);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transform: translateX(-50%);
  }

  .hbb-container .hbb__landscape-delivery-meta {
    top: 5px;
    left: calc(50% + 85px);
    color: #102b4f;
    background: rgba(255,255,255,.34);
  }

  .hbb-container .hbb__landscape-price-meta {
    top: 50%;
    color: #dcecff;
    border-color: rgba(190,208,229,.22);
    background: rgba(255,255,255,.06);
    transform: translate(-50%,-50%);
  }

  .hbb-container .hbb__landscape-stock,
  .hbb-container .hbb__landscape-secure {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }

  .hbb-container .hbb__landscape-stock {
    color: #238b3a;
  }

  .hbb-container .hbb__landscape-stock-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #65d94f;
    box-shadow: 0 0 0 2px rgba(101,217,79,.2);
  }

  .hbb-container .hbb__landscape-secure::before {
    content: "";
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b9ddff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  .hbb-container .hbb__landscape-meta-divider {
    width: 1px;
    height: 13px;
    background: currentColor;
    opacity: .25;
  }

  .hbb-container .hbb__quantity-wrap {
    position: relative !important;
  }

  .hbb-container .hbb__quantity-wrap > .hbb__guest-landscape {
    position: absolute !important;
    top: 0 !important;
    left: calc(100% + 9px) !important;
    display: inline-flex !important;
    width: 190px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
  }

  .hbb-container .hbb__purchase-row > .hbb__guest {
    display: none !important;
  }

  .hbb-container .hbb__trust-grid {
    grid-template-columns: minmax(0,1.45fr) minmax(0,.85fr) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 10px !important;
  }

  .hbb-container .hbb__trust {
    min-width: 0 !important;
    min-height: 32px !important;
    gap: 5px !important;
    padding: 4px 8px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .hbb-container .hbb__trust-icon {
    flex: 0 0 auto;
    font-size: 12px !important;
  }

  .hbb-container .hbb__check {
    width: 15px !important;
    border-width: 1px !important;
    font-size: 10px !important;
  }

  html body .hbb-container .hbb-theme-light .hbb__landscape-price-meta,
  html[data-rizon-theme="light"] body .hbb-container .hbb-theme-auto .hbb__landscape-price-meta {
    color: #174672;
    border-color: rgba(23,70,114,.18);
    background: rgba(23,70,114,.06);
  }

  html body .hbb-container .hbb-theme-light .hbb__landscape-secure::before,
  html[data-rizon-theme="light"] body .hbb-container .hbb-theme-auto .hbb__landscape-secure::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23174672' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  }

  .rizon-theme-toggle-floating {
    right: 8px !important;
    bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 10003 !important;
  }

  html[data-rizon-theme="light"] .rizon-theme-toggle-floating {
    background: rgba(237,243,250,.82) !important;
    backdrop-filter: blur(8px);
  }
}

/* Keep the floating theme control clear of both purchase strips on phones. */
@media (max-width: 600px) and (orientation: portrait) {
  .rizon-theme-toggle-floating {
    right: 8px !important;
    bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 10003 !important;
  }
}

@media (max-width: 580px) and (max-height: 500px) and (orientation: landscape) {
  .hbb-container .hbb__landscape-delivery-meta,
  .hbb-container .hbb__landscape-price-meta {
    gap: 6px;
    padding: 0 9px;
    font-size: 10px;
  }

  .hbb-container .hbb__landscape-delivery-meta > :nth-child(n+2),
  .hbb-container .hbb__landscape-price-meta > :nth-child(n+2) {
    display: none;
  }
}

/* Keep all configured payment badges readable at narrow product widths. */
@container hbb (min-width: 450px) and (max-width: 649px) {
  .hbb__payment-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
  }

  .hbb__payment {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 42px;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 8px;
  }

  .hbb__payment-dot {
    width: 10px;
    flex: 0 0 10px;
  }

  .hbb__payment strong,
  .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) strong {
    font-size: 9px;
  }

  .hbb__payment small,
  .hbb__payment:is(.hbb__payment--applepay,.hbb__payment--googlepay,.hbb__payment--samsungpay) small {
    margin-top: 2px;
    font-size: 7px;
  }
}

@media (max-width: 767px) {
  .hbb-container .hbb__trust-customer {
    display: none !important;
  }

  .hbb-container .hbb__payment-grid {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 7px !important;
  }

  .hbb-container .hbb__payment--paypal { order: 1; }
  .hbb-container .hbb__payment--klarna { order: 2; }
  .hbb-container .hbb__payment--clearpay { order: 3; }
  .hbb-container .hbb__payment--visa { order: 4; }
  .hbb-container .hbb__payment--mastercard { order: 5; }
  .hbb-container .hbb__payment--applepay { order: 6; }
  .hbb-container .hbb__payment--googlepay { order: 7; }
  .hbb-container .hbb__payment--samsungpay { order: 8; }

  .hbb-container .hbb__payment,
  .hbb-container .hbb__payment--mastercard,
  .hbb-container .hbb__payment--samsungpay {
    display: flex !important;
    grid-column: auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .hbb-container .hbb__payment-dot,
  .hbb-container .hbb__payment-copy {
    display: none !important;
  }

  .hbb-container .hbb__payment-logo {
    display: block;
    width: 85%;
    max-width: none;
    max-height: none;
    height: 85%;
    object-fit: fill;
  }

  .hbb-container .hbb__payment--paypal .hbb__payment-logo {
    padding: 5px 3px;
    border-radius: 5px;
    background: #ffffff;
    object-fit: contain;
  }

  .hbb-container .hbb__payment-logo--wallet {
    width: 85%;
    color: var(--hbb-text);
  }

  .hbb-container .hbb__payment-logo--wallet svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
  }
}

@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  .hbb-container .hbb__payment-grid {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 5px !important;
  }

  .hbb-container .hbb__payment,
  .hbb-container .hbb__payment--mastercard,
  .hbb-container .hbb__payment--samsungpay {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 4px 6px !important;
  }
}

/* Final tablet-landscape override for the selected secure-payment badges. */
@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
  .hbb-container .hbb__payment--mastercard,
  .hbb-container .hbb__payment--applepay,
  .hbb-container .hbb__payment--googlepay,
  .hbb-container .hbb__payment--samsungpay {
    display: none !important;
  }
}

/* Phone action row: keep the guest-checkout reassurance beside the wishlist
 * control, while retaining the established desktop and tablet placements. */
.hbb__guest-mobile {
  display: none;
}

@media (max-width: 767px) {
  .hbb-container .hbb__wishlist-wrap {
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
  }

  .hbb-container .hbb__wishlist {
    flex: 1 1 0;
    width: auto !important;
  }

  .hbb-container .hbb__guest-mobile {
    display: inline-flex !important;
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
    min-height: 44px !important;
    padding: 5px 7px !important;
    justify-content: center !important;
    overflow: hidden;
  }

  .hbb-container .hbb__guest-mobile .hbb__guest-icon {
    display: none !important;
  }

  .hbb-container .hbb__guest-mobile .hbb__guest-copy {
    justify-content: center;
    min-width: 0;
  }

  .hbb-container .hbb__guest-mobile .hbb__guest-title {
    font-size: 12px !important;
  }

  .hbb-container .hbb__purchase-row > .hbb__guest:not(.hbb__guest-mobile) {
    display: none !important;
  }
}

/* Landscape phones retain their dedicated compact guest-checkout placement. */
@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  .hbb-container .hbb__guest-mobile {
    display: none !important;
  }
}
