.contact-grid.shelor-contact-layout {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(32px, 6vw, 86px);
}

.shelor-contact-intro h1, .shelor-contact-intro h2 {
    font-size: clamp(46px, 5.7vw, 76px);
    max-width: 11ch;
}

.shelor-contact-direct {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-top: 26px;
    font-size: .94rem;
}

.shelor-contact-card {
    padding: clamp(20px, 3.2vw, 40px);
    border: 1px solid #d3cbbd;
    background: #fffdfa;
    box-shadow: 0 16px 36px rgb(26 31 40 / 7%);
}

.shelor-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.shelor-contact-full { grid-column: 1 / -1; }
.shelor-contact-trap { display: none; }
.shelor-contact-field label { display: block; margin-bottom: 6px; font-size: .88rem; font-weight: 600; }

.shelor-contact-field :is(input, select, textarea) {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 9px 11px;
    border: 1px solid #918879;
    border-radius: 3px;
    background: white;
    color: var(--navy);
    font: inherit;
    line-height: 1.45;
}

.shelor-contact-field textarea { resize: vertical; }
.shelor-contact-field :focus-visible { outline: 2px solid #835910; outline-offset: 2px; }
.shelor-contact-field [aria-invalid="true"] { border-color: #a32320; }
.shelor-contact-error { color: #a32320; font-size: .875rem; }
.shelor-contact-note { color: #475463; font-size: .84rem; line-height: 1.55; }
.shelor-contact-card .button { margin: 0; border: 0; min-height: 46px; cursor: pointer; }
.shelor-contact-confirmation p { margin-top: 12px; }

@media (max-width: 760px) {
    .contact-grid.shelor-contact-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
    .shelor-contact-form { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
