/* =========================================================
   SHIVA TOURS & TRAVELS
   FOOTER
   ========================================================= */

.site-footer {
    position: relative;

    width: 100%;

    background:
        #0b211b;

    color:
        #ffffff;

    overflow: hidden;
}


/* =========================================================
   DECORATIVE GOLD LIGHT
   ========================================================= */

.site-footer::before {
    content: "";

    position: absolute;

    width: 600px;
    height: 600px;

    top: -420px;
    right: -260px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(214,182,106,0.11) 0%,
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.site-footer-main {
    padding:
        88px 0
        78px;
}


.site-footer-container {
    width:
        min(
            calc(100% - 40px),
            1380px
        );

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1.7fr
        1fr
        1fr
        1fr;

    gap: 60px;
}


/* =========================================================
   BRAND
   ========================================================= */

.footer-brand {
    max-width: 350px;
}


.footer-logo {
    display: inline-flex;

    align-items: center;

    text-decoration:
        none !important;
}


.footer-logo .custom-logo {
    width: auto;

    max-width: 135px;
    max-height: 52px;

    display: block;
}


.footer-logo-text {
    display: block;

    color:
        #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2rem;

    font-weight:
        400;

    line-height:
        0.9;

    letter-spacing:
        -0.035em;
}


.footer-logo-text span {
    display: block;

    color:
        var(--gold-light);

    margin-top:
        5px;
}


.footer-tagline {
    max-width: 300px;

    margin:
        25px 0 0;

    color:
        rgba(255,255,255,0.55);

    font-size:
        13px;

    line-height:
        1.7;
}


/* PLAN LINK */

.footer-plan-link {
    display: inline-flex;

    align-items: center;

    gap: 11px;

    margin-top:
        25px;

    color:
        #ffffff;

    font-size:
        9px;

    font-weight:
        700;

    line-height:
        1;

    letter-spacing:
        0.17em;

    text-transform:
        uppercase;

    text-decoration:
        none !important;
}


.footer-plan-link span {
    width: 29px;
    height: 29px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,0.25);

    border-radius:
        50%;

    color:
        var(--gold-light);

    font-size:
        12px;

    transition:
        transform 0.30s ease,
        border-color 0.30s ease,
        background-color 0.30s ease;
}


.footer-plan-link:hover span {
    transform:
        translateX(5px);

    border-color:
        var(--gold);

    background:
        rgba(214,182,106,0.10);
}


/* =========================================================
   COLUMNS
   ========================================================= */

.footer-column-title {
    display: block;

    margin-bottom:
        23px;

    color:
        var(--gold-light);

    font-size:
        8px;

    font-weight:
        700;

    line-height:
        1.4;

    letter-spacing:
        0.22em;

    text-transform:
        uppercase;
}


.footer-links {
    display: flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    gap:
        12px;
}


.footer-links a {
    position: relative;

    display: inline-block;

    color:
        rgba(255,255,255,0.62);

    font-size:
        12px;

    line-height:
        1.4;

    text-decoration:
        none !important;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.footer-links a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -4px;

    width: 0;
    height: 1px;

    background:
        var(--gold);

    transition:
        width 0.28s
        cubic-bezier(.2,.8,.2,1);
}


.footer-links a:hover {
    color:
        #ffffff;

    transform:
        translateX(3px);
}


.footer-links a:hover::after {
    width:
        100%;
}


/* =========================================================
   CONNECT
   ========================================================= */

.footer-contact {
    display: flex;

    flex-direction:
        column;

    gap:
        9px;
}


.footer-contact a {
    color:
        #ffffff;

    font-size:
        13px;

    font-weight:
        500;

    text-decoration:
        none !important;

    transition:
        color 0.25s ease;
}


.footer-contact a:hover {
    color:
        var(--gold-light);
}


.footer-contact span {
    color:
        rgba(255,255,255,0.42);

    font-size:
        11px;
}


/* SOCIAL */

.footer-socials {
    display: flex;

    align-items:
        center;

    gap:
        8px;

    margin-top:
        26px;
}


.footer-socials a {
    width: 31px;
    height: 31px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,0.18);

    border-radius:
        50%;

    color:
        rgba(255,255,255,0.70);

    font-size:
        8px;

    font-weight:
        700;

    line-height:
        1;

    text-decoration:
        none !important;

    text-transform:
        uppercase;

    transition:
        transform 0.28s ease,
        background-color 0.28s ease,
        border-color 0.28s ease,
        color 0.28s ease;
}


.footer-socials a:hover {
    transform:
        translateY(-3px);

    background:
        rgba(214,182,106,0.12);

    border-color:
        var(--gold);

    color:
        var(--gold-light);
}


/* =========================================================
   FOOTER BOTTOM
   ========================================================= */

.site-footer-bottom {
    border-top:
        1px solid
        rgba(255,255,255,0.09);
}


.site-footer-bottom-container {
    width:
        min(
            calc(100% - 40px),
            1380px
        );

    min-height:
        76px;

    margin:
        0 auto;

    display: flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;
}


/* COPYRIGHT */

.footer-copyright {
    color:
        rgba(255,255,255,0.40);

    font-size:
        9px;

    line-height:
        1.5;

    letter-spacing:
        0.04em;
}


/* DEVELOPER */

.footer-developer-credit {
    color:
        rgba(255,255,255,0.35);

    font-size:
        9px;

    line-height:
        1.5;

    text-align:
        right;

    letter-spacing:
        0.03em;
}


.footer-developer-credit span {
    color:
        rgba(214,182,106,0.76);

    transition:
        color 0.25s ease;
}


.footer-developer-credit:hover span {
    color:
        var(--gold-light);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .site-footer-main {
        padding:
            75px 0
            65px;
    }


    .site-footer-container {
        grid-template-columns:
            1.4fr
            1fr
            1fr;

        gap:
            50px 35px;
    }


    .footer-brand {
        grid-column:
            1 / -1;

        max-width:
            500px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .site-footer-main {
        padding:
            64px 0
            48px;
    }


    .site-footer-container {
        width:
            calc(
                100% - 28px
            );

        grid-template-columns:
            1fr 1fr;

        gap:
            44px 28px;
    }


    .footer-brand {
        grid-column:
            1 / -1;

        max-width:
            340px;
    }


    .footer-column:last-child {
        grid-column:
            1 / -1;
    }


    .footer-column-title {
        margin-bottom:
            18px;
    }


    .site-footer-bottom-container {
        width:
            calc(
                100% - 28px
            );

        min-height:
            auto;

        padding:
            20px 0;

        flex-direction:
            column;

        align-items:
            flex-start;

        gap:
            9px;
    }


    .footer-developer-credit {
        text-align:
            left;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .footer-plan-link span,
    .footer-links a,
    .footer-socials a,
    .footer-developer-credit span {
        transition:
            none !important;
    }

}