/**
 * SniperGames Store — Storefront CTA System v4
 * Single source of truth for product/related-product purchase buttons.
 */
:root{
  --sgcta-pink:#ff315f;
  --sgcta-pink2:#e61f53;
  --sgcta-blue:#2f7cf5;
  --sgcta-violet:#7656ee;
  --sgcta-green:#27d991;
  --sgcta-text:#f8fbff;
}

:is(.sgp-buy,.sgp-cart,.sgp-sticky-cart,.sg-filmix-v3__buy-now,.sg-filmix-v3__cart,.sgmc-buy,.sgmc-cart,.sg-add-to-cart-btn,.sg-shop-cart-v3,.sg-shop-cart-v6,.sg30-cart){
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:54px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border-radius:15px!important;
  border:1px solid transparent!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.002em!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  user-select:none!important;
  transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,filter .22s ease,opacity .22s ease!important;
}

/* Buy now: deliberately different from cart. */
:is(.sgp-buy,.sg-filmix-v3__buy-now,.sgmc-buy){
  background:linear-gradient(135deg,var(--sgcta-blue) 0%,#4f69f2 46%,var(--sgcta-violet) 100%)!important;
  border-color:rgba(137,174,255,.52)!important;
  box-shadow:0 13px 30px rgba(57,94,221,.28),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
:is(.sgp-buy,.sg-filmix-v3__buy-now,.sgmc-buy):not(.sgx-buy-btn-locked):not([aria-disabled="true"]):hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.06)!important;
  border-color:rgba(172,197,255,.76)!important;
  box-shadow:0 18px 38px rgba(73,89,225,.36),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
:is(.sgp-buy,.sg-filmix-v3__buy-now,.sgmc-buy)::before{
  content:""!important;
  width:19px!important;
  height:19px!important;
  flex:0 0 19px!important;
  display:block!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:19px 19px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4.5 13H11l-1 9L19.5 11H13z'/%3E%3C/svg%3E")!important;
  opacity:.96!important;
}


.sgp-cart-text{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:0!important}
.sg-cart-button-text,.sg-cart-text-v16,.sg-cart-text-v18{min-width:0!important;white-space:nowrap!important}
/* Add to cart: same warm red family as the homepage card CTA. */
:is(.sgp-cart,.sgp-sticky-cart,.sg-filmix-v3__cart,.sgmc-cart,.sg-add-to-cart-btn,.sg-shop-cart-v3,.sg-shop-cart-v6,.sg30-cart){
  background:linear-gradient(135deg,#ff315f 0%,#f32358 56%,#df1c50 100%)!important;
  border-color:rgba(255,119,149,.48)!important;
  box-shadow:0 12px 28px rgba(229,31,80,.24),inset 0 1px 0 rgba(255,255,255,.19)!important;
}
:is(.sgp-cart,.sgp-sticky-cart,.sg-filmix-v3__cart,.sgmc-cart,.sg-add-to-cart-btn,.sg-shop-cart-v3,.sg-shop-cart-v6,.sg30-cart):not(:disabled):not([aria-disabled="true"]):hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.055)!important;
  border-color:rgba(255,155,177,.74)!important;
  box-shadow:0 17px 36px rgba(229,31,80,.34),inset 0 1px 0 rgba(255,255,255,.23)!important;
}

:is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6){
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  font-size:0!important;
  line-height:0!important;
  transition:transform .18s ease,background .18s ease!important;
}
:is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6)::before{
  content:""!important;
  width:16px!important;
  height:16px!important;
  display:block!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:16px 16px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.1 9.1a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 1.9-1.4L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.3'/%3E%3Ccircle cx='17' cy='19' r='1.3'/%3E%3C/svg%3E")!important;
}
:is(.sgp-cart,.sgp-sticky-cart,.sg-add-to-cart-btn,.sg-shop-cart-v3,.sg-shop-cart-v6):hover :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6){transform:scale(1.07) rotate(-3deg)!important;background:rgba(255,255,255,.17)!important}

.sg-cta-spinner{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  display:none!important;
  border:2px solid rgba(255,255,255,.35)!important;
  border-top-color:#fff!important;
  border-radius:50%!important;
  animation:sgCtaSpin .68s linear infinite!important;
}
:is(.is-loading,.loading)>.sg-cta-spinner,
:is(.is-loading,.loading) .sg-cta-spinner{display:inline-block!important}
:is(.sgp-buy,.sgp-cart,.sg-add-to-cart-btn).is-loading,
:is(.sgp-buy,.sgp-cart,.sg-add-to-cart-btn).loading{pointer-events:none!important;cursor:wait!important;filter:saturate(.82)!important}


.sg-add-to-cart-btn.is-error{background:linear-gradient(135deg,#c91647,#f34670)!important;border-color:rgba(255,117,149,.7)!important}
.sg-add-to-cart-btn.is-in-cart .sgp-cart-qty{display:none!important}

/* Locked Buy now really is locked. Clicks are swallowed by JS and terms are highlighted. */
.sgx-buy-btn-locked,
:is(.sgp-buy,.sgmc-buy)[aria-disabled="true"]{
  color:rgba(226,235,247,.48)!important;
  background:linear-gradient(180deg,#27303d 0%,#1c2430 100%)!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  filter:saturate(.45)!important;
  cursor:not-allowed!important;
  transform:none!important;
}
.sgx-buy-btn-locked::before{opacity:.35!important}
.sgx-buy-btn-unlocked{opacity:1!important;filter:none!important;cursor:pointer!important}

.sgp-terms.is-attention{
  border-color:rgba(255,78,116,.62)!important;
  background:rgba(255,49,95,.075)!important;
  animation:sgTermsPulse .48s ease!important;
}

:is(.sgp-buy,.sgp-cart,.sg-add-to-cart-btn):active:not([aria-disabled="true"]){transform:translateY(0) scale(.985)!important}
:is(.sgp-buy,.sgp-cart,.sg-add-to-cart-btn):focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(79,150,255,.17),0 0 0 1px rgba(109,181,255,.72),0 15px 32px rgba(0,0,0,.24)!important}

/* Standard related-product card actions. */
.sg-shop-product-actions-v6{display:grid!important;grid-template-columns:minmax(105px,.82fr) minmax(0,1.35fr)!important;gap:9px!important}
.sg-shop-more-v6{min-height:50px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:0 12px!important;border-radius:14px!important;background:linear-gradient(180deg,#12304d,#0d253d)!important;border:1px solid rgba(88,178,255,.30)!important;color:#eef6ff!important;text-decoration:none!important;font:950 12px/1 system-ui,sans-serif!important}
.sg-shop-more-v6 .sg-details-icon-v6{width:25px!important;height:25px!important;flex:0 0 25px!important;display:grid!important;place-items:center!important;border-radius:8px!important;background:rgba(77,177,255,.11)!important;border:1px solid rgba(92,190,255,.18)!important;font-size:0!important}
.sg-shop-more-v6 .sg-details-icon-v6::before{content:""!important;width:13px!important;height:13px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd2ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center/13px 13px no-repeat!important}
.sg-shop-cart-v6{width:100%!important;min-width:0!important;min-height:50px!important;padding:0 11px!important;font-size:11px!important}

@keyframes sgCtaSpin{to{transform:rotate(360deg)}}
@keyframes sgTermsPulse{0%,100%{transform:translateX(0)}30%{transform:translateX(-4px)}65%{transform:translateX(4px)}}

@media(max-width:620px){
  :is(.sgp-buy,.sgp-cart,.sg-add-to-cart-btn){min-height:51px!important;padding:0 14px!important;font-size:12px!important}
  .sg-shop-product-actions-v6{grid-template-columns:minmax(100px,.82fr) minmax(0,1.38fr)!important}
}
@media(prefers-reduced-motion:reduce){
  :is(.sgp-buy,.sgp-cart,.sg-add-to-cart-btn){transition:none!important}
  .sg-cta-spinner{animation-duration:1.1s!important}
}

/* v70 — unified cart notices and homepage CTA ownership */
.sg-store-notices{position:fixed;right:22px;bottom:22px;z-index:999999;display:grid;gap:10px;width:min(430px,calc(100vw - 28px));pointer-events:none}
.sg-store-notice{display:grid;grid-template-columns:38px 1fr 28px;gap:12px;align-items:start;padding:15px 15px 15px 14px;border:1px solid rgba(96,163,214,.20);border-radius:17px;background:linear-gradient(145deg,rgba(8,24,39,.98),rgba(8,18,31,.98));box-shadow:0 22px 58px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.045);color:#fff;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s ease,transform .2s ease;pointer-events:auto}
.sg-store-notice.is-visible{opacity:1;transform:none}.sg-store-notice-icon{width:38px;height:38px;border-radius:12px;background:rgba(65,181,255,.11);border:1px solid rgba(82,196,255,.18);position:relative}.sg-store-notice-icon:before{content:"";position:absolute;inset:10px;background-repeat:no-repeat;background-position:center;background-size:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fdcff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.1 9.1a2 2 0 0 0 2 1.6h7.6a2 2 0 0 0 1.9-1.4L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.3'/%3E%3Ccircle cx='17' cy='19' r='1.3'/%3E%3C/svg%3E")}.sg-store-notice.is-success{border-color:rgba(50,222,151,.24)}.sg-store-notice.is-success .sg-store-notice-icon{background:rgba(46,220,145,.10);border-color:rgba(61,235,164,.20)}.sg-store-notice.is-success .sg-store-notice-icon:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356e8ae' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4L19 6'/%3E%3C/svg%3E")}.sg-store-notice.is-error{border-color:rgba(255,87,125,.28)}.sg-store-notice.is-error .sg-store-notice-icon{background:rgba(255,60,105,.10);border-color:rgba(255,87,125,.22)}.sg-store-notice.is-error .sg-store-notice-icon:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7597' stroke-width='2.3' stroke-linecap='round'%3E%3Cpath d='M12 7v6'/%3E%3Ccircle cx='12' cy='17' r='1' fill='%23ff7597'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")}.sg-store-notice strong{display:block;margin:2px 0 4px;color:#fff;font:900 13px/1.2 system-ui,sans-serif}.sg-store-notice p{margin:0;color:#a9bdd0;font:650 12px/1.5 system-ui,sans-serif}.sg-store-notice button{appearance:none;border:0;background:transparent;color:#6f879f;font:800 20px/1 system-ui,sans-serif;cursor:pointer;padding:2px}.sg-store-notice button:hover{color:#fff}


body.home .sgh30-buy.is-cart{position:relative}
.sgh30-buy.is-cart .sg-cta-spinner{width:15px;height:15px;display:none;border:2px solid rgba(255,255,255,.32);border-top-color:#fff;border-radius:50%;animation:sgStoreBtnSpin .68s linear infinite}
.sgh30-buy.is-cart.is-loading .sg-cta-spinner{display:block}
@keyframes sgStoreBtnSpin{to{transform:rotate(360deg)}}
@media(max-width:640px){.sg-store-notices{left:14px;right:14px;bottom:14px;width:auto}.sg-store-notice{grid-template-columns:34px 1fr 24px;padding:13px}.sg-store-notice-icon{width:34px;height:34px}}


/* =========================================================
 * Storefront CTA v71 — clean loading / in-cart states
 * ========================================================= */
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).is-loading,
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).loading{
  position:relative!important;
  overflow:hidden!important;
  color:#fff!important;
  background:linear-gradient(135deg,#ff2c63 0%,#d92d68 48%,#8f4ddf 100%)!important;
  border-color:rgba(255,104,145,.42)!important;
  box-shadow:0 12px 30px rgba(219,40,98,.22),inset 0 1px 0 rgba(255,255,255,.14)!important;
}
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).is-loading::after,
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).loading::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:42%!important;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent)!important;
  transform:translateX(-140%) skewX(-14deg)!important;
  animation:sgCtaSweep 1.05s ease-in-out infinite!important;
  pointer-events:none!important;
}
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).is-loading :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6),
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).loading :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6){
  display:none!important;
}
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).is-loading>.sg-cta-spinner,
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).loading>.sg-cta-spinner{
  display:inline-block!important;
  width:17px!important;height:17px!important;flex:0 0 17px!important;
  margin:0 2px 0 0!important;
  border:2px solid rgba(255,255,255,.30)!important;
  border-right-color:#fff!important;
  border-top-color:#fff!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  position:relative!important;z-index:2!important;
}
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).is-loading :is(.sg-cart-button-text,.sgp-cart-text,.sg-cart-text-v16,.sg-cart-text-v18,.sg-cta-label),
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).loading :is(.sg-cart-button-text,.sgp-cart-text,.sg-cart-text-v16,.sg-cart-text-v18,.sg-cta-label){position:relative!important;z-index:2!important}


@keyframes sgCtaSweep{0%{transform:translateX(-145%) skewX(-14deg)}55%,100%{transform:translateX(345%) skewX(-14deg)}}


/* =========================================================
 * Storefront CTA v72 — final visual states.
 * No bright-green full buttons; no empty icon tile during loading.
 * ========================================================= */
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).is-loading :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6),
:is(.sgp-cart,.sg-add-to-cart-btn,.sgh30-buy.is-cart).loading :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6),
.sgh30-buy.is-cart.is-loading>b,
.sgh30-buy.is-cart.loading>b{display:none!important}

.sg-add-to-cart-btn.is-in-cart,
.sgh30-buy.is-cart.is-in-cart,
.sgh30-buy.is-cart.is-added{
  color:#dffcf3!important;
  background:linear-gradient(135deg,#0d2b31 0%,#0c2634 58%,#10243a 100%)!important;
  border:1px solid rgba(58,220,165,.34)!important;
  box-shadow:0 11px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.sg-add-to-cart-btn.is-in-cart:hover,
.sgh30-buy.is-cart.is-in-cart:hover,
.sgh30-buy.is-cart.is-added:hover{
  background:linear-gradient(135deg,#10363a 0%,#0e2f3a 58%,#132b43 100%)!important;
  border-color:rgba(74,237,183,.50)!important;
  filter:none!important;
}
.sg-add-to-cart-btn.is-in-cart :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6){
  display:inline-block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.sg-add-to-cart-btn.is-in-cart :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6)::before{
  width:18px!important;height:18px!important;background-size:18px 18px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359e9b2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.6 2.6L16.5 9'/%3E%3C/svg%3E")!important;
}

.sg-add-to-cart-btn.is-just-added,.sgh30-buy.is-cart.is-just-added{animation:sgCtaAdded .62s cubic-bezier(.2,.8,.2,1)!important}
.sg-add-to-cart-btn.is-just-added :is(.sg-cart-button-icon,.sgp-cart-icon,.sg-content-cart-icon,.sg-archive-cart-icon,.sg30-cart-icon,.sg-shop-cart-ico-v6){animation:sgCtaCheck .56s cubic-bezier(.2,1.15,.35,1)!important}
@keyframes sgCtaAdded{0%{transform:scale(.985);box-shadow:0 0 0 0 rgba(66,239,177,0)}45%{transform:scale(1.012);box-shadow:0 0 0 5px rgba(66,239,177,.07)}100%{transform:none;box-shadow:0 11px 26px rgba(0,0,0,.18)}}
@keyframes sgCtaCheck{0%{transform:scale(.55) rotate(-10deg);opacity:.2}65%{transform:scale(1.12) rotate(2deg);opacity:1}100%{transform:none;opacity:1}}
