.footer {
    height: 60vh;
    overflow: hidden;
}

.footer-logo {
    display: inline-block;
    margin-bottom: 40px;
}

.footer-logo img {
    max-width: 260px;
    width: 100%;
    height: auto;
}

.footer-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 60px;
}

.box-info-contact p {
    font-family: "Manrope", sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0%;
    vertical-align: middle;
}

.box-socials-footer {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 0;
}

.box-socials-footer img {
    width: 50px;
    height: auto;
    display: block;
}

.icon-socials img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.icon-socials:hover img {
    transform: scale(1.1);
}

.footer h6 {
    font-family: "Manrope";
    font-weight: 800;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0%;
    vertical-align: middle;
}

/* Base Footer Column Spacing (Applicable to all Desktop/Tablet screens) */
@media (min-width: 768px) {
    .footer .row {
        display: flex;
        flex-wrap: wrap; /* Allow wrapping only if absolutely necessary */
    }

    .footer-1,
    .footer-2,
    .footer-3,
    .footer-4,
    .footer-5 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .footer-1 {
        width: 30% !important;
    }
    .footer-2,
    .footer-3,
    .footer-4,
    .footer-5 {
        width: 17.5% !important;
    }
}

/* Enhanced Desktop Layout (Large Screens) */
@media (min-width: 1600px) {
    .footer .row {
        flex-wrap: nowrap;
    }

    .footer-1 {
        padding-left: 0 !important;
        position: relative;
    }

    .footer-2 {
        margin-left: 50px !important;
        width: calc(17.5% - 12.5px) !important;
    }

    .footer-3,
    .footer-4,
    .footer-5 {
        width: calc(17.5% - 12.5px) !important;
    }

    /* Vertical line */
    .footer-1::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        bottom: -50px;
        width: 1px;
        background-color: rgba(255, 255, 255, 0.4);
    }

    .footer-5 {
        padding-right: 0 !important;
    }
}

/* Footer Bottom common layout */
@media (min-width: 768px) {
    .footer-bottom .row {
        display: flex;
        align-items: center;
    }

    .footer-bottom-left {
        width: 30% !important;
        padding-left: 15px !important;
    }

    .footer-bottom-right {
        width: 70% !important;
        display: flex;
        justify-content: flex-end;
        padding-right: 15px !important;
    }

    /* Override for >= 1600px to align with divider */
    @media (min-width: 1600px) {
        .footer-bottom-left {
            padding-left: 0 !important;
            position: relative;
        }
        .footer-bottom-left::after {
            content: "";
            position: absolute;
            right: 0;
            top: -30px;
            bottom: -10px;
            width: 1px;
            background-color: rgba(255, 255, 255, 0.4);
        }
        .footer-bottom-right {
            padding-right: 0 !important;
        }
    }
}

.box-follow-us {
    display: flex;
    align-items: center;
    gap: 15px;
}

.label-follow-us {
    line-height: 1;
}

.menu-bottom-footer {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0;
    margin: 0;
    list-style: none;
    width: auto !important;
}

.menu-bottom-footer li {
    display: flex;
    align-items: center;
    height: 32px;
}

.menu-bottom-footer li a {
    display: flex;
    align-items: center;
}

/* Mobile Adjustments (Phones) */
@media (max-width: 767px) {
    .footer-1 {
        width: 100% !important;
        text-align: center;
        margin-bottom: 30px;
    }

    .footer-2,
    .footer-3,
    .footer-4,
    .footer-5 {
        width: 50% !important;
        margin-bottom: 30px;
        text-align: center;
    }

    .footer-bottom-left,
    .footer-bottom-right {
        width: 100% !important;
        text-align: center;
        padding: 10px 15px !important;
    }

    .box-follow-us {
        justify-content: center;
        margin-top: 20px;
    }
}

.footer .container {
    padding-left: 200px !important;
    padding-right: 200px !important;
}

@media (min-width: 1400px) {
    .footer {
        height: 70vh;
        overflow: hidden;
    }

    .footer .container {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }
}

@media (min-width: 1800px) {
    .footer {
        height: 55vh;
        overflow: hidden;
    }

    .footer .container {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
}

@media (max-width: 1199.98px) {
    .footer .container {
        max-width: 100% !important;
    }
}
