.newsletter-page,
.newsletter-status-page {
    width: calc(100% - 48px);
    max-width: 1304px;
    min-height: 290px;
    margin: 0 auto;
    padding: 14px 0 55px;
    box-sizing: border-box;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
}

.newsletter-page h1,
.newsletter-status-page h1 {
    margin: 0 0 17px;
    color: #002d5b;
    font: 400 30px/1.25 Georgia, "Times New Roman", serif;
}

.newsletter-layout {
    display: grid;
    grid-template-columns: 278px 500px;
    gap: 129px;
    align-items: start;
}

.newsletter-layout > img {
    display: block;
    width: 278px;
    height: 178px;
    object-fit: cover;
}

.newsletter-form label,
.unsubscribe-form label {
    display: block;
    margin: 1px 0 3px;
    font-size: 13px;
}

.newsletter-form input,
.unsubscribe-form input {
    width: 100%;
    height: 34px;
    margin-bottom: 9px;
    padding: 5px 8px;
    border: 0;
    background: #f1f1f1;
    box-sizing: border-box;
    font: inherit;
}

.newsletter-form input:focus,
.unsubscribe-form input:focus {
    outline: 2px solid #214778;
}

.newsletter-form button,
.unsubscribe-form button {
    padding: 9px 10px;
    border: 0;
    border-radius: 2px;
    background: #3b3b3b;
    color: #fff;
    font: 400 14px Arial, Helvetica, sans-serif;
    cursor: pointer;
}

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

.newsletter-error {
    margin: 0 0 8px;
    color: #aa1f2e;
    font-weight: 700;
}

.newsletter-status-page p {
    margin: 0 0 14px;
    line-height: 1.45;
}

.newsletter-status-page > a {
    color: #153767;
}

.unsubscribe-page {
    max-width: 700px;
}

.unsubscribe-form {
    max-width: 500px;
    margin-top: 18px;
}

.unsubscribe-result {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-left: 4px solid #a51f2e;
    background: #fff2f3;
}

.unsubscribe-result.is-success {
    border-left-color: #3ca849;
    background: #eef9f0;
}

.unsubscribe-result p:last-child {
    margin-bottom: 0;
}

@media (max-width: 950px) {
    .newsletter-layout {
        grid-template-columns: 278px minmax(0, 1fr);
        gap: 45px;
    }
}

@media (max-width: 650px) {
    .newsletter-page,
    .newsletter-status-page {
        width: calc(100% - 30px);
        padding-top: 12px;
    }

    .newsletter-page h1,
    .newsletter-status-page h1 {
        font-size: 27px;
    }

    .newsletter-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .newsletter-form {
        width: 100%;
    }
}

