
/* ==========================================================================
   SKYFRAME SIDE CART CRITICAL V4
   Loaded separately after all theme/WooCommerce styles to prevent cache/default
   Woo styles from breaking the drawer.
   ========================================================================== */

body.skyframe-cart-open{
  overflow:hidden !important;
}

.skyframe-cart-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:99998 !important;
  background:rgba(0,0,0,.62) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .22s ease !important;
  backdrop-filter:blur(2px) !important;
  -webkit-backdrop-filter:blur(2px) !important;
}

body.skyframe-cart-open .skyframe-cart-overlay{
  opacity:1 !important;
  pointer-events:auto !important;
}

.skyframe-side-cart.skyframe-side-cart-v4,
.skyframe-side-cart{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:min(430px,calc(100vw - 10px)) !important;
  max-width:430px !important;
  height:100vh !important;
  z-index:99999 !important;
  transform:translateX(104%) !important;
  transition:transform .28s ease !important;
  pointer-events:none !important;
  background:transparent !important;
  overflow:hidden !important;
}

body.skyframe-cart-open .skyframe-side-cart.skyframe-side-cart-v4,
body.skyframe-cart-open .skyframe-side-cart{
  transform:translateX(0) !important;
  pointer-events:auto !important;
}

.skyframe-side-cart .skyframe-side-cart-panel{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 10% 0%,rgba(95,242,255,.13),transparent 34%),
    radial-gradient(circle at 92% 12%,rgba(166,108,255,.08),transparent 32%),
    linear-gradient(180deg,#0b152b 0%,#050a18 46%,#02040d 100%) !important;
  border-left:1px solid rgba(255,255,255,.14) !important;
  box-shadow:-36px 0 90px rgba(0,0,0,.62) !important;
  color:#ffffff !important;
}

.skyframe-side-cart .skyframe-side-cart-head{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:24px 24px 20px !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}

.skyframe-side-cart .skyframe-side-cart-head span{
  display:block !important;
  margin:0 0 7px !important;
  color:#5ff2ff !important;
  font-size:.72rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.skyframe-side-cart .skyframe-side-cart-head h2{
  margin:0 !important;
  padding:0 !important;
  color:#ffffff !important;
  font-size:1.72rem !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
  font-weight:950 !important;
}

.skyframe-side-cart .skyframe-cart-close{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  font-size:28px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.skyframe-side-cart .skyframe-cart-close:hover{
  background:rgba(255,255,255,.10) !important;
}

.skyframe-side-cart .skyframe-side-cart-benefits{
  flex:0 0 auto !important;
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  padding:14px 20px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.skyframe-side-cart .skyframe-side-cart-benefits span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  background:rgba(95,242,255,.075) !important;
  border:1px solid rgba(95,242,255,.16) !important;
  color:#e7fbff !important;
  font-size:.72rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}

.skyframe-side-cart .skyframe-side-cart-inner{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding:18px !important;
  scrollbar-width:thin !important;
  scrollbar-color:#5ff2ff rgba(255,255,255,.05) !important;
}

.skyframe-side-cart .skyframe-side-cart-custom{
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

.skyframe-side-cart .skyframe-side-cart-items{
  display:grid !important;
  gap:14px !important;
}

.skyframe-side-cart .skyframe-side-cart-item{
  position:relative !important;
  display:grid !important;
  grid-template-columns:84px minmax(0,1fr) 28px !important;
  gap:13px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
  padding:13px !important;
  box-sizing:border-box !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.11) !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(95,242,255,.08),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.060),rgba(255,255,255,.026)) !important;
  box-shadow:
    0 16px 38px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow:hidden !important;
}

.skyframe-side-cart .skyframe-side-cart-thumb{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:84px !important;
  height:84px !important;
  min-width:84px !important;
  max-width:84px !important;
  min-height:84px !important;
  max-height:84px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

.skyframe-side-cart .skyframe-side-cart-thumb img,
.skyframe-side-cart .skyframe-mini-product-img,
.skyframe-side-cart img.skyframe-mini-product-img,
.skyframe-side-cart .skyframe-side-cart-item img{
  display:block !important;
  width:84px !important;
  height:84px !important;
  min-width:84px !important;
  max-width:84px !important;
  min-height:84px !important;
  max-height:84px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:17px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

.skyframe-side-cart .skyframe-side-cart-item-main{
  min-width:0 !important;
  padding:1px 0 0 !important;
}

.skyframe-side-cart .skyframe-side-cart-product-name{
  display:block !important;
  width:100% !important;
  margin:0 0 8px !important;
  padding:0 !important;
  color:#ffffff !important;
  font-size:.92rem !important;
  line-height:1.28 !important;
  letter-spacing:-.018em !important;
  font-weight:850 !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.skyframe-side-cart .skyframe-side-cart-product-name:hover{
  color:#ffffff !important;
  opacity:.88 !important;
}

.skyframe-side-cart .skyframe-side-cart-meta{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 0 8px !important;
  padding:0 !important;
  color:#b8c7db !important;
  font-size:.84rem !important;
  line-height:1.2 !important;
}

.skyframe-side-cart .skyframe-side-cart-meta span{
  color:#b8c7db !important;
  font-weight:700 !important;
}

.skyframe-side-cart .skyframe-side-cart-meta strong{
  color:#ffffff !important;
  font-weight:900 !important;
}

.skyframe-side-cart .skyframe-side-cart-digital{
  display:flex !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  margin:0 !important;
  padding:0 !important;
}

.skyframe-side-cart .skyframe-side-cart-digital span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:5px 7px !important;
  border-radius:999px !important;
  background:rgba(95,242,255,.070) !important;
  border:1px solid rgba(95,242,255,.13) !important;
  color:#dffaff !important;
  font-size:.64rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

.skyframe-side-cart .skyframe-side-cart-remove{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.060) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#ffffff !important;
  font-size:19px !important;
  line-height:1 !important;
  font-weight:500 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.skyframe-side-cart .skyframe-side-cart-remove:hover{
  background:rgba(255,255,255,.13) !important;
  color:#ffffff !important;
}

.skyframe-side-cart .skyframe-side-cart-summary{
  margin-top:auto !important;
  padding:18px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}

.skyframe-side-cart .skyframe-side-cart-subtotal{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:0 0 14px !important;
  padding:0 !important;
  color:#ffffff !important;
}

.skyframe-side-cart .skyframe-side-cart-subtotal span{
  color:#d5e2f4 !important;
  font-size:1rem !important;
  font-weight:850 !important;
}

.skyframe-side-cart .skyframe-side-cart-subtotal strong{
  color:#ffffff !important;
  font-size:1.28rem !important;
  font-weight:950 !important;
}

.skyframe-side-cart .skyframe-side-cart-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}

.skyframe-side-cart .skyframe-cart-primary,
.skyframe-side-cart .skyframe-cart-secondary,
.skyframe-side-cart a.skyframe-cart-primary,
.skyframe-side-cart a.skyframe-cart-secondary{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:50px !important;
  box-sizing:border-box !important;
  border-radius:999px !important;
  cursor:pointer !important;
  text-align:center !important;
  text-decoration:none !important;
  font-size:.96rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.015em !important;
}

.skyframe-side-cart .skyframe-cart-primary,
.skyframe-side-cart a.skyframe-cart-primary{
  color:#061017 !important;
  background:linear-gradient(180deg,#ffffff,#72f3ff 54%,#1de0ff) !important;
  box-shadow:0 18px 38px rgba(33,223,255,.18) !important;
  border:0 !important;
}

.skyframe-side-cart .skyframe-cart-secondary,
.skyframe-side-cart a.skyframe-cart-secondary{
  color:#ffffff !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:none !important;
}

.skyframe-side-cart .skyframe-side-cart-note{
  margin:12px 0 0 !important;
  padding:0 !important;
  color:#93a3ba !important;
  font-size:.80rem !important;
  line-height:1.48 !important;
  text-align:center !important;
}

.skyframe-side-cart .skyframe-side-cart-empty{
  min-height:64vh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:#cbd8ea !important;
  padding:24px 6px !important;
}

.skyframe-side-cart .skyframe-empty-icon{
  width:56px !important;
  height:56px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 16px !important;
  color:#061017 !important;
  background:linear-gradient(180deg,#ffffff,#72f3ff) !important;
  font-weight:950 !important;
}

.skyframe-side-cart .skyframe-side-cart-empty h3{
  margin:0 0 8px !important;
  color:#ffffff !important;
  font-size:1.45rem !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}

.skyframe-side-cart .skyframe-side-cart-empty p{
  margin:0 0 18px !important;
  color:#b8c7db !important;
  font-size:.95rem !important;
  line-height:1.6 !important;
}

/* Remove any Woo default mini-cart styling if fragments sneak in */
.skyframe-side-cart .woocommerce-mini-cart,
.skyframe-side-cart .woocommerce-mini-cart__buttons,
.skyframe-side-cart .woocommerce-mini-cart__total{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.skyframe-side-cart .woocommerce-mini-cart-item{
  display:none !important;
}

@media(max-width:520px){
  .skyframe-side-cart.skyframe-side-cart-v4,
  .skyframe-side-cart{
    width:calc(100vw - 8px) !important;
    max-width:calc(100vw - 8px) !important;
  }

  .skyframe-side-cart .skyframe-side-cart-head{
    padding:22px 18px 18px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-benefits{
    padding:12px 16px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-inner{
    padding:16px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-item{
    grid-template-columns:76px minmax(0,1fr) 26px !important;
    gap:11px !important;
    padding:12px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-thumb,
  .skyframe-side-cart .skyframe-side-cart-thumb img,
  .skyframe-side-cart .skyframe-mini-product-img,
  .skyframe-side-cart img.skyframe-mini-product-img,
  .skyframe-side-cart .skyframe-side-cart-item img{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    min-height:76px !important;
    max-height:76px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-product-name{
    font-size:.86rem !important;
  }

  .skyframe-side-cart .skyframe-side-cart-digital span{
    font-size:.60rem !important;
    padding:5px 6px !important;
  }
}


/* V5 dynamic header cart count badge */
.header .skyframe-cart-count-fragment.has-items,
.skyframe-commerce-page .header .skyframe-cart-count-fragment.has-items,
.skyframe-front-page .header .skyframe-cart-count-fragment.has-items{
  display:flex !important;
}

.header .skyframe-cart-count-fragment.is-empty,
.skyframe-commerce-page .header .skyframe-cart-count-fragment.is-empty,
.skyframe-front-page .header .skyframe-cart-count-fragment.is-empty{
  display:none !important;
}

.skyframe-order-bump--side-cart .skyframe-order-bump-title{margin:0 0 8px;color:#fff;font-size:18px;line-height:1.12}.skyframe-order-bump--side-cart .skyframe-order-bump-text{font-size:13px;line-height:1.5;margin:0 0 10px;color:rgba(225,235,255,.82)}.skyframe-order-bump--side-cart .skyframe-order-bump-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}


/* V7 force dynamic header cart count and order bump inside side cart */
.header .skyframe-cart-count-fragment.has-items,
.skyframe-commerce-page .header .skyframe-cart-count-fragment.has-items,
.skyframe-front-page .header .skyframe-cart-count-fragment.has-items{display:flex!important}
.header .skyframe-cart-count-fragment.is-empty,
.skyframe-commerce-page .header .skyframe-cart-count-fragment.is-empty,
.skyframe-front-page .header .skyframe-cart-count-fragment.is-empty{display:none!important}
.skyframe-side-cart .skyframe-order-bump--side-cart{margin:18px 0!important}
.skyframe-side-cart .skyframe-order-bump--side-cart .skyframe-order-bump-title{margin:0 0 8px!important;color:#fff!important;font-size:18px!important;line-height:1.12!important}
.skyframe-side-cart .skyframe-order-bump--side-cart .skyframe-order-bump-text{font-size:13px!important;line-height:1.5!important;margin:0 0 10px!important;color:rgba(225,235,255,.82)!important}


/* ==========================================================================
   V8 — BUTTON SHIMMER / FLASH FIX
   Prevents hover shine effects from escaping outside buttons in side cart,
   cart page, checkout, order bump and WooCommerce buttons.
   ========================================================================== */

/* Ecommerce buttons: contain all hover effects inside their own box */
.skyframe-side-cart .skyframe-cart-primary,
.skyframe-side-cart .skyframe-cart-secondary,
.skyframe-side-cart .skyframe-bump-btn,
.skyframe-side-cart .skyframe-order-bump a,
.skyframe-cart-page .skyframe-cart-primary,
.skyframe-cart-page .skyframe-cart-secondary,
.skyframe-cart-page .skyframe-commerce-bump-button,
.skyframe-cart-page .skyframe-bump-btn,
.skyframe-checkout-page-v3 .button,
.skyframe-checkout-page-v3 button,
.skyframe-checkout-page-v3 #place_order,
.skyframe-digital-checkout-main .button,
.skyframe-digital-checkout-main button,
.skyframe-digital-checkout-main #place_order,
.woocommerce-cart .woocommerce a.button,
.woocommerce-cart .woocommerce button.button,
.woocommerce-cart .woocommerce input.button,
.woocommerce-checkout .woocommerce a.button,
.woocommerce-checkout .woocommerce button.button,
.woocommerce-checkout .woocommerce input.button,
.woocommerce-checkout .woocommerce #place_order,
.skyframe-product-v5-button,
.skyframe-product-v3-button,
.skyframe-commerce-bump-button,
.skyframe-bump-btn{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  contain:paint !important;
  background-clip:padding-box !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Remove external shimmer/flash pseudo-elements from ecommerce buttons */
.skyframe-side-cart .skyframe-cart-primary::before,
.skyframe-side-cart .skyframe-cart-primary::after,
.skyframe-side-cart .skyframe-cart-secondary::before,
.skyframe-side-cart .skyframe-cart-secondary::after,
.skyframe-side-cart .skyframe-bump-btn::before,
.skyframe-side-cart .skyframe-bump-btn::after,
.skyframe-side-cart .skyframe-order-bump a::before,
.skyframe-side-cart .skyframe-order-bump a::after,
.skyframe-cart-page .skyframe-cart-primary::before,
.skyframe-cart-page .skyframe-cart-primary::after,
.skyframe-cart-page .skyframe-cart-secondary::before,
.skyframe-cart-page .skyframe-cart-secondary::after,
.skyframe-cart-page .skyframe-commerce-bump-button::before,
.skyframe-cart-page .skyframe-commerce-bump-button::after,
.skyframe-cart-page .skyframe-bump-btn::before,
.skyframe-cart-page .skyframe-bump-btn::after,
.skyframe-checkout-page-v3 .button::before,
.skyframe-checkout-page-v3 .button::after,
.skyframe-checkout-page-v3 button::before,
.skyframe-checkout-page-v3 button::after,
.skyframe-checkout-page-v3 #place_order::before,
.skyframe-checkout-page-v3 #place_order::after,
.skyframe-digital-checkout-main .button::before,
.skyframe-digital-checkout-main .button::after,
.skyframe-digital-checkout-main button::before,
.skyframe-digital-checkout-main button::after,
.skyframe-digital-checkout-main #place_order::before,
.skyframe-digital-checkout-main #place_order::after,
.woocommerce-cart .woocommerce a.button::before,
.woocommerce-cart .woocommerce a.button::after,
.woocommerce-cart .woocommerce button.button::before,
.woocommerce-cart .woocommerce button.button::after,
.woocommerce-cart .woocommerce input.button::before,
.woocommerce-cart .woocommerce input.button::after,
.woocommerce-checkout .woocommerce a.button::before,
.woocommerce-checkout .woocommerce a.button::after,
.woocommerce-checkout .woocommerce button.button::before,
.woocommerce-checkout .woocommerce button.button::after,
.woocommerce-checkout .woocommerce input.button::before,
.woocommerce-checkout .woocommerce input.button::after,
.woocommerce-checkout .woocommerce #place_order::before,
.woocommerce-checkout .woocommerce #place_order::after,
.skyframe-product-v5-button::before,
.skyframe-product-v5-button::after,
.skyframe-product-v3-button::before,
.skyframe-product-v3-button::after,
.skyframe-commerce-bump-button::before,
.skyframe-commerce-bump-button::after,
.skyframe-bump-btn::before,
.skyframe-bump-btn::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  animation:none !important;
  transition:none !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  background:none !important;
}

/* Keep hover clean: no lateral flash, only tiny lift/brightness */
.skyframe-side-cart .skyframe-cart-primary:hover,
.skyframe-side-cart .skyframe-cart-secondary:hover,
.skyframe-side-cart .skyframe-bump-btn:hover,
.skyframe-cart-page .skyframe-cart-primary:hover,
.skyframe-cart-page .skyframe-cart-secondary:hover,
.skyframe-cart-page .skyframe-commerce-bump-button:hover,
.skyframe-checkout-page-v3 .button:hover,
.skyframe-checkout-page-v3 button:hover,
.skyframe-checkout-page-v3 #place_order:hover,
.woocommerce-cart .woocommerce a.button:hover,
.woocommerce-cart .woocommerce button.button:hover,
.woocommerce-cart .woocommerce input.button:hover,
.woocommerce-checkout .woocommerce a.button:hover,
.woocommerce-checkout .woocommerce button.button:hover,
.woocommerce-checkout .woocommerce input.button:hover,
.woocommerce-checkout .woocommerce #place_order:hover,
.skyframe-product-v5-button:hover,
.skyframe-product-v3-button:hover,
.skyframe-commerce-bump-button:hover,
.skyframe-bump-btn:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.02) !important;
}

/* Prevent parent cards from showing pseudo shine outside buttons on hover */
.skyframe-side-cart .skyframe-order-bump::after,
.skyframe-side-cart .skyframe-side-cart-item::after,
.skyframe-cart-page .skyframe-order-bump::after,
.skyframe-digital-checkout-main::after,
.skyframe-main-woo-panel::after{
  pointer-events:none !important;
  overflow:hidden !important;
}


/* ==========================================================================
   V9 — GLOBAL SHIMMER / FLASH REMOVAL
   The landing had a global CTA shimmer on:
   a[class*="btn"], button[class*="btn"], .btn, .cta, .pricing-cta,
   a[href*="checkout"], a[href*="cart"].
   This disables it everywhere so the flash never escapes outside buttons.
   ========================================================================== */

a[class*="btn"],
button[class*="btn"],
.btn,
.btn-primary,
.btn-outline,
.cta,
.cta-button,
.hero-cta,
.pricing-cta,
.header-cta,
.single_add_to_cart_button,
.checkout-button,
#place_order,
a[href*="checkout"],
a[href*="cart"],
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.skyframe-cart-primary,
.skyframe-cart-secondary,
.skyframe-bump-btn,
.skyframe-commerce-bump-button,
.skyframe-product-v5-button,
.skyframe-product-v3-button{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  contain:paint !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

a[class*="btn"]::before,
a[class*="btn"]::after,
button[class*="btn"]::before,
button[class*="btn"]::after,
.btn::before,
.btn::after,
.btn-primary::before,
.btn-primary::after,
.btn-outline::before,
.btn-outline::after,
.cta::before,
.cta::after,
.cta-button::before,
.cta-button::after,
.hero-cta::before,
.hero-cta::after,
.pricing-cta::before,
.pricing-cta::after,
.header-cta::before,
.header-cta::after,
.single_add_to_cart_button::before,
.single_add_to_cart_button::after,
.checkout-button::before,
.checkout-button::after,
#place_order::before,
#place_order::after,
a[href*="checkout"]::before,
a[href*="checkout"]::after,
a[href*="cart"]::before,
a[href*="cart"]::after,
button::before,
button::after,
input[type="submit"]::before,
input[type="submit"]::after,
.woocommerce a.button::before,
.woocommerce a.button::after,
.woocommerce button.button::before,
.woocommerce button.button::after,
.woocommerce input.button::before,
.woocommerce input.button::after,
.skyframe-cart-primary::before,
.skyframe-cart-primary::after,
.skyframe-cart-secondary::before,
.skyframe-cart-secondary::after,
.skyframe-bump-btn::before,
.skyframe-bump-btn::after,
.skyframe-commerce-bump-button::before,
.skyframe-commerce-bump-button::after,
.skyframe-product-v5-button::before,
.skyframe-product-v5-button::after,
.skyframe-product-v3-button::before,
.skyframe-product-v3-button::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
  background-image:none !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  filter:none !important;
  box-shadow:none !important;
}

/* Keep hover clean: no external flash, only a subtle lift. */
a[class*="btn"]:hover,
button[class*="btn"]:hover,
.btn:hover,
.btn-primary:hover,
.cta:hover,
.cta-button:hover,
.hero-cta:hover,
.pricing-cta:hover,
.header-cta:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
a[href*="checkout"]:hover,
a[href*="cart"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.skyframe-cart-primary:hover,
.skyframe-cart-secondary:hover,
.skyframe-bump-btn:hover,
.skyframe-commerce-bump-button:hover,
.skyframe-product-v5-button:hover,
.skyframe-product-v3-button:hover{
  filter:brightness(1.02) !important;
}

/* Prevent parent cards/panels from revealing old CTA shimmer behind buttons. */
.pricing-card,
.pricing-card-inner,
.offer-showcase,
.skyframe-side-cart,
.skyframe-side-cart-panel,
.skyframe-side-cart-item,
.skyframe-order-bump,
.skyframe-main-woo-panel,
.skyframe-digital-checkout-main,
.skyframe-product-v5-summary,
.skyframe-product-v3-summary{
  overflow:hidden !important;
}


/* ==========================================================================
   V10 — AJAX ADD TO CART + BUTTON LOADER
   ========================================================================== */

.skyframe-is-loading{
  pointer-events:none !important;
  opacity:.82 !important;
  cursor:wait !important;
}

.skyframe-button-loader{
  display:inline-flex !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  margin-right:9px !important;
  border-radius:999px !important;
  border:2px solid currentColor !important;
  border-top-color:transparent !important;
  animation:skyframeButtonSpin .72s linear infinite !important;
  box-sizing:border-box !important;
}

.skyframe-button-loading-label{
  display:inline-flex !important;
  align-items:center !important;
}

@keyframes skyframeButtonSpin{
  to{ transform:rotate(360deg); }
}

[data-skyframe-cart-page-panel]{
  transition:opacity .18s ease, filter .18s ease !important;
}

[data-skyframe-cart-page-panel].skyframe-panel-loading{
  opacity:.68 !important;
  filter:blur(.2px) !important;
}

.skyframe-cart-page .skyframe-order-bump{
  margin-top:28px !important;
}

/* Make any dynamically added order-bump button keep the clean no-shimmer state */
.skyframe-order-bump .skyframe-is-loading::before,
.skyframe-order-bump .skyframe-is-loading::after,
.skyframe-is-loading::before,
.skyframe-is-loading::after{
  content:none !important;
  display:none !important;
}


/* ==========================================================================
   V11 — CART BADGE POSITION FIX
   The cart count existed, but its absolute positioning was escaping to the
   page corner. This anchors it to the cart icon itself.
   ========================================================================== */

.header a.header-cart-link.header-cart-icon-only,
.header a.header-cart-link.header-cart-icon-only.skyframe-dynamic-cart-icon,
.header .header-cart-link.header-cart-icon-only,
.header .header-cart-link.header-cart-icon-only.skyframe-dynamic-cart-icon,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  line-height:1 !important;
  transform:none !important;
  contain:none !important;
  isolation:isolate !important;
}

.header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment,
.header .header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment{
  position:absolute !important;
  top:-7px !important;
  right:-9px !important;
  left:auto !important;
  bottom:auto !important;
  z-index:20 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:17px !important;
  width:auto !important;
  height:17px !important;
  padding:0 5px !important;
  margin:0 !important;
  border-radius:999px !important;
  color:#061017 !important;
  background:linear-gradient(180deg,#ffffff,#72f3ff) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 7px 16px rgba(33,223,255,.24) !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:17px !important;
  text-align:center !important;
  pointer-events:none !important;
  white-space:nowrap !important;
  transform:none !important;
  contain:none !important;
}

.header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items,
.header .header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items{
  display:flex !important;
}

.header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty,
.header .header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty{
  display:none !important;
}

/* Safety: if a cart count is accidentally rendered outside the cart icon, hide it.
   The correct badge is only the direct child of .header-cart-link. */
.header > .skyframe-cart-count-fragment,
body > .skyframe-cart-count-fragment,
.skyframe-commerce-page > .skyframe-cart-count-fragment,
.skyframe-front-page > .skyframe-cart-count-fragment{
  display:none !important;
}


/* ==========================================================================
   V12 — HOMEPAGE DYNAMIC CART + WHITE ICON HOVER FIX
   ========================================================================== */

/* The cart icon must never inherit button/link hover backgrounds or black color */
.header a.header-cart-link.header-cart-icon-only,
.header a.header-cart-link.header-cart-icon-only.skyframe-dynamic-cart-icon,
.header .header-cart-link.header-cart-icon-only,
.header .header-cart-link.header-cart-icon-only.skyframe-dynamic-cart-icon,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only.skyframe-dynamic-cart-icon,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only.skyframe-dynamic-cart-icon{
  all:unset !important;
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  margin:0 0 0 14px !important;
  padding:0 !important;
  color:#ffffff !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  text-decoration:none !important;
  line-height:1 !important;
  cursor:pointer !important;
  overflow:visible !important;
  transform:none !important;
  opacity:1 !important;
  isolation:isolate !important;
  contain:none !important;
  mix-blend-mode:normal !important;
  -webkit-text-fill-color:#ffffff !important;
}

.header a.header-cart-link.header-cart-icon-only:hover,
.header a.header-cart-link.header-cart-icon-only:focus,
.header a.header-cart-link.header-cart-icon-only:active,
.header a.header-cart-link.header-cart-icon-only:visited,
.header .header-cart-link.header-cart-icon-only:hover,
.header .header-cart-link.header-cart-icon-only:focus,
.header .header-cart-link.header-cart-icon-only:active,
.header .header-cart-link.header-cart-icon-only:visited,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only:hover,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only:focus,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only:active,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only:hover,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only:focus,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only:active{
  all:unset !important;
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  margin:0 0 0 14px !important;
  padding:0 !important;
  color:#ffffff !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  text-decoration:none !important;
  line-height:1 !important;
  cursor:pointer !important;
  overflow:visible !important;
  transform:none !important;
  opacity:.86 !important;
  isolation:isolate !important;
  contain:none !important;
  mix-blend-mode:normal !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Kill all pseudo hover/shimmer/background layers specifically on cart icon */
.header a.header-cart-link.header-cart-icon-only::before,
.header a.header-cart-link.header-cart-icon-only::after,
.header .header-cart-link.header-cart-icon-only::before,
.header .header-cart-link.header-cart-icon-only::after,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only::before,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only::after,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only::before,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
}

/* Force SVG to remain white in every state */
.header a.header-cart-link.header-cart-icon-only svg,
.header a.header-cart-link.header-cart-icon-only:hover svg,
.header a.header-cart-link.header-cart-icon-only:focus svg,
.header a.header-cart-link.header-cart-icon-only:active svg,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only svg,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only svg,
.header a.header-cart-link.header-cart-icon-only .header-cart-svg{
  display:block !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  color:#ffffff !important;
  fill:none !important;
  stroke:#ffffff !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}

.header a.header-cart-link.header-cart-icon-only svg path,
.header a.header-cart-link.header-cart-icon-only svg circle,
.header a.header-cart-link.header-cart-icon-only:hover svg path,
.header a.header-cart-link.header-cart-icon-only:hover svg circle,
.header a.header-cart-link.header-cart-icon-only:focus svg path,
.header a.header-cart-link.header-cart-icon-only:focus svg circle,
.header a.header-cart-link.header-cart-icon-only:active svg path,
.header a.header-cart-link.header-cart-icon-only:active svg circle{
  stroke:#ffffff !important;
  fill:none !important;
  color:#ffffff !important;
  background:transparent !important;
  filter:none !important;
}

/* Badge anchored to the cart icon only */
.header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment,
.header .header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment{
  position:absolute !important;
  top:-7px !important;
  right:-9px !important;
  left:auto !important;
  bottom:auto !important;
  z-index:30 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:17px !important;
  width:auto !important;
  height:17px !important;
  padding:0 5px !important;
  margin:0 !important;
  border-radius:999px !important;
  color:#061017 !important;
  background:linear-gradient(180deg,#ffffff,#72f3ff) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 7px 16px rgba(33,223,255,.26) !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:17px !important;
  text-align:center !important;
  pointer-events:none !important;
  white-space:nowrap !important;
  transform:none !important;
  contain:none !important;
  -webkit-text-fill-color:#061017 !important;
}

.header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items,
.header .header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.has-items{
  display:flex !important;
}

.header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty,
.header .header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty,
.skyframe-front-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty,
.skyframe-commerce-page .header a.header-cart-link.header-cart-icon-only > .skyframe-cart-count-fragment.is-empty{
  display:none !important;
}

/* Hide orphan badges not inside the actual cart icon */
body > .skyframe-cart-count-fragment,
.header > .skyframe-cart-count-fragment,
.skyframe-front-page > .skyframe-cart-count-fragment,
.skyframe-commerce-page > .skyframe-cart-count-fragment,
.header-inner > .skyframe-cart-count-fragment,
.nav > .skyframe-cart-count-fragment{
  display:none !important;
}


/* ==========================================================================
   V13 — SIDE CART QUANTITY CONTROLS
   ========================================================================== */

.skyframe-side-cart .skyframe-side-cart-quantity{
  display:inline-grid !important;
  grid-template-columns:30px 44px 30px !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 0 10px !important;
  width:max-content !important;
  max-width:100% !important;
  padding:4px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.skyframe-side-cart .skyframe-side-cart-qty-btn{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  border-radius:999px !important;
  color:#ffffff !important;
  background:rgba(255,255,255,.065) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  font-size:18px !important;
  font-weight:850 !important;
  line-height:1 !important;
  cursor:pointer !important;
  text-align:center !important;
  box-shadow:none !important;
}

.skyframe-side-cart .skyframe-side-cart-qty-btn:hover{
  background:rgba(95,242,255,.12) !important;
  border-color:rgba(95,242,255,.22) !important;
  color:#ffffff !important;
  filter:none !important;
  transform:none !important;
}

.skyframe-side-cart .skyframe-side-cart-qty-input{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:30px !important;
  min-width:44px !important;
  min-height:30px !important;
  border-radius:999px !important;
  color:#ffffff !important;
  background:transparent !important;
  text-align:center !important;
  font-size:.92rem !important;
  line-height:30px !important;
  font-weight:900 !important;
  appearance:textfield !important;
  -moz-appearance:textfield !important;
}

.skyframe-side-cart .skyframe-side-cart-qty-input::-webkit-outer-spin-button,
.skyframe-side-cart .skyframe-side-cart-qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

.skyframe-side-cart .skyframe-side-cart-item-updating{
  opacity:.68 !important;
  pointer-events:none !important;
  filter:saturate(.75) !important;
}

.skyframe-side-cart .skyframe-side-cart-item-updating::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index:8 !important;
  background:rgba(2,5,14,.18) !important;
  border-radius:inherit !important;
  pointer-events:none !important;
}

.skyframe-side-cart .skyframe-side-cart-item-updating::after{
  content:'' !important;
  position:absolute !important;
  top:50% !important;
  right:18px !important;
  width:18px !important;
  height:18px !important;
  margin-top:-9px !important;
  z-index:9 !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.65) !important;
  border-top-color:transparent !important;
  animation:skyframeButtonSpin .72s linear infinite !important;
  background:transparent !important;
}

@media(max-width:520px){
  .skyframe-side-cart .skyframe-side-cart-quantity{
    grid-template-columns:28px 40px 28px !important;
    gap:5px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-qty-btn{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
  }

  .skyframe-side-cart .skyframe-side-cart-qty-input{
    width:40px !important;
    min-width:40px !important;
    height:28px !important;
    min-height:28px !important;
    line-height:28px !important;
  }
}
