[hidden] { display: none !important; }
.checkout-body { background: radial-gradient(ellipse at 20% 15%, #f0efff 0, transparent 45%), #fafbff; color: #253472; }
.checkout-page { max-width: 920px; margin: 0 auto; padding: 0 20px 24px; }
.checkout-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; border: 1px solid #c9cdf8; border-radius: 17px; padding: 5px; background: #eeedfc; margin: 24px 0 0; box-shadow: 0 4px 16px #24337f08; }
.checkout-tabs button { border: 0; border-radius: 12px; padding: 14px 10px; background: transparent; color: #343b86; cursor: pointer; font: 600 15px var(--font-sans); }
.checkout-tabs button[aria-selected="true"] { background: var(--warm-gradient); color: #fff; box-shadow: inset 0 1px 0 #ffffff26, 0 4px 12px #24337f30; }
.checkout-tabs button:focus-visible, .share-actions button:focus-visible, .external-checkout a:focus-visible, .thanks-links button:focus-visible { outline: 2px solid #6960cf; outline-offset: 3px; }
.checkout-intro { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 32px; margin: 28px 0 24px; }
.checkout-intro h1 { font-size: clamp(30px, 3.5vw, 40px); font-weight: 750; letter-spacing: -.05em; line-height: 1.15; margin: 0 0 12px; color: #253472; }
.checkout-intro p { font-size: 16px; line-height: 1.65; color: #687198; margin: 0; max-width: 48ch; }
.checkout-gallery { position: relative; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 20px; }
.checkout-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 800ms ease; object-fit: cover; object-position: center; }
.checkout-panel { min-width: 0; }
.embed-host { position: relative; background: #fff; border-radius: 16px; overflow: hidden; min-height: 240px; box-shadow: 0 4px 25px #24337f07; }
.embed-host iframe { border-radius: inherit; }
.embed-loading { color: #687198; font-size: 13px; padding: 14px; text-align: center; }
.embed-unavailable { min-height: 0; box-shadow: none; }
.external-checkout { margin: 15px 0 0; padding: 0 6px; text-align: center; font-size: 11px; line-height: 1.65; }
.external-checkout a { color: #53618e; }
.external-checkout span:not(.sr-only) { display: block; margin-top: 3px; font-size: 10px; color: #858eaa; }
.wallet-checkout { margin: 18px 0 0; padding: 0 6px; text-align: center; }
.wallet-checkout > a { color: #53618e; font-size: 12px; line-height: 1.6; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.wallet-checkout > a:focus-visible { outline: 2px solid #6960cf; outline-offset: 3px; }
.wallet-checkout p { max-width: 60ch; margin: 6px auto 0; color: #858eaa; font-size: 10px; line-height: 1.6; }
.embed-error { margin: 12px 0 0; color: #687198; font-size: 12px; line-height: 1.7; text-align: center; }
.checkout-footer { text-align: center; color: #8890a7; font-size: 10px; line-height: 1.8; padding: 0 20px 24px; }
.checkout-footer a { margin-left: 8px; text-decoration: underline; text-underline-offset: 2px; }
.checkout-thanks { text-align: center; padding: 30px 18px; border-radius: 20px; background: #fff; box-shadow: 0 6px 30px #24337f08; scroll-margin-top: 16px; }
.thank-you-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; margin: 0 auto 18px; background: #eeecfc; color: #655ac0; font-size: clamp(30px, 3.5vw, 40px); }
.checkout-thanks h1 { font-size: clamp(26px, 5vw, 35px); line-height: 1.15; letter-spacing: -.055em; margin: 0 auto 12px; max-width: 16ch; }
.checkout-thanks p { font-size: 14px; line-height: 1.75; color: #687198; max-width: 48ch; margin: 12px auto; }
.checkout-thanks .receipt-note { font-size: 12px; padding-top: 8px; }
.checkout-thanks .total-note { font-size: 11px; color: #8c94ad; }
.share-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.share-actions button { font: 600 12px var(--font-sans); padding: 12px 16px; border-radius: 12px; cursor: pointer; }
.share-button { color: #fff; background: var(--warm-gradient); border: 1px solid #24337f; }
.copy-button { background: #fff; border: 1px solid #d7dced; color: #53618e; }
.checkout-thanks .share-status { min-height: 18px; font-size: 11px; margin: 8px 0; }
.share-manual { display: grid; gap: 5px; font-size: 11px; color: #687198; }
.share-manual input { max-width: 100%; width: 100%; font: 12px var(--font-sans); padding: 10px; border: 1px solid #d7dced; border-radius: 8px; color: #253472; }
.thanks-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; font-size: 11px; color: #687198; }
.thanks-links button { background: none; border: none; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 860px) {
  .checkout-body .header-actions { display: none; }
  html { scroll-padding-top: 5rem; }
}
@media (max-width: 560px) {
  html { scroll-padding-top: 8rem; }
}
@media (max-width: 600px) {
  .checkout-page { padding: 0 12px 20px; }
  .checkout-tabs button { padding: 13px 5px; font-size: 14px; }
  .checkout-intro { grid-template-columns: 1fr; gap: 16px; margin: 24px 3px 20px; }
  .checkout-intro h1 { font-size: 28px; margin-bottom: 10px; }
  .checkout-intro p { font-size: 14px; line-height: 1.6; }
  .checkout-gallery { border-radius: 15px; }
  .embed-host { border-radius: 12px; }
}

@media (max-width: 360px) {
  .checkout-intro { gap: 12px; }
  .checkout-intro h1 { font-size: 25px; }
  .checkout-intro p { font-size: 13px; }
}

.checkout-gallery img[data-photo-active="true"] { opacity: 1; }

@media (prefers-reduced-motion: reduce) { .checkout-gallery img { transition: none; } }

.gallery-pause:focus-visible { position: absolute; width: auto; height: auto; clip: auto; clip-path: none; overflow: visible; right: 12px; bottom: 12px; padding: 8px 12px; border: 0; border-radius: 8px; background: #fff; color: #253472; z-index: 2; }
