.checkout-modal{position:fixed;inset:0;z-index:var(--z-modal, 500);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.checkout-modal__backdrop{position:absolute;inset:0;background:#000000bf;backdrop-filter:blur(4px);animation:checkoutFadeIn .2s ease-out}.checkout-modal__dialog{position:relative;width:100%;max-width:560px;max-height:calc(100vh - var(--space-8));background:var(--color-bg-secondary, #151a1f);border:1px solid var(--color-border, rgba(255, 255, 255, .08));border-radius:var(--border-radius-xl, 16px);box-shadow:var(--shadow-2xl, 0 25px 80px rgba(0, 0, 0, .6));overflow:hidden;display:flex;flex-direction:column;animation:checkoutSlideUp .25s ease-out}@keyframes checkoutFadeIn{0%{opacity:0}to{opacity:1}}@keyframes checkoutSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.checkout-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .08));background:var(--color-bg-tertiary, #1a202c)}.checkout-modal__title{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #e6edf3)}.checkout-modal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--border-radius-md, 8px);color:var(--color-text-muted, #9aa5b1);cursor:pointer;transition:var(--transition-fast, all .15s ease-out)}.checkout-modal__close:hover{background:#ffffff0f;color:var(--color-text-primary, #e6edf3)}.checkout-modal__close:focus-visible{outline:2px solid var(--color-primary-light, #ffa040);outline-offset:2px}.checkout-modal__close svg{width:20px;height:20px}.checkout-modal__content{flex:1;overflow-y:auto;padding:var(--space-5);overscroll-behavior:contain}.checkout-modal__summary-container{display:flex;flex-direction:column;gap:var(--space-5)}.checkout-modal__dialog--compact{max-width:420px}.checkout-modal__actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.checkout-modal__secure-note{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9aa5b1);text-align:center;line-height:1.4}.checkout-modal__secure-note svg{width:14px;height:14px;flex-shrink:0;color:var(--color-success, #22c55e)}.checkout-modal__cancel-link{background:none;border:none;color:var(--color-text-muted, #9aa5b1);font-size:var(--font-size-sm, .875rem);cursor:pointer;padding:var(--space-2);transition:var(--transition-fast, all .15s ease-out)}.checkout-modal__cancel-link:hover{color:var(--color-text-primary, #e6edf3)}.checkout-btn--stripe{height:52px;font-size:var(--font-size-lg, 1.125rem)}.checkout-btn__icon{width:20px;height:20px}.checkout-modal__form-container{display:flex;flex-direction:column;gap:var(--space-6)}.checkout-modal__processing,.checkout-modal__success{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:200px;text-align:center;color:var(--color-text-secondary, #c9d1d9)}.checkout-modal__processing-note{font-size:var(--font-size-sm, .875rem);color:var(--color-text-muted, #9aa5b1)}.checkout-modal__error{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center}.checkout-modal__error-icon{width:64px;height:64px;color:var(--color-error, #ef4444)}.checkout-modal__error-icon svg{width:100%;height:100%}.checkout-modal__error-message{font-size:var(--font-size-base, 1rem);color:var(--color-text-primary, #e6edf3);line-height:var(--line-height-relaxed, 1.625)}.checkout-modal__error-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.checkout-spinner{display:inline-flex;width:48px;height:48px;color:var(--color-primary, #ff8100)}.checkout-spinner svg{width:100%;height:100%;animation:checkoutSpinnerRotate 1s linear infinite}@keyframes checkoutSpinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkout-summary{background:var(--color-bg-tertiary, #1a202c);border:1px solid var(--color-border, rgba(255, 255, 255, .08));border-radius:var(--border-radius-lg, 12px);padding:var(--space-4)}.checkout-summary__product{display:flex;gap:var(--space-4)}.checkout-summary__image{width:80px;height:80px;object-fit:cover;border-radius:var(--border-radius-md, 8px);background:#ffffff0a}.checkout-summary__details{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.checkout-summary__name{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #e6edf3)}.checkout-summary__variant,.checkout-summary__quantity{font-size:var(--font-size-sm, .875rem);color:var(--color-text-muted, #9aa5b1)}.checkout-summary__divider{height:1px;background:var(--color-border, rgba(255, 255, 255, .08));margin:var(--space-4) 0}.checkout-summary__total{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-lg, 1.125rem);color:var(--color-text-primary, #e6edf3)}.checkout-summary__price{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--color-primary-light, #ffa040)}.checkout-summary__shipping{margin:var(--space-2) 0 0;font-size:var(--font-size-sm, .875rem);color:var(--color-success, #22c55e);text-align:right}.checkout-form{display:flex;flex-direction:column;gap:var(--space-4)}.checkout-form__section-title{margin:var(--space-2) 0 0;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-muted, #9aa5b1);text-transform:uppercase;letter-spacing:var(--tracking-wide, .025em)}.checkout-form__section-title:first-child{margin-top:0}.checkout-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.checkout-field{display:flex;flex-direction:column;gap:var(--space-1)}.checkout-field__label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #c9d1d9)}.checkout-field__required{color:var(--color-error, #ef4444);margin-left:2px}.checkout-field__input{width:100%;height:44px;padding:0 var(--space-3);background:#ffffff0a;border:1px solid var(--color-border, rgba(255, 255, 255, .08));border-radius:var(--border-radius-md, 8px);color:var(--color-text-primary, #e6edf3);font-size:var(--font-size-base, 1rem);transition:var(--transition-fast, all .15s ease-out);color-scheme:dark}.checkout-field__input::placeholder{color:var(--color-text-disabled, #6b7280)}.checkout-field__input:hover{border-color:var(--color-border-hover, rgba(255, 255, 255, .12))}.checkout-field__input:focus{outline:none;border-color:var(--color-primary, #ff8100);box-shadow:0 0 0 3px #ff810026}.checkout-field__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa5b1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:var(--space-10);cursor:pointer}.checkout-field__select option{background-color:var(--color-bg-secondary, #151a1f);color:var(--color-text-primary, #e6edf3)}.checkout-field--error .checkout-field__input{border-color:var(--color-error, #ef4444)}.checkout-field--error .checkout-field__input:focus{box-shadow:0 0 0 3px #ef444426}.checkout-field__error{font-size:var(--font-size-xs, .75rem);color:var(--color-error, #ef4444);display:flex;align-items:center;gap:var(--space-1)}.checkout-form__actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.checkout-form__secure-note{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9aa5b1)}.checkout-form__secure-note svg{width:14px;height:14px;color:var(--color-success, #22c55e)}.checkout-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-5);background:#ffffff0f;border:1px solid var(--color-border, rgba(255, 255, 255, .08));border-radius:var(--border-radius-md, 8px);color:var(--color-text-primary, #e6edf3);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:var(--transition-fast, all .15s ease-out)}.checkout-btn:hover{background:#ffffff1a}.checkout-btn:focus-visible{outline:2px solid var(--color-primary-light, #ffa040);outline-offset:2px}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.checkout-btn--primary{background:linear-gradient(135deg,var(--color-primary, #ff8100),var(--color-primary-hover, #ffb14d));border-color:transparent;color:#0b0b0b;font-weight:var(--font-weight-bold, 700);box-shadow:var(--shadow-primary, 0 10px 25px rgba(255, 129, 0, .25))}.checkout-btn--primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.checkout-btn--primary:active{transform:translateY(0)}.checkout-btn--secondary{background:transparent;border-color:var(--color-primary, #ff8100);color:var(--color-primary-light, #ffa040)}.checkout-btn--secondary:hover{background:#ff81001a}.checkout-btn--full{width:100%}.checkout-btn--loading{position:relative;color:transparent}.checkout-btn--loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:checkoutBtnSpin .6s linear infinite}@keyframes checkoutBtnSpin{to{transform:rotate(360deg)}}@media (max-width: 640px){.checkout-modal{padding:0;align-items:flex-end}.checkout-modal__dialog{max-width:100%;max-height:95vh;border-radius:var(--border-radius-xl, 16px) var(--border-radius-xl, 16px) 0 0;animation:checkoutSlideUpMobile .3s ease-out}@keyframes checkoutSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.checkout-form__row{grid-template-columns:1fr}.checkout-modal__error-actions{flex-direction:column;width:100%}.checkout-modal__error-actions .checkout-btn{width:100%}}@media (prefers-reduced-motion: reduce){.checkout-modal__backdrop,.checkout-modal__dialog,.checkout-spinner svg{animation:none}.checkout-btn--primary:hover{transform:none}}
