.aw-contact-card--booking {
    display: grid;
    gap: 1rem;
}

.aw-contact-form {
    display: grid;
    gap: 1rem;
}

.aw-contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.aw-contact-field {
    display: grid;
    gap: .45rem;
}

.aw-contact-field label {
    font-weight: 600;
    color: var(--aw-text);
}

.aw-contact-field input,
.aw-contact-field textarea,
.aw-contact-field select {
    width: 100%;
    border: 1px solid var(--aw-border);
    border-radius: 14px;
    padding: .85rem 1rem;
    background: var(--aw-surface);
    color: var(--aw-text);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.aw-contact-field input:focus,
.aw-contact-field textarea:focus,
.aw-contact-field select:focus {
    outline: none;
    border-color: var(--aw-accent);
    box-shadow: 0 0 0 3px rgba(154, 115, 86, .12);
}

.aw-contact-field--full {
    grid-column: 1 / -1;
}

.aw-contact-field__hint {
    color: var(--aw-muted);
    font-size: .92rem;
}

.aw-contact-feedback,
.aw-contact-success {
    border-radius: 16px;
    padding: .95rem 1rem;
}

.aw-contact-feedback {
    background: rgba(154, 115, 86, .08);
    color: var(--aw-text);
}

.aw-contact-feedback.is-error {
    background: rgba(159, 42, 42, .08);
    color: #8e2323;
}

.aw-contact-success {
    background: rgba(47, 124, 79, .08);
    border: 1px solid rgba(47, 124, 79, .15);
}

.aw-contact-success__title {
    margin: 0 0 .35rem;
    font-size: 1.05rem;
}

.aw-contact-success__message,
.aw-contact-form__intro {
    margin: 0;
}

.aw-contact-submit {
    justify-self: start;
    min-width: 220px;
}

@media (max-width: 767.98px) {
    .aw-contact-form__grid {
        grid-template-columns: 1fr;
    }
}
