/*
 * The notice, as the wall brace and beam puller designs draw it: a white
 * card 32px from the left (16px each side on a phone), a green check in a
 * pale green disc, the order in one line and when under it. It sits above
 * the product page's floating add-to-cart bar.
 */
.sjpn {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 999;
  padding: 0 32px max(24px, env(safe-area-inset-bottom));
  pointer-events: none;
  transition: padding-bottom 0.3s ease-out;
}

/* Clear the bar and the "Free shipping" badge that sits on its top edge. */
body:has(.floating-cart-bar.is-visible) .sjpn {
  padding-bottom: calc(
    32px + var(--gds-sticky-cart-height, var(--gds-floating-cart-bar-height, 72px))
  );
}

.sjpn__card {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: min(480px, calc(100vw - 64px));
  padding: 12px 14px;
  border: 1px solid #e3e5ec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgb(29 35 64 / 18%);
  color: #1d2340;
  pointer-events: auto;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.3s ease-out,
    transform 0.3s ease-out;
}

.sjpn__card.is-in {
  opacity: 1;
  transform: none;
}

.sjpn__icon {
  flex: none;
}

.sjpn__icon circle {
  fill: #eef5ea;
}

.sjpn__icon path {
  fill: none;
  stroke: #2c6e36;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sjpn__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  margin: 0;
}

.sjpn__line {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

.sjpn__line a {
  color: inherit;
  text-decoration: none;
}

.sjpn__line a:hover,
.sjpn__line a:focus-visible {
  text-decoration: underline;
}

.sjpn__meta {
  font-size: 13px;
  line-height: 1.3;
  color: #5b6178;
}

@media (max-width: 600px) {
  .sjpn {
    right: 0;
    padding-inline: 16px;
  }

  .sjpn__card {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sjpn,
  .sjpn__card {
    transition: none;
  }
}
