/* Footer Component — Fluent Forms Newsletter Styling */

/* ---- Layout ---- */

footer {
    background: #161616;
}

.footer-logo {
    max-width: 10rem;
}

.footer-newsletter .fluentform {
    max-width: 800px;
    width: 100%;
}

.footer-newsletter .frm-fluent-form,
.footer-newsletter .frm-fluent-form fieldset {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
    width: 100%;
}

/* Email field — row 1, grows to fill space */
.footer-newsletter .ff-el-group.ff-el-form-hide_label {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
    order: 10;
}

/* Submit button — row 1, overlaps input */
.footer-newsletter .ff_submit_btn_wrapper {
    flex-shrink: 0;
    margin-left: -5.5rem;
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    text-align: left;
    order: 20;
}

/* Invisible line-break between row 1 and row 2 */
.footer-newsletter .frm-fluent-form::after,
.footer-newsletter .frm-fluent-form fieldset::after {
    content: '';
    flex: 0 0 100%;
    height: 0;
    order: 25;
}

/* hCaptcha — row 2, left side.
   Fixed basis matching the hCaptcha widget (302px). The real widget has an
   intrinsic width, but the Borlabs content blocker uses width:100% with no
   intrinsic width, so a shrink-to-fit item (flex: 0 0 auto) collapses it to a
   thin strip. A fixed basis gives both states a proper box. */
.footer-newsletter .ff-el-group:has(.ff-el-hcaptcha) {
    flex: 0 0 302px;
    max-width: 100%;
    margin-top: 1rem;
    margin-bottom: 0;
    order: 30;
}

/* Privacy text — row 2, fills remaining space */
.footer-newsletter .ff-custom_html {
    flex: 1;
    min-width: 0;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.55);
    text-align: left;
    margin-top: 1rem;
    margin-bottom: 0;
    padding-left: 1rem;
    order: 30;
}

.footer-newsletter .ff-custom_html a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline;
}

.footer-newsletter .ff-custom_html p {
    margin: 0;
}

/* ---- Input Field ---- */

.footer-newsletter .ff-el-group.ff-el-form-hide_label .ff-el-input--content {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    padding: 1.125rem 6rem 1.125rem 1.25rem;
    min-height: 4.25rem;
}

.footer-newsletter .ff-el-group.ff-el-form-hide_label .ff-el-input--content::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: #ffffff;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 207 47' preserveAspectRatio='none'%3E%3Cpath d='M7.45533 0.294626C7.45533 0.294626 123.055 0.235047 138.454 0.0558629C153.852 -0.123321 198.854 0.175468 200.453 0.294626C202.052 0.413783 206.853 0.294626 206.853 5.67015C206.853 11.0457 206.053 25.3803 206.453 26.0971C206.852 26.8139 207.453 37.8636 206.453 41.2082C205.809 43.3584 205.829 44.4967 205.923 45.0351C206.006 45.5014 205.321 45.9525 204.084 46.2382C202.511 46.6011 199.728 46.9402 194.853 46.882C184.853 46.7624 138.053 46.7028 136.054 46.8224C134.055 46.942 80.0549 47.1213 67.6543 46.882C55.254 46.6428 31.0547 46.5236 22.0547 46.7028C13.0548 46.882 6.25534 47.0017 5.05538 46.8224C3.85539 46.6432 -0.544073 47.0016 0.0559218 42.9399C0.655916 38.8782 2.8549 18.9297 2.05541 13.9126C1.25591 8.89544 2.6554 6.98401 2.2549 5.96893C1.85441 4.95385 1.05492 0.17502 7.45533 0.294626Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 207 47' preserveAspectRatio='none'%3E%3Cpath d='M7.45533 0.294626C7.45533 0.294626 123.055 0.235047 138.454 0.0558629C153.852 -0.123321 198.854 0.175468 200.453 0.294626C202.052 0.413783 206.853 0.294626 206.853 5.67015C206.853 11.0457 206.053 25.3803 206.453 26.0971C206.852 26.8139 207.453 37.8636 206.453 41.2082C205.809 43.3584 205.829 44.4967 205.923 45.0351C206.006 45.5014 205.321 45.9525 204.084 46.2382C202.511 46.6011 199.728 46.9402 194.853 46.882C184.853 46.7624 138.053 46.7028 136.054 46.8224C134.055 46.942 80.0549 47.1213 67.6543 46.882C55.254 46.6428 31.0547 46.5236 22.0547 46.7028C13.0548 46.882 6.25534 47.0017 5.05538 46.8224C3.85539 46.6432 -0.544073 47.0016 0.0559218 42.9399C0.655916 38.8782 2.8549 18.9297 2.05541 13.9126C1.25591 8.89544 2.6554 6.98401 2.2549 5.96893C1.85441 4.95385 1.05492 0.17502 7.45533 0.294626Z'/%3E%3C/svg%3E");
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
}

.footer-newsletter .ff-el-form-control {
    flex: 1;
    min-width: 0;
    padding: 0;
    height: auto;
    font-size: 1rem;
    color: #333333;
    font-family: var(--font-text);
}

.footer-newsletter .ff-el-form-control::placeholder {
    color: #999999;
}

.footer-newsletter {
    max-width: var(--inner-width);
    width: calc(100% - 4rem);
    border-radius: 0.5rem;
}

/* ---- Responsive (mobile) ---- */

@media (max-width: 600px) {
    .footer-newsletter {
        width: 100%;
        border-radius: 0;
    }

    .footer-newsletter .frm-fluent-form,
    .footer-newsletter .frm-fluent-form fieldset {
        gap: 0.75rem;
    }

    .footer-newsletter .ff-el-group.ff-el-form-hide_label {
        flex: 0 0 100%;
    }

    .footer-newsletter .ff-el-group.ff-el-form-hide_label .ff-el-input--content {
        padding-right: 1.25rem;
    }

    .footer-newsletter .ff_submit_btn_wrapper {
        margin-left: 0;
        flex: 0 0 100%;
        display: flex;
        justify-content: center;
    }

    .footer-newsletter .ff-btn-submit {
        width: 100%;
    }

    /* hCaptcha / Borlabs blocker full width so the privacy text drops below it */
    .footer-newsletter .ff-el-group:has(.ff-el-hcaptcha) {
        flex: 0 0 100%;
    }
}
