> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CheckoutAppearance

> Swift Structure

**Structure**

The visual customization of `CrossmintEmbeddedCheckout`.

```swift theme={null}
struct CheckoutAppearance
```

Set `variables` for the global look. Set `rules` for per-element overrides. A rule has priority over a variable for the element it targets.

```swift theme={null}
let appearance = CheckoutAppearance(
    variables: CheckoutAppearanceVariables(
        colors: CheckoutVariablesColorStyle(accent: "#0066FF")
    ),
    rules: CheckoutAppearanceRules(
        primaryButton: CheckoutPrimaryButtonRule(borderRadius: "12px")
    )
)
```

## Initializers

### init(from:)

Inherited from `Decodable.init(from:)`.

```swift theme={null}
init(from decoder: any Decoder) throws
```

### init(variables:rules:)

Creates an appearance.

```swift theme={null}
init(variables: CheckoutAppearanceVariables? = nil, rules: CheckoutAppearanceRules? = nil)
```

## Instance Properties

| Property    | Type                           | Description                      |
| ----------- | ------------------------------ | -------------------------------- |
| `rules`     | `CheckoutAppearanceRules?`     | The per-element style overrides. |
| `variables` | `CheckoutAppearanceVariables?` | The global style variables.      |
