.tt-contact-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
    gap: 1.5rem;
    align-items: start;
}

.tt-contact-form-panel h2 {
    margin-top: 0;
}

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

.tt-contact-form input,
.tt-contact-form textarea {
    width: 100%;
}

.tt-contact-form .tt-field-invalid {
    border: 2px solid rgba(220, 53, 69, 0.35);
    background: rgba(220, 53, 69, 0.08);
}

.tt-contact-form .tt-field-invalid::placeholder {
    color: #b42318;
    opacity: 1;
}

.tt-contact-form textarea.tt-field-invalid::placeholder {
    white-space: normal;
}

.tt-contact-errors {
    border: 1px solid rgba(220, 53, 69, 0.35);
    background: rgba(220, 53, 69, 0.08);
    border-radius: 0.75rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.tt-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.tt-muted {
    color: var(--muted, #667085);
    font-weight: 400;
}

.tt-theme-light .tt-contact-form .btn-primary,
.tt-theme-light .tt-contact-form button[type="submit"] {
    color: #111827;
}

@media (max-width: 820px) {
    .tt-contact-shell {
        grid-template-columns: 1fr;
    }
}
