/* =========================================================================
 * SHAHAZ.COM — Unified Single-Product Purchase UI
 * Bangladesh-first custom purchase sheet + guest login gate.
 * WooCommerce remains the backend purchase engine; this layer owns presentation.
 * ========================================================================= */

.shz-single-purchase-sheet,
.shz-single-purchase-backdrop,
.shz-login-purchase-gate,
.shz-single-purchase-panel,
.shz-login-purchase-panel{
  box-sizing:border-box!important;
}

.shz-single-purchase-sheet{
  position:fixed!important;
  inset:0!important;
  z-index:14000!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:1!important;
}
.shz-single-purchase-sheet.is-open{
  visibility:visible!important;
  pointer-events:auto!important;
}
.shz-single-purchase-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(26,5,21,.72)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  opacity:0!important;
  transition:opacity .22s ease!important;
}
.shz-single-purchase-sheet.is-open .shz-single-purchase-backdrop,
.shz-single-purchase-backdrop.is-open{
  opacity:1!important;
}
.shz-single-purchase-panel{
  position:relative!important;
  z-index:2!important;
  width:min(100%,680px)!important;
  max-width:680px!important;
  max-height:min(88vh,760px)!important;
  max-height:min(88dvh,760px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  background:linear-gradient(180deg,#fffaff 0%,#fff4fa 55%,#fffaf1 100%)!important;
  border:1.5px solid rgba(255,11,145,.42)!important;
  border-radius:30px 30px 0 0!important;
  padding:48px 18px calc(16px + env(safe-area-inset-bottom))!important;
  box-shadow:0 -22px 80px rgba(87,0,55,.34),0 6px 30px rgba(255,11,145,.16)!important;
  transform:translateY(105%)!important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1)!important;
}
.shz-single-purchase-sheet.is-open .shz-single-purchase-panel{
  transform:translateY(0)!important;
}

/* Flower/bow-inspired top decoration, kept entirely inline so no demo assets are needed. */
.shz-purchase-decor{
  position:absolute!important;
  top:-3px!important;
  left:50%!important;
  width:100%!important;
  height:62px!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
  color:#ff0b91!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
  filter:drop-shadow(0 7px 12px rgba(255,0,128,.22))!important;
}
.shz-purchase-bow{
  width:196px!important;
  height:58px!important;
  margin-top:-6px!important;
}
.shz-purchase-spark{
  position:absolute!important;
  font-weight:900!important;
  line-height:1!important;
}
.shz-purchase-spark-a{left:calc(50% - 126px);top:13px;font-size:18px;}
.shz-purchase-spark-b{right:calc(50% - 126px);top:23px;font-size:14px;}

.shz-single-purchase-close{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  right:auto!important;
  z-index:8!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:0!important;
  border-radius:50%!important;
  background:#ff0b91!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  box-shadow:0 8px 22px rgba(255,11,145,.32)!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
}
.shz-single-purchase-close span{
  font-size:34px!important;
  line-height:1!important;
  font-weight:800!important;
  transform:translateY(-1px)!important;
}
.shz-single-purchase-close:hover{background:#d90076!important;transform:translateY(-1px)!important;}
.shz-single-purchase-close:focus-visible{outline:2px solid #d4af37!important;outline-offset:2px!important;}

.shz-purchase-topline{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0 auto 10px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 14px!important;
  border-radius:999px!important;
  background:#fff0f8!important;
  color:#7d184f!important;
  border:1px solid #ffc4e3!important;
  font-size:11px!important;
  font-weight:900!important;
}
.shz-purchase-topline-icon{color:#ff0b91!important;font-size:14px!important;}

.shz-purchase-product-summary{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 10px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #f3c2df!important;
  border-radius:18px!important;
  box-shadow:0 7px 20px rgba(116,0,72,.08)!important;
}
.shz-purchase-product-image-wrap{
  flex:0 0 82px!important;
  width:82px!important;
  height:82px!important;
  overflow:hidden!important;
  border-radius:15px!important;
  background:#fff!important;
  border:1px solid #f4b8da!important;
}
.shz-purchase-product-image-wrap img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.shz-purchase-product-copy{
  min-width:0!important;
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
}
.shz-purchase-product-copy strong{
  color:#241421!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:900!important;
}
.shz-purchase-price{
  color:#ff0b91!important;
  font-size:21px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
.shz-purchase-price del{opacity:.55;margin-right:5px;}
.shz-purchase-price ins{text-decoration:none;}
.shz-purchase-option-summary{
  color:#7b526b!important;
  background:#fff2a8!important;
  border:1px solid #efd56c!important;
  border-radius:999px!important;
  padding:3px 8px!important;
  font-size:10px!important;
  font-weight:800!important;
  max-width:100%!important;
}
.shz-purchase-option-summary:empty{display:none!important;}

.shz-purchase-promo{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  padding:8px 10px!important;
  margin:0 0 8px!important;
  background:linear-gradient(90deg,#fff5df,#fff0f8)!important;
  border:1px solid #f4d4aa!important;
  border-radius:12px!important;
  color:#4a2438!important;
  font-size:11px!important;
  line-height:1.3!important;
}
.shz-purchase-promo strong{color:#8a5a19!important;font-size:12px!important;}
.shz-promo-icon{color:#ff0b91!important;}
.shz-purchase-trust{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0 0 12px!important;
  padding:7px 10px!important;
  background:#fff!important;
  border:1px solid #ead7e2!important;
  border-radius:10px!important;
  color:#5b4551!important;
  font-size:11px!important;
}
.shz-purchase-trust span:first-child{color:#ff0b91!important;font-weight:950!important;}
.shz-purchase-trust strong{color:#7b5b22!important;}
.shz-purchase-trust i{font-style:normal!important;color:#caa6ba!important;}

.shz-purchase-option-content{
  padding:0!important;
  display:block!important;
}
.shz-purchase-option-group{
  margin:0 0 12px!important;
  padding:0 0 11px!important;
  border-bottom:1px solid #eadce5!important;
}
.shz-purchase-option-label-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 7px!important;
}
.shz-purchase-option-label-row strong{color:#241421!important;font-size:14px!important;}
.shz-purchase-option-values{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.shz-purchase-option-value{
  min-width:54px!important;
  min-height:36px!important;
  padding:6px 12px!important;
  border-radius:9px!important;
  border:1px solid #d9bdce!important;
  background:#fff!important;
  color:#4c3140!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:0 2px 0 rgba(121,26,83,.06)!important;
  -webkit-tap-highlight-color:transparent!important;
}
.shz-purchase-option-value:hover,
.shz-purchase-option-value.is-selected{
  color:#fff!important;
  border-color:#ff0b91!important;
  background:#ff0b91!important;
  box-shadow:0 5px 12px rgba(255,11,145,.22)!important;
}
.shz-purchase-option-value:disabled{
  opacity:.38!important;
  text-decoration:line-through!important;
  cursor:not-allowed!important;
}
.shz-purchase-note{
  margin:0 0 10px!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  background:#fff4c7!important;
  color:#6e5415!important;
  font-size:10px!important;
}
.shz-purchase-select-field{
  display:block!important;
  margin:0 0 10px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid #eadce5!important;
}
.shz-purchase-select-field>span{
  display:block!important;
  margin:0 0 6px!important;
  color:#241421!important;
  font-weight:900!important;
  font-size:13px!important;
}
.shz-purchase-select-field select{
  width:100%!important;
  min-height:42px!important;
  border:1px solid #d9bdce!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#35202c!important;
  padding:7px 10px!important;
  font-weight:700!important;
  -webkit-tap-highlight-color:transparent!important;
}
.shz-purchase-quantity-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 0 12px!important;
  margin:0!important;
  border-bottom:1px solid #eadce5!important;
}
.shz-purchase-quantity-row>strong,
.shz-purchase-quantity-row>span:first-child{
  color:#241421!important;
  font-size:16px!important;
  font-weight:900!important;
}
.shz-purchase-quantity{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  border:1px solid #e4c8d9!important;
  border-radius:11px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.shz-purchase-quantity button{
  width:38px!important;
  height:38px!important;
  border:0!important;
  background:#fff2f8!important;
  color:#ff0b91!important;
  font-size:22px!important;
  font-weight:900!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
}
.shz-purchase-quantity button:focus-visible{outline:2px solid #d4af37!important;outline-offset:-2px!important;}
.shz-purchase-quantity span,
.shz-purchase-quantity b{
  min-width:40px!important;
  text-align:center!important;
  color:#3b2431!important;
  font-size:14px!important;
}

.shz-purchase-action-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 0 2px!important;
  margin-top:0!important;
  background:linear-gradient(180deg,rgba(255,248,252,0),#fff8fc 22%)!important;
}
.shz-purchase-action-hint{
  flex:1!important;
  color:#785a69!important;
  font-size:10px!important;
  line-height:1.3!important;
}
.shz-purchase-primary-action{
  flex:1 1 auto!important;
  min-height:50px!important;
  border:0!important;
  border-radius:14px!important;
  color:#fff!important;
  font-weight:950!important;
  font-size:15px!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
  box-shadow:0 8px 20px rgba(255,11,145,.20)!important;
}
.shz-purchase-primary-action.is-add-to-cart{
  background:#08a957!important;
  box-shadow:0 8px 20px rgba(8,169,87,.20)!important;
}
.shz-purchase-primary-action.is-buy-now{
  background:#ff0b91!important;
  box-shadow:0 8px 20px rgba(255,11,145,.20)!important;
}
.shz-purchase-primary-action:focus-visible{outline:2px solid #d4af37!important;outline-offset:2px!important;}
.shz-purchase-primary-action:disabled{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important;}

/* Guest/login popup — third/final stage */
.shz-login-purchase-gate{
  position:fixed!important;
  inset:0!important;
  z-index:15000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  background:rgba(21,5,18,.76)!important;
  backdrop-filter:blur(9px)!important;
  -webkit-backdrop-filter:blur(9px)!important;
}
.shz-login-purchase-gate.is-open{display:flex!important;}
.shz-login-purchase-panel{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(100%,470px)!important;
  max-width:470px!important;
  max-height:min(90vh,700px)!important;
  max-height:min(90dvh,700px)!important;
  overflow:auto!important;
  padding:56px 18px 18px!important;
  background:linear-gradient(180deg,#fffaff 0%,#fff2f9 58%,#fff9ee 100%)!important;
  border:1.5px solid #ff9fd1!important;
  border-radius:28px!important;
  box-shadow:0 28px 90px rgba(65,0,39,.46)!important;
}
.shz-login-decor{
  position:absolute!important;
  top:-2px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  color:#ff0b91!important;
  pointer-events:none!important;
}
.shz-login-bow{
  width:184px!important;
  height:56px!important;
  filter:drop-shadow(0 7px 12px rgba(255,11,145,.22))!important;
}
.shz-login-close{
  left:12px!important;
  right:auto!important;
  top:12px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  background:#ff0b91!important;
  color:#fff!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:0 8px 22px rgba(255,11,145,.32)!important;
  outline:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.shz-login-close span{font-size:35px!important;line-height:1!important;font-weight:900!important;}
.shz-login-close:focus-visible{outline:2px solid #d4af37!important;outline-offset:2px!important;}
.shz-login-brand{
  order:1!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 8px!important;
  padding:6px 13px!important;
  border-radius:999px!important;
  background:#fff0f8!important;
  border:1px solid #ffc0df!important;
  color:#7a174e!important;
  font-size:11px!important;
  font-weight:950!important;
}
.shz-login-brand span{color:#ff0b91!important;}
.shz-login-purchase-panel .shz-purchase-guest-title{
  order:2!important;
  color:#241421!important;
  font-size:22px!important;
  text-align:center!important;
  margin:0 0 6px!important;
  font-weight:950!important;
}
.shz-login-purchase-panel .shz-purchase-guest-subtitle{
  order:3!important;
  color:#765969!important;
  font-size:11px!important;
  text-align:center!important;
  margin:0 0 12px!important;
}
.shz-login-actions{
  order:4!important;
  display:grid!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.shz-login-product-summary{order:5!important;margin-bottom:12px!important;}
.shz-login-note{order:6!important;}
.shz-login-method{
  position:relative!important;
  width:100%!important;
  min-height:54px!important;
  height:auto!important;
  border-radius:15px!important;
  border:1px solid #e5d6df!important;
  background:#fff!important;
  color:#241421!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:8px 14px!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 5px 14px rgba(86,13,54,.08)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
}
.shz-login-method:hover{
  transform:translateY(-1px)!important;
  border-color:#ff80bd!important;
  box-shadow:0 8px 20px rgba(255,11,145,.14)!important;
}
.shz-login-method:focus-visible{outline:2px solid #d4af37!important;outline-offset:2px!important;}
.shz-login-logo{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#fff!important;
}
.shz-login-logo svg{width:30px!important;height:30px!important;display:block!important;}
.shz-gmail-logo{box-shadow:inset 0 0 0 1px #f0dce6!important;}
.shz-login-arrow{
  margin-left:auto!important;
  color:#ff0b91!important;
  font-size:25px!important;
  line-height:1!important;
}
.shz-login-note{
  margin:8px 0 0!important;
  text-align:center!important;
  color:#8b7280!important;
  font-size:9px!important;
}/* Purchase popups never show WooCommerce's legacy blue button styling. */
.shz-single-purchase-sheet button,
.shz-login-purchase-gate button{
  font-family:inherit;
}

/* ========================================================================
 * ZIP 16 PRECISION HOTFIX — Purchase overlay visibility / stacking
 * Only the custom single-product purchase UI is affected.
 * ======================================================================== */
.shz-single-purchase-sheet{
  position:fixed!important;
  inset:0!important;
  z-index:2147482000!important;
  display:flex!important;
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:1!important;
}
.shz-single-purchase-sheet.is-open{
  visibility:visible!important;
  pointer-events:auto!important;
}
.shz-single-purchase-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  visibility:visible!important;
  opacity:0!important;
  pointer-events:none!important;
}
.shz-single-purchase-sheet.is-open .shz-single-purchase-backdrop,
.shz-single-purchase-backdrop.is-open{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.shz-single-purchase-panel{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}/* ========================================================================
 * ZIP 18 — UNIFIED SHAHaz PURCHASE EXPERIENCE
 * One popup geometry and one interaction model on mobile + desktop.
 * The popup is centered/upper-centered instead of bottom-anchored.
 * ======================================================================== */

/* One viewport-level layer for every single-product purchase sheet. */
.shz-single-purchase-sheet,
.shz-login-purchase-gate{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:clamp(10px,2vw,22px)!important;
  box-sizing:border-box!important;
}

.shz-single-purchase-sheet{
  z-index:2147482000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:1!important;
}
.shz-single-purchase-sheet.is-open{
  visibility:visible!important;
  pointer-events:auto!important;
}

.shz-single-purchase-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:rgba(30,7,24,.66)!important;
  backdrop-filter:blur(8px) saturate(.92)!important;
  -webkit-backdrop-filter:blur(8px) saturate(.92)!important;
  opacity:0!important;
  pointer-events:none!important;
}
.shz-single-purchase-sheet.is-open .shz-single-purchase-backdrop,
.shz-single-purchase-backdrop.is-open{
  opacity:1!important;
  pointer-events:auto!important;
}/* Refined flower ornament — no oversized bow. */
.shz-purchase-decor,
.shz-login-decor{
  position:absolute!important;
  top:0!important;
  left:50%!important;
  width:190px!important;
  height:62px!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
  color:#ff0b91!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  filter:drop-shadow(0 6px 10px rgba(255,11,145,.16))!important;
}
.shz-purchase-flower{
  position:relative!important;
  display:block!important;
  width:66px!important;
  height:66px!important;
  margin-top:-13px!important;
  transform:rotate(8deg)!important;
  filter:drop-shadow(0 5px 8px rgba(255,11,145,.18))!important;
  background:radial-gradient(circle at center,#ffd45a 0 7px,transparent 8px)!important;
}
.shz-purchase-flower::before,
.shz-purchase-flower::after,
.shz-purchase-flower i,
.shz-purchase-flower b,
.shz-purchase-flower em{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:28px!important;
  height:28px!important;
  margin:-14px!important;
  border-radius:70% 30% 70% 30%!important;
  background:linear-gradient(145deg,#ff42ab,#ed007b)!important;
  transform-origin:50% 50%!important;
}
.shz-purchase-flower::before{transform:rotate(0deg) translateY(-15px)!important;}
.shz-purchase-flower::after{transform:rotate(72deg) translateY(-15px)!important;}
.shz-purchase-flower i{transform:rotate(144deg) translateY(-15px)!important;}
.shz-purchase-flower b{transform:rotate(216deg) translateY(-15px)!important;}
.shz-purchase-flower em{transform:rotate(288deg) translateY(-15px)!important;}
.shz-purchase-flower span{display:none!important;}
.shz-purchase-flower{font-size:0!important;}
.shz-purchase-flower > i::after{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  border-radius:50%!important;
  background:#ffd45a!important;
}

/* Login popup gets the same flower language. */
.shz-login-purchase-gate{
  z-index:2147482100!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(30,7,24,.70)!important;
  backdrop-filter:blur(8px) saturate(.92)!important;
  -webkit-backdrop-filter:blur(8px) saturate(.92)!important;
}
.shz-login-purchase-gate.is-open{display:flex!important;}
.shz-login-purchase-panel{
  width:min(470px,calc(100vw - 28px))!important;
  max-width:470px!important;
  max-height:min(82vh,calc(100dvh - 28px))!important;
  padding:58px 18px 18px!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#fffafd 0%,#fff5fa 60%,#fffaf1 100%)!important;
  border:1.5px solid rgba(255,11,145,.42)!important;
  box-shadow:0 30px 95px rgba(61,0,40,.38),0 0 0 1px rgba(212,175,55,.12)!important;
}
.shz-login-decor{width:190px!important;height:62px!important;}
.shz-login-brand{margin-top:0!important;}

/* Make the custom SHAHAZ login route the first/default choice; Google remains available. */
.shz-login-actions .shz-login-email{order:1!important;}
.shz-login-actions .shz-login-google{order:2!important;}
.shz-login-method{border-color:#f0c9df!important;}
.shz-login-method:hover{border-color:#ff72b8!important;}
.shz-login-method:focus:not(:focus-visible),
.shz-single-purchase-sheet button:focus:not(:focus-visible),
.shz-login-purchase-gate button:focus:not(:focus-visible),
.shz-single-purchase-sheet a:focus:not(:focus-visible),
.shz-login-purchase-gate a:focus:not(:focus-visible){
  outline:none!important;
  -webkit-focus-ring-color:transparent!important;
}

/* Never allow the browser/WebKit's blue tap flash to repaint a custom control. */
.shz-single-purchase-sheet button,
.shz-login-purchase-gate button,
.shz-single-purchase-sheet a,
.shz-login-purchase-gate a{
  -webkit-tap-highlight-color:transparent!important;
  -webkit-focus-ring-color:transparent!important;
  outline:none;
}
.shz-single-purchase-sheet button:active,
.shz-login-purchase-gate button:active,
.shz-single-purchase-sheet a:active,
.shz-login-purchase-gate a:active{
  -webkit-tap-highlight-color:transparent!important;
  outline:none!important;
}/* Responsive: same geometry, only fluid width/height changes. */
@media(max-width:520px){
  .shz-single-purchase-sheet,
  .shz-login-purchase-gate{padding:8px!important;}.shz-login-purchase-panel{padding-top:54px!important;}
  .shz-purchase-decor,.shz-login-decor{width:170px!important;}
  .shz-purchase-flower{transform:scale(.88) rotate(8deg)!important;}
}

@media(min-width:801px){}


/* ========================================================================
 * ZIP 19 PRECISION HOTFIX — purchase popup consistency + overlay cleanup
 * Scope: four SHAHAZ single-product templates only.
 * No visual redesign; this removes conflicting legacy geometry/state rules.
 * ======================================================================== */

/* The helper copy must never collapse into a narrow vertical strip. The
 * primary action owns the full footer width, matching the reference UI. */
.shz-purchase-action-footer{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.shz-purchase-action-hint{
  display:none!important;
}
.shz-purchase-primary-action{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  flex:1 1 100%!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* The Buy Now / Add to Cart state is owned by the purchase controller. Keep
 * the two states visually deterministic even if an older page stylesheet is
 * loaded before this shared stylesheet. */
.shz-purchase-primary-action.is-buy-now{
  background:#ff0b91!important;
  color:#fff!important;
}
.shz-purchase-primary-action.is-add-to-cart{
  background:#08a957!important;
  color:#fff!important;
}

/* Guest/login gate: always a viewport-level centered dialog. Never inherit a
 * page transform, left/top offset, or bottom-sheet geometry. */
.shz-login-purchase-gate{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:12px!important;
  box-sizing:border-box!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:center!important;
  overflow:hidden!important;
  transform:none!important;
  z-index:2147482100!important;
}
.shz-login-purchase-gate.is-open{
  display:grid!important;
}
.shz-login-purchase-panel{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  margin:0 auto!important;
  transform:none!important;
  width:min(470px,calc(100vw - 24px))!important;
  max-width:470px!important;
  max-height:calc(100dvh - 24px)!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  flex:none!important;
}

/* A closed guest gate must be completely non-interactive and must not retain
 * any stale visual state. */
.shz-login-purchase-gate:not(.is-open){
  visibility:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
}
.shz-login-purchase-gate.is-open{
  visibility:visible!important;
  pointer-events:auto!important;
  opacity:1!important;
}@media(max-width:520px){
  .shz-login-purchase-gate{padding:8px!important;}
  .shz-login-purchase-panel{
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    transform:none!important;
  }
}


/* ZIP 19 — final action-state and centered-geometry guardrails. */
[data-purchase-action-button][data-purchase-current-action="buy_now"]{
  background:#ff0b91!important;
  color:#fff!important;
}
[data-purchase-action-button][data-purchase-current-action="add_to_cart"]{
  background:#08a957!important;
  color:#fff!important;
}

/* Exactly the same centered popup model on desktop and mobile. Only the
 * available viewport width/height may constrain the panel; it never changes
 * from a bottom sheet into a differently positioned mobile popup. */
.shz-single-purchase-sheet{
  align-items:center!important;
  justify-content:center!important;
}@media(max-width:520px){}@media(max-width:520px){}@media(max-width:520px){}


/* ZIP 24 — final purchase-popup ornament and cross-template action-state guard. */
.shz-purchase-decor{top:0!important;height:76px!important;overflow:visible!important;}
.shz-purchase-flower{margin-top:-2px!important;}
.shz-purchase-spark{position:absolute!important;top:43px!important;z-index:3!important;font-size:18px!important;line-height:1!important;color:#ff0b91!important;text-shadow:0 2px 5px rgba(255,11,145,.18)!important;}
.shz-purchase-spark-a{left:34px!important;}
.shz-purchase-spark-b{right:34px!important;}
.shz-purchase-mini-flower{position:absolute!important;display:block!important;color:#ff0b91!important;font-size:18px!important;line-height:1!important;filter:drop-shadow(0 3px 5px rgba(255,11,145,.15))!important;}
.shz-purchase-mini-left-1{left:13px!important;top:13px!important;transform:scale(.88)!important;}
.shz-purchase-mini-left-2{left:0!important;top:28px!important;transform:scale(.68)!important;}
.shz-purchase-mini-left-3{left:23px!important;top:40px!important;transform:scale(.50)!important;}
.shz-purchase-mini-right-1{right:13px!important;top:13px!important;transform:scale(.88)!important;}
.shz-purchase-mini-right-2{right:0!important;top:28px!important;transform:scale(.68)!important;}
.shz-purchase-mini-right-3{right:23px!important;top:40px!important;transform:scale(.50)!important;}

/* The primary popup button always reflects the current footer intent. */
[data-purchase-action-button][data-purchase-current-action="buy_now"]{background:#ff0b91!important;color:#fff!important;}
[data-purchase-action-button][data-purchase-current-action="add_to_cart"]{background:#08a957!important;color:#fff!important;}

/* Keep all four footer implementations on the same internal rhythm even if
 * a legacy page stylesheet contains an older rule. */
.shz-single-product-bottom-bar .shz-bottom-action-icon{display:grid!important;place-items:center!important;line-height:1!important;}
.shz-single-product-bottom-bar .shz-bottom-action-icon svg{display:block!important;}

/* ZIP 40 — FINAL SINGLE-PRODUCT MODAL ISOLATION + ICON FINISH
 * The modal must own the viewport; it must never be trapped by a product-page
 * stacking context. Action icons use white glyphs on simple elevated controls.
 */
body.page-template-shahaz-global-single-product .shz-single-purchase-sheet,
body.page-template-shahaz-global-single-product .shz-login-purchase-gate,
body.page-template-shahaz-global-single-product .shz-global-lightbox{
  position:fixed!important;
  inset:0!important;
  isolation:isolate!important;
}
body.page-template-shahaz-global-single-product .shz-single-purchase-sheet{
  z-index:2147483000!important;
}
body.page-template-shahaz-global-single-product .shz-single-purchase-backdrop{
  z-index:0!important;
  background:rgba(20,4,18,.72)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.page-template-shahaz-global-single-product .shz-single-purchase-panel{
  z-index:1!important;
}
body.page-template-shahaz-global-single-product .shz-single-purchase-sheet.is-open{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.page-template-shahaz-global-single-product .shz-single-purchase-sheet:not(.is-open){
  visibility:hidden!important;
  pointer-events:none!important;
}

/* White glyphs are intentional; backgrounds provide the action identity. */
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .shz-bottom-action-icon,
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .shz-bottom-action-icon svg,
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .shz-bottom-action-icon svg *{
  color:#fff!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .buy,
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .cart{
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 12px rgba(65,0,45,.18)!important;
}
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .shz-bottom-action-icon{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  color:#fff!important;
  background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.05))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 3px 8px rgba(45,0,35,.18)!important;
}
body.page-template-shahaz-global-single-product .shz-single-product-bottom-bar .shz-bottom-action-icon svg{width:20px!important;height:20px!important;}

/* Purchase-sheet symbols remain white when they sit inside colored action controls. */
body.page-template-shahaz-global-single-product .shz-purchase-primary-action,
body.page-template-shahaz-global-single-product .shz-purchase-primary-action svg,
body.page-template-shahaz-global-single-product .shz-purchase-primary-action svg *{
  color:#fff!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
