/* DampAmok cart drawer viewport fix
 * The dimmer is the full-screen layer. The cart itself stays above it,
 * constrained to the viewport and independently scrollable. */
html body .pls-mask-overaly {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.55) !important;
  z-index: 99998 !important;
}

html body .pls-minicart-slide {
  position: fixed !important;
  top: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  left: auto !important;
  width: 450px !important;
  max-width: calc(100vw - 32px) !important;
  height: auto !important;
  min-height: 0 !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  z-index: 99999 !important;
  transform: translateX(110%) !important;
  transition: transform .45s ease !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.28) !important;
}

html body .pls-minicart-slide.opened {
  right: 16px !important;
  transform: translateX(0) !important;
}

html body .pls-minicart-slide .pls-minicart-items {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
}

html body .pls-minicart-slide .pls-minicart-header {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

html body .pls-minicart-slide .widget_shopping_cart {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

html body .pls-minicart-slide .widget_shopping_cart_content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

html body .pls-minicart-slide .woocommerce-mini-cart {
  max-height: none !important;
  overflow: visible !important;
}

html body .pls-minicart-slide .pls-minicart-bottom,
html body .pls-minicart-slide .pls-minicart-action-block,
html body .pls-minicart-slide .pls-minicart-cross-sells {
  flex: 0 0 auto !important;
}

@media (max-width: 600px) {
  html body .pls-minicart-slide {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: min(450px, 100vw) !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
  }
  html body .pls-minicart-slide.opened { right: 0 !important; }
}


/* Free-delivery completion animation: only runs when the threshold is crossed. */
.shipping-progress-fill.shipping-progress-just-unlocked {
  animation: dampamokShippingFillComplete .7s cubic-bezier(.22,1,.36,1) both;
}
@keyframes dampamokShippingFillComplete {
  from { width: var(--shipping-from-pct, 0%); }
  to { width: 100%; }
}

/* Restore the close icon for the mobile cart drawer. The base stylesheet hides
 * the generic close pseudo-element, while this drawer's anchor intentionally
 * uses font-size:0 and contains only screen-reader text. */
@media (max-width: 600px) {
  html body .pls-minicart-slide .pls-minicart-header .pls-close-btn {
    color: transparent !important;
    font-size: 0 !important;
  }
  html body .pls-minicart-slide .pls-minicart-header .pls-close-btn::before {
    content: '✕' !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #1f2937 !important;
  }
}


/* Final product-thumbnail cleanup: remove the artificial frames and keep the
 * actual product artwork cleanly rounded on cart + checkout, desktop + mobile. */
.dampamok-cart-page .cart-page-product-image {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}
.dampamok-cart-page .cart-page-product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 18px !important;
}
.dampamok-checkout-page .dampamok-checkout-item-thumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}
.dampamok-checkout-page .dampamok-checkout-item-thumb img,
.dampamok-checkout-page .woocommerce-checkout-review-order-table .product-name img {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 18px !important;
}
.dampamok-checkout-page .dampamok-checkout-sale-image {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.dampamok-checkout-page .dampamok-checkout-sale-image img {
  border-radius: 18px !important;
  object-fit: contain !important;
  display: block !important;
}
