.guide-checkout[hidden] { display:none; }
.guide-checkout {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(22,22,26,.58);
  font-family:Inter,Arial,sans-serif;
}
.guide-checkout__panel {
  position:relative;
  width:min(100%, 520px);
  max-height:min(760px, calc(100dvh - 48px));
  overflow:auto;
  background:#fff;
  color:#16161a;
  padding:44px;
  box-shadow:0 24px 64px rgba(22,22,26,.24);
}
.guide-checkout__close {
  position:absolute;
  top:17px;
  right:17px;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:#16161a;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.guide-checkout__close:hover { color:#8b1025; }
.guide-checkout__label {
  margin:0 0 10px;
  color:#8b1025;
  font-family:'SFMono-Regular',Menlo,Consolas,monospace;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.guide-checkout__title {
  margin:0 36px 14px 0;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(34px,7vw,46px);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-.02em;
}
.guide-checkout__copy {
  margin:0 0 26px;
  color:#5f5f5a;
  font-size:14px;
  line-height:1.6;
}
.guide-checkout__field-label {
  display:block;
  margin-bottom:9px;
  font-size:12px;
  font-weight:600;
}
.guide-checkout__input {
  width:100%;
  box-sizing:border-box;
  border:1px solid #cfcfc9;
  border-radius:0;
  padding:15px 14px;
  background:#fff;
  color:#16161a;
  font:16px/1.3 Inter,Arial,sans-serif;
}
.guide-checkout__input:focus { border-color:#8b1025; outline:2px solid rgba(139,16,37,.16); outline-offset:1px; }
.guide-checkout__submit,
.guide-checkout__download {
  display:flex;
  width:100%;
  min-height:50px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  margin-top:14px;
  border:1px solid #16161a;
  border-radius:0;
  background:#16161a;
  color:#fff;
  font:500 11px/1 Inter,Arial,sans-serif;
  letter-spacing:.13em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.guide-checkout__submit:hover,
.guide-checkout__download:hover { background:#8b1025; border-color:#8b1025; color:#fff; }
.guide-checkout__submit:disabled { cursor:wait; opacity:.62; }
.guide-checkout__submit--paypal {
  background:#fff;
  color:#16161a;
}
.guide-checkout__submit--paypal:hover {
  background:#8b1025;
  border-color:#8b1025;
  color:#fff;
}
.guide-checkout__legal {
  margin:14px 0 0;
  color:#777771;
  font-size:11px;
  line-height:1.55;
}
.guide-checkout__legal a { text-decoration:underline; text-underline-offset:2px; }
.guide-checkout__status { min-height:22px; margin:14px 0 0; color:#8b1025; font-size:13px; line-height:1.5; }
.guide-checkout__success[hidden], .guide-checkout__form[hidden] { display:none; }
.guide-checkout__success-mark { width:42px; height:42px; margin:0 0 18px; border-radius:50%; display:grid; place-items:center; background:#8b1025; color:#fff; font-size:22px; }
body.guide-checkout-open { overflow:hidden; }
@media (max-width:600px) {
  .guide-checkout { align-items:end; padding:0; }
  .guide-checkout__panel {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 20px);
    padding:38px 22px calc(26px + env(safe-area-inset-bottom));
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .guide-checkout__close { top:8px; right:8px; width:44px; height:44px; }
  .guide-checkout__title { font-size:36px; }
}
@media (prefers-reduced-motion:no-preference) {
  .guide-checkout:not([hidden]) .guide-checkout__panel { animation:checkout-in .22s cubic-bezier(.2,.8,.2,1) both; }
  @keyframes checkout-in { from { opacity:.72; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
}
