/* ==========================================
   FOOTER
========================================== */

.ua-footer {
    margin-top: var(--space-2xl);
    padding: var(--space-2xl) 0 var(--space-xs);

    background: linear-gradient(180deg,
            var(--surface) 0%,
            var(--bg-secondary) 100%);

    border-top: 1px solid var(--border);
}

.ua-footer .container {
    max-width: 1320px;
}

/* ==========================================
   BRAND
========================================== */

.ua-footer-brand {
    max-width: 320px;
}

.ua-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: var(--space-md);

    margin-bottom: var(--space-md);

    text-decoration: none;

    transition: transform .25s ease;
}

.ua-footer-logo:hover {
    transform: translateY(-2px);
}

.ua-footer-logo img {
    flex-shrink: 0;
    width: 55px;
    height: 55px;
    object-fit: contain;
}

.ua-footer-logo span {
    color: var(--text);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
}

.ua-footer-description {
    margin: 0;

    color: var(--text-light);
    font-size: 1rem;
    line-height: 1.9;
}

/* ==========================================
   COLUMN
========================================== */

.ua-footer-title {
    position: relative;
    display: inline-block;

    margin: 0 0 var(--space-2xl);
    padding-bottom: .75rem;

    color: var(--text);
    font-size: 1.25rem;
    font-weight: 700;
}

.ua-footer-title::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 40px;
    height: 3px;

    background: var(--primary);
    border-radius: 999px;
}

/* ==========================================
   LINKS
========================================== */

.ua-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ua-footer-links li:not(:last-child) {
    margin-bottom: var(--space-lg);
}

.ua-footer-links a {
    color: var(--text-light);
    text-decoration: none;

    transition: color .25s ease;
}

.ua-footer-links a:hover {
    color: var(--primary);
}

/* ==========================================
   CONTACT
========================================== */

.ua-footer-contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.ua-footer-contact-item strong {
    display: block;

    margin-bottom: .45rem;

    color: var(--text);
    font-size: 1rem;
    font-weight: 600;
}

.ua-footer-contact-item a,
.ua-footer-contact-item span {
    color: var(--text-light);
    line-height: 1.8;
    text-decoration: none;
}

.ua-footer-contact-item a {
    transition: color .25s ease;
}

.ua-footer-contact-item a:hover {
    color: var(--primary);
}

/* ==========================================
   BOTTOM
========================================== */

.ua-footer-divider {
    margin: var(--space-4xl) 0 var(--space-2xl);
    border: 0;
    border-top: 1px solid var(--border);
}

.ua-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);

    margin-top: var(--space-2xl);
    padding: var(--space-lg) var(--space-xl);

    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
}

.ua-footer-copyright,
.ua-footer-credit {
    margin: 0;

    color: var(--text-light);
    font-size: .9rem;
    line-height: 1.7;
}

.ua-footer-credit span {
    color: #ef4444;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width: 991.98px) {

    .ua-footer {
        margin-top: var(--space-xl);
        padding: var(--space-xl) 0 var(--space-sm);
    }

    .ua-footer-brand {
        max-width: 100%;
        margin-bottom: var(--space-md);
    }

    .ua-footer-logo span {
        font-size: 1.75rem;
    }

    .ua-footer-title {
        margin-top: var(--space-md);
    }

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767.98px) {

    .ua-footer {
        padding: var(--space-xl) 0 var(--space-md);
        text-align: left;
    }

    .ua-footer .row {
        row-gap: var(--space-lg);
    }

    .ua-footer-logo {
        gap: var(--space-sm);
        margin-bottom: var(--space-sm);
    }

    .ua-footer-logo img {
        width: 45px;
        height: 45px;
    }

    .ua-footer-logo span {
        font-size: 1.5rem;
    }

    .ua-footer-description {
        font-size: .95rem;
        line-height: 1.75;
    }

    .ua-footer-title {
        margin: 0 0 var(--space-md);
        padding-bottom: 0;

        font-size: 1rem;
    }

    .ua-footer-title::after {
        display: none;
    }

    .ua-footer-links li:not(:last-child) {
        margin-bottom: .55rem;
    }

    .ua-footer-contact {
        gap: var(--space-md);
    }

    .ua-footer-contact-item strong {
        margin-bottom: .25rem;
        font-size: .95rem;
    }

    .ua-footer-divider {
        margin: var(--space-md) 0;
    }

    .ua-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-sm);

        margin-top: 0;
        padding: var(--space-md);

        border-radius: var(--radius-md);
    }

}

/* ==========================================
   SMALL MOBILE
========================================== */

@media (max-width: 575.98px) {

    .ua-footer-logo img {
        width: 50px;
        height: 50px;
    }

    .ua-footer-logo span {
        font-size: 1.4rem;
    }

    .ua-footer-description,
    .ua-footer-links a,
    .ua-footer-contact-item {
        font-size: .95rem;
    }

    .ua-footer-title {
        font-size: 1.05rem;
    }

}

/* ==========================================
   PRINT
========================================== */

@media print {

    .ua-footer {
        display: none;
    }

}