.checkout-loading-placeholder { display:none; }
.checkout-initial-loading .checkout-loading-placeholder { display:block; }
.checkout-initial-loading .checkout-content > :not(.checkout-loading-placeholder),
.checkout-load-error .checkout-content > :not(#checkoutLoadError) { display:none !important; }
.checkout-loading-line, .checkout-loading-block { position:relative; overflow:hidden; background:#e5e5ea; border-radius:8px; }
.checkout-loading-line { height:22px; width:55%; margin:16px 0; }
.checkout-loading-line.title { height:32px; width:75%; }
.checkout-loading-line.total { width:35%; margin:28px 0 0 auto; }
.checkout-loading-block { height:84px; margin-bottom:16px; border-radius:14px; }
.checkout-loading-block.method { height:74px; }
.checkout-loading-line::after, .checkout-loading-block::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#ffffffb8,transparent); transform:translateX(-100%); animation:checkoutShimmer 1.4s linear infinite; }
@keyframes checkoutShimmer { to { transform:translateX(100%); } }
@media (prefers-reduced-motion:reduce) { .checkout-loading-line::after, .checkout-loading-block::after { animation:none; } }
#checkoutLoadError { padding:20px; border-radius:14px; background:white; line-height:1.5; }
#checkoutLoadError button { margin-top:16px; }
