/** Shopify CDN: Minification failed

Line 693:0 Unexpected "<"
Line 695:20 Unexpected "{"
Line 695:29 Expected ":"
Line 704:20 Unexpected "{"
Line 704:29 Expected ":"
Line 714:18 Unexpected "{"
Line 714:27 Expected ":"
Line 724:18 Unexpected "{"
Line 724:27 Expected ":"
Line 735:20 Unexpected "{"
... and 16 more hidden warnings

**/
.cart.is-empty .title-wrapper,
.cart:not(.is-empty) .empty-state {
  display: none;
}

.cart .empty-state {
  max-width: 38rem;
  margin-inline: auto;
}

.cart .empty-state .button {
  min-width: var(--sp-56);
}

@media screen and (min-width: 771px) {
  .cart .empty-state .button {
    min-height: 3.75rem;
  }
}

.cart .empty-state p.heading {
  font-size: clamp(var(--sp-8), 4vw, var(--sp-16));
}

.cart__content {
  gap: var(--grid-gap);
}

.cart__sidebar {
  margin-inline: calc(var(--gap-padding) * -1);
  background-color: rgb(var(--color-foreground) / 0.025);
  padding: var(--sp-7d5) var(--gap-padding);
}

@media screen and (min-width: 771px) {
  .cart__sidebar {
    margin-inline: 0;
    padding: var(--sp-10);
    border-radius: var(--rounded-block);
  }
}

@media screen and (min-width: 1024px) {
  .cart__sidebar {
    width: clamp(340px, 30vw, 480px);
    padding-inline: var(--sp-12);
  }
}

.cart__sidebar :is(.input, .select, .textarea) {
  background-color: transparent;
  border: 1px solid rgb(var(--color-border));
}

.cart__sidebar :is(.tax-note, .discounts) {
  line-height: 1.375;
}

.cart__sidebar .discounts {
  padding-block-end: var(--sp-2);
}

.cart__sidebar .free-shipping-bar {
  padding: var(--sp-5);
  background-color: rgb(var(--color-background));
}

[data-rounded-block="round"] .cart__sidebar .free-shipping-bar {
  border-radius: var(--border-radius-small);
}

.cart__sidebar .free-shipping-bar progress-bar::before {
  --tw-scale-x: var(--progress);
}

@media screen and (min-width: 771px) {
  .cart__sidebar .free-shipping-bar {
    padding: var(--sp-7d5);
  }
}

.cart-note p {
  font-size: clamp(var(--text-lg), 1.053vw, var(--text-xl));
}

.cart-note ~ .field {
  margin-block-start: calc(var(--sp-3) * -1);
}

@media screen and (min-width: 771px) {
  .cart-note ~ .field {
    margin-block-start: calc(var(--sp-5) * -1);
  }
}

table.no-headings {
  box-shadow: none;
  border-radius: 0;
}

table.no-headings thead {
  display: none;
}

table.no-headings thead ~ tbody tr:first-child {
  border-block-start: 0;
}

table.no-headings td {
  vertical-align: top;
}

@media screen and (min-width: 771px) {
  table.no-headings td {
    vertical-align: middle;
    padding-block: var(--sp-10);
  }
}

table.no-headings tr:first-child td {
  padding-block-start: 0;
}

table.no-headings tr:last-child td {
  padding-block-end: 0;
}

table.no-headings td:first-child {
  padding-inline-start: 0;
}

table.no-headings td:last-child {
  padding-inline-end: 0;
}

.cart-item {
  --cart-item-media-width: var(--sp-20);
}

@media screen and (min-width: 771px) {
  .cart-item {
    --cart-item-media-width: var(--sp-32);
  }
}

.cart-item__media {
  width: var(--cart-item-media-width);
}

[data-rounded-block="round"] .cart-item__media {
  border-radius: var(--sp-2);
}

.cart-item__media img {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition: transform var(--animation-primary);
}

@media screen and (pointer: fine) {
  .cart-item__media:hover img {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }
}

.cart-item__quantity .loader:not([hidden]) ~ .link {
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .cart-item__quantity {
    padding-inline-end: 0;
  }
}

.cart-details {
  padding: var(--sp-6);
  border: 1px solid rgb(var(--color-border));
  border-radius: var(--rounded-block);
}

.cart-details .details .details__summary {
  padding-block: 0;
}

.cart-details .details .details__summary + .grid {
  padding-block-start: clamp(var(--sp-5), 1.473vw, var(--sp-7));
}

.cart-details .details .details__summary > .icon {
  --tw-scale-y: 1;
  width: var(--sp-3);
  height: var(--sp-3);
}

.cart-details .details[aria-expanded="true"] .details__summary > .icon {
  --tw-scale-y: -1;
}

.cart-details .details .details__content {
  padding-block-start: var(--sp-5);
}

@media screen and (min-width: 771px) {
  .cart-details {
    padding: var(--sp-10);
  }

  .cart-details .details .details__summary > .icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }

  .cart-details .details .details__content {
    padding-block-start: var(--sp-8d5);
  }
}

.cart__form + .gift-wrapping {
  padding-block-start: var(--sp-4);
}

@media screen and (max-width: 767px) {
  .cart .cart__gift {
    border-radius: 0;
    padding-inline: var(--page-padding);
    margin-inline: calc(var(--page-padding) * -1);
  }

  .cart .cart__gift table td {
    padding-inline-end: 0;
  }

  .cart .modal {
    transition: all 0.3s ease;
    z-index: 3;
  }

  .cart .modal .fixed-modal {
    background: linear-gradient(
      to bottom,
      rgb(var(--color-drawer-overlay) / 0.1) 30%,
      rgb(var(--color-drawer-overlay) / 0.3) 80%
    );
    cursor: none;
    transition: opacity 0.6s cubic-bezier(0.7, 0, 0.2, 1);
  }

  .cart .modal .close {
    width: var(--sp-12);
    height: var(--sp-12);
  }

  .cart .modal__container {
    --tw-translate-y: 100%;
    background-color: rgb(var(--color-background));
    transform: translateY(var(--tw-translate-y));
    transition: transform 0.6s cubic-bezier(0.7, 0, 0.2, 1);
    max-height: calc(100% - 60px);
    border-start-end-radius: var(--sp-6);
    border-start-start-radius: var(--sp-6);
  }

  .cart .modal__header {
    padding: var(--sp-8) var(--sp-5) var(--sp-2);
  }

  .cart .modal__content {
    padding: var(--sp-2) var(--sp-5) var(--sp-6);
  }

  .cart .modal[active] {
    transition-delay: 0s;
    visibility: visible;
  }

  .cart .modal[active] .fixed-modal {
    opacity: 1;
  }

  .cart .modal[active] .modal__container {
    --tw-translate-y: 0;
  }
}

@media screen and (min-width: 771px) {
  /* Anchor positions to each cart row */
  .cart table.no-headings tr.cart-item{
    position: relative;
  }

  /* Put remove + qty on the right without overlapping the text */
  .cart table.no-headings tr.cart-item td > .flex,
  .cart table.no-headings tr.cart-item .cart-item__details{
    min-width: 0;
    max-width: 100%;
  }

  .cart table.no-headings tr.cart-item .cart-item__details{
    box-sizing: border-box;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Title: space for remove X only */
  .cart table.no-headings tr.cart-item .cart-item__details > .grid{
    box-sizing: border-box;
    padding-right: 44px;
    min-width: 0;
  }

  /* Price / rating: space for qty pill */
  .cart table.no-headings tr.cart-item .cart-item__details > .flex.flex-col{
    box-sizing: border-box;
    padding-right: 120px;
    min-width: 0;
  }

  /* Quantity -> bottom-right */
  .cart table.no-headings tr.cart-item .cart-quantity{
    position: absolute !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 10 !important;
    margin: 0 !important;
  }

  /* Remove -> top-right */
  .cart table.no-headings tr.cart-item .cart-item__remove{
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 20 !important;
  }

  /* IMPORTANT: make sure remove wrapper doesn't take space in the layout */
  .cart table.no-headings tr.cart-item td.cart-item__quantity{
    position: relative !important; /* keeps everything predictable */
  }

  /* Keep loader aligned inside remove */
  .cart table.no-headings tr.cart-item .cart-item__remove .loader{
    right: 0 !important;
    left: auto !important;
  }
}

/* Kill ALL underline styles coming from `.link` */
.cart-item__remove .cart-remove-x{
  text-decoration: none !important;
  border-bottom: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Some themes underline the inner text/span */
.cart-item__remove .cart-remove-x span{
  text-decoration: none !important;
  border-bottom: none !important;
  font-size: 32px;
  line-height: 1;
  color: #6B7669;
  opacity: 0.75;
}

@media screen and (min-width: 771px) {
  /* Ensure cart controls never float above overlays/menus */
  .cart table.no-headings tr.cart-item { 
    z-index: 0 !important;
  }

  .cart table.no-headings tr.cart-item .cart-item__remove{
    z-index: 1 !important; /* keep above cart content, but low globally */
  }

  .cart table.no-headings tr.cart-item .cart-item__remove a[is="cart-remove-button"],
  .cart table.no-headings tr.cart-item .cart-item__remove a[is="remove-gift-wrap"]{
    position: relative !important;
    z-index: 1 !important;
  }
}

@media screen and (min-width: 771px) {

  /* Allow spacing between table rows */
  .cart table.no-headings {
    border-collapse: separate;
    border-spacing: 0 16px;
  }

  /* Make each CELL part of the card */
  .cart table.no-headings tr.cart-item td {
    border-top: 1px solid #DDE6DA;
    border-bottom: 1px solid #DDE6DA;
    background: #ffffff;
  }

  /* Left edge of card */
  .cart table.no-headings tr.cart-item td:first-child {
    border-left: 1px solid #DDE6DA;
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
    padding-left: 16px;
  }

  /* Right edge of card */
  .cart table.no-headings tr.cart-item td:last-child {
    border-right: 1px solid #DDE6DA;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
    padding-right: 16px;
  }

  /* Vertical padding inside the card */
  .cart table.no-headings tr.cart-item td {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

@media screen and (min-width: 771px) {

  /* ===== Perfectly centered − | 1 | + pill (stable) ===== */

  .cart table.no-headings tr.cart-item .cart-quantity{
    position: absolute !important;
    right: 16px !important;
    bottom: 22px !important;
    z-index: 10 !important;

    width: 112px !important;              /* 40 + 44 + 40 */
    height: 36px !important;

    border: 1px solid #DDE6DA !important;
    border-radius: 999px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  /* Center the input perfectly */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__input{
    position: absolute !important;
    left: 40px !important;                /* after minus */
    right: 40px !important;               /* before plus */
    top: 0 !important;
    bottom: 0 !important;

    width: auto !important;
    height: 100% !important;

    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;

    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    pointer-events: none !important;      /* use +/- only */
  }

  /* Force button wrapper visible, but we’ll position buttons ourselves */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__buttons{
    position: static !important;
    display: block !important;
    height: 100% !important;
  }

  /* Base button */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button{
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 40px !important;
    height: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;

    cursor: pointer !important;
    color: #6B7669 !important;

    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* Hide theme SVG arrows */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button svg{
    display: none !important;
  }

  /* Minus (left) */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="minus"]{
    left: 0 !important;
    border-right: 1px solid #DDE6DA !important;
  }
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="minus"]::after{
    content: "−";
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
  }

  /* Plus (right) */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="plus"]{
    right: 0 !important;
    border-left: 1px solid #DDE6DA !important;
  }
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="plus"]::after{
    content: "+";
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
  }

  /* Hover */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button:hover{
    background: #F4F7F3 !important;
  }
}

@media screen and (min-width: 771px) {
  /* Keep text column starting at the top */
  .cart table.no-headings tr.cart-item td:first-child > .flex {
    align-items: flex-start !important;
  }

  /* ✅ Center the IMAGE vertically inside the card */
  .cart table.no-headings tr.cart-item .cart-item__media {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* ✅ Only push the TEXT down a bit (not the image) */
  .cart table.no-headings tr.cart-item .cart-item__details {
    margin-top: 12px !important;
  }
}

/* ===== Cart page rating: match mini card styling ===== */
.bb-cart-rating{
  display: flex;
  align-items: center;
  gap: 8px;
}

.bb-cart-rating__avocados{
  display: inline-flex;
  gap: 2px;
  line-height: 1;          /* <-- change from 0 */
  padding-block: 1px;      /* <-- tiny breathing room avoids clipping */
}

/* default: show avocado as normal */
.bb-avo svg{ 
  display: block; 
}

/* empty: make it greyed out */
.bb-avo--empty{
  opacity: 0.25;
  filter: grayscale(1);
}

/* half: same behavior as your mini card (greyed out fallback) */
.bb-avo--half{
  position: relative;
  display: inline-block;
}
.bb-avo--half svg{
  opacity: 0.25;
  filter: grayscale(1);
}
/* keep the half overlay disabled (matches your current mini css) */
.bb-avo--half::after{
  display: none;
}

.bb-cart-rating__avocados svg{
  width: 14px;
  height: 18px;          
  display: block;
}

/* rating text (same as mini) */
.bb-cart-rating__text{
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  color: #6B7669;
}

/* Placeholder rows: theme.css hides div:empty, so spacers keep price aligned */
.cart table.no-headings tr.cart-item .cart-item__meta-line--placeholder{
  display: block !important;
}

.cart table.no-headings tr.cart-item .cart-item__meta-line--variant.cart-item__meta-line--placeholder{
  min-height: 20px;
}

.cart table.no-headings tr.cart-item .cart-item__meta-line--rating.cart-item__meta-line--placeholder{
  min-height: 20px;
}

.cart table.no-headings tr.cart-item .cart-item__meta-line__spacer{
  display: block;
  visibility: hidden;
  pointer-events: none;
  line-height: 20px;
}

/* ===== Cart typography polish ===== */
@media screen and (min-width: 771px) {

  /* Product TITLE */
  .cart table.no-headings tr.cart-item .cart__item-title{
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: -0.64px;
    color: #363D3C;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* Sub description (variants, properties, meta text) */
  .cart table.no-headings tr.cart-item .cart-item__details dl,
  .cart table.no-headings tr.cart-item .cart-item__details .text-xs{
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -0.56px;
    color: #6B7669;
  }
  
  /* PRICE (main) */
  .cart table.no-headings tr.cart-item .price__regular,
  .cart table.no-headings tr.cart-item .price__sale{
    font-family: Montserrat, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: -0.72px;
    color: #363D3C;
  }

  /* Crossed price (when on sale) */
  .cart table.no-headings tr.cart-item .price__sale{
    font-weight: 500;
    opacity: 0.65;
  }

  /* Unit price (€/ml etc.) */
  .cart table.no-headings tr.cart-item .unit-price{
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    color: #6B7669;
  }
}

<style>
  /* Subtotal row */
  #shopify-section-{{ section.id }} .cart__sidebar .totals__subtotal{
    font-size: 18px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    font-family: Montserrat, sans-serif !important;
    color: #6B7669 !important;
    letter-spacing: -0.56px !important;
  }

  #shopify-section-{{ section.id }} .cart__sidebar .totals__subtotal-value{
    font-size: 18px !important;
    line-height: 20px !important;
    font-weight: 500 !important;
    font-family: Montserrat, sans-serif !important;
    color: #363D3C !important;
    letter-spacing: -0.56px !important;
  }

/* Total row (the second totals block - has inline margin-top) */
#shopify-section-{{ section.id }} .cart__sidebar .totals[style*="margin-top"] p{
  font-size: 22px !important;
  line-height: 28px !important;
  font-weight: 600 !important;
  font-family: Montserrat, sans-serif !important;
  color: #363D3C !important;
  letter-spacing: -0.72px !important;
}

/* Total value (right side) */
#shopify-section-{{ section.id }} .cart__sidebar .totals[style*="margin-top"] p:last-child{
  font-size: 26px !important;
  line-height: 28px !important;
  font-weight: 600 !important;
  font-family: Montserrat, sans-serif !important;
  color: #363D3C !important;
  letter-spacing: -0.72px !important;
}


@media (max-width: 771px){
  #shopify-section-{{ section.id }} .cart__sidebar .totals__subtotal{
    font-size: 16px !important;
    line-height: 20px !important;
  }

  #shopify-section-{{ section.id }} .cart__sidebar .totals__subtotal-value{
    font-size: 16px !important;
    line-height: 26px !important;
  }

  /* Total row (the second totals block - has inline margin-top) */
  #shopify-section-{{ section.id }} .cart__sidebar .totals[style*="margin-top"] p{
    font-size: 18px !important;
    line-height: 18px !important;
  }

  /* Total value (right side) */
  #shopify-section-{{ section.id }} .cart__sidebar .totals[style*="margin-top"] p:last-child{
    font-size: 20px !important;
    line-height: 18px !important;
  }
}

</style>

<style>
  #shopify-section-{{ section.id }} #BBPromoForm-{{ section.id }} #CartDiscountForm-{{ section.id }}{
    height: 42px !important;
    min-height: 42px !important;

    padding: 0 !important;
    padding-left: 8px !important;
    padding-right: 12px !important;

    box-sizing: border-box !important;
  }
</style>

/* =========================================================
   MOBILE (<= 771px): force desktop-style right-side controls
   Qty = bottom-right, Remove X = top-right
   ========================================================= */
@media screen and (max-width: 771px) {

  .cart table.no-headings{
    overflow-x: clip;
  }

  /* Make each cart row an anchor */
  .cart table.no-headings tr.cart-item{
    position: relative !important;
  }

  .cart table.no-headings tr.cart-item td > .flex,
  .cart table.no-headings tr.cart-item .cart-item__details{
    min-width: 0;
    max-width: 100%;
  }

  .cart table.no-headings tr.cart-item .cart-item__details{
    box-sizing: border-box;
    padding-right: 0 !important;
  }

  .cart table.no-headings tr.cart-item .cart-item__details > .grid{
    box-sizing: border-box;
    padding-right: 36px !important;
    min-width: 0;
  }

  .cart table.no-headings tr.cart-item .cart-item__details > .flex.flex-col{
    box-sizing: border-box;
    padding-right: 104px !important;
    min-width: 0;
  }

  .cart table.no-headings tr.cart-item .cart__item-title{
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* Remove column cell should not affect layout */
  .cart table.no-headings tr.cart-item td.cart-item__quantity{
    position: relative !important;
  }

  /* Remove -> top-right */
  .cart table.no-headings tr.cart-item .cart-item__remove{
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
    margin: 0 !important;
  }

  /* Qty -> bottom-right */
  .cart table.no-headings tr.cart-item .cart-quantity{
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    z-index: 10 !important;
    margin: 0 !important;
  }

  /* Keep loader aligned in the remove area */
  .cart table.no-headings tr.cart-item .cart-item__remove .loader{
    right: 0 !important;
    left: auto !important;
  }

  /* Make sure the qty cell doesn't add weird spacing under the card */
  .cart table.no-headings tr.cart-item td.cart-item__quantity{
    padding: 0 !important;
    width: 0 !important;
    white-space: nowrap !important;
  }

  /* Optional: if your theme adds top margin on qty wrapper on mobile, kill it */
  .cart table.no-headings tr.cart-item .cart-item__quantity{
    margin-top: 0 !important;
  }
}

/* =========================================================
   MOBILE (<= 771px): force desktop-style right-side controls
   ========================================================= */
@media screen and (max-width: 771px){

  /* Anchor row */
  .cart table.no-headings tr.cart-item{
    position: relative !important;
  }

  /* Put remove at top-right */
  .cart table.no-headings tr.cart-item .cart-item__remove{
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
  }

  /* Put quantity wrapper bottom-right */
  .cart table.no-headings tr.cart-item .cart-quantity{
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    z-index: 10 !important;
    margin: 0 !important;
  }

  .cart table.no-headings tr.cart-item .cart-quantity{
    position: absolute !important;
    right: 12px !important;
    z-index: 10 !important;

    width: 96px !important;              /* 40 + 32 + 40 (same feel as desktop) */
    height: 30px !important;

    border: 1px solid #DDE6DA !important;
    border-radius: 999px !important;
    background: #fff !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  /* Center number */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__input{
    position: absolute !important;
    left: 32px !important;
    right: 32px !important;
    top: 0 !important;
    bottom: 0 !important;

    width: auto !important;
    height: 100% !important;

    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;

    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 36px !important;

    pointer-events: none !important; /* use +/- only */
  }

  /* IMPORTANT: your theme hides this on mobile. Force it ON and position it. */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__buttons{
    position: static !important;
    display: block !important;
    height: 100% !important;
  }

  /* Base button (we draw +/- ourselves) */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button{
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 32px !important;
    height: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;

    cursor: pointer !important;
    color: #6B7669 !important;

    font-size: 0 !important;   /* hide any theme text */
    line-height: 0 !important;
  }

  /* Hide theme SVG arrows */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button svg{
    display: none !important;
  }

  /* Minus (left) */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="minus"]{
    left: 0 !important;
    border-right: 1px solid #DDE6DA !important;
  }
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="minus"]::after{
    content: "−";
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
  }

  /* Plus (right) */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="plus"]{
    right: 0 !important;
    border-left: 1px solid #DDE6DA !important;
  }
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button[name="plus"]::after{
    content: "+";
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
  }

  /* Hover like desktop */
  .cart table.no-headings tr.cart-item .cart-quantity .quantity__button:hover{
    background: #F4F7F3 !important;
  }
}

/* Ollie magnet carousel (main cart + mini cart) */
.cart-ollie-magnets {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.cart-ollie-magnet {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: 10px;
  overflow: hidden;
  color: inherit;
  cursor: default;
  pointer-events: none;
}

.cart-ollie-magnet__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1.08;
  background: #d4e3c8;
  overflow: hidden;
}

.cart-ollie-magnet__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cart-ollie-magnet__placeholder {
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 1;
  color: #363d3c;
  opacity: 0.55;
}

.cart-ollie-magnet__label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 8px 6px;
  background: #95c87b;
  color: #ffffff;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.02em;
  text-align: center;
}

#CartDrawer cart-items .cart-ollie-magnets {
  margin-block-start: var(--sp-4);
}

/* Special offer = same block as empty cart “Most loved” */
#CartDrawer .cart-drawer-most-loved-section {
  margin-block-start: var(--sp-5);
  width: 100%;
}

#CartDrawer .cart-drawer-most-loved-section .drawer__most-loved {
  margin: 20px 0 15px !important;
  padding: 0 !important;
  border: 0 !important;
  border-block-end: none !important;
  text-align: left !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  line-height: 28px !important;
  letter-spacing: -0.72px !important;
  font-weight: 600 !important;
  color: #363d3c !important;
}

#CartDrawer .cart-drawer-most-loved-section .cart-drawer-most-loved {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 15px !important;
  padding: 0 !important;
}

@media screen and (max-width: 1023px) {
  .cart-ollie-magnets {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
    gap: 10px;
    padding-bottom: 2px;
  }

  .cart-ollie-magnet {
    flex: 0 0 calc((100% - 20px) / 3);
    scroll-snap-align: start;
  }
}

/* Mini cart line item price */
#CartDrawer .horizontal-product__details .price,
#CartDrawer .horizontal-product__details .price :is(.price__regular, .price__sale) {
  font-weight: 600;
}

/* Mini cart quantity: hide browser spin buttons (use +/- controls only) */
#CartDrawer .bb-qty__input,
#CartDrawer .cart-quantity .quantity__input {
  -moz-appearance: textfield;
  appearance: textfield;
}

#CartDrawer .bb-qty__input::-webkit-outer-spin-button,
#CartDrawer .bb-qty__input::-webkit-inner-spin-button,
#CartDrawer .cart-quantity .quantity__input::-webkit-outer-spin-button,
#CartDrawer .cart-quantity .quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@media screen and (max-width: 600px) {
  .cart-ollie-magnet {
    flex: 0 0 42%;
  }
}

/* Mini cart line items: prevent horizontal overflow on very narrow screens */
@media screen and (max-width: 400px) {
  #CartDrawer .drawer__scrollable,
  #CartDrawer cart-items,
  #CartDrawer .horizontal-products {
    max-width: 100%;
    overflow-x: hidden;
  }

  #CartDrawer .horizontal-products > li.horizontal-product {
    position: relative;
    flex-wrap: nowrap;
    align-items: flex-start;
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
    padding: 14px 12px;
    gap: 10px !important;
    overflow: hidden;
    --cart-item-media-width: 56px;
  }

  #CartDrawer .horizontal-product__media {
    flex: 0 0 var(--cart-item-media-width);
    width: var(--cart-item-media-width);
  }

  #CartDrawer .horizontal-product__details {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    padding-right: 104px;
    overflow: hidden;
  }

  #CartDrawer .horizontal-product__title {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  #CartDrawer .horizontal-product__details .price {
    flex-wrap: wrap;
  }

  #CartDrawer .horizontal-product__details .whitespace-nowrap {
    white-space: normal !important;
  }

  #CartDrawer .horizontal-product__quantity {
    position: absolute;
    top: 12px;
    right: 12px;
    bottom: 12px;
    left: auto;
    width: auto;
    max-width: calc(100% - 80px);
    margin: 0 !important;
    padding: 0 !important;
    flex: none;
    align-self: auto;
    z-index: 2;
  }

  #CartDrawer .horizontal-product__quantity .flex.flex-col {
    height: 100%;
    align-items: flex-end;
  }

  #CartDrawer .horizontal-product__quantity .cart-quantity__info {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
  }

  #CartDrawer quantity-input.bb-qty {
    display: inline-grid;
    grid-template-columns: 32px minmax(26px, 34px) 32px;
    height: 32px;
    max-width: 100%;
  }

  #CartDrawer .bb-qty__btn {
    width: 32px;
    font-size: 14px;
  }

  #CartDrawer .bb-qty__input {
    font-size: 13px !important;
  }
}
