/* =========================================================
   NEED TO CALL - PREMIUM FOOTER
   Standalone footer CSS - safe against existing site CSS
   ========================================================= */

.ntc-footer-v2,
.ntc-footer-v2 *{
    box-sizing:border-box;
}

.ntc-footer-v2{
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 8% 15%,rgba(0,145,255,.22),transparent 28%),
        radial-gradient(circle at 92% 18%,rgba(255,102,0,.18),transparent 25%),
        linear-gradient(135deg,#031a3d 0%,#062d63 52%,#021633 100%) !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 -18px 45px rgba(0,20,55,.20) !important;
    font-family:Arial,Helvetica,sans-serif !important;
}

.ntc-footer-v2::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.055) 42%,transparent 53%,rgba(255,255,255,.025) 78%,transparent 100%);
    animation:ntcFooterShine 9s linear infinite;
}

.ntc-footer-glow{
    position:absolute !important;
    z-index:0;
    border-radius:50%;
    pointer-events:none;
    filter:blur(25px);
}

.ntc-footer-glow-one{
    width:360px;
    height:360px;
    left:-210px;
    top:-100px;
    background:radial-gradient(circle,rgba(0,150,255,.20),transparent 70%);
}

.ntc-footer-glow-two{
    width:360px;
    height:360px;
    right:-210px;
    bottom:-180px;
    background:radial-gradient(circle,rgba(255,112,0,.16),transparent 70%);
}

/* Uses the same container as the homepage, but stays safe if its width changes */
.ntc-footer-v2 .ntc-container{
    width:min(1180px,calc(100% - 36px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.ntc-footer-v2-inner{
    position:relative !important;
    z-index:2;
    display:grid !important;
    grid-template-columns:minmax(240px,1.45fr) minmax(130px,.75fr) minmax(190px,1fr) minmax(230px,1.05fr) !important;
    gap:34px !important;
    padding:48px 0 42px !important;
    align-items:start !important;
}

/* BRAND */
.ntc-footer-v2-brand{
    min-width:0 !important;
}

.ntc-footer-logo{
    display:inline-block !important;
    margin:0 !important;
    padding:0 !important;
    text-decoration:none !important;
}

.ntc-footer-logo-box{
    width:185px !important;
    height:68px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 14px !important;
    border-radius:16px !important;
    background:#fff !important;
    border:2px solid rgba(255,255,255,.85) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 1px rgba(255,121,0,.18),inset 0 1px 0 #fff !important;
}

.ntc-footer-logo-box img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:155px !important;
    max-height:52px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
}

.ntc-footer-v2-brand h3{
    margin:16px 0 7px !important;
    padding:0 !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:-.3px !important;
}

.ntc-footer-v2-brand p{
    max-width:340px !important;
    margin:0 !important;
    padding:0 !important;
    color:rgba(231,240,255,.74) !important;
    font-size:13px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
}

.ntc-footer-trust{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin:17px 0 0 !important;
    padding:0 !important;
}

.ntc-footer-trust span{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    min-height:30px !important;
    padding:6px 10px !important;
    border-radius:30px !important;
    color:rgba(255,255,255,.88) !important;
    background:rgba(255,255,255,.075) !important;
    border:1px solid rgba(255,255,255,.13) !important;
    backdrop-filter:blur(9px) !important;
    -webkit-backdrop-filter:blur(9px) !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;
}

.ntc-footer-trust i{
    width:17px !important;
    height:17px !important;
    display:grid !important;
    place-items:center !important;
    flex:none !important;
    border-radius:50% !important;
    color:#fff !important;
    background:#13bd78 !important;
    font-size:10px !important;
    font-style:normal !important;
}

/* COLUMNS */
.ntc-footer-v2-col,
.ntc-footer-v2-contact{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    margin:0 !important;
    padding:0 !important;
}

.ntc-footer-v2-col h4,
.ntc-footer-v2-contact h4{
    position:relative !important;
    margin:4px 0 20px !important;
    padding:0 !important;
    color:#fff !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
}

.ntc-footer-v2-col h4::after,
.ntc-footer-v2-contact h4::after{
    content:"";
    display:block;
    width:34px;
    height:3px;
    margin-top:8px;
    border-radius:10px;
    background:linear-gradient(90deg,#ff6900,#ffae24);
}

.ntc-footer-v2-col a{
    display:block !important;
    width:auto !important;
    margin:0 0 12px !important;
    padding:0 !important;
    color:rgba(231,240,255,.73) !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
    text-decoration:none !important;
    transition:color .2s ease,transform .2s ease !important;
}

.ntc-footer-v2-col a:hover{
    color:#ff9d1d !important;
    transform:translateX(4px) !important;
}

/* CONTACT */
.ntc-contact-row{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    margin:0 0 9px !important;
    padding:10px 11px !important;
    border-radius:13px !important;
    color:#fff !important;
    text-decoration:none !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.11) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
    transition:transform .2s ease,background .2s ease,border-color .2s ease !important;
}

.ntc-contact-row:hover{
    color:#fff !important;
    transform:translateY(-2px) !important;
    background:rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.20) !important;
}

.ntc-contact-icon{
    width:34px !important;
    height:34px !important;
    display:grid !important;
    place-items:center !important;
    flex:none !important;
    border-radius:10px !important;
    color:#fff !important;
    background:linear-gradient(135deg,#0878e5,#084b9b) !important;
    box-shadow:0 7px 17px rgba(0,90,190,.25) !important;
    font-size:15px !important;
}

.ntc-whatsapp-row .ntc-contact-icon{
    background:linear-gradient(135deg,#19d987,#079e64) !important;
}

.ntc-contact-row small,
.ntc-footer-hours small{
    display:block !important;
    margin:0 0 2px !important;
    padding:0 !important;
    color:rgba(225,237,253,.56) !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
}

.ntc-contact-row strong,
.ntc-footer-hours strong{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
}

.ntc-footer-hours{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:1px 0 13px !important;
    padding:10px 11px !important;
    border-radius:13px !important;
    background:rgba(0,0,0,.13) !important;
    border:1px solid rgba(255,255,255,.08) !important;
}

.ntc-footer-online-dot{
    width:9px !important;
    height:9px !important;
    flex:none !important;
    border-radius:50% !important;
    background:#18db89 !important;
    box-shadow:0 0 0 4px rgba(24,219,137,.10),0 0 14px rgba(24,219,137,.55) !important;
    animation:ntcFooterPulse 2s ease-in-out infinite !important;
}

.ntc-footer-book-btn{
    width:100% !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    margin:0 !important;
    padding:9px 14px !important;
    border-radius:30px !important;
    color:#fff !important;
    background:linear-gradient(135deg,#ff6900,#ff9f19) !important;
    box-shadow:0 10px 24px rgba(255,105,0,.26) !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-decoration:none !important;
    transition:transform .2s ease,box-shadow .2s ease !important;
}

.ntc-footer-book-btn:hover{
    color:#fff !important;
    transform:translateY(-3px) !important;
    box-shadow:0 14px 30px rgba(255,105,0,.38) !important;
}

.ntc-footer-book-btn b{
    width:21px !important;
    height:21px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    color:#fff !important;
    background:#06316a !important;
    font-size:13px !important;
}

/* BOTTOM */
.ntc-footer-v2-bottom{
    position:relative !important;
    z-index:3;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-top:1px solid rgba(255,255,255,.11) !important;
    background:rgba(0,13,38,.38) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
}

.ntc-footer-bottom-inner{
    min-height:58px !important;
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    align-items:center !important;
    gap:15px !important;
    color:rgba(225,237,253,.62) !important;
    font-size:11px !important;
    line-height:1.4 !important;
}

.ntc-footer-bottom-inner > span{
    margin:0 !important;
    padding:0 !important;
}

.ntc-footer-bottom-links{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:17px !important;
    margin:0 !important;
    padding:0 !important;
}

.ntc-footer-bottom-links a{
    margin:0 !important;
    padding:0 !important;
    color:rgba(255,255,255,.76) !important;
    font-size:11px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}

.ntc-footer-bottom-links a:hover{
    color:#ff9d1d !important;
}

.ntc-footer-made{
    text-align:right !important;
}

@keyframes ntcFooterPulse{
    0%,100%{opacity:1;transform:scale(1)}
    50%{opacity:.55;transform:scale(.78)}
}

@keyframes ntcFooterShine{
    0%{transform:translateX(-35%)}
    100%{transform:translateX(35%)}
}

/* TABLET */
@media(max-width:1050px){
    .ntc-footer-v2-inner{
        grid-template-columns:1.35fr 1fr 1fr !important;
        gap:28px !important;
    }

    .ntc-footer-v2-contact{
        grid-column:1 / -1 !important;
        max-width:430px !important;
    }
}

/* MOBILE */
@media(max-width:760px){
    .ntc-footer-v2 .ntc-container{
        width:calc(100% - 28px) !important;
    }

    .ntc-footer-v2-inner{
        grid-template-columns:1fr 1fr !important;
        gap:30px 22px !important;
        padding:38px 0 32px !important;
    }

    .ntc-footer-v2-brand{
        grid-column:1 / -1 !important;
    }

    .ntc-footer-v2-contact{
        grid-column:1 / -1 !important;
        max-width:none !important;
    }

    .ntc-footer-bottom-inner{
        grid-template-columns:1fr !important;
        justify-items:center !important;
        text-align:center !important;
        gap:7px !important;
        padding:15px 0 !important;
    }

    .ntc-footer-made{
        text-align:center !important;
    }
}

@media(max-width:480px){
    .ntc-footer-v2-inner{
        grid-template-columns:1fr !important;
    }

    .ntc-footer-v2-col,
    .ntc-footer-v2-contact{
        grid-column:1 / -1 !important;
    }

    .ntc-footer-logo-box{
        width:175px !important;
        height:64px !important;
    }

    .ntc-footer-logo-box img{
        max-width:148px !important;
        max-height:48px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .ntc-footer-v2::before,
    .ntc-footer-online-dot{
        animation:none !important;
    }
}
