.input-luxe {
    width: 100%;
    padding: 0.75rem 1rem;
    background: white;
    border: 1px solid var(--border);
    border-radius: 2px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--burgundy-dark);
    transition: border-color 200ms, box-shadow 200ms;
}

.input-luxe:focus {
    outline: none;
    border-color: var(--olive);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--olive) 18%, transparent);
}

/* Primary action buttons — white label text */
.btn-primary-luxe,
button.btn-primary-luxe,
.btn-gold-luxe,
a.btn-gold-luxe {
    color: #fff;
}

.btn-primary-luxe:hover,
.btn-primary-luxe:focus-visible,
.btn-gold-luxe:hover,
.btn-gold-luxe:focus-visible,
button.btn-primary-luxe:hover,
button.btn-primary-luxe:focus-visible {
    color: #fff;
}

.form-alert {
    padding: 0.85rem 1rem;
    border-radius: 0.35rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.form-alert p {
    margin: 0;
}

.form-alert p + p {
    margin-top: 0.35rem;
}

.form-alert--success {
    color: #1f4d2e;
    background: #e8f5ec;
    border: 1px solid #b8dfc4;
}

.form-alert--error {
    color: #6b1a2a;
    background: #fceef1;
    border: 1px solid #e8b4c0;
}
