/* cartRe checkout completion overlay · isolated from WooCommerce layout */
.cse-order-progress {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, .42);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
}
.cse-order-progress.is-visible { opacity: 1; visibility: visible; }
.cse-order-progress__card {
  width: min(340px, calc(100vw - 40px));
  box-sizing: border-box;
  padding: 28px 24px 24px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 80px rgba(15,23,42,.24);
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  transform: translateY(12px) scale(.97);
  transition: transform .28s cubic-bezier(.22,1,.36,1);
}
.cse-order-progress.is-visible .cse-order-progress__card { transform: translateY(0) scale(1); }
.cse-order-progress__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(145deg,#fff1f2,#ffe4e6);
  color: #dc2f3a;
}
.cse-order-progress__spinner {
  width: 30px;
  height: 30px;
  border: 3px solid rgba(220,47,58,.18);
  border-top-color: #dc2f3a;
  border-radius: 50%;
  animation: cse-order-spin .75s linear infinite;
}
.cse-order-progress__check { display:none; width:36px; height:36px; }
.cse-order-progress.is-success .cse-order-progress__icon { background: linear-gradient(145deg,#ecfdf3,#d1fadf); color:#079455; }
.cse-order-progress.is-success .cse-order-progress__spinner { display:none; }
.cse-order-progress.is-success .cse-order-progress__check { display:block; }
.cse-order-progress__title { margin:0 0 7px; color:#172033; font-size:21px; line-height:1.2; font-weight:750; letter-spacing:-.02em; }
.cse-order-progress__text { margin:0; color:#667085; font-size:14px; line-height:1.5; }
.cse-order-progress__bar { height:4px; margin-top:20px; overflow:hidden; border-radius:999px; background:#f1f3f6; }
.cse-order-progress__bar::after { content:""; display:block; width:42%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#f97066,#dc2f3a); animation:cse-order-bar 1.05s ease-in-out infinite; }
.cse-order-progress.is-success .cse-order-progress__bar::after { width:100%; animation:none; background:#12b76a; }
@keyframes cse-order-spin { to { transform:rotate(360deg); } }
@keyframes cse-order-bar { 0%{ transform:translateX(-110%)} 100%{ transform:translateX(340%)} }
@media (prefers-reduced-motion: reduce) {
  .cse-order-progress,.cse-order-progress__card { transition:none; }
  .cse-order-progress__spinner,.cse-order-progress__bar::after { animation-duration:1.8s; }
}
