
/* ==========================================================
   ZAN PEARL PREMIUM FOOTER
========================================================== */

:root{
    --zpf-dark:#041c2c;
    --zpf-navy:#062b4f;

    --zpf-blue:#0067c5;
    --zpf-ocean:#0094d3;
    --zpf-turquoise:#08b9c7;

    --zpf-gold:#e5ae20;
    --zpf-gold-light:#f4c542;

    --zpf-white:#ffffff;
    --zpf-muted:#b8c8d1;
    --zpf-line:rgba(255,255,255,.14);
}


.zp-footer{
    position:relative;

    margin:0 !important;

    background:var(--zpf-dark) !important;

    color:#fff;

    font-family:'Manrope',Arial,sans-serif;

    overflow:hidden;
}


.zpf-container{
    width:min(1500px,calc(100% - 70px));

    margin:0 auto;
}


/* ==========================================================
   TOP CONTACT STRIP
========================================================== */

.zpf-top{
    padding:45px 0;

    border-bottom:
        1px solid
        var(--zpf-line);

    background:
        linear-gradient(
            135deg,
            #041c2c 0%,
            #05263d 100%
        );
}


.zpf-top-grid{
    display:grid;

    grid-template-columns:
        1.25fr
        1fr
        1fr
        1fr;

    align-items:center;

    gap:35px;
}


/* LOGO */

.zpf-brand{
    display:flex;

    align-items:center;
}


.zpf-brand a{
    display:inline-flex;

    align-items:center;
}


.zpf-brand img{
    width:260px;

    max-width:100%;

    height:90px;

    object-fit:contain;

    object-position:left center;

    filter:none !important;
}


/* CONTACT ITEMS */

.zpf-contact-item{
    min-width:0;

    display:flex;

    align-items:center;

    gap:16px;

    color:#fff !important;

    text-decoration:none !important;
}


.zpf-contact-icon{
    width:56px;
    height:56px;

    flex:none;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fff;

    color:var(--zpf-blue);

    font-size:19px;

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.12);
}


.zpf-contact-item:hover
.zpf-contact-icon{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--zpf-blue),
            var(--zpf-turquoise)
        );
}


.zpf-contact-item small{
    display:block;

    margin-bottom:5px;

    color:#b9c8d1;

    font-size:11px;

    font-weight:600;
}


.zpf-contact-item strong{
    display:block;

    color:#fff;

    font-size:14px;

    line-height:1.4;

    font-weight:700;
}


/* ==========================================================
   MAIN
========================================================== */

.zpf-main{
    position:relative;

    padding:75px 0 85px;

    background:
        radial-gradient(
            circle at 8% 60%,
            rgba(8,185,199,.07),
            transparent 23%
        ),
        radial-gradient(
            circle at 91% 58%,
            rgba(0,103,197,.09),
            transparent 25%
        ),
        #041c2c;
}


.zpf-main::before{
    content:"";

    position:absolute;

    left:-70px;

    top:70px;

    width:310px;
    height:310px;

    opacity:.06;

    border-radius:50%;

    border:
        1px dashed
        #fff;
}


.zpf-main-grid{
    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:
        1.15fr
        .9fr
        .9fr
        1.1fr;

    gap:75px;
}


/* HEADINGS */

.zpf-column h3{
    margin:0 0 25px;

    color:#fff !important;

    font-size:18px;

    line-height:1.3;

    font-weight:800;
}


.zpf-column > p{
    max-width:330px;

    margin:0;

    color:#b9c8d1 !important;

    font-size:13px;

    line-height:1.9;
}


/* LINKS */

.zpf-column > a{
    width:max-content;

    max-width:100%;

    margin-bottom:14px;

    display:block;

    color:#c8d4db !important;

    text-decoration:none;

    font-size:13px;

    line-height:1.5;

    font-weight:500;

    transition:
        color .2s ease,
        transform .2s ease;
}


.zpf-column > a:hover{
    color:var(--zpf-gold) !important;

    transform:translateX(5px);
}


/* ==========================================================
   SOCIAL
========================================================== */

.zpf-social{
    margin-top:28px;

    display:flex;

    gap:10px;
}


.zpf-social a{
    width:40px;
    height:40px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:
        1px solid
        rgba(255,255,255,.24);

    color:#fff !important;

    text-decoration:none;

    transition:.2s ease;
}


.zpf-social a:hover{
    border-color:transparent;

    background:
        linear-gradient(
            135deg,
            var(--zpf-blue),
            var(--zpf-turquoise)
        );

    color:#fff !important;

    transform:translateY(-2px);
}


/* ==========================================================
   INQUIRY FORM
========================================================== */

.zpf-inquiry > p{
    max-width:380px;

    margin-bottom:24px;
}


.zpf-email-form{
    width:100%;

    max-width:400px;

    min-height:60px;

    padding:5px;

    display:flex;

    align-items:center;

    overflow:hidden;

    border-radius:10px;

    background:#fff;
}


.zpf-email-form input{
    min-width:0;

    flex:1;

    height:50px;

    padding:0 15px;

    border:0 !important;

    outline:0 !important;

    background:#fff;

    color:#17354d;

    font-family:inherit;

    font-size:12px;

    box-shadow:none !important;
}


.zpf-email-form input::placeholder{
    color:#83939d;
}


.zpf-email-form button{
    width:52px;
    height:50px;

    flex:none;

    display:flex;

    align-items:center;
    justify-content:center;

    border:0;

    border-radius:8px;

    background:
        linear-gradient(
            135deg,
            var(--zpf-gold),
            var(--zpf-gold-light)
        ) !important;

    color:var(--zpf-navy) !important;

    cursor:pointer;

    font-size:15px;

    transition:.2s ease;
}


.zpf-email-form button:hover{
    transform:translateX(2px);
}


.zpf-direct{
    margin-top:16px;

    display:flex;

    align-items:center;

    gap:8px;

    color:#aabcc6;

    font-size:10px;
}


.zpf-direct i{
    color:var(--zpf-turquoise);
}


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

.zpf-bottom{
    min-height:78px;

    display:flex;

    align-items:center;

    background:
        linear-gradient(
            100deg,
            var(--zpf-blue) 0%,
            var(--zpf-ocean) 54%,
            var(--zpf-turquoise) 100%
        );
}


.zpf-bottom-inner{
    min-height:78px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    color:#fff;

    font-size:12px;
}


.zpf-bottom-inner strong{
    color:#fff;
}


.zpf-bottom-links{
    display:flex;

    align-items:center;

    gap:25px;
}


.zpf-bottom-links span,
.zpf-bottom-links a{
    color:#fff !important;

    text-decoration:none;
}


/* ==========================================================
   SCROLL TOP
========================================================== */

.zpf-scroll-top{
    position:absolute;

    right:50px;

    bottom:44px;

    width:62px;
    height:62px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:
        4px solid
        var(--zpf-gold);

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            var(--zpf-blue),
            var(--zpf-turquoise)
        );

    color:#fff;

    cursor:pointer;

    z-index:10;

    font-size:18px;

    box-shadow:
        0 10px 26px
        rgba(0,0,0,.18);

    transition:.2s ease;
}


.zpf-scroll-top:hover{
    transform:translateY(-4px);

    background:var(--zpf-gold);

    color:var(--zpf-navy);
}


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

@media(max-width:1100px){

    .zpf-top-grid{
        grid-template-columns:
            1fr
            1fr;
    }


    .zpf-main-grid{
        grid-template-columns:
            1fr
            1fr;

        gap:55px;
    }

}


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

@media(max-width:650px){

    .zpf-container{
        width:calc(100% - 30px);
    }


    .zpf-top{
        padding:35px 0;
    }


    .zpf-top-grid{
        grid-template-columns:1fr;

        gap:25px;
    }


    .zpf-brand img{
        width:220px;

        height:76px;
    }


    .zpf-contact-icon{
        width:48px;
        height:48px;
    }


    .zpf-main{
        padding:60px 0 70px;
    }


    .zpf-main-grid{
        grid-template-columns:1fr;

        gap:45px;
    }


    .zpf-bottom{
        padding:18px 0;
    }


    .zpf-bottom-inner{
        min-height:0;

        flex-direction:column;

        align-items:flex-start;

        gap:12px;
    }


    .zpf-bottom-links{
        gap:15px;

        flex-wrap:wrap;
    }


    .zpf-scroll-top{
        right:18px;

        bottom:70px;

        width:52px;
        height:52px;
    }

}

