:root
{
    --bryx-footer-accent: var(--zeina-color, rgb(var(--color-primary, 205, 34, 110)));
    --bryx-footer-bg: rgb(15, 23, 42);
    --bryx-footer-text: rgb(255, 255, 255);
    --bryx-footer-border: rgba(255, 255, 255, 0.08);
    --bryx-footer-muted-accent: rgba(205, 34, 110, 0.12);
    --bryx-footer-width: 1320px;
    --bryx-footer-transition: 160ms ease;
}

.bryx-footer-pre
{
    background: var(--bryx-footer-accent);
    color: var(--bryx-footer-text);
    padding: 0.85rem 1rem;
    text-align: center;
    font-weight: 700;
    font-size: 0.95rem;
}

.bryx-footer
{
    color: var(--bryx-footer-text);
    background: var(--bryx-footer-bg);
    border-top: 1px solid var(--bryx-footer-border);
}

.bryx-footer__container
{
    width: min(100% - 3rem, var(--bryx-footer-width));
    margin: 0 auto;
    padding: 3rem 0 1.8rem;
}

.bryx-footer__grid
{
    display: grid;
    grid-template-columns: 300px minmax(220px, 1fr) minmax(180px, 0.85fr) minmax(180px, 0.85fr);
    gap: clamp(2rem, 3.5vw, 4rem);
    align-items: start;
    justify-content: start;
    text-align: left;
}

.bryx-footer__brand
{
    justify-self: start;
    text-align: center;
}

.bryx-footer__image
{
    max-width: 250px;
    max-height: 250px;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 1rem 1.75rem rgba(0, 0, 0, 0.22));
}

.bryx-footer__title
{
    margin: 0 0 1rem;
    color: var(--bryx-footer-accent);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bryx-footer__title .icon
{
    margin-right: 0.4rem;
}

.bryx-footer__list
{
    display: grid;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bryx-footer__link
{
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--bryx-footer-text);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none;
    transition:
        color var(--bryx-footer-transition),
        transform var(--bryx-footer-transition);
}

.bryx-footer__link:hover,
.bryx-footer__link:focus
{
    color: var(--bryx-footer-accent);
    transform: translateX(0.2rem);
    text-decoration: none;
}

.bryx-footer__link .icon
{
    width: 1.15rem;
    min-width: 1.15rem;
    text-align: center;
    color: var(--bryx-footer-accent);
}

@media screen and (max-width: 900px)
{
    .bryx-footer__grid
    {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .bryx-footer__brand
    {
        justify-self: center;
    }
}

@media screen and (max-width: 768px)
{
    .bryx-footer__grid
    {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .bryx-footer__image
    {
        max-width: 50%;
        max-height: 50%;
    }

    .bryx-footer__link
    {
        justify-content: center;
    }
}
