/* ============================================================
   CUSTOM WOOCOMMERCE MINI CART — THEME-PROOF v3
   All rules scoped under #cmcr-wrap OR use !important
   Theme CSS cannot override these styles.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Josefin+Sans:wght@300;400;600;700&display=swap');

/* ── Design tokens ── */
:root {
  --mc-bg:          #111009;
  --mc-surface:     #1a1910;
  --mc-surface2:    #222117;
  --mc-border:      rgba(255,255,255,0.07);
  --mc-gold:        #c8a96e;
  --mc-gold-light:  #e0c98a;
  --mc-gold-dim:    rgba(200,169,110,0.4);
  --mc-text:        #f0ede6;
  --mc-text-muted:  #7a7568;
  --mc-text-dim:    #4a4840;
  --mc-width:       420px;
  --mc-ease:        cubic-bezier(0.4,0,0.2,1);
}

/* ============================================================
   OVERLAY
   ============================================================ */
.custom-mini-cart-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(8,8,6,0.78) !important;
  z-index: 999980 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.38s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.38s !important;
  margin: 0 !important;
  padding: 0 !important;
  /* own compositing layer — doesn't affect sidebar layer */
  will-change: opacity !important;
}
.custom-mini-cart-overlay.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================================
   SIDEBAR SHELL  — everything inside #cmcr-wrap
   ============================================================ */
#cmcr-wrap {
  all: initial !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: var(--mc-width) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  height: 100vh !important;
  background: var(--mc-bg) !important;
  z-index: 999990 !important;
  display: flex !important;
  flex-direction: column !important;
  /* translate3d forces GPU layer immediately on page load */
  transform: translate3d(100%, 0, 0) !important;
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  /* promote to own GPU layer — isolated from page repaints */
  will-change: transform !important;
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
  -webkit-perspective: 1000px !important;
  perspective: 1000px !important;
  /* contain: layout style — browser skips page layout recalc */
  contain: layout style !important;
  font-family: 'Josefin Sans', sans-serif !important;
  color: var(--mc-text) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  border: none !important;
}

#cmcr-wrap.is-open {
  transform: translate3d(0, 0, 0) !important;
  box-shadow: -20px 0 40px rgba(0,0,0,0.55) !important;
}

/* grain texture removed — SVG filter causes repaint every frame on mobile */
#cmcr-wrap::before {
  content: none !important;
}

#cmcr-wrap > * {
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
}

/* reset ALL children inside the sidebar */
#cmcr-wrap *,
#cmcr-wrap *::before,
#cmcr-wrap *::after {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Josefin Sans', sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  line-height: normal !important;
  letter-spacing: normal !important;
}

/* ── HEADER ── */
#cmcr-wrap .mini-cart-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  padding: 32px 28px 24px !important;
  border-bottom: 1px solid var(--mc-border) !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  gap: 0 !important;
}

#cmcr-wrap .header-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

#cmcr-wrap .header-label {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  color: var(--mc-gold) !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  display: block !important;
}

#cmcr-wrap .header-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  color: var(--mc-text) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  border: none !important;
  background: none !important;
}

#cmcr-wrap .header-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#cmcr-wrap .custom-cart-count {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 1px solid var(--mc-gold-dim) !important;
  border-radius: 50% !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--mc-gold) !important;
  background: rgba(200,169,110,0.06) !important;
  line-height: 1 !important;
  text-align: center !important;
}

#cmcr-wrap .mini-cart-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  background: var(--mc-surface2) !important;
  border: 1px solid var(--mc-border) !important;
  color: var(--mc-text-muted) !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s !important;
  border-radius: 4px !important;
  outline: none !important;
  box-shadow: none !important;
}
#cmcr-wrap .mini-cart-close:hover {
  background: var(--mc-surface) !important;
  color: var(--mc-text) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
#cmcr-wrap .mini-cart-close svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* ── BODY ── */
#cmcr-wrap .mini-cart-body {
  flex: 1 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 8px 0 !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--mc-text-dim) transparent !important;
  background: transparent !important;
  min-height: 0 !important;
}
#cmcr-wrap .mini-cart-body::-webkit-scrollbar { width: 3px !important; }
#cmcr-wrap .mini-cart-body::-webkit-scrollbar-track { background: transparent !important; }
#cmcr-wrap .mini-cart-body::-webkit-scrollbar-thumb { background: var(--mc-text-dim) !important; border-radius: 2px !important; }

/* ── EMPTY STATE ── */
#cmcr-wrap .custom-cart-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 60px 28px !important;
  color: var(--mc-text-muted) !important;
}
#cmcr-wrap .custom-cart-empty svg {
  opacity: 0.3 !important;
  stroke: var(--mc-gold) !important;
  display: block !important;
}
#cmcr-wrap .custom-cart-empty p {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--mc-text-muted) !important;
  margin: 0 !important;
}

/* ── CART ITEMS ── */
#cmcr-wrap .custom-cart-items {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#cmcr-wrap .custom-cart-item {
  display: grid !important;
  grid-template-columns: 80px 1fr 26px !important;
  gap: 0 14px !important;
  align-items: start !important;
  padding: 20px 28px !important;
  border-bottom: 1px solid var(--mc-border) !important;
  position: relative !important;
  transition: background 0.2s !important;
  background: transparent !important;
  list-style: none !important;
}
#cmcr-wrap .custom-cart-item:last-child { border-bottom: none !important; }
#cmcr-wrap .custom-cart-item:hover { background: rgba(255,255,255,0.015) !important; }

/* image */
#cmcr-wrap .cart-item-image {
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  border: 1px solid var(--mc-border) !important;
  overflow: hidden !important;
  background: var(--mc-surface2) !important;
  display: block !important;
}
#cmcr-wrap .cart-item-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
}
#cmcr-wrap .cart-item-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(0.95) !important;
  transition: transform 0.4s var(--mc-ease) !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
#cmcr-wrap .cart-item-image:hover img { transform: scale(1.04) !important; }

/* details */
#cmcr-wrap .cart-item-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding-top: 2px !important;
}

#cmcr-wrap .cart-item-brand {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--mc-text-muted) !important;
  display: block !important;
  line-height: 1 !important;
}

#cmcr-wrap .cart-item-name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--mc-text) !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: color 0.2s !important;
}
#cmcr-wrap .cart-item-name:hover { color: var(--mc-gold-light) !important; }

#cmcr-wrap .cart-item-variation {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  color: var(--mc-text-muted) !important;
  margin-top: 2px !important;
  display: block !important;
}

/* qty + price row */
#cmcr-wrap .cart-item-bottom {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 10px !important;
}

#cmcr-wrap .cart-item-qty {
  display: flex !important;
  align-items: center !important;
  border: 1px solid var(--mc-border) !important;
  background: var(--mc-surface2) !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}

#cmcr-wrap .qty-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--mc-text-muted) !important;
  cursor: pointer !important;
  transition: background 0.15s, color 0.15s !important;
  flex-shrink: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#cmcr-wrap .qty-btn:hover {
  background: rgba(255,255,255,0.06) !important;
  color: var(--mc-text) !important;
}
#cmcr-wrap .qty-btn svg {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  stroke: currentColor !important;
  fill: none !important;
  flex-shrink: 0 !important;
}

#cmcr-wrap .qty-number {
  min-width: 28px !important;
  text-align: center !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--mc-text) !important;
  line-height: 28px !important;
  display: inline-block !important;
}

#cmcr-wrap .cart-item-price {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--mc-gold) !important;
  letter-spacing: 0.03em !important;
  white-space: nowrap !important;
  display: inline-block !important;
}
#cmcr-wrap .cart-item-price .woocommerce-Price-currencySymbol,
#cmcr-wrap .cart-item-price bdi {
  color: var(--mc-gold) !important;
  font-family: 'Josefin Sans', sans-serif !important;
}

/* remove button */
#cmcr-wrap .cart-item-remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  background: transparent !important;
  border: 1px solid var(--mc-border) !important;
  color: var(--mc-text-dim) !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
  border-radius: 3px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#cmcr-wrap .cart-item-remove:hover {
  background: rgba(200,80,80,0.1) !important;
  border-color: rgba(200,80,80,0.3) !important;
  color: #c85050 !important;
}
#cmcr-wrap .cart-item-remove svg {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* ── FOOTER ── */
#cmcr-wrap .mini-cart-footer {
  border-top: 1px solid var(--mc-border) !important;
  padding: 20px 28px 28px !important;
  flex-shrink: 0 !important;
  background: var(--mc-surface) !important;
  display: block !important;
}

#cmcr-wrap .mini-cart-subtotal {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 4px !important;
}

#cmcr-wrap .subtotal-label {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  color: var(--mc-text-muted) !important;
  text-transform: uppercase !important;
}

#cmcr-wrap .custom-cart-subtotal {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--mc-gold) !important;
  letter-spacing: 0.02em !important;
}
#cmcr-wrap .custom-cart-subtotal .woocommerce-Price-amount,
#cmcr-wrap .custom-cart-subtotal bdi,
#cmcr-wrap .custom-cart-subtotal .woocommerce-Price-currencySymbol {
  color: var(--mc-gold) !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: inherit !important;
}

#cmcr-wrap .subtotal-note {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.05em !important;
  color: var(--mc-text-dim) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

/* checkout & view cart buttons */
#cmcr-wrap .btn-checkout,
#cmcr-wrap .btn-view-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 14px 20px !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.25s, color 0.25s, border-color 0.25s, gap 0.25s !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  text-align: center !important;
}

#cmcr-wrap .btn-checkout {
  background: var(--mc-text) !important;
  color: var(--mc-bg) !important;
  border: 1px solid var(--mc-text) !important;
  margin-bottom: 10px !important;
  margin-top: 0 !important;
}
#cmcr-wrap .btn-checkout:hover {
  background: var(--mc-gold-light) !important;
  border-color: var(--mc-gold-light) !important;
  color: var(--mc-bg) !important;
  gap: 14px !important;
  text-decoration: none !important;
}
#cmcr-wrap .btn-checkout svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  stroke: currentColor !important;
  fill: none !important;
  transition: transform 0.25s !important;
}
#cmcr-wrap .btn-checkout:hover svg { transform: translateX(2px) !important; }

#cmcr-wrap .btn-view-cart {
  background: transparent !important;
  color: var(--mc-text) !important;
  border: 1px solid var(--mc-border) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#cmcr-wrap .btn-view-cart:hover {
  background: var(--mc-surface2) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: var(--mc-text) !important;
  text-decoration: none !important;
}

#cmcr-wrap .secure-checkout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 14px !important;
}
#cmcr-wrap .secure-checkout svg {
  display: block !important;
  flex-shrink: 0 !important;
  stroke: var(--mc-text-dim) !important;
  fill: none !important;
  width: 12px !important;
  height: 14px !important;
}
#cmcr-wrap .secure-checkout span {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  color: var(--mc-text-dim) !important;
}

/* woocommerce price global override inside sidebar */
#cmcr-wrap .woocommerce-Price-amount { color: inherit !important; }

/* loading state */
#cmcr-wrap.cart-loading .mini-cart-body {
  opacity: 0.5 !important;
  pointer-events: none !important;
}

/* item enter animation */
#cmcr-wrap.is-open .custom-cart-item {
  animation: cmcrSlideIn 0.4s var(--mc-ease) both !important;
}
#cmcr-wrap.is-open .custom-cart-item:nth-child(1) { animation-delay: 0.08s !important; }
#cmcr-wrap.is-open .custom-cart-item:nth-child(2) { animation-delay: 0.14s !important; }
#cmcr-wrap.is-open .custom-cart-item:nth-child(3) { animation-delay: 0.20s !important; }
#cmcr-wrap.is-open .custom-cart-item:nth-child(4) { animation-delay: 0.26s !important; }

@keyframes cmcrSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ── Block transition on page load (prevents mobile flicker) ── */
#cmcr-wrap.cmcr-no-transition {
  transition: none !important;
  will-change: auto !important;
}

/* body scroll lock — use pointer-events instead of overflow to avoid reflow */
body.mini-cart-open { overflow: hidden !important; touch-action: none !important; }

/* ── RESPONSIVE ── */
@media (max-width: 480px) {
  #cmcr-wrap {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  #cmcr-wrap .mini-cart-header { padding: 24px 20px 20px !important; }
  #cmcr-wrap .custom-cart-item { padding: 16px 20px !important; }
  #cmcr-wrap .mini-cart-footer { padding: 16px 20px 24px !important; }
}

/* ============================================================
   SHORTCODE CART ICON  [custom_cart_icon]
   Scoped under .custom-cart-icon-btn
   ============================================================ */

.custom-cart-icon-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
  vertical-align: middle !important;
  transition: background 0.2s, border-color 0.2s, transform 0.15s !important;
  box-sizing: border-box !important;
  line-height: normal !important;
  font-family: 'Josefin Sans', sans-serif !important;
  overflow: visible !important;
}

.custom-cart-icon-btn .cmcr-icon-svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  stroke: currentColor !important;
  fill: none !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
}

.cmcr-icon-badge {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #c8a96e !important;
  color: #111009 !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-align: center !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  display: inline-block !important;
  margin: 0 !important;
}

.cmcr-icon-badge.pop {
  animation: cmcrBadgePop 0.35s cubic-bezier(0.34,1.56,0.64,1) both !important;
}
@keyframes cmcrBadgePop {
  0%   { transform: scale(0.3); }
  65%  { transform: scale(1.3); }
  100% { transform: scale(1); }
}

.cmcr-icon-label {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: currentColor !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* style="icon" — default */
.custom-cart-icon-btn.cmcr-icon--icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 10px !important;
  background: #1e1d14 !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  color: #e8e3d8 !important;
  overflow: visible !important;
}
.custom-cart-icon-btn.cmcr-icon--icon:hover {
  background: #272618 !important;
  border-color: rgba(200,169,110,0.35) !important;
}
.custom-cart-icon-btn.cmcr-icon--icon:active { transform: scale(0.93) !important; }

/* style="pill" */
.custom-cart-icon-btn.cmcr-icon--pill {
  background: #1e1d14 !important;
  border: 1px solid rgba(200,169,110,0.25) !important;
  border-radius: 999px !important;
  padding: 9px 18px 9px 14px !important;
  color: #e8e3d8 !important;
  gap: 10px !important;
}
.custom-cart-icon-btn.cmcr-icon--pill:hover {
  background: rgba(200,169,110,0.08) !important;
  border-color: rgba(200,169,110,0.45) !important;
}
.custom-cart-icon-btn.cmcr-icon--pill .cmcr-icon-badge {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}

/* style="minimal" */
.custom-cart-icon-btn.cmcr-icon--minimal {
  color: #e8e3d8 !important;
  padding: 6px !important;
}
.custom-cart-icon-btn.cmcr-icon--minimal:hover { opacity: 0.7 !important; }
.custom-cart-icon-btn.cmcr-icon--minimal .cmcr-icon-badge {
  top: -4px !important;
  right: -4px !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 17px !important;
  font-size: 9px !important;
}


/* ── Fallback: WC fragment replaces badge with only .custom-cart-count class ──
   This ensures styling survives even if cmcr-icon-badge class is missing        */
.custom-cart-icon-btn .custom-cart-count {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  z-index: 99 !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #c8a96e !important;
  color: #111009 !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-align: center !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  display: inline-block !important;
  margin: 0 !important;
  /* override sidebar header count styles */
  width: auto !important;
  border: none !important;
  flex-shrink: 0 !important;
}

/* pill style: badge inline not absolute */
.custom-cart-icon-btn.cmcr-icon--pill .custom-cart-count {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}

/* minimal style: smaller badge */
.custom-cart-icon-btn.cmcr-icon--minimal .custom-cart-count {
  top: -4px !important;
  right: -4px !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 17px !important;
  font-size: 9px !important;
}

/* ============================================================
   FLYING ADD-TO-CART ANIMATION
   ============================================================ */

.cmcr-fly-dot {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 999999 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.55), 0 0 0 2px rgba(200,169,110,0.7) !important;
  will-change: transform, opacity !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cmcr-fly-dot img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.cmcr-fly-dot.cmcr-fly-dot--no-img {
  background: #c8a96e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cmcr-icon-ripple {
  position: absolute !important;
  inset: -3px !important;
  border-radius: inherit !important;
  border: 1.5px solid rgba(200,169,110,0.9) !important;
  pointer-events: none !important;
  animation: cmcrRipple 0.6s ease-out forwards !important;
  z-index: 3 !important;
}
@keyframes cmcrRipple {
  0%   { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.6); }
}

@keyframes cmcrGlow {
  0%   { box-shadow: 0 0 0 0   rgba(200,169,110,0.8); }
  40%  { box-shadow: 0 0 0 9px rgba(200,169,110,0.2); }
  100% { box-shadow: 0 0 0 0   rgba(200,169,110,0); }
}
.custom-cart-icon-btn.cmcr-landed {
  animation: cmcrGlow 0.55s ease-out forwards !important;
}

.cmcr-spark {
  position: fixed !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 999999 !important;
  will-change: transform, opacity !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Mobile: expo easing feels instant, kills all extra animations ── */
@media (max-width: 768px) {
  #cmcr-wrap {
    /* expo out easing — feels ~2x faster than ease-in-out */
    transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  #cmcr-wrap.is-open .custom-cart-item {
    animation: none !important;
  }
  /* Overlay: simpler on mobile */
  .custom-mini-cart-overlay {
    transition: opacity 0.3s ease, visibility 0.3s !important;
    will-change: auto !important;
  }
  /* Disable hover transitions on mobile (no hover anyway) */
  #cmcr-wrap .cart-item-image img {
    transition: none !important;
  }
  #cmcr-wrap .mini-cart-close,
  #cmcr-wrap .qty-btn,
  #cmcr-wrap .cart-item-remove,
  #cmcr-wrap .btn-checkout,
  #cmcr-wrap .btn-view-cart {
    transition: none !important;
  }
}
