/* FXTalim footer. All selectors and variables are limited to this component. */
.fxtalim-footer {
    --fxtalim-footer-background: #061c36;
    --fxtalim-footer-text: #c2cddb;
    --fxtalim-footer-muted: #a7b6c8;
    --fxtalim-footer-heading: #fff;
    --fxtalim-footer-accent: #61ca9e;
    --fxtalim-footer-border: #203750;
    --fxtalim-footer-max-width: 1320px;

    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    background: var(--fxtalim-footer-background);
    color: var(--fxtalim-footer-text);
    font: 400 14px / 1.6 Arial, Helvetica, sans-serif;
    text-align: left;
    container: fxtalim-footer / inline-size;
}

.fxtalim-footer__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--fxtalim-footer-max-width);
    margin: 0 auto;
    padding: 36px 20px 16px;
}

.fxtalim-footer__main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 20px;
    min-width: 0;
}

.fxtalim-footer__brand-column {
    grid-column: 1 / -1;
    min-width: 0;
    padding-bottom: 4px;
}

.fxtalim-footer__logo {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--fxtalim-footer-heading);
    text-decoration: none;
    box-shadow: none;
    vertical-align: top;
}

.fxtalim-footer__logo-image {
    display: block;
    box-sizing: border-box;
    width: 168px;
    max-width: 100%;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: contain;
    object-position: left center;
}

.fxtalim-footer__description {
    max-width: 35ch;
    margin: 14px 0 0;
    padding: 0;
    color: var(--fxtalim-footer-text);
    font: 400 14px / 1.65 Arial, Helvetica, sans-serif;
}

.fxtalim-footer__tagline {
    margin: 17px 0 0;
    padding: 0;
    color: var(--fxtalim-footer-accent);
    font: 600 13px / 1.5 Arial, Helvetica, sans-serif;
    letter-spacing: 0.015em;
}

.fxtalim-footer__column {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.fxtalim-footer__heading {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: var(--fxtalim-footer-heading);
    font: 700 16px / 1.4 Arial, Helvetica, sans-serif;
    letter-spacing: normal;
    text-transform: none;
}

/* The nested selectors also support menus generated by WordPress. */
.fxtalim-footer__list,
.fxtalim-footer__list ul,
.fxtalim-footer__legal-list,
.fxtalim-footer__legal-list ul {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fxtalim-footer__list li,
.fxtalim-footer__legal-list li {
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fxtalim-footer__list a,
.fxtalim-footer__legal-list a {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    margin: 0;
    padding: 6px 0;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: var(--fxtalim-footer-text);
    font: 400 14px / 1.5 Arial, Helvetica, sans-serif;
    text-decoration: none;
    text-transform: none;
    box-shadow: none;
    overflow-wrap: anywhere;
    transition: color 160ms ease;
}

.fxtalim-footer__list ul {
    padding-left: 14px;
}

.fxtalim-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--fxtalim-footer-border);
}

.fxtalim-footer__copyright {
    margin: 0;
    padding: 0;
    color: var(--fxtalim-footer-muted);
    font: 400 12px / 1.6 Arial, Helvetica, sans-serif;
}

.fxtalim-footer__legal {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.fxtalim-footer__legal-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

.fxtalim-footer__legal-list a {
    color: var(--fxtalim-footer-muted);
    font-size: 12px;
}

.fxtalim-footer__logo:focus-visible,
.fxtalim-footer__list a:focus-visible,
.fxtalim-footer__legal-list a:focus-visible {
    outline: 2px solid var(--fxtalim-footer-accent);
    outline-offset: 4px;
}

.fxtalim-footer__list a:active,
.fxtalim-footer__legal-list a:active {
    color: var(--fxtalim-footer-heading);
}

@media (hover: hover) {
    .fxtalim-footer__list a:hover,
    .fxtalim-footer__legal-list a:hover {
        color: var(--fxtalim-footer-accent);
        text-decoration: underline;
        text-underline-offset: 4px;
        text-decoration-thickness: 1px;
    }
}

/* Breakpoints use component width, including inside narrow theme containers. */
@container fxtalim-footer (max-width: 359px) {
    .fxtalim-footer__inner {
        padding-inline: 18px;
    }

    .fxtalim-footer__main {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container fxtalim-footer (min-width: 700px) {
    .fxtalim-footer__inner {
        padding: 44px 28px 18px;
    }

    .fxtalim-footer__main {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 32px 24px;
    }

    .fxtalim-footer__description {
        max-width: 50ch;
    }

    .fxtalim-footer__bottom {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px 28px;
        margin-top: 34px;
        padding-top: 15px;
    }
}

@container fxtalim-footer (min-width: 1120px) {
    .fxtalim-footer__inner {
        padding: 52px 24px 18px;
    }

    .fxtalim-footer__main {
        grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
        gap: 34px;
    }

    .fxtalim-footer__brand-column {
        grid-column: auto;
        padding-right: 20px;
        padding-bottom: 0;
    }

    .fxtalim-footer__description {
        max-width: 31ch;
    }

    .fxtalim-footer__heading {
        margin-top: 8px;
    }

    .fxtalim-footer__bottom {
        margin-top: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fxtalim-footer__list a,
    .fxtalim-footer__legal-list a {
        transition: none;
    }
}
