/* Floating cart FAB */
.cart-fab{
  position: fixed;
  right: calc(18px + env(safe-area-inset-right, 0));
  bottom: calc(18px + env(safe-area-inset-bottom, 0));
  z-index: 1055;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 0;
  background: #1b1d1f;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  opacity: 0;
  transform: scale(.9);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, box-shadow .25s ease;
}
.cart-fab.show{
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.cart-fab:hover{ box-shadow: 0 16px 36px rgba(0,0,0,.3); }

.cart-count{
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #C2B39F;
  color: #111;
  font-weight: 800;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

/* bump animacija */
@keyframes t8m-bump {
  0% { transform: scale(1); }
  35% { transform: scale(1.08); }
  70% { transform: scale(1); }
  100% { transform: scale(1); }
}
.cart-fab.bump{ animation: t8m-bump .45s ease; }

/* Modal */
.cart-modal{
  border-radius: 0 !important;
  box-shadow: 0 16px 46px rgba(0,0,0,.18);
}
.cart-item .title{ max-width: 55%; }
@media (max-width: 576px){
  .cart-item{ flex-direction: column; align-items: flex-start !important; }
  .cart-item .title{ max-width: 100%; }
  .cart-item .price{ align-self: flex-end; }
}

/* Bootstrap Toast container fixed bottom-right */
.toast-container{
  right: 18px;
  bottom: 18px;
  z-index: 1060;
}
