@layer morpheion-components {

    .morpheion-footer {
        width: 100%;
        background: var(--morpheion-color-surface-default, #fff);
        color: var(--morpheion-color-text-primary, #111318);
    }

    .morpheion-footer__inner {
        width: min(
            calc(100% - 2 * var(--morpheion-gutter-mobile)),
            var(--morpheion-content-default)
        );
        margin-inline: auto;
        padding-block: var(--morpheion-space-8);
        border-top: 1px solid currentColor;
    }

    .morpheion-footer__main {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--morpheion-space-8);
        padding-bottom: var(--morpheion-space-8);
    }

    .morpheion-footer__brand {
        display: inline-flex;
        align-items: center;
        gap: var(--morpheion-space-2);
        color: inherit;
        font-size: 1.125rem;
        font-weight: var(--morpheion-font-weight-bold);
        text-decoration: none;
    }

    /*
     * Customer Identity 1.1
     */

    .morpheion-footer__brand-logo {
        display: block;
        flex: 0 1 auto;
        width: auto;
        height: auto;
        max-width: var(--morpheion-footer-logo-max-width, 180px);
        max-height: var(--morpheion-footer-logo-max-height, 44px);
        object-fit: contain;
    }

    .morpheion-footer__description {
        margin-top: var(--morpheion-space-3);
        max-width: 32rem;
    }

    .morpheion-footer__links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--morpheion-space-3) var(--morpheion-space-6);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .morpheion-footer__links a {
        color: inherit;
        text-decoration: none;
    }

    .morpheion-footer__links a:hover {
        text-decoration: underline;
        text-underline-offset: .25em;
    }

    .morpheion-footer__bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: var(--morpheion-space-4);
        border-top: 1px solid currentColor;
        padding-top: var(--morpheion-space-5);
    }

    .morpheion-footer__top {
        color: inherit;
        text-decoration: none;
    }

    .morpheion-footer__top:hover {
        text-decoration: underline;
    }

    @media (min-width: 48rem) {
        .morpheion-footer__inner {
            width: min(
                calc(100% - 2 * var(--morpheion-gutter-tablet)),
                var(--morpheion-content-default)
            );
        }
    }

    @media (min-width: 64rem) {
        .morpheion-footer__inner {
            width: calc(100% - 2 * var(--morpheion-gutter-desktop));
            max-width: none;
        }
    }

    @media (max-width: 40rem) {
        .morpheion-footer__main {
            grid-template-columns: 1fr;
            gap: var(--morpheion-space-6);
        }

        .morpheion-footer__links {
            grid-template-columns: 1fr 1fr;
        }
    }

    @media (max-width: 25rem) {
        .morpheion-footer__links {
            grid-template-columns: 1fr;
        }
    }
}
