/* FollowerAbzar SMM 79.2.15 — standalone cart shortcode / header component */
.fasmm-cart-shortcode{display:inline-flex;align-items:center;max-width:100%}
.fasmm-cart-shortcode .fasmm-header-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 11px;border:1px solid var(--fasmm-public-border,#dbe4ee);border-radius:12px;background:var(--fasmm-public-surface,#fff);color:var(--fasmm-public-text,#172033);font:inherit;font-weight:800;line-height:1;cursor:pointer;box-sizing:border-box;transition:.18s ease}
.fasmm-cart-shortcode .fasmm-header-cart:hover{border-color:var(--fasmm-public-primary,#5b4df6);color:var(--fasmm-public-primary,#5b4df6);transform:translateY(-1px)}
.fasmm-cart-shortcode-icon{display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center}
.fasmm-cart-shortcode-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fasmm-cart-shortcode-text{white-space:nowrap}
.fasmm-cart-shortcode .fasmm-cart-count{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ff4d67;color:#fff;font-size:10px;font-weight:900;line-height:1;box-sizing:border-box}
.fasmm-cart-shortcode .fasmm-header-cart:not(.has-items) .fasmm-cart-count{display:none}

/* ---------- public floating cart portal ----------
 * The JS moves these nodes to <body> so Elementor overflow/transform rules do
 * not create a clipping or fixed-position containing block.
 */
.fasmm-cart-float.fasmm-cart-float-direct{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:fixed!important;
  left:20px!important;
  right:auto!important;
  bottom:22px!important;
  top:auto!important;
  z-index:2147482000!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#5b4df6,#695cf8)!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(79,70,229,.28)!important;
  font-size:0!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.fasmm-cart-float.fasmm-cart-float-direct:hover{background:linear-gradient(145deg,#4f43e5,#5d50eb)!important;transform:translateY(-2px)!important;box-shadow:0 18px 38px rgba(79,70,229,.34)!important}
.fasmm-cart-float.fasmm-cart-float-direct:focus-visible{outline:3px solid rgba(91,77,246,.25)!important;outline-offset:3px!important}
.fasmm-cart-float.fasmm-cart-float-direct>i{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:27px!important;
  line-height:1!important;
}
.fasmm-cart-float.fasmm-cart-float-direct .fasmm-cart-count{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  left:auto!important;
  min-width:23px!important;
  height:23px!important;
  padding:0 5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#ef4444!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
  box-shadow:0 4px 10px rgba(239,68,68,.2)!important;
}
.fasmm-cart-float.fasmm-cart-float-direct:not(.has-items) .fasmm-cart-count{background:#7c8595!important}

.fasmm-cart-drawer{
  position:fixed!important;
  left:16px!important;
  right:auto!important;
  top:16px!important;
  bottom:16px!important;
  z-index:2147483001!important;
  width:min(390px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:14px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  overflow:hidden!important;
  direction:rtl!important;
  text-align:right!important;
  border:1px solid #dfe5ef!important;
  border-radius:22px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 28px 80px rgba(15,23,42,.24)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(calc(-100% - 36px))!important;
  transition:transform .22s ease,opacity .18s ease,visibility .18s ease!important;
  box-sizing:border-box!important;
}
.fasmm-cart-drawer.open,
.fasmm-cart-drawer.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(0)!important;
}
.fasmm-cart-drawer,
.fasmm-cart-drawer *,
.fasmm-cart-drawer *::before,
.fasmm-cart-drawer *::after{box-sizing:border-box!important}
.fasmm-cart-head{
  flex:0 0 auto!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 2px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:0!important;
  border-bottom:1px solid #e6eaf0!important;
  background:transparent!important;
}
.fasmm-cart-head-title{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.fasmm-cart-head-icon{width:40px!important;height:40px!important;flex:0 0 40px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:12px!important;background:#f0efff!important;color:#5b4df6!important;font-size:20px!important}
.fasmm-cart-head-title>div{display:grid!important;gap:1px!important;min-width:0!important}
.fasmm-cart-head-title strong{margin:0!important;color:#172033!important;font-size:14px!important;font-weight:900!important;line-height:1.6!important}
.fasmm-cart-head-title small{margin:0!important;color:#7a8494!important;font-size:11px!important;line-height:1.5!important}
.fasmm-cart-close{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #e2e7ee!important;
  border-radius:11px!important;
  background:#f6f8fb!important;
  color:#475569!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.fasmm-cart-close:hover{background:#eef1f6!important;color:#111827!important}

.fasmm-cart-items{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:4px 2px!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  overscroll-behavior:contain!important;
}
.fasmm-cart-empty{
  min-height:220px!important;
  width:100%!important;
  padding:24px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  text-align:center!important;
  border:1px dashed #d9e0e9!important;
  border-radius:16px!important;
  background:#fafbfc!important;
  color:#667085!important;
}
.fasmm-cart-empty i{color:#9aa4b2!important;font-size:38px!important;line-height:1!important}
.fasmm-cart-empty strong{color:#344054!important;font-size:13px!important;font-weight:900!important}
.fasmm-cart-empty span{color:#7b8798!important;font-size:11px!important;line-height:1.8!important}

.fasmm-cart-row{
  position:relative!important;
  min-height:0!important;
  margin:0 0 8px!important;
  padding:11px 12px!important;
  display:grid!important;
  gap:7px!important;
  border:1px solid #e2e7ee!important;
  border-radius:15px!important;
  background:#fbfcfe!important;
  color:#172033!important;
  overflow:visible!important;
}
.fasmm-cart-row:last-child{margin-bottom:0!important}
.fasmm-cart-row-head{display:flex!important;align-items:center!important;gap:9px!important;padding-left:38px!important;min-width:0!important}
.fasmm-cart-service-icon{width:38px!important;height:38px!important;flex:0 0 38px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:11px!important;background:#f0efff!important;color:#5b4df6!important}
.fasmm-cart-row-head>div{display:grid!important;gap:2px!important;min-width:0!important}
.fasmm-cart-row b{min-width:0!important;color:#253044!important;font-size:12.5px!important;font-weight:900!important;line-height:1.6!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.fasmm-cart-row small{color:#7b8798!important;font-size:10.5px!important;line-height:1.6!important;overflow-wrap:anywhere!important}
.fasmm-cart-row>span,.fasmm-cart-row-head span{color:#475569!important;font-size:11px!important;line-height:1.55!important}
.fasmm-cart-row-link{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:7px!important;padding:8px 9px!important;border-radius:10px!important;background:#f3f5f9!important;color:#475569!important}
.fasmm-cart-row-link span{direction:ltr!important;text-align:left!important;word-break:break-all!important;font-size:10.5px!important}
.fasmm-cart-remove{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  right:auto!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #fecaca!important;
  border-radius:10px!important;
  background:#fff1f2!important;
  color:#dc2626!important;
  cursor:pointer!important;
}

.fasmm-cart-footer{
  flex:0 0 auto!important;
  width:100%!important;
  margin:0!important;
  padding:10px 0 0!important;
  display:grid!important;
  gap:9px!important;
  border:0!important;
  border-top:1px solid #e6eaf0!important;
  background:#fff!important;
}
.fasmm-cart-total{
  min-height:44px!important;
  width:100%!important;
  margin:0!important;
  padding:9px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border-radius:12px!important;
  background:#f5f7fb!important;
  color:#475569!important;
  font-size:12px!important;
}
.fasmm-cart-total b{color:#172033!important;font-size:14px!important;font-weight:900!important;white-space:nowrap!important}
.fasmm-cart-post-form{width:100%!important;margin:0!important;padding:0!important}
.fasmm-cart-submit{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:9px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid #5b4df6!important;
  border-radius:12px!important;
  background:#5b4df6!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.5!important;
  cursor:pointer!important;
}
.fasmm-cart-submit:disabled{border-color:#d7dce5!important;background:#e1e5ec!important;color:#9aa4b2!important;cursor:not-allowed!important}

.fasmm-cart-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  background:rgba(15,23,42,.45)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}
.fasmm-cart-backdrop[hidden]{display:none!important}
.fasmm-cart-backdrop.show{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.fasmm-cart-open{overflow:hidden!important}

/* Public Elementor pages can contain Telegram/support floaters on the right;
 * keep the cart launcher on the opposite side and inside the safe viewport. */
@media(max-width:767px){
  .fasmm-order-shortcode-materio .fasmm-order-main{padding:12px!important;border-radius:15px!important}
  .fasmm-order-shortcode-materio .fasmm-order-actions{grid-template-columns:1fr!important}
  .fasmm-order-shortcode-materio .fasmm-add-to-cart{grid-column:auto!important}
  .fasmm-order-shortcode-materio .fasmm-order-charge-cta{width:100%!important}
  .fasmm-cart-float.fasmm-cart-float-direct{
    display:flex!important;
    left:12px!important;
    right:auto!important;
    bottom:14px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    border-radius:16px!important;
  }
  .fasmm-cart-float.fasmm-cart-float-direct>i{font-size:24px!important}
  .fasmm-cart-drawer{
    left:8px!important;
    right:auto!important;
    top:8px!important;
    bottom:8px!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    padding:12px!important;
    border-radius:18px!important;
    transform:translateX(calc(-100% - 20px))!important;
  }
  .fasmm-cart-drawer.open,.fasmm-cart-drawer.is-open{transform:translateX(0)!important}
  .fasmm-cart-empty{min-height:180px!important}
}

@media(prefers-reduced-motion:reduce){
  .fasmm-cart-float.fasmm-cart-float-direct,
  .fasmm-cart-drawer,
  .fasmm-cart-backdrop{transition:none!important}
}

/* v76 hid the public cart launcher on narrow New Order routes. On a standalone
 * shortcode there is no panel header cart, so keep the launcher available. */
@media(max-width:767px){
  body.fasmm-new-order-active:not(.fasmm-panel-fullscreen) .fasmm-cart-float.fasmm-cart-float-direct{display:flex!important;visibility:visible!important;opacity:1!important}
}
