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

:root{
    --zpf-dark:#033D3A;
    --zpf-navy:#044C48;

    --zpf-blue:#046157;
    --zpf-ocean:#08786C;
    --zpf-turquoise:#0A8B7D;

    --zpf-gold:#FC7507;
    --zpf-gold-light:#FDA008;

    --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,
            #033D3A 0%,
            #044C48 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%
        ),
        #033D3A;
}


.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:#315B57;

    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;
    }

}


/* ==========================================================
   GO ZANZIBAR OFFICIAL FOOTER BRAND
========================================================== */

.zp-footer{
    background:#033D3A !important;
}

.zpf-top{
    background:
        linear-gradient(
            135deg,
            #033D3A 0%,
            #044C48 100%
        ) !important;
}

.zpf-main{
    background:
        radial-gradient(
            circle at 8% 60%,
            rgba(252,117,7,.08),
            transparent 23%
        ),
        radial-gradient(
            circle at 91% 58%,
            rgba(10,139,125,.10),
            transparent 25%
        ),
        #033D3A !important;
}

.zpf-contact-icon{
    color:#046157 !important;
}

.zpf-contact-item:hover .zpf-contact-icon{
    color:#ffffff !important;
    background:
        linear-gradient(
            135deg,
            #FC7507,
            #FDA008
        ) !important;
}

.zpf-column > a:hover{
    color:#FDA008 !important;
}

/* ==========================================================
   GO ZANZIBAR OFFICIAL FOOTER COLORS
========================================================== */

.site-footer,
.zp-footer,
.zpf-top,
.zpf-main{
    background:#033D3A !important;
}

.zpf-top{
    border-bottom:1px solid rgba(255,255,255,.14) !important;
}

.zpf-contact-icon{
    background:#FFFFFF !important;
    color:#E60311 !important;
}

.zpf-contact-item:hover .zpf-contact-icon{
    background:#FC7507 !important;
    color:#FFFFFF !important;
}

.zpf-column h3,
.zpf-column h4{
    color:#FFFFFF !important;
}

.zpf-column > a:hover,
.zpf-social a:hover{
    color:#FDA008 !important;
}

.zpf-social a:hover{
    background:#E60311 !important;
    border-color:#E60311 !important;
}

.zpf-bottom{
    background:#044C48 !important;
    border-top:3px solid #E60311 !important;
}

.zpf-bottom strong{
    color:#FDA008 !important;
}

/* =========================================================
   GO ZANZIBAR FINAL FOOTER
========================================================= */

.site-footer,
.zp-footer{
    background:#023B38 !important;
    color:#fff !important;
}

/* TOP CONTACT AREA */
.zp-footer .zpf-top{
    background:#033D3A !important;
    border-top:4px solid #E60311 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
}

/* MAIN FOOTER */
.zp-footer .zpf-main{
    background:
        radial-gradient(
            circle at 10% 50%,
            rgba(4,97,87,.35),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #023B38 0%,
            #044C48 55%,
            #023B38 100%
        ) !important;
}

/* HEADINGS */
.zp-footer h2,
.zp-footer h3,
.zp-footer h4{
    color:#fff !important;
}

/* LINKS */
.zp-footer a{
    color:rgba(255,255,255,.86) !important;
}

.zp-footer a:hover{
    color:#FC7507 !important;
}

/* RED ACCENTS */
.zp-footer h3::after,
.zp-footer h4::after{
    background:#E60311 !important;
}

.zp-footer .zpf-contact-icon{
    background:#E60311 !important;
    border-color:#E60311 !important;
    color:#fff !important;
}

.zp-footer .zpf-contact-icon i{
    color:#fff !important;
}

/* SOCIAL ICONS */
.zp-footer .zpf-social a{
    background:transparent !important;
    border:1px solid rgba(255,255,255,.65) !important;
    color:#fff !important;
}

.zp-footer .zpf-social a:hover{
    background:#E60311 !important;
    border-color:#E60311 !important;
    color:#fff !important;
}

/* BOTTOM COPYRIGHT */
.zp-footer .zpf-bottom{
    background:#012E2C !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
    color:#fff !important;
}

/* ORANGE ONLY AS SMALL ACCENT */
.zp-footer strong,
.zp-footer .accent{
    color:#FC7507 !important;
}
