:root{--clr-danger:#b3261e}.cart-field{display:block}.cart-label{font-weight:600}.cart-input,.cart-label{display:block;font-size:var(--fs-body)}.cart-input{width:100%;min-height:48px;margin-top:6px;padding:12px 16px;border:2px solid var(--color-001);border-radius:18px;background:var(--background);font-family:var(--font-body);color:var(--foreground);resize:vertical}.cart-input::placeholder{color:var(--muted-foreground)}.cart-input:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.cart-input[aria-invalid=true]{border-color:var(--clr-danger)}.cart-hint{color:var(--muted-foreground)}.cart-err,.cart-hint{display:block;margin-top:6px;font-size:var(--fs-small);line-height:1.4}.cart-err{font-weight:600;color:var(--clr-danger)}.cart-opt{--tone:var(--surface-4);align-items:flex-start;flex-direction:column;justify-content:center;gap:2px;padding:10px 18px;min-height:52px;text-align:left}.cart-opt-detail{font-family:var(--font-body);font-weight:400;font-size:var(--fs-small);line-height:1.3;color:var(--muted-foreground)}.cart-step{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:999px;background:var(--surface-4);color:var(--foreground);font-family:var(--font-001);font-size:1.25rem;font-weight:600;line-height:1;cursor:pointer;transition:background-color var(--t-hover) ease}.cart-step:hover{background:color-mix(in oklab,var(--clr-16) 60%,var(--surface-4))}.cart-step:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.cart-step:disabled{opacity:.4;cursor:default}@media (hover:hover){.cart-step:hover:disabled{background:var(--surface-4)}}.cart-qty{display:inline-grid;place-items:center;min-width:2.5ch;font-size:var(--fs-body);font-weight:600;font-variant-numeric:tabular-nums}.cart-remove{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-small);font-weight:600;color:var(--muted-foreground);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}.cart-remove:hover{color:var(--foreground)}.cart-remove:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.cart-code{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 18px;border:2px dashed var(--foreground);border-radius:14px;font-family:var(--font-001);font-size:1.25rem;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}