:root{
  --agoogi-progress-green:#1ea35a;
  --agoogi-progress-green-soft:#e8f7ee;
  --agoogi-progress-muted:#cfd8e3;
  --agoogi-progress-text:#0f172a;
  --agoogi-splash-bg:#ffffff;
}

/* Installed-app launch overlay */
.agoogi-app-launch{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--agoogi-splash-bg);
  opacity:1;
  visibility:visible;
  transition:opacity .28s ease, visibility .28s ease;
}
.agoogi-app-launch[hidden],
.agoogi-app-launch.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.agoogi-app-launch__panel{
  width:min(92vw, 420px);
  text-align:center;
  padding:2rem 1.25rem;
}
.agoogi-app-launch__logo{
  width:min(36vw, 132px);
  max-width:132px;
  height:auto;
  display:block;
  margin:0 auto 1rem;
}
.agoogi-app-launch__title{
  margin:0;
  color:#0b152d;
  font-size:clamp(1.4rem, 4vw, 1.95rem);
  line-height:1.15;
}
.agoogi-app-launch__tagline{
  margin:.45rem 0 0;
  color:#48607e;
  font-size:.98rem;
}
.agoogi-app-launch__bar{
  width:96px;
  height:6px;
  border-radius:999px;
  background:#e6edf6;
  margin:1.15rem auto 0;
  overflow:hidden;
}
.agoogi-app-launch__bar::after{
  content:"";
  display:block;
  width:55%;
  height:100%;
  background:linear-gradient(90deg,#1ea35a,#35c56b);
  border-radius:999px;
  animation:agoogiLaunchPulse 1.1s ease-in-out infinite;
}
@keyframes agoogiLaunchPulse{
  0%{transform:translateX(-20%);}
  50%{transform:translateX(60%);}
  100%{transform:translateX(-20%);}
}

/* Purchase flow stepper */
.purchase-progress{
  margin:0 0 1.25rem;
  border:1px solid #dce4ef;
  border-radius:18px;
  background:#fff;
  padding:1rem 1rem 1.15rem;
  box-shadow:0 10px 30px rgba(15,23,42,.04);
}
.purchase-progress__eyebrow{
  display:inline-block;
  margin:0 0 .55rem;
  font-size:.78rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#48607e;
  font-weight:700;
}
.purchase-progress__title{
  margin:0 0 .85rem;
  color:var(--agoogi-progress-text);
  font-size:1rem;
  font-weight:700;
}
.purchase-progress__track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.35rem;
  align-items:start;
}
.purchase-progress__track::before{
  content:"";
  position:absolute;
  left:calc(10% + 14px);
  right:calc(10% + 14px);
  top:14px;
  height:4px;
  background:var(--agoogi-progress-muted);
  border-radius:999px;
}
.purchase-progress__step{
  position:relative;
  z-index:1;
  text-align:center;
  min-width:0;
}
.purchase-progress__step::before{
  content:"";
  position:absolute;
  top:14px;
  left:-50%;
  width:100%;
  height:4px;
  transform:translateY(-50%);
  background:transparent;
}
.purchase-progress__step:first-child::before{display:none;}
.purchase-progress__step.is-complete::before,
.purchase-progress__step.is-current::before{
  background:var(--agoogi-progress-green);
}
.purchase-progress__node{
  width:28px;
  height:28px;
  border-radius:50%;
  margin:0 auto .55rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--agoogi-progress-muted);
  background:#fff;
  color:#6b7a90;
  font-size:.84rem;
  font-weight:800;
}
.purchase-progress__step.is-complete .purchase-progress__node,
.purchase-progress__step.is-current .purchase-progress__node{
  border-color:var(--agoogi-progress-green);
}
.purchase-progress__step.is-complete .purchase-progress__node{
  background:var(--agoogi-progress-green);
  color:#fff;
}
.purchase-progress__step.is-current .purchase-progress__node{
  background:var(--agoogi-progress-green-soft);
  color:#0f6c39;
  box-shadow:0 0 0 6px rgba(30,163,90,.10);
}
.purchase-progress__label{
  display:block;
  color:#0f172a;
  font-weight:700;
  font-size:.88rem;
  line-height:1.15;
}
.purchase-progress__note{
  display:block;
  color:#64748b;
  font-size:.75rem;
  line-height:1.25;
  margin-top:.22rem;
}
.purchase-progress__step.is-current .purchase-progress__label,
.purchase-progress__step.is-current .purchase-progress__note{
  color:#0b152d;
}
.purchase-progress__summary{
  margin:.85rem 0 0;
  color:#48607e;
  font-size:.9rem;
}
.purchase-progress__summary strong{color:#0f172a;}

@media (max-width: 760px){
  .purchase-progress{padding:1rem .85rem;}
  .purchase-progress__track{gap:.2rem;}
  .purchase-progress__track::before{left:22px;right:22px;top:13px;}
  .purchase-progress__node{width:26px;height:26px;font-size:.8rem;margin-bottom:.42rem;}
  .purchase-progress__label{font-size:.75rem;}
  .purchase-progress__note{font-size:.67rem;}
}

/* Fulfilment journey can display two or five milestones without changing the checkout tracker. */
.order-journey .purchase-progress__track{grid-template-columns:repeat(var(--journey-count,5),minmax(0,1fr));}
.order-journey .purchase-progress__track::before{left:calc(50% / var(--journey-count,5));right:calc(50% / var(--journey-count,5));}
.order-journey .purchase-progress__label{overflow-wrap:anywhere;}
.order-confirm-receipt-form{margin:1rem 0 .3rem;}
@media(max-width:480px){.order-journey .purchase-progress__label{font-size:.65rem;}}
