/* HL premium compact add-to-cart toast — keep <15KB */

.modal-backdrop.show:has(+ #blockcart-modal),
body.modal-open:has(#blockcart-modal.show) .modal-backdrop,
body.modal-open:has(#blockcart-modal.in) .modal-backdrop {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Toast must NOT lock scroll / inject scrollbar padding (CLS on grid) */
html:has(#blockcart-modal.show),
html:has(#blockcart-modal.in),
body:has(#blockcart-modal.show),
body:has(#blockcart-modal.in),
body.modal-open:has(#blockcart-modal.show),
body.modal-open:has(#blockcart-modal.in),
html.modal-open:has(#blockcart-modal.show),
html.modal-open:has(#blockcart-modal.in) {
  overflow: auto !important;
  overflow-y: auto !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
}

#blockcart-modal.hl-blockcart-modal,
#blockcart-modal {
  background: transparent !important;
  pointer-events: none !important;
  z-index: 100050 !important;
}

#blockcart-modal .modal-dialog {
  position: fixed !important;
  top: 88px !important;
  right: 20px !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  width: 300px !important;
  max-width: calc(100vw - 28px) !important;
  pointer-events: auto !important;
  transform: translate3d(18px, -8px, 0) !important;
  opacity: 0 !important;
  transition:
    transform .32s cubic-bezier(.22, 1, .36, 1),
    opacity .28s ease !important;
}

#blockcart-modal.show .modal-dialog,
#blockcart-modal.in .modal-dialog {
  transform: translate3d(0, 0, 0) !important;
  opacity: 1 !important;
}

#blockcart-modal .modal-content {
  border-radius: 12px !important;
  border: 1px solid rgba(17, 24, 39, .08) !important;
  box-shadow:
    0 1px 2px rgba(17, 24, 39, .04),
    0 12px 28px rgba(17, 24, 39, .12) !important;
  overflow: hidden !important;
  background: #fff !important;
}

#blockcart-modal .modal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  border-bottom: 0 !important;
  padding: 12px 12px 0 !important;
  background: #fff !important;
  min-height: 0 !important;
}

#blockcart-modal .modal-title,
#blockcart-modal .blockcart-modal__title {
  margin: 0 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  color: #15803d !important;
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
}

#blockcart-modal .modal-title .material-icons,
#blockcart-modal .blockcart-modal__title-icon {
  margin: 0 !important;
  font-size: 16px !important;
  color: #16a34a !important;
  line-height: 1 !important;
}

#blockcart-modal .btn-close {
  margin: 0 !important;
  padding: .2rem !important;
  width: .65em !important;
  height: .65em !important;
  opacity: .45 !important;
}

#blockcart-modal .modal-body {
  padding: 10px 12px 8px !important;
  background: #fff !important;
}

#blockcart-modal .hl-bc-product,
#blockcart-modal .blockcart-modal__product {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  border: 0 !important;
}

#blockcart-modal .blockcart-modal__image,
#blockcart-modal img.product-image {
  flex: 0 0 52px !important;
  width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: #f8f9fb !important;
  border: 1px solid #f0f1f3 !important;
}

#blockcart-modal .hl-bc-product__info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

#blockcart-modal .blockcart-modal__name,
#blockcart-modal .product-name {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 0 3px !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  color: #111827 !important;
}

#blockcart-modal .blockcart-modal__price,
#blockcart-modal .product-price {
  display: block !important;
  margin: 0 0 2px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  color: #d71920 !important;
}

#blockcart-modal .blockcart-modal__quantity,
#blockcart-modal .blockcart-modal__property {
  display: block !important;
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  line-height: 1.3 !important;
}

#blockcart-modal .blockcart-modal__summary,
#blockcart-modal .hl-bc-summary {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f7f8fa !important;
}

#blockcart-modal .hl-bc-row,
#blockcart-modal .blockcart-modal__total {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  margin: 0 0 4px !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  line-height: 1.3 !important;
}

#blockcart-modal .hl-bc-row:last-child,
#blockcart-modal .blockcart-modal__total:last-child {
  margin-bottom: 0 !important;
}

#blockcart-modal .hl-bc-row .label,
#blockcart-modal .blockcart-modal__total .label {
  color: #6b7280 !important;
  font-weight: 500 !important;
}

#blockcart-modal .hl-bc-row .value,
#blockcart-modal .blockcart-modal__total .value,
#blockcart-modal .blockcart-modal__total .subtotals,
#blockcart-modal .blockcart-modal__total .shipping {
  color: #111827 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

#blockcart-modal .hl-bc-row--total,
#blockcart-modal .blockcart-modal__total--bold {
  margin: 6px 0 0 !important;
  padding-top: 6px !important;
  border-top: 1px solid #e5e7eb !important;
  font-size: 12.5px !important;
}

#blockcart-modal .hl-bc-row--total .label,
#blockcart-modal .hl-bc-row--total .value,
#blockcart-modal .blockcart-modal__total--bold .label,
#blockcart-modal .blockcart-modal__total--bold .value {
  font-weight: 750 !important;
  color: #111827 !important;
  font-size: 13px !important;
}

#blockcart-modal .shipping.value {
  color: #15803d !important;
  font-weight: 650 !important;
}

#blockcart-modal .blockcart-modal__extra:empty,
#blockcart-modal .blockcart-modal__cart-footer-extra:empty {
  display: none !important;
}

#blockcart-modal .modal-footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 8px 12px 12px !important;
  border-top: 0 !important;
  background: #fff !important;
}

#blockcart-modal .modal-footer .btn,
#blockcart-modal .hl-bc-btn-continue,
#blockcart-modal .hl-bc-btn-checkout {
  width: 100% !important;
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

#blockcart-modal .hl-bc-btn-continue,
#blockcart-modal .modal-footer .hl-bc-btn-continue {
  order: 1 !important;
  background: #fff !important;
  color: #111827 !important;
  border: 1px solid #d1d5db !important;
}

#blockcart-modal .hl-bc-btn-continue:hover,
#blockcart-modal .hl-bc-btn-continue:focus {
  background: #f9fafb !important;
  border-color: #9ca3af !important;
  color: #111827 !important;
}

#blockcart-modal .hl-bc-btn-checkout,
#blockcart-modal .modal-footer .btn-primary {
  order: 2 !important;
  background: #d71920 !important;
  border: 1px solid #d71920 !important;
  color: #fff !important;
  min-height: 38px !important;
  height: 38px !important;
}

#blockcart-modal .hl-bc-btn-checkout:hover,
#blockcart-modal .modal-footer .btn-primary:hover {
  background: #b9141b !important;
  border-color: #b9141b !important;
  color: #fff !important;
}

#blockcart-modal .modal-body > .row,
#blockcart-modal .modal-body .row {
  display: contents !important;
}

@media (max-width: 575.98px) {
  #blockcart-modal .modal-dialog {
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    transform: translate3d(0, 12px, 0) !important;
  }

  #blockcart-modal.show .modal-dialog,
  #blockcart-modal.in .modal-dialog {
    transform: translate3d(0, 0, 0) !important;
  }

  #blockcart-modal .modal-header {
    padding: 10px 12px 0 !important;
  }

  #blockcart-modal .modal-body {
    padding: 8px 12px 6px !important;
  }

  #blockcart-modal .modal-footer {
    padding: 6px 12px 12px !important;
    flex-direction: row !important;
    gap: 6px !important;
  }

  #blockcart-modal .hl-bc-btn-continue,
  #blockcart-modal .hl-bc-btn-checkout,
  #blockcart-modal .modal-footer .btn {
    flex: 1 1 0 !important;
    order: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    font-size: 11px !important;
  }

  #blockcart-modal .blockcart-modal__image,
  #blockcart-modal img.product-image {
    flex-basis: 48px !important;
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
}
