.checkout-intro,.checkout,.order-complete{max-width:1280px;margin-inline:auto;padding-inline:1.5rem}.checkout-intro{text-align:center;padding-block:3rem 1rem}.checkout-intro__note{margin-top:1rem;font-size:.9375rem}.checkout{grid-template-columns:1fr;gap:2.5rem;padding-block:1.5rem 4rem;display:grid}@media (width>=900px){.checkout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:3rem}.summary{position:sticky;top:1.5rem}}.checkout__heading{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-top:2.5rem;font-size:.8125rem;font-weight:500}.checkout__main>.checkout__heading:first-child{margin-top:0}.checkout__empty,.checkout__note{margin-top:.75rem;line-height:1.6}.cart-lines{border-top:1px solid var(--line);margin-top:1rem}.cart-line{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:.5rem 1rem;padding:1rem 0;display:grid}.cart-line__title{font-weight:500}.cart-line__detail{color:var(--ink-soft);grid-column:1;font-size:.875rem;line-height:1.5}.cart-line__price{text-align:right;white-space:nowrap}.cart-line__controls{grid-column:1/-1;align-items:center;gap:1rem;font-size:.875rem;display:flex}.cart-line__qty{border:1px solid var(--line);width:4.5rem;color:inherit;font:inherit;background:0 0;padding:.35rem .5rem}.cart-line__remove{color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cart-line__remove:hover{color:var(--ink)}.checkout-form{flex-direction:column;gap:1.25rem;display:flex}.field{flex-direction:column;gap:.4rem;display:flex}.field-row{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=640px){.field-row{grid-template-columns:1fr 1fr}}.field__label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:.75rem}.field__input{border:1px solid var(--line);color:var(--ink);font:inherit;background:0 0;border-radius:0;padding:.75rem .9rem}.field__input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.field__input[aria-invalid=true]{border-color:#8a2f2f;box-shadow:0 0 0 2px #8a2f2f40}.field__error{color:#8a2f2f;font-size:.8125rem}.field__hint{color:var(--ink-soft);font-size:.8125rem}.field__hint[hidden]{display:none}.delivery{border:none;flex-direction:column;gap:.75rem;margin:0;padding:0;display:flex}.delivery__option{border:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;padding:.9rem 1rem;display:grid}.delivery__option:has(input:checked){border-color:var(--ink)}.delivery__label{font-weight:500}.delivery__meta{color:var(--ink-soft);font-size:.8125rem}.delivery__price{white-space:nowrap}.consent{margin-top:.5rem}.consent__label{cursor:pointer;align-items:flex-start;gap:.75rem;font-size:.9375rem;line-height:1.5;display:flex}.consent__label input{margin-top:.3em}.consent__label input[aria-invalid=true]{outline-offset:2px;outline:2px solid #8a2f2f}.consent:has(input[aria-invalid=true]){border-left:3px solid #8a2f2f;padding-left:.75rem}.consent__label a{text-decoration:underline}.form-error,.form-status{border:1px solid var(--line);padding:.75rem 1rem;font-size:.9375rem;line-height:1.5}.form-status.is-loading{align-items:center;gap:.75rem;animation:1.4s ease-in-out infinite status-pulse;display:flex}.form-status.is-loading:before{content:"";background:currentColor;border-radius:50%;flex:none;width:.625rem;height:.625rem;animation:1.4s ease-in-out infinite status-dot}@keyframes status-pulse{50%{border-color:currentColor}}@keyframes status-dot{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.form-error{color:#8a2f2f;border-color:#8a2f2f}.summary{border:1px solid var(--line);padding:1.5rem}.summary>.checkout__heading{margin-top:0}.summary__list{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.summary__row{justify-content:space-between;gap:1rem;display:flex}.summary__row--total{border-top:1px solid var(--line);padding-top:.6rem;font-weight:500}.summary__note,.summary__contact{color:var(--ink-soft);margin-top:1rem;font-size:.8125rem;line-height:1.5}.summary .form-error{margin-top:1rem}.summary__pay{width:100%;margin-top:1.25rem}.summary__pay:disabled{opacity:.45;cursor:not-allowed}.order-complete{text-align:center;max-width:40rem;padding-block:4rem}.order-complete__title{margin-top:1rem;font-size:clamp(1.9rem,3.6vw,2.75rem)}.order-complete__message{margin-top:1rem;line-height:1.6}.order-complete__facts{text-align:left;max-width:26rem;margin:2rem auto 0}.order-complete__contact{color:var(--ink-soft);margin-top:2rem;font-size:.875rem}.order-complete__home{margin-top:1.5rem}
