
.fit-newsletter-consent{
    margin:10px 0 0;
    display:flex;
    align-items:flex-start;
    gap:8px;
    color:#777;
    font-size:10px;
    line-height:1.45;
}

.fit-newsletter-consent input{
    margin:2px 0 0;
    width:13px;
    height:13px;
    flex:0 0 auto;
    accent-color:#111;
}

.fit-newsletter-consent a{
    color:#555;
    text-decoration:underline;
}

.fit-newsletter-status{
    min-height:18px;
    margin-top:8px;
    font-size:11px;
    line-height:1.4;
}

.fit-newsletter-status.is-success{
    color:#5e8052;
}

.fit-newsletter-status.is-error{
    color:#bb2929;
}

.fit-newsletter.is-loading{
    opacity:.7;
}

.fit-newsletter button:disabled{
    cursor:wait;
}

.fit-newsletter-global-notice{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:20000;
    max-width:min(520px,calc(100vw - 28px));
    padding:13px 18px;
    border-radius:10px;
    background:#111;
    color:#fff;
    font-size:13px;
    line-height:1.4;
    box-shadow:0 14px 36px rgba(0,0,0,.18);
    opacity:0;
    transform:translate(-50%,14px);
    transition:opacity .22s ease,transform .22s ease;
}

.fit-newsletter-global-notice.is-visible{
    opacity:1;
    transform:translate(-50%,0);
}

.fit-newsletter-global-notice.is-success{
    background:#5e8052;
}

.fit-newsletter-global-notice.is-error{
    background:#a92f2f;
}

.fit-newsletter-global-notice.is-neutral{
    background:#333;
}

@media(max-width:767px){
    .fit-newsletter-consent{
        font-size:9px;
    }

    .fit-newsletter-status{
        font-size:10px;
    }
}


/* Newsletter anti-spam fields */
.fit-newsletter-honeypot{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
}

.fit-newsletter-turnstile{
    margin-top:12px;
    max-width:100%;
    overflow:hidden;
}

@media(max-width:767px){
    .fit-newsletter-turnstile{
        transform-origin:left top;
    }
}


/* v1.2 footer newsletter UI */
.fit-newsletter .fit-newsletter-form button,
.fit-newsletter .fit-newsletter-form [type="submit"]{
    background:#111 !important;
    border-color:#111 !important;
    color:#fff !important;
}

.fit-newsletter .fit-newsletter-form button svg,
.fit-newsletter .fit-newsletter-form [type="submit"] svg{
    color:#fff !important;
    stroke:#fff !important;
}

.fit-newsletter .fit-newsletter-consent,
.fit-newsletter .fit-newsletter-consent label,
.fit-newsletter [data-newsletter-consent] + span{
    font-size:14px !important;
    line-height:1.5 !important;
}

.fit-newsletter .fit-newsletter-consent a{
    font-size:inherit !important;
}

.fit-newsletter-status{
    font-size:14px !important;
    line-height:1.45 !important;
    margin-top:8px;
}

@media(max-width:767px){
    .fit-newsletter .fit-newsletter-consent,
    .fit-newsletter .fit-newsletter-consent label,
    .fit-newsletter [data-newsletter-consent] + span,
    .fit-newsletter-status{
        font-size:14px !important;
    }
}


/* =========================================================
   v1.3 — actual footer selectors
   ========================================================= */

/* The form itself IS .fit-newsletter; there is no .fit-newsletter-form child. */
.fit-newsletter button[type="submit"]{
    background:#111 !important;
    border-color:#111 !important;
    color:#fff !important;
}

.fit-newsletter button[type="submit"]:hover{
    background:#000 !important;
}

.fit-newsletter button[type="submit"]{
    font-size:27px !important;
    line-height:1 !important;
}

/* Consent lives next to the form, not inside it. */
.fit-newsletter-consent{
    margin-top:14px !important;
    font-size:14px !important;
    line-height:1.5 !important;
    color:#555 !important;
}

.fit-newsletter-consent span,
.fit-newsletter-consent a{
    font-size:14px !important;
    line-height:1.5 !important;
}

.fit-newsletter-consent input{
    width:16px !important;
    height:16px !important;
    margin-top:2px !important;
}

.fit-newsletter-status{
    font-size:14px !important;
    line-height:1.5 !important;
}

@media(max-width:767px){
    .fit-newsletter-consent,
    .fit-newsletter-consent span,
    .fit-newsletter-consent a,
    .fit-newsletter-status{
        font-size:13px !important;
    }
}
