.cai-form label {
    display: block;
    margin: 14px 0 6px;
    font-size: 14px;
    font-weight: 700;
    text-align: left;
}

.cai-form input,
.cai-form textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid var(--cai-border);
    border-radius: var(--cai-radius-sm);
    background: var(--cai-white);
    color: var(--cai-text);
    font: inherit;
}

.cai-form input:focus,
.cai-form textarea:focus {
    outline: 2px solid var(--cai-green);
    outline-offset: 1px;
}

.cai-form .button {
    width: 100%;
    margin-top: 20px;
    border: 0;
    cursor: pointer;
}

.auth-back {
    display: inline-block;
    margin-top: 16px;
    color: var(--cai-green-dark);
    font-weight: 700;
}

.contact-wrap {
    max-width: 780px;
}

.contact-form {
    padding: 28px;
    border: 1px solid var(--cai-border);
    border-radius: var(--cai-radius);
    background: var(--cai-surface);
    box-shadow: var(--cai-shadow);
}

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

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

.unsubscribe-card {
    max-width: 640px;
    padding: 40px 24px;
    text-align: center;
}

.unsubscribe-card h1 {
    margin-bottom: 14px;
    font-size: clamp(26px, 4vw, 36px);
}

.unsubscribe-card p {
    margin-bottom: 16px;
}

.unsubscribe-card .button {
    border: 0;
    cursor: pointer;
}

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

    .contact-form {
        padding: 18px;
    }
}
