.purchase-notice {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(var(--purchase-demo-bottom, 24px), env(safe-area-inset-bottom));
  z-index: 70;
  display: flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  max-width: calc(100vw - 32px);
  padding: 10px 34px 10px 10px;
  border: 1px solid #e8efea;
  border-radius: 56px;
  background: #fff;
  box-shadow: 0 8px 32px #153f3020, 0 2px 6px #153f3009;
  color: #153f30;
  font-family: inherit;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .4s ease, transform .4s ease, visibility .4s;
}
.purchase-notice[hidden] { display: none; }
.purchase-notice.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.purchase-notice__thumbnail { width: 44px; height: 44px; flex-shrink: 0; object-fit: cover; border-radius: 50%; background: #f1f5ef; }
.purchase-notice__copy { min-width: 0; }
.purchase-notice__copy p { margin: 0 0 3px; font-size: 16px; line-height: 1.3; letter-spacing: -.2px; overflow-wrap: anywhere; }
.purchase-notice__copy strong { font-weight: 650; }
.purchase-notice__copy span { display: block; font-size: 12px; line-height: 1.4; color: #60746b; }
.purchase-notice__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
.purchase-notice__meta > span { white-space: nowrap; }
.purchase-notice__brand { display: flex; align-items: center; gap: 5px; color: #39795f; font-size: 11px; line-height: 1.3; white-space: nowrap; }
.purchase-notice__brand img { display: block; width: 14px; height: 14px; }
.purchase-notice__close { position: absolute; top: 7px; right: 6px; display: grid; place-items: center; width: 28px; height: 28px; padding: 6px; border: 0; border-radius: 50%; background: transparent; color: #60746b; cursor: pointer; }
.purchase-notice__close svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.purchase-notice__close:hover { background: #edf5f0; color: #153f30; }
.purchase-notice__close:focus-visible { outline: 2px solid #39795f; outline-offset: 2px; }
@media (max-width: 749px) { .purchase-notice { right: 16px; } .purchase-notice__thumbnail { width: 40px; height: 40px; } }
@media (prefers-reduced-motion: reduce) { .purchase-notice { transition: none; transform: none; } }

/* Compact checkout widget at bottom left. */
body:has(.ys-cookie-settings:not([hidden])) .student-content .purchase-follow-widget { bottom: max(60px, env(safe-area-inset-bottom)); }
.student-content .purchase-follow-widget[data-final-day-hidden] { display: none !important; }
.student-content .purchase-follow-widget {
  left: max(18px, env(safe-area-inset-left));
  right: auto;
  width: 320px;
  grid-template-columns: minmax(0, 1fr) 124px;
  gap: 12px;
  padding: 10px 12px;
}
.student-content .purchase-follow-widget__timer p { font-size: 10px; margin-bottom: 5px; }
.student-content .purchase-follow-widget .header-offer-clock b { font-size: 16px; }
.student-content .purchase-follow-widget .header-offer-clock small { font-size: 8px; }
.student-content .purchase-follow-widget .header-offer-clock > span { min-width: 18px; }
.student-content .purchase-follow-widget .header-offer-clock { gap: 3px; }
@media (max-width: 749px) {
  .student-content .purchase-follow-widget { left: max(12px, env(safe-area-inset-left)); right: auto; gap: 10px; }
  .student-content .purchase-follow-widget .header-offer-clock b { font-size: 16px; }
}
