/**
 * Add-to-cart toast + upsell (GoKajak theme (jtmebel / coody_cartupsell)).
 * Overrides main.css "#blockcart-modal { display:none }" and Bootstrap centering.
 */

#blockcart-modal.blockcart-toast{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  z-index:10000050!important;
  background:transparent!important;
  pointer-events:none!important;
  overflow:visible!important;
  text-align:left!important; /* Classic .modal { text-align:center } shrink-wraps dialog */
}
#blockcart-modal.blockcart-toast.show,
#blockcart-modal.blockcart-toast.fade.show{
  display:block!important;
  opacity:1!important;
}

/* Mobile-first: flush to edges with 20px inset */
#blockcart-modal.blockcart-toast .modal-dialog{
  position:fixed!important;
  display:block!important;
  top:12px!important;
  left:20px!important;
  right:20px!important;
  bottom:auto!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  max-width:none!important;
  max-height:calc(100vh - 24px)!important;
  pointer-events:auto!important;
  z-index:10000050!important;
  transform:none!important;
  -webkit-transform:none!important;
  text-align:left!important;
  background:transparent!important;
  border:none!important;
  border-radius:10px!important;
  overflow:visible!important;
  box-shadow:none!important;
}
#blockcart-modal.blockcart-toast:has(.cart-upsell) .modal-dialog{
  max-width:none!important;
}
#blockcart-modal.blockcart-toast .modal-content{
  position:relative;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  max-height:calc(100vh - 24px)!important;
  margin:0!important;
  background:#fff;
  background-clip:padding-box;
  color:#1A1A1A;
  border:2px solid #f23f3f!important;
  border-radius:10px!important;
  box-shadow:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  text-align:left!important;
  isolation:isolate;
  transform:translateZ(0); /* clip dzieci (progress bar) do radiusa */
}

@media (min-width:541px){
  #blockcart-modal.blockcart-toast .modal-dialog{
    top:80px!important;
    left:auto!important;
    right:24px!important;
    width:400px!important;
    max-width:calc(100vw - 48px)!important;
  }
  #blockcart-modal.blockcart-toast:has(.cart-upsell) .modal-dialog{
    max-width:calc(100vw - 48px)!important;
  }
}
#blockcart-modal.blockcart-toast .sr-only,
#blockcart-modal.blockcart-toast .modal-title.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

body:has(#blockcart-modal.blockcart-toast.show),
body.modal-open:has(#blockcart-modal.blockcart-toast.show),
body.blockcart-toast-open{
  overflow:auto!important;
  padding-right:0!important;
}

/* Cart dropdown permanently disabled — toast + cart page replace it */
#quickCartProducts,
.blockcart #quickCartProducts,
.blockcart:hover #quickCartProducts,
.blockcart.focused #quickCartProducts,
.blockcart.forceFocused #quickCartProducts,
.blockcart.forceFocused:hover #quickCartProducts,
#quickCartProducts.active{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  height:0!important;
  overflow:hidden!important;
}

/* px zamiast rem — na #cart html bywa 10px i rem robi mikroczcionki */
#blockcart-modal.blockcart-toast,
#blockcart-modal.blockcart-toast .modal-content{
  font-size:14px!important;
  line-height:1.35;
}
.blockcart-toast__body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:12px 36px 12px 14px}
.blockcart-toast__icon{width:26px!important;height:26px!important;min-width:26px;min-height:26px;border-radius:50%;background:#f23f3f;color:#fff;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 26px;padding:0;margin:0;box-sizing:border-box}
.blockcart-toast__icon svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;display:block}
.blockcart-toast__text{line-height:1.25;min-width:0;overflow:hidden}
.blockcart-toast__text-title{display:block;font-weight:700;font-size:13px!important;color:#1A1A1A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blockcart-toast__text-name{display:block;font-size:12px!important;color:#6B7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}
.blockcart-toast__link{color:#f23f3f;font-weight:600;font-size:12px!important;text-decoration:underline;white-space:nowrap;flex-shrink:0}
.blockcart-toast__link:hover,.blockcart-toast__link:focus{color:#1A1A1A;text-decoration:underline}
.blockcart-toast__close{position:absolute;right:6px;top:6px;width:24px;height:24px;border:none;background:transparent;color:#1A1A1A;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:4px;z-index:2}
.blockcart-toast__close:hover,.blockcart-toast__close:focus{background:rgba(242,63,63,.08);outline:none}
.blockcart-toast__close svg{width:16px;height:16px}
.blockcart-toast__upsell{border-top:1px solid #ececec}

/* Free-delivery flash (productdelivieryinfo → #blockcart-toast_flash_delivery), layout like smakipati */
#blockcart-toast_flash_delivery:has(.pdi-cart-flash){
  border-top:1px solid #ececec;
}
#blockcart-modal.blockcart-toast .pdi-cart-flash,
#blockcart-toast_flash_delivery .pdi-cart-flash{
  padding:10px 14px!important;
  box-sizing:border-box;
  opacity:1;
  transform:none;
  pointer-events:auto;
  overflow:hidden;
}
#blockcart-modal.blockcart-toast .pdi-cart-flash__progress,
#blockcart-toast_flash_delivery .pdi-cart-flash__progress{
  display:block!important;
  width:100%!important;
  height:6px!important;
  border-radius:999px!important;
  background:#e8f5e9!important;
  overflow:hidden!important;
  margin:0 0 8px!important;
}
#blockcart-modal.blockcart-toast .pdi-cart-flash__progress-bar,
#blockcart-toast_flash_delivery .pdi-cart-flash__progress-bar{
  display:block!important;
  height:100%!important;
  min-height:6px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#4cd964,#34c759)!important;
  transition:width .5s ease;
}
#blockcart-modal.blockcart-toast .pdi-cart-flash__text,
#blockcart-toast_flash_delivery .pdi-cart-flash__text{
  display:block!important;
  margin:0!important;
  font-size:11px!important; /* px — nie rem (na #cart html bywa 10px) */
  line-height:1.35!important;
  color:#1A1A1A!important;
  white-space:nowrap!important; /* jedna linia jak smakipati */
  word-break:normal!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
#blockcart-modal.blockcart-toast .pdi-cart-flash__amount,
#blockcart-toast_flash_delivery .pdi-cart-flash__amount{
  display:inline!important;
  color:#1A1A1A!important;
  font-weight:700!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
@media (min-width:541px){
  #blockcart-modal.blockcart-toast .pdi-cart-flash__text,
  #blockcart-modal.blockcart-toast .pdi-cart-flash__amount,
  #blockcart-toast_flash_delivery .pdi-cart-flash__text,
  #blockcart-toast_flash_delivery .pdi-cart-flash__amount{
    font-size:12px!important;
  }
}

.blockcart-toast__progress{
  position:absolute;
  left:0;
  bottom:0;
  height:3px;
  width:100%;
  background:#f23f3f;
  transform-origin:left center;
  transform:scaleX(1);
  pointer-events:none;
  border-radius:0 0 8px 8px;
}
.blockcart-modal.blockcart-toast.show .blockcart-toast__progress.is-running{animation:blockcartToastProgress 5s linear forwards}
.blockcart-toast__progress.is-paused{animation-play-state:paused!important}
@keyframes blockcartToastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.blockcart-modal.blockcart-toast.show .blockcart-toast__progress.is-running{animation:none}}
@media (max-width:540px){
  .blockcart-toast__body{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:0;padding:12px 28px 12px 12px}
  .blockcart-toast__link{justify-self:end;align-self:center;grid-column:auto;margin-top:0;text-align:right}
}

/*
 * Classic theme (.modal a / .modal button) forces CTA button metrics on every
 * link/button inside modals — that breaks toast upsell images + product names.
 * Reset here so layout matches smakipati / module cart-upsell.css.
 */
#blockcart-modal.blockcart-toast a,
#blockcart-modal.blockcart-toast button{
  text-align:left;
  line-height:inherit;
  height:auto;
  font-size:inherit;
  padding:0;
  margin:0;
}
#blockcart-modal.blockcart-toast .blockcart-toast__link{
  text-align:right;
  color:#f23f3f;
  font-weight:600;
  font-size:12px!important;
  text-decoration:underline;
  white-space:nowrap;
  line-height:1.3;
}
#blockcart-modal.blockcart-toast .blockcart-toast__close{
  position:absolute;
  right:6px;
  top:6px;
  width:24px;
  height:24px;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;
}

#blockcart-modal.blockcart-toast .cart-upsell{padding:10px 14px 12px;text-align:left;font-size:14px!important}
#blockcart-modal.blockcart-toast .cart-upsell__title{margin:0 0 8px!important;font-size:12px!important;font-weight:500;letter-spacing:.04em;color:#6B7280;text-transform:uppercase;line-height:1.2;text-align:left!important}
#blockcart-modal.blockcart-toast .cart-upsell__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
#blockcart-modal.blockcart-toast .cart-upsell__item{margin:0;border:1px solid #dfe3e8;border-radius:8px;overflow:hidden;background:transparent}
#blockcart-modal.blockcart-toast .cart-upsell__form{display:grid!important;grid-template-columns:56px minmax(0,1fr) 36px!important;gap:10px;align-items:center;margin:0;padding:6px 8px;flex-direction:row!important}
/* Nadpisanie globalnego .modal img { width:100%; max-width:186px } — szczególnie na #cart */
#blockcart-modal.blockcart-toast img,
#blockcart-modal.blockcart-toast .cart-upsell__image{
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:6px;
  border:0!important;
  box-shadow:none!important;
  outline:none;
  display:block;
  background:#fff;
  position:static!important;
  inset:auto!important;
  padding:0!important;
  margin:0!important;
}
#blockcart-modal.blockcart-toast .cart-upsell__image-link{
  display:block!important;
  position:relative!important;
  line-height:0;
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  padding:0!important;
  padding-top:0!important;
  margin:0!important;
  overflow:hidden;
  border-radius:6px;
  background:#fff;
  border:0!important;
}
#blockcart-modal.blockcart-toast .cart-upsell__image--placeholder{display:block;width:56px;height:56px;background:#fff}
#blockcart-modal.blockcart-toast .cart-upsell__info{min-width:0;display:flex;flex-direction:column;gap:1px}
#blockcart-modal.blockcart-toast .cart-upsell__name{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:13px!important;font-weight:600!important;color:#1A1A1A!important;text-decoration:none!important;line-height:1.25!important;height:auto!important;max-height:2.5em;padding:0!important;margin:0!important;text-align:left!important;white-space:normal!important}
#blockcart-modal.blockcart-toast .cart-upsell__name:hover,
#blockcart-modal.blockcart-toast .cart-upsell__name:focus{color:#f23f3f!important;text-decoration:underline!important}
#blockcart-modal.blockcart-toast .cart-upsell__price{font-size:12px!important;font-weight:600;color:#f23f3f;line-height:1.2}
#blockcart-modal.blockcart-toast .cart-upsell__add{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  flex:0 0 36px;
  border:none;
  border-radius:50%;
  background:#fff;
  color:#1A1A1A;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0!important;
  margin:0!important;
  cursor:pointer;
  box-shadow:none;
  line-height:1!important;
  font-size:0!important;
  text-align:center!important;
  transition:background-color .15s ease,opacity .15s ease;
}
#blockcart-modal.blockcart-toast .cart-upsell__add svg{width:16px!important;height:16px!important;stroke:#1A1A1A}
#blockcart-modal.blockcart-toast .cart-upsell__add:hover,
#blockcart-modal.blockcart-toast .cart-upsell__add:focus{background:#f23f3f;color:#fff;outline:none}
#blockcart-modal.blockcart-toast .cart-upsell__add:hover svg,
#blockcart-modal.blockcart-toast .cart-upsell__add:focus svg{stroke:#fff}
#blockcart-modal.blockcart-toast .cart-upsell__add:disabled,
#blockcart-modal.blockcart-toast .cart-upsell__add.is-loading{opacity:.55;cursor:wait;pointer-events:none}
@media (max-width:540px){#blockcart-modal.blockcart-toast .cart-upsell{padding:10px 12px 12px}}
