.gc-checkout {
  --gc-safe-edge: max(16px, env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  width: min(800px, calc(100% - 112px));
  max-width: none;
  height: fit-content;
  min-height: 0;
  /* Includes the non-scrolling close control; short forms stay content-sized. */
  max-height: min(900px, 90dvh, calc(100dvh - var(--gc-safe-edge) - var(--gc-safe-edge)));
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #202020;
  overflow: visible;
  overscroll-behavior: contain;
}
.gc-checkout[open] { display: flex; flex-direction: column; }
.gc-checkout::backdrop { background: #000a; }
.gc-checkout-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  padding: 0 0 4px;
  transform: translate(28px, 8px);
}
.gc-checkout-scroll {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 16px;
  clip-path: inset(0 round 16px);
  background: transparent;
}
.gc-checkout-close {
  flex: 0 0 auto;
  display: block;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  position: relative;
  background: transparent;
  color: #fff;
  font: 28px/1 sans-serif;
  cursor: pointer;
  z-index: 1;
}
.gc-checkout-close::before, .gc-checkout-close::after {
  content: "";
  position: absolute;
  top: 21px;
  left: 10px;
  width: 24px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transform: rotate(45deg);
}
.gc-checkout-close::after { transform: rotate(-45deg); }
.gc-checkout-close:focus-visible { outline: 2px solid #f2bd78; outline-offset: -2px; }
.gc-checkout-close { touch-action: manipulation; }
.gc-checkout-close:active { opacity: .65; }
.gc-checkout-status { margin: 0; padding: 20px 24px; color: #f3f3f3; font: 16px/1.5 sans-serif; }
.gc-checkout-widget iframe { display: block; width: 100%; max-width: 100%; min-height: 0; border: 0; background: transparent; }
.gc-checkout [hidden] { display: none !important; }
@media (max-width: 600px) {
  .gc-checkout {
    inset: auto 0 0;
    width: 100%;
    height: 95dvh;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top, 0px)));
    margin: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .gc-checkout-header { transform: none; padding: 0 12px 4px; }
  .gc-checkout-scroll { flex: 1 1 auto; border-radius: 16px 16px 0 0; clip-path: inset(0 round 16px 16px 0 0); }
  .gc-checkout[open] { animation: gc-sheet-in 180ms ease-out; }
}
@keyframes gc-sheet-in { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .gc-checkout[open] { animation: none; }
}
