.order-progress{display:flex;align-items:center;gap:0;margin:0 0 22px;font-size:11px;color:var(--muted)}
.order-progress>span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.order-progress>span::before{content:'';display:block;width:7px;height:7px;border:1px solid #b8aa97;border-radius:50%}
.order-progress>span+span::after{content:'';width:21px;height:1px;background:var(--line);order:-1;margin:0 7px}
.order-progress>.complete{color:var(--olive)}
.order-progress>.complete::before{background:var(--olive);border-color:var(--olive)}
.order-progress>.current{color:var(--terra);font-weight:700}
.order-progress>.current::before{border:2px solid var(--terra);box-shadow:0 0 0 3px #a94c2c15}
.checkout-dialog[open] .field,.checkout-dialog[open] .fulfillment{animation:form-enter .32s ease-out both}
.checkout-dialog[open] .fulfillment{animation-delay:.06s}
.quantity button{transition:transform .15s,background .15s}
.quantity button:active{transform:scale(.9);background:#eee2cd}
.fulfillment label>span{transition:background .22s,border-color .22s,box-shadow .22s;min-height:54px}
.fulfillment input:checked+span{box-shadow:0 2px 8px #a94c2c0a}
.submit-order{transition:background .2s,transform .2s;min-height:50px}
.submit-order:active{transform:scale(.98)}
.handoff-dialog{position:relative;width:min(100% - 28px,440px);border:0;border-radius:24px;background:var(--paper);color:var(--ink);padding:37px 30px 30px;text-align:center;box-shadow:0 20px 70px #281a1140}
.handoff-dialog::backdrop{background:#241a148c;backdrop-filter:blur(3px)}
.handoff-dialog[open]{animation:handoff-enter .35s cubic-bezier(.2,.8,.2,1) both}
.handoff-dialog>.icon-button{position:absolute;right:14px;top:12px;min-height:40px;min-width:40px}
.handoff-animation{position:relative;width:110px;height:110px;margin:4px auto 24px;display:grid;place-items:center;border-radius:50%;background:#eaf0e1;color:var(--olive)}
.handoff-animation>svg{width:65px;height:65px;overflow:visible}
.paper-plane{stroke:currentColor;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:210;stroke-dashoffset:0;animation:plane-draw .85s .2s both,plane-lift .8s .2s both}
.handoff-orbit{position:absolute;inset:-8px;border:1px solid #6a7d4e38;border-radius:50%;animation:orbit-out .7s .1s both}
.handoff-orbit.second{inset:-16px;border-color:#6a7d4e1a;animation-delay:.2s}
.handoff-animation>i{position:absolute;width:6px;height:6px;border-radius:2px;background:var(--terra);left:-20px;top:20px;animation:spark-pop .65s .25s both}
.handoff-animation>i:nth-last-child(2){left:auto;right:-18px;top:14px;background:#c4a362;animation-delay:.35s}
.handoff-animation>i:last-child{left:auto;right:-8px;top:auto;bottom:0;background:var(--olive);width:4px;height:4px;animation-delay:.45s}
.handoff-dialog .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:12px}
.handoff-dialog h2{font:500 34px/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 14px}
.handoff-dialog #handoff-description{font-size:13px;line-height:1.7;color:var(--muted);margin:0 auto 15px;max-width:310px}
.handoff-reset{font-size:11px;color:var(--olive);background:#eff2e9;border-radius:8px;padding:11px 12px;margin:0 0 23px}
.handoff-dialog .button{border-radius:28px;min-height:48px;padding:13px 21px}
@keyframes form-enter{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes handoff-enter{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes plane-draw{from{stroke-dashoffset:210}to{stroke-dashoffset:0}}
@keyframes plane-lift{from{transform:translate(-7px,7px)}to{transform:none}}
@keyframes orbit-out{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
@keyframes spark-pop{from{opacity:0;transform:scale(0) rotate(0)}to{opacity:1;transform:scale(1) rotate(30deg)}}
@media(max-width:380px){.order-progress{font-size:10px}.order-progress>span+span::after{width:12px;margin:0 5px}.handoff-dialog{padding:32px 23px 25px}.handoff-dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.handoff-dialog *,.handoff-dialog[open],.checkout-dialog[open] .field,.checkout-dialog[open] .fulfillment{animation:none!important;transition:none!important}}

.remember-card{padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#faf6ed}
.remember-choice{display:flex;align-items:flex-start;gap:10px;cursor:pointer;min-height:44px;padding:4px 0;font-size:12px;font-weight:600;line-height:1.5}
.remember-choice input{flex-shrink:0;width:19px;height:19px;margin:1px 0 0;accent-color:var(--olive)}
.remember-choice input:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.remember-choice small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}
#memory-status{font-size:11px;line-height:1.5;color:var(--olive);margin:7px 0 0}
#memory-status:empty{display:none}
#forget-details{min-height:44px;background:transparent;border:0;padding:8px 0 0;color:var(--terra);font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
