.ct-newsletter-subscribe-form {
    --theme-link-initial-color: var(--text-color, var(--theme-text-color));
    --theme-button-min-height: var(--theme-form-field-height, 40px);
    --theme-button-border-radius: var(--theme-form-field-border-radius, 3px)
}

.ct-newsletter-subscribe-form .ct-newsletter-subscribe-form-elements {
    display: grid;
    gap: var(--theme-form-field-gap, 10px)
}

@media(min-width: 690px) {
    .ct-newsletter-subscribe-form .ct-newsletter-subscribe-form-elements[data-columns="2"] {
        grid-template-columns: 1fr auto
    }
}

@media(min-width: 690px) {
    .ct-newsletter-subscribe-form .ct-newsletter-subscribe-form-elements[data-columns="3"] {
        grid-template-columns: 1fr 1fr auto
    }
}

.ct-newsletter-subscribe-form .ct-newsletter-subscribe-form-elements[data-container=boxed] {
    padding: calc(var(--theme-form-field-gap, 10px)/2);
    border-radius: calc(var(--theme-form-field-border-radius, 3px) + 2px);
    border: var(--theme-form-field-border-width, 1px) solid var(--theme-form-field-border-initial-color);
    background-color: var(--theme-form-field-background-initial-color);
    transition: border .12s cubic-bezier(0.455, 0.03, 0.515, 0.955), background-color .12s cubic-bezier(0.455, 0.03, 0.515, 0.955)
}

.ct-newsletter-subscribe-form .ct-newsletter-subscribe-form-elements[data-container=boxed] input {
    border: none;
    background: rgba(0, 0, 0, 0)
}

.ct-newsletter-subscribe-form .ct-newsletter-subscribe-form-elements[data-container=boxed]:has(input:focus) {
    border-color: var(--theme-form-field-border-focus-color);
    background-color: var(--theme-form-field-background-focus-color)
}

.ct-newsletter-subscribe-form .gdpr-confirm-policy,
.ct-newsletter-subscribe-form .ct-newsletter-subscribe-message {
    margin: 10px 0 0 0
}

.ct-newsletter-subscribe-form .ct-newsletter-subscribe-message {
    display: none
}

.ct-newsletter-subscribe-form.subscribe-error .ct-newsletter-subscribe-message,
.ct-newsletter-subscribe-form.subscribe-success .ct-newsletter-subscribe-message {
    display: block
}

.ct-newsletter-subscribe-form.subscribe-error .ct-newsletter-subscribe-message {
    color: #e42b2b;
    font-size: 14px
}

.ct-newsletter-subscribe-form.subscribe-success *:not(.ct-newsletter-subscribe-message) {
    display: none
}

.ct-newsletter-subscribe-container {
    margin-top: 60px;
    padding: var(--padding, 30px);
    color: var(--text-color, var(--theme-text-color));
    border-radius: var(--theme-border-radius, 0px);
    border: var(--newsletter-container-border, none);
    box-shadow: var(--theme-box-shadow, 0px 12px 18px -6px rgba(34, 56, 101, 0.04))
}

.ct-newsletter-subscribe-container h3 {
    font-size: 20px
}

.ct-newsletter-subscribe-container>* {
    text-align: center;
    margin-inline: auto
}

@media(min-width: 690px) {
    .ct-newsletter-subscribe-container>* {
        width: 80%
    }
}

.ct-newsletter-subscribe-container>*:first-child {
    margin-top: 20px
}

.ct-newsletter-subscribe-container>*:last-child {
    margin-bottom: 20px
}