/* Brevo newsletter — matched to site design */

.brevo-newsletter-section {
    text-align: center;
    background: transparent;
    color: var(--color-text, #2a2a2a);
}

.brevo-newsletter-section:not(.section) {
    padding: 3rem 5%;
}

.brevo-newsletter-wrap {
    max-width: 560px;
    margin: 0 auto;
}

.brevo-newsletter-heading {
    font-family: var(--font-primary, 'Syne', sans-serif);
    font-weight: 700;
    font-size: clamp(1.35rem, 3vw, 1.85rem);
    color: var(--color-dark, #0d0d0d);
    margin: 0 0 1.5rem;
    letter-spacing: 0.02em;
}

.brevo-newsletter-lead {
    font-family: var(--font-primary, 'Syne', sans-serif);
    font-weight: 400;
    font-size: clamp(0.9rem, 1.2vw, 1rem);
    line-height: 1.65;
    color: var(--color-text-light, #666);
    margin: 0 0 1.75rem;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.brevo-sib-form {
    text-align: left;
    background: transparent !important;
}

.brevo-sib-container {
    max-width: 100% !important;
    width: 100%;
    margin: 0 auto;
    padding: 1.75rem 1.5rem !important;
    background: var(--color-white, #fff) !important;
    border: 1px solid var(--color-border, #e0e0e0) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.brevo-sib-form .sib-form-block {
    padding: 0 !important;
    margin: 0 !important;
}

.brevo-field {
    margin-bottom: 1rem;
}

.brevo-field--checkbox {
    margin-bottom: 1.25rem;
}

.brevo-field--submit {
    margin-bottom: 0;
}

.brevo-label {
    display: block;
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--color-text-light, #666) !important;
    margin-bottom: 0.45rem !important;
    text-align: left !important;
}

.brevo-input,
.brevo-sib-container .input {
    width: 100% !important;
    padding: 0.9rem 1.15rem !important;
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    color: var(--color-text, #2a2a2a) !important;
    background: var(--color-white, #fff) !important;
    border: 1px solid var(--color-border, #e0e0e0) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease;
}

.brevo-input::placeholder,
.brevo-sib-container .input::placeholder {
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    color: var(--color-text-light, #888) !important;
    opacity: 1;
}

.brevo-input:focus,
.brevo-sib-container .input:focus {
    outline: none !important;
    border-color: var(--color-dark, #0d0d0d) !important;
}

.brevo-checkbox-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.65rem;
    cursor: pointer;
    position: relative;
}

.brevo-checkbox-text {
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    font-size: 0.82rem !important;
    line-height: 1.55 !important;
    color: var(--color-text, #444) !important;
    text-align: left !important;
    flex: 1;
    min-width: 0;
}

.brevo-checkbox-text p {
    margin: 0;
}

.brevo-sib-form .entry__choice,
.brevo-sib-container .entry__choice {
    padding-left: 0 !important;
    text-indent: 0 !important;
}

.brevo-sib-container .entry__choice label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.65rem;
    position: relative;
}

.brevo-sib-container .entry_mcq .form__label-row {
    text-align: left !important;
    justify-content: flex-start !important;
}

.brevo-sib-container .input_replaced {
    position: absolute !important;
    opacity: 0;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 0 !important;
    left: 0 !important;
    top: 0 !important;
    cursor: pointer;
    z-index: 2;
}

.brevo-sib-container .checkbox.checkbox_tick_positive {
    position: relative !important;
    display: inline-block !important;
    flex-shrink: 0;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 2px 0 0 0 !important;
    left: auto !important;
    top: auto !important;
    overflow: hidden;
    box-sizing: border-box;
    vertical-align: top;
    border: 1px solid var(--color-border, #e0e0e0);
    background: var(--color-white, #fff);
}

/* Brevo tick uses :before with width:50% — must stay inside 18px box, not full form label */
.brevo-sib-container .checkbox.checkbox_tick_positive::before,
.brevo-sib-form .checkbox.checkbox_tick_positive::before {
    content: "" !important;
    position: absolute !important;
    top: 2px !important;
    bottom: auto !important;
    left: 50% !important;
    margin-left: -4px !important;
    width: 5px !important;
    height: 9px !important;
    border-color: var(--color-dark, #0d0d0d) !important;
    border-style: solid !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) scale(0) !important;
    transform-origin: center !important;
    opacity: 0 !important;
}

.brevo-sib-container input:checked + .checkbox.checkbox_tick_positive::before,
.brevo-sib-form input:checked + .checkbox.checkbox_tick_positive::before {
    transform: rotate(45deg) scale(1) !important;
    opacity: 1 !important;
}

.brevo-submit,
.brevo-sib-container .sib-form-block__button {
    width: 100% !important;
    padding: 0.95rem 1.5rem !important;
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: var(--color-white, #fff) !important;
    background: var(--color-dark, #0d0d0d) !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
}

.brevo-submit:hover,
.brevo-sib-container .sib-form-block__button:hover {
    background: var(--color-dark-grey, #1a1a1a) !important;
    transform: translateY(-1px);
}

.brevo-sib-message {
    max-width: 100% !important;
    margin: 0 0 1rem !important;
    border-radius: 0 !important;
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    font-size: 0.9rem !important;
}

.brevo-sib-message--error {
    color: #661d1d !important;
    background-color: #ffeded !important;
    border: 1px solid #ff4949 !important;
}

.brevo-sib-message--success {
    color: #085229 !important;
    background-color: #e7faf0 !important;
    border: 1px solid #13ce66 !important;
}

:where(.sib-form-message-panel) {
    display: none;
}

:where(.sib-form-message-panel.sib-form-message-panel--active) {
    display: block;
}

.brevo-error {
    font-family: var(--font-primary, 'Syne', sans-serif) !important;
    font-size: 0.82rem !important;
    border-radius: 0 !important;
}

.brevo-sib-container a {
    color: var(--color-dark, #0d0d0d);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (min-width: 640px) {
    .brevo-sib-container {
        padding: 2rem 2rem !important;
    }

    .brevo-field-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }
}

@media (max-width: 639px) {
    .brevo-sib-container {
        padding: 1.25rem 1rem !important;
    }
}
