.checkout-module [hidden],.checkout-module[hidden]{display:none!important}.checkout-module{color:var(--color-text);padding:var(--spacing-md) 0;width:100%}.checkout-debug{background:#eef6ff;border:1px solid #b9d7f5;border-radius:var(--border-radius);font-family:monospace;font-size:12px;line-height:1.45;margin:0 0 var(--spacing-md);padding:12px;white-space:pre-wrap;word-break:break-word}.checkout-config-error{background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--border-radius);color:var(--color-error-dark);padding:var(--spacing-md)}.checkout-config-error strong{display:block;font-size:var(--font-size-base);margin-bottom:.25rem}.checkout-config-error p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.checkout-header{align-items:center;border-bottom:1px solid var(--color-bg-lighter);display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md);padding:0 0 var(--spacing-md)}.checkout-header-text{display:flex;flex-direction:column;gap:.25rem}.checkout-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}.checkout-subtitle{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0;min-height:1.2em}.checkout-status{border:1px solid transparent;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 var(--spacing-md);padding:.75rem 1rem}.checkout-status[data-checkout-tone=success]{background:var(--color-success-light);border-color:var(--color-success-border);color:var(--color-success-dark)}.checkout-status[data-checkout-tone=error]{background:var(--color-error-light);border-color:var(--color-error-border);color:var(--color-error-dark)}.checkout-status[data-checkout-tone=warning]{background:var(--color-warning-light);border-color:var(--color-warning-border);color:var(--color-warning-dark)}.checkout-loading{align-items:center;color:var(--color-text-light);display:flex;flex-direction:column;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-xl) var(--spacing-md)}.checkout-spinner{animation:checkout-spin .8s linear infinite;border:2px solid var(--color-bg-lighter);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:16px;width:16px}.checkout-spinner-lg{border-width:3px;height:32px;width:32px}@keyframes checkout-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.checkout-spinner{animation:none}}.checkout-load-error{background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--border-radius);color:var(--color-error-dark);font-size:var(--font-size-sm);padding:var(--spacing-md)}.checkout-load-error p{margin:0}.checkout-error-secondary{font-size:var(--font-size-xs);margin-top:var(--spacing-xs)!important}.checkout-link-btn{background:transparent;border:none;color:var(--color-primary-dark);cursor:pointer;font:inherit;font-weight:var(--font-weight-semibold);padding:0;text-decoration:underline}.checkout-link-btn:focus,.checkout-link-btn:hover{color:var(--color-primary)}.checkout-grid{align-items:start;display:grid;gap:var(--spacing-lg);grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.checkout-summary{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--box-shadow-card);padding:var(--spacing-md);position:sticky;top:var(--spacing-md)}.checkout-summary-title{border-bottom:1px solid var(--color-bg-lighter);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.5px;margin:0 0 var(--spacing-sm);padding-bottom:var(--spacing-sm);text-transform:uppercase}.checkout-items-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0 0 var(--spacing-sm);padding:0}.checkout-item{align-items:baseline;border-bottom:1px dashed var(--color-bg-lighter);display:grid;gap:var(--spacing-sm);grid-template-columns:minmax(0,1fr) auto;padding-bottom:var(--spacing-sm)}.checkout-item:last-child{border-bottom:none;padding-bottom:0}.checkout-item-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.checkout-item-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0;word-break:break-word}.checkout-item-meta{color:var(--color-text-light);font-size:var(--font-size-xs)}.checkout-item-line-total{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}.checkout-summary-rows{border-top:1px solid var(--color-bg-lighter);display:flex;flex-direction:column;gap:.65rem;margin:var(--spacing-sm) 0 0;padding:var(--spacing-sm) 0 0}.checkout-summary-row{align-items:baseline;display:flex;gap:var(--spacing-sm);justify-content:space-between}.checkout-summary-row dt{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin:0}.checkout-summary-row dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;text-align:right}.checkout-summary-muted{color:var(--color-text-lighter)!important;font-style:italic;font-weight:var(--font-weight-normal)!important}.checkout-summary-row--total{border-top:1px solid var(--color-bg-lighter);margin-top:.35rem;padding-top:var(--spacing-sm)}.checkout-summary-row--total dt{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.checkout-summary-row--total dd{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.checkout-summary-edit{margin:var(--spacing-md) 0 0;text-align:center}.checkout-link{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.checkout-link:focus,.checkout-link:hover{color:var(--color-primary-dark);text-decoration:underline}.checkout-payment{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--box-shadow-card);padding:var(--spacing-md)}.checkout-payment-title{border-bottom:1px solid var(--color-bg-lighter);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.5px;margin:0 0 var(--spacing-sm);padding-bottom:var(--spacing-sm);text-transform:uppercase}.checkout-mount{min-height:320px}.checkout-payment-note{align-items:center;color:var(--color-text-light);display:flex;font-size:var(--font-size-xs);gap:.4rem;justify-content:center;margin:var(--spacing-md) 0 0;text-align:center}.checkout-payment-note svg{color:var(--color-text-lighter);flex-shrink:0;height:14px;width:14px}.checkout-empty{align-items:center;background:var(--color-bg-white);border:1px dashed var(--color-border);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.checkout-empty-icon{align-items:center;background:var(--color-primary-light);border-radius:50%;color:var(--color-primary-dark);display:flex;height:64px;justify-content:center;margin-bottom:var(--spacing-xs);width:64px}.checkout-empty-icon svg{height:32px;width:32px}.checkout-empty-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.checkout-empty-text{color:var(--color-text-light);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;max-width:420px}.checkout-browse{align-items:center;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center;margin-top:var(--spacing-sm);min-height:44px;padding:.625rem 1.5rem;text-decoration:none;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease}.checkout-browse:focus,.checkout-browse:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff;text-decoration:none}.checkout-browse:focus-visible{box-shadow:var(--box-shadow-focus);outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}.checkout-browse:active{transform:translateY(1px)}.checkout-login{align-items:center;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--box-shadow-card);display:flex;flex-direction:column;gap:var(--spacing-xs);margin:var(--spacing-md) auto;max-width:480px;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.checkout-login-icon{align-items:center;background:var(--color-primary-light);border-radius:50%;color:var(--color-primary-dark);display:flex;height:64px;justify-content:center;margin-bottom:var(--spacing-xs);width:64px}.checkout-login-icon svg{height:30px;width:30px}.checkout-login-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.checkout-login-text{color:var(--color-text-light);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.checkout-login-cta{align-items:center;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center;margin-top:var(--spacing-sm);min-height:44px;padding:.625rem 1.5rem;text-decoration:none;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease}.checkout-login-cta:focus,.checkout-login-cta:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff;text-decoration:none}.checkout-login-cta:focus-visible{box-shadow:var(--box-shadow-focus);outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}.checkout-login-cta:active{transform:translateY(1px)}@media (max-width:900px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}}