.kcr-wrap {
    max-width: 680px;
    font-size: 14px;
}

.kcr-wrap,
.kcr-wrap p,
.kcr-wrap li,
.kcr-wrap label,
.kcr-wrap legend,
.kcr-wrap input,
.kcr-wrap select,
.kcr-wrap button,
.kcr-wrap h2,
.kcr-wrap h3,
.kcr-wrap h4 {
    font-size: 14px;
}

.kcr-method {
    display: block;
    margin-bottom: 0.5em;
}

/* Keep checkboxes/radios inline with their label text (themes often force
   form inputs to display:block; width:100%). */
.kcr-wrap input[type="checkbox"],
.kcr-wrap input[type="radio"] {
    display: inline-block;
    width: auto;
    margin: 0 0.5em 0 0;
    vertical-align: middle;
}

.kcr-wrap .kcr-method,
.kcr-wrap .kcr-field-inline label,
.kcr-wrap .kcr-item-label {
    display: flex;
    align-items: center;
}

/* Buttons */
.kcr-wrap .button,
.kcr-wrap button {
    background: #f2eae4;
    color: #000;
    border: none;
    border-radius: 0;
}

.kcr-wrap .button:hover,
.kcr-wrap button:hover {
    background: #e8ddd3;
    color: #000;
}

.kcr-title {
    margin-bottom: 0.25em;
}

.kcr-order-meta,
.kcr-intro {
    color: #555;
    margin-bottom: 1.5em;
}

.kcr-error {
    background: #fdecea;
    border: 1px solid #f5c2c0;
    color: #8a1f1a;
    padding: 0.75em 1em;
    border-radius: 4px;
    margin-bottom: 1em;
}

.kcr-step-error {
    color: #8a1f1a;
    font-size: 0.9em;
    margin: 0.5em 0;
}

/* Step indicator */
.kcr-steps-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    list-style: none;
    margin: 0 0 1.5em;
    padding: 0;
    counter-reset: kcr-step;
}

.kcr-steps-nav li {
    counter-increment: kcr-step;
    flex: 1 1 auto;
    font-size: 0.85em;
    color: #999;
    border-bottom: 3px solid #e0e0e0;
    padding-bottom: 0.4em;
    white-space: nowrap;
}

.kcr-steps-nav li::before {
    content: counter(kcr-step) ". ";
}

.kcr-steps-nav li.is-active {
    color: #111;
    border-bottom-color: #111;
}

/* Steps */
.kcr-step {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 1.25em;
    margin: 0;
}

.kcr-step legend {
    font-weight: 600;
    padding: 0 0.4em;
}

.kcr-step-hint {
    color: #666;
    font-size: 0.9em;
}

/* Items */
.kcr-items {
    list-style: none;
    margin: 1em 0;
    padding: 0;
}

.kcr-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
    padding: 0.6em 0;
    border-bottom: 1px solid #f0f0f0;
}

.kcr-item-label {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.kcr-item-qty {
    display: flex;
    align-items: center;
    gap: 0.5em;
    color: #666;
    font-size: 0.9em;
}

.kcr-qty-input {
    width: 4em;
}

.kcr-field {
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    margin-bottom: 1em;
}

.kcr-field-inline {
    margin-bottom: 0.5em;
}

/* Actions */
.kcr-actions {
    display: flex;
    justify-content: space-between;
    gap: 0.5em;
    margin-top: 1.5em;
}

.kcr-actions .kcr-next,
.kcr-actions .kcr-submit {
    margin-left: auto;
}

.kcr-summary {
    background: #f7f7f7;
    border-radius: 4px;
    padding: 1em;
    margin-bottom: 1em;
}

.kcr-summary-items {
    margin: 0.5em 0;
    padding-left: 1.2em;
}

.kcr-notice {
    font-size: 0.9em;
    color: #444;
}

.kcr-thankyou {
    background: #edf7ed;
    border: 1px solid #c3e6c3;
    border-radius: 6px;
    padding: 1.5em;
}
