/** Shared footer subscription form; opt in through the widget's CSS class. */
.elementor-element.tooto-footer-newsletter {
    width: 383px;
    max-width: 100%;
    min-width: 0;
}

.tooto-footer-newsletter .fluentform .ff-t-container {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
    align-items: start;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 8px;
    background: rgb(255 255 255 / 10%);
    transition: border-color 200ms ease;
    /* Always reserve two error lines so validation never moves nearby content. */
    margin-bottom: 48px;
}

.tooto-footer-newsletter .fluentform .ff-t-cell {
    min-width: 0;
    padding: 0;
    margin: 0;
}

.tooto-footer-newsletter .fluentform .ff-el-group {
    margin: 0;
}

.elementor-element.tooto-footer-newsletter .fluentform input[type="email"] {
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding: 14px var(--tooto-newsletter-input-padding, 16px);
    border: 0;
    border-radius: 8px 0 0 8px;
    background: transparent;
    box-shadow: none;
    color: #fff;
    font: 500 var(--tooto-newsletter-font-size, 14px)/1.4 "REM", sans-serif;
}

.tooto-footer-newsletter .fluentform input[type="email"]::placeholder {
    color: rgb(255 255 255 / 70%);
    opacity: 1;
    text-transform: uppercase;
}

.elementor-element.tooto-footer-newsletter .fluentform .ff-btn-submit {
    display: block;
    width: auto;
    min-height: 48px;
    margin: 0;
    padding: 14px var(--tooto-newsletter-button-padding, 24px);
    border: 0;
    /* Match the inner curve of the 8px container minus its 1px border. */
    border-radius: 8px 7px 7px 8px;
    background: #e71f22;
    color: #fff;
    font: 500 var(--tooto-newsletter-font-size, 14px)/1.4 "REM", sans-serif;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: none;
}

.tooto-footer-newsletter .fluentform .ff-t-container:focus-within {
    border-color: #e71f22;
}

@media (prefers-reduced-motion: reduce) {
    .tooto-footer-newsletter .fluentform .ff-t-container {
        transition: none;
    }
}

.elementor-element.tooto-footer-newsletter .fluentform input[type="email"],
.elementor-element.tooto-footer-newsletter .fluentform .ff-btn-submit {
    /* Keep outline disabled in both states; theme transition: all otherwise
     * interpolates its restored outline when focus leaves the control. */
    outline: none;
    box-shadow: none;
    transition-property: color, background-color, filter;
}

.tooto-footer-newsletter .fluentform .ff-t-container .error {
    position: absolute;
    inset-block-start: calc(100% + 8px);
    inset-inline: 16px;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

@media (hover: hover) and (pointer: fine) {
    .elementor-element.tooto-footer-newsletter .fluentform .ff-btn-submit:hover {
        /* Elementor owns the button color through its native style control. */
        filter: brightness(.86);
    }
}

/* Figma 1473:5312: 750px artwork represents a 375px mobile viewport.
 * Flatten layout wrappers only; widgets, native form and menus stay editable. */
@media (max-width: 767px) {
    .elementor-element.tooto-footer {
        padding: 60px 20px 40px;
        border-color: transparent;
        background: #000;
    }

    .tooto-footer > .e-con-inner {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        padding: 0;
        gap: 0;
        align-items: center;
        flex-direction: column;
    }

    .tooto-footer :is(.tooto-footer-brand-row, .tooto-footer-main-row, .tooto-footer-form-column, .tooto-footer-menu-column, .tooto-footer-bottom-row) {
        display: contents;
    }

    .tooto-footer .tooto-footer-logo {
        order: 0;
        text-align: center;
    }

    .tooto-footer .tooto-footer-newsletter {
        order: 1;
        width: 100%;
        --tooto-newsletter-font-size: 16px;
        --tooto-newsletter-input-padding: 12px;
        --tooto-newsletter-button-padding: 20px;
    }

    .tooto-footer .fluentform-widget-title {
        text-align: center;
    }

    .tooto-footer .tooto-footer-newsletter .ff-t-container {
        margin-bottom: 0;
    }

    /* Error rows stay in flow on narrow screens, without colliding with socials. */
    /*.tooto-footer .tooto-footer-newsletter .ff-t-container .error { position: static; margin: 8px 12px; }*/
    .tooto-footer .tooto-footer-socials {
        order: 2;
        --icon-size: 24px;
        --icon-padding: 8px;
        --grid-column-gap: 10px;
    }

    .tooto-footer .tooto-footer-socials .elementor-social-icon {
        width: 40px;
        height: 40px;
        border-radius: 4px;
    }

    .tooto-footer .tooto-footer-menu {
        order: 3;
    }

    .tooto-footer .tooto-footer-menu .elementor-nav-menu {
        margin-inline: auto;
    }

    .tooto-footer .tooto-footer-menu .elementor-item {
        justify-content: center;
    }

    .tooto-footer .tooto-footer-menu li:first-child .elementor-item {
        padding-top: 0;
    }

    .tooto-footer .tooto-footer-menu li:last-child .elementor-item {
        padding-bottom: 0;
    }

    .tooto-footer .tooto-footer-policies {
        order: 4;
        width: 100%;
    }

    .tooto-footer .tooto-footer-policies .elementor-nav-menu {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 16px;
        margin: 0;
        flex:1;
    }
    .tooto-footer .tooto-footer-policies .elementor-nav-menu::after{
        display: none;
    }

    .tooto-footer .tooto-footer-copyright {
        order: 5;
        width: 100%;
        margin: 0;
        text-align: center;
        font-size: 12px;
        line-height: 1.4;
    }

    .tooto-footer .tooto-footer-copyright p {
        margin: 0;
    }
}
