/* =========================================================
   90-sticky.css — BeautyTrouvailles Sticky Cart
   Version: 3.0 — Premium Mobile Sticky CTA
   
   Shows on mobile when scrolling past main product area
   ========================================================= */

/* =========================
   STICKY CART CONTAINER
   ========================= */
.bt-custom-product-page .bt-sticky-cart {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--bt-z-sticky);
  
  padding: var(--bt-space-3);
  padding-bottom: calc(var(--bt-space-3) + env(safe-area-inset-bottom, 0px));
  
  /* Hidden by default */
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  
  transition: transform var(--bt-transition-base),
              opacity var(--bt-transition-base),
              visibility var(--bt-transition-base);
  will-change: transform, opacity, visibility;
  /* GPU acceleration */
  transform: translateY(100%) translateZ(0);
  contain: layout style paint;
}

.bt-custom-product-page .bt-sticky-cart.visible,
.bt-custom-product-page .bt-sticky-cart.active {
  transform: translateY(0) translateZ(0);
  opacity: 1;
  visibility: visible;
}

/* =========================
   INNER CONTAINER
   ========================= */
.bt-custom-product-page .bt-sticky-cart-inner {
  max-width: var(--bt-container);
  margin: 0 auto;
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bt-space-3);
  
  padding: var(--bt-space-3);
  border-radius: var(--bt-radius-xl);
  border: 1px solid var(--bt-border);
  
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.12);
}

/* =========================
   PRODUCT INFO
   ========================= */
.bt-custom-product-page .bt-sticky-product {
  display: flex;
  align-items: center;
  gap: var(--bt-space-3);
  min-width: 0;
}

.bt-custom-product-page .bt-sticky-product img {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  
  border-radius: var(--bt-radius-md);
  border: 1px solid var(--bt-border);
  background: var(--bt-bg-card);
  object-fit: cover;
}

.bt-custom-product-page .bt-sticky-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.bt-custom-product-page .bt-sticky-price {
  font-weight: 900;
  font-size: var(--bt-text-md);
  color: var(--bt-navy);
  line-height: 1.1;
}

.bt-custom-product-page .bt-sticky-original {
  margin-top: 2px;
  font-weight: 800;
  font-size: var(--bt-text-xs);
  color: var(--bt-muted);
  text-decoration: line-through;
  line-height: 1.1;
}

/* =========================
   ADD BUTTON
   ========================= */
.bt-custom-product-page .bt-sticky-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--bt-space-2);
  
  padding: var(--bt-space-3) var(--bt-space-4);
  border: none;
  border-radius: var(--bt-radius-full);
  
  font-family: var(--bt-font-body);
  font-weight: 900;
  font-size: var(--bt-text-sm);
  white-space: nowrap;
  color: #fff;
  
  background: linear-gradient(90deg, var(--bt-pink), var(--bt-pink-2));
  box-shadow: var(--bt-shadow-pink);
  cursor: pointer;
  
  transition: transform var(--bt-transition-fast),
              box-shadow var(--bt-transition-fast);
  will-change: transform, box-shadow;
  /* GPU acceleration */
  transform: translateZ(0);
  contain: layout style paint;
}

.bt-custom-product-page .bt-sticky-btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--bt-shadow-pink-lg);
}

.bt-custom-product-page .bt-sticky-btn:active {
  transform: translateY(0);
}

.bt-custom-product-page .bt-sticky-btn i {
  font-size: var(--bt-text-base);
}

/* =========================
   HIDE ON DESKTOP
   ========================= */
@media (min-width: 992px) {
  .bt-custom-product-page .bt-sticky-cart {
    display: none;
  }
}

/* =========================
   SMALL MOBILE ADJUSTMENTS
   ========================= */
@media (max-width: 400px) {
  .bt-custom-product-page .bt-sticky-cart-inner {
    padding: var(--bt-space-2);
    gap: var(--bt-space-2);
  }
  
  .bt-custom-product-page .bt-sticky-product img {
    width: 40px;
    height: 40px;
  }
  
  .bt-custom-product-page .bt-sticky-btn {
    padding: var(--bt-space-3);
  }
  
  .bt-custom-product-page .bt-sticky-btn span {
    display: none;
  }
}